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 | 53 |
1 files changed, 32 insertions, 21 deletions
diff --git a/js/components/menu/menu-item.reel/menu-item.js b/js/components/menu/menu-item.reel/menu-item.js index 320611c5..63cc79b7 100755 --- a/js/components/menu/menu-item.reel/menu-item.js +++ b/js/components/menu/menu-item.reel/menu-item.js | |||
@@ -1,24 +1,25 @@ | |||
1 | /* <copyright> | 1 | /* <copyright> |
2 | Copyright (c) 2012, Motorola Mobility, Inc | 2 | Copyright (c) 2012, Motorola Mobility LLC. |
3 | All Rights Reserved. | 3 | All Rights Reserved. |
4 | BSD License. | ||
5 | 4 | ||
6 | Redistribution and use in source and binary forms, with or without | 5 | Redistribution and use in source and binary forms, with or without |
7 | modification, are permitted provided that the following conditions are met: | 6 | modification, are permitted provided that the following conditions are met: |
8 | 7 | ||
9 | - Redistributions of source code must retain the above copyright notice, | 8 | * Redistributions of source code must retain the above copyright notice, |
10 | this list of conditions and the following disclaimer. | 9 | this list of conditions and the following disclaimer. |
11 | - Redistributions in binary form must reproduce the above copyright | 10 | |
12 | notice, this list of conditions and the following disclaimer in the | 11 | * Redistributions in binary form must reproduce the above copyright notice, |
13 | documentation and/or other materials provided with the distribution. | 12 | this list of conditions and the following disclaimer in the documentation |
14 | - Neither the name of Motorola Mobility nor the names of its contributors | 13 | and/or other materials provided with the distribution. |
15 | may be used to endorse or promote products derived from this software | 14 | |
16 | without specific prior written permission. | 15 | * Neither the name of Motorola Mobility LLC nor the names of its |
16 | contributors may be used to endorse or promote products derived from this | ||
17 | software without specific prior written permission. | ||
17 | 18 | ||
18 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" | 19 | 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 | AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE |
20 | IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE | 21 | IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE |
21 | ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE | 22 | ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE |
22 | LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR | 23 | LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR |
23 | CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF | 24 | CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF |
24 | SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS | 25 | SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS |
@@ -120,18 +121,15 @@ exports.MenuItem = Montage.create(Component, { | |||
120 | 121 | ||
121 | if(this.data.submenu) { | 122 | if(this.data.submenu) { |
122 | this.submenu = true; | 123 | this.submenu = true; |
123 | |||
124 | this.subentries = this.data.entries; | 124 | this.subentries = this.data.entries; |
125 | |||
126 | this.subMenu.classList.add("subMenu"); | 125 | this.subMenu.classList.add("subMenu"); |
127 | this.element.addEventListener("mouseover", this, false); | ||
128 | this.element.addEventListener("mouseout", this, false); | ||
129 | |||
130 | } | 126 | } |
131 | 127 | ||
128 | this.element.addEventListener("mouseover", this, false); | ||
129 | this.element.addEventListener("mouseout", this, false); | ||
132 | 130 | ||
133 | this.itemText.innerHTML = this.data.displayText; | 131 | this.itemText.innerHTML = this.data.displayText; |
134 | this.element.addEventListener("mousedown", this, true); | 132 | this.element.addEventListener("mouseup", this, true); |
135 | } | 133 | } |
136 | }, | 134 | }, |
137 | 135 | ||
@@ -156,10 +154,13 @@ exports.MenuItem = Montage.create(Component, { | |||
156 | } | 154 | } |
157 | }, | 155 | }, |
158 | 156 | ||
159 | captureMousedown: { | 157 | captureMouseup: { |
160 | value: function(event) { | 158 | value: function(event) { |
161 | 159 | ||
162 | if(this.data.radio && this.checked) return; | 160 | if(this.data.radio && this.checked){ |
161 | this.parentComponent.ownerComponent.toggleOnMenuItemAction(); | ||
162 | return; | ||
163 | } | ||
163 | 164 | ||
164 | if( ( this.enabled === true || this.enabled > 0 ) && (this.submenu === false) ) { | 165 | if( ( this.enabled === true || this.enabled > 0 ) && (this.submenu === false) ) { |
165 | if(this.data.action) { | 166 | if(this.data.action) { |
@@ -167,6 +168,7 @@ exports.MenuItem = Montage.create(Component, { | |||
167 | } else if(this.checked !== null) { | 168 | } else if(this.checked !== null) { |
168 | this.checked = !this.checked; | 169 | this.checked = !this.checked; |
169 | } | 170 | } |
171 | this.parentComponent.ownerComponent.toggleOnMenuItemAction(); | ||
170 | } | 172 | } |
171 | 173 | ||
172 | } | 174 | } |
@@ -174,13 +176,22 @@ exports.MenuItem = Montage.create(Component, { | |||
174 | 176 | ||
175 | handleMouseover: { | 177 | handleMouseover: { |
176 | value: function() { | 178 | value: function() { |
177 | if(this.enabled) this.subMenu.style.display = "block"; | 179 | if(this.enabled){ |
180 | this.element.style.backgroundColor = "#7f7f7f"; | ||
181 | this.element.style.cursor = "pointer"; | ||
182 | if(this.data.submenu) { | ||
183 | this.subMenu.style.display = "block"; | ||
184 | } | ||
185 | } | ||
178 | } | 186 | } |
179 | }, | 187 | }, |
180 | 188 | ||
181 | handleMouseout: { | 189 | handleMouseout: { |
182 | value: function() { | 190 | value: function() { |
183 | this.subMenu.style.display = "none"; | 191 | this.element.style.backgroundColor = "#474747"; |
192 | if(this.data.submenu) { | ||
193 | this.subMenu.style.display = "none"; | ||
194 | } | ||
184 | } | 195 | } |
185 | } | 196 | } |
186 | 197 | ||