UNPKG

5.27 kBJavaScriptView Raw
1import e from"react";function t(){return(t=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var a=arguments[t];for(var n in a)Object.prototype.hasOwnProperty.call(a,n)&&(e[n]=a[n])}return e}).apply(this,arguments)}const a=["AllowDeleteChanged","AllowUpdateChanged","AllowInsertChanged","SaveFailed","PartialDataLoaded","DataLoadFailed","FieldChanged","RecordCreated","RecordRefreshed","RecordDeleting","RecordDeleted","AfterSave","BeforeLoad","BeforeSave","CancelEdit","CurrentIndexChanged","DataLoaded","DirtyChanged"];function n(n){let d=arguments.length>1&&void 0!==arguments[1]&&arguments[1];return function(i){function s(){return"string"==typeof n?window[n]:n}const h=class extends e.Component{constructor(e){super(e);const t={},a=s();if(d)for(let e of a.getFields())t[e.name]=null;else t.data=[];this.state=Object.assign({canDelete:a.isDeleteAllowed(),canUpdate:a.isUpdateAllowed(),canInsert:a.isInsertAllowed(),currentIndex:a.getCurrentIndex(),isDirty:a.isDirty(),isDeleting:!1,isLoading:!0===a.isDataLoading(),isSaving:!1,loadError:null,saveFailed:!1},t),this.handleAfterSave=this.handleAfterSave.bind(this),this.handleAllowDeleteChanged=this.handleAllowDeleteChanged.bind(this),this.handleAllowInsertChanged=this.handleAllowInsertChanged.bind(this),this.handleAllowUpdateChanged=this.handleAllowUpdateChanged.bind(this),this.handleBeforeLoad=this.handleBeforeLoad.bind(this),this.handleBeforeSave=this.handleBeforeSave.bind(this),this.handleCancelEdit=this.handleCancelEdit.bind(this),this.handleCurrentIndexChanged=this.handleCurrentIndexChanged.bind(this),this.handleDataLoaded=this.handleDataLoaded.bind(this),this.handleDataLoadFailed=this.handleDataLoadFailed.bind(this),this.handleDirtyChanged=this.handleDirtyChanged.bind(this),this.handlePartialDataLoaded=this.handlePartialDataLoaded.bind(this),this.handleRecordDeleting=this.handleRecordDeleting.bind(this),this.handleRecordDeleted=this.handleRecordDeleted.bind(this),this.handleSaveFailed=this.handleSaveFailed.bind(this),this.setFieldValue=this.setFieldValue.bind(this),this.setFieldValues=this.setFieldValues.bind(this),this.updateData=this.updateData.bind(this),this.handleFieldChanged=this.updateData,this.handleRecordCreated=this.updateData,this.handleRecordRefreshed=this.updateData}componentDidMount(){const e=s();for(let t of a)e.attachEvent("on"+t,this["handle"+t]);this.updateData()}componentWillUnmount(){const e=s();for(let t of a)e.detachEvent("on"+t,this["handle"+t])}cancelEdit(){s().cancelEdit()}deleteRow(e){const t=s();return new Promise(a=>{const n=(e,t)=>{a({data:t,error:e})};d?t.deleteCurrentRow(n):t.deleteRow(e,n)})}endEdit(e){const t=s();return new Promise(a=>{t.endEdit((t,n)=>{"function"==typeof e&&e(t,n),a({data:n,error:t})})})}updateData(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};const t=s();if(d){const a=t.currentRow();this.setState(Object.assign(a,e))}else{const a=t.getData(),n=t.currentRow();this.setState(Object.assign({current:n,data:a},e))}}handleAllowDeleteChanged(e){this.setState({canDelete:e})}handleAllowUpdateChanged(e){this.setState({canUpdate:e})}handleAllowInsertChanged(e){this.setState({canInsert:e})}handleSaveFailed(){this.setState({saveFailed:!0})}handlePartialDataLoaded(){return null}handleDataLoadFailed(e){e?this.setState({isLoading:!1,loadError:e}):this.setState({isLoading:!1})}handleRecordDeleting(){this.setState({isDeleting:!0})}handleRecordDeleted(){this.updateData({isDeleting:!1})}handleAfterSave(){this.updateData({isSaving:!1})}handleBeforeLoad(){this.setState({isLoading:!0})}handleBeforeSave(){this.setState({isSaving:!0,saveFailed:!1})}handleCancelEdit(){this.updateData({isSaving:!1})}handleCurrentIndexChanged(e){d?this.updateData():(this.updateData(),this.setState({currentIndex:e}))}handleDataLoaded(){this.updateData({isLoading:!1,isSaving:!1,isDeleting:!1,saveFailed:!1})}handleDirtyChanged(){this.setState({isDirty:s().isDirty()})}refreshData(e){const t=s();return new Promise(a=>{t.refreshDataSource((t,n)=>{"function"==typeof e&&e(t,n),a({data:n,error:t})})})}refreshRow(e){const t=s();return new Promise(a=>{t.refreshCurrentRow((t,n)=>{"function"==typeof e&&e(t,n),a({data:n,error:t})})})}setFieldValue(e,t){s().currentRow(e,t),this.updateData()}setFieldValues(e){const t=s();for(let a in e)Object.prototype.hasOwnProperty.call(e,a)&&t.currentRow(a,e[a]);this.updateData()}setCurrentIndex(e){s().setCurrentIndex(e)}setParameter(){s().setParameter(...arguments)}render(){return e.createElement(i,t({},this.state,{onCancelEdit:this.cancelEdit,onCurrentIndexChange:this.setCurrentIndex,onDeleteRow:this.deleteRow,onEndEdit:this.endEdit,onFieldChange:this.setFieldValue,onFieldsChange:this.setFieldValues,onRefreshData:this.refreshData,onRefreshRow:this.refreshRow,onSetParameter:this.setParameter},this.props))}};return h.displayName="string"==typeof n?n:n.getDataSourceId(),h.displayName+="(".concat(i.displayName||i.name||"Component",")"),h}}const d=["onCancelEdit","onCurrentIndexChange","onEndEdit","onDeleteRow","onFieldChange","onFieldsChange","onRefreshData","onRefreshRow","onSetParameter","canDelete","canUpdate","canInsert","currentIndex","isDirty","isDeleting","isLoading","isSaving","loadError","saveFailed"],i=e=>n(e,!0);export{n as connect,i as connectRow,d as properties};