1
0
Fork 0
owl-admin-starter/public/admin-assets/assets/MatrixCheckboxes-5siVion2.js

2 lines
7.3 KiB
JavaScript

import{t as S,cg as M,ch as T,am as O,G as y,H as E,l as d,b8 as A,P as B,D,ap as H,T as x,z as g,a2 as U,bs as z,Y as F,ah as V}from"./index-CEmnTf-r.js";var L=function(b){S(a,b);function a(t){var e=b.call(this,t)||this;return e.mounted=!1,e.toDispose=[],e.state={columns:t.columns||[],rows:t.rows||[],loading:!1},e.toggleItem=e.toggleItem.bind(e),e.reload=e.reload.bind(e),e.initOptions=e.initOptions.bind(e),e.mounted=!0,e}return a.prototype.componentDidMount=function(){var t=this.props,e=t.formInited,n=t.addHook,r=t.formItem;r&&this.toDispose.push(e||!n?r.addInitHook(this.initOptions):n(this.initOptions,"init"))},a.prototype.componentDidUpdate=function(t){var e=this.props;if(t.columns!==e.columns||t.rows!==e.rows)this.setState({columns:e.columns||[],rows:e.rows||[]});else if(e.formInited&&(e.source!==t.source||t.data!==e.data)){var n=M(t.source,t.data,{ignoreData:!0}),r=M(e.source,e.data,{ignoreData:!0});n.url!==r.url&&T(r.url)&&this.reload()}},a.prototype.componentWillUnmount=function(){this.mounted=!1,this.toDispose.forEach(function(t){return t()}),this.toDispose=[]},a.prototype.doAction=function(t,e,n){var r,o,i=this.props,c=i.resetValue,f=i.onChange,h=i.formStore,k=i.store,s=i.name,l=t==null?void 0:t.actionType;if(l==="clear")f==null||f("");else if(l==="reset"){var m=(o=O((r=h==null?void 0:h.pristine)!==null&&r!==void 0?r:k==null?void 0:k.pristine,s))!==null&&o!==void 0?o:c;f==null||f(m??"")}},a.prototype.initOptions=function(t){return y(this,void 0,void 0,function(){var e,n,r;return E(this,function(o){switch(o.label){case 0:return[4,this.reload()];case 1:return o.sent(),e=this.props,n=e.formItem,r=e.name,n?(n.value&&z(t,r,n.value),[2]):[2]}})})},a.prototype.reload=function(){return y(this,void 0,void 0,function(){var t,e,n,r,o,i,c=this;return E(this,function(f){switch(f.label){case 0:if(t=this.props,e=t.source,n=t.data,r=t.env,o=t.onChange,i=t.translate,!F(e,n)||this.state.loading)return[2];if(!r||!r.fetcher)throw new Error("fetcher is required");return[4,new Promise(function(h,k){if(!c.mounted)return h();c.setState({loading:!0},function(){if(!c.mounted)return h();r.fetcher(e,n).then(function(s){if(!s.ok)throw new Error(s.msg||i("fetchFailed"));if(!c.mounted)return h();c.setState({loading:!1,rows:s.data.rows||[],columns:s.data.columns||[]},function(){e&&e.replaceData;var l=s.data.value;l&&(l=e.replaceData?l:P(l,c.state.columns,c.state.rows),o(l)),h()})}).catch(function(s){return c.setState({error:s,loading:!1},function(){return h()})})})})];case 1:return[2,f.sent()]}})})},a.prototype.toggleItem=function(t,e,n){return y(this,void 0,void 0,function(){var r,o,i,c,f,h,k,s,u,m,l,m,l,m,u,I,p;return E(this,function(C){switch(C.label){case 0:if(r=this.state,o=r.columns,i=r.rows,c=this.props,f=c.multiple,h=c.singleSelectMode,k=c.dispatchEvent,c.data,s=this.props.value||N(o,i),f)s[e][n]=g(g({},s[e][n]),{checked:t});else if(h==="row")for(u=0,m=o.length;u<m;u++)s[u][n]=g(g({},s[u][n]),{checked:e===u?t:!t});else if(h==="column")for(l=0,m=i.length;l<m;l++)s[e][l]=g(g({},s[e][l]),{checked:n===l?t:!t});else for(l=0,m=i.length;l<m;l++)for(u=0,I=o.length;u<I;u++)s[u][l]=g(g({},s[u][l]),{checked:e===u&&n===l?t:!t});return[4,k("change",V(this.props,{value:s.concat()}))];case 1:return p=C.sent(),p!=null&&p.prevented?[2]:(this.props.onChange(s.concat()),[2])}})})},a.prototype.isColumChecked=function(t,e){var n=t[e];return n?n.some(function(r){return r&&r.checked}):!1},a.prototype.isColumnPartialChecked=function(t,e){var n=t[e];if(!n||n.length==1)return!1;var r=n[0].checked;return n.some(function(o){return o.checked!==r})&&!n.every(function(o){return o.checked===r})},a.prototype.toggleColumnCheckAll=function(t,e,n){return y(this,void 0,void 0,function(){var r,o;return E(this,function(i){switch(i.label){case 0:r=e[n],o=0,i.label=1;case 1:return o<r.length?[4,this.toggleItem(t,n,o)]:[3,4];case 2:i.sent(),i.label=3;case 3:return o++,[3,1];case 4:return[2]}})})},a.prototype.isRowChecked=function(t,e){return t&&t.some(function(n){return n[e]&&n[e].checked})},a.prototype.isRowPartialChecked=function(t,e){if(!t||t.length==1)return!1;var n=t[0][e].checked;return t.some(function(r){return n!==r[e].checked})&&!t.every(function(r){return r.checked})},a.prototype.toggleRowCheckAll=function(t,e,n){return y(this,void 0,void 0,function(){var r;return E(this,function(o){switch(o.label){case 0:r=0,o.label=1;case 1:return r<e.length?[4,this.toggleItem(t,r,n)]:[3,4];case 2:o.sent(),o.label=3;case 3:return r++,[3,1];case 4:return[2]}})})},a.prototype.renderInput=function(t){var e=this;t===void 0&&(t=!1);var n=this.state,r=n.columns,o=n.rows,i=this.props,c=i.rowLabel,f=i.disabled,h=i.classnames,k=i.multiple,s=i.textAlign,l=i.xCheckAll,m=i.yCheckAll,u=i.testIdBuilder,I=i.mobileUI,p=this.props.value||N(r,o);return d.createElement("div",{className:h("Table m-b-none",{"is-mobile":I})},d.createElement("div",{className:h("Table-content")},d.createElement("table",{className:h("Table-table")},d.createElement("thead",null,d.createElement("tr",null,d.createElement("th",null,c),r.map(function(C,v){return d.createElement("th",{key:v,className:"text-"+(s||k?"left":"center")},k&&m?d.createElement(A,{type:"checkbox",disabled:t||f,checked:e.isColumChecked(p,v),partial:e.isColumnPartialChecked(p,v),onChange:function(_){return e.toggleColumnCheckAll(_,p,v)}}):null,C.label)}))),d.createElement("tbody",null,o.map(function(C,v){return d.createElement("tr",{key:v},d.createElement("td",null,k&&l?d.createElement(A,{type:"checkbox",disabled:t||f,checked:e.isRowChecked(p,v),partial:e.isRowPartialChecked(p,v),onChange:function(_){return e.toggleRowCheckAll(_,p,v)},testIdBuilder:u==null?void 0:u.getChild(v)}):null,C.label,C.description||C.desc?d.createElement("span",{className:"m-l-xs text-muted text-xs"},C.description||C.desc):null),r.map(function(_,w){return d.createElement("td",{key:w,className:"text-"+(s||k?"left":"center")},d.createElement(A,{type:k?"checkbox":"radio",disabled:t||f,checked:!!(p[w]&&p[w][v]&&p[w][v].checked),onChange:function(R){return e.toggleItem(R,w,v)},testIdBuilder:u==null?void 0:u.getChild("".concat(w,"-").concat(v))}))}))})))))},a.prototype.renderStatic=function(t){t===void 0&&(t="-");var e=this.props,n=e.className;e.render;var r=e.classnames,o=this.state.error;return d.createElement("div",{key:"input",className:r("MatrixControl",n||"")},o?t:this.renderInput(!0))},a.prototype.render=function(){var t=this.props,e=t.className;t.render;var n=t.classnames,r=t.loadingConfig,o=this.state,i=o.error,c=o.loading;return d.createElement("div",{key:"input",className:n("MatrixControl",e||"")},i?d.createElement("div",{className:n("MatrixControl-error Alert Alert--danger")},String(i)):this.renderInput(),d.createElement(B,{size:"lg",overlay:!0,key:"info",show:c,loadingConfig:r}))},a.defaultProps={columns:[],rows:[],multiple:!0,singleSelectMode:"column"},D([H(),x("design:type",Function),x("design:paramtypes",[]),x("design:returntype",void 0)],a.prototype,"render",null),a}(d.Component);function N(b,a){return Array.isArray(b)||(b=[]),Array.isArray(a)||(a=[]),b.map(function(t){return a.map(function(e){return g(g(g({},e),t),{checked:!1})})})}function P(b,a,t){return b.map(function(e,n){return e.map(function(r,o){return g(g(g({},a[n]),t[o]),r)})})}var j=function(b){S(a,b);function a(){return b!==null&&b.apply(this,arguments)||this}return a=D([U({type:"matrix-checkboxes",strictMode:!1,sizeMutable:!1})],a),a}(L);export{j as MatrixRenderer,L as default};