diff options
Diffstat (limited to 'js/components/menu/menu-item.reel/menu-item.js')
-rwxr-xr-x | js/components/menu/menu-item.reel/menu-item.js | 62 |
1 files changed, 48 insertions, 14 deletions
diff --git a/js/components/menu/menu-item.reel/menu-item.js b/js/components/menu/menu-item.reel/menu-item.js index 3a5bf4ab..fbac149c 100755 --- a/js/components/menu/menu-item.reel/menu-item.js +++ b/js/components/menu/menu-item.reel/menu-item.js | |||
@@ -1,7 +1,31 @@ | |||
1 | /* <copyright> | 1 | /* <copyright> |
2 | This file contains proprietary software owned by Motorola Mobility, Inc.<br/> | 2 | Copyright (c) 2012, Motorola Mobility, Inc |
3 | No rights, expressed or implied, whatsoever to this software are provided by Motorola Mobility, Inc. hereunder.<br/> | 3 | All Rights Reserved. |
4 | (c) Copyright 2011 Motorola Mobility, Inc. All Rights Reserved. | 4 | BSD License. |
5 | |||
6 | Redistribution and use in source and binary forms, with or without | ||
7 | modification, are permitted provided that the following conditions are met: | ||
8 | |||
9 | - Redistributions of source code must retain the above copyright notice, | ||
10 | this list of conditions and the following disclaimer. | ||
11 | - Redistributions in binary form must reproduce the above copyright | ||
12 | notice, this list of conditions and the following disclaimer in the | ||
13 | documentation and/or other materials provided with the distribution. | ||
14 | - Neither the name of Motorola Mobility nor the names of its contributors | ||
15 | may be used to endorse or promote products derived from this software | ||
16 | without specific prior written permission. | ||
17 | |||
18 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" | ||
19 | AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE | ||
20 | IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE | ||
21 | ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE | ||
22 | LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR | ||
23 | CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF | ||
24 | SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS | ||
25 | INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN | ||
26 | CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) | ||
27 | ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE | ||
28 | POSSIBILITY OF SUCH DAMAGE. | ||
5 | </copyright> */ | 29 | </copyright> */ |
6 | 30 | ||
7 | var Montage = require("montage/core/core").Montage; | 31 | var Montage = require("montage/core/core").Montage; |
@@ -96,18 +120,15 @@ exports.MenuItem = Montage.create(Component, { | |||
96 | 120 | ||
97 | if(this.data.submenu) { | 121 | if(this.data.submenu) { |
98 | this.submenu = true; | 122 | this.submenu = true; |
99 | |||
100 | this.subentries = this.data.entries; | 123 | this.subentries = this.data.entries; |
101 | |||
102 | this.subMenu.classList.add("subMenu"); | 124 | this.subMenu.classList.add("subMenu"); |
103 | this.element.addEventListener("mouseover", this, false); | ||
104 | this.element.addEventListener("mouseout", this, false); | ||
105 | |||
106 | } | 125 | } |
107 | 126 | ||
127 | this.element.addEventListener("mouseover", this, false); | ||
128 | this.element.addEventListener("mouseout", this, false); | ||
108 | 129 | ||
109 | this.itemText.innerHTML = this.data.displayText; | 130 | this.itemText.innerHTML = this.data.displayText; |
110 | this.element.addEventListener("mousedown", this, true); | 131 | this.element.addEventListener("mouseup", this, true); |
111 | } | 132 | } |
112 | }, | 133 | }, |
113 | 134 | ||
@@ -132,10 +153,13 @@ exports.MenuItem = Montage.create(Component, { | |||
132 | } | 153 | } |
133 | }, | 154 | }, |
134 | 155 | ||
135 | captureMousedown: { | 156 | captureMouseup: { |
136 | value: function(event) { | 157 | value: function(event) { |
137 | 158 | ||
138 | if(this.data.radio && this.checked) return; | 159 | if(this.data.radio && this.checked){ |
160 | this.parentComponent.ownerComponent.toggleOnMenuItemAction(); | ||
161 | return; | ||
162 | } | ||
139 | 163 | ||
140 | if( ( this.enabled === true || this.enabled > 0 ) && (this.submenu === false) ) { | 164 | if( ( this.enabled === true || this.enabled > 0 ) && (this.submenu === false) ) { |
141 | if(this.data.action) { | 165 | if(this.data.action) { |
@@ -143,6 +167,7 @@ exports.MenuItem = Montage.create(Component, { | |||
143 | } else if(this.checked !== null) { | 167 | } else if(this.checked !== null) { |
144 | this.checked = !this.checked; | 168 | this.checked = !this.checked; |
145 | } | 169 | } |
170 | this.parentComponent.ownerComponent.toggleOnMenuItemAction(); | ||
146 | } | 171 | } |
147 | 172 | ||
148 | } | 173 | } |
@@ -150,14 +175,23 @@ exports.MenuItem = Montage.create(Component, { | |||
150 | 175 | ||
151 | handleMouseover: { | 176 | handleMouseover: { |
152 | value: function() { | 177 | value: function() { |
153 | if(this.enabled) this.subMenu.style.display = "block"; | 178 | if(this.enabled){ |
179 | this.element.style.backgroundColor = "#7f7f7f"; | ||
180 | this.element.style.cursor = "pointer"; | ||
181 | if(this.data.submenu) { | ||
182 | this.subMenu.style.display = "block"; | ||
183 | } | ||
184 | } | ||
154 | } | 185 | } |
155 | }, | 186 | }, |
156 | 187 | ||
157 | handleMouseout: { | 188 | handleMouseout: { |
158 | value: function() { | 189 | value: function() { |
159 | this.subMenu.style.display = "none"; | 190 | this.element.style.backgroundColor = "#474747"; |
191 | if(this.data.submenu) { | ||
192 | this.subMenu.style.display = "none"; | ||
193 | } | ||
160 | } | 194 | } |
161 | } | 195 | } |
162 | 196 | ||
163 | }); \ No newline at end of file | 197 | }); |