diff options
Diffstat (limited to 'js')
-rw-r--r-- | js/code-editor/code-editor-wrapper.js | 6 | ||||
-rw-r--r-- | js/code-editor/ui/code-editor-view-options.reel/code-editor-view-options.js | 2 | ||||
-rwxr-xr-x | js/components/layout/document-bar.reel/document-bar.html | 19 | ||||
-rwxr-xr-x | js/components/layout/document-bar.reel/document-bar.js | 289 | ||||
-rwxr-xr-x | js/controllers/document-controller.js | 8 | ||||
-rwxr-xr-x | js/document/document-html.js | 71 | ||||
-rwxr-xr-x | js/document/document-text.js | 4 | ||||
-rwxr-xr-x | js/document/mediators/template.js | 12 | ||||
-rwxr-xr-x | js/document/models/base.js | 22 | ||||
-rw-r--r-- | js/document/views/design-code.js | 130 |
10 files changed, 419 insertions, 144 deletions
diff --git a/js/code-editor/code-editor-wrapper.js b/js/code-editor/code-editor-wrapper.js index 57fe4d3a..65f42db2 100644 --- a/js/code-editor/code-editor-wrapper.js +++ b/js/code-editor/code-editor-wrapper.js | |||
@@ -131,6 +131,12 @@ exports.CodeEditorWrapper = Montage.create(Component, { | |||
131 | this.application.ninja.editorViewOptions.codeEditorWrapper = this; | 131 | this.application.ninja.editorViewOptions.codeEditorWrapper = this; |
132 | } | 132 | } |
133 | 133 | ||
134 | //TODO:add codeEditorWrapper | ||
135 | if(!this.application.ninja.documentBar.codeEditorWrapper){ | ||
136 | this.application.ninja.documentBar.codeEditorWrapper = this; | ||
137 | } | ||
138 | |||
139 | |||
134 | editorOptions = { | 140 | editorOptions = { |
135 | lineNumbers: true, | 141 | lineNumbers: true, |
136 | matchBrackets:true, | 142 | matchBrackets:true, |
diff --git a/js/code-editor/ui/code-editor-view-options.reel/code-editor-view-options.js b/js/code-editor/ui/code-editor-view-options.reel/code-editor-view-options.js index 9344d34c..e2632d35 100644 --- a/js/code-editor/ui/code-editor-view-options.reel/code-editor-view-options.js +++ b/js/code-editor/ui/code-editor-view-options.reel/code-editor-view-options.js | |||
@@ -51,7 +51,7 @@ exports.CodeEditorViewOptions = Montage.create(Component, { | |||
51 | 51 | ||
52 | this._currentDocument = value; | 52 | this._currentDocument = value; |
53 | 53 | ||
54 | if(!value || this._currentDocument.currentView === "design") { | 54 | if(!value || (this._currentDocument.currentView === "design") || ((this._currentDocument.model.views.design !== null))) { |
55 | this.visible = false; | 55 | this.visible = false; |
56 | } else { | 56 | } else { |
57 | this.visible = true; | 57 | this.visible = true; |
diff --git a/js/components/layout/document-bar.reel/document-bar.html b/js/components/layout/document-bar.reel/document-bar.html index 9e5e4eb2..3e3ac936 100755 --- a/js/components/layout/document-bar.reel/document-bar.html +++ b/js/components/layout/document-bar.reel/document-bar.html | |||
@@ -75,20 +75,17 @@ POSSIBILITY OF SUCH DAMAGE. | |||
75 | "element": {"#": "previewButton"}, | 75 | "element": {"#": "previewButton"}, |
76 | "identifier": "preview", | 76 | "identifier": "preview", |
77 | "label": "Preview" | 77 | "label": "Preview" |
78 | }, | 78 | } |
79 | "listeners": [ | ||
80 | { | ||
81 | "type": "action", | ||
82 | "listener": {"@": "owner"} | ||
83 | } | ||
84 | ] | ||
85 | }, | 79 | }, |
86 | 80 | ||
87 | "owner": { | 81 | "owner": { |
88 | "prototype": "js/components/layout/document-bar.reel", | 82 | "prototype": "js/components/layout/document-bar.reel", |
89 | "properties": { | 83 | "properties": { |
90 | "element": {"#": "documentBar"}, | 84 | "element": {"#": "documentBar"}, |
91 | "zoomControl": {"@": "hottext1"} | 85 | "zoomControl": {"@": "hottext1"}, |
86 | "btnDesign": {"#": "buttonDesign"}, | ||
87 | "btnCode": {"#": "buttonCode"}, | ||
88 | "btnPreview": {"#": "buttonPreview"} | ||
92 | } | 89 | } |
93 | } | 90 | } |
94 | } | 91 | } |
@@ -108,7 +105,7 @@ POSSIBILITY OF SUCH DAMAGE. | |||
108 | 105 | ||
109 | </section> | 106 | </section> |
110 | 107 | ||
111 | <section> | 108 | <section data-montage-id="buttonDesign"> |
112 | 109 | ||
113 | <div class="viewicon viewdesign"></div> | 110 | <div class="viewicon viewdesign"></div> |
114 | 111 | ||
@@ -116,7 +113,7 @@ POSSIBILITY OF SUCH DAMAGE. | |||
116 | 113 | ||
117 | </section> | 114 | </section> |
118 | 115 | ||
119 | <section class="inactive"> | 116 | <section data-montage-id="buttonCode"> |
120 | 117 | ||
121 | <div class="viewicon viewcode"></div> | 118 | <div class="viewicon viewcode"></div> |
122 | 119 | ||
@@ -124,7 +121,7 @@ POSSIBILITY OF SUCH DAMAGE. | |||
124 | 121 | ||
125 | </section> | 122 | </section> |
126 | 123 | ||
127 | <section class="inactive"> | 124 | <section data-montage-id="buttonPreview" class="inactive"> |
128 | 125 | ||
129 | <div class="viewicon viewPreview"></div> | 126 | <div class="viewicon viewPreview"></div> |
130 | 127 | ||
diff --git a/js/components/layout/document-bar.reel/document-bar.js b/js/components/layout/document-bar.reel/document-bar.js index fa0c8788..bf84c652 100755 --- a/js/components/layout/document-bar.reel/document-bar.js +++ b/js/components/layout/document-bar.reel/document-bar.js | |||
@@ -29,140 +29,157 @@ ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE | |||
29 | POSSIBILITY OF SUCH DAMAGE. | 29 | POSSIBILITY OF SUCH DAMAGE. |
30 | </copyright> */ | 30 | </copyright> */ |
31 | 31 | ||
32 | var Montage = require("montage/core/core").Montage; | 32 | //////////////////////////////////////////////////////////////////////// |
33 | var Component = require("montage/ui/component").Component; | 33 | // |
34 | 34 | var Montage = require("montage/core/core").Montage, | |
35 | Component = require("montage/ui/component").Component; | ||
36 | //////////////////////////////////////////////////////////////////////// | ||
37 | // | ||
35 | exports.DocumentBar = Montage.create(Component, { | 38 | exports.DocumentBar = Montage.create(Component, { |
36 | 39 | //////////////////////////////////////////////////////////////////// | |
37 | _currentDocument: { | 40 | // |
38 | enumerable: false, | 41 | _currentDocument: {value: null}, |
39 | value: null | 42 | //////////////////////////////////////////////////////////////////// |
40 | }, | 43 | // |
41 | |||
42 | currentDocument: { | 44 | currentDocument: { |
43 | enumerable: false, | 45 | get: function() {return this._currentDocument;}, |
44 | get: function() { | ||
45 | return this._currentDocument; | ||
46 | }, | ||
47 | set: function(value) { | 46 | set: function(value) { |
47 | // | ||
48 | if (value === this._currentDocument) { | 48 | if (value === this._currentDocument) { |
49 | return; | 49 | return; |
50 | } | 50 | } |
51 | 51 | // | |
52 | this._currentDocument = value; | 52 | this._currentDocument = value; |
53 | |||
54 | this.disabled = !this._currentDocument; | 53 | this.disabled = !this._currentDocument; |
54 | // | ||
55 | if(this._currentDocument && this._currentDocument.model && this._currentDocument.model.currentView === this._currentDocument.model.views.design) { | ||
56 | this.btnCode.setAttribute('class', 'inactive'); | ||
57 | this.btnDesign.removeAttribute('class'); | ||
58 | } else if(this._currentDocument && this._currentDocument.model && this._currentDocument.model.currentView === this._currentDocument.model.views.code) { | ||
59 | this.btnDesign.setAttribute('class', 'inactive'); | ||
60 | this.btnCode.removeAttribute('class'); | ||
61 | } | ||
62 | // | ||
63 | this.visible = true; | ||
55 | 64 | ||
56 | if(this._currentDocument && this._currentDocument.currentView === "design") { | 65 | //TODO: check if the code's options bar can be unified |
57 | this.visible = true; | 66 | if(this._currentDocument && this._currentDocument.model && (this._currentDocument.model.views.design === null) && (this._currentDocument.model.views.code !== null)){ |
58 | } else if(this._currentDocument && this._currentDocument.currentView === "code") { | ||
59 | this.visible = false; | 67 | this.visible = false; |
60 | } | 68 | } |
61 | } | 69 | } |
62 | }, | 70 | }, |
63 | 71 | //////////////////////////////////////////////////////////////////// | |
64 | _visible: { | 72 | // |
65 | value: false | 73 | _codeEditorWrapper:{ |
74 | value: null | ||
66 | }, | 75 | }, |
67 | 76 | //////////////////////////////////////////////////////////////////// | |
68 | visible: { | 77 | // |
69 | get: function() { | 78 | codeEditorWrapper:{ |
70 | return this._visible; | 79 | get: function() {return this._codeEditorWrapper;}, |
71 | }, | ||
72 | set: function(value) { | 80 | set: function(value) { |
73 | if(this._visible !== value) { | 81 | // |
74 | this._visible = value; | 82 | if(this._codeEditorWrapper !== value){ |
75 | this.needsDraw = true; | 83 | this._codeEditorWrapper = value; |
76 | } | 84 | } |
77 | } | 85 | } |
78 | }, | 86 | }, |
79 | 87 | //////////////////////////////////////////////////////////////////// | |
80 | designView: { | 88 | // |
89 | btnCode: { | ||
81 | value: null | 90 | value: null |
82 | }, | 91 |