aboutsummaryrefslogtreecommitdiff
path: root/js
diff options
context:
space:
mode:
Diffstat (limited to 'js')
-rw-r--r--js/components/toolbar.reel/toolbar.html8
-rw-r--r--js/components/toolbar.reel/toolbar.js2
-rw-r--r--js/panels/css-panel/style-sheets-view.reel/style-sheets-view.html16
-rw-r--r--js/panels/css-panel/style-sheets-view.reel/style-sheets-view.js24
4 files changed, 36 insertions, 14 deletions
diff --git a/js/components/toolbar.reel/toolbar.html b/js/components/toolbar.reel/toolbar.html
index 53c6627a..b33c4665 100644
--- a/js/components/toolbar.reel/toolbar.html
+++ b/js/components/toolbar.reel/toolbar.html
@@ -11,8 +11,7 @@ No rights, expressed or implied, whatsoever to this software are provided by Mot
11 <script type="text/montage-serialization"> 11 <script type="text/montage-serialization">
12 { 12 {
13 "owner": { 13 "owner": {
14 "module" : "js/panels/css-panel/style-sheet.reel", 14 "prototype" : "js/components/toolbar.reel",
15 "name" : "StyleSheet",
16 "properties" : { 15 "properties" : {
17 "element" : {"#" : "toolbar-container"}, 16 "element" : {"#" : "toolbar-container"},
18 "repetition": {"@": "buttonList" } 17 "repetition": {"@": "buttonList" }
@@ -36,8 +35,7 @@ No rights, expressed or implied, whatsoever to this software are provided by Mot
36 }, 35 },
37 36
38 "button": { 37 "button": {
39 "module": "montage/ui/button.reel", 38 "prototype": "montage/ui/button.reel",
40 "name": "Button",
41 "properties": { 39 "properties": {
42 "element": {"#": "button" }, 40 "element": {"#": "button" },
43 "label": " " 41 "label": " "
@@ -64,7 +62,7 @@ No rights, expressed or implied, whatsoever to this software are provided by Mot
64 </script> 62 </script>
65</head> 63</head>
66<body> 64<body>
67<div id="toolbar-container" class="toolbar-container"> 65<div data-montage-id="toolbar-container" class="toolbar-container">
68 <ul data-montage-id="repetition"> 66 <ul data-montage-id="repetition">
69 <li><button data-montage-id="button" class="toolbar-button"></button></li> 67 <li><button data-montage-id="button" class="toolbar-button"></button></li>
70 </ul> 68 </ul>
diff --git a/js/components/toolbar.reel/toolbar.js b/js/components/toolbar.reel/toolbar.js
index bc3cbd08..8f93aa2b 100644
--- a/js/components/toolbar.reel/toolbar.js
+++ b/js/components/toolbar.reel/toolbar.js
@@ -20,7 +20,7 @@ exports.Toolbar = Montage.create(Component, {
20 }, 20 },
21 set: function(btns) { 21 set: function(btns) {
22 this._buttons = btns; 22 this._buttons = btns;
23 this._needsButtonProperties = true; 23 this._needsButtonProperties = this.needsDraw = true;;
24 } 24 }
25 }, 25 },
26 26
diff --git a/js/panels/css-panel/style-sheets-view.reel/style-sheets-view.html b/js/panels/css-panel/style-sheets-view.reel/style-sheets-view.html
index bbefc69b..3e15f50b 100644
--- a/js/panels/css-panel/style-sheets-view.reel/style-sheets-view.html
+++ b/js/panels/css-panel/style-sheets-view.reel/style-sheets-view.html
@@ -14,6 +14,7 @@ No rights, expressed or implied, whatsoever to this software are provided by Mot
14 "prototype" : "js/panels/css-panel/style-sheets-view.reel", 14 "prototype" : "js/panels/css-panel/style-sheets-view.reel",
15 "properties" : { 15 "properties" : {
16 "element" : {"#" : "style-sheets-view-container"}, 16 "element" : {"#" : "style-sheets-view-container"},
17 "toolbar" : {"@": "toolbar"},
17 "styleSheetList" : {"@" : "styleSheetList"} 18 "styleSheetList" : {"@" : "styleSheetList"}
18 } 19 }
19 }, 20 },
@@ -47,29 +48,30 @@ No rights, expressed or implied, whatsoever to this software are provided by Mot
47 } 48 }
48 } 49 }
49 }, 50 },
50 "noDocumentCondition": { 51 "documentLoaded": {
51 "prototype": "montage/ui/condition.reel", 52 "prototype": "montage/ui/condition.reel",
52 "properties": { 53 "properties": {
53 "element": {"#": "no-document-message" } 54 "element": {"#": "style-sheets-toolbar-container" },
55 "removalStrategy": "hide"
54 }, 56 },
55 "bindings": { 57 "bindings": {
56 "condition": { 58 "condition": {
57 "boundObject": {"@": "owner" }, 59 "boundObject": {"@": "owner" },
58 "boundObjectPropertyPath": "styleSheets.count()", 60 "boundObjectPropertyPath": "documentLoaded",
59 "boundValueMutator": {"->": {"arguments": ["val"], "body": "return !val;"}},
60 "oneway": true 61 "oneway": true
61 } 62 }
62 } 63 }
63 }, 64 },
64 "showToolbarCondition": { 65 "hasSheets": {
65 "prototype": "montage/ui/condition.reel", 66 "prototype": "montage/ui/condition.reel",
66 "properties": { 67 "properties": {
67 "element": {"#": "style-sheets-toolbar-container" } 68 "element": {"#": "no-sheets-message" }
68 }, 69 },
69 "bindings" : { 70 "bindings" : {
70 "condition": { 71 "condition": {
71 "boundObject": {"@": "owner"}, 72 "boundObject": {"@": "owner"},
72 "boundObjectPropertyPath": "styleSheets.count()", 73 "boundObjectPropertyPath": "styleSheets.count()",
74 "boundValueMutator": {"->": {"arguments": ["val"], "body": "return !val;"}},
73 "oneway": true 75 "oneway": true
74 } 76 }
75 } 77 }
@@ -113,7 +115,7 @@ No rights, expressed or implied, whatsoever to this software are provided by Mot
113</head> 115</head>
114<body> 116<body>
115<div data-montage-id="style-sheets-view-container" class="style-sheets-view-container"> 117<div data-montage-id="style-sheets-view-container" class="style-sheets-view-container">
116 <h4 data-montage-id="no-document-message" class="panel-message">No style sheets to display.</h4> 118 <h4 data-montage-id="no-sheets-message" class="panel-message">No style sheets to display.</h4>
117 <ul data-montage-id="sheet-list" class="sheet-list"> 119 <ul data-montage-id="sheet-list" class="sheet-list">
118 <li><div data-montage-id="sheet-item"></div></li> 120 <li><div data-montage-id="sheet-item"></div></li>
119 </ul> 121 </ul>
diff --git a/js/panels/css-panel/style-sheets-view.reel/style-sheets-view.js b/js/panels/css-panel/style-sheets-view.reel/style-sheets-view.js
index d6ec5349..28b094a7 100644
--- a/js/panels/css-panel/style-sheets-view.reel/style-sheets-view.js
+++ b/js/panels/css-panel/style-sheets-view.reel/style-sheets-view.js
@@ -8,7 +8,7 @@ var Montage = require("montage/core/core").Montage,
8 Component = require("montage/ui/component").Component; 8 Component = require("montage/ui/component").Component;
9 9
10exports.StyleSheetsView = Montage.create(Component, { 10exports.StyleSheetsView = Montage.create(Component, {
11 noDocumentCondition : { value: true }, 11 documentLoaded : { value: false },
12 showToolbar : { value: false }, 12 showToolbar : { value: false },
13 stylesController : { value: null }, 13 stylesController : { value: null },
14 styleSheets : { value: [] }, 14 styleSheets : { value: [] },
@@ -17,6 +17,22 @@ exports.StyleSheetsView = Montage.create(Component, {
17 documentNameLabel : { value: null }, 17 documentNameLabel : { value: null },
18 noDocumentLabelClass : { value: "no-document" }, 18 noDocumentLabelClass : { value: "no-document" },
19 19
20 _activeDocument: {
21 value: null
22 },
23 activeDocument : {
24 get: function() {
25 return this._activeDocument;
26 },
27 set: function(value) {
28 if(value === this._activeDocument) { return;}
29
30 this.documentLoaded = !!value;
31
32 this._activeDocument = value;
33 }
34 },
35
20 _documentName : { value: null }, 36 _documentName : { value: null },
21 documentName : { 37 documentName : {
22 get: function() { 38 get: function() {
@@ -99,6 +115,12 @@ exports.StyleSheetsView = Montage.create(Component, {
99 this.documentName = this.stylesController.activeDocument.name; 115 this.documentName = this.stylesController.activeDocument.name;
100 this.styleSheets = this.stylesController.userStyleSheets; 116 this.styleSheets = this.stylesController.userStyleSheets;
101 117
118 Object.defineBinding(this, 'activeDocument', {
119 'boundObject': this.stylesController,
120 'boundObjectPropertyPath': 'activeDocument',
121 'oneway': true
122 });
123
102 Object.defineBinding(this, 'defaultStyleSheet', { 124 Object.defineBinding(this, 'defaultStyleSheet', {
103 'boundObject': this.stylesController, 125 'boundObject': this.stylesController,
104 'boundObjectPropertyPath': 'defaultStylesheet', 126 'boundObjectPropertyPath': 'defaultStylesheet',