aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rwxr-xr-xjs/controllers/elements/component-controller.js13
-rwxr-xr-xjs/controllers/selection-controller.js30
-rw-r--r--js/document/templates/montage-html/main.reel/main.js43
-rwxr-xr-xjs/helper-classes/3D/snap-manager.js21
-rwxr-xr-xjs/panels/Components/ComponentsPanelBase.reel/ComponentsPanelBase.js81
-rw-r--r--node_modules/components-data/feed-reader.json15
-rw-r--r--node_modules/components-data/map.json28
-rw-r--r--node_modules/components-data/picasa-carousel.json20
-rw-r--r--node_modules/components-data/searchfield.json20
-rw-r--r--node_modules/components-data/textfield.json4
-rw-r--r--node_modules/components-data/youtube-channel.json16
-rw-r--r--node_modules/montage/examples/feed-reader/images/07-map-marker.pngbin0 -> 3131 bytes
-rw-r--r--node_modules/montage/examples/feed-reader/images/10-medical.pngbin0 -> 2915 bytes
-rw-r--r--node_modules/montage/examples/feed-reader/images/100-coffee.pngbin0 -> 2958 bytes
-rw-r--r--node_modules/montage/examples/feed-reader/images/107-widescreen.pngbin0 -> 2986 bytes
-rw-r--r--node_modules/montage/examples/feed-reader/images/125-food.pngbin0 -> 3038 bytes
-rw-r--r--node_modules/montage/examples/feed-reader/images/142-wine-bottle.pngbin0 -> 187 bytes
-rw-r--r--node_modules/montage/examples/feed-reader/images/34-coffee.pngbin0 -> 3052 bytes
-rw-r--r--node_modules/montage/examples/feed-reader/images/35-shopping.pngbin0 -> 2970 bytes
-rw-r--r--node_modules/montage/examples/feed-reader/images/38-airplane.pngbin0 -> 3004 bytes
-rw-r--r--node_modules/montage/examples/feed-reader/images/41-picture-frame.pngbin0 -> 2928 bytes
-rw-r--r--node_modules/montage/examples/feed-reader/images/47-fuel.pngbin0 -> 3091 bytes
-rw-r--r--node_modules/montage/examples/feed-reader/images/48-fork-and-knife.pngbin0 -> 2882 bytes
-rw-r--r--node_modules/montage/examples/feed-reader/images/80-shopping-cart.pngbin0 -> 2963 bytes
-rw-r--r--node_modules/montage/examples/feed-reader/images/87-wine-glass.pngbin0 -> 2983 bytes
-rw-r--r--node_modules/montage/examples/feed-reader/images/88-beer-mug.pngbin0 -> 3087 bytes
-rw-r--r--node_modules/montage/examples/feed-reader/index.html81
-rw-r--r--node_modules/montage/examples/feed-reader/main.reel/main.html238
-rw-r--r--node_modules/montage/examples/feed-reader/main.reel/main.js55
-rw-r--r--node_modules/montage/examples/feed-reader/map-example.reel/main.css2
-rw-r--r--node_modules/montage/examples/feed-reader/map-example.reel/main.html58
-rw-r--r--node_modules/montage/examples/feed-reader/map-example.reel/main.js24
-rw-r--r--node_modules/montage/examples/feed-reader/package.json10
-rwxr-xr-xnode_modules/montage/examples/youtube-channel-example/index.html45
-rwxr-xr-xnode_modules/montage/examples/youtube-channel-example/package.json7
-rwxr-xr-xnode_modules/montage/examples/youtube-channel-example/style.css47
-rwxr-xr-xnode_modules/montage/examples/youtube-channel-example/youtube-channel-example.js8
-rwxr-xr-xnode_modules/montage/lab/sandbox/ui/picasa-carousel-test/index.html77
-rwxr-xr-xnode_modules/montage/lab/sandbox/ui/picasa-carousel-test/main.reel/main.css7
-rwxr-xr-xnode_modules/montage/lab/sandbox/ui/picasa-carousel-test/main.reel/main.html75
-rwxr-xr-xnode_modules/montage/lab/sandbox/ui/picasa-carousel-test/main.reel/main.js35
-rwxr-xr-xnode_modules/montage/lab/sandbox/ui/picasa-carousel-test/package.json10
-rwxr-xr-xnode_modules/montage/test/ui/youtube-player-spec.js363
-rw-r--r--node_modules/montage/test/ui/youtube-player-test/youtube-player-test.html47
-rwxr-xr-xnode_modules/montage/test/ui/youtube-player-test/youtube-player-test.js9
-rw-r--r--node_modules/montage/ui/feed-reader/feed-entry.reel/feed-entry.html89
-rw-r--r--node_modules/montage/ui/feed-reader/feed-entry.reel/feed-entry.js21
-rw-r--r--node_modules/montage/ui/feed-reader/feed-reader.reel/feed-reader.html77
-rw-r--r--node_modules/montage/ui/feed-reader/feed-reader.reel/feed-reader.js158
-rw-r--r--node_modules/montage/ui/flow.reel/flow.html2
-rw-r--r--node_modules/montage/ui/flow.reel/flow.js2
-rw-r--r--node_modules/montage/ui/map.reel/map.css9
-rw-r--r--node_modules/montage/ui/map.reel/map.html46
-rw-r--r--node_modules/montage/ui/map.reel/map.js289
-rw-r--r--node_modules/montage/ui/picasa-carousel.reel/image.reel/image.html40
-rw-r--r--node_modules/montage/ui/picasa-carousel.reel/image.reel/image.js20
-rwxr-xr-xnode_modules/montage/ui/picasa-carousel.reel/picasa-carousel.css44
-rwxr-xr-xnode_modules/montage/ui/picasa-carousel.reel/picasa-carousel.html144
-rw-r--r--node_modules/montage/ui/picasa-carousel.reel/picasa-carousel.js134
-rwxr-xr-xnode_modules/montage/ui/template.js6
-rw-r--r--node_modules/montage/ui/text-input.js22
-rw-r--r--node_modules/montage/ui/youtube-channel.reel/youtube-channel.html100
-rw-r--r--node_modules/montage/ui/youtube-channel.reel/youtube-channel.js210
-rw-r--r--node_modules/montage/ui/youtube-player.reel/youtube-player.html25
-rw-r--r--node_modules/montage/ui/youtube-player.reel/youtube-player.js216
65 files changed, 3093 insertions, 50 deletions
diff --git a/js/controllers/elements/component-controller.js b/js/controllers/elements/component-controller.js
index 83450d0f..260ee8a0 100755
--- a/js/controllers/elements/component-controller.js
+++ b/js/controllers/elements/component-controller.js
@@ -11,6 +11,8 @@ exports.ComponentController = Montage.create(ElementController, {
11 11
12 getProperty: { 12 getProperty: {
13 value: function(el, prop) { 13 value: function(el, prop) {
14 var component = el.controller || this.application.ninja.currentDocument.getComponentFromElement(el);
15
14 switch(prop) { 16 switch(prop) {
15 case "id": 17 case "id":
16 case "class": 18 case "class":
@@ -19,18 +21,20 @@ exports.ComponentController = Montage.create(ElementController, {
19 case "width": 21 case "width":
20 case "height": 22 case "height":
21 if(el.nodeName === "IMG" && (prop === "width" || prop === "height")) { 23 if(el.nodeName === "IMG" && (prop === "width" || prop === "height")) {
22 return this.application.ninja.currentDocument.getComponentFromElement(el)[prop]; 24 return component[prop];
23 } else { 25 } else {
24 return ElementController.getProperty(el, prop, true); 26 return ElementController.getProperty(el, prop, true);
25 } 27 }
26 default: 28 default:
27 return this.application.ninja.currentDocument.getComponentFromElement(el)[prop]; 29 return component[prop];
28 } 30 }
29 } 31 }
30 }, 32 },
31 33
32 setProperty: { 34 setProperty: {
33 value: function(el, p, value) { 35 value: function(el, p, value) {
36 var component = el.controller || this.application.ninja.currentDocument.getComponentFromElement(el);
37
34 switch(p) { 38 switch(p) {
35 case "id": 39 case "id":
36 case "class": 40 case "class":
@@ -39,15 +43,14 @@ exports.ComponentController = Montage.create(ElementController, {
39 case "width": 43 case "width":
40 case "height": 44 case "height":
41 if(el.nodeName === "IMG" && (p === "width" || p === "height")) { 45 if(el.nodeName === "IMG" && (p === "width" || p === "height")) {
42 this.application.ninja.currentDocument.getComponentFromElement(el)[p] = value; 46 component[p] = value;
43 } else { 47 } else {
44 ElementController.setProperty(el, p, value); 48 ElementController.setProperty(el, p, value);
45 } 49 }
46 break; 50 break;
47 default: 51 default:
48 if(p === "min" || p === "max") value = parseFloat(value); 52 if(p === "min" || p === "max") value = parseFloat(value);
49 53 component[p] = value;
50 this.application.ninja.currentDocument.getComponentFromElement(el)[p] = value;
51 break; 54 break;
52 55
53 } 56 }
diff --git a/js/controllers/selection-controller.js b/js/controllers/selection-controller.js
index 154fb7f8..5091f99a 100755
--- a/js/controllers/selection-controller.js
+++ b/js/controllers/selection-controller.js
@@ -6,7 +6,8 @@ No rights, expressed or implied, whatsoever to this software are provided by Mot
6 6
7 7
8var Montage = require("montage/core/core").Montage, 8var Montage = require("montage/core/core").Montage,
9 Component = require("montage/ui/component").Component; 9 Component = require("montage/ui/component").Component,
10 NJUtils = require("js/lib/NJUtils").NJUtils;
10 11
11exports.SelectionController = Montage.create(Component, { 12exports.SelectionController = Montage.create(Component, {
12 13
@@ -154,6 +155,33 @@ exports.SelectionController = Montage.create(Component, {
154 this._isDocument = true; 155 this._isDocument = true;
155 } 156 }
156 157
158 if(item && item.controller && !item.elementModel.isComponent) {
159 var componentInfo = Montage.getInfoForObject(item.controller);
160 var componentName = componentInfo.objectName.toLowerCase();
161 switch(componentName) {
162 case "feedreader":
163 NJUtils.makeElementModel(item, "Feed Reader", "component", false);
164 item.elementModel.pi = "FeedReaderPi";
165 item.elementModel.isComponent = true;
166 break;
167 case "map":
168 NJUtils.makeElementModel(item, "Map", "component", false);
169 item.elementModel.pi = "MapPi";
170 item.elementModel.isComponent = true;
171 break;
172 case "youtubechannel":
173 NJUtils.makeElementModel(item, "Youtube Channel", "component", false);
174 item.elementModel.pi = "YoutubeChannelPi";