extensions/net.sf.basedb.examples/trunk/resources/scripts/menu-items.js

Code
Comments
Other
Rev Date Author Line
2204 28 Jan 14 nicklas 1 /*
2204 28 Jan 14 nicklas 2   Copyright (C) 2014 Nicklas Nordborg
2204 28 Jan 14 nicklas 3
2204 28 Jan 14 nicklas 4   This file is part of the Example Code Package for BASE.
2204 28 Jan 14 nicklas 5   Available at http://baseplugins.thep.lu.se/
2204 28 Jan 14 nicklas 6   BASE main site: http://base.thep.lu.se/
2204 28 Jan 14 nicklas 7   
2204 28 Jan 14 nicklas 8   This is free software; you can redistribute it and/or
2204 28 Jan 14 nicklas 9   modify it under the terms of the GNU General Public License
2204 28 Jan 14 nicklas 10   as published by the Free Software Foundation; either version 3
2204 28 Jan 14 nicklas 11   of the License, or (at your option) any later version.
2204 28 Jan 14 nicklas 12   
2204 28 Jan 14 nicklas 13   The software is distributed in the hope that it will be useful,
2204 28 Jan 14 nicklas 14   but WITHOUT ANY WARRANTY; without even the implied warranty of
2204 28 Jan 14 nicklas 15   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
2204 28 Jan 14 nicklas 16   GNU General Public License for more details.
2204 28 Jan 14 nicklas 17   
2204 28 Jan 14 nicklas 18   You should have received a copy of the GNU General Public License
2204 28 Jan 14 nicklas 19   along with BASE. If not, see <http://www.gnu.org/licenses/>.
2204 28 Jan 14 nicklas 20 */
2204 28 Jan 14 nicklas 21
2204 28 Jan 14 nicklas 22 var HelloWorldMenu = function()
2204 28 Jan 14 nicklas 23 {
2204 28 Jan 14 nicklas 24   var menu = {};
2204 28 Jan 14 nicklas 25
2205 29 Jan 14 nicklas 26   /**
2205 29 Jan 14 nicklas 27     Executed once when the page is loaded. Typically
2205 29 Jan 14 nicklas 28     used to bind events to fixed control elements.
2205 29 Jan 14 nicklas 29   */
2204 28 Jan 14 nicklas 30   menu.initMenuItems = function()
2204 28 Jan 14 nicklas 31   {
2204 28 Jan 14 nicklas 32     // Bind event handlers the menu items. 
2204 28 Jan 14 nicklas 33     // First parameter is the ID of the menu item
2204 28 Jan 14 nicklas 34     // Second parameter is the event to react to (=click)
2204 28 Jan 14 nicklas 35     // Last parameter is the function to execute
2204 28 Jan 14 nicklas 36     Events.addEventHandler('hello-world', 'click', menu.helloWorld);
2204 28 Jan 14 nicklas 37     Events.addEventHandler('hello-factory-world', 'click', menu.helloFactoryWorld);
2204 28 Jan 14 nicklas 38     Events.addEventHandler('greetings-user', 'click', menu.greetingsUser);
2204 28 Jan 14 nicklas 39     
2204 28 Jan 14 nicklas 40     // The other example menu items use 'data-url' dynamic attribute 
2204 28 Jan 14 nicklas 41     // which is natively supported by BASE and event handlers are automatically
2204 28 Jan 14 nicklas 42     // added
2204 28 Jan 14 nicklas 43   }
2204 28 Jan 14 nicklas 44
2204 28 Jan 14 nicklas 45   // Display simple alert message
2204 28 Jan 14 nicklas 46   menu.helloWorld = function(event)
2204 28 Jan 14 nicklas 47   {
2204 28 Jan 14 nicklas 48     alert('Hello world!');
2204 28 Jan 14 nicklas 49   }
2204 28 Jan 14 nicklas 50   
2204 28 Jan 14 nicklas 51   // Display another simple alert message
2204 28 Jan 14 nicklas 52   menu.helloFactoryWorld = function(event)
2204 28 Jan 14 nicklas 53   {
2204 28 Jan 14 nicklas 54     alert('Hello factory world!');
2204 28 Jan 14 nicklas 55   }
2204 28 Jan 14 nicklas 56   
2204 28 Jan 14 nicklas 57   // Get the dynamic attributes defined in extenstions.xml 
2204 28 Jan 14 nicklas 58   // and generate an alert message
2204 28 Jan 14 nicklas 59   menu.greetingsUser = function(event)
2204 28 Jan 14 nicklas 60   {
2204 28 Jan 14 nicklas 61     var userName = Data.get(event.currentTarget, 'user-name');
2204 28 Jan 14 nicklas 62     var prefix = Data.get(event.currentTarget, 'prefix');
2204 28 Jan 14 nicklas 63     alert(prefix + ' ' + userName + '!');
2204 28 Jan 14 nicklas 64   }
2204 28 Jan 14 nicklas 65
2204 28 Jan 14 nicklas 66   return menu;
2204 28 Jan 14 nicklas 67 }();
2204 28 Jan 14 nicklas 68
2205 29 Jan 14 nicklas 69 //Register the page initializer method with the BASE core
2204 28 Jan 14 nicklas 70 Doc.onLoad(HelloWorldMenu.initMenuItems);