!function(t){t.su=t.su||{},t.su.Model=function(){var e=function(e){e=t.extend(!0,{fields:null,feedback:!0,validator:null,convert:null,serialize:null,params:{read:{},update:{},create:{},remove:{}}},e);var a=this;if(this.name=e.name,this._name=e.name,this.feedback=e.feedback,this.fields=e.fields,this.validator=e.validator,this.data=[],this.convert=e.convert,this.serialize=e.serialize,this.params=e.params,t.su.Observable.call(this),e.proxy){if(e.proxy.isProxy)this.proxy=e.proxy;else{var i=t.extend(!0,{triggerEvent:!0},e.proxy);this.proxy=new t.su.Proxy(i)}this.proxy.addListener("ev_load",function(t,e){a.loadData(e,!0),a.record()})}r.call(this)};t.su.inherit(t.su.Observable,e);var r=function(){for(var e=this,r=0,a=this.fields.length;r=t?this.data[i].name:null},e.prototype.getSize=function(t){return this.fields.length},e}()}(jQuery),function(t){t.su.Model.DataField=function(){var e=function(e){t.su.Observable.call(this);var e=t.extend({name:"",mapping:null,defaultValue:null,disabled:!1,readOnly:!1,autoTrim:!1,valueType:null,valid:!0,validated:!1,isDetect:!0,format:null,allowBlank:!0,blankText:t.su.CHAR.VALIDATION.FIELD_REQUIRED,vtype:null,vtypeText:null,validator:null,maxLength:-1,minLength:-1},e),r=this;this.name=e.name,this.mapping=e.mapping||this.name,this.convert=e.convert||null,this.serialize=e.serialize||null,this.valueType=e.valueType,this.allowBlank=e.allowBlank,this.blankText=e.blankText,this.disabled=e.disabled,this.valid=e.valid,this._realValid=e.valid,this.maxLength=e.maxLength,this.minLength=e.minLength;if(this.vtype=t.isArray(e.vtype)?e.vtype:[e.vtype],e.vtypeText){var a=this.vtype[0];this.vtype[0]={vtype:a,vtypeText:e.vtypeText}}if(e.validator){if(!t.isFunction(e.validator))throw new Error("Error in DataField: validator must be a function.");this.validator=e.validator}if(this._value=this._formatType(e.defaultValue),this._valueBackup=this._formatType(e.defaultValue),e.set&&(this.set=function(){var t=Array.prototype.slice.call(arguments,0,this.mapping.length);this.val(e.set.apply(this,t))}),e.get){if(!t.isFunction(e.get))throw new Error("Error in DataField: options.get must be a function, if options.get has been defined and mapping is a string.");this.get=function(){var t={};return t[r.mapping]=e.get.call(r,r._value),t}}};return t.su.inherit(t.su.Observable,e),e.prototype.val=function(t){return void 0!==t&&t!==this._value&&(this._value=this._formatType(t)),this._value},e.prototype._formatType=function(t){if(null===t||void 0===t||""===t)return t;if("number"===this.valueType){var e=parseFloat(t,10);return isNaN(e)?t:parseFloat(t,10)}return"string"===this.valueType?t.toString():"boolean"===this.valueType?"true"===t||"number"==typeof t&&t>0||"string"==typeof t&&parseInt(t)>0||"false"!==t&&0!==t&&"0"!==t&&t:t},e.prototype.setVtype=function(e){this.vtype=t.isArray(e)?e:[e]},e.prototype.setValue=function(t){this._set("_value",{oldValue:this.getValue(),value:t})},e.prototype.getValue=function(){return this._value},e.prototype.getData=function(){var t={};return t[this.mapping]=this._value,t},e.prototype.record=function(){return this._valueBackup=this._value,this},e.prototype.isDirty=function(){return this._value!==this._valueBackup},e.prototype.reset=function(){this.setValue(this._valueBackup)},e.prototype.lengthCheck=function(){if("string"==typeof this._value){if(-1!=this.minLength&&this._value.lengththis.maxLength)return!1}return!0},e.prototype.vtypeCheck=function(){var e=this.vtype,r=!0;if(!e)return!0;e=t.isArray(e)?e:[e];var a=t.su.serviceManager.get("vtype");for(i=0,len=e.length;i-1:e&&e.length)||e.push(r)},s=function(t,e,r){for(var a=t.length,i=0;i');t("body").append(n);var l=t("#"+e.fileId+"_form").attr("target",o).attr("action",this.ajax.url);if(e.data){this.fieldset=t("
");for(var h in e.data)e.data.hasOwnProperty(h)&&this.fieldset.append('');l.append(this.fieldset)}n.on("load",function(){var t,o,l=n.get(0),h={},u=l.contentWindow.document||l.contentDocument||window.frames[l.id].document;u.body&&((contentNode=u.body.firstChild)&&/pre/i.test(contentNode.tagName)?h.responseText=contentNode.textContent:(contentNode=u.getElementsByTagName("textarea")[0])?h.responseText=contentNode.value:h.responseText=u.body.textContent||u.body.innerText),h.responseXML=u.XMLDocument||u,t=h.responseText&&JSON.parse(h.responseText),o=a.root?t[a.root]:t,t=s.call(a,r,t);var d=a.successJudge(t,e);!0===d?!!e.success&&e.success(o||h.responseXML):(s.call(a,i,t),!!e.fail&&e.fail(d,o||h.responseXML)),n.remove(),a.fieldset&&(a.fieldset.remove(),a.fieldset=void 0)}),l.submit()},n.prototype.request=function(e,o,n,l){var h,u=this,d=t.extend({},this.ajax,e);return d.data=s.call(this,a,e.data||{},d),"application/json"!==d.contentType||t.isEmptyObject(d.data)||(d.data=JSON.stringify(d.data)),t.ajax(d).done(function(t,e,a){t=s.call(this,r,t),h=u.successJudge(t,d),!0===h?!!o&&o(t,e,a):(s.call(this,i,t),!!n&&n(t,h,e,a))}).fail(function(t,e){!!l&&l(t,e)})},n}()}(jQuery),function(t){t.su.Proxy=function(){var e={ajax:{url:null},params:{create:{},update:{},read:{},remove:{}},successJudge:function(e){if("object"===t.type(e))return void 0===e.success||e.success},readFilter:function(t){return t},writeFilter:function(t){return t},operation:"multi",success:function(){},fail:function(){},error:function(){}},r="data",a=function(t){return this.root?t[this.root]:t},i=function(e,r){var a=r.ajax&&r.ajax.url||this.options.ajax.url,i=t.extend(!0,{},this.options.params[e],r.params),o="";if(!0===/\?/.test(a)){var s=function(t){var e=t.split("?"),r=e[1].split("&"),a={};if(!r||r&&""===r[0])return{};for(var i=0,o=r.length;i0&&this.loadData(e.data,!0),!0===this.autoLoad&&this.load(),t(this).on("ev_datachanged",function(t,e,r){this.isSorted=!1})},t.su.Store.prototype.getSize=function(){return this.data.length},t.su.Store.prototype.getProxy=function(){return this.proxy},t.su.Store.prototype.storeConvert=function(e){this.data.length>0&&this.removeAllData(),this.data=[],this.dataMap={},null!==this.convert&&(e=this.convert(e)),e||(e=[]),t.isArray(e)||(e=[e]);for(var r in e)if(e.hasOwnProperty(r)){var a=this.createModel();e[r][this.keyProperty]||(e[r][this.keyProperty]=t.su.randomId("key"));var i=e[r][this.keyProperty];e[r]=a.modelConvert(e[r]),this.data.push(a),this.dataMap[i]=a}return e},t.su.Store.prototype.storeSerialize=function(e){e||(e=[]),t.isArray(e)||(e=[e]),null!==this.serialize&&(e=this.serialize(e));for(var r in e)if(e.hasOwnProperty(r)){var a=e[r][this.keyProperty],i=this.dataMap[a];i||(i=this.createModel()),e[r]=i.modelSerialize(e[r])}return e},t.su.Store.prototype.loadData=function(e,r,a,i){r?e=this.storeConvert(e):(this.data=[],this.dataMap={}),this.filter({filters:[]}),this.filterBackupData=e;for(var o in e)if(e.hasOwnProperty(o)){var s,n=e[o][this.keyProperty];n&&this.dataMap[n]?s=this.dataMap[n]:(s=this.createModel(),n||(n=e[o][this.keyProperty]=t.su.randomId("key")),this.data.push(s),this.dataMap[n]=s),s.loadData(e[o])}return this.record(),this.trigger("ev_loaded"),this.snapshot=null,delete this.snapshot,this.snapshot=t.su.clone(this.getStoreData()),i&&i.call(this,e),this},t.su.Store.prototype.refreshData=function(e){var r=function(e,a,i){var o,s=!!a.hasOwnProperty(i);for(var n in e)if(e.hasOwnProperty(n)&&(n!==i||s)){o=!1;for(var l in a)a.hasOwnProperty(l)&&(n===l&&e[n]===a[l]?o=!0:"array"===t.type(e[n])&&"array"===t.type(a[l])?o=e[n].join(",")===a[l].join(","):"object"===t.type(e[n])&&"object"===t.type(a[l])&&(o=r(e[n],a[l])));if(!1===o)break}return o};if(0===this.data.length)this.loadData(e,!0);else{e=function(e,r){null!==e.convert&&(r=e.convert(r)),r||(r=[]),t.isArray(r)||(r=[r]);var a=e.createModel();for(var i in r)r.hasOwnProperty(i)&&(r[i]=a.modelConvert(r[i]));return r}(this,e);var a,i,o,s,n,l,h=e.length;for(a=0;ae.length){var d=[];for(a=e.length;a0&&(e=this.runFilter(t.su.clone(e))),this.data=[],this.dataMap={};for(var r in e)if(e.hasOwnProperty(r)){var a,i=e[r][this.keyProperty];i&&this.dataMap[i]?a=this.dataMap[i]:(a=this.createModel(),i||(i=e[r][this.keyProperty]=t.su.randomId("key")),this.data.push(a),this.dataMap[i]=a),a.loadData(e[r])}return this.record(),this.trigger("ev_loaded"),this.snapshot=null,delete this.snapshot,this.snapshot=t.su.clone(this.getStoreData()),this},t.su.Store.prototype.filter=function(e){var r=e.filters,a=e.append,i=e.columns;if(this.rendererMap={},!r||0===r.length)return void(this.filters.length>0&&(this.filters=[],this.loadData(this.filterBackupData)));r=t.isArray(r)?r:[r],a?this.filters.concat(r):this.filters=r;for(var o=0,s=i.length;o=0;i--){var o=e(r,t[i][r],t[i]);if(void 0===o){var s=!1;for(var n in t[i])if(t[i].hasOwnProperty(n)){var l=e(n,t[i][n],t[i]);if(l&&-1!==l.search(new RegExp(a,"i"))){s=!0;break}}!1===s&&t.splice(i,1)}else-1===o.toString().search(new RegExp(a,"i"))&&t.splice(i,1)}}(o.column,o.value);else if(o.func)for(var s=t.length-1;s>=0;s--)o.func(t[s])||t.splice(s,1)}return t},t.su.Store.prototype.record=function(){for(var t=0,e=this.data.length;t=0;s--){var n=e[s];isNaN(n)||(o.push(i[n][a]),i.splice(e[s],1))}return r&&r.call(this,o,e),this.trigger("ev_removedata",[o,e]),this.trigger("ev_datachanged",[this,this.getStoreData,"removeData"]),this},t.su.Store.prototype.removeAllData=function(t){return this.data=null,delete this.data,this.data=[],this.trigger("ev_removeAllData",[this]),this.trigger("ev_datachanged",[this,this.data,"removeData"]),this},t.su.Store.prototype.getStoreData=function(){return this.getData()},t.su.Store.prototype.getSelectedStoreData=function(){var t,e=[];for(t=0;t