aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--css/ninja.css6
-rw-r--r--js/components/button.reel/button.js2
-rw-r--r--js/components/tools-properties/text-properties.reel/text-properties.css30
-rw-r--r--js/components/tools-properties/text-properties.reel/text-properties.html326
-rw-r--r--js/components/tools-properties/text-properties.reel/text-properties.js236
-rw-r--r--js/panels/CSSPanel/CSSPanel.js6
-rw-r--r--js/stage/stage.reel/stage.html12
-rw-r--r--js/stage/stage.reel/stage.js7
-rw-r--r--js/tools/TextTool.js97
-rw-r--r--node_modules/labs/rich-text-editor.reel/rich-text-editor.css112
-rw-r--r--node_modules/labs/rich-text-editor.reel/rich-text-editor.html27
-rw-r--r--node_modules/labs/rich-text-editor.reel/rich-text-editor.js1716
-rw-r--r--node_modules/labs/rich-text-editor.reel/rich-text-resizer.js349
-rw-r--r--node_modules/labs/rich-text-editor.reel/rich-text-sanitizer.js132
-rw-r--r--node_modules/labs/rich-text-editor.reel/shortcut-manager.js237
-rw-r--r--scss/imports/scss/_Base.scss2
-rw-r--r--scss/imports/scss/_Stage.scss14
-rwxr-xr-xscss/ninja.scss1
18 files changed, 3162 insertions, 150 deletions
diff --git a/css/ninja.css b/css/ninja.css
index 26031a3a..54a4bbf1 100644
--- a/css/ninja.css
+++ b/css/ninja.css
@@ -36,7 +36,7 @@ input[type="search"].nj-skinned::-webkit-search-cancel-button:after { content: "
36 36
37button.nj-skinned { font-size: 9px; cursor: pointer; display: block; border: 0px; margin: 0px; padding: 4px; border: 1px #313131 solid; background-color: #474747; background-image: -webkit-linear-gradient(top, #505050 0%, #3c3c3c 100%); border-radius: 4px; color: white; text-transform: uppercase; cursor: pointer; text-shadow: 1px 1px 1px rgba(0, 0, 0, 0.5); } 37button.nj-skinned { font-size: 9px; cursor: pointer; display: block; border: 0px; margin: 0px; padding: 4px; border: 1px #313131 solid; background-color: #474747; background-image: -webkit-linear-gradient(top, #505050 0%, #3c3c3c 100%); border-radius: 4px; color: white; text-transform: uppercase; cursor: pointer; text-shadow: 1px 1px 1px rgba(0, 0, 0, 0.5); }
38 38
39button.nj-skinned:active { background-image: -webkit-linear-gradient(top, #3c3c3c 0%, #505050 100%); } 39button.nj-skinned:active, button.nj-skinned.active { background-image: -webkit-linear-gradient(top, #3c3c3c 0%, #505050 100%); }
40 40
41button.nj-skinned:hover { -webkit-box-shadow: 0px 0px 3px #b4b4b4; } 41button.nj-skinned:hover { -webkit-box-shadow: 0px 0px 3px #b4b4b4; }
42 42
@@ -210,6 +210,10 @@ body { position: absolute; margin: 0px; width: 100%; height: 100%; background-co
210 210
211#mainContent .CodeMirror-scroll { height: 100%; overflow: scroll; overflow-x: auto; overflow-y: auto; } 211#mainContent .CodeMirror-scroll { height: 100%; overflow: scroll; overflow-x: auto; overflow-y: auto; }
212 212
213.montage-editor-frame { position: absolute; z-index: 7; top: 0; left: 0; display: none; -webkit-user-select: initial; }
214
215.montage-editor { padding: 0px; word-wrap: normal; }
216
213.panelContainer { margin: 0px; padding: 0px 0px; position: relative; overflow: auto; } 217.panelContainer { margin: 0px; padding: 0px 0px; position: relative; overflow: auto; }
214 218
215.panelDisclosureIcon { background-image: url("../images/panels/panelDisclosureIcon.png"); background-repeat: no-repeat; width: 16px; height: 16px; float: left; -webkit-transition-property: rotate; -webkit-transition-duration: 0.2s; -webkit-transition-timing-function: linear; padding-right: 2px; } 219.panelDisclosureIcon { background-image: url("../images/panels/panelDisclosureIcon.png"); background-repeat: no-repeat; width: 16px; height: 16px; float: left; -webkit-transition-property: rotate; -webkit-transition-duration: 0.2s; -webkit-transition-timing-function: linear; padding-right: 2px; }
diff --git a/js/components/button.reel/button.js b/js/components/button.reel/button.js
index ce5ac1af..2d26c8b4 100644
--- a/js/components/button.reel/button.js
+++ b/js/components/button.reel/button.js
@@ -179,7 +179,7 @@ var Button = exports.Button = Montage.create(Component, {
179 value: function() { 179 value: function() {
180 if(this.isToggleButton) 180 if(this.isToggleButton)
181 { 181 {
182 if(this._value) 182 if(this._value === true)
183 { 183 {
184 this.element.classList.remove(this.offState); 184 this.element.classList.remove(this.offState);
185 this.element.classList.add(this.onState); 185 this.element.classList.add(this.onState);
diff --git a/js/components/tools-properties/text-properties.reel/text-properties.css b/js/components/tools-properties/text-properties.reel/text-properties.css
index d581c6c3..6aa61812 100644
--- a/js/components/tools-properties/text-properties.reel/text-properties.css
+++ b/js/components/tools-properties/text-properties.reel/text-properties.css
@@ -5,29 +5,33 @@
5 </copyright> */ 5 </copyright> */
6 6
7.optionsTextTool { 7.optionsTextTool {
8 display: -webkit-box; 8 padding: 6px;
9 -webkit-box-orient:horizontal;
10 -webkit-box-align: stretch;
11 padding: 5px;
12} 9}
13 10
14 11.optionsTextTool .btnGroup {
15.optionsTextTool > * { 12 padding: 0px 8px;
16 -webkit-box-flex:0;
17} 13}
18 14
19.optionsTextTool .button { 15.optionsTextTool > *, .optionsTextTool .btnGroup > * {
20 width: auto; 16 float:left;
21
22} 17}
23 18
24.optionsTextTool .hottextunit { 19.optionsTextTool button {
25 padding-top:5px; 20 width: auto;
21 padding: 4px 8px !important;
22 margin-left:4px;
26} 23}
27 24
28.optionsTextTool .label, .optionsTextTool .hottextunit { 25.optionsTextTool .label, .optionsTextTool .hottextunit {
29 float:none;
30 font-size:11px; 26 font-size:11px;
31} 27}
32 28
29.optionsTextTool .fontSelection {
30 width:100px;
31}
33 32
33.optionsTextTool .fontColor {
34 width: 20px;
35 height: 18px;
36 margin: 2px 6px;
37} \ No newline at end of file
diff --git a/js/components/tools-properties/text-properties.reel/text-properties.html b/js/components/tools-properties/text-properties.reel/text-properties.html
index fb57c06d..7ded1236 100644
--- a/js/components/tools-properties/text-properties.reel/text-properties.html
+++ b/js/components/tools-properties/text-properties.reel/text-properties.html
@@ -33,8 +33,8 @@
33 "alignCenter": {"@": "alignCenter"}, 33 "alignCenter": {"@": "alignCenter"},
34 "alignRight": {"@": "alignRight"}, 34 "alignRight": {"@": "alignRight"},
35 "alignJustify": {"@": "alignJustify"}, 35 "alignJustify": {"@": "alignJustify"},
36 "indentRight": {"@": "indentRight"}, 36 "indent": {"@": "indent"},
37 "indentLeft": {"@": "indentLeft"}, 37 "outdent": {"@": "outdent"},
38 "numberedList": {"@": "numberedList"}, 38 "numberedList": {"@": "numberedList"},
39 "bulletedList": {"@": "bulletedList"} 39 "bulletedList": {"@": "bulletedList"}
40 } 40 }
@@ -57,8 +57,16 @@
57 "module": "js/components/combobox.reel", 57 "module": "js/components/combobox.reel",
58 "name": "Combobox", 58 "name": "Combobox",
59 "properties": { 59 "properties": {
60 "element": {"#": "fontSelection"} 60 "element": {"#": "fontSelection"},
61 } 61 "identifier": "fontSelection"
62 },
63 "listeners": [
64 {
65 "type": "change",
66 "listener": {"@": "owner"}
67 }
68 ]
69
62 }, 70 },
63 "fontSettings": { 71 "fontSettings": {
64 "module": "js/components/button.reel", 72 "module": "js/components/button.reel",
@@ -69,131 +77,226 @@
69 }, 77 },
70 78
71 "fontSize": { 79 "fontSize": {
72 "module": "js/components/hottextunit.reel", 80 "module": "js/components/combobox.reel",
73 "name": "HotTextUnit", 81 "name": "Combobox",
74 "properties": { 82 "properties": {
75 "element": {"#": "fontSize"} 83 "element": {"#": "fontSize"},
76 } 84 "identifier": "fontSize"
77 }, 85 },
86 "listeners": [
87 {
88 "type": "change",
89 "listener": {"@": "owner"}
90 }
91 ]
78 92
79 "fontColor": {
80 "module": "js/components/button.reel",
81 "name": "Button",
82 "properties": {
83 "element": {"#": "fontColor"}
84 }
85 }, 93 },
94
86 "btnBold": { 95 "btnBold": {
87 "module": "js/components/button.reel", 96 "module": "montage/ui/toggle-button.reel",
88 "name": "Button", 97 "name": "ToggleButton",
89 "properties": { 98 "properties": {
90 "element": {"#": "btnBold"}, 99 "element": {"#": "btnBold"},
91 "_isToggleButton": true 100 "pressedClass": "active",
92 } 101 "preventFocus": true,
102 "identifier": "btnBold",
103 "label": "B"
104 },
105 "listeners": [
106 {
107 "type": "action",
108 "listener": {"@": "owner"}
109 }
110 ]
93 }, 111 },
94 "btnItalic": { 112 "btnItalic": {