Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
B
baas-ide
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
JIRA
JIRA
Merge Requests
1
Merge Requests
1
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Registry
Registry
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
guxukai
baas-ide
Commits
3cf6c94e
Commit
3cf6c94e
authored
Mar 21, 2019
by
LianaHus
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
rm .history
parent
8c65ab16
Hide whitespace changes
Inline
Side-by-side
Showing
14 changed files
with
0 additions
and
1916 deletions
+0
-1916
package_20190318184257.json
.history/package_20190318184257.json
+0
-184
package_20190318191219.json
.history/package_20190318191219.json
+0
-184
package_20190318191220.json
.history/package_20190318191220.json
+0
-184
contextMenu_20190318184257.js
.history/src/app/ui/contextMenu_20190318184257.js
+0
-75
contextMenu_20190318184607.js
.history/src/app/ui/contextMenu_20190318184607.js
+0
-71
landing-page_20190318191506.js
...ry/src/app/ui/landing-page/landing-page_20190318191506.js
+0
-153
landing-page_20190318191554.js
...ry/src/app/ui/landing-page/landing-page_20190318191554.js
+0
-143
landing-page_20190319085038.js
...ry/src/app/ui/landing-page/landing-page_20190319085038.js
+0
-143
landing-page_20190319085235.js
...ry/src/app/ui/landing-page/landing-page_20190319085235.js
+0
-142
modaldialog_20190318184820.js
.history/src/app/ui/modaldialog_20190318184820.js
+0
-142
modaldialog_20190318184943.js
.history/src/app/ui/modaldialog_20190318184943.js
+0
-128
modaldialog_20190318185131.js
.history/src/app/ui/modaldialog_20190318185131.js
+0
-123
modaldialog_20190318190546.js
.history/src/app/ui/modaldialog_20190318190546.js
+0
-122
modaldialog_20190318190640.js
.history/src/app/ui/modaldialog_20190318190640.js
+0
-122
No files found.
.history/package_20190318184257.json
deleted
100644 → 0
View file @
8c65ab16
{
"name"
:
"remix-ide"
,
"version"
:
"v0.7.5"
,
"description"
:
"Minimalistic browser-based Solidity IDE"
,
"devDependencies"
:
{
"ace-mode-solidity"
:
"^0.1.0"
,
"async"
:
"^2.1.2"
,
"babel-eslint"
:
"^7.1.1"
,
"babel-plugin-transform-object-assign"
:
"^6.22.0"
,
"babel-plugin-yo-yoify"
:
"^0.3.3"
,
"babel-polyfill"
:
"^6.22.0"
,
"babel-preset-env"
:
"^1.6.1"
,
"babel-preset-es2015"
:
"^6.24.0"
,
"babel-preset-es2017"
:
"^6.24.1"
,
"babel-preset-stage-0"
:
"^6.24.1"
,
"babelify"
:
"^7.3.0"
,
"brace"
:
"^0.8.0"
,
"browserify-reload"
:
"^1.0.3"
,
"component-type"
:
"^1.2.1"
,
"copy-text-to-clipboard"
:
"^1.0.4"
,
"csjs-inject"
:
"^1.0.1"
,
"csslint"
:
"^1.0.2"
,
"deep-equal"
:
"^1.0.1"
,
"ethereumjs-util"
:
"^5.1.2"
,
"execr"
:
"^1.0.1"
,
"exorcist"
:
"^0.4.0"
,
"fast-async"
:
"6.3.1"
,
"fast-levenshtein"
:
"^2.0.6"
,
"gists"
:
"^1.0.1"
,
"javascript-serialize"
:
"^1.6.1"
,
"jquery"
:
"^3.3.1"
,
"js-base64"
:
"^2.1.9"
,
"js-beautify"
:
"1.6.14"
,
"minixhr"
:
"^3.2.2"
,
"mkdirp"
:
"^0.5.1"
,
"nightwatch"
:
"^0.9.20"
,
"notify-error"
:
"^1.2.0"
,
"npm-link-local"
:
"^1.1.0"
,
"npm-run-all"
:
"^4.0.2"
,
"onchange"
:
"^3.2.1"
,
"remix-debug"
:
"0.3.1"
,
"remix-analyzer"
:
"0.3.1"
,
"remix-lib"
:
"0.4.1"
,
"remix-solidity"
:
"0.3.1"
,
"remix-tests"
:
"0.1.1"
,
"remixd"
:
"0.1.8-alpha.6"
,
"request"
:
"^2.83.0"
,
"rimraf"
:
"^2.6.1"
,
"selenium-standalone"
:
"^6.0.1"
,
"solc"
:
"^0.5.0"
,
"standard"
:
"^8.5.0"
,
"swarmgw"
:
"^0.3.1"
,
"tape"
:
"^4.5.1"
,
"uglify-js"
:
"^2.8.16"
,
"vm-browserify"
:
"0.0.4"
,
"watchify"
:
"^3.9.0"
,
"web3"
:
"1.0.0-beta.27"
,
"webworkify"
:
"^1.2.1"
,
"yo-yo"
:
"^1.2.2"
,
"yo-yoify"
:
"^3.7.3"
},
"dependencies"
:
{
"http-server"
:
"0.9.0"
,
"remixd"
:
"0.1.8-alpha.6"
},
"repository"
:
{
"type"
:
"git"
,
"url"
:
"git+https://github.com/ethereum/remix-ide.git"
},
"keywords"
:
[
"ethereum"
,
"solidity"
,
"compiler"
],
"author"
:
"chriseth"
,
"license"
:
"MIT"
,
"bugs"
:
{
"url"
:
"https://github.com/ethereum/remix-ide/issues"
},
"homepage"
:
"https://github.com/ethereum/remix-ide#readme"
,
"standard"
:
{
"ignore"
:
[
"build/"
,
"src/app/editor/mode-solidity.js"
,
"soljson.js"
],
"parser"
:
"babel-eslint"
},
"babel"
:
{
"plugins"
:
[
"transform-es2015-template-literals"
,
"transform-es2015-literals"
,
"transform-es2015-function-name"
,
"transform-es2015-arrow-functions"
,
"transform-es2015-block-scoped-functions"
,
"transform-es2015-classes"
,
"transform-es2015-object-super"
,
"transform-es2015-shorthand-properties"
,
"transform-es2015-duplicate-keys"
,
"transform-es2015-computed-properties"
,
"transform-es2015-for-of"
,
"transform-es2015-sticky-regex"
,
"transform-es2015-unicode-regex"
,
"check-es2015-constants"
,
"transform-es2015-spread"
,
"transform-es2015-parameters"
,
"transform-es2015-destructuring"
,
"transform-es2015-block-scoping"
]
},
"browserify"
:
{
"transform"
:
[
[
"babelify"
,
{
"sourceMapsAbsolute"
:
false
,
"sourceMaps"
:
true
,
"plugins"
:
[
[
"fast-async"
,
{
"runtimePattern"
:
null
,
"compiler"
:
{
"es7"
:
true
,
"noRuntime"
:
true
,
"promises"
:
true
,
"wrapAwait"
:
true
}
}
],
[
"yo-yoify"
],
[
"transform-object-assign"
]
],
"presets"
:
[
"es2015"
]
}
]
]
},
"bin"
:
{
"remix-ide"
:
"./bin/remix-ide"
},
"scripts"
:
{
"setupremix"
:
"npm run linkremixlib && npm run linkremixsolidity && npm run linkremixsimulator && npm run linkremixtests"
,
"pullremix"
:
"git clone https://github.com/ethereum/remix"
,
"linkremixlib"
:
"cd node_modules && rm -rf remix-lib && ln -s ../../remix/remix-lib remix-lib && cd .."
,
"linkremixsolidity"
:
"cd node_modules && rm -rf remix-solidity && ln -s ../../remix/remix-solidity remix-solidity && cd .."
,
"linkremixsimulator"
:
"cd node_modules && rm -rf remix-simulator && ln -s ../../remix/remix-simulator remix-simulator && cd .."
,
"linkremixtests"
:
"cd node_modules && rm -rf remix-tests && ln -s ../../remix/remix-tests remix-tests && cd .."
,
"build"
:
"browserify src/index.js -o build/app.js --exclude solc"
,
"build_debugger"
:
"browserify src/app/debugger/remix-debugger/index.js -o src/app/debugger/remix-debugger/build/app.js"
,
"browsertest"
:
"sleep 5 && npm run nightwatch_local"
,
"csslint"
:
"csslint --ignore=order-alphabetical --errors='errors,duplicate-properties,empty-rules' --exclude-list='assets/css/font-awesome.min.css' assets/css/"
,
"downloadsolc_root"
:
"wget --no-check-certificate https://solc-bin.ethereum.org/bin/soljson-v0.5.1+commit.c8a2cb62.js -O soljson.js"
,
"lint"
:
"standard | notify-error"
,
"make-mock-compiler"
:
"node ci/makeMockCompiler.js"
,
"minify"
:
"uglifyjs --in-source-map inline --source-map-inline -c warnings=false"
,
"nightwatch_local"
:
"nightwatch --config nightwatch.js --env local"
,
"nightwatch_local_debugger"
:
"nightwatch --config nightwatch_debugger.js --env local"
,
"nightwatch_remote_chrome"
:
"nightwatch --config nightwatch.js --env chrome"
,
"nightwatch_remote_firefox"
:
"nightwatch --config nightwatch.js --env default"
,
"nightwatch_remote_ie"
:
"nightwatch --config nightwatch.js --env ie"
,
"nightwatch_remote_parallel"
:
"nightwatch --config nightwatch.js --env safari,chrome,default"
,
"nightwatch_remote_safari"
:
"nightwatch --config nightwatch.js --env safari"
,
"nightwatch_remote_debugger_parallel"
:
"nightwatch --config nightwatch_debugger.js --env safari,chrome,default"
,
"onchange"
:
"onchange build/app.js -- npm-run-all lint"
,
"prepublish"
:
"mkdirp build; npm-run-all -ls downloadsolc_root build"
,
"remixd"
:
"./node_modules/remixd/bin/remixd -s ./contracts --remix-ide http://127.0.0.1:8080"
,
"selenium"
:
"execr --silent selenium-standalone start"
,
"selenium-install"
:
"selenium-standalone install"
,
"serve"
:
"execr --silent http-server ."
,
"serve_debugger"
:
"execr --silent http-server src/app/debugger/remix-debugger"
,
"sourcemap"
:
"exorcist --root ../ build/app.js.map > build/app.js"
,
"start"
:
"npm-run-all -lpr serve watch onchange remixd"
,
"test"
:
"npm run csslint; standard && node test/index.js"
,
"test-browser"
:
"npm-run-all -lpr selenium downloadsolc_root make-mock-compiler serve browsertest"
,
"watch"
:
"watchify src/index.js -dv -p browserify-reload -o build/app.js --exclude solc"
}
}
.history/package_20190318191219.json
deleted
100644 → 0
View file @
8c65ab16
{
"name"
:
"remix-ide"
,
"version"
:
"v0.7.5"
,
"description"
:
"Minimalistic browser-based Solidity IDE"
,
"devDependencies"
:
{
"ace-mode-solidity"
:
"^0.1.0"
,
"async"
:
"^2.1.2"
,
"babel-eslint"
:
"^7.1.1"
,
"babel-plugin-transform-object-assign"
:
"^6.22.0"
,
"babel-plugin-yo-yoify"
:
"^0.3.3"
,
"babel-polyfill"
:
"^6.22.0"
,
"babel-preset-env"
:
"^1.6.1"
,
"babel-preset-es2015"
:
"^6.24.0"
,
"babel-preset-es2017"
:
"^6.24.1"
,
"babel-preset-stage-0"
:
"^6.24.1"
,
"babelify"
:
"^7.3.0"
,
"brace"
:
"^0.8.0"
,
"browserify-reload"
:
"^1.0.3"
,
"component-type"
:
"^1.2.1"
,
"copy-text-to-clipboard"
:
"^1.0.4"
,
"csjs-inject"
:
"^1.0.1"
,
"csslint"
:
"^1.0.2"
,
"deep-equal"
:
"^1.0.1"
,
"ethereumjs-util"
:
"^5.1.2"
,
"execr"
:
"^1.0.1"
,
"exorcist"
:
"^0.4.0"
,
"fast-async"
:
"6.3.1"
,
"fast-levenshtein"
:
"^2.0.6"
,
"gists"
:
"^1.0.1"
,
"javascript-serialize"
:
"^1.6.1"
,
"jquery"
:
"^3.3.1"
,
"js-base64"
:
"^2.1.9"
,
"js-beautify"
:
"1.6.14"
,
"minixhr"
:
"^3.2.2"
,
"mkdirp"
:
"^0.5.1"
,
"nightwatch"
:
"^0.9.20"
,
"notify-error"
:
"^1.2.0"
,
"npm-link-local"
:
"^1.1.0"
,
"npm-run-all"
:
"^4.0.2"
,
"onchange"
:
"^3.2.1"
,
"remix-debug"
:
"0.3.1"
,
"remix-analyzer"
:
"0.3.1"
,
"remix-lib"
:
"0.4.1"
,
"remix-solidity"
:
"0.3.1"
,
"remix-tests"
:
"0.1.1"
,
"remixd"
:
"0.1.8-alpha.6"
,
"request"
:
"^2.83.0"
,
"rimraf"
:
"^2.6.1"
,
"selenium-standalone"
:
"^6.0.1"
,
"solc"
:
"^0.5.0"
,
"standard"
:
"^8.5.0"
,
"swarmgw"
:
"^0.3.1"
,
"tape"
:
"^4.5.1"
,
"uglify-js"
:
"^2.8.16"
,
"vm-browserify"
:
"0.0.4"
,
"watchify"
:
"^3.9.0"
,
"web3"
:
"1.0.0-beta.27"
,
"webworkify"
:
"^1.2.1"
,
"yo-yo"
:
"^1.2.2"
,
"yo-yoify"
:
"^3.7.3"
},
"dependencies"
:
{
"http-server"
:
"0.9.0"
,
"remixd"
:
"0.1.8-alpha.6"
},
"repository"
:
{
"type"
:
"git"
,
"url"
:
"git+https://github.com/ethereum/remix-ide.git"
},
"keywords"
:
[
"ethereum"
,
"solidity"
,
"compiler"
],
"author"
:
"chriseth"
,
"license"
:
"MIT"
,
"bugs"
:
{
"url"
:
"https://github.com/ethereum/remix-ide/issues"
},
"homepage"
:
"https://github.com/ethereum/remix-ide#readme"
,
"standard"
:
{
"ignore"
:
[
"build/"
,
"src/app/editor/mode-solidity.js"
,
"soljson.js"
],
"parser"
:
"babel-eslint"
},
"babel"
:
{
"plugins"
:
[
"transform-es2015-template-literals"
,
"transform-es2015-literals"
,
"transform-es2015-function-name"
,
"transform-es2015-arrow-functions"
,
"transform-es2015-block-scoped-functions"
,
"transform-es2015-classes"
,
"transform-es2015-object-super"
,
"transform-es2015-shorthand-properties"
,
"transform-es2015-duplicate-keys"
,
"transform-es2015-computed-properties"
,
"transform-es2015-for-of"
,
"transform-es2015-sticky-regex"
,
"transform-es2015-unicode-regex"
,
"check-es2015-constants"
,
"transform-es2015-spread"
,
"transform-es2015-parameters"
,
"transform-es2015-destructuring"
,
"transform-es2015-block-scoping"
]
},
"browserify"
:
{
"transform"
:
[
[
"babelify"
,
{
"sourceMapsAbsolute"
:
false
,
"sourceMaps"
:
true
,
"plugins"
:
[
[
"fast-async"
,
{
"runtimePattern"
:
null
,
"compiler"
:
{
"es7"
:
true
,
"noRuntime"
:
true
,
"promises"
:
true
,
"wrapAwait"
:
true
}
}
],
[
"yo-yoify"
],
[
"transform-object-assign"
]
],
"presets"
:
[
"es2015"
]
}
]
]
},
"bin"
:
{
"remix-ide"
:
"./bin/remix-ide"
},
"scripts"
:
{
"setupremix"
:
"npm run linkremixlib && npm run linkremixsolidity && npm run linkremixsimulator && npm run linkremixtests"
,
"pullremix"
:
"git clone https://github.com/ethereum/remix"
,
"linkremixlib"
:
"cd node_modules && rm -rf remix-lib && ln -s ../../remix/remix-lib remix-lib && cd .."
,
"linkremixsolidity"
:
"cd node_modules && rm -rf remix-solidity && ln -s ../../remix/remix-solidity remix-solidity && cd .."
,
"linkremixsimulator"
:
"cd node_modules && rm -rf remix-simulator && ln -s ../../remix/remix-simulator remix-simulator && cd .."
,
"linkremixtests"
:
"cd node_modules && rm -rf remix-tests && ln -s ../../remix/remix-tests remix-tests && cd .."
,
"build"
:
"browserify src/index.js -o build/app.js --exclude solc"
,
"build_debugger"
:
"browserify src/app/debugger/remix-debugger/index.js -o src/app/debugger/remix-debugger/build/app.js"
,
"browsertest"
:
"sleep 5 && npm run nightwatch_local"
,
"csslint"
:
"csslint --ignore=order-alphabetical --errors='errors,duplicate-properties,empty-rules' --exclude-list='assets/css/font-awesome.min.css' assets/css/"
,
"downloadsolc_root"
:
"wget --no-check-certificate https://solc-bin.ethereum.org/bin/soljson-v0.5.1+commit.c8a2cb62.js -O soljson.js"
,
"lint"
:
"standard | notify-error"
,
"make-mock-compiler"
:
"node ci/makeMockCompiler.js"
,
"minify"
:
"uglifyjs --in-source-map inline --source-map-inline -c warnings=false"
,
"nightwatch_local"
:
"nightwatch --config nightwatch.js --env local"
,
"nightwatch_local_debugger"
:
"nightwatch --config nightwatch_debugger.js --env local"
,
"nightwatch_remote_chrome"
:
"nightwatch --config nightwatch.js --env chrome"
,
"nightwatch_remote_firefox"
:
"nightwatch --config nightwatch.js --env default"
,
"nightwatch_remote_ie"
:
"nightwatch --config nightwatch.js --env ie"
,
"nightwatch_remote_parallel"
:
"nightwatch --config nightwatch.js --env safari,chrome,default"
,
"nightwatch_remote_safari"
:
"nightwatch --config nightwatch.js --env safari"
,
"nightwatch_remote_debugger_parallel"
:
"nightwatch --config nightwatch_debugger.js --env safari,chrome,default"
,
"onchange"
:
"onchange build/app.js -- npm-run-all lint"
,
"prepublish"
:
"mkdirp build; npm-run-all -ls downloadsolc_root build"
,
"remixd"
:
"./node_modules/remixd/bin/remixd -s ./contracts --remix-ide http://127.0.0.1:8080"
,
"selenium"
:
"execr --silent selenium-standalone start"
,
"selenium-install"
:
"selenium-standalone install"
,
"serve"
:
" http-server ."
,
"serve_debugger"
:
"execr --silent http-server src/app/debugger/remix-debugger"
,
"sourcemap"
:
"exorcist --root ../ build/app.js.map > build/app.js"
,
"start"
:
"npm-run-all -lpr serve watch onchange remixd"
,
"test"
:
"npm run csslint; standard && node test/index.js"
,
"test-browser"
:
"npm-run-all -lpr selenium downloadsolc_root make-mock-compiler serve browsertest"
,
"watch"
:
"watchify src/index.js -dv -p browserify-reload -o build/app.js --exclude solc"
}
}
.history/package_20190318191220.json
deleted
100644 → 0
View file @
8c65ab16
{
"name"
:
"remix-ide"
,
"version"
:
"v0.7.5"
,
"description"
:
"Minimalistic browser-based Solidity IDE"
,
"devDependencies"
:
{
"ace-mode-solidity"
:
"^0.1.0"
,
"async"
:
"^2.1.2"
,
"babel-eslint"
:
"^7.1.1"
,
"babel-plugin-transform-object-assign"
:
"^6.22.0"
,
"babel-plugin-yo-yoify"
:
"^0.3.3"
,
"babel-polyfill"
:
"^6.22.0"
,
"babel-preset-env"
:
"^1.6.1"
,
"babel-preset-es2015"
:
"^6.24.0"
,
"babel-preset-es2017"
:
"^6.24.1"
,
"babel-preset-stage-0"
:
"^6.24.1"
,
"babelify"
:
"^7.3.0"
,
"brace"
:
"^0.8.0"
,
"browserify-reload"
:
"^1.0.3"
,
"component-type"
:
"^1.2.1"
,
"copy-text-to-clipboard"
:
"^1.0.4"
,
"csjs-inject"
:
"^1.0.1"
,
"csslint"
:
"^1.0.2"
,
"deep-equal"
:
"^1.0.1"
,
"ethereumjs-util"
:
"^5.1.2"
,
"execr"
:
"^1.0.1"
,
"exorcist"
:
"^0.4.0"
,
"fast-async"
:
"6.3.1"
,
"fast-levenshtein"
:
"^2.0.6"
,
"gists"
:
"^1.0.1"
,
"javascript-serialize"
:
"^1.6.1"
,
"jquery"
:
"^3.3.1"
,
"js-base64"
:
"^2.1.9"
,
"js-beautify"
:
"1.6.14"
,
"minixhr"
:
"^3.2.2"
,
"mkdirp"
:
"^0.5.1"
,
"nightwatch"
:
"^0.9.20"
,
"notify-error"
:
"^1.2.0"
,
"npm-link-local"
:
"^1.1.0"
,
"npm-run-all"
:
"^4.0.2"
,
"onchange"
:
"^3.2.1"
,
"remix-debug"
:
"0.3.1"
,
"remix-analyzer"
:
"0.3.1"
,
"remix-lib"
:
"0.4.1"
,
"remix-solidity"
:
"0.3.1"
,
"remix-tests"
:
"0.1.1"
,
"remixd"
:
"0.1.8-alpha.6"
,
"request"
:
"^2.83.0"
,
"rimraf"
:
"^2.6.1"
,
"selenium-standalone"
:
"^6.0.1"
,
"solc"
:
"^0.5.0"
,
"standard"
:
"^8.5.0"
,
"swarmgw"
:
"^0.3.1"
,
"tape"
:
"^4.5.1"
,
"uglify-js"
:
"^2.8.16"
,
"vm-browserify"
:
"0.0.4"
,
"watchify"
:
"^3.9.0"
,
"web3"
:
"1.0.0-beta.27"
,
"webworkify"
:
"^1.2.1"
,
"yo-yo"
:
"^1.2.2"
,
"yo-yoify"
:
"^3.7.3"
},
"dependencies"
:
{
"http-server"
:
"0.9.0"
,
"remixd"
:
"0.1.8-alpha.6"
},
"repository"
:
{
"type"
:
"git"
,
"url"
:
"git+https://github.com/ethereum/remix-ide.git"
},
"keywords"
:
[
"ethereum"
,
"solidity"
,
"compiler"
],
"author"
:
"chriseth"
,
"license"
:
"MIT"
,
"bugs"
:
{
"url"
:
"https://github.com/ethereum/remix-ide/issues"
},
"homepage"
:
"https://github.com/ethereum/remix-ide#readme"
,
"standard"
:
{
"ignore"
:
[
"build/"
,
"src/app/editor/mode-solidity.js"
,
"soljson.js"
],
"parser"
:
"babel-eslint"
},
"babel"
:
{
"plugins"
:
[
"transform-es2015-template-literals"
,
"transform-es2015-literals"
,
"transform-es2015-function-name"
,
"transform-es2015-arrow-functions"
,
"transform-es2015-block-scoped-functions"
,
"transform-es2015-classes"
,
"transform-es2015-object-super"
,
"transform-es2015-shorthand-properties"
,
"transform-es2015-duplicate-keys"
,
"transform-es2015-computed-properties"
,
"transform-es2015-for-of"
,
"transform-es2015-sticky-regex"
,
"transform-es2015-unicode-regex"
,
"check-es2015-constants"
,
"transform-es2015-spread"
,
"transform-es2015-parameters"
,
"transform-es2015-destructuring"
,
"transform-es2015-block-scoping"
]
},
"browserify"
:
{
"transform"
:
[
[
"babelify"
,
{
"sourceMapsAbsolute"
:
false
,
"sourceMaps"
:
true
,
"plugins"
:
[
[
"fast-async"
,
{
"runtimePattern"
:
null
,
"compiler"
:
{
"es7"
:
true
,
"noRuntime"
:
true
,
"promises"
:
true
,
"wrapAwait"
:
true
}
}
],
[
"yo-yoify"
],
[
"transform-object-assign"
]
],
"presets"
:
[
"es2015"
]
}
]
]
},
"bin"
:
{
"remix-ide"
:
"./bin/remix-ide"
},
"scripts"
:
{
"setupremix"
:
"npm run linkremixlib && npm run linkremixsolidity && npm run linkremixsimulator && npm run linkremixtests"
,
"pullremix"
:
"git clone https://github.com/ethereum/remix"
,
"linkremixlib"
:
"cd node_modules && rm -rf remix-lib && ln -s ../../remix/remix-lib remix-lib && cd .."
,
"linkremixsolidity"
:
"cd node_modules && rm -rf remix-solidity && ln -s ../../remix/remix-solidity remix-solidity && cd .."
,
"linkremixsimulator"
:
"cd node_modules && rm -rf remix-simulator && ln -s ../../remix/remix-simulator remix-simulator && cd .."
,
"linkremixtests"
:
"cd node_modules && rm -rf remix-tests && ln -s ../../remix/remix-tests remix-tests && cd .."
,
"build"
:
"browserify src/index.js -o build/app.js --exclude solc"
,
"build_debugger"
:
"browserify src/app/debugger/remix-debugger/index.js -o src/app/debugger/remix-debugger/build/app.js"
,
"browsertest"
:
"sleep 5 && npm run nightwatch_local"
,
"csslint"
:
"csslint --ignore=order-alphabetical --errors='errors,duplicate-properties,empty-rules' --exclude-list='assets/css/font-awesome.min.css' assets/css/"
,
"downloadsolc_root"
:
"wget --no-check-certificate https://solc-bin.ethereum.org/bin/soljson-v0.5.1+commit.c8a2cb62.js -O soljson.js"
,
"lint"
:
"standard | notify-error"
,
"make-mock-compiler"
:
"node ci/makeMockCompiler.js"
,
"minify"
:
"uglifyjs --in-source-map inline --source-map-inline -c warnings=false"
,
"nightwatch_local"
:
"nightwatch --config nightwatch.js --env local"
,
"nightwatch_local_debugger"
:
"nightwatch --config nightwatch_debugger.js --env local"
,
"nightwatch_remote_chrome"
:
"nightwatch --config nightwatch.js --env chrome"
,
"nightwatch_remote_firefox"
:
"nightwatch --config nightwatch.js --env default"
,
"nightwatch_remote_ie"
:
"nightwatch --config nightwatch.js --env ie"
,
"nightwatch_remote_parallel"
:
"nightwatch --config nightwatch.js --env safari,chrome,default"
,
"nightwatch_remote_safari"
:
"nightwatch --config nightwatch.js --env safari"
,
"nightwatch_remote_debugger_parallel"
:
"nightwatch --config nightwatch_debugger.js --env safari,chrome,default"
,
"onchange"
:
"onchange build/app.js -- npm-run-all lint"
,
"prepublish"
:
"mkdirp build; npm-run-all -ls downloadsolc_root build"
,
"remixd"
:
"./node_modules/remixd/bin/remixd -s ./contracts --remix-ide http://127.0.0.1:8080"
,
"selenium"
:
"execr --silent selenium-standalone start"
,
"selenium-install"
:
"selenium-standalone install"
,
"serve"
:
"http-server ."
,
"serve_debugger"
:
"execr --silent http-server src/app/debugger/remix-debugger"
,
"sourcemap"
:
"exorcist --root ../ build/app.js.map > build/app.js"
,
"start"
:
"npm-run-all -lpr serve watch onchange remixd"
,
"test"
:
"npm run csslint; standard && node test/index.js"
,
"test-browser"
:
"npm-run-all -lpr selenium downloadsolc_root make-mock-compiler serve browsertest"
,
"watch"
:
"watchify src/index.js -dv -p browserify-reload -o build/app.js --exclude solc"
}
}
.history/src/app/ui/contextMenu_20190318184257.js
deleted
100644 → 0
View file @
8c65ab16
var
yo
=
require
(
'yo-yo'
)
// -------------- copyToClipboard ----------------------
var
csjs
=
require
(
'csjs-inject'
)
var
styleGuide
=
require
(
'./styles-guide/theme-chooser'
)
var
styles
=
styleGuide
.
chooser
()
var
css
=
csjs
`
.container
{
display: none;
position: fixed;
border: 1px solid
${
styles
.
appProperties
.
solidBorderBox_BorderColor
}
;
width:150px;
background:
${
styles
.
appProperties
.
solidBorderBox_BackgroundColor
}
;
border-radius: 2px;
z-index: 1000;
background-color: var(--light)
}
.liitem
{
padding: 3px;
padding-left: 10px;
cursor: pointer;
}
#menuitems
{
list-style: none;
margin: 0px;
margin-top: 4px;
padding-left: 5px;
padding-right: 5px;
padding-bottom: 3px;
color:
${
styles
.
appProperties
.
solidBorderBox_TextColor
}
;
}
#menuitems :hover
{
<<<<<<< HEAD
background:
${
styles
.
appProperties
.
highlight_BackgroundColor
}
;
=======
background-color: var(--secondary);
>>>>>>> 712ea4fa... fixed context menu style
border-radius: 2px;
}
`
module
.
exports
=
(
event
,
items
)
=>
{
event
.
preventDefault
()
function
hide
(
event
,
force
)
{
if
(
container
&&
container
.
parentElement
&&
(
force
||
(
event
.
target
!==
container
)))
{
container
.
parentElement
.
removeChild
(
container
)
}
window
.
removeEventListener
(
'click'
,
hide
)
}
var
menu
=
Object
.
keys
(
items
).
map
((
item
,
index
)
=>
{
var
current
=
yo
`<li id="menuitem
${
item
.
toLowerCase
()}
" class=
${
css
.
liitem
}
>
${
item
}
</li>`
current
.
onclick
=
()
=>
{
hide
(
null
,
true
);
items
[
item
]()
}
return
current
})
var
container
=
yo
`<div class=
${
css
.
container
}
><ul id='menuitems'>
${
menu
}
</ul></div>`
container
.
style
.
left
=
event
.
pageX
+
'px'
container
.
style
.
top
=
event
.
pageY
+
'px'
container
.
style
.
display
=
'block'
document
.
querySelector
(
'body'
).
appendChild
(
container
)
setTimeout
(()
=>
{
window
.
addEventListener
(
'click'
,
hide
)
},
500
)
return
{
hide
}
}
.history/src/app/ui/contextMenu_20190318184607.js
deleted
100644 → 0
View file @
8c65ab16
var
yo
=
require
(
'yo-yo'
)
// -------------- copyToClipboard ----------------------
var
csjs
=
require
(
'csjs-inject'
)
var
styleGuide
=
require
(
'./styles-guide/theme-chooser'
)
var
styles
=
styleGuide
.
chooser
()
var
css
=
csjs
`
.container
{
display: none;
position: fixed;
border: 1px solid
${
styles
.
appProperties
.
solidBorderBox_BorderColor
}
;
width:150px;
background:
${
styles
.
appProperties
.
solidBorderBox_BackgroundColor
}
;
border-radius: 2px;
z-index: 1000;
background-color: var(--light)
}
.liitem
{
padding: 3px;
padding-left: 10px;
cursor: pointer;
}
#menuitems
{
list-style: none;
margin: 0px;
margin-top: 4px;
padding-left: 5px;
padding-right: 5px;
padding-bottom: 3px;
color:
${
styles
.
appProperties
.
solidBorderBox_TextColor
}
;
}
#menuitems :hover
{
background:
${
styles
.
appProperties
.
highlight_BackgroundColor
}
;
border-radius: 2px;
}
`
module
.
exports
=
(
event
,
items
)
=>
{
event
.
preventDefault
()
function
hide
(
event
,
force
)
{
if
(
container
&&
container
.
parentElement
&&
(
force
||
(
event
.
target
!==
container
)))
{
container
.
parentElement
.
removeChild
(
container
)
}
window
.
removeEventListener
(
'click'
,
hide
)
}
var
menu
=
Object
.
keys
(
items
).
map
((
item
,
index
)
=>
{
var
current
=
yo
`<li id="menuitem
${
item
.
toLowerCase
()}
" class=
${
css
.
liitem
}
>
${
item
}
</li>`
current
.
onclick
=
()
=>
{
hide
(
null
,
true
);
items
[
item
]()
}
return
current
})
var
container
=
yo
`<div class=
${
css
.
container
}
><ul id='menuitems'>
${
menu
}
</ul></div>`
container
.
style
.
left
=
event
.
pageX
+
'px'
container
.
style
.
top
=
event
.
pageY
+
'px'
container
.
style
.
display
=
'block'
document
.
querySelector
(
'body'
).
appendChild
(
container
)
setTimeout
(()
=>
{
window
.
addEventListener
(
'click'
,
hide
)
},
500
)
return
{
hide
}
}
.history/src/app/ui/landing-page/landing-page_20190318191506.js
deleted
100644 → 0
View file @
8c65ab16
var
yo
=
require
(
'yo-yo'
)
var
csjs
=
require
(
'csjs-inject'
)
var
css
=
csjs
`
.container {
position : static;
box-sizing : border-box;
display : flex;
flex-direction : column;
flex-wrap : wrap;
justify-content : unset;
align-items : center;
align-content : space-around;
<<<<<<< HEAD
=======
border : 2px solid black;
>>>>>>> 4191fba9... landing page styleing
width : 400px;
padding : 20px;
background-color: var(--primary);
font-family : "Lucida Console", Monaco, monospace;
font-size : 16px;
}
.section {
z-index : 10;
}
.span {
font-size : 16px;
cursor : pointer;
<<<<<<< HEAD
color: var(--secondary)
=======
>>>>>>> 4191fba9... landing page styleing
}
.im {
display : inline-block;
max-width : 150px;
max-height : 160px;
width : 100%;
height : 100%;
padding : 20px;
background-color: var(--primary);
}
<<<<<<< HEAD
.im:hover {
}
=======
>>>>>>> 4191fba9... landing page styleing
}
`
import
{
defaultWorkspaces
}
from
'./workspace'
import
{
ApiFactory
}
from
'remix-plugin'
import
Section
from
'./section'
export
class
LandingPage
extends
ApiFactory
{
constructor
(
appManager
,
appStore
)
{
super
()
this
.
sections
=
[]
/* var actions1 = [
{ label: 'New file',
type: 'callback',
payload: () => {
let fileManager = globalRegistry.get('fileexplorerbrowser').api
fileManager.creatNewFile()
}
},
{label: 'Import from GitHub', type: `callback`, payload: () => { this.alert(`-imported from GitHub-`) }},
{label: 'Import from gist', type: `callback`, payload: () => { this.alert(`-imported from gist-`) }}
] */
var
actions3
=
[
{
label
:
'Remix documentation'
,
type
:
`link`
,
payload
:
`https://remix.readthedocs.io/en/latest/#`
},
{
label
:
'GitHub repository'
,
type
:
`link`
,
payload
:
`https://github.com/ethereum/remix-ide`
},
{
label
:
'Access local file system with remixd'
,
type
:
`link`
,
payload
:
`https://remix.readthedocs.io/en/latest/tutorial_remixd_filesystem.html`
},
{
label
:
'npm module for remixd'
,
type
:
`link`
,
payload
:
`https://www.npmjs.com/package/remixd`
},
{
label
:
'Medium posts'
,
type
:
`link`
,
payload
:
`https://medium.com/remix-ide`
},
{
label
:
'Tutorials'
,
type
:
`link`
,
payload
:
`https://github.com/ethereum/remix-workshops`
}
]
var
actions4
=
[
{
label
:
'Remix plugins & modules'
,
type
:
`link`
,
payload
:
`https://github.com/ethereum/remix-plugin/blob/master/readme.md`
},
{
label
:
'Repository on GitHub'
,
type
:
`link`
,
payload
:
`https://github.com/ethereum/remix-plugin`
},
{
label
:
'Examples'
,
type
:
`link`
,
payload
:
`https://github.com/ethereum/remix-plugin/tree/master/examples`
},
{
label
:
'Build a plugin for Remix'
,
type
:
`link`
,
payload
:
`https://medium.com/remix-ide/build-a-plugin-for-remix-90d43b209c5a`
}
]
var
actions5
=
[
{
label
:
'Gitter channel'
,
type
:
`link`
,
payload
:
`https://gitter.im/ethereum/remix`
},
{
label
:
'Stack Overflow'
,
type
:
`link`
,
payload
:
`https://stackoverflow.com/questions/tagged/remix`
},
{
label
:
'Reddit'
,
type
:
`link`
,
payload
:
`https://www.reddit.com/r/ethdev/search?q=remix&restrict_sr=1`
}
]
// var sectionStart = new Section('Start', actions1)
var
sectionLearn
=
new
Section
(
'Learn'
,
actions3
)
var
sectionPlugins
=
new
Section
(
'Plugins'
,
actions4
)
var
sectionHelp
=
new
Section
(
'Help'
,
actions5
)
var
sectionsWorkspaces
=
[]
sectionsWorkspaces
.
push
({
label
:
'Close All Modules'
,
type
:
'callback'
,
payload
:
()
=>
{
appStore
.
getActives
()
.
filter
(({
profile
})
=>
!
profile
.
required
)
.
forEach
((
profile
)
=>
{
appManager
.
deactivateOne
(
profile
.
name
)
})
}})
defaultWorkspaces
(
appManager
).
forEach
((
workspace
)
=>
{
sectionsWorkspaces
.
push
({
label
:
workspace
.
title
,
type
:
'callback'
,
payload
:
()
=>
{
workspace
.
activate
()
}
})
})
var
sectionWorkspace
=
new
Section
(
'Workspaces'
,
sectionsWorkspaces
)
this
.
sections
.
push
(
sectionWorkspace
)
this
.
sections
.
push
(
sectionLearn
)
this
.
sections
.
push
(
sectionPlugins
)
this
.
sections
.
push
(
sectionHelp
)
}
get
profile
()
{
return
{
displayName
:
'home'
,
name
:
'home'
,
methods
:
[],
events
:
[],
description
:
' - '
,
icon
:
'data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiA/PjwhRE9DVFlQRSBzdmcgIFBVQkxJQyAnLS8vVzNDLy9EVEQgU1ZHIDEuMS8vRU4nICAnaHR0cDovL3d3dy53My5vcmcvR3JhcGhpY3MvU1ZHLzEuMS9EVEQvc3ZnMTEuZHRkJz48c3ZnIGVuYWJsZS1iYWNrZ3JvdW5kPSJuZXcgMCAwIDUwIDUwIiBoZWlnaHQ9IjUwcHgiIGlkPSJMYXllcl8xIiB2ZXJzaW9uPSIxLjEiIHZpZXdCb3g9IjAgMCA1MCA1MCIgd2lkdGg9IjUwcHgiIHhtbDpzcGFjZT0icHJlc2VydmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPjxyZWN0IGZpbGw9Im5vbmUiIGhlaWdodD0iNTAiIHdpZHRoPSI1MCIvPjxnPjxwYXRoIGQ9IiAgIE0yNSwxQzExLjc0NSwxLDEsMTEuNzQ1LDEsMjVzMTAuNzQ1LDI0LDI0LDI0czI0LTEwLjc0NSwyNC0yNFMzOC4yNTUsMSwyNSwxTDI1LDF6IiBmaWxsPSJub25lIiBzdHJva2U9IiMwMDAwMDAiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIgc3Ryb2tlLW1pdGVybGltaXQ9IjEwIiBzdHJva2Utd2lkdGg9IjIiLz48L2c+PHBhdGggZD0iICBNNDAuNjk2LDYuODMyYzAsMC0xMy4xNjksOC4yMTItMTEuNTMyLDIyLjMzMmMxLjE0Miw5Ljg1OCwxMS45MzUsMTMuMzc3LDExLjkzNSwxMy4zNzciIGZpbGw9Im5vbmUiIHN0cm9rZT0iIzAwMDAwMCIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIiBzdHJva2UtbWl0ZXJsaW1pdD0iMTAiIHN0cm9rZS13aWR0aD0iMi4wNTgzIi8+PHBhdGggZD0iICBNNy4zODUsOC45MTNjMCwwLDMuMDQxLDYuNDc2LDMuMDQxLDE4LjE2OWMwLDkuMjQ2LTMuNTgzLDEyLjkxMS0zLjU4MywxMi45MTEiIGZpbGw9Im5vbmUiIHN0cm9rZT0iIzAwMDAwMCIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIiBzdHJva2UtbWl0ZXJsaW1pdD0iMTAiIHN0cm9rZS13aWR0aD0iMi4wNTgzIi8+PHBhdGggZD0iICBNMS44NTIsMjIuOTMyYzAsMCw2LjQ5Myw2LjIzMiwyMy4xNDgsNi4yMzJzMjMuNDM4LTYuMjQ2LDIzLjQzOC02LjI0NiIgZmlsbD0ibm9uZSIgc3Ryb2tlPSIjMDAwMDAwIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiIHN0cm9rZS1taXRlcmxpbWl0PSIxMCIgc3Ryb2tlLXdpZHRoPSIyLjA1ODMiLz48cGF0aCBkPSIgIE0yNS42NDgsMS41NDhjMCwwLTYuODk1LDcuOTM1LTYuODk1LDIzLjQ1MkMxOC43NTQsNDAuNTE4LDI1LDQ4LjYyNSwyNSw0OC42MjUiIGZpbGw9Im5vbmUiIHN0cm9rZT0iIzAwMDAwMCIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIiBzdHJva2UtbWl0ZXJsaW1pdD0iMTAiIHN0cm9rZS13aWR0aD0iMi4wNTgzIi8+PC9zdmc+'
,
location
:
'mainPanel'
}
}
render
()
{
let
logo
=
'data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4NCjwhLS0gR2VuZXJhdG9yOiBBZG9iZSBJbGx1c3RyYXRvciAxNi4wLjAsIFNWRyBFeHBvcnQgUGx1Zy1JbiAuIFNWRyBWZXJzaW9uOiA2LjAwIEJ1aWxkIDApICAtLT4NCjwhRE9DVFlQRSBzdmcgUFVCTElDICItLy9XM0MvL0RURCBTVkcgMS4xLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL0dyYXBoaWNzL1NWRy8xLjEvRFREL3N2ZzExLmR0ZCI+DQo8c3ZnIHZlcnNpb249IjEuMSIgaWQ9IkxheWVyXzEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIgeT0iMHB4Ig0KCSB3aWR0aD0iNTEycHgiIGhlaWdodD0iNTEycHgiIHZpZXdCb3g9IjAgMCA1MTIgNTEyIiBlbmFibGUtYmFja2dyb3VuZD0ibmV3IDAgMCA1MTIgNTEyIiB4bWw6c3BhY2U9InByZXNlcnZlIj4NCjxnPg0KCTxwYXRoIGZpbGw9IiM0MTQwNDIiIGQ9Ik03MC41ODIsNDI4LjkwNGMwLjgxMSwwLDEuNjIyLDAuMjg1LDIuNDM3LDAuODUzYzAuODExLDAuNTcxLDEuMjE4LDEuMzQsMS4yMTgsMi4zMTQNCgkJYzAsMi4yNzctMS4wNTksMy40OTYtMy4xNjgsMy42NTZjLTUuMDM4LDAuODE0LTkuMzgxLDIuMzU2LTEzLjAzNyw0LjYzYy0zLjY1NSwyLjI3Ni02LjY2Myw1LjExNy05LjAxNiw4LjUyOA0KCQljLTIuMzU3LDMuNDExLTQuMTA0LDcuMjcyLTUuMjM5LDExLjU3NWMtMS4xMzksNC4zMDctMS43MDYsOC44MTQtMS43MDYsMTMuNTI0djMyLjY1M2MwLDIuMjczLTEuMTM5LDMuNDExLTMuNDEyLDMuNDExDQoJCWMtMi4yNzcsMC0zLjQxMi0xLjEzOC0zLjQxMi0zLjQxMXYtNzQuMzIzYzAtMi4yNzMsMS4xMzUtMy40MTEsMy40MTItMy40MTFjMi4yNzMsMCwzLjQxMiwxLjEzOCwzLjQxMiwzLjQxMXYxNS4xMDgNCgkJYzEuNDYyLTIuNDM3LDMuMjA2LTQuNzUyLDUuMjM5LTYuOTQ1YzIuMDI5LTIuMTkzLDQuMjY0LTQuMTQzLDYuNzAxLTUuODQ4YzIuNDM3LTEuNzA2LDUuMDc2LTMuMDg1LDcuOTE5LTQuMTQzDQoJCUM2NC43NzEsNDI5LjQzMyw2Ny42NTgsNDI4LjkwNCw3MC41ODIsNDI4LjkwNHoiLz4NCgk8cGF0aCBmaWxsPSIjNDE0MDQyIiBkPSJNMTM3Ljc3Myw0MjcuMTk4YzUuNjg1LDAsMTAuOTY2LDEuMTgxLDE1LjgzOSwzLjUzNGM0Ljg3NCwyLjM1Niw5LjA1NSw1LjQ4MiwxMi41NSw5LjM4MQ0KCQljMy40OTIsMy44OTksNi4yMTQsOC40MDcsOC4xNjQsMTMuNTI0YzEuOTQ5LDUuMTE3LDIuOTI0LDEwLjQ0LDIuOTI0LDE1Ljk2MWMwLDAuOTc2LTAuMzY2LDEuNzktMS4wOTcsMi40MzgNCgkJYy0wLjczMSwwLjY1LTEuNTgzLDAuOTc1LTIuNTU5LDAuOTc1aC02Ny45ODdjMC40ODcsNC4yMjYsMS41ODQsOC4yODUsMy4yOSwxMi4xODRjMS43MDYsMy44OTksMy45MzcsNy4zMTIsNi43MDEsMTAuMjM0DQoJCWMyLjc2MSwyLjkyNSw2LjAwOCw1LjI4MSw5Ljc0OCw3LjA2N2MzLjczNSwxLjc4OSw3Ljg3NywyLjY4MSwxMi40MjgsMi42ODFjMTIuMDIxLDAsMjEuMzYtNC43OSwyOC4wMjMtMTQuMzc3DQoJCWMwLjY0Ny0xLjEzNiwxLjYyMi0xLjcwNiwyLjkyNC0xLjcwNmMyLjI3MywwLDMuNDEyLDEuMTM5LDMuNDEyLDMuNDEyYzAsMC4xNjMtMC4xNjQsMC43My0wLjQ4NywxLjcwNQ0KCQljLTMuNDEyLDYuMDEzLTguMjA1LDEwLjQ3OS0xNC4zNzcsMTMuNDAyYy02LjE3NiwyLjkyNC0xMi42NzEsNC4zODctMTkuNDk1LDQuMzg3Yy01LjY4OSwwLTEwLjkyOC0xLjE4MS0xNS43MTgtMy41MzMNCgkJYy00Ljc5My0yLjM1NC04LjkzNi01LjQ4My0xMi40MjgtOS4zODJjLTMuNDk1LTMuODk5LTYuMjE0LTguNDA3LTguMTYzLTEzLjUyNGMtMS45NS01LjExOC0yLjkyNC0xMC40MzctMi45MjQtMTUuOTYyDQoJCWMwLTUuNTIxLDAuOTc1LTEwLjg0NCwyLjkyNC0xNS45NjFjMS45NDktNS4xMTcsNC42NjgtOS42MjUsOC4xNjMtMTMuNTI0YzMuNDkyLTMuODk4LDcuNjM0LTcuMDI0LDEyLjQyOC05LjM4MQ0KCQlDMTI2Ljg0Niw0MjguMzc5LDEzMi4wODQsNDI3LjE5OCwxMzcuNzczLDQyNy4xOTh6IE0xNjkuOTQsNDY2LjE4OGMtMC4zMjgtNC4yMjMtMS4zNDEtOC4yODUtMy4wNDYtMTIuMTg0DQoJCWMtMS43MDYtMy44OTktMy45ODItNy4zMTItNi44MjMtMTAuMjM1Yy0yLjg0NC0yLjkyNC02LjE3NS01LjI3Ny05Ljk5MS03LjA2N2MtMy44MTktMS43ODUtNy45Mi0yLjY4LTEyLjMwNi0yLjY4DQoJCWMtNC41NSwwLTguNjkyLDAuODk1LTEyLjQyOCwyLjY4Yy0zLjczOSwxLjc5LTYuOTg3LDQuMTQ0LTkuNzQ4LDcuMDY3Yy0yLjc2NCwyLjkyNC00Ljk5NSw2LjMzNi02LjcwMSwxMC4yMzUNCgkJYy0xLjcwNiwzLjg5OC0yLjgwMiw3Ljk2MS0zLjI5LDEyLjE4NEgxNjkuOTR6Ii8+DQoJPHBhdGggZmlsbD0iIzQxNDA0MiIgZD0iTTMwNC42OSw0MjcuNDQxYzUuMDM0LDAsOS41MDQsMS4wMTgsMTMuNDAyLDMuMDQ3YzMuODk5LDIuMDMzLDcuMTg5LDQuNjcyLDkuODcsNy45Mg0KCQljMi42OCwzLjI1MSw0LjcwOSw3LjA2Niw2LjA5MiwxMS40NTJjMS4zNzksNC4zODcsMi4wNyw4Ljg1NiwyLjA3LDEzLjQwMnY0My42MmMwLDAuOTc1LTAuMzY1LDEuNzg5LTEuMDk3LDIuNDM4DQoJCWMtMC43MywwLjY0Ni0xLjUwMywwLjk3NS0yLjMxMywwLjk3NWMtMi4yNzYsMC0zLjQxMi0xLjE0LTMuNDEyLTMuNDEydi00My42MmMwLTMuNTcxLTAuNTI5LTcuMTA0LTEuNTg0LTEwLjYNCgkJYy0xLjA1OS0zLjQ5MS0yLjYwMi02LjYxOC00LjYzLTkuMzgyYy0yLjAzMy0yLjc2MS00LjU5Mi00Ljk1My03LjY3Ny02LjU4Yy0zLjA4OC0xLjYyMS02LjY2Mi0yLjQzNi0xMC43MjItMi40MzYNCgkJYy01LjIsMC05LjU4NywxLjIxOC0xMy4xNTksMy42NTRjLTMuNTc0LDIuNDM4LTYuNDU3LDUuNTY2LTguNjUsOS4zODJjLTIuMTkzLDMuODE5LTMuODE4LDguMDQyLTQuODc0LDEyLjY3Mg0KCQljLTEuMDU5LDQuNjMtMS41ODQsOS4wNTgtMS41ODQsMTMuMjh2MzMuNjI5YzAsMC45NzUtMC4zNjUsMS43ODktMS4wOTYsMi40MzhjLTAuNzMxLDAuNjQ2LTEuNTA1LDAuOTc1LTIuMzE1LDAuOTc1DQoJCWMtMi4yNzYsMC0zLjQxMS0xLjE0LTMuNDExLTMuNDEydi00My42MmMwLTMuNTcxLTAuNTMtNy4xMDQtMS41ODUtMTAuNmMtMS4wNTgtMy40OTEtMi42MDEtNi42MTgtNC42MjktOS4zODINCgkJYy0yLjAzNC0yLjc2MS00LjU5Mi00Ljk1My03LjY3Ny02LjU4Yy0zLjA4Ny0xLjYyMS02LjY2My0yLjQzNi0xMC43MjItMi40MzZjLTUuMDM3LDAtOS4zNDQsMC44OTUtMTIuOTE1LDIuNjgNCgkJYy0zLjU3NSwxLjc5LTYuNTQyLDQuMjY2LTguODk1LDcuNDMzYy0yLjM1NywzLjE2Ny00LjA2Myw2Ljk0NC01LjExNywxMS4zMzFjLTEuMDU5LDQuMzg2LTEuNTg0LDkuMS0xLjU4NCwxNC4xMzR2My44OTl2MC4yNDMNCgkJdjMyLjg5N2MwLDIuMjcyLTEuMTM4LDMuNDEyLTMuNDEyLDMuNDEyYy0yLjI3NiwwLTMuNDExLTEuMTQtMy40MTEtMy40MTJ2LTc0LjU2N2MwLTIuMjczLDEuMTM1LTMuNDExLDMuNDExLTMuNDExDQoJCWMyLjI3MywwLDMuNDEyLDEuMTM4LDMuNDEyLDMuNDExdjEyLjQyOGMyLjkyNC01LjE5Nyw2Ljg2MS05LjM4MiwxMS44MTktMTIuNTVjNC45NTQtMy4xNjcsMTAuNTE3LTQuNzUyLDE2LjY5Mi00Ljc1Mg0KCQljNi45ODMsMCwxMi45OTUsMS45OTEsMTguMDMyLDUuOTdjNS4wMzMsMy45ODMsOC42ODgsOS4yMjMsMTAuOTY2LDE1LjcxOWMyLjc2LTYuMzM2LDYuNzM5LTExLjUzMywxMS45NC0xNS41OTYNCgkJQzI5MS4xMjUsNDI5LjQ3NSwyOTcuMzgsNDI3LjQ0MSwzMDQuNjksNDI3LjQ0MXoiLz4NCgk8cGF0aCBmaWxsPSIjNDE0MDQyIiBkPSJNMzc4Ljc1Myw0MjkuMzkyYzAuODExLDAsMS41ODQsMC4zNjUsMi4zMTQsMS4wOTdjMC43MzEsMC43MywxLjA5NywxLjUwNCwxLjA5NywyLjMxNHY3NC4wOA0KCQljMCwwLjgxNC0wLjM2NSwxLjU4NC0xLjA5NywyLjMxNWMtMC43MywwLjczLTEuNTA0LDEuMDk3LTIuMzE0LDEuMDk3Yy0wLjk3NSwwLTEuNzktMC4zNjYtMi40MzgtMS4wOTcNCgkJYy0wLjY1LTAuNzMxLTAuOTc1LTEuNTAxLTAuOTc1LTIuMzE1di03NC4wOGMwLTAuODExLDAuMzI0LTEuNTg0LDAuOTc1LTIuMzE0QzM3Ni45NjMsNDI5Ljc1NywzNzcuNzc4LDQyOS4zOTIsMzc4Ljc1Myw0MjkuMzkyeiINCgkJLz4NCgk8cGF0aCBmaWxsPSIjNDE0MDQyIiBkPSJNNDczLjM0LDQyOC42NmMyLjI3MywwLDMuNDEyLDEuMTM5LDMuNDEyLDMuNDExbC0wLjQ4NywxLjk1bC0yNC4zNjgsMzUuMzM0bDI0LjM2OCwzNS41NzcNCgkJYzAuMzIzLDAuOTc2LDAuNDg3LDEuNjI2LDAuNDg3LDEuOTVjMCwyLjI3Mi0xLjEzOSwzLjQxMi0zLjQxMiwzLjQxMmMtMS4zMDIsMC0yLjE5My0wLjQ4OC0yLjY4LTEuNDYzbC0yMi45MDYtMzMuMzg0DQoJCWwtMjIuNjYzLDMzLjM4NGMtMC44MTQsMC45NzUtMS43OSwxLjQ2My0yLjkyNCwxLjQ2M2MtMi4yNzcsMC0zLjQxMS0xLjE0LTMuNDExLTMuNDEyYzAtMC4zMjQsMC4xNTktMC45NzUsMC40ODYtMS45NQ0KCQlsMjQuMzY5LTM1LjU3N2wtMjQuMzY5LTM1LjMzNGwtMC40ODYtMS45NWMwLTIuMjcyLDEuMTM0LTMuNDExLDMuNDExLTMuNDExYzEuMTM0LDAsMi4xMDksMC40ODcsMi45MjQsMS40NjJsMjIuNjYzLDMzLjE0MQ0KCQlsMjIuOTA2LTMzLjE0MUM0NzEuMTQ2LDQyOS4xNDcsNDcyLjAzOCw0MjguNjYsNDczLjM0LDQyOC42NnoiLz4NCjwvZz4NCjxnPg0KCTxnPg0KCQk8ZyBvcGFjaXR5PSIwLjQ1Ij4NCgkJCTxnPg0KCQkJCTxwb2x5Z29uIGZpbGw9IiMwMTAxMDEiIHBvaW50cz0iMTUwLjczNCwxOTYuMjEyIDI1NS45NjksMzQ0LjUwOCAyNTUuOTY5LDI1OC4zODcgCQkJCSIvPg0KCQkJPC9nPg0KCQk8L2c+DQoJCTxnIG9wYWNpdHk9IjAuOCI+DQoJCQk8Zz4NCgkJCQk8cG9seWdvbiBmaWxsPSIjMDEwMTAxIiBwb2ludHM9IjI1NS45NjksMjU4LjM4NyAyNTUuOTY5LDM0NC41MDggMzYxLjI2NywxOTYuMjEyIAkJCQkiLz4NCgkJCTwvZz4NCgkJPC9nPg0KCQk8ZyBvcGFjaXR5PSIwLjYiPg0KCQkJPGc+DQoJCQkJPHBvbHlnb24gZmlsbD0iIzAxMDEwMSIgcG9pbnRzPSIyNTUuOTY5LDEyNi43ODEgMTUwLjczMywxNzQuNjExIDI1NS45NjksMjM2LjgxOCAzNjEuMjA0LDE3NC42MTEgCQkJCSIvPg0KCQkJPC9nPg0KCQk8L2c+DQoJCTxnIG9wYWNpdHk9IjAuNDUiPg0KCQkJPGc+DQoJCQkJPHBvbHlnb24gZmlsbD0iIzAxMDEwMSIgcG9pbnRzPSIxNTAuNzM0LDE3NC42MTIgMjU1Ljk2OSwyMzYuODE4IDI1NS45NjksMTI2Ljc4MiAyNTUuOTY5LDAuMDAxIAkJCQkiLz4NCgkJCTwvZz4NCgkJPC9nPg0KCQk8ZyBvcGFjaXR5PSIwLjgiPg0KCQkJPGc+DQoJCQkJPHBvbHlnb24gZmlsbD0iIzAxMDEwMSIgcG9pbnRzPSIyNTUuOTY5LDAgMjU1Ljk2OSwxMjYuNzgxIDI1NS45NjksMjM2LjgxOCAzNjEuMjA0LDE3NC42MTEgCQkJCSIvPg0KCQkJPC9nPg0KCQk8L2c+DQoJPC9nPg0KPC9nPg0KPC9zdmc+DQo='
let
totalLook
=
yo
`
<div class=
${
css
.
container
}
bg-secondary>
<img class="
${
css
.
im
}
" src="
${
logo
}
" />
</div>
`
for
(
let
i
=
0
;
i
<
this
.
sections
.
length
;
i
++
)
{
totalLook
.
appendChild
(
yo
`
<div class="
${
css
.
section
}
" >
${
this
.
sections
[
i
].
render
()}
</div>
`
)
}
return
totalLook
}
}
.history/src/app/ui/landing-page/landing-page_20190318191554.js
deleted
100644 → 0
View file @
8c65ab16
var
yo
=
require
(
'yo-yo'
)
var
csjs
=
require
(
'csjs-inject'
)
var
css
=
csjs
`
.container {
position : static;
box-sizing : border-box;
display : flex;
flex-direction : column;
flex-wrap : wrap;
justify-content : unset;
align-items : center;
align-content : space-around;
width : 400px;
padding : 20px;
background-color: var(--primary);
font-family : "Lucida Console", Monaco, monospace;
font-size : 16px;
}
.section {
z-index : 10;
}
.span {
font-size : 16px;
cursor : pointer;
color: var(--secondary)
}
.im {
display : inline-block;
max-width : 150px;
max-height : 160px;
width : 100%;
height : 100%;
padding : 20px;
background-color: var(--primary);
}
.im:hover {
}
}
`
import
{
defaultWorkspaces
}
from
'./workspace'
import
{
ApiFactory
}
from
'remix-plugin'
import
Section
from
'./section'
export
class
LandingPage
extends
ApiFactory
{
constructor
(
appManager
,
appStore
)
{
super
()
this
.
sections
=
[]
/* var actions1 = [
{ label: 'New file',
type: 'callback',
payload: () => {
let fileManager = globalRegistry.get('fileexplorerbrowser').api
fileManager.creatNewFile()
}
},
{label: 'Import from GitHub', type: `callback`, payload: () => { this.alert(`-imported from GitHub-`) }},
{label: 'Import from gist', type: `callback`, payload: () => { this.alert(`-imported from gist-`) }}
] */
var
actions3
=
[
{
label
:
'Remix documentation'
,
type
:
`link`
,
payload
:
`https://remix.readthedocs.io/en/latest/#`
},
{
label
:
'GitHub repository'
,
type
:
`link`
,
payload
:
`https://github.com/ethereum/remix-ide`
},
{
label
:
'Access local file system with remixd'
,
type
:
`link`
,
payload
:
`https://remix.readthedocs.io/en/latest/tutorial_remixd_filesystem.html`
},
{
label
:
'npm module for remixd'
,
type
:
`link`
,
payload
:
`https://www.npmjs.com/package/remixd`
},
{
label
:
'Medium posts'
,
type
:
`link`
,
payload
:
`https://medium.com/remix-ide`
},
{
label
:
'Tutorials'
,
type
:
`link`
,
payload
:
`https://github.com/ethereum/remix-workshops`
}
]
var
actions4
=
[
{
label
:
'Remix plugins & modules'
,
type
:
`link`
,
payload
:
`https://github.com/ethereum/remix-plugin/blob/master/readme.md`
},
{
label
:
'Repository on GitHub'
,
type
:
`link`
,
payload
:
`https://github.com/ethereum/remix-plugin`
},
{
label
:
'Examples'
,
type
:
`link`
,
payload
:
`https://github.com/ethereum/remix-plugin/tree/master/examples`
},
{
label
:
'Build a plugin for Remix'
,
type
:
`link`
,
payload
:
`https://medium.com/remix-ide/build-a-plugin-for-remix-90d43b209c5a`
}
]
var
actions5
=
[
{
label
:
'Gitter channel'
,
type
:
`link`
,
payload
:
`https://gitter.im/ethereum/remix`
},
{
label
:
'Stack Overflow'
,
type
:
`link`
,
payload
:
`https://stackoverflow.com/questions/tagged/remix`
},
{
label
:
'Reddit'
,
type
:
`link`
,
payload
:
`https://www.reddit.com/r/ethdev/search?q=remix&restrict_sr=1`
}
]
// var sectionStart = new Section('Start', actions1)
var
sectionLearn
=
new
Section
(
'Learn'
,
actions3
)
var
sectionPlugins
=
new
Section
(
'Plugins'
,
actions4
)
var
sectionHelp
=
new
Section
(
'Help'
,
actions5
)
var
sectionsWorkspaces
=
[]
sectionsWorkspaces
.
push
({
label
:
'Close All Modules'
,
type
:
'callback'
,
payload
:
()
=>
{
appStore
.
getActives
()
.
filter
(({
profile
})
=>
!
profile
.
required
)
.
forEach
((
profile
)
=>
{
appManager
.
deactivateOne
(
profile
.
name
)
})
}})
defaultWorkspaces
(
appManager
).
forEach
((
workspace
)
=>
{
sectionsWorkspaces
.
push
({
label
:
workspace
.
title
,
type
:
'callback'
,
payload
:
()
=>
{
workspace
.
activate
()
}
})
})
var
sectionWorkspace
=
new
Section
(
'Workspaces'
,
sectionsWorkspaces
)
this
.
sections
.
push
(
sectionWorkspace
)
this
.
sections
.
push
(
sectionLearn
)
this
.
sections
.
push
(
sectionPlugins
)
this
.
sections
.
push
(
sectionHelp
)
}
get
profile
()
{
return
{
displayName
:
'home'
,
name
:
'home'
,
methods
:
[],
events
:
[],
description
:
' - '
,
icon
:
'data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiA/PjwhRE9DVFlQRSBzdmcgIFBVQkxJQyAnLS8vVzNDLy9EVEQgU1ZHIDEuMS8vRU4nICAnaHR0cDovL3d3dy53My5vcmcvR3JhcGhpY3MvU1ZHLzEuMS9EVEQvc3ZnMTEuZHRkJz48c3ZnIGVuYWJsZS1iYWNrZ3JvdW5kPSJuZXcgMCAwIDUwIDUwIiBoZWlnaHQ9IjUwcHgiIGlkPSJMYXllcl8xIiB2ZXJzaW9uPSIxLjEiIHZpZXdCb3g9IjAgMCA1MCA1MCIgd2lkdGg9IjUwcHgiIHhtbDpzcGFjZT0icHJlc2VydmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPjxyZWN0IGZpbGw9Im5vbmUiIGhlaWdodD0iNTAiIHdpZHRoPSI1MCIvPjxnPjxwYXRoIGQ9IiAgIE0yNSwxQzExLjc0NSwxLDEsMTEuNzQ1LDEsMjVzMTAuNzQ1LDI0LDI0LDI0czI0LTEwLjc0NSwyNC0yNFMzOC4yNTUsMSwyNSwxTDI1LDF6IiBmaWxsPSJub25lIiBzdHJva2U9IiMwMDAwMDAiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIgc3Ryb2tlLW1pdGVybGltaXQ9IjEwIiBzdHJva2Utd2lkdGg9IjIiLz48L2c+PHBhdGggZD0iICBNNDAuNjk2LDYuODMyYzAsMC0xMy4xNjksOC4yMTItMTEuNTMyLDIyLjMzMmMxLjE0Miw5Ljg1OCwxMS45MzUsMTMuMzc3LDExLjkzNSwxMy4zNzciIGZpbGw9Im5vbmUiIHN0cm9rZT0iIzAwMDAwMCIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIiBzdHJva2UtbWl0ZXJsaW1pdD0iMTAiIHN0cm9rZS13aWR0aD0iMi4wNTgzIi8+PHBhdGggZD0iICBNNy4zODUsOC45MTNjMCwwLDMuMDQxLDYuNDc2LDMuMDQxLDE4LjE2OWMwLDkuMjQ2LTMuNTgzLDEyLjkxMS0zLjU4MywxMi45MTEiIGZpbGw9Im5vbmUiIHN0cm9rZT0iIzAwMDAwMCIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIiBzdHJva2UtbWl0ZXJsaW1pdD0iMTAiIHN0cm9rZS13aWR0aD0iMi4wNTgzIi8+PHBhdGggZD0iICBNMS44NTIsMjIuOTMyYzAsMCw2LjQ5Myw2LjIzMiwyMy4xNDgsNi4yMzJzMjMuNDM4LTYuMjQ2LDIzLjQzOC02LjI0NiIgZmlsbD0ibm9uZSIgc3Ryb2tlPSIjMDAwMDAwIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiIHN0cm9rZS1taXRlcmxpbWl0PSIxMCIgc3Ryb2tlLXdpZHRoPSIyLjA1ODMiLz48cGF0aCBkPSIgIE0yNS42NDgsMS41NDhjMCwwLTYuODk1LDcuOTM1LTYuODk1LDIzLjQ1MkMxOC43NTQsNDAuNTE4LDI1LDQ4LjYyNSwyNSw0OC42MjUiIGZpbGw9Im5vbmUiIHN0cm9rZT0iIzAwMDAwMCIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIiBzdHJva2UtbWl0ZXJsaW1pdD0iMTAiIHN0cm9rZS13aWR0aD0iMi4wNTgzIi8+PC9zdmc+'
,
location
:
'mainPanel'
}
}
render
()
{
let
logo
=
'data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4NCjwhLS0gR2VuZXJhdG9yOiBBZG9iZSBJbGx1c3RyYXRvciAxNi4wLjAsIFNWRyBFeHBvcnQgUGx1Zy1JbiAuIFNWRyBWZXJzaW9uOiA2LjAwIEJ1aWxkIDApICAtLT4NCjwhRE9DVFlQRSBzdmcgUFVCTElDICItLy9XM0MvL0RURCBTVkcgMS4xLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL0dyYXBoaWNzL1NWRy8xLjEvRFREL3N2ZzExLmR0ZCI+DQo8c3ZnIHZlcnNpb249IjEuMSIgaWQ9IkxheWVyXzEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIgeT0iMHB4Ig0KCSB3aWR0aD0iNTEycHgiIGhlaWdodD0iNTEycHgiIHZpZXdCb3g9IjAgMCA1MTIgNTEyIiBlbmFibGUtYmFja2dyb3VuZD0ibmV3IDAgMCA1MTIgNTEyIiB4bWw6c3BhY2U9InByZXNlcnZlIj4NCjxnPg0KCTxwYXRoIGZpbGw9IiM0MTQwNDIiIGQ9Ik03MC41ODIsNDI4LjkwNGMwLjgxMSwwLDEuNjIyLDAuMjg1LDIuNDM3LDAuODUzYzAuODExLDAuNTcxLDEuMjE4LDEuMzQsMS4yMTgsMi4zMTQNCgkJYzAsMi4yNzctMS4wNTksMy40OTYtMy4xNjgsMy42NTZjLTUuMDM4LDAuODE0LTkuMzgxLDIuMzU2LTEzLjAzNyw0LjYzYy0zLjY1NSwyLjI3Ni02LjY2Myw1LjExNy05LjAxNiw4LjUyOA0KCQljLTIuMzU3LDMuNDExLTQuMTA0LDcuMjcyLTUuMjM5LDExLjU3NWMtMS4xMzksNC4zMDctMS43MDYsOC44MTQtMS43MDYsMTMuNTI0djMyLjY1M2MwLDIuMjczLTEuMTM5LDMuNDExLTMuNDEyLDMuNDExDQoJCWMtMi4yNzcsMC0zLjQxMi0xLjEzOC0zLjQxMi0zLjQxMXYtNzQuMzIzYzAtMi4yNzMsMS4xMzUtMy40MTEsMy40MTItMy40MTFjMi4yNzMsMCwzLjQxMiwxLjEzOCwzLjQxMiwzLjQxMXYxNS4xMDgNCgkJYzEuNDYyLTIuNDM3LDMuMjA2LTQuNzUyLDUuMjM5LTYuOTQ1YzIuMDI5LTIuMTkzLDQuMjY0LTQuMTQzLDYuNzAxLTUuODQ4YzIuNDM3LTEuNzA2LDUuMDc2LTMuMDg1LDcuOTE5LTQuMTQzDQoJCUM2NC43NzEsNDI5LjQzMyw2Ny42NTgsNDI4LjkwNCw3MC41ODIsNDI4LjkwNHoiLz4NCgk8cGF0aCBmaWxsPSIjNDE0MDQyIiBkPSJNMTM3Ljc3Myw0MjcuMTk4YzUuNjg1LDAsMTAuOTY2LDEuMTgxLDE1LjgzOSwzLjUzNGM0Ljg3NCwyLjM1Niw5LjA1NSw1LjQ4MiwxMi41NSw5LjM4MQ0KCQljMy40OTIsMy44OTksNi4yMTQsOC40MDcsOC4xNjQsMTMuNTI0YzEuOTQ5LDUuMTE3LDIuOTI0LDEwLjQ0LDIuOTI0LDE1Ljk2MWMwLDAuOTc2LTAuMzY2LDEuNzktMS4wOTcsMi40MzgNCgkJYy0wLjczMSwwLjY1LTEuNTgzLDAuOTc1LTIuNTU5LDAuOTc1aC02Ny45ODdjMC40ODcsNC4yMjYsMS41ODQsOC4yODUsMy4yOSwxMi4xODRjMS43MDYsMy44OTksMy45MzcsNy4zMTIsNi43MDEsMTAuMjM0DQoJCWMyLjc2MSwyLjkyNSw2LjAwOCw1LjI4MSw5Ljc0OCw3LjA2N2MzLjczNSwxLjc4OSw3Ljg3NywyLjY4MSwxMi40MjgsMi42ODFjMTIuMDIxLDAsMjEuMzYtNC43OSwyOC4wMjMtMTQuMzc3DQoJCWMwLjY0Ny0xLjEzNiwxLjYyMi0xLjcwNiwyLjkyNC0xLjcwNmMyLjI3MywwLDMuNDEyLDEuMTM5LDMuNDEyLDMuNDEyYzAsMC4xNjMtMC4xNjQsMC43My0wLjQ4NywxLjcwNQ0KCQljLTMuNDEyLDYuMDEzLTguMjA1LDEwLjQ3OS0xNC4zNzcsMTMuNDAyYy02LjE3NiwyLjkyNC0xMi42NzEsNC4zODctMTkuNDk1LDQuMzg3Yy01LjY4OSwwLTEwLjkyOC0xLjE4MS0xNS43MTgtMy41MzMNCgkJYy00Ljc5My0yLjM1NC04LjkzNi01LjQ4My0xMi40MjgtOS4zODJjLTMuNDk1LTMuODk5LTYuMjE0LTguNDA3LTguMTYzLTEzLjUyNGMtMS45NS01LjExOC0yLjkyNC0xMC40MzctMi45MjQtMTUuOTYyDQoJCWMwLTUuNTIxLDAuOTc1LTEwLjg0NCwyLjkyNC0xNS45NjFjMS45NDktNS4xMTcsNC42NjgtOS42MjUsOC4xNjMtMTMuNTI0YzMuNDkyLTMuODk4LDcuNjM0LTcuMDI0LDEyLjQyOC05LjM4MQ0KCQlDMTI2Ljg0Niw0MjguMzc5LDEzMi4wODQsNDI3LjE5OCwxMzcuNzczLDQyNy4xOTh6IE0xNjkuOTQsNDY2LjE4OGMtMC4zMjgtNC4yMjMtMS4zNDEtOC4yODUtMy4wNDYtMTIuMTg0DQoJCWMtMS43MDYtMy44OTktMy45ODItNy4zMTItNi44MjMtMTAuMjM1Yy0yLjg0NC0yLjkyNC02LjE3NS01LjI3Ny05Ljk5MS03LjA2N2MtMy44MTktMS43ODUtNy45Mi0yLjY4LTEyLjMwNi0yLjY4DQoJCWMtNC41NSwwLTguNjkyLDAuODk1LTEyLjQyOCwyLjY4Yy0zLjczOSwxLjc5LTYuOTg3LDQuMTQ0LTkuNzQ4LDcuMDY3Yy0yLjc2NCwyLjkyNC00Ljk5NSw2LjMzNi02LjcwMSwxMC4yMzUNCgkJYy0xLjcwNiwzLjg5OC0yLjgwMiw3Ljk2MS0zLjI5LDEyLjE4NEgxNjkuOTR6Ii8+DQoJPHBhdGggZmlsbD0iIzQxNDA0MiIgZD0iTTMwNC42OSw0MjcuNDQxYzUuMDM0LDAsOS41MDQsMS4wMTgsMTMuNDAyLDMuMDQ3YzMuODk5LDIuMDMzLDcuMTg5LDQuNjcyLDkuODcsNy45Mg0KCQljMi42OCwzLjI1MSw0LjcwOSw3LjA2Niw2LjA5MiwxMS40NTJjMS4zNzksNC4zODcsMi4wNyw4Ljg1NiwyLjA3LDEzLjQwMnY0My42MmMwLDAuOTc1LTAuMzY1LDEuNzg5LTEuMDk3LDIuNDM4DQoJCWMtMC43MywwLjY0Ni0xLjUwMywwLjk3NS0yLjMxMywwLjk3NWMtMi4yNzYsMC0zLjQxMi0xLjE0LTMuNDEyLTMuNDEydi00My42MmMwLTMuNTcxLTAuNTI5LTcuMTA0LTEuNTg0LTEwLjYNCgkJYy0xLjA1OS0zLjQ5MS0yLjYwMi02LjYxOC00LjYzLTkuMzgyYy0yLjAzMy0yLjc2MS00LjU5Mi00Ljk1My03LjY3Ny02LjU4Yy0zLjA4OC0xLjYyMS02LjY2Mi0yLjQzNi0xMC43MjItMi40MzYNCgkJYy01LjIsMC05LjU4NywxLjIxOC0xMy4xNTksMy42NTRjLTMuNTc0LDIuNDM4LTYuNDU3LDUuNTY2LTguNjUsOS4zODJjLTIuMTkzLDMuODE5LTMuODE4LDguMDQyLTQuODc0LDEyLjY3Mg0KCQljLTEuMDU5LDQuNjMtMS41ODQsOS4wNTgtMS41ODQsMTMuMjh2MzMuNjI5YzAsMC45NzUtMC4zNjUsMS43ODktMS4wOTYsMi40MzhjLTAuNzMxLDAuNjQ2LTEuNTA1LDAuOTc1LTIuMzE1LDAuOTc1DQoJCWMtMi4yNzYsMC0zLjQxMS0xLjE0LTMuNDExLTMuNDEydi00My42MmMwLTMuNTcxLTAuNTMtNy4xMDQtMS41ODUtMTAuNmMtMS4wNTgtMy40OTEtMi42MDEtNi42MTgtNC42MjktOS4zODINCgkJYy0yLjAzNC0yLjc2MS00LjU5Mi00Ljk1My03LjY3Ny02LjU4Yy0zLjA4Ny0xLjYyMS02LjY2My0yLjQzNi0xMC43MjItMi40MzZjLTUuMDM3LDAtOS4zNDQsMC44OTUtMTIuOTE1LDIuNjgNCgkJYy0zLjU3NSwxLjc5LTYuNTQyLDQuMjY2LTguODk1LDcuNDMzYy0yLjM1NywzLjE2Ny00LjA2Myw2Ljk0NC01LjExNywxMS4zMzFjLTEuMDU5LDQuMzg2LTEuNTg0LDkuMS0xLjU4NCwxNC4xMzR2My44OTl2MC4yNDMNCgkJdjMyLjg5N2MwLDIuMjcyLTEuMTM4LDMuNDEyLTMuNDEyLDMuNDEyYy0yLjI3NiwwLTMuNDExLTEuMTQtMy40MTEtMy40MTJ2LTc0LjU2N2MwLTIuMjczLDEuMTM1LTMuNDExLDMuNDExLTMuNDExDQoJCWMyLjI3MywwLDMuNDEyLDEuMTM4LDMuNDEyLDMuNDExdjEyLjQyOGMyLjkyNC01LjE5Nyw2Ljg2MS05LjM4MiwxMS44MTktMTIuNTVjNC45NTQtMy4xNjcsMTAuNTE3LTQuNzUyLDE2LjY5Mi00Ljc1Mg0KCQljNi45ODMsMCwxMi45OTUsMS45OTEsMTguMDMyLDUuOTdjNS4wMzMsMy45ODMsOC42ODgsOS4yMjMsMTAuOTY2LDE1LjcxOWMyLjc2LTYuMzM2LDYuNzM5LTExLjUzMywxMS45NC0xNS41OTYNCgkJQzI5MS4xMjUsNDI5LjQ3NSwyOTcuMzgsNDI3LjQ0MSwzMDQuNjksNDI3LjQ0MXoiLz4NCgk8cGF0aCBmaWxsPSIjNDE0MDQyIiBkPSJNMzc4Ljc1Myw0MjkuMzkyYzAuODExLDAsMS41ODQsMC4zNjUsMi4zMTQsMS4wOTdjMC43MzEsMC43MywxLjA5NywxLjUwNCwxLjA5NywyLjMxNHY3NC4wOA0KCQljMCwwLjgxNC0wLjM2NSwxLjU4NC0xLjA5NywyLjMxNWMtMC43MywwLjczLTEuNTA0LDEuMDk3LTIuMzE0LDEuMDk3Yy0wLjk3NSwwLTEuNzktMC4zNjYtMi40MzgtMS4wOTcNCgkJYy0wLjY1LTAuNzMxLTAuOTc1LTEuNTAxLTAuOTc1LTIuMzE1di03NC4wOGMwLTAuODExLDAuMzI0LTEuNTg0LDAuOTc1LTIuMzE0QzM3Ni45NjMsNDI5Ljc1NywzNzcuNzc4LDQyOS4zOTIsMzc4Ljc1Myw0MjkuMzkyeiINCgkJLz4NCgk8cGF0aCBmaWxsPSIjNDE0MDQyIiBkPSJNNDczLjM0LDQyOC42NmMyLjI3MywwLDMuNDEyLDEuMTM5LDMuNDEyLDMuNDExbC0wLjQ4NywxLjk1bC0yNC4zNjgsMzUuMzM0bDI0LjM2OCwzNS41NzcNCgkJYzAuMzIzLDAuOTc2LDAuNDg3LDEuNjI2LDAuNDg3LDEuOTVjMCwyLjI3Mi0xLjEzOSwzLjQxMi0zLjQxMiwzLjQxMmMtMS4zMDIsMC0yLjE5My0wLjQ4OC0yLjY4LTEuNDYzbC0yMi45MDYtMzMuMzg0DQoJCWwtMjIuNjYzLDMzLjM4NGMtMC44MTQsMC45NzUtMS43OSwxLjQ2My0yLjkyNCwxLjQ2M2MtMi4yNzcsMC0zLjQxMS0xLjE0LTMuNDExLTMuNDEyYzAtMC4zMjQsMC4xNTktMC45NzUsMC40ODYtMS45NQ0KCQlsMjQuMzY5LTM1LjU3N2wtMjQuMzY5LTM1LjMzNGwtMC40ODYtMS45NWMwLTIuMjcyLDEuMTM0LTMuNDExLDMuNDExLTMuNDExYzEuMTM0LDAsMi4xMDksMC40ODcsMi45MjQsMS40NjJsMjIuNjYzLDMzLjE0MQ0KCQlsMjIuOTA2LTMzLjE0MUM0NzEuMTQ2LDQyOS4xNDcsNDcyLjAzOCw0MjguNjYsNDczLjM0LDQyOC42NnoiLz4NCjwvZz4NCjxnPg0KCTxnPg0KCQk8ZyBvcGFjaXR5PSIwLjQ1Ij4NCgkJCTxnPg0KCQkJCTxwb2x5Z29uIGZpbGw9IiMwMTAxMDEiIHBvaW50cz0iMTUwLjczNCwxOTYuMjEyIDI1NS45NjksMzQ0LjUwOCAyNTUuOTY5LDI1OC4zODcgCQkJCSIvPg0KCQkJPC9nPg0KCQk8L2c+DQoJCTxnIG9wYWNpdHk9IjAuOCI+DQoJCQk8Zz4NCgkJCQk8cG9seWdvbiBmaWxsPSIjMDEwMTAxIiBwb2ludHM9IjI1NS45NjksMjU4LjM4NyAyNTUuOTY5LDM0NC41MDggMzYxLjI2NywxOTYuMjEyIAkJCQkiLz4NCgkJCTwvZz4NCgkJPC9nPg0KCQk8ZyBvcGFjaXR5PSIwLjYiPg0KCQkJPGc+DQoJCQkJPHBvbHlnb24gZmlsbD0iIzAxMDEwMSIgcG9pbnRzPSIyNTUuOTY5LDEyNi43ODEgMTUwLjczMywxNzQuNjExIDI1NS45NjksMjM2LjgxOCAzNjEuMjA0LDE3NC42MTEgCQkJCSIvPg0KCQkJPC9nPg0KCQk8L2c+DQoJCTxnIG9wYWNpdHk9IjAuNDUiPg0KCQkJPGc+DQoJCQkJPHBvbHlnb24gZmlsbD0iIzAxMDEwMSIgcG9pbnRzPSIxNTAuNzM0LDE3NC42MTIgMjU1Ljk2OSwyMzYuODE4IDI1NS45NjksMTI2Ljc4MiAyNTUuOTY5LDAuMDAxIAkJCQkiLz4NCgkJCTwvZz4NCgkJPC9nPg0KCQk8ZyBvcGFjaXR5PSIwLjgiPg0KCQkJPGc+DQoJCQkJPHBvbHlnb24gZmlsbD0iIzAxMDEwMSIgcG9pbnRzPSIyNTUuOTY5LDAgMjU1Ljk2OSwxMjYuNzgxIDI1NS45NjksMjM2LjgxOCAzNjEuMjA0LDE3NC42MTEgCQkJCSIvPg0KCQkJPC9nPg0KCQk8L2c+DQoJPC9nPg0KPC9nPg0KPC9zdmc+DQo='
let
totalLook
=
yo
`
<div class=
${
css
.
container
}
bg-secondary>
<img class="
${
css
.
im
}
" src="
${
logo
}
" />
</div>
`
for
(
let
i
=
0
;
i
<
this
.
sections
.
length
;
i
++
)
{
totalLook
.
appendChild
(
yo
`
<div class="
${
css
.
section
}
" >
${
this
.
sections
[
i
].
render
()}
</div>
`
)
}
return
totalLook
}
}
.history/src/app/ui/landing-page/landing-page_20190319085038.js
deleted
100644 → 0
View file @
8c65ab16
var
yo
=
require
(
'yo-yo'
)
var
csjs
=
require
(
'csjs-inject'
)
var
css
=
csjs
`
.container {
position : static;
box-sizing : border-box;
display : flex;
flex-direction : column;
flex-wrap : wrap;
justify-content : unset;
align-items : center;
align-content : space-around;
width : 400px;
padding : 20px;
background-color: var(--primary);
font-family : "Lucida Console", Monaco, monospace;
font-size : 16px;
}
.section {
z-index : 10;
}
.span {
font-size : 16px;
cursor : pointer;
color: var(--secondary)
}
.im {
display : inline-block;
max-width : 150px;
max-height : 160px;
width : 100%;
height : 100%;
padding : 20px;
background-color: var(--primary);
}
.im:hover {
}
}
`
import
{
defaultWorkspaces
}
from
'./workspace'
import
{
ApiFactory
}
from
'remix-plugin'
import
Section
from
'./section'
export
class
LandingPage
extends
ApiFactory
{
constructor
(
appManager
,
appStore
)
{
super
()
this
.
sections
=
[]
/* var actions1 = [
{ label: 'New file',
type: 'callback',
payload: () => {
let fileManager = globalRegistry.get('fileexplorerbrowser').api
fileManager.creatNewFile()
}
},
{label: 'Import from GitHub', type: `callback`, payload: () => { this.alert(`-imported from GitHub-`) }},
{label: 'Import from gist', type: `callback`, payload: () => { this.alert(`-imported from gist-`) }}
] */
var
actions3
=
[
{
label
:
'Remix documentation'
,
type
:
`link`
,
payload
:
`https://remix.readthedocs.io/en/latest/#`
},
{
label
:
'GitHub repository'
,
type
:
`link`
,
payload
:
`https://github.com/ethereum/remix-ide`
},
{
label
:
'Access local file system with remixd'
,
type
:
`link`
,
payload
:
`https://remix.readthedocs.io/en/latest/tutorial_remixd_filesystem.html`
},
{
label
:
'npm module for remixd'
,
type
:
`link`
,
payload
:
`https://www.npmjs.com/package/remixd`
},
{
label
:
'Medium posts'
,
type
:
`link`
,
payload
:
`https://medium.com/remix-ide`
},
{
label
:
'Tutorials'
,
type
:
`link`
,
payload
:
`https://github.com/ethereum/remix-workshops`
}
]
var
actions4
=
[
{
label
:
'Remix plugins & modules'
,
type
:
`link`
,
payload
:
`https://github.com/ethereum/remix-plugin/blob/master/readme.md`
},
{
label
:
'Repository on GitHub'
,
type
:
`link`
,
payload
:
`https://github.com/ethereum/remix-plugin`
},
{
label
:
'Examples'
,
type
:
`link`
,
payload
:
`https://github.com/ethereum/remix-plugin/tree/master/examples`
},
{
label
:
'Build a plugin for Remix'
,
type
:
`link`
,
payload
:
`https://medium.com/remix-ide/build-a-plugin-for-remix-90d43b209c5a`
}
]
var
actions5
=
[
{
label
:
'Gitter channel'
,
type
:
`link`
,
payload
:
`https://gitter.im/ethereum/remix`
},
{
label
:
'Stack Overflow'
,
type
:
`link`
,
payload
:
`https://stackoverflow.com/questions/tagged/remix`
},
{
label
:
'Reddit'
,
type
:
`link`
,
payload
:
`https://www.reddit.com/r/ethdev/search?q=remix&restrict_sr=1`
}
]
// var sectionStart = new Section('Start', actions1)
var
sectionLearn
=
new
Section
(
'Learn'
,
actions3
)
var
sectionPlugins
=
new
Section
(
'Plugins'
,
actions4
)
var
sectionHelp
=
new
Section
(
'Help'
,
actions5
)
var
sectionsWorkspaces
=
[]
sectionsWorkspaces
.
push
({
label
:
'Close All Modules'
,
type
:
'callback'
,
payload
:
()
=>
{
appStore
.
getActives
()
.
filter
(({
profile
})
=>
!
profile
.
required
)
.
forEach
((
profile
)
=>
{
appManager
.
deactivateOne
(
profile
.
name
)
})
}})
defaultWorkspaces
(
appManager
).
forEach
((
workspace
)
=>
{
sectionsWorkspaces
.
push
({
label
:
workspace
.
title
,
type
:
'callback'
,
payload
:
()
=>
{
workspace
.
activate
()
}
})
})
var
sectionWorkspace
=
new
Section
(
'Workspaces'
,
sectionsWorkspaces
)
this
.
sections
.
push
(
sectionWorkspace
)
this
.
sections
.
push
(
sectionLearn
)
this
.
sections
.
push
(
sectionPlugins
)
this
.
sections
.
push
(
sectionHelp
)
}
get
profile
()
{
return
{
displayName
:
'home'
,
name
:
'home'
,
methods
:
[],
events
:
[],
description
:
' - '
,
icon
:
'data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiA/PjwhRE9DVFlQRSBzdmcgIFBVQkxJQyAnLS8vVzNDLy9EVEQgU1ZHIDEuMS8vRU4nICAnaHR0cDovL3d3dy53My5vcmcvR3JhcGhpY3MvU1ZHLzEuMS9EVEQvc3ZnMTEuZHRkJz48c3ZnIGVuYWJsZS1iYWNrZ3JvdW5kPSJuZXcgMCAwIDUwIDUwIiBoZWlnaHQ9IjUwcHgiIGlkPSJMYXllcl8xIiB2ZXJzaW9uPSIxLjEiIHZpZXdCb3g9IjAgMCA1MCA1MCIgd2lkdGg9IjUwcHgiIHhtbDpzcGFjZT0icHJlc2VydmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPjxyZWN0IGZpbGw9Im5vbmUiIGhlaWdodD0iNTAiIHdpZHRoPSI1MCIvPjxnPjxwYXRoIGQ9IiAgIE0yNSwxQzExLjc0NSwxLDEsMTEuNzQ1LDEsMjVzMTAuNzQ1LDI0LDI0LDI0czI0LTEwLjc0NSwyNC0yNFMzOC4yNTUsMSwyNSwxTDI1LDF6IiBmaWxsPSJub25lIiBzdHJva2U9IiMwMDAwMDAiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIgc3Ryb2tlLW1pdGVybGltaXQ9IjEwIiBzdHJva2Utd2lkdGg9IjIiLz48L2c+PHBhdGggZD0iICBNNDAuNjk2LDYuODMyYzAsMC0xMy4xNjksOC4yMTItMTEuNTMyLDIyLjMzMmMxLjE0Miw5Ljg1OCwxMS45MzUsMTMuMzc3LDExLjkzNSwxMy4zNzciIGZpbGw9Im5vbmUiIHN0cm9rZT0iIzAwMDAwMCIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIiBzdHJva2UtbWl0ZXJsaW1pdD0iMTAiIHN0cm9rZS13aWR0aD0iMi4wNTgzIi8+PHBhdGggZD0iICBNNy4zODUsOC45MTNjMCwwLDMuMDQxLDYuNDc2LDMuMDQxLDE4LjE2OWMwLDkuMjQ2LTMuNTgzLDEyLjkxMS0zLjU4MywxMi45MTEiIGZpbGw9Im5vbmUiIHN0cm9rZT0iIzAwMDAwMCIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIiBzdHJva2UtbWl0ZXJsaW1pdD0iMTAiIHN0cm9rZS13aWR0aD0iMi4wNTgzIi8+PHBhdGggZD0iICBNMS44NTIsMjIuOTMyYzAsMCw2LjQ5Myw2LjIzMiwyMy4xNDgsNi4yMzJzMjMuNDM4LTYuMjQ2LDIzLjQzOC02LjI0NiIgZmlsbD0ibm9uZSIgc3Ryb2tlPSIjMDAwMDAwIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiIHN0cm9rZS1taXRlcmxpbWl0PSIxMCIgc3Ryb2tlLXdpZHRoPSIyLjA1ODMiLz48cGF0aCBkPSIgIE0yNS42NDgsMS41NDhjMCwwLTYuODk1LDcuOTM1LTYuODk1LDIzLjQ1MkMxOC43NTQsNDAuNTE4LDI1LDQ4LjYyNSwyNSw0OC42MjUiIGZpbGw9Im5vbmUiIHN0cm9rZT0iIzAwMDAwMCIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIiBzdHJva2UtbWl0ZXJsaW1pdD0iMTAiIHN0cm9rZS13aWR0aD0iMi4wNTgzIi8+PC9zdmc+'
,
location
:
'mainPanel'
}
}
render
()
{
let
logo
=
'data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4NCjwhLS0gR2VuZXJhdG9yOiBBZG9iZSBJbGx1c3RyYXRvciAxNi4wLjAsIFNWRyBFeHBvcnQgUGx1Zy1JbiAuIFNWRyBWZXJzaW9uOiA2LjAwIEJ1aWxkIDApICAtLT4NCjwhRE9DVFlQRSBzdmcgUFVCTElDICItLy9XM0MvL0RURCBTVkcgMS4xLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL0dyYXBoaWNzL1NWRy8xLjEvRFREL3N2ZzExLmR0ZCI+DQo8c3ZnIHZlcnNpb249IjEuMSIgaWQ9IkxheWVyXzEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIgeT0iMHB4Ig0KCSB3aWR0aD0iNTEycHgiIGhlaWdodD0iNTEycHgiIHZpZXdCb3g9IjAgMCA1MTIgNTEyIiBlbmFibGUtYmFja2dyb3VuZD0ibmV3IDAgMCA1MTIgNTEyIiB4bWw6c3BhY2U9InByZXNlcnZlIj4NCjxnPg0KCTxwYXRoIGZpbGw9IiM0MTQwNDIiIGQ9Ik03MC41ODIsNDI4LjkwNGMwLjgxMSwwLDEuNjIyLDAuMjg1LDIuNDM3LDAuODUzYzAuODExLDAuNTcxLDEuMjE4LDEuMzQsMS4yMTgsMi4zMTQNCgkJYzAsMi4yNzctMS4wNTksMy40OTYtMy4xNjgsMy42NTZjLTUuMDM4LDAuODE0LTkuMzgxLDIuMzU2LTEzLjAzNyw0LjYzYy0zLjY1NSwyLjI3Ni02LjY2Myw1LjExNy05LjAxNiw4LjUyOA0KCQljLTIuMzU3LDMuNDExLTQuMTA0LDcuMjcyLTUuMjM5LDExLjU3NWMtMS4xMzksNC4zMDctMS43MDYsOC44MTQtMS43MDYsMTMuNTI0djMyLjY1M2MwLDIuMjczLTEuMTM5LDMuNDExLTMuNDEyLDMuNDExDQoJCWMtMi4yNzcsMC0zLjQxMi0xLjEzOC0zLjQxMi0zLjQxMXYtNzQuMzIzYzAtMi4yNzMsMS4xMzUtMy40MTEsMy40MTItMy40MTFjMi4yNzMsMCwzLjQxMiwxLjEzOCwzLjQxMiwzLjQxMXYxNS4xMDgNCgkJYzEuNDYyLTIuNDM3LDMuMjA2LTQuNzUyLDUuMjM5LTYuOTQ1YzIuMDI5LTIuMTkzLDQuMjY0LTQuMTQzLDYuNzAxLTUuODQ4YzIuNDM3LTEuNzA2LDUuMDc2LTMuMDg1LDcuOTE5LTQuMTQzDQoJCUM2NC43NzEsNDI5LjQzMyw2Ny42NTgsNDI4LjkwNCw3MC41ODIsNDI4LjkwNHoiLz4NCgk8cGF0aCBmaWxsPSIjNDE0MDQyIiBkPSJNMTM3Ljc3Myw0MjcuMTk4YzUuNjg1LDAsMTAuOTY2LDEuMTgxLDE1LjgzOSwzLjUzNGM0Ljg3NCwyLjM1Niw5LjA1NSw1LjQ4MiwxMi41NSw5LjM4MQ0KCQljMy40OTIsMy44OTksNi4yMTQsOC40MDcsOC4xNjQsMTMuNTI0YzEuOTQ5LDUuMTE3LDIuOTI0LDEwLjQ0LDIuOTI0LDE1Ljk2MWMwLDAuOTc2LTAuMzY2LDEuNzktMS4wOTcsMi40MzgNCgkJYy0wLjczMSwwLjY1LTEuNTgzLDAuOTc1LTIuNTU5LDAuOTc1aC02Ny45ODdjMC40ODcsNC4yMjYsMS41ODQsOC4yODUsMy4yOSwxMi4xODRjMS43MDYsMy44OTksMy45MzcsNy4zMTIsNi43MDEsMTAuMjM0DQoJCWMyLjc2MSwyLjkyNSw2LjAwOCw1LjI4MSw5Ljc0OCw3LjA2N2MzLjczNSwxLjc4OSw3Ljg3NywyLjY4MSwxMi40MjgsMi42ODFjMTIuMDIxLDAsMjEuMzYtNC43OSwyOC4wMjMtMTQuMzc3DQoJCWMwLjY0Ny0xLjEzNiwxLjYyMi0xLjcwNiwyLjkyNC0xLjcwNmMyLjI3MywwLDMuNDEyLDEuMTM5LDMuNDEyLDMuNDEyYzAsMC4xNjMtMC4xNjQsMC43My0wLjQ4NywxLjcwNQ0KCQljLTMuNDEyLDYuMDEzLTguMjA1LDEwLjQ3OS0xNC4zNzcsMTMuNDAyYy02LjE3NiwyLjkyNC0xMi42NzEsNC4zODctMTkuNDk1LDQuMzg3Yy01LjY4OSwwLTEwLjkyOC0xLjE4MS0xNS43MTgtMy41MzMNCgkJYy00Ljc5My0yLjM1NC04LjkzNi01LjQ4My0xMi40MjgtOS4zODJjLTMuNDk1LTMuODk5LTYuMjE0LTguNDA3LTguMTYzLTEzLjUyNGMtMS45NS01LjExOC0yLjkyNC0xMC40MzctMi45MjQtMTUuOTYyDQoJCWMwLTUuNTIxLDAuOTc1LTEwLjg0NCwyLjkyNC0xNS45NjFjMS45NDktNS4xMTcsNC42NjgtOS42MjUsOC4xNjMtMTMuNTI0YzMuNDkyLTMuODk4LDcuNjM0LTcuMDI0LDEyLjQyOC05LjM4MQ0KCQlDMTI2Ljg0Niw0MjguMzc5LDEzMi4wODQsNDI3LjE5OCwxMzcuNzczLDQyNy4xOTh6IE0xNjkuOTQsNDY2LjE4OGMtMC4zMjgtNC4yMjMtMS4zNDEtOC4yODUtMy4wNDYtMTIuMTg0DQoJCWMtMS43MDYtMy44OTktMy45ODItNy4zMTItNi44MjMtMTAuMjM1Yy0yLjg0NC0yLjkyNC02LjE3NS01LjI3Ny05Ljk5MS03LjA2N2MtMy44MTktMS43ODUtNy45Mi0yLjY4LTEyLjMwNi0yLjY4DQoJCWMtNC41NSwwLTguNjkyLDAuODk1LTEyLjQyOCwyLjY4Yy0zLjczOSwxLjc5LTYuOTg3LDQuMTQ0LTkuNzQ4LDcuMDY3Yy0yLjc2NCwyLjkyNC00Ljk5NSw2LjMzNi02LjcwMSwxMC4yMzUNCgkJYy0xLjcwNiwzLjg5OC0yLjgwMiw3Ljk2MS0zLjI5LDEyLjE4NEgxNjkuOTR6Ii8+DQoJPHBhdGggZmlsbD0iIzQxNDA0MiIgZD0iTTMwNC42OSw0MjcuNDQxYzUuMDM0LDAsOS41MDQsMS4wMTgsMTMuNDAyLDMuMDQ3YzMuODk5LDIuMDMzLDcuMTg5LDQuNjcyLDkuODcsNy45Mg0KCQljMi42OCwzLjI1MSw0LjcwOSw3LjA2Niw2LjA5MiwxMS40NTJjMS4zNzksNC4zODcsMi4wNyw4Ljg1NiwyLjA3LDEzLjQwMnY0My42MmMwLDAuOTc1LTAuMzY1LDEuNzg5LTEuMDk3LDIuNDM4DQoJCWMtMC43MywwLjY0Ni0xLjUwMywwLjk3NS0yLjMxMywwLjk3NWMtMi4yNzYsMC0zLjQxMi0xLjE0LTMuNDEyLTMuNDEydi00My42MmMwLTMuNTcxLTAuNTI5LTcuMTA0LTEuNTg0LTEwLjYNCgkJYy0xLjA1OS0zLjQ5MS0yLjYwMi02LjYxOC00LjYzLTkuMzgyYy0yLjAzMy0yLjc2MS00LjU5Mi00Ljk1My03LjY3Ny02LjU4Yy0zLjA4OC0xLjYyMS02LjY2Mi0yLjQzNi0xMC43MjItMi40MzYNCgkJYy01LjIsMC05LjU4NywxLjIxOC0xMy4xNTksMy42NTRjLTMuNTc0LDIuNDM4LTYuNDU3LDUuNTY2LTguNjUsOS4zODJjLTIuMTkzLDMuODE5LTMuODE4LDguMDQyLTQuODc0LDEyLjY3Mg0KCQljLTEuMDU5LDQuNjMtMS41ODQsOS4wNTgtMS41ODQsMTMuMjh2MzMuNjI5YzAsMC45NzUtMC4zNjUsMS43ODktMS4wOTYsMi40MzhjLTAuNzMxLDAuNjQ2LTEuNTA1LDAuOTc1LTIuMzE1LDAuOTc1DQoJCWMtMi4yNzYsMC0zLjQxMS0xLjE0LTMuNDExLTMuNDEydi00My42MmMwLTMuNTcxLTAuNTMtNy4xMDQtMS41ODUtMTAuNmMtMS4wNTgtMy40OTEtMi42MDEtNi42MTgtNC42MjktOS4zODINCgkJYy0yLjAzNC0yLjc2MS00LjU5Mi00Ljk1My03LjY3Ny02LjU4Yy0zLjA4Ny0xLjYyMS02LjY2My0yLjQzNi0xMC43MjItMi40MzZjLTUuMDM3LDAtOS4zNDQsMC44OTUtMTIuOTE1LDIuNjgNCgkJYy0zLjU3NSwxLjc5LTYuNTQyLDQuMjY2LTguODk1LDcuNDMzYy0yLjM1NywzLjE2Ny00LjA2Myw2Ljk0NC01LjExNywxMS4zMzFjLTEuMDU5LDQuMzg2LTEuNTg0LDkuMS0xLjU4NCwxNC4xMzR2My44OTl2MC4yNDMNCgkJdjMyLjg5N2MwLDIuMjcyLTEuMTM4LDMuNDEyLTMuNDEyLDMuNDEyYy0yLjI3NiwwLTMuNDExLTEuMTQtMy40MTEtMy40MTJ2LTc0LjU2N2MwLTIuMjczLDEuMTM1LTMuNDExLDMuNDExLTMuNDExDQoJCWMyLjI3MywwLDMuNDEyLDEuMTM4LDMuNDEyLDMuNDExdjEyLjQyOGMyLjkyNC01LjE5Nyw2Ljg2MS05LjM4MiwxMS44MTktMTIuNTVjNC45NTQtMy4xNjcsMTAuNTE3LTQuNzUyLDE2LjY5Mi00Ljc1Mg0KCQljNi45ODMsMCwxMi45OTUsMS45OTEsMTguMDMyLDUuOTdjNS4wMzMsMy45ODMsOC42ODgsOS4yMjMsMTAuOTY2LDE1LjcxOWMyLjc2LTYuMzM2LDYuNzM5LTExLjUzMywxMS45NC0xNS41OTYNCgkJQzI5MS4xMjUsNDI5LjQ3NSwyOTcuMzgsNDI3LjQ0MSwzMDQuNjksNDI3LjQ0MXoiLz4NCgk8cGF0aCBmaWxsPSIjNDE0MDQyIiBkPSJNMzc4Ljc1Myw0MjkuMzkyYzAuODExLDAsMS41ODQsMC4zNjUsMi4zMTQsMS4wOTdjMC43MzEsMC43MywxLjA5NywxLjUwNCwxLjA5NywyLjMxNHY3NC4wOA0KCQljMCwwLjgxNC0wLjM2NSwxLjU4NC0xLjA5NywyLjMxNWMtMC43MywwLjczLTEuNTA0LDEuMDk3LTIuMzE0LDEuMDk3Yy0wLjk3NSwwLTEuNzktMC4zNjYtMi40MzgtMS4wOTcNCgkJYy0wLjY1LTAuNzMxLTAuOTc1LTEuNTAxLTAuOTc1LTIuMzE1di03NC4wOGMwLTAuODExLDAuMzI0LTEuNTg0LDAuOTc1LTIuMzE0QzM3Ni45NjMsNDI5Ljc1NywzNzcuNzc4LDQyOS4zOTIsMzc4Ljc1Myw0MjkuMzkyeiINCgkJLz4NCgk8cGF0aCBmaWxsPSIjNDE0MDQyIiBkPSJNNDczLjM0LDQyOC42NmMyLjI3MywwLDMuNDEyLDEuMTM5LDMuNDEyLDMuNDExbC0wLjQ4NywxLjk1bC0yNC4zNjgsMzUuMzM0bDI0LjM2OCwzNS41NzcNCgkJYzAuMzIzLDAuOTc2LDAuNDg3LDEuNjI2LDAuNDg3LDEuOTVjMCwyLjI3Mi0xLjEzOSwzLjQxMi0zLjQxMiwzLjQxMmMtMS4zMDIsMC0yLjE5My0wLjQ4OC0yLjY4LTEuNDYzbC0yMi45MDYtMzMuMzg0DQoJCWwtMjIuNjYzLDMzLjM4NGMtMC44MTQsMC45NzUtMS43OSwxLjQ2My0yLjkyNCwxLjQ2M2MtMi4yNzcsMC0zLjQxMS0xLjE0LTMuNDExLTMuNDEyYzAtMC4zMjQsMC4xNTktMC45NzUsMC40ODYtMS45NQ0KCQlsMjQuMzY5LTM1LjU3N2wtMjQuMzY5LTM1LjMzNGwtMC40ODYtMS45NWMwLTIuMjcyLDEuMTM0LTMuNDExLDMuNDExLTMuNDExYzEuMTM0LDAsMi4xMDksMC40ODcsMi45MjQsMS40NjJsMjIuNjYzLDMzLjE0MQ0KCQlsMjIuOTA2LTMzLjE0MUM0NzEuMTQ2LDQyOS4xNDcsNDcyLjAzOCw0MjguNjYsNDczLjM0LDQyOC42NnoiLz4NCjwvZz4NCjxnPg0KCTxnPg0KCQk8ZyBvcGFjaXR5PSIwLjQ1Ij4NCgkJCTxnPg0KCQkJCTxwb2x5Z29uIGZpbGw9IiMwMTAxMDEiIHBvaW50cz0iMTUwLjczNCwxOTYuMjEyIDI1NS45NjksMzQ0LjUwOCAyNTUuOTY5LDI1OC4zODcgCQkJCSIvPg0KCQkJPC9nPg0KCQk8L2c+DQoJCTxnIG9wYWNpdHk9IjAuOCI+DQoJCQk8Zz4NCgkJCQk8cG9seWdvbiBmaWxsPSIjMDEwMTAxIiBwb2ludHM9IjI1NS45NjksMjU4LjM4NyAyNTUuOTY5LDM0NC41MDggMzYxLjI2NywxOTYuMjEyIAkJCQkiLz4NCgkJCTwvZz4NCgkJPC9nPg0KCQk8ZyBvcGFjaXR5PSIwLjYiPg0KCQkJPGc+DQoJCQkJPHBvbHlnb24gZmlsbD0iIzAxMDEwMSIgcG9pbnRzPSIyNTUuOTY5LDEyNi43ODEgMTUwLjczMywxNzQuNjExIDI1NS45NjksMjM2LjgxOCAzNjEuMjA0LDE3NC42MTEgCQkJCSIvPg0KCQkJPC9nPg0KCQk8L2c+DQoJCTxnIG9wYWNpdHk9IjAuNDUiPg0KCQkJPGc+DQoJCQkJPHBvbHlnb24gZmlsbD0iIzAxMDEwMSIgcG9pbnRzPSIxNTAuNzM0LDE3NC42MTIgMjU1Ljk2OSwyMzYuODE4IDI1NS45NjksMTI2Ljc4MiAyNTUuOTY5LDAuMDAxIAkJCQkiLz4NCgkJCTwvZz4NCgkJPC9nPg0KCQk8ZyBvcGFjaXR5PSIwLjgiPg0KCQkJPGc+DQoJCQkJPHBvbHlnb24gZmlsbD0iIzAxMDEwMSIgcG9pbnRzPSIyNTUuOTY5LDAgMjU1Ljk2OSwxMjYuNzgxIDI1NS45NjksMjM2LjgxOCAzNjEuMjA0LDE3NC42MTEgCQkJCSIvPg0KCQkJPC9nPg0KCQk8L2c+DQoJPC9nPg0KPC9nPg0KPC9zdmc+DQo='
let
totalLook
=
yo
`
<div class=
${
css
.
container
}
bg-secondary>
<img class="
${
css
.
im
}
" src="
${
logo
}
" />
</div>
`
for
(
let
i
=
0
;
i
<
this
.
sections
.
length
;
i
++
)
{
totalLook
.
appendChild
(
yo
`
<div class="
${
css
.
section
}
" >
${
this
.
sections
[
i
].
render
()}
</div>
`
)
}
return
totalLook
}
}
.history/src/app/ui/landing-page/landing-page_20190319085235.js
deleted
100644 → 0
View file @
8c65ab16
var
yo
=
require
(
'yo-yo'
)
var
csjs
=
require
(
'csjs-inject'
)
var
css
=
csjs
`
.container {
position : static;
box-sizing : border-box;
display : flex;
flex-direction : column;
flex-wrap : wrap;
justify-content : unset;
align-items : center;
align-content : space-around;
width : 400px;
padding : 20px;
background-color: var(--primary);
font-family : "Lucida Console", Monaco, monospace;
font-size : 16px;
}
.section {
z-index : 10;
}
.span {
font-size : 16px;
cursor : pointer;
color: var(--secondary)
}
.im {
display : inline-block;
max-width : 150px;
max-height : 160px;
width : 100%;
height : 100%;
padding : 20px;
background-color: var(--primary);
}
.im:hover {
}
}
`
import
{
defaultWorkspaces
}
from
'./workspace'
import
{
ApiFactory
}
from
'remix-plugin'
import
Section
from
'./section'
export
class
LandingPage
extends
ApiFactory
{
constructor
(
appManager
,
appStore
)
{
super
()
this
.
sections
=
[]
/* var actions1 = [
{ label: 'New file',
type: 'callback',
payload: () => {
let fileManager = globalRegistry.get('fileexplorerbrowser').api
fileManager.creatNewFile()
}
},
{label: 'Import from GitHub', type: `callback`, payload: () => { this.alert(`-imported from GitHub-`) }},
{label: 'Import from gist', type: `callback`, payload: () => { this.alert(`-imported from gist-`) }}
] */
var
actions3
=
[
{
label
:
'Remix documentation'
,
type
:
`link`
,
payload
:
`https://remix.readthedocs.io/en/latest/#`
},
{
label
:
'GitHub repository'
,
type
:
`link`
,
payload
:
`https://github.com/ethereum/remix-ide`
},
{
label
:
'Access local file system with remixd'
,
type
:
`link`
,
payload
:
`https://remix.readthedocs.io/en/latest/tutorial_remixd_filesystem.html`
},
{
label
:
'npm module for remixd'
,
type
:
`link`
,
payload
:
`https://www.npmjs.com/package/remixd`
},
{
label
:
'Medium posts'
,
type
:
`link`
,
payload
:
`https://medium.com/remix-ide`
},
{
label
:
'Tutorials'
,
type
:
`link`
,
payload
:
`https://github.com/ethereum/remix-workshops`
}
]
var
actions4
=
[
{
label
:
'Remix plugins & modules'
,
type
:
`link`
,
payload
:
`https://github.com/ethereum/remix-plugin/blob/master/readme.md`
},
{
label
:
'Repository on GitHub'
,
type
:
`link`
,
payload
:
`https://github.com/ethereum/remix-plugin`
},
{
label
:
'Examples'
,
type
:
`link`
,
payload
:
`https://github.com/ethereum/remix-plugin/tree/master/examples`
},
{
label
:
'Build a plugin for Remix'
,
type
:
`link`
,
payload
:
`https://medium.com/remix-ide/build-a-plugin-for-remix-90d43b209c5a`
}
]
var
actions5
=
[
{
label
:
'Gitter channel'
,
type
:
`link`
,
payload
:
`https://gitter.im/ethereum/remix`
},
{
label
:
'Stack Overflow'
,
type
:
`link`
,
payload
:
`https://stackoverflow.com/questions/tagged/remix`
},
{
label
:
'Reddit'
,
type
:
`link`
,
payload
:
`https://www.reddit.com/r/ethdev/search?q=remix&restrict_sr=1`
}
]
// var sectionStart = new Section('Start', actions1)
var
sectionLearn
=
new
Section
(
'Learn'
,
actions3
)
var
sectionPlugins
=
new
Section
(
'Plugins'
,
actions4
)
var
sectionHelp
=
new
Section
(
'Help'
,
actions5
)
var
sectionsWorkspaces
=
[]
sectionsWorkspaces
.
push
({
label
:
'Close All Modules'
,
type
:
'callback'
,
payload
:
()
=>
{
appStore
.
getActives
()
.
filter
(({
profile
})
=>
!
profile
.
required
)
.
forEach
((
profile
)
=>
{
appManager
.
deactivateOne
(
profile
.
name
)
})
}})
defaultWorkspaces
(
appManager
).
forEach
((
workspace
)
=>
{
sectionsWorkspaces
.
push
({
label
:
workspace
.
title
,
type
:
'callback'
,
payload
:
()
=>
{
workspace
.
activate
()
}
})
})
var
sectionWorkspace
=
new
Section
(
'Workspaces'
,
sectionsWorkspaces
)
this
.
sections
.
push
(
sectionWorkspace
)
this
.
sections
.
push
(
sectionLearn
)
this
.
sections
.
push
(
sectionPlugins
)
this
.
sections
.
push
(
sectionHelp
)
}
get
profile
()
{
return
{
displayName
:
'home'
,
name
:
'home'
,
methods
:
[],
events
:
[],
description
:
' - '
,
icon
:
'data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiA/PjwhRE9DVFlQRSBzdmcgIFBVQkxJQyAnLS8vVzNDLy9EVEQgU1ZHIDEuMS8vRU4nICAnaHR0cDovL3d3dy53My5vcmcvR3JhcGhpY3MvU1ZHLzEuMS9EVEQvc3ZnMTEuZHRkJz48c3ZnIGVuYWJsZS1iYWNrZ3JvdW5kPSJuZXcgMCAwIDUwIDUwIiBoZWlnaHQ9IjUwcHgiIGlkPSJMYXllcl8xIiB2ZXJzaW9uPSIxLjEiIHZpZXdCb3g9IjAgMCA1MCA1MCIgd2lkdGg9IjUwcHgiIHhtbDpzcGFjZT0icHJlc2VydmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPjxyZWN0IGZpbGw9Im5vbmUiIGhlaWdodD0iNTAiIHdpZHRoPSI1MCIvPjxnPjxwYXRoIGQ9IiAgIE0yNSwxQzExLjc0NSwxLDEsMTEuNzQ1LDEsMjVzMTAuNzQ1LDI0LDI0LDI0czI0LTEwLjc0NSwyNC0yNFMzOC4yNTUsMSwyNSwxTDI1LDF6IiBmaWxsPSJub25lIiBzdHJva2U9IiMwMDAwMDAiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIgc3Ryb2tlLW1pdGVybGltaXQ9IjEwIiBzdHJva2Utd2lkdGg9IjIiLz48L2c+PHBhdGggZD0iICBNNDAuNjk2LDYuODMyYzAsMC0xMy4xNjksOC4yMTItMTEuNTMyLDIyLjMzMmMxLjE0Miw5Ljg1OCwxMS45MzUsMTMuMzc3LDExLjkzNSwxMy4zNzciIGZpbGw9Im5vbmUiIHN0cm9rZT0iIzAwMDAwMCIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIiBzdHJva2UtbWl0ZXJsaW1pdD0iMTAiIHN0cm9rZS13aWR0aD0iMi4wNTgzIi8+PHBhdGggZD0iICBNNy4zODUsOC45MTNjMCwwLDMuMDQxLDYuNDc2LDMuMDQxLDE4LjE2OWMwLDkuMjQ2LTMuNTgzLDEyLjkxMS0zLjU4MywxMi45MTEiIGZpbGw9Im5vbmUiIHN0cm9rZT0iIzAwMDAwMCIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIiBzdHJva2UtbWl0ZXJsaW1pdD0iMTAiIHN0cm9rZS13aWR0aD0iMi4wNTgzIi8+PHBhdGggZD0iICBNMS44NTIsMjIuOTMyYzAsMCw2LjQ5Myw2LjIzMiwyMy4xNDgsNi4yMzJzMjMuNDM4LTYuMjQ2LDIzLjQzOC02LjI0NiIgZmlsbD0ibm9uZSIgc3Ryb2tlPSIjMDAwMDAwIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiIHN0cm9rZS1taXRlcmxpbWl0PSIxMCIgc3Ryb2tlLXdpZHRoPSIyLjA1ODMiLz48cGF0aCBkPSIgIE0yNS42NDgsMS41NDhjMCwwLTYuODk1LDcuOTM1LTYuODk1LDIzLjQ1MkMxOC43NTQsNDAuNTE4LDI1LDQ4LjYyNSwyNSw0OC42MjUiIGZpbGw9Im5vbmUiIHN0cm9rZT0iIzAwMDAwMCIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIiBzdHJva2UtbWl0ZXJsaW1pdD0iMTAiIHN0cm9rZS13aWR0aD0iMi4wNTgzIi8+PC9zdmc+'
,
location
:
'mainPanel'
}
}
render
()
{
let
logo
=
'data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4NCjwhLS0gR2VuZXJhdG9yOiBBZG9iZSBJbGx1c3RyYXRvciAxNi4wLjAsIFNWRyBFeHBvcnQgUGx1Zy1JbiAuIFNWRyBWZXJzaW9uOiA2LjAwIEJ1aWxkIDApICAtLT4NCjwhRE9DVFlQRSBzdmcgUFVCTElDICItLy9XM0MvL0RURCBTVkcgMS4xLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL0dyYXBoaWNzL1NWRy8xLjEvRFREL3N2ZzExLmR0ZCI+DQo8c3ZnIHZlcnNpb249IjEuMSIgaWQ9IkxheWVyXzEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIgeT0iMHB4Ig0KCSB3aWR0aD0iNTEycHgiIGhlaWdodD0iNTEycHgiIHZpZXdCb3g9IjAgMCA1MTIgNTEyIiBlbmFibGUtYmFja2dyb3VuZD0ibmV3IDAgMCA1MTIgNTEyIiB4bWw6c3BhY2U9InByZXNlcnZlIj4NCjxnPg0KCTxwYXRoIGZpbGw9IiM0MTQwNDIiIGQ9Ik03MC41ODIsNDI4LjkwNGMwLjgxMSwwLDEuNjIyLDAuMjg1LDIuNDM3LDAuODUzYzAuODExLDAuNTcxLDEuMjE4LDEuMzQsMS4yMTgsMi4zMTQNCgkJYzAsMi4yNzctMS4wNTksMy40OTYtMy4xNjgsMy42NTZjLTUuMDM4LDAuODE0LTkuMzgxLDIuMzU2LTEzLjAzNyw0LjYzYy0zLjY1NSwyLjI3Ni02LjY2Myw1LjExNy05LjAxNiw4LjUyOA0KCQljLTIuMzU3LDMuNDExLTQuMTA0LDcuMjcyLTUuMjM5LDExLjU3NWMtMS4xMzksNC4zMDctMS43MDYsOC44MTQtMS43MDYsMTMuNTI0djMyLjY1M2MwLDIuMjczLTEuMTM5LDMuNDExLTMuNDEyLDMuNDExDQoJCWMtMi4yNzcsMC0zLjQxMi0xLjEzOC0zLjQxMi0zLjQxMXYtNzQuMzIzYzAtMi4yNzMsMS4xMzUtMy40MTEsMy40MTItMy40MTFjMi4yNzMsMCwzLjQxMiwxLjEzOCwzLjQxMiwzLjQxMXYxNS4xMDgNCgkJYzEuNDYyLTIuNDM3LDMuMjA2LTQuNzUyLDUuMjM5LTYuOTQ1YzIuMDI5LTIuMTkzLDQuMjY0LTQuMTQzLDYuNzAxLTUuODQ4YzIuNDM3LTEuNzA2LDUuMDc2LTMuMDg1LDcuOTE5LTQuMTQzDQoJCUM2NC43NzEsNDI5LjQzMyw2Ny42NTgsNDI4LjkwNCw3MC41ODIsNDI4LjkwNHoiLz4NCgk8cGF0aCBmaWxsPSIjNDE0MDQyIiBkPSJNMTM3Ljc3Myw0MjcuMTk4YzUuNjg1LDAsMTAuOTY2LDEuMTgxLDE1LjgzOSwzLjUzNGM0Ljg3NCwyLjM1Niw5LjA1NSw1LjQ4MiwxMi41NSw5LjM4MQ0KCQljMy40OTIsMy44OTksNi4yMTQsOC40MDcsOC4xNjQsMTMuNTI0YzEuOTQ5LDUuMTE3LDIuOTI0LDEwLjQ0LDIuOTI0LDE1Ljk2MWMwLDAuOTc2LTAuMzY2LDEuNzktMS4wOTcsMi40MzgNCgkJYy0wLjczMSwwLjY1LTEuNTgzLDAuOTc1LTIuNTU5LDAuOTc1aC02Ny45ODdjMC40ODcsNC4yMjYsMS41ODQsOC4yODUsMy4yOSwxMi4xODRjMS43MDYsMy44OTksMy45MzcsNy4zMTIsNi43MDEsMTAuMjM0DQoJCWMyLjc2MSwyLjkyNSw2LjAwOCw1LjI4MSw5Ljc0OCw3LjA2N2MzLjczNSwxLjc4OSw3Ljg3NywyLjY4MSwxMi40MjgsMi42ODFjMTIuMDIxLDAsMjEuMzYtNC43OSwyOC4wMjMtMTQuMzc3DQoJCWMwLjY0Ny0xLjEzNiwxLjYyMi0xLjcwNiwyLjkyNC0xLjcwNmMyLjI3MywwLDMuNDEyLDEuMTM5LDMuNDEyLDMuNDEyYzAsMC4xNjMtMC4xNjQsMC43My0wLjQ4NywxLjcwNQ0KCQljLTMuNDEyLDYuMDEzLTguMjA1LDEwLjQ3OS0xNC4zNzcsMTMuNDAyYy02LjE3NiwyLjkyNC0xMi42NzEsNC4zODctMTkuNDk1LDQuMzg3Yy01LjY4OSwwLTEwLjkyOC0xLjE4MS0xNS43MTgtMy41MzMNCgkJYy00Ljc5My0yLjM1NC04LjkzNi01LjQ4My0xMi40MjgtOS4zODJjLTMuNDk1LTMuODk5LTYuMjE0LTguNDA3LTguMTYzLTEzLjUyNGMtMS45NS01LjExOC0yLjkyNC0xMC40MzctMi45MjQtMTUuOTYyDQoJCWMwLTUuNTIxLDAuOTc1LTEwLjg0NCwyLjkyNC0xNS45NjFjMS45NDktNS4xMTcsNC42NjgtOS42MjUsOC4xNjMtMTMuNTI0YzMuNDkyLTMuODk4LDcuNjM0LTcuMDI0LDEyLjQyOC05LjM4MQ0KCQlDMTI2Ljg0Niw0MjguMzc5LDEzMi4wODQsNDI3LjE5OCwxMzcuNzczLDQyNy4xOTh6IE0xNjkuOTQsNDY2LjE4OGMtMC4zMjgtNC4yMjMtMS4zNDEtOC4yODUtMy4wNDYtMTIuMTg0DQoJCWMtMS43MDYtMy44OTktMy45ODItNy4zMTItNi44MjMtMTAuMjM1Yy0yLjg0NC0yLjkyNC02LjE3NS01LjI3Ny05Ljk5MS03LjA2N2MtMy44MTktMS43ODUtNy45Mi0yLjY4LTEyLjMwNi0yLjY4DQoJCWMtNC41NSwwLTguNjkyLDAuODk1LTEyLjQyOCwyLjY4Yy0zLjczOSwxLjc5LTYuOTg3LDQuMTQ0LTkuNzQ4LDcuMDY3Yy0yLjc2NCwyLjkyNC00Ljk5NSw2LjMzNi02LjcwMSwxMC4yMzUNCgkJYy0xLjcwNiwzLjg5OC0yLjgwMiw3Ljk2MS0zLjI5LDEyLjE4NEgxNjkuOTR6Ii8+DQoJPHBhdGggZmlsbD0iIzQxNDA0MiIgZD0iTTMwNC42OSw0MjcuNDQxYzUuMDM0LDAsOS41MDQsMS4wMTgsMTMuNDAyLDMuMDQ3YzMuODk5LDIuMDMzLDcuMTg5LDQuNjcyLDkuODcsNy45Mg0KCQljMi42OCwzLjI1MSw0LjcwOSw3LjA2Niw2LjA5MiwxMS40NTJjMS4zNzksNC4zODcsMi4wNyw4Ljg1NiwyLjA3LDEzLjQwMnY0My42MmMwLDAuOTc1LTAuMzY1LDEuNzg5LTEuMDk3LDIuNDM4DQoJCWMtMC43MywwLjY0Ni0xLjUwMywwLjk3NS0yLjMxMywwLjk3NWMtMi4yNzYsMC0zLjQxMi0xLjE0LTMuNDEyLTMuNDEydi00My42MmMwLTMuNTcxLTAuNTI5LTcuMTA0LTEuNTg0LTEwLjYNCgkJYy0xLjA1OS0zLjQ5MS0yLjYwMi02LjYxOC00LjYzLTkuMzgyYy0yLjAzMy0yLjc2MS00LjU5Mi00Ljk1My03LjY3Ny02LjU4Yy0zLjA4OC0xLjYyMS02LjY2Mi0yLjQzNi0xMC43MjItMi40MzYNCgkJYy01LjIsMC05LjU4NywxLjIxOC0xMy4xNTksMy42NTRjLTMuNTc0LDIuNDM4LTYuNDU3LDUuNTY2LTguNjUsOS4zODJjLTIuMTkzLDMuODE5LTMuODE4LDguMDQyLTQuODc0LDEyLjY3Mg0KCQljLTEuMDU5LDQuNjMtMS41ODQsOS4wNTgtMS41ODQsMTMuMjh2MzMuNjI5YzAsMC45NzUtMC4zNjUsMS43ODktMS4wOTYsMi40MzhjLTAuNzMxLDAuNjQ2LTEuNTA1LDAuOTc1LTIuMzE1LDAuOTc1DQoJCWMtMi4yNzYsMC0zLjQxMS0xLjE0LTMuNDExLTMuNDEydi00My42MmMwLTMuNTcxLTAuNTMtNy4xMDQtMS41ODUtMTAuNmMtMS4wNTgtMy40OTEtMi42MDEtNi42MTgtNC42MjktOS4zODINCgkJYy0yLjAzNC0yLjc2MS00LjU5Mi00Ljk1My03LjY3Ny02LjU4Yy0zLjA4Ny0xLjYyMS02LjY2My0yLjQzNi0xMC43MjItMi40MzZjLTUuMDM3LDAtOS4zNDQsMC44OTUtMTIuOTE1LDIuNjgNCgkJYy0zLjU3NSwxLjc5LTYuNTQyLDQuMjY2LTguODk1LDcuNDMzYy0yLjM1NywzLjE2Ny00LjA2Myw2Ljk0NC01LjExNywxMS4zMzFjLTEuMDU5LDQuMzg2LTEuNTg0LDkuMS0xLjU4NCwxNC4xMzR2My44OTl2MC4yNDMNCgkJdjMyLjg5N2MwLDIuMjcyLTEuMTM4LDMuNDEyLTMuNDEyLDMuNDEyYy0yLjI3NiwwLTMuNDExLTEuMTQtMy40MTEtMy40MTJ2LTc0LjU2N2MwLTIuMjczLDEuMTM1LTMuNDExLDMuNDExLTMuNDExDQoJCWMyLjI3MywwLDMuNDEyLDEuMTM4LDMuNDEyLDMuNDExdjEyLjQyOGMyLjkyNC01LjE5Nyw2Ljg2MS05LjM4MiwxMS44MTktMTIuNTVjNC45NTQtMy4xNjcsMTAuNTE3LTQuNzUyLDE2LjY5Mi00Ljc1Mg0KCQljNi45ODMsMCwxMi45OTUsMS45OTEsMTguMDMyLDUuOTdjNS4wMzMsMy45ODMsOC42ODgsOS4yMjMsMTAuOTY2LDE1LjcxOWMyLjc2LTYuMzM2LDYuNzM5LTExLjUzMywxMS45NC0xNS41OTYNCgkJQzI5MS4xMjUsNDI5LjQ3NSwyOTcuMzgsNDI3LjQ0MSwzMDQuNjksNDI3LjQ0MXoiLz4NCgk8cGF0aCBmaWxsPSIjNDE0MDQyIiBkPSJNMzc4Ljc1Myw0MjkuMzkyYzAuODExLDAsMS41ODQsMC4zNjUsMi4zMTQsMS4wOTdjMC43MzEsMC43MywxLjA5NywxLjUwNCwxLjA5NywyLjMxNHY3NC4wOA0KCQljMCwwLjgxNC0wLjM2NSwxLjU4NC0xLjA5NywyLjMxNWMtMC43MywwLjczLTEuNTA0LDEuMDk3LTIuMzE0LDEuMDk3Yy0wLjk3NSwwLTEuNzktMC4zNjYtMi40MzgtMS4wOTcNCgkJYy0wLjY1LTAuNzMxLTAuOTc1LTEuNTAxLTAuOTc1LTIuMzE1di03NC4wOGMwLTAuODExLDAuMzI0LTEuNTg0LDAuOTc1LTIuMzE0QzM3Ni45NjMsNDI5Ljc1NywzNzcuNzc4LDQyOS4zOTIsMzc4Ljc1Myw0MjkuMzkyeiINCgkJLz4NCgk8cGF0aCBmaWxsPSIjNDE0MDQyIiBkPSJNNDczLjM0LDQyOC42NmMyLjI3MywwLDMuNDEyLDEuMTM5LDMuNDEyLDMuNDExbC0wLjQ4NywxLjk1bC0yNC4zNjgsMzUuMzM0bDI0LjM2OCwzNS41NzcNCgkJYzAuMzIzLDAuOTc2LDAuNDg3LDEuNjI2LDAuNDg3LDEuOTVjMCwyLjI3Mi0xLjEzOSwzLjQxMi0zLjQxMiwzLjQxMmMtMS4zMDIsMC0yLjE5My0wLjQ4OC0yLjY4LTEuNDYzbC0yMi45MDYtMzMuMzg0DQoJCWwtMjIuNjYzLDMzLjM4NGMtMC44MTQsMC45NzUtMS43OSwxLjQ2My0yLjkyNCwxLjQ2M2MtMi4yNzcsMC0zLjQxMS0xLjE0LTMuNDExLTMuNDEyYzAtMC4zMjQsMC4xNTktMC45NzUsMC40ODYtMS45NQ0KCQlsMjQuMzY5LTM1LjU3N2wtMjQuMzY5LTM1LjMzNGwtMC40ODYtMS45NWMwLTIuMjcyLDEuMTM0LTMuNDExLDMuNDExLTMuNDExYzEuMTM0LDAsMi4xMDksMC40ODcsMi45MjQsMS40NjJsMjIuNjYzLDMzLjE0MQ0KCQlsMjIuOTA2LTMzLjE0MUM0NzEuMTQ2LDQyOS4xNDcsNDcyLjAzOCw0MjguNjYsNDczLjM0LDQyOC42NnoiLz4NCjwvZz4NCjxnPg0KCTxnPg0KCQk8ZyBvcGFjaXR5PSIwLjQ1Ij4NCgkJCTxnPg0KCQkJCTxwb2x5Z29uIGZpbGw9IiMwMTAxMDEiIHBvaW50cz0iMTUwLjczNCwxOTYuMjEyIDI1NS45NjksMzQ0LjUwOCAyNTUuOTY5LDI1OC4zODcgCQkJCSIvPg0KCQkJPC9nPg0KCQk8L2c+DQoJCTxnIG9wYWNpdHk9IjAuOCI+DQoJCQk8Zz4NCgkJCQk8cG9seWdvbiBmaWxsPSIjMDEwMTAxIiBwb2ludHM9IjI1NS45NjksMjU4LjM4NyAyNTUuOTY5LDM0NC41MDggMzYxLjI2NywxOTYuMjEyIAkJCQkiLz4NCgkJCTwvZz4NCgkJPC9nPg0KCQk8ZyBvcGFjaXR5PSIwLjYiPg0KCQkJPGc+DQoJCQkJPHBvbHlnb24gZmlsbD0iIzAxMDEwMSIgcG9pbnRzPSIyNTUuOTY5LDEyNi43ODEgMTUwLjczMywxNzQuNjExIDI1NS45NjksMjM2LjgxOCAzNjEuMjA0LDE3NC42MTEgCQkJCSIvPg0KCQkJPC9nPg0KCQk8L2c+DQoJCTxnIG9wYWNpdHk9IjAuNDUiPg0KCQkJPGc+DQoJCQkJPHBvbHlnb24gZmlsbD0iIzAxMDEwMSIgcG9pbnRzPSIxNTAuNzM0LDE3NC42MTIgMjU1Ljk2OSwyMzYuODE4IDI1NS45NjksMTI2Ljc4MiAyNTUuOTY5LDAuMDAxIAkJCQkiLz4NCgkJCTwvZz4NCgkJPC9nPg0KCQk8ZyBvcGFjaXR5PSIwLjgiPg0KCQkJPGc+DQoJCQkJPHBvbHlnb24gZmlsbD0iIzAxMDEwMSIgcG9pbnRzPSIyNTUuOTY5LDAgMjU1Ljk2OSwxMjYuNzgxIDI1NS45NjksMjM2LjgxOCAzNjEuMjA0LDE3NC42MTEgCQkJCSIvPg0KCQkJPC9nPg0KCQk8L2c+DQoJPC9nPg0KPC9nPg0KPC9zdmc+DQo='
let
totalLook
=
yo
`
<div class=
${
css
.
container
}
bg-secondary>
<img class="
${
css
.
im
}
" src="
${
logo
}
" />
</div>
`
for
(
let
i
=
0
;
i
<
this
.
sections
.
length
;
i
++
)
{
totalLook
.
appendChild
(
yo
`
<div class="
${
css
.
section
}
" >
${
this
.
sections
[
i
].
render
()}
</div>
`
)
}
return
totalLook
}
}
.history/src/app/ui/modaldialog_20190318184820.js
deleted
100644 → 0
View file @
8c65ab16
var
yo
=
require
(
'yo-yo'
)
var
css
=
require
(
'./styles/modaldialog-styles'
)
<<<<<<<
HEAD
module
.
exports
=
(
title
,
content
,
ok
,
cancel
,
focusSelector
)
=>
{
=======
module
.
exports
=
(
title
,
content
,
ok
,
cancel
,
focusSelector
,
opts
)
=>
{
let
agreed
=
true
opts
=
opts
||
{}
>>>>>>>
863
b9543
...
added
key
-
navigation
to
modaldialog
var
container
=
document
.
querySelector
(
`.
${
css
.
modal
}
`
)
if
(
!
container
)
{
document
.
querySelector
(
'body'
).
appendChild
(
html
())
container
=
document
.
querySelector
(
`.
${
css
.
modal
}
`
)
}
var
closeDiv
=
document
.
getElementById
(
'modal-close'
)
var
okDiv
=
document
.
getElementById
(
'modal-footer-ok'
)
okDiv
.
innerHTML
=
(
ok
&&
ok
.
label
!==
undefined
)
?
ok
.
label
:
'OK'
var
cancelDiv
=
document
.
getElementById
(
'modal-footer-cancel'
)
cancelDiv
.
innerHTML
=
(
cancel
&&
cancel
.
label
!==
undefined
)
?
cancel
.
label
:
'Cancel'
var
modal
=
document
.
querySelector
(
`.
${
css
.
modalBody
}
`
)
var
modalTitle
=
document
.
querySelector
(
`.
${
css
.
modalHeader
}
h2`
)
modalTitle
.
innerHTML
=
''
if
(
title
)
modalTitle
.
innerHTML
=
title
modal
.
innerHTML
=
''
if
(
content
)
modal
.
appendChild
(
content
)
show
()
function
setFocusOn
(
btn
)
{
var
okDiv
=
document
.
getElementById
(
'modal-footer-ok'
)
var
cancelDiv
=
document
.
getElementById
(
'modal-footer-cancel'
)
if
(
btn
===
'ok'
)
{
agreed
=
true
okDiv
.
style
.
backgroundColor
=
'var(--dark)'
okDiv
.
style
.
color
=
'var(--light)'
cancelDiv
.
style
.
backgroundColor
=
'var(--light)'
cancelDiv
.
style
.
color
=
'var(--dark)'
}
else
{
agreed
=
false
okDiv
.
style
.
backgroundColor
=
'var(--light)'
okDiv
.
style
.
color
=
'var(--dark)'
cancelDiv
.
style
.
backgroundColor
=
'var(--dark)'
cancelDiv
.
style
.
color
=
'var(--light)'
}
}
function
okListener
()
{
removeEventListener
()
hide
()
if
(
ok
&&
ok
.
fn
&&
agreed
)
ok
.
fn
()
}
function
cancelListener
()
{
removeEventListener
()
hide
()
if
(
cancel
&&
cancel
.
fn
)
cancel
.
fn
()
}
function
modalKeyEvent
(
e
)
{
if
(
e
.
keyCode
===
27
)
{
cancelListener
()
}
else
if
(
e
.
keyCode
===
13
)
{
e
.
preventDefault
()
okListener
()
}
else
if
(
e
.
keyCode
===
37
)
{
e
.
preventDefault
()
setFocusOn
(
'ok'
)
}
else
if
(
e
.
keyCode
===
39
)
{
e
.
preventDefault
()
setFocusOn
(
'cancel'
)
}
}
function
hide
()
{
container
.
style
.
display
=
'none'
}
function
show
()
{
container
.
style
.
display
=
'block'
if
(
focusSelector
)
{
const
focusTarget
=
document
.
querySelector
(
`.
${
css
.
modal
}
${
focusSelector
}
`
)
if
(
focusTarget
)
{
focusTarget
.
focus
()
if
(
typeof
focusTarget
.
setSelectionRange
===
'function'
)
{
focusTarget
.
setSelectionRange
(
0
,
focusTarget
.
value
.
length
)
}
}
}
}
function
removeEventListener
()
{
okDiv
.
removeEventListener
(
'click'
,
okListener
)
cancelDiv
.
removeEventListener
(
'click'
,
cancelListener
)
closeDiv
.
removeEventListener
(
'click'
,
cancelListener
)
document
.
removeEventListener
(
'keydown'
,
modalKeyEvent
)
document
.
getElementById
(
'modal-background'
).
removeEventListener
(
'click'
,
cancelListener
)
}
okDiv
.
addEventListener
(
'click'
,
okListener
)
cancelDiv
.
addEventListener
(
'click'
,
cancelListener
)
closeDiv
.
addEventListener
(
'click'
,
cancelListener
)
document
.
addEventListener
(
'keydown'
,
modalKeyEvent
)
document
.
getElementById
(
'modal-background'
).
addEventListener
(
'click'
,
cancelListener
)
}
function
html
()
{
return
yo
`<div id="modal-dialog" class="
${
css
.
modal
}
">
<div id="modal-background" class="
${
css
[
'modalBackground'
]}
"> </div>
<<<<<<< HEAD
<div class="
${
css
[
'modalContent'
]}
">
<div class="
${
css
[
'modalHeader'
]}
">
<h2></h2>
<i id="modal-close" title="Close" class="fa fa-times
${
css
[
'modalClose'
]}
" aria-hidden="true"></i>
</div>
<div class="
${
css
[
'modalBody'
]}
"> -
</div>
<div class="
${
css
[
'modalFooter'
]}
">
<span id="modal-footer-ok" class=
${
css
[
'modalFooterOk'
]}
>OK</span><span id="modal-footer-cancel" class=
${
css
[
'modalFooterCancel'
]}
>Cancel</span>
</div>
</div>
=======
<div class="
${
css
[
'modalContent'
]}
bg-light text-secondary
${
opts
.
class
}
">
<div class="
${
css
[
'modalHeader'
]}
">
<h3></h3>
<i id="modal-close" title="Close" class="fa fa-times
${
css
[
'modalClose'
]}
" aria-hidden="true"></i>
</div>
<div class="
${
css
[
'modalBody'
]}
"> -
</div>
<div class="
${
css
[
'modalFooter'
]}
">
<span id="modal-footer-ok" class="
${
css
[
'modalFooterOk'
]}
btn btn-sm btn-dark autofocus tabindex='1'">OK</span>
<span id="modal-footer-cancel" class="
${
css
[
'modalFooterCancel'
]}
btn btn-sm btn-light tabindex='0'">Cancel</span>
</div>
</div>
>>>>>>> 863b9543... added key-navigation to modaldialog
</div>`
}
.history/src/app/ui/modaldialog_20190318184943.js
deleted
100644 → 0
View file @
8c65ab16
var
yo
=
require
(
'yo-yo'
)
var
css
=
require
(
'./styles/modaldialog-styles'
)
<<<<<<<
HEAD
module
.
exports
=
(
title
,
content
,
ok
,
cancel
,
focusSelector
)
=>
{
=======
module
.
exports
=
(
title
,
content
,
ok
,
cancel
,
focusSelector
,
opts
)
=>
{
let
agreed
=
true
opts
=
opts
||
{}
>>>>>>>
863
b9543
...
added
key
-
navigation
to
modaldialog
var
container
=
document
.
querySelector
(
`.
${
css
.
modal
}
`
)
if
(
!
container
)
{
document
.
querySelector
(
'body'
).
appendChild
(
html
())
container
=
document
.
querySelector
(
`.
${
css
.
modal
}
`
)
}
var
closeDiv
=
document
.
getElementById
(
'modal-close'
)
var
okDiv
=
document
.
getElementById
(
'modal-footer-ok'
)
okDiv
.
innerHTML
=
(
ok
&&
ok
.
label
!==
undefined
)
?
ok
.
label
:
'OK'
var
cancelDiv
=
document
.
getElementById
(
'modal-footer-cancel'
)
cancelDiv
.
innerHTML
=
(
cancel
&&
cancel
.
label
!==
undefined
)
?
cancel
.
label
:
'Cancel'
var
modal
=
document
.
querySelector
(
`.
${
css
.
modalBody
}
`
)
var
modalTitle
=
document
.
querySelector
(
`.
${
css
.
modalHeader
}
h2`
)
modalTitle
.
innerHTML
=
''
if
(
title
)
modalTitle
.
innerHTML
=
title
modal
.
innerHTML
=
''
if
(
content
)
modal
.
appendChild
(
content
)
show
()
function
setFocusOn
(
btn
)
{
var
okDiv
=
document
.
getElementById
(
'modal-footer-ok'
)
var
cancelDiv
=
document
.
getElementById
(
'modal-footer-cancel'
)
if
(
btn
===
'ok'
)
{
agreed
=
true
okDiv
.
style
.
backgroundColor
=
'var(--dark)'
okDiv
.
style
.
color
=
'var(--light)'
cancelDiv
.
style
.
backgroundColor
=
'var(--light)'
cancelDiv
.
style
.
color
=
'var(--dark)'
}
else
{
agreed
=
false
okDiv
.
style
.
backgroundColor
=
'var(--light)'
okDiv
.
style
.
color
=
'var(--dark)'
cancelDiv
.
style
.
backgroundColor
=
'var(--dark)'
cancelDiv
.
style
.
color
=
'var(--light)'
}
}
function
okListener
()
{
removeEventListener
()
hide
()
if
(
ok
&&
ok
.
fn
&&
agreed
)
ok
.
fn
()
}
function
cancelListener
()
{
removeEventListener
()
hide
()
if
(
cancel
&&
cancel
.
fn
)
cancel
.
fn
()
}
function
modalKeyEvent
(
e
)
{
if
(
e
.
keyCode
===
27
)
{
cancelListener
()
}
else
if
(
e
.
keyCode
===
13
)
{
e
.
preventDefault
()
okListener
()
}
else
if
(
e
.
keyCode
===
37
)
{
e
.
preventDefault
()
setFocusOn
(
'ok'
)
}
else
if
(
e
.
keyCode
===
39
)
{
e
.
preventDefault
()
setFocusOn
(
'cancel'
)
}
}
function
hide
()
{
container
.
style
.
display
=
'none'
}
function
show
()
{
container
.
style
.
display
=
'block'
if
(
focusSelector
)
{
const
focusTarget
=
document
.
querySelector
(
`.
${
css
.
modal
}
${
focusSelector
}
`
)
if
(
focusTarget
)
{
focusTarget
.
focus
()
if
(
typeof
focusTarget
.
setSelectionRange
===
'function'
)
{
focusTarget
.
setSelectionRange
(
0
,
focusTarget
.
value
.
length
)
}
}
}
}
function
removeEventListener
()
{
okDiv
.
removeEventListener
(
'click'
,
okListener
)
cancelDiv
.
removeEventListener
(
'click'
,
cancelListener
)
closeDiv
.
removeEventListener
(
'click'
,
cancelListener
)
document
.
removeEventListener
(
'keydown'
,
modalKeyEvent
)
document
.
getElementById
(
'modal-background'
).
removeEventListener
(
'click'
,
cancelListener
)
}
okDiv
.
addEventListener
(
'click'
,
okListener
)
cancelDiv
.
addEventListener
(
'click'
,
cancelListener
)
closeDiv
.
addEventListener
(
'click'
,
cancelListener
)
document
.
addEventListener
(
'keydown'
,
modalKeyEvent
)
document
.
getElementById
(
'modal-background'
).
addEventListener
(
'click'
,
cancelListener
)
}
function
html
()
{
return
yo
`<div id="modal-dialog" class="
${
css
.
modal
}
">
<div id="modal-background" class="
${
css
[
'modalBackground'
]}
"> </div>
<div class="
${
css
[
'modalContent'
]}
bg-light text-secondary
${
opts
.
class
}
">
<div class="
${
css
[
'modalHeader'
]}
">
<h3></h3>
<i id="modal-close" title="Close" class="fa fa-times
${
css
[
'modalClose'
]}
" aria-hidden="true"></i>
</div>
<div class="
${
css
[
'modalBody'
]}
"> -
</div>
<div class="
${
css
[
'modalFooter'
]}
">
<span id="modal-footer-ok" class="
${
css
[
'modalFooterOk'
]}
btn btn-sm btn-dark autofocus tabindex='1'">OK</span>
<span id="modal-footer-cancel" class="
${
css
[
'modalFooterCancel'
]}
btn btn-sm btn-light tabindex='0'">Cancel</span>
</div>
</div>
</div>`
}
.history/src/app/ui/modaldialog_20190318185131.js
deleted
100644 → 0
View file @
8c65ab16
var
yo
=
require
(
'yo-yo'
)
var
css
=
require
(
'./styles/modaldialog-styles'
)
module
.
exports
=
(
title
,
content
,
ok
,
cancel
,
focusSelector
,
opts
)
=>
{
let
agreed
=
true
opts
=
opts
||
{}
var
container
=
document
.
querySelector
(
`.
${
css
.
modal
}
`
)
if
(
!
container
)
{
document
.
querySelector
(
'body'
).
appendChild
(
html
())
container
=
document
.
querySelector
(
`.
${
css
.
modal
}
`
)
}
var
closeDiv
=
document
.
getElementById
(
'modal-close'
)
var
okDiv
=
document
.
getElementById
(
'modal-footer-ok'
)
okDiv
.
innerHTML
=
(
ok
&&
ok
.
label
!==
undefined
)
?
ok
.
label
:
'OK'
var
cancelDiv
=
document
.
getElementById
(
'modal-footer-cancel'
)
cancelDiv
.
innerHTML
=
(
cancel
&&
cancel
.
label
!==
undefined
)
?
cancel
.
label
:
'Cancel'
var
modal
=
document
.
querySelector
(
`.
${
css
.
modalBody
}
`
)
var
modalTitle
=
document
.
querySelector
(
`.
${
css
.
modalHeader
}
h2`
)
modalTitle
.
innerHTML
=
''
if
(
title
)
modalTitle
.
innerHTML
=
title
modal
.
innerHTML
=
''
if
(
content
)
modal
.
appendChild
(
content
)
setFocusOn
(
'ok'
)
show
()
function
setFocusOn
(
btn
)
{
var
okDiv
=
document
.
getElementById
(
'modal-footer-ok'
)
var
cancelDiv
=
document
.
getElementById
(
'modal-footer-cancel'
)
if
(
btn
===
'ok'
)
{
okDiv
.
className
=
okDiv
.
className
.
replace
(
/
\b
btn-light
\b
/g
,
'btn-dark'
)
cancelDiv
.
className
=
cancelDiv
.
className
.
replace
(
/
\b
btn-dark
\b
/g
,
'btn-light'
)
}
else
{
cancelDiv
.
className
=
cancelDiv
.
className
.
replace
(
/
\b
btn-light
\b
/g
,
'btn-dark'
)
okDiv
.
className
=
okDiv
.
className
.
replace
(
/
\b
btn-dark
\b
/g
,
'btn-light'
)
}
}
function
okListener
()
{
removeEventListener
()
hide
()
if
(
ok
&&
ok
.
fn
&&
agreed
)
ok
.
fn
()
}
function
cancelListener
()
{
removeEventListener
()
hide
()
if
(
cancel
&&
cancel
.
fn
)
cancel
.
fn
()
}
function
modalKeyEvent
(
e
)
{
if
(
e
.
keyCode
===
27
)
{
cancelListener
()
}
else
if
(
e
.
keyCode
===
13
)
{
e
.
preventDefault
()
okListener
()
}
else
if
(
e
.
keyCode
===
37
)
{
e
.
preventDefault
()
agreed
=
true
setFocusOn
(
'ok'
)
}
else
if
(
e
.
keyCode
===
39
)
{
e
.
preventDefault
()
agreed
=
false
setFocusOn
(
'cancel'
)
}
}
function
hide
()
{
container
.
style
.
display
=
'none'
}
function
show
()
{
container
.
style
.
display
=
'block'
if
(
focusSelector
)
{
const
focusTarget
=
document
.
querySelector
(
`.
${
css
.
modal
}
${
focusSelector
}
`
)
if
(
focusTarget
)
{
focusTarget
.
focus
()
if
(
typeof
focusTarget
.
setSelectionRange
===
'function'
)
{
focusTarget
.
setSelectionRange
(
0
,
focusTarget
.
value
.
length
)
}
}
}
}
function
removeEventListener
()
{
okDiv
.
removeEventListener
(
'click'
,
okListener
)
cancelDiv
.
removeEventListener
(
'click'
,
cancelListener
)
closeDiv
.
removeEventListener
(
'click'
,
cancelListener
)
document
.
removeEventListener
(
'keydown'
,
modalKeyEvent
)
document
.
getElementById
(
'modal-background'
).
removeEventListener
(
'click'
,
cancelListener
)
}
okDiv
.
addEventListener
(
'click'
,
okListener
)
cancelDiv
.
addEventListener
(
'click'
,
cancelListener
)
closeDiv
.
addEventListener
(
'click'
,
cancelListener
)
document
.
addEventListener
(
'keydown'
,
modalKeyEvent
)
document
.
getElementById
(
'modal-background'
).
addEventListener
(
'click'
,
cancelListener
)
}
function
html
()
{
return
yo
`<div id="modal-dialog" class="
${
css
.
modal
}
">
<div id="modal-background" class="
${
css
[
'modalBackground'
]}
"> </div>
<div class="
${
css
[
'modalContent'
]}
bg-light text-secondary
${
opts
.
class
}
">
<div class="
${
css
[
'modalHeader'
]}
">
<h3></h3>
<i id="modal-close" title="Close" class="fa fa-times
${
css
[
'modalClose'
]}
" aria-hidden="true"></i>
</div>
<div class="
${
css
[
'modalBody'
]}
"> -
</div>
<div class="
${
css
[
'modalFooter'
]}
">
<span id="modal-footer-ok" class="
${
css
[
'modalFooterOk'
]}
btn btn-sm btn-light">OK</span>
<span id="modal-footer-cancel" class="
${
css
[
'modalFooterCancel'
]}
btn btn-sm btn-light">Cancel</span>
</div>
</div>
</div>`
}
.history/src/app/ui/modaldialog_20190318190546.js
deleted
100644 → 0
View file @
8c65ab16
var
yo
=
require
(
'yo-yo'
)
var
css
=
require
(
'./styles/modaldialog-styles'
)
module
.
exports
=
(
title
,
content
,
ok
,
cancel
,
focusSelector
)
=>
{
let
agreed
=
true
var
container
=
document
.
querySelector
(
`.
${
css
.
modal
}
`
)
if
(
!
container
)
{
document
.
querySelector
(
'body'
).
appendChild
(
html
())
container
=
document
.
querySelector
(
`.
${
css
.
modal
}
`
)
}
var
closeDiv
=
document
.
getElementById
(
'modal-close'
)
var
okDiv
=
document
.
getElementById
(
'modal-footer-ok'
)
okDiv
.
innerHTML
=
(
ok
&&
ok
.
label
!==
undefined
)
?
ok
.
label
:
'OK'
var
cancelDiv
=
document
.
getElementById
(
'modal-footer-cancel'
)
cancelDiv
.
innerHTML
=
(
cancel
&&
cancel
.
label
!==
undefined
)
?
cancel
.
label
:
'Cancel'
var
modal
=
document
.
querySelector
(
`.
${
css
.
modalBody
}
`
)
var
modalTitle
=
document
.
querySelector
(
`.
${
css
.
modalHeader
}
h2`
)
modalTitle
.
innerHTML
=
''
if
(
title
)
modalTitle
.
innerHTML
=
title
modal
.
innerHTML
=
''
if
(
content
)
modal
.
appendChild
(
content
)
setFocusOn
(
'ok'
)
show
()
function
setFocusOn
(
btn
)
{
var
okDiv
=
document
.
getElementById
(
'modal-footer-ok'
)
var
cancelDiv
=
document
.
getElementById
(
'modal-footer-cancel'
)
if
(
btn
===
'ok'
)
{
okDiv
.
className
=
okDiv
.
className
.
replace
(
/
\b
btn-light
\b
/g
,
'btn-dark'
)
cancelDiv
.
className
=
cancelDiv
.
className
.
replace
(
/
\b
btn-dark
\b
/g
,
'btn-light'
)
}
else
{
cancelDiv
.
className
=
cancelDiv
.
className
.
replace
(
/
\b
btn-light
\b
/g
,
'btn-dark'
)
okDiv
.
className
=
okDiv
.
className
.
replace
(
/
\b
btn-dark
\b
/g
,
'btn-light'
)
}
}
function
okListener
()
{
removeEventListener
()
hide
()
if
(
ok
&&
ok
.
fn
&&
agreed
)
ok
.
fn
()
}
function
cancelListener
()
{
removeEventListener
()
hide
()
if
(
cancel
&&
cancel
.
fn
)
cancel
.
fn
()
}
function
modalKeyEvent
(
e
)
{
if
(
e
.
keyCode
===
27
)
{
cancelListener
()
}
else
if
(
e
.
keyCode
===
13
)
{
e
.
preventDefault
()
okListener
()
}
else
if
(
e
.
keyCode
===
37
)
{
e
.
preventDefault
()
agreed
=
true
setFocusOn
(
'ok'
)
}
else
if
(
e
.
keyCode
===
39
)
{
e
.
preventDefault
()
agreed
=
false
setFocusOn
(
'cancel'
)
}
}
function
hide
()
{
container
.
style
.
display
=
'none'
}
function
show
()
{
container
.
style
.
display
=
'block'
if
(
focusSelector
)
{
const
focusTarget
=
document
.
querySelector
(
`.
${
css
.
modal
}
${
focusSelector
}
`
)
if
(
focusTarget
)
{
focusTarget
.
focus
()
if
(
typeof
focusTarget
.
setSelectionRange
===
'function'
)
{
focusTarget
.
setSelectionRange
(
0
,
focusTarget
.
value
.
length
)
}
}
}
}
function
removeEventListener
()
{
okDiv
.
removeEventListener
(
'click'
,
okListener
)
cancelDiv
.
removeEventListener
(
'click'
,
cancelListener
)
closeDiv
.
removeEventListener
(
'click'
,
cancelListener
)
document
.
removeEventListener
(
'keydown'
,
modalKeyEvent
)
document
.
getElementById
(
'modal-background'
).
removeEventListener
(
'click'
,
cancelListener
)
}
okDiv
.
addEventListener
(
'click'
,
okListener
)
cancelDiv
.
addEventListener
(
'click'
,
cancelListener
)
closeDiv
.
addEventListener
(
'click'
,
cancelListener
)
document
.
addEventListener
(
'keydown'
,
modalKeyEvent
)
document
.
getElementById
(
'modal-background'
).
addEventListener
(
'click'
,
cancelListener
)
}
function
html
()
{
return
yo
`<div id="modal-dialog" class="
${
css
.
modal
}
">
<div id="modal-background" class="
${
css
[
'modalBackground'
]}
"> </div>
<div class="
${
css
[
'modalContent'
]}
bg-light text-secondary">
<div class="
${
css
[
'modalHeader'
]}
">
<h3></h3>
<i id="modal-close" title="Close" class="fa fa-times
${
css
[
'modalClose'
]}
" aria-hidden="true"></i>
</div>
<div class="
${
css
[
'modalBody'
]}
"> -
</div>
<div class="
${
css
[
'modalFooter'
]}
">
<span id="modal-footer-ok" class="
${
css
[
'modalFooterOk'
]}
btn btn-sm btn-light">OK</span>
<span id="modal-footer-cancel" class="
${
css
[
'modalFooterCancel'
]}
btn btn-sm btn-light">Cancel</span>
</div>
</div>
</div>`
}
.history/src/app/ui/modaldialog_20190318190640.js
deleted
100644 → 0
View file @
8c65ab16
var
yo
=
require
(
'yo-yo'
)
var
css
=
require
(
'./styles/modaldialog-styles'
)
module
.
exports
=
(
title
,
content
,
ok
,
cancel
,
focusSelector
)
=>
{
let
agreed
=
true
var
container
=
document
.
querySelector
(
`.
${
css
.
modal
}
`
)
if
(
!
container
)
{
document
.
querySelector
(
'body'
).
appendChild
(
html
())
container
=
document
.
querySelector
(
`.
${
css
.
modal
}
`
)
}
var
closeDiv
=
document
.
getElementById
(
'modal-close'
)
var
okDiv
=
document
.
getElementById
(
'modal-footer-ok'
)
okDiv
.
innerHTML
=
(
ok
&&
ok
.
label
!==
undefined
)
?
ok
.
label
:
'OK'
var
cancelDiv
=
document
.
getElementById
(
'modal-footer-cancel'
)
cancelDiv
.
innerHTML
=
(
cancel
&&
cancel
.
label
!==
undefined
)
?
cancel
.
label
:
'Cancel'
var
modal
=
document
.
querySelector
(
`.
${
css
.
modalBody
}
`
)
var
modalTitle
=
document
.
querySelector
(
`.
${
css
.
modalHeader
}
h2`
)
modalTitle
.
innerHTML
=
''
if
(
title
)
modalTitle
.
innerHTML
=
title
modal
.
innerHTML
=
''
if
(
content
)
modal
.
appendChild
(
content
)
setFocusOn
(
'ok'
)
show
()
function
setFocusOn
(
btn
)
{
var
okDiv
=
document
.
getElementById
(
'modal-footer-ok'
)
var
cancelDiv
=
document
.
getElementById
(
'modal-footer-cancel'
)
if
(
btn
===
'ok'
)
{
okDiv
.
className
=
okDiv
.
className
.
replace
(
/
\b
btn-light
\b
/g
,
'btn-dark'
)
cancelDiv
.
className
=
cancelDiv
.
className
.
replace
(
/
\b
btn-dark
\b
/g
,
'btn-light'
)
}
else
{
cancelDiv
.
className
=
cancelDiv
.
className
.
replace
(
/
\b
btn-light
\b
/g
,
'btn-dark'
)
okDiv
.
className
=
okDiv
.
className
.
replace
(
/
\b
btn-dark
\b
/g
,
'btn-light'
)
}
}
function
okListener
()
{
removeEventListener
()
hide
()
if
(
ok
&&
ok
.
fn
&&
agreed
)
ok
.
fn
()
}
function
cancelListener
()
{
removeEventListener
()
hide
()
if
(
cancel
&&
cancel
.
fn
)
cancel
.
fn
()
}
function
modalKeyEvent
(
e
)
{
if
(
e
.
keyCode
===
27
)
{
cancelListener
()
}
else
if
(
e
.
keyCode
===
13
)
{
e
.
preventDefault
()
okListener
()
}
else
if
(
e
.
keyCode
===
37
)
{
e
.
preventDefault
()
agreed
=
true
setFocusOn
(
'ok'
)
}
else
if
(
e
.
keyCode
===
39
)
{
e
.
preventDefault
()
agreed
=
false
setFocusOn
(
'cancel'
)
}
}
function
hide
()
{
container
.
style
.
display
=
'none'
}
function
show
()
{
container
.
style
.
display
=
'block'
if
(
focusSelector
)
{
const
focusTarget
=
document
.
querySelector
(
`.
${
css
.
modal
}
${
focusSelector
}
`
)
if
(
focusTarget
)
{
focusTarget
.
focus
()
if
(
typeof
focusTarget
.
setSelectionRange
===
'function'
)
{
focusTarget
.
setSelectionRange
(
0
,
focusTarget
.
value
.
length
)
}
}
}
}
function
removeEventListener
()
{
okDiv
.
removeEventListener
(
'click'
,
okListener
)
cancelDiv
.
removeEventListener
(
'click'
,
cancelListener
)
closeDiv
.
removeEventListener
(
'click'
,
cancelListener
)
document
.
removeEventListener
(
'keydown'
,
modalKeyEvent
)
document
.
getElementById
(
'modal-background'
).
removeEventListener
(
'click'
,
cancelListener
)
}
okDiv
.
addEventListener
(
'click'
,
okListener
)
cancelDiv
.
addEventListener
(
'click'
,
cancelListener
)
closeDiv
.
addEventListener
(
'click'
,
cancelListener
)
document
.
addEventListener
(
'keydown'
,
modalKeyEvent
)
document
.
getElementById
(
'modal-background'
).
addEventListener
(
'click'
,
cancelListener
)
}
function
html
()
{
return
yo
`<div id="modal-dialog" class="
${
css
.
modal
}
">
<div id="modal-background" class="
${
css
[
'modalBackground'
]}
"> </div>
<div class="
${
css
[
'modalContent'
]}
bg-light text-secondary">
<div class="
${
css
[
'modalHeader'
]}
">
<h2></h2>
<i id="modal-close" title="Close" class="fa fa-times
${
css
[
'modalClose'
]}
" aria-hidden="true"></i>
</div>
<div class="
${
css
[
'modalBody'
]}
"> -
</div>
<div class="
${
css
[
'modalFooter'
]}
">
<span id="modal-footer-ok" class="
${
css
[
'modalFooterOk'
]}
btn btn-sm btn-light">OK</span>
<span id="modal-footer-cancel" class="
${
css
[
'modalFooterCancel'
]}
btn btn-sm btn-light">Cancel</span>
</div>
</div>
</div>`
}
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment