/*
Copyright (c) 2004-2010, The Dojo Foundation All Rights Reserved.
Available via Academic Free License >= 2.1 OR the modified BSD license.
see: http://dojotoolkit.org/license for details
*/
if(!dojo._hasResource["kfc.kca.KcaMenus"]){dojo._hasResource["kfc.kca.KcaMenus"]=true;dojo.provide("kfc.kca.KcaMenus");dojo.require("kfc.util.Toolbar");dojo.require("kfc.base._FormBase");dojo.require("kfc.base._GridBase");dojo.require("dijit.form.Button");dojo.require("dijit.form.FilteringSelect");dojo.require("dijit.form.ComboBox");dojo.require("dijit.form.TextBox");dojo.require("dojo.data.ItemFileReadStore");dojo.require("dojo.data.ItemFileWriteStore");dojo.require("dojox.grid.DataGrid");dojo.require("dojox.grid.cells.dijit");dojo.declare("kfc.kca.KcaMenus",[kfc.base._FormBase,kfc.base._GridBase],{templateString:dojo.cache("kfc.kca","templates/KcaMenus.html","
\n \n
\n
\n
\n
\n \n
\n
\n \n
\n
\n
\n
\n \n
\n
\n \n
\n
\n
\n
\n \n
\n
\n \n
\n
\n
\n
\n \n
\n
\n \n
\n
\n
\n
\n \n
\n
\n \n
\n
\n
\n
\n \n
\n
\n \n
\n
\n
\n \n \n
\n \n
\n \n \n
\n
\n \n \n
\n \n
\n
\n
\n
\n
\n"),widgetsInTemplate:true,db_table_name:"KCA_MENU_ITEMS",saveStyle:"ROW",saveFile:"server/save.php",saveMenuFile:"server/save.php",grid:null,menuFile:"server/getKcaMenus.php",menuStore:null,menuItemFile:"server/getKcaMenuItems.php",menuItemStore:null,appCodeFile:"server/getKcaAppCodes.php",appCodeStore:null,storeStruct:{P_ID:null,P_MENU_ID:null,P_NAME:"",P_DISPLAY_NAME:"",P_APP_CODE:"",P_SORT_ORDER:"",P_URL:"",P_ENABLED_FLAG:"Y"},action:"I",menuName:"",menuId:-1,_getGridStructure:function(){var _1=this;return [{name:" ",width:"1em",formatter:function(){return " ";},editable:false},{name:"Name",field:"P_NAME",width:"15em",editable:"true"},{name:"Display Name",field:"P_DISPLAY_NAME",width:"15em",editable:"true"},{name:"Sort Order",field:"P_SORT_ORDER",width:"6em",editable:"true"},{name:"URL",field:"P_URL",width:"15em",editable:"true"},{name:"Enabled",field:"P_ENABLED_FLAG",width:"10em",editable:"true",type:dojox.grid.cells.Select,options:["Y","N"]}];},_setEmptyStore:function(){this.menuItemStore=new dojo.data.ItemFileWriteStore({data:{items:[]}});this.setStore(this.menuItemStore);},addRow:function(){if(!this.menuItemStore){return;}this.newData();},_getNewDataDefaults:function(_2){_2.P_ID=this.newId--;_2.P_MENU_ID=this.menuId;return _2;},deleteRow:function(){this.deleteEntry();},_nameOnChange:function(_3){var _4=this.f_name.item;if(_4){this.attr("action","U");this._loadMenu(_4);}else{this.attr("action","I");this.newEntry();}},_setActionAttr:function(_5){this.action=_5;},newEntry:function(){this.menuName=this.f_name.attr("value");this.menuId=-1;this.f_display_name.reset();this.f_app_code.reset();this.f_parent_id.reset();this.f_enabled_flag.reset();this._setEmptyStore();},_save:function(){if(this._saveForm()){this.save();}},_onAfterSave:function(_6,_7){if(_7){this._fetchMenus();this._loadMenu();}},_saveForm:function(){var _8=false;var _9={"NEW":"[]","UPD":"[]","DEL":"[]"};_9[(this.action=="I"?"NEW":"UPD")]=dojo.toJson([this.f_form.getValues()]);dojo.xhrPost({sync:true,url:this.saveMenuFile,handleAs:"json",content:{P_REQ_TYPE:"SAVE",P_TABLE_NAME:"KCA_MENUS",P_VALUES:dojo.toJson(_9)},load:dojo.hitch(this,function(_a){if(_a&&_a.items&&_a.items.B_ID){var _b=(this.action=="I")?"INSERT":"UPDATE";this.menuId=_a.items.B_ID[_b][0];_8=true;}else{throw ("Save failed.");}}),error:dojo.hitch(this,function(_c){this.throwError(_c);})});return _8;},throwError:function(_d){alert(_d);},onBeforeSave:function(){this._seedMenuItemValues();},_seedMenuItemValues:function(){var _e=this.menuItemStore._getItemsArray();var _f=this.f_app_code.attr("value");for(var i in _e){this.menuItemStore.setValue(_e[i],"P_MENU_ID",this.menuId);this.menuItemStore.setValue(_e[i],"P_APP_CODE",_f);}},_loadMenu:function(_10){if(_10){this.menuId=_10.P_ID[0];this.menuName=_10.P_NAME[0];}dojo.xhrPost({sync:true,url:this.menuFile,handleAs:"json",content:{P_ID:this.menuId},load:dojo.hitch(this,function(_11){if(_11&&_11.items&&_11.items.length==1){var _12=_11.items[0];this.f_form.setValues(_12);this._loadMenuItems(_12.P_ID,_12.P_APP_CODE);}}),error:dojo.hitch(this,function(_13){this.throwError(_13);}),timeout:30000});},_loadMenuItems:function(_14,_15){dojo.xhrPost({sync:true,url:this.menuItemFile,handleAs:"json",content:{P_MENU_ID:_14,P_APP_CODE:_15},load:dojo.hitch(this,function(_16){if(_16&&_16.items){this.menuItemStore=new dojo.data.ItemFileWriteStore({data:_16});this.menuItemStore.fetch({onComplete:dojo.hitch(this,function(){this.setStore(this.menuItemStore);}),onError:dojo.hitch(this,function(_17){this.throwError(_17);})});}else{throw ("Invalid server response.");}}),error:dojo.hitch(this,function(_18){this.throwError(_18);}),timeout:30000});setTimeout(dojo.hitch(this,function(){this.f_grid._refresh();}),0);},_fetchMenus:function(){this.menuStore=new dojo.data.ItemFileWriteStore({url:this.menuFile});this.menuStore.fetch({onComplete:dojo.hitch(this,function(_19){this.f_name.attr("store",this.menuStore);this.f_parent_id.attr("store",this.menuStore);}),onError:dojo.hitch(this,function(_1a){this.throwError(_1a);})});},_fetchAppCodes:function(){this.appCodeStore=new dojo.data.ItemFileWriteStore({url:this.appCodeFile});this.appCodeStore.fetch({onComplete:dojo.hitch(this,function(){this.f_app_code.attr("store",this.appCodeStore);}),onError:dojo.hitch(this,function(_1b){this.throwError(_1b);})});},_loadStores:function(){this._fetchMenus();this._fetchAppCodes();},postCreate:function(){this._loadStores();this.inherited(arguments);}});}