cnhis-design-vue 3.1.47 → 3.1.48-beta.1
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/README.md +87 -87
- package/es/components/fabric-chart/src/hooks/surgicalAnesthesia/useCenter.js +1 -1
- package/es/components/iho-table/src/plugins/index.js +1 -1
- package/es/components/iho-table/src/plugins/rendererPlugins/editableWidgets/separateRendererPlugin/index.js +1 -1
- package/es/components/iho-table/src/plugins/tooltipPlugin.d.ts +1 -0
- package/es/components/iho-table/src/plugins/tooltipPlugin.js +1 -0
- package/es/components/index.css +1 -1
- package/es/components/scale-view/index.d.ts +68 -18
- package/es/components/scale-view/src/ScaleView.vue.d.ts +68 -18
- package/es/components/scale-view/src/ScaleView.vue2.js +1 -1
- package/es/components/scale-view/src/components/EvaluateCountdown.vue.d.ts +53 -0
- package/es/components/scale-view/src/components/EvaluateCountdown.vue2.js +1 -1
- package/es/components/scale-view/src/components/EvaluatePage.vue.d.ts +1 -1
- package/es/components/scale-view/src/components/formitem/r-checkbox.js +1 -1
- package/es/components/scale-view/src/components/formitem/r-datetime.js +1 -1
- package/es/components/scale-view/src/components/formitem/r-radio.js +1 -1
- package/es/components/scale-view/src/hooks/scaleview-computed.d.ts +5 -0
- package/es/components/scale-view/src/hooks/scaleview-computed.js +1 -1
- package/es/components/scale-view/src/hooks/scaleview-init.js +1 -1
- package/es/components/scale-view/src/hooks/scaleview-methods.d.ts +8 -0
- package/es/components/scale-view/src/hooks/scaleview-methods.js +1 -0
- package/es/components/scale-view/src/hooks/scaleview-props.d.ts +102 -0
- package/es/components/scale-view/src/hooks/scaleview-props.js +1 -0
- package/es/components/scale-view/src/hooks/scaleview-state.d.ts +1 -0
- package/es/components/scale-view/src/hooks/scaleview-state.js +1 -1
- package/es/components/scale-view/src/hooks/scaleview-submit.d.ts +4 -0
- package/es/components/scale-view/src/hooks/scaleview-submit.js +1 -1
- package/es/components/scale-view/src/utils/judge-types.d.ts +8 -0
- package/es/components/scale-view/src/utils/judge-types.js +1 -1
- package/es/components/scale-view/style/index.css +1 -1
- package/es/components/select-label/src/LabelFormContent.vue2.js +1 -1
- package/es/components/select-person/src/SearchMultiple.vue.d.ts +6 -0
- package/es/components/table-export-field/src/components/ExportModal.vue.d.ts +0 -3
- package/es/components/table-filter/src/hooks/useAdvanced.js +1 -1
- package/es/env.d.ts +25 -25
- package/es/shared/assets/img/failure.png.js +1 -1
- package/es/shared/assets/img/no-permission.png.js +1 -1
- package/es/shared/assets/img/nodata.png.js +1 -1
- package/es/shared/assets/img/notfound.png.js +1 -1
- package/es/shared/assets/img/qr.png.js +1 -1
- package/es/shared/assets/img/success.png.js +1 -1
- package/es/shared/assets/img/video.png.js +1 -1
- package/es/shared/assets/img/video_default_cover.png.js +1 -1
- package/es/shared/assets/img/xb_big.png.js +1 -1
- package/es/shared/assets/img/xb_small.png.js +1 -1
- package/es/shared/hooks/useDateTime.js +1 -1
- package/es/shared/package.json.js +1 -1
- package/package.json +2 -2
- package/es/components/bpmn-workflow/src/BpmnWorkflow.d.ts +0 -0
- package/es/components/bpmn-workflow/types/BpmnViewer.d.ts +0 -1
- package/es/components/bpmn-workflow/types/ModelingModule.d.ts +0 -1
- package/es/components/bpmn-workflow/types/MoveCanvasModule.d.ts +0 -1
- package/es/shared/components/VueDraggable/src/vuedraggable.d.ts +0 -86
- package/es/shared/utils/fabricjs/index.d.ts +0 -6823
- package/es/shared/utils/tapable/index.d.ts +0 -139
- package/es/shared/utils/tapableLess.d.ts +0 -28
- package/es/shared/utils/tapableLess.js +0 -1
package/README.md
CHANGED
|
@@ -1,87 +1,87 @@
|
|
|
1
|
-
# 安装
|
|
2
|
-
|
|
3
|
-
```shell
|
|
4
|
-
npm i cnhis-design-vue@[版本号]
|
|
5
|
-
# or
|
|
6
|
-
yarn add cnhis-design-vue@[版本号] #推荐
|
|
7
|
-
```
|
|
8
|
-
|
|
9
|
-
## 1.全局引入
|
|
10
|
-
|
|
11
|
-
```typescript
|
|
12
|
-
// main.ts
|
|
13
|
-
import { createApp } from 'vue';
|
|
14
|
-
import App from './App.vue';
|
|
15
|
-
import 'cnhis-design-vue/es/packages/index.css';
|
|
16
|
-
import cui from 'cnhis-design-vue';
|
|
17
|
-
|
|
18
|
-
const app = createApp(App);
|
|
19
|
-
app.use(cui).mount('#app');
|
|
20
|
-
```
|
|
21
|
-
|
|
22
|
-
## 2. 按需引入
|
|
23
|
-
|
|
24
|
-
组件现在支持了自动按需引入, 但是样式文件需要额外的处理
|
|
25
|
-
|
|
26
|
-
### 2.1 样式处理方式1 (按需引入样式)
|
|
27
|
-
|
|
28
|
-
```shell
|
|
29
|
-
# 安装自动导入样式的插件
|
|
30
|
-
npm i -d vite-plugin-style-import
|
|
31
|
-
```
|
|
32
|
-
|
|
33
|
-
```typescript
|
|
34
|
-
// vite.config.ts
|
|
35
|
-
import { defineConfig } from 'vite';
|
|
36
|
-
import { createStyleImportPlugin } from 'vite-plugin-style-import';
|
|
37
|
-
|
|
38
|
-
export default defineConfig({
|
|
39
|
-
plugins: [
|
|
40
|
-
// ...otherPlugins
|
|
41
|
-
createStyleImportPlugin({
|
|
42
|
-
libs: [
|
|
43
|
-
{
|
|
44
|
-
libraryName: 'cnhis-design-vue',
|
|
45
|
-
esModule: true,
|
|
46
|
-
ensureStyleFile: true,
|
|
47
|
-
resolveStyle: name => {
|
|
48
|
-
return `cnhis-design-vue/es/components/${ name.slice(2) }/style/index.css`;
|
|
49
|
-
}
|
|
50
|
-
}
|
|
51
|
-
]
|
|
52
|
-
})
|
|
53
|
-
]
|
|
54
|
-
});
|
|
55
|
-
```
|
|
56
|
-
|
|
57
|
-
### 2.2 样式处理方式2 (全局引入样式)
|
|
58
|
-
|
|
59
|
-
```typescript
|
|
60
|
-
// main.ts
|
|
61
|
-
import 'cnhis-design-vue/es/components/index.css';
|
|
62
|
-
```
|
|
63
|
-
|
|
64
|
-
## 3.FAQ
|
|
65
|
-
|
|
66
|
-
### 3.1 项目打包后样式丢失
|
|
67
|
-
|
|
68
|
-
处理方法, 将 cnhis-design-vue 从 vendor 包中移除 (没有出现此问题则不需要)
|
|
69
|
-
|
|
70
|
-
```typescript
|
|
71
|
-
// vite.config.ts
|
|
72
|
-
import { defineConfig } from 'vite';
|
|
73
|
-
|
|
74
|
-
export default defineConfig({
|
|
75
|
-
build: {
|
|
76
|
-
rollupOptions: {
|
|
77
|
-
// ..otherOptions
|
|
78
|
-
output: {
|
|
79
|
-
dir: './dist',
|
|
80
|
-
manualChunks: {
|
|
81
|
-
'cnhis-vendor': ['cnhis-design-vue']
|
|
82
|
-
}
|
|
83
|
-
}
|
|
84
|
-
}
|
|
85
|
-
}
|
|
86
|
-
});
|
|
87
|
-
```
|
|
1
|
+
# 安装
|
|
2
|
+
|
|
3
|
+
```shell
|
|
4
|
+
npm i cnhis-design-vue@[版本号]
|
|
5
|
+
# or
|
|
6
|
+
yarn add cnhis-design-vue@[版本号] #推荐
|
|
7
|
+
```
|
|
8
|
+
|
|
9
|
+
## 1.全局引入
|
|
10
|
+
|
|
11
|
+
```typescript
|
|
12
|
+
// main.ts
|
|
13
|
+
import { createApp } from 'vue';
|
|
14
|
+
import App from './App.vue';
|
|
15
|
+
import 'cnhis-design-vue/es/packages/index.css';
|
|
16
|
+
import cui from 'cnhis-design-vue';
|
|
17
|
+
|
|
18
|
+
const app = createApp(App);
|
|
19
|
+
app.use(cui).mount('#app');
|
|
20
|
+
```
|
|
21
|
+
|
|
22
|
+
## 2. 按需引入
|
|
23
|
+
|
|
24
|
+
组件现在支持了自动按需引入, 但是样式文件需要额外的处理
|
|
25
|
+
|
|
26
|
+
### 2.1 样式处理方式1 (按需引入样式)
|
|
27
|
+
|
|
28
|
+
```shell
|
|
29
|
+
# 安装自动导入样式的插件
|
|
30
|
+
npm i -d vite-plugin-style-import
|
|
31
|
+
```
|
|
32
|
+
|
|
33
|
+
```typescript
|
|
34
|
+
// vite.config.ts
|
|
35
|
+
import { defineConfig } from 'vite';
|
|
36
|
+
import { createStyleImportPlugin } from 'vite-plugin-style-import';
|
|
37
|
+
|
|
38
|
+
export default defineConfig({
|
|
39
|
+
plugins: [
|
|
40
|
+
// ...otherPlugins
|
|
41
|
+
createStyleImportPlugin({
|
|
42
|
+
libs: [
|
|
43
|
+
{
|
|
44
|
+
libraryName: 'cnhis-design-vue',
|
|
45
|
+
esModule: true,
|
|
46
|
+
ensureStyleFile: true,
|
|
47
|
+
resolveStyle: name => {
|
|
48
|
+
return `cnhis-design-vue/es/components/${ name.slice(2) }/style/index.css`;
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
]
|
|
52
|
+
})
|
|
53
|
+
]
|
|
54
|
+
});
|
|
55
|
+
```
|
|
56
|
+
|
|
57
|
+
### 2.2 样式处理方式2 (全局引入样式)
|
|
58
|
+
|
|
59
|
+
```typescript
|
|
60
|
+
// main.ts
|
|
61
|
+
import 'cnhis-design-vue/es/components/index.css';
|
|
62
|
+
```
|
|
63
|
+
|
|
64
|
+
## 3.FAQ
|
|
65
|
+
|
|
66
|
+
### 3.1 项目打包后样式丢失
|
|
67
|
+
|
|
68
|
+
处理方法, 将 cnhis-design-vue 从 vendor 包中移除 (没有出现此问题则不需要)
|
|
69
|
+
|
|
70
|
+
```typescript
|
|
71
|
+
// vite.config.ts
|
|
72
|
+
import { defineConfig } from 'vite';
|
|
73
|
+
|
|
74
|
+
export default defineConfig({
|
|
75
|
+
build: {
|
|
76
|
+
rollupOptions: {
|
|
77
|
+
// ..otherOptions
|
|
78
|
+
output: {
|
|
79
|
+
dir: './dist',
|
|
80
|
+
manualChunks: {
|
|
81
|
+
'cnhis-vendor': ['cnhis-design-vue']
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
});
|
|
87
|
+
```
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{drawLine as
|
|
1
|
+
import{drawLine as e,drawPoint as t}from"../useDraw.js";import{useGrid as n}from"../useGrid.js";import{useBirthProcessCumputedPoint as o}from"../useCumputedPoint.js";import"@vueuse/core";import"../../../../../shared/utils/fabricjs/index.js";import"vue";import{getIndex as i,isEffectiveNode as l,getTime as r}from"../../utils/index.js";import{cloneDeep as s}from"lodash-es";import"date-fns";import"../temperature/useShadow.js";function a(a,f,u,p,c){const{cumputedX:d,cumputedY:v,getXValue:m,getYValue:h}=o(f),{xCellWidth:g,yCellHeight:L,originX:y,endX:x,originY:k,endY:P,event:A,scaleValues:b,xAxis:j,startTime:w,timeXCell:C}=f,X=new Set,E=new Set,Y=s(b);let M=[];function S(n,o,i){var l;const{type:r,unit:s,dataList:c=[]}=i,d=[],v=[];null==(l=n.list)||l.forEach(((l,c)=>{!function(n,l,c,L){let b,j;const{pointAttr:w={},lineAttr:Y={},title:S="",key:O,type:D="circle"}=L,I=z(L.list[c+1],i);n&&I&&!l.breakpoint&&n[0]!==I[0]&&(j=e([...n,...I],Y));const J=v[c-1],N={origin:{data:l,title:S,key:O||"",unit:s,type:r,dataIndex:o,index:c,lineAttr:Y},leftLine:J,rightLine:j,...w,...f.event.hovered?f.event.evented?{selectable:!0}:{selectable:!0,lockMovementX:!0,lockMovementY:!0}:f.event};J?b=t(D,{left:J.get("x2"),top:J.get("y2"),...N}):n&&(N.leftLine=null,b=t(D,{left:n[0],top:n[1],...N}));v.push(j),b&&(b.originLeft=b.left,b.originTop=b.top,function(e){A.hovered&&(e.on("mouseover",(()=>{V(e,"hover")})),e.on("mouseout",(()=>{p.show=!1})));if(e.lockMovementX&&e.lockMovementY)return;e.on("moving",(()=>{!function(e){e.setCoords();const t=6e4/C,n=e.prevPoint?e.prevPoint.left+t:y,o=e.nextPoint?e.nextPoint.left-t:x;e.top<k&&e.set("top",k),e.top>P&&e.set("top",P),e.left<n&&e.set("left",n),e.left>o&&e.set("left",o)}(e),function(e){var t,n;null==(t=e.leftLine)||t.setCoords().set({x2:e.left,y2:e.top}),null==(n=e.rightLine)||n.setCoords().set({x1:e.left,y1:e.top})}(e),A.hovered&&V(e),function(e){const{originLeft:t,originTop:n,left:o,top:i,origin:l}=e,r=~~((o-t)/g);if(o>t+g&&!e.nextPoint){if(0===M.length){$(e,[...e.leftLine?[e.leftLine.x1,e.leftLine.y1]:[t,n],t,n]),e.leftLine&&e.leftLine.set({stroke:"transparent"})}const o=t+g*r;if(M.every((e=>e.left!==o))){const t=m(o),n=h(l.type,i);M.push({data:{time:t,value:n},left:o,top:i}),$(e,[...e.prevPointer,o,i])}M.length<r&&function(e,t){const{originLeft:n,originTop:o,origin:i}=e;let l=1;for(;l<=t;){const t=n+g*l,r=M.some((e=>Math.abs(e.left-t)<=1));if(!r){let l=0;const r=M.find(((e,n)=>(e.left>t&&(l=n),e.left>t)));if(r){const s=JSON.parse(JSON.stringify(r)),a=M[l-1]||{left:n,top:o},f=~~((r.left-(t-g))/g),u=(r.top-a.top)/f;s.top=a.top+u,s.left=t,s.data={time:m(t),value:h(i.type,s.top)},M.splice(l,0,s),$(e,[a.left,a.top,s.left,s.top])}}l++}}(e,r)}if(M.length>0&&o<M[M.length-1].left){for(const e of E)e.left>o&&(e.leftLine&&a.value.remove(e.leftLine),a.value.remove(e));if(M=M.filter((e=>e.left<=o)),0===M.length){e.leftLine&&e.leftLine.set(e.origin.lineAttr);for(const e of E)e.leftLine&&a.value.remove(e.leftLine),a.value.remove(e)}if(M.length>0){const t=M.at(-1);e.prevPointer=[t.left,t.top]}}}(e)})),e.on("mouseup",(t=>{if(p.show=!1,1===t.button){const{key:t,type:n}=e.origin,o={...e.origin,data:{...e.origin.data,time:m(e.left),value:h(n,e.top)}};a.value.discardActiveObject(),M.length>0?(o.data=M.map((e=>e.data)),u("add",o),T(o,"add")):(u("change",o),T(o,"change"))}}))}(b),d.push(b),X.add(b))}(z(l,i),l,c,n)})),Promise.all(d).then((e=>{const t=v.filter((e=>e));let n=null;e=e.map((e=>(e&&n&&(n.nextPoint=e,e.prevPoint=n),n=e||n,e))),a.value.add(...t,...e)}))}function $(t,n){const[o,i,l,r]=n;t.clone((o=>{o.set({left:l,top:r}),t.prevPointer=[l,r];const i=e(n,t.origin.lineAttr);o.leftLine=i,E.add(o),a.value.add(i,o)}))}function T(e,t="add"){const{dataIndex:n,data:o,index:l,key:r,type:s}=e,f=Y.find((e=>e.type===s)).dataList.find((e=>e.key===r));switch(t){case"remove":f.list.splice(l,1);break;case"change":f.list[l]=o;break;default:{const e=Array.isArray(o)?o[0].time:o.time,t=i(e,f.list),n=Array.isArray(o)?o:[o];f.list.splice(t,0,...n);break}}var u,p;X.size&&(null==(u=a.value)||u.remove(...O([...X]))),E.size&&(null==(p=a.value)||p.remove(...O([...E]))),X.clear(),E.clear(),M=[],Y.forEach((e=>{e.dataList.forEach(((t,n)=>{S(t,n,e)}))}))}function O(e){const t=[];return e.forEach((e=>{e&&t.push(e),(null==e?void 0:e.leftLine)&&t.push(null==e?void 0:e.leftLine),(null==e?void 0:e.rightLine)&&t.push(null==e?void 0:e.rightLine)})),t}function V(e,t="moving"){const{title:n,type:o,data:i,unit:l}=e.origin;p.point={x:e.left,y:e.top};const r=`${"hover"===t?i.value:h(o,e.top)}`;p.list=[`${n} ${r}${l||""}`,`时间 ${m(e.left).slice(-5)}`],p.show=!0}function z(e,t){if(l(e)&&function(e){const t=Date.parse(j.list.at(-1)),n=r(e);return n>=w&&n<=t}(e.time)){const n=d(e.time),o=v(t.type,t.range,e.value);return[n,o<k?k:o>P?P:o]}}n(a,f),Y.forEach((e=>{e.dataList.forEach(((t,n)=>{S(t,n,e)}))}))}export{a as useCenter};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import*as e from"./anchorPlugin/index.js";import*as r from"./defaultConfigPlugin/index.js";import*as i from"./fieldConnectionPlugin/index.js";import*as n from"./filterDaterangeRenderPlugin/index.js";import*as s from"./filterRenderPlugin/index.js";import*as
|
|
1
|
+
import*as e from"./anchorPlugin/index.js";import*as r from"./defaultConfigPlugin/index.js";import*as i from"./fieldConnectionPlugin/index.js";import*as n from"./filterDaterangeRenderPlugin/index.js";import*as s from"./filterRenderPlugin/index.js";import*as t from"./highLightSetPlugin.js";import*as d from"./keyboardEventPlugin/index.js";import*as l from"./lowCodeFieldAdaptorPlugin/index.js";import*as g from"./maxCheckSizePlugin.js";import*as u from"./operationalFormPlugin/index.js";import*as o from"./rendererPlugins/editableWidgets/dateRendererPlugin/index.js";import*as P from"./rendererPlugins/editableWidgets/inputRendererPlugin.js";import*as a from"./rendererPlugins/editableWidgets/numberRendererPlugin.js";import*as m from"./rendererPlugins/editableWidgets/selectRendererPlugin/index.js";import*as x from"./rendererPlugins/editableWidgets/separateRendererPlugin/index.js";import*as p from"./rendererPlugins/editableWidgets/timeRendererPlugin/index.js";import*as f from"./rendererPlugins/widgets/checkRendererPlugin.js";import*as j from"./rendererPlugins/widgets/colorRendererPlugin.js";import*as R from"./rendererPlugins/widgets/defaultRendererPlugin.js";import*as w from"./rendererPlugins/widgets/htmlRendererPlugin.js";import*as b from"./rendererPlugins/widgets/labelRendererPlugin.js";import*as c from"./rendererPlugins/widgets/pictureRendererPlugin.js";import*as h from"./rendererPlugins/widgets/seqRendererPlugin.js";import*as W from"./rowClickPlugin/index.js";import*as C from"./rowDragPlugin/index.js";import*as k from"./rowGroupSettingPlugin/index.js";import*as v from"./tooltipPlugin.js";import*as S from"./varialbleHeightPlugin/index.js";import*as D from"./virtualTreePlugin/index.js";import{separateMetaModule as F}from"../../../../shared/utils/index.js";var q=F(Object.assign({"./anchorPlugin/index.tsx":e,"./defaultConfigPlugin/index.ts":r,"./fieldConnectionPlugin/index.ts":i,"./filterDaterangeRenderPlugin/index.tsx":n,"./filterRenderPlugin/index.tsx":s,"./highLightSetPlugin.tsx":t,"./keyboardEventPlugin/index.ts":d,"./lowCodeFieldAdaptorPlugin/index.tsx":l,"./maxCheckSizePlugin.ts":g,"./operationalFormPlugin/index.ts":u,"./rendererPlugins/editableWidgets/dateRendererPlugin/index.tsx":o,"./rendererPlugins/editableWidgets/inputRendererPlugin.tsx":P,"./rendererPlugins/editableWidgets/numberRendererPlugin.tsx":a,"./rendererPlugins/editableWidgets/selectRendererPlugin/index.tsx":m,"./rendererPlugins/editableWidgets/separateRendererPlugin/index.tsx":x,"./rendererPlugins/editableWidgets/timeRendererPlugin/index.tsx":p,"./rendererPlugins/widgets/checkRendererPlugin.tsx":f,"./rendererPlugins/widgets/colorRendererPlugin.tsx":j,"./rendererPlugins/widgets/defaultRendererPlugin.tsx":R,"./rendererPlugins/widgets/htmlRendererPlugin.tsx":w,"./rendererPlugins/widgets/labelRendererPlugin.tsx":b,"./rendererPlugins/widgets/pictureRendererPlugin.tsx":c,"./rendererPlugins/widgets/seqRendererPlugin.tsx":h,"./rowClickPlugin/index.ts":W,"./rowDragPlugin/index.ts":C,"./rowGroupSettingPlugin/index.ts":k,"./tooltipPlugin.ts":v,"./varialbleHeightPlugin/index.tsx":S,"./virtualTreePlugin/index.ts":D}));export{q as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{reactive as e,inject as t,createVNode as o,toRaw as i,h as n,onBeforeUnmount as a}from"vue";import{traverse as r}from"../../../../../../../shared/utils/index.js";import{isFunction as s,isObject as d,range as l}from"lodash-es";import"../../../../../index.js";import{EDITABLE_WIDGET_TYPE as u,InjectionIhoTableUUID as c}from"../../../../constants/index.js";import{useAutoFocus as p}from"../hooks/useAutoFocus.js";import{createIhoTableClearActivedInterceptor as f,IhoTableRenderHelper as m,getRowHeight as v,getColumnRenderWidth as h,parseMergeField as A}from"../../../../utils/index.js";import{contentSeparate as E,getColumnInfoMaxLength as g,generateSeparateRowData as k,isSeparateColumn as _}from"./separateUtils.js";import b from"./editSeparate.vue.js";import{defineTablePlugin as x}from"../../../../hooks/useTablePlugin.js";function w(){const w="separateRendererPlugins",T=e(new Map);function P(e,t){var o;return null==(o=T.get(e))?void 0:o.get(t)}function R(e,t,o){const i=T.get(e)||new WeakMap;T.set(e,i),i.set(t,o)}const S=e(new Map);return x({name:w,vxe(e){e.interceptor.add("event.clearActived",f(u.SEPARATE,(e=>e.classList.contains("v-binder-follower-content")))),e.renderer.add(u.SEPARATE,{renderCell(e,{column:i,row:n}){const a=(P(t(c),n)||{separateData:{}}).separateData[i.field];return o("section",{class:"iho-table__ellipsis",title:a},[a])},renderEdit:m.createRenderEdit((({fieldItem:e,column:a,row:r,emitFormClick:l})=>{var u,p,f;const m=P(t(c),r),h=v(),A={};let E=null!=(p=null==(u=e.componentProps)?void 0:u.separateSlot)?p:e.separateSlot;return E&&(E=i(E),A.menu=s(E)?E:d(E)?e=>n(E,e):void 0),[o(b,{value:r[a.field],"onUpdate:value":e=>r[a.field]=e,"row-index":null==m?void 0:m.index,height:h,column:a,row:r,"display-content":null==(f=null==m?void 0:m.separateData)?void 0:f[a.field],onClick:l},A)]}))})},apply(e){function t(e){return(...t)=>{var o;return!(null==(o=t[0].row)?void 0:o.$__SEPARATE)&&(!s(e)||e(...t))}}p(e).bindAutoFocusConfig(w,u.SEPARATE,".iho-table__separateText"),e.fieldHooks.fieldList.tap(w,((e,{uuid:t})=>(t&&S.set(t,e.reduce(((e,t)=>(r(t,(t=>{_(t)&&e.push(i(t)),t.showOverflow="ellipsis"})),e)),[])),e))),e.dataHooks.data.tapPromise(w,(async(e,t,{insertAfter:o,index:i,$table:n})=>{if(!t.uuid)return;const a=S.get(t.uuid);if(!a||!a.length)return;const r=[];for(const t of a){if(!t.field)continue;const o=await h(t,n);r.push({field:t.field,data:E(A(e,t),t,o)})}l(g(r)).forEach(((n,a)=>{const s=k(r,a);if(0===a)return R(t.uuid,e,{index:i,separateData:s}),void(e.$__SEPARATE_DATA=[s]);const d={$__SEPARATE:!0};R(t.uuid,d,{index:i,separateData:s}),e.$__SEPARATE_DATA.push(s),o(d)}))})),e.eventHooks.onResizableChange.tap(w,(async({column:e},t,o)=>{_(e)&&o.updateTableDataRef()})),e.configHooks.editConfig.tap(w,((e={},o)=>(e.beforeEditMethod=t(e.beforeEditMethod),e))),e.configHooks.checkboxConfig.tap(w,((e={},o)=>(e.checkMethod=t(e.checkMethod),e.visibleMethod=t(e.visibleMethod),e))),e.setupHooks.setup.tap(w,(e=>{a((()=>{e.value.uuid&&(T.delete(e.value.uuid),S.delete(e.value.uuid))}))}))}})}export{w as separateRendererPlugins};
|
|
1
|
+
import{reactive as e,inject as t,createVNode as o,toRaw as i,h as n,onBeforeUnmount as a}from"vue";import{traverse as r}from"../../../../../../../shared/utils/index.js";import{isFunction as s,isObject as d,range as l}from"lodash-es";import"../../../../../index.js";import{EDITABLE_WIDGET_TYPE as u,InjectionIhoTableUUID as c}from"../../../../constants/index.js";import{useAutoFocus as p}from"../hooks/useAutoFocus.js";import{createIhoTableClearActivedInterceptor as f,IhoTableRenderHelper as m,getRowHeight as v,getColumnRenderWidth as h,parseMergeField as A}from"../../../../utils/index.js";import{contentSeparate as E,getColumnInfoMaxLength as g,generateSeparateRowData as k,isSeparateColumn as _}from"./separateUtils.js";import b from"./editSeparate.vue.js";import{defineTablePlugin as x}from"../../../../hooks/useTablePlugin.js";function w(){const w="separateRendererPlugins",T=e(new Map);function P(e,t){var o;return null==(o=T.get(e))?void 0:o.get(t)}function R(e,t,o){const i=T.get(e)||new WeakMap;T.set(e,i),i.set(t,o)}const S=e(new Map);return x({name:w,vxe(e){e.interceptor.add("event.clearActived",f(u.SEPARATE,(e=>e.classList.contains("v-binder-follower-content")))),e.renderer.add(u.SEPARATE,{renderCell(e,{column:i,row:n}){const a=(P(t(c),n)||{separateData:{}}).separateData[i.field];return o("section",{class:"iho-table__ellipsis",title:a},[a])},renderEdit:m.createRenderEdit((({fieldItem:e,column:a,row:r,emitFormClick:l})=>{var u,p,f;const m=P(t(c),r),h=v(),A={};let E=null!=(p=null==(u=e.componentProps)?void 0:u.separateSlot)?p:e.separateSlot;return E&&(E=i(E),A.menu=s(E)?E:d(E)?e=>n(E,e):void 0),[o(b,{value:r[a.field],"onUpdate:value":e=>r[a.field]=e,"row-index":null==m?void 0:m.index,height:h,column:a,row:r,"display-content":null==(f=null==m?void 0:m.separateData)?void 0:f[a.field],onClick:l},A)]}))})},apply(e){function t(e){return(...t)=>{var o;return!(null==(o=t[0].row)?void 0:o.$__SEPARATE)&&(!s(e)||e(...t))}}p(e).bindAutoFocusConfig(w,u.SEPARATE,".iho-table__separateText"),e.fieldHooks.fieldList.tap(w,((e,{uuid:t})=>(t&&S.set(t,e.reduce(((e,t)=>(r(t,(t=>{_(t)&&(e.push(i(t)),t.showOverflow="ellipsis")})),e)),[])),e))),e.dataHooks.data.tapPromise(w,(async(e,t,{insertAfter:o,index:i,$table:n})=>{if(!t.uuid)return;const a=S.get(t.uuid);if(!a||!a.length)return;const r=[];for(const t of a){if(!t.field)continue;const o=await h(t,n);r.push({field:t.field,data:E(A(e,t),t,o)})}l(g(r)).forEach(((n,a)=>{const s=k(r,a);if(0===a)return R(t.uuid,e,{index:i,separateData:s}),void(e.$__SEPARATE_DATA=[s]);const d={$__SEPARATE:!0};R(t.uuid,d,{index:i,separateData:s}),e.$__SEPARATE_DATA.push(s),o(d)}))})),e.eventHooks.onResizableChange.tap(w,(async({column:e},t,o)=>{_(e)&&o.updateTableDataRef()})),e.configHooks.editConfig.tap(w,((e={},o)=>(e.beforeEditMethod=t(e.beforeEditMethod),e))),e.configHooks.checkboxConfig.tap(w,((e={},o)=>(e.checkMethod=t(e.checkMethod),e.visibleMethod=t(e.visibleMethod),e))),e.setupHooks.setup.tap(w,(e=>{a((()=>{e.value.uuid&&(T.delete(e.value.uuid),S.delete(e.value.uuid))}))}))}})}export{w as separateRendererPlugins};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare function tooltipPlugin(): import("../../../../../es/components/iho-table").TablePlugin;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import"../../index.js";import{IhoTableUtils as o,parseMergeField as e,isRichContent as t,parseRichContent as l}from"../utils/index.js";import{WIDGET_TYPE as r}from"../constants/index.js";import{isObject as i}from"@vue/shared";import{isArray as n}from"lodash-es";import{jsonParse as s}from"../../../../shared/utils/index.js";import{defineTablePlugin as p}from"../hooks/useTablePlugin.js";function a(){const a="tooltipPlugin";return p({name:a,apply(p){p.fieldHooks.field.tap(a,((p,a,d,u)=>{var f,m;const c=null==(f=p.editRender)?void 0:f.props;if(!i(c))return p;const h=o.getCellType(c);return(null==(m=d.tooltipConfig)?void 0:m.showAll)&&(h!==r.LABEL&&h!==r.DEFAULT||(p.showOverflow="tooltip")),h!==r.PICTURE&&h!==r.HEADPORTRAIT&&h!==r.HTML||(p.showOverflow="ellipsis"),d.tooltipConfig={contentMethod:i=>{var p;const{column:a,row:d}=i,u=null==(p=a.editRender)?void 0:p.props;switch(o.getCellType(u)){case r.LABEL:{const o=s(d[a.field]);return n(o.labels)?o.labels.map((o=>o.labelName)).join(","):o.labelStr}case r.DEFAULT:{const o=e(d,a);if(t(o)){return l(o).change_text}return o}case r.HTML:return""}},...d.tooltipConfig},p}))}})}export{a as tooltipPlugin};
|