@maketribe/ms-app 3.1.0 → 3.1.2
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/code-editor/code-editor-options.d.ts +16 -0
- package/dist/cjs/components/basic/code-editor/code-editor-options.js +25 -0
- package/dist/cjs/components/basic/code-editor/code-editor-options.js.map +1 -0
- package/dist/cjs/components/basic/code-editor/code-editor.d.ts +27 -0
- package/dist/cjs/components/basic/code-editor/code-editor.js +31 -0
- package/dist/cjs/components/basic/code-editor/code-editor.js.map +1 -0
- package/dist/cjs/components/basic/code-editor/index.d.ts +27 -0
- package/dist/cjs/components/basic/code-editor/index.js +16 -0
- package/dist/cjs/components/basic/code-editor/index.js.map +1 -0
- package/dist/cjs/components/basic/data-table-select/data-table-select.js +1 -1
- package/dist/cjs/components/basic/data-table-select/data-table-select.js.map +1 -1
- package/dist/cjs/components/basic/index.d.ts +1 -0
- package/dist/cjs/components/basic/index.js +12 -10
- package/dist/cjs/components/basic/index.js.map +1 -1
- package/dist/cjs/components/basic/json-editor/json-editor-options.d.ts +1 -1
- package/dist/cjs/components/basic/json-editor/json-editor-options.js.map +1 -1
- package/dist/cjs/components/basic/json-editor/json-editor.js +5 -5
- package/dist/cjs/components/basic/json-editor/json-editor.js.map +1 -1
- package/dist/cjs/components/index.js +42 -40
- package/dist/cjs/components/index.js.map +1 -1
- package/dist/cjs/core/MSAppClient.js +2 -2
- package/dist/cjs/core/MSAppClient.js.map +1 -1
- package/dist/cjs/core/component/DataFormComponents.js +10 -0
- package/dist/cjs/core/component/DataFormComponents.js.map +1 -1
- package/dist/cjs/core/resolver/ITypeResolver.d.ts +1 -2
- package/dist/cjs/index.js +52 -50
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/installer.js +1 -0
- package/dist/cjs/installer.js.map +1 -1
- package/dist/cjs/layouts/components/bar/index.js +1 -0
- package/dist/cjs/layouts/components/bar/index.js.map +1 -1
- package/dist/cjs/layouts/components/header/tools.js +1 -0
- package/dist/cjs/layouts/components/header/tools.js.map +1 -1
- package/dist/cjs/layouts/components/lock/lock.js +1 -0
- package/dist/cjs/layouts/components/lock/lock.js.map +1 -1
- package/dist/cjs/layouts/components/menu/menu-item.js +1 -0
- package/dist/cjs/layouts/components/menu/menu-item.js.map +1 -1
- package/dist/cjs/layouts/container/default.js +1 -0
- package/dist/cjs/layouts/container/default.js.map +1 -1
- package/dist/cjs/modules/cms/components/part-list/components/article-page/index.vue2.js +1 -2
- package/dist/cjs/modules/cms/components/part-list/components/article-page/index.vue2.js.map +1 -1
- package/dist/cjs/modules/cms/components/part-list/components/page-container/index.vue2.js +1 -0
- package/dist/cjs/modules/cms/components/part-list/components/page-container/index.vue2.js.map +1 -1
- package/dist/cjs/modules/cms/components/part-list/components/part-page/index.vue2.js +1 -2
- package/dist/cjs/modules/cms/components/part-list/components/part-page/index.vue2.js.map +1 -1
- package/dist/cjs/modules/cms/dataviews/cms-articles/CmsArticlesForm.js +3 -3
- package/dist/cjs/modules/cms/dataviews/cms-articles/CmsArticlesForm.js.map +1 -1
- package/dist/cjs/modules/cms/dataviews/cms-parts/CmsPartForm.js +5 -4
- package/dist/cjs/modules/cms/dataviews/cms-parts/CmsPartForm.js.map +1 -1
- package/dist/cjs/modules/cms/pages/cms-article/index.vue2.js +1 -0
- package/dist/cjs/modules/cms/pages/cms-article/index.vue2.js.map +1 -1
- package/dist/cjs/modules/ms/dataviews/ms-config/MsConfigForm.d.ts +1 -1
- package/dist/cjs/modules/ms/dataviews/ms-config/MsConfigForm.js +11 -8
- package/dist/cjs/modules/ms/dataviews/ms-config/MsConfigForm.js.map +1 -1
- package/dist/cjs/modules/ms/dataviews/ms-material/MsMaterialTable.d.ts +1 -1
- package/dist/cjs/modules/ms/dataviews/ms-material/MsMaterialTable.js +4 -4
- package/dist/cjs/modules/ms/dataviews/ms-material/MsMaterialTable.js.map +1 -1
- package/dist/cjs/modules/ms/dataviews/ms-member/MsMemberTable.js +15 -4
- package/dist/cjs/modules/ms/dataviews/ms-member/MsMemberTable.js.map +1 -1
- package/dist/cjs/modules/ms/pages/local-log/index.vue2.js +1 -0
- package/dist/cjs/modules/ms/pages/local-log/index.vue2.js.map +1 -1
- package/dist/cjs/modules/ms/pages/ms-material/index.vue2.js +1 -0
- package/dist/cjs/modules/ms/pages/ms-material/index.vue2.js.map +1 -1
- package/dist/cjs/modules/ms/pages/ms-member/index.vue2.js +1 -0
- package/dist/cjs/modules/ms/pages/ms-member/index.vue2.js.map +1 -1
- package/dist/cjs/node_modules/.pnpm/@codemirror_autocomplete@6.15.0_@codemirror_language@6.10.1_@codemirror_state@6.4.1_@codemirr_djjyqdn7bhwopzrz2h2s2bwhzm/node_modules/@codemirror/autocomplete/dist/index.js +276 -0
- package/dist/cjs/node_modules/.pnpm/@codemirror_autocomplete@6.15.0_@codemirror_language@6.10.1_@codemirror_state@6.4.1_@codemirr_djjyqdn7bhwopzrz2h2s2bwhzm/node_modules/@codemirror/autocomplete/dist/index.js.map +1 -1
- package/dist/cjs/node_modules/.pnpm/@codemirror_lang-css@6.2.1_@codemirror_view@6.26.1/node_modules/@codemirror/lang-css/dist/index.js +263 -0
- package/dist/cjs/node_modules/.pnpm/@codemirror_lang-css@6.2.1_@codemirror_view@6.26.1/node_modules/@codemirror/lang-css/dist/index.js.map +1 -0
- package/dist/cjs/node_modules/.pnpm/@codemirror_lang-html@6.4.9/node_modules/@codemirror/lang-html/dist/index.js +667 -0
- package/dist/cjs/node_modules/.pnpm/@codemirror_lang-html@6.4.9/node_modules/@codemirror/lang-html/dist/index.js.map +1 -0
- package/dist/cjs/node_modules/.pnpm/@codemirror_lang-javascript@6.2.2/node_modules/@codemirror/lang-javascript/dist/index.js +342 -0
- package/dist/cjs/node_modules/.pnpm/@codemirror_lang-javascript@6.2.2/node_modules/@codemirror/lang-javascript/dist/index.js.map +1 -0
- package/dist/cjs/node_modules/.pnpm/@codemirror_language@6.10.1/node_modules/@codemirror/language/dist/index.js +21 -0
- package/dist/cjs/node_modules/.pnpm/@codemirror_language@6.10.1/node_modules/@codemirror/language/dist/index.js.map +1 -1
- package/dist/cjs/node_modules/.pnpm/@lezer_common@1.2.1/node_modules/@lezer/common/dist/index.js +510 -1
- package/dist/cjs/node_modules/.pnpm/@lezer_common@1.2.1/node_modules/@lezer/common/dist/index.js.map +1 -1
- package/dist/cjs/node_modules/.pnpm/@lezer_css@1.1.8/node_modules/@lezer/css/dist/index.js +127 -0
- package/dist/cjs/node_modules/.pnpm/@lezer_css@1.1.8/node_modules/@lezer/css/dist/index.js.map +1 -0
- package/dist/cjs/node_modules/.pnpm/@lezer_html@1.3.10/node_modules/@lezer/html/dist/index.js +360 -0
- package/dist/cjs/node_modules/.pnpm/@lezer_html@1.3.10/node_modules/@lezer/html/dist/index.js.map +1 -0
- package/dist/cjs/node_modules/.pnpm/@lezer_javascript@1.4.17/node_modules/@lezer/javascript/dist/index.js +189 -0
- package/dist/cjs/node_modules/.pnpm/@lezer_javascript@1.4.17/node_modules/@lezer/javascript/dist/index.js.map +1 -0
- package/dist/cjs/node_modules/.pnpm/@lezer_lr@1.4.0/node_modules/@lezer/lr/dist/index.js +1879 -0
- package/dist/cjs/node_modules/.pnpm/@lezer_lr@1.4.0/node_modules/@lezer/lr/dist/index.js.map +1 -0
- package/dist/cjs/node_modules/.pnpm/vue-codemirror@6.1.1_codemirror@6.0.1_@lezer_common@1.2.1__vue@3.3.4/node_modules/vue-codemirror/dist/vue-codemirror.esm.js.map +1 -0
- package/dist/cjs/page/index/dv/default/add.vue2.js +1 -0
- package/dist/cjs/page/index/dv/default/add.vue2.js.map +1 -1
- package/dist/cjs/page/index/dv/default/edit.vue2.js +1 -0
- package/dist/cjs/page/index/dv/default/edit.vue2.js.map +1 -1
- package/dist/cjs/page/index/dv/default/single/list/dialog.vue2.js +1 -0
- package/dist/cjs/page/index/dv/default/single/list/dialog.vue2.js.map +1 -1
- package/dist/cjs/page/index/dv/default/single/list/normal.vue2.js +1 -0
- package/dist/cjs/page/index/dv/default/single/list/normal.vue2.js.map +1 -1
- package/dist/cjs/page/index/dv/default/single/table-tree/dialog.vue2.js +1 -0
- package/dist/cjs/page/index/dv/default/single/table-tree/dialog.vue2.js.map +1 -1
- package/dist/cjs/page/index/dv/default/single/table-tree/normal.vue2.js +1 -0
- package/dist/cjs/page/index/dv/default/single/table-tree/normal.vue2.js.map +1 -1
- package/dist/cjs/page/index/dv/default/single/tree/dialog.vue2.js +1 -0
- package/dist/cjs/page/index/dv/default/single/tree/dialog.vue2.js.map +1 -1
- package/dist/cjs/page/index/dv/default/table.vue2.js +1 -0
- package/dist/cjs/page/index/dv/default/table.vue2.js.map +1 -1
- package/dist/cjs/page/login/index.vue2.js +1 -0
- package/dist/cjs/page/login/index.vue2.js.map +1 -1
- package/dist/cjs/page/signup/index.vue2.js +1 -0
- package/dist/cjs/page/signup/index.vue2.js.map +1 -1
- package/dist/esm/components/basic/code-editor/code-editor-options.d.ts +16 -0
- package/dist/esm/components/basic/code-editor/code-editor-options.js +22 -0
- package/dist/esm/components/basic/code-editor/code-editor-options.js.map +1 -0
- package/dist/esm/components/basic/code-editor/code-editor.d.ts +27 -0
- package/dist/esm/components/basic/code-editor/code-editor.js +29 -0
- package/dist/esm/components/basic/code-editor/code-editor.js.map +1 -0
- package/dist/esm/components/basic/code-editor/index.d.ts +27 -0
- package/dist/esm/components/basic/code-editor/index.js +9 -0
- package/dist/esm/components/basic/code-editor/index.js.map +1 -0
- package/dist/esm/components/basic/data-table-select/data-table-select.js +1 -1
- package/dist/esm/components/basic/data-table-select/data-table-select.js.map +1 -1
- package/dist/esm/components/basic/index.d.ts +1 -0
- package/dist/esm/components/basic/index.js +1 -0
- package/dist/esm/components/basic/index.js.map +1 -1
- package/dist/esm/components/basic/json-editor/json-editor-options.d.ts +1 -1
- package/dist/esm/components/basic/json-editor/json-editor-options.js.map +1 -1
- package/dist/esm/components/basic/json-editor/json-editor.js +3 -3
- package/dist/esm/components/basic/json-editor/json-editor.js.map +1 -1
- package/dist/esm/components/index.js +1 -0
- package/dist/esm/components/index.js.map +1 -1
- package/dist/esm/core/MSAppClient.js +2 -2
- package/dist/esm/core/MSAppClient.js.map +1 -1
- package/dist/esm/core/component/DataFormComponents.js +10 -0
- package/dist/esm/core/component/DataFormComponents.js.map +1 -1
- package/dist/esm/core/resolver/ITypeResolver.d.ts +1 -2
- package/dist/esm/index.js +1 -0
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/installer.js +1 -0
- package/dist/esm/installer.js.map +1 -1
- package/dist/esm/layouts/components/bar/index.js +1 -0
- package/dist/esm/layouts/components/bar/index.js.map +1 -1
- package/dist/esm/layouts/components/header/tools.js +1 -0
- package/dist/esm/layouts/components/header/tools.js.map +1 -1
- package/dist/esm/layouts/components/lock/lock.js +1 -0
- package/dist/esm/layouts/components/lock/lock.js.map +1 -1
- package/dist/esm/layouts/components/menu/menu-item.js +1 -0
- package/dist/esm/layouts/components/menu/menu-item.js.map +1 -1
- package/dist/esm/layouts/container/default.js +1 -0
- package/dist/esm/layouts/container/default.js.map +1 -1
- package/dist/esm/modules/cms/components/part-list/components/article-page/index.vue2.js +1 -2
- package/dist/esm/modules/cms/components/part-list/components/article-page/index.vue2.js.map +1 -1
- package/dist/esm/modules/cms/components/part-list/components/page-container/index.vue2.js +1 -0
- package/dist/esm/modules/cms/components/part-list/components/page-container/index.vue2.js.map +1 -1
- package/dist/esm/modules/cms/components/part-list/components/part-page/index.vue2.js +1 -2
- package/dist/esm/modules/cms/components/part-list/components/part-page/index.vue2.js.map +1 -1
- package/dist/esm/modules/cms/dataviews/cms-articles/CmsArticlesForm.js +3 -3
- package/dist/esm/modules/cms/dataviews/cms-articles/CmsArticlesForm.js.map +1 -1
- package/dist/esm/modules/cms/dataviews/cms-parts/CmsPartForm.js +5 -4
- package/dist/esm/modules/cms/dataviews/cms-parts/CmsPartForm.js.map +1 -1
- package/dist/esm/modules/cms/pages/cms-article/index.vue2.js +1 -0
- package/dist/esm/modules/cms/pages/cms-article/index.vue2.js.map +1 -1
- package/dist/esm/modules/ms/dataviews/ms-config/MsConfigForm.d.ts +1 -1
- package/dist/esm/modules/ms/dataviews/ms-config/MsConfigForm.js +11 -8
- package/dist/esm/modules/ms/dataviews/ms-config/MsConfigForm.js.map +1 -1
- package/dist/esm/modules/ms/dataviews/ms-material/MsMaterialTable.d.ts +1 -1
- package/dist/esm/modules/ms/dataviews/ms-material/MsMaterialTable.js +4 -4
- package/dist/esm/modules/ms/dataviews/ms-material/MsMaterialTable.js.map +1 -1
- package/dist/esm/modules/ms/dataviews/ms-member/MsMemberTable.js +15 -4
- package/dist/esm/modules/ms/dataviews/ms-member/MsMemberTable.js.map +1 -1
- package/dist/esm/modules/ms/pages/local-log/index.vue2.js +1 -0
- package/dist/esm/modules/ms/pages/local-log/index.vue2.js.map +1 -1
- package/dist/esm/modules/ms/pages/ms-material/index.vue2.js +1 -0
- package/dist/esm/modules/ms/pages/ms-material/index.vue2.js.map +1 -1
- package/dist/esm/modules/ms/pages/ms-member/index.vue2.js +1 -0
- package/dist/esm/modules/ms/pages/ms-member/index.vue2.js.map +1 -1
- package/dist/esm/node_modules/.pnpm/@codemirror_autocomplete@6.15.0_@codemirror_language@6.10.1_@codemirror_state@6.4.1_@codemirr_djjyqdn7bhwopzrz2h2s2bwhzm/node_modules/@codemirror/autocomplete/dist/index.js +273 -4
- package/dist/esm/node_modules/.pnpm/@codemirror_autocomplete@6.15.0_@codemirror_language@6.10.1_@codemirror_state@6.4.1_@codemirr_djjyqdn7bhwopzrz2h2s2bwhzm/node_modules/@codemirror/autocomplete/dist/index.js.map +1 -1
- package/dist/esm/node_modules/.pnpm/@codemirror_lang-css@6.2.1_@codemirror_view@6.26.1/node_modules/@codemirror/lang-css/dist/index.js +258 -0
- package/dist/esm/node_modules/.pnpm/@codemirror_lang-css@6.2.1_@codemirror_view@6.26.1/node_modules/@codemirror/lang-css/dist/index.js.map +1 -0
- package/dist/esm/node_modules/.pnpm/@codemirror_lang-html@6.4.9/node_modules/@codemirror/lang-html/dist/index.js +661 -0
- package/dist/esm/node_modules/.pnpm/@codemirror_lang-html@6.4.9/node_modules/@codemirror/lang-html/dist/index.js.map +1 -0
- package/dist/esm/node_modules/.pnpm/@codemirror_lang-javascript@6.2.2/node_modules/@codemirror/lang-javascript/dist/index.js +332 -0
- package/dist/esm/node_modules/.pnpm/@codemirror_lang-javascript@6.2.2/node_modules/@codemirror/lang-javascript/dist/index.js.map +1 -0
- package/dist/esm/node_modules/.pnpm/@codemirror_language@6.10.1/node_modules/@codemirror/language/dist/index.js +20 -1
- package/dist/esm/node_modules/.pnpm/@codemirror_language@6.10.1/node_modules/@codemirror/language/dist/index.js.map +1 -1
- package/dist/esm/node_modules/.pnpm/@lezer_common@1.2.1/node_modules/@lezer/common/dist/index.js +508 -2
- package/dist/esm/node_modules/.pnpm/@lezer_common@1.2.1/node_modules/@lezer/common/dist/index.js.map +1 -1
- package/dist/esm/node_modules/.pnpm/@lezer_css@1.1.8/node_modules/@lezer/css/dist/index.js +125 -0
- package/dist/esm/node_modules/.pnpm/@lezer_css@1.1.8/node_modules/@lezer/css/dist/index.js.map +1 -0
- package/dist/esm/node_modules/.pnpm/@lezer_html@1.3.10/node_modules/@lezer/html/dist/index.js +357 -0
- package/dist/esm/node_modules/.pnpm/@lezer_html@1.3.10/node_modules/@lezer/html/dist/index.js.map +1 -0
- package/dist/esm/node_modules/.pnpm/@lezer_javascript@1.4.17/node_modules/@lezer/javascript/dist/index.js +187 -0
- package/dist/esm/node_modules/.pnpm/@lezer_javascript@1.4.17/node_modules/@lezer/javascript/dist/index.js.map +1 -0
- package/dist/esm/node_modules/.pnpm/@lezer_lr@1.4.0/node_modules/@lezer/lr/dist/index.js +1872 -0
- package/dist/esm/node_modules/.pnpm/@lezer_lr@1.4.0/node_modules/@lezer/lr/dist/index.js.map +1 -0
- package/dist/esm/node_modules/.pnpm/vue-codemirror@6.1.1_codemirror@6.0.1_@lezer_common@1.2.1__vue@3.3.4/node_modules/vue-codemirror/dist/vue-codemirror.esm.js.map +1 -0
- package/dist/esm/page/index/dv/default/add.vue2.js +1 -0
- package/dist/esm/page/index/dv/default/add.vue2.js.map +1 -1
- package/dist/esm/page/index/dv/default/edit.vue2.js +1 -0
- package/dist/esm/page/index/dv/default/edit.vue2.js.map +1 -1
- package/dist/esm/page/index/dv/default/single/list/dialog.vue2.js +1 -0
- package/dist/esm/page/index/dv/default/single/list/dialog.vue2.js.map +1 -1
- package/dist/esm/page/index/dv/default/single/list/normal.vue2.js +1 -0
- package/dist/esm/page/index/dv/default/single/list/normal.vue2.js.map +1 -1
- package/dist/esm/page/index/dv/default/single/table-tree/dialog.vue2.js +1 -0
- package/dist/esm/page/index/dv/default/single/table-tree/dialog.vue2.js.map +1 -1
- package/dist/esm/page/index/dv/default/single/table-tree/normal.vue2.js +1 -0
- package/dist/esm/page/index/dv/default/single/table-tree/normal.vue2.js.map +1 -1
- package/dist/esm/page/index/dv/default/single/tree/dialog.vue2.js +1 -0
- package/dist/esm/page/index/dv/default/single/tree/dialog.vue2.js.map +1 -1
- package/dist/esm/page/index/dv/default/table.vue2.js +1 -0
- package/dist/esm/page/index/dv/default/table.vue2.js.map +1 -1
- package/dist/esm/page/login/index.vue2.js +1 -0
- package/dist/esm/page/login/index.vue2.js.map +1 -1
- package/dist/esm/page/signup/index.vue2.js +1 -0
- package/dist/esm/page/signup/index.vue2.js.map +1 -1
- package/dist/style/components/code-editor.css +1 -0
- package/dist/style/components/index.css +1 -1
- package/dist/style/index.css +1 -1
- package/dist/style/src/components/code-editor.scss +7 -0
- package/dist/style/src/components/index.scss +1 -1
- package/package.json +2 -1
- package/dist/cjs/node_modules/.pnpm/vue-codemirror@6.1.1_codemirror@6.0.1_vue@3.3.4/node_modules/vue-codemirror/dist/vue-codemirror.esm.js.map +0 -1
- package/dist/esm/node_modules/.pnpm/vue-codemirror@6.1.1_codemirror@6.0.1_vue@3.3.4/node_modules/vue-codemirror/dist/vue-codemirror.esm.js.map +0 -1
- package/dist/style/components/json-editor.css +0 -1
- package/dist/style/src/components/json-editor.scss +0 -7
- /package/dist/cjs/node_modules/.pnpm/{vue-codemirror@6.1.1_codemirror@6.0.1_vue@3.3.4 → vue-codemirror@6.1.1_codemirror@6.0.1_@lezer_common@1.2.1__vue@3.3.4}/node_modules/vue-codemirror/dist/vue-codemirror.esm.js +0 -0
- /package/dist/esm/node_modules/.pnpm/{vue-codemirror@6.1.1_codemirror@6.0.1_vue@3.3.4 → vue-codemirror@6.1.1_codemirror@6.0.1_@lezer_common@1.2.1__vue@3.3.4}/node_modules/vue-codemirror/dist/vue-codemirror.esm.js +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MsMemberTable.js","sources":["../../../../../../src/modules/ms/dataviews/ms-member/MsMemberTable.tsx"],"sourcesContent":["import { R } from \"@maketribe/request\";\r\nimport {\r\n TableColumn,\r\n DataTable,\r\n DataTableOptions,\r\n FilterColumn,\r\n TableActionColumn,\r\n ActionButton,\r\n DeleteButton,\r\n EditButton,\r\n Messager,\r\n Dialoger,\r\n FormColumn,\r\n WhereFilter,\r\n} from \"@maketribe/dm\";\r\nimport { MsMember, MsMemberForm, MsMemberResult } from \"./MsMemberForm\";\r\nimport { MSAppClient } from \"../../../../core\";\r\nimport { MKSvgIcon } from \"../../../../components/basic/svg-icon\";\r\nimport { ElTooltip } from \"element-plus\";\r\nimport { DATA_MODEL_NAME } from \"../../../../constants\";\r\nimport { MODULE_NAME } from \"../../constants\";\r\n\r\nexport type MsMemberTableItem = Omit<MsMember, \"passwordHash\"> & {\r\n type: number\r\n};\r\n\r\nexport class MsMemberTable extends DataTable<\r\n MsMemberResult,\r\n MsMemberTableItem\r\n> {\r\n static [DATA_MODEL_NAME]: string = \"ms-member\";\r\n\r\n activeMemberForm: MsMemberForm;\r\n\r\n isShowActiveMemberForm: boolean;\r\n\r\n constructor(options: DataTableOptions = {}) {\r\n super({\r\n name: MsMemberTable[DATA_MODEL_NAME],\r\n moduleName: MODULE_NAME,\r\n ...options,\r\n });\r\n\r\n this.activeMemberForm = this.register(\r\n new (class extends MsMemberForm {\r\n formatSubmitData(data: any) {\r\n data = super.formatSubmitData(data);\r\n\r\n if (data.valid !== 1) {\r\n Reflect.deleteProperty(data, \"roles\");\r\n }\r\n\r\n return data;\r\n }\r\n })()\r\n );\r\n\r\n this.isShowActiveMemberForm = false;\r\n }\r\n\r\n protected async initialize() {\r\n await super.initialize();\r\n\r\n await this.initActiveMemberForm();\r\n //超管才能导出\r\n if (!MSAppClient.instance?.userSession?.userInfo?.isSuper) {\r\n this.buttonTools.splice(2, 1);\r\n }\r\n //只有超级管理员可以查看超级管理员\r\n if (!MSAppClient.instance?.userSession?.userInfo?.isSuper) {\r\n (this.dataFilter as WhereFilter)\r\n .getDefaultGroup()\r\n .addCondition(\"isSuper\", \"!=\", 1);\r\n }\r\n\r\n this.dataFilter.setColumns([\r\n // new FilterColumn({\r\n // name: \"createdAt\",\r\n // label: \"创建时间\",\r\n // componentInfo: \"MKConditionDate\",\r\n // defaultValue: [\"2024-01-20 00:00:00\", \"2024-01-21 00:00:00\"]\r\n // }),\r\n new FilterColumn({\r\n name: \"name\",\r\n label: \"姓名\",\r\n componentInfo: \"MKConditionInput\",\r\n }),\r\n new FilterColumn({\r\n name: \"wechatNo\",\r\n label: \"微信号\",\r\n componentInfo: \"MKConditionInput\",\r\n }),\r\n new FilterColumn({\r\n name: \"nickName\",\r\n label: \"昵称\",\r\n componentInfo: \"MKConditionInput\",\r\n }),\r\n new FilterColumn({\r\n name: \"email\",\r\n label: \"邮箱\",\r\n componentInfo: \"MKConditionInput\",\r\n }),\r\n new FilterColumn({\r\n name: \"phone\",\r\n label: \"手机号\",\r\n componentInfo: \"MKConditionInput\",\r\n }),\r\n new FilterColumn({\r\n name: \"username\",\r\n label: \"账号\",\r\n componentInfo: \"MKConditionInput\",\r\n }),\r\n ]);\r\n\r\n this.setColumns([\r\n new TableColumn({ name: \"name\", label: \"账号信息\", minWidth: \"300px\" }),\r\n new TableColumn({ name: \"roles\", label: \"角色\", minWidth: \"150px\" }),\r\n new TableColumn({\r\n name: \"type\",\r\n label: \"状态\",\r\n minWidth: \"80px\",\r\n componentInfo: \"MKColumnTag\",\r\n componentProps: {\r\n options: [\r\n { value: 1, label: \"待激活\" },\r\n { value: 2, label: \"已锁定\", type: \"danger\" },\r\n { value: 3, label: \"正常\", type: \"success\" },\r\n ],\r\n },\r\n }),\r\n new TableColumn({ name: \"memo\", label: \"备注\", minWidth: \"150px\" }),\r\n // new TableColumn({ name: \"email\", label: \"邮箱\", minWidth: \"200px\" }),\r\n // new TableColumn({ name: \"phone\", label: \"手机号\", minWidth: \"120px\" }),\r\n // new TableColumn({ name: \"wechatNo\", label: \"微信号\", minWidth: \"140px\" }),\r\n // new TableColumn({\r\n // name: \"valid\",\r\n // label: \"微信号\",\r\n // minWidth: \"140px\",\r\n // visible: false,\r\n // }),\r\n new TableActionColumn({\r\n width: \"240px\",\r\n buttons: [\r\n new ActionButton({\r\n label: \"激活用户\",\r\n handler: async (row) => {\r\n const response = await this.activeMemberForm.editRecord(row.id);\r\n console.log(this.activeMemberForm.data);\r\n if (response.data.code !== 200) {\r\n Messager.instance.error({ message: response.data.msg });\r\n return;\r\n }\r\n this.isShowActiveMemberForm = true;\r\n },\r\n predicate: (member: MsMemberTableItem) => member.valid === 0,\r\n }),\r\n new ActionButton({\r\n label: \"重置密码\",\r\n handler: async (row) => {\r\n const isConfirm = await Dialoger.instance.confirm({\r\n title: \"重置密码\",\r\n message: \"是否重置密码\",\r\n type: \"warning\",\r\n cancelButtonText: \"取消\",\r\n confirmButtonText: \"确定\",\r\n });\r\n if (!isConfirm) {\r\n return;\r\n }\r\n this.loadingManager.startLoading();\r\n\r\n try {\r\n const response = await this.dataViewRequest.callDVRequest<\r\n R<string>\r\n >({\r\n action: `reset-password/${row.id}`,\r\n });\r\n\r\n if (response.data.code !== 200) {\r\n Messager.instance.error({\r\n message: response.data.msg || \"重置密码失败\",\r\n });\r\n return;\r\n }\r\n\r\n Dialoger.instance.confirm({\r\n title: \"重置密码成功\",\r\n message: (\r\n <p>\r\n <span>\r\n 你的新密码为:\r\n <span style={{ color: \"#1890ff\", marginRight: \"3px\" }}>\r\n {response.data.data}\r\n </span>\r\n <ElTooltip content={\"点击复制\"} placement=\"top\">\r\n <MKSvgIcon\r\n style={{ color: \"#1890ff\", cursor: \"pointer\" }}\r\n onClick={() => {\r\n const input = document.createElement(\"input\");\r\n document.body.appendChild(input);\r\n input.setAttribute(\"value\", response.data.data);\r\n input.select();\r\n if (document.execCommand(\"copy\")) {\r\n document.execCommand(\"copy\");\r\n }\r\n document.body.removeChild(input);\r\n Messager.instance.success({\r\n message: \"复制成功\",\r\n });\r\n }}\r\n iconClass=\"CopyDocument\"\r\n />\r\n </ElTooltip>\r\n </span>\r\n </p>\r\n ),\r\n type: \"warning\",\r\n cancelButtonText: \"取消\",\r\n confirmButtonText: \"确定\",\r\n });\r\n } catch (e) {\r\n console.error(e);\r\n Messager.instance.error({ message: \"网络异常\" });\r\n } finally {\r\n this.loadingManager.completeLoading();\r\n }\r\n },\r\n predicate: (member: MsMemberTableItem) => member.valid === 1,\r\n }),\r\n // new ActionButton({\r\n // label: \"解锁\",\r\n // handler: async (row) => {\r\n // const isConfirm = await Dialoger.instance.confirm({\r\n // title: \"解锁\",\r\n // message: \"是否解锁?\",\r\n // type: \"warning\",\r\n // cancelButtonText: \"取消\",\r\n // confirmButtonText: \"确定\",\r\n // });\r\n // if (!isConfirm) {\r\n // return;\r\n // }\r\n // this.loadingManager.startLoading();\r\n\r\n // const response =\r\n // await this.activeMemberForm.dataViewRequest.update({\r\n // id: row.id,\r\n // isLock: 0,\r\n // errorCount: 0,\r\n // unlockDatetime: null,\r\n // });\r\n\r\n // if (response.data.code !== 200) {\r\n // Messager.instance.error({ message: response.data.msg });\r\n // return;\r\n // }\r\n // this.loadingManager.completeLoading();\r\n // this.load();\r\n // },\r\n // predicate: (member: MsMemberTableItem) => member.isLock === 1,\r\n // }),\r\n new EditButton({\r\n predicate: (member: MsMemberTableItem) => member.valid === 1,\r\n }),\r\n new DeleteButton(),\r\n ],\r\n }),\r\n ]);\r\n }\r\n\r\n protected async initActiveMemberForm() {\r\n const activeMemberForm = this.activeMemberForm;\r\n\r\n await activeMemberForm.init();\r\n\r\n activeMemberForm.setColumns([\r\n activeMemberForm.getColumn(\"id\")!,\r\n new FormColumn({\r\n name: \"valid\",\r\n label: \"是否通过\",\r\n defaultValue: 0,\r\n componentInfo: \"MKFormRadioBox\",\r\n required: true,\r\n componentProps: {\r\n options: [\r\n { label: \"通过\", value: 1 },\r\n { label: \"不通过\", value: 0 },\r\n ],\r\n },\r\n }),\r\n activeMemberForm.getColumn(\"roles\")!,\r\n ]);\r\n\r\n const rolesColumn = activeMemberForm.getColumn(\"roles\")!;\r\n\r\n activeMemberForm.getColumn(\"valid\")!.valueChangeEvent.on(({ value }) => {\r\n rolesColumn.disabled = value !== 1;\r\n });\r\n }\r\n\r\n async approveMember() {\r\n try {\r\n const _data = this.activeMemberForm.data!;\r\n\r\n if (!(await this.activeMemberForm.validate())) {\r\n Messager.instance.error({ message: \"请选择是否通过\" });\r\n return;\r\n }\r\n if (_data.valid == 0) {\r\n this.isShowActiveMemberForm = false;\r\n return;\r\n }\r\n\r\n if (!_data.roles.length) {\r\n Messager.instance.error({ message: \"请分配角色\" });\r\n return;\r\n }\r\n\r\n const result = await this.activeMemberForm.submit();\r\n\r\n // this.activeMemberForm.getLoadingManager().startLoading();\r\n // const result = await this.activeMemberForm.httpRequest?.post(\r\n // \"/ms/dv/ms-member/apply/account/approve\",\r\n // {\r\n // ...this.activeMemberForm.formatSubmitData({\r\n // approveResult: (_data as any).approveResult,\r\n // roles: _data?.roles,\r\n // depts: _data?.depts,\r\n // id: _data?.id,\r\n // }),\r\n // }\r\n // );\r\n // this.activeMemberForm.getLoadingManager().completeLoading();\r\n\r\n if (result?.data.code != 200) {\r\n Messager.instance.error({ message: result?.data.msg || \"请求失败\" });\r\n return;\r\n }\r\n this.isShowActiveMemberForm = false;\r\n Messager.instance.success({\r\n message: \"激活通过,密码已发送到邮箱\",\r\n });\r\n\r\n this.load();\r\n } catch (e) {\r\n console.error(e);\r\n Messager.instance.error({ message: \"网络异常\" });\r\n }\r\n }\r\n\r\n formatItem(item: MsMemberResult): MsMemberTableItem {\r\n return {\r\n ...item,\r\n roles:\r\n item.roles?.map((role) => ({\r\n id: role.id,\r\n name: role.name || \"\",\r\n desc: role.desc || \"\",\r\n })) ?? [],\r\n\r\n type: item.valid === 0 ? 1 : 3,\r\n };\r\n\r\n // return {\r\n // id: item.id,\r\n // name: item.name || \"\",\r\n // wechatNo: item.wechatNo || \"\",\r\n // nickName: item.nickName || \"\",\r\n // email: item.email || \"\",\r\n // phone: item.phone || \"\",\r\n // userName: item.userName || \"\",\r\n // avatar: item.avatar,\r\n // roles:\r\n // item.roles?.map((role) => ({\r\n // id: role.id,\r\n // name: role.name || \"\",\r\n // desc: role.desc || \"\",\r\n // })) ?? [],\r\n // // depts: item.depts?.map((department) => ({\r\n // // id: department.id,\r\n // // name: department.name || \"\",\r\n // // // memberID: department.memberID || null,\r\n // // pid: department.pid || null,\r\n // // })),\r\n // valid: item.valid,\r\n // isLock: item.isLock,\r\n // type: item.valid === 0 ? 1 : item.isLock === 1 ? 2 : 3,\r\n // errorCount: item.errorCount,\r\n // unlockDatetime: item.unlockDatetime,\r\n // };\r\n }\r\n}\r\n"],"names":["MsMemberTable","DataTable","DATA_MODEL_NAME","constructor","options","name","moduleName","MODULE_NAME","activeMemberForm","register","MsMemberForm","formatSubmitData","data","valid","Reflect","deleteProperty","isShowActiveMemberForm","initialize","initActiveMemberForm","MSAppClient","instance","userSession","userInfo","isSuper","buttonTools","splice","dataFilter","getDefaultGroup","addCondition","setColumns","FilterColumn","label","componentInfo","TableColumn","minWidth","componentProps","value","type","TableActionColumn","width","buttons","ActionButton","handler","row","response","editRecord","id","console","log","code","Messager","error","message","msg","predicate","member","isConfirm","Dialoger","confirm","title","cancelButtonText","confirmButtonText","loadingManager","startLoading","dataViewRequest","callDVRequest","action","_createVNode","_createTextVNode","color","marginRight","ElTooltip","default","MKSvgIcon","cursor","onClick","input","document","createElement","body","appendChild","setAttribute","select","execCommand","removeChild","success","e","completeLoading","EditButton","DeleteButton","init","getColumn","FormColumn","defaultValue","required","rolesColumn","valueChangeEvent","on","disabled","approveMember","_data","validate","roles","length","result","submit","load","formatItem","item","map","role","desc"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"MsMemberTable.js","sources":["../../../../../../src/modules/ms/dataviews/ms-member/MsMemberTable.tsx"],"sourcesContent":["import { R } from \"@maketribe/request\";\r\nimport {\r\n TableColumn,\r\n DataTable,\r\n DataTableOptions,\r\n FilterColumn,\r\n TableActionColumn,\r\n ActionButton,\r\n DeleteButton,\r\n EditButton,\r\n Messager,\r\n Dialoger,\r\n FormColumn,\r\n WhereFilter,\r\n} from \"@maketribe/dm\";\r\nimport { MsMember, MsMemberForm, MsMemberResult } from \"./MsMemberForm\";\r\nimport { MSAppClient } from \"../../../../core\";\r\nimport { MKSvgIcon } from \"../../../../components/basic/svg-icon\";\r\nimport { ElTooltip } from \"element-plus\";\r\nimport { DATA_MODEL_NAME } from \"../../../../constants\";\r\nimport { MODULE_NAME } from \"../../constants\";\r\n\r\nexport type MsMemberTableItem = Omit<MsMember, \"passwordHash\"> & {\r\n type: number;\r\n};\r\n\r\nexport class MsMemberTable extends DataTable<\r\n MsMemberResult,\r\n MsMemberTableItem\r\n> {\r\n static [DATA_MODEL_NAME]: string = \"ms-member\";\r\n\r\n activeMemberForm: MsMemberForm;\r\n\r\n isShowActiveMemberForm: boolean;\r\n\r\n constructor(options: DataTableOptions = {}) {\r\n super({\r\n name: MsMemberTable[DATA_MODEL_NAME],\r\n moduleName: MODULE_NAME,\r\n ...options,\r\n });\r\n\r\n this.activeMemberForm = this.register(\r\n new (class extends MsMemberForm {\r\n formatSubmitData(data: any) {\r\n data = super.formatSubmitData(data);\r\n\r\n if (data.valid !== 1) {\r\n Reflect.deleteProperty(data, \"roles\");\r\n }\r\n\r\n return data;\r\n }\r\n })()\r\n );\r\n\r\n this.isShowActiveMemberForm = false;\r\n }\r\n\r\n protected async initialize() {\r\n await super.initialize();\r\n\r\n await this.initActiveMemberForm();\r\n //超管才能导出\r\n if (!MSAppClient.instance?.userSession?.userInfo?.isSuper) {\r\n this.buttonTools.splice(2, 1);\r\n }\r\n //只有超级管理员可以查看超级管理员\r\n if (!MSAppClient.instance?.userSession?.userInfo?.isSuper) {\r\n (this.dataFilter as WhereFilter)\r\n .getDefaultGroup()\r\n .addCondition(\"isSuper\", \"!=\", 1);\r\n }\r\n\r\n this.dataFilter.setColumns([\r\n // new FilterColumn({\r\n // name: \"createdAt\",\r\n // label: \"创建时间\",\r\n // componentInfo: \"MKConditionDate\",\r\n // defaultValue: [\"2024-01-20 00:00:00\", \"2024-01-21 00:00:00\"]\r\n // }),\r\n new FilterColumn({\r\n name: \"name\",\r\n label: \"姓名\",\r\n componentInfo: \"MKConditionInput\",\r\n }),\r\n new FilterColumn({\r\n name: \"wechatNo\",\r\n label: \"微信号\",\r\n componentInfo: \"MKConditionInput\",\r\n }),\r\n new FilterColumn({\r\n name: \"nickName\",\r\n label: \"昵称\",\r\n componentInfo: \"MKConditionInput\",\r\n }),\r\n new FilterColumn({\r\n name: \"email\",\r\n label: \"邮箱\",\r\n componentInfo: \"MKConditionInput\",\r\n }),\r\n new FilterColumn({\r\n name: \"phone\",\r\n label: \"手机号\",\r\n componentInfo: \"MKConditionInput\",\r\n }),\r\n new FilterColumn({\r\n name: \"username\",\r\n label: \"账号\",\r\n componentInfo: \"MKConditionInput\",\r\n }),\r\n ]);\r\n\r\n this.setColumns([\r\n new TableColumn({ name: \"name\", label: \"账号信息\", minWidth: \"300px\" }),\r\n new TableColumn({ name: \"roles\", label: \"角色\", minWidth: \"150px\" }),\r\n new TableColumn({\r\n name: \"type\",\r\n label: \"状态\",\r\n minWidth: \"80px\",\r\n componentInfo: \"MKColumnTag\",\r\n componentProps: {\r\n options: [\r\n { value: 1, label: \"待激活\" },\r\n { value: 2, label: \"已锁定\", type: \"danger\" },\r\n { value: 3, label: \"正常\", type: \"success\" },\r\n ],\r\n },\r\n }),\r\n new TableColumn({ name: \"memo\", label: \"备注\", minWidth: \"150px\" }),\r\n // new TableColumn({ name: \"email\", label: \"邮箱\", minWidth: \"200px\" }),\r\n // new TableColumn({ name: \"phone\", label: \"手机号\", minWidth: \"120px\" }),\r\n // new TableColumn({ name: \"wechatNo\", label: \"微信号\", minWidth: \"140px\" }),\r\n // new TableColumn({\r\n // name: \"valid\",\r\n // label: \"微信号\",\r\n // minWidth: \"140px\",\r\n // visible: false,\r\n // }),\r\n new TableActionColumn({\r\n width: \"240px\",\r\n buttons: [\r\n new ActionButton({\r\n label: \"激活用户\",\r\n handler: async (row) => {\r\n const response = await this.activeMemberForm.editRecord(row.id);\r\n // console.log(this.activeMemberForm.data);\r\n if (response.data.code !== 200) {\r\n Messager.instance.error({ message: response.data.msg });\r\n return;\r\n }\r\n\r\n this.isShowActiveMemberForm = true;\r\n },\r\n predicate: (member: MsMemberTableItem) => member.valid === 0,\r\n }),\r\n new ActionButton({\r\n label: \"重置密码\",\r\n handler: async (row) => {\r\n const isConfirm = await Dialoger.instance.confirm({\r\n title: \"重置密码\",\r\n message: \"是否重置密码\",\r\n type: \"warning\",\r\n cancelButtonText: \"取消\",\r\n confirmButtonText: \"确定\",\r\n });\r\n if (!isConfirm) {\r\n return;\r\n }\r\n this.loadingManager.startLoading();\r\n\r\n try {\r\n const response = await this.dataViewRequest.callDVRequest<\r\n R<string>\r\n >({\r\n action: `reset-password/${row.id}`,\r\n });\r\n\r\n if (response.data.code !== 200) {\r\n Messager.instance.error({\r\n message: response.data.msg || \"重置密码失败\",\r\n });\r\n return;\r\n }\r\n\r\n Dialoger.instance.confirm({\r\n title: \"重置密码成功\",\r\n message: (\r\n <p>\r\n <span>\r\n 你的新密码为:\r\n <span style={{ color: \"#1890ff\", marginRight: \"3px\" }}>\r\n {response.data.data}\r\n </span>\r\n <ElTooltip content={\"点击复制\"} placement=\"top\">\r\n <MKSvgIcon\r\n style={{ color: \"#1890ff\", cursor: \"pointer\" }}\r\n onClick={() => {\r\n const input = document.createElement(\"input\");\r\n document.body.appendChild(input);\r\n input.setAttribute(\"value\", response.data.data);\r\n input.select();\r\n if (document.execCommand(\"copy\")) {\r\n document.execCommand(\"copy\");\r\n }\r\n document.body.removeChild(input);\r\n Messager.instance.success({\r\n message: \"复制成功\",\r\n });\r\n }}\r\n iconClass=\"CopyDocument\"\r\n />\r\n </ElTooltip>\r\n </span>\r\n </p>\r\n ),\r\n type: \"warning\",\r\n cancelButtonText: \"取消\",\r\n confirmButtonText: \"确定\",\r\n });\r\n } catch (e) {\r\n console.error(e);\r\n Messager.instance.error({ message: \"网络异常\" });\r\n } finally {\r\n this.loadingManager.completeLoading();\r\n }\r\n },\r\n predicate: (member: MsMemberTableItem) => member.valid === 1,\r\n }),\r\n // new ActionButton({\r\n // label: \"解锁\",\r\n // handler: async (row) => {\r\n // const isConfirm = await Dialoger.instance.confirm({\r\n // title: \"解锁\",\r\n // message: \"是否解锁?\",\r\n // type: \"warning\",\r\n // cancelButtonText: \"取消\",\r\n // confirmButtonText: \"确定\",\r\n // });\r\n // if (!isConfirm) {\r\n // return;\r\n // }\r\n // this.loadingManager.startLoading();\r\n\r\n // const response =\r\n // await this.activeMemberForm.dataViewRequest.update({\r\n // id: row.id,\r\n // isLock: 0,\r\n // errorCount: 0,\r\n // unlockDatetime: null,\r\n // });\r\n\r\n // if (response.data.code !== 200) {\r\n // Messager.instance.error({ message: response.data.msg });\r\n // return;\r\n // }\r\n // this.loadingManager.completeLoading();\r\n // this.load();\r\n // },\r\n // predicate: (member: MsMemberTableItem) => member.isLock === 1,\r\n // }),\r\n new EditButton({\r\n predicate: (member: MsMemberTableItem) => member.valid === 1,\r\n }),\r\n new DeleteButton(),\r\n ],\r\n }),\r\n ]);\r\n }\r\n\r\n protected async initActiveMemberForm() {\r\n const activeMemberForm = this.activeMemberForm;\r\n\r\n await activeMemberForm.init();\r\n\r\n activeMemberForm.setColumns([\r\n activeMemberForm.getColumn(\"id\")!,\r\n new FormColumn({\r\n name: \"valid\",\r\n label: \"是否通过\",\r\n defaultValue: 0,\r\n componentInfo: \"MKFormRadioBox\",\r\n required: true,\r\n componentProps: {\r\n options: [\r\n { label: \"通过\", value: 1 },\r\n { label: \"不通过\", value: 0 },\r\n ],\r\n },\r\n }),\r\n activeMemberForm.getColumn(\"roles\")!,\r\n ]);\r\n\r\n const rolesColumn = activeMemberForm.getColumn(\"roles\")!;\r\n\r\n activeMemberForm.getColumn(\"valid\")!.valueChangeEvent.on(({ value }) => {\r\n rolesColumn.disabled = value !== 1;\r\n });\r\n }\r\n\r\n async approveMember() {\r\n try {\r\n if (this.activeMemberForm.loading) {\r\n return;\r\n }\r\n\r\n this.activeMemberForm.getLoadingManager().startLoading();\r\n\r\n const _data = this.activeMemberForm.data!;\r\n\r\n if (!(await this.activeMemberForm.validate())) {\r\n Messager.instance.error({ message: \"请选择是否通过\" });\r\n return;\r\n }\r\n if (_data.valid == 0) {\r\n this.isShowActiveMemberForm = false;\r\n return;\r\n }\r\n\r\n if (!_data.roles.length) {\r\n Messager.instance.error({ message: \"请分配角色\" });\r\n return;\r\n }\r\n\r\n const response = await this.dataViewRequest.callDVRequest({\r\n action: \"active\",\r\n data: {\r\n id: _data.id,\r\n roles: _data.roles ?? [],\r\n },\r\n });\r\n\r\n if (response?.data.code != 200) {\r\n Messager.instance.error({ message: response?.data.msg || \"请求失败\" });\r\n return;\r\n }\r\n this.isShowActiveMemberForm = false;\r\n Messager.instance.success({\r\n message: \"激活通过,密码已发送到邮箱\",\r\n });\r\n\r\n this.load();\r\n } catch (e) {\r\n console.error(e);\r\n Messager.instance.error({ message: \"网络异常\" });\r\n } finally {\r\n this.activeMemberForm.getLoadingManager().completeLoading();\r\n }\r\n }\r\n\r\n formatItem(item: MsMemberResult): MsMemberTableItem {\r\n return {\r\n ...item,\r\n roles:\r\n item.roles?.map((role) => ({\r\n id: role.id,\r\n name: role.name || \"\",\r\n desc: role.desc || \"\",\r\n })) ?? [],\r\n\r\n type: item.valid === 0 ? 1 : 3,\r\n };\r\n\r\n // return {\r\n // id: item.id,\r\n // name: item.name || \"\",\r\n // wechatNo: item.wechatNo || \"\",\r\n // nickName: item.nickName || \"\",\r\n // email: item.email || \"\",\r\n // phone: item.phone || \"\",\r\n // userName: item.userName || \"\",\r\n // avatar: item.avatar,\r\n // roles:\r\n // item.roles?.map((role) => ({\r\n // id: role.id,\r\n // name: role.name || \"\",\r\n // desc: role.desc || \"\",\r\n // })) ?? [],\r\n // // depts: item.depts?.map((department) => ({\r\n // // id: department.id,\r\n // // name: department.name || \"\",\r\n // // // memberID: department.memberID || null,\r\n // // pid: department.pid || null,\r\n // // })),\r\n // valid: item.valid,\r\n // isLock: item.isLock,\r\n // type: item.valid === 0 ? 1 : item.isLock === 1 ? 2 : 3,\r\n // errorCount: item.errorCount,\r\n // unlockDatetime: item.unlockDatetime,\r\n // };\r\n }\r\n}\r\n"],"names":["MsMemberTable","DataTable","DATA_MODEL_NAME","constructor","options","name","moduleName","MODULE_NAME","activeMemberForm","register","MsMemberForm","formatSubmitData","data","valid","Reflect","deleteProperty","isShowActiveMemberForm","initialize","initActiveMemberForm","MSAppClient","instance","userSession","userInfo","isSuper","buttonTools","splice","dataFilter","getDefaultGroup","addCondition","setColumns","FilterColumn","label","componentInfo","TableColumn","minWidth","componentProps","value","type","TableActionColumn","width","buttons","ActionButton","handler","row","response","editRecord","id","code","Messager","error","message","msg","predicate","member","isConfirm","Dialoger","confirm","title","cancelButtonText","confirmButtonText","loadingManager","startLoading","dataViewRequest","callDVRequest","action","_createVNode","_createTextVNode","color","marginRight","ElTooltip","default","MKSvgIcon","cursor","onClick","input","document","createElement","body","appendChild","setAttribute","select","execCommand","removeChild","success","e","console","completeLoading","EditButton","DeleteButton","init","getColumn","FormColumn","defaultValue","required","rolesColumn","valueChangeEvent","on","disabled","approveMember","loading","getLoadingManager","_data","validate","roles","length","load","formatItem","item","map","role","desc"],"mappings":"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"}
|
|
@@ -16,6 +16,7 @@ require('../../../../components/basic/data-table-select/index.js');
|
|
|
16
16
|
require('../../../../components/basic/data-select/index.js');
|
|
17
17
|
require('../../../../components/basic/pagination/index.js');
|
|
18
18
|
require('../../../../components/basic/system-provider/index.js');
|
|
19
|
+
require('../../../../components/basic/code-editor/index.js');
|
|
19
20
|
require('../../../../components/basic/json-editor/index.js');
|
|
20
21
|
require('../../../../components/basic/page-container/index.js');
|
|
21
22
|
require('../../../../components/basic/date-picker/index.js');
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.vue2.js","sources":["../../../../../../src/modules/ms/pages/local-log/index.vue"],"sourcesContent":["<template>\r\n <MKDataTablePage\r\n v-if=\"localLogTree\"\r\n :auto-load=\"false\"\r\n :data-table=\"localLogTree\"\r\n >\r\n <div class=\"mk-local-log__main\">\r\n <ElCard>\r\n <ElScrollbar height=\"100%\">\r\n <MKTree\r\n v-loading=\"localLogTree.loading\"\r\n lazy\r\n :data-tree=\"localLogTree\"\r\n :defaultExpandAll=\"false\"\r\n ref=\"treeRef\"\r\n >\r\n <template #node-tools=\"{ node, data }\">\r\n <ElButton\r\n v-if=\"!data.data.isDirectory\"\r\n type=\"primary\"\r\n link\r\n @click=\"handleViewLogClick(data)\"\r\n >\r\n 下载\r\n </ElButton>\r\n <ElButton\r\n v-else-if=\"node.expanded\"\r\n type=\"primary\"\r\n link\r\n @click=\"handleRefresh(node, data)\"\r\n >\r\n 刷新\r\n </ElButton>\r\n </template>\r\n </MKTree>\r\n </ElScrollbar>\r\n </ElCard>\r\n </div>\r\n </MKDataTablePage>\r\n</template>\r\n\r\n<script setup lang=\"ts\">\r\nimport { reactive, onMounted, ref, unref, Ref } from \"vue\";\r\nimport { ElScrollbar, ElCard, ElMessage } from \"element-plus\";\r\nimport { DataModelDefines } from \"../../../../core\";\r\nimport { LocalLogTree } from \"../../dataviews\";\r\nimport { MKTree } from \"../../../../components\";\r\n\r\nconst treeRef: Ref<InstanceType<typeof MKTree> | null> = ref(null);\r\n\r\nconst localLogTree = reactive(\r\n DataModelDefines.instance.getDataTree(\"local-log\")!\r\n) as LocalLogTree;\r\n\r\nconst handleRefresh = (node: any, dataTreeNode: any) => {\r\n for (let i = node.childNodes.length - 1; i >= 0; i--) {\r\n node.childNodes[i].remove();\r\n }\r\n\r\n dataTreeNode.load();\r\n};\r\n\r\nconst handleViewLogClick = async (node: any) => {\r\n try {\r\n const response = await localLogTree.httpRequest.get(\r\n \"/ms/ms/system/view-local-log-file\",\r\n {\r\n params: { filename: node.data!.path },\r\n responseType: \"blob\",\r\n }\r\n );\r\n const url = URL.createObjectURL(response.data);\r\n\r\n const a = document.createElement(\"a\");\r\n a.target = \"_blank\";\r\n a.download = node.data.name;\r\n a.href = url;\r\n\r\n a.click();\r\n } catch (e) {\r\n console.error(e);\r\n\r\n ElMessage.error(\"网络异常\");\r\n }\r\n};\r\n\r\nonMounted(() => {\r\n localLogTree.initdEvent.once(async () => {\r\n setTimeout(() => {\r\n const node = unref(treeRef)?.treeRef?.getNode(localLogTree.rootNode!.id);\r\n\r\n if (node) {\r\n node.expand();\r\n }\r\n });\r\n });\r\n});\r\n</script>\r\n"],"names":["ref","reactive","DataModelDefines","ElMessage","onMounted","unref"],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.vue2.js","sources":["../../../../../../src/modules/ms/pages/local-log/index.vue"],"sourcesContent":["<template>\r\n <MKDataTablePage\r\n v-if=\"localLogTree\"\r\n :auto-load=\"false\"\r\n :data-table=\"localLogTree\"\r\n >\r\n <div class=\"mk-local-log__main\">\r\n <ElCard>\r\n <ElScrollbar height=\"100%\">\r\n <MKTree\r\n v-loading=\"localLogTree.loading\"\r\n lazy\r\n :data-tree=\"localLogTree\"\r\n :defaultExpandAll=\"false\"\r\n ref=\"treeRef\"\r\n >\r\n <template #node-tools=\"{ node, data }\">\r\n <ElButton\r\n v-if=\"!data.data.isDirectory\"\r\n type=\"primary\"\r\n link\r\n @click=\"handleViewLogClick(data)\"\r\n >\r\n 下载\r\n </ElButton>\r\n <ElButton\r\n v-else-if=\"node.expanded\"\r\n type=\"primary\"\r\n link\r\n @click=\"handleRefresh(node, data)\"\r\n >\r\n 刷新\r\n </ElButton>\r\n </template>\r\n </MKTree>\r\n </ElScrollbar>\r\n </ElCard>\r\n </div>\r\n </MKDataTablePage>\r\n</template>\r\n\r\n<script setup lang=\"ts\">\r\nimport { reactive, onMounted, ref, unref, Ref } from \"vue\";\r\nimport { ElScrollbar, ElCard, ElMessage } from \"element-plus\";\r\nimport { DataModelDefines } from \"../../../../core\";\r\nimport { LocalLogTree } from \"../../dataviews\";\r\nimport { MKTree } from \"../../../../components\";\r\n\r\nconst treeRef: Ref<InstanceType<typeof MKTree> | null> = ref(null);\r\n\r\nconst localLogTree = reactive(\r\n DataModelDefines.instance.getDataTree(\"local-log\")!\r\n) as LocalLogTree;\r\n\r\nconst handleRefresh = (node: any, dataTreeNode: any) => {\r\n for (let i = node.childNodes.length - 1; i >= 0; i--) {\r\n node.childNodes[i].remove();\r\n }\r\n\r\n dataTreeNode.load();\r\n};\r\n\r\nconst handleViewLogClick = async (node: any) => {\r\n try {\r\n const response = await localLogTree.httpRequest.get(\r\n \"/ms/ms/system/view-local-log-file\",\r\n {\r\n params: { filename: node.data!.path },\r\n responseType: \"blob\",\r\n }\r\n );\r\n const url = URL.createObjectURL(response.data);\r\n\r\n const a = document.createElement(\"a\");\r\n a.target = \"_blank\";\r\n a.download = node.data.name;\r\n a.href = url;\r\n\r\n a.click();\r\n } catch (e) {\r\n console.error(e);\r\n\r\n ElMessage.error(\"网络异常\");\r\n }\r\n};\r\n\r\nonMounted(() => {\r\n localLogTree.initdEvent.once(async () => {\r\n setTimeout(() => {\r\n const node = unref(treeRef)?.treeRef?.getNode(localLogTree.rootNode!.id);\r\n\r\n if (node) {\r\n node.expand();\r\n }\r\n });\r\n });\r\n});\r\n</script>\r\n"],"names":["ref","reactive","DataModelDefines","ElMessage","onMounted","unref"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAgDA,IAAM,MAAA,OAAA,GAAmDA,QAAI,IAAI,CAAA,CAAA;AAEjE,IAAA,MAAM,YAAe,GAAAC,YAAA;AAAA,MACnBC,iCAAA,CAAiB,QAAS,CAAA,WAAA,CAAY,WAAW,CAAA;AAAA,KACnD,CAAA;AAEA,IAAM,MAAA,aAAA,GAAgB,CAAC,IAAA,EAAW,YAAsB,KAAA;AACtD,MAAA,KAAA,IAAS,IAAI,IAAK,CAAA,UAAA,CAAW,SAAS,CAAG,EAAA,CAAA,IAAK,GAAG,CAAK,EAAA,EAAA;AACpD,QAAK,IAAA,CAAA,UAAA,CAAW,CAAC,CAAA,CAAE,MAAO,EAAA,CAAA;AAAA,OAC5B;AAEA,MAAA,YAAA,CAAa,IAAK,EAAA,CAAA;AAAA,KACpB,CAAA;AAEA,IAAM,MAAA,kBAAA,GAAqB,OAAO,IAAc,KAAA;AAC9C,MAAI,IAAA;AACF,QAAM,MAAA,QAAA,GAAW,MAAM,YAAA,CAAa,WAAY,CAAA,GAAA;AAAA,UAC9C,mCAAA;AAAA,UACA;AAAA,YACE,MAAQ,EAAA,EAAE,QAAU,EAAA,IAAA,CAAK,KAAM,IAAK,EAAA;AAAA,YACpC,YAAc,EAAA,MAAA;AAAA,WAChB;AAAA,SACF,CAAA;AACA,QAAA,MAAM,GAAM,GAAA,GAAA,CAAI,eAAgB,CAAA,QAAA,CAAS,IAAI,CAAA,CAAA;AAE7C,QAAM,MAAA,CAAA,GAAI,QAAS,CAAA,aAAA,CAAc,GAAG,CAAA,CAAA;AACpC,QAAA,CAAA,CAAE,MAAS,GAAA,QAAA,CAAA;AACX,QAAE,CAAA,CAAA,QAAA,GAAW,KAAK,IAAK,CAAA,IAAA,CAAA;AACvB,QAAA,CAAA,CAAE,IAAO,GAAA,GAAA,CAAA;AAET,QAAA,CAAA,CAAE,KAAM,EAAA,CAAA;AAAA,eACD,CAAG,EAAA;AACV,QAAA,OAAA,CAAQ,MAAM,CAAC,CAAA,CAAA;AAEf,QAAAC,qBAAA,CAAU,MAAM,0BAAM,CAAA,CAAA;AAAA,OACxB;AAAA,KACF,CAAA;AAEA,IAAAC,aAAA,CAAU,MAAM;AACd,MAAa,YAAA,CAAA,UAAA,CAAW,KAAK,YAAY;AACvC,QAAA,UAAA,CAAW,MAAM;AACf,UAAM,MAAA,IAAA,GAAOC,UAAM,OAAO,CAAA,EAAG,SAAS,OAAQ,CAAA,YAAA,CAAa,SAAU,EAAE,CAAA,CAAA;AAEvE,UAAA,IAAI,IAAM,EAAA;AACR,YAAA,IAAA,CAAK,MAAO,EAAA,CAAA;AAAA,WACd;AAAA,SACD,CAAA,CAAA;AAAA,OACF,CAAA,CAAA;AAAA,KACF,CAAA,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
|
@@ -23,6 +23,7 @@ require('../../../../components/basic/data-table-select/index.js');
|
|
|
23
23
|
require('../../../../components/basic/data-select/index.js');
|
|
24
24
|
require('../../../../components/basic/pagination/index.js');
|
|
25
25
|
require('../../../../components/basic/system-provider/index.js');
|
|
26
|
+
require('../../../../components/basic/code-editor/index.js');
|
|
26
27
|
require('../../../../components/basic/json-editor/index.js');
|
|
27
28
|
var index = require('../../../../components/basic/page-container/index.js');
|
|
28
29
|
require('../../../../components/basic/date-picker/index.js');
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.vue2.js","sources":["../../../../../../src/modules/ms/pages/ms-material/index.vue"],"sourcesContent":["<template>\r\n <MKPageContainer>\r\n <MKMaterialList :material-man=\"materialMan\" />\r\n </MKPageContainer>\r\n</template>\r\n<script setup lang=\"ts\">\r\nimport { reactive } from \"vue\";\r\nimport { MsMaterialMan } from \"../../dataviews\";\r\nimport { MKPageContainer } from \"../../../../components\";\r\nimport { MSAppClient } from \"../../../../core\";\r\nimport { MKMaterialList } from \"../../components\";\r\n\r\nconst materialMan = reactive(\r\n new MsMaterialMan({ httpRequest: MSAppClient.instance!.httpRequest })\r\n) as MsMaterialMan;\r\n</script>\r\n"],"names":["reactive","MsMaterialMan","MSAppClient"],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.vue2.js","sources":["../../../../../../src/modules/ms/pages/ms-material/index.vue"],"sourcesContent":["<template>\r\n <MKPageContainer>\r\n <MKMaterialList :material-man=\"materialMan\" />\r\n </MKPageContainer>\r\n</template>\r\n<script setup lang=\"ts\">\r\nimport { reactive } from \"vue\";\r\nimport { MsMaterialMan } from \"../../dataviews\";\r\nimport { MKPageContainer } from \"../../../../components\";\r\nimport { MSAppClient } from \"../../../../core\";\r\nimport { MKMaterialList } from \"../../components\";\r\n\r\nconst materialMan = reactive(\r\n new MsMaterialMan({ httpRequest: MSAppClient.instance!.httpRequest })\r\n) as MsMaterialMan;\r\n</script>\r\n"],"names":["reactive","MsMaterialMan","MSAppClient"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAYA,IAAA,MAAM,WAAc,GAAAA,YAAA;AAAA,MAClB,IAAIC,2BAAc,CAAA,EAAE,aAAaC,uBAAY,CAAA,QAAA,CAAU,aAAa,CAAA;AAAA,KACtE,CAAA;;;;;;;;;;;;;;;"}
|
|
@@ -16,6 +16,7 @@ require('../../../../components/basic/data-table-select/index.js');
|
|
|
16
16
|
require('../../../../components/basic/data-select/index.js');
|
|
17
17
|
require('../../../../components/basic/pagination/index.js');
|
|
18
18
|
require('../../../../components/basic/system-provider/index.js');
|
|
19
|
+
require('../../../../components/basic/code-editor/index.js');
|
|
19
20
|
require('../../../../components/basic/json-editor/index.js');
|
|
20
21
|
var index = require('../../../../components/basic/page-container/index.js');
|
|
21
22
|
require('../../../../components/basic/date-picker/index.js');
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.vue2.js","sources":["../../../../../../src/modules/ms/pages/ms-member/index.vue"],"sourcesContent":["<template>\r\n <!-- <DefaultSingleListPage :data-table=\"memberTable\" /> -->\r\n <MKPageContainer v-if=\"memberTable\">\r\n <MKDataTable :data-table=\"memberTable\">\r\n <MKTableView :data-table=\"memberTable\">\r\n <MKTable :data-table=\"memberTable\">\r\n <template #col-name-content=\"{ row }\">\r\n <div class=\"member-info\">\r\n <ElImage :src=\"row.avatar\" class=\"member-info-img\">\r\n <template #error>\r\n <MKSvgIcon icon-class=\"User\" class=\"member-info-img__icon\" />\r\n </template>\r\n </ElImage>\r\n <div class=\"member-info-text\">\r\n <span class=\"member-info-text__name\">{{ row.name }}</span>\r\n <span class=\"member-info-text__email\">{{ row.email }}</span>\r\n </div>\r\n </div>\r\n </template>\r\n <template #col-roles-content=\"{ row }\">\r\n <div class=\"roles-Info\">\r\n <ElTag\r\n v-for=\"role in row.roles\"\r\n :key=\"role.id\"\r\n size=\"large\"\r\n type=\"info\"\r\n class=\"roles-Info-tag\"\r\n >\r\n {{ role.desc }}</ElTag\r\n >\r\n </div>\r\n </template>\r\n </MKTable>\r\n </MKTableView>\r\n </MKDataTable>\r\n </MKPageContainer>\r\n\r\n <ElDialog\r\n v-model=\"memberTable.isShowActiveMemberForm\"\r\n class=\"dialogClass\"\r\n title=\"激活成员\"\r\n append-to-body\r\n >\r\n <MKDataForm :data-form=\"activeMemberForm\">\r\n <MKForm :data-form=\"activeMemberForm\"> </MKForm>\r\n </MKDataForm>\r\n <template #footer>\r\n <ElButton\r\n @click=\"handleActiveMemberConfirm\"\r\n type=\"primary\"\r\n :loading=\"activeMemberForm.loading\"\r\n >\r\n 确定\r\n </ElButton>\r\n </template>\r\n </ElDialog>\r\n</template>\r\n\r\n<script setup lang=\"ts\">\r\nimport { computed, reactive } from \"vue\";\r\nimport { useRouter } from \"vue-router\";\r\nimport { ElButton, ElDialog, ElImage, ElTag } from \"element-plus\";\r\nimport { DataModelDefines } from \"../../../../core\";\r\nimport {\r\n MKDataForm,\r\n MKDataTable,\r\n MKPageContainer,\r\n MKTableView,\r\n MKTable,\r\n MKSvgIcon,\r\n MKForm,\r\n} from \"../../../../components\";\r\nimport { MsMemberTable } from \"../../dataviews\";\r\n\r\ndefineOptions({\r\n mkRoute: {\r\n name: \"dv/ms-member/list\",\r\n },\r\n});\r\nconst memberTable = reactive(\r\n DataModelDefines.instance.getDataTable(\"ms-member\")!\r\n) as MsMemberTable;\r\nconst activeMemberForm = computed(() => memberTable.activeMemberForm);\r\nconst router = useRouter();\r\nconst handleActiveMemberConfirm = async () => {\r\n memberTable.approveMember();\r\n};\r\n\r\nmemberTable.addRecordEvent.on(() => {\r\n router.push({\r\n name: \"dv/ms-member/edit\",\r\n });\r\n});\r\n\r\nmemberTable.editRecordEvent.on(({ item }) => {\r\n router.push({ name: \"dv/ms-member/edit\", params: { id: item.id } });\r\n});\r\n</script>\r\n<style lang=\"scss\"></style>\r\n"],"names":["reactive","DataModelDefines","computed","useRouter"],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.vue2.js","sources":["../../../../../../src/modules/ms/pages/ms-member/index.vue"],"sourcesContent":["<template>\r\n <!-- <DefaultSingleListPage :data-table=\"memberTable\" /> -->\r\n <MKPageContainer v-if=\"memberTable\">\r\n <MKDataTable :data-table=\"memberTable\">\r\n <MKTableView :data-table=\"memberTable\">\r\n <MKTable :data-table=\"memberTable\">\r\n <template #col-name-content=\"{ row }\">\r\n <div class=\"member-info\">\r\n <ElImage :src=\"row.avatar\" class=\"member-info-img\">\r\n <template #error>\r\n <MKSvgIcon icon-class=\"User\" class=\"member-info-img__icon\" />\r\n </template>\r\n </ElImage>\r\n <div class=\"member-info-text\">\r\n <span class=\"member-info-text__name\">{{ row.name }}</span>\r\n <span class=\"member-info-text__email\">{{ row.email }}</span>\r\n </div>\r\n </div>\r\n </template>\r\n <template #col-roles-content=\"{ row }\">\r\n <div class=\"roles-Info\">\r\n <ElTag\r\n v-for=\"role in row.roles\"\r\n :key=\"role.id\"\r\n size=\"large\"\r\n type=\"info\"\r\n class=\"roles-Info-tag\"\r\n >\r\n {{ role.desc }}</ElTag\r\n >\r\n </div>\r\n </template>\r\n </MKTable>\r\n </MKTableView>\r\n </MKDataTable>\r\n </MKPageContainer>\r\n\r\n <ElDialog\r\n v-model=\"memberTable.isShowActiveMemberForm\"\r\n class=\"dialogClass\"\r\n title=\"激活成员\"\r\n append-to-body\r\n >\r\n <MKDataForm :data-form=\"activeMemberForm\">\r\n <MKForm :data-form=\"activeMemberForm\"> </MKForm>\r\n </MKDataForm>\r\n <template #footer>\r\n <ElButton\r\n @click=\"handleActiveMemberConfirm\"\r\n type=\"primary\"\r\n :loading=\"activeMemberForm.loading\"\r\n >\r\n 确定\r\n </ElButton>\r\n </template>\r\n </ElDialog>\r\n</template>\r\n\r\n<script setup lang=\"ts\">\r\nimport { computed, reactive } from \"vue\";\r\nimport { useRouter } from \"vue-router\";\r\nimport { ElButton, ElDialog, ElImage, ElTag } from \"element-plus\";\r\nimport { DataModelDefines } from \"../../../../core\";\r\nimport {\r\n MKDataForm,\r\n MKDataTable,\r\n MKPageContainer,\r\n MKTableView,\r\n MKTable,\r\n MKSvgIcon,\r\n MKForm,\r\n} from \"../../../../components\";\r\nimport { MsMemberTable } from \"../../dataviews\";\r\n\r\ndefineOptions({\r\n mkRoute: {\r\n name: \"dv/ms-member/list\",\r\n },\r\n});\r\nconst memberTable = reactive(\r\n DataModelDefines.instance.getDataTable(\"ms-member\")!\r\n) as MsMemberTable;\r\nconst activeMemberForm = computed(() => memberTable.activeMemberForm);\r\nconst router = useRouter();\r\nconst handleActiveMemberConfirm = async () => {\r\n memberTable.approveMember();\r\n};\r\n\r\nmemberTable.addRecordEvent.on(() => {\r\n router.push({\r\n name: \"dv/ms-member/edit\",\r\n });\r\n});\r\n\r\nmemberTable.editRecordEvent.on(({ item }) => {\r\n router.push({ name: \"dv/ms-member/edit\", params: { id: item.id } });\r\n});\r\n</script>\r\n<style lang=\"scss\"></style>\r\n"],"names":["reactive","DataModelDefines","computed","useRouter"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA+EA,IAAA,MAAM,WAAc,GAAAA,YAAA;AAAA,MAClBC,iCAAA,CAAiB,QAAS,CAAA,YAAA,CAAa,WAAW,CAAA;AAAA,KACpD,CAAA;AACA,IAAA,MAAM,gBAAmB,GAAAC,YAAA,CAAS,MAAM,WAAA,CAAY,gBAAgB,CAAA,CAAA;AACpE,IAAA,MAAM,SAASC,mBAAU,EAAA,CAAA;AACzB,IAAA,MAAM,4BAA4B,YAAY;AAC5C,MAAA,WAAA,CAAY,aAAc,EAAA,CAAA;AAAA,KAC5B,CAAA;AAEA,IAAY,WAAA,CAAA,cAAA,CAAe,GAAG,MAAM;AAClC,MAAA,MAAA,CAAO,IAAK,CAAA;AAAA,QACV,IAAM,EAAA,mBAAA;AAAA,OACP,CAAA,CAAA;AAAA,KACF,CAAA,CAAA;AAED,IAAA,WAAA,CAAY,eAAgB,CAAA,EAAA,CAAG,CAAC,EAAE,MAAW,KAAA;AAC3C,MAAO,MAAA,CAAA,IAAA,CAAK,EAAE,IAAA,EAAM,mBAAqB,EAAA,MAAA,EAAQ,EAAE,EAAI,EAAA,IAAA,CAAK,EAAG,EAAA,EAAG,CAAA,CAAA;AAAA,KACnE,CAAA,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
|
@@ -104,6 +104,21 @@ function completeFromList(list) {
|
|
|
104
104
|
return token || context.explicit ? { from: token ? token.from : context.pos, options, validFor } : null;
|
|
105
105
|
};
|
|
106
106
|
}
|
|
107
|
+
/**
|
|
108
|
+
Wrap the given completion source so that it will not fire when the
|
|
109
|
+
cursor is in a syntax node with one of the given names.
|
|
110
|
+
*/
|
|
111
|
+
function ifNotIn(nodes, source) {
|
|
112
|
+
return (context) => {
|
|
113
|
+
for (let pos = index$2.syntaxTree(context.state).resolveInner(context.pos, -1); pos; pos = pos.parent) {
|
|
114
|
+
if (nodes.indexOf(pos.name) > -1)
|
|
115
|
+
return null;
|
|
116
|
+
if (pos.type.isTop)
|
|
117
|
+
break;
|
|
118
|
+
}
|
|
119
|
+
return source(context);
|
|
120
|
+
};
|
|
121
|
+
}
|
|
107
122
|
class Option {
|
|
108
123
|
constructor(completion, source, match, score) {
|
|
109
124
|
this.completion = completion;
|
|
@@ -1318,6 +1333,260 @@ const baseTheme = /*@__PURE__*/index.EditorView.baseTheme({
|
|
|
1318
1333
|
}
|
|
1319
1334
|
});
|
|
1320
1335
|
|
|
1336
|
+
class FieldPos {
|
|
1337
|
+
constructor(field, line, from, to) {
|
|
1338
|
+
this.field = field;
|
|
1339
|
+
this.line = line;
|
|
1340
|
+
this.from = from;
|
|
1341
|
+
this.to = to;
|
|
1342
|
+
}
|
|
1343
|
+
}
|
|
1344
|
+
class FieldRange {
|
|
1345
|
+
constructor(field, from, to) {
|
|
1346
|
+
this.field = field;
|
|
1347
|
+
this.from = from;
|
|
1348
|
+
this.to = to;
|
|
1349
|
+
}
|
|
1350
|
+
map(changes) {
|
|
1351
|
+
let from = changes.mapPos(this.from, -1, index$1.MapMode.TrackDel);
|
|
1352
|
+
let to = changes.mapPos(this.to, 1, index$1.MapMode.TrackDel);
|
|
1353
|
+
return from == null || to == null ? null : new FieldRange(this.field, from, to);
|
|
1354
|
+
}
|
|
1355
|
+
}
|
|
1356
|
+
class Snippet {
|
|
1357
|
+
constructor(lines, fieldPositions) {
|
|
1358
|
+
this.lines = lines;
|
|
1359
|
+
this.fieldPositions = fieldPositions;
|
|
1360
|
+
}
|
|
1361
|
+
instantiate(state, pos) {
|
|
1362
|
+
let text = [], lineStart = [pos];
|
|
1363
|
+
let lineObj = state.doc.lineAt(pos), baseIndent = /^\s*/.exec(lineObj.text)[0];
|
|
1364
|
+
for (let line of this.lines) {
|
|
1365
|
+
if (text.length) {
|
|
1366
|
+
let indent = baseIndent, tabs = /^\t*/.exec(line)[0].length;
|
|
1367
|
+
for (let i = 0; i < tabs; i++)
|
|
1368
|
+
indent += state.facet(index$2.indentUnit);
|
|
1369
|
+
lineStart.push(pos + indent.length - tabs);
|
|
1370
|
+
line = indent + line.slice(tabs);
|
|
1371
|
+
}
|
|
1372
|
+
text.push(line);
|
|
1373
|
+
pos += line.length + 1;
|
|
1374
|
+
}
|
|
1375
|
+
let ranges = this.fieldPositions.map(pos => new FieldRange(pos.field, lineStart[pos.line] + pos.from, lineStart[pos.line] + pos.to));
|
|
1376
|
+
return { text, ranges };
|
|
1377
|
+
}
|
|
1378
|
+
static parse(template) {
|
|
1379
|
+
let fields = [];
|
|
1380
|
+
let lines = [], positions = [], m;
|
|
1381
|
+
for (let line of template.split(/\r\n?|\n/)) {
|
|
1382
|
+
while (m = /[#$]\{(?:(\d+)(?::([^}]*))?|([^}]*))\}/.exec(line)) {
|
|
1383
|
+
let seq = m[1] ? +m[1] : null, name = m[2] || m[3] || "", found = -1;
|
|
1384
|
+
for (let i = 0; i < fields.length; i++) {
|
|
1385
|
+
if (seq != null ? fields[i].seq == seq : name ? fields[i].name == name : false)
|
|
1386
|
+
found = i;
|
|
1387
|
+
}
|
|
1388
|
+
if (found < 0) {
|
|
1389
|
+
let i = 0;
|
|
1390
|
+
while (i < fields.length && (seq == null || (fields[i].seq != null && fields[i].seq < seq)))
|
|
1391
|
+
i++;
|
|
1392
|
+
fields.splice(i, 0, { seq, name });
|
|
1393
|
+
found = i;
|
|
1394
|
+
for (let pos of positions)
|
|
1395
|
+
if (pos.field >= found)
|
|
1396
|
+
pos.field++;
|
|
1397
|
+
}
|
|
1398
|
+
positions.push(new FieldPos(found, lines.length, m.index, m.index + name.length));
|
|
1399
|
+
line = line.slice(0, m.index) + name + line.slice(m.index + m[0].length);
|
|
1400
|
+
}
|
|
1401
|
+
for (let esc; esc = /\\([{}])/.exec(line);) {
|
|
1402
|
+
line = line.slice(0, esc.index) + esc[1] + line.slice(esc.index + esc[0].length);
|
|
1403
|
+
for (let pos of positions)
|
|
1404
|
+
if (pos.line == lines.length && pos.from > esc.index) {
|
|
1405
|
+
pos.from--;
|
|
1406
|
+
pos.to--;
|
|
1407
|
+
}
|
|
1408
|
+
}
|
|
1409
|
+
lines.push(line);
|
|
1410
|
+
}
|
|
1411
|
+
return new Snippet(lines, positions);
|
|
1412
|
+
}
|
|
1413
|
+
}
|
|
1414
|
+
let fieldMarker = /*@__PURE__*/index.Decoration.widget({ widget: /*@__PURE__*/new class extends index.WidgetType {
|
|
1415
|
+
toDOM() {
|
|
1416
|
+
let span = document.createElement("span");
|
|
1417
|
+
span.className = "cm-snippetFieldPosition";
|
|
1418
|
+
return span;
|
|
1419
|
+
}
|
|
1420
|
+
ignoreEvent() { return false; }
|
|
1421
|
+
} });
|
|
1422
|
+
let fieldRange = /*@__PURE__*/index.Decoration.mark({ class: "cm-snippetField" });
|
|
1423
|
+
class ActiveSnippet {
|
|
1424
|
+
constructor(ranges, active) {
|
|
1425
|
+
this.ranges = ranges;
|
|
1426
|
+
this.active = active;
|
|
1427
|
+
this.deco = index.Decoration.set(ranges.map(r => (r.from == r.to ? fieldMarker : fieldRange).range(r.from, r.to)));
|
|
1428
|
+
}
|
|
1429
|
+
map(changes) {
|
|
1430
|
+
let ranges = [];
|
|
1431
|
+
for (let r of this.ranges) {
|
|
1432
|
+
let mapped = r.map(changes);
|
|
1433
|
+
if (!mapped)
|
|
1434
|
+
return null;
|
|
1435
|
+
ranges.push(mapped);
|
|
1436
|
+
}
|
|
1437
|
+
return new ActiveSnippet(ranges, this.active);
|
|
1438
|
+
}
|
|
1439
|
+
selectionInsideField(sel) {
|
|
1440
|
+
return sel.ranges.every(range => this.ranges.some(r => r.field == this.active && r.from <= range.from && r.to >= range.to));
|
|
1441
|
+
}
|
|
1442
|
+
}
|
|
1443
|
+
const setActive = /*@__PURE__*/index$1.StateEffect.define({
|
|
1444
|
+
map(value, changes) { return value && value.map(changes); }
|
|
1445
|
+
});
|
|
1446
|
+
const moveToField = /*@__PURE__*/index$1.StateEffect.define();
|
|
1447
|
+
const snippetState = /*@__PURE__*/index$1.StateField.define({
|
|
1448
|
+
create() { return null; },
|
|
1449
|
+
update(value, tr) {
|
|
1450
|
+
for (let effect of tr.effects) {
|
|
1451
|
+
if (effect.is(setActive))
|
|
1452
|
+
return effect.value;
|
|
1453
|
+
if (effect.is(moveToField) && value)
|
|
1454
|
+
return new ActiveSnippet(value.ranges, effect.value);
|
|
1455
|
+
}
|
|
1456
|
+
if (value && tr.docChanged)
|
|
1457
|
+
value = value.map(tr.changes);
|
|
1458
|
+
if (value && tr.selection && !value.selectionInsideField(tr.selection))
|
|
1459
|
+
value = null;
|
|
1460
|
+
return value;
|
|
1461
|
+
},
|
|
1462
|
+
provide: f => index.EditorView.decorations.from(f, val => val ? val.deco : index.Decoration.none)
|
|
1463
|
+
});
|
|
1464
|
+
function fieldSelection(ranges, field) {
|
|
1465
|
+
return index$1.EditorSelection.create(ranges.filter(r => r.field == field).map(r => index$1.EditorSelection.range(r.from, r.to)));
|
|
1466
|
+
}
|
|
1467
|
+
/**
|
|
1468
|
+
Convert a snippet template to a function that can
|
|
1469
|
+
[apply](https://codemirror.net/6/docs/ref/#autocomplete.Completion.apply) it. Snippets are written
|
|
1470
|
+
using syntax like this:
|
|
1471
|
+
|
|
1472
|
+
"for (let ${index} = 0; ${index} < ${end}; ${index}++) {\n\t${}\n}"
|
|
1473
|
+
|
|
1474
|
+
Each `${}` placeholder (you may also use `#{}`) indicates a field
|
|
1475
|
+
that the user can fill in. Its name, if any, will be the default
|
|
1476
|
+
content for the field.
|
|
1477
|
+
|
|
1478
|
+
When the snippet is activated by calling the returned function,
|
|
1479
|
+
the code is inserted at the given position. Newlines in the
|
|
1480
|
+
template are indented by the indentation of the start line, plus
|
|
1481
|
+
one [indent unit](https://codemirror.net/6/docs/ref/#language.indentUnit) per tab character after
|
|
1482
|
+
the newline.
|
|
1483
|
+
|
|
1484
|
+
On activation, (all instances of) the first field are selected.
|
|
1485
|
+
The user can move between fields with Tab and Shift-Tab as long as
|
|
1486
|
+
the fields are active. Moving to the last field or moving the
|
|
1487
|
+
cursor out of the current field deactivates the fields.
|
|
1488
|
+
|
|
1489
|
+
The order of fields defaults to textual order, but you can add
|
|
1490
|
+
numbers to placeholders (`${1}` or `${1:defaultText}`) to provide
|
|
1491
|
+
a custom order.
|
|
1492
|
+
|
|
1493
|
+
To include a literal `{` or `}` in your template, put a backslash
|
|
1494
|
+
in front of it. This will be removed and the brace will not be
|
|
1495
|
+
interpreted as indicating a placeholder.
|
|
1496
|
+
*/
|
|
1497
|
+
function snippet(template) {
|
|
1498
|
+
let snippet = Snippet.parse(template);
|
|
1499
|
+
return (editor, completion, from, to) => {
|
|
1500
|
+
let { text, ranges } = snippet.instantiate(editor.state, from);
|
|
1501
|
+
let spec = {
|
|
1502
|
+
changes: { from, to, insert: index$1.Text.of(text) },
|
|
1503
|
+
scrollIntoView: true,
|
|
1504
|
+
annotations: completion ? [pickedCompletion.of(completion), index$1.Transaction.userEvent.of("input.complete")] : undefined
|
|
1505
|
+
};
|
|
1506
|
+
if (ranges.length)
|
|
1507
|
+
spec.selection = fieldSelection(ranges, 0);
|
|
1508
|
+
if (ranges.some(r => r.field > 0)) {
|
|
1509
|
+
let active = new ActiveSnippet(ranges, 0);
|
|
1510
|
+
let effects = spec.effects = [setActive.of(active)];
|
|
1511
|
+
if (editor.state.field(snippetState, false) === undefined)
|
|
1512
|
+
effects.push(index$1.StateEffect.appendConfig.of([snippetState, addSnippetKeymap, snippetPointerHandler, baseTheme]));
|
|
1513
|
+
}
|
|
1514
|
+
editor.dispatch(editor.state.update(spec));
|
|
1515
|
+
};
|
|
1516
|
+
}
|
|
1517
|
+
function moveField(dir) {
|
|
1518
|
+
return ({ state, dispatch }) => {
|
|
1519
|
+
let active = state.field(snippetState, false);
|
|
1520
|
+
if (!active || dir < 0 && active.active == 0)
|
|
1521
|
+
return false;
|
|
1522
|
+
let next = active.active + dir, last = dir > 0 && !active.ranges.some(r => r.field == next + dir);
|
|
1523
|
+
dispatch(state.update({
|
|
1524
|
+
selection: fieldSelection(active.ranges, next),
|
|
1525
|
+
effects: setActive.of(last ? null : new ActiveSnippet(active.ranges, next)),
|
|
1526
|
+
scrollIntoView: true
|
|
1527
|
+
}));
|
|
1528
|
+
return true;
|
|
1529
|
+
};
|
|
1530
|
+
}
|
|
1531
|
+
/**
|
|
1532
|
+
A command that clears the active snippet, if any.
|
|
1533
|
+
*/
|
|
1534
|
+
const clearSnippet = ({ state, dispatch }) => {
|
|
1535
|
+
let active = state.field(snippetState, false);
|
|
1536
|
+
if (!active)
|
|
1537
|
+
return false;
|
|
1538
|
+
dispatch(state.update({ effects: setActive.of(null) }));
|
|
1539
|
+
return true;
|
|
1540
|
+
};
|
|
1541
|
+
/**
|
|
1542
|
+
Move to the next snippet field, if available.
|
|
1543
|
+
*/
|
|
1544
|
+
const nextSnippetField = /*@__PURE__*/moveField(1);
|
|
1545
|
+
/**
|
|
1546
|
+
Move to the previous snippet field, if available.
|
|
1547
|
+
*/
|
|
1548
|
+
const prevSnippetField = /*@__PURE__*/moveField(-1);
|
|
1549
|
+
const defaultSnippetKeymap = [
|
|
1550
|
+
{ key: "Tab", run: nextSnippetField, shift: prevSnippetField },
|
|
1551
|
+
{ key: "Escape", run: clearSnippet }
|
|
1552
|
+
];
|
|
1553
|
+
/**
|
|
1554
|
+
A facet that can be used to configure the key bindings used by
|
|
1555
|
+
snippets. The default binds Tab to
|
|
1556
|
+
[`nextSnippetField`](https://codemirror.net/6/docs/ref/#autocomplete.nextSnippetField), Shift-Tab to
|
|
1557
|
+
[`prevSnippetField`](https://codemirror.net/6/docs/ref/#autocomplete.prevSnippetField), and Escape
|
|
1558
|
+
to [`clearSnippet`](https://codemirror.net/6/docs/ref/#autocomplete.clearSnippet).
|
|
1559
|
+
*/
|
|
1560
|
+
const snippetKeymap = /*@__PURE__*/index$1.Facet.define({
|
|
1561
|
+
combine(maps) { return maps.length ? maps[0] : defaultSnippetKeymap; }
|
|
1562
|
+
});
|
|
1563
|
+
const addSnippetKeymap = /*@__PURE__*/index$1.Prec.highest(/*@__PURE__*/index.keymap.compute([snippetKeymap], state => state.facet(snippetKeymap)));
|
|
1564
|
+
/**
|
|
1565
|
+
Create a completion from a snippet. Returns an object with the
|
|
1566
|
+
properties from `completion`, plus an `apply` function that
|
|
1567
|
+
applies the snippet.
|
|
1568
|
+
*/
|
|
1569
|
+
function snippetCompletion(template, completion) {
|
|
1570
|
+
return Object.assign(Object.assign({}, completion), { apply: snippet(template) });
|
|
1571
|
+
}
|
|
1572
|
+
const snippetPointerHandler = /*@__PURE__*/index.EditorView.domEventHandlers({
|
|
1573
|
+
mousedown(event, view) {
|
|
1574
|
+
let active = view.state.field(snippetState, false), pos;
|
|
1575
|
+
if (!active || (pos = view.posAtCoords({ x: event.clientX, y: event.clientY })) == null)
|
|
1576
|
+
return false;
|
|
1577
|
+
let match = active.ranges.find(r => r.from <= pos && r.to >= pos);
|
|
1578
|
+
if (!match || match.field == active.active)
|
|
1579
|
+
return false;
|
|
1580
|
+
view.dispatch({
|
|
1581
|
+
selection: fieldSelection(active.ranges, match.field),
|
|
1582
|
+
effects: setActive.of(active.ranges.some(r => r.field > match.field)
|
|
1583
|
+
? new ActiveSnippet(active.ranges, match.field) : null),
|
|
1584
|
+
scrollIntoView: true
|
|
1585
|
+
});
|
|
1586
|
+
return true;
|
|
1587
|
+
}
|
|
1588
|
+
});
|
|
1589
|
+
|
|
1321
1590
|
const defaults = {
|
|
1322
1591
|
brackets: ["(", "[", "{", "'", '"'],
|
|
1323
1592
|
before: ")]}:;>",
|
|
@@ -1601,15 +1870,22 @@ const completionKeymapExt = /*@__PURE__*/index$1.Prec.highest(/*@__PURE__*/index
|
|
|
1601
1870
|
exports.CompletionContext = CompletionContext;
|
|
1602
1871
|
exports.acceptCompletion = acceptCompletion;
|
|
1603
1872
|
exports.autocompletion = autocompletion;
|
|
1873
|
+
exports.clearSnippet = clearSnippet;
|
|
1604
1874
|
exports.closeBrackets = closeBrackets;
|
|
1605
1875
|
exports.closeBracketsKeymap = closeBracketsKeymap;
|
|
1606
1876
|
exports.closeCompletion = closeCompletion;
|
|
1607
1877
|
exports.completeFromList = completeFromList;
|
|
1608
1878
|
exports.completionKeymap = completionKeymap;
|
|
1609
1879
|
exports.deleteBracketPair = deleteBracketPair;
|
|
1880
|
+
exports.ifNotIn = ifNotIn;
|
|
1610
1881
|
exports.insertBracket = insertBracket;
|
|
1611
1882
|
exports.insertCompletionText = insertCompletionText;
|
|
1612
1883
|
exports.moveCompletionSelection = moveCompletionSelection;
|
|
1884
|
+
exports.nextSnippetField = nextSnippetField;
|
|
1613
1885
|
exports.pickedCompletion = pickedCompletion;
|
|
1886
|
+
exports.prevSnippetField = prevSnippetField;
|
|
1887
|
+
exports.snippet = snippet;
|
|
1888
|
+
exports.snippetCompletion = snippetCompletion;
|
|
1889
|
+
exports.snippetKeymap = snippetKeymap;
|
|
1614
1890
|
exports.startCompletion = startCompletion;
|
|
1615
1891
|
//# sourceMappingURL=index.js.map
|