JavaScript DHTML/SmartClient/List Box
Multiselect list box
<!--
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/skins/SmartClient/load_skin.js></SCRIPT>
</HEAD><BODY>
<SCRIPT>
var abcdArray = ["a", "b", "c", "d"],
abcdList = {a:"option a", b:"option b", c:"option c", d:"option d"},
formItems = [
{name:"item1", type:"header", defaultValue:"header value"},
{name:"item2", type:"blurb", defaultValue:"blurb value"},
{type:"rowSpacer"},
{name:"item3", title:"staticText", type:"staticText", defaultValue:"staticText value"},
//----- data items -----\\
{name:"item4", title:"text", type:"text", defaultValue:"text value"},
{name:"item11", title:"select multiple", type:"select", multiple:true, height:60, valueMap:abcdList, defaultValue:"c"},
];
DynamicForm.create({
ID:"itemsForm",
left:20,
top:40,
width:400,
items:formItems,
canSubmit:true // Required for the submit button to be operative
});
</SCRIPT>
</BODY>
</HTML>
Yes No Maybe Item
<!--
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/skins/standard/load_skin.js></SCRIPT>
<SCRIPT>
/*----------> YesNoMaybeItem.js <----------*/
// subclass either TextItem or StaticTextItem, depending on whether we
// provide a free-form edit field as well as the value picker
ClassFactory.defineClass("YesNoMaybeItem", TextItem);
// class (static) properties and methods
YesNoMaybeItem.addClassProperties({
// (just placeholders for now - these are set dynamically)
dialog:null,
currentEditor:null,
// create the picker dialog
makeDialog : function () {
YesNoMaybeItem.dialog = Dialog.create({
autoDraw:false,
autoCenter:false,
isModal:true,
showHeader:false,
showToolbar:false,
width:130,
height:110,
bodyDefaults:{layoutMargin:10, membersMargin:10},
items:[
Button.create({title:"YES", click:"YesNoMaybeItem.setValue(this.title)"}),
Button.create({title:"NO", click:"YesNoMaybeItem.setValue(this.title)"}),
Button.create({title:"MAYBE", click:"YesNoMaybeItem.setValue(this.title)"})
]
});
},
// show the picker dialog at the specified position (could be smarter about this)
showDialog : function (left, top) {
this.dialog.moveTo(left, top);
this.dialog.show();
},
// set the specified value and dismiss the picker dialog
setValue : function (value) {
this.currentEditor.setValue(value);
this.dialog.hide();
}
});
// instance properties and methods
YesNoMaybeItem.addProperties({
icons:[{}], // could specify a different image here
// (this logic could alternatively go on the "click" handler of the icon object)
iconClick : function (form, item, icon) {
// get global coordinates of the clicked picker icon
var iconRect = this.getIconPageRect(icon);
// lazily create the YesNoMaybe picker dialog the first time a yesNoMaybe editor is clicked
if (!YesNoMaybeItem.dialog) YesNoMaybeItem.makeDialog();
// remember what editor is active, so we can set its value from the picker dialog
YesNoMaybeItem.currentEditor = this;
// show the picker dialog
YesNoMaybeItem.showDialog(iconRect[0],iconRect[1]);
}
});
</SCRIPT>
</HEAD><BODY>
<SCRIPT>
//--------------------------------------------------
// Use the yesNoMaybe editorType in a form
//--------------------------------------------------
isc.DynamicForm.create({
ID:"animalForm",
left:50, top:50,
fields:[
{name:"decision", Title:"Decision", editorType:"yesNoMaybe"}
]
});
</SCRIPT>
</BODY>
</HTML>