@maketribe/ms-app 3.2.16 → 3.2.17
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/components/basic/data-table-select/data-table-select.js +3 -0
- package/dist/cjs/components/basic/data-table-select/data-table-select.js.map +1 -1
- package/dist/cjs/components/basic/doc-editor/editor.vue.js +16 -3
- package/dist/cjs/components/basic/doc-editor/editor.vue.js.map +1 -1
- package/dist/cjs/components/business/resource-manager/resource-manager.vue.js +40 -29
- package/dist/cjs/components/business/resource-manager/resource-manager.vue.js.map +1 -1
- package/dist/cjs/components/business/verify-dialog/index.js +4 -5
- package/dist/cjs/components/business/verify-dialog/index.js.map +1 -1
- package/dist/cjs/components/business/verify-dialog/verify-dialog-api.js +28 -0
- package/dist/cjs/components/business/verify-dialog/verify-dialog-api.js.map +1 -0
- package/dist/cjs/components/business/verify-dialog/verify-dialog-option.js +0 -4
- package/dist/cjs/components/business/verify-dialog/verify-dialog-option.js.map +1 -1
- package/dist/cjs/components/business/verify-dialog/{verify-dialog.js → verify-panel.js} +46 -55
- package/dist/cjs/components/business/verify-dialog/verify-panel.js.map +1 -0
- package/dist/cjs/components/data-model/data-form/components/form-detail/form-detail.js +5 -3
- package/dist/cjs/components/data-model/data-form/components/form-detail/form-detail.js.map +1 -1
- package/dist/cjs/components/data-model/data-form/views/form/form.js +1 -0
- package/dist/cjs/components/data-model/data-form/views/form/form.js.map +1 -1
- package/dist/cjs/index.js +1 -1
- package/dist/cjs/installer.js +28 -19
- package/dist/cjs/installer.js.map +1 -1
- package/dist/cjs/layouts/components/bar/index.js +4 -4
- package/dist/cjs/layouts/components/header/tools.js +15 -24
- package/dist/cjs/layouts/components/header/tools.js.map +1 -1
- package/dist/cjs/layouts/components/menu/menu-item.js +5 -5
- package/dist/cjs/layouts/container/default.js +6 -6
- package/dist/cjs/layouts/container/default.js.map +1 -1
- package/dist/cjs/message-impl/DialogerImpl.js +4 -2
- package/dist/cjs/message-impl/DialogerImpl.js.map +1 -1
- package/dist/cjs/modules/cms/components/part-tree/index.vue.js +2 -2
- package/dist/cjs/modules/cms/dataviews/cms-ad-contents/CmsAdContentsForm.js +1 -1
- package/dist/cjs/modules/cms/dataviews/cms-articles/CmsArticlesForm.js +1 -1
- package/dist/cjs/modules/cms/dataviews/cms-articles/cms-article-atlas/CmsArticleAtlasForm.js +1 -1
- package/dist/cjs/modules/cms/pages/cms-ad/index.vue2.js +1 -1
- package/dist/cjs/modules/cms/pages/cms-contents/article-edit-add-page.vue2.js +5 -5
- package/dist/cjs/modules/cms/pages/cms-contents/components/article-atlas.vue.js +4 -1
- package/dist/cjs/modules/cms/pages/cms-contents/components/article-atlas.vue.js.map +1 -1
- package/dist/cjs/modules/cms/pages/cms-contents/components/article-list.vue.js +4 -4
- package/dist/cjs/modules/cms/pages/cms-contents/components/part-info.vue.js +5 -2
- package/dist/cjs/modules/cms/pages/cms-contents/components/part-info.vue.js.map +1 -1
- package/dist/cjs/modules/cms/pages/cms-contents/index.vue2.js +5 -5
- package/dist/cjs/modules/cms/pages/cms-resource/index.vue2.js +9 -6
- package/dist/cjs/modules/cms/pages/cms-resource/index.vue2.js.map +1 -1
- package/dist/cjs/modules/ms/components/material-list/material-list-options.js +1 -1
- package/dist/cjs/modules/ms/components/material-list/material-list.js +1 -1
- package/dist/cjs/modules/ms/components/material-select/material-select-api.js +1 -1
- package/dist/cjs/modules/ms/dataviews/log/local-log/LocalLogTree.js +29 -38
- package/dist/cjs/modules/ms/dataviews/log/local-log/LocalLogTree.js.map +1 -1
- package/dist/cjs/modules/ms/dataviews/ms-config/MsConfigTable.js +1 -1
- package/dist/cjs/modules/ms/dataviews/ms-config/MsConfigTable.js.map +1 -1
- package/dist/cjs/modules/ms/dataviews/ms-member/components/MemberRolesColumn.js +5 -2
- package/dist/cjs/modules/ms/dataviews/ms-member/components/MemberRolesColumn.js.map +1 -1
- package/dist/cjs/modules/ms/pages/icons/index.vue2.js +5 -2
- package/dist/cjs/modules/ms/pages/icons/index.vue2.js.map +1 -1
- package/dist/cjs/modules/ms/pages/local-log/index.vue2.js +1 -1
- package/dist/cjs/modules/ms/pages/ms-material/index.vue2.js +5 -5
- package/dist/cjs/modules/ms/pages/ms-menu/index.vue2.js +2 -2
- package/dist/cjs/modules/ms/pages/ms-role/components/aside.vue.js +4 -4
- package/dist/cjs/modules/ms/pages/ms-role/components/role-permission-config/role-permission-config-options.js +1 -1
- package/dist/cjs/modules/ms/pages/ms-role/index.vue2.js +4 -4
- package/dist/cjs/page/index/dv/default/edit.vue2.js +1 -1
- package/dist/cjs/page/index/dv/default/single/list/dialog.vue2.js +4 -4
- package/dist/cjs/page/index/dv/default/single/list/normal.vue2.js +4 -4
- package/dist/cjs/page/index/dv/default/single/table-tree/dialog.vue2.js +2 -2
- package/dist/cjs/page/index/dv/default/single/table-tree/normal.vue2.js +2 -2
- package/dist/cjs/page/index/dv/default/single/tree/dialog.vue2.js +4 -4
- package/dist/cjs/page/index/dv/default/table.vue2.js +1 -1
- package/dist/cjs/page/login/index.vue2.js +123 -140
- package/dist/cjs/page/login/index.vue2.js.map +1 -1
- package/dist/cjs/page/signup/index.vue2.js +112 -139
- package/dist/cjs/page/signup/index.vue2.js.map +1 -1
- package/dist/esm/components/basic/data-table-select/data-table-select.js +3 -0
- package/dist/esm/components/basic/data-table-select/data-table-select.js.map +1 -1
- package/dist/esm/components/basic/doc-editor/editor.vue.js +16 -3
- package/dist/esm/components/basic/doc-editor/editor.vue.js.map +1 -1
- package/dist/esm/components/business/resource-manager/resource-manager.vue.js +41 -30
- package/dist/esm/components/business/resource-manager/resource-manager.vue.js.map +1 -1
- package/dist/esm/components/business/verify-dialog/index.js +4 -5
- package/dist/esm/components/business/verify-dialog/index.js.map +1 -1
- package/dist/esm/components/business/verify-dialog/verify-dialog-api.js +29 -0
- package/dist/esm/components/business/verify-dialog/verify-dialog-api.js.map +1 -0
- package/dist/esm/components/business/verify-dialog/verify-dialog-option.js +0 -4
- package/dist/esm/components/business/verify-dialog/verify-dialog-option.js.map +1 -1
- package/dist/esm/components/business/verify-dialog/{verify-dialog.js → verify-panel.js} +47 -56
- package/dist/esm/components/business/verify-dialog/verify-panel.js.map +1 -0
- package/dist/esm/components/data-model/data-form/components/form-detail/form-detail.js +5 -3
- package/dist/esm/components/data-model/data-form/components/form-detail/form-detail.js.map +1 -1
- package/dist/esm/components/data-model/data-form/views/form/form.js +1 -0
- package/dist/esm/components/data-model/data-form/views/form/form.js.map +1 -1
- package/dist/esm/index.js +2 -2
- package/dist/esm/installer.js +12 -3
- package/dist/esm/installer.js.map +1 -1
- package/dist/esm/layouts/components/bar/index.js +4 -4
- package/dist/esm/layouts/components/header/tools.js +11 -20
- package/dist/esm/layouts/components/header/tools.js.map +1 -1
- package/dist/esm/layouts/components/menu/menu-item.js +5 -5
- package/dist/esm/layouts/container/default.js +6 -6
- package/dist/esm/layouts/container/default.js.map +1 -1
- package/dist/esm/message-impl/DialogerImpl.js +4 -2
- package/dist/esm/message-impl/DialogerImpl.js.map +1 -1
- package/dist/esm/modules/cms/components/part-tree/index.vue.js +2 -2
- package/dist/esm/modules/cms/dataviews/cms-ad-contents/CmsAdContentsForm.js +1 -1
- package/dist/esm/modules/cms/dataviews/cms-articles/CmsArticlesForm.js +1 -1
- package/dist/esm/modules/cms/dataviews/cms-articles/cms-article-atlas/CmsArticleAtlasForm.js +1 -1
- package/dist/esm/modules/cms/pages/cms-ad/index.vue2.js +1 -1
- package/dist/esm/modules/cms/pages/cms-contents/article-edit-add-page.vue2.js +5 -5
- package/dist/esm/modules/cms/pages/cms-contents/components/article-atlas.vue.js +4 -1
- package/dist/esm/modules/cms/pages/cms-contents/components/article-atlas.vue.js.map +1 -1
- package/dist/esm/modules/cms/pages/cms-contents/components/article-list.vue.js +4 -4
- package/dist/esm/modules/cms/pages/cms-contents/components/part-info.vue.js +5 -2
- package/dist/esm/modules/cms/pages/cms-contents/components/part-info.vue.js.map +1 -1
- package/dist/esm/modules/cms/pages/cms-contents/index.vue2.js +5 -5
- package/dist/esm/modules/cms/pages/cms-resource/index.vue2.js +9 -6
- package/dist/esm/modules/cms/pages/cms-resource/index.vue2.js.map +1 -1
- package/dist/esm/modules/ms/components/material-list/material-list-options.js +1 -1
- package/dist/esm/modules/ms/components/material-list/material-list.js +1 -1
- package/dist/esm/modules/ms/components/material-select/material-select-api.js +1 -1
- package/dist/esm/modules/ms/dataviews/log/local-log/LocalLogTree.js +30 -39
- package/dist/esm/modules/ms/dataviews/log/local-log/LocalLogTree.js.map +1 -1
- package/dist/esm/modules/ms/dataviews/ms-config/MsConfigTable.js +1 -1
- package/dist/esm/modules/ms/dataviews/ms-config/MsConfigTable.js.map +1 -1
- package/dist/esm/modules/ms/dataviews/ms-member/components/MemberRolesColumn.js +5 -2
- package/dist/esm/modules/ms/dataviews/ms-member/components/MemberRolesColumn.js.map +1 -1
- package/dist/esm/modules/ms/pages/icons/index.vue2.js +5 -2
- package/dist/esm/modules/ms/pages/icons/index.vue2.js.map +1 -1
- package/dist/esm/modules/ms/pages/local-log/index.vue2.js +1 -1
- package/dist/esm/modules/ms/pages/ms-material/index.vue2.js +5 -5
- package/dist/esm/modules/ms/pages/ms-menu/index.vue2.js +2 -2
- package/dist/esm/modules/ms/pages/ms-role/components/aside.vue.js +4 -4
- package/dist/esm/modules/ms/pages/ms-role/components/role-permission-config/role-permission-config-options.js +1 -1
- package/dist/esm/modules/ms/pages/ms-role/index.vue2.js +4 -4
- package/dist/esm/page/index/dv/default/edit.vue2.js +1 -1
- package/dist/esm/page/index/dv/default/single/list/dialog.vue2.js +4 -4
- package/dist/esm/page/index/dv/default/single/list/normal.vue2.js +4 -4
- package/dist/esm/page/index/dv/default/single/table-tree/dialog.vue2.js +2 -2
- package/dist/esm/page/index/dv/default/single/table-tree/normal.vue2.js +2 -2
- package/dist/esm/page/index/dv/default/single/tree/dialog.vue2.js +4 -4
- package/dist/esm/page/index/dv/default/table.vue2.js +1 -1
- package/dist/esm/page/login/index.vue2.js +125 -142
- package/dist/esm/page/login/index.vue2.js.map +1 -1
- package/dist/esm/page/signup/index.vue2.js +114 -141
- package/dist/esm/page/signup/index.vue2.js.map +1 -1
- package/dist/style/index.css +1 -1
- package/dist/style/modules/cms/index.css +1 -1
- package/dist/style/modules/cms/pages/cms-contents/index.css +1 -1
- package/dist/style/modules/cms/resource-manager.css +1 -1
- package/dist/style/src/modules/cms/pages/cms-contents/index.scss +1 -1
- package/dist/style/src/modules/cms/resource-manager.scss +1 -1
- package/dist/types/components/basic/doc-editor/editor.vue.d.ts +18 -0
- package/dist/types/components/basic/doc-editor/index.d.ts +38 -0
- package/dist/types/components/business/resource-manager/index.d.ts +25 -3
- package/dist/types/components/business/resource-manager/resource-manager.vue.d.ts +11 -1
- package/dist/types/components/business/verify-dialog/index.d.ts +3 -38
- package/dist/types/components/business/verify-dialog/verify-dialog-api.d.ts +7 -0
- package/dist/types/components/business/verify-dialog/verify-dialog-option.d.ts +0 -6
- package/dist/types/components/business/verify-dialog/{verify-dialog.d.ts → verify-panel.d.ts} +0 -12
- package/dist/types/modules/ms/dataviews/log/local-log/LocalLogTree.d.ts +1 -2
- package/package.json +4 -4
- package/dist/cjs/components/business/verify-dialog/verify-dialog.js.map +0 -1
- package/dist/esm/components/business/verify-dialog/verify-dialog.js.map +0 -1
|
@@ -28,6 +28,9 @@ const DataTableSelect = /* @__PURE__ */ vue.defineComponent({
|
|
|
28
28
|
});
|
|
29
29
|
const handleMousedown = async () => {
|
|
30
30
|
var _a, _b;
|
|
31
|
+
if (props.disabled) {
|
|
32
|
+
return;
|
|
33
|
+
}
|
|
31
34
|
const _dataTable = vue.unref(dataTable);
|
|
32
35
|
const _selections = (_a = vue.unref(abstractSelectInstance)) == null ? void 0 : _a.selections;
|
|
33
36
|
const selections = props.multiple ? _selections ?? [] : _selections ? [_selections] : [];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"data-table-select.js","sources":["../../../../../src/components/basic/data-table-select/data-table-select.tsx"],"sourcesContent":["import { computed, defineComponent, ref, Ref, unref, watch } from \"vue\";\nimport { ElSelect } from \"element-plus\";\nimport { Grid } from \"@element-plus/icons-vue\";\nimport {\n dataTableSelectEmits,\n dataTableSelectProps,\n} from \"./data-table-select-options\";\nimport { MKAbstractSelect } from \"../../abstract\";\nimport { DataTable, Dialoger, TableSelectCacheColumn } from \"@maketribe/dm\";\n\nexport default defineComponent({\n name: \"MKDataTableSelect\",\n inheritAttrs: false,\n props: dataTableSelectProps,\n emits: dataTableSelectEmits,\n setup(props, { emit }) {\n const abstractSelectInstance: Ref<typeof MKAbstractSelect | null> =\n ref(null);\n\n const dataTable = computed(() => props.dataTable);\n\n const modelValue = computed({\n get: () => props.modelValue,\n set: (v) => emit(\"update:model-value\", v),\n });\n\n watch(\n computed(\n () => [unref(dataTable), props.multiple] as [DataTable, boolean]\n ),\n ([dataTable, multiple]) => {\n dataTable.setSelectionColumn(new TableSelectCacheColumn({ multiple }));\n },\n { immediate: true }\n );\n\n const handleMousedown = async () => {\n const _dataTable = unref(dataTable);\n\n const _selections = unref(abstractSelectInstance)?.selections;\n\n const selections = props.multiple\n ? _selections ?? []\n : _selections\n ? [_selections]\n : [];\n\n _dataTable.setSelection(selections);\n\n const result = await Dialoger.dataTableSelectDialog(unref(dataTable)!);\n if (result.isConfirm) {\n unref(abstractSelectInstance)?.setSelections(\n props.multiple ? result.selections : result.selections[0]\n );\n }\n };\n\n return () => {\n return (\n <div class=\"mk-data-table-select\" onMousedown={handleMousedown}>\n <MKAbstractSelect\n modelValue={unref(modelValue)}\n onUpdate:model-value={(v: any) => {\n modelValue.value = v;\n }}\n ref={(el) => (abstractSelectInstance.value = el as any)}\n dataTable={props.dataTable}\n objectValue={props.objectValue}\n multiple={props.multiple}\n labelFieldName={props.labelFieldName}\n primaryFieldName={props.primaryFieldName}\n formatOptions={props.formatOptions}\n v-slots={{\n default: ({ selectRecords, formatOptions }: any) => {\n const options = selectRecords.map(formatOptions);\n\n return (\n <ElSelect\n disabled={props.disabled}\n multiple={props.multiple}\n suffixIcon={Grid}\n popperClass=\"mk-data-table-select__popper\"\n clearable\n modelValue={props.multiple ? options : options[0] ?? null}\n />\n );\n },\n }}\n />\n </div>\n );\n };\n },\n});\n"],"names":["defineComponent","name","inheritAttrs","props","dataTableSelectProps","emits","dataTableSelectEmits","setup","emit","abstractSelectInstance","ref","dataTable","computed","modelValue","get","set","v","watch","unref","multiple","setSelectionColumn","TableSelectCacheColumn","immediate","handleMousedown","_dataTable","_selections","selections","setSelection","result","Dialoger","dataTableSelectDialog","isConfirm","setSelections","_createVNode","MKAbstractSelect","value","el","objectValue","labelFieldName","primaryFieldName","formatOptions","default","selectRecords","options","map","ElSelect","
|
|
1
|
+
{"version":3,"file":"data-table-select.js","sources":["../../../../../src/components/basic/data-table-select/data-table-select.tsx"],"sourcesContent":["import { computed, defineComponent, ref, Ref, unref, watch } from \"vue\";\nimport { ElSelect } from \"element-plus\";\nimport { Grid } from \"@element-plus/icons-vue\";\nimport {\n dataTableSelectEmits,\n dataTableSelectProps,\n} from \"./data-table-select-options\";\nimport { MKAbstractSelect } from \"../../abstract\";\nimport { DataTable, Dialoger, TableSelectCacheColumn } from \"@maketribe/dm\";\n\nexport default defineComponent({\n name: \"MKDataTableSelect\",\n inheritAttrs: false,\n props: dataTableSelectProps,\n emits: dataTableSelectEmits,\n setup(props, { emit }) {\n const abstractSelectInstance: Ref<typeof MKAbstractSelect | null> =\n ref(null);\n\n const dataTable = computed(() => props.dataTable);\n\n const modelValue = computed({\n get: () => props.modelValue,\n set: (v) => emit(\"update:model-value\", v),\n });\n\n watch(\n computed(\n () => [unref(dataTable), props.multiple] as [DataTable, boolean]\n ),\n ([dataTable, multiple]) => {\n dataTable.setSelectionColumn(new TableSelectCacheColumn({ multiple }));\n },\n { immediate: true }\n );\n\n const handleMousedown = async () => {\n if (props.disabled) {\n return;\n }\n\n const _dataTable = unref(dataTable);\n\n const _selections = unref(abstractSelectInstance)?.selections;\n\n const selections = props.multiple\n ? _selections ?? []\n : _selections\n ? [_selections]\n : [];\n\n _dataTable.setSelection(selections);\n\n const result = await Dialoger.dataTableSelectDialog(unref(dataTable)!);\n if (result.isConfirm) {\n unref(abstractSelectInstance)?.setSelections(\n props.multiple ? result.selections : result.selections[0]\n );\n }\n };\n\n return () => {\n return (\n <div class=\"mk-data-table-select\" onMousedown={handleMousedown}>\n <MKAbstractSelect\n modelValue={unref(modelValue)}\n onUpdate:model-value={(v: any) => {\n modelValue.value = v;\n }}\n ref={(el) => (abstractSelectInstance.value = el as any)}\n dataTable={props.dataTable}\n objectValue={props.objectValue}\n multiple={props.multiple}\n labelFieldName={props.labelFieldName}\n primaryFieldName={props.primaryFieldName}\n formatOptions={props.formatOptions}\n v-slots={{\n default: ({ selectRecords, formatOptions }: any) => {\n const options = selectRecords.map(formatOptions);\n\n return (\n <ElSelect\n disabled={props.disabled}\n multiple={props.multiple}\n suffixIcon={Grid}\n popperClass=\"mk-data-table-select__popper\"\n clearable\n modelValue={props.multiple ? options : options[0] ?? null}\n />\n );\n },\n }}\n />\n </div>\n );\n };\n },\n});\n"],"names":["defineComponent","name","inheritAttrs","props","dataTableSelectProps","emits","dataTableSelectEmits","setup","emit","abstractSelectInstance","ref","dataTable","computed","modelValue","get","set","v","watch","unref","multiple","setSelectionColumn","TableSelectCacheColumn","immediate","handleMousedown","disabled","_dataTable","_selections","selections","setSelection","result","Dialoger","dataTableSelectDialog","isConfirm","setSelections","_createVNode","MKAbstractSelect","value","el","objectValue","labelFieldName","primaryFieldName","formatOptions","default","selectRecords","options","map","ElSelect","Grid"],"mappings":";;;;;;;AAUA,MAAeA,sDAAgB;AAAA,EAC7BC,MAAM;AAAA,EACNC,cAAc;AAAA,EACdC,OAAOC,uBAAoB;AAAA,EAC3BC,OAAOC,uBAAoB;AAAA,EAC3BC,MAAMJ,OAAO;AAAA,IAAEK;AAAAA,EAAK,GAAG;AACrB,UAAMC,yBACJC,QAAI,IAAI;AAEV,UAAMC,YAAYC,IAAQ,SAAC,MAAMT,MAAMQ,SAAS;AAEhD,UAAME,aAAaD,IAAAA,SAAS;AAAA,MAC1BE,KAAKA,MAAMX,MAAMU;AAAAA,MACjBE,KAAMC,OAAMR,KAAK,sBAAsBQ,CAAC;AAAA,IAC1C,CAAC;AAEDC,QAAAA,MACEL,IAAQ,SACN,MAAM,CAACM,IAAAA,MAAMP,SAAS,GAAGR,MAAMgB,QAAQ,CACzC,GACA,CAAC,CAACR,YAAWQ,QAAQ,MAAM;AACzBR,MAAAA,WAAUS,mBAAmB,IAAIC,0BAAuB;AAAA,QAAEF;AAAAA,MAAU,CAAA,CAAC;AAAA,IACvE,GACA;AAAA,MAAEG,WAAW;AAAA,IAAK,CACpB;AAEA,UAAMC,kBAAkB,YAAY;;AAClC,UAAIpB,MAAMqB,UAAU;AAClB;AAAA,MACF;AAEA,YAAMC,aAAaP,UAAMP,SAAS;AAElC,YAAMe,eAAcR,SAAAA,MAAMT,sBAAsB,MAA5BS,mBAA+BS;AAEnD,YAAMA,aAAaxB,MAAMgB,WACrBO,eAAe,CAAE,IACjBA,cACA,CAACA,WAAW,IACZ;AAEJD,iBAAWG,aAAaD,UAAU;AAElC,YAAME,SAAS,MAAMC,GAAQ,SAACC,sBAAsBb,IAAK,MAACP,SAAS,CAAE;AACrE,UAAIkB,OAAOG,WAAW;AACpBd,kBAAAA,MAAMT,sBAAsB,MAA5BS,mBAA+Be,cAC7B9B,MAAMgB,WAAWU,OAAOF,aAAaE,OAAOF,WAAW,CAAC;AAAA,MAE5D;AAAA;AAGF,WAAO,MAAM;AACX,aAAAO,IAAAA,YAAA,OAAA;AAAA,QAAA,SAAA;AAAA,QAAA,eACiDX;AAAAA,SAAeW,CAAAA,IAAA,YAAAC,wBAAA;AAAA,QAAA,cAE9CjB,IAAK,MAACL,UAAU;AAAA,QAAC,wBACNG,OAAW;AAChCH,qBAAWuB,QAAQpB;AAAAA,QACpB;AAAA,QAAA,OACKqB,QAAQ5B,uBAAuB2B,QAAQC;AAAAA,QAAU,aAC5ClC,MAAMQ;AAAAA,QAAS,eACbR,MAAMmC;AAAAA,QAAW,YACpBnC,MAAMgB;AAAAA,QAAQ,kBACRhB,MAAMoC;AAAAA,QAAc,oBAClBpC,MAAMqC;AAAAA,QAAgB,iBACzBrC,MAAMsC;AAAAA,SACZ;AAAA,QACPC,SAASA,CAAC;AAAA,UAAEC;AAAAA,UAAeF;AAAAA,QAAmB,MAAM;AAClD,gBAAMG,UAAUD,cAAcE,IAAIJ,aAAa;AAE/C,iBAAAP,IAAAA,YAAAY,YAAAA,UAAA;AAAA,YAAA,YAEc3C,MAAMqB;AAAAA,YAAQ,YACdrB,MAAMgB;AAAAA,YAAQ,cACZ4B,QAAI;AAAA,YAAA,eAAA;AAAA,YAAA,aAAA;AAAA,YAAA,cAGJ5C,MAAMgB,WAAWyB,UAAUA,QAAQ,CAAC,KAAK;AAAA,UAAI,GAAA,IAAA;AAAA,QAG/D;AAAA,MACD,CAAA,CAAA,CAAA;AAAA;EAKX;AACF,CAAC;;"}
|
|
@@ -37,13 +37,14 @@ const docTheme = require("./themes/doc-theme.css.js");
|
|
|
37
37
|
const _hoisted_1 = { class: "mk-doc-editor__stage_warp" };
|
|
38
38
|
const _hoisted_2 = { class: "mk-doc-editor__stage_body" };
|
|
39
39
|
const _hoisted_3 = { class: "mk-doc-editor__stage__placeholder mk-doc__paragraph" };
|
|
40
|
-
const lowPriority = 1;
|
|
41
40
|
const _sfc_main = /* @__PURE__ */ vue.defineComponent({
|
|
42
41
|
...{ name: "MKDocEditor" },
|
|
43
42
|
__name: "editor",
|
|
44
43
|
props: {
|
|
45
44
|
placeholder: { type: String, default: "这里输入正文..." },
|
|
46
|
-
content: { type: String, default: `` }
|
|
45
|
+
content: { type: String, default: `` },
|
|
46
|
+
js: { type: String, default: `` },
|
|
47
|
+
css: { type: String, default: `` }
|
|
47
48
|
},
|
|
48
49
|
emits: ["change"],
|
|
49
50
|
setup(__props, { emit: __emit }) {
|
|
@@ -81,7 +82,7 @@ const _sfc_main = /* @__PURE__ */ vue.defineComponent({
|
|
|
81
82
|
editor.registerCommand(commands.DEVICE_VIEW_MODE, (payload) => {
|
|
82
83
|
viewDevice.value = payload;
|
|
83
84
|
return false;
|
|
84
|
-
},
|
|
85
|
+
}, 1);
|
|
85
86
|
};
|
|
86
87
|
vue.onMounted(() => {
|
|
87
88
|
var _a, _b;
|
|
@@ -92,6 +93,18 @@ const _sfc_main = /* @__PURE__ */ vue.defineComponent({
|
|
|
92
93
|
const docThemeStyle = document.createElement("style");
|
|
93
94
|
docThemeStyle.innerHTML = docTheme;
|
|
94
95
|
doc.head.append(docThemeStyle);
|
|
96
|
+
props.js.split(",").forEach((path) => {
|
|
97
|
+
const script = document.createElement("script");
|
|
98
|
+
script.src = path;
|
|
99
|
+
script.setAttribute("crossorigin", "true");
|
|
100
|
+
doc.head.append(script);
|
|
101
|
+
});
|
|
102
|
+
props.css.split(",").forEach((path) => {
|
|
103
|
+
const link = document.createElement("link");
|
|
104
|
+
link.href = path;
|
|
105
|
+
link.setAttribute("crossorigin", "true");
|
|
106
|
+
doc.head.append(link);
|
|
107
|
+
});
|
|
95
108
|
vue.watch(viewDevice, (payload) => {
|
|
96
109
|
doc.body.style.fontSize = payload == "pc" ? "14px" : "18px";
|
|
97
110
|
updateStage();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"editor.vue.js","sources":["../../../../../src/components/basic/doc-editor/editor.vue"],"sourcesContent":["<template>\n <LexicalComposer :initial-config=\"config\" @init=\"lexicalInitHandler\">\n <div class=\"mk-doc-editor\" :class=\"viewDevice\">\n <ToolbarPlugin />\n <div class=\"mk-doc-editor__stage_warp\">\n <slot name=\"before-extentions\"></slot>\n <div class=\"mk-doc-editor__stage_body\">\n <slot name=\"header\"></slot>\n <iframe title=\"iframe\" class=\"mk-doc-editor__stage_iframe\" ref=\"iframeContentRef\"></iframe>\n <Teleport v-if=\"iframeBody\" :to=\"iframeBody\">\n <LexicalRichTextPlugin :content=\"props.content\" @change=\"contentChangeHandle\">\n <template #contentEditable>\n <LexicalContentEditable />\n </template>\n <template #placeholder>\n <div class=\"mk-doc-editor__stage__placeholder mk-doc__paragraph\">\n {{props.placeholder}}\n </div>\n </template>\n </LexicalRichTextPlugin>\n </Teleport>\n <slot name=\"footer\"></slot>\n <DocPlugin />\n </div>\n <slot name=\"after-extentions\"></slot>\n </div>\n \n </div>\n <LexicalHistoryPlugin />\n </LexicalComposer>\n</template>\n\n<script setup lang=\"ts\">\nimport { defineOptions,defineProps,defineEmits,computed,ref,onMounted,watch
|
|
1
|
+
{"version":3,"file":"editor.vue.js","sources":["../../../../../src/components/basic/doc-editor/editor.vue"],"sourcesContent":["<template>\r\n <LexicalComposer :initial-config=\"config\" @init=\"lexicalInitHandler\">\r\n <div class=\"mk-doc-editor\" :class=\"viewDevice\">\r\n <ToolbarPlugin />\r\n <div class=\"mk-doc-editor__stage_warp\">\r\n <slot name=\"before-extentions\"></slot>\r\n <div class=\"mk-doc-editor__stage_body\">\r\n <slot name=\"header\"></slot>\r\n <iframe title=\"iframe\" class=\"mk-doc-editor__stage_iframe\" ref=\"iframeContentRef\"></iframe>\r\n <Teleport v-if=\"iframeBody\" :to=\"iframeBody\">\r\n <LexicalRichTextPlugin :content=\"props.content\" @change=\"contentChangeHandle\">\r\n <template #contentEditable>\r\n <LexicalContentEditable />\r\n </template>\r\n <template #placeholder>\r\n <div class=\"mk-doc-editor__stage__placeholder mk-doc__paragraph\">\r\n {{props.placeholder}}\r\n </div>\r\n </template>\r\n </LexicalRichTextPlugin>\r\n </Teleport>\r\n <slot name=\"footer\"></slot>\r\n <DocPlugin />\r\n </div>\r\n <slot name=\"after-extentions\"></slot>\r\n </div>\r\n \r\n </div>\r\n <LexicalHistoryPlugin />\r\n </LexicalComposer>\r\n</template>\r\n\r\n<script setup lang=\"ts\">\r\nimport { defineOptions,defineProps,defineEmits,computed,ref,onMounted,watch } from \"vue\"\r\nimport type { LexicalEditor } from 'lexical'\r\nimport { LexicalComposer,LexicalContentEditable, LexicalHistoryPlugin,LexicalRichTextPlugin } from './lexical-vue'\r\nimport ToolbarPlugin from \"./plugins/ToolbarPlugin/index.vue\"\r\nimport { DEVICE_VIEW_MODE } from \"./plugins/commands\"\r\nimport DocPlugin from \"./plugins/index.vue\"\r\n\r\nimport DocTheme from \"./themes/DocTheme\";\r\nimport DocNodes from \"./plugins/nodes\"\r\nimport DocEditorCss from \"./themes/doc-editor.css?raw\";\r\nimport DocThemeCss from \"./themes/doc-theme.css?raw\";\r\n\r\n// 定义组件\r\ndefineOptions({ name: \"MKDocEditor\" })\r\n\r\n// 事件\r\nconst emit = defineEmits(['change']);\r\n\r\n// 参数\r\nconst props = defineProps({\r\n placeholder:{type:String,default:\"这里输入正文...\"},\r\n content:{ type:String,default:`` },\r\n js:{ type:String,default:`` },\r\n css:{ type:String,default:`` }\r\n})\r\n\r\n// pc | mobile\r\nconst viewDevice = ref('pc')\r\n\r\n// 配置\r\nconst config = {\r\n namespace: 'MyEditor',\r\n theme: DocTheme,\r\n nodes: [\r\n ...DocNodes,\r\n ],\r\n onError(error:Error) {\r\n // Catch any errors that occur during Lexical updates and log them\r\n // or throw them as needed. If you don't throw them, Lexical will\r\n // try to recover gracefully without losing user data.\r\n console.error(error)\r\n },\r\n}\r\n\r\n// iframe 编辑器\r\nconst iframeContentRef = ref(null as any);\r\nconst iframeBody = computed(()=>iframeContentRef.value?.contentWindow?.document?.body)\r\n\r\n//内容改变时\r\nconst updateStage = ()=>{\r\n setTimeout(() => {\r\n if(iframeBody.value?.scrollHeight > iframeBody.value?.offsetHeight){\r\n iframeContentRef.value.style.height = (iframeBody.value?.scrollHeight + 10)+\"px\";\r\n }\r\n }, 10);\r\n}\r\nconst contentChangeHandle = (content:any)=>{\r\n emit('change',content);\r\n updateStage();\r\n}\r\n\r\n// 初始化\r\nconst lexicalInitHandler = (editor:LexicalEditor)=>{\r\n editor.registerCommand(DEVICE_VIEW_MODE,(payload: string) => {\r\n viewDevice.value = payload;\r\n return false\r\n },1)\r\n}\r\n\r\nonMounted(()=>{\r\n\r\n const doc = iframeContentRef.value?.contentWindow?.document;\r\n // 编辑器外观\r\n const editorStyle = document.createElement(\"style\");\r\n editorStyle.innerHTML = DocEditorCss;\r\n doc.head.append(editorStyle);\r\n\r\n // 皮肤样式\r\n const docThemeStyle = document.createElement(\"style\");\r\n docThemeStyle.innerHTML = DocThemeCss;\r\n doc.head.append(docThemeStyle);\r\n\r\n // 扩展的js和css\r\n props.js.split(\",\").forEach(path=>{\r\n const script = document.createElement(\"script\");\r\n script.src = path;\r\n script.setAttribute(\"crossorigin\",\"true\")\r\n doc.head.append(script);\r\n })\r\n props.css.split(\",\").forEach(path=>{\r\n const link = document.createElement(\"link\");\r\n link.href = path;\r\n link.setAttribute(\"crossorigin\",\"true\")\r\n doc.head.append(link);\r\n })\r\n\r\n watch(viewDevice,(payload: string) => {\r\n doc.body.style.fontSize = payload == \"pc\" ? \"14px\" : \"18px\";\r\n updateStage();\r\n return false\r\n },{ immediate :true})\r\n});\r\n\r\n</script>\r\n"],"names":["ref","DocNodes","computed","DEVICE_VIEW_MODE","onMounted","DocEditorCss","DocThemeCss","watch"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAiDA,UAAM,OAAO;AAGb,UAAM,QAAQ;AAQR,UAAA,aAAaA,QAAI,IAAI;AAG3B,UAAM,SAAS;AAAA,MACb,WAAW;AAAA,MACX,OAAO;AAAA,MACP,OAAO;AAAA,QACL,GAAGC;AAAAA,MACL;AAAA,MACA,QAAQ,OAAa;AAInB,gBAAQ,MAAM,KAAK;AAAA,MACrB;AAAA,IAAA;AAII,UAAA,mBAAmBD,QAAI,IAAW;AACxC,UAAM,aAAaE,IAAS,SAAA;;AAAI,gDAAiB,UAAjB,mBAAwB,kBAAxB,mBAAuC,aAAvC,mBAAiD;AAAA,KAAI;AAGrF,UAAM,cAAc,MAAI;AACtB,iBAAW,MAAM;;AACf,cAAG,gBAAW,UAAX,mBAAkB,kBAAe,gBAAW,UAAX,mBAAkB,eAAa;AACjE,2BAAiB,MAAM,MAAM,WAAU,gBAAW,UAAX,mBAAkB,gBAAe,KAAI;AAAA,QAC9E;AAAA,SACC,EAAE;AAAA,IAAA;AAED,UAAA,sBAAsB,CAAC,YAAc;AACzC,WAAK,UAAS,OAAO;AACT;IAAA;AAIR,UAAA,qBAAqB,CAAC,WAAuB;AAC1C,aAAA,gBAAgBC,2BAAiB,CAAC,YAAoB;AAC3D,mBAAW,QAAQ;AACZ,eAAA;AAAA,SACP,CAAC;AAAA,IAAA;AAGLC,QAAAA,UAAU,MAAI;;AAEN,YAAA,OAAM,4BAAiB,UAAjB,mBAAwB,kBAAxB,mBAAuC;AAE7C,YAAA,cAAc,SAAS,cAAc,OAAO;AAClD,kBAAY,YAAYC;AACpB,UAAA,KAAK,OAAO,WAAW;AAGrB,YAAA,gBAAgB,SAAS,cAAc,OAAO;AACpD,oBAAc,YAAYC;AACtB,UAAA,KAAK,OAAO,aAAa;AAG7B,YAAM,GAAG,MAAM,GAAG,EAAE,QAAQ,CAAM,SAAA;AAC1B,cAAA,SAAS,SAAS,cAAc,QAAQ;AAC9C,eAAO,MAAM;AACN,eAAA,aAAa,eAAc,MAAM;AACpC,YAAA,KAAK,OAAO,MAAM;AAAA,MAAA,CACvB;AACD,YAAM,IAAI,MAAM,GAAG,EAAE,QAAQ,CAAM,SAAA;AAC3B,cAAA,OAAO,SAAS,cAAc,MAAM;AAC1C,aAAK,OAAO;AACP,aAAA,aAAa,eAAc,MAAM;AAClC,YAAA,KAAK,OAAO,IAAI;AAAA,MAAA,CACrB;AAEKC,gBAAA,YAAW,CAAC,YAAoB;AACpC,YAAI,KAAK,MAAM,WAAW,WAAW,OAAO,SAAS;AACzC;AACL,eAAA;AAAA,MAAA,GACP,EAAE,WAAW,KAAA,CAAK;AAAA,IAAA,CACrB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
|
@@ -27,9 +27,11 @@ const index = require("../resource-list/index.js");
|
|
|
27
27
|
const ResourceManager = require("../resource-list/ResourceManager.js");
|
|
28
28
|
const _hoisted_1 = { class: "resource-manager" };
|
|
29
29
|
const _hoisted_2 = { class: "resource-manager-tools" };
|
|
30
|
+
const _hoisted_3 = { style: { "margin-left": "10px" } };
|
|
30
31
|
const _sfc_main = /* @__PURE__ */ vue.defineComponent({
|
|
31
32
|
__name: "resource-manager",
|
|
32
33
|
props: {
|
|
34
|
+
title: { type: String, default: "" },
|
|
33
35
|
resourceManager: {
|
|
34
36
|
type: ResourceManager.ResourceManager,
|
|
35
37
|
required: true
|
|
@@ -159,39 +161,48 @@ const _sfc_main = /* @__PURE__ */ vue.defineComponent({
|
|
|
159
161
|
vue.unref(resourceManager).loadResourceInfoList();
|
|
160
162
|
});
|
|
161
163
|
return (_ctx, _cache) => {
|
|
164
|
+
const _component_MKSvgIcon = vue.resolveComponent("MKSvgIcon");
|
|
162
165
|
const _directive_loading = vue.resolveDirective("loading");
|
|
163
166
|
return vue.openBlock(), vue.createElementBlock(vue.Fragment, null, [
|
|
164
167
|
vue.withDirectives((vue.openBlock(), vue.createElementBlock("div", _hoisted_1, [
|
|
165
168
|
vue.createElementVNode("div", _hoisted_2, [
|
|
166
|
-
|
|
167
|
-
key: 0,
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
169
|
+
vue.createElementVNode("div", null, [
|
|
170
|
+
props.title ? (vue.openBlock(), vue.createElementBlock(vue.Fragment, { key: 0 }, [
|
|
171
|
+
vue.createVNode(_component_MKSvgIcon, { iconClass: "sucaiku" }),
|
|
172
|
+
vue.createElementVNode("span", _hoisted_3, vue.toDisplayString(props.title), 1)
|
|
173
|
+
], 64)) : vue.createCommentVNode("", true)
|
|
174
|
+
]),
|
|
175
|
+
vue.createElementVNode("div", null, [
|
|
176
|
+
selectResourceCount.value > 0 ? (vue.openBlock(), vue.createBlock(vue.unref(elementPlus.ElButton), {
|
|
177
|
+
key: 0,
|
|
178
|
+
type: "danger",
|
|
179
|
+
onClick: handleDeleteClick
|
|
180
|
+
}, {
|
|
181
|
+
default: vue.withCtx(() => [
|
|
182
|
+
vue.createTextVNode(" 删除 ")
|
|
183
|
+
]),
|
|
184
|
+
_: 1
|
|
185
|
+
})) : vue.createCommentVNode("", true),
|
|
186
|
+
selectResourceCount.value === 1 && !resourceManager.value.selectResourceList[0].isDirectory ? (vue.openBlock(), vue.createBlock(vue.unref(elementPlus.ElButton), {
|
|
187
|
+
key: 1,
|
|
188
|
+
onClick: handleEdit
|
|
189
|
+
}, {
|
|
190
|
+
default: vue.withCtx(() => [
|
|
191
|
+
vue.createTextVNode(" 编辑 ")
|
|
192
|
+
]),
|
|
193
|
+
_: 1
|
|
194
|
+
})) : vue.createCommentVNode("", true),
|
|
195
|
+
selectResourceCount.value === 1 && !resourceManager.value.selectResourceList[0].isDirectory ? (vue.openBlock(), vue.createBlock(vue.unref(elementPlus.ElButton), {
|
|
196
|
+
key: 2,
|
|
197
|
+
onClick: _cache[0] || (_cache[0] = ($event) => handleDownload())
|
|
198
|
+
}, {
|
|
199
|
+
default: vue.withCtx(() => [
|
|
200
|
+
vue.createTextVNode(" 下载 ")
|
|
201
|
+
]),
|
|
202
|
+
_: 1
|
|
203
|
+
})) : vue.createCommentVNode("", true),
|
|
204
|
+
vue.renderSlot(_ctx.$slots, "tools")
|
|
205
|
+
])
|
|
195
206
|
]),
|
|
196
207
|
vue.createVNode(vue.unref(index.MKResourceList), {
|
|
197
208
|
resourceManager: resourceManager.value,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resource-manager.vue.js","sources":["../../../../../src/components/business/resource-manager/resource-manager.vue"],"sourcesContent":["<template>\r\n <div v-loading=\"resourceManager.loading\" class=\"resource-manager\">\r\n <div class=\"resource-manager-tools\">\r\n <ElButton\r\n v-if=\"selectResourceCount > 0\"\r\n type=\"danger\"\r\n @click=\"handleDeleteClick\"\r\n >\r\n 删除\r\n </ElButton>\r\n <ElButton\r\n v-if=\"\r\n selectResourceCount === 1 &&\r\n !resourceManager.selectResourceList[0].isDirectory\r\n \"\r\n @click=\"handleEdit\"\r\n >\r\n 编辑\r\n </ElButton>\r\n <ElButton\r\n v-if=\"\r\n selectResourceCount === 1 &&\r\n !resourceManager.selectResourceList[0].isDirectory\r\n \"\r\n @click=\"handleDownload()\"\r\n >\r\n 下载\r\n </ElButton>\r\n <!-- <ElButton type=\"primary\" @click=\"handleUploadClick\">上传</ElButton> -->\r\n <slot name=\"tools\"></slot>\r\n </div>\r\n <MKResourceList :resourceManager=\"resourceManager\" @drop=\"handleDrop\" />\r\n </div>\r\n\r\n <ElDialog v-model=\"isShowEditDialog\" @close=\"handleEditDialogClose\">\r\n <MKCodeEditor\r\n v-if=\"isShowEditDialog\"\r\n v-model=\"resourceManager.currentEditText\"\r\n />\r\n <template #footer>\r\n <ElButton @click=\"handleEditDialogClose\">取消</ElButton>\r\n <ElButton\r\n type=\"primary\"\r\n v-loading=\"resourceManager.loading\"\r\n @click=\"handleEditDialogConfirm\"\r\n >\r\n 保存\r\n </ElButton>\r\n </template>\r\n </ElDialog>\r\n\r\n <ElDialog\r\n v-model=\"isShowConfirmDialog\"\r\n title=\"文件已存在\"\r\n @close=\"handleDialogCancelClick\"\r\n >\r\n <div v-for=\"path in existPathList\" :key=\"path\">{{ path }}</div>\r\n\r\n <template #footer>\r\n <ElButton type=\"danger\" @click=\"handleDialogOverrideClick\">覆盖</ElButton>\r\n <ElButton type=\"warning\" @click=\"handleDialogSkipClick\">跳过</ElButton>\r\n <ElButton @click=\"handleDialogCancelClick\">取消</ElButton>\r\n </template>\r\n </ElDialog>\r\n</template>\r\n\r\n<script setup lang=\"ts\">\r\nimport { onMounted, computed, unref, ref } from \"vue\";\r\nimport { ElButton, ElMessageBox, ElMessage, ElDialog } from \"element-plus\";\r\nimport { MKCodeEditor } from \"../../basic\";\r\nimport { MKResourceList, ResourceManager } from \"../resource-list\";\r\n\r\nconst props = defineProps({\r\n resourceManager: {\r\n type: ResourceManager,\r\n required: true,\r\n },\r\n});\r\n\r\nconst isShowConfirmDialog = ref(false);\r\n\r\nlet waitUploadFiles: File[] = [];\r\nconst existPathList = ref([] as string[]);\r\n\r\nconst resourceManager = computed(() => props.resourceManager);\r\n\r\nconst isShowEditDialog = computed(\r\n () => unref(resourceManager).isShowEditDialog\r\n);\r\n\r\nconst selectResourceCount = computed(\r\n () => unref(resourceManager).selectResourceList.length\r\n);\r\n\r\nconst handleDeleteClick = async () => {\r\n const isConfirm = await ElMessageBox.confirm(\"是否删除选中文件\", {\r\n type: \"warning\",\r\n }).then(\r\n () => true,\r\n () => false\r\n );\r\n\r\n if (!isConfirm) {\r\n return;\r\n }\r\n\r\n unref(resourceManager).deleteSelectResourceList();\r\n};\r\n\r\nconst handleEdit = () => {\r\n unref(resourceManager).editSelectFile();\r\n};\r\n\r\nconst handleEditDialogConfirm = () => {\r\n unref(resourceManager).saveEditFile();\r\n};\r\n\r\nconst handleEditDialogClose = () => {\r\n unref(resourceManager).isShowEditDialog = false;\r\n unref(resourceManager).currentEditText = \"\";\r\n};\r\n\r\n// const handleUploadClick = () => {\r\n// /** @type {HTMLInputElement} */\r\n// var input = document.createElement(\"input\");\r\n// input.type = \"file\";\r\n// input.multiple = true;\r\n\r\n// input.addEventListener(\"change\", () => {\r\n// var files = new Array(input.files!.length)\r\n// .fill(0)\r\n// .map((_, i) => input.files![i]);\r\n\r\n// unref(resourceManager).uploadResourceList(files);\r\n// });\r\n\r\n// input.click();\r\n// };\r\n\r\nconst handleDownload = () => {\r\n unref(resourceManager).downloadSelectResource();\r\n};\r\n\r\nconst handleDrop = async (event: DragEvent) => {\r\n waitUploadFiles = [];\r\n\r\n var _items = event.dataTransfer?.items;\r\n\r\n var fileSystemEntry = _items![0].webkitGetAsEntry() as any;\r\n\r\n const internalProcess = async (item: any, path: string = \"\") => {\r\n if (item.isFile) {\r\n return [\r\n await new Promise((resolve) => {\r\n item.file((file: File) => {\r\n resolve(\r\n new File([file], `${path}${file.name}`, { type: file.type })\r\n );\r\n });\r\n }),\r\n ] as File[];\r\n } else if (item.isDirectory) {\r\n var directoryReader = item.createReader();\r\n\r\n const entries = (await new Promise((resolve) => {\r\n directoryReader.readEntries(resolve);\r\n })) as any[];\r\n\r\n var result: File[] = [];\r\n\r\n for (let i = 0; i < entries.length; i++) {\r\n result = result.concat(\r\n await internalProcess(entries[i], `${path}${item.name}/`)\r\n );\r\n }\r\n\r\n return result;\r\n }\r\n\r\n return [];\r\n };\r\n\r\n const files = (waitUploadFiles = await internalProcess(fileSystemEntry));\r\n\r\n try {\r\n unref(resourceManager).loadingManager.startLoading();\r\n\r\n const checkResponse = await unref(resourceManager).getExistPathList(\r\n files.map((file) => file.name)\r\n );\r\n\r\n if (checkResponse.data.code !== 200) {\r\n ElMessage.error({ message: checkResponse.data.msg });\r\n return;\r\n }\r\n\r\n if (checkResponse.data.data?.length === 0) {\r\n await unref(resourceManager).uploadResourceList(files);\r\n\r\n waitUploadFiles = [];\r\n return;\r\n }\r\n existPathList.value = checkResponse.data.data ?? [];\r\n\r\n isShowConfirmDialog.value = true;\r\n } catch (e) {\r\n console.log(e);\r\n ElMessage.error(\"网络异常,上传失败\");\r\n } finally {\r\n unref(resourceManager).loadingManager.completeLoading();\r\n }\r\n};\r\n\r\nconst handleDialogOverrideClick = async () => {\r\n try {\r\n await unref(resourceManager).uploadResourceList(waitUploadFiles);\r\n } catch (e) {\r\n console.log(e);\r\n ElMessage.error(\"网络异常,上传失败\");\r\n }\r\n\r\n handleDialogCancelClick();\r\n};\r\n\r\nconst handleDialogSkipClick = async () => {\r\n try {\r\n const files = waitUploadFiles.filter(\r\n (file) => !unref(existPathList).includes(file.name)\r\n );\r\n if (files.length) {\r\n await unref(resourceManager).uploadResourceList(files);\r\n }\r\n } catch (e) {\r\n console.log(e);\r\n ElMessage.error(\"网络异常,上传失败\");\r\n }\r\n\r\n handleDialogCancelClick();\r\n};\r\n\r\nconst handleDialogCancelClick = () => {\r\n isShowConfirmDialog.value = false;\r\n existPathList.value = [];\r\n waitUploadFiles = [];\r\n};\r\n\r\nonMounted(() => {\r\n unref(resourceManager).loadResourceInfoList();\r\n});\r\n</script>\r\n"],"names":["ref","computed","unref","ElMessageBox","ElMessage","onMounted"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"resource-manager.vue.js","sources":["../../../../../src/components/business/resource-manager/resource-manager.vue"],"sourcesContent":["<template>\r\n <div v-loading=\"resourceManager.loading\" class=\"resource-manager\">\r\n <div class=\"resource-manager-tools\">\r\n <div>\r\n <template v-if=\"props.title\">\r\n <MKSvgIcon iconClass=\"sucaiku\" /> \r\n <span style=\"margin-left:10px\">{{props.title}}</span>\r\n </template>\r\n </div>\r\n <div>\r\n <ElButton\r\n v-if=\"selectResourceCount > 0\"\r\n type=\"danger\"\r\n @click=\"handleDeleteClick\"\r\n >\r\n 删除\r\n </ElButton>\r\n <ElButton\r\n v-if=\"\r\n selectResourceCount === 1 &&\r\n !resourceManager.selectResourceList[0].isDirectory\r\n \"\r\n @click=\"handleEdit\"\r\n >\r\n 编辑\r\n </ElButton>\r\n <ElButton\r\n v-if=\"\r\n selectResourceCount === 1 &&\r\n !resourceManager.selectResourceList[0].isDirectory\r\n \"\r\n @click=\"handleDownload()\"\r\n >\r\n 下载\r\n </ElButton>\r\n <!-- <ElButton type=\"primary\" @click=\"handleUploadClick\">上传</ElButton> -->\r\n <slot name=\"tools\"></slot>\r\n </div>\r\n </div>\r\n <MKResourceList :resourceManager=\"resourceManager\" @drop=\"handleDrop\" />\r\n </div>\r\n\r\n <ElDialog v-model=\"isShowEditDialog\" @close=\"handleEditDialogClose\">\r\n <MKCodeEditor\r\n v-if=\"isShowEditDialog\"\r\n v-model=\"resourceManager.currentEditText\"\r\n />\r\n <template #footer>\r\n <ElButton @click=\"handleEditDialogClose\">取消</ElButton>\r\n <ElButton\r\n type=\"primary\"\r\n v-loading=\"resourceManager.loading\"\r\n @click=\"handleEditDialogConfirm\"\r\n >\r\n 保存\r\n </ElButton>\r\n </template>\r\n </ElDialog>\r\n\r\n <ElDialog\r\n v-model=\"isShowConfirmDialog\"\r\n title=\"文件已存在\"\r\n @close=\"handleDialogCancelClick\"\r\n >\r\n <div v-for=\"path in existPathList\" :key=\"path\">{{ path }}</div>\r\n\r\n <template #footer>\r\n <ElButton type=\"danger\" @click=\"handleDialogOverrideClick\">覆盖</ElButton>\r\n <ElButton type=\"warning\" @click=\"handleDialogSkipClick\">跳过</ElButton>\r\n <ElButton @click=\"handleDialogCancelClick\">取消</ElButton>\r\n </template>\r\n </ElDialog>\r\n</template>\r\n\r\n<script setup lang=\"ts\">\r\nimport { onMounted, computed, unref, ref } from \"vue\";\r\nimport { ElButton, ElMessageBox, ElMessage, ElDialog } from \"element-plus\";\r\nimport { MKCodeEditor } from \"../../basic\";\r\nimport { MKResourceList, ResourceManager } from \"../resource-list\";\r\n\r\nconst props = defineProps({\r\n title:{type:String,default:\"\"},\r\n resourceManager: {\r\n type: ResourceManager,\r\n required: true,\r\n },\r\n});\r\n\r\nconst isShowConfirmDialog = ref(false);\r\n\r\nlet waitUploadFiles: File[] = [];\r\nconst existPathList = ref([] as string[]);\r\n\r\nconst resourceManager = computed(() => props.resourceManager);\r\n\r\nconst isShowEditDialog = computed(\r\n () => unref(resourceManager).isShowEditDialog\r\n);\r\n\r\nconst selectResourceCount = computed(\r\n () => unref(resourceManager).selectResourceList.length\r\n);\r\n\r\nconst handleDeleteClick = async () => {\r\n const isConfirm = await ElMessageBox.confirm(\"是否删除选中文件\", {\r\n type: \"warning\",\r\n }).then(\r\n () => true,\r\n () => false\r\n );\r\n\r\n if (!isConfirm) {\r\n return;\r\n }\r\n\r\n unref(resourceManager).deleteSelectResourceList();\r\n};\r\n\r\nconst handleEdit = () => {\r\n unref(resourceManager).editSelectFile();\r\n};\r\n\r\nconst handleEditDialogConfirm = () => {\r\n unref(resourceManager).saveEditFile();\r\n};\r\n\r\nconst handleEditDialogClose = () => {\r\n unref(resourceManager).isShowEditDialog = false;\r\n unref(resourceManager).currentEditText = \"\";\r\n};\r\n\r\n// const handleUploadClick = () => {\r\n// /** @type {HTMLInputElement} */\r\n// var input = document.createElement(\"input\");\r\n// input.type = \"file\";\r\n// input.multiple = true;\r\n\r\n// input.addEventListener(\"change\", () => {\r\n// var files = new Array(input.files!.length)\r\n// .fill(0)\r\n// .map((_, i) => input.files![i]);\r\n\r\n// unref(resourceManager).uploadResourceList(files);\r\n// });\r\n\r\n// input.click();\r\n// };\r\n\r\nconst handleDownload = () => {\r\n unref(resourceManager).downloadSelectResource();\r\n};\r\n\r\nconst handleDrop = async (event: DragEvent) => {\r\n waitUploadFiles = [];\r\n\r\n var _items = event.dataTransfer?.items;\r\n\r\n var fileSystemEntry = _items![0].webkitGetAsEntry() as any;\r\n\r\n const internalProcess = async (item: any, path: string = \"\") => {\r\n if (item.isFile) {\r\n return [\r\n await new Promise((resolve) => {\r\n item.file((file: File) => {\r\n resolve(\r\n new File([file], `${path}${file.name}`, { type: file.type })\r\n );\r\n });\r\n }),\r\n ] as File[];\r\n } else if (item.isDirectory) {\r\n var directoryReader = item.createReader();\r\n\r\n const entries = (await new Promise((resolve) => {\r\n directoryReader.readEntries(resolve);\r\n })) as any[];\r\n\r\n var result: File[] = [];\r\n\r\n for (let i = 0; i < entries.length; i++) {\r\n result = result.concat(\r\n await internalProcess(entries[i], `${path}${item.name}/`)\r\n );\r\n }\r\n\r\n return result;\r\n }\r\n\r\n return [];\r\n };\r\n\r\n const files = (waitUploadFiles = await internalProcess(fileSystemEntry));\r\n\r\n try {\r\n unref(resourceManager).loadingManager.startLoading();\r\n\r\n const checkResponse = await unref(resourceManager).getExistPathList(\r\n files.map((file) => file.name)\r\n );\r\n\r\n if (checkResponse.data.code !== 200) {\r\n ElMessage.error({ message: checkResponse.data.msg });\r\n return;\r\n }\r\n\r\n if (checkResponse.data.data?.length === 0) {\r\n await unref(resourceManager).uploadResourceList(files);\r\n\r\n waitUploadFiles = [];\r\n return;\r\n }\r\n existPathList.value = checkResponse.data.data ?? [];\r\n\r\n isShowConfirmDialog.value = true;\r\n } catch (e) {\r\n console.log(e);\r\n ElMessage.error(\"网络异常,上传失败\");\r\n } finally {\r\n unref(resourceManager).loadingManager.completeLoading();\r\n }\r\n};\r\n\r\nconst handleDialogOverrideClick = async () => {\r\n try {\r\n await unref(resourceManager).uploadResourceList(waitUploadFiles);\r\n } catch (e) {\r\n console.log(e);\r\n ElMessage.error(\"网络异常,上传失败\");\r\n }\r\n\r\n handleDialogCancelClick();\r\n};\r\n\r\nconst handleDialogSkipClick = async () => {\r\n try {\r\n const files = waitUploadFiles.filter(\r\n (file) => !unref(existPathList).includes(file.name)\r\n );\r\n if (files.length) {\r\n await unref(resourceManager).uploadResourceList(files);\r\n }\r\n } catch (e) {\r\n console.log(e);\r\n ElMessage.error(\"网络异常,上传失败\");\r\n }\r\n\r\n handleDialogCancelClick();\r\n};\r\n\r\nconst handleDialogCancelClick = () => {\r\n isShowConfirmDialog.value = false;\r\n existPathList.value = [];\r\n waitUploadFiles = [];\r\n};\r\n\r\nonMounted(() => {\r\n unref(resourceManager).loadResourceInfoList();\r\n});\r\n</script>\r\n"],"names":["ref","computed","unref","ElMessageBox","ElMessage","onMounted"],"mappings":"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"}
|
|
@@ -1,8 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toStringTag]: { value: "Module" } });
|
|
3
|
-
const
|
|
4
|
-
const
|
|
5
|
-
|
|
6
|
-
exports.
|
|
7
|
-
exports.default = MKVerifyDialog;
|
|
3
|
+
const verifyDialogApi = require("./verify-dialog-api.js");
|
|
4
|
+
const MKOpenVerifyCode = verifyDialogApi;
|
|
5
|
+
exports.MKOpenVerifyCode = MKOpenVerifyCode;
|
|
6
|
+
exports.default = MKOpenVerifyCode;
|
|
8
7
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../../../../../src/components/business/verify-dialog/index.ts"],"sourcesContent":["import
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../../../../src/components/business/verify-dialog/index.ts"],"sourcesContent":["import OpenVerifyCode from \"./verify-dialog-api\"\r\n\r\nexport const MKOpenVerifyCode = OpenVerifyCode;\r\nexport default MKOpenVerifyCode;\r\n"],"names":["OpenVerifyCode"],"mappings":";;;AAEO,MAAM,mBAAmBA;;;"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
const vue = require("vue");
|
|
3
|
+
const dm = require("@maketribe/dm");
|
|
4
|
+
const verifyPanel = require("./verify-panel.js");
|
|
5
|
+
async function OpenVerifyCode(options) {
|
|
6
|
+
return new Promise((resolve) => {
|
|
7
|
+
const dialogInstance = dm.Dialoger.customRender({
|
|
8
|
+
width: options.width ?? "300px",
|
|
9
|
+
title: options.title ?? "选择文件",
|
|
10
|
+
class: "mk-verify-dialog",
|
|
11
|
+
body: () => vue.createVNode(verifyPanel, {
|
|
12
|
+
"scene": options.sence,
|
|
13
|
+
"onConfirm": (result) => {
|
|
14
|
+
dialogInstance.destroy();
|
|
15
|
+
resolve(result);
|
|
16
|
+
}
|
|
17
|
+
}, null),
|
|
18
|
+
footer: () => "",
|
|
19
|
+
onClose: () => {
|
|
20
|
+
setTimeout(() => {
|
|
21
|
+
dialogInstance.destroy();
|
|
22
|
+
}, 100);
|
|
23
|
+
}
|
|
24
|
+
});
|
|
25
|
+
});
|
|
26
|
+
}
|
|
27
|
+
module.exports = OpenVerifyCode;
|
|
28
|
+
//# sourceMappingURL=verify-dialog-api.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"verify-dialog-api.js","sources":["../../../../../src/components/business/verify-dialog/verify-dialog-api.tsx"],"sourcesContent":["import { Fragment, reactive } from \"vue\";\r\nimport { Dialoger } from \"@maketribe/dm\";\r\nimport VerifyPanel from \"./verify-panel\";\r\nimport { ElButton } from \"element-plus\";\r\n\r\ntype VerifyCodeOptions = { sence:string,title:string,width:string }\r\n\r\nasync function OpenVerifyCode(options: VerifyCodeOptions): Promise<any> {\r\n return new Promise((resolve) => {\r\n \r\n const dialogInstance = Dialoger.customRender({\r\n width: options.width ?? \"300px\",\r\n title: options.title ?? \"选择文件\",\r\n class: \"mk-verify-dialog\",\r\n body: () => (\r\n <VerifyPanel scene={options.sence} onConfirm={\r\n result=>{\r\n dialogInstance.destroy();\r\n resolve(result)\r\n }\r\n }></VerifyPanel>\r\n ),\r\n footer: () => \"\",\r\n onClose: () => {\r\n setTimeout(() => {\r\n dialogInstance.destroy();\r\n }, 100);\r\n },\r\n });\r\n });\r\n}\r\n\r\nexport default OpenVerifyCode;\r\n"],"names":["OpenVerifyCode","options","Promise","resolve","dialogInstance","Dialoger","customRender","width","title","class","body","_createVNode","VerifyPanel","sence","result","destroy","footer","onClose","setTimeout"],"mappings":";;;;AAOA,eAAeA,eAAeC,SAA0C;AACtE,SAAO,IAAIC,QAASC,aAAY;AAE9B,UAAMC,iBAAiBC,GAAQ,SAACC,aAAa;AAAA,MAC3CC,OAAON,QAAQM,SAAS;AAAA,MACxBC,OAAOP,QAAQO,SAAS;AAAA,MACxBC,OAAO;AAAA,MACPC,MAAMA,MAAAC,IAAA,YAAAC,aAAA;AAAA,QAAA,SACgBX,QAAQY;AAAAA,QAAK,aAC/BC,YAAQ;AACNV,yBAAeW,QAAO;AACtBZ,kBAAQW,MAAM;AAAA,QAChB;AAAA,MAEH,GAAA,IAAA;AAAA,MACDE,QAAQA,MAAM;AAAA,MACdC,SAASA,MAAM;AACbC,mBAAW,MAAM;AACfd,yBAAeW,QAAO;AAAA,QACvB,GAAE,GAAG;AAAA,MACR;AAAA,IACF,CAAC;AAAA,EACH,CAAC;AACH;;"}
|
|
@@ -2,10 +2,6 @@
|
|
|
2
2
|
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
3
3
|
const utils = require("@maketribe/utils");
|
|
4
4
|
const verifyDialogProps = utils.buildProps({
|
|
5
|
-
visible: {
|
|
6
|
-
type: Boolean,
|
|
7
|
-
required: true
|
|
8
|
-
},
|
|
9
5
|
scene: {
|
|
10
6
|
type: String,
|
|
11
7
|
required: true
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"verify-dialog-option.js","sources":["../../../../../src/components/business/verify-dialog/verify-dialog-option.ts"],"sourcesContent":["import { ExtractPropTypes } from \"vue\";\r\nimport { buildProps } from \"@maketribe/utils\";\r\n\r\nexport const verifyDialogProps = buildProps({\r\n
|
|
1
|
+
{"version":3,"file":"verify-dialog-option.js","sources":["../../../../../src/components/business/verify-dialog/verify-dialog-option.ts"],"sourcesContent":["import { ExtractPropTypes } from \"vue\";\r\nimport { buildProps } from \"@maketribe/utils\";\r\n\r\nexport const verifyDialogProps = buildProps({\r\n scene: {\r\n type: String,\r\n required: true,\r\n },\r\n width: {\r\n type: String,\r\n default: \"300px\",\r\n },\r\n} as const);\r\n\r\nexport const verifyDialogEmits = {\r\n \"update:visible\": (modelValue: any) => true,\r\n\r\n confirm: (modelValue: any) => true,\r\n};\r\nexport type VerifyDialogProps = ExtractPropTypes<typeof verifyDialogEmits>;\r\n"],"names":["buildProps"],"mappings":";;;AAGO,MAAM,oBAAoBA,MAAAA,WAAW;AAAA,EAC1C,OAAO;AAAA,IACL,MAAM;AAAA,IACN,UAAU;AAAA,EACZ;AAAA,EACA,OAAO;AAAA,IACL,MAAM;AAAA,IACN,SAAS;AAAA,EACX;AACF,CAAU;AAEH,MAAM,oBAAoB;AAAA,EAC/B,kBAAkB,CAAC,eAAoB;AAAA,EAEvC,SAAS,CAAC,eAAoB;AAChC;;;"}
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
const vue = require("vue");
|
|
3
|
-
const elementPlus = require("element-plus");
|
|
4
3
|
require("@maketribe/dm");
|
|
5
4
|
require("../../basic/config-provider/index.js");
|
|
6
5
|
require("vue-router");
|
|
@@ -8,13 +7,13 @@ require("@maketribe/request");
|
|
|
8
7
|
require("@maketribe/locale");
|
|
9
8
|
const utils = require("@maketribe/utils");
|
|
10
9
|
require("../../../core/DataModelDefines.js");
|
|
10
|
+
require("element-plus");
|
|
11
11
|
const useHttpRequest = require("../../../composables/use-http-request.js");
|
|
12
12
|
const verifyDialogOption = require("./verify-dialog-option.js");
|
|
13
|
-
const
|
|
14
|
-
name: "
|
|
13
|
+
const VerifyPanel = /* @__PURE__ */ vue.defineComponent({
|
|
14
|
+
name: "VerifyPanel",
|
|
15
15
|
props: verifyDialogOption.verifyDialogProps,
|
|
16
16
|
emits: verifyDialogOption.verifyDialogEmits,
|
|
17
|
-
// expose: ["fail"],
|
|
18
17
|
setup(props, {
|
|
19
18
|
emit,
|
|
20
19
|
expose
|
|
@@ -25,26 +24,24 @@ const VerifyDialog = /* @__PURE__ */ vue.defineComponent({
|
|
|
25
24
|
let slideWidth = 48;
|
|
26
25
|
const isError = vue.ref(false);
|
|
27
26
|
const deg = vue.ref(0);
|
|
28
|
-
const httpRequest = useHttpRequest.useHttpRequest();
|
|
29
27
|
const imageUrl = vue.ref("");
|
|
28
|
+
const loading = vue.ref(false);
|
|
30
29
|
const imageStyle = vue.computed(() => {
|
|
31
30
|
return {
|
|
32
31
|
backgroundImage: `url(${vue.unref(imageUrl)})`,
|
|
33
32
|
transform: `rotate(-${vue.unref(deg)}deg)`
|
|
34
33
|
};
|
|
35
34
|
});
|
|
36
|
-
const visible = vue.computed({
|
|
37
|
-
get: () => props.visible,
|
|
38
|
-
set: (v) => emit("update:visible", v)
|
|
39
|
-
});
|
|
40
35
|
const getImage = async () => {
|
|
36
|
+
loading.value = true;
|
|
41
37
|
const params = {
|
|
42
38
|
scene: props.scene
|
|
43
39
|
};
|
|
44
|
-
const response = await
|
|
40
|
+
const response = await useHttpRequest.useHttpRequest().get("/ms/app/captcha/rotation/image", {
|
|
45
41
|
params,
|
|
46
42
|
responseType: "blob"
|
|
47
43
|
});
|
|
44
|
+
loading.value = false;
|
|
48
45
|
return response.data ?? null;
|
|
49
46
|
};
|
|
50
47
|
const handleSwitchConfirm = () => {
|
|
@@ -57,7 +54,9 @@ const VerifyDialog = /* @__PURE__ */ vue.defineComponent({
|
|
|
57
54
|
const disposable = new utils.Disposable();
|
|
58
55
|
const totalWidth = vue.unref(wrapperEl).getBoundingClientRect().width;
|
|
59
56
|
const handleMouseMove = (event) => {
|
|
60
|
-
|
|
57
|
+
const x = event instanceof MouseEvent ? event.clientX : event.touches[0].clientX;
|
|
58
|
+
const y = event instanceof MouseEvent ? event.clientY : event.touches[0].clientY;
|
|
59
|
+
slideWidth = Math.min(Math.max(x - y + 48, 48), totalWidth);
|
|
61
60
|
deg.value = Math.floor((slideWidth - 48) / (totalWidth - 48) * 360);
|
|
62
61
|
vue.unref(grandEl).style.width = `${slideWidth}px`;
|
|
63
62
|
vue.unref(buttonEl).style.transform = `translateX(${slideWidth - 48}px)`;
|
|
@@ -69,10 +68,16 @@ const VerifyDialog = /* @__PURE__ */ vue.defineComponent({
|
|
|
69
68
|
disposable.dispose();
|
|
70
69
|
};
|
|
71
70
|
document.addEventListener("mousemove", handleMouseMove);
|
|
71
|
+
document.addEventListener("touchmove", handleMouseMove);
|
|
72
72
|
document.addEventListener("mouseup", handleMouseUp);
|
|
73
|
+
document.addEventListener("touchend", handleMouseUp);
|
|
74
|
+
document.addEventListener("touchcancel", handleMouseUp);
|
|
73
75
|
disposable.register(utils.createDisposable(() => {
|
|
74
76
|
document.removeEventListener("mousemove", handleMouseMove);
|
|
77
|
+
document.removeEventListener("touchmove", handleMouseMove);
|
|
75
78
|
document.removeEventListener("mouseup", handleMouseUp);
|
|
79
|
+
document.removeEventListener("touchend", handleMouseUp);
|
|
80
|
+
document.removeEventListener("touchcancel", handleMouseUp);
|
|
76
81
|
}));
|
|
77
82
|
};
|
|
78
83
|
const reset = () => {
|
|
@@ -88,53 +93,39 @@ const VerifyDialog = /* @__PURE__ */ vue.defineComponent({
|
|
|
88
93
|
}, 1e3);
|
|
89
94
|
}
|
|
90
95
|
});
|
|
91
|
-
vue.onMounted(() => {
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
onCleanup(() => {
|
|
98
|
-
URL.revokeObjectURL(url);
|
|
99
|
-
});
|
|
100
|
-
}
|
|
101
|
-
}, {
|
|
102
|
-
immediate: true
|
|
96
|
+
vue.onMounted(async () => {
|
|
97
|
+
const blob = await getImage();
|
|
98
|
+
const url = URL.createObjectURL(blob);
|
|
99
|
+
imageUrl.value = url;
|
|
100
|
+
vue.onUnmounted(() => {
|
|
101
|
+
URL.revokeObjectURL(url);
|
|
103
102
|
});
|
|
104
103
|
});
|
|
105
104
|
return () => {
|
|
106
|
-
return vue.createVNode(
|
|
107
|
-
"
|
|
108
|
-
|
|
109
|
-
"
|
|
110
|
-
"
|
|
111
|
-
"
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
"class": "mk-verify-switch__button-grand",
|
|
129
|
-
"ref": (el) => grandEl.value = el
|
|
130
|
-
}, null), vue.createVNode("div", {
|
|
131
|
-
"class": "mk-verify-switch__button",
|
|
132
|
-
"ref": (el) => buttonEl.value = el,
|
|
133
|
-
"onMousedown": handleMouseDown
|
|
134
|
-
}, null)])])]
|
|
135
|
-
});
|
|
105
|
+
return vue.createVNode(vue.Fragment, null, [vue.withDirectives(vue.createVNode("div", {
|
|
106
|
+
"class": "mk-verify-dialog__wrapper"
|
|
107
|
+
}, [vue.createVNode("div", {
|
|
108
|
+
"class": "mk-verify-dialog__image",
|
|
109
|
+
"ref": "imageEl",
|
|
110
|
+
"style": imageStyle.value
|
|
111
|
+
}, null), vue.createVNode("div", {
|
|
112
|
+
"class": "mk-verify-dialog__coordinate"
|
|
113
|
+
}, null)]), [[vue.resolveDirective("loading"), vue.unref(loading)]]), vue.createVNode("div", {
|
|
114
|
+
"class": ["mk-verify-switch", vue.unref(isError) ? "is-error" : ""]
|
|
115
|
+
}, [vue.createVNode("div", {
|
|
116
|
+
"class": "mk-verify-switch__wrapper",
|
|
117
|
+
"ref": (el) => wrapperEl.value = el
|
|
118
|
+
}, [vue.createVNode("div", {
|
|
119
|
+
"class": "mk-verify-switch__button-grand",
|
|
120
|
+
"ref": (el) => grandEl.value = el
|
|
121
|
+
}, null), vue.createVNode("div", {
|
|
122
|
+
"class": "mk-verify-switch__button",
|
|
123
|
+
"ref": (el) => buttonEl.value = el,
|
|
124
|
+
"onMousedown": handleMouseDown,
|
|
125
|
+
"onTouchstart": handleMouseDown
|
|
126
|
+
}, null)])])]);
|
|
136
127
|
};
|
|
137
128
|
}
|
|
138
129
|
});
|
|
139
|
-
module.exports =
|
|
140
|
-
//# sourceMappingURL=verify-
|
|
130
|
+
module.exports = VerifyPanel;
|
|
131
|
+
//# sourceMappingURL=verify-panel.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"verify-panel.js","sources":["../../../../../src/components/business/verify-dialog/verify-panel.tsx"],"sourcesContent":["import {\r\n computed,\r\n defineComponent,\r\n unref,\r\n ref,\r\n onMounted,\r\n onUnmounted,\r\n Ref,\r\n Fragment\r\n} from \"vue\";\r\nimport { useHttpRequest } from \"../../../composables\";\r\nimport { verifyDialogProps, verifyDialogEmits } from \"./verify-dialog-option\";\r\nimport { Disposable, createDisposable } from \"@maketribe/utils\";\r\n\r\nexport default defineComponent({\r\n name: \"VerifyPanel\",\r\n props: verifyDialogProps,\r\n emits: verifyDialogEmits,\r\n setup(props, { emit, expose }) {\r\n \r\n const wrapperEl: Ref<HTMLElement | null> = ref(null);\r\n const buttonEl: Ref<HTMLElement | null> = ref(null);\r\n const grandEl: Ref<HTMLElement | null> = ref(null);\r\n\r\n // 样式默认宽度是48px\r\n let slideWidth: number = 48;\r\n\r\n const isError = ref(false);\r\n\r\n const deg = ref(0);\r\n\r\n const imageUrl = ref(\"\");\r\n const loading = ref(false);\r\n const imageStyle = computed(() => {\r\n return {\r\n backgroundImage: `url(${unref(imageUrl)})`,\r\n transform: `rotate(-${unref(deg)}deg)`,\r\n };\r\n });\r\n\r\n const getImage = async () => {\r\n\r\n loading.value = true;\r\n\r\n const params = { scene: props.scene };\r\n\r\n const response = await useHttpRequest()!.get<Blob>(\"/ms/app/captcha/rotation/image\",{\r\n params,\r\n responseType: \"blob\",\r\n });\r\n\r\n loading.value = false;\r\n return response.data ?? null;\r\n };\r\n\r\n const handleSwitchConfirm = () => {\r\n emit(\"confirm\", unref(deg));\r\n };\r\n\r\n const handleMouseDown = (mouseDownEvent: MouseEvent|TouchEvent) => {\r\n if (unref(isError)) {\r\n return;\r\n }\r\n\r\n const disposable = new Disposable();\r\n\r\n const totalWidth = unref(wrapperEl)!.getBoundingClientRect().width;\r\n\r\n const handleMouseMove = (event: MouseEvent|TouchEvent) => {\r\n \r\n const x = event instanceof MouseEvent ? event.clientX : event.touches[0].clientX;\r\n const y = event instanceof MouseEvent ? event.clientY : event.touches[0].clientY;\r\n\r\n // 限定宽度范围\r\n slideWidth = Math.min(Math.max(x - y + 48, 48),totalWidth);\r\n\r\n deg.value = Math.floor(((slideWidth - 48) / (totalWidth - 48)) * 360);\r\n\r\n unref(grandEl)!.style.width = `${slideWidth}px`;\r\n unref(buttonEl)!.style.transform = `translateX(${slideWidth - 48}px)`;\r\n };\r\n\r\n const handleMouseUp = (event: MouseEvent|TouchEvent) => {\r\n if (deg.value !== 0) {\r\n handleSwitchConfirm();\r\n }\r\n\r\n disposable.dispose();\r\n };\r\n\r\n document.addEventListener(\"mousemove\", handleMouseMove);\r\n document.addEventListener(\"touchmove\", handleMouseMove);\r\n document.addEventListener(\"mouseup\", handleMouseUp);\r\n document.addEventListener(\"touchend\", handleMouseUp);\r\n document.addEventListener(\"touchcancel\", handleMouseUp);\r\n\r\n disposable.register(\r\n createDisposable(() => {\r\n document.removeEventListener(\"mousemove\", handleMouseMove);\r\n document.removeEventListener(\"touchmove\", handleMouseMove);\r\n document.removeEventListener(\"mouseup\", handleMouseUp);\r\n document.removeEventListener(\"touchend\", handleMouseUp);\r\n document.removeEventListener(\"touchcancel\", handleMouseUp);\r\n })\r\n );\r\n };\r\n\r\n const reset = () => {\r\n unref(grandEl)!.style.width = ``;\r\n unref(buttonEl)!.style.transform = ``;\r\n };\r\n\r\n expose({\r\n fail: () => {\r\n isError.value = true;\r\n\r\n setTimeout(() => {\r\n isError.value = false;\r\n\r\n reset();\r\n }, 1000);\r\n },\r\n });\r\n\r\n onMounted(async () => {\r\n\r\n const blob = await getImage();\r\n const url = URL.createObjectURL(blob);\r\n\r\n imageUrl.value = url;\r\n\r\n onUnmounted(()=>{\r\n URL.revokeObjectURL(url);\r\n })\r\n \r\n });\r\n return () => {\r\n return (\r\n <Fragment>\r\n <div class=\"mk-verify-dialog__wrapper\" v-loading={unref(loading)}>\r\n <div\r\n class=\"mk-verify-dialog__image\"\r\n ref=\"imageEl\"\r\n style={imageStyle.value}\r\n />\r\n <div class=\"mk-verify-dialog__coordinate\" />\r\n </div>\r\n <div class={[\"mk-verify-switch\", unref(isError) ? \"is-error\" : \"\"]}>\r\n <div\r\n class=\"mk-verify-switch__wrapper\"\r\n ref={((el: HTMLDivElement) => (wrapperEl.value = el)) as any}\r\n >\r\n <div\r\n class=\"mk-verify-switch__button-grand\"\r\n ref={((el: HTMLDivElement) => (grandEl.value = el)) as any}\r\n />\r\n <div\r\n class=\"mk-verify-switch__button\"\r\n ref={((el: HTMLDivElement) => (buttonEl.value = el)) as any}\r\n onMousedown={handleMouseDown}\r\n onTouchstart={handleMouseDown}\r\n />\r\n </div>\r\n </div>\r\n </Fragment>\r\n );\r\n };\r\n },\r\n});\r\n"],"names":["defineComponent","name","props","verifyDialogProps","emits","verifyDialogEmits","setup","emit","expose","wrapperEl","ref","buttonEl","grandEl","slideWidth","isError","deg","imageUrl","loading","imageStyle","computed","backgroundImage","unref","transform","getImage","value","params","scene","response","useHttpRequest","get","responseType","data","handleSwitchConfirm","handleMouseDown","mouseDownEvent","disposable","Disposable","totalWidth","getBoundingClientRect","width","handleMouseMove","event","x","MouseEvent","clientX","touches","y","clientY","Math","min","max","floor","style","handleMouseUp","dispose","document","addEventListener","register","createDisposable","removeEventListener","reset","fail","setTimeout","onMounted","blob","url","URL","createObjectURL","onUnmounted","revokeObjectURL","_createVNode","_Fragment","_withDirectives","_resolveDirective","el"],"mappings":"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"}
|
|
@@ -27,14 +27,16 @@ const FormDetail = /* @__PURE__ */ vue.defineComponent({
|
|
|
27
27
|
});
|
|
28
28
|
const isShowDataForm = vue.ref(false);
|
|
29
29
|
vue.watch(detailTable, (dataTable, _, onCleanup) => {
|
|
30
|
-
const addRecordDisposable = dataTable.addRecordEvent.on(async (
|
|
30
|
+
const addRecordDisposable = dataTable.addRecordEvent.on(async ({
|
|
31
|
+
item
|
|
32
|
+
}) => {
|
|
31
33
|
const _dataForm = vue.unref(detailForm);
|
|
32
34
|
if (!_dataForm) {
|
|
33
35
|
console.warn(`没有对应的 (${dataTable.name}) DataForm 实现`);
|
|
34
36
|
return;
|
|
35
37
|
}
|
|
36
38
|
isShowDataForm.value = true;
|
|
37
|
-
_dataForm.addRecord();
|
|
39
|
+
_dataForm.addRecord(item);
|
|
38
40
|
});
|
|
39
41
|
const editRecordDisposable = dataTable.editRecordEvent.on(async ({
|
|
40
42
|
item
|
|
@@ -46,7 +48,7 @@ const FormDetail = /* @__PURE__ */ vue.defineComponent({
|
|
|
46
48
|
}
|
|
47
49
|
isShowDataForm.value = true;
|
|
48
50
|
try {
|
|
49
|
-
const response = await _dataForm.editRecord(item
|
|
51
|
+
const response = await _dataForm.editRecord(item);
|
|
50
52
|
if (response.data.code !== 200) {
|
|
51
53
|
dm.Messager.error({
|
|
52
54
|
message: response.data.msg
|