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 --- js/components/menu/menu-entry.reel/menu-entry.css | 64 +++++++++++++++++ js/components/menu/menu-entry.reel/menu-entry.html | 81 ++++++++++++++++++++++ js/components/menu/menu-entry.reel/menu-entry.js | 79 +++++++++++++++++++++ 3 files changed, 224 insertions(+) create mode 100644 js/components/menu/menu-entry.reel/menu-entry.css create mode 100644 js/components/menu/menu-entry.reel/menu-entry.html create mode 100644 js/components/menu/menu-entry.reel/menu-entry.js (limited to 'js/components/menu/menu-entry.reel') diff --git a/js/components/menu/menu-entry.reel/menu-entry.css b/js/components/menu/menu-entry.reel/menu-entry.css new file mode 100644 index 00000000..ea0fa6d1 --- /dev/null +++ b/js/components/menu/menu-entry.reel/menu-entry.css @@ -0,0 +1,64 @@ +/* + 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. +
*/ + +.topMenuItem { + float: left; + display: inline; +} + +.topMenuItem .menubg{ + color: #f7f7f7; +} + +.topMenuItem .menuName { + font-family: 'Droid Sans', sans-serif; + font-size: 10pt; + padding: 3px 12px 3px 8px; + text-shadow : 1px 1px 1px #000000; +} + +.menubg{ + display: inline; +} + +.menubg.checked .check { + opacity: 1; +} + +.selected { + background-color: #7F7F7F; +} + +.menu-label { + font-family: 'Droid Sans', sans-serif; + font-size: 10pt; + padding: 3px 12px 3px 8px; + text-shadow: 1px 1px 1px black; +} + +.subEntries{ + position: absolute; + z-index: 100000; + float:left; + font-family: 'Droid Sans', sans-serif !important; + color: #ffffff; + background: #494949; + border: 1px solid #292929; + border-radius: 8px; + padding: 8px 0px 8px 0px; + box-shadow: 0px 0px 8px rgba(0, 0, 0, 0.8); + white-space:nowrap; +} + +.menuItem { + font-size: 9pt; + padding: 4px 8px; + display: block; + float: none; + position: relative; + background: #474747; + color: white; +} diff --git a/js/components/menu/menu-entry.reel/menu-entry.html b/js/components/menu/menu-entry.reel/menu-entry.html new file mode 100644 index 00000000..bba5e65d --- /dev/null +++ b/js/components/menu/menu-entry.reel/menu-entry.html @@ -0,0 +1,81 @@ + + + + + + + + + + + + + + + + diff --git a/js/components/menu/menu-entry.reel/menu-entry.js b/js/components/menu/menu-entry.reel/menu-entry.js new file mode 100644 index 00000000..57e6ec87 --- /dev/null +++ b/js/components/menu/menu-entry.reel/menu-entry.js @@ -0,0 +1,79 @@ +/* +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; +var Component = require("montage/ui/component").Component; + +exports.MenuEntry = Montage.create(Component, { + topHeader: { value: null }, + topHeaderText: { value: null }, + + // Reference to the parent Menu component + _menu: { + value: null + }, + + data: { + value: null + }, + + select: { + value: function() { + this.element.classList.add("selected"); + this.subEntries.style.display = "block"; + } + }, + + deselect: { + value: function() { + this.element.classList.remove("selected"); + this.subEntries.style.display = "none"; + } + }, + + _menuIsActive: { + value: false + }, + + menuIsActive: { + get: function() { + return this._menuIsActive; + }, + set: function(value) { + if(value) this.topHeader.addEventListener("mouseover", this, false); + } + }, + + handleClick: { + value: function(event) { + this._menu.toggleActivation(this); + } + }, + + handleMouseover: { + value: function(event) { + this._menu.activeEntry = this; + } + }, + + prepareForDraw: { + value: function() { + + this.subEntries.style.display = "none"; + + this.topHeaderText.innerHTML = this.data.header; + + this.element.addEventListener("click", this, false); + + Object.defineBinding(this, "menuIsActive", { + boundObject: this._menu, + boundObjectPropertyPath: "active", + oneway: true + }); + + } + } +}); \ No newline at end of file -- cgit v1.2.3