| 1 | Ext.define('MinovaUtil.FieldGenerator', {});
 | 
  
    | 2 | MinovaUtil.FieldGenerator.Form = function (formname, rec, null_, viewOnly, tbl, isLookup) {
 | 
  
    | 3 | 	var lw=150;
 | 
  
    | 4 | 	if(isDesk== false){
 | 
  
    | 5 | 		lw=100;
 | 
  
    | 6 | 	}
 | 
  
    | 7 |     var formfield = undefined;
 | 
  
    | 8 |     var ReadOnly_ = false;
 | 
  
    | 9 |     var Hidden_ = false;
 | 
  
    | 10 |     var start_ = null;
 | 
  
    | 11 |     var end_ = null;
 | 
  
    | 12 |     var defaultValue = rec.DefaultValue;
 | 
  
    | 13 | 
 | 
  
    | 14 |     if (defaultValue.substring(0, 2).toLowerCase() == 'fn') {
 | 
  
    | 15 |         Ext.Ajax.request({
 | 
  
    | 16 |             async: false,
 | 
  
    | 17 |             method: 'POST',
 | 
  
    | 18 |             url: '/UserControl/GetStore',
 | 
  
    | 19 |             params: {
 | 
  
    | 20 |                 tableName: 'PCMFUNC',
 | 
  
    | 21 |                 param: 'FuncName[equal]' + rec.DefaultValue
 | 
  
    | 22 |             },
 | 
  
    | 23 |             success: function (response) {
 | 
  
    | 24 |                 var results = Ext.decode(response.responseText);
 | 
  
    | 25 |                 data_ = results.data;
 | 
  
    | 26 |                 if (data_.length > 0) {
 | 
  
    | 27 |                     defaultValue = eval(data_[0].FunctionCode);
 | 
  
    | 28 |                 }
 | 
  
    | 29 |             }
 | 
  
    | 30 |         });
 | 
  
    | 31 | 
 | 
  
    | 32 |     }
 | 
  
    | 33 | 
 | 
  
    | 34 |     if (rec.FieldName == 'StartDate' || rec.FieldName == 'EndDate') {
 | 
  
    | 35 |         start_ = 'StartDate';
 | 
  
    | 36 |         end_ = 'EndDate';
 | 
  
    | 37 |     }
 | 
  
    | 38 |     if (rec.FieldName == 'ValidFrom' || rec.FieldName == 'ValidThrough') {
 | 
  
    | 39 |         start_ = 'ValidFrom';
 | 
  
    | 40 |         end_ = 'ValidThrough';
 | 
  
    | 41 |     }
 | 
  
    | 42 |     if (rec.ReadOnly == '1') {
 | 
  
    | 43 |         ReadOnly_ = true;
 | 
  
    | 44 |     }
 | 
  
    | 45 | 
 | 
  
    | 46 |     if (rec.IsHidden == '1' || rec.Sequence == '' || rec.Sequence == '0' || rec.ColumnNo == '' || rec.GridView == '') {
 | 
  
    | 47 |         Hidden_ = true;
 | 
  
    | 48 |         null_ = true;
 | 
  
    | 49 |     }
 | 
  
    | 50 |     if (viewOnly == true) {
 | 
  
    | 51 |         if (rec.TableRef != '' && rec.SearchType == "2") {
 | 
  
    | 52 |             formfield = new Ext.form.Display({
 | 
  
    | 53 |                 fieldBodyCls: 'x-form-trigger-wrap-minova',
 | 
  
    | 54 |                 fieldLabel: rec.ScreenCaption,
 | 
  
    | 55 |                 readOnly: ReadOnly_,
 | 
  
    | 56 |                 hidden: Hidden_,
 | 
  
    | 57 |                 name: rec.FieldName,
 | 
  
    | 58 |                 value: defaultValue,
 | 
  
    | 59 |                 padding: 0,
 | 
  
    | 60 |                 anchor: '100%',
 | 
  
    | 61 |                 IsPrimaryKey: rec.IsPrimaryKey,
 | 
  
    | 62 |                 labelCls: 'label-minova',
 | 
  
    | 63 |                 labelWidth: lw,
 | 
  
    | 64 |                 tableRef: rec.TableRef,
 | 
  
    | 65 |                 listeners: {
 | 
  
    | 66 |                     change: function () {
 | 
  
    | 67 |                         var me = this;
 | 
  
    | 68 |                         data_ = undefined;
 | 
  
    | 69 |                         Ext.Ajax.request({
 | 
  
    | 70 |                             async: false,
 | 
  
    | 71 |                             method: 'POST',
 | 
  
    | 72 |                             url: '/UserControl/GetStore',
 | 
  
    | 73 |                             params: {
 | 
  
    | 74 |                                 tableName: 'PDSCMTABLE',
 | 
  
    | 75 |                                 param: me.tableRef + ',' + me.getValue() + ',hasil'
 | 
  
    | 76 |                             },
 | 
  
    | 77 |                             success: function (response) {
 | 
  
    | 78 |                                 var results = Ext.decode(response.responseText);
 | 
  
    | 79 |                                 data_ = results.data;
 | 
  
    | 80 |                                 if (data_ != null) {
 | 
  
    | 81 |                                     if (data_.length > 0) {
 | 
  
    | 82 |                                         value = value + '-' + data_[0].hasil;
 | 
  
    | 83 |                                         me.setRawValue(value);
 | 
  
    | 84 |                                     }
 | 
  
    | 85 |                                 }
 | 
  
    | 86 |                             }
 | 
  
    | 87 |                         });
 | 
  
    | 88 |                     }
 | 
  
    | 89 |                 }
 | 
  
    | 90 |             });
 | 
  
    | 91 |         }
 | 
  
    | 92 |         if (rec.TableRef != '' && rec.SearchType != "" && rec.SearchType != "2") {
 | 
  
    | 93 | 
 | 
  
    | 94 |             valueField = null;
 | 
  
    | 95 |             displayValue = null;
 | 
  
    | 96 |             Ext.Ajax.request({
 | 
  
    | 97 |                 async: false,
 | 
  
    | 98 |                 method: 'POST',
 | 
  
    | 99 |                 url: '/UserControl/GetStore',
 | 
  
    | 100 |                 params: {
 | 
  
    | 101 |                     tableName: 'SDATATABLEFIELD',
 | 
  
    | 102 |                     param: 'TableName[equal]' + rec.TableRef
 | 
  
    | 103 |                 },
 | 
  
    | 104 |                 success: function (response) {
 | 
  
    | 105 |                     var results = Ext.decode(response.responseText);
 | 
  
    | 106 |                     data_ = results.data;
 | 
  
    | 107 |                     if (data_ != undefined) {
 | 
  
    | 108 |                         valueField_ = $.grep(data_, function (r) {
 | 
  
    | 109 |                             return r.ValueField == '1'
 | 
  
    | 110 |                         });
 | 
  
    | 111 |                         valueField = valueField_[0].FieldName
 | 
  
    | 112 |                         displayValue_ = $.grep(data_, function (r) {
 | 
  
    | 113 |                             return r.DisplayValue == '1'
 | 
  
    | 114 |                         });
 | 
  
    | 115 |                         displayValue = displayValue_[0].FieldName
 | 
  
    | 116 | 
 | 
  
    | 117 |                     }
 | 
  
    | 118 |                 }
 | 
  
    | 119 |             });
 | 
  
    | 120 |             var objClass = '';
 | 
  
    | 121 |             var comboParam = ''
 | 
  
    | 122 |             if (rec.TableRef.toLowerCase() == 'phrom0001') {
 | 
  
    | 123 |                 var splitParam = rec.ParamCombo.split(']');
 | 
  
    | 124 |                 if (splitParam.length == 1) {
 | 
  
    | 125 |                     objClass = ',ObjectClass[=]' + splitParam[0]
 | 
  
    | 126 |                 } else {
 | 
  
    | 127 |                     objClass = rec.ParamCombo
 | 
  
    | 128 |                 }
 | 
  
    | 129 |                 comboParam = objClass;
 | 
  
    | 130 |                 var sdate = Ext.ComponentQuery.query('displayfield[name=StartDate]')[0];
 | 
  
    | 131 |                 var date = MinovaUtil.GetNowDate();
 | 
  
    | 132 |                 var sdateVal = '';
 | 
  
    | 133 |                 var edateVal = '';
 | 
  
    | 134 |                 if (sdate) {
 | 
  
    | 135 |                     sdateVal = sdate.getValue();
 | 
  
    | 136 |                 } else {
 | 
  
    | 137 |                     sdateVal = date;
 | 
  
    | 138 |                 }
 | 
  
    | 139 |                 if (sdateVal == '') {
 | 
  
    | 140 |                     sdateVal = date
 | 
  
    | 141 |                 }
 | 
  
    | 142 |                 objClass = objClass + ',StartDate[<=]' + sdateVal + ',EndDate[>=]' + sdateVal
 | 
  
    | 143 |             } else {
 | 
  
    | 144 |                 objClass = rec.ParamCombo
 | 
  
    | 145 |             }
 | 
  
    | 146 |             formfield = new Ext.form.Display({
 | 
  
    | 147 |                 fieldBodyCls: 'x-form-trigger-wrap-minova',
 | 
  
    | 148 |                 fieldLabel: rec.ScreenCaption,
 | 
  
    | 149 |                 readOnly: ReadOnly_,
 | 
  
    | 150 |                 hidden: Hidden_,
 | 
  
    | 151 |                 name: rec.FieldName,
 | 
  
    | 152 |                 //value: defaultValue, //Untuk Display jangan diisi default, karena event change ga akan tereksekusi jika value = defaultvalue
 | 
  
    | 153 |                 padding: 0,
 | 
  
    | 154 |                 anchor: '100%',
 | 
  
    | 155 |                 IsPrimaryKey: rec.IsPrimaryKey,
 | 
  
    | 156 |                 labelCls: 'label-minova',
 | 
  
    | 157 |                 labelWidth: lw,
 | 
  
    | 158 |                 objClass: objClass,
 | 
  
    | 159 |                 comboParam: comboParam,
 | 
  
    | 160 |                 //store : Ext.create('Ext.data.Store', {
 | 
  
    | 161 |                 //	storeId : 'storeDisplay' + rec.FieldName,
 | 
  
    | 162 |                 //	autoLoad : false,
 | 
  
    | 163 | 
 | 
  
    | 164 |                 //}),
 | 
  
    | 165 | 				store: Ext.StoreMgr.lookup('storeDisplay' + rec.FieldName),
 | 
  
    | 166 | 				/*
 | 
  
    | 167 |                 store: Ext.create('Ext.data.Store', {
 | 
  
    | 168 |                     storeId: 'storeDisplay' + rec.FieldName,
 | 
  
    | 169 |                     autoLoad: true,
 | 
  
    | 170 |                     //fields: ['MenuType', 'MenuDesc'],
 | 
  
    | 171 |                     proxy: {
 | 
  
    | 172 |                         method: 'POST',
 | 
  
    | 173 |                         async: false,
 | 
  
    | 174 |                         type: 'ajax',
 | 
  
    | 175 |                         url: '/UserControl/GetStore?tableName=' + rec.TableRef + '¶m=' + objClass,
 | 
  
    | 176 | 
 | 
  
    | 177 |                         reader: {
 | 
  
    | 178 |                             type: 'json',
 | 
  
    | 179 |                             root: 'data'
 | 
  
    | 180 |                         }
 | 
  
    | 181 |                     }
 | 
  
    | 182 |                 }),*/
 | 
  
    | 183 |                 listeners: {
 | 
  
    | 184 | 
 | 
  
    | 185 |                     //	var store = Ext.StoreMgr.lookup('storeDisplay' + rec.FieldName);
 | 
  
    | 186 |                     //	Ext.Ajax.request({
 | 
  
    | 187 |                     //		method : 'POST',
 | 
  
    | 188 |                     //		async : true,
 | 
  
    | 189 |                     //		url : '/UserControl/GetStore',
 | 
  
    | 190 |                     //		params : {
 | 
  
    | 191 |                     //			tableName : rec.TableRef,
 | 
  
    | 192 |                     //			param : ''
 | 
  
    | 193 |                     //		},
 | 
  
    | 194 |                     //		success : function (response) {
 | 
  
    | 195 |                     //			var results = Ext.decode(response.responseText);
 | 
  
    | 196 |                     //			store.loadData(results.data);
 | 
  
    | 197 | 
 | 
  
    | 198 |                     //		}
 | 
  
    | 199 |                     //	});
 | 
  
    | 200 |                     //},
 | 
  
    | 201 |                     afterrenderer: function (f) {
 | 
  
    | 202 |                         var display = this.displayField;
 | 
  
    | 203 |                         var value = this.getValue();
 | 
  
    | 204 |                         var store = Ext.StoreMgr.lookup('storeDisplay' + rec.FieldName);
 | 
  
    | 205 |                         //store.load();
 | 
  
    | 206 |                         var r = store.findRecord(f.valueField, f.value)
 | 
  
    | 207 |                         if (r != null) {
 | 
  
    | 208 |                             f.setRawValue(r.get(f.displayField))
 | 
  
    | 209 |                         }
 | 
  
    | 210 |                     },
 | 
  
    | 211 | 
 | 
  
    | 212 |                     change: function (f) {
 | 
  
    | 213 |                         //alert(this.valueField, value);
 | 
  
    | 214 |                         var display = this.displayField;
 | 
  
    | 215 |                         var objClass = this.objClass;
 | 
  
    | 216 |                         //var field_ = Ext.ComponentQuery.query('[name=' + rec.FieldName + ']')[0];
 | 
  
    | 217 |                         var field_ = this;
 | 
  
    | 218 |                         var sdateVal = MinovaUtil.GetNowDate();
 | 
  
    | 219 |                         if (Ext.ComponentQuery.query('displayfield[name=StartDate]')[0]) {
 | 
  
    | 220 |                             sdateVal = Ext.ComponentQuery.query('displayfield[name=StartDate]')[0].getValue();
 | 
  
    | 221 | 							sdateVal_=sdateVal.substring(6,10)+sdateVal.substring(3,5)+sdateVal.substring(0,2);
 | 
  
    | 222 | 							sdateVal=sdateVal_;
 | 
  
    | 223 |                         }
 | 
  
    | 224 |                         var comboParam = field_.comboParam;
 | 
  
    | 225 |                         comboParam = comboParam + ',StartDate[<=]' + sdateVal + ',EndDate[>=]' + sdateVal
 | 
  
    | 226 |                         var value = this.getValue();
 | 
  
    | 227 | 						storeName = 'storeDisplay' + rec.FieldName;
 | 
  
    | 228 | 						var store = Ext.StoreMgr.lookup(storeName);
 | 
  
    | 229 | 						if (store == undefined) {
 | 
  
    | 230 | 							var storeRef = Ext.create('Ext.data.Store', {
 | 
  
    | 231 | 								storeId: storeName,
 | 
  
    | 232 | 								autoLoad: true,
 | 
  
    | 233 | 								f: f,
 | 
  
    | 234 | 								proxy: {
 | 
  
    | 235 | 									method: 'POST',
 | 
  
    | 236 | 									type: 'ajax',
 | 
  
    | 237 | 									url: '/UserControl/GetStore',
 | 
  
    | 238 | 									extraParams: {
 | 
  
    | 239 | 										tableName: rec.TableRef,
 | 
  
    | 240 | 										param: rec.ParamCombo
 | 
  
    | 241 | 									},
 | 
  
    | 242 | 									reader: {
 | 
  
    | 243 | 										type: 'json',
 | 
  
    | 244 | 										root: 'data',
 | 
  
    | 245 | 										totalProperty: 'data[0].TotalCount'
 | 
  
    | 246 | 									},
 | 
  
    | 247 | 									//autoLoad: {
 | 
  
    | 248 | 									//    callback: function (f, storeName){
 | 
  
    | 249 | 									//        console.log(f);
 | 
  
    | 250 | 									//    }
 | 
  
    | 251 | 									//}
 | 
  
    | 252 | 								}
 | 
  
    | 253 | 							});
 | 
  
    | 254 | 							storeRef.on("load", function (me) {
 | 
  
    | 255 | 								f = me.f;
 | 
  
    | 256 | 								var r = me.findRecord(f.valueField, f.value);
 | 
  
    | 257 | 								if (r != null) {
 | 
  
    | 258 | 									f.setRawValue(r.get(f.displayField));
 | 
  
    | 259 | 								}
 | 
  
    | 260 | 							});
 | 
  
    | 261 | 							//storeRef.load();
 | 
  
    | 262 | 							//store = storeRef;
 | 
  
    | 263 | 						}
 | 
  
    | 264 | 						else {
 | 
  
    | 265 | 							if (store.data.length == 0) {
 | 
  
    | 266 | 								Ext.Ajax.request({
 | 
  
    | 267 | 									method: 'POST',
 | 
  
    | 268 | 									async: false,
 | 
  
    | 269 | 									url: '/UserControl/GetStore',
 | 
  
    | 270 | 									params: {
 | 
  
    | 271 | 										tableName: rec.TableRef,
 | 
  
    | 272 | 										param: f.valueField + '[=]' + field_.getValue() + ',' + comboParam
 | 
  
    | 273 | 									},
 | 
  
    | 274 | 									success: function (response) {
 | 
  
    | 275 | 										var results = Ext.decode(response.responseText);
 | 
  
    | 276 | 										var data_ = results.data;
 | 
  
    | 277 | 										if (data_.length > 0) {
 | 
  
    | 278 | 											var dt = eval('data_[0].' + field_.displayField);
 | 
  
    | 279 | 											field_.setRawValue(dt);
 | 
  
    | 280 | 										}
 | 
  
    | 281 | 									}
 | 
  
    | 282 | 								});
 | 
  
    | 283 | 							} else {
 | 
  
    | 284 | 								var r = store.findRecord(f.valueField, f.value)
 | 
  
    | 285 | 								if (r != null) {
 | 
  
    | 286 | 									f.setRawValue(r.get(f.displayField))
 | 
  
    | 287 | 								}
 | 
  
    | 288 | 							}
 | 
  
    | 289 | 						}
 | 
  
    | 290 | 						/*
 | 
  
    | 291 |                         var store = Ext.StoreMgr.lookup('storeDisplay' + rec.FieldName);
 | 
  
    | 292 |                         if (store.data.length == 0) {
 | 
  
    | 293 |                             Ext.Ajax.request({
 | 
  
    | 294 |                                 method: 'POST',
 | 
  
    | 295 |                                 async: false,
 | 
  
    | 296 |                                 url: '/UserControl/GetStore',
 | 
  
    | 297 |                                 params: {
 | 
  
    | 298 |                                     tableName: rec.TableRef,
 | 
  
    | 299 |                                     param: f.valueField + '[=]' + field_.getValue() + ',' + comboParam
 | 
  
    | 300 |                                 },
 | 
  
    | 301 |                                 success: function (response) {
 | 
  
    | 302 |                                     var results = Ext.decode(response.responseText);
 | 
  
    | 303 |                                     var data_ = results.data;
 | 
  
    | 304 |                                     if (data_.length > 0) {
 | 
  
    | 305 |                                         var dt = eval('data_[0].' + field_.displayField);
 | 
  
    | 306 |                                         field_.setRawValue(dt);
 | 
  
    | 307 | 
 | 
  
    | 308 |                                     }
 | 
  
    | 309 | 
 | 
  
    | 310 |                                 }
 | 
  
    | 311 |                             });
 | 
  
    | 312 | 
 | 
  
    | 313 |                         } else {
 | 
  
    | 314 |                             var r = store.findRecord(f.valueField, f.value)
 | 
  
    | 315 |                             if (r != null) {
 | 
  
    | 316 |                                 f.setRawValue(r.get(f.displayField))
 | 
  
    | 317 |                             }
 | 
  
    | 318 | 
 | 
  
    | 319 |                         }*/
 | 
  
    | 320 | 
 | 
  
    | 321 |                     }
 | 
  
    | 322 | 
 | 
  
    | 323 |                 },
 | 
  
    | 324 |                 queryMode: 'local',
 | 
  
    | 325 |                 displayField: displayValue,
 | 
  
    | 326 |                 valueField: valueField,
 | 
  
    | 327 |             });
 | 
  
    | 328 |         } else {
 | 
  
    | 329 |             switch (rec.FormatRef) {
 | 
  
    | 330 |                 //case 'date':
 | 
  
    | 331 |                 //    formfield = new Ext.form.Display({
 | 
  
    | 332 |                 //        ieldBodyCls: 'x-form-trigger-wrap-minova',
 | 
  
    | 333 |                 //        labelCls: 'label-minova',
 | 
  
    | 334 |                 //        labelWidth: lw,
 | 
  
    | 335 |                 //        hidden: Hidden_,
 | 
  
    | 336 |                 //        fieldLabel: rec.ScreenCaption,
 | 
  
    | 337 |                 //        name: rec.FieldName,
 | 
  
    | 338 |                 //        value: rec.DefaultValue,
 | 
  
    | 339 |                 //        IsPrimaryKey: rec.IsPrimaryKey,
 | 
  
    | 340 |                 //        padding: 0,
 | 
  
    | 341 |                 //        anchor: '100%',
 | 
  
    | 342 |                 //        listeners: {
 | 
  
    | 343 |                 //            change: function (f) {
 | 
  
    | 344 |                 //                var value_ = f.getValue();
 | 
  
    | 345 |                 //                if (value_ != '' && value_ != undefined && value_.length == 8) {
 | 
  
    | 346 |                 //                    f.setValue(value_.substring(6, 8) + '/' + value_.substring(4, 6) + '/' + value_.substring(0, 4))
 | 
  
    | 347 |                 //                }
 | 
  
    | 348 |                 //            }
 | 
  
    | 349 |                 //        }
 | 
  
    | 350 |                 //    });
 | 
  
    | 351 |                 //    break;
 | 
  
    | 352 |                 case 'date':
 | 
  
    | 353 |                     formfield = new Ext.form.Display({
 | 
  
    | 354 |                         fieldBodyCls: 'x-form-trigger-wrap-minova',
 | 
  
    | 355 |                         labelCls: 'label-minova',
 | 
  
    | 356 |                         labelWidth: lw,
 | 
  
    | 357 |                         hidden: Hidden_,
 | 
  
    | 358 |                         fieldLabel: rec.ScreenCaption,
 | 
  
    | 359 |                         name: rec.FieldName,
 | 
  
    | 360 |                         value: defaultValue,
 | 
  
    | 361 |                         IsPrimaryKey: rec.IsPrimaryKey,
 | 
  
    | 362 |                         padding: 0,
 | 
  
    | 363 |                         anchor: '100%',
 | 
  
    | 364 |                         readOnly: ReadOnly_,
 | 
  
    | 365 |                         listeners: {
 | 
  
    | 366 |                             change: function (f) {
 | 
  
    | 367 |                                 var value_ = f.getValue();
 | 
  
    | 368 |                                 if (value_ != '' && value_ != undefined && value_.length == 8) {
 | 
  
    | 369 |                                     f.setValue(value_.substring(6, 8) + '/' + value_.substring(4, 6) + '/' + value_.substring(0, 4))
 | 
  
    | 370 |                                 }
 | 
  
    | 371 |                             }
 | 
  
    | 372 |                         }
 | 
  
    | 373 |                     });
 | 
  
    | 374 |                     break;
 | 
  
    | 375 |                 case 'datetime':
 | 
  
    | 376 |                     formfield = new Ext.form.Display({
 | 
  
    | 377 |                         fieldBodyCls: 'x-form-trigger-wrap-minova',
 | 
  
    | 378 |                         labelCls: 'label-minova',
 | 
  
    | 379 |                         labelWidth: lw,
 | 
  
    | 380 |                         hidden: Hidden_,
 | 
  
    | 381 |                         fieldLabel: rec.ScreenCaption,
 | 
  
    | 382 |                         name: rec.FieldName,
 | 
  
    | 383 |                         value: defaultValue,
 | 
  
    | 384 |                         IsPrimaryKey: rec.IsPrimaryKey,
 | 
  
    | 385 |                         padding: 0,
 | 
  
    | 386 |                         readOnly: ReadOnly_,
 | 
  
    | 387 |                         anchor: '100%',
 | 
  
    | 388 |                         listeners: {
 | 
  
    | 389 |                             change: function (f) {
 | 
  
    | 390 |                                 var value_ = f.getValue();
 | 
  
    | 391 |                                 if (value_ != '' && value_ != undefined && value_.length == 14) {
 | 
  
    | 392 |                                     f.setValue(value_.substring(6, 8) + '/' + value_.substring(4, 6) + '/' + value_.substring(0, 4) + ' ' + value_.substring(8, 10) + ':' + value_.substring(10, 12) + ':' + value_.substring(12, 14))
 | 
  
    | 393 |                                 }
 | 
  
    | 394 |                             }
 | 
  
    | 395 |                         }
 | 
  
    | 396 |                     });
 | 
  
    | 397 |                     break
 | 
  
    | 398 |                 case "amountencrypt":
 | 
  
    | 399 |                     formfield = new Ext.form.Display({
 | 
  
    | 400 |                         fieldBodyCls: 'x-form-trigger-wrap-minova',
 | 
  
    | 401 |                         labelCls: 'label-minova',
 | 
  
    | 402 |                         labelWidth: lw,
 | 
  
    | 403 |                         hidden: Hidden_,
 | 
  
    | 404 |                         fieldLabel: rec.ScreenCaption,
 | 
  
    | 405 |                         name: rec.FieldName,
 | 
  
    | 406 |                         value: defaultValue,
 | 
  
    | 407 |                         fieldStyle: 'text-align:right;',
 | 
  
    | 408 |                         IsPrimaryKey: rec.IsPrimaryKey,
 | 
  
    | 409 |                         padding: 0,
 | 
  
    | 410 |                         readOnly: ReadOnly_,
 | 
  
    | 411 |                         anchor: '100%',
 | 
  
    | 412 |                         isEncryptDisplay: true,
 | 
  
    | 413 |                         nameTable: tbl
 | 
  
    | 414 |                     });
 | 
  
    | 415 |                     break
 | 
  
    | 416 |                 default:
 | 
  
    | 417 |                     if (rec.FixedValue == '') {
 | 
  
    | 418 |                         formfield = new Ext.form.Display({
 | 
  
    | 419 |                             fieldBodyCls: 'x-form-trigger-wrap-minova',
 | 
  
    | 420 |                             labelCls: 'label-minova',
 | 
  
    | 421 |                             labelWidth: lw,
 | 
  
    | 422 |                             hidden: Hidden_,
 | 
  
    | 423 |                             readOnly: ReadOnly_,
 | 
  
    | 424 |                             fieldLabel: rec.ScreenCaption,
 | 
  
    | 425 |                             name: rec.FieldName,
 | 
  
    | 426 |                             value: defaultValue,
 | 
  
    | 427 |                             IsPrimaryKey: rec.IsPrimaryKey,
 | 
  
    | 428 |                             padding: 0,
 | 
  
    | 429 |                             anchor: '100%',
 | 
  
    | 430 | 
 | 
  
    | 431 |                         });
 | 
  
    | 432 |                     } else {
 | 
  
    | 433 |                         formfield = new Ext.form.Display({
 | 
  
    | 434 |                             fieldBodyCls: 'x-form-trigger-wrap-minova',
 | 
  
    | 435 |                             labelCls: 'label-minova',
 | 
  
    | 436 |                             labelWidth: lw,
 | 
  
    | 437 |                             hidden: Hidden_,
 | 
  
    | 438 |                             readOnly: ReadOnly_,
 | 
  
    | 439 |                             fieldLabel: rec.ScreenCaption,
 | 
  
    | 440 |                             name: rec.FieldName,
 | 
  
    | 441 |                             value: defaultValue,
 | 
  
    | 442 |                             IsPrimaryKey: rec.IsPrimaryKey,
 | 
  
    | 443 |                             padding: 0,
 | 
  
    | 444 |                             anchor: '100%',
 | 
  
    | 445 |                             fixedValue: rec.FixedValue,
 | 
  
    | 446 |                             cek: true,
 | 
  
    | 447 |                             listeners: {
 | 
  
    | 448 | 
 | 
  
    | 449 |                                 change: function (val) {
 | 
  
    | 450 |                                     if (val.cek) {
 | 
  
    | 451 |                                         var valueField = val.getValue();
 | 
  
    | 452 |                                         var fixed = val.fixedValue;
 | 
  
    | 453 |                                         var hasil = fixed.split('||');
 | 
  
    | 454 |                                         var code = '';
 | 
  
    | 455 |                                         hasil.forEach(function (h) {
 | 
  
    | 456 |                                             store_ = h.split('=')
 | 
  
    | 457 |                                             //storeData.push({
 | 
  
    | 458 |                                             //    code: store_[0],
 | 
  
    | 459 |                                             //    desc: store_[1],
 | 
  
    | 460 | 
 | 
  
    | 461 |                                             //});
 | 
  
    | 462 |                                             code = store_[0]
 | 
  
    | 463 |                                             if (code == valueField) {
 | 
  
    | 464 |                                                 val.setValue(store_[1]);
 | 
  
    | 465 |                                                 val.cek = false;
 | 
  
    | 466 |                                             }
 | 
  
    | 467 |                                         });
 | 
  
    | 468 |                                     }
 | 
  
    | 469 |                                 }
 | 
  
    | 470 |                             }
 | 
  
    | 471 |                         });
 | 
  
    | 472 |                     }
 | 
  
    | 473 |                     break;
 | 
  
    | 474 |             }
 | 
  
    | 475 |         }
 | 
  
    | 476 | 
 | 
  
    | 477 |     } else {
 | 
  
    | 478 |         switch (rec.FormatRef) {
 | 
  
    | 479 | 			case "area":
 | 
  
    | 480 | 			    formfield = new Ext.form.TextArea({
 | 
  
    | 481 |                             allowBlank: null_,
 | 
  
    | 482 |                             fieldLabel: rec.ScreenCaption,
 | 
  
    | 483 |                             readOnly: ReadOnly_,
 | 
  
    | 484 |                             readOnlyCls: 'minova-readonly',
 | 
  
    | 485 |                             labelCls: 'label-minova',
 | 
  
    | 486 |                             labelWidth: lw,
 | 
  
    | 487 |                             hidden: Hidden_,
 | 
  
    | 488 |                             name: rec.FieldName,
 | 
  
    | 489 |                             msgTarget: 'side',
 | 
  
    | 490 |                             value: defaultValue,
 | 
  
    | 491 |                             IsPrimaryKey: rec.IsPrimaryKey,
 | 
  
    | 492 |                             maxLength: rec.Length,
 | 
  
    | 493 |                             anchor: '100%',
 | 
  
    | 494 |                             formname: formname,
 | 
  
    | 495 |                             vtype: 'validateMinovaXss',
 | 
  
    | 496 |                             nameTable: tbl,
 | 
  
    | 497 |                             listeners: {
 | 
  
    | 498 | 
 | 
  
    | 499 |                                 change: function (val) {
 | 
  
    | 500 |                                     var _label = val.name;
 | 
  
    | 501 |                                     var _form = val.formname;
 | 
  
    | 502 |                                     var _Value = val.getValue();
 | 
  
    | 503 |                                     var target = rec.TriggerCombo;
 | 
  
    | 504 |                                     var custumFunc = rec.SelectFunction;
 | 
  
    | 505 |                                     if (custumFunc.toLowerCase().substring(0, 2) == 'fn') {
 | 
  
    | 506 |                                         Ext.Ajax.request({
 | 
  
    | 507 |                                             async: false,
 | 
  
    | 508 |                                             method: 'POST',
 | 
  
    | 509 |                                             url: '/UserControl/GetStore',
 | 
  
    | 510 |                                             params: {
 | 
  
    | 511 |                                                 tableName: 'PCMFUNC',
 | 
  
    | 512 |                                                 param: 'FuncName[equal]' + rec.custumFunc + ',Active[=]1'
 | 
  
    | 513 |                                             },
 | 
  
    | 514 |                                             success: function (response) {
 | 
  
    | 515 |                                                 var results = Ext.decode(response.responseText);
 | 
  
    | 516 |                                                 data_ = results.data[0];
 | 
  
    | 517 |                                                 if (data_ != undefined) {
 | 
  
    | 518 |                                                     custumFunc = data_.FunctionCode;
 | 
  
    | 519 |                                                 }
 | 
  
    | 520 |                                             }
 | 
  
    | 521 |                                         });
 | 
  
    | 522 |                                     }
 | 
  
    | 523 |                                     var frm = Ext.ComponentQuery.query('form[name=' + _form + ']')[0];
 | 
  
    | 524 |                                     if (frm) {
 | 
  
    | 525 | 
 | 
  
    | 526 |                                         if (target) {
 | 
  
    | 527 |                                             var f = frm.getForm().findField(target)
 | 
  
    | 528 |                                             _store = f.getStore();
 | 
  
    | 529 |                                             var _tbl = _store.proxy.extraParams.tableName;
 | 
  
    | 530 |                                             var oldParam = _store.proxy.extraParams.param;
 | 
  
    | 531 |                                             _store.proxy.extraParams = {
 | 
  
    | 532 |                                                 tableName: _tbl,
 | 
  
    | 533 |                                                 param: _label + '[=]' + _Value
 | 
  
    | 534 |                                             };
 | 
  
    | 535 |                                             _store.load();
 | 
  
    | 536 |                                         }
 | 
  
    | 537 | 
 | 
  
    | 538 |                                         if (custumFunc) {
 | 
  
    | 539 |                                             eval(custumFunc)
 | 
  
    | 540 |                                         }
 | 
  
    | 541 | 
 | 
  
    | 542 |                                     }
 | 
  
    | 543 | 
 | 
  
    | 544 |                                 },
 | 
  
    | 545 | 
 | 
  
    | 546 |                             },
 | 
  
    | 547 |                         });
 | 
  
    | 548 |                     break
 | 
  
    | 549 |             case "date":
 | 
  
    | 550 |                 if (rec.FieldName == 'StartDate' || rec.FieldName == 'EndDate' || rec.FieldName == 'ValidFrom' || rec.FieldName == 'ValidThrough') {
 | 
  
    | 551 |                     formfield = new Ext.form.DateField({
 | 
  
    | 552 |                         allowBlank: null_,
 | 
  
    | 553 |                         readOnlyCls: 'minova-readonly',
 | 
  
    | 554 |                         fieldLabel: rec.ScreenCaption,
 | 
  
    | 555 |                         readOnly: ReadOnly_,
 | 
  
    | 556 |                         msgTarget: 'side',
 | 
  
    | 557 |                         hidden: Hidden_,
 | 
  
    | 558 |                         labelCls: 'label-minova',
 | 
  
    | 559 |                         labelWidth: lw,
 | 
  
    | 560 |                         name: rec.FieldName,
 | 
  
    | 561 |                         format: 'd/m/Y',
 | 
  
    | 562 |                         submitFormat: 'Ymd',
 | 
  
    | 563 |                         IsPrimaryKey: rec.IsPrimaryKey,
 | 
  
    | 564 |                         value: defaultValue,
 | 
  
    | 565 |                         anchor: '100%',
 | 
  
    | 566 |                         vtype: 'daterange',
 | 
  
    | 567 |                         start: start_,
 | 
  
    | 568 |                         end: end_,
 | 
  
    | 569 |                         pnl: formname,
 | 
  
    | 570 |                         formname: formname,
 | 
  
    | 571 |                         nameTable: tbl,
 | 
  
    | 572 |                         hideMode: 'visibility',
 | 
  
    | 573 |                         listeners: {
 | 
  
    | 574 | 
 | 
  
    | 575 |                             change: function (val) {
 | 
  
    | 576 |                                 var _label = val.name;
 | 
  
    | 577 |                                 var _form = val.formname;
 | 
  
    | 578 |                                 var _Value = val.getValue();
 | 
  
    | 579 |                                 var target = rec.TriggerCombo;
 | 
  
    | 580 |                                 var custumFunc = rec.SelectFunction;
 | 
  
    | 581 |                                 if (custumFunc.toLowerCase().substring(0, 2) == 'fn') {
 | 
  
    | 582 |                                     Ext.Ajax.request({
 | 
  
    | 583 |                                         async: false,
 | 
  
    | 584 |                                         method: 'POST',
 | 
  
    | 585 |                                         url: '/UserControl/GetStore',
 | 
  
    | 586 |                                         params: {
 | 
  
    | 587 |                                             tableName: 'PCMFUNC',
 | 
  
    | 588 |                                             param: 'FuncName[equal]' + custumFunc + ',Active[=]1'
 | 
  
    | 589 |                                         },
 | 
  
    | 590 |                                         success: function (response) {
 | 
  
    | 591 |                                             var results = Ext.decode(response.responseText);
 | 
  
    | 592 |                                             data_ = results.data[0];
 | 
  
    | 593 |                                             if (data_ != undefined) {
 | 
  
    | 594 |                                                 custumFunc = data_.FunctionCode;
 | 
  
    | 595 |                                             }
 | 
  
    | 596 |                                         }
 | 
  
    | 597 |                                     });
 | 
  
    | 598 |                                 }
 | 
  
    | 599 |                                 var frm = Ext.ComponentQuery.query('form[name=' + _form + ']')[0];
 | 
  
    | 600 |                                 if (frm) {
 | 
  
    | 601 | 
 | 
  
    | 602 |                                     if (target) {
 | 
  
    | 603 |                                         var f = frm.getForm().findField(target)
 | 
  
    | 604 |                                         _store = f.getStore();
 | 
  
    | 605 |                                         var _tbl = _store.proxy.extraParams.tableName;
 | 
  
    | 606 |                                         var oldParam = _store.proxy.extraParams.param;
 | 
  
    | 607 |                                         _store.proxy.extraParams = {
 | 
  
    | 608 |                                             tableName: _tbl,
 | 
  
    | 609 |                                             param: _label + '[=]' + _Value
 | 
  
    | 610 |                                         };
 | 
  
    | 611 |                                         _store.load();
 | 
  
    | 612 |                                     }
 | 
  
    | 613 | 
 | 
  
    | 614 |                                     if (custumFunc) {
 | 
  
    | 615 |                                         eval(custumFunc)
 | 
  
    | 616 |                                     }
 | 
  
    | 617 | 
 | 
  
    | 618 |                                 }
 | 
  
    | 619 | 
 | 
  
    | 620 |                             },
 | 
  
    | 621 | 
 | 
  
    | 622 |                         },
 | 
  
    | 623 |                     });
 | 
  
    | 624 |                 } else {
 | 
  
    | 625 |                     formfield = new Ext.form.DateField({
 | 
  
    | 626 |                         allowBlank: null_,
 | 
  
    | 627 |                         fieldLabel: rec.ScreenCaption,
 | 
  
    | 628 |                         readOnlyCls: 'minova-readonly',						
 | 
  
    | 629 |                         readOnly: ReadOnly_,
 | 
  
    | 630 |                         msgTarget: 'side',
 | 
  
    | 631 |                         labelCls: 'label-minova',
 | 
  
    | 632 |                         labelWidth: lw,
 | 
  
    | 633 |                         hidden: Hidden_,
 | 
  
    | 634 |                         name: rec.FieldName,
 | 
  
    | 635 | 						format: 'd/m/Y',
 | 
  
    | 636 |                         submitFormat: 'Ymd',
 | 
  
    | 637 |                         value: defaultValue,
 | 
  
    | 638 |                         IsPrimaryKey: rec.IsPrimaryKey,
 | 
  
    | 639 |                         anchor: '100%',
 | 
  
    | 640 |                         formname: formname,
 | 
  
    | 641 |                         nameTable: tbl,
 | 
  
    | 642 |                         hideMode: 'visibility',
 | 
  
    | 643 |                         listeners: {
 | 
  
    | 644 | 
 | 
  
    | 645 |                             change: function (val) {
 | 
  
    | 646 |                                 var _label = val.name;
 | 
  
    | 647 |                                 var _form = val.formname;
 | 
  
    | 648 |                                 var _Value = val.getValue();
 | 
  
    | 649 |                                 var target = rec.TriggerCombo;
 | 
  
    | 650 |                                 var custumFunc = rec.SelectFunction;
 | 
  
    | 651 |                                 if (custumFunc.toLowerCase().substring(0, 2) == 'fn') {
 | 
  
    | 652 |                                     Ext.Ajax.request({
 | 
  
    | 653 |                                         async: false,
 | 
  
    | 654 |                                         method: 'POST',
 | 
  
    | 655 |                                         url: '/UserControl/GetStore',
 | 
  
    | 656 |                                         params: {
 | 
  
    | 657 |                                             tableName: 'PCMFUNC',
 | 
  
    | 658 |                                             param: 'FuncName[equal]' + custumFunc + ',Active[=]1'
 | 
  
    | 659 |                                         },
 | 
  
    | 660 |                                         success: function (response) {
 | 
  
    | 661 |                                             var results = Ext.decode(response.responseText);
 | 
  
    | 662 |                                             data_ = results.data[0];
 | 
  
    | 663 |                                             if (data_ != undefined) {
 | 
  
    | 664 |                                                 custumFunc = data_.FunctionCode;
 | 
  
    | 665 |                                             }
 | 
  
    | 666 |                                         }
 | 
  
    | 667 |                                     });
 | 
  
    | 668 |                                 }
 | 
  
    | 669 |                                 var frm = Ext.ComponentQuery.query('form[name=' + _form + ']')[0];
 | 
  
    | 670 |                                 if (frm) {
 | 
  
    | 671 | 
 | 
  
    | 672 |                                     if (target) {
 | 
  
    | 673 |                                         var f = frm.getForm().findField(target)
 | 
  
    | 674 |                                         _store = f.getStore();
 | 
  
    | 675 |                                         var _tbl = _store.proxy.extraParams.tableName;
 | 
  
    | 676 |                                         var oldParam = _store.proxy.extraParams.param;
 | 
  
    | 677 |                                         _store.proxy.extraParams = {
 | 
  
    | 678 |                                             tableName: _tbl,
 | 
  
    | 679 |                                             param: _label + '[=]' + _Value
 | 
  
    | 680 |                                         };
 | 
  
    | 681 |                                         _store.load();
 | 
  
    | 682 |                                     }
 | 
  
    | 683 | 
 | 
  
    | 684 |                                     if (custumFunc) {
 | 
  
    | 685 |                                         eval(custumFunc)
 | 
  
    | 686 |                                     }
 | 
  
    | 687 | 
 | 
  
    | 688 |                                 }
 | 
  
    | 689 | 
 | 
  
    | 690 |                             },
 | 
  
    | 691 | 
 | 
  
    | 692 |                         },
 | 
  
    | 693 |                     });
 | 
  
    | 694 |                 }
 | 
  
    | 695 | 
 | 
  
    | 696 |                 break
 | 
  
    | 697 |             case "time":
 | 
  
    | 698 |                 if (defaultValue == '') {
 | 
  
    | 699 |                     defaultValue = '00:00';
 | 
  
    | 700 |                 }
 | 
  
    | 701 |                 formfield = new Ext.form.TimeField({
 | 
  
    | 702 |                     allowBlank: null_,
 | 
  
    | 703 |                     fieldLabel: rec.ScreenCaption,
 | 
  
    | 704 |                     readOnlyCls: 'minova-readonly',
 | 
  
    | 705 |                     readOnly: ReadOnly_,
 | 
  
    | 706 |                     labelCls: 'label-minova',
 | 
  
    | 707 |                     labelWidth: lw,
 | 
  
    | 708 |                     hidden: Hidden_,
 | 
  
    | 709 |                     name: rec.FieldName,
 | 
  
    | 710 |                     msgTarget: 'side',
 | 
  
    | 711 |                     format: 'H:i',
 | 
  
    | 712 |                     submitFormat: 'Hi',
 | 
  
    | 713 |                     increment: 5,
 | 
  
    | 714 |                     value: defaultValue,
 | 
  
    | 715 |                     IsPrimaryKey: rec.IsPrimaryKey,
 | 
  
    | 716 |                     anchor: '100%',
 | 
  
    | 717 |                     formname: formname,
 | 
  
    | 718 |                     nameTable: tbl,
 | 
  
    | 719 |                     //vtype: 'validateMinovaTime',
 | 
  
    | 720 |                     maxLength: 5,
 | 
  
    | 721 |                     minLength: 5,
 | 
  
    | 722 |                     listeners: {
 | 
  
    | 723 | 
 | 
  
    | 724 |                         change: function (val) {
 | 
  
    | 725 |                             var rv = this.rawValue;
 | 
  
    | 726 |                             var me_ = this;
 | 
  
    | 727 |                             if (rv.length == 4 && rv != '') {
 | 
  
    | 728 |                                 var sp = rv.split(':')
 | 
  
    | 729 |                                 if (sp.length == 1) {
 | 
  
    | 730 |                                     me_.setValue(rv.substring(0, 2) + ':' + rv.substring(2, 4));
 | 
  
    | 731 |                                 }
 | 
  
    | 732 |                             }
 | 
  
    | 733 |                             var _label = val.name;
 | 
  
    | 734 |                             var _form = val.formname;
 | 
  
    | 735 |                             var _Value = val.getValue();
 | 
  
    | 736 |                             var target = rec.TriggerCombo;
 | 
  
    | 737 |                             var custumFunc = rec.SelectFunction;
 | 
  
    | 738 |                             if (custumFunc.toLowerCase().substring(0, 2) == 'fn') {
 | 
  
    | 739 |                                 Ext.Ajax.request({
 | 
  
    | 740 |                                     async: false,
 | 
  
    | 741 |                                     method: 'POST',
 | 
  
    | 742 |                                     url: '/UserControl/GetStore',
 | 
  
    | 743 |                                     params: {
 | 
  
    | 744 |                                         tableName: 'PCMFUNC',
 | 
  
    | 745 |                                         param: 'FuncName[equal]' + custumFunc + ',Active[=]1'
 | 
  
    | 746 |                                     },
 | 
  
    | 747 |                                     success: function (response) {
 | 
  
    | 748 |                                         var results = Ext.decode(response.responseText);
 | 
  
    | 749 |                                         data_ = results.data[0];
 | 
  
    | 750 |                                         if (data_ != undefined) {
 | 
  
    | 751 |                                             custumFunc = data_.FunctionCode;
 | 
  
    | 752 |                                         }
 | 
  
    | 753 |                                     }
 | 
  
    | 754 |                                 });
 | 
  
    | 755 |                             }
 | 
  
    | 756 |                             var frm = Ext.ComponentQuery.query('form[name=' + _form + ']')[0];
 | 
  
    | 757 |                             if (frm) {
 | 
  
    | 758 | 
 | 
  
    | 759 |                                 if (target) {
 | 
  
    | 760 |                                     var f = frm.getForm().findField(target)
 | 
  
    | 761 |                                     _store = f.getStore();
 | 
  
    | 762 |                                     var _tbl = _store.proxy.extraParams.tableName;
 | 
  
    | 763 |                                     var oldParam = _store.proxy.extraParams.param;
 | 
  
    | 764 |                                     _store.proxy.extraParams = {
 | 
  
    | 765 |                                         tableName: _tbl,
 | 
  
    | 766 |                                         param: _label + '[=]' + _Value
 | 
  
    | 767 |                                     };
 | 
  
    | 768 |                                     _store.load();
 | 
  
    | 769 |                                 }
 | 
  
    | 770 | 
 | 
  
    | 771 |                                 if (custumFunc) {
 | 
  
    | 772 |                                     eval(custumFunc)
 | 
  
    | 773 |                                 }
 | 
  
    | 774 | 
 | 
  
    | 775 |                             }
 | 
  
    | 776 | 
 | 
  
    | 777 |                         },
 | 
  
    | 778 | 
 | 
  
    | 779 |                     },
 | 
  
    | 780 |                 });
 | 
  
    | 781 |                 break
 | 
  
    | 782 |             case "password":
 | 
  
    | 783 |                 min_ = 1;
 | 
  
    | 784 |                 max_ = 8;
 | 
  
    | 785 |                 Ext.Ajax.request({
 | 
  
    | 786 |                     async: false,
 | 
  
    | 787 |                     method: 'POST',
 | 
  
    | 788 |                     url: '/UserControl/GetStore',
 | 
  
    | 789 |                     params: {
 | 
  
    | 790 |                         tableName: 'PCMEPAPPCONFIG',
 | 
  
    | 791 |                         param: 'Active[equal]1'
 | 
  
    | 792 |                     },
 | 
  
    | 793 |                     success: function (response) {
 | 
  
    | 794 |                         var results = Ext.decode(response.responseText);
 | 
  
    | 795 |                         data_ = results.data;
 | 
  
    | 796 |                         if (data_ != undefined) {
 | 
  
    | 797 |                             _min = $.grep(data_, function (r) {
 | 
  
    | 798 |                                 return r.ConfigName == 'SYSPWDMINLENGTH'
 | 
  
    | 799 |                             });
 | 
  
    | 800 |                             max_ = _min[0].Value;
 | 
  
    | 801 |                             _max = $.grep(data_, function (r) {
 | 
  
    | 802 |                                 return r.ConfigName == 'SYSPWDMAXLENGTH'
 | 
  
    | 803 |                             });
 | 
  
    | 804 |                             max_ = _max[0].Value;
 | 
  
    | 805 | 
 | 
  
    | 806 |                         }
 | 
  
    | 807 |                     }
 | 
  
    | 808 |                 });
 | 
  
    | 809 |                 formfield = new Ext.form.TextField({
 | 
  
    | 810 |                     allowBlank: null_,
 | 
  
    | 811 |                     inputType: 'password',
 | 
  
    | 812 |                     fieldLabel: rec.ScreenCaption,
 | 
  
    | 813 |                     readOnlyCls: 'minova-readonly',
 | 
  
    | 814 |                     readOnly: ReadOnly_,
 | 
  
    | 815 |                     labelCls: 'label-minova',
 | 
  
    | 816 |                     labelWidth: lw,
 | 
  
    | 817 |                     hidden: Hidden_,
 | 
  
    | 818 |                     name: rec.FieldName,
 | 
  
    | 819 |                     msgTarget: 'side',
 | 
  
    | 820 |                     value: defaultValue,
 | 
  
    | 821 |                     IsPrimaryKey: rec.IsPrimaryKey,
 | 
  
    | 822 |                     anchor: '100%',
 | 
  
    | 823 |                     formname: formname,
 | 
  
    | 824 |                     vtype: 'minovaPassword',
 | 
  
    | 825 |                     //vtype: 'passwordConfirm',
 | 
  
    | 826 |                     initialPassField: 'RePasword',
 | 
  
    | 827 |                     maxLength: max_,
 | 
  
    | 828 |                     minLength: min_,
 | 
  
    | 829 |                     nameTable: tbl,
 | 
  
    | 830 |                     listeners: {
 | 
  
    | 831 | 
 | 
  
    | 832 |                         change: function (val) {
 | 
  
    | 833 |                             var _label = val.name;
 | 
  
    | 834 |                             var _form = val.formname;
 | 
  
    | 835 |                             var _Value = val.getValue();
 | 
  
    | 836 |                             var target = rec.TriggerCombo;
 | 
  
    | 837 |                             var custumFunc = rec.SelectFunction;
 | 
  
    | 838 |                             if (custumFunc.toLowerCase().substring(0, 2) == 'fn') {
 | 
  
    | 839 |                                 Ext.Ajax.request({
 | 
  
    | 840 |                                     async: false,
 | 
  
    | 841 |                                     method: 'POST',
 | 
  
    | 842 |                                     url: '/UserControl/GetStore',
 | 
  
    | 843 |                                     params: {
 | 
  
    | 844 |                                         tableName: 'PCMFUNC',
 | 
  
    | 845 |                                         param: 'FuncName[equal]' + custumFunc + ',Active[=]1'
 | 
  
    | 846 |                                     },
 | 
  
    | 847 |                                     success: function (response) {
 | 
  
    | 848 |                                         var results = Ext.decode(response.responseText);
 | 
  
    | 849 |                                         data_ = results.data[0];
 | 
  
    | 850 |                                         if (data_ != undefined) {
 | 
  
    | 851 |                                             custumFunc = data_.FunctionCode;
 | 
  
    | 852 |                                         }
 | 
  
    | 853 |                                     }
 | 
  
    | 854 |                                 });
 | 
  
    | 855 |                             }
 | 
  
    | 856 |                             var frm = Ext.ComponentQuery.query('form[name=' + _form + ']')[0];
 | 
  
    | 857 |                             if (frm) {
 | 
  
    | 858 | 
 | 
  
    | 859 |                                 if (target) {
 | 
  
    | 860 |                                     var f = frm.getForm().findField(target)
 | 
  
    | 861 |                                     _store = f.getStore();
 | 
  
    | 862 |                                     var _tbl = _store.proxy.extraParams.tableName;
 | 
  
    | 863 |                                     var oldParam = _store.proxy.extraParams.param;
 | 
  
    | 864 |                                     _store.proxy.extraParams = {
 | 
  
    | 865 |                                         tableName: _tbl,
 | 
  
    | 866 |                                         param: _label + '[=]' + _Value
 | 
  
    | 867 |                                     };
 | 
  
    | 868 |                                     _store.load();
 | 
  
    | 869 |                                 }
 | 
  
    | 870 | 
 | 
  
    | 871 |                                 if (custumFunc) {
 | 
  
    | 872 |                                     eval(custumFunc)
 | 
  
    | 873 |                                 }
 | 
  
    | 874 | 
 | 
  
    | 875 |                             }
 | 
  
    | 876 | 
 | 
  
    | 877 |                         },
 | 
  
    | 878 | 
 | 
  
    | 879 |                     },
 | 
  
    | 880 |                 });
 | 
  
    | 881 |                 break
 | 
  
    | 882 |             case "repassword":
 | 
  
    | 883 | 
 | 
  
    | 884 |                 formfield = new Ext.form.TextField({
 | 
  
    | 885 |                     allowBlank: null_,
 | 
  
    | 886 |                     inputType: 'password',
 | 
  
    | 887 |                     readOnlyCls: 'minova-readonly',
 | 
  
    | 888 |                     fieldLabel: rec.ScreenCaption,
 | 
  
    | 889 |                     readOnly: ReadOnly_,
 | 
  
    | 890 |                     labelCls: 'label-minova',
 | 
  
    | 891 |                     labelWidth: lw,
 | 
  
    | 892 |                     hidden: Hidden_,
 | 
  
    | 893 |                     name: rec.FieldName,
 | 
  
    | 894 |                     msgTarget: 'side',
 | 
  
    | 895 |                     value: defaultValue,
 | 
  
    | 896 |                     IsPrimaryKey: rec.IsPrimaryKey,
 | 
  
    | 897 |                     anchor: '100%',
 | 
  
    | 898 |                     formname: formname,
 | 
  
    | 899 |                     vtype: 'passwordConfirm',
 | 
  
    | 900 |                     initialPassField: 'Password',
 | 
  
    | 901 |                     nameTable: tbl,
 | 
  
    | 902 |                     listeners: {
 | 
  
    | 903 | 
 | 
  
    | 904 |                         change: function (val) {
 | 
  
    | 905 |                             var _label = val.name;
 | 
  
    | 906 |                             var _form = val.formname;
 | 
  
    | 907 |                             var _Value = val.getValue();
 | 
  
    | 908 |                             var target = rec.TriggerCombo;
 | 
  
    | 909 |                             var custumFunc = rec.SelectFunction;
 | 
  
    | 910 |                             if (custumFunc.toLowerCase().substring(0, 2) == 'fn') {
 | 
  
    | 911 |                                 Ext.Ajax.request({
 | 
  
    | 912 |                                     async: false,
 | 
  
    | 913 |                                     method: 'POST',
 | 
  
    | 914 |                                     url: '/UserControl/GetStore',
 | 
  
    | 915 |                                     params: {
 | 
  
    | 916 |                                         tableName: 'PCMFUNC',
 | 
  
    | 917 |                                         param: 'FuncName[equal]' + custumFunc + ',Active[=]1'
 | 
  
    | 918 |                                     },
 | 
  
    | 919 |                                     success: function (response) {
 | 
  
    | 920 |                                         var results = Ext.decode(response.responseText);
 | 
  
    | 921 |                                         data_ = results.data[0];
 | 
  
    | 922 |                                         if (data_ != undefined) {
 | 
  
    | 923 |                                             custumFunc = data_.FunctionCode;
 | 
  
    | 924 |                                         }
 | 
  
    | 925 |                                     }
 | 
  
    | 926 |                                 });
 | 
  
    | 927 |                             }
 | 
  
    | 928 |                             var frm = Ext.ComponentQuery.query('form[name=' + _form + ']')[0];
 | 
  
    | 929 |                             if (frm) {
 | 
  
    | 930 | 
 | 
  
    | 931 |                                 if (target) {
 | 
  
    | 932 |                                     var f = frm.getForm().findField(target)
 | 
  
    | 933 |                                     _store = f.getStore();
 | 
  
    | 934 |                                     var _tbl = _store.proxy.extraParams.tableName;
 | 
  
    | 935 |                                     var oldParam = _store.proxy.extraParams.param;
 | 
  
    | 936 |                                     _store.proxy.extraParams = {
 | 
  
    | 937 |                                         tableName: _tbl,
 | 
  
    | 938 |                                         param: _label + '[=]' + _Value
 | 
  
    | 939 |                                     };
 | 
  
    | 940 |                                     _store.load();
 | 
  
    | 941 |                                 }
 | 
  
    | 942 | 
 | 
  
    | 943 |                                 if (custumFunc) {
 | 
  
    | 944 |                                     eval(custumFunc)
 | 
  
    | 945 |                                 }
 | 
  
    | 946 | 
 | 
  
    | 947 |                             }
 | 
  
    | 948 | 
 | 
  
    | 949 |                         },
 | 
  
    | 950 | 
 | 
  
    | 951 |                     },
 | 
  
    | 952 |                 });
 | 
  
    | 953 |                 break
 | 
  
    | 954 |             case "number":
 | 
  
    | 955 | 
 | 
  
    | 956 |                 formfield = new Ext.form.TextField({
 | 
  
    | 957 |                     allowBlank: null_,
 | 
  
    | 958 |                     readOnlyCls: 'minova-readonly',
 | 
  
    | 959 |                     fieldLabel: rec.ScreenCaption,
 | 
  
    | 960 |                     readOnly: ReadOnly_,
 | 
  
    | 961 |                     labelCls: 'label-minova',
 | 
  
    | 962 |                     labelWidth: lw,
 | 
  
    | 963 |                     hidden: Hidden_,
 | 
  
    | 964 |                     name: rec.FieldName,
 | 
  
    | 965 |                     msgTarget: 'side',
 | 
  
    | 966 |                     value: defaultValue,
 | 
  
    | 967 |                     IsPrimaryKey: rec.IsPrimaryKey,
 | 
  
    | 968 |                     anchor: '100%',
 | 
  
    | 969 |                     formname: formname,
 | 
  
    | 970 |                     fieldStyle: 'text-align:right;',
 | 
  
    | 971 |                     vtype: 'validateMinovaNumber',
 | 
  
    | 972 |                     nameTable: tbl,
 | 
  
    | 973 |                     listeners: {
 | 
  
    | 974 | 
 | 
  
    | 975 |                         change: function (val) {
 | 
  
    | 976 |                             var _label = val.name;
 | 
  
    | 977 |                             var _form = val.formname;
 | 
  
    | 978 |                             var _Value = val.getValue();
 | 
  
    | 979 |                             var target = rec.TriggerCombo;
 | 
  
    | 980 |                             var custumFunc = rec.SelectFunction;
 | 
  
    | 981 |                             if (custumFunc.toLowerCase().substring(0, 2) == 'fn') {
 | 
  
    | 982 |                                 Ext.Ajax.request({
 | 
  
    | 983 |                                     async: false,
 | 
  
    | 984 |                                     method: 'POST',
 | 
  
    | 985 |                                     url: '/UserControl/GetStore',
 | 
  
    | 986 |                                     params: {
 | 
  
    | 987 |                                         tableName: 'PCMFUNC',
 | 
  
    | 988 |                                         param: 'FuncName[equal]' + custumFunc + ',Active[=]1'
 | 
  
    | 989 |                                     },
 | 
  
    | 990 |                                     success: function (response) {
 | 
  
    | 991 |                                         var results = Ext.decode(response.responseText);
 | 
  
    | 992 |                                         data_ = results.data[0];
 | 
  
    | 993 |                                         if (data_ != undefined) {
 | 
  
    | 994 |                                             custumFunc = data_.FunctionCode;
 | 
  
    | 995 |                                         }
 | 
  
    | 996 |                                     }
 | 
  
    | 997 |                                 });
 | 
  
    | 998 |                             }
 | 
  
    | 999 |                             var frm = Ext.ComponentQuery.query('form[name=' + _form + ']')[0];
 | 
  
    | 1000 |                             if (frm) {
 | 
  
    | 1001 | 
 | 
  
    | 1002 |                                 if (target) {
 | 
  
    | 1003 |                                     var f = frm.getForm().findField(target)
 | 
  
    | 1004 |                                     _store = f.getStore();
 | 
  
    | 1005 |                                     var _tbl = _store.proxy.extraParams.tableName;
 | 
  
    | 1006 |                                     var oldParam = _store.proxy.extraParams.param;
 | 
  
    | 1007 |                                     _store.proxy.extraParams = {
 | 
  
    | 1008 |                                         tableName: _tbl,
 | 
  
    | 1009 |                                         param: _label + '[=]' + _Value
 | 
  
    | 1010 |                                     };
 | 
  
    | 1011 |                                     _store.load();
 | 
  
    | 1012 |                                 }
 | 
  
    | 1013 | 
 | 
  
    | 1014 |                                 if (custumFunc) {
 | 
  
    | 1015 |                                     eval(custumFunc)
 | 
  
    | 1016 |                                 }
 | 
  
    | 1017 | 
 | 
  
    | 1018 |                             }
 | 
  
    | 1019 | 
 | 
  
    | 1020 |                         },
 | 
  
    | 1021 | 
 | 
  
    | 1022 |                     },
 | 
  
    | 1023 |                 });
 | 
  
    | 1024 |                 break
 | 
  
    | 1025 |             case "alfa":
 | 
  
    | 1026 | 
 | 
  
    | 1027 |                 formfield = new Ext.form.TextField({
 | 
  
    | 1028 |                     allowBlank: null_,
 | 
  
    | 1029 |                     readOnlyCls: 'minova-readonly',
 | 
  
    | 1030 |                     fieldLabel: rec.ScreenCaption,
 | 
  
    | 1031 |                     readOnly: ReadOnly_,
 | 
  
    | 1032 |                     labelCls: 'label-minova',
 | 
  
    | 1033 |                     labelWidth: lw,
 | 
  
    | 1034 |                     hidden: Hidden_,
 | 
  
    | 1035 |                     name: rec.FieldName,
 | 
  
    | 1036 |                     msgTarget: 'side',
 | 
  
    | 1037 |                     value: defaultValue,
 | 
  
    | 1038 |                     IsPrimaryKey: rec.IsPrimaryKey,
 | 
  
    | 1039 |                     anchor: '100%',
 | 
  
    | 1040 |                     formname: formname,
 | 
  
    | 1041 |                     vtype: 'alfa',
 | 
  
    | 1042 |                     nameTable: tbl,
 | 
  
    | 1043 |                     listeners: {
 | 
  
    | 1044 | 
 | 
  
    | 1045 |                         change: function (val) {
 | 
  
    | 1046 |                             var _label = val.name;
 | 
  
    | 1047 |                             var _form = val.formname;
 | 
  
    | 1048 |                             var _Value = val.getValue();
 | 
  
    | 1049 |                             var target = rec.TriggerCombo;
 | 
  
    | 1050 |                             var custumFunc = rec.SelectFunction;
 | 
  
    | 1051 |                             if (custumFunc.toLowerCase().substring(0, 2) == 'fn') {
 | 
  
    | 1052 |                                 Ext.Ajax.request({
 | 
  
    | 1053 |                                     async: false,
 | 
  
    | 1054 |                                     method: 'POST',
 | 
  
    | 1055 |                                     url: '/UserControl/GetStore',
 | 
  
    | 1056 |                                     params: {
 | 
  
    | 1057 |                                         tableName: 'PCMFUNC',
 | 
  
    | 1058 |                                         param: 'FuncName[equal]' + custumFunc + ',Active[=]1'
 | 
  
    | 1059 |                                     },
 | 
  
    | 1060 |                                     success: function (response) {
 | 
  
    | 1061 |                                         var results = Ext.decode(response.responseText);
 | 
  
    | 1062 |                                         data_ = results.data[0];
 | 
  
    | 1063 |                                         if (data_ != undefined) {
 | 
  
    | 1064 |                                             custumFunc = data_.FunctionCode;
 | 
  
    | 1065 |                                         }
 | 
  
    | 1066 |                                     }
 | 
  
    | 1067 |                                 });
 | 
  
    | 1068 |                             }
 | 
  
    | 1069 |                             var frm = Ext.ComponentQuery.query('form[name=' + _form + ']')[0];
 | 
  
    | 1070 |                             if (frm) {
 | 
  
    | 1071 | 
 | 
  
    | 1072 |                                 if (target) {
 | 
  
    | 1073 |                                     var f = frm.getForm().findField(target)
 | 
  
    | 1074 |                                     _store = f.getStore();
 | 
  
    | 1075 |                                     var _tbl = _store.proxy.extraParams.tableName;
 | 
  
    | 1076 |                                     var oldParam = _store.proxy.extraParams.param;
 | 
  
    | 1077 |                                     _store.proxy.extraParams = {
 | 
  
    | 1078 |                                         tableName: _tbl,
 | 
  
    | 1079 |                                         param: _label + '[=]' + _Value
 | 
  
    | 1080 |                                     };
 | 
  
    | 1081 |                                     _store.load();
 | 
  
    | 1082 |                                 }
 | 
  
    | 1083 | 
 | 
  
    | 1084 |                                 if (custumFunc) {
 | 
  
    | 1085 |                                     eval(custumFunc)
 | 
  
    | 1086 |                                 }
 | 
  
    | 1087 | 
 | 
  
    | 1088 |                             }
 | 
  
    | 1089 | 
 | 
  
    | 1090 |                         },
 | 
  
    | 1091 | 
 | 
  
    | 1092 |                     },
 | 
  
    | 1093 |                 });
 | 
  
    | 1094 |                 break
 | 
  
    | 1095 |             case "amount":
 | 
  
    | 1096 |                 formfield = new Ext.form.TextField({
 | 
  
    | 1097 |                     allowBlank: null_,
 | 
  
    | 1098 |                     fieldLabel: rec.ScreenCaption,
 | 
  
    | 1099 |                     readOnly: ReadOnly_,
 | 
  
    | 1100 |                     readOnlyCls: 'minova-readonly',
 | 
  
    | 1101 |                     labelCls: 'label-minova',
 | 
  
    | 1102 |                     labelWidth: lw,
 | 
  
    | 1103 |                     hidden: Hidden_,
 | 
  
    | 1104 |                     name: rec.FieldName,
 | 
  
    | 1105 |                     fieldStyle: 'text-align:right;',
 | 
  
    | 1106 |                     msgTarget: 'side',
 | 
  
    | 1107 |                     IsPrimaryKey: rec.IsPrimaryKey,
 | 
  
    | 1108 |                     value: defaultValue,
 | 
  
    | 1109 |                     maxLength: rec.Length,
 | 
  
    | 1110 |                     anchor: '100%',
 | 
  
    | 1111 |                     formname: formname,
 | 
  
    | 1112 |                     nameTable: tbl,
 | 
  
    | 1113 |                     listeners: {
 | 
  
    | 1114 | 
 | 
  
    | 1115 |                         change: function (val) {
 | 
  
    | 1116 |                             var _label = val.name;
 | 
  
    | 1117 |                             var _form = val.formname;
 | 
  
    | 1118 |                             var _Value = val.getValue();
 | 
  
    | 1119 |                             var target = rec.TriggerCombo;
 | 
  
    | 1120 |                             var custumFunc = rec.SelectFunction;
 | 
  
    | 1121 |                             if (custumFunc.toLowerCase().substring(0, 2) == 'fn') {
 | 
  
    | 1122 |                                 Ext.Ajax.request({
 | 
  
    | 1123 |                                     async: false,
 | 
  
    | 1124 |                                     method: 'POST',
 | 
  
    | 1125 |                                     url: '/UserControl/GetStore',
 | 
  
    | 1126 |                                     params: {
 | 
  
    | 1127 |                                         tableName: 'PCMFUNC',
 | 
  
    | 1128 |                                         param: 'FuncName[equal]' + rec.custumFunc + ',Active[=]1'
 | 
  
    | 1129 |                                     },
 | 
  
    | 1130 |                                     success: function (response) {
 | 
  
    | 1131 |                                         var results = Ext.decode(response.responseText);
 | 
  
    | 1132 |                                         data_ = results.data[0];
 | 
  
    | 1133 |                                         if (data_ != undefined) {
 | 
  
    | 1134 |                                             custumFunc = data_.FunctionCode;
 | 
  
    | 1135 |                                         }
 | 
  
    | 1136 |                                     }
 | 
  
    | 1137 |                                 });
 | 
  
    | 1138 |                             }
 | 
  
    | 1139 |                             var frm = Ext.ComponentQuery.query('form[name=' + _form + ']')[0];
 | 
  
    | 1140 |                             if (frm) {
 | 
  
    | 1141 | 
 | 
  
    | 1142 |                                 if (target) {
 | 
  
    | 1143 |                                     var f = frm.getForm().findField(target)
 | 
  
    | 1144 |                                     _store = f.getStore();
 | 
  
    | 1145 |                                     var _tbl = _store.proxy.extraParams.tableName;
 | 
  
    | 1146 |                                     var oldParam = _store.proxy.extraParams.param;
 | 
  
    | 1147 |                                     _store.proxy.extraParams = {
 | 
  
    | 1148 |                                         tableName: _tbl,
 | 
  
    | 1149 |                                         param: _label + '[=]' + _Value
 | 
  
    | 1150 |                                     };
 | 
  
    | 1151 |                                     _store.load();
 | 
  
    | 1152 |                                 }
 | 
  
    | 1153 | 
 | 
  
    | 1154 |                                 if (custumFunc) {
 | 
  
    | 1155 |                                     eval(custumFunc)
 | 
  
    | 1156 |                                 }
 | 
  
    | 1157 | 
 | 
  
    | 1158 |                             }
 | 
  
    | 1159 | 
 | 
  
    | 1160 |                         },
 | 
  
    | 1161 | 
 | 
  
    | 1162 |                     },
 | 
  
    | 1163 |                 });
 | 
  
    | 1164 |                 break
 | 
  
    | 1165 |             case "amountencrypt":
 | 
  
    | 1166 |                 formfield = new Ext.form.TextField({
 | 
  
    | 1167 |                     allowBlank: null_,
 | 
  
    | 1168 |                     fieldLabel: rec.ScreenCaption,
 | 
  
    | 1169 |                     readOnlyCls: 'minova-readonly',
 | 
  
    | 1170 |                     readOnly: ReadOnly_,
 | 
  
    | 1171 |                     labelCls: 'label-minova',
 | 
  
    | 1172 |                     labelWidth: lw,
 | 
  
    | 1173 |                     hidden: Hidden_,
 | 
  
    | 1174 |                     name: rec.FieldName,
 | 
  
    | 1175 |                     msgTarget: 'side',
 | 
  
    | 1176 |                     IsPrimaryKey: rec.IsPrimaryKey,
 | 
  
    | 1177 |                     value: defaultValue,
 | 
  
    | 1178 |                     maxLength: rec.Length,
 | 
  
    | 1179 |                     anchor: '100%',
 | 
  
    | 1180 |                     isEncrypt: true,
 | 
  
    | 1181 |                     formname: formname,
 | 
  
    | 1182 |                     nameTable: tbl,
 | 
  
    | 1183 |                     vtype: 'validateMinovaXss',
 | 
  
    | 1184 |                     fieldStyle: 'text-align:right;',
 | 
  
    | 1185 |                     listeners: {
 | 
  
    | 1186 | 
 | 
  
    | 1187 |                         change: function (val) {
 | 
  
    | 1188 |                             var _label = val.name;
 | 
  
    | 1189 |                             var _form = val.formname;
 | 
  
    | 1190 |                             var _Value = val.getValue();
 | 
  
    | 1191 |                             var target = rec.TriggerCombo;
 | 
  
    | 1192 |                             var custumFunc = rec.SelectFunction;
 | 
  
    | 1193 |                             if (custumFunc.toLowerCase().substring(0, 2) == 'fn') {
 | 
  
    | 1194 |                                 Ext.Ajax.request({
 | 
  
    | 1195 |                                     async: false,
 | 
  
    | 1196 |                                     method: 'POST',
 | 
  
    | 1197 |                                     url: '/UserControl/GetStore',
 | 
  
    | 1198 |                                     params: {
 | 
  
    | 1199 |                                         tableName: 'PCMFUNC',
 | 
  
    | 1200 |                                         param: 'FuncName[equal]' + rec.custumFunc + ',Active[=]1'
 | 
  
    | 1201 |                                     },
 | 
  
    | 1202 |                                     success: function (response) {
 | 
  
    | 1203 |                                         var results = Ext.decode(response.responseText);
 | 
  
    | 1204 |                                         data_ = results.data[0];
 | 
  
    | 1205 |                                         if (data_ != undefined) {
 | 
  
    | 1206 |                                             custumFunc = data_.FunctionCode;
 | 
  
    | 1207 |                                         }
 | 
  
    | 1208 |                                     }
 | 
  
    | 1209 |                                 });
 | 
  
    | 1210 |                             }
 | 
  
    | 1211 |                             var frm = Ext.ComponentQuery.query('form[name=' + _form + ']')[0];
 | 
  
    | 1212 |                             if (frm) {
 | 
  
    | 1213 | 
 | 
  
    | 1214 |                                 if (target) {
 | 
  
    | 1215 |                                     var f = frm.getForm().findField(target)
 | 
  
    | 1216 |                                     _store = f.getStore();
 | 
  
    | 1217 |                                     var _tbl = _store.proxy.extraParams.tableName;
 | 
  
    | 1218 |                                     var oldParam = _store.proxy.extraParams.param;
 | 
  
    | 1219 |                                     _store.proxy.extraParams = {
 | 
  
    | 1220 |                                         tableName: _tbl,
 | 
  
    | 1221 |                                         param: _label + '[=]' + _Value
 | 
  
    | 1222 |                                     };
 | 
  
    | 1223 |                                     _store.load();
 | 
  
    | 1224 |                                 }
 | 
  
    | 1225 | 
 | 
  
    | 1226 |                                 if (custumFunc) {
 | 
  
    | 1227 |                                     eval(custumFunc)
 | 
  
    | 1228 |                                 }
 | 
  
    | 1229 | 
 | 
  
    | 1230 |                             }
 | 
  
    | 1231 | 
 | 
  
    | 1232 |                         },
 | 
  
    | 1233 | 
 | 
  
    | 1234 |                     },
 | 
  
    | 1235 | 
 | 
  
    | 1236 |                 });
 | 
  
    | 1237 |                 break
 | 
  
    | 1238 |             case "monthpicker":
 | 
  
    | 1239 |                 formfield = new MinovaUtil.MinovaES.MinovaMonthPicker({
 | 
  
    | 1240 |                     tableName: undefined,
 | 
  
    | 1241 |                     allowBlank: null_,
 | 
  
    | 1242 |                     fieldLabel: rec.ScreenCaption,
 | 
  
    | 1243 |                     readOnly: ReadOnly_,
 | 
  
    | 1244 |                     readOnlyCls: 'minova-readonly',
 | 
  
    | 1245 |                     hidden: Hidden_,
 | 
  
    | 1246 |                     msgTarget: 'side',
 | 
  
    | 1247 |                     param: undefined,
 | 
  
    | 1248 |                     name: rec.FieldName,
 | 
  
    | 1249 |                     formtarget_: rec.FieldName,
 | 
  
    | 1250 |                     fieldname: rec.FieldName,
 | 
  
    | 1251 |                     IsPrimaryKey: rec.IsPrimaryKey,
 | 
  
    | 1252 |                     Sequence: rec.Sequence,
 | 
  
    | 1253 |                     labelCls: 'label-minova',
 | 
  
    | 1254 |                     vtype: 'validateMinovaXss',
 | 
  
    | 1255 |                     nameTable: tbl,
 | 
  
    | 1256 |                     listeners: {
 | 
  
    | 1257 | 
 | 
  
    | 1258 |                         change: function (val) {
 | 
  
    | 1259 |                             var _label = val.name;
 | 
  
    | 1260 |                             var _form = val.formname;
 | 
  
    | 1261 |                             var _Value = val.getValue();
 | 
  
    | 1262 |                             var target = rec.TriggerCombo;
 | 
  
    | 1263 |                             var custumFunc = rec.SelectFunction;
 | 
  
    | 1264 |                             if (custumFunc.toLowerCase().substring(0, 2) == 'fn') {
 | 
  
    | 1265 |                                 Ext.Ajax.request({
 | 
  
    | 1266 |                                     async: false,
 | 
  
    | 1267 |                                     method: 'POST',
 | 
  
    | 1268 |                                     url: '/UserControl/GetStore',
 | 
  
    | 1269 |                                     params: {
 | 
  
    | 1270 |                                         tableName: 'PCMFUNC',
 | 
  
    | 1271 |                                         param: 'FuncName[equal]' + rec.custumFunc + ',Active[=]1'
 | 
  
    | 1272 |                                     },
 | 
  
    | 1273 |                                     success: function (response) {
 | 
  
    | 1274 |                                         var results = Ext.decode(response.responseText);
 | 
  
    | 1275 |                                         data_ = results.data[0];
 | 
  
    | 1276 |                                         if (data_ != undefined) {
 | 
  
    | 1277 |                                             custumFunc = data_.FunctionCode;
 | 
  
    | 1278 |                                         }
 | 
  
    | 1279 |                                     }
 | 
  
    | 1280 |                                 });
 | 
  
    | 1281 |                             }
 | 
  
    | 1282 |                             var frm = Ext.ComponentQuery.query('form[name=' + _form + ']')[0];
 | 
  
    | 1283 |                             if (frm) {
 | 
  
    | 1284 | 
 | 
  
    | 1285 |                                 if (target) {
 | 
  
    | 1286 |                                     var f = frm.getForm().findField(target)
 | 
  
    | 1287 |                                     _store = f.getStore();
 | 
  
    | 1288 |                                     var _tbl = _store.proxy.extraParams.tableName;
 | 
  
    | 1289 |                                     var oldParam = _store.proxy.extraParams.param;
 | 
  
    | 1290 |                                     _store.proxy.extraParams = {
 | 
  
    | 1291 |                                         tableName: _tbl,
 | 
  
    | 1292 |                                         param: _label + '[=]' + _Value
 | 
  
    | 1293 |                                     };
 | 
  
    | 1294 |                                     _store.load();
 | 
  
    | 1295 |                                 }
 | 
  
    | 1296 | 
 | 
  
    | 1297 |                                 if (custumFunc) {
 | 
  
    | 1298 |                                     eval(custumFunc)
 | 
  
    | 1299 |                                 }
 | 
  
    | 1300 | 
 | 
  
    | 1301 |                             }
 | 
  
    | 1302 | 
 | 
  
    | 1303 |                         },
 | 
  
    | 1304 | 
 | 
  
    | 1305 |                     },
 | 
  
    | 1306 |                 })
 | 
  
    | 1307 |                 break
 | 
  
    | 1308 |             case "file":
 | 
  
    | 1309 |                 //update by hamid 12012017
 | 
  
    | 1310 |                 formfield = new MinovaUtil.MinovaES.UploadFile({
 | 
  
    | 1311 |                     allowBlank: null_,
 | 
  
    | 1312 |                     fieldLabel: rec.ScreenCaption,
 | 
  
    | 1313 |                     readOnly: ReadOnly_,
 | 
  
    | 1314 |                     readOnlyCls: 'minova-readonly',
 | 
  
    | 1315 |                     hidden: Hidden_,
 | 
  
    | 1316 |                     labelCls: 'label-minova',
 | 
  
    | 1317 |                     name: rec.FieldName,
 | 
  
    | 1318 |                     msgTarget: 'side',
 | 
  
    | 1319 |                     fieldname: rec.FieldName,
 | 
  
    | 1320 |                     IsPrimaryKey: rec.IsPrimaryKey,
 | 
  
    | 1321 |                     tableName: rec.TableRef, //name tabel yang jadi ref-nya
 | 
  
    | 1322 |                     triggerCls: 'x-form-search-trigger',
 | 
  
    | 1323 |                     //vtype : 'alphanum', // disable space
 | 
  
    | 1324 |                     formtarget: formname, // nama form  yang akan di set value-nya
 | 
  
    | 1325 |                     //isLookup: isLookup,
 | 
  
    | 1326 |                     anchor: '100%',
 | 
  
    | 1327 |                     formname: formname,
 | 
  
    | 1328 |                     vtype: 'validateMinovaXss',
 | 
  
    | 1329 |                     nameTable: tbl,
 | 
  
    | 1330 |                     maxFileSize:rec.SearchFunction,
 | 
  
    | 1331 |                     listeners: {
 | 
  
    | 1332 | 
 | 
  
    | 1333 |                         change: function (val) {
 | 
  
    | 1334 |                             var _label = val.name;
 | 
  
    | 1335 |                             var _form = val.formname;
 | 
  
    | 1336 |                             var _Value = val.getValue();
 | 
  
    | 1337 |                             var target = rec.TriggerCombo;
 | 
  
    | 1338 |                             var custumFunc = rec.SelectFunction;
 | 
  
    | 1339 |                             if (custumFunc.toLowerCase().substring(0, 2) == 'fn') {
 | 
  
    | 1340 |                                 Ext.Ajax.request({
 | 
  
    | 1341 |                                     async: false,
 | 
  
    | 1342 |                                     method: 'POST',
 | 
  
    | 1343 |                                     url: '/UserControl/GetStore',
 | 
  
    | 1344 |                                     params: {
 | 
  
    | 1345 |                                         tableName: 'PCMFUNC',
 | 
  
    | 1346 |                                         param: 'FuncName[equal]' + rec.custumFunc + ',Active[=]1'
 | 
  
    | 1347 |                                     },
 | 
  
    | 1348 |                                     success: function (response) {
 | 
  
    | 1349 |                                         var results = Ext.decode(response.responseText);
 | 
  
    | 1350 |                                         data_ = results.data[0];
 | 
  
    | 1351 |                                         if (data_ != undefined) {
 | 
  
    | 1352 |                                             custumFunc = data_.FunctionCode;
 | 
  
    | 1353 |                                         }
 | 
  
    | 1354 |                                     }
 | 
  
    | 1355 |                                 });
 | 
  
    | 1356 |                             }
 | 
  
    | 1357 |                             var frm = Ext.ComponentQuery.query('form[name=' + _form + ']')[0];
 | 
  
    | 1358 |                             if (frm) {
 | 
  
    | 1359 | 
 | 
  
    | 1360 |                                 if (target) {
 | 
  
    | 1361 |                                     var f = frm.getForm().findField(target)
 | 
  
    | 1362 |                                     _store = f.getStore();
 | 
  
    | 1363 |                                     var _tbl = _store.proxy.extraParams.tableName;
 | 
  
    | 1364 |                                     var oldParam = _store.proxy.extraParams.param;
 | 
  
    | 1365 |                                     _store.proxy.extraParams = {
 | 
  
    | 1366 |                                         tableName: _tbl,
 | 
  
    | 1367 |                                         param: _label + '[=]' + _Value
 | 
  
    | 1368 |                                     };
 | 
  
    | 1369 |                                     _store.load();
 | 
  
    | 1370 |                                 }
 | 
  
    | 1371 | 
 | 
  
    | 1372 |                                 if (custumFunc) {
 | 
  
    | 1373 |                                     eval(custumFunc)
 | 
  
    | 1374 |                                 }
 | 
  
    | 1375 | 
 | 
  
    | 1376 |                             }
 | 
  
    | 1377 | 
 | 
  
    | 1378 |                         },
 | 
  
    | 1379 | 
 | 
  
    | 1380 |                     },
 | 
  
    | 1381 | 
 | 
  
    | 1382 |                 });
 | 
  
    | 1383 |                 break
 | 
  
    | 1384 |             case "html": {
 | 
  
    | 1385 |                 formfield = new Ext.form.TextArea({
 | 
  
    | 1386 |                     allowBlank: null_,
 | 
  
    | 1387 |                     fieldLabel: rec.ScreenCaption,
 | 
  
    | 1388 |                     readOnly: ReadOnly_,
 | 
  
    | 1389 |                     readOnlyCls: 'minova-readonly',
 | 
  
    | 1390 |                     labelCls: 'label-minova',
 | 
  
    | 1391 |                     labelWidth: lw,
 | 
  
    | 1392 |                     hidden: Hidden_,
 | 
  
    | 1393 |                     name: rec.FieldName,
 | 
  
    | 1394 |                     msgTarget: 'side',
 | 
  
    | 1395 |                     value: defaultValue,
 | 
  
    | 1396 |                     IsPrimaryKey: rec.IsPrimaryKey,
 | 
  
    | 1397 |                     maxLength: rec.Length,
 | 
  
    | 1398 |                     anchor: '100%',
 | 
  
    | 1399 |                     formname: formname,
 | 
  
    | 1400 |                     //vtype: 'validateMinovaXss',
 | 
  
    | 1401 |                     nameTable: tbl,
 | 
  
    | 1402 |                     listeners: {
 | 
  
    | 1403 | 
 | 
  
    | 1404 |                         change: function (val) {
 | 
  
    | 1405 |                             var _label = val.name;
 | 
  
    | 1406 |                             var _form = val.formname;
 | 
  
    | 1407 |                             var _Value = val.getValue();
 | 
  
    | 1408 |                             var target = rec.TriggerCombo;
 | 
  
    | 1409 |                             var custumFunc = rec.SelectFunction;
 | 
  
    | 1410 |                             if (custumFunc.toLowerCase().substring(0, 2) == 'fn') {
 | 
  
    | 1411 |                                 Ext.Ajax.request({
 | 
  
    | 1412 |                                     async: false,
 | 
  
    | 1413 |                                     method: 'POST',
 | 
  
    | 1414 |                                     url: '/UserControl/GetStore',
 | 
  
    | 1415 |                                     params: {
 | 
  
    | 1416 |                                         tableName: 'PCMFUNC',
 | 
  
    | 1417 |                                         param: 'FuncName[equal]' + rec.custumFunc + ',Active[=]1'
 | 
  
    | 1418 |                                     },
 | 
  
    | 1419 |                                     success: function (response) {
 | 
  
    | 1420 |                                         var results = Ext.decode(response.responseText);
 | 
  
    | 1421 |                                         data_ = results.data[0];
 | 
  
    | 1422 |                                         if (data_ != undefined) {
 | 
  
    | 1423 |                                             custumFunc = data_.FunctionCode;
 | 
  
    | 1424 |                                         }
 | 
  
    | 1425 |                                     }
 | 
  
    | 1426 |                                 });
 | 
  
    | 1427 |                             }
 | 
  
    | 1428 |                             var frm = Ext.ComponentQuery.query('form[name=' + _form + ']')[0];
 | 
  
    | 1429 |                             if (frm) {
 | 
  
    | 1430 | 
 | 
  
    | 1431 |                                 if (target) {
 | 
  
    | 1432 |                                     var f = frm.getForm().findField(target)
 | 
  
    | 1433 |                                     _store = f.getStore();
 | 
  
    | 1434 |                                     var _tbl = _store.proxy.extraParams.tableName;
 | 
  
    | 1435 |                                     var oldParam = _store.proxy.extraParams.param;
 | 
  
    | 1436 |                                     _store.proxy.extraParams = {
 | 
  
    | 1437 |                                         tableName: _tbl,
 | 
  
    | 1438 |                                         param: _label + '[=]' + _Value
 | 
  
    | 1439 |                                     };
 | 
  
    | 1440 |                                     _store.load();
 | 
  
    | 1441 |                                 }
 | 
  
    | 1442 | 
 | 
  
    | 1443 |                                 if (custumFunc) {
 | 
  
    | 1444 |                                     eval(custumFunc)
 | 
  
    | 1445 |                                 }
 | 
  
    | 1446 | 
 | 
  
    | 1447 |                             }
 | 
  
    | 1448 | 
 | 
  
    | 1449 |                         },
 | 
  
    | 1450 | 
 | 
  
    | 1451 |                     },
 | 
  
    | 1452 |                 });
 | 
  
    | 1453 |             }
 | 
  
    | 1454 |             default:
 | 
  
    | 1455 | 
 | 
  
    | 1456 |                 if (rec.SearchType != '') {
 | 
  
    | 1457 |                     if (rec.SearchType == '3') { // lookup tree grid
 | 
  
    | 1458 |                         var objClass = rec.ParamCombo;
 | 
  
    | 1459 |                         var splitClass = objClass.split("]");
 | 
  
    | 1460 |                         var objParent = '';
 | 
  
    | 1461 |                         var objClassValueTarget = '';
 | 
  
    | 1462 |                         if (splitClass.length == 1) {
 | 
  
    | 1463 |                             objClassValueTarget = splitClass[0];
 | 
  
    | 1464 |                         } else {
 | 
  
    | 1465 |                             if (splitClass.length > 1) {
 | 
  
    | 1466 |                                 objClassValueTarget = splitClass[1];
 | 
  
    | 1467 |                             }
 | 
  
    | 1468 |                         }
 | 
  
    | 1469 |                         var rel = rec.SearchFunction;
 | 
  
    | 1470 |                         var relSplit = rel.split('-');
 | 
  
    | 1471 |                         objParent = relSplit[0];
 | 
  
    | 1472 |                         var valFilter = relSplit.filter(MinovaUtil.RemoveDuplicateArray);
 | 
  
    | 1473 |                         formfield = new MinovaUtil.MinovaES.MinovaLookupTree({
 | 
  
    | 1474 |                             allowBlank: null_,
 | 
  
    | 1475 |                             fieldLabel: rec.ScreenCaption,
 | 
  
    | 1476 |                             readOnly: ReadOnly_,
 | 
  
    | 1477 |                             readOnlyCls: 'minova-readonly',
 | 
  
    | 1478 |                             IsPrimaryKey: rec.IsPrimaryKey,
 | 
  
    | 1479 |                             labelCls: 'label-minova',
 | 
  
    | 1480 |                             labelWidth: lw,
 | 
  
    | 1481 |                             hidden: Hidden_,
 | 
  
    | 1482 |                             name: rec.FieldName,
 | 
  
    | 1483 |                             msgTarget: 'side',
 | 
  
    | 1484 |                             triggerCls: 'x-form-search-trigger',
 | 
  
    | 1485 |                             //vtype: 'alphanum', // disable space
 | 
  
    | 1486 |                             treeSructure: rec.SearchFunction, //'O-O-P',
 | 
  
    | 1487 |                             objClassValue: objClassValueTarget, //'O',
 | 
  
    | 1488 |                             objParent: objParent,
 | 
  
    | 1489 |                             objFilter: valFilter,
 | 
  
    | 1490 |                             formname: formname,
 | 
  
    | 1491 |                             targetField: rec.FieldName,
 | 
  
    | 1492 |                             anchor: '100%',
 | 
  
    | 1493 |                             formname: formname,
 | 
  
    | 1494 |                             nameTable: tbl,
 | 
  
    | 1495 |                             //vtype: 'validateLookupTree',
 | 
  
    | 1496 |                             editable: false,
 | 
  
    | 1497 |                             listeners: {
 | 
  
    | 1498 |                                 change: function (val) {
 | 
  
    | 1499 |                                     // alert('a')
 | 
  
    | 1500 | 									var me=val;
 | 
  
    | 1501 | 									var valueFiled=val.getValue();
 | 
  
    | 1502 | 									if(valueFiled.split('-').length == 1 && valueFiled != '' && valueFiled !='a' ){
 | 
  
    | 1503 | 										 Mainform = Ext.ComponentQuery.query('[name=' + me.formname + ']')[0].getForm();
 | 
  
    | 1504 | 										 var _StartDate = MinovaUtil.GetNowDate();
 | 
  
    | 1505 | 										if (Mainform) {
 | 
  
    | 1506 | 											if (Mainform.findField('StartDate')) {
 | 
  
    | 1507 | 												_StartDate = Mainform.findField('StartDate').getValue();
 | 
  
    | 1508 | 											}
 | 
  
    | 1509 | 										}
 | 
  
    | 1510 | 										Ext.Ajax.request({
 | 
  
    | 1511 | 											async : false,
 | 
  
    | 1512 | 											method : 'POST',
 | 
  
    | 1513 | 											url : '/UserControl/GetStore',
 | 
  
    | 1514 | 											params : {
 | 
  
    | 1515 | 												tableName : 'PHROM0001',
 | 
  
    | 1516 | 												param : 'ObjectClass[=]'+me.objClassValue+',ObjectID[=]'+valueFiled+',StartDate[<=]'+_StartDate+',EndDate[>=]'+_StartDate
 | 
  
    | 1517 | 											},
 | 
  
    | 1518 | 											success : function (response) {
 | 
  
    | 1519 | 												var results = Ext.decode(response.responseText);
 | 
  
    | 1520 | 												data_ = results.data
 | 
  
    | 1521 | 													if (data_.length > 0) {
 | 
  
    | 1522 | 														me.setValue(valueFiled + ' - ' + data_[0].ObjectDescription)
 | 
  
    | 1523 | 
 | 
  
    | 1524 | 													}
 | 
  
    | 1525 | 											}
 | 
  
    | 1526 | 										});
 | 
  
    | 1527 | 									}
 | 
  
    | 1528 |                                 },
 | 
  
    | 1529 |                                 focus: function (val) {
 | 
  
    | 1530 |                                     // alert('focus')
 | 
  
    | 1531 |                                 },
 | 
  
    | 1532 |                                 blur: function (val) {
 | 
  
    | 1533 |                                     //             alert('focus')
 | 
  
    | 1534 |                                     var _label = val.name;
 | 
  
    | 1535 |                                     var _form = val.formname;
 | 
  
    | 1536 |                                     var _Value = val.getValue();
 | 
  
    | 1537 |                                     var target = rec.TriggerCombo;
 | 
  
    | 1538 |                                     var custumFunc = rec.SelectFunction;
 | 
  
    | 1539 |                                     if (custumFunc.toLowerCase().substring(0, 2) == 'fn') {
 | 
  
    | 1540 |                                         Ext.Ajax.request({
 | 
  
    | 1541 |                                             async: false,
 | 
  
    | 1542 |                                             method: 'POST',
 | 
  
    | 1543 |                                             url: '/UserControl/GetStore',
 | 
  
    | 1544 |                                             params: {
 | 
  
    | 1545 |                                                 tableName: 'PCMFUNC',
 | 
  
    | 1546 |                                                 param: 'FuncName[equal]' + rec.custumFunc + ',Active[=]1'
 | 
  
    | 1547 |                                             },
 | 
  
    | 1548 |                                             success: function (response) {
 | 
  
    | 1549 |                                                 var results = Ext.decode(response.responseText);
 | 
  
    | 1550 |                                                 data_ = results.data[0];
 | 
  
    | 1551 |                                                 if (data_ != undefined) {
 | 
  
    | 1552 |                                                     custumFunc = data_.FunctionCode;
 | 
  
    | 1553 |                                                 }
 | 
  
    | 1554 |                                             }
 | 
  
    | 1555 |                                         });
 | 
  
    | 1556 |                                     } else {
 | 
  
    | 1557 |                                         eval(custumFunc);
 | 
  
    | 1558 |                                     }
 | 
  
    | 1559 |                                     var frm = Ext.ComponentQuery.query('form[name=' + _form + ']')[0];
 | 
  
    | 1560 |                                     if (frm) {
 | 
  
    | 1561 | 
 | 
  
    | 1562 |                                         if (target) {
 | 
  
    | 1563 | 											////---- add by Tri nwh 20220606 start
 | 
  
    | 1564 | 											if (target =='Profiency'){
 | 
  
    | 1565 | 												_store = frm.getForm().findField('Proficiency').getStore();
 | 
  
    | 1566 | 												_store.proxy.extraParams = {
 | 
  
    | 1567 | 													tableName: 'PHROM0027',
 | 
  
    | 1568 | 													param: 'EndDate[=]99991231,ObjectID[=]' + Ext.ComponentQuery.query('[name=QualificationID]')[0].valData
 | 
  
    | 1569 | 												};
 | 
  
    | 1570 | 												_store.load();												
 | 
  
    | 1571 | 											}else{
 | 
  
    | 1572 | 												var f = frm.getForm().findField(target)
 | 
  
    | 1573 | 												_store = f.getStore();
 | 
  
    | 1574 | 												var _tbl = _store.proxy.extraParams.tableName;
 | 
  
    | 1575 | 												var oldParam = _store.proxy.extraParams.param;
 | 
  
    | 1576 | 												_store.proxy.extraParams = {
 | 
  
    | 1577 | 													tableName: _tbl,
 | 
  
    | 1578 | 													param: _label + '[=]' + _Value
 | 
  
    | 1579 | 												};
 | 
  
    | 1580 | 												_store.load();
 | 
  
    | 1581 | 											}
 | 
  
    | 1582 | 											//---- add by Tri nwh 20220606 end
 | 
  
    | 1583 | 											
 | 
  
    | 1584 |                                             //var f = frm.getForm().findField(target)
 | 
  
    | 1585 |                                             //_store = f.getStore();
 | 
  
    | 1586 |                                             //var _tbl = _store.proxy.extraParams.tableName;
 | 
  
    | 1587 |                                             //var oldParam = _store.proxy.extraParams.param;
 | 
  
    | 1588 |                                             //_store.proxy.extraParams = {
 | 
  
    | 1589 |                                             //    tableName: _tbl,
 | 
  
    | 1590 |                                             //  param: _label + '[=]' + _Value
 | 
  
    | 1591 |                                             //};
 | 
  
    | 1592 |                                             //_store.load(); //// comment by Tri nwh 20220606
 | 
  
    | 1593 |                                         }
 | 
  
    | 1594 | 
 | 
  
    | 1595 |                                         if (custumFunc) {
 | 
  
    | 1596 |                                             eval(custumFunc)
 | 
  
    | 1597 |                                         }
 | 
  
    | 1598 | 
 | 
  
    | 1599 |                                     }
 | 
  
    | 1600 | 
 | 
  
    | 1601 |                                 },
 | 
  
    | 1602 | 
 | 
  
    | 1603 |                             },
 | 
  
    | 1604 | 
 | 
  
    | 1605 |                         });
 | 
  
    | 1606 |                     }
 | 
  
    | 1607 |                     if (rec.TableRef != "") {
 | 
  
    | 1608 |                         if (rec.SearchType == '0') {
 | 
  
    | 1609 |                             valueField = null;
 | 
  
    | 1610 |                             displayValue = null;
 | 
  
    | 1611 |                             Ext.Ajax.request({
 | 
  
    | 1612 |                                 async: false,
 | 
  
    | 1613 |                                 method: 'POST',
 | 
  
    | 1614 |                                 url: '/UserControl/GetStore',
 | 
  
    | 1615 |                                 params: {
 | 
  
    | 1616 |                                     tableName: 'SDATATABLEFIELD',
 | 
  
    | 1617 |                                     param: 'TableName[equal]' + rec.TableRef
 | 
  
    | 1618 |                                 },
 | 
  
    | 1619 |                                 success: function (response) {
 | 
  
    | 1620 |                                     var results = Ext.decode(response.responseText);
 | 
  
    | 1621 |                                     data_ = results.data;
 | 
  
    | 1622 |                                     if (data_ != undefined) {
 | 
  
    | 1623 |                                         valueField_ = $.grep(data_, function (r) {
 | 
  
    | 1624 |                                             return r.ValueField == '1'
 | 
  
    | 1625 |                                         });
 | 
  
    | 1626 |                                         if (valueField_.length > 0) {
 | 
  
    | 1627 |                                             valueField = valueField_[0].FieldName
 | 
  
    | 1628 |                                         }
 | 
  
    | 1629 | 
 | 
  
    | 1630 |                                         displayValue_ = $.grep(data_, function (r) {
 | 
  
    | 1631 |                                             return r.DisplayValue == '1'
 | 
  
    | 1632 |                                         });
 | 
  
    | 1633 |                                         if (displayValue_.length > 0) {
 | 
  
    | 1634 |                                             displayValue = displayValue_[0].FieldName
 | 
  
    | 1635 |                                         }
 | 
  
    | 1636 | 
 | 
  
    | 1637 |                                     }
 | 
  
    | 1638 |                                 }
 | 
  
    | 1639 |                             });
 | 
  
    | 1640 | 
 | 
  
    | 1641 |                             formfield = new Ext.form.ComboBox({
 | 
  
    | 1642 |                                 allowBlank: null_,
 | 
  
    | 1643 |                                 fieldLabel: rec.ScreenCaption,
 | 
  
    | 1644 |                                 readOnlyCls: 'minova-readonly',
 | 
  
    | 1645 |                                 //forceSelection : true,
 | 
  
    | 1646 |                                 readOnly: ReadOnly_,
 | 
  
    | 1647 |                                 labelCls: 'label-minova',
 | 
  
    | 1648 |                                 labelWidth: lw,
 | 
  
    | 1649 |                                 hidden: Hidden_,
 | 
  
    | 1650 |                                 IsPrimaryKey: rec.IsPrimaryKey,
 | 
  
    | 1651 |                                 msgTarget: 'side',
 | 
  
    | 1652 |                                 name: rec.FieldName,
 | 
  
    | 1653 |                                 value: defaultValue,
 | 
  
    | 1654 |                                 formname: formname,
 | 
  
    | 1655 |                                 validateOnChange: true,
 | 
  
    | 1656 |                                 width: '95%',
 | 
  
    | 1657 |                                 vtype: 'validateCombobox',
 | 
  
    | 1658 |                                 store: Ext.create('Ext.data.Store', {
 | 
  
    | 1659 |                                     storeId: 'store' + rec.FieldName,
 | 
  
    | 1660 |                                     autoLoad: true,
 | 
  
    | 1661 |                                     proxy: {
 | 
  
    | 1662 |                                         async: false,
 | 
  
    | 1663 |                                         method: 'POST',
 | 
  
    | 1664 |                                         type: 'ajax',
 | 
  
    | 1665 |                                         url: '/UserControl/GetStoreAuth',
 | 
  
    | 1666 |                                         extraParams: {
 | 
  
    | 1667 |                                             tableName: rec.TableRef,
 | 
  
    | 1668 |                                             param: rec.ParamCombo,
 | 
  
    | 1669 |                                             menuId: MinovaUtil.GetMenuID()
 | 
  
    | 1670 |                                         },
 | 
  
    | 1671 |                                         reader: {
 | 
  
    | 1672 |                                             type: 'json',
 | 
  
    | 1673 |                                             root: 'data',
 | 
  
    | 1674 |                                             totalProperty: 'data[0].TotalCount'
 | 
  
    | 1675 |                                         }
 | 
  
    | 1676 |                                     }
 | 
  
    | 1677 |                                 }),
 | 
  
    | 1678 |                                 formtarget: formname,
 | 
  
    | 1679 |                                 nameTable: tbl,
 | 
  
    | 1680 |                                 listeners: {
 | 
  
    | 1681 |                                     afterrender: function (f) {
 | 
  
    | 1682 |                                         //var store_ = f.getStore();
 | 
  
    | 1683 |                                         //store_.load();
 | 
  
    | 1684 |                                     },
 | 
  
    | 1685 |                                     change: function (val) {
 | 
  
    | 1686 |                                         var _label = val.name;
 | 
  
    | 1687 |                                         var _form = val.formname;
 | 
  
    | 1688 |                                         var _Value = val.getValue();
 | 
  
    | 1689 |                                         var target = rec.TriggerCombo;
 | 
  
    | 1690 |                                         var custumFunc = rec.SelectFunction;
 | 
  
    | 1691 |                                         if (custumFunc.toLowerCase().substring(0, 2) == 'fn') {
 | 
  
    | 1692 |                                             Ext.Ajax.request({
 | 
  
    | 1693 |                                                 async: false,
 | 
  
    | 1694 |                                                 method: 'POST',
 | 
  
    | 1695 |                                                 url: '/UserControl/GetStore',
 | 
  
    | 1696 |                                                 params: {
 | 
  
    | 1697 |                                                     tableName: 'PCMFUNC',
 | 
  
    | 1698 |                                                     param: 'FuncName[equal]' + custumFunc + ',Active[=]1'
 | 
  
    | 1699 |                                                 },
 | 
  
    | 1700 |                                                 success: function (response) {
 | 
  
    | 1701 |                                                     var results = Ext.decode(response.responseText);
 | 
  
    | 1702 |                                                     data_ = results.data[0];
 | 
  
    | 1703 |                                                     if (data_ != undefined) {
 | 
  
    | 1704 |                                                         custumFunc = data_.FunctionCode;
 | 
  
    | 1705 |                                                     }
 | 
  
    | 1706 |                                                 }
 | 
  
    | 1707 |                                             });
 | 
  
    | 1708 |                                         }
 | 
  
    | 1709 |                                         var frm = Ext.ComponentQuery.query('form[name=' + _form + ']')[0];
 | 
  
    | 1710 |                                         if (frm) {
 | 
  
    | 1711 | 
 | 
  
    | 1712 |                                             if (target) {
 | 
  
    | 1713 |                                                 var f = frm.getForm().findField(target)
 | 
  
    | 1714 |                                                 _store = f.getStore();
 | 
  
    | 1715 |                                                 var _tbl = _store.proxy.extraParams.tableName;
 | 
  
    | 1716 |                                                 var oldParam = _store.proxy.extraParams.param;
 | 
  
    | 1717 |                                                 _store.proxy.extraParams = {
 | 
  
    | 1718 |                                                     tableName: _tbl,
 | 
  
    | 1719 |                                                     param: _label + '[=]' + _Value,
 | 
  
    | 1720 |                                                     menuId: MinovaUtil.GetMenuID()
 | 
  
    | 1721 |                                                 };
 | 
  
    | 1722 |                                                 _store.load();
 | 
  
    | 1723 |                                             }
 | 
  
    | 1724 | 
 | 
  
    | 1725 |                                             if (custumFunc) {
 | 
  
    | 1726 |                                                 eval(custumFunc)
 | 
  
    | 1727 |                                             }
 | 
  
    | 1728 | 
 | 
  
    | 1729 |                                         }
 | 
  
    | 1730 | 
 | 
  
    | 1731 |                                     },
 | 
  
    | 1732 | 
 | 
  
    | 1733 |                                 },
 | 
  
    | 1734 |                                 queryMode: 'local',
 | 
  
    | 1735 |                                 displayField: displayValue,
 | 
  
    | 1736 |                                 valueField: valueField,
 | 
  
    | 1737 |                             });
 | 
  
    | 1738 | 
 | 
  
    | 1739 |                         } else if (rec.SearchType == '2') {
 | 
  
    | 1740 |                             formfield = new MinovaUtil.MinovaES.MinovaLookupGrid({
 | 
  
    | 1741 |                                 allowBlank: null_,
 | 
  
    | 1742 |                                 fieldLabel: rec.ScreenCaption,
 | 
  
    | 1743 |                                 readOnly: ReadOnly_,
 | 
  
    | 1744 |                                 readOnlyCls: 'minova-readonly',
 | 
  
    | 1745 |                                 IsPrimaryKey: rec.IsPrimaryKey,
 | 
  
    | 1746 |                                 msgTarget: 'side',
 | 
  
    | 1747 |                                 labelCls: 'label-minova',
 | 
  
    | 1748 |                                 //labelWidth : 250,
 | 
  
    | 1749 |                                 hidden: Hidden_,
 | 
  
    | 1750 |                                 name: rec.FieldName,
 | 
  
    | 1751 |                                 tableName: rec.TableRef, //name tabel yang jadi ref-nya
 | 
  
    | 1752 |                                 //triggerCls: 'x-form-search-trigger',
 | 
  
    | 1753 |                                 //vtype: 'alphanum', // disable space
 | 
  
    | 1754 |                                 vtype: 'validateMinovaXss',
 | 
  
    | 1755 |                                 formtarget: formname, // nama form  yang akan di set value-nya
 | 
  
    | 1756 |                                 anchor: '100%',
 | 
  
    | 1757 |                                 formname: formname,
 | 
  
    | 1758 |                                 nameTable: tbl,
 | 
  
    | 1759 |                                 editable: false,
 | 
  
    | 1760 | 								value: defaultValue,
 | 
  
    | 1761 |                                 LookupFunction: rec.LookupFunction,
 | 
  
    | 1762 |                                 listeners: {
 | 
  
    | 1763 | 
 | 
  
    | 1764 |                                     change: function (val) {
 | 
  
    | 1765 |                                         var _label = val.name;
 | 
  
    | 1766 |                                         var _form = val.formname;
 | 
  
    | 1767 |                                         var _Value = val.getValue();
 | 
  
    | 1768 |                                         var target = rec.TriggerCombo;
 | 
  
    | 1769 |                                         var custumFunc = rec.SelectFunction;
 | 
  
    | 1770 |                                         if (custumFunc.toLowerCase().substring(0, 2) == 'fn') {
 | 
  
    | 1771 |                                             Ext.Ajax.request({
 | 
  
    | 1772 |                                                 async: false,
 | 
  
    | 1773 |                                                 method: 'POST',
 | 
  
    | 1774 |                                                 url: '/UserControl/GetStore',
 | 
  
    | 1775 |                                                 params: {
 | 
  
    | 1776 |                                                     tableName: 'PCMFUNC',
 | 
  
    | 1777 |                                                     param: 'FuncName[equal]' + rec.custumFunc + ',Active[=]1'
 | 
  
    | 1778 |                                                 },
 | 
  
    | 1779 |                                                 success: function (response) {
 | 
  
    | 1780 |                                                     var results = Ext.decode(response.responseText);
 | 
  
    | 1781 |                                                     data_ = results.data[0];
 | 
  
    | 1782 |                                                     if (data_ != undefined) {
 | 
  
    | 1783 |                                                         custumFunc = data_.FunctionCode;
 | 
  
    | 1784 |                                                     }
 | 
  
    | 1785 |                                                 }
 | 
  
    | 1786 |                                             });
 | 
  
    | 1787 |                                         }
 | 
  
    | 1788 |                                         var frm = Ext.ComponentQuery.query('form[name=' + _form + ']')[0];
 | 
  
    | 1789 |                                         if (frm) {
 | 
  
    | 1790 | 
 | 
  
    | 1791 |                                             if (target) {
 | 
  
    | 1792 |                                                 var f = frm.getForm().findField(target)
 | 
  
    | 1793 |                                                 _store = f.getStore();
 | 
  
    | 1794 |                                                 var _tbl = _store.proxy.extraParams.tableName;
 | 
  
    | 1795 |                                                 var oldParam = _store.proxy.extraParams.param;
 | 
  
    | 1796 |                                                 _store.proxy.extraParams = {
 | 
  
    | 1797 |                                                     tableName: _tbl,
 | 
  
    | 1798 |                                                     param: _label + '[=]' + _Value
 | 
  
    | 1799 |                                                 };
 | 
  
    | 1800 |                                                 _store.load();
 | 
  
    | 1801 |                                             }
 | 
  
    | 1802 | 
 | 
  
    | 1803 |                                             if (custumFunc) {
 | 
  
    | 1804 |                                                 eval(custumFunc)
 | 
  
    | 1805 |                                             }
 | 
  
    | 1806 | 
 | 
  
    | 1807 |                                         }
 | 
  
    | 1808 |                                         //set raw value
 | 
  
    | 1809 |                                         val.valData = val.getValue()
 | 
  
    | 1810 |                                         if (val.getValue() != "") {
 | 
  
    | 1811 |                                             data_ = undefined;
 | 
  
    | 1812 |                                             Ext.Ajax.request({
 | 
  
    | 1813 |                                                 async: false,
 | 
  
    | 1814 |                                                 method: 'POST',
 | 
  
    | 1815 |                                                 url: '/UserControl/GetStore',
 | 
  
    | 1816 |                                                 params: {
 | 
  
    | 1817 |                                                     tableName: 'PDSCMTABLE',
 | 
  
    | 1818 |                                                     param: val.tableName + ',' + val.getValue() + ',hasil'
 | 
  
    | 1819 |                                                 },
 | 
  
    | 1820 |                                                 success: function (response) {
 | 
  
    | 1821 |                                                     var results = Ext.decode(response.responseText);
 | 
  
    | 1822 |                                                     data_ = results.data;
 | 
  
    | 1823 |                                                     if (data_ != null) {
 | 
  
    | 1824 |                                                         if (data_.length > 0) {
 | 
  
    | 1825 |                                                             val.setRawValue(val.getValue() + ' - ' + data_[0].hasil)
 | 
  
    | 1826 | 
 | 
  
    | 1827 |                                                         }
 | 
  
    | 1828 |                                                     }
 | 
  
    | 1829 |                                                 }
 | 
  
    | 1830 |                                             });
 | 
  
    | 1831 |                                         }
 | 
  
    | 1832 | 
 | 
  
    | 1833 |                                     },
 | 
  
    | 1834 | 
 | 
  
    | 1835 |                                 },
 | 
  
    | 1836 |                             });
 | 
  
    | 1837 |                         } else if (rec.SearchType == '4' && isLookup != true) {
 | 
  
    | 1838 |                             formfield = new MinovaUtil.MinovaES.MinovaLookupEmployee({
 | 
  
    | 1839 |                                 allowBlank: null_,
 | 
  
    | 1840 |                                 fieldLabel: rec.ScreenCaption,
 | 
  
    | 1841 |                                 readOnly: ReadOnly_,
 | 
  
    | 1842 |                                 readOnlyCls: 'minova-readonly',
 | 
  
    | 1843 |                                 hidden: Hidden_,
 | 
  
    | 1844 |                                 labelCls: 'label-minova',
 | 
  
    | 1845 |                                 name: rec.FieldName,
 | 
  
    | 1846 |                                 msgTarget: 'side',
 | 
  
    | 1847 |                                 fieldname: rec.FieldName,
 | 
  
    | 1848 |                                 IsPrimaryKey: rec.IsPrimaryKey,
 | 
  
    | 1849 |                                 tableName: rec.TableRef, //name tabel yang jadi ref-nya
 | 
  
    | 1850 |                                 triggerCls: 'x-form-search-trigger',
 | 
  
    | 1851 |                                 //vtype: 'alphanum', // disable space
 | 
  
    | 1852 |                                 vtype: 'validateMinovaXss',
 | 
  
    | 1853 |                                 formtarget: formname, // nama form  yang akan di set value-nya
 | 
  
    | 1854 |                                 isLookup: isLookup,
 | 
  
    | 1855 |                                 anchor: '100%',
 | 
  
    | 1856 |                                 formname: formname,
 | 
  
    | 1857 |                                 targetField: targetField_,
 | 
  
    | 1858 |                                 fieldValue: fieldValue_,
 | 
  
    | 1859 |                                 nameTable: tbl,
 | 
  
    | 1860 |                                 value: defaultValue,
 | 
  
    | 1861 |                                 LookupFunction: rec.LookupFunction,
 | 
  
    | 1862 |                                 filterParam: rec.ParamCombo,
 | 
  
    | 1863 |                                 listeners: {
 | 
  
    | 1864 | 
 | 
  
    | 1865 |                                     change: function (val) {
 | 
  
    | 1866 |                                         var _label = val.name;
 | 
  
    | 1867 |                                         var _form = val.formname;
 | 
  
    | 1868 |                                         var _Value = val.getValue();
 | 
  
    | 1869 |                                         var target = rec.TriggerCombo;
 | 
  
    | 1870 |                                         var custumFunc = rec.SelectFunction;
 | 
  
    | 1871 |                                         if (custumFunc.toLowerCase().substring(0, 2) == 'fn') {
 | 
  
    | 1872 |                                             Ext.Ajax.request({
 | 
  
    | 1873 |                                                 async: false,
 | 
  
    | 1874 |                                                 method: 'POST',
 | 
  
    | 1875 |                                                 url: '/UserControl/GetStore',
 | 
  
    | 1876 |                                                 params: {
 | 
  
    | 1877 |                                                     tableName: 'PCMFUNC',
 | 
  
    | 1878 |                                                     param: 'FuncName[equal]' + rec.custumFunc + ',Active[=]1'
 | 
  
    | 1879 |                                                 },
 | 
  
    | 1880 |                                                 success: function (response) {
 | 
  
    | 1881 |                                                     var results = Ext.decode(response.responseText);
 | 
  
    | 1882 |                                                     data_ = results.data[0];
 | 
  
    | 1883 |                                                     if (data_ != undefined) {
 | 
  
    | 1884 |                                                         custumFunc = data_.FunctionCode;
 | 
  
    | 1885 |                                                     }
 | 
  
    | 1886 |                                                 }
 | 
  
    | 1887 |                                             });
 | 
  
    | 1888 |                                         }
 | 
  
    | 1889 |                                         var frm = Ext.ComponentQuery.query('form[name=' + _form + ']')[0];
 | 
  
    | 1890 |                                         if (frm) {
 | 
  
    | 1891 | 
 | 
  
    | 1892 |                                             if (target) {
 | 
  
    | 1893 |                                                 var f = frm.getForm().findField(target)
 | 
  
    | 1894 |                                                 _store = f.getStore();
 | 
  
    | 1895 |                                                 var _tbl = _store.proxy.extraParams.tableName;
 | 
  
    | 1896 |                                                 var oldParam = _store.proxy.extraParams.param;
 | 
  
    | 1897 |                                                 _store.proxy.extraParams = {
 | 
  
    | 1898 |                                                     tableName: _tbl,
 | 
  
    | 1899 |                                                     param: _label + '[=]' + _Value
 | 
  
    | 1900 |                                                 };
 | 
  
    | 1901 |                                                 _store.load();
 | 
  
    | 1902 |                                             }
 | 
  
    | 1903 | 
 | 
  
    | 1904 |                                             if (custumFunc) {
 | 
  
    | 1905 |                                                 eval(custumFunc)
 | 
  
    | 1906 |                                             }
 | 
  
    | 1907 | 
 | 
  
    | 1908 |                                         }
 | 
  
    | 1909 | 
 | 
  
    | 1910 |                                     },
 | 
  
    | 1911 | 
 | 
  
    | 1912 |                                 },
 | 
  
    | 1913 |                             });
 | 
  
    | 1914 |                             //}
 | 
  
    | 1915 |                         }
 | 
  
    | 1916 | 
 | 
  
    | 1917 |                     }
 | 
  
    | 1918 |                 } else {
 | 
  
    | 1919 | 
 | 
  
    | 1920 |                     if (rec.FixedValue != '') {
 | 
  
    | 1921 | 
 | 
  
    | 1922 |                         formfield = new MinovaUtil.MinovaES.MinovaFixValue({
 | 
  
    | 1923 |                             allowBlank: null_,
 | 
  
    | 1924 |                             fieldLabel: rec.ScreenCaption,
 | 
  
    | 1925 |                             readOnlyCls: 'minova-readonly',
 | 
  
    | 1926 |                             //forceSelection: true,
 | 
  
    | 1927 |                             readOnly: ReadOnly_,
 | 
  
    | 1928 |                             labelCls: 'label-minova',
 | 
  
    | 1929 |                             labelWidth: lw,
 | 
  
    | 1930 |                             hidden: Hidden_,
 | 
  
    | 1931 |                             name: rec.FieldName,
 | 
  
    | 1932 |                             msgTarget: 'side',
 | 
  
    | 1933 |                             IsPrimaryKey: rec.IsPrimaryKey,
 | 
  
    | 1934 |                             value: defaultValue,
 | 
  
    | 1935 |                             anchor: '100%',
 | 
  
    | 1936 |                             formname: formname,
 | 
  
    | 1937 |                             formtarget: formname,
 | 
  
    | 1938 |                             validateOnChange: true,
 | 
  
    | 1939 |                             fixedValue: rec.FixedValue,
 | 
  
    | 1940 |                             vtype: 'validateMinovaXss',
 | 
  
    | 1941 |                             nameTable: tbl,
 | 
  
    | 1942 |                             listeners: {
 | 
  
    | 1943 |                                 change: function (val) {
 | 
  
    | 1944 |                                     var _label = val.name;
 | 
  
    | 1945 |                                     var _form = val.formtarget;
 | 
  
    | 1946 |                                     var _Value = val.getValue();
 | 
  
    | 1947 |                                     var target = rec.TriggerCombo;
 | 
  
    | 1948 |                                     var custumFunc = rec.SelectFunction;
 | 
  
    | 1949 | 
 | 
  
    | 1950 |                                     var frm = Ext.ComponentQuery.query('form[name=' + _form + ']')[0];
 | 
  
    | 1951 |                                     if (frm) {
 | 
  
    | 1952 | 
 | 
  
    | 1953 |                                         if (target) {
 | 
  
    | 1954 |                                             var f = frm.getForm().findField(target)
 | 
  
    | 1955 |                                             _store = f.getStore();
 | 
  
    | 1956 |                                             var _tbl = _store.proxy.extraParams.tableName;
 | 
  
    | 1957 |                                             var oldParam = _store.proxy.extraParams.param;
 | 
  
    | 1958 |                                             _store.proxy.extraParams = {
 | 
  
    | 1959 |                                                 tableName: _tbl,
 | 
  
    | 1960 |                                                 param: _label + '[=]' + _Value
 | 
  
    | 1961 |                                             };
 | 
  
    | 1962 |                                             // _store.proxy.extraParams = { tableName: _tbl, param: oldParam+','+_label + '[=]' + _Value };
 | 
  
    | 1963 |                                             _store.load();
 | 
  
    | 1964 |                                         }
 | 
  
    | 1965 | 
 | 
  
    | 1966 |                                         if (custumFunc) {
 | 
  
    | 1967 |                                             eval(custumFunc)
 | 
  
    | 1968 |                                         }
 | 
  
    | 1969 | 
 | 
  
    | 1970 |                                     }
 | 
  
    | 1971 | 
 | 
  
    | 1972 |                                 }
 | 
  
    | 1973 | 
 | 
  
    | 1974 |                             },
 | 
  
    | 1975 |                             valueField: 'code',
 | 
  
    | 1976 |                             displayField: 'desc',
 | 
  
    | 1977 |                         });
 | 
  
    | 1978 |                     } else if (rec.Length > 250 && rec.TableRef == "") {
 | 
  
    | 1979 |                         formfield = new Ext.form.TextArea({
 | 
  
    | 1980 |                             allowBlank: null_,
 | 
  
    | 1981 |                             fieldLabel: rec.ScreenCaption,
 | 
  
    | 1982 |                             readOnly: ReadOnly_,
 | 
  
    | 1983 |                             readOnlyCls: 'minova-readonly',
 | 
  
    | 1984 |                             labelCls: 'label-minova',
 | 
  
    | 1985 |                             labelWidth: lw,
 | 
  
    | 1986 |                             hidden: Hidden_,
 | 
  
    | 1987 |                             name: rec.FieldName,
 | 
  
    | 1988 |                             msgTarget: 'side',
 | 
  
    | 1989 |                             value: defaultValue,
 | 
  
    | 1990 |                             IsPrimaryKey: rec.IsPrimaryKey,
 | 
  
    | 1991 |                             maxLength: rec.Length,
 | 
  
    | 1992 |                             anchor: '100%',
 | 
  
    | 1993 |                             formname: formname,
 | 
  
    | 1994 |                             vtype: 'validateMinovaXss',
 | 
  
    | 1995 |                             nameTable: tbl,
 | 
  
    | 1996 |                             listeners: {
 | 
  
    | 1997 | 
 | 
  
    | 1998 |                                 change: function (val) {
 | 
  
    | 1999 |                                     var _label = val.name;
 | 
  
    | 2000 |                                     var _form = val.formname;
 | 
  
    | 2001 |                                     var _Value = val.getValue();
 | 
  
    | 2002 |                                     var target = rec.TriggerCombo;
 | 
  
    | 2003 |                                     var custumFunc = rec.SelectFunction;
 | 
  
    | 2004 |                                     if (custumFunc.toLowerCase().substring(0, 2) == 'fn') {
 | 
  
    | 2005 |                                         Ext.Ajax.request({
 | 
  
    | 2006 |                                             async: false,
 | 
  
    | 2007 |                                             method: 'POST',
 | 
  
    | 2008 |                                             url: '/UserControl/GetStore',
 | 
  
    | 2009 |                                             params: {
 | 
  
    | 2010 |                                                 tableName: 'PCMFUNC',
 | 
  
    | 2011 |                                                 param: 'FuncName[equal]' + rec.custumFunc + ',Active[=]1'
 | 
  
    | 2012 |                                             },
 | 
  
    | 2013 |                                             success: function (response) {
 | 
  
    | 2014 |                                                 var results = Ext.decode(response.responseText);
 | 
  
    | 2015 |                                                 data_ = results.data[0];
 | 
  
    | 2016 |                                                 if (data_ != undefined) {
 | 
  
    | 2017 |                                                     custumFunc = data_.FunctionCode;
 | 
  
    | 2018 |                                                 }
 | 
  
    | 2019 |                                             }
 | 
  
    | 2020 |                                         });
 | 
  
    | 2021 |                                     }
 | 
  
    | 2022 |                                     var frm = Ext.ComponentQuery.query('form[name=' + _form + ']')[0];
 | 
  
    | 2023 |                                     if (frm) {
 | 
  
    | 2024 | 
 | 
  
    | 2025 |                                         if (target) {
 | 
  
    | 2026 |                                             var f = frm.getForm().findField(target)
 | 
  
    | 2027 |                                             _store = f.getStore();
 | 
  
    | 2028 |                                             var _tbl = _store.proxy.extraParams.tableName;
 | 
  
    | 2029 |                                             var oldParam = _store.proxy.extraParams.param;
 | 
  
    | 2030 |                                             _store.proxy.extraParams = {
 | 
  
    | 2031 |                                                 tableName: _tbl,
 | 
  
    | 2032 |                                                 param: _label + '[=]' + _Value
 | 
  
    | 2033 |                                             };
 | 
  
    | 2034 |                                             _store.load();
 | 
  
    | 2035 |                                         }
 | 
  
    | 2036 | 
 | 
  
    | 2037 |                                         if (custumFunc) {
 | 
  
    | 2038 |                                             eval(custumFunc)
 | 
  
    | 2039 |                                         }
 | 
  
    | 2040 | 
 | 
  
    | 2041 |                                     }
 | 
  
    | 2042 | 
 | 
  
    | 2043 |                                 },
 | 
  
    | 2044 | 
 | 
  
    | 2045 |                             },
 | 
  
    | 2046 |                         });
 | 
  
    | 2047 |                     } else if (rec.FieldDataType == 3) {
 | 
  
    | 2048 |                         //defaultValue = rec.DefaultValue;
 | 
  
    | 2049 |                         if (defaultValue == null || defaultValue == "") {
 | 
  
    | 2050 |                             defaultValue = 0;
 | 
  
    | 2051 |                         }
 | 
  
    | 2052 |                         //formfield = new MinovaUtil.MinovaES.MinovaFloatField({
 | 
  
    | 2053 |                         formfield = new Ext.form.TextField({
 | 
  
    | 2054 |                             //formfield =MinovaUtil.MinovaES.MinovaDecimal({
 | 
  
    | 2055 |                             allowBlank: null_,
 | 
  
    | 2056 |                             fieldLabel: rec.ScreenCaption,
 | 
  
    | 2057 |                             readOnly: ReadOnly_,
 | 
  
    | 2058 |                             labelCls: 'label-minova',
 | 
  
    | 2059 |                             readOnlyCls: 'minova-readonly',
 | 
  
    | 2060 |                             labelWidth: lw,
 | 
  
    | 2061 |                             msgTarget: 'side',
 | 
  
    | 2062 |                             hidden: Hidden_,
 | 
  
    | 2063 |                             name: rec.FieldName,
 | 
  
    | 2064 |                             IsPrimaryKey: rec.IsPrimaryKey,
 | 
  
    | 2065 |                             value: defaultValue,
 | 
  
    | 2066 |                             maxLength: rec.Length,
 | 
  
    | 2067 |                             precision: rec.Prec,
 | 
  
    | 2068 |                             anchor: '100%',
 | 
  
    | 2069 |                             formname: formname,
 | 
  
    | 2070 |                             vtype: 'validateDecimal',
 | 
  
    | 2071 |                             //maskRe: '^[0-9]+(\.[0-9]{1,2})?$',
 | 
  
    | 2072 |                             nameTable: tbl,
 | 
  
    | 2073 |                             fieldStyle: 'text-align:right;',
 | 
  
    | 2074 |                             listeners: {
 | 
  
    | 2075 | 
 | 
  
    | 2076 |                                 change: function (val) {
 | 
  
    | 2077 |                                     var _label = val.name;
 | 
  
    | 2078 |                                     var _form = val.formname;
 | 
  
    | 2079 |                                     var _Value = val.getValue();
 | 
  
    | 2080 | 
 | 
  
    | 2081 |                                     var target = rec.TriggerCombo;
 | 
  
    | 2082 |                                     var custumFunc = rec.SelectFunction;
 | 
  
    | 2083 |                                     if (custumFunc.toLowerCase().substring(0, 2) == 'fn') {
 | 
  
    | 2084 |                                         Ext.Ajax.request({
 | 
  
    | 2085 |                                             async: false,
 | 
  
    | 2086 |                                             method: 'POST',
 | 
  
    | 2087 |                                             url: '/UserControl/GetStore',
 | 
  
    | 2088 |                                             params: {
 | 
  
    | 2089 |                                                 tableName: 'PCMFUNC',
 | 
  
    | 2090 |                                                 param: 'FuncName[equal]' + rec.custumFunc + ',Active[=]1'
 | 
  
    | 2091 |                                             },
 | 
  
    | 2092 |                                             success: function (response) {
 | 
  
    | 2093 |                                                 var results = Ext.decode(response.responseText);
 | 
  
    | 2094 |                                                 data_ = results.data[0];
 | 
  
    | 2095 |                                                 if (data_ != undefined) {
 | 
  
    | 2096 |                                                     custumFunc = data_.FunctionCode;
 | 
  
    | 2097 |                                                 }
 | 
  
    | 2098 |                                             }
 | 
  
    | 2099 |                                         });
 | 
  
    | 2100 |                                     }
 | 
  
    | 2101 |                                     var frm = Ext.ComponentQuery.query('form[name=' + _form + ']')[0];
 | 
  
    | 2102 |                                     if (frm) {
 | 
  
    | 2103 | 
 | 
  
    | 2104 |                                         if (target) {
 | 
  
    | 2105 |                                             var f = frm.getForm().findField(target)
 | 
  
    | 2106 |                                             _store = f.getStore();
 | 
  
    | 2107 |                                             var _tbl = _store.proxy.extraParams.tableName;
 | 
  
    | 2108 |                                             var oldParam = _store.proxy.extraParams.param;
 | 
  
    | 2109 |                                             _store.proxy.extraParams = {
 | 
  
    | 2110 |                                                 tableName: _tbl,
 | 
  
    | 2111 |                                                 param: _label + '[=]' + _Value
 | 
  
    | 2112 |                                             };
 | 
  
    | 2113 |                                             _store.load();
 | 
  
    | 2114 |                                         }
 | 
  
    | 2115 | 
 | 
  
    | 2116 |                                         if (custumFunc) {
 | 
  
    | 2117 |                                             eval(custumFunc)
 | 
  
    | 2118 |                                         }
 | 
  
    | 2119 | 
 | 
  
    | 2120 |                                     }
 | 
  
    | 2121 | 
 | 
  
    | 2122 |                                 },
 | 
  
    | 2123 | 
 | 
  
    | 2124 |                             },
 | 
  
    | 2125 |                         });
 | 
  
    | 2126 |                     } else if (rec.FieldDataType == 1) {
 | 
  
    | 2127 |                         formfield = new MinovaUtil.MinovaES.MinovaNumberField({
 | 
  
    | 2128 |                             allowBlank: null_,
 | 
  
    | 2129 |                             fieldLabel: rec.ScreenCaption,
 | 
  
    | 2130 |                             readOnly: ReadOnly_,
 | 
  
    | 2131 |                             readOnlyCls: 'minova-readonly',
 | 
  
    | 2132 |                             labelCls: 'label-minova',
 | 
  
    | 2133 |                             labelWidth: lw,
 | 
  
    | 2134 |                             msgTarget: 'side',
 | 
  
    | 2135 |                             hideTrigger: true,
 | 
  
    | 2136 |                             hidden: Hidden_,
 | 
  
    | 2137 |                             name: rec.FieldName,
 | 
  
    | 2138 |                             IsPrimaryKey: rec.IsPrimaryKey,
 | 
  
    | 2139 |                             value: defaultValue,
 | 
  
    | 2140 |                             maxLength: rec.Length,
 | 
  
    | 2141 |                             anchor: '100%',
 | 
  
    | 2142 |                             formname: formname,
 | 
  
    | 2143 |                             nameTable: tbl,
 | 
  
    | 2144 |                             fieldStyle: 'text-align:right;',
 | 
  
    | 2145 |                             listeners: {
 | 
  
    | 2146 | 
 | 
  
    | 2147 |                                 change: function (val) {
 | 
  
    | 2148 |                                     var _label = val.name;
 | 
  
    | 2149 |                                     var _form = val.formname;
 | 
  
    | 2150 |                                     var _Value = val.getValue();
 | 
  
    | 2151 |                                     var target = rec.TriggerCombo;
 | 
  
    | 2152 |                                     var custumFunc = rec.SelectFunction;
 | 
  
    | 2153 |                                     if (custumFunc.toLowerCase().substring(0, 2) == 'fn') {
 | 
  
    | 2154 |                                         Ext.Ajax.request({
 | 
  
    | 2155 |                                             async: false,
 | 
  
    | 2156 |                                             method: 'POST',
 | 
  
    | 2157 |                                             url: '/UserControl/GetStore',
 | 
  
    | 2158 |                                             params: {
 | 
  
    | 2159 |                                                 tableName: 'PCMFUNC',
 | 
  
    | 2160 |                                                 param: 'FuncName[equal]' + rec.custumFunc + ',Active[=]1'
 | 
  
    | 2161 |                                             },
 | 
  
    | 2162 |                                             success: function (response) {
 | 
  
    | 2163 |                                                 var results = Ext.decode(response.responseText);
 | 
  
    | 2164 |                                                 data_ = results.data[0];
 | 
  
    | 2165 |                                                 if (data_ != undefined) {
 | 
  
    | 2166 |                                                     custumFunc = data_.FunctionCode;
 | 
  
    | 2167 |                                                 }
 | 
  
    | 2168 |                                             }
 | 
  
    | 2169 |                                         });
 | 
  
    | 2170 |                                     }
 | 
  
    | 2171 |                                     var frm = Ext.ComponentQuery.query('form[name=' + _form + ']')[0];
 | 
  
    | 2172 |                                     if (frm) {
 | 
  
    | 2173 | 
 | 
  
    | 2174 |                                         if (target) {
 | 
  
    | 2175 |                                             var f = frm.getForm().findField(target)
 | 
  
    | 2176 |                                             _store = f.getStore();
 | 
  
    | 2177 |                                             var _tbl = _store.proxy.extraParams.tableName;
 | 
  
    | 2178 |                                             var oldParam = _store.proxy.extraParams.param;
 | 
  
    | 2179 |                                             _store.proxy.extraParams = {
 | 
  
    | 2180 |                                                 tableName: _tbl,
 | 
  
    | 2181 |                                                 param: _label + '[=]' + _Value
 | 
  
    | 2182 |                                             };
 | 
  
    | 2183 |                                             _store.load();
 | 
  
    | 2184 |                                         }
 | 
  
    | 2185 | 
 | 
  
    | 2186 |                                         if (custumFunc) {
 | 
  
    | 2187 |                                             eval(custumFunc)
 | 
  
    | 2188 |                                         }
 | 
  
    | 2189 | 
 | 
  
    | 2190 |                                     }
 | 
  
    | 2191 | 
 | 
  
    | 2192 |                                 },
 | 
  
    | 2193 | 
 | 
  
    | 2194 |                             },
 | 
  
    | 2195 |                         });
 | 
  
    | 2196 |                     } else if (rec.DataRef == "CREATEBY" || rec.DataRef == "CHANGEBY") {
 | 
  
    | 2197 |                         formfield = new Ext.form.TextField({
 | 
  
    | 2198 |                             fieldLabel: rec.ScreenCaption,
 | 
  
    | 2199 |                             allowBlank: true,
 | 
  
    | 2200 |                             readOnlyCls: 'minova-readonly',
 | 
  
    | 2201 |                             fieldLabel: rec.ScreenCaption,
 | 
  
    | 2202 |                             readOnly: true,
 | 
  
    | 2203 |                             labelCls: 'label-minova',
 | 
  
    | 2204 |                             labelWidth: lw,
 | 
  
    | 2205 |                             hidden: Hidden_,
 | 
  
    | 2206 |                             name: rec.FieldName,
 | 
  
    | 2207 |                             msgTarget: 'side',
 | 
  
    | 2208 |                             maxLength: rec.Length,
 | 
  
    | 2209 |                             anchor: '100%',
 | 
  
    | 2210 |                             formname: formname,
 | 
  
    | 2211 |                             nameTable: tbl,
 | 
  
    | 2212 |                             listeners: {
 | 
  
    | 2213 | 
 | 
  
    | 2214 |                                 change: function (val) {
 | 
  
    | 2215 |                                     var _label = val.name;
 | 
  
    | 2216 |                                     var _form = val.formname;
 | 
  
    | 2217 |                                     var _Value = val.getValue();
 | 
  
    | 2218 |                                     var target = rec.TriggerCombo;
 | 
  
    | 2219 |                                     var custumFunc = rec.SelectFunction;
 | 
  
    | 2220 |                                     if (custumFunc.toLowerCase().substring(0, 2) == 'fn') {
 | 
  
    | 2221 |                                         Ext.Ajax.request({
 | 
  
    | 2222 |                                             async: false,
 | 
  
    | 2223 |                                             method: 'POST',
 | 
  
    | 2224 |                                             url: '/UserControl/GetStore',
 | 
  
    | 2225 |                                             params: {
 | 
  
    | 2226 |                                                 tableName: 'PCMFUNC',
 | 
  
    | 2227 |                                                 param: 'FuncName[equal]' + rec.custumFunc + ',Active[=]1'
 | 
  
    | 2228 |                                             },
 | 
  
    | 2229 |                                             success: function (response) {
 | 
  
    | 2230 |                                                 var results = Ext.decode(response.responseText);
 | 
  
    | 2231 |                                                 data_ = results.data[0];
 | 
  
    | 2232 |                                                 if (data_ != undefined) {
 | 
  
    | 2233 |                                                     custumFunc = data_.FunctionCode;
 | 
  
    | 2234 |                                                 }
 | 
  
    | 2235 |                                             }
 | 
  
    | 2236 |                                         });
 | 
  
    | 2237 |                                     }
 | 
  
    | 2238 |                                     var frm = Ext.ComponentQuery.query('form[name=' + _form + ']')[0];
 | 
  
    | 2239 |                                     if (frm) {
 | 
  
    | 2240 | 
 | 
  
    | 2241 |                                         if (target) {
 | 
  
    | 2242 |                                             var f = frm.getForm().findField(target)
 | 
  
    | 2243 |                                             _store = f.getStore();
 | 
  
    | 2244 |                                             var _tbl = _store.proxy.extraParams.tableName;
 | 
  
    | 2245 |                                             var oldParam = _store.proxy.extraParams.param;
 | 
  
    | 2246 |                                             _store.proxy.extraParams = {
 | 
  
    | 2247 |                                                 tableName: _tbl,
 | 
  
    | 2248 |                                                 param: _label + '[=]' + _Value
 | 
  
    | 2249 |                                             };
 | 
  
    | 2250 |                                             _store.load();
 | 
  
    | 2251 |                                         }
 | 
  
    | 2252 | 
 | 
  
    | 2253 |                                         if (custumFunc) {
 | 
  
    | 2254 |                                             eval(custumFunc)
 | 
  
    | 2255 |                                         }
 | 
  
    | 2256 | 
 | 
  
    | 2257 |                                     }
 | 
  
    | 2258 | 
 | 
  
    | 2259 |                                 },
 | 
  
    | 2260 | 
 | 
  
    | 2261 |                             },
 | 
  
    | 2262 |                         });
 | 
  
    | 2263 | 
 | 
  
    | 2264 |                     } else if (rec.DataRef == "CREATEDT" || rec.DataRef == "CHANGEDT") {
 | 
  
    | 2265 |                         formfield = new MinovaUtil.MinovaES.SysDateTime({
 | 
  
    | 2266 |                             fieldLabel: rec.ScreenCaption,
 | 
  
    | 2267 |                             allowBlank: true,
 | 
  
    | 2268 |                             readOnlyCls: 'minova-readonly',
 | 
  
    | 2269 |                             labelCls: 'label-minova',
 | 
  
    | 2270 |                             IsPrimaryKey: rec.IsPrimaryKey,
 | 
  
    | 2271 |                             labelWidth: lw,
 | 
  
    | 2272 |                             msgTarget: 'side',
 | 
  
    | 2273 |                             fieldLabel: rec.ScreenCaption,
 | 
  
    | 2274 |                             readOnly: true,
 | 
  
    | 2275 |                             hidden: Hidden_,
 | 
  
    | 2276 |                             name: rec.FieldName,
 | 
  
    | 2277 |                             anchor: '100%',
 | 
  
    | 2278 |                             nameTable: tbl,
 | 
  
    | 2279 |                             readOnlyCls: 'minova-readonly',
 | 
  
    | 2280 |                             //cls:'x-item-disabled'
 | 
  
    | 2281 | 
 | 
  
    | 2282 |                         });
 | 
  
    | 2283 | 
 | 
  
    | 2284 |                     } else if (rec.FieldName == 'EmployeeID' && isLookup != true && rec.SearchType == "" || rec.FieldName == 'ApplicantID' || rec.FieldName == 'EmployeeIDFrom' || rec.FieldName == 'EmployeeIDTo') {
 | 
  
    | 2285 |                         // if (rec.SearchType == "" || rec.SearchType == null || rec.SearchType == undefined) {
 | 
  
    | 2286 |                         var triger = (rec.TriggerCombo).split('$');
 | 
  
    | 2287 |                         var targetField_ = triger[0];
 | 
  
    | 2288 |                         var fieldValue_ = triger[1];
 | 
  
    | 2289 | 
 | 
  
    | 2290 |                         formfield = new MinovaUtil.MinovaES.MinovaLookupEmployee({
 | 
  
    | 2291 |                             allowBlank: null_,
 | 
  
    | 2292 |                             fieldLabel: rec.ScreenCaption,
 | 
  
    | 2293 |                             readOnly: ReadOnly_,
 | 
  
    | 2294 |                             readOnlyCls: 'minova-readonly',
 | 
  
    | 2295 |                             hidden: Hidden_,
 | 
  
    | 2296 |                             labelCls: 'label-minova',
 | 
  
    | 2297 |                             name: rec.FieldName,
 | 
  
    | 2298 |                             msgTarget: 'side',
 | 
  
    | 2299 |                             fieldname: rec.FieldName,
 | 
  
    | 2300 |                             IsPrimaryKey: rec.IsPrimaryKey,
 | 
  
    | 2301 |                             tableName: rec.TableRef, //name tabel yang jadi ref-nya
 | 
  
    | 2302 |                             triggerCls: 'x-form-search-trigger',
 | 
  
    | 2303 |                             //vtype: 'alphanum', // disable space
 | 
  
    | 2304 |                             vtype: 'validateMinovaXss',
 | 
  
    | 2305 |                             formtarget: formname, // nama form  yang akan di set value-nya
 | 
  
    | 2306 |                             isLookup: isLookup,
 | 
  
    | 2307 |                             anchor: '100%',
 | 
  
    | 2308 |                             formname: formname,
 | 
  
    | 2309 |                             targetField: targetField_,
 | 
  
    | 2310 |                             fieldValue: fieldValue_,
 | 
  
    | 2311 |                             nameTable: tbl,
 | 
  
    | 2312 |                             value: defaultValue,
 | 
  
    | 2313 |                             LookupFunction: rec.LookupFunction,
 | 
  
    | 2314 |                             filterParam: rec.ParamCombo,
 | 
  
    | 2315 |                             listeners: {
 | 
  
    | 2316 | 
 | 
  
    | 2317 |                                 change: function (val) {
 | 
  
    | 2318 |                                     var _label = val.name;
 | 
  
    | 2319 |                                     var _form = val.formname;
 | 
  
    | 2320 |                                     var _Value = val.getValue();
 | 
  
    | 2321 |                                     var target = rec.TriggerCombo;
 | 
  
    | 2322 |                                     var custumFunc = rec.SelectFunction;
 | 
  
    | 2323 |                                     if (custumFunc.toLowerCase().substring(0, 2) == 'fn') {
 | 
  
    | 2324 |                                         Ext.Ajax.request({
 | 
  
    | 2325 |                                             async: false,
 | 
  
    | 2326 |                                             method: 'POST',
 | 
  
    | 2327 |                                             url: '/UserControl/GetStore',
 | 
  
    | 2328 |                                             params: {
 | 
  
    | 2329 |                                                 tableName: 'PCMFUNC',
 | 
  
    | 2330 |                                                 param: 'FuncName[equal]' + rec.custumFunc + ',Active[=]1'
 | 
  
    | 2331 |                                             },
 | 
  
    | 2332 |                                             success: function (response) {
 | 
  
    | 2333 |                                                 var results = Ext.decode(response.responseText);
 | 
  
    | 2334 |                                                 data_ = results.data[0];
 | 
  
    | 2335 |                                                 if (data_ != undefined) {
 | 
  
    | 2336 |                                                     custumFunc = data_.FunctionCode;
 | 
  
    | 2337 |                                                 }
 | 
  
    | 2338 |                                             }
 | 
  
    | 2339 |                                         });
 | 
  
    | 2340 |                                     }
 | 
  
    | 2341 |                                     var frm = Ext.ComponentQuery.query('form[name=' + _form + ']')[0];
 | 
  
    | 2342 |                                     if (frm) {
 | 
  
    | 2343 | 
 | 
  
    | 2344 |                                         if (target) {
 | 
  
    | 2345 |                                             var f = frm.getForm().findField(target)
 | 
  
    | 2346 |                                             _store = f.getStore();
 | 
  
    | 2347 |                                             var _tbl = _store.proxy.extraParams.tableName;
 | 
  
    | 2348 |                                             var oldParam = _store.proxy.extraParams.param;
 | 
  
    | 2349 |                                             _store.proxy.extraParams = {
 | 
  
    | 2350 |                                                 tableName: _tbl,
 | 
  
    | 2351 |                                                 param: _label + '[=]' + _Value
 | 
  
    | 2352 |                                             };
 | 
  
    | 2353 |                                             _store.load();
 | 
  
    | 2354 |                                         }
 | 
  
    | 2355 | 
 | 
  
    | 2356 |                                         if (custumFunc) {
 | 
  
    | 2357 |                                             eval(custumFunc)
 | 
  
    | 2358 |                                         }
 | 
  
    | 2359 | 
 | 
  
    | 2360 |                                     }
 | 
  
    | 2361 | 
 | 
  
    | 2362 |                                 },
 | 
  
    | 2363 | 
 | 
  
    | 2364 |                             },
 | 
  
    | 2365 |                         });
 | 
  
    | 2366 |                         //}
 | 
  
    | 2367 |                     } else {
 | 
  
    | 2368 |                         formfield = new Ext.form.TextField({
 | 
  
    | 2369 |                             allowBlank: null_,
 | 
  
    | 2370 |                             fieldLabel: rec.ScreenCaption,
 | 
  
    | 2371 |                             readOnly: ReadOnly_,
 | 
  
    | 2372 |                             readOnlyCls: 'minova-readonly',
 | 
  
    | 2373 |                             labelCls: 'label-minova',
 | 
  
    | 2374 |                             labelWidth: lw,
 | 
  
    | 2375 |                             msgTarget: 'side',
 | 
  
    | 2376 |                             hidden: Hidden_,
 | 
  
    | 2377 |                             name: rec.FieldName,
 | 
  
    | 2378 |                             IsPrimaryKey: rec.IsPrimaryKey,
 | 
  
    | 2379 |                             value: defaultValue,
 | 
  
    | 2380 |                             maxLength: rec.Length,
 | 
  
    | 2381 |                             anchor: '100%',
 | 
  
    | 2382 |                             formname: formname,
 | 
  
    | 2383 |                             vtype: 'validateMinovaXss',
 | 
  
    | 2384 |                             nameTable: tbl,
 | 
  
    | 2385 |                             listeners: {
 | 
  
    | 2386 | 
 | 
  
    | 2387 |                                 change: function (val) {
 | 
  
    | 2388 |                                     var _label = val.name;
 | 
  
    | 2389 |                                     var _form = val.formname;
 | 
  
    | 2390 |                                     var _Value = val.getValue();
 | 
  
    | 2391 |                                     var target = rec.TriggerCombo;
 | 
  
    | 2392 |                                     var custumFunc = rec.SelectFunction;
 | 
  
    | 2393 |                                     if (custumFunc.toLowerCase().substring(0, 2) == 'fn') {
 | 
  
    | 2394 |                                         Ext.Ajax.request({
 | 
  
    | 2395 |                                             async: false,
 | 
  
    | 2396 |                                             method: 'POST',
 | 
  
    | 2397 |                                             url: '/UserControl/GetStore',
 | 
  
    | 2398 |                                             params: {
 | 
  
    | 2399 |                                                 tableName: 'PCMFUNC',
 | 
  
    | 2400 |                                                 param: 'FuncName[equal]' + rec.custumFunc + ',Active[=]1'
 | 
  
    | 2401 |                                             },
 | 
  
    | 2402 |                                             success: function (response) {
 | 
  
    | 2403 |                                                 var results = Ext.decode(response.responseText);
 | 
  
    | 2404 |                                                 data_ = results.data[0];
 | 
  
    | 2405 |                                                 if (data_ != undefined) {
 | 
  
    | 2406 |                                                     custumFunc = data_.FunctionCode;
 | 
  
    | 2407 |                                                 }
 | 
  
    | 2408 |                                             }
 | 
  
    | 2409 |                                         });
 | 
  
    | 2410 |                                     }
 | 
  
    | 2411 |                                     var frm = Ext.ComponentQuery.query('form[name=' + _form + ']')[0];
 | 
  
    | 2412 |                                     if (frm) {
 | 
  
    | 2413 | 
 | 
  
    | 2414 |                                         if (target) {
 | 
  
    | 2415 |                                             var f = frm.getForm().findField(target)
 | 
  
    | 2416 |                                             _store = f.getStore();
 | 
  
    | 2417 |                                             var _tbl = _store.proxy.extraParams.tableName;
 | 
  
    | 2418 |                                             var oldParam = _store.proxy.extraParams.param;
 | 
  
    | 2419 |                                             _store.proxy.extraParams = {
 | 
  
    | 2420 |                                                 tableName: _tbl,
 | 
  
    | 2421 |                                                 param: _label + '[=]' + _Value
 | 
  
    | 2422 |                                             };
 | 
  
    | 2423 |                                             _store.load();
 | 
  
    | 2424 |                                         }
 | 
  
    | 2425 | 
 | 
  
    | 2426 |                                         if (custumFunc) {
 | 
  
    | 2427 |                                             eval(custumFunc)
 | 
  
    | 2428 |                                         }
 | 
  
    | 2429 | 
 | 
  
    | 2430 |                                     }
 | 
  
    | 2431 | 
 | 
  
    | 2432 |                                 },
 | 
  
    | 2433 | 
 | 
  
    | 2434 |                             },
 | 
  
    | 2435 |                         });
 | 
  
    | 2436 |                     }
 | 
  
    | 2437 |                 }
 | 
  
    | 2438 | 
 | 
  
    | 2439 |         }
 | 
  
    | 2440 | 
 | 
  
    | 2441 |         //if (rec.IsPrimaryKey == 1) {
 | 
  
    | 2442 |         //    formfield = new Ext.form.TextField({
 | 
  
    | 2443 |         //        hidden: true,
 | 
  
    | 2444 |         //        name: "Key_" + rec.FieldName,
 | 
  
    | 2445 |         //    });
 | 
  
    | 2446 |         //}
 | 
  
    | 2447 |     }
 | 
  
    | 2448 | 
 | 
  
    | 2449 |     //
 | 
  
    | 2450 |     return (formfield);
 | 
  
    | 2451 | }
 | 
  
    | 2452 | MinovaUtil.FieldGenerator.Editor = function (rec, null_) {
 | 
  
    | 2453 |     var formfield = undefined;
 | 
  
    | 2454 |     switch (rec.FormatRef) {
 | 
  
    | 2455 |         case "date":
 | 
  
    | 2456 |             formfield = new Ext.form.DateField({
 | 
  
    | 2457 |                 allowBlank: null_,
 | 
  
    | 2458 |                 //msgTarget: 'side',
 | 
  
    | 2459 |                 readOnly: rec.ReadOnly,
 | 
  
    | 2460 |                 name: rec.FieldName,
 | 
  
    | 2461 |                 format: 'd/m/Y',
 | 
  
    | 2462 |                 submitFormat: 'Ymd',
 | 
  
    | 2463 |                 value: defaultValue,
 | 
  
    | 2464 |                 anchor: '100%',
 | 
  
    | 2465 |                 hideMode: 'visibility',
 | 
  
    | 2466 | 
 | 
  
    | 2467 |             });
 | 
  
    | 2468 |             break
 | 
  
    | 2469 |         case "time":
 | 
  
    | 2470 |             formfield = new Ext.form.TimeField({
 | 
  
    | 2471 |                 allowBlank: null_,
 | 
  
    | 2472 |                 //msgTarget: 'side',
 | 
  
    | 2473 |                 readOnly: rec.ReadOnly,
 | 
  
    | 2474 |                 name: rec.FieldName,
 | 
  
    | 2475 |                 format: 'Hi',
 | 
  
    | 2476 |                 submitFormat: 'Hi',
 | 
  
    | 2477 |                 increment: 5,
 | 
  
    | 2478 |                 value: defaultValue,
 | 
  
    | 2479 |                 anchor: '100%'
 | 
  
    | 2480 |             });
 | 
  
    | 2481 |             break
 | 
  
    | 2482 |         case "file":
 | 
  
    | 2483 |             formfield = Ext.create('MinovaES.view.uploadfile.uploadfile')
 | 
  
    | 2484 |             break
 | 
  
    | 2485 |         default:
 | 
  
    | 2486 |             if (rec.Length > 49 && rec.TableRef == "") {
 | 
  
    | 2487 |                 formfield = new Ext.form.TextArea({
 | 
  
    | 2488 |                     allowBlank: null_,
 | 
  
    | 2489 |                     //msgTarget: 'side',
 | 
  
    | 2490 |                     readOnly: rec.ReadOnly,
 | 
  
    | 2491 |                     name: rec.FieldName,
 | 
  
    | 2492 |                     value: defaultValue,
 | 
  
    | 2493 |                     maxLength: rec.Length,
 | 
  
    | 2494 |                     anchor: '100%'
 | 
  
    | 2495 |                 });
 | 
  
    | 2496 |             } else if (rec.DataRef == "CREATEDT" || rec.DataRef == "CHANGEDT" || rec.DataRef == "CREATEBY" || rec.DataRef == "CHANGEBY") {
 | 
  
    | 2497 |                 formfield = new Ext.form.TextField({
 | 
  
    | 2498 |                     allowBlank: true,
 | 
  
    | 2499 |                     //msgTarget: 'side',
 | 
  
    | 2500 |                     readOnly: true,
 | 
  
    | 2501 |                     name: rec.FieldName,
 | 
  
    | 2502 |                     maxLength: rec.Length,
 | 
  
    | 2503 |                     anchor: '100%'
 | 
  
    | 2504 |                 });
 | 
  
    | 2505 |             } else if (rec.TableRef != "") {
 | 
  
    | 2506 |                 var fieldsCombo = null;
 | 
  
    | 2507 |                 Ext.Ajax.request({
 | 
  
    | 2508 |                     async: false,
 | 
  
    | 2509 |                     method: 'POST',
 | 
  
    | 2510 |                     url: '/Devt/GetAllField?tableName=' + rec.TableRef,
 | 
  
    | 2511 |                     success: function (response) {
 | 
  
    | 2512 |                         var results = Ext.decode(response.responseText);
 | 
  
    | 2513 |                         fieldsCombo = results.data;
 | 
  
    | 2514 |                     }
 | 
  
    | 2515 |                 });
 | 
  
    | 2516 |                 valueField = null;
 | 
  
    | 2517 |                 Ext.Ajax.request({
 | 
  
    | 2518 |                     async: false,
 | 
  
    | 2519 |                     method: 'POST',
 | 
  
    | 2520 |                     url: '/UserControl/GetStore',
 | 
  
    | 2521 |                     params: {
 | 
  
    | 2522 |                         tableName: 'SDATATABLEFIELD',
 | 
  
    | 2523 |                         param: 'ValueField[equal]1,TableName[equal]' + rec.TableRef
 | 
  
    | 2524 |                     },
 | 
  
    | 2525 |                     success: function (response) {
 | 
  
    | 2526 |                         var results = Ext.decode(response.responseText);
 | 
  
    | 2527 |                         data_ = results.data[0];
 | 
  
    | 2528 |                         if (data_ != undefined) {
 | 
  
    | 2529 |                             valueField = data_.FieldName;
 | 
  
    | 2530 |                         }
 | 
  
    | 2531 |                     }
 | 
  
    | 2532 |                 });
 | 
  
    | 2533 |                 displayValue = null;
 | 
  
    | 2534 |                 Ext.Ajax.request({
 | 
  
    | 2535 |                     async: false,
 | 
  
    | 2536 |                     method: 'POST',
 | 
  
    | 2537 |                     url: '/UserControl/GetStore',
 | 
  
    | 2538 |                     params: {
 | 
  
    | 2539 |                         tableName: 'SDATATABLEFIELD',
 | 
  
    | 2540 |                         param: 'DisplayValue[equal]1,TableName[equal]' + rec.TableRef
 | 
  
    | 2541 |                     },
 | 
  
    | 2542 |                     success: function (response) {
 | 
  
    | 2543 |                         var results = Ext.decode(response.responseText);
 | 
  
    | 2544 |                         data_ = results.data[0];
 | 
  
    | 2545 |                         if (data_ != undefined) {
 | 
  
    | 2546 |                             displayValue = data_.FieldName;
 | 
  
    | 2547 |                             //console.log(data_)
 | 
  
    | 2548 |                         }
 | 
  
    | 2549 |                     }
 | 
  
    | 2550 |                 });
 | 
  
    | 2551 |                 //var field_ = [];
 | 
  
    | 2552 |                 //fieldsCombo.forEach(function (rec) {
 | 
  
    | 2553 |                 //    field_.push(rec.FieldName)
 | 
  
    | 2554 |                 //});
 | 
  
    | 2555 | 
 | 
  
    | 2556 |                 formfield = new Ext.form.ComboBox({
 | 
  
    | 2557 |                     allowBlank: null_,
 | 
  
    | 2558 |                     //msgTarget: 'side',
 | 
  
    | 2559 |                     readOnly: rec.ReadOnly,
 | 
  
    | 2560 |                     name: rec.FieldName,
 | 
  
    | 2561 |                     value: defaultValue,
 | 
  
    | 2562 |                     anchor: '100%',
 | 
  
    | 2563 |                     vtype: 'validateCombobox',
 | 
  
    | 2564 |                     store: Ext.create('Ext.data.Store', {
 | 
  
    | 2565 |                         storeId: 'store' + rec.FieldName,
 | 
  
    | 2566 |                         autoLoad: true,
 | 
  
    | 2567 |                         //pageSize: 10,
 | 
  
    | 2568 |                         //fields: field_,
 | 
  
    | 2569 |                         proxy: {
 | 
  
    | 2570 |                             method: 'POST',
 | 
  
    | 2571 |                             type: 'ajax',
 | 
  
    | 2572 |                             url: '/UserControl/GetStore',
 | 
  
    | 2573 |                             //params: {
 | 
  
    | 2574 |                             extraParams: {
 | 
  
    | 2575 |                                 tableName: rec.TableRef,
 | 
  
    | 2576 |                                 param: rec.ParamCombo
 | 
  
    | 2577 |                             },
 | 
  
    | 2578 |                             reader: {
 | 
  
    | 2579 |                                 type: 'json',
 | 
  
    | 2580 |                                 root: 'data',
 | 
  
    | 2581 |                                 // totalProperty: 'data[0].TotalCount'
 | 
  
    | 2582 |                             }
 | 
  
    | 2583 |                         }
 | 
  
    | 2584 |                     }),
 | 
  
    | 2585 |                     listeners: {
 | 
  
    | 2586 |                         change: function (val) { }
 | 
  
    | 2587 | 
 | 
  
    | 2588 |                     },
 | 
  
    | 2589 |                     queryMode: 'local',
 | 
  
    | 2590 |                     displayField: displayValue,
 | 
  
    | 2591 |                     valueField: valueField,
 | 
  
    | 2592 |                 });
 | 
  
    | 2593 |             } else if (rec.FieldDataType == 3) {
 | 
  
    | 2594 |                 formfield = new MinovaUtil.MinovaES.MinovaFloatField({
 | 
  
    | 2595 |                     allowBlank: null_,
 | 
  
    | 2596 |                     //msgTarget: 'side',
 | 
  
    | 2597 |                     readOnly: rec.ReadOnly,
 | 
  
    | 2598 |                     name: rec.FieldName,
 | 
  
    | 2599 |                     value: defaultValue,
 | 
  
    | 2600 |                     maxLength: rec.Length,
 | 
  
    | 2601 |                     precision: rec.Prec,
 | 
  
    | 2602 |                     anchor: '100%'
 | 
  
    | 2603 |                 });
 | 
  
    | 2604 |             } else if (rec.FieldDataType == 1) {
 | 
  
    | 2605 |                 formfield = new MinovaUtil.MinovaES.MinovaNumberField({
 | 
  
    | 2606 |                     allowBlank: null_,
 | 
  
    | 2607 |                     //msgTarget: 'side',
 | 
  
    | 2608 |                     readOnly: rec.ReadOnly,
 | 
  
    | 2609 |                     name: rec.FieldName,
 | 
  
    | 2610 |                     value: defaultValue,
 | 
  
    | 2611 |                     maxLength: rec.Length,
 | 
  
    | 2612 |                     anchor: '100%'
 | 
  
    | 2613 |                 });
 | 
  
    | 2614 |             } else {
 | 
  
    | 2615 |                 formfield = new Ext.form.TextField({
 | 
  
    | 2616 |                     allowBlank: null_,
 | 
  
    | 2617 |                     //msgTarget: 'side',
 | 
  
    | 2618 |                     readOnly: rec.ReadOnly,
 | 
  
    | 2619 |                     name: rec.FieldName,
 | 
  
    | 2620 |                     value: defaultValue,
 | 
  
    | 2621 |                     maxLength: rec.Length,
 | 
  
    | 2622 |                     anchor: '100%'
 | 
  
    | 2623 |                 });
 | 
  
    | 2624 |             }
 | 
  
    | 2625 |     }
 | 
  
    | 2626 |     return (formfield);
 | 
  
    | 2627 | }
 | 
  
    | 2628 | MinovaUtil.FieldGenerator.Column = function (rec, null_) {
 | 
  
    | 2629 |     var gridcol = undefined;
 | 
  
    | 2630 |     switch (rec.FormatRef) {
 | 
  
    | 2631 |         case "date":
 | 
  
    | 2632 |             gridcol = 'minovadatecolumn'
 | 
  
    | 2633 |             break
 | 
  
    | 2634 |         case "time":
 | 
  
    | 2635 |             gridcol = ''
 | 
  
    | 2636 |             break
 | 
  
    | 2637 |         case "file":
 | 
  
    | 2638 |             gridcol = ''
 | 
  
    | 2639 |             break
 | 
  
    | 2640 |         default:
 | 
  
    | 2641 |             if (rec.Length > 49 && rec.TableRef == "") {
 | 
  
    | 2642 |                 gridcol = ''
 | 
  
    | 2643 |             } else if (rec.DataRef == "CREATEDT" || rec.DataRef == "CHANGEDT" || rec.DataRef == "CREATEBY" || rec.DataRef == "CHANGEBY") {
 | 
  
    | 2644 |                 gridcol = ''
 | 
  
    | 2645 |             } else if (rec.TableRef != "") {
 | 
  
    | 2646 |                 gridcol = 'MinovaComboColumn'
 | 
  
    | 2647 |             } else if (rec.FieldDataType == 3) {
 | 
  
    | 2648 |                 gridcol = 'numbercolumn'
 | 
  
    | 2649 |             } else if (rec.FieldDataType == 1) {
 | 
  
    | 2650 |                 gridcol = 'numbercolumn'
 | 
  
    | 2651 |             } else {
 | 
  
    | 2652 |                 gridcol = ''
 | 
  
    | 2653 |             }
 | 
  
    | 2654 |     }
 | 
  
    | 2655 |     return (gridcol);
 | 
  
    | 2656 | }
 | 
  
    | 2657 | MinovaUtil.FieldGenerator.Display = function (rec) {
 | 
  
    | 2658 |     var formfield = null;
 | 
  
    | 2659 |     var Hidden_ = false;
 | 
  
    | 2660 |     if (rec.IsHidden == '1' || IsHidden == true) {
 | 
  
    | 2661 |         Hidden_ = true;
 | 
  
    | 2662 |     }
 | 
  
    | 2663 |     switch (rec.FormatRef) {
 | 
  
    | 2664 |         case "date":
 | 
  
    | 2665 |             formfield = new MinovaUtil.MinovaES.DisplayDate({
 | 
  
    | 2666 |                 fieldLabel: rec.ScreenCaption,
 | 
  
    | 2667 |                 //msgTarget: 'side',
 | 
  
    | 2668 |                 hidden: Hidden_,
 | 
  
    | 2669 |                 name: rec.FieldName,
 | 
  
    | 2670 |                 anchor: '100%'
 | 
  
    | 2671 |             });
 | 
  
    | 2672 |             break;
 | 
  
    | 2673 | 
 | 
  
    | 2674 |         default:
 | 
  
    | 2675 |             if (rec.DataRef == "CREATEDT" || rec.DataRef == "CHANGEDT") {
 | 
  
    | 2676 |                 formfield = new MinovaUtil.MinovaES.DisplaySysDateTime({
 | 
  
    | 2677 |                     fieldLabel: rec.ScreenCaption,
 | 
  
    | 2678 |                     //msgTarget: 'side',
 | 
  
    | 2679 |                     hidden: Hidden_,
 | 
  
    | 2680 |                     name: rec.FieldName,
 | 
  
    | 2681 |                     anchor: '100%'
 | 
  
    | 2682 |                 });
 | 
  
    | 2683 |             } else if (rec.TableRef != "") {
 | 
  
    | 2684 | 
 | 
  
    | 2685 |                 valueField = null;
 | 
  
    | 2686 |                 Ext.Ajax.request({
 | 
  
    | 2687 |                     async: false,
 | 
  
    | 2688 |                     method: 'POST',
 | 
  
    | 2689 |                     url: '/UserControl/GetStore',
 | 
  
    | 2690 |                     params: {
 | 
  
    | 2691 |                         tableName: 'SDATATABLEFIELD',
 | 
  
    | 2692 |                         param: 'ValueField[equal]1,TableName[equal]' + rec.TableRef
 | 
  
    | 2693 |                     },
 | 
  
    | 2694 |                     success: function (response) {
 | 
  
    | 2695 |                         var results = Ext.decode(response.responseText);
 | 
  
    | 2696 |                         data_ = results.data[0];
 | 
  
    | 2697 |                         if (data_ != undefined) {
 | 
  
    | 2698 |                             valueField = data_.FieldName;
 | 
  
    | 2699 |                         }
 | 
  
    | 2700 |                     }
 | 
  
    | 2701 |                 });
 | 
  
    | 2702 |                 displayValue = null;
 | 
  
    | 2703 |                 Ext.Ajax.request({
 | 
  
    | 2704 |                     async: false,
 | 
  
    | 2705 |                     method: 'POST',
 | 
  
    | 2706 |                     url: '/UserControl/GetStore',
 | 
  
    | 2707 |                     params: {
 | 
  
    | 2708 |                         tableName: 'SDATATABLEFIELD',
 | 
  
    | 2709 |                         param: 'DisplayValue[equal]1,TableName[equal]' + rec.TableRef
 | 
  
    | 2710 |                     },
 | 
  
    | 2711 |                     success: function (response) {
 | 
  
    | 2712 |                         var results = Ext.decode(response.responseText);
 | 
  
    | 2713 |                         data_ = results.data[0];
 | 
  
    | 2714 |                         if (data_ != undefined) {
 | 
  
    | 2715 |                             displayValue = data_.FieldName;
 | 
  
    | 2716 |                             //console.log(data_)
 | 
  
    | 2717 |                         }
 | 
  
    | 2718 |                     }
 | 
  
    | 2719 |                 });
 | 
  
    | 2720 |                 //var field_ = [];
 | 
  
    | 2721 |                 //fieldsCombo.forEach(function (rec) {
 | 
  
    | 2722 |                 //    field_.push(rec.FieldName)
 | 
  
    | 2723 |                 //});
 | 
  
    | 2724 |                 formfield = new Ext.form.ComboBox({
 | 
  
    | 2725 |                     allowBlank: null_,
 | 
  
    | 2726 |                     fieldLabel: rec.ScreenCaption,
 | 
  
    | 2727 |                     //msgTarget: 'side',
 | 
  
    | 2728 |                     readOnly: rec.ReadOnly,
 | 
  
    | 2729 |                     hidden: Hidden_,
 | 
  
    | 2730 |                     name: rec.FieldName,
 | 
  
    | 2731 |                     value: defaultValue,
 | 
  
    | 2732 |                     vtype: 'validateCombobox',
 | 
  
    | 2733 |                     anchor: '100%',
 | 
  
    | 2734 |                     store: Ext.create('Ext.data.Store', {
 | 
  
    | 2735 |                         storeId: 'store' + rec.FieldName,
 | 
  
    | 2736 |                         autoLoad: true,
 | 
  
    | 2737 |                         //pageSize: 10,
 | 
  
    | 2738 |                         //fields: field_,
 | 
  
    | 2739 |                         proxy: {
 | 
  
    | 2740 |                             method: 'POST',
 | 
  
    | 2741 |                             type: 'ajax',
 | 
  
    | 2742 |                             url: '/UserControl/GetStore',
 | 
  
    | 2743 |                             //params: {
 | 
  
    | 2744 |                             extraParams: {
 | 
  
    | 2745 |                                 tableName: rec.TableRef,
 | 
  
    | 2746 |                                 param: ''
 | 
  
    | 2747 |                             },
 | 
  
    | 2748 |                             reader: {
 | 
  
    | 2749 |                                 type: 'json',
 | 
  
    | 2750 |                                 root: 'data',
 | 
  
    | 2751 |                                 totalProperty: 'data[0].TotalCount'
 | 
  
    | 2752 |                             }
 | 
  
    | 2753 |                         }
 | 
  
    | 2754 |                     }),
 | 
  
    | 2755 |                     listeners: {
 | 
  
    | 2756 |                         change: function (val) { }
 | 
  
    | 2757 | 
 | 
  
    | 2758 |                     },
 | 
  
    | 2759 |                     queryMode: 'local',
 | 
  
    | 2760 |                     displayField: displayValue,
 | 
  
    | 2761 |                     valueField: valueField,
 | 
  
    | 2762 |                 });
 | 
  
    | 2763 |             }
 | 
  
    | 2764 |             break
 | 
  
    | 2765 |     }
 | 
  
    | 2766 | }
 | 
  
    | 2767 | 
 | 
  
    | 2768 | //funsi untuk set value form html
 | 
  
    | 2769 | // data json
 | 
  
    | 2770 | // form_id= id form yang akan diset valuenya
 | 
  
    | 2771 | MinovaUtil.FieldGenerator.HtmlSetValues = function (data, form_id) {
 | 
  
    | 2772 |     $.each(data, function (key, value) {
 | 
  
    | 2773 |         $('#' + key, form_id).val(value);
 | 
  
    | 2774 |     });
 | 
  
    | 2775 | }
 | 
  
    | 2776 | 
 | 
  
    | 2777 | MinovaUtil.FieldGenerator.SimpleHtmlDisplay1 = function (divid, tableName, title) {
 | 
  
    | 2778 | 
 | 
  
    | 2779 |     code = null;
 | 
  
    | 2780 |     Ext.Ajax.request({
 | 
  
    | 2781 |         async: false,
 | 
  
    | 2782 |         method: 'POST',
 | 
  
    | 2783 |         url: '/Devt/GetItenDiv',
 | 
  
    | 2784 |         /* params : {
 | 
  
    | 2785 | 		tableName : 'SDATATABLEFIELD',
 | 
  
    | 2786 | 		param : 'ValueField[equal]1,TableName[equal]' + rec.TableRef
 | 
  
    | 2787 | 		}, */
 | 
  
    | 2788 |         success: function (response) {
 | 
  
    | 2789 |             code = response.responseText;
 | 
  
    | 2790 | 
 | 
  
    | 2791 |         }
 | 
  
    | 2792 |     });
 | 
  
    | 2793 | 
 | 
  
    | 2794 |     $("#" + divid).append(" <h3 class='form-section'>" + title + "</h3>");
 | 
  
    | 2795 |     $("#" + divid).append("<div class='row' id='TableName_Content'> " + code + " </div>");
 | 
  
    | 2796 | 
 | 
  
    | 2797 | }
 | 
  
    | 2798 | 
 | 
  
    | 2799 | MinovaUtil.FieldGenerator.SimpleHtmlDisplay2 = function (divid, tableName, title) {
 | 
  
    | 2800 | 
 | 
  
    | 2801 |     code = null;
 | 
  
    | 2802 |     Ext.Ajax.request({
 | 
  
    | 2803 |         async: false,
 | 
  
    | 2804 |         method: 'POST',
 | 
  
    | 2805 |         url: '/Devt/GetItenDiv',
 | 
  
    | 2806 |         /* params : {
 | 
  
    | 2807 | 		tableName : 'SDATATABLEFIELD',
 | 
  
    | 2808 | 		param : 'ValueField[equal]1,TableName[equal]' + rec.TableRef
 | 
  
    | 2809 | 		}, */
 | 
  
    | 2810 |         success: function (response) {
 | 
  
    | 2811 |             code = response.responseText;
 | 
  
    | 2812 | 
 | 
  
    | 2813 |         }
 | 
  
    | 2814 |     });
 | 
  
    | 2815 | 
 | 
  
    | 2816 |     $("#" + divid).append(" <h3 class='form-section'>" + title + "</h3>");
 | 
  
    | 2817 |     $("#" + divid).append("<div class='row' id='TableName_Content'> " + code + " </div>");
 | 
  
    | 2818 | 
 | 
  
    | 2819 | }
 | 
  
    | 2820 | 
 | 
  
    | 2821 | MinovaUtil.FieldGenerator.ExtjsBuildGrid = function (divid, tableName) {
 | 
  
    | 2822 |     var div_ = tableName + 'div'
 | 
  
    | 2823 |     $("#" + divid).append('  <div class="row" id="grid"' + tableName + '>' +
 | 
  
    | 2824 |         '<div class="col-md-12">' +
 | 
  
    | 2825 |         '<h3 class="form-section">Person Info</h3>' +
 | 
  
    | 2826 |         '<div class="portlet-body" id=' + div_ + '> </div></div></div>');
 | 
  
    | 2827 | 
 | 
  
    | 2828 |     Ext.create('MinovaUtil.MinovaES.MinovaGrid1', {
 | 
  
    | 2829 |         renderTo: div_,
 | 
  
    | 2830 |         isLookup: 1,
 | 
  
    | 2831 |         minHeight: 280,
 | 
  
    | 2832 |         height: 100,
 | 
  
    | 2833 |         tableName: tableName,
 | 
  
    | 2834 |         param: '',
 | 
  
    | 2835 |         isLookup: false,
 | 
  
    | 2836 |         width: '100%',
 | 
  
    | 2837 |         name: 'grid' + tableName,
 | 
  
    | 2838 |         hidebutton: 0,
 | 
  
    | 2839 |         pagesize: 25,
 | 
  
    | 2840 |         storename: 'lgrid' + tableName,
 | 
  
    | 2841 |     });
 | 
  
    | 2842 | }
 | 
  
    | 2843 | 
 | 
  
    | 2844 | MinovaUtil.FieldGenerator.BuildSimpleGridHtml = function (divid, tableName, title) {
 | 
  
    | 2845 | 
 | 
  
    | 2846 |     var header = "";
 | 
  
    | 2847 |     var ThThead = "";
 | 
  
    | 2848 |     for (var i = 0; i < 4; i++) {
 | 
  
    | 2849 |         header = "header" + i;
 | 
  
    | 2850 |         ThThead = ThThead + "<th>" + header + "</th>";
 | 
  
    | 2851 |     }
 | 
  
    | 2852 |     var Thead = "<thead>" + ThThead + "</thead>";
 | 
  
    | 2853 | 
 | 
  
    | 2854 |     var td = "";
 | 
  
    | 2855 |     var tdLabel = "";
 | 
  
    | 2856 |     var tr = "";
 | 
  
    | 2857 |     for (var a = 0; a <= 2; a++) {
 | 
  
    | 2858 |         for (var b = 0; b < 4; b++) {
 | 
  
    | 2859 |             tdLabel = b;
 | 
  
    | 2860 |             td = td + "<td>" + tdLabel + "</td>";
 | 
  
    | 2861 |         }
 | 
  
    | 2862 |         tr = tr + "<tr>" + td + "</tr>";
 | 
  
    | 2863 |         td = "";
 | 
  
    | 2864 |     }
 | 
  
    | 2865 |     var Tbody = "<tbody>" + tr + "</tbody>";
 | 
  
    | 2866 |     var tbl = tableName + "Table";
 | 
  
    | 2867 |     var result = "<div class='row' id=" + tbl + ">" +
 | 
  
    | 2868 | 		"<div class='col-md-10'>" +
 | 
  
    | 2869 | 		"<h3 class='form-section'>" + title + "</h3>" +
 | 
  
    | 2870 | 		"<div class='portlet-body'>" +
 | 
  
    | 2871 | 		"<div class='table-scrollable'>" +
 | 
  
    | 2872 | 		"<table class='table table-bordered table-hover'>" +
 | 
  
    | 2873 | 		Thead +
 | 
  
    | 2874 | 		Tbody
 | 
  
    | 2875 |     "</table>" +
 | 
  
    | 2876 |     "</div>" +
 | 
  
    | 2877 |     "</div>" +
 | 
  
    | 2878 |     "</div>" +
 | 
  
    | 2879 |     "</div>";
 | 
  
    | 2880 |     $("#" + divid).append(result);
 | 
  
    | 2881 | }
 | 
  
    | 2882 | 
 | 
  
    | 2883 | MinovaUtil.FieldGenerator.Header1 = function (divid, companyCode) {
 | 
  
    | 2884 |     var logo = undefined;
 | 
  
    | 2885 |     var CompanyDescription = undefined;
 | 
  
    | 2886 |     Ext.Ajax.request({
 | 
  
    | 2887 |         async: false,
 | 
  
    | 2888 |         method: 'POST',
 | 
  
    | 2889 |         url: '/UserControl/GetStore',
 | 
  
    | 2890 |         params: {
 | 
  
    | 2891 |             tableName: 'PCMEPCOMPID',
 | 
  
    | 2892 |             param: 'CompanyID[equal]' + companyCode
 | 
  
    | 2893 | 
 | 
  
    | 2894 |         },
 | 
  
    | 2895 |         success: function (response) {
 | 
  
    | 2896 |             var results = Ext.decode(response.responseText);
 | 
  
    | 2897 |             data_ = results.data;
 | 
  
    | 2898 |             if (data_.length > 0) {
 | 
  
    | 2899 |                 logo = data_[0].Logo;
 | 
  
    | 2900 |                 CompanyDescription = data_[0].CompanyDescription;
 | 
  
    | 2901 |             }
 | 
  
    | 2902 |         }
 | 
  
    | 2903 |     });
 | 
  
    | 2904 | 
 | 
  
    | 2905 |     var header = //'<div class="row">' +
 | 
  
    | 2906 | 		'<div class="col-md-3">' +
 | 
  
    | 2907 | 		'<div class="page-logo">' +
 | 
  
    | 2908 | 		'<a href="/">' +
 | 
  
    | 2909 | 		///Devt/GetFileData?FileName=Foto Fazari.jpg&download=false
 | 
  
    | 2910 | 		'<img src="/Devt/GetFileData?FileName=' + logo + '&download=false" alt="logo" class="logo-default" />' +
 | 
  
    | 2911 | 		'</a>' +
 | 
  
    | 2912 | 		'</div>' +
 | 
  
    | 2913 | 		'</div>' +
 | 
  
    | 2914 | 		'<div class="col-md-9">' +
 | 
  
    | 2915 | 		'<h3>' + CompanyDescription + '</h3>' +
 | 
  
    | 2916 | 
 | 
  
    | 2917 | 		'</div>';
 | 
  
    | 2918 |     '<div>';
 | 
  
    | 2919 | 
 | 
  
    | 2920 |     '</div>';
 | 
  
    | 2921 | 
 | 
  
    | 2922 |     $("#" + divid).append(header);
 | 
  
    | 2923 | }
 | 
  
    | 2924 | 
 | 
  
    | 2925 | MinovaUtil.FieldGenerator.Header2 = function (divid, companyCode) {
 | 
  
    | 2926 |     var header = '<div class="row">' +
 | 
  
    | 2927 | 		'<div class="col-md-9">' +
 | 
  
    | 2928 | 		'<div class="page-logo">' +
 | 
  
    | 2929 | 		'<h3> PT Minova Infotech Solutions</h3>' +
 | 
  
    | 2930 | 		'</div>' +
 | 
  
    | 2931 | 		'</div>' +
 | 
  
    | 2932 | 		'<div class="col-md-3">' +
 | 
  
    | 2933 | 		'<a href="/">' +
 | 
  
    | 2934 | 		'<img src="../../Metronic/assets/admin/layout4/img/logo-light.png" alt="logo" class="logo-default" />' +
 | 
  
    | 2935 | 		'</a>' +
 | 
  
    | 2936 | 		'</div>' +
 | 
  
    | 2937 | 		'</div>';
 | 
  
    | 2938 |     $("#" + divid).append(header);
 | 
  
    | 2939 | }
 | 
  
    | 2940 | 
 | 
  
    | 2941 | MinovaUtil.FieldGenerator.MDWithImage1 = function (divid) {
 | 
  
    | 2942 | 
 | 
  
    | 2943 |     var nowDate = MinovaUtil.GetNowDate();
 | 
  
    | 2944 |     var Photo = 'nophoto.gif';
 | 
  
    | 2945 |     var emp = getParam("EmployeeID");
 | 
  
    | 2946 |     if (emp == "null") {
 | 
  
    | 2947 |         var VariantID = getParam("VariantName");
 | 
  
    | 2948 |         Ext.Ajax.request({
 | 
  
    | 2949 |             method: 'POST',
 | 
  
    | 2950 |             async: false,
 | 
  
    | 2951 |             url: '/UserControl/GetStore',
 | 
  
    | 2952 |             params: {
 | 
  
    | 2953 |                 tableName: 'SDATAVARIANT',
 | 
  
    | 2954 |                 param: 'VariantName[=]' + VariantID
 | 
  
    | 2955 |             },
 | 
  
    | 2956 |             success: function (response) {
 | 
  
    | 2957 |                 var results = Ext.decode(response.responseText);
 | 
  
    | 2958 |                 hasil = Ext.decode(results.data[0].Data);
 | 
  
    | 2959 |                 emp = hasil.EmployeeID;
 | 
  
    | 2960 | 
 | 
  
    | 2961 |             }
 | 
  
    | 2962 |         });
 | 
  
    | 2963 |     }
 | 
  
    | 2964 | 
 | 
  
    | 2965 |     // get Photo
 | 
  
    | 2966 |     Ext.Ajax.request({
 | 
  
    | 2967 |         method: 'POST',
 | 
  
    | 2968 |         async: false,
 | 
  
    | 2969 |         url: '/UserControl/GetStore',
 | 
  
    | 2970 |         params: {
 | 
  
    | 2971 |             tableName: 'PHRPA0001',
 | 
  
    | 2972 |             param: 'StartDate[<=]' + nowDate + ',EndDate[>=]' + nowDate + ',EmployeeID[=]' + emp
 | 
  
    | 2973 |         },
 | 
  
    | 2974 |         success: function (response) {
 | 
  
    | 2975 |             var results = Ext.decode(response.responseText);
 | 
  
    | 2976 |             hasil = results.data;
 | 
  
    | 2977 |             dataPhoto = hasil[0].Picture
 | 
  
    | 2978 |             if (dataPhoto != "") {
 | 
  
    | 2979 |                 Photo = dataPhoto;
 | 
  
    | 2980 |             }
 | 
  
    | 2981 | 
 | 
  
    | 2982 |         }
 | 
  
    | 2983 |     });
 | 
  
    | 2984 | 
 | 
  
    | 2985 |     var header = '<div class="row">' +
 | 
  
    | 2986 | 		'<div class="col-md-2">' +
 | 
  
    | 2987 | 		'<div class="page-logo">' +
 | 
  
    | 2988 | 		'<a href="/">' +
 | 
  
    | 2989 | 		'<img src="/Devt/GetFileData?FileName=' + Photo + '&download=false" alt="logo" width="133" height="140" />' +
 | 
  
    | 2990 | 		'</a>' +
 | 
  
    | 2991 | 		'</div>' +
 | 
  
    | 2992 | 		'</div>' +
 | 
  
    | 2993 | 		'<div class="col-md-10" id="formMD">' +
 | 
  
    | 2994 | 
 | 
  
    | 2995 | 		'</div>' +
 | 
  
    | 2996 | 		'</div>';
 | 
  
    | 2997 |     $("#" + divid).append(header);
 | 
  
    | 2998 | }
 | 
  
    | 2999 | 
 | 
  
    | 3000 | MinovaUtil.FieldGenerator.MDWithImage2 = function (divid, companyCode) {
 | 
  
    | 3001 |     var header = '<div class="row">' +
 | 
  
    | 3002 | 		'<div class="col-md-10" id="formMD">' +
 | 
  
    | 3003 | 
 | 
  
    | 3004 | 		'</div>' +
 | 
  
    | 3005 | 		'<div class="col-md-2">' +
 | 
  
    | 3006 | 		'<div class="page-logo">' +
 | 
  
    | 3007 | 		'<a href="/">' +
 | 
  
    | 3008 | 		'<img src="../../Metronic/assets/admin/layout4/img/logo-light.png" alt="logo" class="logo-default" />' +
 | 
  
    | 3009 | 		'</a>' +
 | 
  
    | 3010 | 		'</div>' +
 | 
  
    | 3011 | 		'</div>' +
 | 
  
    | 3012 | 		'</div>';
 | 
  
    | 3013 |     $("#" + divid).append(header);
 | 
  
    | 3014 | }
 | 
  
    | 3015 | 
 | 
  
    | 3016 | MinovaUtil.FieldGenerator.CvView = function (divid) {
 | 
  
    | 3017 | 
 | 
  
    | 3018 |     //get all header
 | 
  
    | 3019 |     var emp = getParam('EmployeeID');
 | 
  
    | 3020 |     // var divid = 'reportContent';
 | 
  
    | 3021 |     var CVType = getParam('CVType');
 | 
  
    | 3022 |     if (CVType == "null") {
 | 
  
    | 3023 |         var VariantID = getParam("VariantName");
 | 
  
    | 3024 |         Ext.Ajax.request({
 | 
  
    | 3025 |             method: 'POST',
 | 
  
    | 3026 |             async: false,
 | 
  
    | 3027 |             url: '/UserControl/GetStore',
 | 
  
    | 3028 |             params: {
 | 
  
    | 3029 |                 tableName: 'SDATAVARIANT',
 | 
  
    | 3030 |                 param: 'VariantName[=]' + VariantID
 | 
  
    | 3031 |             },
 | 
  
    | 3032 |             success: function (response) {
 | 
  
    | 3033 |                 var results = Ext.decode(response.responseText);
 | 
  
    | 3034 |                 hasil = Ext.decode(results.data[0].Data);
 | 
  
    | 3035 |                 CVType = hasil.CVType;
 | 
  
    | 3036 | 
 | 
  
    | 3037 |             }
 | 
  
    | 3038 |         });
 | 
  
    | 3039 |     }
 | 
  
    | 3040 |     var LangId = MinovaUtil.GetLangID();
 | 
  
    | 3041 |     var header_ = null;
 | 
  
    | 3042 |     var results = null;
 | 
  
    | 3043 |     var CVDetailType = null;
 | 
  
    | 3044 |     //get all field
 | 
  
    | 3045 |     Ext.Ajax.request({
 | 
  
    | 3046 |         async: false,
 | 
  
    | 3047 |         method: 'POST',
 | 
  
    | 3048 |         url: '/UserControl/GetStore',
 | 
  
    | 3049 |         params: {
 | 
  
    | 3050 |             tableName: 'PDSPA0002',
 | 
  
    | 3051 |             param: "hd.CVType = '" + CVType + "' AND rt.LangId = '" + LangId + "'"
 | 
  
    | 3052 |             //param : "hd.CVType = "+CVType+" AND rt.LangId = "+LangId
 | 
  
    | 3053 |         },
 | 
  
    | 3054 |         success: function (response) {
 | 
  
    | 3055 |             var result = Ext.decode(response.responseText);
 | 
  
    | 3056 |             results = result.data;
 | 
  
    | 3057 | 
 | 
  
    | 3058 |         }
 | 
  
    | 3059 |     });
 | 
  
    | 3060 |     // generate ui from all field each panel
 | 
  
    | 3061 |     var allTable = null;
 | 
  
    | 3062 |     var tbl = null;
 | 
  
    | 3063 |     var tblTemp = null;
 | 
  
    | 3064 | 
 | 
  
    | 3065 |     var allHeader = null;
 | 
  
    | 3066 |     var head_ = null;
 | 
  
    | 3067 |     var headTemp = null;
 | 
  
    | 3068 |     var i = 0;
 | 
  
    | 3069 |     var countData = results.length;
 | 
  
    | 3070 |     results = results.sort(MinovaUtil.SortBy("Sequence"))
 | 
  
    | 3071 |     Ext.each(results, function (rec) {
 | 
  
    | 3072 |         tblTemp = results[i].TableName;
 | 
  
    | 3073 |         headTemp = results[i].CVHeaderTitle;
 | 
  
    | 3074 | 
 | 
  
    | 3075 |         if (tbl != tblTemp) {
 | 
  
    | 3076 | 
 | 
  
    | 3077 |             tbl = tblTemp;
 | 
  
    | 3078 |             if (allTable == null) {
 | 
  
    | 3079 |                 allTable = tbl
 | 
  
    | 3080 |             } else {
 | 
  
    | 3081 |                 allTable = allTable + ',' + tbl
 | 
  
    | 3082 |             }
 | 
  
    | 3083 | 
 | 
  
    | 3084 |         }
 | 
  
    | 3085 | 
 | 
  
    | 3086 |         if (head_ != headTemp) {
 | 
  
    | 3087 | 
 | 
  
    | 3088 |             head_ = headTemp;
 | 
  
    | 3089 |             if (allHeader == null) {
 | 
  
    | 3090 |                 allHeader = head_
 | 
  
    | 3091 |             } else {
 | 
  
    | 3092 |                 allHeader = allHeader + ',' + head_
 | 
  
    | 3093 |             }
 | 
  
    | 3094 | 
 | 
  
    | 3095 |         }
 | 
  
    | 3096 | 
 | 
  
    | 3097 |         if (countData > i) {
 | 
  
    | 3098 |             i++
 | 
  
    | 3099 |         }
 | 
  
    | 3100 | 
 | 
  
    | 3101 |     });
 | 
  
    | 3102 | 
 | 
  
    | 3103 |     var splitHeader = allHeader.split(',')
 | 
  
    | 3104 |     var splitTable = allTable.split(',')
 | 
  
    | 3105 | 
 | 
  
    | 3106 |     splitHeader = splitHeader.filter(MinovaUtil.RemoveDuplicateArray);
 | 
  
    | 3107 |     splitTable = splitTable.filter(MinovaUtil.RemoveDuplicateArray);
 | 
  
    | 3108 | 
 | 
  
    | 3109 |     var panel_ = null;
 | 
  
    | 3110 |     // build form/grid
 | 
  
    | 3111 |     var contHeader = 0;
 | 
  
    | 3112 |     splitHeader.forEach(function (hd) {
 | 
  
    | 3113 |         //console.log(h)
 | 
  
    | 3114 |         panel_ = null;
 | 
  
    | 3115 |         panel_ = $.grep(results, function (r) {
 | 
  
    | 3116 |             return r.CVHeaderTitle == hd
 | 
  
    | 3117 |         });
 | 
  
    | 3118 |         panel_ = panel_.sort(MinovaUtil.SortBy("FieldSequence"))
 | 
  
    | 3119 |         //get layout type form/grid
 | 
  
    | 3120 |         var layout = panel_[0].CVLayout
 | 
  
    | 3121 |         var item_ = null
 | 
  
    | 3122 |         if (layout == 'Form') {
 | 
  
    | 3123 |             var _temtbl = null;
 | 
  
    | 3124 |             var dataValues = null;
 | 
  
    | 3125 |             Ext.each(panel_, function (rec) {
 | 
  
    | 3126 |                 var labelId = "label" + rec.TableName + rec.Field
 | 
  
    | 3127 |                 var labelValue = rec.ScreenCaption
 | 
  
    | 3128 |                 var valueId = "val" + rec.TableName + rec.Field
 | 
  
    | 3129 | 
 | 
  
    | 3130 |                 if (_temtbl == null) {
 | 
  
    | 3131 |                     _temtbl = rec.TableName;
 | 
  
    | 3132 |                     //alert(_temtbl)
 | 
  
    | 3133 |                     //get table values
 | 
  
    | 3134 |                     Ext.Ajax.request({
 | 
  
    | 3135 |                         async: false,
 | 
  
    | 3136 |                         method: 'POST',
 | 
  
    | 3137 |                         url: '/UserControl/GetStore',
 | 
  
    | 3138 |                         params: {
 | 
  
    | 3139 |                             tableName: rec.TableName,
 | 
  
    | 3140 |                             param: 'EmployeeID[=]' + emp
 | 
  
    | 3141 |                             // belum di cek start date dan enddate
 | 
  
    | 3142 |                         },
 | 
  
    | 3143 |                         success: function (response) {
 | 
  
    | 3144 |                             var results = Ext.decode(response.responseText);
 | 
  
    | 3145 |                             dataValues = results.data[0];
 | 
  
    | 3146 | 
 | 
  
    | 3147 |                         }
 | 
  
    | 3148 |                     });
 | 
  
    | 3149 |                 }
 | 
  
    | 3150 | 
 | 
  
    | 3151 |                 if (_temtbl != rec.TableName) {
 | 
  
    | 3152 | 
 | 
  
    | 3153 |                     //get table values
 | 
  
    | 3154 |                     Ext.Ajax.request({
 | 
  
    | 3155 |                         async: false,
 | 
  
    | 3156 |                         method: 'POST',
 | 
  
    | 3157 |                         url: '/UserControl/GetStore',
 | 
  
    | 3158 |                         params: {
 | 
  
    | 3159 |                             tableName: rec.TableName,
 | 
  
    | 3160 |                             param: 'EmployeeID[=]' + emp
 | 
  
    | 3161 | 
 | 
  
    | 3162 |                         },
 | 
  
    | 3163 |                         success: function (response) {
 | 
  
    | 3164 |                             var results = Ext.decode(response.responseText);
 | 
  
    | 3165 |                             dataValues = results.data[0];
 | 
  
    | 3166 |                             // console.log(dataValues)
 | 
  
    | 3167 | 
 | 
  
    | 3168 |                         }
 | 
  
    | 3169 |                     });
 | 
  
    | 3170 | 
 | 
  
    | 3171 |                 }
 | 
  
    | 3172 |                 var _field = null;
 | 
  
    | 3173 |                 var valueField = null;
 | 
  
    | 3174 |                 var TableRef = null;
 | 
  
    | 3175 |                 if (dataValues) {
 | 
  
    | 3176 |                     _field = 'dataValues.' + rec.Field;
 | 
  
    | 3177 |                     // case field with table ref
 | 
  
    | 3178 |                     //get table ref
 | 
  
    | 3179 | 
 | 
  
    | 3180 |                     Ext.Ajax.request({
 | 
  
    | 3181 |                         async: false,
 | 
  
    | 3182 |                         method: 'POST',
 | 
  
    | 3183 |                         url: '/UserControl/GetStore',
 | 
  
    | 3184 |                         params: {
 | 
  
    | 3185 |                             tableName: 'SDATATABLEFIELD',
 | 
  
    | 3186 |                             param: 'TableName[=]' + rec.TableName + ',' + 'FieldName[=]' + rec.Field
 | 
  
    | 3187 | 
 | 
  
    | 3188 |                         },
 | 
  
    | 3189 |                         success: function (response) {
 | 
  
    | 3190 |                             var results = Ext.decode(response.responseText);
 | 
  
    | 3191 |                             if (results.length > 0) {
 | 
  
    | 3192 |                                 TableRef = results.data[0].TableRef;
 | 
  
    | 3193 |                             }
 | 
  
    | 3194 | 
 | 
  
    | 3195 |                         }
 | 
  
    | 3196 |                     });
 | 
  
    | 3197 |                     if (TableRef != '' && TableRef != null) {
 | 
  
    | 3198 |                         //alert(TableRef);
 | 
  
    | 3199 |                         //get valuefield and displayfield tableref
 | 
  
    | 3200 |                         var data = null;
 | 
  
    | 3201 |                         Ext.Ajax.request({
 | 
  
    | 3202 |                             async: false,
 | 
  
    | 3203 |                             method: 'POST',
 | 
  
    | 3204 |                             url: '/UserControl/GetStore',
 | 
  
    | 3205 |                             params: {
 | 
  
    | 3206 |                                 tableName: 'SDATATABLEFIELD',
 | 
  
    | 3207 |                                 param: 'TableName[=]' + TableRef
 | 
  
    | 3208 | 
 | 
  
    | 3209 |                             },
 | 
  
    | 3210 |                             success: function (response) {
 | 
  
    | 3211 |                                 data = Ext.decode(response.responseText).data;
 | 
  
    | 3212 |                                 // data = data_.data[0];
 | 
  
    | 3213 |                             }
 | 
  
    | 3214 |                         });
 | 
  
    | 3215 |                         code = $.grep(data, function (r) {
 | 
  
    | 3216 |                             return r.ValueField == '1'
 | 
  
    | 3217 |                         });
 | 
  
    | 3218 |                         code = code[0].FieldName;
 | 
  
    | 3219 |                         desc = $.grep(data, function (r) {
 | 
  
    | 3220 |                             return r.DisplayValue == '1'
 | 
  
    | 3221 |                         });
 | 
  
    | 3222 |                         desc = desc[0].FieldName;
 | 
  
    | 3223 |                         //get value display
 | 
  
    | 3224 |                         if (code != '' && code != null) {
 | 
  
    | 3225 |                             Ext.Ajax.request({
 | 
  
    | 3226 |                                 async: false,
 | 
  
    | 3227 |                                 method: 'POST',
 | 
  
    | 3228 |                                 url: '/UserControl/GetStore',
 | 
  
    | 3229 |                                 params: {
 | 
  
    | 3230 |                                     tableName: TableRef,
 | 
  
    | 3231 |                                     param: code + '[=]' + eval(_field)
 | 
  
    | 3232 | 
 | 
  
    | 3233 |                                 },
 | 
  
    | 3234 |                                 success: function (response) {
 | 
  
    | 3235 |                                     var results = Ext.decode(response.responseText);
 | 
  
    | 3236 |                                     result = results.data[0];
 | 
  
    | 3237 |                                     field_ = "result." + desc;
 | 
  
    | 3238 |                                     valueField = eval(field_);
 | 
  
    | 3239 | 
 | 
  
    | 3240 |                                 }
 | 
  
    | 3241 |                             });
 | 
  
    | 3242 | 
 | 
  
    | 3243 |                         }
 | 
  
    | 3244 | 
 | 
  
    | 3245 |                     } else {
 | 
  
    | 3246 |                         valueField = eval(_field);
 | 
  
    | 3247 |                     }
 | 
  
    | 3248 | 
 | 
  
    | 3249 |                 }
 | 
  
    | 3250 | 
 | 
  
    | 3251 |                 if (item_ == null) {
 | 
  
    | 3252 | 
 | 
  
    | 3253 |                     item_ = "<div class='col-md-6'> <div class='form-group'>"
 | 
  
    | 3254 |                          + "<label class='control-label col-md-4 ' id=" + labelId + ">"
 | 
  
    | 3255 |                          + labelValue + "</label> <div class='col-md-8' id=" + valueId + "> "
 | 
  
    | 3256 |                          + valueField + " </div> </div> </div>"
 | 
  
    | 3257 |                 } else {
 | 
  
    | 3258 | 
 | 
  
    | 3259 |                     item_ = item_ + "<div class='col-md-6'> <div class='form-group'>"
 | 
  
    | 3260 |                          + "<label class='control-label col-md-4 ' id=" + labelId + ">"
 | 
  
    | 3261 |                          + labelValue + "</label> <div class='col-md-8' id=" + valueId + "> "
 | 
  
    | 3262 |                          + valueField + " </div> </div> </div>"
 | 
  
    | 3263 |                 }
 | 
  
    | 3264 | 
 | 
  
    | 3265 |             });
 | 
  
    | 3266 |             if (contHeader == 0) {
 | 
  
    | 3267 | 
 | 
  
    | 3268 |                 $("#formMD").append(" <h3 class='form-section'>" + hd + "</h3>");
 | 
  
    | 3269 |                 $("#formMD").append("<div class='row' id='TableName_Content'> " + item_ + " </div>");
 | 
  
    | 3270 | 
 | 
  
    | 3271 |             } else {
 | 
  
    | 3272 |                 $("#" + divid).append(" <h3 class='form-section'>" + hd + "</h3>");
 | 
  
    | 3273 |                 $("#" + divid).append("<div class='row' id='TableName_Content'> " + item_ + " </div>");
 | 
  
    | 3274 |             }
 | 
  
    | 3275 |             contHeader++;
 | 
  
    | 3276 | 
 | 
  
    | 3277 |         } else {
 | 
  
    | 3278 |             var gridPanel = null;
 | 
  
    | 3279 |             var header = "";
 | 
  
    | 3280 |             var ThThead = "";
 | 
  
    | 3281 |             var tr = "";
 | 
  
    | 3282 |             var td = "";
 | 
  
    | 3283 |             var tdLabel = "";
 | 
  
    | 3284 |             var tableName = panel_[0].TableName;
 | 
  
    | 3285 |             var allGridCol = null;
 | 
  
    | 3286 |             dtEmp = null;
 | 
  
    | 3287 |             Ext.Ajax.request({
 | 
  
    | 3288 |                 async: false,
 | 
  
    | 3289 |                 method: 'POST',
 | 
  
    | 3290 |                 url: '/UserControl/GetStore',
 | 
  
    | 3291 |                 params: {
 | 
  
    | 3292 |                     tableName: tableName,
 | 
  
    | 3293 |                     param: 'EmployeeID[equal]' + emp
 | 
  
    | 3294 |                 },
 | 
  
    | 3295 |                 success: function (response) {
 | 
  
    | 3296 |                     var results = Ext.decode(response.responseText);
 | 
  
    | 3297 |                     dtEmp = results.data;
 | 
  
    | 3298 |                     //  console.log(tableName);
 | 
  
    | 3299 |                     //  console.log(dtEmp)
 | 
  
    | 3300 | 
 | 
  
    | 3301 |                 }
 | 
  
    | 3302 |             });
 | 
  
    | 3303 |             // get structure
 | 
  
    | 3304 |             var structure = null
 | 
  
    | 3305 |             Ext.Ajax.request({
 | 
  
    | 3306 |                 async: false,
 | 
  
    | 3307 |                 method: 'POST',
 | 
  
    | 3308 |                 url: '/UserControl/GetStore',
 | 
  
    | 3309 |                 params: {
 | 
  
    | 3310 |                     tableName: 'SDATATABLEFIELD',
 | 
  
    | 3311 |                     param: 'TableName[equal]' + tableName
 | 
  
    | 3312 |                 },
 | 
  
    | 3313 |                 success: function (response) {
 | 
  
    | 3314 |                     var results = Ext.decode(response.responseText);
 | 
  
    | 3315 |                     structure = results.data;
 | 
  
    | 3316 |                     //  console.log(tableName);
 | 
  
    | 3317 |                     //  console.log(dtEmp)
 | 
  
    | 3318 | 
 | 
  
    | 3319 |                 }
 | 
  
    | 3320 |             });
 | 
  
    | 3321 |             Ext.each(panel_, function (rec) {
 | 
  
    | 3322 |                 header = rec.HeaderTitle;
 | 
  
    | 3323 |                 if (allGridCol == null) {
 | 
  
    | 3324 |                     allGridCol = header
 | 
  
    | 3325 |                 } else {
 | 
  
    | 3326 |                     allGridCol = allGridCol + ',' + header
 | 
  
    | 3327 |                 }
 | 
  
    | 3328 |                 ThThead = ThThead + "<th>" + header + "</th>";
 | 
  
    | 3329 |             });
 | 
  
    | 3330 |             //var splitallGridCol = allGridCol.split(',')
 | 
  
    | 3331 |             var Thead = "<thead>" + ThThead + "</thead>";
 | 
  
    | 3332 |             // get data by tableName and emp id
 | 
  
    | 3333 | 
 | 
  
    | 3334 |             for (var a = 0; a < dtEmp.length; a++) { //length data will be populate, create row coloumn
 | 
  
    | 3335 |                 //console.log(panel_)
 | 
  
    | 3336 |                 for (var b = 0; b < panel_.length; b++) { //length header
 | 
  
    | 3337 |                     // tdLabel = b;
 | 
  
    | 3338 | 
 | 
  
    | 3339 |                     haed_ = panel_[b].Field;
 | 
  
    | 3340 |                     _tdLabel = 'dtEmp[' + a + '].' + haed_;
 | 
  
    | 3341 |                     tdLabel = eval(_tdLabel);
 | 
  
    | 3342 |                     //structure_ = structure[b].haed_
 | 
  
    | 3343 |                     structure_ = $.grep(structure, function (r) {
 | 
  
    | 3344 |                         return r.FieldName == haed_
 | 
  
    | 3345 |                     });
 | 
  
    | 3346 | 
 | 
  
    | 3347 |                     var hasil = MinovaUtil.FieldGenerator.GetValueHtml(structure_, tdLabel);
 | 
  
    | 3348 | 
 | 
  
    | 3349 |                     td = td + "<td>" + hasil + "</td>";
 | 
  
    | 3350 | 
 | 
  
    | 3351 |                 }
 | 
  
    | 3352 |                 tr = tr + "<tr>" + td + "</tr>";
 | 
  
    | 3353 |                 td = "";
 | 
  
    | 3354 |             }
 | 
  
    | 3355 | 
 | 
  
    | 3356 |             var Tbody = "<tbody>" + tr + "</tbody>";
 | 
  
    | 3357 |             //var tbl = rec.tableName + "Table";
 | 
  
    | 3358 |             var tbl = "Table";
 | 
  
    | 3359 |             gridPanel = "<div class='row' id=" + tbl + ">" +
 | 
  
    | 3360 |                 "<div class='col-md-10'>" +
 | 
  
    | 3361 |                 "<h3 class='form-section'>" + hd + "</h3>" +
 | 
  
    | 3362 |                 "<div class='portlet-body'>" +
 | 
  
    | 3363 |                 "<div class='table-scrollable'>" +
 | 
  
    | 3364 |                 "<table class='table table-bordered table-hover'>" +
 | 
  
    | 3365 |                 Thead +
 | 
  
    | 3366 |                 Tbody
 | 
  
    | 3367 |             "</table>" +
 | 
  
    | 3368 |             "</div>" +
 | 
  
    | 3369 |             "</div>" +
 | 
  
    | 3370 |             "</div>" +
 | 
  
    | 3371 |             "</div>";
 | 
  
    | 3372 |             $("#" + divid).append(gridPanel);
 | 
  
    | 3373 |         }
 | 
  
    | 3374 | 
 | 
  
    | 3375 |     });
 | 
  
    | 3376 | 
 | 
  
    | 3377 |     //set values for/grid
 | 
  
    | 3378 |     splitTable.forEach(function (tb) {
 | 
  
    | 3379 |         // alert(tb)
 | 
  
    | 3380 |     });
 | 
  
    | 3381 | }
 | 
  
    | 3382 | 
 | 
  
    | 3383 | MinovaUtil.FieldGenerator.GetValueHtml = function (structure, oldVlaue) {
 | 
  
    | 3384 |     var hasil = null;
 | 
  
    | 3385 |     switch (structure_[0].FormatRef) {
 | 
  
    | 3386 |         case "date":
 | 
  
    | 3387 |             d = oldVlaue.substring(6, 8);
 | 
  
    | 3388 |             m = oldVlaue.substring(4, 6);
 | 
  
    | 3389 |             y = oldVlaue.substring(0, 4);
 | 
  
    | 3390 |             hasil = d + '/' + m + '/' + y;
 | 
  
    | 3391 |             break;
 | 
  
    | 3392 | 
 | 
  
    | 3393 |         case "datetime":
 | 
  
    | 3394 |             var d = oldVlaue.substring(6, 8);
 | 
  
    | 3395 |             var m = oldVlaue.substring(4, 6);
 | 
  
    | 3396 |             var y = oldVlaue.substring(0, 4);
 | 
  
    | 3397 |             var h = oldVlaue.substring(8, 10);
 | 
  
    | 3398 |             var mt = oldVlaue.substring(10, 12);
 | 
  
    | 3399 |             var s = oldVlaue.substring(12, 14);
 | 
  
    | 3400 |             hasil = d + '/' + m + '/' + y + '  ' + '  ' + h + ':' + mt + ':' + s;
 | 
  
    | 3401 |             break;
 | 
  
    | 3402 | 
 | 
  
    | 3403 |         default:
 | 
  
    | 3404 |             if (structure_[0].SearchType != '') {
 | 
  
    | 3405 |                 if (structure_[0].TableRef != '') {
 | 
  
    | 3406 |                     Ext.Ajax.request({
 | 
  
    | 3407 |                         async: false,
 | 
  
    | 3408 |                         method: 'POST',
 | 
  
    | 3409 |                         url: '/UserControl/GetStore',
 | 
  
    | 3410 |                         params: {
 | 
  
    | 3411 |                             tableName: 'SDATATABLEFIELD',
 | 
  
    | 3412 |                             param: 'TableName[equal]' + structure_[0].TableRef
 | 
  
    | 3413 |                         },
 | 
  
    | 3414 |                         success: function (response) {
 | 
  
    | 3415 |                             var results = Ext.decode(response.responseText);
 | 
  
    | 3416 |                             data_ = results.data;
 | 
  
    | 3417 |                             code = $.grep(data_, function (r) {
 | 
  
    | 3418 |                                 return r.ValueField == '1'
 | 
  
    | 3419 |                             });
 | 
  
    | 3420 |                             desc = $.grep(data_, function (r) {
 | 
  
    | 3421 |                                 return r.DisplayValue == '1'
 | 
  
    | 3422 |                             });
 | 
  
    | 3423 |                             code_ = code[0].FieldName;
 | 
  
    | 3424 |                             desc_ = desc[0].FieldName;
 | 
  
    | 3425 | 
 | 
  
    | 3426 |                             if (code) {
 | 
  
    | 3427 |                                 Ext.Ajax.request({
 | 
  
    | 3428 |                                     async: false,
 | 
  
    | 3429 |                                     method: 'POST',
 | 
  
    | 3430 |                                     url: '/UserControl/GetStore',
 | 
  
    | 3431 |                                     params: {
 | 
  
    | 3432 |                                         tableName: structure_[0].TableRef,
 | 
  
    | 3433 |                                         param: code_ + '[equal]' + oldVlaue
 | 
  
    | 3434 |                                     },
 | 
  
    | 3435 |                                     success: function (response) {
 | 
  
    | 3436 |                                         var results = Ext.decode(response.responseText);
 | 
  
    | 3437 |                                         var val = results.data[0];
 | 
  
    | 3438 |                                         _val = 'val.' + desc_;
 | 
  
    | 3439 |                                         hasil = eval(_val)
 | 
  
    | 3440 |                                     }
 | 
  
    | 3441 |                                 });
 | 
  
    | 3442 |                             }
 | 
  
    | 3443 | 
 | 
  
    | 3444 |                         }
 | 
  
    | 3445 |                     });
 | 
  
    | 3446 |                 }
 | 
  
    | 3447 |             } else {
 | 
  
    | 3448 |                 hasil = oldVlaue;
 | 
  
    | 3449 |             }
 | 
  
    | 3450 | 
 | 
  
    | 3451 |             break
 | 
  
    | 3452 | 
 | 
  
    | 3453 |     }
 | 
  
    | 3454 |     return hasil;
 | 
  
    | 3455 | }
 | 
  
    | 3456 | 
 | 
  
    | 3457 | MinovaUtil.FieldGenerator.BuildHTMLFormView = function (menuid, tableName) {
 | 
  
    | 3458 |     var param = '';
 | 
  
    | 3459 |     var LangID = '';
 | 
  
    | 3460 |     var dataSet = 'PDSBS0007';
 | 
  
    | 3461 |     if (menuid != '') {
 | 
  
    | 3462 |         param = 'MenuID[=]' + menuid + ',LangId[=]' + LangID;
 | 
  
    | 3463 |         dataSet = 'PDSBS0009';
 | 
  
    | 3464 |     } else {
 | 
  
    | 3465 |         param = "LangID='" + LangID + "',TableName='" + tableName
 | 
  
    | 3466 |     }
 | 
  
    | 3467 | 
 | 
  
    | 3468 |     // get data field structure
 | 
  
    | 3469 |     var structure = undefined;
 | 
  
    | 3470 |     Ext.Ajax.request({
 | 
  
    | 3471 |         async: false,
 | 
  
    | 3472 |         method: 'POST',
 | 
  
    | 3473 |         url: '/UserControl/GetStore',
 | 
  
    | 3474 |         params: {
 | 
  
    | 3475 |             tableName: dataSet,
 | 
  
    | 3476 |             param: param
 | 
  
    | 3477 |         },
 | 
  
    | 3478 |         success: function (response) {
 | 
  
    | 3479 |             structure = Ext.decode(response.responseText).data;
 | 
  
    | 3480 | 
 | 
  
    | 3481 |         }
 | 
  
    | 3482 |     });
 | 
  
    | 3483 | 
 | 
  
    | 3484 |     //create html component
 | 
  
    | 3485 |     var col = '1';
 | 
  
    | 3486 |     var index1 = 0;
 | 
  
    | 3487 |     var index2 = 0;
 | 
  
    | 3488 |     var jmlhData = structure.length;
 | 
  
    | 3489 |     var jmlCol1 = 0;
 | 
  
    | 3490 |     var jmlCol2 = 0;
 | 
  
    | 3491 |     var dataCol1 = null;
 | 
  
    | 3492 |     var dataCol2 = null;
 | 
  
    | 3493 |     var countCol1 = 0;
 | 
  
    | 3494 |     var countCol2 = 0;
 | 
  
    | 3495 |     if (dataSet == 'PDSBS0009') {
 | 
  
    | 3496 |         dataCol1 = $.grep(structure, function (r) {
 | 
  
    | 3497 |             return r.Column == '1'
 | 
  
    | 3498 |         });
 | 
  
    | 3499 |         jmlCol1 = dataCol1.length;
 | 
  
    | 3500 |         dataCol2 = $.grep(structure, function (r) {
 | 
  
    | 3501 |             return r.Column == '2'
 | 
  
    | 3502 |         });
 | 
  
    | 3503 |         jmlCol2 = dataCol2.length;
 | 
  
    | 3504 |     } else {
 | 
  
    | 3505 |         dataCol1 = $.grep(structure, function (r) {
 | 
  
    | 3506 |             return r.ColumnNo == '1'
 | 
  
    | 3507 |         });
 | 
  
    | 3508 |         jmlCol1 = dataCol1.length;
 | 
  
    | 3509 |         dataCol2 = $.grep(structure, function (r) {
 | 
  
    | 3510 |             return r.ColumnNo == '2'
 | 
  
    | 3511 |         });
 | 
  
    | 3512 |         jmlCol2 = dataCol2.length;
 | 
  
    | 3513 |     }
 | 
  
    | 3514 | 
 | 
  
    | 3515 |     var item_ = null;
 | 
  
    | 3516 |     for (i = 0; i < jmlhData; i++) {
 | 
  
    | 3517 |         if (i == 0) {
 | 
  
    | 3518 |             var dt = dataCol1[countCol1];
 | 
  
    | 3519 |             var dt = dataCol1[countCol1];
 | 
  
    | 3520 |             var labelId = dt.FieldName + 'id';
 | 
  
    | 3521 |             var labelValue = dt.ScreenCaption;
 | 
  
    | 3522 |             var valueId = dt.FieldName;
 | 
  
    | 3523 |             var valueField = '';
 | 
  
    | 3524 |             item_ = "<div class='col-md-6'> <div class='form-group'>"
 | 
  
    | 3525 | 				 + "<label class='control-label col-md-4 ' id=" + labelId + ">"
 | 
  
    | 3526 | 				 + labelValue + "</label> <div class='col-md-8' id=" + valueId + "> "
 | 
  
    | 3527 | 				 + valueField + " </div> </div> </div>";
 | 
  
    | 3528 | 
 | 
  
    | 3529 |             countCol1++;
 | 
  
    | 3530 |             col = '2';
 | 
  
    | 3531 |         } else {
 | 
  
    | 3532 |             if (col == '1' && countCol1 < jmlCol1) {
 | 
  
    | 3533 |                 var dt = dataCol1[countCol1];
 | 
  
    | 3534 |                 var labelId = dt.FieldName + 'id';
 | 
  
    | 3535 |                 var labelValue = dt.ScreenCaption;
 | 
  
    | 3536 |                 var valueId = dt.FieldName;
 | 
  
    | 3537 |                 var valueField = '';
 | 
  
    | 3538 | 
 | 
  
    | 3539 |                 item_ = "<div class='col-md-6'> <div class='form-group'>"
 | 
  
    | 3540 | 					 + "<label class='control-label col-md-4 ' id=" + labelId + ">"
 | 
  
    | 3541 | 					 + labelValue + "</label> <div class='col-md-8' id=" + valueId + "> "
 | 
  
    | 3542 | 					 + valueField + " </div> </div> </div>";
 | 
  
    | 3543 | 
 | 
  
    | 3544 |                 countCol1++;
 | 
  
    | 3545 |                 col = '2';
 | 
  
    | 3546 |             } else if (col == '2' && countCol2 < jmlCol2) {
 | 
  
    | 3547 |                 var dt = dataCol2[countCol2];
 | 
  
    | 3548 |                 var dt = dataCol1[countCol1];
 | 
  
    | 3549 |                 var labelId = dt.FieldName + 'id';
 | 
  
    | 3550 |                 var labelValue = dt.ScreenCaption;
 | 
  
    | 3551 |                 var valueId = dt.FieldName;
 | 
  
    | 3552 |                 var valueField = '';
 | 
  
    | 3553 |                 item_ = "<div class='col-md-6'> <div class='form-group'>"
 | 
  
    | 3554 | 					 + "<label class='control-label col-md-4 ' id=" + labelId + ">"
 | 
  
    | 3555 | 					 + labelValue + "</label> <div class='col-md-8' id=" + valueId + "> "
 | 
  
    | 3556 | 					 + valueField + " </div> </div> </div>";
 | 
  
    | 3557 | 
 | 
  
    | 3558 |                 countCol2++;
 | 
  
    | 3559 |                 col = '1';
 | 
  
    | 3560 |             } else {
 | 
  
    | 3561 |                 // create empety field
 | 
  
    | 3562 |                 var labelId = 'EmpetyID';
 | 
  
    | 3563 |                 var labelValue = '';
 | 
  
    | 3564 |                 var valueId = 'EmpetyField';
 | 
  
    | 3565 |                 var valueField = '';
 | 
  
    | 3566 |                 item_ = "<div class='col-md-6'> <div class='form-group'>"
 | 
  
    | 3567 | 					 + "<label class='control-label col-md-4 ' id=" + labelId + ">"
 | 
  
    | 3568 | 					 + labelValue + "</label> <div class='col-md-8' id=" + valueId + "> "
 | 
  
    | 3569 | 					 + valueField + " </div> </div> </div>";
 | 
  
    | 3570 |                 //change base value
 | 
  
    | 3571 |                 if (col == '1') {
 | 
  
    | 3572 |                     col = '2';
 | 
  
    | 3573 |                     countCol1++;
 | 
  
    | 3574 |                 } else {
 | 
  
    | 3575 |                     col = '1';
 | 
  
    | 3576 |                     countCol2++
 | 
  
    | 3577 |                 }
 | 
  
    | 3578 |             }
 | 
  
    | 3579 |         }
 | 
  
    | 3580 |         // add to form
 | 
  
    | 3581 |         if (dataSet == 'PDSBS0009') { //
 | 
  
    | 3582 |             $("#formHeaderMD").append("<div class='row' id='TableName_Content'> " + item_ + " </div>");
 | 
  
    | 3583 |         } else {
 | 
  
    | 3584 |             $("#formViewMD").append("<div class='row' id='TableName_Content'> " + item_ + " </div>");
 | 
  
    | 3585 |         }
 | 
  
    | 3586 |     }
 | 
  
    | 3587 | 
 | 
  
    | 3588 | }
 | 
  
    | 3589 | 
 | 
  
    | 3590 | /*Fungsi untuk Report Generator	*/
 | 
  
    | 3591 | MinovaUtil.FieldGenerator.ReportGenerator = function (tableName, store, filter, divid) {
 | 
  
    | 3592 |     Ext.create('MinovaUtil.MinovaES.MinovaRptGeneratorGrid', {
 | 
  
    | 3593 |         renderTo: divid,
 | 
  
    | 3594 |         name: 'result' + tableName,
 | 
  
    | 3595 |         storeOutput: store,
 | 
  
    | 3596 |         storeName: 'store' + tableName,
 | 
  
    | 3597 |         filter: filter,
 | 
  
    | 3598 |         tableName: tableName,
 | 
  
    | 3599 |         pagesize: 25,
 | 
  
    | 3600 |         autoLoad: true,
 | 
  
    | 3601 |         height: 400,
 | 
  
    | 3602 |         tbar: [{
 | 
  
    | 3603 |             xtype: 'button',
 | 
  
    | 3604 |             text: 'Action',
 | 
  
    | 3605 |             name: 'actionBtn',
 | 
  
    | 3606 |             menu: [{
 | 
  
    | 3607 |                 text: 'Save',
 | 
  
    | 3608 |                 name: 'Save',
 | 
  
    | 3609 |                 action: 'Save',
 | 
  
    | 3610 |                 style: 'font-family: FontAwesome',
 | 
  
    | 3611 |                 iconCls: 'fa-plus-circle',
 | 
  
    | 3612 |             }, {
 | 
  
    | 3613 |                 text: 'Export Table',
 | 
  
    | 3614 |                 name: 'ExportTable',
 | 
  
    | 3615 |                 action: 'ExportTable',
 | 
  
    | 3616 |                 style: 'font-family: FontAwesome',
 | 
  
    | 3617 |                 iconCls: 'fa-file-excel-o',
 | 
  
    | 3618 |             }
 | 
  
    | 3619 |             ],
 | 
  
    | 3620 |             layout: {
 | 
  
    | 3621 |                 type: 'vbox',
 | 
  
    | 3622 |                 align: 'stretch',
 | 
  
    | 3623 |                 padding: 5
 | 
  
    | 3624 |             }
 | 
  
    | 3625 |         }, {
 | 
  
    | 3626 |             xtype: 'displayfield',
 | 
  
    | 3627 |             value: (Ext.Date.format(new Date(), 'd/m/Y g:i a')),
 | 
  
    | 3628 |             id: 'cur_date',
 | 
  
    | 3629 |             margin: '0 0 0 810'
 | 
  
    | 3630 |         }
 | 
  
    | 3631 |         ],
 | 
  
    | 3632 |         dockedItems: [{
 | 
  
    | 3633 |             xtype: 'pagingtoolbar',
 | 
  
    | 3634 |             store: 'store' + tableName,
 | 
  
    | 3635 |             dock: 'bottom',
 | 
  
    | 3636 |             pageSize: 25,
 | 
  
    | 3637 |             displayInfo: true
 | 
  
    | 3638 |         }
 | 
  
    | 3639 |         ]
 | 
  
    | 3640 |     });
 | 
  
    | 3641 | }
 |