ll-plus 2.3.10 → 2.3.11

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -83,6 +83,7 @@ export declare const LlOperateIcon: import("ll-plus/es/utils").SFCWithInstall<im
83
83
  operateIconClass: import("vue").ComputedRef<string>;
84
84
  marginButtonClass: (index: any, length: any) => "" | "margin-button-container";
85
85
  handleDropdownOpenChange: (open: boolean) => void;
86
+ handleDropdownParentClick: () => boolean;
86
87
  handleIconMouseenter: () => void;
87
88
  readonly LlIconBase: import("ll-plus/es/utils").SFCWithInstall<import("vue").DefineComponent<{
88
89
  readonly iconType: {
@@ -83,6 +83,7 @@ declare const _default: import("vue").DefineComponent<{
83
83
  operateIconClass: import("vue").ComputedRef<string>;
84
84
  marginButtonClass: (index: any, length: any) => "" | "margin-button-container";
85
85
  handleDropdownOpenChange: (open: boolean) => void;
86
+ handleDropdownParentClick: () => boolean;
86
87
  handleIconMouseenter: () => void;
87
88
  readonly LlIconBase: import("ll-plus/es/utils").SFCWithInstall<import("vue").DefineComponent<{
88
89
  readonly iconType: {
@@ -60,6 +60,7 @@ var _sfc_main = /* @__PURE__ */ defineComponent({
60
60
  emits("update:dropdownOpen", false);
61
61
  }
62
62
  };
63
+ const handleDropdownParentClick = () => dropdownOpen.value = false;
63
64
  const handleIconMouseenter = () => {
64
65
  dropdownOpen.value = true;
65
66
  emits("update:dropdownOpen", true);
@@ -124,7 +125,8 @@ var _sfc_main = /* @__PURE__ */ defineComponent({
124
125
  return openBlock(), createBlock(
125
126
  _component_a_menu_item,
126
127
  {
127
- key: item.iconName
128
+ key: item.iconName,
129
+ onClick: handleDropdownParentClick
128
130
  },
129
131
  {
130
132
  default: withCtx(() => [
@@ -1 +1 @@
1
- {"version":3,"file":"operate-icon.vue2.mjs","sources":["../../../../../packages/components/operate-icon/src/operate-icon.vue"],"sourcesContent":["<template>\n <div :class=\"operateIconClass\">\n <!-- 显示的icon -->\n <ll-icon-base\n v-for=\"(item, index) in showIconList\"\n v-bind=\"item\"\n :key=\"item.iconName\"\n :data=\"data\"\n :class=\"bem.e(marginButtonClass(index, showIconList.length - 1))\"\n />\n <!-- 下拉提示的icon -->\n <a-dropdown\n v-if=\"showDropdown && modalIconList.length\"\n :overlay-class-name=\"bem.e('dropdown')\"\n :open=\"dropdownOpen\"\n @open-change=\"handleDropdownOpenChange\"\n >\n <div\n :class=\"bem.e('dropdown-container')\"\n @mouseenter=\"handleIconMouseenter\"\n >\n <ll-icon-base\n :is-show-tooltip=\"false\"\n :is-show-container=\"showIconList[0].isShowContainer\"\n :icon-type=\"showIconList[0].iconType\"\n :data=\"data\"\n icon-name=\"icon-more\"\n :class=\"bem.e('icon-more')\"\n />\n </div>\n <template #overlay>\n <a-menu>\n <slot>\n <a-menu-item v-for=\"item in modalIconList\" :key=\"item.iconName\">\n <ll-icon-base v-bind=\"item\" :data=\"data\" />\n </a-menu-item>\n </slot>\n </a-menu>\n </template>\n </a-dropdown>\n </div>\n</template>\n<script lang=\"ts\" setup>\nimport { ref, computed, watch } from 'vue'\n\nimport { createNamespace } from '@ll-plus/utils'\n\nimport { IconBaseProps, LlIconBase } from '@ll-plus/components'\nimport { operateIconProps, operateIconEmits } from './operate-icon'\n\n// 1.defineOptions\ndefineOptions({\n name: 'LlOperateIcon'\n})\n\n// 2.props/emits\nconst props = defineProps(operateIconProps)\nconst emits = defineEmits(operateIconEmits)\n\n// 3.ref/const\nconst showIconList = ref<IconBaseProps[]>([]) // 显示的icon列表\nconst modalIconList = ref<IconBaseProps[]>([]) // 弹窗的icon列表\nconst dropdownOpen = ref(false) // 下拉菜单的open\nconst defualtList = ref([\n // 默认的icon列表\n {\n iconType: computed(() => props.iconType || 'primary'), // default默认为灰色\n isShowContainer: false, // 是否显示icon容器\n iconName: 'icon-edit',\n tooltipTitle: '编辑',\n disabled: props.disabled,\n onClick: (e: Event, data: any) => {\n emits('edit', e, data)\n }\n },\n {\n iconType: computed(() => props.iconType || 'primary'), // default默认为灰色\n isShowContainer: false, // 是否显示icon容器\n iconName: 'icon-delete',\n tooltipTitle: '删除',\n disabled: props.disabled,\n onClick: (e: Event, data: any) => {\n emits('delete', e, data)\n }\n }\n])\nconst bem = createNamespace('operate-icon')\nconst operateIconClass = computed(() => {\n const isHasDropdown = props.showDropdown && modalIconList.value.length\n return `${bem.b()} ${isHasDropdown ? bem.m('has-dropdown') : ''}`\n})\n\n// 4.methods\nconst marginButtonClass = (index, length) => {\n return index < length ? 'margin-button-container' : ''\n}\n// 下拉菜单open\nconst handleDropdownOpenChange = (open: boolean) => {\n if (!open) {\n dropdownOpen.value = false\n emits('update:dropdownOpen', false)\n }\n}\n// icon鼠标悬浮\nconst handleIconMouseenter = () => {\n dropdownOpen.value = true\n emits('update:dropdownOpen', true)\n}\n\n// 5.watch\nwatch(\n () => [props.list, props.showDropdown],\n (data: any) => {\n const [newList, showDropdown] = data\n const list = newList ? newList : defualtList.value\n const length = list.length\n if (length >= props.showIconLimit && showDropdown) {\n showIconList.value = list.slice(\n 0,\n props.showIconLimit - 1\n ) as IconBaseProps[]\n // 默认modal里面要icon后面跟文字\n modalIconList.value = list\n .slice(props.showIconLimit - 1)\n .map((item: any) => ({ ...item, isShowTitle: true }))\n } else {\n showIconList.value = list as IconBaseProps[]\n }\n },\n { immediate: true, deep: true }\n)\n</script>\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"operate-icon.vue2.mjs","sources":["../../../../../packages/components/operate-icon/src/operate-icon.vue"],"sourcesContent":["<template>\n <div :class=\"operateIconClass\">\n <!-- 显示的icon -->\n <ll-icon-base\n v-for=\"(item, index) in showIconList\"\n v-bind=\"item\"\n :key=\"item.iconName\"\n :data=\"data\"\n :class=\"bem.e(marginButtonClass(index, showIconList.length - 1))\"\n />\n <!-- 下拉提示的icon -->\n <a-dropdown\n v-if=\"showDropdown && modalIconList.length\"\n :overlay-class-name=\"bem.e('dropdown')\"\n :open=\"dropdownOpen\"\n @open-change=\"handleDropdownOpenChange\"\n >\n <div\n :class=\"bem.e('dropdown-container')\"\n @mouseenter=\"handleIconMouseenter\"\n >\n <ll-icon-base\n :is-show-tooltip=\"false\"\n :is-show-container=\"showIconList[0].isShowContainer\"\n :icon-type=\"showIconList[0].iconType\"\n :data=\"data\"\n icon-name=\"icon-more\"\n :class=\"bem.e('icon-more')\"\n />\n </div>\n <template #overlay>\n <a-menu>\n <slot>\n <a-menu-item\n v-for=\"item in modalIconList\"\n :key=\"item.iconName\"\n @click=\"handleDropdownParentClick\"\n >\n <ll-icon-base v-bind=\"item\" :data=\"data\" />\n </a-menu-item>\n </slot>\n </a-menu>\n </template>\n </a-dropdown>\n </div>\n</template>\n<script lang=\"ts\" setup>\nimport { ref, computed, watch } from 'vue'\n\nimport { createNamespace } from '@ll-plus/utils'\n\nimport { IconBaseProps, LlIconBase } from '@ll-plus/components'\nimport { operateIconProps, operateIconEmits } from './operate-icon'\n\n// 1.defineOptions\ndefineOptions({\n name: 'LlOperateIcon'\n})\n\n// 2.props/emits\nconst props = defineProps(operateIconProps)\nconst emits = defineEmits(operateIconEmits)\n\n// 3.ref/const\nconst showIconList = ref<IconBaseProps[]>([]) // 显示的icon列表\nconst modalIconList = ref<IconBaseProps[]>([]) // 弹窗的icon列表\nconst dropdownOpen = ref(false) // 下拉菜单的open\nconst defualtList = ref([\n // 默认的icon列表\n {\n iconType: computed(() => props.iconType || 'primary'), // default默认为灰色\n isShowContainer: false, // 是否显示icon容器\n iconName: 'icon-edit',\n tooltipTitle: '编辑',\n disabled: props.disabled,\n onClick: (e: Event, data: any) => {\n emits('edit', e, data)\n }\n },\n {\n iconType: computed(() => props.iconType || 'primary'), // default默认为灰色\n isShowContainer: false, // 是否显示icon容器\n iconName: 'icon-delete',\n tooltipTitle: '删除',\n disabled: props.disabled,\n onClick: (e: Event, data: any) => {\n emits('delete', e, data)\n }\n }\n])\nconst bem = createNamespace('operate-icon')\nconst operateIconClass = computed(() => {\n const isHasDropdown = props.showDropdown && modalIconList.value.length\n return `${bem.b()} ${isHasDropdown ? bem.m('has-dropdown') : ''}`\n})\n\n// 4.methods\nconst marginButtonClass = (index, length) => {\n return index < length ? 'margin-button-container' : ''\n}\n// 下拉菜单open\nconst handleDropdownOpenChange = (open: boolean) => {\n if (!open) {\n dropdownOpen.value = false\n emits('update:dropdownOpen', false)\n }\n}\nconst handleDropdownParentClick = () => (dropdownOpen.value = false)\n// icon鼠标悬浮\nconst handleIconMouseenter = () => {\n dropdownOpen.value = true\n emits('update:dropdownOpen', true)\n}\n\n// 5.watch\nwatch(\n () => [props.list, props.showDropdown],\n (data: any) => {\n const [newList, showDropdown] = data\n const list = newList ? newList : defualtList.value\n const length = list.length\n if (length >= props.showIconLimit && showDropdown) {\n showIconList.value = list.slice(\n 0,\n props.showIconLimit - 1\n ) as IconBaseProps[]\n // 默认modal里面要icon后面跟文字\n modalIconList.value = list\n .slice(props.showIconLimit - 1)\n .map((item: any) => ({ ...item, isShowTitle: true }))\n } else {\n showIconList.value = list as IconBaseProps[]\n }\n },\n { immediate: true, deep: true }\n)\n</script>\n"],"names":[],"mappings":"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"}
package/index.full.js CHANGED
@@ -59494,6 +59494,7 @@
59494
59494
  emits("update:dropdownOpen", false);
59495
59495
  }
59496
59496
  };
59497
+ const handleDropdownParentClick = () => dropdownOpen.value = false;
59497
59498
  const handleIconMouseenter = () => {
59498
59499
  dropdownOpen.value = true;
59499
59500
  emits("update:dropdownOpen", true);
@@ -59558,7 +59559,8 @@
59558
59559
  return require$$0.openBlock(), require$$0.createBlock(
59559
59560
  _component_a_menu_item,
59560
59561
  {
59561
- key: item.iconName
59562
+ key: item.iconName,
59563
+ onClick: handleDropdownParentClick
59562
59564
  },
59563
59565
  {
59564
59566
  default: require$$0.withCtx(() => [