diff options
Diffstat (limited to 'js/components/layout/bread-crumb.reel/bread-crumb.js')
-rw-r--r-- | js/components/layout/bread-crumb.reel/bread-crumb.js | 108 |
1 files changed, 77 insertions, 31 deletions
diff --git a/js/components/layout/bread-crumb.reel/bread-crumb.js b/js/components/layout/bread-crumb.reel/bread-crumb.js index 9782d9d1..ead7c764 100644 --- a/js/components/layout/bread-crumb.reel/bread-crumb.js +++ b/js/components/layout/bread-crumb.reel/bread-crumb.js | |||
@@ -1,13 +1,8 @@ | |||
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 | 1 | ||
7 | var Montage = require("montage/core/core").Montage, | 2 | var Montage = require("montage/core/core").Montage |
8 | Component = require("montage/ui/component").Component; | 3 | var Component = require("montage/ui/component").Component |
9 | 4 | ||
10 | exports.Breadcrumb = Montage.create(Component, { | 5 | var Breadcrumb = exports.Breadcrumb = Montage.create(Component, { |
11 | 6 | ||
12 | _container:{ | 7 | _container:{ |
13 | value:null | 8 | value:null |
@@ -16,10 +11,12 @@ exports.Breadcrumb = Montage.create(Component, { | |||
16 | 11 | ||
17 | container: { | 12 | container: { |
18 | set: function(value) { | 13 | set: function(value) { |
19 | if(this._container !== value) { | 14 | if(this._container !== value) { |
20 | this._container = value; | 15 | this._container = value; |
21 | this.createContainerElements(); | 16 | this.createContainerElements(); |
22 | } | 17 | } |
18 | |||
19 | |||
23 | }, | 20 | }, |
24 | get: function() { | 21 | get: function() { |
25 | return this._container; | 22 | return this._container; |
@@ -28,83 +25,132 @@ exports.Breadcrumb = Montage.create(Component, { | |||
28 | 25 | ||
29 | containerElements: { | 26 | containerElements: { |
30 | value: [] | 27 | value: [] |
28 | |||
31 | }, | 29 | }, |
32 | 30 | ||
31 | |||
33 | deserializedFromTemplate : { | 32 | deserializedFromTemplate : { |
34 | value: function() { | 33 | value: function() { |
35 | this.eventManager.addEventListener( "appLoaded", this, false); | 34 | this.eventManager.addEventListener( "appLoaded", this, false); |
36 | this.eventManager.addEventListener( "openDocument", this, false); | ||
37 | this.eventManager.addEventListener( "breadCrumbTrail", this, false); | 35 | this.eventManager.addEventListener( "breadCrumbTrail", this, false); |
38 | } | 36 | }, |
37 | enumerable : false | ||
39 | }, | 38 | }, |
40 | 39 | ||
41 | handleAppLoaded : { | 40 | handleAppLoaded : { |
42 | value: function() { | 41 | value: function() { |
43 | 42 | ||
43 | |||
44 | Object.defineBinding(this, "container", { | 44 | Object.defineBinding(this, "container", { |
45 | boundObject: this.application.ninja, | 45 | boundObject: this.application.ninja, |
46 | boundObjectPropertyPath: "currentSelectedContainer", | 46 | boundObjectPropertyPath: "currentSelectedContainer", |
47 | oneway: false | 47 | oneway: false |
48 | }); | 48 | }); |
49 | |||
50 | } | ||
51 | }, | ||
52 | |||
53 | prepareForDraw: { | ||
54 | value: function() { | ||
55 | |||
56 | } | ||
57 | }, | ||
58 | |||
59 | draw: { | ||
60 | value: function() { | ||
61 | |||
62 | } | ||
63 | }, | ||
64 | |||
65 | didDraw:{ | ||
66 | value:function(){ | ||
49 | } | 67 | } |
50 | }, | 68 | }, |
51 | 69 | ||
52 | createContainerElements: { | 70 | createContainerElements: { |
53 | value: function() { | 71 | value: function() { |
72 | |||
54 | var parentNode; | 73 | var parentNode; |
55 | 74 | ||
56 | while(this.containerElements.pop()){ | 75 | while(this.containerElements.pop()){ |
57 | // To empty the array to get the new parentNode of the new currentLevel | 76 | // To empty the array to get the new parentNode of the new currentLevel |
58 | } | 77 | } |
59 | 78 | ||
60 | if(this.container.id === "UserContent") { | 79 | if(this.container.id === "UserContent"){ |
80 | |||
61 | this.containerElements.push({selected:false,element:this.container}); | 81 | this.containerElements.push({selected:false,element:this.container}); |
62 | } else { | ||
63 | 82 | ||
64 | parentNode = this.container; | ||
65 | 83 | ||
66 | while(parentNode.id !== "UserContent") { | 84 | } |
85 | else{ | ||
86 | |||
87 | parentNode= this.container; | ||
88 | |||
89 | while(parentNode.id!=="UserContent"){ | ||
90 | |||
67 | this.containerElements.unshift ({selected:false,element:parentNode}); | 91 | this.containerElements.unshift ({selected:false,element:parentNode}); |
68 | parentNode = parentNode.parentNode; | 92 | parentNode=parentNode.parentNode; |
93 | |||
69 | } | 94 | } |
70 | 95 | ||
71 | this.containerElements.unshift({selected:false,element:parentNode}); | 96 | this.containerElements.unshift({selected:false,element:parentNode}); |
72 | 97 | ||
73 | } | 98 | } |
74 | 99 | ||
75 | NJevent('layerBinding',this.container); | 100 | NJevent('layerBinding',{selected:false ,element:this.container}) |
101 | |||
102 | |||
76 | } | 103 | } |
77 | }, | 104 | }, |
78 | 105 | ||
79 | 106 | ||
80 | handleBreadCrumbTrail: { | 107 | handleBreadCrumbTrail: { |
81 | value: function(event) { | 108 | value: function(event) { |
82 | var newLength, revaluatedLength, tmpvalue, i=0; | 109 | |
110 | var newLength,revaluatedLength,tmpvalue | ||
111 | var i=0; | ||
112 | if(event.detail.setFlag){ | ||
113 | this.application.ninja.currentSelectedContainer = event.detail.element; | ||
114 | return; | ||
115 | } | ||
83 | 116 | ||
84 | newLength = this.containerElements.length; | 117 | newLength = this.containerElements.length; |
85 | 118 | ||
86 | while(i < newLength ) { | 119 | while(i < newLength ){ |
87 | if(this.containerElements[i].selected){ | 120 | |
88 | tmpvalue = i ; | 121 | if(this.containerElements[i].selected){ |
89 | break; | 122 | |
90 | } | 123 | tmpvalue = i ; |
124 | break; | ||
125 | |||
126 | } | ||
91 | 127 | ||
92 | i++; | 128 | i++; |
93 | } | 129 | } |
94 | 130 | ||
95 | for(i = newLength -1 ; i >= 1 ; i--) { | 131 | |
96 | if(tmpvalue!==i) { | 132 | |
133 | for(i = newLength -1 ; i >= 1 ; i--){ | ||
134 | |||
135 | if(tmpvalue!==i){ | ||
136 | |||
97 | this.containerElements.pop(); | 137 | this.containerElements.pop(); |
98 | } else { | 138 | } |
139 | |||
140 | else{ | ||
141 | |||
99 | break; | 142 | break; |
100 | } | 143 | } |
144 | |||
101 | } | 145 | } |
102 | 146 | ||
103 | revaluatedLength = this.containerElements.length; | 147 | revaluatedLength = this.containerElements.length; |
104 | this.application.ninja.currentSelectedContainer = this.containerElements[revaluatedLength-1].element; | 148 | this.application.ninja.currentSelectedContainer = this.containerElements[revaluatedLength-1].element; |
105 | 149 | ||
150 | |||
106 | } | 151 | } |
107 | } | 152 | } |
108 | 153 | ||
109 | 154 | ||
110 | }); | 155 | }); |
156 | |||