@mc20230601/keep-up 1.0.42 → 1.0.48
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/es/components/codeEditor/index.d.ts +4 -4
- package/es/components/codeEditor/index.mjs +2 -2
- package/es/components/codeEditor/index.mjs.map +1 -1
- package/es/components/commonEditor/index.d.ts +2 -2
- package/es/components/commonEditor/index.mjs +4 -3
- package/es/components/commonEditor/index.mjs.map +1 -1
- package/es/components/commonEditor/interfaces.d.ts +5 -1
- package/es/components/commonFilter/index.d.ts +6 -6
- package/es/components/commonFilter/index.mjs +6 -4
- package/es/components/commonFilter/index.mjs.map +1 -1
- package/es/components/commonFilter/interfaces.d.ts +3 -1
- package/es/components/commonFilter/useKeepFilter.d.ts +1 -1
- package/es/components/commonFilter/useKeepFilter.mjs +24 -3
- package/es/components/commonFilter/useKeepFilter.mjs.map +1 -1
- package/es/components/commonJsonPretty/index.mjs +3 -2
- package/es/components/commonJsonPretty/index.mjs.map +1 -1
- package/es/components/commonLocations/index.d.ts +1 -1
- package/es/components/commonLocations/index.mjs +2 -2
- package/es/components/commonLocations/index.mjs.map +1 -1
- package/es/components/commonLocations/useLocations.mjs +8 -2
- package/es/components/commonLocations/useLocations.mjs.map +1 -1
- package/es/components/commonPage/index.d.ts +4 -2
- package/es/components/commonPage/index.mjs +16 -9
- package/es/components/commonPage/index.mjs.map +1 -1
- package/es/components/commonPage/interfaces.d.ts +9 -2
- package/es/components/commonPage/usePageActions.mjs +7 -3
- package/es/components/commonPage/usePageActions.mjs.map +1 -1
- package/es/components/commonSetter/components/draggableList/index.mjs +6 -5
- package/es/components/commonSetter/components/draggableList/index.mjs.map +1 -1
- package/es/components/commonTable/constants.d.ts +6 -2
- package/es/components/commonTable/constants.mjs +3 -4
- package/es/components/commonTable/constants.mjs.map +1 -1
- package/es/components/commonTable/index.mjs +13 -7
- package/es/components/commonTable/index.mjs.map +1 -1
- package/es/components/commonTable/index.module.mjs +2 -2
- package/es/components/commonTable/usePagination.mjs +0 -1
- package/es/components/commonTable/usePagination.mjs.map +1 -1
- package/es/components/formTabs/index.mjs +0 -1
- package/es/components/formTabs/index.mjs.map +1 -1
- package/es/components/formilyCmps/formilyForm/index.d.ts +1 -1
- package/es/components/formilyCmps/formilyForm/index.mjs +18 -0
- package/es/components/formilyCmps/formilyForm/index.mjs.map +1 -1
- package/es/components/formilyCmps/index.d.ts +1 -0
- package/es/components/formilyCmps/index.mjs +1 -0
- package/es/components/formilyCmps/index.mjs.map +1 -1
- package/es/components/formilyCmps/sectionTitle/index.mjs +2 -2
- package/es/components/formilyCmps/sectionTitle/index.mjs.map +1 -1
- package/es/components/formilyCmps/title/index.d.ts +2 -0
- package/es/components/formilyCmps/title/index.mjs +19 -0
- package/es/components/formilyCmps/title/index.mjs.map +1 -0
- package/es/components/formilyCmps/title/index.module.mjs +4 -0
- package/es/components/formilyCmps/title/index.module.mjs.map +1 -0
- package/es/components/formilyCmps/virtualizedSelect/index.d.ts +1 -0
- package/es/components/formilyCmps/virtualizedSelect/index.mjs +15 -0
- package/es/components/formilyCmps/virtualizedSelect/index.mjs.map +1 -0
- package/es/components/index.mjs +1 -0
- package/es/components/index.mjs.map +1 -1
- package/es/components/radioGroup/index.d.ts +15 -15
- package/es/components/radioGroup/index.mjs +1 -0
- package/es/components/radioGroup/index.mjs.map +1 -1
- package/es/components/space/index.d.ts +1 -1
- package/es/components/upload/formilyUpload.d.ts +1 -1
- package/es/components/upload/index.d.ts +4 -4
- package/es/components/upload/upload.d.ts +1 -1
- package/es/index.d.ts +2334 -18
- package/es/index.mjs +1 -20
- package/es/index.mjs.map +1 -1
- package/es/styles/index.css +162 -128
- package/package.json +1 -1
|
@@ -29,8 +29,8 @@ declare const _default: {
|
|
|
29
29
|
[key: string]: any;
|
|
30
30
|
}>, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, ("change" | "update:modelValue")[], import("vue").PublicProps, {
|
|
31
31
|
value: string;
|
|
32
|
-
modelValue: string;
|
|
33
32
|
theme: string;
|
|
33
|
+
modelValue: string;
|
|
34
34
|
language: string;
|
|
35
35
|
}, true, {}, {}, import("vue").GlobalComponents, import("vue").GlobalDirectives, string, {}, any, import("vue").ComponentProvideOptions, {
|
|
36
36
|
P: {};
|
|
@@ -67,8 +67,8 @@ declare const _default: {
|
|
|
67
67
|
[key: string]: any;
|
|
68
68
|
}>, {}, {}, {}, {
|
|
69
69
|
value: string;
|
|
70
|
-
modelValue: string;
|
|
71
70
|
theme: string;
|
|
71
|
+
modelValue: string;
|
|
72
72
|
language: string;
|
|
73
73
|
}>;
|
|
74
74
|
__isFragment?: never;
|
|
@@ -102,8 +102,8 @@ declare const _default: {
|
|
|
102
102
|
[key: string]: any;
|
|
103
103
|
}>, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, ("change" | "update:modelValue")[], "change" | "update:modelValue", {
|
|
104
104
|
value: string;
|
|
105
|
-
modelValue: string;
|
|
106
105
|
theme: string;
|
|
106
|
+
modelValue: string;
|
|
107
107
|
language: string;
|
|
108
108
|
}, {}, string, {}, import("vue").GlobalComponents, import("vue").GlobalDirectives, string, import("vue").ComponentProvideOptions> & import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps & {
|
|
109
109
|
FormilyCodeEditor: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
|
|
@@ -155,8 +155,8 @@ declare const _default: {
|
|
|
155
155
|
"onUpdate:modelValue"?: (...args: any[]) => any;
|
|
156
156
|
}>, {
|
|
157
157
|
value: string;
|
|
158
|
-
modelValue: string;
|
|
159
158
|
theme: string;
|
|
159
|
+
modelValue: string;
|
|
160
160
|
language: string;
|
|
161
161
|
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
|
|
162
162
|
};
|
|
@@ -66,9 +66,9 @@ const FormilyCodeEditor = connect(
|
|
|
66
66
|
mapProps({ value: "modelValue" }),
|
|
67
67
|
mapReadPretty(PreviewText.Input)
|
|
68
68
|
);
|
|
69
|
-
var
|
|
69
|
+
var CodeEditor$1 = composeExpose(CodeEditor, {
|
|
70
70
|
FormilyCodeEditor
|
|
71
71
|
});
|
|
72
72
|
|
|
73
|
-
export {
|
|
73
|
+
export { CodeEditor$1 as default };
|
|
74
74
|
//# sourceMappingURL=index.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.mjs","sources":["../../../../../packages/components/codeEditor/index.ts"],"sourcesContent":["import { defineComponent, h, ref, onMounted } from 'vue'\nimport { connect, mapProps, mapReadPretty } from '@formily/vue'\nimport ace from 'ace-builds'\nimport 'ace-builds/src-noconflict/mode-javascript'\nimport 'ace-builds/src-noconflict/theme-monokai'\nimport { composeExpose } from '../../utils'\n\nimport { PreviewText } from '@formily/element-plus'\n\nconst props = {\n /** v-model体系-内容 */\n modelValue: {\n type: String,\n default: '',\n },\n /** formily体系-内容 */\n value: {\n type: String,\n default: '',\n },\n /** 语言 */\n language: {\n type: String,\n default: '',\n },\n /** 主题 */\n theme: {\n type: String,\n default: '',\n },\n}\nconst CodeEditor = defineComponent({\n name: 'CodeEditor',\n props,\n emits: ['update:modelValue', 'change'],\n setup(props, { emit, attrs }) {\n const codeEditorRef = ref<HTMLDivElement | null>(null)\n const codeEditorInstance = ref<ace.Ace.Editor | null>(null)\n const init = async () => {\n codeEditorInstance.value = ace.edit(codeEditorRef.value)\n codeEditorInstance.value.session.setMode(`ace/mode/${props.language || 'javascript'}`)\n codeEditorInstance.value.setOptions({\n fontSize: 14,\n tabSize: 2,\n useSoftTabs: true,\n showPrintMargin: false,\n wrap: true,\n })\n codeEditorInstance.value.on('change', () => {\n emit('update:modelValue', codeEditorInstance.value!.getValue())\n emit('change', codeEditorInstance.value!.getValue())\n })\n setTimeout(() => {\n codeEditorInstance.value.setValue(props.modelValue || props.value || '', -1)\n }, 500)\n }\n onMounted(init)\n return () =>\n h('div', {\n ref: codeEditorRef,\n style: 'width: 100%; height: 100%; border: 1px solid #333',\n })\n },\n})\n\nconst FormilyCodeEditor = connect(\n CodeEditor,\n mapProps({ value: 'modelValue' }),\n mapReadPretty(PreviewText.Input),\n)\n\nexport default composeExpose(CodeEditor, {\n FormilyCodeEditor: FormilyCodeEditor,\n})\n"],"names":["props"],"mappings":";;;;;;;;;AASA,MAAM,KAAQ,GAAA;AAAA;AAAA,EAEZ,UAAY,EAAA;AAAA,IACV,IAAM,EAAA,MAAA;AAAA,IACN,OAAS,EAAA,EAAA;AAAA,GACX;AAAA;AAAA,EAEA,KAAO,EAAA;AAAA,IACL,IAAM,EAAA,MAAA;AAAA,IACN,OAAS,EAAA,EAAA;AAAA,GACX;AAAA;AAAA,EAEA,QAAU,EAAA;AAAA,IACR,IAAM,EAAA,MAAA;AAAA,IACN,OAAS,EAAA,EAAA;AAAA,GACX;AAAA;AAAA,EAEA,KAAO,EAAA;AAAA,IACL,IAAM,EAAA,MAAA;AAAA,IACN,OAAS,EAAA,EAAA;AAAA,GACX;AACF,CAAA,CAAA;AACA,MAAM,aAAa,eAAgB,CAAA;AAAA,EACjC,IAAM,EAAA,YAAA;AAAA,EACN,KAAA;AAAA,EACA,KAAA,EAAO,CAAC,mBAAA,EAAqB,QAAQ,CAAA;AAAA,EACrC,KAAMA,CAAAA,MAAAA,EAAO,EAAE,IAAA,EAAM,OAAS,EAAA;AAC5B,IAAM,MAAA,aAAA,GAAgB,IAA2B,IAAI,CAAA,CAAA;AACrD,IAAM,MAAA,kBAAA,GAAqB,IAA2B,IAAI,CAAA,CAAA;AAC1D,IAAA,MAAM,OAAO,YAAY;AACvB,MAAA,kBAAA,CAAmB,KAAQ,GAAA,GAAA,CAAI,IAAK,CAAA,aAAA,CAAc,KAAK,CAAA,CAAA;AACvD,MAAA,kBAAA,CAAmB,MAAM,OAAQ,CAAA,OAAA,CAAQ,YAAYA,MAAM,CAAA,QAAA,IAAY,YAAY,CAAE,CAAA,CAAA,CAAA;AACrF,MAAA,kBAAA,CAAmB,MAAM,UAAW,CAAA;AAAA,QAClC,QAAU,EAAA,EAAA;AAAA,QACV,OAAS,EAAA,CAAA;AAAA,QACT,WAAa,EAAA,IAAA;AAAA,QACb,eAAiB,EAAA,KAAA;AAAA,QACjB,IAAM,EAAA,IAAA;AAAA,OACP,CAAA,CAAA;AACD,MAAmB,kBAAA,CAAA,KAAA,CAAM,EAAG,CAAA,QAAA,EAAU,MAAM;AAC1C,QAAA,IAAA,CAAK,mBAAqB,EAAA,kBAAA,CAAmB,KAAO,CAAA,QAAA,EAAU,CAAA,CAAA;AAC9D,QAAA,IAAA,CAAK,QAAU,EAAA,kBAAA,CAAmB,KAAO,CAAA,QAAA,EAAU,CAAA,CAAA;AAAA,OACpD,CAAA,CAAA;AACD,MAAA,UAAA,CAAW,MAAM;AACf,QAAA,kBAAA,CAAmB,MAAM,QAASA,CAAAA,MAAAA,CAAM,cAAcA,MAAM,CAAA,KAAA,IAAS,IAAI,CAAE,CAAA,CAAA,CAAA;AAAA,SAC1E,GAAG,CAAA,CAAA;AAAA,KACR,CAAA;AACA,IAAA,SAAA,CAAU,IAAI,CAAA,CAAA;AACd,IAAO,OAAA,MACL,EAAE,KAAO,EAAA;AAAA,MACP,GAAK,EAAA,aAAA;AAAA,MACL,KAAO,EAAA,mDAAA;AAAA,KACR,CAAA,CAAA;AAAA,GACL;AACF,CAAC,CAAA,CAAA;AAED,MAAM,iBAAoB,GAAA,OAAA;AAAA,EACxB,UAAA;AAAA,EACA,QAAS,CAAA,EAAE,KAAO,EAAA,YAAA,EAAc,CAAA;AAAA,EAChC,aAAA,CAAc,YAAY,KAAK,CAAA;AACjC,CAAA,CAAA;AAEA,
|
|
1
|
+
{"version":3,"file":"index.mjs","sources":["../../../../../packages/components/codeEditor/index.ts"],"sourcesContent":["import { defineComponent, h, ref, onMounted } from 'vue'\nimport { connect, mapProps, mapReadPretty } from '@formily/vue'\nimport ace from 'ace-builds'\nimport 'ace-builds/src-noconflict/mode-javascript'\nimport 'ace-builds/src-noconflict/theme-monokai'\nimport { composeExpose } from '../../utils'\n\nimport { PreviewText } from '@formily/element-plus'\n\nconst props = {\n /** v-model体系-内容 */\n modelValue: {\n type: String,\n default: '',\n },\n /** formily体系-内容 */\n value: {\n type: String,\n default: '',\n },\n /** 语言 */\n language: {\n type: String,\n default: '',\n },\n /** 主题 */\n theme: {\n type: String,\n default: '',\n },\n}\nconst CodeEditor = defineComponent({\n name: 'CodeEditor',\n props,\n emits: ['update:modelValue', 'change'],\n setup(props, { emit, attrs }) {\n const codeEditorRef = ref<HTMLDivElement | null>(null)\n const codeEditorInstance = ref<ace.Ace.Editor | null>(null)\n const init = async () => {\n codeEditorInstance.value = ace.edit(codeEditorRef.value)\n codeEditorInstance.value.session.setMode(`ace/mode/${props.language || 'javascript'}`)\n codeEditorInstance.value.setOptions({\n fontSize: 14,\n tabSize: 2,\n useSoftTabs: true,\n showPrintMargin: false,\n wrap: true,\n })\n codeEditorInstance.value.on('change', () => {\n emit('update:modelValue', codeEditorInstance.value!.getValue())\n emit('change', codeEditorInstance.value!.getValue())\n })\n setTimeout(() => {\n codeEditorInstance.value.setValue(props.modelValue || props.value || '', -1)\n }, 500)\n }\n onMounted(init)\n return () =>\n h('div', {\n ref: codeEditorRef,\n style: 'width: 100%; height: 100%; border: 1px solid #333',\n })\n },\n})\n\nconst FormilyCodeEditor = connect(\n CodeEditor,\n mapProps({ value: 'modelValue' }),\n mapReadPretty(PreviewText.Input),\n)\n\nexport default composeExpose(CodeEditor, {\n FormilyCodeEditor: FormilyCodeEditor,\n})\n"],"names":["props"],"mappings":";;;;;;;;;AASA,MAAM,KAAQ,GAAA;AAAA;AAAA,EAEZ,UAAY,EAAA;AAAA,IACV,IAAM,EAAA,MAAA;AAAA,IACN,OAAS,EAAA,EAAA;AAAA,GACX;AAAA;AAAA,EAEA,KAAO,EAAA;AAAA,IACL,IAAM,EAAA,MAAA;AAAA,IACN,OAAS,EAAA,EAAA;AAAA,GACX;AAAA;AAAA,EAEA,QAAU,EAAA;AAAA,IACR,IAAM,EAAA,MAAA;AAAA,IACN,OAAS,EAAA,EAAA;AAAA,GACX;AAAA;AAAA,EAEA,KAAO,EAAA;AAAA,IACL,IAAM,EAAA,MAAA;AAAA,IACN,OAAS,EAAA,EAAA;AAAA,GACX;AACF,CAAA,CAAA;AACA,MAAM,aAAa,eAAgB,CAAA;AAAA,EACjC,IAAM,EAAA,YAAA;AAAA,EACN,KAAA;AAAA,EACA,KAAA,EAAO,CAAC,mBAAA,EAAqB,QAAQ,CAAA;AAAA,EACrC,KAAMA,CAAAA,MAAAA,EAAO,EAAE,IAAA,EAAM,OAAS,EAAA;AAC5B,IAAM,MAAA,aAAA,GAAgB,IAA2B,IAAI,CAAA,CAAA;AACrD,IAAM,MAAA,kBAAA,GAAqB,IAA2B,IAAI,CAAA,CAAA;AAC1D,IAAA,MAAM,OAAO,YAAY;AACvB,MAAA,kBAAA,CAAmB,KAAQ,GAAA,GAAA,CAAI,IAAK,CAAA,aAAA,CAAc,KAAK,CAAA,CAAA;AACvD,MAAA,kBAAA,CAAmB,MAAM,OAAQ,CAAA,OAAA,CAAQ,YAAYA,MAAM,CAAA,QAAA,IAAY,YAAY,CAAE,CAAA,CAAA,CAAA;AACrF,MAAA,kBAAA,CAAmB,MAAM,UAAW,CAAA;AAAA,QAClC,QAAU,EAAA,EAAA;AAAA,QACV,OAAS,EAAA,CAAA;AAAA,QACT,WAAa,EAAA,IAAA;AAAA,QACb,eAAiB,EAAA,KAAA;AAAA,QACjB,IAAM,EAAA,IAAA;AAAA,OACP,CAAA,CAAA;AACD,MAAmB,kBAAA,CAAA,KAAA,CAAM,EAAG,CAAA,QAAA,EAAU,MAAM;AAC1C,QAAA,IAAA,CAAK,mBAAqB,EAAA,kBAAA,CAAmB,KAAO,CAAA,QAAA,EAAU,CAAA,CAAA;AAC9D,QAAA,IAAA,CAAK,QAAU,EAAA,kBAAA,CAAmB,KAAO,CAAA,QAAA,EAAU,CAAA,CAAA;AAAA,OACpD,CAAA,CAAA;AACD,MAAA,UAAA,CAAW,MAAM;AACf,QAAA,kBAAA,CAAmB,MAAM,QAASA,CAAAA,MAAAA,CAAM,cAAcA,MAAM,CAAA,KAAA,IAAS,IAAI,CAAE,CAAA,CAAA,CAAA;AAAA,SAC1E,GAAG,CAAA,CAAA;AAAA,KACR,CAAA;AACA,IAAA,SAAA,CAAU,IAAI,CAAA,CAAA;AACd,IAAO,OAAA,MACL,EAAE,KAAO,EAAA;AAAA,MACP,GAAK,EAAA,aAAA;AAAA,MACL,KAAO,EAAA,mDAAA;AAAA,KACR,CAAA,CAAA;AAAA,GACL;AACF,CAAC,CAAA,CAAA;AAED,MAAM,iBAAoB,GAAA,OAAA;AAAA,EACxB,UAAA;AAAA,EACA,QAAS,CAAA,EAAE,KAAO,EAAA,YAAA,EAAc,CAAA;AAAA,EAChC,aAAA,CAAc,YAAY,KAAK,CAAA;AACjC,CAAA,CAAA;AAEA,mBAAe,cAAc,UAAY,EAAA;AAAA,EACvC,iBAAA;AACF,CAAC,CAAA;;;;"}
|
|
@@ -113,10 +113,10 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
|
|
|
113
113
|
onConfirmSuccess?: (...args: any[]) => any;
|
|
114
114
|
}>, {
|
|
115
115
|
title: string;
|
|
116
|
-
|
|
116
|
+
size: string;
|
|
117
117
|
components: Record<string, any>;
|
|
118
|
+
effectHooks: IEffectHooks;
|
|
118
119
|
layout: IEditorLayout;
|
|
119
|
-
size: string;
|
|
120
120
|
createApi: (p: ICommonObj) => Promise<ICommonObj>;
|
|
121
121
|
editApi: (p: ICommonObj) => Promise<ICommonObj>;
|
|
122
122
|
formatEditParams: (p: any) => any;
|
|
@@ -12,7 +12,6 @@ const props = {
|
|
|
12
12
|
/** 创建Api */
|
|
13
13
|
createApi: {
|
|
14
14
|
type: Function,
|
|
15
|
-
// TODO:建一个全局通用的async ts,这里的ICommonObj是否正确
|
|
16
15
|
default: void 0
|
|
17
16
|
},
|
|
18
17
|
/** 编辑Api */
|
|
@@ -100,7 +99,8 @@ var CommonEditor = defineComponent({
|
|
|
100
99
|
};
|
|
101
100
|
const open = async ({
|
|
102
101
|
mode: curMode,
|
|
103
|
-
rowData
|
|
102
|
+
rowData,
|
|
103
|
+
extra = {}
|
|
104
104
|
}) => {
|
|
105
105
|
var _a, _b;
|
|
106
106
|
(_b = (_a = commonDrawerRef.value) == null ? void 0 : _a.open) == null ? void 0 : _b.call(_a);
|
|
@@ -111,7 +111,8 @@ var CommonEditor = defineComponent({
|
|
|
111
111
|
}
|
|
112
112
|
Object.assign(formRef.value, {
|
|
113
113
|
data: {
|
|
114
|
-
mode: mode.value
|
|
114
|
+
mode: mode.value,
|
|
115
|
+
...extra
|
|
115
116
|
}
|
|
116
117
|
});
|
|
117
118
|
formRef.value.readPretty = isView.value;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.mjs","sources":["../../../../../packages/components/commonEditor/index.tsx"],"sourcesContent":["import { defineComponent, ref, nextTick, computed } from 'vue'\nimport { ElMessage, ElSpace, ElButton } from 'element-plus'\nimport FormilyForm from '../formilyCmps/formilyForm'\nimport { getRootSchema } from '../../constants/common'\nimport CommonDrawer from '../commonDrawer'\nimport { defaultLayout } from './constants'\nimport useModeMap from './useModeMap'\nimport styles from './index.module.scss'\n\nimport type { PropType } from 'vue'\nimport type { ISchema } from '@formily/vue'\nimport type { IFormilyFormExpose, IEffectHooks } from '../formilyCmps/formilyForm'\nimport type { ICommonObj } from '../../interfaces/common'\nimport type { ICommonDrawerExpose } from '../commonDrawer'\nimport type { IOpenParams, IEditorLayout, ICommonEditorExpose } from './interfaces'\n\nconst props = {\n /** 创建Api */\n createApi: {\n type: Function as PropType<(p: ICommonObj) => Promise<ICommonObj>>, // TODO:建一个全局通用的async ts,这里的ICommonObj是否正确\n default: undefined,\n },\n /** 编辑Api */\n editApi: {\n type: Function as PropType<(p: ICommonObj) => Promise<ICommonObj>>,\n default: undefined,\n },\n /** 格式化列表接口入参 */\n formatEditParams: {\n type: Function as PropType<(p: any) => any>,\n default: undefined,\n },\n /** 编辑器字段 */\n editFields: {\n type: Object as PropType<ISchema>,\n default: () => ({}),\n },\n /** 标题 */\n title: {\n type: String,\n default: '',\n },\n /** 宽度 */\n size: {\n type: String,\n default: '42%',\n },\n /** layout */\n layout: {\n type: Object as PropType<IEditorLayout>,\n default: () => ({\n columns: 0,\n labelStyle: {\n width: '100px',\n margin: '0',\n },\n }),\n },\n /** effectHooks */\n effectHooks: {\n type: Object as PropType<IEffectHooks>,\n default: () => ({}),\n },\n /** 需要注册的组件 */\n components: {\n type: Object,\n default: () => ({}),\n },\n}\n\nexport * from './constants'\nexport * from './interfaces'\nexport default defineComponent({\n name: 'CommonEditor',\n props,\n emits: ['confirmSuccess'],\n setup(props, { emit, expose, slots }) {\n const commonDrawerRef = ref<ICommonDrawerExpose>()\n const formilyFormRef = ref<IFormilyFormExpose>()\n const formRef = computed(() => formilyFormRef.value?.formRef)\n const mode = ref<'VIEW' | 'CREATE' | 'EDIT'>('VIEW')\n const isCreate = computed(() => mode.value === 'CREATE')\n const isView = computed(() => mode.value === 'VIEW')\n const modeMap = useModeMap({ createApi: props.createApi, editApi: props.editApi })\n const innerLayout = computed(() => ({ ...defaultLayout, ...props.layout }))\n const loading = ref(false)\n const fields = computed(() =>\n getRootSchema({ maxColumns: innerLayout.value.columns, properties: props.editFields }),\n )\n const onClose = () => {\n formRef.value.values = {}\n formRef.value.clearErrors?.()\n }\n const open = async ({ mode: curMode, rowData }: IOpenParams) => {\n commonDrawerRef.value?.open?.()\n mode.value = curMode\n await nextTick()\n if (!isCreate.value) {\n formRef.value.values = rowData\n }\n Object.assign(formRef.value, {\n data: { mode: mode.value },\n })\n formRef.value.readPretty = isView.value\n }\n const close = () => {\n commonDrawerRef.value?.close?.()\n }\n const confirm = async () => {\n try {\n loading.value = true\n const result = await formRef.value.submit()\n await modeMap[mode.value]?.api?.(\n typeof props?.formatEditParams === 'function' ? props.formatEditParams(result) : result,\n )\n ElMessage({\n message: `${modeMap[mode.value].text}成功`,\n type: 'success',\n })\n close()\n emit('confirmSuccess')\n } catch (error: any) {\n console.error(`${modeMap[mode.value].text}失败,失败原因:${error}`)\n } finally {\n loading.value = false\n }\n }\n expose<ICommonEditorExpose>({\n open,\n getForm: () => formilyFormRef.value?.formRef,\n })\n return () => {\n const footer = () =>\n !isView.value ? (\n <ElSpace class={styles.footer}>\n <ElButton onClick={close}>取消</ElButton>\n <ElButton type='primary' loading={loading.value} onClick={confirm}>\n 确认\n </ElButton>\n </ElSpace>\n ) : null\n return (\n <CommonDrawer\n ref={commonDrawerRef}\n title={props.title || modeMap[mode.value]?.text}\n size={props.size}\n onClose={onClose}\n class={[styles.container, { [styles.editMode]: !isView.value }]}\n style={{\n '--common-editor-label-width': innerLayout.value.labelStyle.width,\n '--common-editor-label-margin': innerLayout.value.labelStyle.margin,\n }}\n appendToBody\n v-slots={{\n ...slots,\n default: () => (\n <FormilyForm\n ref={formilyFormRef}\n config={fields.value}\n components={props.components}\n effectHooks={props.effectHooks}\n />\n ),\n footer,\n }}\n />\n )\n }\n },\n})\n"],"names":["props","createApi","type","Function","default","undefined","editApi","formatEditParams","editFields","Object","title","String","size","layout","columns","labelStyle","width","margin","effectHooks","components","defineComponent","name","emits","setup","emit","expose","slots","commonDrawerRef","ref","formilyFormRef","formRef","computed","value","mode","isCreate","isView","modeMap","useModeMap","innerLayout","defaultLayout","loading","fields","getRootSchema","maxColumns","properties","onClose","values","clearErrors","open","curMode","rowData","nextTick","assign","data","readPretty","close","confirm","result","submit","api","ElMessage","message","text","error","console","getForm","footer","_createVNode","ElSpace","styles","ElButton","_createTextVNode","CommonDrawer","container","editMode","FormilyForm"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.mjs","sources":["../../../../../packages/components/commonEditor/index.tsx"],"sourcesContent":["import { defineComponent, ref, nextTick, computed } from 'vue'\nimport { ElMessage, ElSpace, ElButton } from 'element-plus'\nimport FormilyForm from '../formilyCmps/formilyForm'\nimport { getRootSchema } from '../../constants/common'\nimport CommonDrawer from '../commonDrawer'\nimport { defaultLayout } from './constants'\nimport useModeMap from './useModeMap'\nimport styles from './index.module.scss'\n\nimport type { PropType } from 'vue'\nimport type { ISchema } from '@formily/vue'\nimport type { IFormilyFormExpose, IEffectHooks } from '../formilyCmps/formilyForm'\nimport type { ICommonObj } from '../../interfaces/common'\nimport type { ICommonDrawerExpose } from '../commonDrawer'\nimport type { IOpenParams, IEditorLayout, ICommonEditorExpose } from './interfaces'\n\nconst props = {\n /** 创建Api */\n createApi: {\n type: Function as PropType<(p: ICommonObj) => Promise<ICommonObj>>,\n default: undefined,\n },\n /** 编辑Api */\n editApi: {\n type: Function as PropType<(p: ICommonObj) => Promise<ICommonObj>>,\n default: undefined,\n },\n /** 格式化列表接口入参 */\n formatEditParams: {\n type: Function as PropType<(p: any) => any>,\n default: undefined,\n },\n /** 编辑器字段 */\n editFields: {\n type: Object as PropType<ISchema>,\n default: () => ({}),\n },\n /** 标题 */\n title: {\n type: String,\n default: '',\n },\n /** 宽度 */\n size: {\n type: String,\n default: '42%',\n },\n /** layout */\n layout: {\n type: Object as PropType<IEditorLayout>,\n default: () => ({\n columns: 0,\n labelStyle: {\n width: '100px',\n margin: '0',\n },\n }),\n },\n /** effectHooks */\n effectHooks: {\n type: Object as PropType<IEffectHooks>,\n default: () => ({}),\n },\n /** 需要注册的组件 */\n components: {\n type: Object,\n default: () => ({}),\n },\n}\n\nexport * from './constants'\nexport * from './interfaces'\nexport default defineComponent({\n name: 'CommonEditor',\n props,\n emits: ['confirmSuccess'],\n setup(props, { emit, expose, slots }) {\n const commonDrawerRef = ref<ICommonDrawerExpose>()\n const formilyFormRef = ref<IFormilyFormExpose>()\n const formRef = computed(() => formilyFormRef.value?.formRef)\n const mode = ref<'VIEW' | 'CREATE' | 'EDIT'>('VIEW')\n const isCreate = computed(() => mode.value === 'CREATE')\n const isView = computed(() => mode.value === 'VIEW')\n const modeMap = useModeMap({ createApi: props.createApi, editApi: props.editApi })\n const innerLayout = computed(() => ({ ...defaultLayout, ...props.layout }))\n const loading = ref(false)\n const fields = computed(() =>\n getRootSchema({ maxColumns: innerLayout.value.columns, properties: props.editFields }),\n )\n const onClose = () => {\n formRef.value.values = {}\n formRef.value.clearErrors?.()\n }\n const open = async ({ mode: curMode, rowData, extra = {} }: IOpenParams) => {\n commonDrawerRef.value?.open?.()\n mode.value = curMode\n await nextTick()\n if (!isCreate.value) {\n formRef.value.values = rowData\n }\n Object.assign(formRef.value, {\n data: { mode: mode.value, ...extra },\n })\n formRef.value.readPretty = isView.value\n }\n const close = () => {\n commonDrawerRef.value?.close?.()\n }\n const confirm = async () => {\n try {\n loading.value = true\n const result = await formRef.value.submit()\n await modeMap[mode.value]?.api?.(\n typeof props?.formatEditParams === 'function' ? props.formatEditParams(result) : result,\n )\n ElMessage({\n message: `${modeMap[mode.value].text}成功`,\n type: 'success',\n })\n close()\n emit('confirmSuccess')\n } catch (error: any) {\n console.error(`${modeMap[mode.value].text}失败,失败原因:${error}`)\n } finally {\n loading.value = false\n }\n }\n expose<ICommonEditorExpose>({\n open,\n getForm: () => formilyFormRef.value?.formRef,\n })\n return () => {\n const footer = () =>\n !isView.value ? (\n <ElSpace class={styles.footer}>\n <ElButton onClick={close}>取消</ElButton>\n <ElButton type='primary' loading={loading.value} onClick={confirm}>\n 确认\n </ElButton>\n </ElSpace>\n ) : null\n return (\n <CommonDrawer\n ref={commonDrawerRef}\n title={props.title || modeMap[mode.value]?.text}\n size={props.size}\n onClose={onClose}\n class={[styles.container, { [styles.editMode]: !isView.value }]}\n style={{\n '--common-editor-label-width': innerLayout.value.labelStyle.width,\n '--common-editor-label-margin': innerLayout.value.labelStyle.margin,\n }}\n appendToBody\n v-slots={{\n ...slots,\n default: () => (\n <FormilyForm\n ref={formilyFormRef}\n config={fields.value}\n components={props.components}\n effectHooks={props.effectHooks}\n />\n ),\n footer,\n }}\n />\n )\n }\n },\n})\n"],"names":["props","createApi","type","Function","default","undefined","editApi","formatEditParams","editFields","Object","title","String","size","layout","columns","labelStyle","width","margin","effectHooks","components","defineComponent","name","emits","setup","emit","expose","slots","commonDrawerRef","ref","formilyFormRef","formRef","computed","value","mode","isCreate","isView","modeMap","useModeMap","innerLayout","defaultLayout","loading","fields","getRootSchema","maxColumns","properties","onClose","values","clearErrors","open","curMode","rowData","extra","nextTick","assign","data","readPretty","close","confirm","result","submit","api","ElMessage","message","text","error","console","getForm","footer","_createVNode","ElSpace","styles","ElButton","_createTextVNode","CommonDrawer","container","editMode","FormilyForm"],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { Form } from '@formily/core';
|
|
2
|
-
import type { ICommonObj } from '
|
|
2
|
+
import type { ICommonObj } from '../../interfaces/common';
|
|
3
3
|
/** 打开侧边栏入参 */
|
|
4
4
|
export interface IOpenParams {
|
|
5
5
|
/** 查看/创建/编辑态 */
|
|
@@ -8,6 +8,8 @@ export interface IOpenParams {
|
|
|
8
8
|
rowData?: any;
|
|
9
9
|
/** 行下标 */
|
|
10
10
|
rowIndex?: number;
|
|
11
|
+
/** 额外的小体积配置项,可以存入formRef实例的data中 */
|
|
12
|
+
extra?: ICommonObj;
|
|
11
13
|
}
|
|
12
14
|
/** CommonEditor出参 */
|
|
13
15
|
export type ICommonEditorExpose = {
|
|
@@ -34,6 +36,8 @@ export interface IUseModeMapResItem {
|
|
|
34
36
|
export type IUseModeMapRes = Record<'VIEW' | 'CREATE' | 'EDIT', IUseModeMapResItem>;
|
|
35
37
|
/** IEditorLayout */
|
|
36
38
|
export interface IEditorLayout {
|
|
39
|
+
/** 编辑器宽度 */
|
|
40
|
+
size: string;
|
|
37
41
|
/** 栅格列数 */
|
|
38
42
|
columns: number;
|
|
39
43
|
/** labelStyle */
|
|
@@ -9,11 +9,11 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
|
|
|
9
9
|
default: number;
|
|
10
10
|
};
|
|
11
11
|
operateActions: {
|
|
12
|
-
type: import("vue").PropType<import("
|
|
12
|
+
type: import("vue").PropType<import("@mc20230601/keep-up/keepUp").IOperateActions>;
|
|
13
13
|
default: () => {};
|
|
14
14
|
};
|
|
15
15
|
effectHooks: {
|
|
16
|
-
type: import("vue").PropType<import("
|
|
16
|
+
type: import("vue").PropType<import("@mc20230601/keep-up/keepUp").IEffectHooks>;
|
|
17
17
|
default: () => {};
|
|
18
18
|
};
|
|
19
19
|
pageKey: {
|
|
@@ -30,11 +30,11 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
|
|
|
30
30
|
default: number;
|
|
31
31
|
};
|
|
32
32
|
operateActions: {
|
|
33
|
-
type: import("vue").PropType<import("
|
|
33
|
+
type: import("vue").PropType<import("@mc20230601/keep-up/keepUp").IOperateActions>;
|
|
34
34
|
default: () => {};
|
|
35
35
|
};
|
|
36
36
|
effectHooks: {
|
|
37
|
-
type: import("vue").PropType<import("
|
|
37
|
+
type: import("vue").PropType<import("@mc20230601/keep-up/keepUp").IEffectHooks>;
|
|
38
38
|
default: () => {};
|
|
39
39
|
};
|
|
40
40
|
pageKey: {
|
|
@@ -42,9 +42,9 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
|
|
|
42
42
|
default: string;
|
|
43
43
|
};
|
|
44
44
|
}>> & Readonly<{}>, {
|
|
45
|
-
effectHooks: import("packages/keepUp").IEffectHooks;
|
|
46
45
|
maxColumns: number;
|
|
47
46
|
pageKey: string;
|
|
47
|
+
effectHooks: import("@mc20230601/keep-up/keepUp").IEffectHooks;
|
|
48
48
|
filterFields: import("@formily/json-schema").Stringify<{
|
|
49
49
|
[key: symbol]: any;
|
|
50
50
|
[key: `x-${string}`]: any;
|
|
@@ -102,6 +102,6 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
|
|
|
102
102
|
"x-read-pretty"?: boolean;
|
|
103
103
|
"x-compile-omitted"?: string[];
|
|
104
104
|
}>;
|
|
105
|
-
operateActions: import("
|
|
105
|
+
operateActions: import("@mc20230601/keep-up/keepUp").IOperateActions;
|
|
106
106
|
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
|
|
107
107
|
export default _default;
|
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
import { defineComponent, ref, computed, onMounted, createVNode, createTextVNode } from 'vue';
|
|
2
|
+
import { useRoute } from 'vue-router';
|
|
2
3
|
import { isEmpty } from 'lodash';
|
|
3
4
|
import { ElButton } from 'element-plus';
|
|
4
|
-
import FormilyForm from '../formilyCmps/formilyForm/index.mjs';
|
|
5
|
-
import '../formilyCmps/formTab/index.mjs';
|
|
6
|
-
import Space from '../space/index.mjs';
|
|
7
5
|
import { getRootSchema } from '../../constants/common.mjs';
|
|
8
6
|
import { useKeepFilter } from './useKeepFilter.mjs';
|
|
9
7
|
import { props } from './props.mjs';
|
|
10
8
|
import { useFieldsParser } from './useFieldsParser.mjs';
|
|
11
9
|
import { useCollapse } from './useCollapse.mjs';
|
|
10
|
+
import FormilyForm from '../formilyCmps/formilyForm/index.mjs';
|
|
11
|
+
import Space from '../space/index.mjs';
|
|
12
12
|
import styles from './index.module.mjs';
|
|
13
13
|
|
|
14
14
|
var CommonFilter = defineComponent({
|
|
@@ -17,6 +17,7 @@ var CommonFilter = defineComponent({
|
|
|
17
17
|
setup(props2, {
|
|
18
18
|
expose
|
|
19
19
|
}) {
|
|
20
|
+
const route = useRoute();
|
|
20
21
|
const formilyFormRef = ref();
|
|
21
22
|
const formRef = computed(() => {
|
|
22
23
|
var _a;
|
|
@@ -42,7 +43,8 @@ var CommonFilter = defineComponent({
|
|
|
42
43
|
init: keepFilterInit
|
|
43
44
|
} = useKeepFilter({
|
|
44
45
|
pageKey: props2.pageKey,
|
|
45
|
-
formRef
|
|
46
|
+
formRef,
|
|
47
|
+
route
|
|
46
48
|
});
|
|
47
49
|
onMounted(() => {
|
|
48
50
|
collapse();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.mjs","sources":["../../../../../packages/components/commonFilter/index.tsx"],"sourcesContent":["import { defineComponent, ref, computed, onMounted } from 'vue'\nimport {
|
|
1
|
+
{"version":3,"file":"index.mjs","sources":["../../../../../packages/components/commonFilter/index.tsx"],"sourcesContent":["import { defineComponent, ref, computed, onMounted } from 'vue'\nimport { useRoute } from 'vue-router'\nimport { isEmpty } from 'lodash'\nimport { ElButton } from 'element-plus'\nimport { getRootSchema } from '../../constants/common'\nimport { useKeepFilter } from './useKeepFilter'\nimport { props } from './props'\nimport { useFieldsParser } from './useFieldsParser'\nimport { useCollapse } from './useCollapse'\nimport FormilyForm from '../formilyCmps/formilyForm'\nimport Space from '../space'\nimport styles from './index.module.scss'\n\nimport type { IFormilyFormExpose } from '../formilyCmps/formilyForm'\n\nexport type * from './interfaces'\nexport default defineComponent({\n name: 'CommonFilter',\n props,\n setup(props, { expose }) {\n const route = useRoute()\n const formilyFormRef = ref<IFormilyFormExpose>()\n const formRef = computed(() => formilyFormRef.value?.formRef)\n const { collapseData } = useFieldsParser(props) // 派生展开收起所需所有数据\n const fields = computed(() =>\n getRootSchema({\n maxColumns: props.maxColumns,\n properties: collapseData.value.allFields,\n }),\n ) // schema\n const { visible, collapse } = useCollapse({ formRef, collapseData }) // 展开收起\n const {\n filterParams,\n keepFilter,\n init: keepFilterInit,\n } = useKeepFilter({ pageKey: props.pageKey, formRef, route }) // 筛选项数据缓存\n onMounted(() => {\n collapse()\n keepFilterInit()\n if (!isEmpty(filterParams.value)) {\n formRef.value.values = filterParams.value\n }\n })\n expose({\n collapseData,\n visible,\n collapse,\n keepFilter,\n getForm: () => formRef.value,\n reset: () => {\n formRef.value.reset()\n },\n getCommonFilterHeight: () => {\n return formilyFormRef.value.getContainerRef().clientHeight\n },\n })\n return () => (\n <Space class={styles.container} align='flex-start' justify='start' size={12} fill>\n <FormilyForm ref={formilyFormRef} config={fields.value} effectHooks={props.effectHooks} />\n <Space size={12}>\n <ElButton class={styles.btn} type='primary' onClick={props.operateActions.query}>\n 查询\n </ElButton>\n <ElButton class={styles.btn} onClick={props.operateActions.reset}>\n 重置\n </ElButton>\n </Space>\n </Space>\n )\n },\n})\n"],"names":["defineComponent","name","props","setup","expose","route","useRoute","formilyFormRef","ref","formRef","computed","value","collapseData","useFieldsParser","fields","getRootSchema","maxColumns","properties","allFields","visible","collapse","useCollapse","filterParams","keepFilter","init","keepFilterInit","useKeepFilter","pageKey","onMounted","isEmpty","values","getForm","reset","getCommonFilterHeight","getContainerRef","clientHeight","_createVNode","Space","styles","container","default","FormilyForm","effectHooks","ElButton","btn","operateActions","query","_createTextVNode"],"mappings":"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"}
|
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
import type { Ref, ComputedRef } from 'vue';
|
|
2
|
+
import type { RouteLocationNormalizedLoadedGeneric } from 'vue-router';
|
|
2
3
|
import type { RemovableRef } from '@vueuse/core';
|
|
3
4
|
import type { ISchema } from '@formily/vue';
|
|
4
5
|
import type { Form } from '@formily/core';
|
|
5
|
-
import type { ICommonObj } from '
|
|
6
|
+
import type { ICommonObj } from '../../interfaces/common';
|
|
6
7
|
/** CommonFilter出参 */
|
|
7
8
|
export type ICommonFilterExpose = {
|
|
8
9
|
/** 可折叠 */
|
|
@@ -33,6 +34,7 @@ export interface IUseKeepFilterParams {
|
|
|
33
34
|
pageKey: string;
|
|
34
35
|
/** form实例 */
|
|
35
36
|
formRef: Ref<Form>;
|
|
37
|
+
route: RouteLocationNormalizedLoadedGeneric;
|
|
36
38
|
}
|
|
37
39
|
/** useKeepFilter出参 */
|
|
38
40
|
export interface IUseKeepFilterRes {
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
import type { IUseKeepFilterParams, IUseKeepFilterRes } from './interfaces';
|
|
2
2
|
/** 保存filter数据,在页面初始化时取出数据回显在filter区域 */
|
|
3
|
-
export declare const useKeepFilter: ({ pageKey, formRef }: IUseKeepFilterParams) => IUseKeepFilterRes;
|
|
3
|
+
export declare const useKeepFilter: ({ pageKey, formRef, route, }: IUseKeepFilterParams) => IUseKeepFilterRes;
|
|
@@ -1,9 +1,14 @@
|
|
|
1
1
|
import { ref } from 'vue';
|
|
2
|
+
import { isEmpty } from 'lodash';
|
|
2
3
|
import '../../utils/emitter.mjs';
|
|
3
4
|
import { setStorage, getStorage } from '../../utils/storage.mjs';
|
|
4
5
|
import { KEEP_FILTER_KEY } from './constants.mjs';
|
|
5
6
|
|
|
6
|
-
const useKeepFilter = ({
|
|
7
|
+
const useKeepFilter = ({
|
|
8
|
+
pageKey,
|
|
9
|
+
formRef,
|
|
10
|
+
route
|
|
11
|
+
}) => {
|
|
7
12
|
const filterParams = ref({});
|
|
8
13
|
const keepFilter = (params) => {
|
|
9
14
|
if (!pageKey) {
|
|
@@ -12,14 +17,30 @@ const useKeepFilter = ({ pageKey, formRef }) => {
|
|
|
12
17
|
}
|
|
13
18
|
setStorage(`${pageKey}${KEEP_FILTER_KEY}`, params);
|
|
14
19
|
};
|
|
20
|
+
const rangeReg = /^\[\s*([^,\s]+)\s*,\s*([^,\s]+)\s*\]$/;
|
|
15
21
|
const init = () => {
|
|
16
22
|
var _a;
|
|
17
23
|
const formValues = (_a = formRef == null ? void 0 : formRef.value) == null ? void 0 : _a.values;
|
|
24
|
+
const formKeys = [];
|
|
25
|
+
Object.entries(formRef == null ? void 0 : formRef.value.fields).forEach(([_, field]) => {
|
|
26
|
+
var _a2, _b;
|
|
27
|
+
const match = ((_a2 = field == null ? void 0 : field.path) == null ? void 0 : _a2.entire).match(rangeReg);
|
|
28
|
+
if (match) {
|
|
29
|
+
const [, key1, key2] = match;
|
|
30
|
+
formKeys.push(...[key1, key2]);
|
|
31
|
+
} else {
|
|
32
|
+
formKeys.push((_b = field == null ? void 0 : field.path) == null ? void 0 : _b.entire);
|
|
33
|
+
}
|
|
34
|
+
});
|
|
35
|
+
const queryParams = Object.fromEntries(
|
|
36
|
+
Object.entries(route.query).filter(([k, v]) => formKeys.some((v1) => v1 === k))
|
|
37
|
+
);
|
|
38
|
+
const result = isEmpty(queryParams) ? void 0 : queryParams;
|
|
18
39
|
if (pageKey) {
|
|
19
40
|
const cache = getStorage(`${pageKey}${KEEP_FILTER_KEY}`);
|
|
20
|
-
filterParams.value = cache || formValues;
|
|
41
|
+
filterParams.value = result || cache || formValues;
|
|
21
42
|
} else {
|
|
22
|
-
filterParams.value = formValues;
|
|
43
|
+
filterParams.value = result || formValues;
|
|
23
44
|
}
|
|
24
45
|
};
|
|
25
46
|
return {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useKeepFilter.mjs","sources":["../../../../../packages/components/commonFilter/useKeepFilter.ts"],"sourcesContent":["import { ref } from 'vue'\nimport { setStorage, getStorage } from '../../utils'\nimport { KEEP_FILTER_KEY } from './constants'\n\nimport type { ICommonObj } from '../../interfaces/common'\nimport type { IUseKeepFilterParams, IUseKeepFilterRes } from './interfaces'\n\n/** 保存filter数据,在页面初始化时取出数据回显在filter区域 */\nexport const useKeepFilter = ({
|
|
1
|
+
{"version":3,"file":"useKeepFilter.mjs","sources":["../../../../../packages/components/commonFilter/useKeepFilter.ts"],"sourcesContent":["import { ref } from 'vue'\nimport { isEmpty } from 'lodash'\nimport { setStorage, getStorage } from '../../utils'\nimport { KEEP_FILTER_KEY } from './constants'\n\nimport type { ICommonObj } from '../../interfaces/common'\nimport type { IUseKeepFilterParams, IUseKeepFilterRes } from './interfaces'\n\n/** 保存filter数据,在页面初始化时取出数据回显在filter区域 */\nexport const useKeepFilter = ({\n pageKey,\n formRef,\n route,\n}: IUseKeepFilterParams): IUseKeepFilterRes => {\n /** 筛选项数据 */\n const filterParams = ref({})\n /** 缓存筛选项数据 */\n const keepFilter = (params: ICommonObj) => {\n if (!pageKey) {\n console.error(`保存筛选数据失败,失败原因:缺少pageKey`)\n return\n }\n setStorage(`${pageKey}${KEEP_FILTER_KEY}`, params)\n }\n\n const rangeReg = /^\\[\\s*([^,\\s]+)\\s*,\\s*([^,\\s]+)\\s*\\]$/\n /** 初始化 */\n const init = () => {\n const formValues = formRef?.value?.values\n const formKeys = []\n Object.entries(formRef?.value.fields).forEach(([_, field]) => {\n const match = (field?.path?.entire as string).match(rangeReg)\n if (match) {\n const [, key1, key2] = match\n formKeys.push(...[key1, key2])\n } else {\n formKeys.push(field?.path?.entire)\n }\n })\n const queryParams = Object.fromEntries(\n Object.entries(route.query).filter(([k, v]) => formKeys.some((v1: string) => v1 === k)),\n )\n const result = isEmpty(queryParams) ? undefined : queryParams\n if (pageKey) {\n const cache = getStorage(`${pageKey}${KEEP_FILTER_KEY}`)\n filterParams.value = result || cache || formValues\n } else {\n filterParams.value = result || formValues\n }\n }\n return {\n filterParams,\n keepFilter,\n init,\n }\n}\n"],"names":["_a"],"mappings":";;;;;;AASO,MAAM,gBAAgB,CAAC;AAAA,EAC5B,OAAA;AAAA,EACA,OAAA;AAAA,EACA,KAAA;AACF,CAA+C,KAAA;AAE7C,EAAM,MAAA,YAAA,GAAe,GAAI,CAAA,EAAE,CAAA,CAAA;AAE3B,EAAM,MAAA,UAAA,GAAa,CAAC,MAAuB,KAAA;AACzC,IAAA,IAAI,CAAC,OAAS,EAAA;AACZ,MAAA,OAAA,CAAQ,MAAM,CAAyB,uGAAA,CAAA,CAAA,CAAA;AACvC,MAAA,OAAA;AAAA,KACF;AACA,IAAA,UAAA,CAAW,CAAG,EAAA,OAAO,CAAG,EAAA,eAAe,IAAI,MAAM,CAAA,CAAA;AAAA,GACnD,CAAA;AAEA,EAAA,MAAM,QAAW,GAAA,uCAAA,CAAA;AAEjB,EAAA,MAAM,OAAO,MAAM;AA3BrB,IAAA,IAAA,EAAA,CAAA;AA4BI,IAAM,MAAA,UAAA,GAAA,CAAa,EAAS,GAAA,OAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,OAAA,CAAA,KAAA,KAAT,IAAgB,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,MAAA,CAAA;AACnC,IAAA,MAAM,WAAW,EAAC,CAAA;AAClB,IAAO,MAAA,CAAA,OAAA,CAAQ,OAAS,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,OAAA,CAAA,KAAA,CAAM,MAAM,CAAA,CAAE,QAAQ,CAAC,CAAC,CAAG,EAAA,KAAK,CAAM,KAAA;AA9BlE,MAAA,IAAAA,GAAA,EAAA,EAAA,CAAA;AA+BM,MAAM,MAAA,KAAA,GAAA,CAAA,CAASA,MAAA,KAAO,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,KAAA,CAAA,IAAA,KAAP,gBAAAA,GAAa,CAAA,MAAA,EAAkB,MAAM,QAAQ,CAAA,CAAA;AAC5D,MAAA,IAAI,KAAO,EAAA;AACT,QAAA,MAAM,GAAG,IAAM,EAAA,IAAI,CAAI,GAAA,KAAA,CAAA;AACvB,QAAA,QAAA,CAAS,IAAK,CAAA,GAAG,CAAC,IAAA,EAAM,IAAI,CAAC,CAAA,CAAA;AAAA,OACxB,MAAA;AACL,QAAA,QAAA,CAAS,IAAK,CAAA,CAAA,EAAA,GAAA,KAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,KAAA,CAAO,IAAP,KAAA,IAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAa,MAAM,CAAA,CAAA;AAAA,OACnC;AAAA,KACD,CAAA,CAAA;AACD,IAAA,MAAM,cAAc,MAAO,CAAA,WAAA;AAAA,MACzB,OAAO,OAAQ,CAAA,KAAA,CAAM,KAAK,CAAA,CAAE,OAAO,CAAC,CAAC,CAAG,EAAA,CAAC,MAAM,QAAS,CAAA,IAAA,CAAK,CAAC,EAAe,KAAA,EAAA,KAAO,CAAC,CAAC,CAAA;AAAA,KACxF,CAAA;AACA,IAAA,MAAM,MAAS,GAAA,OAAA,CAAQ,WAAW,CAAA,GAAI,KAAY,CAAA,GAAA,WAAA,CAAA;AAClD,IAAA,IAAI,OAAS,EAAA;AACX,MAAA,MAAM,QAAQ,UAAW,CAAA,CAAA,EAAG,OAAO,CAAA,EAAG,eAAe,CAAE,CAAA,CAAA,CAAA;AACvD,MAAa,YAAA,CAAA,KAAA,GAAQ,UAAU,KAAS,IAAA,UAAA,CAAA;AAAA,KACnC,MAAA;AACL,MAAA,YAAA,CAAa,QAAQ,MAAU,IAAA,UAAA,CAAA;AAAA,KACjC;AAAA,GACF,CAAA;AACA,EAAO,OAAA;AAAA,IACL,YAAA;AAAA,IACA,UAAA;AAAA,IACA,IAAA;AAAA,GACF,CAAA;AACF;;;;"}
|
|
@@ -2,6 +2,7 @@ import { defineComponent, h } from 'vue';
|
|
|
2
2
|
import { connect, mapProps } from '@formily/vue';
|
|
3
3
|
import VueJsonPretty from 'vue-json-pretty';
|
|
4
4
|
import 'vue-json-pretty/lib/styles.css';
|
|
5
|
+
import '../../utils/emitter.mjs';
|
|
5
6
|
import { composeExpose } from '../../utils/shared.mjs';
|
|
6
7
|
|
|
7
8
|
const CommonJsonPretty = defineComponent({
|
|
@@ -12,9 +13,9 @@ const CommonJsonPretty = defineComponent({
|
|
|
12
13
|
}
|
|
13
14
|
});
|
|
14
15
|
const FormilyCommonJsonPretty = connect(CommonJsonPretty, mapProps({ value: "data" }));
|
|
15
|
-
var
|
|
16
|
+
var CommonJsonPretty$1 = composeExpose(CommonJsonPretty, {
|
|
16
17
|
FormilyCommonJsonPretty
|
|
17
18
|
});
|
|
18
19
|
|
|
19
|
-
export { CommonJsonPretty, FormilyCommonJsonPretty,
|
|
20
|
+
export { CommonJsonPretty, FormilyCommonJsonPretty, CommonJsonPretty$1 as default };
|
|
20
21
|
//# sourceMappingURL=index.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.mjs","sources":["../../../../../packages/components/commonJsonPretty/index.ts"],"sourcesContent":["import { defineComponent, h } from 'vue'\nimport { connect, mapProps } from '@formily/vue'\nimport VueJsonPretty from 'vue-json-pretty'\nimport 'vue-json-pretty/lib/styles.css'\nimport { composeExpose } from '../../utils
|
|
1
|
+
{"version":3,"file":"index.mjs","sources":["../../../../../packages/components/commonJsonPretty/index.ts"],"sourcesContent":["import { defineComponent, h } from 'vue'\nimport { connect, mapProps } from '@formily/vue'\nimport VueJsonPretty from 'vue-json-pretty'\nimport 'vue-json-pretty/lib/styles.css'\nimport { composeExpose } from '../../utils'\n\nexport const CommonJsonPretty = defineComponent({\n name: 'CommonJsonPretty',\n inheritAttrs: false,\n setup(_, { attrs }) {\n return () => h(VueJsonPretty, { ...attrs })\n },\n})\n\nexport const FormilyCommonJsonPretty = connect(CommonJsonPretty, mapProps({ value: 'data' }))\n\nexport default composeExpose(CommonJsonPretty, {\n FormilyCommonJsonPretty,\n})\n"],"names":[],"mappings":";;;;;;;AAMO,MAAM,mBAAmB,eAAgB,CAAA;AAAA,EAC9C,IAAM,EAAA,kBAAA;AAAA,EACN,YAAc,EAAA,KAAA;AAAA,EACd,KAAM,CAAA,CAAA,EAAG,EAAE,KAAA,EAAS,EAAA;AAClB,IAAA,OAAO,MAAM,CAAE,CAAA,aAAA,EAAe,EAAE,GAAG,OAAO,CAAA,CAAA;AAAA,GAC5C;AACF,CAAC,EAAA;AAEY,MAAA,uBAAA,GAA0B,QAAQ,gBAAkB,EAAA,QAAA,CAAS,EAAE,KAAO,EAAA,MAAA,EAAQ,CAAC,EAAA;AAE5F,yBAAe,cAAc,gBAAkB,EAAA;AAAA,EAC7C,uBAAA;AACF,CAAC,CAAA;;;;"}
|
|
@@ -33,8 +33,8 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
|
|
|
33
33
|
default: boolean;
|
|
34
34
|
};
|
|
35
35
|
}>> & Readonly<{}>, {
|
|
36
|
-
disabled: boolean;
|
|
37
36
|
value: string[];
|
|
37
|
+
disabled: boolean;
|
|
38
38
|
options: ILocationItem[];
|
|
39
39
|
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
|
|
40
40
|
export default _default;
|
|
@@ -23,7 +23,7 @@ const props = {
|
|
|
23
23
|
default: false
|
|
24
24
|
}
|
|
25
25
|
};
|
|
26
|
-
var
|
|
26
|
+
var CommonLocations = defineComponent({
|
|
27
27
|
name: "Locations",
|
|
28
28
|
props,
|
|
29
29
|
setup(props2, {
|
|
@@ -90,5 +90,5 @@ var index = defineComponent({
|
|
|
90
90
|
}
|
|
91
91
|
});
|
|
92
92
|
|
|
93
|
-
export {
|
|
93
|
+
export { CommonLocations as default };
|
|
94
94
|
//# sourceMappingURL=index.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.mjs","sources":["../../../../../packages/components/commonLocations/index.tsx"],"sourcesContent":["import { defineComponent, watch } from 'vue'\nimport { useLocations } from './useLocations'\nimport { valueKey } from './constants'\nimport styles from './index.module.scss'\n\nimport type { PropType } from 'vue'\nimport type { ILocationItem } from './interfaces'\n\nconst props = {\n /** value */\n value: {\n type: Array as PropType<string[]>,\n default: () => [],\n },\n /** 主要用于做数据回显 */\n options: {\n type: Array as PropType<ILocationItem[]>,\n default: () => [],\n },\n /** 禁用 */\n disabled: {\n type: Boolean,\n default: false,\n },\n}\n\nexport default defineComponent({\n name: 'Locations',\n props,\n setup(props, { emit }) {\n const { locations, allLocations } = useLocations(props)\n\n /** 配合formily的value/change模式 */\n watch(\n () => allLocations.value.selectedChildren,\n (val) => {\n emit('change', val)\n },\n )\n\n return () => {\n return (\n <el-space\n class={styles.container}\n direction='column'\n alignment='space-between'\n fill={true}\n style={{ padding: '0 16px' }}\n >\n {Object.entries(locations.value)\n .sort(([aKey]) => (aKey === 'all' ? -1 : 0))\n .map(([k, v]) => (\n <div\n style={{\n width: '100%',\n display: 'flex',\n alignItems: 'flex-start',\n justifyContent: 'space-between',\n }}\n >\n <el-checkbox\n v-model={v.isAllChecked}\n indeterminate={v.isHalfChecked}\n disabled={props.disabled}\n onChange={v.onChange}\n >\n {v.label}\n </el-checkbox>\n <el-checkbox-group\n v-model={v.selectedChildren}\n disabled={props.disabled}\n style={{\n width: 'calc(100% - 132px - 8px)',\n }}\n >\n {v.children.map((v1) => (\n <el-checkbox\n key={v1.label}\n label={v1.label}\n value={v1[valueKey]}\n {...(v.label === '全选' ? { indeterminate: v1.isHalfChecked } : {})}\n onChange={v1.onChange}\n >\n {v1.label}\n </el-checkbox>\n ))}\n </el-checkbox-group>\n </div>\n ))}\n </el-space>\n )\n }\n },\n})\n"],"names":["_isSlot","s","Object","prototype","toString","call","_isVNode","props","value","type","Array","default","options","disabled","Boolean","defineComponent","name","setup","emit","locations","allLocations","useLocations","watch","selectedChildren","val","_slot2","_createVNode","_resolveComponent","styles","container","padding","entries","sort","aKey","map","k","v","_slot","width","display","alignItems","justifyContent","isAllChecked","$event","isHalfChecked","onChange","label","children","v1","_mergeProps","valueKey","indeterminate"],"mappings":";;;;;AAGwC,SAAAA,QAAAC,CAAA,EAAA;AAAA,EAAA,OAAA,OAAAA,CAAAA,KAAA,UAAAC,IAAAA,MAAAA,CAAAC,SAAAC,CAAAA,QAAAA,CAAAC,IAAAJ,CAAAA,CAAA,CAAAK,KAAAA,iBAAAA,IAAAA,CAAAA,OAAAA,CAAAL,CAAA,CAAA,CAAA;AAAA,CAAA;AAKxC,MAAMM,KAAQ,GAAA;AAAA;AAAA,EAEZC,KAAO,EAAA;AAAA,IACLC,IAAMC,EAAAA,KAAAA;AAAAA,IACNC,OAAAA,EAASA,MAAM,EAAA;AAAA,GACjB;AAAA;AAAA,EAEAC,OAAS,EAAA;AAAA,IACPH,IAAMC,EAAAA,KAAAA;AAAAA,IACNC,OAAAA,EAASA,MAAM,EAAA;AAAA,GACjB;AAAA;AAAA,EAEAE,QAAU,EAAA;AAAA,IACRJ,IAAMK,EAAAA,OAAAA;AAAAA,IACNH,OAAS,EAAA,KAAA;AAAA,GACX;AACF,CAAA,CAAA;AAEA,
|
|
1
|
+
{"version":3,"file":"index.mjs","sources":["../../../../../packages/components/commonLocations/index.tsx"],"sourcesContent":["import { defineComponent, watch } from 'vue'\nimport { useLocations } from './useLocations'\nimport { valueKey } from './constants'\nimport styles from './index.module.scss'\n\nimport type { PropType } from 'vue'\nimport type { ILocationItem } from './interfaces'\n\nconst props = {\n /** value */\n value: {\n type: Array as PropType<string[]>,\n default: () => [],\n },\n /** 主要用于做数据回显 */\n options: {\n type: Array as PropType<ILocationItem[]>,\n default: () => [],\n },\n /** 禁用 */\n disabled: {\n type: Boolean,\n default: false,\n },\n}\n\nexport default defineComponent({\n name: 'Locations',\n props,\n setup(props, { emit }) {\n const { locations, allLocations } = useLocations(props)\n\n /** 配合formily的value/change模式 */\n watch(\n () => allLocations.value.selectedChildren,\n (val) => {\n emit('change', val)\n },\n )\n\n return () => {\n return (\n <el-space\n class={styles.container}\n direction='column'\n alignment='space-between'\n fill={true}\n style={{ padding: '0 16px' }}\n >\n {Object.entries(locations.value)\n .sort(([aKey]) => (aKey === 'all' ? -1 : 0))\n .map(([k, v]) => (\n <div\n style={{\n width: '100%',\n display: 'flex',\n alignItems: 'flex-start',\n justifyContent: 'space-between',\n }}\n >\n <el-checkbox\n v-model={v.isAllChecked}\n indeterminate={v.isHalfChecked}\n disabled={props.disabled}\n onChange={v.onChange}\n >\n {v.label}\n </el-checkbox>\n <el-checkbox-group\n v-model={v.selectedChildren}\n disabled={props.disabled}\n style={{\n width: 'calc(100% - 132px - 8px)',\n }}\n >\n {v.children.map((v1) => (\n <el-checkbox\n key={v1.label}\n label={v1.label}\n value={v1[valueKey]}\n {...(v.label === '全选' ? { indeterminate: v1.isHalfChecked } : {})}\n onChange={v1.onChange}\n >\n {v1.label}\n </el-checkbox>\n ))}\n </el-checkbox-group>\n </div>\n ))}\n </el-space>\n )\n }\n },\n})\n"],"names":["_isSlot","s","Object","prototype","toString","call","_isVNode","props","value","type","Array","default","options","disabled","Boolean","defineComponent","name","setup","emit","locations","allLocations","useLocations","watch","selectedChildren","val","_slot2","_createVNode","_resolveComponent","styles","container","padding","entries","sort","aKey","map","k","v","_slot","width","display","alignItems","justifyContent","isAllChecked","$event","isHalfChecked","onChange","label","children","v1","_mergeProps","valueKey","indeterminate"],"mappings":"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"}
|
|
@@ -109,8 +109,14 @@ const useLocations = (props) => {
|
|
|
109
109
|
console.log(
|
|
110
110
|
`\u3010\u{1F527} \u70B9\u51FB\u3011\u8282\u70B9\u7C7B\u578B\uFF1A\u5168\u9009\u8282\u70B9\u3002\u52A8\u4F5C: \u624B\u52A8\u5207\u6362\u3010${curItem.ispName}\u3011\u8FD0\u8425\u5546\u8282\u70B9\u7684\u9009\u4E2D\u72B6\u6001`
|
|
111
111
|
);
|
|
112
|
-
Object.entries(locations.value).filter(([k
|
|
113
|
-
|
|
112
|
+
Object.entries(locations.value).filter(([k]) => k !== "all").forEach(([_, v]) => {
|
|
113
|
+
if (val) {
|
|
114
|
+
const newSelectedNodes = v.children.filter((v1) => v1[TypeKey[Type.IS_ISP]] === curItem[TypeKey[Type.IS_ISP]]).map((v2) => v2[valueKey]);
|
|
115
|
+
v.selectedChildren = [...v.selectedChildren, ...newSelectedNodes];
|
|
116
|
+
} else {
|
|
117
|
+
const unCheckedNodes = v.children.filter((v1) => v1[TypeKey[Type.IS_ISP]] === curItem[TypeKey[Type.IS_ISP]]).map((v2) => v2[valueKey]);
|
|
118
|
+
v.selectedChildren = v.selectedChildren.filter((v2) => !unCheckedNodes.includes(v2));
|
|
119
|
+
}
|
|
114
120
|
});
|
|
115
121
|
dispatchAllNodesOnCheck();
|
|
116
122
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useLocations.mjs","sources":["../../../../../packages/components/commonLocations/useLocations.ts"],"sourcesContent":["import { ref, computed, watch } from 'vue'\nimport { isEmpty, isEqual } from 'lodash'\nimport { getUtils } from './utils'\nimport { Type, TypeKey, valueKey } from './constants'\n\nimport type {\n IProps,\n IUseLocationsRes,\n ILocationItem,\n IAllNode,\n IIspNode,\n IGroupNode,\n ILeafNode,\n ILocations,\n ISelectedData,\n} from './interfaces'\n\nexport const useLocations = (props: IProps): IUseLocationsRes => {\n const locations = ref<ILocations>({})\n /** 获取所有选中的和可选的leaf节点 */\n const allLocations = computed<ISelectedData>(() => {\n return Object.entries(locations.value)\n .filter(([k]) => k !== 'all')\n .reduce(\n (iniVal, [_, v]) => ({\n selectedChildren: [\n ...iniVal.selectedChildren,\n ...((v as unknown as ILeafNode).selectedChildren || []),\n ],\n children: [...iniVal.children, ...((v as unknown as ILeafNode).children || [])],\n }),\n { children: [], selectedChildren: [] } as ISelectedData,\n )\n })\n const { ispNodeOnCheck, groupNodeOnCheck, allNodeOnCheck, dispatchAllNodesOnCheck } = getUtils(\n locations,\n allLocations,\n )\n /** 格式化locations */\n const formatLocations = (curLocations: ILocationItem[] = []): ILocations => {\n const getLeafNode = (curItem: ILeafNode): ILeafNode => ({\n ...curItem,\n label: curItem.friendlyArea,\n selected: false,\n type: Type.IS_LEAF,\n children: [],\n selectedChildren: [],\n onChange: () => {\n console.log(\n `【🔧 点击】节点类型:叶子节点。动作: 手动切换【${curItem.friendlyArea}】地区的选中状态。`,\n )\n dispatchAllNodesOnCheck()\n },\n })\n return curLocations.reduce((initVal, curItem) => {\n // 按regionName分组\n if (curItem[TypeKey[Type.IS_LEAF]] in initVal) {\n initVal[curItem[TypeKey[Type.IS_LEAF]]].children?.push?.(getLeafNode(curItem as ILeafNode))\n } else {\n initVal[curItem[TypeKey[Type.IS_GROUP]]] = {\n label: curItem.regionName,\n [TypeKey[Type.IS_GROUP]]: curItem[TypeKey[Type.IS_GROUP]],\n isHalfChecked: false,\n isAllChecked: false,\n type: Type.IS_GROUP,\n children: [getLeafNode(curItem as ILeafNode)],\n selectedChildren: [],\n onCheck: () => {\n console.log(\n `【🔧 检查】节点类型:组节点。动作: 检查更新【${curItem.regionName}】地区的选中状态`,\n )\n groupNodeOnCheck(curItem, Type.IS_GROUP)\n },\n onChange: (val: boolean) => {\n console.log(\n `【🔧 点击】节点类型:组节点。动作: 手动切换【${curItem.regionName}】地区的选中状态`,\n )\n locations.value[curItem[TypeKey[Type.IS_GROUP]]].selectedChildren = val\n ? locations.value[curItem[TypeKey[Type.IS_GROUP]]].children.map((v) => v[valueKey])\n : []\n /** 调用所有IGroupNode和IIspNode的onCheck */\n dispatchAllNodesOnCheck()\n },\n } as IGroupNode\n }\n // 全选\n if (!('all' in initVal)) {\n initVal['all'] = {\n label: '全选',\n isHalfChecked: false,\n isAllChecked: false,\n type: Type.IS_ALL,\n children: [],\n selectedChildren: [],\n onCheck: () => {\n console.log(`【🔧 检查】节点类型:全选节点。动作: 检查更新全选节点的选中状态`)\n allNodeOnCheck()\n },\n onChange: (val: boolean) => {\n console.log(`【🔧 点击】节点类型:全选节点。动作: 手动切换所有叶子节点的选中状态`)\n Object.entries(locations.value)\n .filter(([k, v]) => k !== 'all')\n .forEach(([k, v]) => {\n v.selectedChildren = val ? (v as IGroupNode).children.map((v1) => v1[valueKey]) : []\n })\n /** 调用所有IGroupNode和IIspNode的onCheck */\n dispatchAllNodesOnCheck()\n },\n } as IAllNode\n }\n // 运营商全选节点【布局方便,所以放进all的children中】\n if (\n !(initVal['all']?.children || []).find(\n (v) => v[TypeKey[Type.IS_ISP]] === curItem[TypeKey[Type.IS_ISP]],\n )\n ) {\n initVal['all']?.children?.push({\n label: curItem.ispName,\n [TypeKey[Type.IS_ISP]]: curItem[TypeKey[Type.IS_ISP]],\n /** 因为运营商的唯一值是asn,其余的叶子节点唯一值是regionId,所以在这里如果要把运营商模拟为叶子结点的话,需要把asn填进regionId */\n [valueKey]: curItem[TypeKey[Type.IS_ISP]], // 用唯一的asn,因为ui中将运营商节点放入leaf节点的位置,所以有了这个key\n isHalfChecked: false,\n isAllChecked: false,\n type: Type.IS_ISP,\n children: [],\n selectedChildren: [],\n onCheck: () => {\n console.log(\n `【🔧 检查】节点类型:运营商节点。动作: 检查更新【${curItem.ispName}】运营商节点的选中状态`,\n )\n ispNodeOnCheck(curItem, Type.IS_ISP)\n },\n onChange: (val: boolean) => {\n console.log(\n `【🔧 点击】节点类型:全选节点。动作: 手动切换【${curItem.ispName}】运营商节点的选中状态`,\n )\n Object.entries(locations.value)\n .filter(([k, v]) => k !== 'all')\n .forEach(([k, v]) => {\n v.selectedChildren = val\n ? (v as IGroupNode).children\n .filter((v1) => v1[TypeKey[Type.IS_ISP]] === curItem[TypeKey[Type.IS_ISP]])\n .map((v) => v[valueKey])\n : []\n })\n dispatchAllNodesOnCheck()\n },\n } as IIspNode)\n }\n return initVal\n }, {} as ILocations)\n }\n const init = () => {\n locations.value = formatLocations(props.options as ILocationItem[])\n if (isEmpty(locations.value)) {\n return\n }\n Object.entries(locations.value)\n .filter(([k]) => k !== 'all')\n .map(([_, v]) => {\n const same = v.children\n .filter((v) => props.value.includes(v[valueKey]))\n .map((v) => v[valueKey])\n if (same.length) {\n v.selectedChildren = [...v.selectedChildren, ...same]\n }\n })\n dispatchAllNodesOnCheck()\n }\n /** 配合formily的value/change模式 */\n watch(\n () => [props.options, props.value],\n (newVal, oldVal) => {\n if (!isEqual(newVal?.[0], oldVal?.[0]) || !isEqual(newVal?.[1], oldVal?.[1])) {\n init()\n }\n },\n { immediate: true },\n )\n return {\n locations,\n allLocations,\n }\n}\n"],"names":["v"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"useLocations.mjs","sources":["../../../../../packages/components/commonLocations/useLocations.ts"],"sourcesContent":["import { ref, computed, watch } from 'vue'\nimport { isEmpty, isEqual } from 'lodash'\nimport { getUtils } from './utils'\nimport { Type, TypeKey, valueKey } from './constants'\n\nimport type {\n IProps,\n IUseLocationsRes,\n ILocationItem,\n IAllNode,\n IIspNode,\n IGroupNode,\n ILeafNode,\n ILocations,\n ISelectedData,\n} from './interfaces'\n\nexport const useLocations = (props: IProps): IUseLocationsRes => {\n const locations = ref<ILocations>({})\n /** 获取所有选中的和可选的leaf节点 */\n const allLocations = computed<ISelectedData>(() => {\n return Object.entries(locations.value)\n .filter(([k]) => k !== 'all')\n .reduce(\n (iniVal, [_, v]) => ({\n selectedChildren: [\n ...iniVal.selectedChildren,\n ...((v as unknown as ILeafNode).selectedChildren || []),\n ],\n children: [...iniVal.children, ...((v as unknown as ILeafNode).children || [])],\n }),\n { children: [], selectedChildren: [] } as ISelectedData,\n )\n })\n const { ispNodeOnCheck, groupNodeOnCheck, allNodeOnCheck, dispatchAllNodesOnCheck } = getUtils(\n locations,\n allLocations,\n )\n /** 格式化locations */\n const formatLocations = (curLocations: ILocationItem[] = []): ILocations => {\n const getLeafNode = (curItem: ILeafNode): ILeafNode => ({\n ...curItem,\n label: curItem.friendlyArea,\n selected: false,\n type: Type.IS_LEAF,\n children: [],\n selectedChildren: [],\n onChange: () => {\n console.log(\n `【🔧 点击】节点类型:叶子节点。动作: 手动切换【${curItem.friendlyArea}】地区的选中状态。`,\n )\n dispatchAllNodesOnCheck()\n },\n })\n return curLocations.reduce((initVal, curItem) => {\n // 按regionName分组\n if (curItem[TypeKey[Type.IS_LEAF]] in initVal) {\n initVal[curItem[TypeKey[Type.IS_LEAF]]].children?.push?.(getLeafNode(curItem as ILeafNode))\n } else {\n initVal[curItem[TypeKey[Type.IS_GROUP]]] = {\n label: curItem.regionName,\n [TypeKey[Type.IS_GROUP]]: curItem[TypeKey[Type.IS_GROUP]],\n isHalfChecked: false,\n isAllChecked: false,\n type: Type.IS_GROUP,\n children: [getLeafNode(curItem as ILeafNode)],\n selectedChildren: [],\n onCheck: () => {\n console.log(\n `【🔧 检查】节点类型:组节点。动作: 检查更新【${curItem.regionName}】地区的选中状态`,\n )\n groupNodeOnCheck(curItem, Type.IS_GROUP)\n },\n onChange: (val: boolean) => {\n console.log(\n `【🔧 点击】节点类型:组节点。动作: 手动切换【${curItem.regionName}】地区的选中状态`,\n )\n locations.value[curItem[TypeKey[Type.IS_GROUP]]].selectedChildren = val\n ? locations.value[curItem[TypeKey[Type.IS_GROUP]]].children.map((v) => v[valueKey])\n : []\n /** 调用所有IGroupNode和IIspNode的onCheck */\n dispatchAllNodesOnCheck()\n },\n } as IGroupNode\n }\n // 全选\n if (!('all' in initVal)) {\n initVal['all'] = {\n label: '全选',\n isHalfChecked: false,\n isAllChecked: false,\n type: Type.IS_ALL,\n children: [],\n selectedChildren: [],\n onCheck: () => {\n console.log(`【🔧 检查】节点类型:全选节点。动作: 检查更新全选节点的选中状态`)\n allNodeOnCheck()\n },\n onChange: (val: boolean) => {\n console.log(`【🔧 点击】节点类型:全选节点。动作: 手动切换所有叶子节点的选中状态`)\n Object.entries(locations.value)\n .filter(([k, v]) => k !== 'all')\n .forEach(([k, v]) => {\n v.selectedChildren = val ? (v as IGroupNode).children.map((v1) => v1[valueKey]) : []\n })\n /** 调用所有IGroupNode和IIspNode的onCheck */\n dispatchAllNodesOnCheck()\n },\n } as IAllNode\n }\n // 运营商全选节点【布局方便,所以放进all的children中】\n if (\n !(initVal['all']?.children || []).find(\n (v) => v[TypeKey[Type.IS_ISP]] === curItem[TypeKey[Type.IS_ISP]],\n )\n ) {\n initVal['all']?.children?.push({\n label: curItem.ispName,\n [TypeKey[Type.IS_ISP]]: curItem[TypeKey[Type.IS_ISP]],\n /** 因为运营商的唯一值是asn,其余的叶子节点唯一值是regionId,所以在这里如果要把运营商模拟为叶子结点的话,需要把asn填进regionId */\n [valueKey]: curItem[TypeKey[Type.IS_ISP]], // 用唯一的asn,因为ui中将运营商节点放入leaf节点的位置,所以有了这个key\n isHalfChecked: false,\n isAllChecked: false,\n type: Type.IS_ISP,\n children: [],\n selectedChildren: [],\n onCheck: () => {\n console.log(\n `【🔧 检查】节点类型:运营商节点。动作: 检查更新【${curItem.ispName}】运营商节点的选中状态`,\n )\n ispNodeOnCheck(curItem, Type.IS_ISP)\n },\n onChange: (val: boolean) => {\n console.log(\n `【🔧 点击】节点类型:全选节点。动作: 手动切换【${curItem.ispName}】运营商节点的选中状态`,\n )\n Object.entries(locations.value)\n .filter(([k]) => k !== 'all')\n .forEach(([_, v]) => {\n if (val) {\n /** 需要选中的nodes */\n const newSelectedNodes = (v as IGroupNode).children\n .filter((v1) => v1[TypeKey[Type.IS_ISP]] === curItem[TypeKey[Type.IS_ISP]])\n .map((v) => v[valueKey])\n /** 向当前选中的nodes中加入需要选中的nodes */\n v.selectedChildren = [...v.selectedChildren, ...newSelectedNodes]\n } else {\n /** 需要取消选中的nodes */\n const unCheckedNodes = (v as IGroupNode).children\n .filter((v1) => v1[TypeKey[Type.IS_ISP]] === curItem[TypeKey[Type.IS_ISP]])\n .map((v) => v[valueKey])\n /** 从当前选中的nodes中去掉取消选中的nodes */\n v.selectedChildren = v.selectedChildren.filter((v) => !unCheckedNodes.includes(v))\n }\n })\n dispatchAllNodesOnCheck()\n },\n } as IIspNode)\n }\n return initVal\n }, {} as ILocations)\n }\n const init = () => {\n locations.value = formatLocations(props.options as ILocationItem[])\n if (isEmpty(locations.value)) {\n return\n }\n Object.entries(locations.value)\n .filter(([k]) => k !== 'all')\n .map(([_, v]) => {\n const same = v.children\n .filter((v) => props.value.includes(v[valueKey]))\n .map((v) => v[valueKey])\n if (same.length) {\n v.selectedChildren = [...v.selectedChildren, ...same]\n }\n })\n dispatchAllNodesOnCheck()\n }\n /** 配合formily的value/change模式 */\n watch(\n () => [props.options, props.value],\n (newVal, oldVal) => {\n if (!isEqual(newVal?.[0], oldVal?.[0]) || !isEqual(newVal?.[1], oldVal?.[1])) {\n init()\n }\n },\n { immediate: true },\n )\n return {\n locations,\n allLocations,\n }\n}\n"],"names":["v"],"mappings":";;;;;AAiBa,MAAA,YAAA,GAAe,CAAC,KAAoC,KAAA;AAC/D,EAAM,MAAA,SAAA,GAAY,GAAgB,CAAA,EAAE,CAAA,CAAA;AAEpC,EAAM,MAAA,YAAA,GAAe,SAAwB,MAAM;AACjD,IAAA,OAAO,MAAO,CAAA,OAAA,CAAQ,SAAU,CAAA,KAAK,CAClC,CAAA,MAAA,CAAO,CAAC,CAAC,CAAC,CAAA,KAAM,CAAM,KAAA,KAAK,CAC3B,CAAA,MAAA;AAAA,MACC,CAAC,MAAA,EAAQ,CAAC,CAAA,EAAG,CAAC,CAAO,MAAA;AAAA,QACnB,gBAAkB,EAAA;AAAA,UAChB,GAAG,MAAO,CAAA,gBAAA;AAAA,UACV,GAAK,CAA2B,CAAA,gBAAA,IAAoB,EAAC;AAAA,SACvD;AAAA,QACA,QAAA,EAAU,CAAC,GAAG,MAAA,CAAO,UAAU,GAAK,CAAA,CAA2B,QAAY,IAAA,EAAG,CAAA;AAAA,OAChF,CAAA;AAAA,MACA,EAAE,QAAU,EAAA,EAAI,EAAA,gBAAA,EAAkB,EAAG,EAAA;AAAA,KACvC,CAAA;AAAA,GACH,CAAA,CAAA;AACD,EAAA,MAAM,EAAE,cAAA,EAAgB,gBAAkB,EAAA,cAAA,EAAgB,yBAA4B,GAAA,QAAA;AAAA,IACpF,SAAA;AAAA,IACA,YAAA;AAAA,GACF,CAAA;AAEA,EAAA,MAAM,eAAkB,GAAA,CAAC,YAAgC,GAAA,EAAmB,KAAA;AAC1E,IAAM,MAAA,WAAA,GAAc,CAAC,OAAmC,MAAA;AAAA,MACtD,GAAG,OAAA;AAAA,MACH,OAAO,OAAQ,CAAA,YAAA;AAAA,MACf,QAAU,EAAA,KAAA;AAAA,MACV,MAAM,IAAK,CAAA,OAAA;AAAA,MACX,UAAU,EAAC;AAAA,MACX,kBAAkB,EAAC;AAAA,MACnB,UAAU,MAAM;AACd,QAAQ,OAAA,CAAA,GAAA;AAAA,UACN,CAAA,0IAAA,EAA6B,QAAQ,YAAY,CAAA,sDAAA,CAAA;AAAA,SACnD,CAAA;AACA,QAAwB,uBAAA,EAAA,CAAA;AAAA,OAC1B;AAAA,KACF,CAAA,CAAA;AACA,IAAA,OAAO,YAAa,CAAA,MAAA,CAAO,CAAC,OAAA,EAAS,OAAY,KAAA;AAtDrD,MAAA,IAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,CAAA;AAwDM,MAAA,IAAI,QAAQ,OAAQ,CAAA,IAAA,CAAK,OAAO,CAAC,KAAK,OAAS,EAAA;AAC7C,QAAA,CAAA,EAAA,GAAA,CAAA,EAAA,GAAA,OAAA,CAAQ,OAAQ,CAAA,OAAA,CAAQ,IAAK,CAAA,OAAO,CAAC,CAAC,CAAE,CAAA,QAAA,KAAxC,IAAkD,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,IAAA,KAAlD,IAAyD,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,IAAA,CAAA,EAAA,EAAA,WAAA,CAAY,OAAoB,CAAA,CAAA,CAAA;AAAA,OACpF,MAAA;AACL,QAAA,OAAA,CAAQ,QAAQ,OAAQ,CAAA,IAAA,CAAK,QAAQ,CAAC,CAAC,CAAI,GAAA;AAAA,UACzC,OAAO,OAAQ,CAAA,UAAA;AAAA,UACf,CAAC,OAAQ,CAAA,IAAA,CAAK,QAAQ,CAAC,GAAG,OAAQ,CAAA,OAAA,CAAQ,IAAK,CAAA,QAAQ,CAAC,CAAA;AAAA,UACxD,aAAe,EAAA,KAAA;AAAA,UACf,YAAc,EAAA,KAAA;AAAA,UACd,MAAM,IAAK,CAAA,QAAA;AAAA,UACX,QAAU,EAAA,CAAC,WAAY,CAAA,OAAoB,CAAC,CAAA;AAAA,UAC5C,kBAAkB,EAAC;AAAA,UACnB,SAAS,MAAM;AACb,YAAQ,OAAA,CAAA,GAAA;AAAA,cACN,CAAA,oIAAA,EAA4B,QAAQ,UAAU,CAAA,gDAAA,CAAA;AAAA,aAChD,CAAA;AACA,YAAiB,gBAAA,CAAA,OAAA,EAAS,KAAK,QAAQ,CAAA,CAAA;AAAA,WACzC;AAAA,UACA,QAAA,EAAU,CAAC,GAAiB,KAAA;AAC1B,YAAQ,OAAA,CAAA,GAAA;AAAA,cACN,CAAA,oIAAA,EAA4B,QAAQ,UAAU,CAAA,gDAAA,CAAA;AAAA,aAChD,CAAA;AACA,YAAU,SAAA,CAAA,KAAA,CAAM,OAAQ,CAAA,OAAA,CAAQ,IAAK,CAAA,QAAQ,CAAC,CAAC,CAAE,CAAA,gBAAA,GAAmB,GAChE,GAAA,SAAA,CAAU,KAAM,CAAA,OAAA,CAAQ,OAAQ,CAAA,IAAA,CAAK,QAAQ,CAAC,CAAC,CAAA,CAAE,QAAS,CAAA,GAAA,CAAI,CAAC,CAAA,KAAM,CAAE,CAAA,QAAQ,CAAC,CAAA,GAChF,EAAC,CAAA;AAEL,YAAwB,uBAAA,EAAA,CAAA;AAAA,WAC1B;AAAA,SACF,CAAA;AAAA,OACF;AAEA,MAAI,IAAA,EAAE,SAAS,OAAU,CAAA,EAAA;AACvB,QAAA,OAAA,CAAQ,KAAK,CAAI,GAAA;AAAA,UACf,KAAO,EAAA,cAAA;AAAA,UACP,aAAe,EAAA,KAAA;AAAA,UACf,YAAc,EAAA,KAAA;AAAA,UACd,MAAM,IAAK,CAAA,MAAA;AAAA,UACX,UAAU,EAAC;AAAA,UACX,kBAAkB,EAAC;AAAA,UACnB,SAAS,MAAM;AACb,YAAA,OAAA,CAAQ,IAAI,CAAoC,0LAAA,CAAA,CAAA,CAAA;AAChD,YAAe,cAAA,EAAA,CAAA;AAAA,WACjB;AAAA,UACA,QAAA,EAAU,CAAC,GAAiB,KAAA;AAC1B,YAAA,OAAA,CAAQ,IAAI,CAAsC,sMAAA,CAAA,CAAA,CAAA;AAClD,YAAA,MAAA,CAAO,QAAQ,SAAU,CAAA,KAAK,EAC3B,MAAO,CAAA,CAAC,CAAC,CAAG,EAAA,CAAC,CAAM,KAAA,CAAA,KAAM,KAAK,CAC9B,CAAA,OAAA,CAAQ,CAAC,CAAC,CAAA,EAAG,CAAC,CAAM,KAAA;AACnB,cAAE,CAAA,CAAA,gBAAA,GAAmB,GAAO,GAAA,CAAA,CAAiB,QAAS,CAAA,GAAA,CAAI,CAAC,EAAA,KAAO,EAAG,CAAA,QAAQ,CAAC,CAAA,GAAI,EAAC,CAAA;AAAA,aACpF,CAAA,CAAA;AAEH,YAAwB,uBAAA,EAAA,CAAA;AAAA,WAC1B;AAAA,SACF,CAAA;AAAA,OACF;AAEA,MAAA,IACE,IAAE,EAAQ,GAAA,OAAA,CAAA,KAAK,MAAb,IAAgB,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,QAAA,KAAY,EAAI,EAAA,IAAA;AAAA,QAChC,CAAC,CAAA,KAAM,CAAE,CAAA,OAAA,CAAQ,IAAK,CAAA,MAAM,CAAC,CAAA,KAAM,OAAQ,CAAA,OAAA,CAAQ,IAAK,CAAA,MAAM,CAAC,CAAA;AAAA,OAEjE,EAAA;AACA,QAAA,CAAA,EAAA,GAAA,CAAA,EAAA,GAAA,OAAA,CAAQ,KAAK,CAAA,KAAb,IAAgB,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,QAAA,KAAhB,mBAA0B,IAAK,CAAA;AAAA,UAC7B,OAAO,OAAQ,CAAA,OAAA;AAAA,UACf,CAAC,OAAQ,CAAA,IAAA,CAAK,MAAM,CAAC,GAAG,OAAQ,CAAA,OAAA,CAAQ,IAAK,CAAA,MAAM,CAAC,CAAA;AAAA;AAAA,UAEpD,CAAC,QAAQ,GAAG,QAAQ,OAAQ,CAAA,IAAA,CAAK,MAAM,CAAC,CAAA;AAAA;AAAA,UACxC,aAAe,EAAA,KAAA;AAAA,UACf,YAAc,EAAA,KAAA;AAAA,UACd,MAAM,IAAK,CAAA,MAAA;AAAA,UACX,UAAU,EAAC;AAAA,UACX,kBAAkB,EAAC;AAAA,UACnB,SAAS,MAAM;AACb,YAAQ,OAAA,CAAA,GAAA;AAAA,cACN,CAAA,gJAAA,EAA8B,QAAQ,OAAO,CAAA,kEAAA,CAAA;AAAA,aAC/C,CAAA;AACA,YAAe,cAAA,CAAA,OAAA,EAAS,KAAK,MAAM,CAAA,CAAA;AAAA,WACrC;AAAA,UACA,QAAA,EAAU,CAAC,GAAiB,KAAA;AAC1B,YAAQ,OAAA,CAAA,GAAA;AAAA,cACN,CAAA,0IAAA,EAA6B,QAAQ,OAAO,CAAA,kEAAA,CAAA;AAAA,aAC9C,CAAA;AACA,YAAA,MAAA,CAAO,QAAQ,SAAU,CAAA,KAAK,CAC3B,CAAA,MAAA,CAAO,CAAC,CAAC,CAAC,CAAM,KAAA,CAAA,KAAM,KAAK,CAC3B,CAAA,OAAA,CAAQ,CAAC,CAAC,CAAA,EAAG,CAAC,CAAM,KAAA;AACnB,cAAA,IAAI,GAAK,EAAA;AAEP,gBAAM,MAAA,gBAAA,GAAoB,CAAiB,CAAA,QAAA,CACxC,MAAO,CAAA,CAAC,OAAO,EAAG,CAAA,OAAA,CAAQ,IAAK,CAAA,MAAM,CAAC,CAAA,KAAM,QAAQ,OAAQ,CAAA,IAAA,CAAK,MAAM,CAAC,CAAC,CAAA,CACzE,IAAI,CAACA,EAAAA,KAAMA,EAAE,CAAA,QAAQ,CAAC,CAAA,CAAA;AAEzB,gBAAA,CAAA,CAAE,mBAAmB,CAAC,GAAG,CAAE,CAAA,gBAAA,EAAkB,GAAG,gBAAgB,CAAA,CAAA;AAAA,eAC3D,MAAA;AAEL,gBAAM,MAAA,cAAA,GAAkB,CAAiB,CAAA,QAAA,CACtC,MAAO,CAAA,CAAC,OAAO,EAAG,CAAA,OAAA,CAAQ,IAAK,CAAA,MAAM,CAAC,CAAA,KAAM,QAAQ,OAAQ,CAAA,IAAA,CAAK,MAAM,CAAC,CAAC,CAAA,CACzE,IAAI,CAACA,EAAAA,KAAMA,EAAE,CAAA,QAAQ,CAAC,CAAA,CAAA;AAEzB,gBAAE,CAAA,CAAA,gBAAA,GAAmB,CAAE,CAAA,gBAAA,CAAiB,MAAO,CAAA,CAACA,OAAM,CAAC,cAAA,CAAe,QAASA,CAAAA,EAAC,CAAC,CAAA,CAAA;AAAA,eACnF;AAAA,aACD,CAAA,CAAA;AACH,YAAwB,uBAAA,EAAA,CAAA;AAAA,WAC1B;AAAA,SACF,CAAA,CAAA;AAAA,OACF;AACA,MAAO,OAAA,OAAA,CAAA;AAAA,KACT,EAAG,EAAgB,CAAA,CAAA;AAAA,GACrB,CAAA;AACA,EAAA,MAAM,OAAO,MAAM;AACjB,IAAU,SAAA,CAAA,KAAA,GAAQ,eAAgB,CAAA,KAAA,CAAM,OAA0B,CAAA,CAAA;AAClE,IAAI,IAAA,OAAA,CAAQ,SAAU,CAAA,KAAK,CAAG,EAAA;AAC5B,MAAA,OAAA;AAAA,KACF;AACA,IAAA,MAAA,CAAO,QAAQ,SAAU,CAAA,KAAK,CAC3B,CAAA,MAAA,CAAO,CAAC,CAAC,CAAC,CAAM,KAAA,CAAA,KAAM,KAAK,CAC3B,CAAA,GAAA,CAAI,CAAC,CAAC,CAAA,EAAG,CAAC,CAAM,KAAA;AACf,MAAA,MAAM,OAAO,CAAE,CAAA,QAAA,CACZ,OAAO,CAACA,EAAAA,KAAM,MAAM,KAAM,CAAA,QAAA,CAASA,GAAE,QAAQ,CAAC,CAAC,CAC/C,CAAA,GAAA,CAAI,CAACA,EAAMA,KAAAA,EAAAA,CAAE,QAAQ,CAAC,CAAA,CAAA;AACzB,MAAA,IAAI,KAAK,MAAQ,EAAA;AACf,QAAA,CAAA,CAAE,mBAAmB,CAAC,GAAG,CAAE,CAAA,gBAAA,EAAkB,GAAG,IAAI,CAAA,CAAA;AAAA,OACtD;AAAA,KACD,CAAA,CAAA;AACH,IAAwB,uBAAA,EAAA,CAAA;AAAA,GAC1B,CAAA;AAEA,EAAA,KAAA;AAAA,IACE,MAAM,CAAC,KAAM,CAAA,OAAA,EAAS,MAAM,KAAK,CAAA;AAAA,IACjC,CAAC,QAAQ,MAAW,KAAA;AAClB,MAAA,IAAI,CAAC,OAAA,CAAQ,MAAS,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,MAAA,CAAA,CAAA,CAAA,EAAI,MAAS,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,MAAA,CAAA,CAAA,CAAE,CAAK,IAAA,CAAC,OAAQ,CAAA,MAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,MAAA,CAAS,CAAI,CAAA,EAAA,MAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,MAAA,CAAS,EAAE,CAAG,EAAA;AAC5E,QAAK,IAAA,EAAA,CAAA;AAAA,OACP;AAAA,KACF;AAAA,IACA,EAAE,WAAW,IAAK,EAAA;AAAA,GACpB,CAAA;AACA,EAAO,OAAA;AAAA,IACL,SAAA;AAAA,IACA,YAAA;AAAA,GACF,CAAA;AACF;;;;"}
|