From 6b0b33cec34dfedce2e8763122735430fa0f851d Mon Sep 17 00:00:00 2001 From: coderaiser Date: Mon, 4 Nov 2013 10:47:05 +0000 Subject: [PATCH] feature(config) add --- css/config.css | 58 +++++++++++++++++++++++++++++++++ html/config.html | 21 ++++++++++++ html/index.html | 1 + json/modules.json | 1 + lib/client/config.js | 72 +++++++++++++++++++++++++++++++++++++++++ lib/client/key.js | 7 ++++ lib/client/listeners.js | 23 ++++++------- 7 files changed, 172 insertions(+), 11 deletions(-) create mode 100644 css/config.css create mode 100644 html/config.html create mode 100644 lib/client/config.js diff --git a/css/config.css b/css/config.css new file mode 100644 index 00000000..4d10e939 --- /dev/null +++ b/css/config.css @@ -0,0 +1,58 @@ +#config { + white-space: normal; +} + +.list li{ + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + -o-user-select: none; + user-select: none; +} + +#config .form-control{ + padding: 0 12px; + font-size: 16px; + line-height: 1.428571429; + color: #555555; + background-color: #ffffff; + border: 1px solid #cccccc; + -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); + box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); + -webkit-transition: border-color ease-in-out 0.15s, box-shadow ease-in-out 0.15s; + transition: border-color ease-in-out 0.15s, box-shadow ease-in-out 0.15s; +} + +#config .form-control:focus { + border-color: #66afe9; + outline: 0; + -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 1px rgba(102, 175, 233, 0.6); + box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 1px rgba(102, 175, 233, 0.6); +} + +#config .form-control:-moz-placeholder { + color: #999999; +} + +#config .form-control::-moz-placeholder { + color: #999999; +} + +#config .form-control:-ms-input-placeholder { + color: #999999; +} + +#config .form-control::-webkit-input-placeholder { + color: #999999; +} + +#config .list { + text-align:left; + margin: 5%; +} + +#config #DivBorder{ + margin : 10% auto; + border :1px solid #ADCAFD; + width :300px; +} diff --git a/html/config.html b/html/config.html new file mode 100644 index 00000000..d8bae46f --- /dev/null +++ b/html/config.html @@ -0,0 +1,21 @@ +
+
+ \ No newline at end of file diff --git a/html/index.html b/html/index.html index 2b8cb2d1..d37de6d1 100644 --- a/html/index.html +++ b/html/index.html @@ -26,6 +26,7 @@ + diff --git a/json/modules.json b/json/modules.json index 64732a08..957b6b7b 100644 --- a/json/modules.json +++ b/json/modules.json @@ -3,6 +3,7 @@ "menu", "view", "help", + "config", "console", { "name": "storage", "data": [{ diff --git a/lib/client/config.js b/lib/client/config.js new file mode 100644 index 00000000..6c32b8ee --- /dev/null +++ b/lib/client/config.js @@ -0,0 +1,72 @@ +var CloudCmd, Util, DOM; +(function(CloudCmd, Util, DOM){ + 'use strict'; + + CloudCmd.Config = new ConfigProto(CloudCmd, Util, DOM); + + function ConfigProto(CloudCmd, Util, DOM){ + var Key = CloudCmd.Key, + Images = DOM.Images, + Config = this; + + this.init = function(pCallBack){ + Util.loadOnLoad([ + Config.show, + CloudCmd.View, + ]); + + DOM.Events.addKey(listener); + DOM.setButtonKey('f10', Config.show); + + delete Config.init; + }; + + this.show = function(){ + Images.showLoad({top:true}); + + DOM.ajax({ + url: '/css/config.css', + success: function (data){ + DOM.cssSet({ + id : 'config-css', + inner : data + }); + + Images.hideLoad(); + }, + + error:Images.showError + }); + + DOM.ajax({ + url: '/html/config.html', + success: function (data){ + var lDiv = DOM.anyload({ + name : 'div', + id : 'config', + inner : data.toString() + }); + + Images.hideLoad(); + CloudCmd.View.show(lDiv); + }, + + error:Images.showError + }); + }; + + + this.hide = CloudCmd.View.hide; + + function listener(pEvent){ + var f10 = Key.F10, + isBind = Key.isBind(), + key = pEvent.keyCode; + + /* если клавиши можно обрабатывать */ + if (isBind && key === f10) + Config.show(); + } + } + +})(CloudCmd, Util, DOM); \ No newline at end of file diff --git a/lib/client/key.js b/lib/client/key.js index b476a26a..b8d91b74 100644 --- a/lib/client/key.js +++ b/lib/client/key.js @@ -39,6 +39,7 @@ var CloudCmd, Util, DOM; F7 : 118, F8 : 119, F9 : 120, + F10 : 121, TRA : 192 /* Typewritten Reverse Apostrophe (`) */ }; @@ -163,6 +164,12 @@ var CloudCmd, Util, DOM; break; + case Key.F10: + Util.exec(CloudCmd.Config); + DOM.preventDefault(pEvent); + + break; + case Key.TRA: DOM.Images.showLoad({top: true}); Util.exec(CloudCmd.Console); diff --git a/lib/client/listeners.js b/lib/client/listeners.js index 3cce9608..72cb59db 100644 --- a/lib/client/listeners.js +++ b/lib/client/listeners.js @@ -43,23 +43,24 @@ var Util, DOM, CloudCmd; lFuncs =[ null, - CloudCmd.Help, /* f1 */ - DOM.renameCurrent, /* f2 */ - CloudCmd.View, /* f3 */ - CloudCmd.Edit, /* f4 */ - DOM.copyCurrent, /* f5 */ - DOM.moveCurrent, /* f6 */ - DOM.promptNewDir, /* f7 */ - DOM.promptDeleteSelected, /* f8 */ - CloudCmd.Menu, /* f9 */ + CloudCmd.Help, /* f1 */ + DOM.renameCurrent, /* f2 */ + CloudCmd.View, /* f3 */ + CloudCmd.Edit, /* f4 */ + DOM.copyCurrent, /* f5 */ + DOM.moveCurrent, /* f6 */ + DOM.promptNewDir, /* f7 */ + DOM.promptDeleteSelected, /* f8 */ + CloudCmd.Menu, /* f9 */ + CloudCmd.Config, /* f10 */ ]; - for (i = 1; i <= 9; i++) { + for (i = 1; i <= 10; i++) { lButton = 'f' + i, lEl = DOM.getById('f' + i); lKeysPanel[lButton] = lEl; - if (i === 1 || i === 3 || i === 4 || i === 9) + if (i === 1 || i === 3 || i === 4 || i === 9 || i === 10) Events.addOnce('click', lFuncs[i], lEl); else Events.addClick(lFuncs[i], lEl);