From 9b8a24a7360416d5750828c9580e33dd336ff882 Mon Sep 17 00:00:00 2001 From: François Frisch Date: Fri, 16 Mar 2012 17:57:18 -0700 Subject: Getting ownerComponent bindings --- .../templates/montage-html/main.reel/main.js | 43 +++++++++++----------- node_modules/components-data/textfield.json | 4 ++ node_modules/montage/ui/text-input.js | 22 +++++++++++ 3 files changed, 48 insertions(+), 21 deletions(-) diff --git a/js/document/templates/montage-html/main.reel/main.js b/js/document/templates/montage-html/main.reel/main.js index 567f481c..ee23e844 100644 --- a/js/document/templates/montage-html/main.reel/main.js +++ b/js/document/templates/montage-html/main.reel/main.js @@ -17,7 +17,25 @@ exports.Main = Montage.create(Component, { */ templateDidLoad: { value: function(){ - window.addComponent = this.addComponentToUserDocument; + var self = this; + window.addComponent = function(element, data, callback) { + var component; + + component = require.async(data.path) + .then(function(component) { + var componentRequire = component[data.name]; + var componentInstance = componentRequire.create(); + + componentInstance.element = element; + //componentInstance.deserializedFromTemplate(); + componentInstance.needsDraw = true; + componentInstance.ownerComponent = self; + + callback(componentInstance, element); + }) + .end(); + + }; // window.addBinding = this.addBindingToUserDocument; // Dispatch event when this template has loaded. @@ -29,26 +47,9 @@ exports.Main = Montage.create(Component, { } }, - // Adding components to the user document by using a async require. - addComponentToUserDocument:{ - value:function(element, data, callback){ - - var component; - - component = require.async(data.path) - .then(function(component) { - var componentRequire = component[data.name]; - var componentInstance = componentRequire.create(); - - componentInstance.element = element; - //componentInstance.deserializedFromTemplate(); - componentInstance.needsDraw = true; - - callback(componentInstance, element); - }) - .end(); - - } + location: { + value:null, + enumerable:false } }); \ No newline at end of file diff --git a/node_modules/components-data/textfield.json b/node_modules/components-data/textfield.json index 7164b8b3..39c65eab 100644 --- a/node_modules/components-data/textfield.json +++ b/node_modules/components-data/textfield.json @@ -7,6 +7,10 @@ "properties": [ { + "name": "valueBinding", + "type": "string", + "default": null + },{ "name": "accept", "type": "string", "default": null diff --git a/node_modules/montage/ui/text-input.js b/node_modules/montage/ui/text-input.js index cdd20c78..d707fa69 100644 --- a/node_modules/montage/ui/text-input.js +++ b/node_modules/montage/ui/text-input.js @@ -79,6 +79,28 @@ var TextInput = exports.TextInput = Montage.create(NativeControl, { } }, + _valueBinding: { + value: null + }, + + valueBinding: { + get: function() { + return this._valueBinding; + }, + set: function(value) { + if (this._valueBinding !== value) { + if (this._valueBinding !== null) { + Object.deleteBinding(this, "value"); + } + this._valueBinding = value; + if (String.isString(value)) { + Object.defineBinding(this, "value", {boundObject: this.ownerComponent, boundObjectPropertyPath: value}); + + } + } + } + }, + // set value from user input /** @private -- cgit v1.2.3 From 1d0efc758bc9404eebbc8b8d592de9dbb329899e Mon Sep 17 00:00:00 2001 From: François Frisch Date: Sat, 17 Mar 2012 11:21:22 -0700 Subject: Adding feed reader and map --- .../examples/feed-reader/images/07-map-marker.png | Bin 0 -> 3131 bytes .../examples/feed-reader/images/10-medical.png | Bin 0 -> 2915 bytes .../examples/feed-reader/images/100-coffee.png | Bin 0 -> 2958 bytes .../examples/feed-reader/images/107-widescreen.png | Bin 0 -> 2986 bytes .../examples/feed-reader/images/125-food.png | Bin 0 -> 3038 bytes .../feed-reader/images/142-wine-bottle.png | Bin 0 -> 187 bytes .../examples/feed-reader/images/34-coffee.png | Bin 0 -> 3052 bytes .../examples/feed-reader/images/35-shopping.png | Bin 0 -> 2970 bytes .../examples/feed-reader/images/38-airplane.png | Bin 0 -> 3004 bytes .../feed-reader/images/41-picture-frame.png | Bin 0 -> 2928 bytes .../feed-reader/images/48-fork-and-knife.png | Bin 0 -> 2882 bytes .../examples/feed-reader/images/87-wine-glass.png | Bin 0 -> 2983 bytes .../montage/examples/feed-reader/index.html | 81 ++++++ .../examples/feed-reader/main.reel/main.html | 184 ++++++++++++++ .../montage/examples/feed-reader/main.reel/main.js | 45 ++++ .../examples/feed-reader/map-example.reel/main.css | 2 + .../feed-reader/map-example.reel/main.html | 58 +++++ .../examples/feed-reader/map-example.reel/main.js | 24 ++ .../montage/examples/feed-reader/package.json | 10 + .../ui/feed-reader/feed-entry.reel/feed-entry.html | 90 +++++++ .../ui/feed-reader/feed-entry.reel/feed-entry.js | 13 + .../feed-reader/feed-reader.reel/feed-reader.html | 83 ++++++ .../ui/feed-reader/feed-reader.reel/feed-reader.js | 82 ++++++ node_modules/montage/ui/map.reel/map.css | 9 + node_modules/montage/ui/map.reel/map.html | 58 +++++ node_modules/montage/ui/map.reel/map.js | 283 +++++++++++++++++++++ node_modules/montage/ui/template.js | 6 +- 27 files changed, 1025 insertions(+), 3 deletions(-) create mode 100644 node_modules/montage/examples/feed-reader/images/07-map-marker.png create mode 100644 node_modules/montage/examples/feed-reader/images/10-medical.png create mode 100644 node_modules/montage/examples/feed-reader/images/100-coffee.png create mode 100644 node_modules/montage/examples/feed-reader/images/107-widescreen.png create mode 100644 node_modules/montage/examples/feed-reader/images/125-food.png create mode 100644 node_modules/montage/examples/feed-reader/images/142-wine-bottle.png create mode 100644 node_modules/montage/examples/feed-reader/images/34-coffee.png create mode 100644 node_modules/montage/examples/feed-reader/images/35-shopping.png create mode 100644 node_modules/montage/examples/feed-reader/images/38-airplane.png create mode 100644 node_modules/montage/examples/feed-reader/images/41-picture-frame.png create mode 100644 node_modules/montage/examples/feed-reader/images/48-fork-and-knife.png create mode 100644 node_modules/montage/examples/feed-reader/images/87-wine-glass.png create mode 100644 node_modules/montage/examples/feed-reader/index.html create mode 100644 node_modules/montage/examples/feed-reader/main.reel/main.html create mode 100644 node_modules/montage/examples/feed-reader/main.reel/main.js create mode 100644 node_modules/montage/examples/feed-reader/map-example.reel/main.css create mode 100644 node_modules/montage/examples/feed-reader/map-example.reel/main.html create mode 100644 node_modules/montage/examples/feed-reader/map-example.reel/main.js create mode 100644 node_modules/montage/examples/feed-reader/package.json create mode 100644 node_modules/montage/ui/feed-reader/feed-entry.reel/feed-entry.html create mode 100644 node_modules/montage/ui/feed-reader/feed-entry.reel/feed-entry.js create mode 100644 node_modules/montage/ui/feed-reader/feed-reader.reel/feed-reader.html create mode 100644 node_modules/montage/ui/feed-reader/feed-reader.reel/feed-reader.js create mode 100644 node_modules/montage/ui/map.reel/map.css create mode 100644 node_modules/montage/ui/map.reel/map.html create mode 100644 node_modules/montage/ui/map.reel/map.js diff --git a/node_modules/montage/examples/feed-reader/images/07-map-marker.png b/node_modules/montage/examples/feed-reader/images/07-map-marker.png new file mode 100644 index 00000000..a5d99d69 Binary files /dev/null and b/node_modules/montage/examples/feed-reader/images/07-map-marker.png differ diff --git a/node_modules/montage/examples/feed-reader/images/10-medical.png b/node_modules/montage/examples/feed-reader/images/10-medical.png new file mode 100644 index 00000000..ab78c783 Binary files /dev/null and b/node_modules/montage/examples/feed-reader/images/10-medical.png differ diff --git a/node_modules/montage/examples/feed-reader/images/100-coffee.png b/node_modules/montage/examples/feed-reader/images/100-coffee.png new file mode 100644 index 00000000..4e9c517a Binary files /dev/null and b/node_modules/montage/examples/feed-reader/images/100-coffee.png differ diff --git a/node_modules/montage/examples/feed-reader/images/107-widescreen.png b/node_modules/montage/examples/feed-reader/images/107-widescreen.png new file mode 100644 index 00000000..2e5f1ba7 Binary files /dev/null and b/node_modules/montage/examples/feed-reader/images/107-widescreen.png differ diff --git a/node_modules/montage/examples/feed-reader/images/125-food.png b/node_modules/montage/examples/feed-reader/images/125-food.png new file mode 100644 index 00000000..81afd74a Binary files /dev/null and b/node_modules/montage/examples/feed-reader/images/125-food.png differ diff --git a/node_modules/montage/examples/feed-reader/images/142-wine-bottle.png b/node_modules/montage/examples/feed-reader/images/142-wine-bottle.png new file mode 100644 index 00000000..a7df9e97 Binary files /dev/null and b/node_modules/montage/examples/feed-reader/images/142-wine-bottle.png differ diff --git a/node_modules/montage/examples/feed-reader/images/34-coffee.png b/node_modules/montage/examples/feed-reader/images/34-coffee.png new file mode 100644 index 00000000..4c4bedad Binary files /dev/null and b/node_modules/montage/examples/feed-reader/images/34-coffee.png differ diff --git a/node_modules/montage/examples/feed-reader/images/35-shopping.png b/node_modules/montage/examples/feed-reader/images/35-shopping.png new file mode 100644 index 00000000..03689f99 Binary files /dev/null and b/node_modules/montage/examples/feed-reader/images/35-shopping.png differ diff --git a/node_modules/montage/examples/feed-reader/images/38-airplane.png b/node_modules/montage/examples/feed-reader/images/38-airplane.png new file mode 100644 index 00000000..dfcbbc78 Binary files /dev/null and b/node_modules/montage/examples/feed-reader/images/38-airplane.png differ diff --git a/node_modules/montage/examples/feed-reader/images/41-picture-frame.png b/node_modules/montage/examples/feed-reader/images/41-picture-frame.png new file mode 100644 index 00000000..6deee997 Binary files /dev/null and b/node_modules/montage/examples/feed-reader/images/41-picture-frame.png differ diff --git a/node_modules/montage/examples/feed-reader/images/48-fork-and-knife.png b/node_modules/montage/examples/feed-reader/images/48-fork-and-knife.png new file mode 100644 index 00000000..06d91088 Binary files /dev/null and b/node_modules/montage/examples/feed-reader/images/48-fork-and-knife.png differ diff --git a/node_modules/montage/examples/feed-reader/images/87-wine-glass.png b/node_modules/montage/examples/feed-reader/images/87-wine-glass.png new file mode 100644 index 00000000..b4d34474 Binary files /dev/null and b/node_modules/montage/examples/feed-reader/images/87-wine-glass.png differ diff --git a/node_modules/montage/examples/feed-reader/index.html b/node_modules/montage/examples/feed-reader/index.html new file mode 100644 index 00000000..3b5529b9 --- /dev/null +++ b/node_modules/montage/examples/feed-reader/index.html @@ -0,0 +1,81 @@ + + + +
+ ++
This is the bootstrapper content which will now be shown for at least 1500ms.
+This is the loader content which will now be shown for at least 2000ms.
+Main component of application
+This is the bootstrapper content which will now be shown for at least 1500ms.
+This is the loader content which will now be shown for at least 2000ms.
+