qidian-vue-ui 1.1.64 → 1.1.65
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.
- package/dist/components/service-dialog-table-select/index.css +9 -9
- package/dist/components/service-dialog-table-select/index.vue.mjs +1 -1
- package/dist/components/service-dialog-table-select/index.vue2.mjs +14 -6
- package/dist/components/service-dialog-table-select/index.vue2.mjs.map +1 -1
- package/package.json +1 -1
|
@@ -1,27 +1,27 @@
|
|
|
1
|
-
.qd-dialog-table-select[data-v-
|
|
1
|
+
.qd-dialog-table-select[data-v-9d7b31a2] {
|
|
2
2
|
width: 100%;
|
|
3
3
|
}
|
|
4
|
-
.qd-dialog-table-select__trigger[data-v-
|
|
4
|
+
.qd-dialog-table-select__trigger[data-v-9d7b31a2] {
|
|
5
5
|
width: 100%;
|
|
6
6
|
}
|
|
7
|
-
.qd-dialog-table-select__trigger[data-v-
|
|
7
|
+
.qd-dialog-table-select__trigger[data-v-9d7b31a2]:not(.qd-dialog-table-select__trigger--readonly):not(.qd-dialog-table-select__trigger--disabled) {
|
|
8
8
|
cursor: pointer;
|
|
9
9
|
}
|
|
10
|
-
.qd-dialog-table-select__table[data-v-
|
|
11
|
-
.qd-dialog-table-select__table[data-v-
|
|
10
|
+
.qd-dialog-table-select__table[data-v-9d7b31a2] .qd-crud-search > .t-card__body,
|
|
11
|
+
.qd-dialog-table-select__table[data-v-9d7b31a2] .qd-crud-table__body > .t-card__body {
|
|
12
12
|
padding: 0 !important;
|
|
13
13
|
}
|
|
14
|
-
.qd-dialog-table-select__table[data-v-
|
|
14
|
+
.qd-dialog-table-select__table[data-v-9d7b31a2] .qd-crud-table__toolbar {
|
|
15
15
|
display: none;
|
|
16
16
|
}
|
|
17
|
-
.qd-dialog-table-select__table[data-v-
|
|
17
|
+
.qd-dialog-table-select__table[data-v-9d7b31a2] .qd-service-table {
|
|
18
18
|
margin-top: 0;
|
|
19
19
|
}
|
|
20
|
-
.qd-dialog-table-select__table-add[data-v-
|
|
20
|
+
.qd-dialog-table-select__table-add[data-v-9d7b31a2] {
|
|
21
21
|
margin-top: var(--td-comp-margin-m);
|
|
22
22
|
display: flex;
|
|
23
23
|
}
|
|
24
|
-
.qd-dialog-table-select__table-add .t-input__wrap[data-v-
|
|
24
|
+
.qd-dialog-table-select__table-add .t-input__wrap[data-v-9d7b31a2] {
|
|
25
25
|
flex: 1 1 0;
|
|
26
26
|
overflow: hidden;
|
|
27
27
|
margin-right: var(--td-comp-margin-m);
|
|
@@ -2,7 +2,7 @@ import './index.css'
|
|
|
2
2
|
import _sfc_main from "./index.vue2.mjs";
|
|
3
3
|
/* empty css */
|
|
4
4
|
import _export_sfc from "../../_virtual/_plugin-vue_export-helper.mjs";
|
|
5
|
-
const index = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-
|
|
5
|
+
const index = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-9d7b31a2"]]);
|
|
6
6
|
export {
|
|
7
7
|
index as default
|
|
8
8
|
};
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import './index.css'
|
|
2
2
|
import { defineComponent, mergeDefaults, useTemplateRef, ref, reactive, computed, createVNode, watch, onMounted, createElementBlock, openBlock, Fragment, createElementVNode, mergeProps, renderSlot, unref, isRef, withCtx, createSlots, renderList, normalizeProps, guardReactiveProps } from "vue";
|
|
3
|
-
import { isEmpty, useDoubleClick, extractSlotsWithPrefix, identifyType } from "qidian-shared";
|
|
3
|
+
import { isEmpty, useDoubleClick, suspectedWrapperPromise, extractSlotsWithPrefix, identifyType } from "qidian-shared";
|
|
4
4
|
import { Select, Input, Space, Button } from "tdesign-vue-next";
|
|
5
5
|
import { AddIcon, SearchIcon } from "tdesign-icons-vue-next";
|
|
6
6
|
import { qdDialogTableSelectSearchGrid, qdServiceDialogTableSelectProps } from "./props.mjs";
|
|
@@ -324,6 +324,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
324
324
|
const tdReadonly = useReadonly();
|
|
325
325
|
const tdDisabled = useDisabled();
|
|
326
326
|
const dialogRef = useTemplateRef("dialog");
|
|
327
|
+
const confirmLoad = ref(false);
|
|
327
328
|
const selectedRowKeys = ref([]);
|
|
328
329
|
const selectedRows = ref([]);
|
|
329
330
|
let latestSelectedRows = [];
|
|
@@ -460,8 +461,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
460
461
|
handleConfirm();
|
|
461
462
|
}
|
|
462
463
|
});
|
|
463
|
-
function handleConfirm(done) {
|
|
464
|
-
if (!done) done = (closed) => visible.value = !closed;
|
|
464
|
+
async function handleConfirm(done) {
|
|
465
465
|
selectedRows.value = latestSelectedRows;
|
|
466
466
|
const {
|
|
467
467
|
selectOptions
|
|
@@ -484,7 +484,14 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
484
484
|
}];
|
|
485
485
|
reProps.value.onChange?.(...eventParams);
|
|
486
486
|
const onConfirm = reProps.value.onConfirm;
|
|
487
|
-
if (!onConfirm)
|
|
487
|
+
if (!onConfirm) return;
|
|
488
|
+
if (!done) {
|
|
489
|
+
confirmLoad.value = true;
|
|
490
|
+
const [err, res] = await suspectedWrapperPromise(onConfirm(...eventParams, (closed) => {
|
|
491
|
+
visible.value = !closed;
|
|
492
|
+
}));
|
|
493
|
+
confirmLoad.value = false;
|
|
494
|
+
if (err || res === false) return;
|
|
488
495
|
visible.value = false;
|
|
489
496
|
return;
|
|
490
497
|
}
|
|
@@ -583,7 +590,8 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
583
590
|
}, 16, ["class", "modelValue", "options"])], true)], 16), createVNode(unref(_sfc_main$1), mergeProps({
|
|
584
591
|
ref: "dialog",
|
|
585
592
|
visible: unref(visible),
|
|
586
|
-
"onUpdate:visible": _cache[12] || (_cache[12] = ($event) => isRef(visible) ? visible.value = $event : null)
|
|
593
|
+
"onUpdate:visible": _cache[12] || (_cache[12] = ($event) => isRef(visible) ? visible.value = $event : null),
|
|
594
|
+
"confirm-loading": confirmLoad.value
|
|
587
595
|
}, reProps.value.dialogOptions, {
|
|
588
596
|
onConfirm: handleConfirm,
|
|
589
597
|
onBeforeOpen: handleBeforeOpen,
|
|
@@ -652,7 +660,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
652
660
|
};
|
|
653
661
|
})]), 1040, ["search-data", "data", "selected-row-keys", "active-row-keys", "column-controller-visible", "display-columns", "expanded-rowKeys", "filter-value", "sort", "expanded-tree-nodes", "onSelectChange"])]),
|
|
654
662
|
_: 3
|
|
655
|
-
}, 16, ["visible"])], 64);
|
|
663
|
+
}, 16, ["visible", "confirm-loading"])], 64);
|
|
656
664
|
};
|
|
657
665
|
}
|
|
658
666
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.vue2.mjs","sources":["../../../src/components/service-dialog-table-select/index.vue"],"sourcesContent":["<template>\n <div class=\"qd-dialog-table-select\" v-bind=\"$attrs\" @click=\"openDialog\">\n <slot :selected-rows=\"selectedRows\">\n <t-select\n :class=\"[\n 'qd-dialog-table-select__trigger',\n reProps.selectOptions.readonly ? 'qd-dialog-table-select__trigger--readonly' : '',\n reProps.selectOptions.disabled ? 'qd-dialog-table-select__trigger--disabled' : ''\n ]\"\n v-model=\"modelValue\"\n :options=\"selectedRows\"\n :popup-visible=\"false\"\n v-bind=\"reProps.selectOptions\"\n @clear=\"handleClear\"\n >\n <template #suffixIcon>\n <search-icon />\n </template>\n </t-select>\n </slot>\n </div>\n\n <qd-dialog\n ref=\"dialog\"\n v-model:visible=\"visible\"\n v-bind=\"reProps.dialogOptions\"\n @confirm=\"handleConfirm\"\n @before-open=\"handleBeforeOpen\"\n @closed=\"handleClosed\"\n >\n <qd-crud-table\n class=\"qd-dialog-table-select__table\"\n v-model:search-data=\"searchData\"\n v-model:data=\"data\"\n v-model:selected-row-keys=\"selectedRowKeys\"\n v-model:active-row-keys=\"selectedRowKeys\"\n v-model:column-controller-visible=\"columnControllerVisible\"\n v-model:display-columns=\"displayColumns\"\n v-model:expanded-rowKeys=\"expandedRowKeys\"\n v-model:filter-value=\"filterValue\"\n v-model:sort=\"sort\"\n v-model:expanded-tree-nodes=\"expandedTreeNodes\"\n reserve-selected-row-on-paginate\n active-row-type=\"multiple\"\n v-bind=\"reProps.tableOptions\"\n @select-change=\"handleSelectChange\"\n >\n <template v-if=\"reProps.creatable\" #table-bottom-content>\n <div v-if=\"addCustom.visible\" class=\"qd-dialog-table-select__table-add\">\n <slot name=\"add-input\" :add-custom=\"addCustom\">\n <t-input v-model=\"addCustom.value\" v-bind=\"reProps.addInputOptions\" />\n </slot>\n\n <t-space size=\"small\">\n <slot name=\"add-confirm-btn\" :add-custom=\"addCustom\">\n <t-button v-bind=\"reProps.addConfirmBtnOptions\" />\n </slot>\n\n <slot name=\"add-cancel-btn\" :add-custom=\"addCustom\">\n <t-button v-bind=\"reProps.addCancelBtnOptions\" />\n </slot>\n </t-space>\n </div>\n\n <slot v-else name=\"add-btn\" :add-custom=\"addCustom\">\n <t-button class=\"qd-dialog-table-select__table-add\" v-bind=\"reProps.addBtnOptions\" />\n </slot>\n </template>\n\n <template\n v-for=\"item in extractSlotsWithPrefix($slots, 'search')\"\n #[item.filterName]=\"slotProps\"\n >\n <slot :name=\"item.originalName\" v-bind=\"slotProps\" />\n </template>\n\n <template\n v-for=\"item in extractSlotsWithPrefix($slots, 'table')\"\n #[item.filterName]=\"slotProps\"\n >\n <slot :name=\"item.originalName\" v-bind=\"slotProps\" />\n </template>\n </qd-crud-table>\n </qd-dialog>\n</template>\n\n<script\n setup\n lang=\"tsx\"\n generic=\"\n D extends TableRowData = TableRowData,\n R = unknown,\n P = ServicePageParams,\n TP = P,\n Pag extends ServicePagination = ServicePagination\n \"\n>\n import type {\n SelectOptions,\n SelectValue,\n TableRowData,\n TdButtonProps,\n TdInputProps\n } from 'tdesign-vue-next'\n import type { ServicePageParams, ServicePagination } from 'qidian-shared'\n import type {\n QdDialogTableSelectInstanceFunctions,\n QdServiceDialogTableSelectProps\n } from './types'\n import type { QdDialogDone, QdDialogInstanceFunctions } from '../dialog'\n import type { QdCrudTableProps } from '../crud'\n import { extractSlotsWithPrefix, identifyType, isEmpty, useDoubleClick } from 'qidian-shared'\n import {\n Select as TSelect,\n Button as TButton,\n Input as TInput,\n Space as TSpace\n } from 'tdesign-vue-next'\n import type { WatchHandle } from 'vue'\n import { AddIcon, SearchIcon } from 'tdesign-icons-vue-next'\n import { qdDialogTableSelectSearchGrid, qdServiceDialogTableSelectProps } from './props'\n import { computed, onMounted, reactive, ref, useTemplateRef, watch } from 'vue'\n import { useVModels } from '@vueuse/core'\n import { QdDialog } from '../dialog'\n import { QdCrudTable } from '../crud'\n import { qdServiceSelectKeys } from '../service-select/props'\n import { useDisabled, useReadonly } from '../../hooks'\n import { get, merge } from 'lodash-es'\n import { useConfig } from '../config-provider/useConfig'\n\n defineOptions({\n name: 'QdServiceDialogTableSelect'\n })\n\n type Props = QdServiceDialogTableSelectProps<D, R, P, TP, Pag>\n\n const props = withDefaults(defineProps<Props>(), qdServiceDialogTableSelectProps)\n const emit = defineEmits<{\n 'update:modelValue': [Props['modelValue']]\n 'update:visible': [Props['visible']]\n\n 'update:searchData': [Props['searchData']]\n 'update:data': [Props['data']]\n 'update:columnControllerVisible': [Props['columnControllerVisible']]\n 'update:displayColumns': [Props['displayColumns']]\n 'update:expandedRowKeys': [Props['expandedRowKeys']]\n 'update:filterValue': [Props['filterValue']]\n 'update:sort': [Props['sort']]\n 'update:expandedTreeNodes': [Props['expandedTreeNodes']]\n }>()\n const {\n modelValue,\n visible,\n searchData,\n data,\n columnControllerVisible,\n displayColumns,\n expandedRowKeys,\n filterValue,\n sort,\n expandedTreeNodes\n } = useVModels<typeof props, keyof typeof emit>(props, emit, {\n passive: true\n })\n\n const { t } = useConfig('dialogTableSelect')\n const tdReadonly = useReadonly()\n const tdDisabled = useDisabled()\n const dialogRef = useTemplateRef<QdDialogInstanceFunctions>('dialog')\n\n const selectedRowKeys = ref<(string | number)[]>([])\n const selectedRows = ref<D[]>([])\n let latestSelectedRows: D[] = []\n\n const addCustom = reactive({\n visible: false,\n value: ''\n })\n const addConfirmDisabled = computed(() => isEmpty(addCustom.value))\n\n const reProps = computed(() => {\n const {\n modelValue,\n visible,\n fillOptions,\n searchData,\n data,\n columnControllerVisible,\n displayColumns,\n expandedRowKeys,\n filterValue,\n sort,\n expandedTreeNodes,\n wrapper,\n readonly,\n\n multiple,\n disabled,\n keys,\n valueType,\n clearable,\n creatable,\n placeholder,\n size,\n\n onClear,\n onCreate,\n onChange,\n onConfirm,\n\n search,\n tableSize,\n\n addBtn,\n addConfirmBtn,\n addCancelBtn,\n addInput,\n\n ...tableOptions\n } = props\n\n const addBtnOptions: TdButtonProps = merge(\n {},\n {\n block: true,\n theme: 'primary',\n variant: 'dashed',\n icon: () => <AddIcon />,\n content: t('addText'),\n onClick: () => {\n addCustom.visible = true\n }\n },\n typeof addBtn === 'string' ? { content: addBtn } : addBtn\n )\n\n const addConfirmBtnOptions: TdButtonProps = merge(\n {},\n {\n content: t('addConfirmText'),\n onClick: confirmAddCustom\n },\n typeof addConfirmBtn === 'string'\n ? { content: addConfirmBtn, disabled: addConfirmDisabled.value }\n : { ...addConfirmBtn, disabled: addConfirmDisabled.value || addConfirmBtn?.disabled }\n )\n\n const addCancelBtnOptions: TdButtonProps = merge(\n {},\n {\n variant: 'outline',\n content: t('addCancelText'),\n onClick: cancelAddCustom\n },\n typeof addCancelBtn === 'string' ? { content: addCancelBtn } : addCancelBtn\n )\n\n const addInputOptions: TdInputProps = merge(\n {},\n { clearable: true },\n typeof addInput === 'string' ? { placeholder: addInput } : addInput\n )\n\n const dialogOptions = merge({}, { header: placeholder }, wrapper)\n\n return {\n creatable,\n fillOptions,\n selectOptions: {\n multiple,\n readonly: readonly ?? tdReadonly.value,\n disabled: disabled ?? tdDisabled.value,\n keys,\n valueType,\n clearable,\n placeholder,\n size\n },\n dialogOptions,\n tableOptions: {\n ...tableOptions,\n size: tableSize,\n search: {\n ...search,\n grid: merge({}, qdDialogTableSelectSearchGrid, search?.grid)\n },\n selectType: (multiple ? 'multiple' : 'single') as QdCrudTableProps['selectType'],\n rowKey: keys?.value || qdServiceSelectKeys.value\n },\n\n onClear,\n onCreate,\n onChange,\n onConfirm,\n\n addBtnOptions,\n addConfirmBtnOptions,\n addCancelBtnOptions,\n addInputOptions,\n\n models: {\n modelValue,\n visible,\n searchData,\n data,\n columnControllerVisible,\n displayColumns,\n expandedRowKeys,\n filterValue,\n sort,\n expandedTreeNodes\n }\n }\n })\n\n let fillOptionsWatchStop: WatchHandle | undefined // 处理 fillOptions 合并逻辑\n\n const handleSelectChange = useDoubleClick<[(string | number)[], SelectOptions<D>]>({\n onSingleClick: (rowKeys, options) => {\n latestSelectedRows = options.selectedRowData\n },\n onDoubleClick: (rowKeys, options) => {\n latestSelectedRows = options.selectedRowData\n handleConfirm()\n }\n })\n\n function handleConfirm(done?: QdDialogDone) {\n if (!done) done = (closed: boolean) => (visible.value = !closed)\n\n selectedRows.value = latestSelectedRows\n const { selectOptions } = reProps.value\n const valueKey = selectOptions.keys?.value || qdServiceSelectKeys.value\n const labelKey = selectOptions.keys?.label || qdServiceSelectKeys.label\n if (selectOptions.valueType === 'value') {\n modelValue.value = selectOptions.multiple\n ? latestSelectedRows.map((item) => get(item, valueKey))\n : get(latestSelectedRows[0], valueKey)\n } else {\n const rows = latestSelectedRows.map((item) => ({\n [valueKey]: get(item, valueKey),\n [labelKey]: get(item, labelKey)\n }))\n modelValue.value = selectOptions.multiple ? rows : rows[0]\n }\n\n const eventParams = [\n modelValue.value,\n {\n option: latestSelectedRows[latestSelectedRows.length - 1],\n selectedOptions: latestSelectedRows,\n trigger: 'check'\n }\n ] as const\n reProps.value.onChange?.(...eventParams)\n\n const onConfirm = reProps.value.onConfirm\n if (!onConfirm) {\n visible.value = false\n return\n }\n\n return onConfirm(...eventParams, done)\n }\n\n function openDialog() {\n const { selectOptions } = reProps.value\n if (selectOptions.readonly || selectOptions.disabled) return\n\n visible.value = true\n }\n\n function handleClear(context: { e: MouseEvent }) {\n selectedRowKeys.value = []\n\n reProps.value.onChange?.(undefined as unknown as SelectValue, {\n e: context.e,\n option: null as unknown as D,\n selectedOptions: [],\n trigger: 'clear'\n })\n reProps.value.onClear?.(context)\n }\n\n function confirmAddCustom(e: MouseEvent) {\n reProps.value.onCreate?.(addCustom.value, (closed: boolean) => {\n visible.value = !closed\n })\n reProps.value.onChange?.(addCustom.value, {\n e,\n option: null as unknown as D,\n selectedOptions: [],\n trigger: 'check'\n })\n }\n\n function cancelAddCustom() {\n Object.assign(addCustom, {\n visible: false,\n value: ''\n })\n }\n\n function handleBeforeOpen() {\n fillOptionsWatchStop?.()\n\n const { selectOptions } = reProps.value\n const valueKey = selectOptions.keys?.value || qdServiceSelectKeys.value\n if (identifyType(modelValue.value) === 'array') {\n selectedRowKeys.value = modelValue.value.map((item: (typeof modelValue.value)[number]) => {\n if (identifyType(item) === 'object') {\n return get(item, valueKey)\n }\n\n return item\n })\n } else if (identifyType(modelValue.value) === 'object') {\n selectedRowKeys.value = [get(modelValue.value, valueKey)]\n } else {\n selectedRowKeys.value = isEmpty(modelValue.value) ? [] : [modelValue.value]\n }\n }\n\n function handleClosed() {\n if (addCustom.visible) cancelAddCustom()\n\n if (reProps.value.dialogOptions.destroyOnClose) {\n data.value = []\n searchData.value = {}\n selectedRowKeys.value = []\n }\n }\n\n const expose = {} as QdDialogTableSelectInstanceFunctions\n\n fillOptionsWatchStop = watch(\n () => reProps.value.fillOptions,\n (fillOpts) => {\n if (!fillOpts?.length) return\n\n selectedRows.value = fillOpts as D[]\n },\n { immediate: true, deep: true }\n )\n\n onMounted(() => {\n Object.assign(expose, dialogRef.value)\n })\n</script>\n\n<style lang=\"less\" scoped>\n .qd-dialog-table-select {\n width: 100%;\n\n &__trigger {\n width: 100%;\n\n &:not(&--readonly):not(&--disabled) {\n cursor: pointer;\n }\n }\n\n &__table {\n :deep(.qd-crud) {\n &-search > .t-card__body,\n &-table__body > .t-card__body {\n padding: 0 !important;\n }\n\n &-table__toolbar {\n display: none;\n }\n }\n\n :deep(.qd-service-table) {\n margin-top: 0;\n }\n\n &-add {\n margin-top: var(--td-comp-margin-m);\n display: flex;\n\n .t-input__wrap {\n flex: 1 1 0;\n overflow: hidden;\n margin-right: var(--td-comp-margin-m);\n }\n }\n }\n }\n</style>\n"],"names":["props","__props","emit","__emit","modelValue","visible","searchData","data","columnControllerVisible","displayColumns","expandedRowKeys","filterValue","sort","expandedTreeNodes","useVModels","passive","t","useConfig","tdReadonly","useReadonly","tdDisabled","useDisabled","dialogRef","useTemplateRef","selectedRowKeys","ref","selectedRows","latestSelectedRows","addCustom","reactive","value","addConfirmDisabled","computed","isEmpty","reProps","fillOptions","wrapper","readonly","multiple","disabled","keys","valueType","clearable","creatable","placeholder","size","onClear","onCreate","onChange","onConfirm","search","tableSize","addBtn","addConfirmBtn","addCancelBtn","addInput","tableOptions","addBtnOptions","merge","block","theme","variant","icon","_createVNode2","AddIcon","content","onClick","addConfirmBtnOptions","confirmAddCustom","addCancelBtnOptions","cancelAddCustom","addInputOptions","dialogOptions","header","selectOptions","grid","qdDialogTableSelectSearchGrid","selectType","rowKey","qdServiceSelectKeys","models","fillOptionsWatchStop","handleSelectChange","useDoubleClick","onSingleClick","rowKeys","options","selectedRowData","onDoubleClick","handleConfirm","done","closed","valueKey","labelKey","label","map","item","get","rows","eventParams","option","length","selectedOptions","trigger","openDialog","handleClear","context","undefined","e","Object","assign","handleBeforeOpen","identifyType","handleClosed","destroyOnClose","expose","watch","fillOpts","immediate","deep","onMounted","_createElementVNode","_mergeProps","class","$attrs","_renderSlot","_ctx","$slots","_createVNode","_unref","$event","suffixIcon","SearchIcon","onBeforeOpen","onClosed","onSelectChange","_createSlots","_","_openBlock","_createElementBlock","_hoisted_1","_cache","TSpace","TButton","_normalizeProps","_guardReactiveProps","extractSlotsWithPrefix","name","filterName","fn","_withCtx","slotProps","originalName"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.vue2.mjs","sources":["../../../src/components/service-dialog-table-select/index.vue"],"sourcesContent":["<template>\n <div class=\"qd-dialog-table-select\" v-bind=\"$attrs\" @click=\"openDialog\">\n <slot :selected-rows=\"selectedRows\">\n <t-select\n :class=\"[\n 'qd-dialog-table-select__trigger',\n reProps.selectOptions.readonly ? 'qd-dialog-table-select__trigger--readonly' : '',\n reProps.selectOptions.disabled ? 'qd-dialog-table-select__trigger--disabled' : ''\n ]\"\n v-model=\"modelValue\"\n :options=\"selectedRows\"\n :popup-visible=\"false\"\n v-bind=\"reProps.selectOptions\"\n @clear=\"handleClear\"\n >\n <template #suffixIcon>\n <search-icon />\n </template>\n </t-select>\n </slot>\n </div>\n\n <qd-dialog\n ref=\"dialog\"\n v-model:visible=\"visible\"\n :confirm-loading=\"confirmLoad\"\n v-bind=\"reProps.dialogOptions\"\n @confirm=\"handleConfirm\"\n @before-open=\"handleBeforeOpen\"\n @closed=\"handleClosed\"\n >\n <qd-crud-table\n class=\"qd-dialog-table-select__table\"\n v-model:search-data=\"searchData\"\n v-model:data=\"data\"\n v-model:selected-row-keys=\"selectedRowKeys\"\n v-model:active-row-keys=\"selectedRowKeys\"\n v-model:column-controller-visible=\"columnControllerVisible\"\n v-model:display-columns=\"displayColumns\"\n v-model:expanded-rowKeys=\"expandedRowKeys\"\n v-model:filter-value=\"filterValue\"\n v-model:sort=\"sort\"\n v-model:expanded-tree-nodes=\"expandedTreeNodes\"\n reserve-selected-row-on-paginate\n active-row-type=\"multiple\"\n v-bind=\"reProps.tableOptions\"\n @select-change=\"handleSelectChange\"\n >\n <template v-if=\"reProps.creatable\" #table-bottom-content>\n <div v-if=\"addCustom.visible\" class=\"qd-dialog-table-select__table-add\">\n <slot name=\"add-input\" :add-custom=\"addCustom\">\n <t-input v-model=\"addCustom.value\" v-bind=\"reProps.addInputOptions\" />\n </slot>\n\n <t-space size=\"small\">\n <slot name=\"add-confirm-btn\" :add-custom=\"addCustom\">\n <t-button v-bind=\"reProps.addConfirmBtnOptions\" />\n </slot>\n\n <slot name=\"add-cancel-btn\" :add-custom=\"addCustom\">\n <t-button v-bind=\"reProps.addCancelBtnOptions\" />\n </slot>\n </t-space>\n </div>\n\n <slot v-else name=\"add-btn\" :add-custom=\"addCustom\">\n <t-button class=\"qd-dialog-table-select__table-add\" v-bind=\"reProps.addBtnOptions\" />\n </slot>\n </template>\n\n <template\n v-for=\"item in extractSlotsWithPrefix($slots, 'search')\"\n #[item.filterName]=\"slotProps\"\n >\n <slot :name=\"item.originalName\" v-bind=\"slotProps\" />\n </template>\n\n <template\n v-for=\"item in extractSlotsWithPrefix($slots, 'table')\"\n #[item.filterName]=\"slotProps\"\n >\n <slot :name=\"item.originalName\" v-bind=\"slotProps\" />\n </template>\n </qd-crud-table>\n </qd-dialog>\n</template>\n\n<script\n setup\n lang=\"tsx\"\n generic=\"\n D extends TableRowData = TableRowData,\n R = unknown,\n P = ServicePageParams,\n TP = P,\n Pag extends ServicePagination = ServicePagination\n \"\n>\n import type {\n SelectOptions,\n SelectValue,\n TableRowData,\n TdButtonProps,\n TdInputProps\n } from 'tdesign-vue-next'\n import type { ServicePageParams, ServicePagination } from 'qidian-shared'\n import type {\n QdDialogTableSelectInstanceFunctions,\n QdServiceDialogTableSelectProps\n } from './types'\n import type { QdDialogDone, QdDialogInstanceFunctions } from '../dialog'\n import type { QdCrudTableProps } from '../crud'\n import {\n extractSlotsWithPrefix,\n identifyType,\n isEmpty,\n suspectedWrapperPromise,\n useDoubleClick\n } from 'qidian-shared'\n import {\n Select as TSelect,\n Button as TButton,\n Input as TInput,\n Space as TSpace\n } from 'tdesign-vue-next'\n import type { WatchHandle } from 'vue'\n import { AddIcon, SearchIcon } from 'tdesign-icons-vue-next'\n import { qdDialogTableSelectSearchGrid, qdServiceDialogTableSelectProps } from './props'\n import { computed, onMounted, reactive, ref, useTemplateRef, watch } from 'vue'\n import { useVModels } from '@vueuse/core'\n import { QdDialog } from '../dialog'\n import { QdCrudTable } from '../crud'\n import { qdServiceSelectKeys } from '../service-select/props'\n import { useDisabled, useReadonly } from '../../hooks'\n import { get, merge } from 'lodash-es'\n import { useConfig } from '../config-provider/useConfig'\n\n defineOptions({\n name: 'QdServiceDialogTableSelect'\n })\n\n type Props = QdServiceDialogTableSelectProps<D, R, P, TP, Pag>\n\n const props = withDefaults(defineProps<Props>(), qdServiceDialogTableSelectProps)\n const emit = defineEmits<{\n 'update:modelValue': [Props['modelValue']]\n 'update:visible': [Props['visible']]\n\n 'update:searchData': [Props['searchData']]\n 'update:data': [Props['data']]\n 'update:columnControllerVisible': [Props['columnControllerVisible']]\n 'update:displayColumns': [Props['displayColumns']]\n 'update:expandedRowKeys': [Props['expandedRowKeys']]\n 'update:filterValue': [Props['filterValue']]\n 'update:sort': [Props['sort']]\n 'update:expandedTreeNodes': [Props['expandedTreeNodes']]\n }>()\n const {\n modelValue,\n visible,\n searchData,\n data,\n columnControllerVisible,\n displayColumns,\n expandedRowKeys,\n filterValue,\n sort,\n expandedTreeNodes\n } = useVModels<typeof props, keyof typeof emit>(props, emit, {\n passive: true\n })\n\n const { t } = useConfig('dialogTableSelect')\n const tdReadonly = useReadonly()\n const tdDisabled = useDisabled()\n const dialogRef = useTemplateRef<QdDialogInstanceFunctions>('dialog')\n\n const confirmLoad = ref(false)\n const selectedRowKeys = ref<(string | number)[]>([])\n const selectedRows = ref<D[]>([])\n let latestSelectedRows: D[] = []\n\n const addCustom = reactive({\n visible: false,\n value: ''\n })\n const addConfirmDisabled = computed(() => isEmpty(addCustom.value))\n\n const reProps = computed(() => {\n const {\n modelValue,\n visible,\n fillOptions,\n searchData,\n data,\n columnControllerVisible,\n displayColumns,\n expandedRowKeys,\n filterValue,\n sort,\n expandedTreeNodes,\n wrapper,\n readonly,\n\n multiple,\n disabled,\n keys,\n valueType,\n clearable,\n creatable,\n placeholder,\n size,\n\n onClear,\n onCreate,\n onChange,\n onConfirm,\n\n search,\n tableSize,\n\n addBtn,\n addConfirmBtn,\n addCancelBtn,\n addInput,\n\n ...tableOptions\n } = props\n\n const addBtnOptions: TdButtonProps = merge(\n {},\n {\n block: true,\n theme: 'primary',\n variant: 'dashed',\n icon: () => <AddIcon />,\n content: t('addText'),\n onClick: () => {\n addCustom.visible = true\n }\n },\n typeof addBtn === 'string' ? { content: addBtn } : addBtn\n )\n\n const addConfirmBtnOptions: TdButtonProps = merge(\n {},\n {\n content: t('addConfirmText'),\n onClick: confirmAddCustom\n },\n typeof addConfirmBtn === 'string'\n ? { content: addConfirmBtn, disabled: addConfirmDisabled.value }\n : { ...addConfirmBtn, disabled: addConfirmDisabled.value || addConfirmBtn?.disabled }\n )\n\n const addCancelBtnOptions: TdButtonProps = merge(\n {},\n {\n variant: 'outline',\n content: t('addCancelText'),\n onClick: cancelAddCustom\n },\n typeof addCancelBtn === 'string' ? { content: addCancelBtn } : addCancelBtn\n )\n\n const addInputOptions: TdInputProps = merge(\n {},\n { clearable: true },\n typeof addInput === 'string' ? { placeholder: addInput } : addInput\n )\n\n const dialogOptions = merge({}, { header: placeholder }, wrapper)\n\n return {\n creatable,\n fillOptions,\n selectOptions: {\n multiple,\n readonly: readonly ?? tdReadonly.value,\n disabled: disabled ?? tdDisabled.value,\n keys,\n valueType,\n clearable,\n placeholder,\n size\n },\n dialogOptions,\n tableOptions: {\n ...tableOptions,\n size: tableSize,\n search: {\n ...search,\n grid: merge({}, qdDialogTableSelectSearchGrid, search?.grid)\n },\n selectType: (multiple ? 'multiple' : 'single') as QdCrudTableProps['selectType'],\n rowKey: keys?.value || qdServiceSelectKeys.value\n },\n\n onClear,\n onCreate,\n onChange,\n onConfirm,\n\n addBtnOptions,\n addConfirmBtnOptions,\n addCancelBtnOptions,\n addInputOptions,\n\n models: {\n modelValue,\n visible,\n searchData,\n data,\n columnControllerVisible,\n displayColumns,\n expandedRowKeys,\n filterValue,\n sort,\n expandedTreeNodes\n }\n }\n })\n\n let fillOptionsWatchStop: WatchHandle | undefined // 处理 fillOptions 合并逻辑\n\n const handleSelectChange = useDoubleClick<[(string | number)[], SelectOptions<D>]>({\n onSingleClick: (rowKeys, options) => {\n latestSelectedRows = options.selectedRowData\n },\n onDoubleClick: (rowKeys, options) => {\n latestSelectedRows = options.selectedRowData\n handleConfirm()\n }\n })\n\n async function handleConfirm(done?: QdDialogDone) {\n selectedRows.value = latestSelectedRows\n const { selectOptions } = reProps.value\n const valueKey = selectOptions.keys?.value || qdServiceSelectKeys.value\n const labelKey = selectOptions.keys?.label || qdServiceSelectKeys.label\n if (selectOptions.valueType === 'value') {\n modelValue.value = selectOptions.multiple\n ? latestSelectedRows.map((item) => get(item, valueKey))\n : get(latestSelectedRows[0], valueKey)\n } else {\n const rows = latestSelectedRows.map((item) => ({\n [valueKey]: get(item, valueKey),\n [labelKey]: get(item, labelKey)\n }))\n modelValue.value = selectOptions.multiple ? rows : rows[0]\n }\n\n const eventParams = [\n modelValue.value,\n {\n option: latestSelectedRows[latestSelectedRows.length - 1],\n selectedOptions: latestSelectedRows,\n trigger: 'check'\n }\n ] as const\n reProps.value.onChange?.(...eventParams)\n\n const onConfirm = reProps.value.onConfirm\n if (!onConfirm) return\n\n if (!done) {\n confirmLoad.value = true\n const [err, res] = await suspectedWrapperPromise(\n onConfirm(...eventParams, (closed) => {\n visible.value = !closed\n })\n )\n confirmLoad.value = false\n if (err || res === false) return\n\n visible.value = false\n return\n }\n\n return onConfirm(...eventParams, done)\n }\n\n function openDialog() {\n const { selectOptions } = reProps.value\n if (selectOptions.readonly || selectOptions.disabled) return\n\n visible.value = true\n }\n\n function handleClear(context: { e: MouseEvent }) {\n selectedRowKeys.value = []\n\n reProps.value.onChange?.(undefined as unknown as SelectValue, {\n e: context.e,\n option: null as unknown as D,\n selectedOptions: [],\n trigger: 'clear'\n })\n reProps.value.onClear?.(context)\n }\n\n function confirmAddCustom(e: MouseEvent) {\n reProps.value.onCreate?.(addCustom.value, (closed: boolean) => {\n visible.value = !closed\n })\n reProps.value.onChange?.(addCustom.value, {\n e,\n option: null as unknown as D,\n selectedOptions: [],\n trigger: 'check'\n })\n }\n\n function cancelAddCustom() {\n Object.assign(addCustom, {\n visible: false,\n value: ''\n })\n }\n\n function handleBeforeOpen() {\n fillOptionsWatchStop?.()\n\n const { selectOptions } = reProps.value\n const valueKey = selectOptions.keys?.value || qdServiceSelectKeys.value\n if (identifyType(modelValue.value) === 'array') {\n selectedRowKeys.value = modelValue.value.map((item: (typeof modelValue.value)[number]) => {\n if (identifyType(item) === 'object') {\n return get(item, valueKey)\n }\n\n return item\n })\n } else if (identifyType(modelValue.value) === 'object') {\n selectedRowKeys.value = [get(modelValue.value, valueKey)]\n } else {\n selectedRowKeys.value = isEmpty(modelValue.value) ? [] : [modelValue.value]\n }\n }\n\n function handleClosed() {\n if (addCustom.visible) cancelAddCustom()\n\n if (reProps.value.dialogOptions.destroyOnClose) {\n data.value = []\n searchData.value = {}\n selectedRowKeys.value = []\n }\n }\n\n const expose = {} as QdDialogTableSelectInstanceFunctions\n\n fillOptionsWatchStop = watch(\n () => reProps.value.fillOptions,\n (fillOpts) => {\n if (!fillOpts?.length) return\n\n selectedRows.value = fillOpts as D[]\n },\n { immediate: true, deep: true }\n )\n\n onMounted(() => {\n Object.assign(expose, dialogRef.value)\n })\n</script>\n\n<style lang=\"less\" scoped>\n .qd-dialog-table-select {\n width: 100%;\n\n &__trigger {\n width: 100%;\n\n &:not(&--readonly):not(&--disabled) {\n cursor: pointer;\n }\n }\n\n &__table {\n :deep(.qd-crud) {\n &-search > .t-card__body,\n &-table__body > .t-card__body {\n padding: 0 !important;\n }\n\n &-table__toolbar {\n display: none;\n }\n }\n\n :deep(.qd-service-table) {\n margin-top: 0;\n }\n\n &-add {\n margin-top: var(--td-comp-margin-m);\n display: flex;\n\n .t-input__wrap {\n flex: 1 1 0;\n overflow: hidden;\n margin-right: var(--td-comp-margin-m);\n }\n }\n }\n }\n</style>\n"],"names":["props","__props","emit","__emit","modelValue","visible","searchData","data","columnControllerVisible","displayColumns","expandedRowKeys","filterValue","sort","expandedTreeNodes","useVModels","passive","t","useConfig","tdReadonly","useReadonly","tdDisabled","useDisabled","dialogRef","useTemplateRef","confirmLoad","ref","selectedRowKeys","selectedRows","latestSelectedRows","addCustom","reactive","value","addConfirmDisabled","computed","isEmpty","reProps","fillOptions","wrapper","readonly","multiple","disabled","keys","valueType","clearable","creatable","placeholder","size","onClear","onCreate","onChange","onConfirm","search","tableSize","addBtn","addConfirmBtn","addCancelBtn","addInput","tableOptions","addBtnOptions","merge","block","theme","variant","icon","_createVNode2","AddIcon","content","onClick","addConfirmBtnOptions","confirmAddCustom","addCancelBtnOptions","cancelAddCustom","addInputOptions","dialogOptions","header","selectOptions","grid","qdDialogTableSelectSearchGrid","selectType","rowKey","qdServiceSelectKeys","models","fillOptionsWatchStop","handleSelectChange","useDoubleClick","onSingleClick","rowKeys","options","selectedRowData","onDoubleClick","handleConfirm","done","valueKey","labelKey","label","map","item","get","rows","eventParams","option","length","selectedOptions","trigger","err","res","suspectedWrapperPromise","closed","openDialog","handleClear","context","undefined","e","Object","assign","handleBeforeOpen","identifyType","handleClosed","destroyOnClose","expose","watch","fillOpts","immediate","deep","onMounted","_createElementVNode","_mergeProps","class","$attrs","_renderSlot","_ctx","$slots","_createVNode","_unref","$event","suffixIcon","SearchIcon","onBeforeOpen","onClosed","onSelectChange","_createSlots","_","_openBlock","_createElementBlock","_hoisted_1","_cache","TSpace","TButton","_normalizeProps","_guardReactiveProps","extractSlotsWithPrefix","name","filterName","fn","_withCtx","slotProps","originalName"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA+IE,UAAMA,QAAQC;AACd,UAAMC,OAAOC;AAab,UAAM;AAAA,MACJC;AAAAA,MACAC;AAAAA,MACAC;AAAAA,MACAC;AAAAA,MACAC;AAAAA,MACAC;AAAAA,MACAC;AAAAA,MACAC;AAAAA,MACAC;AAAAA,MACAC;AAAAA,IACF,IAAIC,WAA4Cd,OAAOE,MAAM;AAAA,MAC3Da,SAAS;AAAA,IACX,CAAC;AAED,UAAM;AAAA,MAAEC;AAAAA,IAAE,IAAIC,UAAU,mBAAmB;AAC3C,UAAMC,aAAaC,YAAW;AAC9B,UAAMC,aAAaC,YAAW;AAC9B,UAAMC,YAAYC,eAA0C,QAAQ;AAEpE,UAAMC,cAAcC,IAAI,KAAK;AAC7B,UAAMC,kBAAkBD,IAAyB,EAAE;AACnD,UAAME,eAAeF,IAAS,EAAE;AAChC,QAAIG,qBAA0B,CAAA;AAE9B,UAAMC,YAAYC,SAAS;AAAA,MACzBzB,SAAS;AAAA,MACT0B,OAAO;AAAA,IACT,CAAC;AACD,UAAMC,qBAAqBC,SAAS,MAAMC,QAAQL,UAAUE,KAAK,CAAC;AAElE,UAAMI,UAAUF,SAAS,MAAM;AAC7B,YAAM;AAAA,QACJ7B,YAAAA;AAAAA,QACAC,SAAAA;AAAAA,QACA+B;AAAAA,QACA9B,YAAAA;AAAAA,QACAC,MAAAA;AAAAA,QACAC,yBAAAA;AAAAA,QACAC,gBAAAA;AAAAA,QACAC,iBAAAA;AAAAA,QACAC,aAAAA;AAAAA,QACAC,MAAAA;AAAAA,QACAC,mBAAAA;AAAAA,QACAwB;AAAAA,QACAC;AAAAA,QAEAC;AAAAA,QACAC;AAAAA,QACAC;AAAAA,QACAC;AAAAA,QACAC;AAAAA,QACAC;AAAAA,QACAC;AAAAA,QACAC;AAAAA,QAEAC;AAAAA,QACAC;AAAAA,QACAC;AAAAA,QACAC;AAAAA,QAEAC;AAAAA,QACAC;AAAAA,QAEAC;AAAAA,QACAC;AAAAA,QACAC;AAAAA,QACAC;AAAAA,QAEA,GAAGC;AAAAA,MACL,IAAIzD;AAEJ,YAAM0D,gBAA+BC,MACnC,IACA;AAAA,QACEC,OAAO;AAAA,QACPC,OAAO;AAAA,QACPC,SAAS;AAAA,QACTC,MAAMA,MAAAC,YAAAC,SAAA,MAAA,IAAA;AAAA,QACNC,SAASlD,EAAE,SAAS;AAAA,QACpBmD,SAASA,MAAM;AACbtC,oBAAUxB,UAAU;AAAA,QACtB;AAAA,MACF,GACA,OAAOgD,WAAW,WAAW;AAAA,QAAEa,SAASb;AAAAA,UAAWA,MACrD;AAEA,YAAMe,uBAAsCT,MAC1C,IACA;AAAA,QACEO,SAASlD,EAAE,gBAAgB;AAAA,QAC3BmD,SAASE;AAAAA,MACX,GACA,OAAOf,kBAAkB,WACrB;AAAA,QAAEY,SAASZ;AAAAA,QAAed,UAAUR,mBAAmBD;AAAAA,MAAM,IAC7D;AAAA,QAAE,GAAGuB;AAAAA,QAAed,UAAUR,mBAAmBD,SAASuB,eAAed;AAAAA,MAAS,CACxF;AAEA,YAAM8B,sBAAqCX,MACzC,IACA;AAAA,QACEG,SAAS;AAAA,QACTI,SAASlD,EAAE,eAAe;AAAA,QAC1BmD,SAASI;AAAAA,MACX,GACA,OAAOhB,iBAAiB,WAAW;AAAA,QAAEW,SAASX;AAAAA,UAAiBA,YACjE;AAEA,YAAMiB,kBAAgCb,MACpC,IACA;AAAA,QAAEhB,WAAW;AAAA,MAAK,GAClB,OAAOa,aAAa,WAAW;AAAA,QAAEX,aAAaW;AAAAA,UAAaA,QAC7D;AAEA,YAAMiB,gBAAgBd,MAAM,IAAI;AAAA,QAAEe,QAAQ7B;AAAAA,SAAeR,OAAO;AAEhE,aAAO;AAAA,QACLO;AAAAA,QACAR;AAAAA,QACAuC,eAAe;AAAA,UACbpC;AAAAA,UACAD,UAAUA,YAAYpB,WAAWa;AAAAA,UACjCS,UAAUA,YAAYpB,WAAWW;AAAAA,UACjCU;AAAAA,UACAC;AAAAA,UACAC;AAAAA,UACAE;AAAAA,UACAC;AAAAA;QAEF2B;AAAAA,QACAhB,cAAc;AAAA,UACZ,GAAGA;AAAAA,UACHX,MAAMM;AAAAA,UACND,QAAQ;AAAA,YACN,GAAGA;AAAAA,YACHyB,MAAMjB,MAAM,CAAA,GAAIkB,+BAA+B1B,QAAQyB,IAAI;AAAA;UAE7DE,YAAavC,WAAW,aAAa;AAAA,UACrCwC,QAAQtC,MAAMV,SAASiD,oBAAoBjD;AAAAA;QAG7CgB;AAAAA,QACAC;AAAAA,QACAC;AAAAA,QACAC;AAAAA,QAEAQ;AAAAA,QACAU;AAAAA,QACAE;AAAAA,QACAE;AAAAA,QAEAS,QAAQ;AAAA,UACN7E,YAAAA;AAAAA,UACAC,SAAAA;AAAAA,UACAC,YAAAA;AAAAA,UACAC,MAAAA;AAAAA,UACAC,yBAAAA;AAAAA,UACAC,gBAAAA;AAAAA,UACAC,iBAAAA;AAAAA,UACAC,aAAAA;AAAAA,UACAC,MAAAA;AAAAA,UACAC,mBAAAA;AAAAA,QACF;AAAA;IAEJ,CAAC;AAED,QAAIqE;AAEJ,UAAMC,qBAAqBC,eAAwD;AAAA,MACjFC,eAAeA,CAACC,SAASC,YAAY;AACnC3D,6BAAqB2D,QAAQC;AAAAA,MAC/B;AAAA,MACAC,eAAeA,CAACH,SAASC,YAAY;AACnC3D,6BAAqB2D,QAAQC;AAC7BE,sBAAa;AAAA,MACf;AAAA,IACF,CAAC;AAED,mBAAeA,cAAcC,MAAqB;AAChDhE,mBAAaI,QAAQH;AACrB,YAAM;AAAA,QAAE+C;AAAAA,UAAkBxC,QAAQJ;AAClC,YAAM6D,WAAWjB,cAAclC,MAAMV,SAASiD,oBAAoBjD;AAClE,YAAM8D,WAAWlB,cAAclC,MAAMqD,SAASd,oBAAoBc;AAClE,UAAInB,cAAcjC,cAAc,SAAS;AACvCtC,mBAAW2B,QAAQ4C,cAAcpC,WAC7BX,mBAAmBmE,IAAKC,UAASC,IAAID,MAAMJ,QAAQ,CAAC,IACpDK,IAAIrE,mBAAmB,CAAC,GAAGgE,QAAQ;AAAA,MACzC,OAAO;AACL,cAAMM,OAAOtE,mBAAmBmE,IAAKC,WAAU;AAAA,UAC7C,CAACJ,QAAQ,GAAGK,IAAID,MAAMJ,QAAQ;AAAA,UAC9B,CAACC,QAAQ,GAAGI,IAAID,MAAMH,QAAQ;AAAA,QAChC,EAAE;AACFzF,mBAAW2B,QAAQ4C,cAAcpC,WAAW2D,OAAOA,KAAK,CAAC;AAAA,MAC3D;AAEA,YAAMC,cAAc,CAClB/F,WAAW2B,OACX;AAAA,QACEqE,QAAQxE,mBAAmBA,mBAAmByE,SAAS,CAAC;AAAA,QACxDC,iBAAiB1E;AAAAA,QACjB2E,SAAS;AAAA,MACX,CAAA;AAEFpE,cAAQJ,MAAMkB,WAAW,GAAGkD,WAAW;AAEvC,YAAMjD,YAAYf,QAAQJ,MAAMmB;AAChC,UAAI,CAACA,UAAW;AAEhB,UAAI,CAACyC,MAAM;AACTnE,oBAAYO,QAAQ;AACpB,cAAM,CAACyE,KAAKC,GAAG,IAAI,MAAMC,wBACvBxD,UAAU,GAAGiD,aAAcQ,YAAW;AACpCtG,kBAAQ0B,QAAQ,CAAC4E;AAAAA,QACnB,CAAC,CACH;AACAnF,oBAAYO,QAAQ;AACpB,YAAIyE,OAAOC,QAAQ,MAAO;AAE1BpG,gBAAQ0B,QAAQ;AAChB;AAAA,MACF;AAEA,aAAOmB,UAAU,GAAGiD,aAAaR,IAAI;AAAA,IACvC;AAEA,aAASiB,aAAa;AACpB,YAAM;AAAA,QAAEjC;AAAAA,UAAkBxC,QAAQJ;AAClC,UAAI4C,cAAcrC,YAAYqC,cAAcnC,SAAU;AAEtDnC,cAAQ0B,QAAQ;AAAA,IAClB;AAEA,aAAS8E,YAAYC,SAA4B;AAC/CpF,sBAAgBK,QAAQ,CAAA;AAExBI,cAAQJ,MAAMkB,WAAW8D,QAAqC;AAAA,QAC5DC,GAAGF,QAAQE;AAAAA,QACXZ,QAAQ;AAAA,QACRE,iBAAiB,CAAA;AAAA,QACjBC,SAAS;AAAA,MACX,CAAC;AACDpE,cAAQJ,MAAMgB,UAAU+D,OAAO;AAAA,IACjC;AAEA,aAASzC,iBAAiB2C,GAAe;AACvC7E,cAAQJ,MAAMiB,WAAWnB,UAAUE,OAAQ4E,YAAoB;AAC7DtG,gBAAQ0B,QAAQ,CAAC4E;AAAAA,MACnB,CAAC;AACDxE,cAAQJ,MAAMkB,WAAWpB,UAAUE,OAAO;AAAA,QACxCiF;AAAAA,QACAZ,QAAQ;AAAA,QACRE,iBAAiB,CAAA;AAAA,QACjBC,SAAS;AAAA,MACX,CAAC;AAAA,IACH;AAEA,aAAShC,kBAAkB;AACzB0C,aAAOC,OAAOrF,WAAW;AAAA,QACvBxB,SAAS;AAAA,QACT0B,OAAO;AAAA,MACT,CAAC;AAAA,IACH;AAEA,aAASoF,mBAAmB;AAC1BjC,6BAAoB;AAEpB,YAAM;AAAA,QAAEP;AAAAA,UAAkBxC,QAAQJ;AAClC,YAAM6D,WAAWjB,cAAclC,MAAMV,SAASiD,oBAAoBjD;AAClE,UAAIqF,aAAahH,WAAW2B,KAAK,MAAM,SAAS;AAC9CL,wBAAgBK,QAAQ3B,WAAW2B,MAAMgE,IAAKC,UAA4C;AACxF,cAAIoB,aAAapB,IAAI,MAAM,UAAU;AACnC,mBAAOC,IAAID,MAAMJ,QAAQ;AAAA,UAC3B;AAEA,iBAAOI;AAAAA,QACT,CAAC;AAAA,MACH,WAAWoB,aAAahH,WAAW2B,KAAK,MAAM,UAAU;AACtDL,wBAAgBK,QAAQ,CAACkE,IAAI7F,WAAW2B,OAAO6D,QAAQ,CAAC;AAAA,MAC1D,OAAO;AACLlE,wBAAgBK,QAAQG,QAAQ9B,WAAW2B,KAAK,IAAI,CAAA,IAAK,CAAC3B,WAAW2B,KAAK;AAAA,MAC5E;AAAA,IACF;AAEA,aAASsF,eAAe;AACtB,UAAIxF,UAAUxB,QAASkE,iBAAe;AAEtC,UAAIpC,QAAQJ,MAAM0C,cAAc6C,gBAAgB;AAC9C/G,aAAKwB,QAAQ,CAAA;AACbzB,mBAAWyB,QAAQ,CAAA;AACnBL,wBAAgBK,QAAQ,CAAA;AAAA,MAC1B;AAAA,IACF;AAEA,UAAMwF,SAAS,CAAA;AAEfrC,2BAAuBsC,MACrB,MAAMrF,QAAQJ,MAAMK,aACnBqF,cAAa;AACZ,UAAI,CAACA,UAAUpB,OAAQ;AAEvB1E,mBAAaI,QAAQ0F;AAAAA,IACvB,GACA;AAAA,MAAEC,WAAW;AAAA,MAAMC,MAAM;AAAA,IAAK,CAChC;AAEAC,cAAU,MAAM;AACdX,aAAOC,OAAOK,QAAQjG,UAAUS,KAAK;AAAA,IACvC,CAAC;;8DA/cD8F,mBAmBM,OAnBNC,WAmBM;AAAA,QAnBDC,OAAM;AAAA,MAAwB,GAASC,KAAAA,QAAM;AAAA,QAAG7D,SAAOyC;AAAAA,OAAU,GAAA,CACpEqB,WAiBOC,KAAAC,QAAA,WAAA;AAAA,QAjBAxG,cAAeA,aAAAI;AAAAA,SAAtB,MAiBO,CAhBLqG,YAeWC,eAfXP,WAeW;AAAA,QAdRC,OAAK,oCAA2D5F,QAAAJ,MAAQ4C,cAAcrC,WAAQ,8CAAA,IAA+DH,QAAAJ,MAAQ4C,cAAcnC,WAAQ,8CAAA,EAAA;AAAA,oBAKnL6F,MAAAjI,UAAA;AAAA,yFAAAA,WAAU2B,QAAAuG,SAAA;AAAA,QAClB/C,SAAS5D,aAAAI;AAAAA,QACT,iBAAe;AAAA,MACR,GAAAI,QAAAJ,MAAQ4C,eAAa;AAAA,QAC5B5B,SAAO8D;AAAAA,MAAW,CAAA,GAAA;AAAA,QAER0B,oBACT,MAAe,CAAfH,YAAeC,MAAAG,UAAA,CAAA,CAAA;;gEAMvBJ,YA8DYC,oBA9DZP,WA8DY;AAAA,QA7DVrG,KAAI;AAAA,QACIpB,SAASgI,MAAAhI,OAAA;AAAA,qFAAAA,QAAO0B,QAAAuG,SAAA;AAAA,QACvB,mBAAiB9G,YAAAO;AAAAA,MACV,GAAAI,QAAAJ,MAAQ0C,eAAa;AAAA,QAC5BvB,WAASwC;AAAAA,QACT+C,cAAatB;AAAAA,QACbuB,UAAQrB;AAAAA;yBAET,MAoDgB,CApDhBe,YAoDgBC,oBApDhBP,WAoDgB;AAAA,UAnDdC,OAAM;AAAA,UACE,eAAaM,MAAA/H,UAAA;AAAA,2FAAAA,WAAUyB,QAAAuG,SAAA;AAAA,UACvB/H,MAAM8H,MAAA9H,IAAA;AAAA,+EAAAA,KAAIwB,QAAAuG,SAAA;AAAA,UACV,qBAAmB5G,gBAAAK;AAAAA,4EAAAL,gBAAeK,QAAAuG;AAAAA,UAClC,mBAAiB5G,gBAAAK;AAAAA,0EAAAL,gBAAeK,QAAAuG;AAAAA,UAChC,6BAA2BD,MAAA7H,uBAAA;AAAA,qHAAAA,wBAAuBuB,QAAAuG,SAAA;AAAA,UAClD,mBAAiBD,MAAA5H,cAAA;AAAA,mGAAAA,eAAcsB,QAAAuG,SAAA;AAAA,UAC/B,oBAAkBD,MAAA3H,eAAA;AAAA,qGAAAA,gBAAeqB,QAAAuG,SAAA;AAAA,UACjC,gBAAcD,MAAA1H,WAAA;AAAA,6FAAAA,YAAWoB,QAAAuG,SAAA;AAAA,UACzB1H,MAAMyH,MAAAzH,IAAA;AAAA,iFAAAA,KAAImB,QAAAuG,SAAA;AAAA,UACV,uBAAqBD,MAAAxH,iBAAA;AAAA,2GAAAA,kBAAiBkB,QAAAuG,SAAA;AAAA,UAC9C,oCAAA;AAAA,UACA,mBAAgB;AAAA,QACR,GAAAnG,QAAAJ,MAAQ0B,cAAY;AAAA,UAC3BkF,gBAAeN,MAAAlD,kBAAA;AAAA,SAAkB,GAAAyD,YAAA;AAAA,UAAAC,GAAA;AAAA,QAAA,GAAA,CAElB1G,QAAAJ,MAAQa;gBAAY;AAAA,sBAClC,MAcM,CAdKf,UAAUxB,WAArByI,UAAA,GAAAC,mBAcM,OAdNC,YAcM,CAbJf,WAEOC,KAAAC,QAAA,aAAA;AAAA,YAFiBtG;AAAAA,aAAxB,MAEO,CADLuG,YAAsEC,cAAtEP,WAAsE;AAAA,YAApD1H,YAAAyB,UAAUE;AAAAA,YAAV,uBAAAkH,OAAA,CAAA,MAAAA,OAAA,CAAA,IAAAX,YAAAzG,UAAUE,QAAKuG;AAAAA,aAAUnG,QAAAJ,MAAQyC,eAAe,GAAA,MAAA,IAAA,CAAA,YAAA,CAAA,CAAA,UAGpE4D,YAQUC,MAAAa,KAAA,GAAA;AAAA,YARDpG,MAAK;AAAA,UAAO,GAAA;AAAA,6BACnB,MAEO,CAFPmF,WAEOC,KAAAC,QAAA,mBAAA;AAAA,cAFuBtG;AAAAA,eAA9B,MAEO,CADLuG,YAAkDC,MAAAc,MAAA,GAAAC,eAAAC,mBAAhClH,QAAAJ,MAAQqC,oBAAoB,CAAA,GAAA,MAAA,EAAA,CAAA,UAGhD6D,WAEOC,KAAAC,QAAA,kBAAA;AAAA,cAFsBtG;AAAAA,eAA7B,MAEO,CADLuG,YAAiDC,MAAAc,MAAA,GAAAC,eAAAC,mBAA/BlH,QAAAJ,MAAQuC,mBAAmB,CAAA,GAAA,MAAA,EAAA,CAAA;;kBAKnD2D,WAEOC,KAAAC,QAAA,WAAA;AAAA;YAFsBtG;AAAAA,aAA7B,MAEO,CADLuG,YAAqFC,MAAAc,MAAA,GAArFrB,WAAqF;AAAA,YAA3EC,OAAM;AAAA,UAAmC,GAAS5F,QAAAJ,MAAQ2B,aAAa,GAAA,MAAA,EAAA,CAAA;;+BAKpE2E,MAAAiB,sBAAA,EAAuBnB,KAAAA,QAAM,QAAA,GAArCnC,UAAI;;YACVuD,MAAAvD,KAAKwD;AAAAA,YAENC,IAAAC,QAFoBC,eAAS,CAE7B1B,WAAqDC,KAAAC,QAAxCnC,KAAK4D,gDAAsBD,SAAS,CAAA,GAAA5C,QAAA,IAAA,CAAA;;uBAIlCsB,MAAAiB,sBAAA,EAAuBnB,KAAAA,QAAM,OAAA,GAArCnC,UAAI;;YACVuD,MAAAvD,KAAKwD;AAAAA,YAENC,IAAAC,QAFoBC,eAAS,CAE7B1B,WAAqDC,KAAAC,QAAxCnC,KAAK4D,gDAAsBD,SAAS,CAAA,GAAA5C,QAAA,IAAA,CAAA;;;;;;;;"}
|