Mega Code Archive

 
Categories / JavaScript DHTML / Smartclient
 

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.com) 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.com/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>