3 lines
4.4 KiB
JavaScript
3 lines
4.4 KiB
JavaScript
var Card,eTab,eTabType;import"../form/class/form.js";eTabType=function(){class e{}return e.FORM=1,e.TABLE=2,e}.call(this),eTab=function(){class e{}return e.NAME=1,e.CONTENT=2,e.TYPE=3,e.INIT_OPEN=4,e}.call(this);export default window.Card=Card=class extends React.Component{constructor(e){var t,a,s,n,l,i;super(e),t=null!=(s=(null!=(a=e.options)?a:{}).controller_method)?s:"getCardInfo",this.state={ajax:!0===e.ajax,controller:null!=(n=e.controller)?n:"",id:null!=(l=e.id)?l:"",loading:!0===e.ajax,data:null!=(i=e.data)?i:[],tab:null,in_modal:!0===e.in_modal,controller_method:t},this.aRefresh=this.aRefresh.bind(this),this.onSubmit=this.onSubmit.bind(this),this.onSubmitAndClose=this.onSubmitAndClose.bind(this),this.uaddEntity=this.uaddEntity.bind(this),this.aUaddEntity=this.aUaddEntity.bind(this),this.updateRender=this.updateRender.bind(this),this.tabs=null,this.pages=null}onSubmitAndClose(e){var t;return this.uaddEntity(e),"function"==typeof(t=this.props).onClose?t.onClose():void 0}onSubmit(e){return this.uaddEntity(e)}aUaddEntity(e,t){return console.log("aUaddEntity",e,t),e.success?(Notify.create({text:"Успешно сохранено"}),Controllers.update(t.controller)):Notify.create({color:"red",text:"Ошибка при сохранении: "+x.error})}uaddEntity(e){var t,a;return t=(a=e.values).controller,API(t+"/uadd",{values:a,dataType:"JSON"},this.aUaddEntity,{controller:t})}updateRender(){return $(this.pages).perfectScrollbar("update"),$(this.tabs).perfectScrollbar("update"),$(".content").perfectScrollbar("update")}aRefresh(e,t){return console.log("aRefresh",e),this.setState({loading:!1,data:e,tab:null},function(){return $(this.pages).perfectScrollbar(),$(this.tabs).perfectScrollbar(),this.checkInitTab()})}refresh(){var e,t,a;return({controller:e,id:a,controller_method:t}=this.state),API(e+"/"+t,{id:a,dataType:"JSON"},this.aRefresh)}checkInitTab(){var e,t,a,s,n;if(this,({tab:s,data:e}=this.state),null===s&&void 0!==e.tabs&&Array.isArray(e.tabs)){for(t in a=[],e.tabs)if(null!==(n=e.tabs[t])){if(console.log(t,n,n[eTab.INIT_OPEN]),!0===n[eTab.INIT_OPEN]){s=t,this.setTab(s);break}a.push(void 0)}return a}}componentDidMount(){return!0===this.state.ajax?this.refresh():this.checkInitTab()}setTab(e=null){return this.setState({tab:e},this.updateRender)}render(){var e,t,a,s,n,l,i,r,c,o,d,u,h,m,b=this;if(({loading:c,data:a,tab:u,title:m,in_modal:i}=this.state),s=!i,d=[],h=[],t=null,l=null,!c)if(void 0!==a.form)t=React.createElement("div",{class:"f1_db card_form_edit"},React.createElement("div",{class:"row"},React.createElement("div",{class:"c"},React.createElement("div",{class:"h"},a.title,". Редактирование"))),React.createElement("div",{class:"block"},React.createElement("div",{class:"body"},React.createElement("div",{class:"cont"},React.createElement(Form,{values:a.values,inputs:a.form,onSubmit:this.onSubmit,onSubmitAndClose:this.onSubmitAndClose,hideSubmitAndClose:s})))));else{for(r in a.tabs)null!==(n=a.tabs[r])&&(""!==a.image&&(l=React.createElement("img",{src:a.image})),h.push(React.createElement("div",{onClick:this.setTab.bind(this,r),key:r,className:"tab"+(r===u?" selected":"")},n[eTab.NAME])),e=n[eTab.CONTENT],t=null,n[eTab.TYPE]===eTabType.TABLE&&(t=React.createElement("div",{className:"table"},React.createElement(Table,{data:e}))),n[eTab.TYPE]===eTabType.FORM&&(t=React.createElement("div",{className:"cont"},React.createElement(Form,{values:e.values,inputs:e.inputs,onSubmit:this.onSubmit,onSubmitAndClose:this.onSubmitAndClose,hideSubmitAndClose:s}))),o=React.createElement("div",{className:"card_page",key:r},React.createElement("div",{className:"h"},n[eTab.NAME]),React.createElement("div",{className:"page_content"},React.createElement("div",{className:"block"},React.createElement("div",{className:"body"},t)))),null===u||-1===u?d.push(o):u===r&&d.push(o));h.length>0&&null!==u&&-1!==u&&h.push(React.createElement("div",{onClick:this.setTab.bind(this,-1),key:h.length,className:"tab"},"Показать всё")),t=React.createElement("div",{className:"card_content"},React.createElement("div",{className:"pages",ref:function(e){return b.pages=e}},React.createElement("div",{className:"pages_content"},d)),React.createElement("div",{className:"tabs",ref:function(e){return b.tabs=e}},React.createElement("div",null,l,h)))}return React.createElement("div",{className:"card"},c?React.createElement("div",{className:"card_loading"},"Загрузка..."):t)}};
|
|
//# sourceMappingURL=card.min.js.map
|