@ibiz-template/vue3-components 0.1.12-dev.0 → 0.1.13
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/index.min.css +1 -1
- package/dist/index.system.min.js +3 -3
- package/dist/index.system.min.js.map +1 -1
- package/dist/wang-editor-0c05cd5f.js +2 -0
- package/dist/wang-editor-0c05cd5f.js.map +1 -0
- package/es/common/action-toolbar/action-toolbar.mjs +1 -1
- package/es/common/no-data/no-data.mjs +1 -1
- package/es/common/rawitem/rawitem.css +1 -1
- package/es/common/split/split.css +1 -1
- package/es/control/app-menu/app-menu.css +1 -1
- package/es/control/app-menu/app-menu.mjs +1 -1
- package/es/control/app-menu-icon-view/app-menu-icon-view.mjs +1 -1
- package/es/control/calendar/calendar.mjs +1 -1
- package/es/control/dashboard/portlet/container-portlet/container-portlet.css +1 -0
- package/es/control/dashboard/portlet/container-portlet/container-portlet.d.ts +1 -0
- package/es/control/dashboard/portlet/container-portlet/container-portlet.mjs +1 -0
- package/es/control/dashboard/portlet/portlet-layout/portlet-layout.css +1 -1
- package/es/control/dashboard/portlet/portlet-layout/portlet-layout.mjs +1 -1
- package/es/control/data-view/data-view.css +1 -1
- package/es/control/drbar/drbar.controller.mjs +2 -8
- package/es/control/drtab/drtab.controller.mjs +2 -8
- package/es/control/exp-bar/data-view-exp-bar/data-view-exp-bar.css +1 -1
- package/es/control/exp-bar/grid-exp-bar/grid-exp-bar.css +1 -1
- package/es/control/exp-bar/list-exp-bar/list-exp-bar.css +1 -1
- package/es/control/exp-bar/render-util.mjs +2 -2
- package/es/control/exp-bar/tree-exp-bar/tree-exp-bar.css +1 -1
- package/es/control/form/form/form.mjs +1 -1
- package/es/control/form/form-detail/form-button/form-button.css +1 -1
- package/es/control/form/form-detail/form-button/form-button.mjs +6 -5
- package/es/control/form/form-detail/form-group-panel/form-group-panel.mjs +1 -1
- package/es/control/form/form-detail/form-mdctrl/form-mdctrl-repeater/form-mdctrl-repeater-form/form-mdctrl-repeater-form-shell.d.ts +72 -0
- package/es/control/form/form-detail/form-mdctrl/form-mdctrl-repeater/form-mdctrl-repeater-form/form-mdctrl-repeater-form-shell.mjs +157 -0
- package/es/control/form/form-detail/form-mdctrl/form-mdctrl-repeater/form-mdctrl-repeater-form/form-mdctrl-repeater-form.d.ts +1 -3
- package/es/control/form/form-detail/form-mdctrl/form-mdctrl-repeater/form-mdctrl-repeater-form/form-mdctrl-repeater-form.mjs +17 -100
- package/es/control/form/form-detail/form-mdctrl/form-mdctrl-repeater/form-mdctrl-repeater-form-one/form-mdctrl-repeater-form-one.d.ts +1 -3
- package/es/control/form/form-detail/form-mdctrl/form-mdctrl-repeater/form-mdctrl-repeater-form-one/form-mdctrl-repeater-form-one.mjs +19 -85
- package/es/control/form/form-detail/form-mdctrl/index.mjs +2 -0
- package/es/control/form/form-detail/form-page/form-page.css +1 -1
- package/es/control/form/search-form/search-form.css +1 -1
- package/es/control/form/search-form/search-form.mjs +10 -3
- package/es/control/grid/grid-column/grid-field-column/grid-field-column.d.ts +2 -0
- package/es/control/grid/grid-column/grid-field-column/grid-field-column.mjs +7 -4
- package/es/control/grid/grid-column/grid-field-column/index.d.ts +2 -0
- package/es/control/grid/grid-column/grid-field-edit-column/grid-field-edit-column.mjs +2 -1
- package/es/control/panel/view-layout-panel/index.d.ts +10 -0
- package/es/control/panel/view-layout-panel/view-layout-panel.d.ts +11 -3
- package/es/control/panel/view-layout-panel/view-layout-panel.mjs +48 -42
- package/es/control/toolbar/toolbar.mjs +1 -1
- package/es/control/tree/tree.css +1 -1
- package/es/devtool/devtool-action.css +1 -0
- package/es/devtool/devtool-action.d.ts +26 -0
- package/es/devtool/devtool-action.mjs +218 -0
- package/es/devtool/index.d.ts +50 -0
- package/es/devtool/index.mjs +80 -0
- package/es/devtool/interface/devtool-event.d.ts +12 -0
- package/es/devtool/interface/devtool-event.mjs +1 -0
- package/es/devtool/interface/devtool-view.d.ts +15 -0
- package/es/devtool/interface/devtool-view.mjs +1 -0
- package/es/editor/check-box/ibiz-checkbox/ibiz-checkbox.mjs +1 -1
- package/es/editor/html/wang-editor/wang-editor.mjs +5 -0
- package/es/editor/markdown/ibiz-markdown-editor/ibiz-markdown-editor.css +1 -1
- package/es/editor/text-box/input/input.d.ts +2 -2
- package/es/editor/text-box/input/input.mjs +1 -1
- package/es/index.d.ts +1 -0
- package/es/index.mjs +3 -0
- package/es/node_modules/.pnpm/element-plus@2.3.9_vue@3.3.4/node_modules/element-plus/dist/locale/zh-cn.mjs +131 -0
- package/es/panel-component/auth-userinfo/auth-userinfo.css +1 -1
- package/es/panel-component/auth-userinfo/auth-userinfo.d.ts +3 -0
- package/es/panel-component/auth-userinfo/auth-userinfo.mjs +29 -6
- package/es/panel-component/auth-userinfo/index.d.ts +3 -0
- package/es/panel-component/index.d.ts +1 -0
- package/es/panel-component/index.mjs +4 -1
- package/es/panel-component/nav-tabs/nav-tabs.css +1 -1
- package/es/panel-component/panel-app-header/panel-app-header.css +1 -1
- package/es/panel-component/panel-app-title/panel-app-title.css +1 -1
- package/es/panel-component/panel-button/panel-button.css +1 -1
- package/es/panel-component/panel-button/panel-button.mjs +5 -4
- package/es/panel-component/panel-exp-header/panel-exp-header.css +1 -1
- package/es/panel-component/panel-index-view-search/index.d.ts +28 -0
- package/es/panel-component/panel-index-view-search/index.mjs +17 -0
- package/es/panel-component/panel-index-view-search/panel-index-view-search.css +1 -0
- package/es/panel-component/panel-index-view-search/panel-index-view-search.d.ts +30 -0
- package/es/panel-component/panel-index-view-search/panel-index-view-search.mjs +82 -0
- package/es/panel-component/panel-index-view-search/panel-index-view-search.provider.d.ts +13 -0
- package/es/panel-component/panel-index-view-search/panel-index-view-search.provider.mjs +20 -0
- package/es/panel-component/single-data-container/index.d.ts +10 -0
- package/es/panel-component/single-data-container/single-data-container.controller.d.ts +37 -2
- package/es/panel-component/single-data-container/single-data-container.controller.mjs +75 -1
- package/es/panel-component/single-data-container/single-data-container.d.ts +11 -2
- package/es/panel-component/single-data-container/single-data-container.mjs +34 -21
- package/es/util/app-drawer/app-drawer-component.css +1 -1
- package/es/view/common/index.d.ts +1 -0
- package/es/view/common/view.css +1 -1
- package/es/view/common/view.d.ts +1 -0
- package/es/view/common/view.mjs +13 -1
- package/es/view-engine/tab-exp-view.engine.d.ts +1 -0
- package/es/view-engine/tab-exp-view.engine.mjs +8 -1
- package/lib/common/action-toolbar/action-toolbar.cjs +1 -1
- package/lib/common/no-data/no-data.cjs +1 -1
- package/lib/common/rawitem/rawitem.css +1 -1
- package/lib/common/split/split.css +1 -1
- package/lib/control/app-menu/app-menu.cjs +1 -1
- package/lib/control/app-menu/app-menu.css +1 -1
- package/lib/control/app-menu-icon-view/app-menu-icon-view.cjs +1 -1
- package/lib/control/calendar/calendar.cjs +1 -1
- package/lib/control/dashboard/portlet/container-portlet/container-portlet.cjs +1 -0
- package/lib/control/dashboard/portlet/container-portlet/container-portlet.css +1 -0
- package/lib/control/dashboard/portlet/portlet-layout/portlet-layout.cjs +1 -1
- package/lib/control/dashboard/portlet/portlet-layout/portlet-layout.css +1 -1
- package/lib/control/data-view/data-view.css +1 -1
- package/lib/control/drbar/drbar.controller.cjs +2 -8
- package/lib/control/drtab/drtab.controller.cjs +2 -8
- package/lib/control/exp-bar/data-view-exp-bar/data-view-exp-bar.css +1 -1
- package/lib/control/exp-bar/grid-exp-bar/grid-exp-bar.css +1 -1
- package/lib/control/exp-bar/list-exp-bar/list-exp-bar.css +1 -1
- package/lib/control/exp-bar/render-util.cjs +2 -2
- package/lib/control/exp-bar/tree-exp-bar/tree-exp-bar.css +1 -1
- package/lib/control/form/form/form.cjs +1 -1
- package/lib/control/form/form-detail/form-button/form-button.cjs +6 -5
- package/lib/control/form/form-detail/form-button/form-button.css +1 -1
- package/lib/control/form/form-detail/form-group-panel/form-group-panel.cjs +1 -1
- package/lib/control/form/form-detail/form-mdctrl/form-mdctrl-repeater/form-mdctrl-repeater-form/form-mdctrl-repeater-form-shell.cjs +159 -0
- package/lib/control/form/form-detail/form-mdctrl/form-mdctrl-repeater/form-mdctrl-repeater-form/form-mdctrl-repeater-form.cjs +16 -99
- package/lib/control/form/form-detail/form-mdctrl/form-mdctrl-repeater/form-mdctrl-repeater-form-one/form-mdctrl-repeater-form-one.cjs +18 -84
- package/lib/control/form/form-detail/form-mdctrl/index.cjs +2 -0
- package/lib/control/form/form-detail/form-page/form-page.css +1 -1
- package/lib/control/form/search-form/search-form.cjs +10 -3
- package/lib/control/form/search-form/search-form.css +1 -1
- package/lib/control/grid/grid-column/grid-field-column/grid-field-column.cjs +7 -4
- package/lib/control/grid/grid-column/grid-field-edit-column/grid-field-edit-column.cjs +2 -1
- package/lib/control/panel/view-layout-panel/view-layout-panel.cjs +47 -41
- package/lib/control/toolbar/toolbar.cjs +1 -1
- package/lib/control/tree/tree.css +1 -1
- package/lib/devtool/devtool-action.cjs +220 -0
- package/lib/devtool/devtool-action.css +1 -0
- package/lib/devtool/index.cjs +83 -0
- package/lib/devtool/interface/devtool-event.cjs +2 -0
- package/lib/devtool/interface/devtool-view.cjs +2 -0
- package/lib/editor/check-box/ibiz-checkbox/ibiz-checkbox.cjs +1 -1
- package/lib/editor/html/wang-editor/wang-editor.cjs +5 -0
- package/lib/editor/markdown/ibiz-markdown-editor/ibiz-markdown-editor.css +1 -1
- package/lib/editor/text-box/input/input.cjs +1 -1
- package/lib/index.cjs +165 -159
- package/lib/node_modules/.pnpm/element-plus@2.3.9_vue@3.3.4/node_modules/element-plus/dist/locale/zh-cn.cjs +135 -0
- package/lib/panel-component/auth-userinfo/auth-userinfo.cjs +28 -5
- package/lib/panel-component/auth-userinfo/auth-userinfo.css +1 -1
- package/lib/panel-component/index.cjs +19 -14
- package/lib/panel-component/nav-tabs/nav-tabs.css +1 -1
- package/lib/panel-component/panel-app-header/panel-app-header.css +1 -1
- package/lib/panel-component/panel-app-title/panel-app-title.css +1 -1
- package/lib/panel-component/panel-button/panel-button.cjs +5 -4
- package/lib/panel-component/panel-button/panel-button.css +1 -1
- package/lib/panel-component/panel-exp-header/panel-exp-header.css +1 -1
- package/lib/panel-component/panel-index-view-search/index.cjs +23 -0
- package/lib/panel-component/panel-index-view-search/panel-index-view-search.cjs +84 -0
- package/lib/panel-component/panel-index-view-search/panel-index-view-search.css +1 -0
- package/lib/panel-component/panel-index-view-search/panel-index-view-search.provider.cjs +22 -0
- package/lib/panel-component/single-data-container/single-data-container.cjs +33 -20
- package/lib/panel-component/single-data-container/single-data-container.controller.cjs +74 -0
- package/lib/util/app-drawer/app-drawer-component.css +1 -1
- package/lib/util/confirm-util/confirm-util.cjs +5 -5
- package/lib/util/loading-util/loading-util.cjs +2 -2
- package/lib/util/message-util/message-util.cjs +5 -5
- package/lib/util/modal-util/modal-util.cjs +6 -6
- package/lib/util/notification-util/notification-util.cjs +5 -5
- package/lib/view/common/view.cjs +12 -0
- package/lib/view/common/view.css +1 -1
- package/lib/view-engine/tab-exp-view.engine.cjs +7 -0
- package/package.json +6 -6
- package/dist/wang-editor-675011c6.js +0 -2
- package/dist/wang-editor-675011c6.js.map +0 -1
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
System.register(["vue","@wangeditor/editor-for-vue","qx-util","ramda","@ibiz-template/vue3-util","@ibiz-template/core"],function(N){"use strict";var c,d,i,u,m,f,s,h,g,v,C,p,b,y,E;return{setters:[function(o){c=o.defineComponent,d=o.shallowRef,i=o.ref,u=o.watch,m=o.onBeforeUnmount,f=o.onMounted,s=o.createVNode},function(o){h=o.Toolbar,g=o.Editor},function(o){v=o.getCookie},function(o){C=o.isNil},function(o){p=o.getHtmlProps,b=o.getEditorEmits,y=o.useNamespace},function(o){E=o.CoreConst}],execute:function(){const o=N("default",c({name:"IBizHtml",props:p(),emits:b(),setup(n,{emit:O}){const L=y("html"),F=n.controller,r=d(),a=i(""),P=i({Authorization:`Bearer ${v(E.TOKEN)}`}),k=i(""),U=i("");u(()=>n.data,e=>{if(e){const t=F.calcBaseUrl(e);k.value=t.uploadUrl,U.value=t.downloadUrl}},{immediate:!0,deep:!0});const x=(e,t)=>{if(t)return!0},H=e=>e,z={excludeKeys:["group-video"]},T={placeholder:F.placeHolder,readOnly:n.readonly,MENU_CONF:{uploadImage:{server:k.value,fieldName:"file",maxFileSize:10*1024*1024,maxNumberOfFiles:10,allowedFileTypes:[],headers:P.value,withCredentials:!0,onBeforeUpload(e){return e},onProgress(e){console.log("progress",e)},onSuccess(e,t){console.log(`${e.name} \u4E0A\u4F20\u6210\u529F`,t)},onFailed(e,t){console.log(`${e.name} \u4E0A\u4F20\u5931\u8D25`,t)},onError(e,t,l){console.log(`${e.name} \u4E0A\u4F20\u51FA\u9519`,t,l)},async customInsert(e,t){const l=U.value.replace("%fileId%",e.id),q=e.filename;t(l,q,"")}},insertLink:{checkLink:x,parseLinkUrl:H},editLink:{checkLink:x,parseLinkUrl:H}}};m(()=>{const e=r.value;e?.destroy()});const $=e=>{r.value=e,e.setHtml(a.value)},w=e=>{const t=e.getHtml(),l=t==="<p><br></p>"?"":t;l===n.value||l===""&&C(n.value)||O("change",l)},D=e=>{},I=e=>{},R=e=>{},_=(e,t)=>{alert(`\u3010\u81EA\u5B9A\u4E49\u63D0\u793A\u3011${t} - ${e}`)},M=(e,t,l)=>{l(!0)},S=e=>{const t=r.value;t?.insertText(e)},K=()=>{const e=r.value;e!=null&&console.log(e.getHtml())},A=()=>{const e=r.value;e?.disable()},B=()=>{const e=r.value;e?.enable()};return f(()=>{u(()=>n.value,(e,t)=>{e!==t&&(typeof n.value=="string"||e===null)&&(e===null?a.value="":a.value=e)},{immediate:!0}),u(()=>n.disabled,(e,t)=>{e!==t&&(e===!0?A():B())},{immediate:!0})}),{ns:L,editorRef:r,mode:"default",valueHtml:a,toolbarConfig:z,editorConfig:T,handleCreated:$,handleChange:w,handleDestroyed:D,handleFocus:I,handleBlur:R,customAlert:_,customPaste:M,insertText:S,printHtml:K,disable:A,enable:B}},render(){return s("div",{class:this.ns.b()},[s("div",{style:"border: 1px solid #ccc; margin-top: 10px"},[s(h,{editor:this.editorRef,"default-config":this.toolbarConfig,mode:this.mode,style:"border-bottom: 1px solid #ccc"},null),s(g,{modelValue:this.valueHtml,"onUpdate:modelValue":n=>this.valueHtml=n,"default-config":this.editorConfig,mode:this.mode,style:"height: 400px; overflow-y: hidden",onOnCreated:this.handleCreated,onOnChange:this.handleChange,onOnDestroyed:this.handleDestroyed,onOnFocus:this.handleFocus,onOnBlur:this.handleBlur,oncustomAlert:this.customAlert,oncustomPaste:this.customPaste},null)])])}}))}}});
|
|
2
|
+
//# sourceMappingURL=wang-editor-0c05cd5f.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"wang-editor-0c05cd5f.js","sources":["../src/editor/html/wang-editor/wang-editor.tsx"],"sourcesContent":["import {\n onBeforeUnmount,\n ref,\n shallowRef,\n onMounted,\n watch,\n Ref,\n defineComponent,\n} from 'vue';\nimport { Editor, Toolbar } from '@wangeditor/editor-for-vue';\nimport { IEditorConfig, IToolbarConfig } from '@wangeditor/editor';\nimport type { IDomEditor } from '@wangeditor/editor';\nimport { getCookie } from 'qx-util';\nimport { isNil } from 'ramda';\nimport {\n getEditorEmits,\n getHtmlProps,\n useNamespace,\n} from '@ibiz-template/vue3-util';\nimport { CoreConst } from '@ibiz-template/core';\nimport { HtmlEditorController } from '../html-editor.controller';\nimport './wang-editor.scss';\n\ntype InsertFnType = (_url: string, _alt: string, _href: string) => void;\n\nconst IBizHtml = defineComponent({\n name: 'IBizHtml',\n props: getHtmlProps<HtmlEditorController>(),\n emits: getEditorEmits(),\n setup(props, { emit }) {\n const ns = useNamespace('html');\n\n const c = props.controller!;\n\n // 编辑器实例,必须用 shallowRef,重要!\n const editorRef = shallowRef();\n\n // 内容 HTML\n const valueHtml = ref('');\n\n // 请求头\n const headers: Ref<IData> = ref({\n Authorization: `Bearer ${getCookie(CoreConst.TOKEN)}`,\n });\n\n // 上传文件路径\n const uploadUrl: Ref<string> = ref('');\n\n // 下载文件路径\n const downloadUrl: Ref<string> = ref('');\n\n // data响应式变更基础路径\n watch(\n () => props.data,\n newVal => {\n if (newVal) {\n const urls = c.calcBaseUrl(newVal);\n uploadUrl.value = urls.uploadUrl;\n downloadUrl.value = urls.downloadUrl;\n }\n },\n { immediate: true, deep: true },\n );\n\n // 自定义校验链接\n const customCheckLinkFn = (\n text: string,\n url: string,\n ): string | boolean | undefined => {\n if (!url) {\n return;\n }\n // if (url.indexOf('http') !== 0) {\n // return '链接必须以 http/https 开头';\n // }\n return true;\n\n // 返回值有三种选择:\n // 1. 返回 true ,说明检查通过,编辑器将正常插入链接\n // 2. 返回一个字符串,说明检查未通过,编辑器会阻止插入。会 alert 出错误信息(即返回的字符串)\n // 3. 返回 undefined(即没有任何返回),说明检查未通过,编辑器会阻止插入。但不会提示任何信息\n };\n\n // 自定义转换链接 url\n const customParseLinkUrl = (url: string): string => {\n // if (url.indexOf('http') !== 0) {\n // return `http://${url}`;\n // }\n return url;\n };\n\n // 工具栏配置\n const toolbarConfig: Partial<IToolbarConfig> = {\n excludeKeys: ['group-video'],\n };\n\n // 编辑器配置\n const editorConfig: Partial<IEditorConfig> = {\n placeholder: c.placeHolder,\n readOnly: props.readonly,\n MENU_CONF: {\n // 图片上传\n uploadImage: {\n // 上传地址\n server: uploadUrl.value,\n\n // form-data fieldName ,默认值 'wangeditor-uploaded-image'\n fieldName: 'file',\n\n // 单个文件的最大体积限制,默认为 2M\n maxFileSize: 10 * 1024 * 1024, // 10M\n\n // 最多可上传几个文件,默认为 100\n maxNumberOfFiles: 10,\n\n // 选择文件时的类型限制,默认为 ['image/*'] 。如不想限制,则设置为 []\n allowedFileTypes: [],\n\n // 自定义增加 http header\n headers: headers.value,\n\n // 跨域是否传递 cookie ,默认为 false\n withCredentials: true,\n\n // 上传之前触发\n onBeforeUpload(file: File) {\n // TS 语法\n // onBeforeUpload(file) { // JS 语法\n // file 选中的文件,格式如 { key: file }\n return file;\n\n // 可以 return\n // 1. return file 或者 new 一个 file ,接下来将上传\n // 2. return false ,不上传这个 file\n },\n\n // 上传进度的回调函数\n onProgress(progress: number) {\n console.log('progress', progress);\n },\n\n // 单个文件上传成功之后\n onSuccess(file: File, res: IData) {\n console.log(`${file.name} 上传成功`, res);\n },\n\n // 单个文件上传失败\n onFailed(file: File, res: IData) {\n console.log(`${file.name} 上传失败`, res);\n },\n\n // 上传错误,或者触发 timeout 超时\n onError(file: File, err: IData, res: IData) {\n console.log(`${file.name} 上传出错`, err, res);\n },\n\n // 自定义插入图片\n async customInsert(res: IData, insertFn: InsertFnType) {\n const url = downloadUrl.value.replace('%fileId%', res.id);\n const alt = res.filename;\n // 从 res 中找到 url alt href ,然后插入图片\n insertFn(url, alt, '');\n },\n },\n // 插入链接\n insertLink: {\n checkLink: customCheckLinkFn, // 也支持 async 函数\n parseLinkUrl: customParseLinkUrl, // 也支持 async 函数\n },\n // 更新链接\n editLink: {\n checkLink: customCheckLinkFn, // 也支持 async 函数\n parseLinkUrl: customParseLinkUrl, // 也支持 async 函数\n },\n },\n };\n\n // 组件销毁时,也及时销毁编辑器,重要!\n onBeforeUnmount(() => {\n const editor = editorRef.value;\n if (editor == null) return;\n\n editor.destroy();\n });\n\n // 编辑器回调函数\n // 编辑器创建完毕时的回调函数\n const handleCreated = (editor: IDomEditor) => {\n editorRef.value = editor; // 记录 editor 实例,重要!\n editor.setHtml(valueHtml.value);\n // 配置菜单\n // setTimeout(() => {\n // const toolbar = DomEditor.getToolbar(editor);\n // const curToolbarConfig = toolbar?.getConfig();\n // console.log(curToolbarConfig?.toolbarKeys); // 当前菜单排序和分组\n // }, 3000);\n };\n // 编辑器内容、选区变化时的回调函数\n const handleChange = (editor: IDomEditor) => {\n // console.log('change:', editor.getHtml());\n const html = editor.getHtml();\n // wangEditor初始值抛空字符串给后台\n const emitValue = html === '<p><br></p>' ? '' : html;\n if (\n emitValue === props.value ||\n (emitValue === '' && isNil(props.value))\n ) {\n return;\n }\n emit('change', emitValue);\n };\n // 编辑器销毁时的回调函数。调用 editor.destroy() 即可销毁编辑器\n const handleDestroyed = (_editor: IDomEditor) => {\n // console.log('destroyed', _editor);\n };\n // 编辑器 focus 时的回调函数\n const handleFocus = (_editor: IDomEditor) => {\n // console.log('focus', _editor);\n };\n // 编辑器 blur 时的回调函数。\n const handleBlur = (_editor: IDomEditor) => {\n // console.log('blur', _editor);\n };\n // 自定义编辑器 alert\n const customAlert = (info: string, type: string) => {\n // eslint-disable-next-line no-alert\n alert(`【自定义提示】${type} - ${info}`);\n };\n // 自定义粘贴。可阻止编辑器的默认粘贴,实现自己的粘贴逻辑\n const customPaste = (\n editor: IDomEditor,\n event: ClipboardEvent,\n callback: (_n: boolean) => void,\n ) => {\n // 返回值(注意,vue 事件的返回值,不能用 return)\n // callback(false); // 返回 false ,阻止默认粘贴行为\n callback(true); // 返回 true ,继续默认的粘贴行为\n };\n\n // 插入文本\n const insertText = (str: string) => {\n const editor = editorRef.value;\n if (editor == null) return;\n\n editor.insertText(str);\n };\n\n // 获取非格式化的 html\n const printHtml = () => {\n const editor = editorRef.value;\n if (editor == null) return;\n console.log(editor.getHtml());\n };\n\n // 禁用编辑器\n const disable = () => {\n const editor = editorRef.value;\n if (editor == null) return;\n editor.disable();\n };\n\n // 取消禁用编辑器\n const enable = () => {\n const editor = editorRef.value;\n if (editor == null) return;\n editor.enable();\n };\n\n onMounted(() => {\n // 监听值变化赋值\n watch(\n () => props.value,\n (newVal, oldVal) => {\n if (\n newVal !== oldVal &&\n (typeof props.value === 'string' || newVal === null)\n ) {\n if (newVal === null) {\n valueHtml.value = '';\n } else {\n valueHtml.value = newVal as string;\n }\n }\n },\n { immediate: true },\n );\n\n // 监听disabled禁用\n watch(\n () => props.disabled,\n (newVal, oldVal) => {\n if (newVal !== oldVal) {\n if (newVal === true) {\n disable();\n } else {\n enable();\n }\n }\n },\n { immediate: true },\n );\n });\n\n return {\n ns,\n editorRef,\n mode: 'default',\n valueHtml,\n toolbarConfig,\n editorConfig,\n handleCreated,\n handleChange,\n handleDestroyed,\n handleFocus,\n handleBlur,\n customAlert,\n customPaste,\n insertText,\n printHtml,\n disable,\n enable,\n };\n },\n render() {\n return (\n <div class={this.ns.b()}>\n <div style='border: 1px solid #ccc; margin-top: 10px'>\n <Toolbar\n editor={this.editorRef}\n default-config={this.toolbarConfig}\n mode={this.mode}\n style='border-bottom: 1px solid #ccc'\n />\n <Editor\n v-model={this.valueHtml}\n default-config={this.editorConfig}\n mode={this.mode}\n style='height: 400px; overflow-y: hidden'\n onOnCreated={this.handleCreated}\n onOnChange={this.handleChange}\n onOnDestroyed={this.handleDestroyed}\n onOnFocus={this.handleFocus}\n onOnBlur={this.handleBlur}\n oncustomAlert={this.customAlert}\n oncustomPaste={this.customPaste}\n />\n </div>\n </div>\n );\n },\n});\n\nexport default IBizHtml;\n"],"names":["IBizHtml","exports","defineComponent","name","props","getHtmlProps","emits","getEditorEmits","setup","emit","ns","useNamespace","c","controller","valueHtml","ref","editorRef","watch","newVal","headers","Authorization","getCookie","CoreConst","uploadUrl","urls","url","downloadUrl","immediate","deep","customParseLinkUrl","file","toolbarConfig","progress","res","MENU_CONF","uploadImage","server","err","fieldName","maxFileSize","insertFn","alt","maxNumberOfFiles","customCheckLinkFn","withCredentials","editor","onSuccess","onFailed","console","emitValue","html","isNil","handleDestroyed","handleFocus","_editor","customAlert","info","type","insertLink","checkLink","event","callback","insertText","str","parseLinkUrl","onBeforeUnmount","value","enable","setHtml","onMounted","oldVal","disable","handleBlur","editorConfig","handleCreated","alert","customPaste","printHtml","log","$event"],"mappings":"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"}
|
|
@@ -42,7 +42,7 @@ const IBizActionToolbar = /* @__PURE__ */ defineComponent({
|
|
|
42
42
|
if (this.actionsState[detail.id].visible) {
|
|
43
43
|
let caption = detail.caption;
|
|
44
44
|
if (detail.capLanguageRes) {
|
|
45
|
-
caption = ibiz.i18n.t(detail.capLanguageRes.lanResTag, detail.
|
|
45
|
+
caption = ibiz.i18n.t(detail.capLanguageRes.lanResTag, detail.caption);
|
|
46
46
|
}
|
|
47
47
|
return [detail.addSeparator && createVNode("div", {
|
|
48
48
|
"class": this.ns.e("separator")
|
|
@@ -18,7 +18,7 @@ const IBizNoData = /* @__PURE__ */ defineComponent({
|
|
|
18
18
|
const ns = useNamespace("no-data");
|
|
19
19
|
const label = ref(props.text);
|
|
20
20
|
if (props.emptyTextLanguageRes) {
|
|
21
|
-
label.value = ibiz.i18n.t(props.emptyTextLanguageRes.lanResTag,
|
|
21
|
+
label.value = ibiz.i18n.t(props.emptyTextLanguageRes.lanResTag, "\u6682\u65E0\u6570\u636E");
|
|
22
22
|
}
|
|
23
23
|
return {
|
|
24
24
|
ns,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
.ibiz-rawitem{width:100%;height:100%;font-size:var(--ibiz-font-size-regular);color:var(--ibiz-editor-default-text-color)}
|
|
1
|
+
.ibiz-rawitem{width:100%;height:100%;font-size:var(--ibiz-font-size-regular);color:var(--ibiz-editor-default-text-color)}.ibiz-rawitem .ibiz-icon{width:100%;height:100%}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
.ibiz-split-wrapper{position:relative;width:100%;height:100%}.ibiz-split-wrapper.is-no-select{-webkit-touch-callout:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.ibiz-split--horizontal .ibiz-split-trigger-con{top:50%;width:0;height:100%}.ibiz-split--vertical .ibiz-split-trigger-con{left:50%;width:100%;height:0}.ibiz-split-pane{position:absolute}.ibiz-split-pane--left{top:0;bottom:0;left:0}.ibiz-split-pane--right{top:0;right:0;bottom:0}.ibiz-split-pane--top{top:0;right:0;left:0}.ibiz-split-pane--bottom{right:0;bottom:0;left:0}.ibiz-split-pane--moving{-webkit-user-select:none;-moz-user-select:none;user-select:none}.ibiz-split-trigger-con{position:absolute;z-index:10;transform:translate(-50%,-50%)}
|
|
1
|
+
.ibiz-split-wrapper{position:relative;width:100%;height:100%}.ibiz-split-wrapper.is-no-select{-webkit-touch-callout:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.ibiz-split--horizontal .ibiz-split-trigger-con{top:50%;width:0;height:100%}.ibiz-split--horizontal .ibiz-split-pane--right{padding-left:6px}.ibiz-split--vertical .ibiz-split-trigger-con{left:50%;width:100%;height:0}.ibiz-split--vertical .ibiz-split-pane--bottom{padding-top:6px}.ibiz-split-pane{position:absolute}.ibiz-split-pane--left{top:0;bottom:0;left:0}.ibiz-split-pane--right{top:0;right:0;bottom:0}.ibiz-split-pane--top{top:0;right:0;left:0}.ibiz-split-pane--bottom{right:0;bottom:0;left:0}.ibiz-split-pane--moving{-webkit-user-select:none;-moz-user-select:none;user-select:none}.ibiz-split-trigger-con{position:absolute;z-index:10;transform:translate(-50%,-50%)}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
@charset "UTF-8";.ibiz-control-appmenu{position:static;width:100%;height:100%;overflow-y:auto;--ibiz-control-appmenu-collapse-item-hover-color:var(--ibiz-color-primary);--ibiz-control-appmenu-collapse-item-padding:var(--ibiz-spacing-base);--ibiz-control-appmenu-icon-width:var(--ibiz-width-icon-extra-large);--ibiz-control-appmenu-icon-height:var(--ibiz-width-icon-extra-large);--ibiz-control-appmenu-icon-margin:0 10px 0 0;--ibiz-control-appmenu-item-selected-color:var(--ibiz-color-text-1);--ibiz-control-appmenu-item-selected-bg-color:var(--ibiz-color-primary);--ibiz-control-appmenu-item-hover-color:var(--ibiz-color-text-0);--ibiz-control-appmenu-item-hover-bg-color:var(--ibiz-color-primary-hover);--ibiz-control-appmenu-item-padding:var(--ibiz-spacing-base);--ibiz-control-appmenu-item-font-size:var(--ibiz-font-size-header-
|
|
1
|
+
@charset "UTF-8";.ibiz-control-appmenu{position:static;width:100%;height:100%;padding:0 var(--ibiz-spacing-tight);overflow-y:auto;--ibiz-control-appmenu-collapse-item-hover-color:var(--ibiz-color-primary);--ibiz-control-appmenu-collapse-item-padding:var(--ibiz-spacing-base);--ibiz-control-appmenu-icon-width:var(--ibiz-width-icon-extra-large);--ibiz-control-appmenu-icon-height:var(--ibiz-width-icon-extra-large);--ibiz-control-appmenu-icon-margin:0 10px 0 0;--ibiz-control-appmenu-item-selected-color:var(--ibiz-color-text-1);--ibiz-control-appmenu-item-selected-bg-color:var(--ibiz-color-primary-active);--ibiz-control-appmenu-item-hover-color:var(--ibiz-color-text-0);--ibiz-control-appmenu-item-hover-bg-color:var(--ibiz-color-primary-hover);--ibiz-control-appmenu-item-padding:var(--ibiz-spacing-base-tight);--ibiz-control-appmenu-item-border-radius:var(--ibiz-border-radius-small);--ibiz-control-appmenu-item-font-size:var(--ibiz-font-size-header-6);--ibiz-control-appmenu-item-height:40px;--ibiz-control-appmenu-item-color:var(--ibiz-color-text-0);--ibiz-control-appmenu-item-horizontal-selected-color:var(--ibiz-color-white);--ibiz-control-appmenu-item-horizontal-selected-bg-color:var(--ibiz-color-primary-active);--ibiz-control-appmenu-item-horizontal-hover-color:var(--ibiz-color-white);--ibiz-control-appmenu-item-horizontal-hover-bg-color:var(--ibiz-color-primary-hover);--ibiz-control-appmenu-item-horizontal-color:var(--ibiz-color-white);--ibiz-control-appmenu-item-horizontal-font-size:var(--ibiz-font-size-header-6);--ibiz-control-appmenu-item-horizontal-height:32px;--ibiz-control-appmenu-item-horizontal-border-radius:var(--ibiz-border-radius-small);--ibiz-control-appmenu-item-horizontal-padding:0 var(--ibiz-spacing-base);--ibiz-control-appmenu-item-horizontal-padding-right:var(--ibiz-spacing-super-loose);--ibiz-control-appmenu-item-horizontal-popup-height:40px}.ibiz-control-appmenu .el-menu{border-right:0}.ibiz-control-appmenu .el-sub-menu .el-sub-menu__icon-arrow{right:14px;width:12px}.ibiz-control-appmenu .el-sub-menu .el-menu-item{padding:calc(var(--ibiz-control-appmenu-item-padding) * .875) calc(var(--ibiz-control-appmenu-item-padding) * 2.5)}.ibiz-control-appmenu .el-menu--vertical{width:100%}.ibiz-control-appmenu .el-menu--vertical .el-menu-item,.ibiz-control-appmenu .el-menu--vertical .el-sub-menu__title{display:flex;align-items:center;justify-content:flex-start;--el-menu-base-level-padding:var(--ibiz-control-appmenu-item-padding);width:100%;height:var(--ibiz-control-appmenu-item-height);font-size:var(--ibiz-control-appmenu-item-font-size);color:var(--ibiz-control-appmenu-item-color);white-space:nowrap;border-radius:var(--ibiz-control-appmenu-item-border-radius)}.ibiz-control-appmenu .el-menu--vertical .el-menu-item.is-active,.ibiz-control-appmenu .el-menu--vertical .el-sub-menu__title.is-active{color:var(--ibiz-control-appmenu-item-selected-color)!important;background-color:var(--ibiz-control-appmenu-item-selected-bg-color)}.ibiz-control-appmenu .el-menu--vertical .el-menu-item:hover,.ibiz-control-appmenu .el-menu--vertical .el-sub-menu__title:hover{color:var(--ibiz-control-appmenu-item-hover-color);background-color:var(--ibiz-control-appmenu-item-hover-bg-color)}.ibiz-control-appmenu .el-menu--horizontal{gap:16px;align-items:center;height:100%;background-color:transparent;border-bottom:none}.ibiz-control-appmenu .el-menu--horizontal .el-menu-item,.ibiz-control-appmenu .el-menu--horizontal .el-sub-menu__title{height:var(--ibiz-control-appmenu-item-horizontal-height);padding:var(--ibiz-control-appmenu-item-horizontal-padding);font-size:var(--ibiz-control-appmenu-item-horizontal-font-size);line-height:var(--ibiz-control-appmenu-item-horizontal-height);color:var(--ibiz-control-appmenu-item-horizontal-color);white-space:nowrap;border:none;border-radius:var(--ibiz-control-appmenu-item-horizontal-border-radius)}.ibiz-control-appmenu .el-menu--horizontal .el-menu-item.is-active,.ibiz-control-appmenu .el-menu--horizontal .el-sub-menu__title.is-active{color:var(--ibiz-control-appmenu-item-horizontal-color)!important;background-color:transparent}.ibiz-control-appmenu .el-menu--horizontal .el-menu-item:hover,.ibiz-control-appmenu .el-menu--horizontal .el-sub-menu__title:hover{color:var(--ibiz-control-appmenu-item-horizontal-hover-color);background-color:var(--ibiz-control-appmenu-item-horizontal-hover-bg-color)}.ibiz-control-appmenu .el-menu--horizontal .el-menu-item .el-sub-menu__icon-arrow,.ibiz-control-appmenu .el-menu--horizontal .el-sub-menu__title .el-sub-menu__icon-arrow{position:absolute;top:50%;right:16px}.ibiz-control-appmenu .el-menu--horizontal .el-sub-menu__title{padding-right:var(--ibiz-control-appmenu-item-horizontal-padding-right)}.ibiz-control-appmenu .el-menu--horizontal>.el-sub-menu.is-active .el-sub-menu__title{color:var(--ibiz-control-appmenu-item-horizontal-selected-color);background-color:transparent}.ibiz-control-appmenu .el-menu--horizontal>.el-sub-menu:hover .el-sub-menu__title{color:var(--ibiz-control-appmenu-item-horizontal-hover-color);background-color:var(--ibiz-control-appmenu-item-horizontal-hover-bg-color)}.ibiz-control-appmenu .el-menu--horizontal::-webkit-scrollbar-thumb{background-color:var(--ibiz-color-white)}.ibiz-control-appmenu__icon{display:flex;justify-content:center;width:16px;margin:var(--ibiz-control-appmenu-icon-margin)}.ibiz-control-appmenu.is-collapse .ibiz-control-appmenu__item{display:flex;align-items:center;justify-content:center;padding:calc(var(--ibiz-control-appmenu-collapse-item-padding) * .875) calc(var(--ibiz-control-appmenu-collapse-item-padding) * 1.5)}.ibiz-control-appmenu.is-collapse .ibiz-control-appmenu__item:hover{color:var(--ibiz-control-appmenu-collapse-item-hover-color)}.ibiz-control-appmenu.is-collapse .ibiz-control-appmenu-tooltip{width:100%}.ibiz-control-appmenu.is-collapse .ibiz-control-appmenu-submenu{display:block}.ibiz-control-appmenu.is-collapse .ibiz-control-appmenu-submenu>.el-sub-menu__title{display:flex;align-items:center;justify-content:center;display:flex;align-items:center;justify-content:center;padding:calc(var(--ibiz-control-appmenu-collapse-item-padding) * .875) calc(var(--ibiz-control-appmenu-collapse-item-padding) * 1.5);white-space:nowrap;cursor:pointer}.ibiz-control-appmenu.is-collapse .ibiz-control-appmenu-submenu>.el-sub-menu__title:hover{color:var(--ibiz-control-appmenu-collapse-item-hover-color)}.ibiz-control-appmenu.is-collapse .ibiz-control-appmenu-submenu .ibiz-control-appmenu-submenu__item{padding:0}.ibiz-control-appmenu .ibiz-control-appmenu__counter{position:absolute;top:50%;right:5px;height:20px;padding:0 6px;line-height:initial;color:#fff;background-color:#f56c6c;border-radius:10px;transform:translateY(-50%)}.el-menu--popup-container{--ibiz-control-appmenu-collapse-item-hover-color:var(--ibiz-color-primary);--ibiz-control-appmenu-collapse-item-padding:var(--ibiz-spacing-base);--ibiz-control-appmenu-icon-width:var(--ibiz-width-icon-extra-large);--ibiz-control-appmenu-icon-height:var(--ibiz-width-icon-extra-large);--ibiz-control-appmenu-icon-margin:0 10px 0 0;--ibiz-control-appmenu-item-selected-color:var(--ibiz-color-text-1);--ibiz-control-appmenu-item-selected-bg-color:var(--ibiz-color-primary-active);--ibiz-control-appmenu-item-hover-color:var(--ibiz-color-text-0);--ibiz-control-appmenu-item-hover-bg-color:var(--ibiz-color-primary-hover);--ibiz-control-appmenu-item-padding:var(--ibiz-spacing-base-tight);--ibiz-control-appmenu-item-border-radius:var(--ibiz-border-radius-small);--ibiz-control-appmenu-item-font-size:var(--ibiz-font-size-header-6);--ibiz-control-appmenu-item-height:40px;--ibiz-control-appmenu-item-color:var(--ibiz-color-text-0);--ibiz-control-appmenu-item-horizontal-selected-color:var(--ibiz-color-white);--ibiz-control-appmenu-item-horizontal-selected-bg-color:var(--ibiz-color-primary-active);--ibiz-control-appmenu-item-horizontal-hover-color:var(--ibiz-color-white);--ibiz-control-appmenu-item-horizontal-hover-bg-color:var(--ibiz-color-primary-hover);--ibiz-control-appmenu-item-horizontal-color:var(--ibiz-color-white);--ibiz-control-appmenu-item-horizontal-font-size:var(--ibiz-font-size-header-6);--ibiz-control-appmenu-item-horizontal-height:32px;--ibiz-control-appmenu-item-horizontal-border-radius:var(--ibiz-border-radius-small);--ibiz-control-appmenu-item-horizontal-padding:0 var(--ibiz-spacing-base);--ibiz-control-appmenu-item-horizontal-padding-right:var(--ibiz-spacing-super-loose);--ibiz-control-appmenu-item-horizontal-popup-height:40px;border:none;box-shadow:var(--ibiz-shadow-elevated)}.el-menu--popup-container .el-menu--popup{padding:var(--ibiz-spacing-extra-tight);background-color:var(--ibiz-color-primary)}.el-menu--popup-container .el-menu--popup .el-menu-item,.el-menu--popup-container .el-menu--popup .el-sub-menu__title{display:flex;align-items:center;justify-content:flex-start;width:100%;height:var(--ibiz-control-appmenu-item-horizontal-popup-height);font-size:var(--ibiz-control-appmenu-item-font-size);color:var(--ibiz-control-appmenu-item-horizontal-color);white-space:nowrap;border-radius:var(--ibiz-control-appmenu-item-horizontal-border-radius)}.el-menu--popup-container .el-menu--popup .el-menu-item.is-active,.el-menu--popup-container .el-menu--popup .el-sub-menu__title.is-active{color:var(--ibiz-control-appmenu-item-horizontal-selected-color);background-color:transparent}.el-menu--popup-container .el-menu--popup .el-menu-item:hover,.el-menu--popup-container .el-menu--popup .el-sub-menu__title:hover{color:var(--ibiz-control-appmenu-item-horizontal-selected-color);background-color:var(--ibiz-control-appmenu-item-hover-bg-color)}.el-menu--popup-container .el-menu--popup .el-menu-item .el-icon,.el-menu--popup-container .el-menu--popup .el-sub-menu__title .el-icon{display:none}
|
|
@@ -13,7 +13,7 @@ function getMenus(items) {
|
|
|
13
13
|
var _a;
|
|
14
14
|
let label = item.caption;
|
|
15
15
|
if (item.capLanguageRes) {
|
|
16
|
-
label = ibiz.i18n.t(item.capLanguageRes.lanResTag, item.
|
|
16
|
+
label = ibiz.i18n.t(item.capLanguageRes.lanResTag, item.caption);
|
|
17
17
|
}
|
|
18
18
|
const data = {
|
|
19
19
|
key: item.id,
|
|
@@ -45,7 +45,7 @@ const AppMenuIconViewControl = /* @__PURE__ */ defineComponent({
|
|
|
45
45
|
}
|
|
46
46
|
let label = item.caption;
|
|
47
47
|
if (item.capLanguageRes) {
|
|
48
|
-
label = ibiz.i18n.t(item.capLanguageRes.lanResTag, item.
|
|
48
|
+
label = ibiz.i18n.t(item.capLanguageRes.lanResTag, item.caption);
|
|
49
49
|
}
|
|
50
50
|
return createVNode("div", {
|
|
51
51
|
"class": [ns.b("item"), ns.is("disabled", !item.appFuncId)],
|
|
@@ -195,7 +195,7 @@ const CalendarControl = /* @__PURE__ */ defineComponent({
|
|
|
195
195
|
}, [(_a = this.c.model.sysCalendarItems) == null ? void 0 : _a.map((calendarItem) => {
|
|
196
196
|
let label = calendarItem.name;
|
|
197
197
|
if (calendarItem.nameLanguageRes) {
|
|
198
|
-
label = ibiz.i18n.t(calendarItem.nameLanguageRes.lanResTag, calendarItem.
|
|
198
|
+
label = ibiz.i18n.t(calendarItem.nameLanguageRes.lanResTag, calendarItem.name);
|
|
199
199
|
}
|
|
200
200
|
return createVNode("div", {
|
|
201
201
|
"class": this.ns.e("calendar-item")
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
.ibiz-portlet-container.ibiz-portlet-layout{padding:0}.ibiz-portlet-container>.ibiz-portlet-layout-content{background-color:transparent}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { PropType } from 'vue';
|
|
2
2
|
import { IDBContainerPortletPart } from '@ibiz/model-core';
|
|
3
3
|
import { ContainerPortletController } from '@ibiz-template/runtime';
|
|
4
|
+
import './container-portlet.scss';
|
|
4
5
|
export declare const ContainerPortlet: import("vue").DefineComponent<{
|
|
5
6
|
modelData: {
|
|
6
7
|
type: PropType<IDBContainerPortletPart>;
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { isVNode, defineComponent, createVNode, resolveComponent } from 'vue';
|
|
2
2
|
import { useNamespace } from '@ibiz-template/vue3-util';
|
|
3
3
|
import { ContainerPortletController } from '@ibiz-template/runtime';
|
|
4
|
+
import './container-portlet.css';
|
|
4
5
|
|
|
5
6
|
function _isSlot(s) {
|
|
6
7
|
return typeof s === "function" || Object.prototype.toString.call(s) === "[object Object]" && !isVNode(s);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
.ibiz-portlet-layout{--ibiz-portlet-layout-bg-color:transparent;--ibiz-portlet-layout-header-height:50px;--ibiz-portlet-layout-header-padding:14px 16px;--ibiz-portlet-layout-header-margin:0;--ibiz-portlet-layout-header-bg-color:
|
|
1
|
+
.ibiz-portlet-layout{--ibiz-portlet-layout-bg-color:transparent;--ibiz-portlet-layout-header-height:50px;--ibiz-portlet-layout-header-padding:14px 16px;--ibiz-portlet-layout-header-margin:0;--ibiz-portlet-layout-header-bg-color:var(--ibiz-color-bg-1);--ibiz-portlet-layout-header-border-bottom:var(--ibiz-border);--ibiz-portlet-layout-caption-max-width:300px;--ibiz-portlet-layout-caption-font-weight:600;--ibiz-portlet-layout-caption-font-size:var(--ibiz-font-size-medium);--ibiz-portlet-layout-caption-color:var(--ibiz-text-color-primary);--ibiz-portlet-layout-content-bg-color:var(--ibiz-color-bg-1);--ibiz-portlet-layout-content-padding:0;--ibiz-portlet-layout-content-margin:0;--ibiz-portlet-layout-padding:var(--ibiz-spacing-tight);width:100%;height:100%;background-color:var(--ibiz-portlet-layout-bg-color);padding:var(--ibiz-portlet-layout-padding)}.ibiz-portlet-layout__caption{max-width:var(--ibiz-portlet-layout-caption-max-width)}.ibiz-portlet-layout__caption-text{font-size:var(--ibiz-portlet-layout-caption-font-size);font-weight:var(--ibiz-portlet-layout-caption-font-weight);color:var(--ibiz-portlet-layout-caption-color)}.ibiz-portlet-layout.is-no-header>.ibiz-portlet-layout-content{height:100%}.ibiz-portlet-layout-header{display:flex;justify-content:space-between;height:var(--ibiz-portlet-layout-header-height);padding:var(--ibiz-portlet-layout-header-padding);margin:var(--ibiz-portlet-layout-header-margin);background-color:var(--ibiz-portlet-layout-header-bg-color);border-bottom:var(--ibiz-portlet-layout-header-border-bottom)}.ibiz-portlet-layout-content{height:calc(100% - var(--ibiz-portlet-layout-header-height));padding:var(--ibiz-portlet-layout-content-padding);margin:var(--ibiz-portlet-layout-content-margin);background-color:var(--ibiz-portlet-layout-content-bg-color)}
|
|
@@ -35,7 +35,7 @@ const PortletLayout = /* @__PURE__ */ defineComponent({
|
|
|
35
35
|
} = this.controller;
|
|
36
36
|
let title = model.title;
|
|
37
37
|
if (model.titleLanguageRes) {
|
|
38
|
-
title = ibiz.i18n.t(model.titleLanguageRes.lanResTag, model.
|
|
38
|
+
title = ibiz.i18n.t(model.titleLanguageRes.lanResTag, model.title);
|
|
39
39
|
}
|
|
40
40
|
return createVNode("div", {
|
|
41
41
|
"class": [this.ns.b(), this.ns.is("no-header", !this.isShowHeader)]
|
|
@@ -1 +1 @@
|
|
|
1
|
-
.ibiz-control-dataview{--ibiz-control-dataview-text-color:var(--ibiz-color-text-0);--ibiz-control-dataview-hover-bg-color:var(--ibiz-color-fill-0);--ibiz-control-dataview-active-bg-color:var(--ibiz-color-fill-0);width:100%;height:100%}.ibiz-control-dataview-scroll{display:flex;flex-wrap:wrap;gap:12px;align-content:flex-start;width:100%;height:100%;overflow:auto}.ibiz-control-dataview-item{--ibiz-control-dataview-text-color:var(--ibiz-color-text-0);--ibiz-control-dataview-hover-bg-color:var(--ibiz-color-fill-0);--ibiz-control-dataview-active-bg-color:var(--ibiz-color-fill-0);color:var(--ibiz-control-dataview-text-color);cursor:pointer}.ibiz-control-dataview-item:hover{background-color:var(--ibiz-control-dataview-hover-bg-color)}.ibiz-control-dataview-item.is-active{background-color:var(--ibiz-control-dataview-active-bg-color)}.ibiz-control-dataview-item-content{--ibiz-control-dataview-text-color:var(--ibiz-color-text-0);--ibiz-control-dataview-hover-bg-color:var(--ibiz-color-fill-0);--ibiz-control-dataview-active-bg-color:var(--ibiz-color-fill-0)}.ibiz-control-dataview-item-content__top--title{text-align:center}.ibiz-control-dataview-item-content__top--description{min-width:150px;text-align:justify;text-justify:newspaper;word-break:break-all}.ibiz-control-dataview-item-content__bottom--actions{display:flex;justify-content:center}.ibiz-control-dataview-group-content{width:100%;overflow:auto}.ibiz-control-dataview-group-content__item .el-collapse-item__content{display:flex;flex-wrap:wrap}.ibiz-control-dataview-group-content__item--empty{width:100%;text-align:center}
|
|
1
|
+
.ibiz-control-dataview{--ibiz-control-dataview-text-color:var(--ibiz-color-text-0);--ibiz-control-dataview-hover-bg-color:var(--ibiz-color-fill-0);--ibiz-control-dataview-active-bg-color:var(--ibiz-color-fill-0);--ibiz-control-dataview-padding:var(--ibiz-spacing-tight) var(--ibiz-spacing-base) 0;width:100%;height:100%}.ibiz-control-dataview-scroll{display:flex;flex-wrap:wrap;gap:12px;align-content:flex-start;width:100%;height:100%;padding:var(--ibiz-control-dataview-padding);overflow:auto}.ibiz-control-dataview-item{--ibiz-control-dataview-text-color:var(--ibiz-color-text-0);--ibiz-control-dataview-hover-bg-color:var(--ibiz-color-fill-0);--ibiz-control-dataview-active-bg-color:var(--ibiz-color-fill-0);--ibiz-control-dataview-padding:var(--ibiz-spacing-tight) var(--ibiz-spacing-base) 0;color:var(--ibiz-control-dataview-text-color);cursor:pointer}.ibiz-control-dataview-item:hover{background-color:var(--ibiz-control-dataview-hover-bg-color)}.ibiz-control-dataview-item.is-active{background-color:var(--ibiz-control-dataview-active-bg-color)}.ibiz-control-dataview-item-content{--ibiz-control-dataview-text-color:var(--ibiz-color-text-0);--ibiz-control-dataview-hover-bg-color:var(--ibiz-color-fill-0);--ibiz-control-dataview-active-bg-color:var(--ibiz-color-fill-0);--ibiz-control-dataview-padding:var(--ibiz-spacing-tight) var(--ibiz-spacing-base) 0}.ibiz-control-dataview-item-content__top--title{text-align:center}.ibiz-control-dataview-item-content__top--description{min-width:150px;text-align:justify;text-justify:newspaper;word-break:break-all}.ibiz-control-dataview-item-content__bottom--actions{display:flex;justify-content:center}.ibiz-control-dataview-group-content{width:100%;overflow:auto}.ibiz-control-dataview-group-content__item .el-collapse-item__content{display:flex;flex-wrap:wrap}.ibiz-control-dataview-group-content__item--empty{width:100%;text-align:center}
|
|
@@ -148,10 +148,7 @@ class DRBarController extends ControlController {
|
|
|
148
148
|
const drBarItems = [];
|
|
149
149
|
let caption = editItemCaption;
|
|
150
150
|
if (editItemCapLanguageRes) {
|
|
151
|
-
caption = ibiz.i18n.t(
|
|
152
|
-
editItemCapLanguageRes.lanResTag,
|
|
153
|
-
editItemCapLanguageRes.defaultContent
|
|
154
|
-
);
|
|
151
|
+
caption = ibiz.i18n.t(editItemCapLanguageRes.lanResTag, editItemCaption);
|
|
155
152
|
}
|
|
156
153
|
drBarItems.push({
|
|
157
154
|
tag: uniqueTag,
|
|
@@ -164,10 +161,7 @@ class DRBarController extends ControlController {
|
|
|
164
161
|
dedrctrlItems == null ? void 0 : dedrctrlItems.forEach((item) => {
|
|
165
162
|
let itemCaption = item.caption;
|
|
166
163
|
if (item.capLanguageRes) {
|
|
167
|
-
itemCaption = ibiz.i18n.t(
|
|
168
|
-
item.capLanguageRes.lanResTag,
|
|
169
|
-
item.capLanguageRes.defaultContent
|
|
170
|
-
);
|
|
164
|
+
itemCaption = ibiz.i18n.t(item.capLanguageRes.lanResTag, item.caption);
|
|
171
165
|
}
|
|
172
166
|
drBarItems.push({
|
|
173
167
|
tag: item.id,
|
|
@@ -145,10 +145,7 @@ class DRTabController extends ControlController {
|
|
|
145
145
|
const drTabPages = [];
|
|
146
146
|
let caption = editItemCaption;
|
|
147
147
|
if (editItemCapLanguageRes) {
|
|
148
|
-
caption = ibiz.i18n.t(
|
|
149
|
-
editItemCapLanguageRes.lanResTag,
|
|
150
|
-
editItemCapLanguageRes.defaultContent
|
|
151
|
-
);
|
|
148
|
+
caption = ibiz.i18n.t(editItemCapLanguageRes.lanResTag, editItemCaption);
|
|
152
149
|
}
|
|
153
150
|
drTabPages.push({
|
|
154
151
|
tag: uniqueTag,
|
|
@@ -161,10 +158,7 @@ class DRTabController extends ControlController {
|
|
|
161
158
|
dedrtabPages == null ? void 0 : dedrtabPages.forEach((item) => {
|
|
162
159
|
let itemCaption = item.caption;
|
|
163
160
|
if (item.capLanguageRes) {
|
|
164
|
-
itemCaption = ibiz.i18n.t(
|
|
165
|
-
item.capLanguageRes.lanResTag,
|
|
166
|
-
item.capLanguageRes.defaultContent
|
|
167
|
-
);
|
|
161
|
+
itemCaption = ibiz.i18n.t(item.capLanguageRes.lanResTag, item.caption);
|
|
168
162
|
}
|
|
169
163
|
drTabPages.push({
|
|
170
164
|
tag: item.id,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
.ibiz-control-dataviewexpbar{height:100%;overflow-y:
|
|
1
|
+
.ibiz-control-dataviewexpbar{height:100%;overflow-y:auto}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
.ibiz-control-gridexpbar{min-width:300px;height:100%;overflow-y:
|
|
1
|
+
.ibiz-control-gridexpbar{min-width:300px;height:100%;overflow-y:auto}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
.ibiz-control-listexpbar{min-width:300px;height:100%;overflow-y:
|
|
1
|
+
.ibiz-control-listexpbar{min-width:300px;height:100%;overflow-y:auto}
|
|
@@ -18,7 +18,7 @@ function useExpBarRender(c, ns) {
|
|
|
18
18
|
}
|
|
19
19
|
let title = model.title;
|
|
20
20
|
if (model.titleLanguageRes) {
|
|
21
|
-
title = ibiz.i18n.t(model.titleLanguageRes.lanResTag, model.
|
|
21
|
+
title = ibiz.i18n.t(model.titleLanguageRes.lanResTag, model.title);
|
|
22
22
|
}
|
|
23
23
|
return createVNode("div", {
|
|
24
24
|
"class": [ns.b("caption")]
|
|
@@ -39,7 +39,7 @@ function useExpBarRender(c, ns) {
|
|
|
39
39
|
return createVNode(resolveComponent("el-input"), {
|
|
40
40
|
"model-value": c.state.query,
|
|
41
41
|
"class": ns.b("quick-search"),
|
|
42
|
-
"placeholder":
|
|
42
|
+
"placeholder": c.state.placeHolder,
|
|
43
43
|
"onInput": onInput
|
|
44
44
|
}, {
|
|
45
45
|
prefix: () => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
.ibiz-control-treeexpbar{min-width:300px;height:100%;overflow-y:
|
|
1
|
+
.ibiz-control-treeexpbar{min-width:300px;height:100%;overflow-y:auto}
|
|
@@ -92,7 +92,7 @@ const FormControl = /* @__PURE__ */ defineComponent({
|
|
|
92
92
|
return this.renderByDetailType(page);
|
|
93
93
|
})];
|
|
94
94
|
}
|
|
95
|
-
}), this.$slots.
|
|
95
|
+
}), this.$slots.searchButtons && this.$slots.searchButtons({})]]
|
|
96
96
|
});
|
|
97
97
|
}
|
|
98
98
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
.ibiz-form-button{--ibiz-form-button-icon-margin:0 var(--ibiz-spacing-extra-tight) 0 0;--ibiz-form-button-icon-max-width:var(--ibiz-width-icon-medium);--ibiz-form-button-icon-max-height:var(--ibiz-width-icon-medium);overflow:hidden}.ibiz-form-button i,.ibiz-form-button img{display:inline-block;max-width:var(--ibiz-form-button-icon-max-width);max-height:var(--ibiz-form-button-icon-max-height);margin:var(--ibiz-form-button-icon-margin)}
|
|
1
|
+
.ibiz-form-button{--ibiz-form-button-icon-margin:0 var(--ibiz-spacing-extra-tight) 0 0;--ibiz-form-button-icon-max-width:var(--ibiz-width-icon-medium);--ibiz-form-button-icon-max-height:var(--ibiz-width-icon-medium);overflow:hidden;padding:var(--ibiz-spacing-tight)}.ibiz-form-button .el-button{width:100%}.ibiz-form-button .el-button i,.ibiz-form-button .el-button img{display:inline-block;max-width:var(--ibiz-form-button-icon-max-width);max-height:var(--ibiz-form-button-icon-max-height);margin:var(--ibiz-form-button-icon-margin)}
|
|
@@ -28,7 +28,7 @@ const FormButton = /* @__PURE__ */ defineComponent({
|
|
|
28
28
|
}
|
|
29
29
|
let text = caption;
|
|
30
30
|
if (capLanguageRes) {
|
|
31
|
-
text = ibiz.i18n.t(capLanguageRes.lanResTag,
|
|
31
|
+
text = ibiz.i18n.t(capLanguageRes.lanResTag, caption);
|
|
32
32
|
}
|
|
33
33
|
return text;
|
|
34
34
|
});
|
|
@@ -41,12 +41,13 @@ const FormButton = /* @__PURE__ */ defineComponent({
|
|
|
41
41
|
if (!this.controller.state.visible) {
|
|
42
42
|
return null;
|
|
43
43
|
}
|
|
44
|
-
return createVNode(
|
|
44
|
+
return createVNode("div", {
|
|
45
|
+
"class": [this.ns.b(), this.ns.m(this.modelData.codeName), ...this.controller.containerClass]
|
|
46
|
+
}, [createVNode(resolveComponent("el-button"), {
|
|
45
47
|
"sime": "small",
|
|
46
48
|
"onClick": this.controller.onClick.bind(this.controller),
|
|
47
49
|
"loading": this.controller.state.loading,
|
|
48
|
-
"disabled": this.controller.state.disabled
|
|
49
|
-
"class": [this.ns.b(), this.ns.m(this.modelData.codeName), ...this.controller.containerClass]
|
|
50
|
+
"disabled": this.controller.state.disabled
|
|
50
51
|
}, {
|
|
51
52
|
default: () => [createVNode("div", {
|
|
52
53
|
"class": this.ns.b("content")
|
|
@@ -56,7 +57,7 @@ const FormButton = /* @__PURE__ */ defineComponent({
|
|
|
56
57
|
}, null), createVNode("span", {
|
|
57
58
|
"class": this.ns.bm("content", "caption")
|
|
58
59
|
}, [this.modelData.showCaption ? this.captionText : null])])]
|
|
59
|
-
});
|
|
60
|
+
})]);
|
|
60
61
|
}
|
|
61
62
|
});
|
|
62
63
|
|
|
@@ -40,7 +40,7 @@ const FormGroupPanel = /* @__PURE__ */ defineComponent({
|
|
|
40
40
|
}
|
|
41
41
|
let text = caption;
|
|
42
42
|
if (capLanguageRes) {
|
|
43
|
-
text = ibiz.i18n.t(capLanguageRes.lanResTag,
|
|
43
|
+
text = ibiz.i18n.t(capLanguageRes.lanResTag, caption);
|
|
44
44
|
}
|
|
45
45
|
return text;
|
|
46
46
|
});
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
import { FormMDCtrlItemController, FormMDCtrlRepeaterFormController } from '@ibiz-template/runtime';
|
|
2
|
+
import { IDEEditForm, IDEFormDetail } from '@ibiz/model-core';
|
|
3
|
+
import { PropType, VNode } from 'vue';
|
|
4
|
+
export declare const FormMDCtrlRepeaterFormShell: import("vue").DefineComponent<{
|
|
5
|
+
modelData: {
|
|
6
|
+
type: PropType<IDEEditForm>;
|
|
7
|
+
required: true;
|
|
8
|
+
};
|
|
9
|
+
context: {
|
|
10
|
+
type: PropType<IContext>;
|
|
11
|
+
required: true;
|
|
12
|
+
};
|
|
13
|
+
params: {
|
|
14
|
+
type: PropType<IParams>;
|
|
15
|
+
default: () => {};
|
|
16
|
+
};
|
|
17
|
+
data: {
|
|
18
|
+
type: PropType<IData>;
|
|
19
|
+
required: true;
|
|
20
|
+
};
|
|
21
|
+
index: {
|
|
22
|
+
type: NumberConstructor;
|
|
23
|
+
required: true;
|
|
24
|
+
};
|
|
25
|
+
controller: {
|
|
26
|
+
type: PropType<FormMDCtrlRepeaterFormController>;
|
|
27
|
+
required: true;
|
|
28
|
+
};
|
|
29
|
+
buttonVisible: {
|
|
30
|
+
type: BooleanConstructor;
|
|
31
|
+
default: boolean;
|
|
32
|
+
required: false;
|
|
33
|
+
};
|
|
34
|
+
}, {
|
|
35
|
+
c: FormMDCtrlItemController;
|
|
36
|
+
ns: import("@ibiz-template/core").Namespace;
|
|
37
|
+
renderByDetailType: (detail: IDEFormDetail, item: IData, index: number) => VNode | VNode[] | undefined;
|
|
38
|
+
init: import("vue").Ref<boolean>;
|
|
39
|
+
}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
|
|
40
|
+
modelData: {
|
|
41
|
+
type: PropType<IDEEditForm>;
|
|
42
|
+
required: true;
|
|
43
|
+
};
|
|
44
|
+
context: {
|
|
45
|
+
type: PropType<IContext>;
|
|
46
|
+
required: true;
|
|
47
|
+
};
|
|
48
|
+
params: {
|
|
49
|
+
type: PropType<IParams>;
|
|
50
|
+
default: () => {};
|
|
51
|
+
};
|
|
52
|
+
data: {
|
|
53
|
+
type: PropType<IData>;
|
|
54
|
+
required: true;
|
|
55
|
+
};
|
|
56
|
+
index: {
|
|
57
|
+
type: NumberConstructor;
|
|
58
|
+
required: true;
|
|
59
|
+
};
|
|
60
|
+
controller: {
|
|
61
|
+
type: PropType<FormMDCtrlRepeaterFormController>;
|
|
62
|
+
required: true;
|
|
63
|
+
};
|
|
64
|
+
buttonVisible: {
|
|
65
|
+
type: BooleanConstructor;
|
|
66
|
+
default: boolean;
|
|
67
|
+
required: false;
|
|
68
|
+
};
|
|
69
|
+
}>>, {
|
|
70
|
+
params: IParams;
|
|
71
|
+
buttonVisible: boolean;
|
|
72
|
+
}, {}>;
|
|
@@ -0,0 +1,157 @@
|
|
|
1
|
+
import { isVNode, defineComponent, ref, reactive, renderSlot, createVNode, createTextVNode, resolveComponent, h } from 'vue';
|
|
2
|
+
import { FormMDCtrlItemController, findChildFormDetails } from '@ibiz-template/runtime';
|
|
3
|
+
import { useControlController, useNamespace } from '@ibiz-template/vue3-util';
|
|
4
|
+
|
|
5
|
+
function _isSlot(s) {
|
|
6
|
+
return typeof s === "function" || Object.prototype.toString.call(s) === "[object Object]" && !isVNode(s);
|
|
7
|
+
}
|
|
8
|
+
const FormMDCtrlRepeaterFormShell = /* @__PURE__ */ defineComponent({
|
|
9
|
+
name: "IBizFormMDCtrlRepeaterFormShell",
|
|
10
|
+
props: {
|
|
11
|
+
modelData: {
|
|
12
|
+
type: Object,
|
|
13
|
+
required: true
|
|
14
|
+
},
|
|
15
|
+
context: {
|
|
16
|
+
type: Object,
|
|
17
|
+
required: true
|
|
18
|
+
},
|
|
19
|
+
params: {
|
|
20
|
+
type: Object,
|
|
21
|
+
default: () => ({})
|
|
22
|
+
},
|
|
23
|
+
data: {
|
|
24
|
+
type: Object,
|
|
25
|
+
required: true
|
|
26
|
+
},
|
|
27
|
+
index: {
|
|
28
|
+
type: Number,
|
|
29
|
+
required: true
|
|
30
|
+
},
|
|
31
|
+
controller: {
|
|
32
|
+
type: Object,
|
|
33
|
+
required: true
|
|
34
|
+
},
|
|
35
|
+
buttonVisible: {
|
|
36
|
+
type: Boolean,
|
|
37
|
+
default: true,
|
|
38
|
+
required: false
|
|
39
|
+
}
|
|
40
|
+
},
|
|
41
|
+
setup(props, {
|
|
42
|
+
slots
|
|
43
|
+
}) {
|
|
44
|
+
const c = useControlController((...args) => new FormMDCtrlItemController(...args, props.data));
|
|
45
|
+
const ns = useNamespace("form-mdctrl");
|
|
46
|
+
c.state.isLoaded = true;
|
|
47
|
+
const init = ref(false);
|
|
48
|
+
c.evt.on("onCreated", () => {
|
|
49
|
+
const keys = Object.keys(c.details);
|
|
50
|
+
keys.forEach((key) => {
|
|
51
|
+
const detail = c.details[key];
|
|
52
|
+
detail.state = reactive(detail.state);
|
|
53
|
+
});
|
|
54
|
+
init.value = true;
|
|
55
|
+
});
|
|
56
|
+
c.evt.on("onFormDataChange", (arg) => {
|
|
57
|
+
if (arg.data.length > 0) {
|
|
58
|
+
props.controller.onDataItemChange(arg.data[0], props.index);
|
|
59
|
+
}
|
|
60
|
+
});
|
|
61
|
+
const slotProps = {
|
|
62
|
+
form: c
|
|
63
|
+
};
|
|
64
|
+
const renderByDetailType = (detail, item, index) => {
|
|
65
|
+
let _slot;
|
|
66
|
+
if (detail.hidden) {
|
|
67
|
+
return;
|
|
68
|
+
}
|
|
69
|
+
const detailId = detail.id;
|
|
70
|
+
const controller = c.details[detailId];
|
|
71
|
+
const detailProps = {
|
|
72
|
+
modelData: detail,
|
|
73
|
+
controller,
|
|
74
|
+
key: detail.id
|
|
75
|
+
};
|
|
76
|
+
if (slots[detailId]) {
|
|
77
|
+
return renderSlot(slots, detailId, {
|
|
78
|
+
...slotProps,
|
|
79
|
+
...detailProps
|
|
80
|
+
});
|
|
81
|
+
}
|
|
82
|
+
const childSlots = {};
|
|
83
|
+
if (detail.detailType === "FORMITEM" && slots[`${detailId}_editor`]) {
|
|
84
|
+
childSlots.default = (...args) => {
|
|
85
|
+
return slots[`${detailId}_editor`](...args);
|
|
86
|
+
};
|
|
87
|
+
}
|
|
88
|
+
const childDetails = findChildFormDetails(detail);
|
|
89
|
+
if (childDetails.length) {
|
|
90
|
+
childSlots.default = () => childDetails.map((child) => {
|
|
91
|
+
return renderByDetailType(child, item, index);
|
|
92
|
+
});
|
|
93
|
+
}
|
|
94
|
+
const provider = (controller == null ? void 0 : controller.form).providers[detailId];
|
|
95
|
+
if (!provider) {
|
|
96
|
+
return createVNode("div", null, [createTextVNode("\u6682\u672A\u652F\u6301\u7684\u8868\u5355\u9879\u7C7B\u578B: "), detail.detailType, createTextVNode("\u6216\u627E\u4E0D\u5230\u5BF9\u5E94\u9002\u914D\u5668")]);
|
|
97
|
+
}
|
|
98
|
+
const component = resolveComponent(provider.component);
|
|
99
|
+
return createVNode(resolveComponent("iBizCol"), {
|
|
100
|
+
"layoutPos": detailProps.modelData.layoutPos,
|
|
101
|
+
"state": detailProps.controller.state
|
|
102
|
+
}, _isSlot(_slot = h(component, {
|
|
103
|
+
...detailProps
|
|
104
|
+
}, childSlots)) ? _slot : {
|
|
105
|
+
default: () => [_slot]
|
|
106
|
+
});
|
|
107
|
+
};
|
|
108
|
+
return {
|
|
109
|
+
c,
|
|
110
|
+
ns,
|
|
111
|
+
renderByDetailType,
|
|
112
|
+
init
|
|
113
|
+
};
|
|
114
|
+
},
|
|
115
|
+
render() {
|
|
116
|
+
let _slot2;
|
|
117
|
+
if (!this.init) {
|
|
118
|
+
return;
|
|
119
|
+
}
|
|
120
|
+
const renderDetails = (item, index) => {
|
|
121
|
+
var _a;
|
|
122
|
+
if (!this.c.data) {
|
|
123
|
+
return null;
|
|
124
|
+
}
|
|
125
|
+
return (_a = this.controller.model.deformDetails) == null ? void 0 : _a.map((detail) => {
|
|
126
|
+
return this.renderByDetailType(detail, item, index);
|
|
127
|
+
});
|
|
128
|
+
};
|
|
129
|
+
return createVNode("div", {
|
|
130
|
+
"class": this.ns.b("form-content")
|
|
131
|
+
}, [createVNode("div", {
|
|
132
|
+
"class": this.ns.b("form-content-container")
|
|
133
|
+
}, [createVNode(resolveComponent("iBizRow"), {
|
|
134
|
+
"layout": this.c.model.layout
|
|
135
|
+
}, _isSlot(_slot2 = renderDetails(this.data, this.index)) ? _slot2 : {
|
|
136
|
+
default: () => [_slot2]
|
|
137
|
+
})]), this.buttonVisible && createVNode("div", {
|
|
138
|
+
"class": this.ns.b("btn")
|
|
139
|
+
}, [createVNode(resolveComponent("el-popconfirm"), {
|
|
140
|
+
"title": "\u662F\u5426\u5220\u9664\u8BE5\u9879",
|
|
141
|
+
"confirm-button-text": "\u786E\u8BA4",
|
|
142
|
+
"cancel-button-text": "\u53D6\u6D88",
|
|
143
|
+
"onConfirm": () => this.controller.onDataRemove(this.index)
|
|
144
|
+
}, {
|
|
145
|
+
reference: () => {
|
|
146
|
+
return createVNode(resolveComponent("el-button"), {
|
|
147
|
+
"type": "danger",
|
|
148
|
+
"class": this.ns.b("remove-btn")
|
|
149
|
+
}, {
|
|
150
|
+
default: () => [createTextVNode("\u5220\u9664")]
|
|
151
|
+
});
|
|
152
|
+
}
|
|
153
|
+
})])]);
|
|
154
|
+
}
|
|
155
|
+
});
|
|
156
|
+
|
|
157
|
+
export { FormMDCtrlRepeaterFormShell };
|
|
@@ -1,5 +1,4 @@
|
|
|
1
|
-
import { PropType
|
|
2
|
-
import { IDEFormDetail } from '@ibiz/model-core';
|
|
1
|
+
import { PropType } from 'vue';
|
|
3
2
|
import { FormMDCtrlRepeaterFormController } from '@ibiz-template/runtime';
|
|
4
3
|
export declare const FormMDCtrlRepeaterForm: import("vue").DefineComponent<{
|
|
5
4
|
controller: {
|
|
@@ -9,7 +8,6 @@ export declare const FormMDCtrlRepeaterForm: import("vue").DefineComponent<{
|
|
|
9
8
|
}, {
|
|
10
9
|
ns: import("@ibiz-template/core").Namespace;
|
|
11
10
|
c: FormMDCtrlRepeaterFormController;
|
|
12
|
-
renderByDetailType: (detail: IDEFormDetail, item: IData, index: number) => VNode | VNode[] | undefined;
|
|
13
11
|
}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
|
|
14
12
|
controller: {
|
|
15
13
|
type: PropType<FormMDCtrlRepeaterFormController>;
|