{"version":3,"file":"table-setting-popup.mjs","sources":["../../../../../../../packages/components/table/src/layout/table-setting-popup.tsx"],"sourcesContent":["import type { PropType } from 'vue'\nimport { defineComponent, inject, watch, ref, reactive, computed } from 'vue'\nimport type { TableColumnContext } from '../context'\nimport { tableColumnInjectionKey } from '../context'\nimport Checkbox from '../../../checkbox/src/checkbox.vue'\nimport Space from '../../../space/src/space.vue'\nimport Button from '../../../button/src/button.vue'\nimport { getNamespace } from '../../../../utils/global-config'\nimport type { TableColumnData } from '../types'\n\nexport default defineComponent({\n  name: 'SettingPopup',\n  props: {\n    // eslint-disable-next-line vue/require-default-prop\n    close: Function as PropType<(cb?: () => void) => void>,\n    popupVisible: Boolean\n  },\n  setup(props) {\n    const tableColumnContext = inject<TableColumnContext>(tableColumnInjectionKey)\n    const ns = getNamespace('table-setting')\n    // 排除column操作类型\n    const groupColumns = computed(() =>\n      tableColumnContext?.groupColumns?.filter((column) => !column.type)\n    )\n\n    const initMap = new Map()\n    const columnsList = ref<TableColumnData[]>([])\n\n    const handleCheckboxChange = (column: TableColumnData, status: boolean) => {\n      if (column.disabled) return\n      column.hidden = !status\n      column.checked = status\n    }\n\n    const handleCancel = () => {\n      props.close?.(() => {\n        // 恢复到初始状态\n        groupColumns.value!.forEach((column) => {\n          Object.assign(column, initMap.get(column.prop))\n        })\n        columnsList.value = []\n        initMap.clear()\n      })\n    }\n\n    const handleConfirm = () => {\n      const columnProps: string[] = columnsList.value.map((column) => column.prop!)\n      tableColumnContext?.handleUpdateColumn?.(columnProps)\n      props.close?.()\n    }\n\n    watch(\n      () => props.popupVisible,\n      (val) => {\n        if (val) {\n          const _columns: TableColumnData[] = []\n          groupColumns.value!.forEach((column) => {\n            initMap.set(column.prop, {\n              disabled: column.disabled,\n              checked: column.checked,\n              hidden: column.hidden\n            })\n            _columns.push(column)\n          })\n          columnsList.value = _columns\n        }\n      }\n    )\n\n    const updateColumnsList = (sourceIndex: number, targetIndex: number, item: TableColumnData) => {\n      columnsList.value.splice(sourceIndex, 1)\n      columnsList.value.splice(targetIndex, 0, item)\n    }\n\n    // drag相关\n    const dragState = reactive({\n      dragging: false,\n      data: {},\n      // 开始位置\n      sourceIndex: -1 as number,\n      // 拖动到哪里\n      targetIndex: 0 as number\n    })\n\n    const clearDragState = () => {\n      dragState.dragging = false\n      dragState.data = {}\n      dragState.sourceIndex = -1\n      dragState.targetIndex = 0\n    }\n\n    // 拖动哪个元素\n    const dragSourceEvent = {\n      draggable: true,\n      onDragstart: (e: DragEvent, column: TableColumnData, index: number) => {\n        if (e.dataTransfer) {\n          e.dataTransfer.effectAllowed = 'move'\n          if (e.target && (e.target as HTMLElement).className.includes('drag-icon')) {\n            const { parentElement } = e.target as HTMLElement\n            if (parentElement && parentElement.className.includes('list-item')) {\n              e.dataTransfer.setDragImage(\n                parentElement,\n                parentElement.clientWidth - 20,\n                parentElement.clientHeight - 20\n              )\n            }\n          }\n        }\n        dragState.dragging = true\n        dragState.data = column\n        dragState.sourceIndex = index\n      },\n      onDragend: (e: DragEvent) => {\n        if (e.dataTransfer?.dropEffect === 'none') {\n          clearDragState()\n        }\n      }\n    }\n\n    // 拖动元素经过的元素\n    const dragTargetEvent = {\n      onDragenter: (e: DragEvent, column: TableColumnData, index: number) => {\n        if (e.dataTransfer) {\n          e.dataTransfer.dropEffect = 'move'\n        }\n\n        if (\n          dragState.targetIndex !== index &&\n          index !== dragState.sourceIndex &&\n          dragState.dragging\n        ) {\n          updateColumnsList(dragState.sourceIndex, index, dragState.data)\n        }\n        dragState.targetIndex = index\n        dragState.sourceIndex = index\n        e.preventDefault()\n        e.stopPropagation()\n      },\n      onDragover: (e: DragEvent) => {\n        if (e.dataTransfer) {\n          e.dataTransfer.dropEffect = 'move'\n        }\n        // 必须要阻止默认行为 不然不会触发 drag事件\n        e.preventDefault()\n        e.stopPropagation()\n      },\n      onDrop: (e: DragEvent) => {\n        clearDragState()\n        e.preventDefault()\n      }\n    }\n\n    return () => {\n      return (\n        <div class={[`${ns}__popup`]}>\n          <ul class={[`${ns}__list`]}>\n            {columnsList.value.map((column, index) => (\n              <li\n                key={column.prop}\n                class={[\n                  `${ns}__list-item`,\n                  {\n                    'is-disabled': column.disabled\n                  }\n                ]}\n                {...(!column.disabled\n                  ? {\n                      onDragenter(e: DragEvent) {\n                        dragTargetEvent.onDragenter(e, column, index)\n                      },\n                      onDragover(e: DragEvent) {\n                        dragTargetEvent.onDragover(e)\n                      },\n                      onDrop(e: DragEvent) {\n                        dragTargetEvent.onDrop(e)\n                      }\n                    }\n                  : {})}\n                onClick={() => handleCheckboxChange(column, !column.checked)}\n              >\n                <div class={[`${ns}__list-item-left`]}>\n                  <Checkbox\n                    modelValue={column.checked}\n                    disabled={column.disabled}\n                    onChange={(status: boolean) => handleCheckboxChange(column, status)}\n                    // @ts-ignore: click\n                    onClick={(e: Event) => e.stopPropagation()}\n                  />\n                  <span class={[`${ns}__list-item-title`]}>{column.title}</span>\n                </div>\n\n                {!column.disabled && (\n                  <div\n                    class={[`${ns}__drag-icon`]}\n                    draggable\n                    onDragstart={(e: DragEvent) => dragSourceEvent.onDragstart(e, column, index)}\n                    onDragend={(e: DragEvent) => dragSourceEvent.onDragend(e)}\n                    onClick={(e: Event) => e.stopPropagation()}\n                  >\n                    <div class=\"line\"></div>\n                    <div class=\"line\"></div>\n                    <div class=\"line\"></div>\n                  </div>\n                )}\n              </li>\n            ))}\n          </ul>\n          <div class={[`${ns}__footer`]}>\n            <Space size={12}>\n              <Button onClick={handleCancel}>取消</Button>\n              <Button type=\"primary\" onClick={handleConfirm}>\n                确认\n              </Button>\n            </Space>\n          </div>\n        </div>\n      )\n    }\n  }\n})\n"],"names":["name","props","close","Function","popupVisible","Boolean","setup","tableColumnContext","inject","tableColumnInjectionKey","ns","getNamespace","groupColumns","computed","filter","column","type","initMap","Map","columnsList","ref","handleCheckboxChange","status","disabled","hidden","checked","handleCancel","value","forEach","Object","assign","get","prop","clear","handleConfirm","columnProps","map","handleUpdateColumn","watch","val","_columns","set","push","updateColumnsList","sourceIndex","targetIndex","item","splice","dragState","reactive","dragging","data","clearDragState","dragSourceEvent","draggable","onDragstart","e","index","dataTransfer","effectAllowed","target","className","includes","parentElement","setDragImage","clientWidth","clientHeight","onDragend","dropEffect","dragTargetEvent","onDragenter","preventDefault","stopPropagation","onDragover","onDrop","_createVNode","_mergeProps","onClick","Checkbox","title","Space","default","Button","_createTextVNode"],"mappings":"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"}