| 1 |
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _xeUtils=_interopRequireDefault(require("xe-utils")),_conf=_interopRequireDefault(require("../../v-x-e-table/src/conf")),_vXETable=_interopRequireDefault(require("../../v-x-e-table")),_size=_interopRequireDefault(require("../../mixins/size")),_tools=require("../../tools");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function _defineProperty(e,t,o){return t in e?Object.defineProperty(e,t,{value:o,enumerable:!0,configurable:!0,writable:!0}):e[t]=o,e}function renderBtns(i,s){var r=s._e,e=s.$scopedSlots,c=s.$xegrid,l=s.$xetable,t=s.buttons,t=void 0===t?[]:t;return e.buttons?e.buttons.call(s,{$grid:c,$table:l},i):t.map(function(t){var e=t.dropdowns,o=t.buttonRender,n=o?_vXETable.default.renderer.get(o.name):null;if(!1===t.visible)return r();if(n){n=n.renderToolbarButton||n.renderButton;if(n)return i("span",{class:"vxe-button--item"},n.call(s,i,o,{$grid:c,$table:l,button:t}))}return i("vxe-button",{on:{click:function(e){return s.btnEvent(e,t)}},props:{disabled:t.disabled,loading:t.loading,type:t.type,icon:t.icon,circle:t.circle,round:t.round,status:t.status,content:_tools.UtilTools.getFuncText(t.name),destroyOnClose:t.destroyOnClose,placement:t.placement,transfer:t.transfer},scopedSlots:e&&e.length?{dropdowns:function(){return e.map(function(t){return!1===t.visible?r():i("vxe-button",{on:{click:function(e){return s.btnEvent(e,t)}},props:{disabled:t.disabled,loading:t.loading,type:t.type,icon:t.icon,circle:t.circle,round:t.round,status:t.status,content:_tools.UtilTools.getFuncText(t.name)}})})}}:null})})}function renderRightTools(e,t){var o=t.$scopedSlots,n=t.$xegrid,i=t.$xetable;return o.tools?o.tools.call(t,{$grid:n,$table:i},e):[]}function renderCustoms(s,r){var e=r.$xetable,t=r.customStore,o=r.customOpts,n=r.columns,c=[],i={},l={},u=e?e.customOpts.checkMethod:null;return"manual"===o.trigger||("hover"===o.trigger?(i.mouseenter=r.handleMouseenterSettingEvent,i.mouseleave=r.handleMouseleaveSettingEvent,l.mouseenter=r.handleWrapperMouseenterEvent,l.mouseleave=r.handleWrapperMouseleaveEvent):i.click=r.handleClickSettingEvent),_xeUtils.default.eachTree(n,function(e){var t=_tools.UtilTools.formatText(e.getTitle(),1),o=e.getKey(),n=e.children&&e.children.length,i=!!u&&!u({column:e});(n||o)&&c.push(s("li",{class:["vxe-custom--option","level--".concat(e.level),{"is--group":n,"is--checked":e.visible,"is--indeterminate":e.halfVisible,"is--disabled":i}],attrs:{title:t},on:{click:function(){i||r.changeCustomOption(e)}}},[s("span",{class:"vxe-checkbox--icon vxe-checkbox--checked-icon"}),s("span",{class:"vxe-checkbox--icon vxe-checkbox--unchecked-icon"}),s("span",{class:"vxe-checkbox--icon vxe-checkbox--indeterminate-icon"}),s("span",{class:"vxe-checkbox--label"},t)]))}),s("div",{class:["vxe-custom--wrapper",{"is--active":t.visible}],ref:"customWrapper"},[s("vxe-button",{props:{circle:!0,icon:o.icon||_conf.default.icon.TOOLBAR_TOOLS_CUSTOM},attrs:{title:_conf.default.i18n("vxe.toolbar.custom")},on:i}),s("div",{class:"vxe-custom--option-wrapper"},[s("ul",{class:"vxe-custom--header"},[s("li",{class:["vxe-custom--option",{"is--checked":t.isAll,"is--indeterminate":t.isIndeterminate}],attrs:{title:_conf.default.i18n("vxe.table.allTitle")},on:{click:r.allCustomEvent}},[s("span",{class:"vxe-checkbox--icon vxe-checkbox--checked-icon"}),s("span",{class:"vxe-checkbox--icon vxe-checkbox--unchecked-icon"}),s("span",{class:"vxe-checkbox--icon vxe-checkbox--indeterminate-icon"}),s("span",{class:"vxe-checkbox--label"},_conf.default.i18n("vxe.toolbar.customAll"))])]),s("ul",{class:"vxe-custom--body",on:l},c),!1===o.isFooter?null:s("div",{class:"vxe-custom--footer"},[s("button",{class:"btn--confirm",on:{click:r.confirmCustomEvent}},_conf.default.i18n("vxe.toolbar.customConfirm")),s("button",{class:"btn--reset",on:{click:r.resetCustomEvent}},_conf.default.i18n("vxe.toolbar.customRestore"))])])])}var _default2={name:"VxeToolbar",mixins:[_size.default],props:{loading:Boolean,refresh:[Boolean,Object],import:[Boolean,Object],export:[Boolean,Object],print:[Boolean,Object],zoom:[Boolean,Object],custom:[Boolean,Object],buttons:{type:Array,default:function(){return _conf.default.toolbar.buttons}},perfect:{type:Boolean,default:function(){return _conf.default.toolbar.perfect}},size:{type:String,default:function(){return _conf.default.toolbar.size||_conf.default.size}}},inject:{$xegrid:{default:null}},data:function(){return{$xetable:null,isRefresh:!1,columns:[],customStore:{isAll:!1,isIndeterminate:!1,visible:!1}}},computed:{refreshOpts:function(){return Object.assign({},_conf.default.toolbar.refresh,this.refresh)},importOpts:function(){return Object.assign({},_conf.default.toolbar.import,this.import)},exportOpts:function(){return Object.assign({},_conf.default.toolbar.export,this.export)},printOpts:function(){return Object.assign({},_conf.default.toolbar.print,this.print)},zoomOpts:function(){return Object.assign({},_conf.default.toolbar.zoom,this.zoom)},customOpts:function(){return Object.assign({},_conf.default.toolbar.custom,this.custom)}},created:function(){var t=this,o=this.refresh,n=this.refreshOpts;this.$nextTick(function(){var e=t.fintTable();!o||t.$xegrid||n.query||_tools.UtilTools.warn("vxe.error.notFunc",["query"]),e&&e.connect(t),"development"===process.env.NODE_ENV&&t.buttons&&t.buttons.forEach(function(e){e=e.buttonRender,e=e?_vXETable.default.renderer.get(e.name):null;e&&e.renderButton&&_tools.UtilTools.warn("vxe.error.delFunc",["renderButton","renderToolbarButton"])})}),_tools.GlobalEvent.on(this,"mousedown",this.handleGlobalMousedownEvent),_tools.GlobalEvent.on(this,"blur",this.handleGlobalBlurEvent)},destroyed:function(){_tools.GlobalEvent.off(this,"mousedown"),_tools.GlobalEvent.off(this,"blur")},render:function(e){var t,o=this._e,n=this.$xegrid,i=this.perfect,s=this.loading,r=this.importOpts,c=this.exportOpts,l=this.refresh,u=this.refreshOpts,a=this.zoom,h=this.zoomOpts,f=this.custom,d=this.vSize;return e("div",{class:["vxe-toolbar",(_defineProperty(t={},"size--".concat(d),d),_defineProperty(t,"is--perfect",i),_defineProperty(t,"is--loading",s),t)]},[e("div",{class:"vxe-button--wrapper"},renderBtns(e,this)),e("div",{class:"vxe-tools--wrapper"},renderRightTools(e,this)),e("div",{class:"vxe-tools--operate"},[this.import?e("vxe-button",{props:{circle:!0,icon:r.icon||_conf.default.icon.TOOLBAR_TOOLS_IMPORT},attrs:{title:_conf.default.i18n("vxe.toolbar.import")},on:{click:this.importEvent}}):o(),this.export?e("vxe-button",{props:{circle:!0,icon:c.icon||_conf.default.icon.TOOLBAR_TOOLS_EXPORT},attrs:{title:_conf.default.i18n("vxe.toolbar.export")},on:{click:this.exportEvent}}):o(),this.print?e("vxe-button",{props:{circle:!0,icon:this.printOpts.icon||_conf.default.icon.TOOLBAR_TOOLS_PRINT},attrs:{title:_conf.default.i18n("vxe.toolbar.print")},on:{click:this.printEvent}}):o(),l?e("vxe-button",{props:{circle:!0,icon:this.isRefresh?u.iconLoading||_conf.default.icon.TOOLBAR_TOOLS_REFRESH_LOADING:u.icon||_conf.default.icon.TOOLBAR_TOOLS_REFRESH},attrs:{title:_conf.default.i18n("vxe.toolbar.refresh")},on:{click:this.refreshEvent}}):o(),a&&n?e("vxe-button",{props:{circle:!0,icon:n.isMaximized()?h.iconOut||_conf.default.icon.TOOLBAR_TOOLS_ZOOM_OUT:h.iconIn||_conf.default.icon.TOOLBAR_TOOLS_ZOOM_IN},attrs:{title:_conf.default.i18n("vxe.toolbar.zoom".concat(n.isMaximized()?"Out":"In"))},on:{click:n.triggerZoomEvent}}):o(),f?renderCustoms(e,this):o()])])},methods:{syncUpdate:function(e){var t=e.collectColumn,e=e.$table;this.$xetable=e,this.columns=t},fintTable:function(){var e=this.$parent.$children,o=e.indexOf(this);return _xeUtils.default.find(e,function(e,t){return e&&e.refreshColumn&&o<t&&"vxe-table"===e.$vnode.componentOptions.tag})},checkTable:function(){if(this.$xetable)return!0;_tools.UtilTools.error("vxe.error.barUnableLink")},showCustom:function(){this.customStore.visible=!0,this.checkCustomStatus()},closeCustom:function(){var e=this.custom,t=this.customStore;t.visible&&(t.visible=!1,e&&!t.immediate&&this.handleCustoms())},confirmCustomEvent:function(e){this.closeCustom(),this.emitCustomEvent("confirm",e)},customOpenEvent:function(e){var t=this.customStore;this.checkTable()&&(t.visible||(this.showCustom(),this.emitCustomEvent("open",e)))},customColseEvent:function(e){this.customStore.visible&&(this.closeCustom(),this.emitCustomEvent("close",e))},resetCustomEvent:function(e){var t=this.$xetable,o=this.columns,n=t.customOpts.checkMethod;_xeUtils.default.eachTree(o,function(e){n&&!n({column:e})||(e.visible=e.defaultVisible,e.halfVisible=!1),e.resizeWidth=0}),t.saveCustomResizable(!0),this.closeCustom(),this.emitCustomEvent("reset",e)},emitCustomEvent:function(e,t){var o=this.$xetable,n=this.$xegrid;(n||o).$emit("custom",{type:e,$table:o,$grid:n,$event:t})},changeCustomOption:function(e){var t=!e.visible;_xeUtils.default.eachTree([e],function(e){e.visible=t,e.halfVisible=!1}),this.handleOptionCheck(e),this.custom&&this.customOpts.immediate&&this.handleCustoms(),this.checkCustomStatus()},handleOptionCheck:function(t){var e=_xeUtils.default.findTree(this.columns,function(e){return e===t});e&&e.parent&&((e=e.parent).children&&e.children.length&&(e.visible=e.children.every(function(e){return e.visible}),e.halfVisible=!e.visible&&e.children.some(function(e){return e.visible||e.halfVisible}),this.handleOptionCheck(e)))},handleCustoms:function(){var e=this.$xetable;e.saveCustomVisible(),e.analyColumnWidth(),e.refreshColumn()},checkCustomStatus:function(){var e=this.$xetable,t=this.columns,o=e.customOpts.checkMethod;this.customStore.isAll=t.every(function(e){return!!o&&!o({column:e})||e.visible}),this.customStore.isIndeterminate=!this.customStore.isAll&&t.some(function(e){return(!o||o({column:e}))&&(e.visible||e.halfVisible)})},allCustomEvent:function(){var e=this.$xetable,t=this.columns,o=this.customStore,n=e.customOpts.checkMethod,i=!o.isAll;_xeUtils.default.eachTree(t,function(e){n&&!n({column:e})||(e.visible=i,e.halfVisible=!1)}),o.isAll=i,this.checkCustomStatus()},handleGlobalMousedownEvent:function(e){_tools.DomTools.getEventTargetNode(e,this.$refs.customWrapper).flag||this.customColseEvent(e)},handleGlobalBlurEvent:function(e){this.customColseEvent(e)},handleClickSettingEvent:function(e){this.customStore.visible?this.customColseEvent(e):this.customOpenEvent(e)},handleMouseenterSettingEvent:function(e){this.customStore.activeBtn=!0,this.customOpenEvent(e)},handleMouseleaveSettingEvent:function(e){var t=this,o=this.customStore;o.activeBtn=!1,setTimeout(function(){o.activeBtn||o.activeWrapper||t.customColseEvent(e)},300)},handleWrapperMouseenterEvent:function(e){this.customStore.activeWrapper=!0,this.customOpenEvent(e)},handleWrapperMouseleaveEvent:function(e){var t=this,o=this.customStore;o.activeWrapper=!1,setTimeout(function(){o.activeBtn||o.activeWrapper||t.customColseEvent(e)},300)},refreshEvent:function(){var e=this,t=this.$xegrid,o=this.refreshOpts;if(!this.isRefresh)if(o.query){this.isRefresh=!0;try{Promise.resolve(o.query()).catch(function(e){return e}).then(function(){e.isRefresh=!1})}catch(e){this.isRefresh=!1}}else t&&(this.isRefresh=!0,t.commitProxy("reload").catch(function(e){return e}).then(function(){e.isRefresh=!1}))},btnEvent:function(e,t){var o=this.$xegrid,n=this.$xetable,i=t.code;i&&(o?o.triggerToolbarBtnEvent(t,e):(n={code:i,button:t,$xegrid:o,$table:n,$event:e},(i=_vXETable.default.commands.get(i))&&i.call(this,n,e),this.$emit("button-click",n)))},importEvent:function(){this.checkTable()&&this.$xetable.openImport(this.importOpts)},exportEvent:function(){this.checkTable()&&this.$xetable.openExport(this.exportOpts)},printEvent:function(){this.checkTable()&&this.$xetable.openPrint(this.printOpts)}}};exports.default=_default2;
|