完全跑通1.0版本
This commit is contained in:
8
frontend/node_modules/element-plus/es/components/transfer/index.d.ts
generated
vendored
Normal file
8
frontend/node_modules/element-plus/es/components/transfer/index.d.ts
generated
vendored
Normal file
@@ -0,0 +1,8 @@
|
||||
import { SFCWithInstall } from "../../utils/vue/typescript.js";
|
||||
import { LEFT_CHECK_CHANGE_EVENT, RIGHT_CHECK_CHANGE_EVENT, TransferCheckedState, TransferDataItem, TransferDirection, TransferEmits, TransferFormat, TransferInstance, TransferKey, TransferProps, TransferPropsAlias, TransferPropsPublic, renderContent, transferCheckedChangeFn, transferEmits, transferProps } from "./src/transfer.js";
|
||||
import _default from "./src/transfer.vue.js";
|
||||
|
||||
//#region ../../packages/components/transfer/index.d.ts
|
||||
declare const ElTransfer: SFCWithInstall<typeof _default>;
|
||||
//#endregion
|
||||
export { ElTransfer, ElTransfer as default, LEFT_CHECK_CHANGE_EVENT, RIGHT_CHECK_CHANGE_EVENT, TransferCheckedState, TransferDataItem, TransferDirection, TransferEmits, TransferFormat, TransferInstance, TransferKey, TransferProps, TransferPropsAlias, TransferPropsPublic, renderContent, transferCheckedChangeFn, transferEmits, transferProps };
|
||||
9
frontend/node_modules/element-plus/es/components/transfer/index.mjs
generated
vendored
Normal file
9
frontend/node_modules/element-plus/es/components/transfer/index.mjs
generated
vendored
Normal file
@@ -0,0 +1,9 @@
|
||||
import { withInstall } from "../../utils/vue/install.mjs";
|
||||
import { LEFT_CHECK_CHANGE_EVENT, RIGHT_CHECK_CHANGE_EVENT, transferCheckedChangeFn, transferEmits, transferProps } from "./src/transfer.mjs";
|
||||
import transfer_default from "./src/transfer2.mjs";
|
||||
//#region ../../packages/components/transfer/index.ts
|
||||
const ElTransfer = withInstall(transfer_default);
|
||||
//#endregion
|
||||
export { ElTransfer, ElTransfer as default, LEFT_CHECK_CHANGE_EVENT, RIGHT_CHECK_CHANGE_EVENT, transferCheckedChangeFn, transferEmits, transferProps };
|
||||
|
||||
//# sourceMappingURL=index.mjs.map
|
||||
1
frontend/node_modules/element-plus/es/components/transfer/index.mjs.map
generated
vendored
Normal file
1
frontend/node_modules/element-plus/es/components/transfer/index.mjs.map
generated
vendored
Normal file
@@ -0,0 +1 @@
|
||||
{"version":3,"file":"index.mjs","names":["Transfer"],"sources":["../../../../../packages/components/transfer/index.ts"],"sourcesContent":["import { withInstall } from '@element-plus/utils'\nimport Transfer from './src/transfer.vue'\n\nimport type { SFCWithInstall } from '@element-plus/utils'\n\nexport const ElTransfer: SFCWithInstall<typeof Transfer> = withInstall(Transfer)\nexport default ElTransfer\n\nexport * from './src/transfer'\n"],"mappings":";;;;AAKA,MAAa,aAA8C,YAAYA,iBAAS"}
|
||||
6
frontend/node_modules/element-plus/es/components/transfer/src/composables/index.d.ts
generated
vendored
Normal file
6
frontend/node_modules/element-plus/es/components/transfer/src/composables/index.d.ts
generated
vendored
Normal file
@@ -0,0 +1,6 @@
|
||||
import { useCheck } from "./use-check.js";
|
||||
import { useCheckedChange } from "./use-checked-change.js";
|
||||
import { useComputedData } from "./use-computed-data.js";
|
||||
import { useMove } from "./use-move.js";
|
||||
import { usePropsAlias } from "./use-props-alias.js";
|
||||
export { useCheck, useCheckedChange, useComputedData, useMove, usePropsAlias };
|
||||
6
frontend/node_modules/element-plus/es/components/transfer/src/composables/index.mjs
generated
vendored
Normal file
6
frontend/node_modules/element-plus/es/components/transfer/src/composables/index.mjs
generated
vendored
Normal file
@@ -0,0 +1,6 @@
|
||||
import { usePropsAlias } from "./use-props-alias.mjs";
|
||||
import { useCheck } from "./use-check.mjs";
|
||||
import { useCheckedChange } from "./use-checked-change.mjs";
|
||||
import { useComputedData } from "./use-computed-data.mjs";
|
||||
import { useMove } from "./use-move.mjs";
|
||||
export { useCheck, useCheckedChange, useComputedData, useMove, usePropsAlias };
|
||||
19
frontend/node_modules/element-plus/es/components/transfer/src/composables/use-check.d.ts
generated
vendored
Normal file
19
frontend/node_modules/element-plus/es/components/transfer/src/composables/use-check.d.ts
generated
vendored
Normal file
@@ -0,0 +1,19 @@
|
||||
import { CheckboxValueType } from "../../../checkbox/src/checkbox.js";
|
||||
import { TransferDataItem } from "../transfer.js";
|
||||
import { TransferPanelEmits, TransferPanelProps, TransferPanelState } from "../transfer-panel.js";
|
||||
import * as _$vue from "vue";
|
||||
import { SetupContext } from "vue";
|
||||
|
||||
//#region ../../packages/components/transfer/src/composables/use-check.d.ts
|
||||
declare const useCheck: <T extends TransferDataItem = TransferDataItem>(props: Required<Pick<TransferPanelProps<T>, "data" | "format" | "defaultChecked" | "props">> & {
|
||||
filterMethod: TransferPanelProps<T>["filterMethod"];
|
||||
}, panelState: TransferPanelState, emit: SetupContext<TransferPanelEmits>["emit"]) => {
|
||||
filteredData: _$vue.ComputedRef<T[]>;
|
||||
checkableData: _$vue.ComputedRef<T[]>;
|
||||
checkedSummary: _$vue.ComputedRef<string>;
|
||||
isIndeterminate: _$vue.ComputedRef<boolean>;
|
||||
updateAllChecked: () => void;
|
||||
handleAllCheckedChange: (value: CheckboxValueType) => void;
|
||||
};
|
||||
//#endregion
|
||||
export { useCheck };
|
||||
75
frontend/node_modules/element-plus/es/components/transfer/src/composables/use-check.mjs
generated
vendored
Normal file
75
frontend/node_modules/element-plus/es/components/transfer/src/composables/use-check.mjs
generated
vendored
Normal file
@@ -0,0 +1,75 @@
|
||||
import { isFunction } from "../../../../utils/types.mjs";
|
||||
import { CHECKED_CHANGE_EVENT } from "../transfer-panel.mjs";
|
||||
import { usePropsAlias } from "./use-props-alias.mjs";
|
||||
import { computed, watch } from "vue";
|
||||
//#region ../../packages/components/transfer/src/composables/use-check.ts
|
||||
const useCheck = (props, panelState, emit) => {
|
||||
const propsAlias = usePropsAlias(props);
|
||||
const filteredData = computed(() => {
|
||||
return props.data.filter((item) => {
|
||||
if (isFunction(props.filterMethod)) return props.filterMethod(panelState.query, item);
|
||||
else return String(item[propsAlias.value.label] || item[propsAlias.value.key]).toLowerCase().includes(panelState.query.toLowerCase());
|
||||
});
|
||||
});
|
||||
const checkableData = computed(() => filteredData.value.filter((item) => !item[propsAlias.value.disabled]));
|
||||
const checkedSummary = computed(() => {
|
||||
const checkedLength = panelState.checked.length;
|
||||
const dataLength = props.data.length;
|
||||
const { noChecked, hasChecked } = props.format;
|
||||
if (noChecked && hasChecked) return checkedLength > 0 ? hasChecked.replace(/\${checked}/g, checkedLength.toString()).replace(/\${total}/g, dataLength.toString()) : noChecked.replace(/\${total}/g, dataLength.toString());
|
||||
else return `${checkedLength}/${dataLength}`;
|
||||
});
|
||||
const isIndeterminate = computed(() => {
|
||||
const checkedLength = panelState.checked.length;
|
||||
return checkedLength > 0 && checkedLength < checkableData.value.length;
|
||||
});
|
||||
const updateAllChecked = () => {
|
||||
const checkableDataKeys = checkableData.value.map((item) => item[propsAlias.value.key]);
|
||||
panelState.allChecked = checkableDataKeys.length > 0 && checkableDataKeys.every((item) => panelState.checked.includes(item));
|
||||
};
|
||||
const handleAllCheckedChange = (value) => {
|
||||
panelState.checked = value ? checkableData.value.map((item) => item[propsAlias.value.key]) : [];
|
||||
};
|
||||
watch(() => panelState.checked, (val, oldVal) => {
|
||||
updateAllChecked();
|
||||
if (panelState.checkChangeByUser) emit(CHECKED_CHANGE_EVENT, val, val.concat(oldVal).filter((v) => !val.includes(v) || !oldVal.includes(v)));
|
||||
else {
|
||||
emit(CHECKED_CHANGE_EVENT, val);
|
||||
panelState.checkChangeByUser = true;
|
||||
}
|
||||
});
|
||||
watch(checkableData, () => {
|
||||
updateAllChecked();
|
||||
});
|
||||
watch(() => props.data, () => {
|
||||
const checked = [];
|
||||
const filteredDataKeys = filteredData.value.map((item) => item[propsAlias.value.key]);
|
||||
panelState.checked.forEach((item) => {
|
||||
if (filteredDataKeys.includes(item)) checked.push(item);
|
||||
});
|
||||
panelState.checkChangeByUser = false;
|
||||
panelState.checked = checked;
|
||||
});
|
||||
watch(() => props.defaultChecked, (val, oldVal) => {
|
||||
if (oldVal && val.length === oldVal.length && val.every((item) => oldVal.includes(item))) return;
|
||||
const checked = [];
|
||||
const checkableDataKeys = checkableData.value.map((item) => item[propsAlias.value.key]);
|
||||
val.forEach((item) => {
|
||||
if (checkableDataKeys.includes(item)) checked.push(item);
|
||||
});
|
||||
panelState.checkChangeByUser = false;
|
||||
panelState.checked = checked;
|
||||
}, { immediate: true });
|
||||
return {
|
||||
filteredData,
|
||||
checkableData,
|
||||
checkedSummary,
|
||||
isIndeterminate,
|
||||
updateAllChecked,
|
||||
handleAllCheckedChange
|
||||
};
|
||||
};
|
||||
//#endregion
|
||||
export { useCheck };
|
||||
|
||||
//# sourceMappingURL=use-check.mjs.map
|
||||
1
frontend/node_modules/element-plus/es/components/transfer/src/composables/use-check.mjs.map
generated
vendored
Normal file
1
frontend/node_modules/element-plus/es/components/transfer/src/composables/use-check.mjs.map
generated
vendored
Normal file
File diff suppressed because one or more lines are too long
10
frontend/node_modules/element-plus/es/components/transfer/src/composables/use-checked-change.d.ts
generated
vendored
Normal file
10
frontend/node_modules/element-plus/es/components/transfer/src/composables/use-checked-change.d.ts
generated
vendored
Normal file
@@ -0,0 +1,10 @@
|
||||
import { TransferCheckedState, TransferEmits, TransferKey } from "../transfer.js";
|
||||
import { SetupContext } from "vue";
|
||||
|
||||
//#region ../../packages/components/transfer/src/composables/use-checked-change.d.ts
|
||||
declare const useCheckedChange: (checkedState: TransferCheckedState, emit: SetupContext<TransferEmits>["emit"]) => {
|
||||
onSourceCheckedChange: (val: TransferKey[], movedKeys?: TransferKey[]) => void;
|
||||
onTargetCheckedChange: (val: TransferKey[], movedKeys?: TransferKey[]) => void;
|
||||
};
|
||||
//#endregion
|
||||
export { useCheckedChange };
|
||||
22
frontend/node_modules/element-plus/es/components/transfer/src/composables/use-checked-change.mjs
generated
vendored
Normal file
22
frontend/node_modules/element-plus/es/components/transfer/src/composables/use-checked-change.mjs
generated
vendored
Normal file
@@ -0,0 +1,22 @@
|
||||
import { LEFT_CHECK_CHANGE_EVENT, RIGHT_CHECK_CHANGE_EVENT } from "../transfer.mjs";
|
||||
//#region ../../packages/components/transfer/src/composables/use-checked-change.ts
|
||||
const useCheckedChange = (checkedState, emit) => {
|
||||
const onSourceCheckedChange = (val, movedKeys) => {
|
||||
checkedState.leftChecked = val;
|
||||
if (!movedKeys) return;
|
||||
emit(LEFT_CHECK_CHANGE_EVENT, val, movedKeys);
|
||||
};
|
||||
const onTargetCheckedChange = (val, movedKeys) => {
|
||||
checkedState.rightChecked = val;
|
||||
if (!movedKeys) return;
|
||||
emit(RIGHT_CHECK_CHANGE_EVENT, val, movedKeys);
|
||||
};
|
||||
return {
|
||||
onSourceCheckedChange,
|
||||
onTargetCheckedChange
|
||||
};
|
||||
};
|
||||
//#endregion
|
||||
export { useCheckedChange };
|
||||
|
||||
//# sourceMappingURL=use-checked-change.mjs.map
|
||||
1
frontend/node_modules/element-plus/es/components/transfer/src/composables/use-checked-change.mjs.map
generated
vendored
Normal file
1
frontend/node_modules/element-plus/es/components/transfer/src/composables/use-checked-change.mjs.map
generated
vendored
Normal file
@@ -0,0 +1 @@
|
||||
{"version":3,"file":"use-checked-change.mjs","names":[],"sources":["../../../../../../../packages/components/transfer/src/composables/use-checked-change.ts"],"sourcesContent":["import { LEFT_CHECK_CHANGE_EVENT, RIGHT_CHECK_CHANGE_EVENT } from '../transfer'\n\nimport type { SetupContext } from 'vue'\nimport type {\n TransferCheckedState,\n TransferEmits,\n TransferKey,\n} from '../transfer'\n\nexport const useCheckedChange = (\n checkedState: TransferCheckedState,\n emit: SetupContext<TransferEmits>['emit']\n) => {\n const onSourceCheckedChange = (\n val: TransferKey[],\n movedKeys?: TransferKey[]\n ) => {\n checkedState.leftChecked = val\n if (!movedKeys) return\n emit(LEFT_CHECK_CHANGE_EVENT, val, movedKeys)\n }\n\n const onTargetCheckedChange = (\n val: TransferKey[],\n movedKeys?: TransferKey[]\n ) => {\n checkedState.rightChecked = val\n if (!movedKeys) return\n emit(RIGHT_CHECK_CHANGE_EVENT, val, movedKeys)\n }\n\n return {\n onSourceCheckedChange,\n onTargetCheckedChange,\n }\n}\n"],"mappings":";;AASA,MAAa,oBACX,cACA,SACG;CACH,MAAM,yBACJ,KACA,cACG;EACH,aAAa,cAAc;EAC3B,IAAI,CAAC,WAAW;EAChB,KAAK,yBAAyB,KAAK,UAAU;;CAG/C,MAAM,yBACJ,KACA,cACG;EACH,aAAa,eAAe;EAC5B,IAAI,CAAC,WAAW;EAChB,KAAK,0BAA0B,KAAK,UAAU;;CAGhD,OAAO;EACL;EACA;EACD"}
|
||||
10
frontend/node_modules/element-plus/es/components/transfer/src/composables/use-computed-data.d.ts
generated
vendored
Normal file
10
frontend/node_modules/element-plus/es/components/transfer/src/composables/use-computed-data.d.ts
generated
vendored
Normal file
@@ -0,0 +1,10 @@
|
||||
import { TransferDataItem, TransferProps } from "../transfer.js";
|
||||
import * as _$vue from "vue";
|
||||
|
||||
//#region ../../packages/components/transfer/src/composables/use-computed-data.d.ts
|
||||
declare const useComputedData: <T extends TransferDataItem = TransferDataItem>(props: Required<Omit<TransferProps<T>, "filterPlaceholder" | "filterMethod" | "renderContent">>) => {
|
||||
sourceData: _$vue.ComputedRef<T[]>;
|
||||
targetData: _$vue.ComputedRef<T[]>;
|
||||
};
|
||||
//#endregion
|
||||
export { useComputedData };
|
||||
22
frontend/node_modules/element-plus/es/components/transfer/src/composables/use-computed-data.mjs
generated
vendored
Normal file
22
frontend/node_modules/element-plus/es/components/transfer/src/composables/use-computed-data.mjs
generated
vendored
Normal file
@@ -0,0 +1,22 @@
|
||||
import { usePropsAlias } from "./use-props-alias.mjs";
|
||||
import { computed } from "vue";
|
||||
//#region ../../packages/components/transfer/src/composables/use-computed-data.ts
|
||||
const useComputedData = (props) => {
|
||||
const propsAlias = usePropsAlias(props);
|
||||
const dataObj = computed(() => props.data.reduce((o, cur) => (o[cur[propsAlias.value.key]] = cur, o), {}));
|
||||
return {
|
||||
sourceData: computed(() => props.data.filter((item) => !props.modelValue.includes(item[propsAlias.value.key]))),
|
||||
targetData: computed(() => {
|
||||
if (props.targetOrder === "original") return props.data.filter((item) => props.modelValue.includes(item[propsAlias.value.key]));
|
||||
else return props.modelValue.reduce((arr, cur) => {
|
||||
const val = dataObj.value[cur];
|
||||
if (val) arr.push(val);
|
||||
return arr;
|
||||
}, []);
|
||||
})
|
||||
};
|
||||
};
|
||||
//#endregion
|
||||
export { useComputedData };
|
||||
|
||||
//# sourceMappingURL=use-computed-data.mjs.map
|
||||
1
frontend/node_modules/element-plus/es/components/transfer/src/composables/use-computed-data.mjs.map
generated
vendored
Normal file
1
frontend/node_modules/element-plus/es/components/transfer/src/composables/use-computed-data.mjs.map
generated
vendored
Normal file
@@ -0,0 +1 @@
|
||||
{"version":3,"file":"use-computed-data.mjs","names":[],"sources":["../../../../../../../packages/components/transfer/src/composables/use-computed-data.ts"],"sourcesContent":["import { computed } from 'vue'\nimport { usePropsAlias } from './use-props-alias'\n\nimport type { TransferDataItem, TransferKey, TransferProps } from '../transfer'\n\nexport const useComputedData = <T extends TransferDataItem = TransferDataItem>(\n props: Required<\n Omit<\n TransferProps<T>,\n 'filterPlaceholder' | 'filterMethod' | 'renderContent'\n >\n >\n) => {\n const propsAlias = usePropsAlias(props)\n\n const dataObj = computed(() =>\n props.data.reduce<Record<string, T>>(\n (o, cur) => ((o[cur[propsAlias.value.key]] = cur), o),\n {}\n )\n )\n\n const sourceData = computed(() =>\n props.data.filter(\n (item) => !props.modelValue.includes(item[propsAlias.value.key])\n )\n )\n\n const targetData = computed(() => {\n if (props.targetOrder === 'original') {\n return props.data.filter((item) =>\n props.modelValue.includes(item[propsAlias.value.key])\n )\n } else {\n return props.modelValue.reduce((arr: T[], cur: TransferKey) => {\n const val = dataObj.value[cur]\n if (val) {\n arr.push(val)\n }\n return arr\n }, [])\n }\n })\n\n return {\n sourceData,\n targetData,\n }\n}\n"],"mappings":";;;AAKA,MAAa,mBACX,UAMG;CACH,MAAM,aAAa,cAAc,MAAM;CAEvC,MAAM,UAAU,eACd,MAAM,KAAK,QACR,GAAG,SAAU,EAAE,IAAI,WAAW,MAAM,QAAQ,KAAM,IACnD,EAAE,CACH,CACF;CAwBD,OAAO;EACL,YAvBiB,eACjB,MAAM,KAAK,QACR,SAAS,CAAC,MAAM,WAAW,SAAS,KAAK,WAAW,MAAM,KAAK,CACjE,CAoBS;EACV,YAlBiB,eAAe;GAChC,IAAI,MAAM,gBAAgB,YACxB,OAAO,MAAM,KAAK,QAAQ,SACxB,MAAM,WAAW,SAAS,KAAK,WAAW,MAAM,KAAK,CACtD;QAED,OAAO,MAAM,WAAW,QAAQ,KAAU,QAAqB;IAC7D,MAAM,MAAM,QAAQ,MAAM;IAC1B,IAAI,KACF,IAAI,KAAK,IAAI;IAEf,OAAO;MACN,EAAE,CAAC;IAME;EACX"}
|
||||
10
frontend/node_modules/element-plus/es/components/transfer/src/composables/use-move.d.ts
generated
vendored
Normal file
10
frontend/node_modules/element-plus/es/components/transfer/src/composables/use-move.d.ts
generated
vendored
Normal file
@@ -0,0 +1,10 @@
|
||||
import { TransferCheckedState, TransferDataItem, TransferEmits, TransferProps } from "../transfer.js";
|
||||
import { SetupContext } from "vue";
|
||||
|
||||
//#region ../../packages/components/transfer/src/composables/use-move.d.ts
|
||||
declare const useMove: <T extends TransferDataItem = TransferDataItem>(props: Required<Omit<TransferProps<T>, "filterPlaceholder" | "filterMethod" | "renderContent">>, checkedState: TransferCheckedState, emit: SetupContext<TransferEmits>["emit"]) => {
|
||||
addToLeft: () => void;
|
||||
addToRight: () => void;
|
||||
};
|
||||
//#endregion
|
||||
export { useMove };
|
||||
36
frontend/node_modules/element-plus/es/components/transfer/src/composables/use-move.mjs
generated
vendored
Normal file
36
frontend/node_modules/element-plus/es/components/transfer/src/composables/use-move.mjs
generated
vendored
Normal file
@@ -0,0 +1,36 @@
|
||||
import { CHANGE_EVENT, UPDATE_MODEL_EVENT } from "../../../../constants/event.mjs";
|
||||
import { usePropsAlias } from "./use-props-alias.mjs";
|
||||
//#region ../../packages/components/transfer/src/composables/use-move.ts
|
||||
const useMove = (props, checkedState, emit) => {
|
||||
const propsAlias = usePropsAlias(props);
|
||||
const _emit = (value, direction, movedKeys) => {
|
||||
emit(UPDATE_MODEL_EVENT, value);
|
||||
emit(CHANGE_EVENT, value, direction, movedKeys);
|
||||
};
|
||||
const addToLeft = () => {
|
||||
const currentValue = props.modelValue.slice();
|
||||
checkedState.rightChecked.forEach((item) => {
|
||||
const index = currentValue.indexOf(item);
|
||||
if (index > -1) currentValue.splice(index, 1);
|
||||
});
|
||||
_emit(currentValue, "left", checkedState.rightChecked);
|
||||
};
|
||||
const addToRight = () => {
|
||||
let currentValue = props.modelValue.slice();
|
||||
const itemsToBeMoved = props.data.filter((item) => {
|
||||
const itemKey = item[propsAlias.value.key];
|
||||
return checkedState.leftChecked.includes(itemKey) && !props.modelValue.includes(itemKey);
|
||||
}).map((item) => item[propsAlias.value.key]);
|
||||
currentValue = props.targetOrder === "unshift" ? itemsToBeMoved.concat(currentValue) : currentValue.concat(itemsToBeMoved);
|
||||
if (props.targetOrder === "original") currentValue = props.data.filter((item) => currentValue.includes(item[propsAlias.value.key])).map((item) => item[propsAlias.value.key]);
|
||||
_emit(currentValue, "right", checkedState.leftChecked);
|
||||
};
|
||||
return {
|
||||
addToLeft,
|
||||
addToRight
|
||||
};
|
||||
};
|
||||
//#endregion
|
||||
export { useMove };
|
||||
|
||||
//# sourceMappingURL=use-move.mjs.map
|
||||
1
frontend/node_modules/element-plus/es/components/transfer/src/composables/use-move.mjs.map
generated
vendored
Normal file
1
frontend/node_modules/element-plus/es/components/transfer/src/composables/use-move.mjs.map
generated
vendored
Normal file
@@ -0,0 +1 @@
|
||||
{"version":3,"file":"use-move.mjs","names":[],"sources":["../../../../../../../packages/components/transfer/src/composables/use-move.ts"],"sourcesContent":["import { CHANGE_EVENT, UPDATE_MODEL_EVENT } from '@element-plus/constants'\nimport { usePropsAlias } from './use-props-alias'\n\nimport type { SetupContext } from 'vue'\nimport type {\n TransferCheckedState,\n TransferDataItem,\n TransferDirection,\n TransferEmits,\n TransferKey,\n TransferProps,\n} from '../transfer'\n\nexport const useMove = <T extends TransferDataItem = TransferDataItem>(\n props: Required<\n Omit<\n TransferProps<T>,\n 'filterPlaceholder' | 'filterMethod' | 'renderContent'\n >\n >,\n checkedState: TransferCheckedState,\n emit: SetupContext<TransferEmits>['emit']\n) => {\n const propsAlias = usePropsAlias(props)\n\n const _emit = (\n value: TransferKey[],\n direction: TransferDirection,\n movedKeys: TransferKey[]\n ) => {\n emit(UPDATE_MODEL_EVENT, value)\n emit(CHANGE_EVENT, value, direction, movedKeys)\n }\n\n const addToLeft = () => {\n const currentValue = props.modelValue.slice()\n\n checkedState.rightChecked.forEach((item) => {\n const index = currentValue.indexOf(item)\n if (index > -1) {\n currentValue.splice(index, 1)\n }\n })\n _emit(currentValue, 'left', checkedState.rightChecked)\n }\n\n const addToRight = () => {\n let currentValue = props.modelValue.slice()\n\n const itemsToBeMoved = props.data\n .filter((item) => {\n const itemKey = item[propsAlias.value.key]\n return (\n checkedState.leftChecked.includes(itemKey) &&\n !props.modelValue.includes(itemKey)\n )\n })\n .map((item) => item[propsAlias.value.key])\n\n currentValue =\n props.targetOrder === 'unshift'\n ? itemsToBeMoved.concat(currentValue)\n : currentValue.concat(itemsToBeMoved)\n\n if (props.targetOrder === 'original') {\n currentValue = props.data\n .filter((item) => currentValue.includes(item[propsAlias.value.key]))\n .map((item) => item[propsAlias.value.key])\n }\n\n _emit(currentValue, 'right', checkedState.leftChecked)\n }\n\n return {\n addToLeft,\n addToRight,\n }\n}\n"],"mappings":";;;AAaA,MAAa,WACX,OAMA,cACA,SACG;CACH,MAAM,aAAa,cAAc,MAAM;CAEvC,MAAM,SACJ,OACA,WACA,cACG;EACH,KAAK,oBAAoB,MAAM;EAC/B,KAAK,cAAc,OAAO,WAAW,UAAU;;CAGjD,MAAM,kBAAkB;EACtB,MAAM,eAAe,MAAM,WAAW,OAAO;EAE7C,aAAa,aAAa,SAAS,SAAS;GAC1C,MAAM,QAAQ,aAAa,QAAQ,KAAK;GACxC,IAAI,QAAQ,IACV,aAAa,OAAO,OAAO,EAAE;IAE/B;EACF,MAAM,cAAc,QAAQ,aAAa,aAAa;;CAGxD,MAAM,mBAAmB;EACvB,IAAI,eAAe,MAAM,WAAW,OAAO;EAE3C,MAAM,iBAAiB,MAAM,KAC1B,QAAQ,SAAS;GAChB,MAAM,UAAU,KAAK,WAAW,MAAM;GACtC,OACE,aAAa,YAAY,SAAS,QAAQ,IAC1C,CAAC,MAAM,WAAW,SAAS,QAAQ;IAErC,CACD,KAAK,SAAS,KAAK,WAAW,MAAM,KAAK;EAE5C,eACE,MAAM,gBAAgB,YAClB,eAAe,OAAO,aAAa,GACnC,aAAa,OAAO,eAAe;EAEzC,IAAI,MAAM,gBAAgB,YACxB,eAAe,MAAM,KAClB,QAAQ,SAAS,aAAa,SAAS,KAAK,WAAW,MAAM,KAAK,CAAC,CACnE,KAAK,SAAS,KAAK,WAAW,MAAM,KAAK;EAG9C,MAAM,cAAc,SAAS,aAAa,YAAY;;CAGxD,OAAO;EACL;EACA;EACD"}
|
||||
13
frontend/node_modules/element-plus/es/components/transfer/src/composables/use-props-alias.d.ts
generated
vendored
Normal file
13
frontend/node_modules/element-plus/es/components/transfer/src/composables/use-props-alias.d.ts
generated
vendored
Normal file
@@ -0,0 +1,13 @@
|
||||
import { TransferPropsAlias } from "../transfer.js";
|
||||
import * as _$vue from "vue";
|
||||
|
||||
//#region ../../packages/components/transfer/src/composables/use-props-alias.d.ts
|
||||
declare const usePropsAlias: (props: {
|
||||
props?: TransferPropsAlias;
|
||||
}) => _$vue.ComputedRef<{
|
||||
label: string;
|
||||
key: string;
|
||||
disabled: string;
|
||||
}>;
|
||||
//#endregion
|
||||
export { usePropsAlias };
|
||||
17
frontend/node_modules/element-plus/es/components/transfer/src/composables/use-props-alias.mjs
generated
vendored
Normal file
17
frontend/node_modules/element-plus/es/components/transfer/src/composables/use-props-alias.mjs
generated
vendored
Normal file
@@ -0,0 +1,17 @@
|
||||
import { computed } from "vue";
|
||||
//#region ../../packages/components/transfer/src/composables/use-props-alias.ts
|
||||
const usePropsAlias = (props) => {
|
||||
const initProps = {
|
||||
label: "label",
|
||||
key: "key",
|
||||
disabled: "disabled"
|
||||
};
|
||||
return computed(() => ({
|
||||
...initProps,
|
||||
...props.props
|
||||
}));
|
||||
};
|
||||
//#endregion
|
||||
export { usePropsAlias };
|
||||
|
||||
//# sourceMappingURL=use-props-alias.mjs.map
|
||||
1
frontend/node_modules/element-plus/es/components/transfer/src/composables/use-props-alias.mjs.map
generated
vendored
Normal file
1
frontend/node_modules/element-plus/es/components/transfer/src/composables/use-props-alias.mjs.map
generated
vendored
Normal file
@@ -0,0 +1 @@
|
||||
{"version":3,"file":"use-props-alias.mjs","names":[],"sources":["../../../../../../../packages/components/transfer/src/composables/use-props-alias.ts"],"sourcesContent":["import { computed } from 'vue'\n\nimport type { TransferPropsAlias } from '../transfer'\n\nexport const usePropsAlias = (props: { props?: TransferPropsAlias }) => {\n const initProps: Required<TransferPropsAlias> = {\n label: 'label',\n key: 'key',\n disabled: 'disabled',\n }\n\n return computed(() => ({\n ...initProps,\n ...props.props,\n }))\n}\n"],"mappings":";;AAIA,MAAa,iBAAiB,UAA0C;CACtE,MAAM,YAA0C;EAC9C,OAAO;EACP,KAAK;EACL,UAAU;EACX;CAED,OAAO,gBAAgB;EACrB,GAAG;EACH,GAAG,MAAM;EACV,EAAE"}
|
||||
66
frontend/node_modules/element-plus/es/components/transfer/src/transfer-panel.d.ts
generated
vendored
Normal file
66
frontend/node_modules/element-plus/es/components/transfer/src/transfer-panel.d.ts
generated
vendored
Normal file
@@ -0,0 +1,66 @@
|
||||
import { EpPropFinalized } from "../../../utils/vue/props/types.js";
|
||||
import { Mutable } from "../../../utils/typescript.js";
|
||||
import { TransferDataItem, TransferFormat, TransferKey, TransferPropsAlias } from "./transfer.js";
|
||||
import _default from "./transfer-panel.vue.js";
|
||||
import * as _$vue from "vue";
|
||||
import { ComponentInstance, ExtractPublicPropTypes, VNode } from "vue";
|
||||
import { ComponentExposed } from "vue-component-type-helpers";
|
||||
|
||||
//#region ../../packages/components/transfer/src/transfer-panel.d.ts
|
||||
interface TransferPanelState {
|
||||
checked: TransferKey[];
|
||||
allChecked: boolean;
|
||||
query: string;
|
||||
checkChangeByUser: boolean;
|
||||
}
|
||||
declare const CHECKED_CHANGE_EVENT = "checked-change";
|
||||
interface TransferPanelProps<T extends TransferDataItem = TransferDataItem> {
|
||||
data?: T[];
|
||||
optionRender?: (option: T) => VNode | VNode[];
|
||||
placeholder?: string;
|
||||
title?: string;
|
||||
filterable?: boolean;
|
||||
format?: TransferFormat;
|
||||
filterMethod?: (query: string, item: T) => boolean;
|
||||
defaultChecked?: TransferKey[];
|
||||
props?: TransferPropsAlias;
|
||||
}
|
||||
/**
|
||||
* @deprecated Removed after 3.0.0, Use `TransferPanelProps` instead.
|
||||
*/
|
||||
declare const transferPanelProps: {
|
||||
readonly data: EpPropFinalized<(new (...args: any[]) => TransferDataItem[]) | (() => TransferDataItem[]) | (((new (...args: any[]) => TransferDataItem[]) | (() => TransferDataItem[])) | null)[], unknown, unknown, () => never[], boolean>;
|
||||
readonly optionRender: {
|
||||
readonly type: _$vue.PropType<(option: TransferDataItem) => VNode | VNode[]>;
|
||||
readonly required: false;
|
||||
readonly validator: ((val: unknown) => boolean) | undefined;
|
||||
__epPropKey: true;
|
||||
};
|
||||
readonly placeholder: StringConstructor;
|
||||
readonly title: StringConstructor;
|
||||
readonly filterable: BooleanConstructor;
|
||||
readonly format: EpPropFinalized<(new (...args: any[]) => TransferFormat) | (() => TransferFormat) | (((new (...args: any[]) => TransferFormat) | (() => TransferFormat)) | null)[], unknown, unknown, () => {}, boolean>;
|
||||
readonly filterMethod: {
|
||||
readonly type: _$vue.PropType<(query: string, item: TransferDataItem) => boolean>;
|
||||
readonly required: false;
|
||||
readonly validator: ((val: unknown) => boolean) | undefined;
|
||||
__epPropKey: true;
|
||||
};
|
||||
readonly defaultChecked: EpPropFinalized<(new (...args: any[]) => TransferKey[]) | (() => TransferKey[]) | (((new (...args: any[]) => TransferKey[]) | (() => TransferKey[])) | null)[], unknown, unknown, () => never[], boolean>;
|
||||
readonly props: EpPropFinalized<(new (...args: any[]) => TransferPropsAlias) | (() => TransferPropsAlias) | (((new (...args: any[]) => TransferPropsAlias) | (() => TransferPropsAlias)) | null)[], unknown, unknown, () => Mutable<{
|
||||
readonly label: "label";
|
||||
readonly key: "key";
|
||||
readonly disabled: "disabled";
|
||||
}>, boolean>;
|
||||
};
|
||||
/**
|
||||
* @deprecated Removed after 3.0.0, Use `TransferPanelProps` instead.
|
||||
*/
|
||||
type TransferPanelPropsPublic = ExtractPublicPropTypes<typeof transferPanelProps>;
|
||||
declare const transferPanelEmits: {
|
||||
"checked-change": (value: TransferKey[], movedKeys?: TransferKey[]) => boolean;
|
||||
};
|
||||
type TransferPanelEmits = typeof transferPanelEmits;
|
||||
type TransferPanelInstance = ComponentInstance<typeof _default> & ComponentExposed<typeof _default>;
|
||||
//#endregion
|
||||
export { CHECKED_CHANGE_EVENT, TransferPanelEmits, TransferPanelInstance, TransferPanelProps, TransferPanelPropsPublic, TransferPanelState, transferPanelEmits, transferPanelProps };
|
||||
23
frontend/node_modules/element-plus/es/components/transfer/src/transfer-panel.mjs
generated
vendored
Normal file
23
frontend/node_modules/element-plus/es/components/transfer/src/transfer-panel.mjs
generated
vendored
Normal file
@@ -0,0 +1,23 @@
|
||||
import { buildProps, definePropType } from "../../../utils/vue/props/runtime.mjs";
|
||||
import { transferCheckedChangeFn, transferProps } from "./transfer.mjs";
|
||||
//#region ../../packages/components/transfer/src/transfer-panel.ts
|
||||
const CHECKED_CHANGE_EVENT = "checked-change";
|
||||
/**
|
||||
* @deprecated Removed after 3.0.0, Use `TransferPanelProps` instead.
|
||||
*/
|
||||
const transferPanelProps = buildProps({
|
||||
data: transferProps.data,
|
||||
optionRender: { type: definePropType(Function) },
|
||||
placeholder: String,
|
||||
title: String,
|
||||
filterable: Boolean,
|
||||
format: transferProps.format,
|
||||
filterMethod: transferProps.filterMethod,
|
||||
defaultChecked: transferProps.leftDefaultChecked,
|
||||
props: transferProps.props
|
||||
});
|
||||
const transferPanelEmits = { [CHECKED_CHANGE_EVENT]: transferCheckedChangeFn };
|
||||
//#endregion
|
||||
export { CHECKED_CHANGE_EVENT, transferPanelEmits, transferPanelProps };
|
||||
|
||||
//# sourceMappingURL=transfer-panel.mjs.map
|
||||
1
frontend/node_modules/element-plus/es/components/transfer/src/transfer-panel.mjs.map
generated
vendored
Normal file
1
frontend/node_modules/element-plus/es/components/transfer/src/transfer-panel.mjs.map
generated
vendored
Normal file
@@ -0,0 +1 @@
|
||||
{"version":3,"file":"transfer-panel.mjs","names":[],"sources":["../../../../../../packages/components/transfer/src/transfer-panel.ts"],"sourcesContent":["import { buildProps, definePropType } from '@element-plus/utils'\nimport { transferCheckedChangeFn, transferProps } from './transfer'\n\nimport type { ComponentInstance, ExtractPublicPropTypes, VNode } from 'vue'\nimport type { ComponentExposed } from 'vue-component-type-helpers'\nimport type {\n TransferDataItem,\n TransferFormat,\n TransferKey,\n TransferPropsAlias,\n} from './transfer'\nimport type TransferPanel from './transfer-panel.vue'\n\nexport interface TransferPanelState {\n checked: TransferKey[]\n allChecked: boolean\n query: string\n checkChangeByUser: boolean\n}\n\nexport const CHECKED_CHANGE_EVENT = 'checked-change'\n\nexport interface TransferPanelProps<\n T extends TransferDataItem = TransferDataItem,\n> {\n data?: T[]\n optionRender?: (option: T) => VNode | VNode[]\n placeholder?: string\n title?: string\n filterable?: boolean\n format?: TransferFormat\n filterMethod?: (query: string, item: T) => boolean\n defaultChecked?: TransferKey[]\n props?: TransferPropsAlias\n}\n\n/**\n * @deprecated Removed after 3.0.0, Use `TransferPanelProps` instead.\n */\nexport const transferPanelProps = buildProps({\n data: transferProps.data,\n optionRender: {\n type: definePropType<(option: TransferDataItem) => VNode | VNode[]>(\n Function\n ),\n },\n placeholder: String,\n title: String,\n filterable: Boolean,\n format: transferProps.format,\n filterMethod: transferProps.filterMethod,\n defaultChecked: transferProps.leftDefaultChecked,\n props: transferProps.props,\n} as const)\n\n/**\n * @deprecated Removed after 3.0.0, Use `TransferPanelProps` instead.\n */\nexport type TransferPanelPropsPublic = ExtractPublicPropTypes<\n typeof transferPanelProps\n>\n\nexport const transferPanelEmits = {\n [CHECKED_CHANGE_EVENT]: transferCheckedChangeFn,\n}\nexport type TransferPanelEmits = typeof transferPanelEmits\n\nexport type TransferPanelInstance = ComponentInstance<typeof TransferPanel> &\n ComponentExposed<typeof TransferPanel>\n"],"mappings":";;;AAoBA,MAAa,uBAAuB;;;;AAmBpC,MAAa,qBAAqB,WAAW;CAC3C,MAAM,cAAc;CACpB,cAAc,EACZ,MAAM,eACJ,SACD,EACF;CACD,aAAa;CACb,OAAO;CACP,YAAY;CACZ,QAAQ,cAAc;CACtB,cAAc,cAAc;CAC5B,gBAAgB,cAAc;CAC9B,OAAO,cAAc;CACtB,CAAU;AASX,MAAa,qBAAqB,GAC/B,uBAAuB,yBACzB"}
|
||||
28
frontend/node_modules/element-plus/es/components/transfer/src/transfer-panel.vue.d.ts
generated
vendored
Normal file
28
frontend/node_modules/element-plus/es/components/transfer/src/transfer-panel.vue.d.ts
generated
vendored
Normal file
@@ -0,0 +1,28 @@
|
||||
import { TransferDataItem, TransferKey } from "./transfer.js";
|
||||
import { TransferPanelProps } from "./transfer-panel.js";
|
||||
import * as _$vue from "vue";
|
||||
|
||||
//#region ../../packages/components/transfer/src/transfer-panel.vue.d.ts
|
||||
declare const __VLS_export: <T extends TransferDataItem = TransferDataItem>(__VLS_props: NonNullable<Awaited<typeof __VLS_setup>>["props"], __VLS_ctx?: __VLS_PrettifyLocal<Pick<NonNullable<Awaited<typeof __VLS_setup>>, "attrs" | "emit" | "slots">>, __VLS_exposed?: NonNullable<Awaited<typeof __VLS_setup>>["expose"], __VLS_setup?: Promise<{
|
||||
props: _$vue.PublicProps & __VLS_PrettifyLocal<TransferPanelProps<T> & {
|
||||
"onChecked-change"?: ((value: TransferKey[], movedKeys?: TransferKey[] | undefined) => any) | undefined;
|
||||
}> & (typeof globalThis extends {
|
||||
__VLS_PROPS_FALLBACK: infer P;
|
||||
} ? P : {});
|
||||
expose: (exposed: _$vue.ShallowUnwrapRef<{
|
||||
/** @description filter keyword */query: _$vue.Ref<string, string>;
|
||||
}>) => void;
|
||||
attrs: any;
|
||||
slots: {
|
||||
empty?: (props: {}) => any;
|
||||
} & {
|
||||
default?: (props: {}) => any;
|
||||
};
|
||||
emit: (event: "checked-change", value: TransferKey[], movedKeys?: TransferKey[] | undefined) => void;
|
||||
}>) => _$vue.VNode & {
|
||||
__ctx?: Awaited<typeof __VLS_setup>;
|
||||
};
|
||||
declare const _default: typeof __VLS_export;
|
||||
type __VLS_PrettifyLocal<T> = (T extends any ? { [K in keyof T]: T[K] } : { [K in keyof T as K]: T[K] }) & {};
|
||||
//#endregion
|
||||
export { _default as default };
|
||||
108
frontend/node_modules/element-plus/es/components/transfer/src/transfer-panel.vue_vue_type_script_setup_true_lang.mjs
generated
vendored
Normal file
108
frontend/node_modules/element-plus/es/components/transfer/src/transfer-panel.vue_vue_type_script_setup_true_lang.mjs
generated
vendored
Normal file
@@ -0,0 +1,108 @@
|
||||
import { isEmpty } from "../../../utils/types.mjs";
|
||||
import { useLocale } from "../../../hooks/use-locale/index.mjs";
|
||||
import { useNamespace } from "../../../hooks/use-namespace/index.mjs";
|
||||
import { ElInput } from "../../input/index.mjs";
|
||||
import { ElCheckbox, ElCheckboxGroup } from "../../checkbox/index.mjs";
|
||||
import { transferPanelEmits, transferPanelProps } from "./transfer-panel.mjs";
|
||||
import { usePropsAlias } from "./composables/use-props-alias.mjs";
|
||||
import { useCheck } from "./composables/use-check.mjs";
|
||||
import { Search } from "@element-plus/icons-vue";
|
||||
import { Fragment, computed, createBlock, createCommentVNode, createElementBlock, createElementVNode, createTextVNode, createVNode, defineComponent, isRef, normalizeClass, openBlock, reactive, renderList, renderSlot, toDisplayString, toRefs, unref, useSlots, vShow, withCtx, withDirectives } from "vue";
|
||||
//#region ../../packages/components/transfer/src/transfer-panel.vue?vue&type=script&setup=true&lang.ts
|
||||
var transfer_panel_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ defineComponent({
|
||||
name: "ElTransferPanel",
|
||||
__name: "transfer-panel",
|
||||
props: transferPanelProps,
|
||||
emits: transferPanelEmits,
|
||||
setup(__props, { expose: __expose, emit: __emit }) {
|
||||
const props = __props;
|
||||
const emit = __emit;
|
||||
const slots = useSlots();
|
||||
const OptionContent = ({ option }) => option;
|
||||
const { t } = useLocale();
|
||||
const ns = useNamespace("transfer");
|
||||
const panelState = reactive({
|
||||
checked: [],
|
||||
allChecked: false,
|
||||
query: "",
|
||||
checkChangeByUser: true
|
||||
});
|
||||
const propsAlias = usePropsAlias(props);
|
||||
const { filteredData, checkedSummary, isIndeterminate, handleAllCheckedChange } = useCheck(props, panelState, emit);
|
||||
const hasNoMatch = computed(() => !isEmpty(panelState.query) && isEmpty(filteredData.value));
|
||||
const hasFooter = computed(() => !isEmpty(slots.default()[0].children));
|
||||
const { checked, allChecked, query } = toRefs(panelState);
|
||||
__expose({
|
||||
/** @description filter keyword */
|
||||
query });
|
||||
return (_ctx, _cache) => {
|
||||
return openBlock(), createElementBlock("div", { class: normalizeClass(unref(ns).b("panel")) }, [
|
||||
createElementVNode("p", { class: normalizeClass(unref(ns).be("panel", "header")) }, [createVNode(unref(ElCheckbox), {
|
||||
modelValue: unref(allChecked),
|
||||
"onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => isRef(allChecked) ? allChecked.value = $event : null),
|
||||
indeterminate: unref(isIndeterminate),
|
||||
"validate-event": false,
|
||||
onChange: unref(handleAllCheckedChange)
|
||||
}, {
|
||||
default: withCtx(() => [createElementVNode("span", { class: normalizeClass(unref(ns).be("panel", "header-title")) }, toDisplayString(__props.title), 3), createElementVNode("span", { class: normalizeClass(unref(ns).be("panel", "header-count")) }, toDisplayString(unref(checkedSummary)), 3)]),
|
||||
_: 1
|
||||
}, 8, [
|
||||
"modelValue",
|
||||
"indeterminate",
|
||||
"onChange"
|
||||
])], 2),
|
||||
createElementVNode("div", { class: normalizeClass([unref(ns).be("panel", "body"), unref(ns).is("with-footer", hasFooter.value)]) }, [
|
||||
__props.filterable ? (openBlock(), createBlock(unref(ElInput), {
|
||||
key: 0,
|
||||
modelValue: unref(query),
|
||||
"onUpdate:modelValue": _cache[1] || (_cache[1] = ($event) => isRef(query) ? query.value = $event : null),
|
||||
class: normalizeClass(unref(ns).be("panel", "filter")),
|
||||
size: "default",
|
||||
placeholder: __props.placeholder,
|
||||
"prefix-icon": unref(Search),
|
||||
clearable: "",
|
||||
"validate-event": false
|
||||
}, null, 8, [
|
||||
"modelValue",
|
||||
"class",
|
||||
"placeholder",
|
||||
"prefix-icon"
|
||||
])) : createCommentVNode("v-if", true),
|
||||
withDirectives(createVNode(unref(ElCheckboxGroup), {
|
||||
modelValue: unref(checked),
|
||||
"onUpdate:modelValue": _cache[2] || (_cache[2] = ($event) => isRef(checked) ? checked.value = $event : null),
|
||||
"validate-event": false,
|
||||
class: normalizeClass([unref(ns).is("filterable", __props.filterable), unref(ns).be("panel", "list")])
|
||||
}, {
|
||||
default: withCtx(() => [(openBlock(true), createElementBlock(Fragment, null, renderList(unref(filteredData), (item) => {
|
||||
return openBlock(), createBlock(unref(ElCheckbox), {
|
||||
key: item[unref(propsAlias).key],
|
||||
class: normalizeClass(unref(ns).be("panel", "item")),
|
||||
value: item[unref(propsAlias).key],
|
||||
disabled: item[unref(propsAlias).disabled],
|
||||
"validate-event": false
|
||||
}, {
|
||||
default: withCtx(() => [createVNode(OptionContent, { option: __props.optionRender?.(item) }, null, 8, ["option"])]),
|
||||
_: 2
|
||||
}, 1032, [
|
||||
"class",
|
||||
"value",
|
||||
"disabled"
|
||||
]);
|
||||
}), 128))]),
|
||||
_: 1
|
||||
}, 8, ["modelValue", "class"]), [[vShow, !hasNoMatch.value && !unref(isEmpty)(__props.data)]]),
|
||||
withDirectives(createElementVNode("div", { class: normalizeClass(unref(ns).be("panel", "empty")) }, [renderSlot(_ctx.$slots, "empty", {}, () => [createTextVNode(toDisplayString(hasNoMatch.value ? unref(t)("el.transfer.noMatch") : unref(t)("el.transfer.noData")), 1)])], 2), [[vShow, hasNoMatch.value || unref(isEmpty)(__props.data)]])
|
||||
], 2),
|
||||
hasFooter.value ? (openBlock(), createElementBlock("p", {
|
||||
key: 0,
|
||||
class: normalizeClass(unref(ns).be("panel", "footer"))
|
||||
}, [renderSlot(_ctx.$slots, "default")], 2)) : createCommentVNode("v-if", true)
|
||||
], 2);
|
||||
};
|
||||
}
|
||||
});
|
||||
//#endregion
|
||||
export { transfer_panel_vue_vue_type_script_setup_true_lang_default as default };
|
||||
|
||||
//# sourceMappingURL=transfer-panel.vue_vue_type_script_setup_true_lang.mjs.map
|
||||
1
frontend/node_modules/element-plus/es/components/transfer/src/transfer-panel.vue_vue_type_script_setup_true_lang.mjs.map
generated
vendored
Normal file
1
frontend/node_modules/element-plus/es/components/transfer/src/transfer-panel.vue_vue_type_script_setup_true_lang.mjs.map
generated
vendored
Normal file
File diff suppressed because one or more lines are too long
7
frontend/node_modules/element-plus/es/components/transfer/src/transfer-panel2.mjs
generated
vendored
Normal file
7
frontend/node_modules/element-plus/es/components/transfer/src/transfer-panel2.mjs
generated
vendored
Normal file
@@ -0,0 +1,7 @@
|
||||
import transfer_panel_vue_vue_type_script_setup_true_lang_default from "./transfer-panel.vue_vue_type_script_setup_true_lang.mjs";
|
||||
//#region ../../packages/components/transfer/src/transfer-panel.vue
|
||||
var transfer_panel_default = transfer_panel_vue_vue_type_script_setup_true_lang_default;
|
||||
//#endregion
|
||||
export { transfer_panel_default as default };
|
||||
|
||||
//# sourceMappingURL=transfer-panel2.mjs.map
|
||||
1
frontend/node_modules/element-plus/es/components/transfer/src/transfer-panel2.mjs.map
generated
vendored
Normal file
1
frontend/node_modules/element-plus/es/components/transfer/src/transfer-panel2.mjs.map
generated
vendored
Normal file
@@ -0,0 +1 @@
|
||||
{"version":3,"file":"transfer-panel2.mjs","names":[],"sources":["../../../../../../packages/components/transfer/src/transfer-panel.vue"],"sourcesContent":["<template>\n <div :class=\"ns.b('panel')\">\n <p :class=\"ns.be('panel', 'header')\">\n <el-checkbox\n v-model=\"allChecked\"\n :indeterminate=\"isIndeterminate\"\n :validate-event=\"false\"\n @change=\"handleAllCheckedChange\"\n >\n <span :class=\"ns.be('panel', 'header-title')\">{{ title }}</span>\n <span :class=\"ns.be('panel', 'header-count')\">\n {{ checkedSummary }}\n </span>\n </el-checkbox>\n </p>\n\n <div :class=\"[ns.be('panel', 'body'), ns.is('with-footer', hasFooter)]\">\n <el-input\n v-if=\"filterable\"\n v-model=\"query\"\n :class=\"ns.be('panel', 'filter')\"\n size=\"default\"\n :placeholder=\"placeholder\"\n :prefix-icon=\"Search\"\n clearable\n :validate-event=\"false\"\n />\n <el-checkbox-group\n v-show=\"!hasNoMatch && !isEmpty(data)\"\n v-model=\"checked\"\n :validate-event=\"false\"\n :class=\"[ns.is('filterable', filterable), ns.be('panel', 'list')]\"\n >\n <el-checkbox\n v-for=\"item in filteredData\"\n :key=\"item[propsAlias.key]\"\n :class=\"ns.be('panel', 'item')\"\n :value=\"item[propsAlias.key]\"\n :disabled=\"item[propsAlias.disabled]\"\n :validate-event=\"false\"\n >\n <option-content :option=\"optionRender?.(item)\" />\n </el-checkbox>\n </el-checkbox-group>\n <div\n v-show=\"hasNoMatch || isEmpty(data)\"\n :class=\"ns.be('panel', 'empty')\"\n >\n <slot name=\"empty\">\n {{ hasNoMatch ? t('el.transfer.noMatch') : t('el.transfer.noData') }}\n </slot>\n </div>\n </div>\n <p v-if=\"hasFooter\" :class=\"ns.be('panel', 'footer')\">\n <slot />\n </p>\n </div>\n</template>\n\n<script lang=\"ts\" setup generic=\"T extends TransferDataItem = TransferDataItem\">\nimport { computed, reactive, toRefs, useSlots } from 'vue'\nimport { isEmpty, mutable } from '@element-plus/utils'\nimport { useLocale, useNamespace } from '@element-plus/hooks'\nimport { ElCheckbox, ElCheckboxGroup } from '@element-plus/components/checkbox'\nimport { ElInput } from '@element-plus/components/input'\nimport { Search } from '@element-plus/icons-vue'\nimport { transferPanelEmits } from './transfer-panel'\nimport { useCheck, usePropsAlias } from './composables'\n\nimport type { VNode } from 'vue'\nimport type { TransferDataItem } from './transfer'\nimport type { TransferPanelProps, TransferPanelState } from './transfer-panel'\n\ndefineOptions({\n name: 'ElTransferPanel',\n})\n\nconst props = withDefaults(defineProps<TransferPanelProps<T>>(), {\n data: () => [],\n format: () => ({}),\n defaultChecked: () => [],\n props: () =>\n mutable({\n label: 'label',\n key: 'key',\n disabled: 'disabled',\n }),\n})\nconst emit = defineEmits(transferPanelEmits)\nconst slots = useSlots()\n\nconst OptionContent = ({ option }: { option?: VNode | VNode[] }) => option\n\nconst { t } = useLocale()\nconst ns = useNamespace('transfer')\n\nconst panelState = reactive<TransferPanelState>({\n checked: [],\n allChecked: false,\n query: '',\n checkChangeByUser: true,\n})\n\nconst propsAlias = usePropsAlias(props)\n\nconst {\n filteredData,\n checkedSummary,\n isIndeterminate,\n handleAllCheckedChange,\n} = useCheck(props, panelState, emit)\n\nconst hasNoMatch = computed(\n () => !isEmpty(panelState.query) && isEmpty(filteredData.value)\n)\n\nconst hasFooter = computed(() => !isEmpty(slots.default!()[0].children))\n\nconst { checked, allChecked, query } = toRefs(panelState)\n\ndefineExpose({\n /** @description filter keyword */\n query,\n})\n</script>\n"],"mappings":""}
|
||||
133
frontend/node_modules/element-plus/es/components/transfer/src/transfer.d.ts
generated
vendored
Normal file
133
frontend/node_modules/element-plus/es/components/transfer/src/transfer.d.ts
generated
vendored
Normal file
@@ -0,0 +1,133 @@
|
||||
import { EpPropFinalized } from "../../../utils/vue/props/types.js";
|
||||
import { Mutable } from "../../../utils/typescript.js";
|
||||
import _default from "./transfer.vue.js";
|
||||
import * as _$vue from "vue";
|
||||
import { ComponentInstance, ExtractPublicPropTypes, VNode, h } from "vue";
|
||||
import { ComponentExposed } from "vue-component-type-helpers";
|
||||
|
||||
//#region ../../packages/components/transfer/src/transfer.d.ts
|
||||
type TransferKey = string | number;
|
||||
type TransferDirection = 'left' | 'right';
|
||||
type TransferDataItem = Record<string, any>;
|
||||
type renderContent<T extends TransferDataItem = TransferDataItem> = (h: typeof h, option: T) => VNode | VNode[];
|
||||
interface TransferFormat {
|
||||
noChecked?: string;
|
||||
hasChecked?: string;
|
||||
}
|
||||
interface TransferPropsAlias {
|
||||
label?: string;
|
||||
key?: string;
|
||||
disabled?: string;
|
||||
}
|
||||
interface TransferCheckedState {
|
||||
leftChecked: TransferKey[];
|
||||
rightChecked: TransferKey[];
|
||||
}
|
||||
declare const LEFT_CHECK_CHANGE_EVENT = "left-check-change";
|
||||
declare const RIGHT_CHECK_CHANGE_EVENT = "right-check-change";
|
||||
interface TransferProps<T extends TransferDataItem = TransferDataItem> {
|
||||
/**
|
||||
* @description data source
|
||||
*/
|
||||
data?: T[];
|
||||
/**
|
||||
* @description custom list titles
|
||||
*/
|
||||
titles?: [string, string];
|
||||
/**
|
||||
* @description custom button texts
|
||||
*/
|
||||
buttonTexts?: [string, string];
|
||||
/**
|
||||
* @description placeholder for the filter input
|
||||
*/
|
||||
filterPlaceholder?: string;
|
||||
/**
|
||||
* @description custom filter method
|
||||
*/
|
||||
filterMethod?: (query: string, item: T) => boolean;
|
||||
/**
|
||||
* @description key array of initially checked data items of the left list
|
||||
*/
|
||||
leftDefaultChecked?: TransferKey[];
|
||||
/**
|
||||
* @description key array of initially checked data items of the right list
|
||||
*/
|
||||
rightDefaultChecked?: TransferKey[];
|
||||
/**
|
||||
* @description custom render function for data items
|
||||
*/
|
||||
renderContent?: renderContent<T>;
|
||||
/**
|
||||
* @description binding value
|
||||
*/
|
||||
modelValue?: TransferKey[];
|
||||
/**
|
||||
* @description texts for checking status in list header
|
||||
*/
|
||||
format?: TransferFormat;
|
||||
/**
|
||||
* @description whether Transfer is filterable
|
||||
*/
|
||||
filterable?: boolean;
|
||||
/**
|
||||
* @description prop aliases for data source
|
||||
*/
|
||||
props?: TransferPropsAlias;
|
||||
/**
|
||||
* @description order strategy for elements in the target list. If set to `original`, the elements will keep the same order as the data source. If set to `push`, the newly added elements will be pushed to the bottom. If set to `unshift`, the newly added elements will be inserted on the top
|
||||
*/
|
||||
targetOrder?: 'original' | 'push' | 'unshift';
|
||||
/**
|
||||
* @description whether to trigger form validation
|
||||
*/
|
||||
validateEvent?: boolean;
|
||||
}
|
||||
/**
|
||||
* @deprecated Removed after 3.0.0, Use `TransferProps` instead.
|
||||
*/
|
||||
declare const transferProps: {
|
||||
readonly data: EpPropFinalized<(new (...args: any[]) => TransferDataItem[]) | (() => TransferDataItem[]) | (((new (...args: any[]) => TransferDataItem[]) | (() => TransferDataItem[])) | null)[], unknown, unknown, () => never[], boolean>;
|
||||
readonly titles: EpPropFinalized<(new (...args: any[]) => [string, string]) | (() => [string, string]) | (((new (...args: any[]) => [string, string]) | (() => [string, string])) | null)[], unknown, unknown, () => never[], boolean>;
|
||||
readonly buttonTexts: EpPropFinalized<(new (...args: any[]) => [string, string]) | (() => [string, string]) | (((new (...args: any[]) => [string, string]) | (() => [string, string])) | null)[], unknown, unknown, () => never[], boolean>;
|
||||
readonly filterPlaceholder: StringConstructor;
|
||||
readonly filterMethod: {
|
||||
readonly type: _$vue.PropType<(query: string, item: TransferDataItem) => boolean>;
|
||||
readonly required: false;
|
||||
readonly validator: ((val: unknown) => boolean) | undefined;
|
||||
__epPropKey: true;
|
||||
};
|
||||
readonly leftDefaultChecked: EpPropFinalized<(new (...args: any[]) => TransferKey[]) | (() => TransferKey[]) | (((new (...args: any[]) => TransferKey[]) | (() => TransferKey[])) | null)[], unknown, unknown, () => never[], boolean>;
|
||||
readonly rightDefaultChecked: EpPropFinalized<(new (...args: any[]) => TransferKey[]) | (() => TransferKey[]) | (((new (...args: any[]) => TransferKey[]) | (() => TransferKey[])) | null)[], unknown, unknown, () => never[], boolean>;
|
||||
readonly renderContent: {
|
||||
readonly type: _$vue.PropType<renderContent<TransferDataItem>>;
|
||||
readonly required: false;
|
||||
readonly validator: ((val: unknown) => boolean) | undefined;
|
||||
__epPropKey: true;
|
||||
};
|
||||
readonly modelValue: EpPropFinalized<(new (...args: any[]) => TransferKey[]) | (() => TransferKey[]) | (((new (...args: any[]) => TransferKey[]) | (() => TransferKey[])) | null)[], unknown, unknown, () => never[], boolean>;
|
||||
readonly format: EpPropFinalized<(new (...args: any[]) => TransferFormat) | (() => TransferFormat) | (((new (...args: any[]) => TransferFormat) | (() => TransferFormat)) | null)[], unknown, unknown, () => {}, boolean>;
|
||||
readonly filterable: BooleanConstructor;
|
||||
readonly props: EpPropFinalized<(new (...args: any[]) => TransferPropsAlias) | (() => TransferPropsAlias) | (((new (...args: any[]) => TransferPropsAlias) | (() => TransferPropsAlias)) | null)[], unknown, unknown, () => Mutable<{
|
||||
readonly label: "label";
|
||||
readonly key: "key";
|
||||
readonly disabled: "disabled";
|
||||
}>, boolean>;
|
||||
readonly targetOrder: EpPropFinalized<StringConstructor, "push" | "unshift" | "original", unknown, "original", boolean>;
|
||||
readonly validateEvent: EpPropFinalized<BooleanConstructor, unknown, unknown, true, boolean>;
|
||||
};
|
||||
/**
|
||||
* @deprecated Removed after 3.0.0, Use `TransferProps` instead.
|
||||
*/
|
||||
type TransferPropsPublic = ExtractPublicPropTypes<typeof transferProps>;
|
||||
declare const transferCheckedChangeFn: (value: TransferKey[], movedKeys?: TransferKey[]) => boolean;
|
||||
declare const transferEmits: {
|
||||
change: (value: TransferKey[], direction: TransferDirection, movedKeys: TransferKey[]) => boolean;
|
||||
"update:modelValue": (value: TransferKey[]) => boolean;
|
||||
"left-check-change": (value: TransferKey[], movedKeys?: TransferKey[]) => boolean;
|
||||
"right-check-change": (value: TransferKey[], movedKeys?: TransferKey[]) => boolean;
|
||||
};
|
||||
type TransferEmits = typeof transferEmits;
|
||||
type TransferInstance = ComponentInstance<typeof _default> & ComponentExposed<typeof _default>;
|
||||
//#endregion
|
||||
export { LEFT_CHECK_CHANGE_EVENT, RIGHT_CHECK_CHANGE_EVENT, TransferCheckedState, TransferDataItem, TransferDirection, TransferEmits, TransferFormat, TransferInstance, TransferKey, TransferProps, TransferPropsAlias, TransferPropsPublic, renderContent, transferCheckedChangeFn, transferEmits, transferProps };
|
||||
119
frontend/node_modules/element-plus/es/components/transfer/src/transfer.mjs
generated
vendored
Normal file
119
frontend/node_modules/element-plus/es/components/transfer/src/transfer.mjs
generated
vendored
Normal file
@@ -0,0 +1,119 @@
|
||||
import { CHANGE_EVENT, UPDATE_MODEL_EVENT } from "../../../constants/event.mjs";
|
||||
import { isArray } from "../../../utils/types.mjs";
|
||||
import { buildProps, definePropType } from "../../../utils/vue/props/runtime.mjs";
|
||||
import { mutable } from "../../../utils/typescript.mjs";
|
||||
import { isNil } from "lodash-unified";
|
||||
//#region ../../packages/components/transfer/src/transfer.ts
|
||||
const LEFT_CHECK_CHANGE_EVENT = "left-check-change";
|
||||
const RIGHT_CHECK_CHANGE_EVENT = "right-check-change";
|
||||
/**
|
||||
* @deprecated Removed after 3.0.0, Use `TransferProps` instead.
|
||||
*/
|
||||
const transferProps = buildProps({
|
||||
/**
|
||||
* @description data source
|
||||
*/
|
||||
data: {
|
||||
type: definePropType(Array),
|
||||
default: () => []
|
||||
},
|
||||
/**
|
||||
* @description custom list titles
|
||||
*/
|
||||
titles: {
|
||||
type: definePropType(Array),
|
||||
default: () => []
|
||||
},
|
||||
/**
|
||||
* @description custom button texts
|
||||
*/
|
||||
buttonTexts: {
|
||||
type: definePropType(Array),
|
||||
default: () => []
|
||||
},
|
||||
/**
|
||||
* @description placeholder for the filter input
|
||||
*/
|
||||
filterPlaceholder: String,
|
||||
/**
|
||||
* @description custom filter method
|
||||
*/
|
||||
filterMethod: { type: definePropType(Function) },
|
||||
/**
|
||||
* @description key array of initially checked data items of the left list
|
||||
*/
|
||||
leftDefaultChecked: {
|
||||
type: definePropType(Array),
|
||||
default: () => []
|
||||
},
|
||||
/**
|
||||
* @description key array of initially checked data items of the right list
|
||||
*/
|
||||
rightDefaultChecked: {
|
||||
type: definePropType(Array),
|
||||
default: () => []
|
||||
},
|
||||
/**
|
||||
* @description custom render function for data items
|
||||
*/
|
||||
renderContent: { type: definePropType(Function) },
|
||||
/**
|
||||
* @description binding value
|
||||
*/
|
||||
modelValue: {
|
||||
type: definePropType(Array),
|
||||
default: () => []
|
||||
},
|
||||
/**
|
||||
* @description texts for checking status in list header
|
||||
*/
|
||||
format: {
|
||||
type: definePropType(Object),
|
||||
default: () => ({})
|
||||
},
|
||||
/**
|
||||
* @description whether Transfer is filterable
|
||||
*/
|
||||
filterable: Boolean,
|
||||
/**
|
||||
* @description prop aliases for data source
|
||||
*/
|
||||
props: {
|
||||
type: definePropType(Object),
|
||||
default: () => mutable({
|
||||
label: "label",
|
||||
key: "key",
|
||||
disabled: "disabled"
|
||||
})
|
||||
},
|
||||
/**
|
||||
* @description order strategy for elements in the target list. If set to `original`, the elements will keep the same order as the data source. If set to `push`, the newly added elements will be pushed to the bottom. If set to `unshift`, the newly added elements will be inserted on the top
|
||||
*/
|
||||
targetOrder: {
|
||||
type: String,
|
||||
values: [
|
||||
"original",
|
||||
"push",
|
||||
"unshift"
|
||||
],
|
||||
default: "original"
|
||||
},
|
||||
/**
|
||||
* @description whether to trigger form validation
|
||||
*/
|
||||
validateEvent: {
|
||||
type: Boolean,
|
||||
default: true
|
||||
}
|
||||
});
|
||||
const transferCheckedChangeFn = (value, movedKeys) => [value, movedKeys].every(isArray) || isArray(value) && isNil(movedKeys);
|
||||
const transferEmits = {
|
||||
[CHANGE_EVENT]: (value, direction, movedKeys) => [value, movedKeys].every(isArray) && ["left", "right"].includes(direction),
|
||||
[UPDATE_MODEL_EVENT]: (value) => isArray(value),
|
||||
[LEFT_CHECK_CHANGE_EVENT]: transferCheckedChangeFn,
|
||||
[RIGHT_CHECK_CHANGE_EVENT]: transferCheckedChangeFn
|
||||
};
|
||||
//#endregion
|
||||
export { LEFT_CHECK_CHANGE_EVENT, RIGHT_CHECK_CHANGE_EVENT, transferCheckedChangeFn, transferEmits, transferProps };
|
||||
|
||||
//# sourceMappingURL=transfer.mjs.map
|
||||
1
frontend/node_modules/element-plus/es/components/transfer/src/transfer.mjs.map
generated
vendored
Normal file
1
frontend/node_modules/element-plus/es/components/transfer/src/transfer.mjs.map
generated
vendored
Normal file
File diff suppressed because one or more lines are too long
38
frontend/node_modules/element-plus/es/components/transfer/src/transfer.vue.d.ts
generated
vendored
Normal file
38
frontend/node_modules/element-plus/es/components/transfer/src/transfer.vue.d.ts
generated
vendored
Normal file
@@ -0,0 +1,38 @@
|
||||
import { TransferDataItem, TransferDirection, TransferKey, TransferProps } from "./transfer.js";
|
||||
import { TransferPanelInstance } from "./transfer-panel.js";
|
||||
import * as _$vue from "vue";
|
||||
import { VNode } from "vue";
|
||||
|
||||
//#region ../../packages/components/transfer/src/transfer.vue.d.ts
|
||||
declare const __VLS_export: <T extends TransferDataItem = TransferDataItem>(__VLS_props: NonNullable<Awaited<typeof __VLS_setup>>["props"], __VLS_ctx?: __VLS_PrettifyLocal<Pick<NonNullable<Awaited<typeof __VLS_setup>>, "attrs" | "emit" | "slots">>, __VLS_exposed?: NonNullable<Awaited<typeof __VLS_setup>>["expose"], __VLS_setup?: Promise<{
|
||||
props: _$vue.PublicProps & __VLS_PrettifyLocal<TransferProps<T> & {
|
||||
"onUpdate:modelValue"?: ((value: TransferKey[]) => any) | undefined;
|
||||
onChange?: ((value: TransferKey[], direction: TransferDirection, movedKeys: TransferKey[]) => any) | undefined;
|
||||
"onLeft-check-change"?: ((value: TransferKey[], movedKeys?: TransferKey[] | undefined) => any) | undefined;
|
||||
"onRight-check-change"?: ((value: TransferKey[], movedKeys?: TransferKey[] | undefined) => any) | undefined;
|
||||
}> & (typeof globalThis extends {
|
||||
__VLS_PROPS_FALLBACK: infer P;
|
||||
} ? P : {});
|
||||
expose: (exposed: _$vue.ShallowUnwrapRef<{
|
||||
/** @description clear the filter keyword of a certain panel */clearQuery: (which: TransferDirection) => void; /** @description left panel ref */
|
||||
leftPanel: _$vue.Ref<TransferPanelInstance | undefined, TransferPanelInstance | undefined>; /** @description right panel ref */
|
||||
rightPanel: _$vue.Ref<TransferPanelInstance | undefined, TransferPanelInstance | undefined>;
|
||||
}>) => void;
|
||||
attrs: any;
|
||||
slots: {
|
||||
default?: (props: {
|
||||
option: T;
|
||||
}) => VNode[];
|
||||
'left-empty'?: () => VNode[];
|
||||
'left-footer'?: () => VNode[];
|
||||
'right-empty'?: () => VNode[];
|
||||
'right-footer'?: () => VNode[];
|
||||
};
|
||||
emit: ((event: "change", value: TransferKey[], direction: TransferDirection, movedKeys: TransferKey[]) => void) & ((event: "update:modelValue", value: TransferKey[]) => void) & ((event: "left-check-change", value: TransferKey[], movedKeys?: TransferKey[] | undefined) => void) & ((event: "right-check-change", value: TransferKey[], movedKeys?: TransferKey[] | undefined) => void);
|
||||
}>) => _$vue.VNode & {
|
||||
__ctx?: Awaited<typeof __VLS_setup>;
|
||||
};
|
||||
declare const _default: typeof __VLS_export;
|
||||
type __VLS_PrettifyLocal<T> = (T extends any ? { [K in keyof T]: T[K] } : { [K in keyof T as K]: T[K] }) & {};
|
||||
//#endregion
|
||||
export { _default as default };
|
||||
170
frontend/node_modules/element-plus/es/components/transfer/src/transfer.vue_vue_type_script_setup_true_lang.mjs
generated
vendored
Normal file
170
frontend/node_modules/element-plus/es/components/transfer/src/transfer.vue_vue_type_script_setup_true_lang.mjs
generated
vendored
Normal file
@@ -0,0 +1,170 @@
|
||||
import { isEmpty, isUndefined } from "../../../utils/types.mjs";
|
||||
import { NOOP } from "../../../utils/functions.mjs";
|
||||
import { useLocale } from "../../../hooks/use-locale/index.mjs";
|
||||
import { useNamespace } from "../../../hooks/use-namespace/index.mjs";
|
||||
import { ElIcon } from "../../icon/index.mjs";
|
||||
import { useFormItem } from "../../form/src/hooks/use-form-item.mjs";
|
||||
import { ElButton } from "../../button/index.mjs";
|
||||
import { transferEmits, transferProps } from "./transfer.mjs";
|
||||
import { usePropsAlias } from "./composables/use-props-alias.mjs";
|
||||
import { useCheckedChange } from "./composables/use-checked-change.mjs";
|
||||
import { useComputedData } from "./composables/use-computed-data.mjs";
|
||||
import { useMove } from "./composables/use-move.mjs";
|
||||
import transfer_panel_default from "./transfer-panel2.mjs";
|
||||
import { ArrowLeft, ArrowRight } from "@element-plus/icons-vue";
|
||||
import { Comment, computed, createCommentVNode, createElementBlock, createElementVNode, createVNode, defineComponent, h, normalizeClass, openBlock, reactive, ref, renderSlot, toDisplayString, unref, useSlots, watch, withCtx } from "vue";
|
||||
//#region ../../packages/components/transfer/src/transfer.vue?vue&type=script&setup=true&lang.ts
|
||||
const _hoisted_1 = { key: 0 };
|
||||
const _hoisted_2 = { key: 0 };
|
||||
var transfer_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ defineComponent({
|
||||
name: "ElTransfer",
|
||||
__name: "transfer",
|
||||
props: transferProps,
|
||||
emits: transferEmits,
|
||||
setup(__props, { expose: __expose, emit: __emit }) {
|
||||
const props = __props;
|
||||
const emit = __emit;
|
||||
const slots = useSlots();
|
||||
const { t } = useLocale();
|
||||
const ns = useNamespace("transfer");
|
||||
const { formItem } = useFormItem();
|
||||
const checkedState = reactive({
|
||||
leftChecked: [],
|
||||
rightChecked: []
|
||||
});
|
||||
const propsAlias = usePropsAlias(props);
|
||||
const { sourceData, targetData } = useComputedData(props);
|
||||
const { onSourceCheckedChange, onTargetCheckedChange } = useCheckedChange(checkedState, emit);
|
||||
const { addToLeft, addToRight } = useMove(props, checkedState, emit);
|
||||
const leftPanel = ref();
|
||||
const rightPanel = ref();
|
||||
const clearQuery = (which) => {
|
||||
switch (which) {
|
||||
case "left":
|
||||
leftPanel.value.query = "";
|
||||
break;
|
||||
case "right":
|
||||
rightPanel.value.query = "";
|
||||
break;
|
||||
}
|
||||
};
|
||||
const hasButtonTexts = computed(() => props.buttonTexts.length === 2);
|
||||
const leftPanelTitle = computed(() => props.titles[0] || t("el.transfer.titles.0"));
|
||||
const rightPanelTitle = computed(() => props.titles[1] || t("el.transfer.titles.1"));
|
||||
const panelFilterPlaceholder = computed(() => props.filterPlaceholder || t("el.transfer.filterPlaceholder"));
|
||||
watch(() => props.modelValue, () => {
|
||||
if (props.validateEvent) formItem?.validate?.("change").catch(NOOP);
|
||||
});
|
||||
const optionRender = computed(() => (option) => {
|
||||
if (props.renderContent) return props.renderContent(h, option);
|
||||
const defaultSlotVNodes = (slots.default?.({ option }) || []).filter((node) => node.type !== Comment);
|
||||
if (defaultSlotVNodes.length) return defaultSlotVNodes;
|
||||
return h("span", option[propsAlias.value.label] || option[propsAlias.value.key]);
|
||||
});
|
||||
__expose({
|
||||
/** @description clear the filter keyword of a certain panel */
|
||||
clearQuery,
|
||||
/** @description left panel ref */
|
||||
leftPanel,
|
||||
/** @description right panel ref */
|
||||
rightPanel
|
||||
});
|
||||
return (_ctx, _cache) => {
|
||||
return openBlock(), createElementBlock("div", { class: normalizeClass(unref(ns).b()) }, [
|
||||
createVNode(transfer_panel_default, {
|
||||
ref_key: "leftPanel",
|
||||
ref: leftPanel,
|
||||
data: unref(sourceData),
|
||||
"option-render": optionRender.value,
|
||||
placeholder: panelFilterPlaceholder.value,
|
||||
title: leftPanelTitle.value,
|
||||
filterable: __props.filterable,
|
||||
format: __props.format,
|
||||
"filter-method": __props.filterMethod,
|
||||
"default-checked": __props.leftDefaultChecked,
|
||||
props: props.props,
|
||||
onCheckedChange: unref(onSourceCheckedChange)
|
||||
}, {
|
||||
empty: withCtx(() => [renderSlot(_ctx.$slots, "left-empty")]),
|
||||
default: withCtx(() => [renderSlot(_ctx.$slots, "left-footer")]),
|
||||
_: 3
|
||||
}, 8, [
|
||||
"data",
|
||||
"option-render",
|
||||
"placeholder",
|
||||
"title",
|
||||
"filterable",
|
||||
"format",
|
||||
"filter-method",
|
||||
"default-checked",
|
||||
"props",
|
||||
"onCheckedChange"
|
||||
]),
|
||||
createElementVNode("div", { class: normalizeClass(unref(ns).e("buttons")) }, [createVNode(unref(ElButton), {
|
||||
type: "primary",
|
||||
class: normalizeClass([unref(ns).e("button"), unref(ns).is("with-texts", hasButtonTexts.value)]),
|
||||
disabled: unref(isEmpty)(checkedState.rightChecked),
|
||||
onClick: unref(addToLeft)
|
||||
}, {
|
||||
default: withCtx(() => [createVNode(unref(ElIcon), null, {
|
||||
default: withCtx(() => [createVNode(unref(ArrowLeft))]),
|
||||
_: 1
|
||||
}), !unref(isUndefined)(__props.buttonTexts[0]) ? (openBlock(), createElementBlock("span", _hoisted_1, toDisplayString(__props.buttonTexts[0]), 1)) : createCommentVNode("v-if", true)]),
|
||||
_: 1
|
||||
}, 8, [
|
||||
"class",
|
||||
"disabled",
|
||||
"onClick"
|
||||
]), createVNode(unref(ElButton), {
|
||||
type: "primary",
|
||||
class: normalizeClass([unref(ns).e("button"), unref(ns).is("with-texts", hasButtonTexts.value)]),
|
||||
disabled: unref(isEmpty)(checkedState.leftChecked),
|
||||
onClick: unref(addToRight)
|
||||
}, {
|
||||
default: withCtx(() => [!unref(isUndefined)(__props.buttonTexts[1]) ? (openBlock(), createElementBlock("span", _hoisted_2, toDisplayString(__props.buttonTexts[1]), 1)) : createCommentVNode("v-if", true), createVNode(unref(ElIcon), null, {
|
||||
default: withCtx(() => [createVNode(unref(ArrowRight))]),
|
||||
_: 1
|
||||
})]),
|
||||
_: 1
|
||||
}, 8, [
|
||||
"class",
|
||||
"disabled",
|
||||
"onClick"
|
||||
])], 2),
|
||||
createVNode(transfer_panel_default, {
|
||||
ref_key: "rightPanel",
|
||||
ref: rightPanel,
|
||||
data: unref(targetData),
|
||||
"option-render": optionRender.value,
|
||||
placeholder: panelFilterPlaceholder.value,
|
||||
filterable: __props.filterable,
|
||||
format: __props.format,
|
||||
"filter-method": __props.filterMethod,
|
||||
title: rightPanelTitle.value,
|
||||
"default-checked": __props.rightDefaultChecked,
|
||||
props: props.props,
|
||||
onCheckedChange: unref(onTargetCheckedChange)
|
||||
}, {
|
||||
empty: withCtx(() => [renderSlot(_ctx.$slots, "right-empty")]),
|
||||
default: withCtx(() => [renderSlot(_ctx.$slots, "right-footer")]),
|
||||
_: 3
|
||||
}, 8, [
|
||||
"data",
|
||||
"option-render",
|
||||
"placeholder",
|
||||
"filterable",
|
||||
"format",
|
||||
"filter-method",
|
||||
"title",
|
||||
"default-checked",
|
||||
"props",
|
||||
"onCheckedChange"
|
||||
])
|
||||
], 2);
|
||||
};
|
||||
}
|
||||
});
|
||||
//#endregion
|
||||
export { transfer_vue_vue_type_script_setup_true_lang_default as default };
|
||||
|
||||
//# sourceMappingURL=transfer.vue_vue_type_script_setup_true_lang.mjs.map
|
||||
1
frontend/node_modules/element-plus/es/components/transfer/src/transfer.vue_vue_type_script_setup_true_lang.mjs.map
generated
vendored
Normal file
1
frontend/node_modules/element-plus/es/components/transfer/src/transfer.vue_vue_type_script_setup_true_lang.mjs.map
generated
vendored
Normal file
File diff suppressed because one or more lines are too long
7
frontend/node_modules/element-plus/es/components/transfer/src/transfer2.mjs
generated
vendored
Normal file
7
frontend/node_modules/element-plus/es/components/transfer/src/transfer2.mjs
generated
vendored
Normal file
@@ -0,0 +1,7 @@
|
||||
import transfer_vue_vue_type_script_setup_true_lang_default from "./transfer.vue_vue_type_script_setup_true_lang.mjs";
|
||||
//#region ../../packages/components/transfer/src/transfer.vue
|
||||
var transfer_default = transfer_vue_vue_type_script_setup_true_lang_default;
|
||||
//#endregion
|
||||
export { transfer_default as default };
|
||||
|
||||
//# sourceMappingURL=transfer2.mjs.map
|
||||
1
frontend/node_modules/element-plus/es/components/transfer/src/transfer2.mjs.map
generated
vendored
Normal file
1
frontend/node_modules/element-plus/es/components/transfer/src/transfer2.mjs.map
generated
vendored
Normal file
File diff suppressed because one or more lines are too long
6
frontend/node_modules/element-plus/es/components/transfer/style/css.mjs
generated
vendored
Normal file
6
frontend/node_modules/element-plus/es/components/transfer/style/css.mjs
generated
vendored
Normal file
@@ -0,0 +1,6 @@
|
||||
import "../../base/style/css.mjs";
|
||||
import "../../input/style/css.mjs";
|
||||
import "../../button/style/css.mjs";
|
||||
import "../../checkbox/style/css.mjs";
|
||||
import "../../checkbox-group/style/css.mjs";
|
||||
import "element-plus/theme-chalk/el-transfer.css";
|
||||
6
frontend/node_modules/element-plus/es/components/transfer/style/index.mjs
generated
vendored
Normal file
6
frontend/node_modules/element-plus/es/components/transfer/style/index.mjs
generated
vendored
Normal file
@@ -0,0 +1,6 @@
|
||||
import "../../base/style/index.mjs";
|
||||
import "../../input/style/index.mjs";
|
||||
import "../../button/style/index.mjs";
|
||||
import "../../checkbox/style/index.mjs";
|
||||
import "../../checkbox-group/style/index.mjs";
|
||||
import "element-plus/theme-chalk/src/transfer.scss";
|
||||
Reference in New Issue
Block a user