JavaScript DHTML/SmartClient/Context Menu

Материал из Web эксперт
Перейти к: навигация, поиск

Add context menu to control

 
<!--
Isomorphic SmartClient
Copyright(c) 1998 and beyond Isomorphic Software, Inc.
"SmartClient" is a trademark of Isomorphic Software, Inc.
All rights reserved.
Open Source License
SmartClient source code, located under the source/ directory, and the resulting assembled modules 
in isomorphic/system/modules/, as well as JavaScript and CSS files under the isomorphic/skins directory are 
licensed under the terms of the GNU Lesser General Public License, version 3. 
The text of the LGPLv3 license is available online at http://www.gnu.org/licenses/lgpl-3.0.html
If your project precludes the use of this license, or if you"d like to support SmartClient LGPL, 
we encourage you to buy a commercial license.
Icon Experience Collection
Selected 16x16 icons within the isomorphic/skins directory are part of the Icon Experience collection 
(http://www.iconexperience.ru) and may be freely used with any SmartClient components without charge, 
but may not be used as part of screen designs separate from SmartClient components without a purchase 
of a license from Icon Experience. We are working to replace these icons as soon as possible.
All other media found under the isomorphic/skins directory may be used under the LGPLv3.
Commercial Licenses
A number of commercial licenses are available for purchase. Please see http://smartclient.ru/license.
Warranty Disclaimer
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even 
the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General 
Public License for more details.
Copyright 2001 and beyond Isomorphic Software, Inc. Last revised July 20, 2008. 

-->
<!-- The following code is revised from SmartClient demo code(SmartClient_70rc2_LGPL.zip).-->

<HTML><HEAD>
  <SCRIPT>var isomorphicDir="isomorphic/";</SCRIPT>
    <SCRIPT SRC=isomorphic/system/modules/ISC_Core.js></SCRIPT>
    <SCRIPT SRC=isomorphic/system/modules/ISC_Foundation.js></SCRIPT>
    <SCRIPT SRC=isomorphic/system/modules/ISC_Containers.js></SCRIPT>
    <SCRIPT SRC=isomorphic/system/modules/ISC_Grids.js></SCRIPT>
    <SCRIPT SRC=isomorphic/system/modules/ISC_Forms.js></SCRIPT>
    <SCRIPT SRC=isomorphic/system/modules/ISC_DataBinding.js></SCRIPT>
    <SCRIPT SRC=isomorphic/system/modules/ISC_Calendar.js></SCRIPT>
  <SCRIPT SRC=isomorphic/skins/standard/load_skin.js></SCRIPT>
</HEAD><BODY BGCOLOR="silver">
<div id="gridDiv">
<SCRIPT>
isc.Menu.create({
    ID:"sizeMenu",
    autoDraw:false,
    data:[
        {title:"Small", checkIf:"widget.width == 50",
         click:"widget.animateResize(50,50)"},
        {title:"Medium", checkIf:"widget.width == 100",
         click:"widget.animateResize(100,100)"},
        {title:"Large", checkIf:"widget.width == 200",
         click:"widget.animateResize(200,200)"}
    ],
    width:150
});

isc.Menu.create({
    ID:"moveMenu",
    autoDraw:false,
    width:150,
    data:[
        {title:"Up", click:"widget.animateMove(widget.getOffsetLeft(),widget.getOffsetTop()-20)"},
        {title:"Right", click:"widget.animateMove(widget.getOffsetLeft()+20,widget.getOffsetTop())"},
        {title:"Down", click:"widget.animateMove(widget.getOffsetLeft(),widget.getOffsetTop()+20)"},
        {title:"Left", click:"widget.animateMove(widget.getOffsetLeft()-20,widget.getOffsetTop())"}
    ]
});
isc.Menu.create({
    ID:"mainMenu",
    width:150,
    data:[
        {title:"Visible", checkIf:"widget.isVisible()",
         click:"widget.isVisible() ? widget.animateHide("fade") : widget.animateShow("fade")"
        },
        {isSeparator:true},
        {title:"Size", submenu:sizeMenu, enableIf:"widget.isVisible()"},
        {title:"Move", submenu:moveMenu, enableIf:"widget.isVisible()"},
        {isSeparator:true},
        {title:"Reset",
            click:"widget.animateRect(200,75,100,100);widget.animateShow("fade")",
            icon:"other/yinyang.gif",
            iconWidth:20,
            iconHeight:20
        }
    ]
});
isc.MenuButton.create({
    ID:"mainMenuButton",
    title:"Widget",
    width:150,
    menu:mainMenu
});

isc.Img.create({
    ID:"widget",
    left:200,
    top:75,
    width:100,
    height:100,
    src:"other/yinyang.gif",
    contextMenu: mainMenu
});
</SCRIPT>
</div>
</BODY>
</HTML>