aboutsummaryrefslogtreecommitdiff
path: root/js/panels/presets/content.reel
diff options
context:
space:
mode:
authorNivesh Rajbhandari2012-02-20 11:14:44 -0800
committerNivesh Rajbhandari2012-02-20 11:14:44 -0800
commitabf78e2d7a97d295ce5a1c425fd359d47379137e (patch)
treed08c91bd2aef31e6325e0b499b2ffc390018bec6 /js/panels/presets/content.reel
parente80a79bff57fecf3aa9b869d8ed2de5fd815287c (diff)
parente23708721a71ca4c71365f5f8e8ac7d6113926db (diff)
downloadninja-abf78e2d7a97d295ce5a1c425fd359d47379137e.tar.gz
Merge branch 'refs/heads/ninja-internal' into ToolFixes
Diffstat (limited to 'js/panels/presets/content.reel')
-rw-r--r--js/panels/presets/content.reel/content.css52
-rw-r--r--js/panels/presets/content.reel/content.html66
-rw-r--r--js/panels/presets/content.reel/content.js79
3 files changed, 197 insertions, 0 deletions
diff --git a/js/panels/presets/content.reel/content.css b/js/panels/presets/content.reel/content.css
new file mode 100644
index 00000000..08e1d53b
--- /dev/null
+++ b/js/panels/presets/content.reel/content.css
@@ -0,0 +1,52 @@
1.presetsPanel {
2 display: -webkit-box;
3 text-shadow: 1px 1px 1px #000;
4 -webkit-box-orient: vertical;
5 -webkit-box-flex: 1;
6}
7.presetsPanel .treeRoot {
8 margin: 0 8px;
9}
10.tab-bar {
11 -webkit-box-flex: 0;
12 background-color: #282828;
13 color: #FFF;
14 display: -webkit-box;
15 font-size: 12px;
16 -webkit-box-orient: horizontal;
17}
18
19.tab-bar div {
20 -webkit-box-flex: 0;
21 border-top-right-radius: 2px;
22 border-top-left-radius: 2px;
23 background-color: #474747;
24 background-image: -webkit-linear-gradient(bottom, rgba(0,0,0,0.2) 0,rgba(0,0,0,0) 3px);
25 border-top: 1px solid rgb(100, 100, 100);
26 border-left: 1px solid rgba(100, 100, 100, 0.3);
27 border-right: 1px solid rgba(100, 100, 100, 0.3);
28 padding: 4px 9px;
29 cursor: pointer;
30 opacity: 0.6;
31 white-space: nowrap;
32 text-overflow: ellipsis;
33 overflow: hidden;
34 position: relative;
35 z-index: 999;
36}
37.tab-bar div.active-tab {
38 background-image: none;
39 box-shadow: 0 -5px 2px 3px rgba(0,0,0,0.2);
40 position: relative;
41 opacity: 1;
42 text-overflow: clip;
43 z-index: 1001;
44}
45
46.librarySlot {
47 -webkit-box-flex: 1;
48 overflow: auto;
49 background-color: #474747;
50 position: relative;
51 z-index: 1000;
52} \ No newline at end of file
diff --git a/js/panels/presets/content.reel/content.html b/js/panels/presets/content.reel/content.html
new file mode 100644
index 00000000..38de2a6d
--- /dev/null
+++ b/js/panels/presets/content.reel/content.html
@@ -0,0 +1,66 @@
1<!DOCTYPE html>
2<!-- <copyright>
3This file contains proprietary software owned by Motorola Mobility, Inc.<br/>
4No rights, expressed or implied, whatsoever to this software are provided by Motorola Mobility, Inc. hereunder.<br/>
5(c) Copyright 2011 Motorola Mobility, Inc. All Rights Reserved.
6</copyright> -->
7<html lang="en">
8<head>
9 <meta http-equiv="content-type" content="text/html; charset=utf-8" />
10 <link rel="stylesheet" href="content.css" type="text/css">
11 <script type="text/montage-serialization">
12 {
13 "owner": {
14 "module" : "js/panels/presets/content.reel",
15 "name" : "Content",
16 "properties" : {
17 "element" : {"#" : "presetsPanel"},
18 "activeTabIndex": 0,
19 "tabBar" : {"#": "tab-bar" },
20 "tabs" : [
21 {"key":"styles", "tab": {"#": "styles" }},
22 {"key":"transitions", "tab": {"#": "transitions" }}
23 ]
24 }
25 },
26 "substitution": {
27 "module": "montage/ui/substitution.reel",
28 "name": "Substitution",
29 "properties": {
30 "element": {"#": "librarySlot"},
31 "switchComponents": {
32 "styles": {"@": "stylesLibrary"},
33 "transitions": {"@": "transitionsLibrary"}
34
35 }
36 },
37 "bindings": {
38 "switchValue": {
39 "boundObject": {"@": "owner"},
40 "boundObjectPropertyPath": "contentPanel",
41 "oneway": true
42 }
43 }
44 },
45 "stylesLibrary": {
46 "module": "js/panels/presets/style-presets.reel",
47 "name": "StylesLibrary"
48 },
49 "transitionsLibrary": {
50 "module": "js/panels/presets/transitions-presets.reel",
51 "name": "TransitionsLibrary"
52 }
53
54 }
55 </script>
56</head>
57<body>
58 <section id="presetsPanel" class="presetsPanel">
59 <nav id="tab-bar" class="tab-bar">
60 <div id="styles">Style Library</div>
61 <div id="transitions">Transitions Library</div>
62 </nav>
63 <div id="librarySlot" class="librarySlot"></div>
64 </section>
65</body>
66</html> \ No newline at end of file
diff --git a/js/panels/presets/content.reel/content.js b/js/panels/presets/content.reel/content.js
new file mode 100644
index 00000000..c43c593c
--- /dev/null
+++ b/js/panels/presets/content.reel/content.js
@@ -0,0 +1,79 @@
1/* <copyright>
2This file contains proprietary software owned by Motorola Mobility, Inc.<br/>
3No 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
10exports.content = Montage.create(Component, {
11 hasTemplate: {
12 value: true
13 },
14 contentPanel : {
15 value: null
16 },
17 templateDidLoad : {
18 value: function() {
19 var storedTabIndex = window.localStorage.presetsTabIndex;
20 if(storedTabIndex) {
21 this.activeTabIndex = storedTabIndex;
22 }
23 }
24 },
25 prepareForDraw : {
26 value: function() {
27 this.activeTab = this.tabs[this.activeTabIndex];
28 this.tabBar.addEventListener('click', this, false);
29 }
30 },
31 handleClick : {
32 value: function(e) {
33 var tabObject = this.tabs.filter(function(item) {
34 return item.tab === e._event.target;
35 });
36
37 if(tabObject[0]) {
38 this.activeTab = tabObject[0];
39 }
40
41 }
42 },
43 _activeTab : {
44 value: null,
45 enumerable: false
46 },
47 activeTab : {
48 get: function() {
49 return this._activeTab;
50 },
51 set: function(tabObject) {
52 this.contentPanel = tabObject.key;
53 window.localStorage.presetsTabIndex = this.tabs.indexOf(tabObject);
54 this._tabToDeactivate = this._activeTab;
55 this._activeTab = tabObject;
56
57 this.needsDraw = this._needsTabSwitch = true;
58 }
59 },
60 _tabToDeactivate : {
61 value: null,
62 enumarable: false
63 },
64 _needsTabSwitch : {
65 value: null,
66 enumerable: false
67 },
68 draw : {
69 value: function() {
70 if(this._needsTabSwitch) {
71 if(this._tabToDeactivate) {
72 this._tabToDeactivate.tab.classList.remove('active-tab');
73 }
74
75 this._activeTab.tab.classList.add('active-tab');
76 }
77 }
78 }
79});