diff options
Diffstat (limited to 'js/document/models')
-rwxr-xr-x | js/document/models/base.js | 35 | ||||
-rwxr-xr-x | js/document/models/html.js | 11 | ||||
-rwxr-xr-x | js/document/models/text.js | 3 |
3 files changed, 37 insertions, 12 deletions
diff --git a/js/document/models/base.js b/js/document/models/base.js index 6d9d2e89..0957145a 100755 --- a/js/document/models/base.js +++ b/js/document/models/base.js | |||
@@ -62,6 +62,20 @@ exports.BaseDocumentModel = Montage.create(Component, { | |||
62 | }, | 62 | }, |
63 | //////////////////////////////////////////////////////////////////// | 63 | //////////////////////////////////////////////////////////////////// |
64 | // | 64 | // |
65 | _selection: { | ||
66 | value: [] | ||
67 | }, | ||
68 | |||
69 | selection: { | ||
70 | get: function() { | ||
71 | return this._selection; | ||
72 | }, | ||
73 | set: function(value) { | ||
74 | this._selection = value; | ||
75 | } | ||
76 | }, | ||
77 | //////////////////////////////////////////////////////////////////// | ||
78 | // | ||
65 | fileTemplate: { | 79 | fileTemplate: { |
66 | value: null | 80 | value: null |
67 | }, | 81 | }, |
@@ -85,11 +99,20 @@ exports.BaseDocumentModel = Montage.create(Component, { | |||
85 | //////////////////////////////////////////////////////////////////// | 99 | //////////////////////////////////////////////////////////////////// |
86 | //TODO: Add API to allow other browser support | 100 | //TODO: Add API to allow other browser support |
87 | browserPreview: { | 101 | browserPreview: { |
88 | value: function (browser) { | 102 | value: function (browser, screen, context) { |
103 | //Making call to show feedback screen | ||
104 | if (screen) screen.show(context); | ||
89 | //Generating URL for document | 105 | //Generating URL for document |
90 | var url = this.application.ninja.coreIoApi.rootUrl + this.file.uri.split(this.application.ninja.coreIoApi.cloudData.root)[1]; | 106 | var url = this.application.ninja.coreIoApi.rootUrl + this.file.uri.split(this.application.ninja.coreIoApi.cloudData.root)[1]; |
91 | //TODO: Add logic to prompt user to save (all) before preview | 107 | //TODO: Add logic to prompt user to save (all) before preview |
92 | this.saveAll(function (result) { | 108 | this.saveAll(null,function (success) { |
109 | //Making call to show feedback screen | ||
110 | if (screen) screen.hide(context); | ||
111 | //TODO: Add error handling logic | ||
112 | if (!success) { | ||
113 | console.log('Error!'); | ||
114 | return; | ||
115 | } | ||
93 | //Currently only supporting current browser (Chrome, obviously) | 116 | //Currently only supporting current browser (Chrome, obviously) |
94 | switch (this.browser) { | 117 | switch (this.browser) { |
95 | case 'chrome': | 118 | case 'chrome': |
@@ -131,7 +154,7 @@ exports.BaseDocumentModel = Montage.create(Component, { | |||
131 | //////////////////////////////////////////////////////////////////// | 154 | //////////////////////////////////////////////////////////////////// |
132 | // | 155 | // |
133 | save: { | 156 | save: { |
134 | value: function (callback) { | 157 | value: function (callback, libCopyCallback) { |
135 | // | 158 | // |
136 | if (this.needsSave) { | 159 | if (this.needsSave) { |
137 | //Save | 160 | //Save |
@@ -151,7 +174,7 @@ exports.BaseDocumentModel = Montage.create(Component, { | |||
151 | head: this.views.design.iframe.contentWindow.document.head, | 174 | head: this.views.design.iframe.contentWindow.document.head, |
152 | body: this.views.design.iframe.contentWindow.document.body, | 175 | body: this.views.design.iframe.contentWindow.document.body, |
153 | mjsTemplateCreator: this.views.design.iframe.contentWindow.mjsTemplateCreator | 176 | mjsTemplateCreator: this.views.design.iframe.contentWindow.mjsTemplateCreator |
154 | }, this.handleSaved.bind({callback: callback, model: this})); | 177 | }, this.handleSaved.bind({callback: callback, model: this}), libCopyCallback); |
155 | } else { | 178 | } else { |
156 | //TODO: Add logic to save code view data | 179 | //TODO: Add logic to save code view data |
157 | } | 180 | } |
@@ -160,7 +183,7 @@ exports.BaseDocumentModel = Montage.create(Component, { | |||
160 | //////////////////////////////////////////////////////////////////// | 183 | //////////////////////////////////////////////////////////////////// |
161 | // | 184 | // |
162 | saveAll: { | 185 | saveAll: { |
163 | value: function (callback) { | 186 | value: function (callback, libCopyCallback) { |
164 | // | 187 | // |
165 | if (this.needsSave) { | 188 | if (this.needsSave) { |
166 | //Save | 189 | //Save |
@@ -180,7 +203,7 @@ exports.BaseDocumentModel = Montage.create(Component, { | |||
180 | head: this.views.design.iframe.contentWindow.document.head, | 203 | head: this.views.design.iframe.contentWindow.document.head, |
181 | body: this.views.design.iframe.contentWindow.document.body, | 204 | body: this.views.design.iframe.contentWindow.document.body, |
182 | mjsTemplateCreator: this.views.design.iframe.contentWindow.mjsTemplateCreator | 205 | mjsTemplateCreator: this.views.design.iframe.contentWindow.mjsTemplateCreator |
183 | }, this.handleSaved.bind({callback: callback, model: this})); | 206 | }, this.handleSaved.bind({callback: callback, model: this}), libCopyCallback); |
184 | } else { | 207 | } else { |
185 | //TODO: Add logic to save code view data | 208 | //TODO: Add logic to save code view data |
186 | } | 209 | } |
diff --git a/js/document/models/html.js b/js/document/models/html.js index fd42d4de..9aa0d27e 100755 --- a/js/document/models/html.js +++ b/js/document/models/html.js | |||
@@ -18,9 +18,12 @@ exports.HtmlDocumentModel = Montage.create(BaseDocumentModel, { | |||
18 | value: false | 18 | value: false |
19 | }, | 19 | }, |
20 | //////////////////////////////////////////////////////////////////// | 20 | //////////////////////////////////////////////////////////////////// |
21 | // | 21 | //Called by the document immidiately after the model is created |
22 | selection: { | 22 | init: { |
23 | value: [] | 23 | value:function() { |
24 | //Creating instance of the webGL helper for this model | ||
25 | this.webGlHelper = webGlDocumentHelper.create(); | ||
26 | } | ||
24 | }, | 27 | }, |
25 | //////////////////////////////////////////////////////////////////// | 28 | //////////////////////////////////////////////////////////////////// |
26 | // | 29 | // |
@@ -57,7 +60,7 @@ exports.HtmlDocumentModel = Montage.create(BaseDocumentModel, { | |||
57 | //////////////////////////////////////////////////////////////////// | 60 | //////////////////////////////////////////////////////////////////// |
58 | // | 61 | // |
59 | webGlHelper: { | 62 | webGlHelper: { |
60 | value: webGlDocumentHelper | 63 | value: null |
61 | }, | 64 | }, |
62 | //////////////////////////////////////////////////////////////////// | 65 | //////////////////////////////////////////////////////////////////// |
63 | // | 66 | // |
diff --git a/js/document/models/text.js b/js/document/models/text.js index d1252b7d..6cb61d48 100755 --- a/js/document/models/text.js +++ b/js/document/models/text.js | |||
@@ -22,7 +22,7 @@ exports.TextDocumentModel = Montage.create(BaseDocumentModel, { | |||
22 | save: { | 22 | save: { |
23 | enumerable: false, | 23 | enumerable: false, |
24 | value: function (callback) { | 24 | value: function (callback) { |
25 | this.application.ninja.documentController.activeDocument.model.views.code.editor.save();//save to textarea | 25 | this.application.ninja.currentDocument.model.views.code.editor.save();//save to textarea |
26 | 26 | ||
27 | var self = this; | 27 | var self = this; |
28 | 28 | ||
@@ -60,7 +60,6 @@ exports.TextDocumentModel = Montage.create(BaseDocumentModel, { | |||
60 | } | 60 | } |
61 | // | 61 | // |
62 | this.parentContainer.removeChild(this.views.code.textViewContainer); | 62 | this.parentContainer.removeChild(this.views.code.textViewContainer); |
63 | this.application.ninja.stage.showCodeViewBar(false); | ||
64 | this.application.ninja.stage.restoreAllPanels(); | 63 | this.application.ninja.stage.restoreAllPanels(); |
65 | this.views.code = null; | 64 | this.views.code = null; |
66 | 65 | ||