@maketribe/ms-app 3.2.5 → 3.2.6
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/assets/iconfonts/iconfont.js +1 -1
- package/dist/cjs/assets/iconfonts/iconfont.js.map +1 -1
- package/dist/cjs/components/basic/doc-editor/lexical-vue/components/LexicalAutoLinkPlugin/index.vue.js +2 -37
- package/dist/cjs/components/basic/doc-editor/lexical-vue/components/LexicalAutoLinkPlugin/index.vue.js.map +1 -1
- package/dist/cjs/components/basic/doc-editor/lexical-vue/components/LexicalAutoLinkPlugin/index.vue2.js +37 -2
- package/dist/cjs/components/basic/doc-editor/lexical-vue/components/LexicalAutoLinkPlugin/index.vue2.js.map +1 -1
- package/dist/cjs/components/basic/doc-editor/lexical-vue/components/LexicalBlockWithAlignableContents.vue.js +4 -0
- package/dist/cjs/components/basic/doc-editor/lexical-vue/components/LexicalBlockWithAlignableContents.vue.js.map +1 -0
- package/dist/cjs/components/basic/doc-editor/lexical-vue/components/LexicalBlockWithAlignableContents.vue2.js +108 -0
- package/dist/cjs/components/basic/doc-editor/lexical-vue/components/LexicalBlockWithAlignableContents.vue2.js.map +1 -0
- package/dist/cjs/components/basic/doc-editor/lexical-vue/components/LexicalDecoratorBlockNode.js +4 -0
- package/dist/cjs/components/basic/doc-editor/lexical-vue/components/LexicalDecoratorBlockNode.js.map +1 -1
- package/dist/cjs/components/basic/doc-editor/lexical-vue/components/LexicalRichTextPlugin.vue.js +24 -18
- package/dist/cjs/components/basic/doc-editor/lexical-vue/components/LexicalRichTextPlugin.vue.js.map +1 -1
- package/dist/cjs/components/basic/doc-editor/plugins/AutoLinkPlugin.vue.js +1 -1
- package/dist/cjs/components/basic/doc-editor/plugins/HtmlBlockPlugin/DocHtmlBlockComponent.js +93 -0
- package/dist/cjs/components/basic/doc-editor/plugins/HtmlBlockPlugin/DocHtmlBlockComponent.js.map +1 -0
- package/dist/cjs/components/basic/doc-editor/plugins/HtmlBlockPlugin/index.js +128 -0
- package/dist/cjs/components/basic/doc-editor/plugins/HtmlBlockPlugin/index.js.map +1 -0
- package/dist/cjs/components/basic/doc-editor/plugins/HtmlBlockPlugin/index.vue.js +51 -0
- package/dist/cjs/components/basic/doc-editor/plugins/HtmlBlockPlugin/index.vue.js.map +1 -0
- package/dist/cjs/components/basic/doc-editor/plugins/HtmlBlockPlugin/index.vue2.js +4 -0
- package/dist/cjs/components/basic/doc-editor/plugins/HtmlBlockPlugin/index.vue2.js.map +1 -0
- package/dist/cjs/components/basic/doc-editor/plugins/ImagePlugin/ImageEditPanel.js +0 -1
- package/dist/cjs/components/basic/doc-editor/plugins/ImagePlugin/ImageEditPanel.js.map +1 -1
- package/dist/cjs/components/basic/doc-editor/plugins/ImageTextPlugin/index.js +7 -0
- package/dist/cjs/components/basic/doc-editor/plugins/ImageTextPlugin/index.js.map +1 -1
- package/dist/cjs/components/basic/doc-editor/plugins/ImageTextPlugin/index.vue.js.map +1 -1
- package/dist/cjs/components/basic/doc-editor/plugins/ToolbarPlugin/{HtmlCodeTool.vue.js → PreviewToolbar.vue.js} +56 -43
- package/dist/cjs/components/basic/doc-editor/plugins/ToolbarPlugin/PreviewToolbar.vue.js.map +1 -0
- package/dist/cjs/components/basic/doc-editor/plugins/ToolbarPlugin/PreviewToolbar.vue2.js +4 -0
- package/dist/cjs/components/basic/doc-editor/plugins/ToolbarPlugin/PreviewToolbar.vue2.js.map +1 -0
- package/dist/cjs/components/basic/doc-editor/plugins/ToolbarPlugin/index.vue.js +2 -2
- package/dist/cjs/components/basic/doc-editor/plugins/ToolbarPlugin/index.vue.js.map +1 -1
- package/dist/cjs/components/basic/doc-editor/plugins/index.vue.js +3 -1
- package/dist/cjs/components/basic/doc-editor/plugins/index.vue.js.map +1 -1
- package/dist/cjs/components/basic/doc-editor/plugins/nodes.js +3 -1
- package/dist/cjs/components/basic/doc-editor/plugins/nodes.js.map +1 -1
- package/dist/cjs/components/business/resource-list/ResourceManager.js +0 -24
- package/dist/cjs/components/business/resource-list/ResourceManager.js.map +1 -1
- package/dist/cjs/components/business/resource-list/resource-list.vue.js +38 -15
- package/dist/cjs/components/business/resource-list/resource-list.vue.js.map +1 -1
- package/dist/cjs/components/business/resource-manager/resource-manager.vue.js +1 -12
- package/dist/cjs/components/business/resource-manager/resource-manager.vue.js.map +1 -1
- package/dist/cjs/components/data-model/data-table/views/tree/tree.js +14 -2
- package/dist/cjs/components/data-model/data-table/views/tree/tree.js.map +1 -1
- package/dist/cjs/index.js +2 -2
- package/dist/cjs/modules/cms/components/part-tree/index.vue.js +24 -9
- package/dist/cjs/modules/cms/components/part-tree/index.vue.js.map +1 -1
- package/dist/cjs/modules/cms/dataviews/cms-parts/CmsContentManPartForm.js +26 -0
- package/dist/cjs/modules/cms/dataviews/cms-parts/CmsContentManPartForm.js.map +1 -0
- package/dist/cjs/modules/cms/index.js +2 -1
- package/dist/cjs/modules/cms/index.js.map +1 -1
- package/dist/cjs/modules/cms/pages/cms-contents/article-edit-add-page.vue2.js +44 -22
- package/dist/cjs/modules/cms/pages/cms-contents/article-edit-add-page.vue2.js.map +1 -1
- package/dist/cjs/modules/cms/pages/cms-contents/components/article-list.vue.js +2 -2
- package/dist/cjs/modules/cms/pages/cms-contents/components/article-list.vue.js.map +1 -1
- package/dist/cjs/modules/cms/pages/cms-contents/index.vue2.js +99 -87
- package/dist/cjs/modules/cms/pages/cms-contents/index.vue2.js.map +1 -1
- package/dist/cjs/modules/cms/pages/cms-resource/index.vue2.js +45 -5
- package/dist/cjs/modules/cms/pages/cms-resource/index.vue2.js.map +1 -1
- package/dist/cjs/modules/ms/components/material-list/material-item.vue.js +0 -1
- package/dist/cjs/modules/ms/components/material-list/material-item.vue.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-options.js.map +1 -1
- package/dist/cjs/modules/ms/components/material-select/material-select-api.js +1 -1
- package/dist/cjs/modules/ms/dataviews/ms-menu/MsMenuTree.js +18 -0
- package/dist/cjs/modules/ms/dataviews/ms-menu/MsMenuTree.js.map +1 -1
- package/dist/cjs/modules/ms/dataviews/ms-role/MsRolePermissionConfigTable.js +4 -1
- package/dist/cjs/modules/ms/dataviews/ms-role/MsRolePermissionConfigTable.js.map +1 -1
- package/dist/cjs/modules/ms/index.js +2 -2
- package/dist/cjs/modules/ms/pages/ms-material/index.vue2.js +13 -16
- package/dist/cjs/modules/ms/pages/ms-material/index.vue2.js.map +1 -1
- package/dist/cjs/modules/ms/pages/ms-menu/index.vue2.js +47 -6
- package/dist/cjs/modules/ms/pages/ms-menu/index.vue2.js.map +1 -1
- package/dist/esm/assets/iconfonts/iconfont.js +1 -1
- package/dist/esm/assets/iconfonts/iconfont.js.map +1 -1
- package/dist/esm/components/basic/doc-editor/lexical-vue/components/LexicalAutoLinkPlugin/index.vue.js +1 -36
- package/dist/esm/components/basic/doc-editor/lexical-vue/components/LexicalAutoLinkPlugin/index.vue.js.map +1 -1
- package/dist/esm/components/basic/doc-editor/lexical-vue/components/LexicalAutoLinkPlugin/index.vue2.js +36 -1
- package/dist/esm/components/basic/doc-editor/lexical-vue/components/LexicalAutoLinkPlugin/index.vue2.js.map +1 -1
- package/dist/esm/components/basic/doc-editor/lexical-vue/components/LexicalBlockWithAlignableContents.vue.js +5 -0
- package/dist/esm/components/basic/doc-editor/lexical-vue/components/LexicalBlockWithAlignableContents.vue.js.map +1 -0
- package/dist/esm/components/basic/doc-editor/lexical-vue/components/LexicalBlockWithAlignableContents.vue2.js +109 -0
- package/dist/esm/components/basic/doc-editor/lexical-vue/components/LexicalBlockWithAlignableContents.vue2.js.map +1 -0
- package/dist/esm/components/basic/doc-editor/lexical-vue/components/LexicalDecoratorBlockNode.js +4 -0
- package/dist/esm/components/basic/doc-editor/lexical-vue/components/LexicalDecoratorBlockNode.js.map +1 -1
- package/dist/esm/components/basic/doc-editor/lexical-vue/components/LexicalRichTextPlugin.vue.js +25 -19
- package/dist/esm/components/basic/doc-editor/lexical-vue/components/LexicalRichTextPlugin.vue.js.map +1 -1
- package/dist/esm/components/basic/doc-editor/plugins/AutoLinkPlugin.vue.js +1 -1
- package/dist/esm/components/basic/doc-editor/plugins/HtmlBlockPlugin/DocHtmlBlockComponent.js +94 -0
- package/dist/esm/components/basic/doc-editor/plugins/HtmlBlockPlugin/DocHtmlBlockComponent.js.map +1 -0
- package/dist/esm/components/basic/doc-editor/plugins/HtmlBlockPlugin/index.js +128 -0
- package/dist/esm/components/basic/doc-editor/plugins/HtmlBlockPlugin/index.js.map +1 -0
- package/dist/esm/components/basic/doc-editor/plugins/HtmlBlockPlugin/index.vue.js +52 -0
- package/dist/esm/components/basic/doc-editor/plugins/HtmlBlockPlugin/index.vue.js.map +1 -0
- package/dist/esm/components/basic/doc-editor/plugins/HtmlBlockPlugin/index.vue2.js +5 -0
- package/dist/esm/components/basic/doc-editor/plugins/HtmlBlockPlugin/index.vue2.js.map +1 -0
- package/dist/esm/components/basic/doc-editor/plugins/ImagePlugin/ImageEditPanel.js +0 -1
- package/dist/esm/components/basic/doc-editor/plugins/ImagePlugin/ImageEditPanel.js.map +1 -1
- package/dist/esm/components/basic/doc-editor/plugins/ImageTextPlugin/index.js +7 -0
- package/dist/esm/components/basic/doc-editor/plugins/ImageTextPlugin/index.js.map +1 -1
- package/dist/esm/components/basic/doc-editor/plugins/ImageTextPlugin/index.vue.js.map +1 -1
- package/dist/esm/components/basic/doc-editor/plugins/ToolbarPlugin/PreviewToolbar.vue.js +117 -0
- package/dist/esm/components/basic/doc-editor/plugins/ToolbarPlugin/PreviewToolbar.vue.js.map +1 -0
- package/dist/esm/components/basic/doc-editor/plugins/ToolbarPlugin/PreviewToolbar.vue2.js +5 -0
- package/dist/esm/components/basic/doc-editor/plugins/ToolbarPlugin/PreviewToolbar.vue2.js.map +1 -0
- package/dist/esm/components/basic/doc-editor/plugins/ToolbarPlugin/index.vue.js +1 -1
- package/dist/esm/components/basic/doc-editor/plugins/ToolbarPlugin/index.vue.js.map +1 -1
- package/dist/esm/components/basic/doc-editor/plugins/index.vue.js +3 -1
- package/dist/esm/components/basic/doc-editor/plugins/index.vue.js.map +1 -1
- package/dist/esm/components/basic/doc-editor/plugins/nodes.js +3 -1
- package/dist/esm/components/basic/doc-editor/plugins/nodes.js.map +1 -1
- package/dist/esm/components/business/resource-list/ResourceManager.js +1 -25
- package/dist/esm/components/business/resource-list/ResourceManager.js.map +1 -1
- package/dist/esm/components/business/resource-list/resource-list.vue.js +39 -16
- package/dist/esm/components/business/resource-list/resource-list.vue.js.map +1 -1
- package/dist/esm/components/business/resource-manager/resource-manager.vue.js +2 -13
- package/dist/esm/components/business/resource-manager/resource-manager.vue.js.map +1 -1
- package/dist/esm/components/data-model/data-table/views/tree/tree.js +15 -3
- package/dist/esm/components/data-model/data-table/views/tree/tree.js.map +1 -1
- package/dist/esm/index.js +2 -2
- package/dist/esm/modules/cms/components/part-tree/index.vue.js +25 -10
- package/dist/esm/modules/cms/components/part-tree/index.vue.js.map +1 -1
- package/dist/esm/modules/cms/dataviews/cms-parts/CmsContentManPartForm.js +26 -0
- package/dist/esm/modules/cms/dataviews/cms-parts/CmsContentManPartForm.js.map +1 -0
- package/dist/esm/modules/cms/index.js +2 -1
- package/dist/esm/modules/cms/index.js.map +1 -1
- package/dist/esm/modules/cms/pages/cms-contents/article-edit-add-page.vue2.js +46 -24
- package/dist/esm/modules/cms/pages/cms-contents/article-edit-add-page.vue2.js.map +1 -1
- package/dist/esm/modules/cms/pages/cms-contents/components/article-list.vue.js +2 -2
- package/dist/esm/modules/cms/pages/cms-contents/components/article-list.vue.js.map +1 -1
- package/dist/esm/modules/cms/pages/cms-contents/index.vue2.js +101 -89
- package/dist/esm/modules/cms/pages/cms-contents/index.vue2.js.map +1 -1
- package/dist/esm/modules/cms/pages/cms-resource/index.vue2.js +46 -6
- package/dist/esm/modules/cms/pages/cms-resource/index.vue2.js.map +1 -1
- package/dist/esm/modules/ms/components/material-list/material-item.vue.js +0 -1
- package/dist/esm/modules/ms/components/material-list/material-item.vue.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-options.js.map +1 -1
- package/dist/esm/modules/ms/components/material-select/material-select-api.js +1 -1
- package/dist/esm/modules/ms/dataviews/ms-menu/MsMenuTree.js +18 -0
- package/dist/esm/modules/ms/dataviews/ms-menu/MsMenuTree.js.map +1 -1
- package/dist/esm/modules/ms/dataviews/ms-role/MsRolePermissionConfigTable.js +4 -1
- package/dist/esm/modules/ms/dataviews/ms-role/MsRolePermissionConfigTable.js.map +1 -1
- package/dist/esm/modules/ms/index.js +2 -2
- package/dist/esm/modules/ms/pages/ms-material/index.vue2.js +14 -17
- package/dist/esm/modules/ms/pages/ms-material/index.vue2.js.map +1 -1
- package/dist/esm/modules/ms/pages/ms-menu/index.vue2.js +48 -7
- package/dist/esm/modules/ms/pages/ms-menu/index.vue2.js.map +1 -1
- package/dist/style/components/basic/doc-editor/index.css +1 -1
- package/dist/style/components/index.css +2 -2
- package/dist/style/components/material-item.css +1 -1
- package/dist/style/index.css +2 -2
- 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/components/basic/doc-editor/index.scss +22 -2
- package/dist/style/src/components/material-item.scss +66 -64
- package/dist/style/src/modules/cms/pages/cms-contents/index.scss +1 -2
- package/dist/style/src/modules/cms/resource-manager.scss +63 -0
- package/dist/style/src/theme/theme.scss +310 -303
- package/dist/style/theme/theme.css +1 -1
- package/dist/types/components/basic/doc-editor/plugins/HtmlBlockPlugin/DocHtmlBlockComponent.d.ts +20 -0
- package/dist/types/components/basic/doc-editor/plugins/HtmlBlockPlugin/index.d.ts +57 -0
- package/dist/types/components/basic/doc-editor/plugins/ImageTextPlugin/index.d.ts +1 -0
- package/dist/types/components/basic/doc-editor/plugins/ToolbarPlugin/PreviewToolbar.vue.d.ts +2 -0
- package/dist/types/components/business/resource-list/ResourceManager.d.ts +0 -1
- package/dist/types/components/business/resource-manager/index.d.ts +32 -6
- package/dist/types/components/business/resource-manager/resource-manager.vue.d.ts +10 -1
- package/dist/types/components/data-model/data-table/views/table/index.d.ts +1 -1
- package/dist/types/components/data-model/data-table/views/table/table.d.ts +1 -1
- package/dist/types/modules/cms/components/part-tree/index.d.ts +5 -9
- package/dist/types/modules/cms/components/part-tree/index.vue.d.ts +16 -15
- package/dist/types/modules/cms/dataviews/cms-parts/CmsContentManPartForm.d.ts +8 -0
- package/dist/types/modules/cms/dataviews/cms-parts/index.d.ts +1 -0
- package/dist/types/modules/ms/dataviews/ms-material/index.d.ts +0 -1
- package/dist/types/modules/ms/dataviews/ms-menu/MsMenuTree.d.ts +1 -0
- package/package.json +2 -2
- package/dist/cjs/components/basic/doc-editor/plugins/ToolbarPlugin/HtmlCodeTool.vue.js.map +0 -1
- package/dist/cjs/components/basic/doc-editor/plugins/ToolbarPlugin/HtmlCodeTool.vue2.js +0 -4
- package/dist/cjs/components/basic/doc-editor/plugins/ToolbarPlugin/HtmlCodeTool.vue2.js.map +0 -1
- package/dist/cjs/modules/ms/dataviews/ms-material/MsMaterialMan.js +0 -130
- package/dist/cjs/modules/ms/dataviews/ms-material/MsMaterialMan.js.map +0 -1
- package/dist/esm/components/basic/doc-editor/plugins/ToolbarPlugin/HtmlCodeTool.vue.js +0 -104
- package/dist/esm/components/basic/doc-editor/plugins/ToolbarPlugin/HtmlCodeTool.vue.js.map +0 -1
- package/dist/esm/components/basic/doc-editor/plugins/ToolbarPlugin/HtmlCodeTool.vue2.js +0 -5
- package/dist/esm/components/basic/doc-editor/plugins/ToolbarPlugin/HtmlCodeTool.vue2.js.map +0 -1
- package/dist/esm/modules/ms/dataviews/ms-material/MsMaterialMan.js +0 -130
- package/dist/esm/modules/ms/dataviews/ms-material/MsMaterialMan.js.map +0 -1
- package/dist/style/modules/cms/pages/cms-contents/part-edit-add-page.css +0 -1
- package/dist/style/src/modules/cms/pages/cms-contents/part-edit-add-page.scss +0 -127
- package/dist/types/modules/ms/dataviews/ms-material/MsMaterialMan.d.ts +0 -31
- /package/dist/types/components/basic/doc-editor/plugins/{ToolbarPlugin/HtmlCodeTool.vue.d.ts → HtmlBlockPlugin/index.vue.d.ts} +0 -0
- /package/dist/types/{modules/cms/pages/cms-contents/part-edit-add-page.vue.d.ts → components/basic/doc-editor/plugins/ToolbarPlugin/PreviewToolba-back.vue.d.ts} +0 -0
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { defineComponent, reactive, ref, computed, onMounted, resolveComponent, resolveDirective, openBlock, createElementBlock, createVNode, withCtx, createBlock, createTextVNode, toDisplayString,
|
|
1
|
+
import { defineComponent, reactive, ref, computed, onMounted, resolveComponent, resolveDirective, openBlock, createElementBlock, createVNode, unref, withCtx, createBlock, createTextVNode, toDisplayString, createElementVNode, withDirectives, normalizeClass, createCommentVNode } from "vue";
|
|
2
2
|
import "../../../../components/abstract/abstract-select/abstract-select.js";
|
|
3
3
|
import "../../../../components/abstract/abstract-select/abstract-select-options.js";
|
|
4
4
|
import "element-plus";
|
|
@@ -15,7 +15,7 @@ import "../../../../components/basic/page-container/index.js";
|
|
|
15
15
|
import "../../../../components/basic/date-picker/index.js";
|
|
16
16
|
import "../../../../components/basic/icon-select/index.js";
|
|
17
17
|
import "../../../../components/basic/upload-file/upload-file.js";
|
|
18
|
-
import
|
|
18
|
+
import "@maketribe/request";
|
|
19
19
|
import "@maketribe/utils";
|
|
20
20
|
import "../../../../components/basic/upload-file/context/web-file-upload-context.js";
|
|
21
21
|
import "../../../../components/basic/upload-file/context/web-file-upload-context-options.js";
|
|
@@ -33,7 +33,7 @@ import "../../../../components/business/resource-manager/index.js";
|
|
|
33
33
|
import "@maketribe/dm";
|
|
34
34
|
import _sfc_main$1 from "./components/article-atlas.vue.js";
|
|
35
35
|
import "../../../../core/DataModelDefines.js";
|
|
36
|
-
import { useRoute } from "vue-router";
|
|
36
|
+
import { useRoute, useRouter } from "vue-router";
|
|
37
37
|
import "@maketribe/locale";
|
|
38
38
|
import "../../../ms/dataviews/department/DepartmentForm.js";
|
|
39
39
|
import "../../../ms/dataviews/department/DepartmentTable.js";
|
|
@@ -54,7 +54,10 @@ import { MKForm } from "../../../../components/data-model/data-form/views/form/i
|
|
|
54
54
|
import { MKDataFormItem } from "../../../../components/data-model/data-form/data-form-item/index.js";
|
|
55
55
|
const _hoisted_1 = { class: "mk-cms-article-eidtadd__warp" };
|
|
56
56
|
const _hoisted_2 = { class: "mk-cms-article-eidtadd__header_tools" };
|
|
57
|
-
const _hoisted_3 = {
|
|
57
|
+
const _hoisted_3 = {
|
|
58
|
+
class: "el-dropdown-link",
|
|
59
|
+
style: { "margin-left": "10px" }
|
|
60
|
+
};
|
|
58
61
|
const _hoisted_4 = { class: "mk-cms-article-eidtadd__body" };
|
|
59
62
|
const _hoisted_5 = { class: "mk-cms-article-eidtadd__body__header" };
|
|
60
63
|
const _hoisted_6 = { class: "mk-cms-article-eidtadd__body__footer" };
|
|
@@ -63,7 +66,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
63
66
|
__name: "article-edit-add-page",
|
|
64
67
|
setup(__props) {
|
|
65
68
|
const route = useRoute();
|
|
66
|
-
|
|
69
|
+
const router = useRouter();
|
|
67
70
|
const articleDv = reactive(new CmsArticlesForm());
|
|
68
71
|
const articleOptionsActive = ref("content");
|
|
69
72
|
const title = computed({
|
|
@@ -112,7 +115,6 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
112
115
|
articleDv.data.atlas = val;
|
|
113
116
|
}
|
|
114
117
|
});
|
|
115
|
-
window.articleDv = articleDv;
|
|
116
118
|
onMounted(() => {
|
|
117
119
|
if (route.query.id) {
|
|
118
120
|
articleDv.editRecord(route.query.id);
|
|
@@ -170,7 +172,11 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
170
172
|
return openBlock(), createElementBlock("div", _hoisted_1, [
|
|
171
173
|
createVNode(_component_el_page_header, {
|
|
172
174
|
style: { "background-color": "#fff", "padding": "10px" },
|
|
173
|
-
icon: null
|
|
175
|
+
icon: null,
|
|
176
|
+
onBack: _cache[0] || (_cache[0] = () => {
|
|
177
|
+
var _a;
|
|
178
|
+
return unref(router).push({ name: "cms/contents", query: { pid: (_a = articleDv == null ? void 0 : articleDv.data) == null ? void 0 : _a.cmsPartId } });
|
|
179
|
+
})
|
|
174
180
|
}, {
|
|
175
181
|
content: withCtx(() => {
|
|
176
182
|
var _a;
|
|
@@ -219,24 +225,40 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
219
225
|
default: withCtx(() => [
|
|
220
226
|
createVNode(_component_el_dropdown_item, { onClick: saveHandle }, {
|
|
221
227
|
default: withCtx(() => [
|
|
228
|
+
createVNode(unref(MKSvgIcon), {
|
|
229
|
+
iconClass: "save",
|
|
230
|
+
style: { "margin-right": "5px" }
|
|
231
|
+
}),
|
|
222
232
|
createTextVNode(" 仅保存 ")
|
|
223
233
|
]),
|
|
224
234
|
_: 1
|
|
225
235
|
}),
|
|
226
236
|
createVNode(_component_el_dropdown_item, null, {
|
|
227
237
|
default: withCtx(() => [
|
|
238
|
+
createVNode(unref(MKSvgIcon), {
|
|
239
|
+
iconClass: "save",
|
|
240
|
+
style: { "margin-right": "5px" }
|
|
241
|
+
}),
|
|
228
242
|
createTextVNode(" 保存为草稿 ")
|
|
229
243
|
]),
|
|
230
244
|
_: 1
|
|
231
245
|
}),
|
|
232
246
|
createVNode(_component_el_dropdown_item, null, {
|
|
233
247
|
default: withCtx(() => [
|
|
248
|
+
createVNode(unref(MKSvgIcon), {
|
|
249
|
+
iconClass: "View",
|
|
250
|
+
style: { "margin-right": "5px" }
|
|
251
|
+
}),
|
|
234
252
|
createTextVNode(" 保存并预览 ")
|
|
235
253
|
]),
|
|
236
254
|
_: 1
|
|
237
255
|
}),
|
|
238
256
|
createVNode(_component_el_dropdown_item, null, {
|
|
239
257
|
default: withCtx(() => [
|
|
258
|
+
createVNode(unref(MKSvgIcon), {
|
|
259
|
+
iconClass: "Share",
|
|
260
|
+
style: { "margin-right": "5px" }
|
|
261
|
+
}),
|
|
240
262
|
createTextVNode(" 保存并发布 ")
|
|
241
263
|
]),
|
|
242
264
|
_: 1
|
|
@@ -249,14 +271,14 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
249
271
|
createElementVNode("span", _hoisted_3, [
|
|
250
272
|
createVNode(_component_el_button, {
|
|
251
273
|
type: "primary",
|
|
252
|
-
|
|
274
|
+
plain: ""
|
|
253
275
|
}, {
|
|
254
276
|
default: withCtx(() => [
|
|
255
|
-
createTextVNode(" 保存 "),
|
|
256
277
|
createVNode(unref(MKSvgIcon), {
|
|
257
|
-
iconClass: "
|
|
258
|
-
style: { "margin-
|
|
259
|
-
})
|
|
278
|
+
iconClass: "save",
|
|
279
|
+
style: { "margin-right": "10px" }
|
|
280
|
+
}),
|
|
281
|
+
createTextVNode(" 保存 ")
|
|
260
282
|
]),
|
|
261
283
|
_: 1
|
|
262
284
|
})
|
|
@@ -287,7 +309,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
287
309
|
"show-word-limit": "",
|
|
288
310
|
placeholder: "请输入标题",
|
|
289
311
|
modelValue: title.value,
|
|
290
|
-
"onUpdate:modelValue": _cache[
|
|
312
|
+
"onUpdate:modelValue": _cache[1] || (_cache[1] = ($event) => title.value = $event)
|
|
291
313
|
}, null, 8, ["modelValue"])
|
|
292
314
|
]),
|
|
293
315
|
_: 1
|
|
@@ -302,7 +324,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
302
324
|
"show-word-limit": "",
|
|
303
325
|
placeholder: "[选填] 请输入子标题",
|
|
304
326
|
modelValue: subTitle.value,
|
|
305
|
-
"onUpdate:modelValue": _cache[
|
|
327
|
+
"onUpdate:modelValue": _cache[2] || (_cache[2] = ($event) => subTitle.value = $event)
|
|
306
328
|
}, null, 8, ["modelValue"])
|
|
307
329
|
]),
|
|
308
330
|
_: 1
|
|
@@ -415,7 +437,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
415
437
|
createElementVNode("div", _hoisted_6, [
|
|
416
438
|
createVNode(_component_el_tabs, {
|
|
417
439
|
modelValue: articleOptionsActive.value,
|
|
418
|
-
"onUpdate:modelValue": _cache[
|
|
440
|
+
"onUpdate:modelValue": _cache[11] || (_cache[11] = ($event) => articleOptionsActive.value = $event)
|
|
419
441
|
}, {
|
|
420
442
|
default: withCtx(() => [
|
|
421
443
|
createVNode(_component_el_tab_pane, {
|
|
@@ -431,11 +453,11 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
431
453
|
createVNode(_component_el_input, {
|
|
432
454
|
placeholder: "[选填] 作者",
|
|
433
455
|
modelValue: articleDv.data.author,
|
|
434
|
-
"onUpdate:modelValue": _cache[
|
|
456
|
+
"onUpdate:modelValue": _cache[3] || (_cache[3] = ($event) => articleDv.data.author = $event),
|
|
435
457
|
clearable: ""
|
|
436
458
|
}, {
|
|
437
459
|
prefix: withCtx(() => [
|
|
438
|
-
createVNode(unref(MKSvgIcon), { iconClass: "
|
|
460
|
+
createVNode(unref(MKSvgIcon), { iconClass: "UserFilled" })
|
|
439
461
|
]),
|
|
440
462
|
_: 1
|
|
441
463
|
}, 8, ["modelValue"])
|
|
@@ -446,7 +468,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
446
468
|
default: withCtx(() => [
|
|
447
469
|
createVNode(_component_el_date_picker, {
|
|
448
470
|
modelValue: releaseDate.value,
|
|
449
|
-
"onUpdate:modelValue": _cache[
|
|
471
|
+
"onUpdate:modelValue": _cache[4] || (_cache[4] = ($event) => releaseDate.value = $event),
|
|
450
472
|
type: "datetime",
|
|
451
473
|
placeholder: "发布时间",
|
|
452
474
|
"default-time": /* @__PURE__ */ new Date()
|
|
@@ -459,7 +481,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
459
481
|
createVNode(_component_el_input, {
|
|
460
482
|
placeholder: "[选填] 发布地址",
|
|
461
483
|
modelValue: articleDv.data.locationDesc,
|
|
462
|
-
"onUpdate:modelValue": _cache[
|
|
484
|
+
"onUpdate:modelValue": _cache[5] || (_cache[5] = ($event) => articleDv.data.locationDesc = $event),
|
|
463
485
|
clearable: ""
|
|
464
486
|
}, {
|
|
465
487
|
prefix: withCtx(() => [
|
|
@@ -477,7 +499,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
477
499
|
default: withCtx(() => [
|
|
478
500
|
createVNode(_component_el_select, {
|
|
479
501
|
modelValue: tags.value,
|
|
480
|
-
"onUpdate:modelValue": _cache[
|
|
502
|
+
"onUpdate:modelValue": _cache[6] || (_cache[6] = ($event) => tags.value = $event),
|
|
481
503
|
multiple: "",
|
|
482
504
|
filterable: "",
|
|
483
505
|
"allow-create": "",
|
|
@@ -498,7 +520,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
498
520
|
default: withCtx(() => [
|
|
499
521
|
createVNode(_component_MKUploadFile, {
|
|
500
522
|
modelValue: articleDv.data.cover,
|
|
501
|
-
"onUpdate:modelValue": _cache[
|
|
523
|
+
"onUpdate:modelValue": _cache[7] || (_cache[7] = ($event) => articleDv.data.cover = $event),
|
|
502
524
|
class: "cover",
|
|
503
525
|
uploadContext: new (unref(MaterialUploadContext))({
|
|
504
526
|
allowMaterialTypeValues: [1]
|
|
@@ -527,7 +549,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
527
549
|
"show-word-limit": "",
|
|
528
550
|
placeholder: "[选填] 文章简介",
|
|
529
551
|
modelValue: articleDv.data.desc,
|
|
530
|
-
"onUpdate:modelValue": _cache[
|
|
552
|
+
"onUpdate:modelValue": _cache[8] || (_cache[8] = ($event) => articleDv.data.desc = $event)
|
|
531
553
|
}, null, 8, ["modelValue"])
|
|
532
554
|
]),
|
|
533
555
|
_: 1
|
|
@@ -543,7 +565,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
543
565
|
createVNode(_component_MKUploadFile, {
|
|
544
566
|
class: "banner",
|
|
545
567
|
modelValue: articleDv.data.banner,
|
|
546
|
-
"onUpdate:modelValue": _cache[
|
|
568
|
+
"onUpdate:modelValue": _cache[9] || (_cache[9] = ($event) => articleDv.data.banner = $event),
|
|
547
569
|
uploadContext: new (unref(MaterialUploadContext))({
|
|
548
570
|
allowMaterialTypeValues: [1]
|
|
549
571
|
})
|
|
@@ -579,7 +601,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
579
601
|
return [
|
|
580
602
|
createVNode(_sfc_main$1, {
|
|
581
603
|
modelValue: atlas.value,
|
|
582
|
-
"onUpdate:modelValue": _cache[
|
|
604
|
+
"onUpdate:modelValue": _cache[10] || (_cache[10] = ($event) => atlas.value = $event),
|
|
583
605
|
articleId: parseInt((_a = articleDv.data) == null ? void 0 : _a.id)
|
|
584
606
|
}, null, 8, ["modelValue", "articleId"])
|
|
585
607
|
];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"article-edit-add-page.vue2.js","sources":["../../../../../../src/modules/cms/pages/cms-contents/article-edit-add-page.vue"],"sourcesContent":["<template>\r\n <div class=\"mk-cms-article-eidtadd__warp\">\r\n <el-page-header style=\"background-color: #fff;padding: 10px;\" :icon=\"null\">\r\n <template #content>\r\n <el-text v-if=\"!articleDv.data?.modifier\">{{ !!route.query.id ? \"编辑文章\" : \"创建文章\" }}</el-text>\r\n <el-text v-else>{{ articleDv.data?.modifierName }} 于 {{ articleDv.data?.updatedAt }} 更新</el-text>\r\n </template>\r\n <template #extra>\r\n <div class=\"mk-cms-article-eidtadd__header_tools\">\r\n <el-tag v-if=\"!articleDv.data?.publishTime\" effect=\"dark\" round>未发布</el-tag>\r\n <el-text v-else>发布时间:{{ articleDv.data?.publishTime }}</el-text>\r\n <el-dropdown>\r\n <span class=\"el-dropdown-link\">\r\n <el-button type=\"primary\" text>\r\n 保存\r\n <MKSvgIcon iconClass=\"Plus\" style=\"margin-left: 10px;\" />\r\n </el-button>\r\n </span>\r\n <template #dropdown>\r\n <el-dropdown-menu>\r\n <el-dropdown-item @click=\"saveHandle\">\r\n 仅保存\r\n </el-dropdown-item>\r\n <el-dropdown-item>\r\n 保存为草稿\r\n </el-dropdown-item>\r\n <el-dropdown-item>\r\n 保存并预览\r\n </el-dropdown-item>\r\n <el-dropdown-item>\r\n 保存并发布\r\n </el-dropdown-item>\r\n </el-dropdown-menu>\r\n </template>\r\n </el-dropdown>\r\n </div>\r\n </template>\r\n </el-page-header>\r\n <div class=\"mk-cms-article-eidtadd__body\" v-loading=\"articleDv.loading\">\r\n\r\n <MKDocEditor v-if=\"articleDv.data\" :content=\"content\" @change=\"EditorChangeHandle\">\r\n <template #header>\r\n <div class=\"mk-cms-article-eidtadd__body__header\">\r\n <el-row>\r\n <el-input class=\"title\" type=\"textarea\" :autosize=\"{ minRows: 1, maxRows: 4 }\" maxlength=\"150\"\r\n show-word-limit placeholder=\"请输入标题\" v-model=\"title\" />\r\n </el-row>\r\n <el-row>\r\n <el-input class=\"sub-title\" type=\"textarea\" :autosize=\"{ minRows: 1, maxRows: 4 }\" maxlength=\"150\"\r\n show-word-limit placeholder=\"[选填] 请输入子标题\" v-model=\"subTitle\" />\r\n </el-row>\r\n </div>\r\n </template>\r\n <template #after-extentions>\r\n <div class=\"mk-cms-article-eidtadd__body__extentions\" :class=\"{ hide: showExtentions! }\" ref=\"extentionsRef\">\r\n <MKSvgIcon icon-class=\"ArrowLeft\" class=\"open\" @click=\"showExtentionsHandle\" v-if=\"showExtentions\">\r\n </MKSvgIcon>\r\n <MKSvgIcon v-else icon-class=\"ArrowRight\" class=\"close\" @click=\"hideExtentionsHandle\">\r\n </MKSvgIcon>\r\n <el-divider content-position=\"left\">文章设置</el-divider>\r\n <MKDataForm :dataForm=\"articleDv\">\r\n <MKForm :dataForm=\"articleDv\" style=\"width:225px\" label-width=\"110px\">\r\n <el-row>\r\n <MKDataFormItem style=\"width: 100%;\" name=\"isTop\"></MKDataFormItem>\r\n </el-row>\r\n <el-row>\r\n <MKDataFormItem style=\"width: 100%;\" name=\"isNew\"></MKDataFormItem>\r\n </el-row>\r\n <el-row>\r\n <MKDataFormItem style=\"width: 100%;\" name=\"isHotRecommend\"></MKDataFormItem>\r\n </el-row>\r\n <el-row>\r\n <MKDataFormItem style=\"width: 100%;\" name=\"isPartRecommend\"></MKDataFormItem>\r\n </el-row>\r\n <el-row>\r\n <MKDataFormItem style=\"width: 100%;\" name=\"isShowList\"></MKDataFormItem>\r\n </el-row>\r\n <el-row>\r\n <MKDataFormItem style=\"width: 100%;\" name=\"isDraft\"></MKDataFormItem>\r\n </el-row>\r\n <el-row>\r\n <MKDataFormItem style=\"width: 100%;\" name=\"sortNo\"></MKDataFormItem>\r\n </el-row>\r\n </MKForm>\r\n </MKDataForm>\r\n </div>\r\n </template>\r\n <template #footer>\r\n <div class=\"mk-cms-article-eidtadd__body__footer\">\r\n <el-tabs v-model=\"articleOptionsActive\">\r\n <el-tab-pane label=\"基础内容\" name=\"content\">\r\n <div class=\"content\">\r\n <el-row :gutter=\"20\">\r\n <el-col :span=\"6\">\r\n <el-input placeholder=\"[选填] 作者\" v-model=\"articleDv.data.author\" clearable>\r\n <template #prefix>\r\n <MKSvgIcon iconClass=\"yonghu\" />\r\n </template>\r\n </el-input>\r\n </el-col>\r\n <el-col :span=\"6\">\r\n <el-date-picker v-model=\"releaseDate\" type=\"datetime\" placeholder=\"发布时间\"\r\n :default-time=\"new Date()\" />\r\n </el-col>\r\n <el-col :span=\"12\">\r\n <el-input placeholder=\"[选填] 发布地址\" v-model=\"articleDv.data.locationDesc\" clearable>\r\n <template #prefix>\r\n <MKSvgIcon iconClass=\"Location\" />\r\n </template>\r\n </el-input>\r\n </el-col>\r\n </el-row>\r\n <el-row>\r\n <el-select v-model=\"tags\" multiple filterable allow-create default-first-option\r\n :reserve-keyword=\"false\" placeholder=\"[可选] 选择文章标签\" style=\"width: 100%\">\r\n <template #prefix>\r\n <MKSvgIcon iconClass=\"CollectionTag\" />\r\n </template>\r\n </el-select>\r\n </el-row>\r\n <el-row class=\"cover-desc\">\r\n <MKUploadFile v-model=\"articleDv.data.cover\" class=\"cover\" :uploadContext=\"new MaterialUploadContext({\r\n allowMaterialTypeValues: [1],\r\n })\">\r\n <el-image class=\"cover-image\" :src=\"articleDv.data.cover\" style=\"width: 100%; height: 100%\"\r\n fit=\"contain\">\r\n <template #error>\r\n <MKSvgIcon iconClass=\"Picture\" />\r\n </template>\r\n </el-image>\r\n </MKUploadFile>\r\n <el-input class=\"desc\" type=\"textarea\" :autosize=\"{ minRows: 5, maxRows: 10 }\" maxlength=\"1000\"\r\n show-word-limit placeholder=\"[选填] 文章简介\" v-model=\"articleDv.data.desc\" />\r\n </el-row>\r\n <el-divider content-position=\"left\">文章封面</el-divider>\r\n <el-row>\r\n <MKUploadFile class=\"banner\" v-model=\"articleDv.data.banner\" :uploadContext=\"new MaterialUploadContext({\r\n allowMaterialTypeValues: [1],\r\n })\">\r\n <el-image class=\"cover-image\" :src=\"articleDv.data.banner\" style=\"width: 100%; height: 100%\"\r\n fit=\"cover\">\r\n <template #error>\r\n <MKSvgIcon iconClass=\"Picture\" />\r\n </template>\r\n </el-image>\r\n </MKUploadFile>\r\n </el-row>\r\n </div>\r\n </el-tab-pane>\r\n <el-tab-pane label=\"文章资源库\" name=\"atlas\">\r\n <ArticleAtlas v-model=\"atlas\" :articleId=\"parseInt(articleDv.data?.id)\" />\r\n </el-tab-pane>\r\n <el-tab-pane label=\"页面设置\" name=\"settings\">\r\n <MKDataForm :dataForm=\"articleDv\" label-width=\"120px\">\r\n <MKForm :dataForm=\"articleDv\">\r\n <el-row>\r\n <MKDataFormItem style=\"width: 100%;\" name=\"seoKeywords\"></MKDataFormItem>\r\n </el-row>\r\n <el-row>\r\n <MKDataFormItem style=\"width: 100%;\" name=\"seoDesc\"></MKDataFormItem>\r\n </el-row>\r\n </MKForm>\r\n </MKDataForm>\r\n </el-tab-pane>\r\n </el-tabs>\r\n </div>\r\n </template>\r\n </MKDocEditor>\r\n </div>\r\n </div>\r\n</template>\r\n<script setup lang='ts'>\r\nimport { onMounted, reactive, ref, unref, Ref, watch, computed } from \"vue\";\r\nimport { MKDocEditor, MKSvgIcon } from '../../../../components'\r\nimport { MKDataForm, MKForm, MKDataFormItem } from \"../../../../components\";\r\nimport { DvOpt } from \"@maketribe/request\";\r\nimport ArticleAtlas from \"./components/article-atlas.vue\";\r\nimport { CmsArticlesForm } from \"../../dataviews\";\r\nimport { useRoute } from \"vue-router\";\r\nimport { MaterialUploadContext } from \"../../../ms\";\r\n\r\nconst route = useRoute()\r\n\r\n// 文章请求\r\nconst articleDvOpt = DvOpt.createInstance({ name: \"article\", moduleName: \"cms\" });\r\nconst articleDv = reactive(new CmsArticlesForm()) as CmsArticlesForm;\r\nconst articleOptionsActive = ref(\"content\");\r\n\r\n//qiat\r\n\r\n// 标题\r\nconst title = computed({\r\n get() { return articleDv.data?.title || \"\"; },\r\n set(val) { articleDv.data.title = val; }\r\n});\r\n// 子标题\r\nconst subTitle = computed({\r\n get() { return articleDv.data?.subTitle || \"\"; },\r\n set(val) { articleDv.data.subTitle = val; }\r\n});\r\n// 发布时间\r\nconst releaseDate = computed({\r\n get() { return articleDv.data?.releaseDate || articleDv.data?.publishTime; },\r\n set(val) { articleDv.data.releaseDate = val; }\r\n});\r\n// 标签\r\nconst tags = ref([]);\r\n// computed({ \r\n// get() { return articleDv.data?.tags || [] }, \r\n// set(val) { articleDv.data.tags = val; } \r\n// });\r\n// 内容\r\nconst content = computed({\r\n get() { return articleDv.data?.content || \"\"; },\r\n set(val) { articleDv.data.content = val; }\r\n});\r\n\r\n// 图集\r\nconst atlas = computed({\r\n get() {\r\n return articleDv.data?.atlas\r\n },\r\n set(val) { articleDv.data.atlas = val; }\r\n});\r\n\r\n// debug\r\n(window as any).articleDv = articleDv;\r\n\r\nonMounted(() => {\r\n\r\n // 初始化数据加载\r\n if (route.query.id) {\r\n articleDv.editRecord(route.query.id);\r\n }\r\n else if (route.query.partId) {\r\n articleDv.addRecord({\r\n cmsPartId: route.query.partId\r\n });\r\n }\r\n else {\r\n articleDv.addRecord();\r\n }\r\n articleDv.init();\r\n})\r\n\r\n// 保存\r\nconst saveHandle = async () => {\r\n\r\n let result = await articleDv.submit();\r\n if (route.query.id) {\r\n articleDv.editRecord(route.query.id);\r\n } else if (route.query.partId) {\r\n articleDv.addRecord({\r\n cmsPartId: route.query.partId\r\n });\r\n } else {\r\n articleDv.addRecord();\r\n }\r\n}\r\nconst showExtentions = ref(false);\r\nconst extentionsRef = ref();\r\n// 隐藏扩展\r\nconst hideExtentionsHandle = () => {\r\n\r\n showExtentions.value = true;\r\n}\r\n//展示扩展\r\nconst showExtentionsHandle = () => {\r\n\r\n showExtentions.value = false;\r\n\r\n}\r\n\r\nconst EditorChangeHandle = (v: any) => {\r\n articleDv.data.content = v;\r\n}\r\n\r\n</script>\r\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"article-edit-add-page.vue2.js","sources":["../../../../../../src/modules/cms/pages/cms-contents/article-edit-add-page.vue"],"sourcesContent":["<template>\r\n <div class=\"mk-cms-article-eidtadd__warp\">\r\n <el-page-header style=\"background-color: #fff;padding: 10px;\" :icon=\"null\" @back=\"()=>router.push({name:'cms/contents',query:{pid:articleDv?.data?.cmsPartId} })\">\r\n <template #content>\r\n <el-text v-if=\"!articleDv.data?.modifier\">{{ !!route.query.id ? \"编辑文章\" : \"创建文章\" }}</el-text>\r\n <el-text v-else>{{ articleDv.data?.modifierName }} 于 {{ articleDv.data?.updatedAt }} 更新</el-text>\r\n </template>\r\n <template #extra>\r\n <div class=\"mk-cms-article-eidtadd__header_tools\">\r\n <el-tag v-if=\"!articleDv.data?.publishTime\" effect=\"dark\" round>未发布</el-tag>\r\n <el-text v-else>发布时间:{{ articleDv.data?.publishTime }}</el-text>\r\n <el-dropdown>\r\n <span class=\"el-dropdown-link\" style=\"margin-left: 10px;\">\r\n <el-button type=\"primary\" plain>\r\n <MKSvgIcon iconClass=\"save\" style=\"margin-right: 10px;\" />\r\n 保存\r\n </el-button>\r\n </span>\r\n <template #dropdown>\r\n <el-dropdown-menu>\r\n <el-dropdown-item @click=\"saveHandle\">\r\n <MKSvgIcon iconClass=\"save\" style=\"margin-right: 5px;\" />\r\n 仅保存\r\n </el-dropdown-item>\r\n <el-dropdown-item>\r\n <MKSvgIcon iconClass=\"save\" style=\"margin-right: 5px;\" />\r\n 保存为草稿\r\n </el-dropdown-item>\r\n <el-dropdown-item>\r\n <MKSvgIcon iconClass=\"View\" style=\"margin-right: 5px;\" />\r\n 保存并预览\r\n </el-dropdown-item>\r\n <el-dropdown-item>\r\n <MKSvgIcon iconClass=\"Share\" style=\"margin-right: 5px;\" />\r\n 保存并发布\r\n </el-dropdown-item>\r\n </el-dropdown-menu>\r\n </template>\r\n </el-dropdown>\r\n </div>\r\n </template>\r\n </el-page-header>\r\n <div class=\"mk-cms-article-eidtadd__body\" v-loading=\"articleDv.loading\">\r\n\r\n <MKDocEditor v-if=\"articleDv.data\" :content=\"content\" @change=\"EditorChangeHandle\">\r\n <template #header>\r\n <div class=\"mk-cms-article-eidtadd__body__header\">\r\n <el-row>\r\n <el-input class=\"title\" type=\"textarea\" :autosize=\"{ minRows: 1, maxRows: 4 }\" maxlength=\"150\"\r\n show-word-limit placeholder=\"请输入标题\" v-model=\"title\" />\r\n </el-row>\r\n <el-row>\r\n <el-input class=\"sub-title\" type=\"textarea\" :autosize=\"{ minRows: 1, maxRows: 4 }\" maxlength=\"150\"\r\n show-word-limit placeholder=\"[选填] 请输入子标题\" v-model=\"subTitle\" />\r\n </el-row>\r\n </div>\r\n </template>\r\n <template #after-extentions>\r\n <div class=\"mk-cms-article-eidtadd__body__extentions\" :class=\"{ hide: showExtentions! }\" ref=\"extentionsRef\">\r\n <MKSvgIcon icon-class=\"ArrowLeft\" class=\"open\" @click=\"showExtentionsHandle\" v-if=\"showExtentions\">\r\n </MKSvgIcon>\r\n <MKSvgIcon v-else icon-class=\"ArrowRight\" class=\"close\" @click=\"hideExtentionsHandle\">\r\n </MKSvgIcon>\r\n <el-divider content-position=\"left\">文章设置</el-divider>\r\n <MKDataForm :dataForm=\"articleDv\">\r\n <MKForm :dataForm=\"articleDv\" style=\"width:225px\" label-width=\"110px\">\r\n <el-row>\r\n <MKDataFormItem style=\"width: 100%;\" name=\"isTop\"></MKDataFormItem>\r\n </el-row>\r\n <el-row>\r\n <MKDataFormItem style=\"width: 100%;\" name=\"isNew\"></MKDataFormItem>\r\n </el-row>\r\n <el-row>\r\n <MKDataFormItem style=\"width: 100%;\" name=\"isHotRecommend\"></MKDataFormItem>\r\n </el-row>\r\n <el-row>\r\n <MKDataFormItem style=\"width: 100%;\" name=\"isPartRecommend\"></MKDataFormItem>\r\n </el-row>\r\n <el-row>\r\n <MKDataFormItem style=\"width: 100%;\" name=\"isShowList\"></MKDataFormItem>\r\n </el-row>\r\n <el-row>\r\n <MKDataFormItem style=\"width: 100%;\" name=\"isDraft\"></MKDataFormItem>\r\n </el-row>\r\n <el-row>\r\n <MKDataFormItem style=\"width: 100%;\" name=\"sortNo\"></MKDataFormItem>\r\n </el-row>\r\n </MKForm>\r\n </MKDataForm>\r\n </div>\r\n </template>\r\n <template #footer>\r\n <div class=\"mk-cms-article-eidtadd__body__footer\">\r\n <el-tabs v-model=\"articleOptionsActive\">\r\n <el-tab-pane label=\"基础内容\" name=\"content\">\r\n <div class=\"content\">\r\n <el-row :gutter=\"20\">\r\n <el-col :span=\"6\">\r\n <el-input placeholder=\"[选填] 作者\" v-model=\"articleDv.data.author\" clearable>\r\n <template #prefix>\r\n <MKSvgIcon iconClass=\"UserFilled\" />\r\n </template>\r\n </el-input>\r\n </el-col>\r\n <el-col :span=\"6\">\r\n <el-date-picker v-model=\"releaseDate\" type=\"datetime\" placeholder=\"发布时间\"\r\n :default-time=\"new Date()\" />\r\n </el-col>\r\n <el-col :span=\"12\">\r\n <el-input placeholder=\"[选填] 发布地址\" v-model=\"articleDv.data.locationDesc\" clearable>\r\n <template #prefix>\r\n <MKSvgIcon iconClass=\"Location\" />\r\n </template>\r\n </el-input>\r\n </el-col>\r\n </el-row>\r\n <el-row>\r\n <el-select v-model=\"tags\" multiple filterable allow-create default-first-option\r\n :reserve-keyword=\"false\" placeholder=\"[可选] 选择文章标签\" style=\"width: 100%\">\r\n <template #prefix>\r\n <MKSvgIcon iconClass=\"CollectionTag\" />\r\n </template>\r\n </el-select>\r\n </el-row>\r\n <el-row class=\"cover-desc\">\r\n <MKUploadFile v-model=\"articleDv.data.cover\" class=\"cover\" :uploadContext=\"new MaterialUploadContext({\r\n allowMaterialTypeValues: [1],\r\n })\">\r\n <el-image class=\"cover-image\" :src=\"articleDv.data.cover\" style=\"width: 100%; height: 100%\"\r\n fit=\"contain\">\r\n <template #error>\r\n <MKSvgIcon iconClass=\"Picture\" />\r\n </template>\r\n </el-image>\r\n </MKUploadFile>\r\n <el-input class=\"desc\" type=\"textarea\" :autosize=\"{ minRows: 5, maxRows: 10 }\" maxlength=\"1000\"\r\n show-word-limit placeholder=\"[选填] 文章简介\" v-model=\"articleDv.data.desc\" />\r\n </el-row>\r\n <el-divider content-position=\"left\">文章封面</el-divider>\r\n <el-row>\r\n <MKUploadFile class=\"banner\" v-model=\"articleDv.data.banner\" :uploadContext=\"new MaterialUploadContext({\r\n allowMaterialTypeValues: [1],\r\n })\">\r\n <el-image class=\"cover-image\" :src=\"articleDv.data.banner\" style=\"width: 100%; height: 100%\"\r\n fit=\"cover\">\r\n <template #error>\r\n <MKSvgIcon iconClass=\"Picture\" />\r\n </template>\r\n </el-image>\r\n </MKUploadFile>\r\n </el-row>\r\n </div>\r\n </el-tab-pane>\r\n <el-tab-pane label=\"文章资源库\" name=\"atlas\">\r\n <ArticleAtlas v-model=\"atlas\" :articleId=\"parseInt(articleDv.data?.id)\" />\r\n </el-tab-pane>\r\n <el-tab-pane label=\"页面设置\" name=\"settings\">\r\n <MKDataForm :dataForm=\"articleDv\" label-width=\"120px\">\r\n <MKForm :dataForm=\"articleDv\">\r\n <el-row>\r\n <MKDataFormItem style=\"width: 100%;\" name=\"seoKeywords\"></MKDataFormItem>\r\n </el-row>\r\n <el-row>\r\n <MKDataFormItem style=\"width: 100%;\" name=\"seoDesc\"></MKDataFormItem>\r\n </el-row>\r\n </MKForm>\r\n </MKDataForm>\r\n </el-tab-pane>\r\n </el-tabs>\r\n </div>\r\n </template>\r\n </MKDocEditor>\r\n </div>\r\n </div>\r\n</template>\r\n<script setup lang='ts'>\r\nimport { onMounted, reactive, ref, computed } from \"vue\";\r\nimport { MKDocEditor, MKSvgIcon } from '../../../../components'\r\nimport { MKDataForm, MKForm, MKDataFormItem } from \"../../../../components\";\r\nimport ArticleAtlas from \"./components/article-atlas.vue\";\r\nimport { CmsArticlesForm } from \"../../dataviews\";\r\nimport { useRoute,useRouter } from \"vue-router\";\r\nimport { MaterialUploadContext } from \"../../../ms\";\r\n\r\nconst route = useRoute()\r\nconst router = useRouter();\r\n\r\n\r\n// 文章请求\r\nconst articleDv = reactive(new CmsArticlesForm()) as CmsArticlesForm;\r\nconst articleOptionsActive = ref(\"content\");\r\n\r\n//qiat\r\n\r\n// 标题\r\nconst title = computed({\r\n get() { return articleDv.data?.title || \"\"; },\r\n set(val) { articleDv.data.title = val; }\r\n});\r\n// 子标题\r\nconst subTitle = computed({\r\n get() { return articleDv.data?.subTitle || \"\"; },\r\n set(val) { articleDv.data.subTitle = val; }\r\n});\r\n// 发布时间\r\nconst releaseDate = computed({\r\n get() { return articleDv.data?.releaseDate || articleDv.data?.publishTime; },\r\n set(val) { articleDv.data.releaseDate = val; }\r\n});\r\n// 标签\r\nconst tags = ref([]);\r\n// computed({ \r\n// get() { return articleDv.data?.tags || [] }, \r\n// set(val) { articleDv.data.tags = val; } \r\n// });\r\n// 内容\r\nconst content = computed({\r\n get() { return articleDv.data?.content || \"\"; },\r\n set(val) { articleDv.data.content = val; }\r\n});\r\n\r\n// 图集\r\nconst atlas = computed({\r\n get() {\r\n return articleDv.data?.atlas\r\n },\r\n set(val) { articleDv.data.atlas = val; }\r\n});\r\n\r\n\r\nonMounted(() => {\r\n\r\n // 初始化数据加载\r\n if (route.query.id) {\r\n articleDv.editRecord(route.query.id);\r\n }\r\n else if (route.query.partId) {\r\n articleDv.addRecord({\r\n cmsPartId: route.query.partId\r\n });\r\n }\r\n else {\r\n articleDv.addRecord();\r\n }\r\n articleDv.init();\r\n \r\n})\r\n\r\n// 保存\r\nconst saveHandle = async () => {\r\n\r\n let result = await articleDv.submit();\r\n if (route.query.id) {\r\n articleDv.editRecord(route.query.id);\r\n } else if (route.query.partId) {\r\n articleDv.addRecord({\r\n cmsPartId: route.query.partId\r\n });\r\n } else {\r\n articleDv.addRecord();\r\n }\r\n}\r\nconst showExtentions = ref(false);\r\nconst extentionsRef = ref();\r\n// 隐藏扩展\r\nconst hideExtentionsHandle = () => {\r\n\r\n showExtentions.value = true;\r\n}\r\n//展示扩展\r\nconst showExtentionsHandle = () => {\r\n\r\n showExtentions.value = false;\r\n\r\n}\r\n\r\nconst EditorChangeHandle = (v: any) => {\r\n articleDv.data.content = v;\r\n}\r\n\r\n</script>\r\n"],"names":[],"mappings":"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"}
|
|
@@ -190,12 +190,12 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
190
190
|
createElementVNode("div", _hoisted_7, [
|
|
191
191
|
createElementVNode("div", _hoisted_8, [
|
|
192
192
|
createElementVNode("div", _hoisted_9, [
|
|
193
|
-
createVNode(_component_MKSvgIcon, { iconClass: "
|
|
193
|
+
createVNode(_component_MKSvgIcon, { iconClass: "UserFilled" }),
|
|
194
194
|
createTextVNode(" 作者 : " + toDisplayString(article.author || "-"), 1)
|
|
195
195
|
]),
|
|
196
196
|
createElementVNode("div", _hoisted_10, [
|
|
197
197
|
createVNode(_component_MKSvgIcon, { iconClass: "Timer" }),
|
|
198
|
-
createTextVNode("发布时间 : " + toDisplayString(article.publishTime), 1)
|
|
198
|
+
createTextVNode(" 发布时间 : " + toDisplayString(article.publishTime), 1)
|
|
199
199
|
])
|
|
200
200
|
]),
|
|
201
201
|
createElementVNode("div", _hoisted_11, [
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"article-list.vue.js","sources":["../../../../../../../src/modules/cms/pages/cms-contents/components/article-list.vue"],"sourcesContent":["<template>\r\n <MKDataTable :data-table=\"articlesDv\" :auto-load=\"false\" class=\"mk-cms-article-list\">\r\n <el-empty v-if=\"part && part.cmsPartTypeId == 1\" description=\"外链栏目下无文章内容\" />\r\n <MKTableView v-else-if=\"part\" :data-table=\"articlesDv\">\r\n <el-scrollbar class=\"mk-cms-article-list__content\" style=\"box-sizing: border-box;font-size: 0;\"\r\n v-if=\"articlesDv.getList().length > 0\">\r\n <el-card class=\"mk-cms-article-list__item\" v-for=\"article in articlesDv.getList()\" :key=\"article.id\">\r\n <div class=\"mk-cms-article-list__item__content\">\r\n <div class=\"left\">\r\n <el-image class=\"cover-image\" :src=\"article.cover\" fit=\"contain\">\r\n <template #error>\r\n <MKSvgIcon iconClass=\"Picture\" />\r\n </template>\r\n </el-image>\r\n </div>\r\n <div class=\"right\">\r\n <div class=\"title\" :title=\"article.title\"> {{ article.title }}</div>\r\n <div class=\"sub-title\" v-if=\"article.subTitle\" :title=\"article.subTitle\"> {{ article.subTitle }}</div>\r\n <div class=\"desc\">\r\n {{ article.desc }}\r\n </div>\r\n <div class=\"footer\">\r\n <div class=\"ext\">\r\n <div class=\"author\">\r\n <MKSvgIcon iconClass=\"
|
|
1
|
+
{"version":3,"file":"article-list.vue.js","sources":["../../../../../../../src/modules/cms/pages/cms-contents/components/article-list.vue"],"sourcesContent":["<template>\r\n <MKDataTable :data-table=\"articlesDv\" :auto-load=\"false\" class=\"mk-cms-article-list\">\r\n <el-empty v-if=\"part && part.cmsPartTypeId == 1\" description=\"外链栏目下无文章内容\" />\r\n <MKTableView v-else-if=\"part\" :data-table=\"articlesDv\">\r\n <el-scrollbar class=\"mk-cms-article-list__content\" style=\"box-sizing: border-box;font-size: 0;\"\r\n v-if=\"articlesDv.getList().length > 0\">\r\n <el-card class=\"mk-cms-article-list__item\" v-for=\"article in articlesDv.getList()\" :key=\"article.id\">\r\n <div class=\"mk-cms-article-list__item__content\">\r\n <div class=\"left\">\r\n <el-image class=\"cover-image\" :src=\"article.cover\" fit=\"contain\">\r\n <template #error>\r\n <MKSvgIcon iconClass=\"Picture\" />\r\n </template>\r\n </el-image>\r\n </div>\r\n <div class=\"right\">\r\n <div class=\"title\" :title=\"article.title\"> {{ article.title }}</div>\r\n <div class=\"sub-title\" v-if=\"article.subTitle\" :title=\"article.subTitle\"> {{ article.subTitle }}</div>\r\n <div class=\"desc\">\r\n {{ article.desc }}\r\n </div>\r\n <div class=\"footer\">\r\n <div class=\"ext\">\r\n <div class=\"author\">\r\n <MKSvgIcon iconClass=\"UserFilled\"></MKSvgIcon> \r\n 作者 : {{ article.author || \"-\" }}\r\n </div>\r\n <div class=\"publish-time\">\r\n <MKSvgIcon iconClass=\"Timer\"></MKSvgIcon> \r\n 发布时间 : {{ article.publishTime }}\r\n </div>\r\n </div>\r\n <div class=\"tools\">\r\n <el-button type=\"primary\" size=\"large\" @click=\"editArticleHandle(article)\" text>\r\n 编辑\r\n </el-button>\r\n <el-button type=\"danger\" size=\"large\" @click=\"deleteArticleHandle(article)\" text>\r\n 删除\r\n </el-button>\r\n <a v-if=\"article.url\" :href=\"article.url\" target=\"_blank\">\r\n <el-button type=\"primary\" size=\"large\" text>访问</el-button>\r\n </a>\r\n <a :href=\"'/api/cms/content/preview/content/' + article.cmsPartId + '/' + article.id\" target=\"_blank\">\r\n <el-button type=\"primary\" size=\"large\" text>预览</el-button>\r\n </a>\r\n <el-button type=\"primary\" size=\"large\" text @click=\"publishArticleHandle(article)\">\r\n 发布\r\n </el-button>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </el-card>\r\n </el-scrollbar>\r\n <el-empty v-if=\"articlesDv.getList().length <= 0\" description=\"暂无文章内容\" />\r\n </MKTableView>\r\n </MKDataTable>\r\n</template>\r\n<script setup lang='ts'>\r\nimport { MKTableView } from \"../../../../../components\"\r\nimport { CmsArticlesTable } from \"../../../dataviews\"\r\nimport { onMounted, reactive, ref, defineProps, watch } from \"vue\";\r\nimport { DvOpt } from \"@maketribe/request\";\r\nimport { Dialoger, isWhereFilter, Messager } from '@maketribe/dm'\r\nimport { useRouter } from \"vue-router\";\r\nimport { MSAppClient } from \"../../../../../core\";\r\n\r\n// 文章\r\nconst articlesDv = reactive(new CmsArticlesTable()) as CmsArticlesTable;\r\n\r\n// 参数\r\nconst props = defineProps({\r\n part: { type: Object, default: null }\r\n})\r\n\r\nconst router = useRouter();\r\n\r\n// 监听栏目数据变化\r\nwatch(() => props.part, (item: any) => {\r\n\r\n if (item.cmsPartTypeId != 1) {\r\n\r\n const dataFilter = articlesDv.dataFilter;\r\n\r\n if (isWhereFilter(dataFilter)) {\r\n const defaultGroup = dataFilter.getDefaultGroup();\r\n defaultGroup.clear();\r\n defaultGroup.addCondition(\"cmsPartId\", \"=\", item.id);\r\n }\r\n\r\n articlesDv.load()\r\n }\r\n\r\n}, { immediate: true })\r\n\r\n/**\r\n * 删除文章\r\n */\r\nconst deleteArticleHandle = async (item: any) => {\r\n const isConfirm = await Dialoger.confirm({\r\n title: \"删除文章?\",\r\n message: \"是否删除文章?\",\r\n type: \"warning\"\r\n })\r\n\r\n if (!isConfirm) {\r\n return;\r\n }\r\n await articlesDv.deleteAfterRefresh(item.id);\r\n}\r\n\r\n/**\r\n * 编辑文章\r\n */\r\nconst editArticleHandle = (item: any, isEdit = false) => {\r\n router.push({ path: \"/cms/article\", query: { id: isEdit ? undefined : item.id, partId: isEdit ? item.id : undefined } })\r\n}\r\n\r\n\r\narticlesDv.addRecordEvent.on(() => {\r\n editArticleHandle(props.part, true)\r\n})\r\n\r\nconst publishArticleHandle = async (article: any) => {\r\n console.warn(`🚀 ~ file: article-list.vue:124 ~ article:`, article);\r\n const httpRequest = MSAppClient.instance?.httpRequest!;\r\n try {\r\n const isConfirm = await Dialoger.confirm({ title: \"文章发布\", message: \"是否发布文章?\", type: \"warning\" })\r\n\r\n if (!isConfirm) {\r\n return;\r\n }\r\n\r\n articlesDv.getLoadingManager().startLoading();\r\n\r\n const response = await httpRequest.post(\r\n `/cms/content/publish/content`, {\r\n partId: article.cmsPartId,\r\n contentIds: [\r\n article.id\r\n ]\r\n }\r\n );\r\n\r\n if (response.data.code !== 200) {\r\n Messager.error({ message: response.data.msg });\r\n return;\r\n }\r\n\r\n Messager.success({ message: \"发布成功\" });\r\n\r\n } finally {\r\n articlesDv.getLoadingManager().completeLoading();\r\n }\r\n}\r\n\r\n// 挂在完成之后\r\nonMounted(async () => {\r\n\r\n // // 加载数据\r\n // articleList.value = await articleDvOpt.query().list();\r\n\r\n // // 修改状态\r\n // loading.value = false;\r\n})\r\n\r\n</script>\r\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAoEA,UAAM,aAAa,SAAS,IAAI,iBAAkB,CAAA;AAGlD,UAAM,QAAQ;AAId,UAAM,SAAS;AAGf,UAAM,MAAM,MAAM,MAAM,CAAC,SAAc;AAEjC,UAAA,KAAK,iBAAiB,GAAG;AAE3B,cAAM,aAAa,WAAW;AAE1B,YAAA,cAAc,UAAU,GAAG;AACvB,gBAAA,eAAe,WAAW;AAChC,uBAAa,MAAM;AACnB,uBAAa,aAAa,aAAa,KAAK,KAAK,EAAE;AAAA,QACrD;AAEA,mBAAW,KAAK;AAAA,MAClB;AAAA,IAAA,GAEC,EAAE,WAAW,KAAA,CAAM;AAKhB,UAAA,sBAAsB,OAAO,SAAc;AACzC,YAAA,YAAY,MAAM,SAAS,QAAQ;AAAA,QACvC,OAAO;AAAA,QACP,SAAS;AAAA,QACT,MAAM;AAAA,MAAA,CACP;AAED,UAAI,CAAC,WAAW;AACd;AAAA,MACF;AACM,YAAA,WAAW,mBAAmB,KAAK,EAAE;AAAA,IAAA;AAM7C,UAAM,oBAAoB,CAAC,MAAW,SAAS,UAAU;AACvD,aAAO,KAAK,EAAE,MAAM,gBAAgB,OAAO,EAAE,IAAI,SAAS,SAAY,KAAK,IAAI,QAAQ,SAAS,KAAK,KAAK,UAAa;AAAA,IAAA;AAI9G,eAAA,eAAe,GAAG,MAAM;AACf,wBAAA,MAAM,MAAM,IAAI;AAAA,IAAA,CACnC;AAEK,UAAA,uBAAuB,OAAO,YAAiB;;AAC3C,cAAA,KAAK,8CAA8C,OAAO;AAC5D,YAAA,eAAc,iBAAY,aAAZ,mBAAsB;AACtC,UAAA;AACI,cAAA,YAAY,MAAM,SAAS,QAAQ,EAAE,OAAO,QAAQ,SAAS,WAAW,MAAM,UAAW,CAAA;AAE/F,YAAI,CAAC,WAAW;AACd;AAAA,QACF;AAEW,mBAAA,oBAAoB;AAEzB,cAAA,WAAW,MAAM,YAAY;AAAA,UACjC;AAAA,UAAgC;AAAA,YAChC,QAAQ,QAAQ;AAAA,YAChB,YAAY;AAAA,cACV,QAAQ;AAAA,YACV;AAAA,UACF;AAAA,QAAA;AAGI,YAAA,SAAS,KAAK,SAAS,KAAK;AAC9B,mBAAS,MAAM,EAAE,SAAS,SAAS,KAAK,KAAK;AAC7C;AAAA,QACF;AAEA,iBAAS,QAAQ,EAAE,SAAS,OAAQ,CAAA;AAAA,MAAA,UAEpC;AACW,mBAAA,oBAAoB;MACjC;AAAA,IAAA;AAIF,cAAU,YAAY;AAAA,IAAA,CAOrB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|