Put form controls(labels and textfields) into a tab panel
<!-- 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_History.js></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> DynamicForm.create({ ID:"pane1", autoDraw:false, titleOrientation:"top", itemChange : function () { Page.setUnloadMessage("Exiting the page now will lose changes"); }, fields:[ {name:"firstName", title:"First Name"}, {name:"lastName", title:"Last Name"} ] }); DynamicForm.create({ ID:"pane2", autoDraw:false, titleOrientation:"top", itemChange : function () { Page.setUnloadMessage("Exiting the page now will lose changes"); }, fields:[ {name:"officeNumber", title:"Office Number"}, {name:"mobileNumber", title:"Mobile Number"} ] }); DynamicForm.create({ ID:"pane3", autoDraw:false, titleOrientation:"top", itemChange : function () { Page.setUnloadMessage("Exiting the page now will lose changes"); }, fields:[ {name:"address", title:"Street Address"}, {name:"city", title:"City"}, {name:"state", title:"State"}, {name:"zip", title:"Zip"} ] }); // whenever history is navigated, call this callback isc.History.registerCallback("historyCallback(id)"); // on page load, restore tabset state isc.Page.setEvent("load", "restoreTabSetState()"); function restoreTabSetState() { isc.Log.logWarn("restoring state"); // if we have history state, our callback will fire. Otherwise, we need to inspect the URL // to see if there's history ID in there - this is what happens when the user bookmarks one // of the history URLs, closes the browser, opens a new one and then navigates to the bookmark. if (!isc.History.haveHistoryState()) { tabSet.jumpToTab(isc.History.getCurrentHistoryId() || 0); } } function historyCallback(id) { // the id is the tabNum and null is initial state - which is the first tab. tabSet.jumpToTab(id == null ? 0 : id); } TabSet.create({ ID:"tabSet", top:50, left:50, width:600, height:400, rememberHistory : true, jumpToTab : function (tabNum) { this.noHistory = true; // convert string to number this.selectTab(new Number(tabNum)); this.noHistory = false; }, tabSelected : function (tabNum) { if (!this.noHistory && isc.Page.isLoaded()) isc.History.addHistoryEntry(tabNum); }, tabs:[{title:"red", pane:pane1, width:70}, {title:"green", pane:pane2, width:70}, {title:"blue", pane:pane3, width:70}] }); </SCRIPT> </BODY> </HTML>