@ibiz-template/vue3-components 0.7.41-alpha.46 → 0.7.41-alpha.48

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (39) hide show
  1. package/dist/ibiz-markdown-editor-DlU-04L2.js +1 -0
  2. package/dist/index-CyLmf9lT.js +11 -0
  3. package/dist/index.min.css +1 -1
  4. package/dist/index.system.min.js +1 -1
  5. package/dist/{wang-editor-CRTv7Ujm.js → wang-editor-DE0C30tE.js} +1 -1
  6. package/dist/{xlsx-util-CqW4WJ9G.js → xlsx-util-DBJB7XtH.js} +1 -1
  7. package/es/control/drbar/drbar.controller.mjs +6 -1
  8. package/es/control/drbar/drbar.mjs +5 -5
  9. package/es/control/drtab/drtab-control.util.mjs +1 -1
  10. package/es/control/drtab/drtab.controller.mjs +6 -1
  11. package/es/control/drtab/drtab.mjs +5 -5
  12. package/es/control/form/form-detail/form-item/composite-form-item-ex/composite-form-item-ex.controller.mjs +14 -3
  13. package/es/control/form/form-detail/form-item/composite-form-item-ex/composite-form-item-ex.mjs +2 -2
  14. package/es/control/form/form-detail/form-item/composite-form-item-ex/composite-form-item-ex.state.mjs +6 -0
  15. package/es/editor/code/monaco-editor/monaco-editor.mjs +2 -2
  16. package/es/editor/markdown/ibiz-markdown-editor/ibiz-markdown-editor.mjs +10 -6
  17. package/es/util/ai-chat-util/ai-chat-util.mjs +36 -2
  18. package/es/util/app-popover/app-popover-component.css +1 -1
  19. package/es/util/app-popover/app-popover-component.mjs +1 -0
  20. package/es/view-engine/edit-view.engine.mjs +6 -1
  21. package/es/view-engine/opt-view.engine.mjs +6 -1
  22. package/lib/control/drbar/drbar.cjs +4 -4
  23. package/lib/control/drbar/drbar.controller.cjs +6 -1
  24. package/lib/control/drtab/drtab-control.util.cjs +1 -1
  25. package/lib/control/drtab/drtab.cjs +4 -4
  26. package/lib/control/drtab/drtab.controller.cjs +6 -1
  27. package/lib/control/form/form-detail/form-item/composite-form-item-ex/composite-form-item-ex.cjs +2 -2
  28. package/lib/control/form/form-detail/form-item/composite-form-item-ex/composite-form-item-ex.controller.cjs +14 -3
  29. package/lib/control/form/form-detail/form-item/composite-form-item-ex/composite-form-item-ex.state.cjs +6 -0
  30. package/lib/editor/code/monaco-editor/monaco-editor.cjs +2 -2
  31. package/lib/editor/markdown/ibiz-markdown-editor/ibiz-markdown-editor.cjs +10 -6
  32. package/lib/util/ai-chat-util/ai-chat-util.cjs +36 -2
  33. package/lib/util/app-popover/app-popover-component.cjs +1 -0
  34. package/lib/util/app-popover/app-popover-component.css +1 -1
  35. package/lib/view-engine/edit-view.engine.cjs +6 -1
  36. package/lib/view-engine/opt-view.engine.cjs +6 -1
  37. package/package.json +5 -5
  38. package/dist/ibiz-markdown-editor-C7wR017-.js +0 -1
  39. package/dist/index-DTj1Yy9-.js +0 -11
@@ -19,7 +19,7 @@ const IBizMarkDown = /* @__PURE__ */ vue.defineComponent({
19
19
  emit,
20
20
  slots
21
21
  }) {
22
- var _a, _b, _c, _d, _e;
22
+ var _a, _b, _c, _d, _e, _f;
23
23
  const ns = vue3Util.useNamespace("markdown");
24
24
  const c = props.controller;
25
25
  const currentVal = vue.ref("");
@@ -55,8 +55,12 @@ const IBizMarkDown = /* @__PURE__ */ vue.defineComponent({
55
55
  const lastDirectoryState = vue.ref("pure");
56
56
  let isIgnoreChange = false;
57
57
  let chatInstance;
58
+ let disabledirectory = false;
59
+ if ((_e = c == null ? void 0 : c.editorParams) == null ? void 0 : _e.disabledirectory) {
60
+ disabledirectory = c.editorParams.disabledirectory === "true";
61
+ }
58
62
  let tocPos = "absolute";
59
- if ((_e = c == null ? void 0 : c.editorParams) == null ? void 0 : _e.tocpos) {
63
+ if ((_f = c == null ? void 0 : c.editorParams) == null ? void 0 : _f.tocpos) {
60
64
  tocPos = c.editorParams.tocpos === "fixed" ? "fixed" : "absolute";
61
65
  }
62
66
  const [AIMenu, AIChart] = customMenu.initCustomMenu(c, {
@@ -278,7 +282,7 @@ const IBizMarkDown = /* @__PURE__ */ vue.defineComponent({
278
282
  defaultModel.value = "previewOnly";
279
283
  }
280
284
  vue.nextTick(() => {
281
- var _a2;
285
+ var _a2, _b2, _c2;
282
286
  const bubble = ["bold", "italic", "underline", "strikethrough", "sub", "sup", "|", "size", "color"];
283
287
  const toolbar = ["bold", "italic", "underline", "strikethrough", "|", "color", "header", "|", "list", "image", {
284
288
  insert: ["link", "hr", "br", "code", "formula", "toc", "table", "line-table", "bar-table"]
@@ -332,7 +336,7 @@ const IBizMarkDown = /* @__PURE__ */ vue.defineComponent({
332
336
  // 定义顶部右侧工具栏,默认为空
333
337
  toolbarRight: [],
334
338
  // 目录
335
- toc: {
339
+ toc: !disabledirectory && {
336
340
  updateLocationHash: false,
337
341
  // 要不要更新URL的hash
338
342
  defaultModel: "pure",
@@ -365,7 +369,7 @@ const IBizMarkDown = /* @__PURE__ */ vue.defineComponent({
365
369
  editor.toggleToc("pure");
366
370
  const html = editor.engine.makeHtml(currentVal.value);
367
371
  editor.previewer.update(html);
368
- editor.toc.updateTocList();
372
+ (_b2 = (_a2 = editor.toc) == null ? void 0 : _a2.updateTocList) == null ? void 0 : _b2.call(_a2);
369
373
  editor.setTheme(theme.value);
370
374
  if (customTheme) {
371
375
  editor.setTheme(customTheme);
@@ -375,7 +379,7 @@ const IBizMarkDown = /* @__PURE__ */ vue.defineComponent({
375
379
  span.title = ibiz.i18n.t("editor.common.fullscreen");
376
380
  span.onclick = onSwitchFullscreen;
377
381
  span.appendChild(createCherryIcon("fullscreen"));
378
- const parentElement = props.disabled ? editor.editor.options.editorDom.parentElement : (_a2 = editor.editor.options.editorDom.parentElement) == null ? void 0 : _a2.querySelector(".cherry-toolbar>.toolbar-right");
382
+ const parentElement = props.disabled ? editor.editor.options.editorDom.parentElement : (_c2 = editor.editor.options.editorDom.parentElement) == null ? void 0 : _c2.querySelector(".cherry-toolbar>.toolbar-right");
379
383
  parentElement == null ? void 0 : parentElement.appendChild(span);
380
384
  c == null ? void 0 : c.setMDEditor(editor);
381
385
  onMDEditorCreated(editor);
@@ -103,6 +103,7 @@ class AIChatUtil {
103
103
  chatOptions.sessionid = sessionid;
104
104
  let id = "";
105
105
  let abortController;
106
+ let asyncacitonid = "";
106
107
  const { chatInstance, view, ctrl } = args;
107
108
  chatOptions.history = async (ctx, param, other) => {
108
109
  const deService = await ibiz.hub.getApp(ctx.srfappid).deService.getService(ctx, other.appDataEntityId);
@@ -176,6 +177,7 @@ class AIChatUtil {
176
177
  await deService.aiChatSse(
177
178
  (msg) => {
178
179
  if (msg.actionstate === 20 && msg.actionresult) {
180
+ asyncacitonid = msg.asyncacitonid;
179
181
  aiChat.addMessage({
180
182
  messageid: id,
181
183
  state: msg.actionstate,
@@ -225,8 +227,23 @@ class AIChatUtil {
225
227
  return true;
226
228
  }
227
229
  };
228
- chatOptions.abortQuestion = async (aiChat) => {
230
+ chatOptions.abortQuestion = async (aiChat, ctx, param, other) => {
229
231
  abortController == null ? void 0 : abortController.abort();
232
+ if (asyncacitonid) {
233
+ const deService = await ibiz.hub.getApp(ctx.srfappid).deService.getService(ctx, other.appDataEntityId);
234
+ const abortRequestData = { asyncacitonid };
235
+ if (other.sessionid) {
236
+ Object.assign(abortRequestData, {
237
+ sessionid: other.sessionid
238
+ });
239
+ }
240
+ const result = await deService.aiChatCancel(
241
+ ctx,
242
+ param,
243
+ abortRequestData
244
+ );
245
+ asyncacitonid = "";
246
+ }
230
247
  await aiChat.stopMessage({
231
248
  messageid: id,
232
249
  state: 30,
@@ -444,6 +461,7 @@ class AIChatUtil {
444
461
  }
445
462
  let id = "";
446
463
  let abortController;
464
+ let asyncacitonid = "";
447
465
  const { chatInstance, view, ctrl } = args;
448
466
  chatOptions.history = async (ctx, param, other) => {
449
467
  const deService = await ibiz.hub.getApp(ctx.srfappid).deService.getService(ctx, other.appDataEntityId);
@@ -517,6 +535,7 @@ class AIChatUtil {
517
535
  await deService.aiChatSse(
518
536
  (msg) => {
519
537
  if (msg.actionstate === 20 && msg.actionresult) {
538
+ asyncacitonid = msg.asyncacitonid;
520
539
  aiChat.addMessage({
521
540
  messageid: id,
522
541
  state: msg.actionstate,
@@ -566,8 +585,23 @@ class AIChatUtil {
566
585
  return true;
567
586
  }
568
587
  };
569
- chatOptions.abortQuestion = async (aiChat) => {
588
+ chatOptions.abortQuestion = async (aiChat, ctx, param, other) => {
570
589
  abortController == null ? void 0 : abortController.abort();
590
+ if (asyncacitonid) {
591
+ const deService = await ibiz.hub.getApp(ctx.srfappid).deService.getService(ctx, other.appDataEntityId);
592
+ const abortRequestData = { asyncacitonid };
593
+ if (other.sessionid) {
594
+ Object.assign(abortRequestData, {
595
+ sessionid: other.sessionid
596
+ });
597
+ }
598
+ const result = await deService.aiChatCancel(
599
+ ctx,
600
+ param,
601
+ abortRequestData
602
+ );
603
+ asyncacitonid = "";
604
+ }
571
605
  await aiChat.stopMessage({
572
606
  messageid: id,
573
607
  state: 30,
@@ -55,6 +55,7 @@ async function computePos(element, el, arrEl, opts) {
55
55
  bottom: "",
56
56
  [staticSide]: "-4px"
57
57
  });
58
+ arrEl.setAttribute("data-placement", placement);
58
59
  }
59
60
  }
60
61
  }
@@ -1 +1 @@
1
- .ibiz-popover{position:absolute;top:0;left:0;z-index:1;display:none;width:-moz-max-content;width:max-content;background-color:var(--ibiz-color-bg-2);border:1px solid var(--ibiz-color-border);border-radius:var(--ibiz-border-radius-medium)}.ibiz-popover__arrow{position:absolute;z-index:-1;width:var(--ibiz-width-icon-extra-small);height:var(--ibiz-width-icon-extra-small);background:var(--ibiz-color-bg-2);transform:rotate(45deg)}.ibiz-popover.is-show{display:block}.ibiz-popover__overlay{position:fixed;inset:0;background-color:transparent}
1
+ .ibiz-popover{position:absolute;top:0;left:0;z-index:1;display:none;width:-moz-max-content;width:max-content;background-color:var(--ibiz-color-bg-2);border:1px solid var(--ibiz-color-border);border-radius:var(--ibiz-border-radius-medium)}.ibiz-popover__arrow{position:absolute;z-index:-1;width:var(--ibiz-width-icon-extra-small);height:var(--ibiz-width-icon-extra-small);background:var(--ibiz-color-bg-2);transform:rotate(45deg)}.ibiz-popover__arrow[data-placement^=top]{border-right:1px solid var(--ibiz-color-border);border-bottom:1px solid var(--ibiz-color-border)}.ibiz-popover__arrow[data-placement^=bottom]{border-top:1px solid var(--ibiz-color-border);border-left:1px solid var(--ibiz-color-border)}.ibiz-popover__arrow[data-placement^=left]{border-top:1px solid var(--ibiz-color-border);border-right:1px solid var(--ibiz-color-border)}.ibiz-popover__arrow[data-placement^=right]{border-bottom:1px solid var(--ibiz-color-border);border-left:1px solid var(--ibiz-color-border)}.ibiz-popover.is-show{display:block}.ibiz-popover__overlay{position:fixed;inset:0;background-color:transparent}
@@ -1,5 +1,6 @@
1
1
  'use strict';
2
2
 
3
+ var ramda = require('ramda');
3
4
  var core = require('@ibiz-template/core');
4
5
  var runtime = require('@ibiz-template/runtime');
5
6
 
@@ -123,7 +124,11 @@ class EditViewEngine extends runtime.DEMainViewEngine {
123
124
  const data = event.data[0];
124
125
  this.view.state.srfactiveviewdata = data;
125
126
  if (Object.prototype.hasOwnProperty.call(data, "srfreadonly")) {
126
- this.view.context.srfreadonly = data.srfreadonly;
127
+ if (data.srfreadonly) {
128
+ this.view.context.srfreadonly = true;
129
+ } else if (ramda.isNil(this.view.context.srfreadonly)) {
130
+ this.view.context.srfreadonly = false;
131
+ }
127
132
  }
128
133
  evt.emit("onDataChange", { ...event, actionType: "LOAD" });
129
134
  });
@@ -1,6 +1,7 @@
1
1
  'use strict';
2
2
 
3
3
  var runtime = require('@ibiz-template/runtime');
4
+ var ramda = require('ramda');
4
5
 
5
6
  "use strict";
6
7
  class OptViewEngine extends runtime.ViewEngineBase {
@@ -79,7 +80,11 @@ class OptViewEngine extends runtime.ViewEngineBase {
79
80
  const data = event.data[0];
80
81
  this.view.state.srfactiveviewdata = data;
81
82
  if (Object.prototype.hasOwnProperty.call(data, "srfreadonly")) {
82
- this.view.context.srfreadonly = data.srfreadonly;
83
+ if (data.srfreadonly) {
84
+ this.view.context.srfreadonly = true;
85
+ } else if (ramda.isNil(this.view.context.srfreadonly)) {
86
+ this.view.context.srfreadonly = false;
87
+ }
83
88
  }
84
89
  formDataStateChange(event);
85
90
  });
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ibiz-template/vue3-components",
3
- "version": "0.7.41-alpha.46",
3
+ "version": "0.7.41-alpha.48",
4
4
  "description": "web端组件库(vue3)",
5
5
  "main": "lib/index.cjs",
6
6
  "module": "es/index.mjs",
@@ -30,16 +30,16 @@
30
30
  "dependencies": {
31
31
  "@amap/amap-jsapi-loader": "^1.0.1",
32
32
  "@floating-ui/dom": "^1.5.3",
33
- "@ibiz-template-plugin/ai-chat": "^0.0.38",
33
+ "@ibiz-template-plugin/ai-chat": "^0.0.40",
34
34
  "@ibiz-template-plugin/gantt": "0.1.8-alpha.316",
35
35
  "@ibiz-template-plugin/bi-report": "0.0.30",
36
36
  "@ibiz-template-plugin/data-view": "0.0.6",
37
37
  "@ibiz-template/core": "0.7.41-alpha.35",
38
38
  "@ibiz-template/devtool": "0.0.13",
39
- "@ibiz-template/model-helper": "0.7.41-alpha.44",
40
- "@ibiz-template/runtime": "0.7.41-alpha.44",
39
+ "@ibiz-template/model-helper": "0.7.41-alpha.47",
40
+ "@ibiz-template/runtime": "0.7.41-alpha.47",
41
41
  "@ibiz-template/theme": "0.7.39",
42
- "@ibiz-template/vue3-util": "0.7.41-alpha.44",
42
+ "@ibiz-template/vue3-util": "0.7.41-alpha.47",
43
43
  "@ibiz-template/web-theme": "3.9.0",
44
44
  "@ibiz/model-core": "^0.1.84",
45
45
  "@imengyu/vue3-context-menu": "^1.3.5",
@@ -1 +0,0 @@
1
- System.register(["vue","@ibiz-template/vue3-util","qx-util","cherry-markdown"],function(e){"use strict";var t,n,i,l,o,a,r,s,c,d,u,m,h,v,p;return{setters:[function(e){t=e.nextTick,n=e.ref,i=e.onBeforeUnmount,l=e.createVNode,o=e.resolveComponent,a=e.defineComponent,r=e.watch,s=e.onMounted,c=e.onUnmounted},function(e){d=e.useUIStore,u=e.getEditorEmits,m=e.getMarkDownProps,h=e.useNamespace},function(e){v=e.createUUID},function(e){p=e.default}],execute:function(){function f(e,t){return!(!e||1!==e.nodeType||e.nodeName!==t)}function b(e){const a=n(""),r=n([]),s=n();let c=null;const d=async e=>{var n;if(a.value=e,r.value=[e],await t(),s.value){const{container:e}=s.value.$refs;e&&(null==(n=e.children[0])||n.click())}},u=e=>{"Escape"!==e.key&&27!==e.keyCode||(e.stopPropagation(),e.preventDefault(),r.value=[],h())},m=async()=>{var e;await t();const n=null==(e=s.value)?void 0:e.$refs.container;if(!n)return;const i=n.querySelector(".el-image-viewer__wrapper");null==i||i.addEventListener("keydown",u)},h=()=>{var e;const t=null==(e=s.value)?void 0:e.$refs.container;if(!t)return;const n=t.querySelector(".el-image-viewer__wrapper");null==n||n.removeEventListener("keydown",u)},v=e=>{const t=null==e?void 0:e.target;if(f(t,"IMG")&&t)return void d(t.src);const n=function(e){let t=e;for(;t;){if(t.classList.contains("cherry-previewer"))return null;const e=t.parentElement;if(f(t,"svg")&&e&&"mermaid"===e.dataset.type)return t;t=t.parentElement}return null}(t);n&&d(function(e){const t=e.cloneNode(!0),n=e.width.baseVal.value||e.clientWidth,i=e.height.baseVal.value||e.clientHeight;t.setAttribute("width",n),t.setAttribute("height",i),t.style.backgroundColor="white";const l=(new XMLSerializer).serializeToString(t),o=btoa(unescape(encodeURIComponent(l)));return"data:image/svg+xml;base64,".concat(o)}(n))};return i(()=>{c&&(c.removeEventListener("click",v),c=null),h()}),{renderImgPreview:()=>l(o("el-image"),{class:e.e("img-preview"),ref:s,"zoom-rate":1.1,src:a.value,"preview-src-list":r.value,"hide-on-click-modal":!0,onShow:m,fit:"cover"},null),onMDEditorCreated:e=>{var t,n;c=(null==(n=null==(t=null==e?void 0:e.previewer)?void 0:t.previewerBubble)?void 0:n.previewerDom)||null,null==c||c.addEventListener("click",v)}}}e("default",a({name:"IBizMarkDown",props:m(),emits:u(),setup(e,{emit:o,slots:a}){var u,m,f,g,w;const C=h("markdown"),k=e.controller,y=n("");let x=null;const z=v(),{onMDEditorCreated:M,renderImgPreview:I}=b(C),E=ibiz.util.file.getUploadHeaders(),A=n({...E}),P=n(""),U=(null==(u=null==k?void 0:k.editorParams)?void 0:u.customTheme)||(null==(m=null==k?void 0:k.editorParams)?void 0:m.customtheme),D="true"===(null==(f=null==k?void 0:k.editorParams)?void 0:f.enablenoaccess),{UIStore:S}=d(),T=n(U||S.theme),B=n(!1);let L="default";k&&(null==(g=k.editorParams)?void 0:g.showmode)&&(L=k.editorParams.showmode);const O=n(!1),N=n("editOnly");let V=null,R=null,H=0;const q=n({}),F=n({}),$=n("pure");let _=!1,j="absolute";(null==(w=null==k?void 0:k.editorParams)?void 0:w.tocpos)&&(j="fixed"===k.editorParams.tocpos?"fixed":"absolute");const[W,J]=function(e,n){const{props:i,isEditing:l,currentVal:o,emit:a}=n;let r=n.chatInstance;return[p.createMenuHook("AI",{icon:{type:"svg",content:"<svg\n viewBox='0 0 16 16'\n xmlns='http://www.w3.org/2000/svg'\n fill='currentColor'\n height='1em'\n width='1em'\n preserveAspectRatio='xMidYMid meet'\n focusable='false'\n >\n <g\n id='aae1.Base基础/1.icon图标/2.normal/ai-star'\n stroke-width='1'\n fill-rule='evenodd'\n >\n <path\n d='M5.817 1.53l3.158 8.797h.054v.152l1.443 4.021-1.402.001-1.041-2.982H2.495l-1.03 2.982L0 14.5 4.671 1.533l1.146-.003zm7.86 5.424V14.5h-1.213V6.954h1.212zM5.248 3.549l-2.342 6.778h4.706L5.249 3.55zM13.046 0c.075 0 .147.02.204.071a.318.318 0 01.094.181l.064.273c.097.417.17.727.255.968.084.24.177.4.31.523.134.124.318.218.599.306.281.088.65.166 1.15.265a.358.358 0 01.195.095c.056.057.083.13.083.213a.289.289 0 01-.083.21.362.362 0 01-.197.094c-.528.093-.918.167-1.214.255-.295.088-.485.187-.621.324-.137.138-.23.324-.31.606-.08.283-.145.651-.23 1.147a.329.329 0 01-.093.184.293.293 0 01-.206.075.308.308 0 01-.207-.072.322.322 0 01-.1-.188l-.006-.033c-.085-.486-.149-.845-.228-1.12-.079-.274-.17-.452-.305-.585-.135-.133-.323-.23-.618-.32s-.683-.168-1.21-.273a.353.353 0 01-.2-.096.29.29 0 01-.08-.208c0-.079.023-.153.079-.211a.35.35 0 01.2-.097c.5-.098.869-.176 1.15-.263.282-.087.465-.18.597-.302.132-.12.224-.278.306-.511.082-.236.151-.539.244-.947l.071-.312a.312.312 0 01.102-.183.311.311 0 01.205-.069z'\n id='aae形状结合'\n ></path>\n </g>\n </svg>\n "},onClick:(n,i,l)=>{l.stopPropagation(),l.preventDefault(),t(()=>{var t;if(null==(t=e.mdeditor)?void 0:t.bubble){e.mdeditor.bubble.showBubble();const t=e.mdeditor.bubble.bubbleDom.getBoundingClientRect();if(!t||!t.left||!t.top)return;const n=ibiz.inLineAIUtil.calcContextMenus(e.deACMode,t=>{e.doInLineAIUIAction(t,e.model.appId)});if(0===n.length)return;const{zIndex:i}=d(),l=i.increment();ibiz.inLineAIUtil.showContextMenus(t.left,t.top+43,n,{zIndex:l,onClose:()=>{i.decrement()}})}})}}),p.createMenuHook("AIChart",{icon:{type:"svg",content:"<svg\n viewBox='0 0 16 16'\n xmlns='http://www.w3.org/2000/svg'\n fill='currentColor'\n height='1em'\n width='1em'\n preserveAspectRatio='xMidYMid meet'\n focusable='false'\n >\n <g\n id='aae1.Base基础/1.icon图标/2.normal/ai-star'\n stroke-width='1'\n fill-rule='evenodd'\n >\n <path\n d='M5.817 1.53l3.158 8.797h.054v.152l1.443 4.021-1.402.001-1.041-2.982H2.495l-1.03 2.982L0 14.5 4.671 1.533l1.146-.003zm7.86 5.424V14.5h-1.213V6.954h1.212zM5.248 3.549l-2.342 6.778h4.706L5.249 3.55zM13.046 0c.075 0 .147.02.204.071a.318.318 0 01.094.181l.064.273c.097.417.17.727.255.968.084.24.177.4.31.523.134.124.318.218.599.306.281.088.65.166 1.15.265a.358.358 0 01.195.095c.056.057.083.13.083.213a.289.289 0 01-.083.21.362.362 0 01-.197.094c-.528.093-.918.167-1.214.255-.295.088-.485.187-.621.324-.137.138-.23.324-.31.606-.08.283-.145.651-.23 1.147a.329.329 0 01-.093.184.293.293 0 01-.206.075.308.308 0 01-.207-.072.322.322 0 01-.1-.188l-.006-.033c-.085-.486-.149-.845-.228-1.12-.079-.274-.17-.452-.305-.585-.135-.133-.323-.23-.618-.32s-.683-.168-1.21-.273a.353.353 0 01-.2-.096.29.29 0 01-.08-.208c0-.079.023-.153.079-.211a.35.35 0 01.2-.097c.5-.098.869-.176 1.15-.263.282-.087.465-.18.597-.302.132-.12.224-.278.306-.511.082-.236.151-.539.244-.947l.071-.312a.312.312 0 01.102-.183.311.311 0 01.205-.069z'\n id='aae形状结合'\n ></path>\n </g>\n </svg>\n "},onClick:async()=>{const t=e.model.appDataEntityId;if(!t||!e.deACMode)return;const{zIndex:n}=d(),s=n.increment();r=await ibiz.aiChatUtil.getAIChat();const{containerOptions:c,chatOptions:u}=await ibiz.aiChatUtil.getEditorExAIChatParams(e.editorParams,e.context,e.params,i.data,e.deACMode,{chatInstance:r,view:e.view,ctrl:e.ctrl}),m=await ibiz.aiChatUtil.getAIResourceOptions(e.context,e.params);r.create({resourceOptions:m,containerOptions:{zIndex:s,...c},chatOptions:{caption:e.deACMode.logicName,context:{...e.context},params:{...e.params,srfactag:e.deACMode.codeName},appDataEntityId:t,...u,action:(e,t)=>{"backfill"===e&&(l.value?o.value=t.realcontent||"":a("change",t.realcontent))}}})}})]}(k,{props:e,chatInstance:undefined,isEditing:B,currentVal:y,emit:o});r(()=>e.data,e=>{if(e&&k){const t={...k.editorParams,enableNoAccess:D};t.uploadparams&&(t.uploadParams=JSON.parse(t.uploadparams));const n=ibiz.util.file.calcFileUpDownUrl(k.context,k.params,e,t);P.value=n.uploadUrl}},{immediate:!0,deep:!0});const Y=n(),G=async(t,n)=>{const i=await ibiz.util.file.fileUpload(P.value,t,A.value),l=((e,t)=>{if(!k)return"";const n={...k.editorParams,enableNoAccess:D};return n.exportparams&&(n.exportParams=JSON.parse(n.exportparams)),t&&t.folder&&(n.osscat=t.folder),ibiz.util.file.calcFileUpDownUrl(k.context,k.params,e,n).downloadUrl})(e.data||{},i.fileid);let o=l.replace("%fileId%",i.fileid);if(ibiz.config.common.enableDownloadTicket&&k&&k.editorParams&&!D){const t=await ibiz.util.file.getDownloadTicket(k.context,k.params,e.data||{},{fileId:i.fileid},k.downloadTicketParams);t&&t.ticket&&(o=l.replace("%fileId%",t.ticket),n(o))}else n(o)},X=()=>null==x?void 0:x.getMarkdown(),K=e=>{_=!0,null==x||x.setMarkdown(e,!0)};r(()=>e.value,(e,t)=>{e!==t&&(y.value=e||"")},{immediate:!0}),r(y,(e,t)=>{const n=X();e!==t&&n!==e&&K(e)});const Q=e=>{"manual"!==L&&(o("change",X(),null==k?void 0:k.model.id,_),_=!1)},Z=(e,t)=>({[e]:t}),ee=(e,t="")=>{const n=document.createElement(e);return n.className=t,n},te=e=>ee("i","ch-icon ch-icon-".concat(e)),ne=C.e("fullscreen"),ie=e=>{for(;e.firstChild;)e.removeChild(e.firstChild)},le=()=>{if(x&&Y.value){const e=x.editor.options.editorDom.parentElement;if(!e)return{};const t=e.classList,n=Y.value.querySelector(".".concat(ne));return n?{parentElement:e,cherryClass:t,fullscreenNode:n}:{}}return{}},oe=()=>{const{parentElement:e,cherryClass:t,fullscreenNode:n}=le();e&&t&&n&&(ie(n),n.appendChild(te("fullscreen")),n.title=ibiz.i18n.t("editor.common.fullscreen"),t.remove("fullscreen"),null==e||e.blur(),e.setAttribute("tabindex","-1"))},ae=()=>{const{cherryClass:e}=le();return null==e?void 0:e.contains("fullscreen")},re=()=>{x&&Y.value&&(ae()?(oe(),x.toggleToc($.value),O.value=!1):((()=>{const{parentElement:e,cherryClass:n,fullscreenNode:i}=le();e&&n&&i&&(ie(i),i.appendChild(te("minscreen")),n.add("fullscreen"),i.title=ibiz.i18n.t("editor.common.minimize"),e.setAttribute("tabindex","-1"),t(()=>null==e?void 0:e.focus()))})(),$.value=x.toc.model,x.toggleToc("full"),O.value=!0))},se=e=>{e.stopPropagation(),"Escape"===e.key&&(e.preventDefault(),ae()&&(oe(),x.toggleToc($.value),O.value=!1))},ce=e=>{null==k||k.setCurrentEditorTheme(e)},de=e=>{var t,n;const{info:i}=e;let l=!0;const o=i.ranges&&i.ranges[0];if(o){const{anchor:e,head:t}=o;l=k.isPositionBefore(e,t)}else l=!0;const a=null==(t=k.mdeditor)?void 0:t.editor.editor.getCursor("start"),r=null==(n=k.mdeditor)?void 0:n.editor.editor.getCursor("end");k.setCursorPos(a,r),k.setSelectionDirection(l)};r(()=>S.theme,e=>{T.value=U||e,null==x||x.setTheme(T.value),null==x||x.setCodeBlockTheme(T.value)});const ue=()=>{B.value=!0,N.value="editOnly",null==x||x.switchModel(N.value)},me=()=>{B.value=!1,N.value="previewOnly",null==x||x.switchModel(N.value)},he=()=>{K(y.value),me()},ve=()=>{o("change",X(),null==k?void 0:k.model.id,_),_=!1,me()},pe=()=>{const e=document.getElementById(z);null==e||e.focus()};return s(()=>{var n;(e.disabled||e.readonly||"manual"===L)&&(N.value="previewOnly"),t(()=>{var t;const n=["bold","italic","underline","strikethrough","sub","sup","|","size","color"],i=["bold","italic","underline","strikethrough","|","color","header","|","list","image",{insert:["link","hr","br","code","formula","toc","table","line-table","bar-table"]},"settings","togglePreview"];k&&k.chatCompletion&&(i.unshift("AIChart"),n.unshift("AI")),x=new p({id:z,value:y.value,previewer:{enablePreviewerBubble:!(e.disabled||e.readonly)},themeSettings:{mainTheme:T.value,codeBlockTheme:T.value},fileUpload:G,emoji:{useUnicode:!0},header:{anchorStyle:"autonumber"},editor:{height:"100%",defaultModel:N.value,codemirror:{autofocus:!1}},toolbars:{toolbar:i,bubble:n,float:["h1","h2","h3","|","checklist","quote","quickTable","code"],customMenu:{AI:W,AIChart:J},sidebar:["theme","copy"],toolbarRight:[],toc:{updateLocationHash:!1,defaultModel:"pure",showAutoNumber:!0,position:j,cssText:""}},callback:{afterChange:Q,beforeImageMounted:Z},event:{changeMainTheme:ce,selectionChange:de},engine:{syntax:{table:{enableChart:!1,externals:["echarts"]}}}}),x.toggleToc("pure");const l=x.engine.makeHtml(y.value);x.previewer.update(l),x.toc.updateTocList(),x.setTheme(T.value),U&&(x.setTheme(U),x.setCodeBlockTheme(U));const o=ee("span","".concat(ne," cherry-toolbar-button"));o.title=ibiz.i18n.t("editor.common.fullscreen"),o.onclick=re,o.appendChild(te("fullscreen"));const r=e.disabled?x.editor.options.editorDom.parentElement:null==(t=x.editor.options.editorDom.parentElement)?void 0:t.querySelector(".cherry-toolbar>.toolbar-right");if(null==r||r.appendChild(o),null==k||k.setMDEditor(x),M(x),a.editorSwitchMenu&&window.ResizeObserver&&Y.value){const e=Y.value.querySelector(".cherry-toolbar");e&&(R=new ResizeObserver(e=>{var t;const n=null==(t=e[0])?void 0:t.contentRect.height;F.value=C.cssVarBlock({"toolbar-height":"".concat(n,"px")})}),R.observe(e))}}),(()=>{if(window.ResizeObserver&&Y.value){const e={width:Y.value.offsetWidth?"".concat(Y.value.offsetWidth,"px"):"100%"};k&&"number"==typeof k.parent.model.height&&Object.assign(e,{height:"".concat(k.parent.model.height,"px")}),q.value=C.cssVarBlock(e),V=new ResizeObserver(e=>{const t=e[0].contentRect.width;if(t!==H){const n={width:"".concat(e[0].contentRect.width,"px")};k&&"number"==typeof k.parent.model.height&&Object.assign(n,{height:"".concat(k.parent.model.height,"px")}),q.value=C.cssVarBlock(n),H=t}}),V.observe(Y.value)}})(),null==(n=Y.value)||n.addEventListener("keydown",se.bind(this))}),i(()=>{var e;null==(e=Y.value)||e.removeEventListener("keydown",se.bind(this))}),c(()=>{x=null,V&&V.disconnect(),R&&R.disconnect()}),{ns:C,currentVal:y,id:z,editor:x,markDownBox:Y,headers:A,theme:T,UIStore:S,defaultModel:N,cssVars:q,isEditing:B,showmode:L,getCherryHtml:()=>null==x?void 0:x.getHtml(),getCherryContent:X,setCherryContent:K,renderHeader:()=>{if("manual"===L&&!B.value)return l("div",{onClick:pe,class:[C.e("header"),C.is("fullscreen",O.value)]},[!e.disabled&&!e.readonly&&l("div",{class:C.em("header","edit"),onClick:ue,title:ibiz.i18n.t("editor.markdown.edit")},[l("i",{class:"fa fa-edit","aria-hidden":"true"},null)]),l("div",{class:C.em("header","full"),onClick:re},[O.value?l("i",{class:"fa fa-compress","aria-hidden":"true",title:ibiz.i18n.t("editor.html.reduce")},null):l("i",{class:"fa fa-expand","aria-hidden":"true",title:ibiz.i18n.t("editor.common.fullscreen")},null)])])},renderFooter:()=>{if("manual"===L&&B.value&&!e.disabled&&!e.readonly)return l("div",{onClick:pe,class:[C.e("footer"),C.is("fullscreen",O.value)]},[l("div",{class:C.em("footer","cancel"),onClick:he},[ibiz.i18n.t("editor.common.cancel")]),l("div",{class:C.em("footer","save"),onClick:ve},[ibiz.i18n.t("editor.common.confirm")])])},renderImgPreview:I,renderEditorSwitchMenu:()=>{var e;return l("div",{class:[C.b("menu"),C.is("fullscreen",O.value)],style:F.value},[null==(e=a.editorSwitchMenu)?void 0:e.call(a)])}}},render(){const e=!!this.$slots.editorSwitchMenu;return l("div",{ref:"markDownBox",class:[this.ns.b(),this.ns.is("disabled",this.disabled),this.ns.is("manual","manual"===this.showmode),this.ns.is("editing",this.isEditing),this.ns.is("show-editor-switch-menu",e)]},[e?this.renderEditorSwitchMenu():null,this.renderHeader(),this.renderFooter(),this.renderImgPreview(),l("div",{tabindex:"-1",id:this.id,style:this.cssVars,class:[this.ns.b("cherry"),this.ns.m("dark"===this.UIStore.theme?"dark":"light")]},null)])}}))}}});