UNPKG

@geoblink/design-system

Version:

Geoblink Design System for Vue.js

1 lines 11.3 kB
!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t(require("vuedraggable"),require("lodash")):"function"==typeof define&&define.amd?define(["vuedraggable","lodash"],t):"object"==typeof exports?exports["components/GeoTreeItem"]=t(require("vuedraggable"),require("lodash")):e["components/GeoTreeItem"]=t(e.vuedraggable,e.lodash)}(window,function(e,t){return i={},r.m=n={"+kiw":function(e,t,r){"use strict";r.d(t,"a",function(){return n});var n={SINGLE:"single",MULTIPLE:"multiple",HIDDEN:"hidden"}},106:function(e,t,r){e.exports=r("23NL")},"23NL":function(e,t,r){"use strict";r.r(t);var n=r("YLtl"),i=r.n(n),o=r("KJqF"),a=r.n(o),s=r("i4Qp"),c=r("lpjR"),u=r("+kiw"),d=r("oEPP"),l={name:"GeoTreeItem",status:"ready",release:"29.9.0",constants:{INPUT_MODES:u.a},components:{Draggable:a.a},mixins:[c.a],props:{category:{type:Object,required:!0},keyForId:{type:String,required:!1,default:"id"},keyForLabel:{type:String,required:!1,default:"label"},keyForSubcategory:{type:String,required:!1,default:"subcategories"},checkedItems:{type:Object,required:!0},isFolderSelectHidden:{type:Boolean,default:!1},isItemSelectDisabled:{type:Boolean,default:!1},descriptionIcon:{type:Array,default:function(){return[]}},expandedCategories:{type:Object,required:!0},collapsedIcon:{type:Array,required:!0,default:function(){return["fal","chevron-right"]}},expandedIcon:{type:Array,required:!1},inputType:Object(s.a)({componentName:"GeoTreeItem",propertyName:"inputType",enumDictionary:u.a,defaultValue:u.a.MULTIPLE}),hasLoadMoreButton:{type:Boolean,required:!1,default:!1},pageSize:{type:Number,required:!1,default:20}},data:function(){return{isShowActionButton:!1,visiblePages:1}},computed:{categoryIcon:function(){return this.category.icon?this.category.icon:this.isSingleItem?null:this.isExpanded&&this.expandedIcon||this.collapsedIcon},isIndeterminate:function(){var e=this;return!this.isChecked&&function t(r){return i.a.some(r[e.keyForSubcategory],function(r){return r[e.keyForSubcategory]?t(r):!!e.checkedItems[r[e.keyForId]]})}(this.category)},isChecked:function(){var e=this;return this.isSingleItem?!!this.checkedItems[this.category[this.keyForId]]:function t(r){if(e.isEmptyCategory(r))return!1;var n=e.getSelectableChildrenForCategory(r);return i.a.every(n,function(r){return i.a.size(r[e.keyForSubcategory])?t(r):!!e.checkedItems[r[e.keyForId]]})}(this.category)},totalCategoryChildren:function(){var e=this;return function t(r){return i.a.size(r[e.keyForSubcategory])+i.a.sumBy(r[e.keyForSubcategory],t)}(this.category)},totalSelectableCategoryChildren:function(){var e=this;return function t(r){var n=e.getSelectableChildrenForCategory(r);return i.a.size(n)+i.a.sumBy(r[e.keyForSubcategory],t)}(this.category)},isExpanded:function(){return!!this.expandedCategories[this.category[this.keyForId]]},isSingleItem:function(){return i.a.isNil(this.category[this.keyForSubcategory])},hasToRotateIcon:function(){return this.isExpanded&&!this.expandedIcon},isInputDisabled:function(){return this.isSingleItem?!!this.category.disabledTooltipText||this.isItemSelectDisabled&&!this.isChecked:0===this.totalSelectableCategoryChildren},itemInputType:function(){switch(this.inputType){case u.a.SINGLE:return"radio";case u.a.MULTIPLE:return"checkbox";default:return null}},isItemInputHidden:function(){return this.isSingleItem?this.inputType===u.a.HIDDEN:this.inputType!==u.a.MULTIPLE||this.isFolderSelectHidden},hasMoreResultsToLoad:function(){return!!this.hasLoadMoreButton&&this.pageSize*this.visiblePages<i.a.size(this.category[this.keyForSubcategory])},visibleItems:function(){return this.hasLoadMoreButton?i.a.slice(this.category[this.keyForSubcategory],0,this.visiblePages*this.pageSize):this.category[this.keyForSubcategory]}},beforeMount:function(){this.tooltipPosition=d.b.trailing},methods:{handleClick:function(){if(this.isSingleItem){if(this.isInputDisabled)return;this.handleCheck(this.category,!this.isChecked)}else{if(this.isEmptyCategory(this.category))return;this.toggleExpand(this.category)}},handleCheckChildItem:function(e,t,r){this.$emit("check-item",e,t,r)},handleCheckChildFolder:function(e,t,r){this.$emit("check-folder",e,t,r)},handleCheck:function(e,t,r){var n=this,o=2<arguments.length&&void 0!==r&&r;e[this.keyForSubcategory]?(i.a.size(e[this.keyForSubcategory])&&this.$emit("check-folder",e,t,o),i.a.forEach(e[this.keyForSubcategory],function(e){n.handleCheck(e,t,!0)})):this.$emit("check-item",e,t,o)},toggleExpand:function(e){this.$emit("toggleExpand",e)},getSelectableChildrenForCategory:function(e){var t=this.keyForSubcategory;return function e(r){return i.a.reject(r[t],function(r){return r[t]&&(!i.a.size(r[t])||!i.a.size(e(r)))})}(e)},handleInputClick:function(e){this.inputType===u.a.MULTIPLE&&e.stopPropagation()},isEmptyCategory:function(e){return!i.a.isNil(e[this.keyForSubcategory])&&!i.a.size(e[this.keyForSubcategory])},loadNextPage:function(){this.visiblePages=this.visiblePages+1}}},g=r("KHd+"),h=Object(g.a)(l,function(){var e=this,t=e.$createElement,r=e._self._c||t;return r("li",{staticClass:"geo-tree-item"},[r("geo-list-item",{class:{"geo-tree-item--rotated-icon":e.hasToRotateIcon,"geo-tree-item--single":e.isSingleItem},attrs:{icon:e.categoryIcon,disabled:e.isSingleItem&&!!e.category.disabledTooltipText},on:{click:e.handleClick}},[r("label",{staticClass:"geo-tree-item__label"},[r("geo-highlighted-string",{attrs:{"highlighted-chars":e.category.matches,"reference-string":e.category[e.keyForLabel]}}),e._v(" "),e.isSingleItem?e._e():r("span",{staticClass:"geo-tree-item__total-items"},[e._v("\n ("+e._s(e.totalCategoryChildren)+")\n ")]),e._v(" "),e.category.description?r("span",{staticClass:"geo-tree-item__description"},[r("font-awesome-icon",{attrs:{icon:e.descriptionIcon,"fixed-width":""}}),e._v(" "),r("geo-tooltip",[e._v("\n "+e._s(e.category.description)+"\n ")])],1):e._e()],1),e._v(" "),r("template",{slot:"trailingAccessoryItem"},[r("span",[e._t("trailingAccessoryAction",null,{item:e.category})],2),e._v(" "),e.isItemInputHidden?e._e():r("input",{attrs:{id:e.category[e.keyForId],"data-test":"geo-tree-item__input-"+e.category[e.keyForId],disabled:e.isInputDisabled,type:e.itemInputType},domProps:{checked:e.isChecked,indeterminate:e.isIndeterminate},on:{click:e.handleInputClick,input:function(t){return e.handleCheck(e.category,t.target.checked)}}})])],2),e._v(" "),e.isSingleItem&&e.category.disabledTooltipText?r("geo-tooltip",{attrs:{alignment:e.tooltipAlignment,position:e.tooltipPosition}},[e._v("\n "+e._s(e.category.disabledTooltipText)+"\n ")]):e._e(),e._v(" "),e.isExpanded?r("ul",{staticClass:"geo-tree-item__list"},[r("draggable",{attrs:{list:e.category[e.keyForSubcategory],group:e.draggableGroup,sort:!1,disabled:!e.draggableGroup,filter:"."+e.dragClassToIgnore,"drag-class":"geo-tree__dragger","ghost-class":"geo-tree__ghost"},on:{start:function(t){return e.startDrag(t)},end:function(t){return e.endDrag(t)},change:function(t){return e.changeDrag(t,e.category)}}},[e._l(e.visibleItems,function(t){return r("geo-tree-item",{key:t[e.keyForId],class:e.dragClassToIgnore,attrs:{"data-test":"subcategory-"+t[e.keyForId],category:t,"key-for-id":e.keyForId,"key-for-label":e.keyForLabel,"key-for-subcategory":e.keyForSubcategory,"expanded-categories":e.expandedCategories,"checked-items":e.checkedItems,"collapsed-icon":e.collapsedIcon,"expanded-icon":e.expandedIcon,"description-icon":e.descriptionIcon,"draggable-group":e.draggableGroup,"input-type":e.inputType,"is-folder-select-hidden":e.isFolderSelectHidden,"is-item-select-disabled":e.isItemSelectDisabled,"has-load-more-button":e.hasLoadMoreButton,"page-size":e.pageSize},on:{"check-item":e.handleCheckChildItem,"check-folder":e.handleCheckChildFolder,click:e.handleClick,toggleExpand:e.toggleExpand,"start-drag":function(t){return e.startDrag(t)},"end-drag":function(t){return e.endDrag(t)},"change-drag":function(t){return e.emitChangeDrag(t)}},scopedSlots:e._u([{key:"trailingAccessoryAction",fn:function(t){var r=t.item;return[e._t("trailingAccessoryAction",null,{item:r})]}}],null,!0)},[e._v(" "),r("template",{slot:"moreItemsTextContent"},[e._t("moreItemsTextContent")],2)],2)}),e._v(" "),e.hasMoreResultsToLoad?r("geo-list-footer-button",{on:{click:e.loadNextPage}},[e._t("moreItemsTextContent")],2):e._e()],2)],1):e._e()],1)},[],!1,null,null,null);t.default=h.exports},"KHd+":function(e,t,r){"use strict";function n(e,t,r,n,i,o,a,s){var c,u="function"==typeof e?e.options:e;if(t&&(u.render=t,u.staticRenderFns=r,u._compiled=!0),n&&(u.functional=!0),o&&(u._scopeId="data-v-"+o),a?(c=function(e){(e=e||this.$vnode&&this.$vnode.ssrContext||this.parent&&this.parent.$vnode&&this.parent.$vnode.ssrContext)||"undefined"==typeof __VUE_SSR_CONTEXT__||(e=__VUE_SSR_CONTEXT__),i&&i.call(this,e),e&&e._registeredComponents&&e._registeredComponents.add(a)},u._ssrRegister=c):i&&(c=s?function(){i.call(this,this.$root.$options.shadowRoot)}:i),c)if(u.functional){u._injectStyles=c;var d=u.render;u.render=function(e,t){return c.call(t),d(e,t)}}else{var l=u.beforeCreate;u.beforeCreate=l?[].concat(l,c):[c]}return{exports:e,options:u}}r.d(t,"a",function(){return n})},KJqF:function(t,r){t.exports=e},YLtl:function(e,r){e.exports=t},i4Qp:function(e,t,r){"use strict";function n(e){var t={type:String,validator:function(t){if(e.checkUndefined&&void 0===t)return!0;var r=Object.values(e.enumDictionary);if(r.includes(t))return!0;var n=r.map(function(e){return"«".concat(e,"»")}).join(", ");return console.warn("".concat(e.componentName," [component] :: Unsupported value («").concat(t,"») for «").concat(e.propertyName,"» property. Use one of ").concat(n)),!1}};return"defaultValue"in e&&(t.default=e.defaultValue),"required"in e&&(t.required=!!e.required),t}r.d(t,"a",function(){return n})},lpjR:function(e,t,r){"use strict";t.a={props:{draggableGroup:{type:Object,required:!1}},computed:{dragClassToIgnore:function(){return this.group?this.group.pull?"":"geo-tree__drag-disabled":""}},methods:{startDrag:function(e){this.$emit("start-drag",e)},endDrag:function(e){this.$emit("end-drag",e)},emitChangeDrag:function(e){this.$emit("change-drag",e)},changeDrag:function(e,t){this.emitChangeDrag({event:e,parentCategory:t})}}}},oEPP:function(e,t,r){"use strict";r.d(t,"b",function(){return n}),r.d(t,"a",function(){return i});var n={bottom:"bottom",leading:"leading",top:"top",trailing:"trailing"},i={start:"start",end:"end",middle:"middle"}}},r.c=i,r.d=function(e,t,n){r.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:n})},r.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},r.t=function(e,t){if(1&t&&(e=r(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var n=Object.create(null);if(r.r(n),Object.defineProperty(n,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var i in e)r.d(n,i,function(t){return e[t]}.bind(null,i));return n},r.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return r.d(t,"a",t),t},r.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},r.p="/",r(r.s=106);function r(e){if(i[e])return i[e].exports;var t=i[e]={i:e,l:!1,exports:{}};return n[e].call(t.exports,t,t.exports,r),t.l=!0,t.exports}var n,i});