Example #1
0
File: form.js Project: dxq613/bui-1
if(r.valid(),r.isValid()){if(0==r.onBeforeSubmit())return;i===t.NORMAL?r.get("el")[0].submit():i===t.AJAX&&r.ajaxSubmit(e)}else r.focusError()},ajaxSubmit:function(t){var r,i=this,n=i.get("method"),a=i.get("action"),o=i.get("callback"),l=i.get("submitMask"),u=i.serializeToObject(),s=e.merge(!0,{url:a,type:n,dataType:"json",data:u},t);t&&t.success&&(r=t.success),s.success=function(e){l&&l.hide&&l.hide(),r&&r(e),o&&o.call(i,e)},l&&l.show&&l.show(),$.ajax(s)},_initSubmitMask:function(){var r=this,i=r.get("submitType"),n=r.get("submitMask");i===t.AJAX&&n&&e.use("bui/mask",function(t){var i=$.isPlainObject(n)?n:{};n=new t.LoadMask(e.mix({el:r.get("el")},i)),r.set("submitMask",n)})},serializeToObject:function(){return e.FormHelper.serializeToObject(this.get("el")[0])},toObject:function(){return this.serializeToObject()},onBeforeSubmit:function(){return this.fire("beforesubmit")},reset:function(){var e=this,t=e.get("initRecord");e.setRecord(t)},resetTips:function(){var t=this,r=t.getFields();e.each(r,function(e){e.resetTip()})},destructor:function(){var e=this,t=e.get("buttonBar"),r=e.get("submitMask");t&&t.destroy&&t.destroy(),r&&r.destroy&&r.destroy()},_uiSetInitRecord:function(e){this.setRecord(e)}},{ATTRS:{action:{view:!0,value:""},allowTextSelection:{value:!0},events:{value:{beforesubmit:!1}},method:{view:!0,value:"get"},defaultLoaderCfg:{value:{autoLoad:!0,property:"record",dataType:"json"}},submitMask:{value:{msg:"\u6b63\u5728\u63d0\u4ea4\u3002\u3002\u3002"}},submitType:{value:"normal"},focusError:{value:!0},callback:{},decorateCfgFields:{value:{method:!0,action:!0}},defaultChildClass:{value:"form-field"},elTagName:{value:"form"},buttons:{},buttonBar:{shared:!1,value:{}},childContainer:{value:".x-form-fields"},initRecord:{},showError:{value:!1},xview:{value:i},tpl:{value:'<div class="x-form-fields"></div>'}}},{xclass:"form"});return n.View=i,n}),define("bui/form/horizontal",["bui/common","bui/form/form"],function(require){var e=(require("bui/common"),require("bui/form/form")),t=e.extend({getDefaultButtonBarCfg:function(){var e=this,t=e.get("buttons");return{autoRender:!0,elCls:"actions-bar toolbar row",tpl:'<div class="form-actions span21 offset3"></div>',childContainer:".form-actions",render:e.get("el"),items:t,defaultChildClass:"bar-item-button"}}},{ATTRS:{defaultChildClass:{value:"form-row"},errorTpl:{value:'<span class="valid-text"><span class="estate error"><span class="x-icon x-icon-mini x-icon-error">!</span><em>{error}</em></span></span>'},elCls:{value:"form-horizontal"}},PARSER:{}},{xclass:"form-horizontal"});return t}),define("bui/form/row",["bui/common","bui/form/fieldcontainer"],function(require){var e=(require("bui/common"),require("bui/form/fieldcontainer")),t=e.extend({},{ATTRS:{elCls:{value:"row"},defaultChildCfg:{value:{tpl:' <label class="control-label">{label}</label>                <div class="controls">                </div>',childContainer:".controls",showOneError:!0,controlContainer:".controls",elCls:"control-group span8",errorTpl:'<span class="valid-text"><span class="estate error"><span class="x-icon x-icon-mini x-icon-error">!</span><em>{error}</em></span></span>'}},defaultChildClass:{value:"form-field-text"}}},{xclass:"form-row"});return t}),define("bui/form/rule",["bui/common"],function(require){function e(e,t,n,a,o){i.isArray(n)&&i.isString(n[1])&&(n[1]&&(a=n[1]),n=n[0]);var l=e,u=l.get("validator"),s=r(e,n,a);return t=null==t?"":t,u.call(l,t,n,s,o)}function t(e){if(null==e)return{};if($.isPlainObject(e))return e;var t=e,r={};if(i.isArray(e)){for(var n=0;n<t.length;n++)r[n]=t[n];return r}return{0:e}}function r(e,r,n){var a=t(r);return n=n||e.get("msg"),i.substitute(n,a)}var i=require("bui/common"),n=function(e){n.superclass.constructor.call(this,e)};return i.extend(n,i.Base),n.ATTRS={name:{},msg:{},validator:{value:function(){}}},i.augment(n,{valid:function(t,r,i,n){var a=this;return e(a,t,r,i,n)}}),n}),define("bui/form/rules",["bui/form/rule"],function(require){function e(e){return parseFloat(e)}function t(e){return BUI.Date.parse(e)}function r(e,t,r){var i=e&&e.equals!==!1;return i?t>=r:t>r}function i(e){return""==e||null==e}function n(e,t,n,a){for(var o=a.getFields(),l=!0,u=1;u<o.length;u++){var s,c,d=o[u],f=o[u-1];if(d&&f&&(s=d.get("value"),c=f.get("value"),!i(s)&&!i(c)&&!r(t,s,c))){l=!1;break}}return l?null:n}function a(e){var t=e.getFieldAt(0);return t?t.get("name"):""}function o(e,t){if(BUI.isArray(t)||(t=[t]),!e||!t.length)return!1;var r=e?BUI.isArray(e)?e.length:1:0;if(1==t.length){var i=t[0];if(!i)return!0;if(i>r)return!1}else{var n=t[0],a=t[1];if(n>r||r>a)return!1}return!0}{var l=require("bui/form/rule"),u={},s={add:function(e){var t;return $.isPlainObject(e)?(t=e.name,u[t]=new l(e)):e.get&&(t=e.get("name"),u[t]=e),u[t]},remove:function(e){delete u[e]},get:function(e){return u[e]},valid:function(e,t,r,i,n){var a=s.get(e);return a?a.valid(t,r,i,n):null},isValid:function(e,t,r,i){return null==s.valid(e,t,r,i)}};s.add({name:"required",msg:"\u4e0d\u80fd\u4e3a\u7a7a\uff01",validator:function(e,t,r){return t!==!1&&/^\s*$/.test(e)?r:void 0}}),s.add({name:"equalTo",msg:"\u4e24\u6b21\u8f93\u5165\u4e0d\u4e00\u81f4\uff01",validator:function(e,t,r){var i=$(t);return i.length&&(t=i.val()),e===t?void 0:r}}),s.add({name:"min",msg:"\u8f93\u5165\u503c\u4e0d\u80fd\u5c0f\u4e8e{0}\uff01",validator:function(t,r,i){return BUI.isString(t)&&(t=t.replace(/\,/g,"")),""!==t&&e(t)<e(r)?i:void 0}}),s.add({name:"max",msg:"\u8f93\u5165\u503c\u4e0d\u80fd\u5927\u4e8e{0}\uff01",validator:function(t,r,i){return BUI.isString(t)&&(t=t.replace(/\,/g,"")),""!==t&&e(t)>e(r)?i:void 0}}),s.add({name:"length",msg:"\u8f93\u5165\u503c\u957f\u5ea6\u4e3a{0}\uff01",validator:function(e,t,r){return null!=e&&(e=$.trim(e.toString()),t!=e.length)?r:void 0}}),s.add({name:"minlength",msg:"\u8f93\u5165\u503c\u957f\u5ea6\u4e0d\u5c0f\u4e8e{0}\uff01",validator:function(e,t,r){if(null!=e){e=$.trim(e.toString());var i=e.length;if(t>i)return r}}}),s.add({name:"maxlength",msg:"\u8f93\u5165\u503c\u957f\u5ea6\u4e0d\u5927\u4e8e{0}\uff01",validator:function(e,t,r){if(e){e=$.trim(e.toString());var i=e.length;if(i>t)return r}}}),s.add({name:"regexp",msg:"\u8f93\u5165\u503c\u4e0d\u7b26\u5408{0}\uff01",validator:function(e,t,r){return t?t.test(e)?void 0:r:void 0}}),s.add({name:"email",msg:"\u4e0d\u662f\u6709\u6548\u7684\u90ae\u7bb1\u5730\u5740\uff01",validator:function(e,t,r){return e=$.trim(e),e?/^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/.test(e)?void 0:r:void 0}}),s.add({name:"date",msg:"\u4e0d\u662f\u6709\u6548\u7684\u65e5\u671f\uff01",validator:function(e,t,r){return BUI.isNumber(e)||BUI.isDate(e)?void 0:(e=$.trim(e),e?BUI.Date.isDateString(e)?void 0:r:void 0)}}),s.add({name:"minDate",msg:"\u8f93\u5165\u65e5\u671f\u4e0d\u80fd\u5c0f\u4e8e{0}\uff01",validator:function(e,r,i){if(e){var n=t(e);if(n&&n<t(r))return i}}}),s.add({name:"maxDate",msg:"\u8f93\u5165\u65e5\u671f\u4e0d\u80fd\u5927\u4e8e{0}\uff01",validator:function(e,r,i){if(e){var n=t(e);if(n&&n>t(r))return i}}}),s.add({name:"mobile",msg:"\u4e0d\u662f\u6709\u6548\u7684\u624b\u673a\u53f7\u7801\uff01",validator:function(e,t,r){return e=$.trim(e),e?/^\d{11}$/.test(e)?void 0:r:void 0}}),s.add({name:"number",msg:"\u4e0d\u662f\u6709\u6548\u7684\u6570\u5b57\uff01",validator:function(e,t,r){return BUI.isNumber(e)?void 0:(e=e.replace(/\,/g,""),isNaN(e)?r:void 0)}}),s.add({name:"dateRange",msg:"\u7ed3\u675f\u65e5\u671f\u4e0d\u80fd\u5c0f\u4e8e\u8d77\u59cb\u65e5\u671f\uff01",validator:n}),s.add({name:"numberRange",msg:"\u7ed3\u675f\u6570\u5b57\u4e0d\u80fd\u5c0f\u4e8e\u5f00\u59cb\u6570\u5b57\uff01",validator:n}),s.add({name:"checkRange",msg:"\u5fc5\u987b\u9009\u4e2d{0}\u9879\uff01",validator:function(e,t,r,i){var n,l=a(i),u=t;return l&&u&&(n=e[l],!o(n,u))?r:null}})}return s}),define("bui/form/remote",["bui/common"],function(require){var e=require("bui/common"),t=function(){};t.ATTRS={isLoading:{},loadingEl:{}},t.prototype={getLoadingContainer:function(){},_setLoading:function(){var e=this,t=e.get("loadingEl"),r=e.get("loadingTpl");r&&!t&&(t=$(r).appendTo(e.getLoadingContainer()),e.setInternal("loadingEl",t))},_clearLoading:function(){var e=this,t=e.get("loadingEl");t&&(t.remove(),e.setInternal("loadingEl",null))},_uiSetIsLoading:function(e){var t=this;e?t._setLoading():t._clearLoading()}};var r=function(){};return r.ATTRS={defaultRemote:{value:{method:"GET",cache:!0,callback:function(e){return e}}},remoteDaly:{value:500},cacheMap:{value:{}},loadingTpl:{view:!0,value:'<img src="http://img02.taobaocdn.com/tps/i2/T1NU8nXCVcXXaHNz_X-16-16.gif" alt="loading"/>'},isLoading:{view:!0,value:!1},remote:{setter:function(t){return e.isString(t)&&(t={url:t}),t}},remoteHandler:{},events:{value:{remotecomplete:!1,remotestart:!1}}},r.prototype={__bindUI:function(){var e=this;e.on("valid",function(){if(e.get("remote")&&e.isValid()&&!e.get("pauseValid")){var t=e.getControlValue(),r=e.getRemoteParams();e._startRemote(r,t)}}),e.on("error",function(){e.get("remote")&&e._cancelRemote()})},_startRemote:function(e,t){function r(){i._remoteValid(e,n,t),i.set("isLoading",!0)}var i=this,n=i.get("remoteHandler"),a=i.get("cacheMap"),o=i.get("remoteDaly");return n&&i._cancelRemote(n),null!=a[t]?void i._validResult(i._getCallback(),a[t]):(n=setTimeout(r,o),void i.setInternal("remoteHandler",n))},_validResult:function(e,t){var r=this,i=e(t);r.onRemoteComplete(i,t)},onRemoteComplete:function(e,t,r){var i=this;r==i.get("remoteHandler")&&(i.fire("remotecomplete",{error:e,data:t}),i.set("isLoading",!1),i.setInternal("remoteHandler",null))},_getOptions:function(t){var r=this,i=r.get("remote"),n=r.get("defaultRemote"),a=e.merge(n,i,{data:t});return a},_getCallback:function(){return this._getOptions().callback},_remoteValid:function(e,t,r){var i=this,n=i.get("cacheMap"),a=i._getOptions(e);a.success=function(e){var o=a.callback,l=o(e);n[r]=e,i.onRemoteComplete(l,e,t)},a.error=function(e,r,n){i.onRemoteComplete(n,null,t)},i.fire("remotestart",{data:e}),$.ajax(a)},getRemoteParams:function(){},clearCache:function(){this.set("cacheMap",{})},_cancelRemote:function(e){var t=this;e=e||t.get("remoteHandler"),e&&(clearTimeout(e),t.setInternal("remoteHandler",null)),t.set("isLoading",!1)}},r.View=t,r});
Example #2
0
File: form.js Project: dxq613/bui-1
!function(){var e="bui/form/";define("bui/form",["bui/common",e+"fieldcontainer",e+"form",e+"row",e+"fieldgroup",e+"horizontal",e+"rules",e+"field",e+"fieldgroup"],function(t){var r=t("bui/common"),i=r.namespace("Form"),n=t(e+"tips");return r.mix(i,{Tips:n,TipItem:n.Item,FieldContainer:t(e+"fieldcontainer"),Form:t(e+"form"),Row:t(e+"row"),Group:t(e+"fieldgroup"),HForm:t(e+"horizontal"),Rules:t(e+"rules"),Field:t(e+"field"),FieldGroup:t(e+"fieldgroup")}),i})}(),define("bui/form/tips",["bui/common","bui/overlay"],function(require){var e=require("bui/common"),t=e.prefix,r=require("bui/overlay").Overlay,i="data-tip",n=t+"form-tip-container",a=r.extend({initializer:function(){var e=this,t=e.get("render");if(!t){var r=$(e.get("trigger")).parent();e.set("render",r)}},renderUI:function(){var e=this;e.resetVisible()},resetVisible:function(){var e=this,t=$(e.get("trigger"));t.val()?e.set("visible",!1):(e.set("align",{node:$(e.get("trigger")),points:["cl","cl"]}),e.set("visible",!0))},bindUI:function(){var e=this,t=$(e.get("trigger"));e.get("el").on("click",function(){e.hide(),t.focus()}),t.on("click focus",function(){e.hide()}),t.on("blur",function(){e.resetVisible()})}},{ATTRS:{trigger:{},text:{},iconCls:{},tpl:{value:'<span class="{iconCls}"></span><span class="tip-text">{text}</span>'}}},{xclass:"form-tip"}),o=function(e){return this.constructor!==o?new o(e):(o.superclass.constructor.call(this,e),void this._init())};return o.ATTRS={form:{},items:{valueFn:function(){return[]}}},e.extend(o,e.Base),e.augment(o,{_init:function(){var t=this,r=$(t.get("form"));r.length&&(e.each($.makeArray(r[0].elements),function(e){var r=$(e).attr(i);r&&t._initFormElement(e,$.parseJSON(r))}),r.addClass(n))},_initFormElement:function(e,t){t&&(t.trigger=e);var r=this,i=r.get("items"),n=new a(t);i.push(n)},getItem:function(t){var r=this,i=r.get("items"),n=null;return e.each(i,function(e){return $(e.get("trigger")).attr("name")===t?(n=e,!1):void 0}),n},resetVisible:function(){var t=this,r=t.get("items");e.each(r,function(e){e.resetVisible()})},render:function(){var t=this,r=t.get("items");e.each(r,function(e){e.render()})},destroy:function(){var t=this,r=t.get(r);e.each(r,function(e){e.destroy()})}}),o.Item=a,o}),define("bui/form/basefield",["bui/common","bui/form/tips","bui/form/valid","bui/form/remote"],function(require){var e=require("bui/common"),t=e.Component,r=require("bui/form/tips").Item,i=require("bui/form/valid"),n=require("bui/form/remote"),a=e.prefix+"form-field-error",o="bui-form-tip-container",l=t.View.extend([n.View,i.View],{renderUI:function(){var e=this,t=e.get("control");if(t)e.set("controlContainer",t.parent());else{var r=e.get("controlTpl"),i=e.getControlContainer();if(r){var t=$(r).appendTo(i);e.set("control",t)}}},clearErrors:function(){var e=this,t=e.get("msgEl");t&&(t.remove(),e.set("msgEl",null)),e.get("el").removeClass(a)},showError:function(t,r){var i=this,n=i.get("control"),o=e.substitute(r,{error:t}),l=$(o);l.appendTo(n.parent()),i.set("msgEl",l),i.get("el").addClass(a)},getControlContainer:function(){var t=this,r=t.get("el"),i=t.get("controlContainer");return i&&e.isString(i)&&(i=r.find(i)),i&&i.length?i:r},getLoadingContainer:function(){return this.getControlContainer()},_uiSetName:function(e){var t=this;t.get("control").attr("name",e)}},{ATTRS:{error:{},controlContainer:{},msgEl:{},control:{}}}),u=t.Controller.extend([n,i],{isField:!0,initializer:function(){var e=this;e.on("afterRenderUI",function(){var t=e.get("tip");if(t){var i=e.getTipTigger();i&&i.parent().addClass(o),t.trigger=i,t.autoRender=!0,t=new r(t),e.set("tip",t)}})},bindUI:function(){var e=this,t=e.get("validEvent"),r=e.get("changeEvent"),i=e.get("firstValidEvent"),n=e.getInnerControl();n.is("select")&&(t="change"),n.on(t,function(){var t=e.getControlValue(n);e.validControl(t)}),i&&n.on(i,function(){if(!e.get("hasValid")){var t=e.getControlValue(n);e.validControl(t)}}),e.on(r,function(){e.onValid()}),e.on("remotecomplete",function(t){e._setError(t.error)})},onValid:function(){var e=this,t=e.getControlValue();t=e.parseValue(t),e.isCurrentValue(t)||(e.setInternal("value",t),e.onChange())},onChange:function(){this.fire("change")},isCurrentValue:function(e){return e==this.get("value")},_clearError:function(){this.set("error",null),this.get("view").clearErrors()},_setError:function(e){this.set("error",e),this.showErrors()},getControlValue:function(e){var t=this;return e=e||t.getInnerControl(),e.val()},getControlContainer:function(){return this.get("view").getControlContainer()},getRemoteParams:function(){var e=this,t={};return t[e.get("name")]=e.getControlValue(),t},setControlValue:function(e){var t=this,r=t.getInnerControl();r.val(e)},parseValue:function(e){return e},valid:function(){var e=this;e.validControl()},validControl:function(e){var t,r=this;return e=e||r.getControlValue(),preError=r.get("error"),t=r.getValidError(e),r.setInternal("hasValid",!0),t?(r._setError(t),r.fire("error",{msg:t,value:e}),preError!==t&&r.fire("validchange",{valid:!1})):(r._clearError(),r.fire("valid"),preError&&r.fire("validchange",{valid:!0})),!t},focus:function(){this.getInnerControl().focus()},change:function(){var e=this.getInnerControl();e.change()},blur:function(){this.getInnerControl().blur()},isValid:function(){var e=this;return e.get("hasValid")||e.validControl(),!e.get("error")},getError:function(){return this.get("error")},getErrors:function(){var e=this.getError();return e?[e]:[]},clearErrors:function(e){var t=this;t._clearError(),e&&t.getControlValue()!=t.get("value")&&t.setControlValue(t.get("value"))},getInnerControl:function(){return this.get("view").get("control")},getTipTigger:function(){return this.getInnerControl()},destructor:function(){var e=this,t=e.get("tip");t&&t.destroy&&t.destroy()},setInnerWidth:function(t){var r=this,i=r.getInnerControl(),n=i.siblings(),a=i.outerWidth()-i.width();e.each(n,function(e){a+=$(e).outerWidth()}),i.width(t-a)},_resetTip:function(){var e=this,t=e.get("tip");t&&t.resetVisible()},resetTip:function(){this._resetTip()},_uiSetValue:function(e){var t=this;t.setControlValue(e),t.get("rendered")&&(t.validControl(),t.onChange()),t._resetTip()},_uiSetDisabled:function(t){var r=this,i=r.getInnerControl(),n=r.get("children");i.attr("disabled",t),r.get("rendered")&&(t&&r.clearErrors(),t||r.valid()),e.each(n,function(e){e.set("disabled",t)})},_uiSetWidth:function(e){var t=this;null!=e&&t.get("forceFit")&&t.setInnerWidth(e)}},{ATTRS:{hasValid:{value:!1},forceFit:{value:!1},tip:{},changeEvent:{value:"valid"},firstValidEvent:{value:"blur"},validEvent:{value:"keyup change"},name:{view:!0},showError:{view:!0,value:!0},value:{view:!0},label:{},controlContainer:{view:!0},control:{view:!0},controlTpl:{view:!0,value:'<input type="text"/>'},events:{value:{error:!1,valid:!1,change:!0,validchange:!0}},tpl:{value:"<label>{label}</label>"},xview:{value:l}},PARSER:{control:function(e){var t=e.find("input,select,textarea");return t.length?t:e},disabled:function(e){return!!e.attr("disabled")},value:function(e){var t=this,r="select,input,textarea",i=t.get("value");return i||(e.is(r)?(i=e.val(),!i&&e.is("select")&&(i=e.attr("value"))):i=e.find(r).val()),i},name:function(e){var t=this,r="select,input,textarea",i=t.get("name");return i||(i=e.is(r)?e.attr("name"):e.find(r).attr("name")),i}}},{xclass:"form-field"});return u.View=l,u}),define("bui/form/textfield",["bui/form/basefield"],function(require){var e=require("bui/form/basefield"),t=e.extend({},{xclass:"form-field-text"});return t}),define("bui/form/textareafield",["bui/form/basefield"],function(require){var e=require("bui/form/basefield"),t=e.extend({_uiSetRows:function(e){var t=this,r=t.getInnerControl();e&&r.attr("rows",e)},_uiSetCols:function(e){var t=this,r=t.getInnerControl();e&&r.attr("cols",e)}},{ATTRS:{controlTpl:{value:"<textarea></textarea>"},rows:{},cols:{},decorateCfgFields:{value:{rows:!0,cols:!0}}}},{xclass:"form-field-textarea"});return t}),define("bui/form/numberfield",["bui/form/basefield"],function(require){var e=require("bui/form/basefield"),t=e.extend({parseValue:function(e){if(""==e||null==e)return null;if(BUI.isNumber(e))return e;var t=this,r=t.get("allowDecimals");return e=e.replace(/\,/g,""),r?parseFloat(parseFloat(e).toFixed(t.get("decimalPrecision"))):parseInt(e,10)},_uiSetMax:function(e){this.addRule("max",e)},_uiSetMin:function(e){this.addRule("min",e)}},{ATTRS:{max:{},min:{},decorateCfgFields:{value:{min:!0,max:!0}},validEvent:{value:"keyup change"},defaultRules:{value:{number:!0}},allowDecimals:{value:!0},decimalPrecision:{value:2},step:{value:1}}},{xclass:"form-field-number"});return t}),define("bui/form/hiddenfield",["bui/form/basefield"],function(require){var e=require("bui/form/basefield"),t=e.extend({},{ATTRS:{controlTpl:{value:'<input type="hidden"/>'},tpl:{value:""}}},{xclass:"form-field-hidden"});return t}),define("bui/form/readonlyfield",["bui/form/basefield"],function(require){var e=require("bui/form/basefield"),t=e.extend({},{ATTRS:{controlTpl:{value:'<input type="text" readonly="readonly"/>'}}},{xclass:"form-field-readonly"});return t}),define("bui/form/selectfield",["bui/common","bui/form/basefield"],function(require){function e(e,i,n){e.children().remove();var a=n.get("emptyText");a&&n.get("showBlank")&&t("",a,e),r.each(i,function(r){t(r.value,r.text,e)})}function t(e,t,r){var i=new Option(t,e),n=r[0].options;n[n.length]=i}var r=require("bui/common"),i=require("bui/form/basefield"),n=i.extend({renderUI:function(){var e=this,t=e.getInnerControl(),r=e.get("select");e.get("srcNode")&&t.is("select")||$.isPlainObject(r)&&e._initSelect(r)},_initSelect:function(e){{var t=this;t.get("items")}r.use("bui/select",function(r){e.render=t.getControlContainer(),e.valueField=t.getInnerControl(),e.autoRender=!0,e=new r.Select(e),t.set("select",e),t.set("isCreate",!0),t.get("children").push(e),e.on("change",function(){var r=e.getSelectedValue();t.set("value",r)})})},setItems:function(t){var i=this,n=i.get("select");if($.isPlainObject(t)){var a=[];r.each(t,function(e,t){a.push({value:t,text:e})}),t=a}var o=i.getInnerControl();o.is("select")&&(e(o,t,i),i.setControlValue(i.get("value")),i.getControlValue()||i.setInternal("value","")),n&&(n.set?n.set("items",t):n.items=t)},setControlValue:function(e){var t=this,r=t.get("select"),i=t.getInnerControl();i.val(e),r&&r.set&&r.getSelectedValue()!==e&&r.setSelectedValue(e)},getSelectedText:function(){var e=this,t=e.get("select"),r=e.getInnerControl();if(r.is("select")){var i=r[0],n=i.options[i.selectedIndex];return n?n.text:""}return t.getSelectedText()},getTipTigger:function(){var e=this,t=e.get("select");return t&&t.rendered?t.get("el").find("input"):e.get("el")},_uiSetItems:function(e){e&&this.setItems(e)},setInnerWidth:function(e){var t=this,r=t.getInnerControl(),i=t.get("select"),n=r.outerWidth()-r.width();r.width(e-n),i&&i.set&&i.set("width",e)}},{ATTRS:{items:{},controlTpl:{value:'<input type="hidden"/>'},showBlank:{value:!0},emptyText:{value:"\u8bf7\u9009\u62e9"},select:{shared:!1,value:{}}},PARSER:{emptyText:function(e){if(!this.get("showBlank"))return"";var t=e.find("option"),r=this.get("emptyText");return t.length&&(r=$(t[0]).text()),r}}},{xclass:"form-field-select"});return n}),define("bui/form/datefield",["bui/common","bui/form/basefield","bui/calendar"],function(require){var e=require("bui/common"),t=require("bui/form/basefield"),r=e.Date,i=t.extend({renderUI:function(){var e=this,t=e.get("datePicker");$.isPlainObject(t)&&e.initDatePicker(t),(t.get&&t.get("showTime")||t.showTime)&&e.getInnerControl().addClass("calendar-time")},initDatePicker:function(t){var r=this;e.use("bui/calendar",function(e){t.trigger=r.getInnerControl(),t.autoRender=!0,t=new e.DatePicker(t),r.set("datePicker",t),r.set("isCreatePicker",!0),r.get("children").push(t)})},setControlValue:function(t){var i=this,n=i.getInnerControl();e.isDate(t)&&(t=r.format(t,i._getFormatMask())),n.val(t)},_getFormatMask:function(){var e=this,t=e.get("datePicker");return t.showTime||t.get&&t.get("showTime")?"yyyy-mm-dd HH:MM:ss":"yyyy-mm-dd"},parseValue:function(t){return e.isNumber(t)?new Date(t):r.parse(t)},isCurrentValue:function(e){return r.isEquals(e,this.get("value"))},_uiSetMax:function(e){this.addRule("max",e);var t=this,r=t.get("datePicker");r&&(r.set?r.set("maxDate",e):r.maxDate=e)},_uiSetMin:function(e){this.addRule("min",e);var t=this,r=t.get("datePicker");r&&(r.set?r.set("minDate",e):r.minDate=e)}},{ATTRS:{controlTpl:{value:'<input type="text" class="calendar"/>'},defaultRules:{value:{date:!0}},max:{},min:{},value:{setter:function(t){return e.isNumber(t)?new Date(t):t}},datePicker:{shared:!1,value:{}},isCreatePicker:{value:!0}},PARSER:{datePicker:function(t){var r=this,i=r.get("datePicker")||{};return t.hasClass("calendar-time")&&e.mix(i,{showTime:!0}),i}}},{xclass:"form-field-date"});return i}),define("bui/form/checkfield",["bui/form/basefield"],function(require){var e=require("bui/form/basefield"),t=e.extend({onValid:function(){var e=this,t=e._getControlChecked();e.setInternal("checked",t),e.fire("change"),e.fire(t?"checked":"unchecked")},_setControlChecked:function(e){var t=this,r=t.getInnerControl();r.attr("checked",!!e)},_getControlChecked:function(){var e=this,t=e.getInnerControl();return!!t.attr("checked")},_uiSetValue:function(e){this.setControlValue(e)},_uiSetWidth:function(){},_uiSetChecked:function(e){var t=this;t._setControlChecked(e),t.get("rendered")&&t.onValid()}},{ATTRS:{validEvent:{value:"click"},checked:{value:!1},events:{value:{checked:!1,unchecked:!1}}},PARSER:{checked:function(e){return!!e.attr("checked")}}},{xclass:"form-check-field"});return t}),define("bui/form/checkboxfield",["bui/form/checkfield"],function(e){var t=e("bui/form/checkfield"),r=t.extend({},{ATTRS:{controlTpl:{view:!0,value:'<input type="checkbox"/>'},controlContainer:{value:".checkbox"},tpl:{value:'<label><span class="checkbox"></span>{label}</label>'}}},{xclass:"form-field-checkbox"});return r}),define("bui/form/radiofield",["bui/form/checkfield"],function(e){var t=e("bui/form/checkfield"),r=t.extend({bindUI:function(){var e=this,t=e.get("parent"),r=e.get("name");t&&e.getInnerControl().on("click",function(){var i=t.getFields(r);BUI.each(i,function(t){t!=e&&t.set("checked",!1)})})}},{ATTRS:{controlTpl:{view:!0,value:'<input type="radio"/>'},controlContainer:{value:".radio"},tpl:{value:'<label><span class="radio"></span>{label}</label>'}}},{xclass:"form-field-radio"});return r}),define("bui/form/plainfield",["bui/form/basefield"],function(require){var e=require("bui/form/basefield"),t=e.View.extend({_uiSetValue:function(e){var t,r=this,i=r.get("textEl"),n=r.getControlContainer(),a=r.get("renderer"),o=a?a(e):e,l=r.get("width"),u=0;i&&i.remove(),o=o||"&nbsp;",t=BUI.substitute(r.get("textTpl"),{text:o}),i=$(t).appendTo(n),u=i.outerWidth()-i.width(),i.width(l-u),r.set("textEl",i)}},{ATTRS:{textEl:{},value:{}}},{xclass:"form-field-plain-view"}),r=e.extend({},{ATTRS:{controlTpl:{value:'<input type="hidden"/>'},textTpl:{view:!0,value:'<span class="x-form-text">{text}</span>'},renderer:{view:!0,value:function(e){return e}},tpl:{value:""},xview:{value:t}}},{xclass:"form-field-plain"});return r}),define("bui/form/listfield",["bui/common","bui/form/basefield","bui/list"],function(require){function e(e){var r=e;return $.isPlainObject(e)&&(r=[],t.each(e,function(e,t){r.push({text:e,value:t})})),r}var t=require("bui/common"),r=require("bui/list"),i=require("bui/form/basefield"),r=i.extend({initializer:function(){var e=this;e._initList()},_getList:function(){var e=this,t=e.get("children");return t[0]},bindUI:function(){var e=this,t=e._getList();t&&t.on("selectedchange",function(){var r=e._getListValue(t);e.set("value",r)})},_getListValue:function(e){var t=this;return e=e||t._getList(),e.getSelectionValues().join(",")},setControlValue:function(e){var t=this,r=t.getInnerControl(),i=t._getList();r.val(e),t._getListValue(i)!==e&&i.getCount()&&(i.get("multipleSelect")&&i.clearSelection(),i.setSelectionByField(e.split(",")))},syncUI:function(){this.set("list",this._getList())},_initList:function(){var e=this,r=e.get("defaultListCfg"),i=e.get("children"),n=e.get("list")||{};i[0]||($.isPlainObject(n)&&t.mix(n,r),i.push(n))},setItems:function(t){var r=this,i=r.get("value"),n=r._getList();n.set("items",e(t)),n.setSelectionByField(i.split(","))},_uiSetItems:function(e){e&&this.setItems(e)}},{ATTRS:{controlTpl:{value:'<input type="hidden"/>'},defaultListCfg:{value:{xclass:"simple-list"}},items:{setter:function(e){if($.isPlainObject(e)){var r=[];t.each(e,function(e,t){r.push({value:t,text:e})}),e=r}return e}},list:{}},PARSER:{list:function(e){var t=e.find(".bui-simple-list");return t.length?{srcNode:t}:void 0}}},{xclass:"form-field-list"});return r}),define("bui/form/uploaderfield",["bui/common","bui/form/basefield","bui/form/rules"],function(require){var e=require("bui/common"),t=e.JSON,r=require("bui/form/basefield"),i=require("bui/form/rules"),n=r.extend({renderUI:function(){var e=this,t=e.getInnerControl();e.get("srcNode")&&"file"===t.get(0).type||(e._initControlValue(),e._initUpload())},_initUpload:function(){var t=this,r=(t.get("children"),t.get("uploader")||{});e.use("bui/uploader",function(e){r.render=t.getControlContainer(),r.autoRender=!0,r=new e.Uploader(r),t.set("uploader",r),t.set("isCreate",!0),t.get("children").push(r),t._initQueue(r.get("queue")),r.on("success",function(){var e=t._getUploaderResult();t.setControlValue(e)}),r.get("queue").on("itemremoved",function(){var e=t._getUploaderResult();t.setControlValue(e)})})},_getUploaderResult:function(){var t=this,r=t.get("uploader"),i=r.get("queue"),n=i.getItems(),a=[];return e.each(n,function(e){e.result&&a.push(e.result)}),a},setControlValue:function(e){var r=this,i=r.getInnerControl();i.val(t.stringify(e))},_initControlValue:function(){var t,r=this,i=r.getControlValue();i&&(t=e.JSON.parse(i),r.set("value",t))},_initQueue:function(t){var r=this,i=r.get("value"),n=[];e.each(i,function(t){var r=e.cloneObject(t);r.success=!0,r.result=t,n.push(r)}),t&&t.setItems(n)}},{ATTRS:{controlTpl:{value:'<input type="hidden"/>'},uploader:{setter:function(e){var t=this.get("disabled");return e&&e.isController&&e.set("disabled",t),e}},disabled:{setter:function(e){var t=this,r=t.get("uploader");r&&r.isController&&r.set("disabled",e)}},value:{shared:!1,value:[]},defaultRules:function(){}}},{xclass:"form-field-uploader"});return i.add({name:"uploader",msg:"\u4e0a\u4f20\u6587\u4ef6\u9009\u62e9\u6709\u8bef\uff01",validator:function(e,t,r,i){var n=i.get("uploader");return n&&!n.isValid()?r:void 0}}),n}),define("bui/form/checklistfield",["bui/common","bui/form/listfield"],function(require){"use strict";var e=(require("bui/common"),require("bui/form/listfield")),t=e.extend({},{ATTRS:{defaultListCfg:{value:{itemTpl:'<li><span class="x-checkbox"></span>{text}</li>',multipleSelect:!0,allowTextSelection:!1}}}},{xclass:"form-field-checklist"});return t}),define("bui/form/radiolistfield",["bui/common","bui/form/listfield"],function(require){"use strict";var e=(require("bui/common"),require("bui/form/listfield")),t=e.extend({},{ATTRS:{defaultListCfg:{value:{itemTpl:'<li><span class="x-radio"></span>{text}</li>',allowTextSelection:!1}}}},{xclass:"form-field-radiolist"});return t}),function(){var e="bui/form/";define(e+"field",["bui/common",e+"textfield",e+"datefield",e+"selectfield",e+"hiddenfield",e+"numberfield",e+"checkfield",e+"radiofield",e+"checkboxfield",e+"plainfield",e+"listfield",e+"uploaderfield",e+"checklistfield",e+"radiolistfield",e+"textareafield"],function(require){var t=require("bui/common"),r=require(e+"basefield");return t.mix(r,{Text:require(e+"textfield"),Date:require(e+"datefield"),Select:require(e+"selectfield"),Hidden:require(e+"hiddenfield"),Number:require(e+"numberfield"),Check:require(e+"checkfield"),Radio:require(e+"radiofield"),Checkbox:require(e+"checkboxfield"),Plain:require(e+"plainfield"),List:require(e+"listfield"),TextArea:require(e+"textareafield"),Uploader:require(e+"uploaderfield"),CheckList:require(e+"checklistfield"),RadioList:require(e+"radiolistfield")}),r})}(),define("bui/form/valid",["bui/common","bui/form/rules"],function(require){var e=require("bui/common"),t=require("bui/form/rules"),r=function(){};r.prototype={getErrorsContainer:function(){var t=this,r=t.get("errorContainer");return r?e.isString(r)?t.get("el").find(r):r:t.getContentElement()},showErrors:function(t){var r=this,i=r.getErrorsContainer(),n=r.get("errorTpl");return r.clearErrors(),r.get("showError")?r.get("showOneError")?void(t&&t.length&&r.showError(t[0],n,i)):void e.each(t,function(e){e&&r.showError(e,n,i)}):void 0},showError:function(){},clearErrors:function(){}};var i=function(){};return i.ATTRS={defaultRules:{value:{}},defaultMessages:{value:{}},rules:{shared:!1,value:{}},messages:{shared:!1,value:{}},validator:{},errorContainer:{view:!0},errorTpl:{view:!0,value:'<span class="x-field-error"><span class="x-icon x-icon-mini x-icon-error">!</span><label class="x-field-error-text">{error}</label></span>'},showError:{view:!0,value:!0},showOneError:{},error:{},pauseValid:{value:!1}},i.prototype={__bindUI:function(){var e=this;e.on("afterDisabledChange",function(t){var r=t.newVal;r?e.clearErrors(!1,!1):e.valid()})},isValid:function(){},valid:function(){},validControl:function(){},validRules:function(e,r){if(!e)return null;if(this.get("pauseValid"))return null;var i=this,n=i._getValidMessages(),a=null;for(var o in e)if(e.hasOwnProperty(o)){var l=e[o];if(a=t.valid(o,r,l,n[o],i))break}return a},_getValidMessages:function(){var t=this,r=t.get("defaultMessages"),i=t.get("messages");return e.merge(r,i)},getValidError:function(e){var t=this,r=t.get("validator"),i=null;return i=t.validRules(t.get("defaultRules"),e)||t.validRules(t.get("rules"),e),i||this.get("pauseValid")||(t.parseValue&&(e=t.parseValue(e)),i=r?r.call(this,e):""),i},getErrors:function(){},showErrors:function(e){var t=this,e=e||t.getErrors();t.get("view").showErrors(e)},clearErrors:function(t,r){r=null==r?!0:r;var i=this,n=i.get("children");r&&e.each(n,function(e){e.clearErrors&&(e.field?e.clearErrors(t):e.clearErrors(t,r))}),i.set("error",null),i.get("view").clearErrors()},addRule:function(e,t,r){var i=this,n=i.get("rules"),a=i.get("messages");n[e]=t,r&&(a[e]=r)},addRules:function(t,r){var i=this;e.each(t,function(e,t){var n=r?r[t]:null;i.addRule(t,e,n)})},removeRule:function(e){var t=this,r=t.get("rules");delete r[e]},clearRules:function(){var e=this;e.set("rules",{})}},i.View=r,i}),define("bui/form/groupvalid",["bui/form/valid"],function(require){function e(){}function t(){}var r="x-form-error",i=require("bui/form/valid");return BUI.augment(e,i.View,{showError:function(e,t,i){var n=BUI.substitute(t,{error:e}),a=$(n);a.appendTo(i),a.addClass(r)},clearErrors:function(){var e=this,t=e.getErrorsContainer();t.children("."+r).remove()}}),t.ATTRS=ATTRS=BUI.merge(!0,i.ATTRS,{events:{value:{validchange:!0,change:!0}}}),BUI.augment(t,i,{__bindUI:function(){var e=this,t="validchange change";e.on(t,function(t){var r=t.target;if(r!=this&&e.get("showError")){var i=r.isValid();e._hasAllChildrenValid()&&(i=i&&e.isChildrenValid(),i&&(e.validControl(e.getRecord()),i=e.isSelfValid())),i?e.clearErrors():e.showErrors()}})},isValid:function(){if(this.get("disabled"))return!0;var e=this,t=e.isChildrenValid();return t&&e.isSelfValid()},valid:function(){var e=this,t=e.get("children");e.get("disabled")||BUI.each(t,function(e){e.get("disabled")||e.valid()})},_hasAllChildrenValid:function(){var e=this,t=e.get("children"),r=!0;return BUI.each(t,function(e){return e.get("disabled")||e.get("hasValid")!==!1?void 0:(r=!1,!1)}),r},isChildrenValid:function(){var e=this,t=e.get("children"),r=!0;return BUI.each(t,function(e){return e.get("disabled")||e.isValid()?void 0:(r=!1,!1)}),r},isSelfValid:function(){return!this.get("error")},validControl:function(e){var t=this,r=t.getValidError(e);t.set("error",r)},getErrors:function(){var e=this,t=e.get("children"),r=e.get("showChildError"),i=null,n=[];return r&&BUI.each(t,function(e){e.getErrors&&(n=n.concat(e.getErrors()))}),e._hasAllChildrenValid()&&e.isChildrenValid()&&(i=e.get("error"),i&&n.push(i)),n},_uiSetErrorTpl:function(e){var t=this,r=t.get("children");BUI.each(r,function(t){t.get("userConfig").errorTpl||t.set("errorTpl",e)})}}),t.View=e,t}),define("bui/form/fieldcontainer",["bui/common","bui/form/field","bui/form/groupvalid"],function(require){function e(e){return e.is(s)}function t(i,n){if(i!=n){if(e(i))return[i];var a=i.attr("class");if(a&&(-1!==a.indexOf(u)||-1!==a.indexOf(l)))return[i]}var o=[],s=i.children();return r.each(s,function(e){o=o.concat(t($(e),n))}),o}var r=require("bui/common"),i=require("bui/form/field"),n=require("bui/form/groupvalid"),a=r.prefix,o="form-field",l=a+o,u=a+"form-group",s="input,select,textarea",c=r.Component.View.extend([n.View]),d=r.Component.Controller.extend([n],{syncUI:function(){var e=this,t=e.getFields(),i=e.get("validators");r.each(t,function(e){var t=e.get("name");i[t]&&e.set("validator",i[t])}),r.each(i,function(t,r){if(0==r.indexOf("#")){var i=r.replace("#",""),n=e.getChild(i,!0);n&&n.set("validator",t)}})},getDecorateElments:function(){var e=this,r=e.get("el"),i=t(r,r);return i},findXClassByNode:function(t,i){return"checkbox"===t.attr("type")?o+"-checkbox":"radio"===t.attr("type")?o+"-radio":"number"===t.attr("type")?o+"-number":t.hasClass("calendar")?o+"-date":"SELECT"==t[0].tagName?o+"-select":e(t)?o:r.Component.Controller.prototype.findXClassByNode.call(this,t,i)},getRecord:function(){var e=this,t={},i=e.getFields();return r.each(i,function(i){var n=i.get("name"),a=e._getFieldValue(i);if(t[n]){if(r.isArray(t[n])&&null!=a)t[n].push(a);else if(null!=a){var o=[t[n]];o.push(a),t[n]=o}}else t[n]=a}),t},getFields:function(e){var t=this,n=[],a=t.get("children");return r.each(a,function(t){t instanceof i?e&&t.get("name")!=e||n.push(t):t.getFields&&(n=n.concat(t.getFields(e)))}),n},getField:function(e){var t=this,i=t.getFields(),n=null;return r.each(i,function(t){return t.get("name")===e?(n=t,!1):void 0}),n},getFieldAt:function(e){return this.getFields()[e]},setFieldValue:function(e,t){var i=this,n=i.getFields(e);r.each(n,function(e){i._setFieldValue(e,t)})},_setFieldValue:function(e,t){if(!e.get("disabled"))if(e instanceof i.Check){var n=e.get("value");t&&(n===t||r.isArray(t)&&r.Array.contains(n,t))?e.set("checked",!0):e.set("checked",!1)}else null==t&&(t=""),e.clearErrors(!0),e.set("value",t)},getFieldValue:function(e){var t=this,i=t.getFields(e),n=[];return r.each(i,function(e){var r=t._getFieldValue(e);r&&n.push(r)}),0===n.length?null:1===n.length?n[0]:n},_getFieldValue:function(e){return e instanceof i.Check&&!e.get("checked")?null:e.get("value")},clearFields:function(){this.clearErrors(!0),this.setRecord({})},setRecord:function(e){var t=this,i=t.getFields();r.each(i,function(r){var i=r.get("name");t._setFieldValue(r,e[i])})},updateRecord:function(e){var t=this,i=t.getFields();r.each(i,function(r){var i=r.get("name");e.hasOwnProperty(i)&&t._setFieldValue(r,e[i])})},focus:function(){var e=this,t=e.getFields(),r=t[0];r&&r.focus()},_uiSetDisabled:function(e){var t=this,i=t.get("children");r.each(i,function(t){t.set("disabled",e)})}},{ATTRS:{record:{setter:function(e){this.setRecord(e)},getter:function(){return this.getRecord()}},validators:{value:{}},defaultLoaderCfg:{value:{property:"children",dataType:"json"}},disabled:{sync:!1},isDecorateChild:{value:!0},xview:{value:c}}},{xclass:"form-field-container"});return d.View=c,d}),define("bui/form/group/base",["bui/common","bui/form/fieldcontainer"],function(require){var e=(require("bui/common"),require("bui/form/fieldcontainer")),t=e.extend({},{ATTRS:{label:{view:!0},defaultChildClass:{value:"form-field"}}},{xclass:"form-group"});return t}),define("bui/form/group/range",["bui/form/group/base"],function(require){function e(e,t,r){var i=e.get("allowEqual");return i?t>=r:t>r}var t=require("bui/form/group/base"),r=t.extend({},{ATTRS:{rangeText:{value:"\u5f00\u59cb\u4e0d\u80fd\u5927\u4e8e\u7ed3\u675f\uff01"},allowEqual:{value:!0},validator:{value:function(){for(var t=this,r=t.getFields(),i=!0,n=1;n<r.length;n++){var a,o,l=r[n],u=r[n-1];if(l&&u&&(a=l.get("value"),o=u.get("value"),!e(t,a,o))){i=!1;break}}return i?null:t.get("rangeText")}}}},{xclass:"form-group-range"});return r}),define("bui/form/group/check",["bui/form/group/base"],function(require){function e(e){var t=e.getFieldAt(0);return t?t.get("name"):""}var t=require("bui/form/group/base"),r=t.extend({bindUI:function(){var t=this;t.on("change",function(){var r=e(t),i=t.get("range"),n=t.getRecord(),a=n[r],o=i[1];a&&a.length>=o?t._setFieldsEnable(r,!1):t._setFieldsEnable(r,!0)})},_setFieldsEnable:function(e,t){var r=this,i=r.getFields(e);BUI.each(i,function(e){t?e.enable():e.get("checked")||e.disable()})},_uiSetRange:function(e){this.addRule("checkRange",e)}},{ATTRS:{range:{setter:function(e){return(BUI.isString(e)||BUI.isNumber(e))&&(e=[parseInt(e,10)]),e}}}},{xclass:"form-group-check"});return r}),define("bui/form/group/select",["bui/form/group/base","bui/data"],function(require){function e(e){var t=[];return BUI.each(e,function(e){t.push({text:e.text,value:e.id})}),t}var t=require("bui/form/group/base"),r=require("bui/data"),i=BUI.Component.UIBase.Bindable,n=t.extend([i],{initializer:function(){var e=this,t=e.get("url"),i=e.get("store")||e._getStore();i.isStore||(i.autoLoad=!0,t&&(i.url=t),i=new r.TreeStore(i)),e.set("store",i)},bindUI:function(){var e=this;e.on("change",function(t){var r=t.target;if(r!=e){var i=r,n=i.get("value"),a=e._getFieldIndex(i)+1;e._valueChange(n,a)}})},onLoad:function(e){var t=this,r=e?e.node:t.get("store").get("root");t._setFieldItems(r.level,r.children)},_getStore:function(){var e=this,t=e.get("type");return t&&a[t]?a[t]:{}},_valueChange:function(e,t){var r=this,i=r.get("store");if(e){var n=i.findNode(e);if(!n)return;i.isLoaded(n)?r._setFieldItems(t,n.children):i.loadNode(n)}else r._setFieldItems(t,[])},_setFieldItems:function(t,r){var i=this,n=i.getFieldAt(t),a=e(r);n&&(n.setItems(a),i._valueChange(n.get("value"),t+1))},_getFieldIndex:function(e){var t=this,r=t.getFields();return BUI.Array.indexOf(e,r)}},{ATTRS:{type:{},store:{}}},{xclass:"form-group-select"}),a={};return n.addType=function(e,t){a[e]=t},n.addType("city",{proxy:{url:"http://lp.taobao.com/go/rgn/citydistrictdata.php",dataType:"jsonp"},map:{isleaf:"leaf",value:"text"}}),n}),define("bui/form/fieldgroup",["bui/common","bui/form/group/base","bui/form/group/range","bui/form/group/check","bui/form/group/select"],function(require){var e=require("bui/common"),t=require("bui/form/group/base");return e.mix(t,{Range:require("bui/form/group/range"),Check:require("bui/form/group/check"),Select:require("bui/form/group/select")}),t}),define("bui/form/form",["bui/common","bui/form/fieldcontainer"],function(require){var e=require("bui/common"),t={NORMAL:"normal",AJAX:"ajax",IFRAME:"iframe"},r=require("bui/form/fieldcontainer"),i=(e.Component,r.View.extend({_uiSetMethod:function(e){this.get("el").attr("method",e)},_uiSetAction:function(e){this.get("el").attr("action",e)}},{ATTRS:{method:{},action:{}}},{xclass:"form-view"})),n=r.extend({renderUI:function(){var t,r=this,i=r.get("buttonBar");$.isPlainObject(i)&&r.get("buttons")&&(t=e.merge(r.getDefaultButtonBarCfg(),i),r._initButtonBar(t)),r._initSubmitMask()},_initButtonBar:function(t){var r=this;e.use("bui/toolbar",function(e){buttonBar=new e.Bar(t),r.set("buttonBar",buttonBar)})},bindUI:function(){var e=this,r=e.get("el");r.on("submit",function(r){return e.valid(),e.isValid()&&e.onBeforeSubmit()!==!1?void(e.isValid()&&e.get("submitType")===t.AJAX&&(r.preventDefault(),e.ajaxSubmit())):(r.preventDefault(),void e.focusError())})},getDefaultButtonBarCfg:function(){var e=this,t=e.get("buttons");return{autoRender:!0,elCls:"toolbar",render:e.get("el"),items:t,defaultChildClass:"bar-item-button"}},focusError:function(){var t=this,r=t.getFields();e.each(r,function(t){if(t.get("visible")&&!t.get("disabled")&&!t.isValid()){try{t.focus()}catch(r){e.log(r)}return!1}})},submit:function(e){var r=this,i=r.get("submitType");