{"version":3,"file":"iconSelector.mjs","sources":["../../../../src/comDefault/Selector/iconSelector.vue"],"sourcesContent":["<template>\r\n\t<a-modal v-model:visible=\"visible\" title=\"图标选择\" :mask-closable=\"false\" :width=\"800\" :destroy-on-close=\"true\" :footer=\"null\" @cancel=\"onCancel\">\r\n\t\t<a-tabs v-model:activeKey=\"activeKey\" tab-position=\"left\" size=\"small\" @change=\"paneChange\">\r\n\t\t\t<a-tab-pane v-for=\"item in iconData\" :key=\"item.key\" :tab=\"item.name\">\r\n\t\t\t\t<div v-if=\"item.iconItem.length > 1\" class=\"xn-icon-select-radio\">\r\n\t\t\t\t\t<a-radio-group v-model:value=\"iconItemDefault\" @change=\"radioGroupChange\">\r\n\t\t\t\t\t\t<a-radio-button v-for=\"iconItem in item.iconItem\" :key=\"iconItem.key\" :value=\"iconItem.key\">{{ iconItem.name }}</a-radio-button>\r\n\t\t\t\t\t</a-radio-group>\r\n\t\t\t\t</div>\r\n\t\t\t\t<div :key=\"iconItemIns\" v-for=\"iconItemIns in item.iconItem\">\r\n\t\t\t\t\t<div v-if=\"iconItemIns.key === iconItemDefault\" class=\"xn-icon-select-list\">\r\n\t\t\t\t\t\t<ul>\r\n\t\t\t\t\t\t\t<li v-for=\"icon in iconItemIns.item\" :key=\"icon\" :class=\"icon === modelValue ? 'active' : ''\" @click=\"selectIcon(icon)\">\r\n\t\t\t\t\t\t\t\t<component :is=\"icon\" class=\"xn-icons\" />\r\n\t\t\t\t\t\t\t</li>\r\n\t\t\t\t\t\t</ul>\r\n\t\t\t\t\t</div>\r\n\t\t\t\t</div>\r\n\t\t\t</a-tab-pane>\r\n\t\t</a-tabs>\r\n\t</a-modal>\r\n</template>\r\n<script>\r\n\timport iconSelect from '@/utils/iconSelect.js'\r\n\texport default {\r\n    name:'IconSelector',\r\n\t\tdata() {\r\n\t\t\treturn {\r\n\t\t\t\tvisible: false,\r\n\t\t\t\ticonData: [],\r\n\t\t\t\tmodelValue: '',\r\n\t\t\t\tactiveKey: 'default',\r\n\t\t\t\ticonItemDefault: 'default'\r\n\t\t\t}\r\n\t\t},\r\n\t\tmounted() {\r\n\t\t\tthis.iconData.push(...iconSelect.icons)\r\n\t\t},\r\n\t\tmethods: {\r\n\t\t\t// 打开\r\n\t\t\tshowIconModal(value) {\r\n\t\t\t\tthis.visible = true\r\n\t\t\t\tthis.defaultSetting(value)\r\n\t\t\t},\r\n\t\t\t// 默认配置\r\n\t\t\tdefaultSetting(value) {\r\n\t\t\t\tif ((value !== undefined) & (value !== '') & (value !== 'undefined')) {\r\n\t\t\t\t\tthis.modelValue = value\r\n\t\t\t\t\t// 判断展开哪个\r\n\t\t\t\t\tif (value.indexOf('-outlined') > -1 || value.indexOf('-filled') > -1 || value.indexOf('-two-tone') > -1) {\r\n\t\t\t\t\t\tthis.activeKey = 'default'\r\n\t\t\t\t\t\tif (value.indexOf('-two-tone') > -1) {\r\n\t\t\t\t\t\t\tthis.iconItemDefault = 'twotone'\r\n\t\t\t\t\t\t} else if (value.indexOf('-filled') > -1) {\r\n\t\t\t\t\t\t\tthis.iconItemDefault = 'filled'\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t} else if (value.indexOf('-extend') > -1) {\r\n\t\t\t\t\t\t// 扩展列表\r\n\t\t\t\t\t\tthis.activeKey = 'extend'\r\n\t\t\t\t\t\t// 如扩展其他顶部单选的情况，默认选中在这里配置,同时这里需要做判断\r\n\t\t\t\t\t\t// this.iconItemDefault = '您的json中配置的'\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t},\r\n\t\t\t// 切换标签页，如果是切换到了没用额外的标签页的地方，我们将其置为默认\r\n\t\t\tpaneChange(e) {\r\n\t\t\t\tif (e.indexOf('default') === -1) {\r\n\t\t\t\t\tthis.iconItemDefault = 'default'\r\n\t\t\t\t}\r\n\t\t\t},\r\n\t\t\t// 切换icon风格\r\n\t\t\tradioGroupChange(e) {\r\n\t\t\t\tthis.iconItemDefault = e.target.value\r\n\t\t\t},\r\n\t\t\t// 选择图标后关闭并返回\r\n\t\t\tselectIcon(value) {\r\n\t\t\t\tthis.defaultValue = value\r\n\t\t\t\tthis.visible = false\r\n\t\t\t\t// eslint-disable-next-line vue/require-explicit-emits\r\n\t\t\t\tthis.$emit('iconCallBack', this.defaultValue)\r\n\t\t\t},\r\n\t\t\tonCancel() {\r\n\t\t\t\tthis.visible = false\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n</script>\r\n<style lang=\"less\" scoped>\r\n\t.xn-icon-select-radio {\r\n\t\tpadding-left: 5px;\r\n\t\tpadding-bottom: 10px;\r\n\t}\r\n\t.xn-icons {\r\n\t\tfont-size: 26px;\r\n\t\twidth: 100%;\r\n\t\theight: 100%;\r\n\t\tdisplay: flex;\r\n\t\tjustify-content: center;\r\n\t\talign-items: center;\r\n\t}\r\n\t.xn-icon-select-list {\r\n\t\theight: 360px;\r\n\t\toverflow: auto;\r\n\t}\r\n\t.xn-icon-select-list ul {\r\n\t\tli {\r\n\t\t\tdisplay: inline-block;\r\n\t\t\twidth: 60px;\r\n\t\t\theight: 60px;\r\n\t\t\tpadding: 18px;\r\n\t\t\tmargin: 5px;\r\n\t\t\tborder-radius: 2px;\r\n\t\t\tvertical-align: top;\r\n\t\t\tbox-shadow: 0 0 0 1px var(--border-color-split);\r\n\t\t\ttransition: all 0.1s;\r\n\t\t\tposition: relative;\r\n\t\t\t&:hover,\r\n\t\t\t&.active {\r\n\t\t\t\tcursor: pointer;\r\n\t\t\t\tcolor: #ffffff;\r\n\t\t\t\tbackground-color: var(--primary-color);\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n</style>\r\n"],"names":["_createBlock","_createVNode","_createElementBlock","_Fragment","_renderList","_openBlock","_createTextVNode","_toDisplayString","_createElementVNode","_normalizeClass","_resolveDynamicComponent"],"mappings":"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"}