aboutsummaryrefslogtreecommitdiff
path: root/js/panels/presets
diff options
context:
space:
mode:
Diffstat (limited to 'js/panels/presets')
-rw-r--r--js/panels/presets/animations-presets.reel/animations-presets.js47
-rw-r--r--js/panels/presets/content.reel/content.html6
-rw-r--r--js/panels/presets/default-animation-presets.js127
-rw-r--r--js/panels/presets/default-style-presets.js29
-rw-r--r--js/panels/presets/default-transition-presets.js26
-rw-r--r--js/panels/presets/style-presets.reel/style-presets.js49
-rw-r--r--js/panels/presets/transitions-presets.reel/transitions-presets.js20
7 files changed, 156 insertions, 148 deletions
diff --git a/js/panels/presets/animations-presets.reel/animations-presets.js b/js/panels/presets/animations-presets.reel/animations-presets.js
index ab200212..6a16da54 100644
--- a/js/panels/presets/animations-presets.reel/animations-presets.js
+++ b/js/panels/presets/animations-presets.reel/animations-presets.js
@@ -22,52 +22,7 @@ exports.AnimationsLibrary = Montage.create(Component, {
22 }, 22 },
23 handleNodeActivation: { 23 handleNodeActivation: {
24 value: function(presetData) { 24 value: function(presetData) {
25 //debugger; 25 this.application.ninja.presetsController.applyPreset(presetData);
26 var selection = this.application.ninja.selectedElements,
27 stylesController = this.application.ninja.stylesController,
28 selectorBase = presetData.selectorBase,
29 self = this;
30
31 if(!selection || !selection.length || selection.length === 0) {
32 return false;
33 }
34
35 selectorBase = stylesController.generateClassName(selectorBase);
36
37 presetData.rules.forEach(function(rule) {
38 if(rule.isKeyFrameRule) {
39 this.application.ninja.stylesController.addRule(
40 '@-webkit-keyframes ' + presetData.selectorBase,
41 this.stringifyKeys(rule.keys)
42 );
43 } else {
44 this.application.ninja.stylesController.addRule('.' + selectorBase + rule.selectorSuffix, rule.styles);
45 }
46
47 }, this);
48
49 selection.forEach(function(el) {
50 el._element.classList.add(selectorBase);
51 }, this);
52
53 }
54 },
55
56 stringifyKeys : {
57 value: function(keysArray) {
58 var keysString = '';
59
60 keysArray.forEach(function(key) {
61 var styles = '', style;
62
63 for(style in key.styles) {
64 styles += style + ':' + key.styles[style] + '; ';
65 }
66
67 keysString += key.keyText + ' {' + styles + ' }';
68 });
69
70 return keysString;
71 } 26 }
72 } 27 }
73}); 28});
diff --git a/js/panels/presets/content.reel/content.html b/js/panels/presets/content.reel/content.html
index f01e6435..afbdd559 100644
--- a/js/panels/presets/content.reel/content.html
+++ b/js/panels/presets/content.reel/content.html
@@ -62,9 +62,9 @@ No rights, expressed or implied, whatsoever to this software are provided by Mot
62<body> 62<body>
63 <section id="presetsPanel" class="presetsPanel"> 63 <section id="presetsPanel" class="presetsPanel">
64 <nav id="tab-bar" class="tab-bar"> 64 <nav id="tab-bar" class="tab-bar">
65 <div id="styles">Style Library</div> 65 <div id="styles">Styles</div>
66 <div id="transitions">Transitions Library</div> 66 <div id="transitions">Transitions</div>
67 <div id="animations">Animations Library</div> 67 <div id="animations">Animations</div>
68 </nav> 68 </nav>
69 <div id="librarySlot" class="librarySlot"></div> 69 <div id="librarySlot" class="librarySlot"></div>
70 </section> 70 </section>
diff --git a/js/panels/presets/default-animation-presets.js b/js/panels/presets/default-animation-presets.js
index 10a3e906..b12a94b2 100644
--- a/js/panels/presets/default-animation-presets.js
+++ b/js/panels/presets/default-animation-presets.js
@@ -13,29 +13,76 @@ exports.animationPresets = {
13 "text": "Border Morph", 13 "text": "Border Morph",
14 "selectorBase" : "border-morph", 14 "selectorBase" : "border-morph",
15 "rules" : [{ 15 "rules" : [{
16 "selectorSuffix" : "",
17 "styles" : { 16 "styles" : {
18 "-webkit-animation": "border-morph 2s infinite" 17 "-webkit-animation": "border-morph 2s infinite"
19 } 18 }
20 }, 19 },
21 { 20 {
22 "isKeyFrameRule": true, 21 "isKeyFrameRule": true,
23 "keys" : [{ 22 "keys" : [{
24 "keyText": "0%", 23 "keyText": "0%",
25 "styles": { "border-radius": "0" } 24 "styles": { "border-radius": "0" }
26 }, { 25 }, {
27 "keyText": "50%", 26 "keyText": "50%",
28 "styles": { 27 "styles": {
29 "border-radius": "100%" 28 "border-radius": "100%"
30 } 29 }
31 }, { 30 }, {
32 "keyText": "100%", 31 "keyText": "100%",
33 "styles": { 32 "styles": {
34 "border-radius": "0%" 33 "border-radius": "0%"
35 } 34 }
35 }]
36 }] 36 }]
37 }]
38 }, {
39 "text": "2D Animations",
40 "children": [
41 {
42 "text": "Slide Out with Fade",
43 "selectorBase": "slide-fade-out",
44 "rules" : [{
45 "selectorSuffix" : "",
46 "styles" : {
47 "-webkit-animation-name": "slide-fade-out",
48 "-webkit-animation-duration": "5s",
49 "-webkit-animation-iteration-count": "infinite",
50 "-webkit-animation-direction": "normal",
51 "-webkit-animation-timing-function": "ease",
52 "-webkit-transform-style": "preserve-3d",
53 "-webkit-transform": "perspective(1000)",
54 "-webkit-animation-delay": "0s"
55 }
56 },{
57 "isKeyFrameRule": true,
58 "keys" : [{
59 "keyText": "0%",
60 "styles": {
61 "opacity": "0",
62 "-webkit-transform": "translate3d(0, 0, 0)"
63 }
64 }, {
65 "keyText": "10%",
66 "styles": {
67 "opacity": "1",
68 "-webkit-transform": "translate3d(0, 0, 0)"
69 }
70 }, {
71 "keyText": "86%",
72 "styles": {
73 "opacity": "1",
74 "-webkit-transform": "translate3d(0, 0, 0)"
75
76 }
77 }, {
78 "keyText": "100%",
79 "styles": {
80 "opacity": "0",
81 "-webkit-transform": "translate3d(540px, 0, 0)"
82 }
37 }] 83 }]
38 }] 84 }]
85 }]
39 }, { 86 }, {
40 "text": "3D Animations", 87 "text": "3D Animations",
41 "children": [ 88 "children": [
@@ -43,14 +90,13 @@ exports.animationPresets = {
43 "text": "Rotater", 90 "text": "Rotater",
44 "selectorBase" : "rotate-with-alpha-keyframes", 91 "selectorBase" : "rotate-with-alpha-keyframes",
45 "rules" : [{ 92 "rules" : [{
46 "selectorSuffix" : "",
47 "styles" : { 93 "styles" : {
48 "-webkit-animation-name": "rotate-with-alpha-keyframes", 94 "-webkit-animation-name": "rotate-with-alpha-keyframes",
49 "-webkit-animation-duration": "5s", 95 "-webkit-animation-duration": "5s",
50 "-webkit-animation-iteration-count": "infinite", 96 "-webkit-animation-iteration-count": "infinite",
51 "-webkit-animation-direction": "normal", 97 "-webkit-animation-direction": "normal",
52 "-webkit-animation-timing-function": "ease-out", 98 "-webkit-animation-timing-function": "ease-out",
53 "-webkit-transform-origin": "200% 50%", 99 "-webkit-transform-origin": "100% 50%",
54 "-webkit-transform-style": "preserve-3d", 100 "-webkit-transform-style": "preserve-3d",
55 "-webkit-transform": "perspective(1000)", 101 "-webkit-transform": "perspective(1000)",
56 "-webkit-animation-delay": "0s" 102 "-webkit-animation-delay": "0s"
@@ -89,6 +135,51 @@ exports.animationPresets = {
89 } 135 }
90 }] 136 }]
91 }] 137 }]
138 },
139 {
140 "text": "Rotate with Fade In",
141 "selectorBase" : "rotate-with-fade-in",
142 "rules" : [{
143 "selectorSuffix" : "",
144 "styles" : {
145 "-webkit-animation-name": "rotate-with-fade-in",
146 "-webkit-animation-duration": "5s",
147 "-webkit-animation-iteration-count": "infinite",