From 18f687974273b5ed7374ca5ae440c797064c5d0f Mon Sep 17 00:00:00 2001 From: Eric Guzman Date: Tue, 7 Feb 2012 13:35:27 -0800 Subject: Presets Panel - Initial commit with panel content --- js/panels/presets/content.reel/content.js | 106 ++++++++++++++++++++++++++++++ 1 file changed, 106 insertions(+) create mode 100644 js/panels/presets/content.reel/content.js (limited to 'js/panels/presets/content.reel/content.js') diff --git a/js/panels/presets/content.reel/content.js b/js/panels/presets/content.reel/content.js new file mode 100644 index 00000000..8ddb3757 --- /dev/null +++ b/js/panels/presets/content.reel/content.js @@ -0,0 +1,106 @@ +/* +This file contains proprietary software owned by Motorola Mobility, Inc.
+No rights, expressed or implied, whatsoever to this software are provided by Motorola Mobility, Inc. hereunder.
+(c) Copyright 2011 Motorola Mobility, Inc. All Rights Reserved. +
*/ + +var Montage = require("montage/core/core").Montage, + Component = require("montage/ui/component").Component; + +exports.content = Montage.create(Component, { + hasTemplate: { + value: true + }, + contentPanel : { + value: "presets" // get from local storage + }, + templateDidLoad : { + value: function() { + console.log('deserialized'); + } + }, + prepareForDraw : { + value: function() { + this.activeTab = this.tabs[this.activeTabIndex]; + + this.tabBar.addEventListener('click', this, false); + } + }, + handleClick : { + value: function(e) { + var tabObject = this.tabs.filter(function(item) { + return item.tab === e._event.target; + }); + + if(tabObject[0]) { + this.activeTab = tabObject[0]; + } + + } + }, + _activeTab : { + value: null, + enumerable: false + }, + activeTab : { + get: function() { + return this._activeTab; + }, + set: function(tabObject) { + this.contentPanel = tabObject.key; + + if(this.activeTab) { + this._activeTab.tab.classList.remove('active-tab'); + } + + tabObject.tab.classList.add('active-tab'); + this._activeTab = tabObject; + } + }, + treeList : { + value : null + }, + data2: { + value: { + "meta": "Blah", + "status": "OK", + "text" : "Root", + "data" : { + "date": "1.1.01", + "text": "Root", + "children": [{ + "date": "3.3.01", + "text": "Child 1" + }, + { + "date": "3.3.01", + "text": "Child 2", + "children": [{ + "date": "3.4.01", + "text": "Grand Child 1", + "children": [{ + "date": "4.4.01", + "text": "Great Grand Child 1" + }] + }] + + },{ + "date": "5.5.01", + "text": "Child 3" + }] + } + } + }, + + didDraw: { + value : function() { + console.log('Presets Panel prepare for draw.'); +// this.treeList.items.push({ +// label : "Box Style", +// type : 'leaf' +// }); + } + } + + +}); -- cgit v1.2.3 From af20ca9b11133dd5cefb9275dbe8fb101c3380d0 Mon Sep 17 00:00:00 2001 From: Eric Guzman Date: Wed, 15 Feb 2012 21:44:53 -0800 Subject: Presets - Get/set active tab from local storage + other improvements --- js/panels/presets/content.reel/content.js | 73 ++++++++++--------------------- 1 file changed, 23 insertions(+), 50 deletions(-) (limited to 'js/panels/presets/content.reel/content.js') diff --git a/js/panels/presets/content.reel/content.js b/js/panels/presets/content.reel/content.js index 8ddb3757..c43c593c 100644 --- a/js/panels/presets/content.reel/content.js +++ b/js/panels/presets/content.reel/content.js @@ -12,17 +12,19 @@ exports.content = Montage.create(Component, { value: true }, contentPanel : { - value: "presets" // get from local storage + value: null }, templateDidLoad : { value: function() { - console.log('deserialized'); + var storedTabIndex = window.localStorage.presetsTabIndex; + if(storedTabIndex) { + this.activeTabIndex = storedTabIndex; + } } }, prepareForDraw : { value: function() { this.activeTab = this.tabs[this.activeTabIndex]; - this.tabBar.addEventListener('click', this, false); } }, @@ -48,59 +50,30 @@ exports.content = Montage.create(Component, { }, set: function(tabObject) { this.contentPanel = tabObject.key; - - if(this.activeTab) { - this._activeTab.tab.classList.remove('active-tab'); - } - - tabObject.tab.classList.add('active-tab'); + window.localStorage.presetsTabIndex = this.tabs.indexOf(tabObject); + this._tabToDeactivate = this._activeTab; this._activeTab = tabObject; + + this.needsDraw = this._needsTabSwitch = true; } }, - treeList : { - value : null + _tabToDeactivate : { + value: null, + enumarable: false }, - data2: { - value: { - "meta": "Blah", - "status": "OK", - "text" : "Root", - "data" : { - "date": "1.1.01", - "text": "Root", - "children": [{ - "date": "3.3.01", - "text": "Child 1" - }, - { - "date": "3.3.01", - "text": "Child 2", - "children": [{ - "date": "3.4.01", - "text": "Grand Child 1", - "children": [{ - "date": "4.4.01", - "text": "Great Grand Child 1" - }] - }] - - },{ - "date": "5.5.01", - "text": "Child 3" - }] - } - } + _needsTabSwitch : { + value: null, + enumerable: false }, + draw : { + value: function() { + if(this._needsTabSwitch) { + if(this._tabToDeactivate) { + this._tabToDeactivate.tab.classList.remove('active-tab'); + } - didDraw: { - value : function() { - console.log('Presets Panel prepare for draw.'); -// this.treeList.items.push({ -// label : "Box Style", -// type : 'leaf' -// }); + this._activeTab.tab.classList.add('active-tab'); + } } } - - }); -- cgit v1.2.3