From b89a7ee8b956c96a1dcee995ea840feddc5d4b27 Mon Sep 17 00:00:00 2001 From: Pierre Frisch Date: Thu, 22 Dec 2011 07:25:50 -0800 Subject: First commit of Ninja to ninja-internal Signed-off-by: Valerio Virgillito --- .../layout/bread-crumb.reel/bread-crumb.css | 27 +++++ .../layout/bread-crumb.reel/bread-crumb.html | 70 +++++++++++++ .../layout/bread-crumb.reel/bread-crumb.js | 110 +++++++++++++++++++++ 3 files changed, 207 insertions(+) create mode 100644 js/components/layout/bread-crumb.reel/bread-crumb.css create mode 100644 js/components/layout/bread-crumb.reel/bread-crumb.html create mode 100644 js/components/layout/bread-crumb.reel/bread-crumb.js (limited to 'js/components/layout/bread-crumb.reel') diff --git a/js/components/layout/bread-crumb.reel/bread-crumb.css b/js/components/layout/bread-crumb.reel/bread-crumb.css new file mode 100644 index 00000000..f84c6e80 --- /dev/null +++ b/js/components/layout/bread-crumb.reel/bread-crumb.css @@ -0,0 +1,27 @@ +/* + 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. +
*/ + +.bread_crumb{ + border-style: double; + height: 26px; +} +.breadcrumbtrail{ + -webkit-box-flex: 0; +} +.bread_crumb_button{ + background-color: #575757; + float: left; + width: 40px; + height: 20px; + margin-left: 5px; + margin-top: 3px; + + font-family: 'Droid Sans', sans-serif; + font-size: 12px; + text-shadow: 1px 1px 1px black; + + color: white; +} \ No newline at end of file diff --git a/js/components/layout/bread-crumb.reel/bread-crumb.html b/js/components/layout/bread-crumb.reel/bread-crumb.html new file mode 100644 index 00000000..67328479 --- /dev/null +++ b/js/components/layout/bread-crumb.reel/bread-crumb.html @@ -0,0 +1,70 @@ + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/js/components/layout/bread-crumb.reel/bread-crumb.js b/js/components/layout/bread-crumb.reel/bread-crumb.js new file mode 100644 index 00000000..9782d9d1 --- /dev/null +++ b/js/components/layout/bread-crumb.reel/bread-crumb.js @@ -0,0 +1,110 @@ +/* + 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.Breadcrumb = Montage.create(Component, { + + _container:{ + value:null + }, + + + container: { + set: function(value) { + if(this._container !== value) { + this._container = value; + this.createContainerElements(); + } + }, + get: function() { + return this._container; + } + }, + + containerElements: { + value: [] + }, + + deserializedFromTemplate : { + value: function() { + this.eventManager.addEventListener( "appLoaded", this, false); + this.eventManager.addEventListener( "openDocument", this, false); + this.eventManager.addEventListener( "breadCrumbTrail", this, false); + } + }, + + handleAppLoaded : { + value: function() { + + Object.defineBinding(this, "container", { + boundObject: this.application.ninja, + boundObjectPropertyPath: "currentSelectedContainer", + oneway: false + }); + } + }, + + createContainerElements: { + value: function() { + var parentNode; + + while(this.containerElements.pop()){ + // To empty the array to get the new parentNode of the new currentLevel + } + + if(this.container.id === "UserContent") { + this.containerElements.push({selected:false,element:this.container}); + } else { + + parentNode = this.container; + + while(parentNode.id !== "UserContent") { + this.containerElements.unshift ({selected:false,element:parentNode}); + parentNode = parentNode.parentNode; + } + + this.containerElements.unshift({selected:false,element:parentNode}); + + } + + NJevent('layerBinding',this.container); + } + }, + + + handleBreadCrumbTrail: { + value: function(event) { + var newLength, revaluatedLength, tmpvalue, i=0; + + newLength = this.containerElements.length; + + while(i < newLength ) { + if(this.containerElements[i].selected){ + tmpvalue = i ; + break; + } + + i++; + } + + for(i = newLength -1 ; i >= 1 ; i--) { + if(tmpvalue!==i) { + this.containerElements.pop(); + } else { + break; + } + } + + revaluatedLength = this.containerElements.length; + this.application.ninja.currentSelectedContainer = this.containerElements[revaluatedLength-1].element; + + } + } + + +}); -- cgit v1.2.3