2 lines
16 KiB
JavaScript
2 lines
16 KiB
JavaScript
import{t as U,aq as R,x as G,al as H,w as J,a4 as x,z as p,b3 as T,G as E,H as N,aM as K,ax as Z,b4 as W,l as u,M as y,L as P,p as L,a7 as ee,b5 as te,ad as Q,b6 as re,P as ae,ae as ne,U as oe,D as ie,E as se,b7 as le,T as de,aU as M}from"./index-CEmnTf-r.js";var ce=function(v){U(l,v);function l(t){var e=v.call(this,t)||this;e.handleAction=e.handleAction.bind(e),e.handleCheck=e.handleCheck.bind(e),e.handleClick=e.handleClick.bind(e),e.handleCheckAll=e.handleCheckAll.bind(e),e.handleQuickChange=e.handleQuickChange.bind(e),e.handleSave=e.handleSave.bind(e),e.handleSaveOrder=e.handleSaveOrder.bind(e),e.reset=e.reset.bind(e),e.dragTipRef=e.dragTipRef.bind(e),e.bodyRef=e.bodyRef.bind(e),e.renderToolbar=e.renderToolbar.bind(e);var r=t.store,a=t.selectable,n=t.draggable,i=t.orderBy,o=t.orderDir,d=t.multiple,s=t.hideCheckToggler,c=t.itemCheckableOn,h=t.itemDraggableOn;return r.update({selectable:a,draggable:n,orderBy:i,orderDir:o,multiple:d,hideCheckToggler:s,itemCheckableOn:c,itemDraggableOn:h}),l.syncItems(r,e.props)&&e.syncSelected(),e}return l.syncItems=function(t,e,r){var a=e.source,n=R(e,function(c){return c.items}),i=[],o=!1;if(Array.isArray(n)&&(!r||R(r,function(c){return c.items})!==n))i=n,o=!0;else if(typeof a=="string"){var d=G(a,e.data,"| raw"),s=r?G(a,r.data,"| raw"):null;s===d?o=!1:(i=Array.isArray(d)?d:[],o=!0)}return o&&t.initItems(i,e.fullItems,e.selected),Array.isArray(e.selected)&&t.updateSelected(e.selected,e.valueField),o},l.prototype.componentDidUpdate=function(t){var e=this.props,r=e.store;H(["selectable","draggable","orderBy","orderDir","multiple","hideCheckToggler","itemCheckableOn","itemDraggableOn"],t,e)&&r.update({selectable:e.selectable,draggable:e.draggable,orderBy:e.orderBy,orderDir:e.orderDir,multiple:e.multiple,hideCheckToggler:e.hideCheckToggler,itemCheckableOn:e.itemCheckableOn,itemDraggableOn:e.itemDraggableOn}),H(["source","value","items"],t,e)||!e.value&&!e.items&&(e.data!==t.data||typeof e.source=="string"&&J(e.source))?l.syncItems(r,e,t)&&this.syncSelected():t.selected!==e.selected&&r.updateSelected(e.selected||[],e.valueField)},l.prototype.bodyRef=function(t){this.body=t},l.prototype.handleAction=function(t,e,r){var a=this.props.onAction;return a==null?void 0:a(t,e,r)},l.prototype.handleCheck=function(t){t.toggle(),this.syncSelected();var e=this.props,r=e.store,a=e.dispatchEvent;a("selectedChange",x(r.data,p(p({},r.eventContext),{item:t.data})))},l.prototype.handleClick=function(t){var e=this.props,r=e.dispatchEvent,a=e.data;return r("rowClick",x(a,{item:t.data,index:t.index}))},l.prototype.handleCheckAll=function(){var t=this.props.store;t.toggleAll(),this.syncSelected()},l.prototype.handleSelectAll=function(){var t=this.props.store;t.selectAll(),this.syncSelected()},l.prototype.handleClearAll=function(){var t=this.props.store;t.clearAll(),this.syncSelected()},l.prototype.syncSelected=function(){var t=this.props,e=t.store,r=t.onSelect,a=t.dispatchEvent,n=e.selectedItems.map(function(o){return o.data}),i=e.unSelectedItems.map(function(o){return o.data});a("selected",x(e.data,{selectItems:n,unSelectItems:i})),r&&r(n,i)},l.prototype.handleQuickChange=function(t,e,r,a,n){t.change(e,a);var i=this.props,o=i.onSave,d=i.onItemChange,s=i.primaryField;if(!a){if(d==null||d(t.data,T(t.data,t.pristine,["id",s]),t.index),r&&r.api){this.props.onAction(null,{actionType:"ajax",api:r.api,reload:n==null?void 0:n.reload},t.locals);return}!r||!o||o(t.data,T(t.data,t.pristine,["id",s]),t.index,void 0,t.pristine,n)}},l.prototype.handleSave=function(){var t=this.props,e=t.store,r=t.onSave,a=t.primaryField;if(!(!r||!e.modifiedItems.length)){var n=e.modifiedItems.map(function(s){return s.data}),i=e.modifiedItems.map(function(s){return s.index}),o=e.modifiedItems.map(function(s){return T(s.data,s.pristine,["id",a])}),d=e.items.filter(function(s){return!s.modified}).map(function(s){return s.data});r(n,o,i,d,e.modifiedItems.map(function(s){return s.pristine}))}},l.prototype.handleSaveOrder=function(){return E(this,void 0,void 0,function(){var t,e,r,a,n,i,o;return N(this,function(d){switch(d.label){case 0:return t=this.props,e=t.store,r=t.onSaveOrder,a=t.data,n=t.dispatchEvent,i=e.movedItems.map(function(s){return s.data}),[4,n("orderChange",x(a,{movedItems:i}))];case 1:return o=d.sent(),o!=null&&o.prevented?[2]:!r||!e.movedItems.length?[2]:(r(e.movedItems.map(function(s){return s.data}),e.items.map(function(s){return s.data})),[2])}})})},l.prototype.reset=function(){var t=this.props.store;t.reset()},l.prototype.bulkUpdate=function(t,e){var r=this.props,a=r.store,n=r.primaryField;if(n&&t.ids){var i=t.ids.split(","),o=a.items.filter(function(s){return K(i,function(c){return c&&c==s.data[n]})}),d=p(p({},t),{ids:void 0});o.forEach(function(s){return s.change(d)})}else if(Array.isArray(e)){var o=a.items.filter(function(c){return~e.indexOf(c.pristine)});o.forEach(function(c){return c.change(t)})}},l.prototype.getSelected=function(){var t=this.props.store;return t.selectedItems.map(function(e){return e.data})},l.prototype.dragTipRef=function(t){!this.dragTip&&t?this.initDragging():this.dragTip&&!t&&this.destroyDragging(),this.dragTip=t},l.prototype.initDragging=function(){if(!this.sortable){var t=this.props.store,e=Z.findDOMNode(this),r=this.props.classPrefix;this.sortable=new W(e.querySelector(".".concat(r,"Cards-body")),{group:"table",animation:150,handle:".".concat(r,"Card-dragBtn"),ghostClass:"is-dragging",onEnd:function(a){if(a.newIndex!==a.oldIndex){var n=a.to;a.oldIndex<n.childNodes.length-1?n.insertBefore(a.item,n.childNodes[a.oldIndex>a.newIndex?a.oldIndex+1:a.oldIndex]):n.appendChild(a.item),t.exchange(a.oldIndex,a.newIndex)}}})}},l.prototype.destroyDragging=function(){this.sortable&&this.sortable.destroy(),this.sortable=void 0},l.prototype.renderActions=function(t){var e=this,r=this.props,a=r.actions,n=r.render,i=r.store,o=r.classnames,d;return a=Array.isArray(a)?a.concat():[],!~this.renderedToolbars.indexOf("check-all")&&(d=this.renderCheckAll())&&a.unshift({type:"button",children:d}),t==="header"&&!~this.renderedToolbars.indexOf("drag-toggler")&&(d=this.renderDragToggler())&&a.unshift({type:"button",children:d}),Array.isArray(a)&&a.length?u.createElement("div",{className:o("Cards-actions")},a.map(function(s,c){return n("action/".concat(c),p({type:"button"},s),{onAction:e.handleAction,key:c,btnDisabled:i.dragging})})):null},l.prototype.renderHeading=function(){var t=this.props,e=t.title,r=t.store,a=t.hideQuickSaveBtn,n=t.classnames,i=t.data;return e||r.modified&&!a||r.moved?u.createElement("div",{className:n("Cards-heading")},r.modified&&!a?u.createElement("span",null,"当前有 ".concat(r.modified," 条记录修改了内容, 但并没有提交。请选择:"),u.createElement("button",{type:"button",className:n("Button Button--xs Button--success m-l-sm"),onClick:this.handleSave},u.createElement(y,{icon:"check",className:"icon m-r-xs"}),"提交"),u.createElement("button",{type:"button",className:n("Button Button--xs Button--danger m-l-sm"),onClick:this.reset},u.createElement(y,{icon:"close",className:"icon m-r-xs"}),"放弃")):r.moved?u.createElement("span",null,"当前有 ".concat(r.moved," 条记录修改了顺序, 但并没有提交。请选择:"),u.createElement("button",{type:"button",className:n("Button Button--xs Button--success m-l-sm"),onClick:this.handleSaveOrder},u.createElement(y,{icon:"check",className:"icon m-r-xs"}),"提交"),u.createElement("button",{type:"button",className:n("Button Button--xs Button--danger m-l-sm"),onClick:this.reset},u.createElement(y,{icon:"close",className:"icon m-r-xs"}),"放弃")):e?P(e,i):""):null},l.prototype.renderHeader=function(){var t=this.props,e=t.header,r=t.headerClassName;t.headerToolbar;var a=t.headerToolbarRender,n=t.showHeader,i=t.render,o=t.store,d=t.classnames,s=t.translate;if(n===!1)return null;var c=a?a(p(p({},this.props),o.eventContext),this.renderToolbar):null,h=this.renderActions("header"),m=h||c||o.dragging?u.createElement("div",{className:d("Cards-toolbar"),key:"header-toolbar"},h,c,o.dragging?u.createElement("div",{className:d("Cards-dragTip"),ref:this.dragTipRef},s("Card.dragTip")):null):null,g=e?u.createElement("div",{className:d("Cards-header",r),key:"header"},i("header",e)):null;return g&&m?[g,m]:g||m||null},l.prototype.renderFooter=function(){var t=this.props,e=t.footer,r=t.footerClassName;t.footerToolbar;var a=t.footerToolbarRender,n=t.render,i=t.showFooter,o=t.store,d=t.classnames,s=t.affixFooter;if(i===!1)return null;var c=a?a(p(p({},this.props),o.eventContext),this.renderToolbar):null,h=this.renderActions("footer"),m=e?u.createElement("div",{className:d("Cards-footer",r,s?"Cards-footer--affix":""),key:"footer"},n("footer",e)):null,g=h||c?u.createElement("div",{className:d("Cards-toolbar",!m&&s?"Cards-footToolbar--affix":""),key:"footer-toolbar"},h,c):null;return m&&g?[g,m]:m||g||null},l.prototype.renderCheckAll=function(){var t=this.props,e=t.store,r=t.multiple,a=t.selectable,n=t.checkAll;return!e.selectable||!r||!a||e.dragging||!e.items.length||!n?null:u.createElement(L,{key:"checkall",tooltip:"切换全选",onClick:this.handleCheckAll,size:"sm",level:e.allChecked?"info":"default"},"全选")},l.prototype.renderDragToggler=function(){var t=this,e=this.props,r=e.store;e.multiple,e.selectable;var a=e.popOverContainer,n=e.env,i=e.translate,o=e.dragIcon;return!r.draggable||r.items.length<2?null:u.createElement(L,{iconOnly:!0,key:"dragging-toggle",tooltip:i("Card.toggleDrag"),tooltipContainer:a||(n==null?void 0:n.getModalContainer),size:"sm",active:r.dragging,onClick:function(d){d.preventDefault(),r.toggleDragging(),r.dragging&&r.clear(),r.dragging&&t.initDragging()}},u.isValidElement(o)?o:u.createElement(y,{icon:"exchange",className:"icon r90"}))},l.prototype.renderToolbar=function(t,e){var r=t.type||t;if(r==="drag-toggler")return this.renderedToolbars.push(r),this.renderDragToggler();if(r==="check-all")return this.renderedToolbars.push(r),this.renderCheckAll()},l.prototype.renderCard=function(t,e,r,a,n){var i=this,o=this.props,d=o.render,s=o.classnames,c=o.store,h=o.multiple,m=o.checkOnItemClick,g=o.hideCheckToggler,C={className:s(ee(e&&e.className||"",r.locals),{"is-checked":r.checked,"is-modified":r.modified,"is-moved":r.moved,"is-dragging":c.dragging}),item:r,key:t,itemIndex:r.index,multiple:h,selectable:c.selectable,checkable:r.checkable,draggable:r.draggable,selected:r.checked,dragging:c.dragging,data:r.locals,onAction:this.handleAction,onCheck:this.handleCheck,onClick:this.handleClick,onQuickChange:c.dragging?null:this.handleQuickChange};return(e==null?void 0:e.type)==="card2"&&(C=p(p({},C),{item:r.locals,onCheck:function(){i.handleCheck(r)}})),u.createElement("div",{key:r.index,className:s(a),style:n},d("card/".concat(t),p({type:e.type||"card",hideCheckToggler:g,checkOnItemClick:m},e),C))},l.prototype.render=function(){var t=this,e=this.props,r=e.className,a=e.style,n=e.store,i=e.columnsCount,o=e.itemClassName,d=e.placeholder,s=e.card,c=e.data,h=e.render,m=e.affixHeader,g=e.masonryLayout,C=e.itemsClassName,b=e.classnames,j=e.translate,_=e.loading,$=_===void 0?!1:_,V=e.loadingConfig,z=e.env,A=e.id,D=e.wrapperCustomStyle,I=e.themeCss,X=e.mobileUI;this.renderedToolbars=[];var F=function(){if(X&&!g)return"";if(g&&i){var f=Math.round(12/i);return"Grid-col--xs".concat(f," Grid-col--sm").concat(f," Grid-col--md").concat(f," Grid-col--lg").concat(f)}return o||""}(),O=this.renderHeader(),B=this.renderHeading(),q=this.renderFooter(),w="";g&&(w="Cards--masonry "+F.split(/\s/).map(function(f){return/^Grid-col--(xs|sm|md|lg)(\d+)/.test(f)?"Cards--masonry".concat(te(RegExp.$1)).concat(RegExp.$2):f}).join(" "));var S={},k={};return(a==null?void 0:a.gutterX)>=0&&(S.marginLeft=S.marginRight=-((a==null?void 0:a.gutterX)/2)+"px",k.paddingLeft=k.paddingRight=(a==null?void 0:a.gutterX)/2+"px"),(a==null?void 0:a.gutterY)>=0&&(k.marginBottom=(a==null?void 0:a.gutterY)+"px"),u.createElement("div",{ref:this.bodyRef,className:b("Cards",r,{"Cards--unsaved":!!n.modified||!!n.moved},Q(p(p({},this.props),{name:"baseControlClassName",id:A,themeCss:I})),Q(p(p({},this.props),{name:"wrapperCustomStyle",id:A,themeCss:D}))),style:re(a,c)},m?u.createElement("div",{className:b("Cards-fixedTop")},O,B):u.createElement(u.Fragment,null,O,B),n.items.length?u.createElement("div",{className:b("Cards-body Grid",C,w),style:S},n.items.map(function(f,Y){return t.renderCard(Y,s,f,F,k)})):u.createElement("div",{className:b("Cards-placeholder")},h("placeholder",j(d))),q,u.createElement(ae,{loadingConfig:V,overlay:!0,show:$}),u.createElement(ne,p({},this.props,{config:{wrapperCustomStyle:D,id:A,themeCss:I,classNames:[{key:"baseControlClassName"}]},env:z})))},l.propsList=["header","headerToolbarRender","footer","footerToolbarRender","placeholder","source","selectable","headerClassName","footerClassName","hideQuickSaveBtn","hideCheckToggler","itemCheckableOn","itemDraggableOn","masonryLayout","items","valueField"],l.defaultProps={className:"",placeholder:"placeholder.noData",source:"$items",selectable:!1,headerClassName:"",footerClassName:"",itemClassName:"Grid-col--xs12 Grid-col--sm6 Grid-col--md4 Grid-col--lg3",hideCheckToggler:!1,masonryLayout:!1,affixHeader:!0,itemsClassName:"",checkAll:!0},l}(u.Component),he=function(v){U(l,v);function l(t,e){var r=v.call(this,t)||this;return e.registerComponent(r),r}return l.prototype.componentWillUnmount=function(){var t;(t=v.prototype.componentWillUnmount)===null||t===void 0||t.call(this),this.context.unRegisterComponent(this)},l.prototype.receive=function(t,e){var r,a,n,i,o=this.context;if((r=o==null?void 0:o.parent)===null||r===void 0||r.getComponents(),!((a=this.props)===null||a===void 0)&&a.host)return(i=(n=this.props.host).receive)===null||i===void 0?void 0:i.call(n,t,e);if(e)return o.send(e,t)},l.prototype.reload=function(t,e,r,a,n,i){var o,d,s;return E(this,void 0,void 0,function(){var c;return N(this,function(h){return this.props.store,i!=null&&i.index||i!=null&&i.condition?[2]:(c=this.context,!((o=this.props)===null||o===void 0)&&o.host?[2,(s=(d=this.props.host).reload)===null||s===void 0?void 0:s.call(d,t,e,r)]:t?[2,c.reload(t,r)]:[2])})})},l.prototype.setData=function(t,e,r,a){var n,i,o;return E(this,void 0,void 0,function(){var d,s;return N(this,function(c){switch(c.label){case 0:return d=this.props.store,r!==void 0||a!==void 0?[4,M(d.items,this.props.data,r,a)]:[3,2];case 1:return s=c.sent(),s.forEach(function(h){h.updateData(t)}),[3,3];case 2:return!((n=this.props)===null||n===void 0)&&n.host?[2,(o=(i=this.props.host).setData)===null||o===void 0?void 0:o.call(i,t,e,r,a)]:[2,d.updateData(t,void 0,e)];case 3:return[2]}})})},l.prototype.getData=function(){var t=this.props,e=t.store,r=t.data;return e.getData(r)},l.prototype.hasModifiedItems=function(){return this.props.store.modified},l.prototype.doAction=function(t,e,r,a){return E(this,void 0,void 0,function(){var n,i,o,d,s,c,h;return N(this,function(m){switch(m.label){case 0:switch(n=this.props,i=n.store,o=n.valueField,d=n.data,s=t==null?void 0:t.actionType,c=s,c){case"selectAll":return[3,1];case"clearAll":return[3,2];case"select":return[3,3];case"initDrag":return[3,5];case"cancelDrag":return[3,6];case"submitQuickEdit":return[3,7]}return[3,9];case 1:return i.clear(),i.toggleAll(),this.syncSelected(),[3,10];case 2:return i.clear(),this.syncSelected(),[3,10];case 3:return[4,M(i.items,e||this.props.data,a.index,a.condition,a.selected)];case 4:return h=m.sent(),i.updateSelected(h.map(function(g){return g.data}),o),this.syncSelected(),[3,10];case 5:return i.startDragging(),[3,10];case 6:return i.stopDragging(),[3,10];case 7:return[4,this.handleSave()];case 8:return m.sent(),[3,10];case 9:return[2,this.handleAction(void 0,t,d)];case 10:return[2]}})})},l.contextType=oe,l=ie([se({name:"cards",type:"cards",storeType:le.name,weight:-100}),de("design:paramtypes",[Object,Object])],l),l}(ce);export{he as CardsRenderer,ce as default};
|