aboutsummaryrefslogtreecommitdiff
path: root/js/document/models/base.js
diff options
context:
space:
mode:
Diffstat (limited to 'js/document/models/base.js')
-rwxr-xr-xjs/document/models/base.js448
1 files changed, 224 insertions, 224 deletions
diff --git a/js/document/models/base.js b/js/document/models/base.js
index 97992324..0bc86627 100755
--- a/js/document/models/base.js
+++ b/js/document/models/base.js
@@ -30,63 +30,63 @@ POSSIBILITY OF SUCH DAMAGE.
30 30
31//////////////////////////////////////////////////////////////////////// 31////////////////////////////////////////////////////////////////////////
32// 32//
33var Montage = require("montage/core/core").Montage, 33var Montage = require("montage/core/core").Montage,
34 Component = require("montage/ui/component").Component, 34 Component = require("montage/ui/component").Component,
35 NinjaPrompt = require("js/components/prompt.reel").NinjaPrompt; 35 NinjaPrompt = require("js/components/prompt.reel").NinjaPrompt;
36//////////////////////////////////////////////////////////////////////// 36////////////////////////////////////////////////////////////////////////
37// 37//
38exports.BaseDocumentModel = Montage.create(Component, { 38exports.BaseDocumentModel = Montage.create(Component, {
39 //////////////////////////////////////////////////////////////////// 39 ////////////////////////////////////////////////////////////////////
40 // 40 //
41 hasTemplate: { 41 hasTemplate: {
42 value: false 42 value: false
43 }, 43 },
44 //////////////////////////////////////////////////////////////////// 44 ////////////////////////////////////////////////////////////////////
45 // 45 //
46 _file: { 46 _file: {
47 value: null 47 value: null
48 }, 48 },
49 //////////////////////////////////////////////////////////////////// 49 ////////////////////////////////////////////////////////////////////
50 // 50 //
51 file: { 51 file: {
52 get: function() {return this._file;}, 52 get: function() {return this._file;},
53 set: function(value) {this._file = value;} 53 set: function(value) {this._file = value;}
54 }, 54 },
55 //////////////////////////////////////////////////////////////////// 55 ////////////////////////////////////////////////////////////////////
56 // 56 //
57 _isActive: { 57 _isActive: {
58 value: true 58 value: true
59 }, 59 },
60 //////////////////////////////////////////////////////////////////// 60 ////////////////////////////////////////////////////////////////////
61 // 61 //
62 isActive: { 62 isActive: {
63 get: function() {return this._isActive;}, 63 get: function() {return this._isActive;},
64 set: function(value) {this._isActive = value;} 64 set: function(value) {this._isActive = value;}
65 }, 65 },
66 //////////////////////////////////////////////////////////////////// 66 ////////////////////////////////////////////////////////////////////
67 // 67 //
68 _needsSave: { 68 _needsSave: {
69 value: null 69 value: null
70 }, 70 },
71 //////////////////////////////////////////////////////////////////// 71 ////////////////////////////////////////////////////////////////////
72 // 72 //
73 needsSave: { 73 needsSave: {
74 get: function() {return this._needsSave;}, 74 get: function() {return this._needsSave;},
75 set: function(value) {this._needsSave = value;} 75 set: function(value) {this._needsSave = value;}
76 }, 76 },
77 //////////////////////////////////////////////////////////////////// 77 ////////////////////////////////////////////////////////////////////
78 // 78 //
79 _currentView: { 79 _currentView: {
80 value: null 80 value: null
81 }, 81 },
82 //////////////////////////////////////////////////////////////////// 82 ////////////////////////////////////////////////////////////////////
83 // 83 //
84 currentView: { 84 currentView: {
85 get: function() {return this._currentView;}, 85 get: function() {return this._currentView;},
86 set: function(value) {this._currentView = value;} 86 set: function(value) {this._currentView = value;}
87 }, 87 },
88 //////////////////////////////////////////////////////////////////// 88 ////////////////////////////////////////////////////////////////////
89 // 89 //
90 _selection: { 90 _selection: {
91 value: [] 91 value: []
92 }, 92 },
@@ -105,18 +105,18 @@ exports.BaseDocumentModel = Montage.create(Component, {
105 value: null 105 value: null
106 }, 106 },
107 //////////////////////////////////////////////////////////////////// 107 ////////////////////////////////////////////////////////////////////
108 // 108 //
109 parentContainer: { 109 parentContainer: {
110 value: null 110 value: null
111 }, 111 },
112 //////////////////////////////////////////////////////////////////// 112 ////////////////////////////////////////////////////////////////////
113 // 113 //
114 views: { 114 views: {
115 value: null 115 value: null
116 }, 116 },
117 //////////////////////////////////////////////////////////////////// 117 ////////////////////////////////////////////////////////////////////
118 // 118 //
119 libs: { 119 libs: {
120 value: null 120 value: null
121 }, 121 },
122 122
@@ -133,233 +133,233 @@ exports.BaseDocumentModel = Montage.create(Component, {
133 } 133 }
134 }, 134 },
135 //////////////////////////////////////////////////////////////////// 135 ////////////////////////////////////////////////////////////////////
136 // 136 //
137 switchViewTo: { 137 switchViewTo: {
138 value: function (view) { 138 value: function (view) {
139 // 139 //
140 } 140 }
141 }, 141 },
142 //////////////////////////////////////////////////////////////////// 142 ////////////////////////////////////////////////////////////////////
143 //TODO: Add API to allow other browser support 143 //TODO: Add API to allow other browser support
144 browserPreview: { 144 browserPreview: {
145 value: function (browser, screen, context) { 145 value: function (browser, screen, context) {
146 //Making call to show feedback screen 146 //Making call to show feedback screen
147 if (screen) screen.show(context); 147 if (screen) screen.show(context);
148 //Generating URL for document 148 //Generating URL for document
149 var url = this.application.ninja.coreIoApi.rootUrl + this.file.uri.split(this.application.ninja.coreIoApi.cloudData.root)[1]; 149 var url = this.application.ninja.coreIoApi.rootUrl + this.file.uri.split(this.application.ninja.coreIoApi.cloudData.root)[1];
150 //TODO: Add logic to prompt user to save (all) before preview 150 //TODO: Add logic to prompt user to save (all) before preview
151 this.saveAll(null,function (success) { 151 this.saveAll(null,function (success) {
152 //Making call to show feedback screen 152 //Making call to show feedback screen
153 if (screen) screen.hide(context); 153 if (screen) screen.hide(context);
154 //TODO: Add error handling logic 154 //TODO: Add error handling logic
155 if (!success) { 155 if (!success) {
156 console.log('Error!'); 156 console.log('Error!');
157 return; 157 return;
158 } 158 }
159 //Currently only supporting current browser (Chrome, obviously) 159 //Currently only supporting current browser (Chrome, obviously)
160 switch (this.browser) { 160 switch (this.browser) {
161 case 'chrome': 161 case 'chrome':
162 if (this.template && (this.template.type === 'banner' || this.template.type === 'animation')) { 162 if (this.template && (this.template.type === 'banner' || this.template.type === 'animation')) {
163 window.open('/js/document/templates/preview/banner.html?width='+this.template.size.width+'&height='+this.template.size.height+'&url='+this.url); 163 window.open('/js/document/templates/preview/banner.html?width='+this.template.size.width+'&height='+this.template.size.height+'&url='+this.url);
164 } else { 164 } else {
165 window.open(this.url); 165 window.open(this.url);
166 } 166 }
167 break; 167 break;
168 default: 168 default:
169 if (this.template && (this.template.type === 'banner' || this.template.type === 'animation')) { 169 if (this.template && (this.template.type === 'banner' || this.template.type === 'animation')) {
170 window.open('/js/document/templates/preview/banner.html?width='+this.template.size.width+'&height='+this.template.size.height+'&url='+this.url); 170 window.open('/js/document/templates/preview/banner.html?width='+this.template.size.width+'&height='+this.template.size.height+'&url='+this.url);
171 } else { 171 } else {
172 window.open(this.url); 172 window.open(this.url);
173 } 173 }
174 break; 174 break;
175 } 175 }
176 }.bind({browser: browser, url: url, template: this.fileTemplate})); 176 }.bind({browser: browser, url: url, template: this.fileTemplate}));
177 } 177 }
178 }, 178 },
179 //////////////////////////////////////////////////////////////////// 179 ////////////////////////////////////////////////////////////////////
180 //Gets all stylesheets in document 180 //Gets all stylesheets in document
181 getStyleSheets: { 181 getStyleSheets: {
182 value: function () { 182 value: function () {
183 //Array to store styles (style and link tags) 183 //Array to store styles (style and link tags)
184 var styles = []; 184 var styles = [];
185 //Looping through document sytles 185 //Looping through document sytles
186 for (var k in this.views.design.iframe.contentWindow.document.styleSheets) { 186 for (var k in this.views.design.iframe.contentWindow.document.styleSheets) {
187 //Check for styles to has proper propeties 187 //Check for styles to has proper propeties
188 if (this.views.design.iframe.contentWindow.document.styleSheets[k].ownerNode && this.views.design.iframe.contentWindow.document.styleSheets[k].ownerNode.getAttribute) { 188 if (this.views.design.iframe.contentWindow.document.styleSheets[k].ownerNode && this.views.design.iframe.contentWindow.document.styleSheets[k].ownerNode.getAttribute) {
189 //Check for ninja-template styles, if so, exclude 189 //Check for ninja-template styles, if so, exclude
190 if (this.views.design.iframe.contentWindow.document.styleSheets[k].ownerNode.getAttribute('data-ninja-template') === null) { 190 if (this.views.design.iframe.contentWindow.document.styleSheets[k].ownerNode.getAttribute('data-ninja-template') === null) {
191 styles.push(this.views.design.iframe.contentWindow.document.styleSheets[k]); 191 styles.push(this.views.design.iframe.contentWindow.document.styleSheets[k]);
192 } 192 }
193 } 193 }
194 } 194 }
195 //Returning filtered results 195 //Returning filtered results
196 return styles; 196 return styles;
197 } 197 }
198 }, 198 },