aboutsummaryrefslogtreecommitdiff
path: root/js/panels/presets/style-presets.reel/style-presets.js
diff options
context:
space:
mode:
Diffstat (limited to 'js/panels/presets/style-presets.reel/style-presets.js')
-rw-r--r--js/panels/presets/style-presets.reel/style-presets.js79
1 files changed, 79 insertions, 0 deletions
diff --git a/js/panels/presets/style-presets.reel/style-presets.js b/js/panels/presets/style-presets.reel/style-presets.js
new file mode 100644
index 00000000..7871683e
--- /dev/null
+++ b/js/panels/presets/style-presets.reel/style-presets.js
@@ -0,0 +1,79 @@
1/* <copyright>
2 This file contains proprietary software owned by Motorola Mobility, Inc.<br/>
3 No rights, expressed or implied, whatsoever to this software are provided by Motorola Mobility, Inc. hereunder.<br/>
4 (c) Copyright 2011 Motorola Mobility, Inc. All Rights Reserved.
5 </copyright> */
6
7var Montage = require("montage/core/core").Montage,
8 Component = require("montage/ui/component").Component,
9 DefaultPresets = require("js/panels/presets/default-style-presets").stylePresets;
10
11exports.StylesLibrary = Montage.create(Component, {
12 hasTemplate: {
13 value: true
14 },
15 presetData : {
16 value : null
17 },
18 templateDidLoad : {
19 value: function() {
20 this.presetData = DefaultPresets;
21 }
22 },
23 handleNodeActivation: {
24 value: function(presetData) {
25 var selection = this.application.ninja.selectedElements,
26 stylesController = this.application.ninja.stylesController,
27 selectorBase = presetData.selectorBase,
28 self = this, className;
29
30 if(!selection || !selection.length || selection.length === 0) {
31 return false;
32 }
33
34 function setStopRuleSelector(selector) {
35 self.application.ninja
36 .currentDocument.documentRoot
37 .elementModel.controller
38 .changeSelector(self.application.ninja.currentDocument.documentRoot, null, selector);
39 }
40
41 selectorBase = stylesController.generateClassName(selectorBase);
42
43 presetData.rules.forEach(function(rule) {
44 stylesController.addRule('.'+selectorBase + rule.selectorSuffix, rule.styles);
45 }, this);
46
47 selection.forEach(function(el) {
48 el._element.style.webkitTransition = "all 450ms linear";
49
50 el._element.addEventListener("webkitTransitionEnd", function(e) {
51 el._element.style.webkitTransition = '';
52 setStopRuleSelector("*");
53 }, true);
54 setStopRuleSelector("transitionStopRule");
55 el._element.classList.add(selectorBase);
56
57 //// Keep track of elements with presets and don't add duplicates
58
59 }, this);
60
61
62 }
63 },
64 handleDragEnd : {
65 value: function(sourceObject) {
66 console.log(sourceObject);
67 }
68 },
69 shouldChangeSelection : {
70 value : function(controller, newSelection, oldSelection) {
71 //
72 //debugger;
73 console.log('1Handle should change selection');
74 return false;
75 }
76 }
77
78
79});