aboutsummaryrefslogtreecommitdiff
path: root/js/panels
diff options
context:
space:
mode:
authorArmen Kesablyan2012-06-18 20:10:48 -0700
committerArmen Kesablyan2012-06-18 20:10:48 -0700
commit00eb09a626293cb55554e2a8eb7df9a8953b1251 (patch)
treed9b96adefad798e0ce0409d3947e9626ee5e2385 /js/panels
parentb4ab3e558f26549c63fa0d0a542e208d2be62d56 (diff)
parent1b2e102b3519994c79b63be44fccb79cf5712fef (diff)
downloadninja-00eb09a626293cb55554e2a8eb7df9a8953b1251.tar.gz
Merge branch 'binding' of https://github.com/dhg637/ninja-internal into binding
Diffstat (limited to 'js/panels')
-rw-r--r--js/panels/binding-panel.reel/binding-panel.html2
-rw-r--r--js/panels/binding-panel.reel/binding-panel.js12
-rw-r--r--js/panels/binding/edit-binding-view.reel/edit-binding-view.css11
-rw-r--r--js/panels/binding/edit-binding-view.reel/edit-binding-view.html4
-rw-r--r--js/panels/binding/edit-binding-view.reel/edit-binding-view.js83
5 files changed, 65 insertions, 47 deletions
diff --git a/js/panels/binding-panel.reel/binding-panel.html b/js/panels/binding-panel.reel/binding-panel.html
index 9a2834c7..fc80cd6e 100644
--- a/js/panels/binding-panel.reel/binding-panel.html
+++ b/js/panels/binding-panel.reel/binding-panel.html
@@ -74,7 +74,7 @@
74 <div data-montage-id="binding-panel-toolbar-container" class="binding-panel-toolbar-container"> 74 <div data-montage-id="binding-panel-toolbar-container" class="binding-panel-toolbar-container">
75 <div data-montage-id="binding-panel-toolbar"></div> 75 <div data-montage-id="binding-panel-toolbar"></div>
76 </div> 76 </div>
77 <div data-montage-id="edit-binding-view" class="edit-binding-view"></div> 77 <div data-montage-id="edit-binding-view"></div>
78 </div> 78 </div>
79</body> 79</body>
80</html> \ No newline at end of file 80</html> \ No newline at end of file
diff --git a/js/panels/binding-panel.reel/binding-panel.js b/js/panels/binding-panel.reel/binding-panel.js
index 45fa4005..c040c009 100644
--- a/js/panels/binding-panel.reel/binding-panel.js
+++ b/js/panels/binding-panel.reel/binding-panel.js
@@ -64,11 +64,15 @@ exports.BindingPanel = Montage.create(Component, {
64 64
65 handleAddAction : { 65 handleAddAction : {
66 value: function(e) { 66 value: function(e) {
67 var newBindingArgs = { 67 var sourceObject = this.application.ninja.objectsController.currentObject;
68 sourceObject : this.application.ninja.objectsController.currentObject
69 };
70 68
71 this.displayEditView(newBindingArgs); 69 if(sourceObject) {
70 this.displayEditView({
71 sourceObject: sourceObject
72 });
73 } else {
74 this.displayEditView();
75 }
72 } 76 }
73 }, 77 },
74 78
diff --git a/js/panels/binding/edit-binding-view.reel/edit-binding-view.css b/js/panels/binding/edit-binding-view.reel/edit-binding-view.css
index 01feb5cc..0ca82179 100644
--- a/js/panels/binding/edit-binding-view.reel/edit-binding-view.css
+++ b/js/panels/binding/edit-binding-view.reel/edit-binding-view.css
@@ -14,7 +14,7 @@
14 top: 0; 14 top: 0;
15 width: 100%; 15 width: 100%;
16 -webkit-transition-property: -webkit-transform; 16 -webkit-transition-property: -webkit-transform;
17 -webkit-transition-duration: .55s; 17 -webkit-transition-duration: 550ms;
18 -webkit-transition-timing-function: cubic-bezier(.44,.19,0,.99); 18 -webkit-transition-timing-function: cubic-bezier(.44,.19,0,.99);
19 -webkit-user-select: text; 19 -webkit-user-select: text;
20} 20}
@@ -55,13 +55,16 @@
55 position:relative; 55 position:relative;
56 top: -1px; 56 top: -1px;
57 left: -1px; 57 left: -1px;
58 -webkit-transition: opacity 550ms linear;
58} 59}
59.object-fields-container { 60.object-fields-container {
60 -webkit-box-flex: 1; 61 -webkit-box-flex: 1;
61 padding-top: 1px; 62 padding-top: 1px;
62 width: 1px; 63 width: 1px;
63} 64}
64 65.no-object {
66 opacity: 0;
67}
65 68
66.edit-binding-view ul { 69.edit-binding-view ul {
67 padding: 0; 70 padding: 0;
@@ -116,6 +119,10 @@
116 width: 80%; 119 width: 80%;
117} 120}
118 121
122.hintable-field .hintable-hint {
123 color: #7C7C7C;
124}
125
119.hintable-field:focus { 126.hintable-field:focus {
120 border: 1px solid #313131; 127 border: 1px solid #313131;
121} \ No newline at end of file 128} \ No newline at end of file
diff --git a/js/panels/binding/edit-binding-view.reel/edit-binding-view.html b/js/panels/binding/edit-binding-view.reel/edit-binding-view.html
index 91a5426f..d5409883 100644
--- a/js/panels/binding/edit-binding-view.reel/edit-binding-view.html
+++ b/js/panels/binding/edit-binding-view.reel/edit-binding-view.html
@@ -155,7 +155,7 @@
155 <div data-montage-id="source-object-icon" class="object-icon"></div> 155 <div data-montage-id="source-object-icon" class="object-icon"></div>
156 </div> 156 </div>
157 <div class="object-fields-container"> 157 <div class="object-fields-container">
158 <span data-montage-id="sourceObjectField" class="hintable-field">Test</span> 158 <span data-montage-id="sourceObjectField" class="hintable-field"></span>
159 <span data-montage-id="so-pp" class="hintable-field so-pp"></span> 159 <span data-montage-id="so-pp" class="hintable-field so-pp"></span>
160 </div> 160 </div>
161 </div> 161 </div>
@@ -165,7 +165,7 @@
165 <div data-montage-id="bound-object-icon" class="object-icon"></div> 165 <div data-montage-id="bound-object-icon" class="object-icon"></div>
166 </div> 166 </div>
167 <div class="object-fields-container"> 167 <div class="object-fields-container">
168 <span data-montage-id="boundObjectField" class="hintable-field">Test</span> 168 <span data-montage-id="boundObjectField" class="hintable-field"></span>
169 <span data-montage-id="bo-pp" class="hintable-field bo-pp"></span> 169 <span data-montage-id="bo-pp" class="hintable-field bo-pp"></span>
170 </div> 170 </div>
171 </div> 171 </div>
diff --git a/js/panels/binding/edit-binding-view.reel/edit-binding-view.js b/js/panels/binding/edit-binding-view.reel/edit-binding-view.js
index 62a47aaf..46fe9681 100644
--- a/js/panels/binding/edit-binding-view.reel/edit-binding-view.js
+++ b/js/panels/binding/edit-binding-view.reel/edit-binding-view.js
@@ -65,6 +65,10 @@ var editBindingView = exports.EditBindingView = Montage.create(Component, {
65 65
66 this._sourceObject = value; 66 this._sourceObject = value;
67 67
68 if(value) {
69 this.sourceObjectPropertyPathField.hints = this.application.ninja.objectsController.getPropertiesFromObject(value);
70 }
71
68 this.needsDraw = true; 72 this.needsDraw = true;
69 } 73 }
70 }, 74 },
@@ -74,9 +78,12 @@ var editBindingView = exports.EditBindingView = Montage.create(Component, {
74 get : function() { return this._boundObject; }, 78 get : function() { return this._boundObject; },
75 set : function(value) { 79 set : function(value) {
76 if(value === this._boundObject) { return; } 80 if(value === this._boundObject) { return; }
77 console.log("Bound Object being set to ", value);
78 this._boundObject = value; 81 this._boundObject = value;
79 82
83 if(value) {
84 this.boundObjectPropertyPathField.hints = this.application.ninja.objectsController.getPropertiesFromObject(value);
85 }
86
80 this.needsDraw = true; 87 this.needsDraw = true;
81 } 88 }
82 }, 89 },
@@ -85,12 +92,8 @@ var editBindingView = exports.EditBindingView = Montage.create(Component, {
85 sourceObjectPropertyPath : { 92 sourceObjectPropertyPath : {
86 get : function() { return this._sourceObjectPropertyPath; }, 93 get : function() { return this._sourceObjectPropertyPath; },
87 set : function(value) { 94 set : function(value) {
88 console.log("Source Object Property Path being set to ", value);
89
90 if(value === this._sourceObjectPropertyPath) { return; } 95 if(value === this._sourceObjectPropertyPath) { return; }
91 96
92
93
94 this._sourceObjectPropertyPath = value; 97 this._sourceObjectPropertyPath = value;
95 98
96 this.needsDraw = true; 99 this.needsDraw = true;
@@ -144,26 +147,27 @@ var editBindingView = exports.EditBindingView = Montage.create(Component, {
144 // clear form values 147 // clear form values
145 this.clearForm(); 148 this.clearForm();
146 149
147 // set up hints for hintable components 150 if(value) {
148 this.objectIdentifiers = this.getObjectIdentifiers(); 151 // set up hints for hintable components
149 console.log("setting hints to ", this.objectIdentifiers); 152 this.objectIdentifiers = this.getObjectIdentifiers();
150 this.boundObjectField.hints = this.objectIdentifiers; 153 this.boundObjectField.hints = this.objectIdentifiers;
151 this.sourceObjectField.hints = this.objectIdentifiers; 154 this.sourceObjectField.hints = this.objectIdentifiers;
152 155
153 if(value.sourceObject) { 156 if(value.sourceObject) {
154 this.sourceObjectIdentifier = value.sourceObject.identifier || value.sourceObject._montage_metadata.label; 157 this.sourceObjectIdentifier = value.sourceObject.identifier || value.sourceObject._montage_metadata.label;
155 this.sourceObjectPropertyPath = value.sourceObjectPropertyPath || ''; 158 this.sourceObjectPropertyPath = value.sourceObjectPropertyPath || '';
156 } 159 }
157 160
158 if(value.boundObject) { 161 if(value.boundObject) {
159 this.boundObjectIdentifier = value.boundObject.identifier || ''; 162 this.boundObjectIdentifier = value.boundObject.identifier || '';
160 this.boundObjectPropertyPath = value.boundObjectPropertyPath || ''; 163 this.boundObjectPropertyPath = value.boundObjectPropertyPath || '';
161 this.isNewBinding = false; 164