@ibiz-template/vue3-components 0.7.29 → 0.7.30-alpha.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.
Files changed (57) hide show
  1. package/dist/chart-x3_XMfQ1.js +1 -0
  2. package/dist/{index-HNRMy1_g.js → index-Nw4GzACH.js} +1 -1
  3. package/dist/index-iSl5TkW2.js +4 -0
  4. package/dist/{index-xa8K5AHD.js → index-qjfHTzTv.js} +1 -1
  5. package/dist/index.min.css +1 -1
  6. package/dist/index.system.min.js +1 -1
  7. package/dist/{xlsx-util-bhQVAaEM.js → xlsx-util-BqA1Y8VI.js} +1 -1
  8. package/es/common/fullscreen-toolbar/fullscreen-toolbar.mjs +8 -0
  9. package/es/control/calendar/calendar.mjs +1 -1
  10. package/es/control/calendar/components/calendar-daily/calendar-daily.mjs +1 -1
  11. package/es/control/calendar/components/calendar-week/calendar-week.mjs +1 -1
  12. package/es/control/calendar/components/custom-calendar/custom-calendar.mjs +1 -1
  13. package/es/control/chart/chart.css +1 -1
  14. package/es/control/chart/chart.d.ts +8 -2
  15. package/es/control/chart/chart.mjs +79 -3
  16. package/es/control/drtab/drtab.mjs +1 -1
  17. package/es/control/form/form-detail/form-item/form-item.mjs +2 -1
  18. package/es/control/form/form-detail/form-mdctrl/form-mdctrl-repeater/repeater-grid/repeater-grid.d.ts +1 -0
  19. package/es/control/grid/grid/grid-control.util.d.ts +1 -0
  20. package/es/control/grid/grid/grid-control.util.mjs +14 -1
  21. package/es/control/grid/grid/grid.d.ts +1 -0
  22. package/es/control/grid/grid/grid.mjs +5 -2
  23. package/es/control/grid/grid/index.d.ts +1 -0
  24. package/es/control/grid/grid-column/grid-field-column/grid-field-column.d.ts +3 -2
  25. package/es/control/grid/grid-column/grid-field-column/grid-field-column.mjs +11 -7
  26. package/es/control/grid/grid-column/grid-field-column/index.d.ts +1 -1
  27. package/es/control/toolbar/toolbar.mjs +1 -1
  28. package/es/editor/data-picker/ibiz-mpicker/ibiz-mpicker.css +1 -1
  29. package/es/editor/data-picker/ibiz-mpicker/ibiz-mpicker.mjs +5 -5
  30. package/es/locale/en/index.d.ts +1 -0
  31. package/es/locale/en/index.mjs +2 -1
  32. package/es/locale/zh-CN/index.d.ts +1 -0
  33. package/es/locale/zh-CN/index.mjs +2 -1
  34. package/es/panel-component/auth-captcha/auth-captcha.mjs +1 -1
  35. package/es/panel-component/panel-button/panel-button.mjs +1 -1
  36. package/lib/common/fullscreen-toolbar/fullscreen-toolbar.cjs +8 -0
  37. package/lib/control/calendar/calendar.cjs +1 -1
  38. package/lib/control/calendar/components/calendar-daily/calendar-daily.cjs +1 -1
  39. package/lib/control/calendar/components/calendar-week/calendar-week.cjs +1 -1
  40. package/lib/control/calendar/components/custom-calendar/custom-calendar.cjs +1 -1
  41. package/lib/control/chart/chart.cjs +78 -2
  42. package/lib/control/chart/chart.css +1 -1
  43. package/lib/control/drtab/drtab.cjs +1 -1
  44. package/lib/control/form/form-detail/form-item/form-item.cjs +2 -1
  45. package/lib/control/grid/grid/grid-control.util.cjs +14 -1
  46. package/lib/control/grid/grid/grid.cjs +5 -2
  47. package/lib/control/grid/grid-column/grid-field-column/grid-field-column.cjs +10 -6
  48. package/lib/control/toolbar/toolbar.cjs +1 -1
  49. package/lib/editor/data-picker/ibiz-mpicker/ibiz-mpicker.cjs +5 -5
  50. package/lib/editor/data-picker/ibiz-mpicker/ibiz-mpicker.css +1 -1
  51. package/lib/locale/en/index.cjs +2 -1
  52. package/lib/locale/zh-CN/index.cjs +2 -1
  53. package/lib/panel-component/auth-captcha/auth-captcha.cjs +1 -1
  54. package/lib/panel-component/panel-button/panel-button.cjs +1 -1
  55. package/package.json +6 -6
  56. package/dist/chart-4KHwhatb.js +0 -1
  57. package/dist/index-dIj05Kls.js +0 -4
@@ -135,6 +135,14 @@ const IBizFullscreenToolbar = /* @__PURE__ */ defineComponent({
135
135
  mouseX.value = event.clientX;
136
136
  mouseY.value = event.clientY;
137
137
  });
138
+ document.addEventListener("mousemove", (event) => {
139
+ if (!isLaserEnabled.value) {
140
+ mouseX.value = event.clientX;
141
+ mouseY.value = event.clientY;
142
+ lastX = event.clientX;
143
+ lastY = event.clientY;
144
+ }
145
+ });
138
146
  ctx.value.clearRect(0, 0, laserPointerCanvas.value.width, laserPointerCanvas.value.height);
139
147
  ctx.value.fillStyle = "lightgray";
140
148
  ctx.value.fillRect(0, 0, laserPointerCanvas.value.width, laserPointerCanvas.value.height);
@@ -2,9 +2,9 @@ import { isVNode, ref, watch, resolveComponent, createVNode, defineComponent } f
2
2
  import { useControlController, useNamespace } from '@ibiz-template/vue3-util';
3
3
  import { CalendarController } from '@ibiz-template/runtime';
4
4
  import dayjs from 'dayjs';
5
+ import { showTitle } from '@ibiz-template/core';
5
6
  import { IBizCustomCalendar } from './components/custom-calendar/index.mjs';
6
7
  import './calendar.css';
7
- import { showTitle } from '@ibiz-template/core';
8
8
 
9
9
  "use strict";
10
10
  function _isSlot(s) {
@@ -1,10 +1,10 @@
1
1
  import { watch, onMounted, onUnmounted, createVNode, defineComponent } from 'vue';
2
2
  import { useNamespace } from '@ibiz-template/vue3-util';
3
+ import { showTitle } from '@ibiz-template/core';
3
4
  import '../interface/index.mjs';
4
5
  import '../util/index.mjs';
5
6
  import { useCalendarDaily } from './use-calendar-daily.mjs';
6
7
  import './calendar-daily.css';
7
- import { showTitle } from '@ibiz-template/core';
8
8
  import { calendarDailyProps, calendarDailyEmits } from '../interface/calendar-daily.mjs';
9
9
  import { isToday } from '../util/util.mjs';
10
10
 
@@ -1,10 +1,10 @@
1
1
  import { ref, watch, onMounted, onUnmounted, createVNode, resolveComponent, defineComponent } from 'vue';
2
2
  import { useNamespace } from '@ibiz-template/vue3-util';
3
+ import { showTitle } from '@ibiz-template/core';
3
4
  import '../interface/index.mjs';
4
5
  import { useCalendarWeek } from './use-calendar-week.mjs';
5
6
  import './calendar-week.css';
6
7
  import '../util/index.mjs';
7
- import { showTitle } from '@ibiz-template/core';
8
8
  import { calendarWeekProps, calendarWeekEmits } from '../interface/calendar-week.mjs';
9
9
  import { handlePopClose, closeIcon } from '../util/util.mjs';
10
10
 
@@ -1,12 +1,12 @@
1
1
  import { onMounted, createVNode, resolveComponent, defineComponent } from 'vue';
2
2
  import dayjs from 'dayjs';
3
3
  import { useNamespace } from '@ibiz-template/vue3-util';
4
+ import { showTitle } from '@ibiz-template/core';
4
5
  import { IBizCalendarDaily } from '../calendar-daily/index.mjs';
5
6
  import { IBizCalendarWeek } from '../calendar-week/index.mjs';
6
7
  import { useCustomCalendar } from './use-custom-calendar.mjs';
7
8
  import './custom-calendar.css';
8
9
  import '../interface/index.mjs';
9
- import { showTitle } from '@ibiz-template/core';
10
10
  import { customCalendarProps, customCalendarEmits } from '../interface/custom-calendar.mjs';
11
11
 
12
12
  "use strict";
@@ -1 +1 @@
1
- .ibiz-control-chart{width:100%;height:100%}.ibiz-control-chart__chart-grid{width:100%;height:100%}.ibiz-control-chart__chart-grid.is-show-grid{display:flex;height:calc(100% - 16px)}.ibiz-control-chart__chart-grid--bottom{flex-direction:column}.ibiz-control-chart__chart-grid--top{flex-direction:column-reverse}.ibiz-control-chart__chart-grid--left{flex-direction:row-reverse}.ibiz-control-chart__chart-grid--right{flex-direction:row}.ibiz-control-chart__chart-grid.is-no-data{display:none}.ibiz-control-chart__chart-grid-container{flex:1;height:50%}.ibiz-control-chart__chart-grid-container.is-bottom{width:100%;height:50%;min-height:50%}.ibiz-control-chart__chart-grid-container.is-top{width:100%;height:50%;min-height:50%}.ibiz-control-chart__chart-grid-container.is-left{width:50%;min-width:50%;height:100%}.ibiz-control-chart__chart-grid-container.is-right{width:50%;min-width:50%;height:100%}.ibiz-control-chart__chart-grid-container.is-no-grid{flex:unset;width:100%;height:100%}.ibiz-control-chart__chart{width:100%;height:100%}.ibiz-control-chart__grid{flex:1;height:auto}.ibiz-control-chart__grid .cell{text-overflow:ellipsis;white-space:nowrap}.ibiz-control-chart__grid .el-table__body-wrapper{border-bottom:1px solid var(--ibiz-color-border)}.ibiz-control-chart__empty{display:none;height:100%}.ibiz-control-chart__empty.is-no-data{display:flex}.ibiz-control-chart-chart-container{width:100%;height:100%}
1
+ .ibiz-control-chart{width:100%;height:100%}.ibiz-control-chart__chart-grid{width:100%;height:100%}.ibiz-control-chart__chart-grid.is-show-grid{display:flex;height:calc(100% - 16px)}.ibiz-control-chart__chart-grid--bottom{flex-direction:column}.ibiz-control-chart__chart-grid--top{flex-direction:column-reverse}.ibiz-control-chart__chart-grid--left{flex-direction:row-reverse}.ibiz-control-chart__chart-grid--right{flex-direction:row}.ibiz-control-chart__chart-grid.is-no-data{display:none}.ibiz-control-chart__chart-grid-container{position:relative;flex:1;height:50%}.ibiz-control-chart__chart-grid-container.is-bottom{width:100%;height:50%;min-height:50%}.ibiz-control-chart__chart-grid-container.is-top{width:100%;height:50%;min-height:50%}.ibiz-control-chart__chart-grid-container.is-left{width:50%;min-width:50%;height:100%}.ibiz-control-chart__chart-grid-container.is-right{width:50%;min-width:50%;height:100%}.ibiz-control-chart__chart-grid-container.is-no-grid{flex:unset;width:100%;height:100%}.ibiz-control-chart__chart{width:100%;height:100%}.ibiz-control-chart__drill-down{position:absolute;top:0;left:0;width:150px;padding:var(--ibiz-spacing-tight) 0;background:var(--ibiz-color-bg-1);border:1px solid var(--ibiz-color-border);border-radius:var(--ibiz-border-radius-small);box-shadow:var(--ibiz-color-elevated)}.ibiz-control-chart__drill-down--item{display:flex;gap:var(--ibiz-spacing-tight);align-items:center;height:40px;padding:var(--ibiz-spacing-tight) var(--ibiz-spacing-base-loose);font-size:var(--ibiz-font-size-regular);cursor:pointer}.ibiz-control-chart__drill-down--item:hover{background-color:var(--ibiz-color-fill-1)}.ibiz-control-chart__drill-down--item-text{margin-bottom:var(--ibiz-spacing-super-tight)}.ibiz-control-chart__grid{flex:1;height:auto}.ibiz-control-chart__grid .cell{text-overflow:ellipsis;white-space:nowrap}.ibiz-control-chart__grid .el-table__body-wrapper{border-bottom:1px solid var(--ibiz-color-border)}.ibiz-control-chart__empty{display:none;height:100%}.ibiz-control-chart__empty.is-no-data{display:flex}.ibiz-control-chart-chart-container{width:100%;height:100%}
@@ -52,8 +52,12 @@ declare const ChartControl: import("vue").DefineComponent<{
52
52
  ns: import("@ibiz-template/core").Namespace;
53
53
  chartRef: import("vue").Ref<any>;
54
54
  uuid: string;
55
+ showCheck: import("vue").Ref<boolean>;
56
+ drillDownPos: import("vue").Ref<{}>;
57
+ drillDownRef: import("vue").Ref<any>;
58
+ openDrillDown: (_event: MouseEvent) => void;
55
59
  renderGrid: () => JSX.Element;
56
- }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
60
+ }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, "drillDown"[], "drillDown", import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
57
61
  modelData: {
58
62
  type: PropType<IDEChart>;
59
63
  required: true;
@@ -98,7 +102,9 @@ declare const ChartControl: import("vue").DefineComponent<{
98
102
  };
99
103
  required: false;
100
104
  };
101
- }>>, {
105
+ }>> & {
106
+ onDrillDown?: ((...args: any[]) => any) | undefined;
107
+ }, {
102
108
  params: IParams;
103
109
  mdctrlActiveMode: number;
104
110
  isSimple: boolean;
@@ -1,5 +1,5 @@
1
1
  import { isVNode, ref, watch, nextTick, onMounted, resolveComponent, createVNode, onBeforeUnmount, defineComponent } from 'vue';
2
- import { useControlController, useNamespace } from '@ibiz-template/vue3-util';
2
+ import { useControlController, useNamespace, useClickOutside } from '@ibiz-template/vue3-util';
3
3
  import { init } from 'echarts';
4
4
  import { createUUID } from 'qx-util';
5
5
  import { ChartController } from '@ibiz-template/runtime';
@@ -44,12 +44,20 @@ const ChartControl = /* @__PURE__ */ defineComponent({
44
44
  required: false
45
45
  }
46
46
  },
47
- setup(props) {
47
+ emits: ["drillDown"],
48
+ setup(props, {
49
+ emit
50
+ }) {
48
51
  const c = useControlController((...args) => new ChartController(...args));
49
52
  const ns = useNamespace("control-".concat(c.model.controlType.toLowerCase()));
50
53
  const chartRef = ref();
51
54
  const maxHeight = ref(0);
52
55
  const uuid = createUUID();
56
+ const showCheck = ref(false);
57
+ const drillDownPos = ref({});
58
+ const drillDownRef = ref();
59
+ let func;
60
+ let tempParams;
53
61
  const initSimpleData = () => {
54
62
  if (!props.data) {
55
63
  return;
@@ -85,8 +93,24 @@ const ChartControl = /* @__PURE__ */ defineComponent({
85
93
  const getGridData = () => {
86
94
  return c.state.gridData || [];
87
95
  };
96
+ const computedDrillDownPos = (params) => {
97
+ if (params.event) {
98
+ const event = params.event.event;
99
+ event.stopPropagation();
100
+ event.preventDefault();
101
+ const {
102
+ offsetX,
103
+ offsetY
104
+ } = params.event;
105
+ drillDownPos.value = {
106
+ top: "".concat(offsetY, "px"),
107
+ left: "".concat(offsetX + 16, "px")
108
+ };
109
+ }
110
+ };
88
111
  let resizeObserver;
89
112
  onMounted(() => {
113
+ var _a, _b;
90
114
  const chart = init(chartRef.value);
91
115
  c.initChart(chart);
92
116
  window.addEventListener("resize", setHeight);
@@ -97,7 +121,32 @@ const ChartControl = /* @__PURE__ */ defineComponent({
97
121
  resizeObserver.observe(chartRef.value);
98
122
  }
99
123
  setHeight();
124
+ if ((_b = (_a = props.modelData.controlParam) == null ? void 0 : _a.ctrlParams) == null ? void 0 : _b.ENABLEDRILLDOWN) {
125
+ chart.on("click", (params) => {
126
+ tempParams = params;
127
+ chart.dispatchAction({
128
+ type: "hideTip"
129
+ });
130
+ showCheck.value = true;
131
+ c.changeTooltipState(false);
132
+ func = useClickOutside(drillDownRef, () => {
133
+ showCheck.value = false;
134
+ c.changeTooltipState(true);
135
+ func.stop();
136
+ });
137
+ computedDrillDownPos(params);
138
+ });
139
+ }
100
140
  });
141
+ const openDrillDown = (_event) => {
142
+ showCheck.value = false;
143
+ if (func) {
144
+ func.stop();
145
+ }
146
+ c.changeTooltipState(true);
147
+ const param = c.computedDrillDownParam(tempParams);
148
+ emit("drillDown", param);
149
+ };
101
150
  watch(() => c.state.showGrid, () => {
102
151
  setHeight();
103
152
  }, {
@@ -133,6 +182,10 @@ const ChartControl = /* @__PURE__ */ defineComponent({
133
182
  ns,
134
183
  chartRef,
135
184
  uuid,
185
+ showCheck,
186
+ drillDownPos,
187
+ drillDownRef,
188
+ openDrillDown,
136
189
  renderGrid
137
190
  };
138
191
  },
@@ -155,7 +208,30 @@ const ChartControl = /* @__PURE__ */ defineComponent({
155
208
  }, [createVNode("div", {
156
209
  "ref": "chartRef",
157
210
  "class": [this.ns.e("chart")]
158
- }, [ibiz.i18n.t("control.chart.chartPlaceholder")])]), this.c.state.showGrid ? createVNode("div", {
211
+ }, [ibiz.i18n.t("control.chart.chartPlaceholder")]), this.showCheck ? createVNode("div", {
212
+ "ref": "drillDownRef",
213
+ "class": this.ns.e("drill-down"),
214
+ "style": this.drillDownPos
215
+ }, [createVNode("div", {
216
+ "class": this.ns.em("drill-down", "item")
217
+ }, [createVNode("svg", {
218
+ "viewBox": "0 0 16 16",
219
+ "xmlns": "http://www.w3.org/2000/svg",
220
+ "height": "1em",
221
+ "width": "1em",
222
+ "focusable": "false",
223
+ "fill": "currentColor"
224
+ }, [createVNode("g", {
225
+ "id": "aspnormal/preview",
226
+ "stroke-width": "1",
227
+ "fill-rule": "evenodd"
228
+ }, [createVNode("path", {
229
+ "d": "M11.626 0c1.057 0 1.923.818 2 1.855l.005.15v3.411a.6.6 0 0 1-1.192.097l-.008-.097.001-1.348V2.005c0-.41-.31-.749-.705-.799l-.101-.006h-9.62c-.41 0-.75.308-.8.704l-.006.101v11.989c0 .41.308.75.705.8l.101.006h5.906l.017-.004.016-.003h2.074a.598.598 0 1 1 .107 1.187l-.095.01V16H2.006a2.006 2.006 0 0 1-2-1.856L0 13.994V2.005C0 .948.818.082 1.856.005L2.006 0h9.62zm-1.595 6.328a3.669 3.669 0 0 1 3.665 3.665c0 .79-.251 1.523-.678 2.123l2.412 2.412a.6.6 0 1 1-.848.85l-2.41-2.412a3.646 3.646 0 0 1-2.14.692 3.67 3.67 0 0 1-3.667-3.665 3.67 3.67 0 0 1 3.666-3.665zm-5.106 5.29a.6.6 0 0 1 .097 1.191l-.097.008H2.85a.6.6 0 0 1-.097-1.192l.097-.008h2.074zm5.106-4.09a2.468 2.468 0 0 0-2.466 2.465 2.468 2.468 0 0 0 2.466 2.466 2.47 2.47 0 0 0 2.466-2.466 2.469 2.469 0 0 0-2.466-2.465zm-4.815-.126a.6.6 0 0 1 .097 1.193l-.097.007h-2.35A.6.6 0 0 1 2.77 7.41l.098-.008h2.349zm5.58-4a.6.6 0 0 1 .097 1.192l-.097.008H2.867A.6.6 0 0 1 2.77 3.41l.097-.008h7.929z",
230
+ "id": "asp\u5408\u5E76\u5F62\u72B6"
231
+ }, null)])]), createVNode("div", {
232
+ "class": this.ns.em("drill-down", "item-text"),
233
+ "onClick": this.openDrillDown
234
+ }, [ibiz.i18n.t("control.chart.drillDown")])])]) : null]), this.c.state.showGrid ? createVNode("div", {
159
235
  "class": this.ns.e("grid")
160
236
  }, [this.renderGrid()]) : null])])]
161
237
  });
@@ -3,10 +3,10 @@ import { useControlController, useNamespace, getNestedRoutePath, route2routePath
3
3
  import { useRouter, useRoute } from 'vue-router';
4
4
  import { hasSubRoute } from '@ibiz-template/runtime';
5
5
  import { isNil } from 'ramda';
6
+ import { showTitle } from '@ibiz-template/core';
6
7
  import { DRTabController } from './drtab.controller.mjs';
7
8
  import './drtab.css';
8
9
  import { useAppDRTab } from './drtab-control.util.mjs';
9
- import { showTitle } from '@ibiz-template/core';
10
10
 
11
11
  "use strict";
12
12
  const DRTabControl = /* @__PURE__ */ defineComponent({
@@ -36,12 +36,13 @@ const FormItem = /* @__PURE__ */ defineComponent({
36
36
  };
37
37
  },
38
38
  render() {
39
+ var _a;
39
40
  if (!this.c.state.visible) {
40
41
  return null;
41
42
  }
42
43
  let editor = null;
43
44
  const editorProps = {
44
- style: this.controller.editor.style,
45
+ style: (_a = this.controller.editor) == null ? void 0 : _a.style,
45
46
  value: this.controller.value,
46
47
  data: this.controller.data,
47
48
  controller: this.controller.editor,
@@ -14714,6 +14714,7 @@ export declare const RepeaterGrid: import("vue").DefineComponent<{
14714
14714
  ruleTag2?: string | undefined;
14715
14715
  ruleType?: string | undefined;
14716
14716
  scriptCode?: string | undefined;
14717
+ uniqueTag?: string | undefined;
14717
14718
  appId: string;
14718
14719
  id?: string | undefined;
14719
14720
  name?: string | undefined;
@@ -80,6 +80,7 @@ export declare function useAppGridBase(c: GridController, props: IGridProps): {
80
80
  rowIndex: number;
81
81
  columnIndex: number;
82
82
  }) => IData | void;
83
+ headerDragend: (newWidth: number, oldWidth: number, column: IData) => void;
83
84
  };
84
85
  /**
85
86
  * 监听表格头部高度变化,计算css变量
@@ -337,12 +337,25 @@ function useAppGridBase(c, props) {
337
337
  };
338
338
  }
339
339
  };
340
+ const headerDragend = (newWidth, oldWidth, column) => {
341
+ const { property } = column;
342
+ const columnC = c.columns[property];
343
+ if (columnC.isAdaptiveColumn) {
344
+ columnC.isAdaptiveColumn = false;
345
+ const index = renderColumns.value.findIndex((renderColumn) => {
346
+ const renderColumnC = c.columns[renderColumn.codeName];
347
+ return renderColumnC.isAdaptiveColumn;
348
+ });
349
+ c.hasAdaptiveColumn = index !== -1;
350
+ }
351
+ };
340
352
  return {
341
353
  tableData,
342
354
  renderColumns,
343
355
  defaultSort,
344
356
  summaryMethod,
345
- spanMethod
357
+ spanMethod,
358
+ headerDragend
346
359
  };
347
360
  }
348
361
  function useGridHeaderStyle(tableRef, ns) {
@@ -103,6 +103,7 @@ export declare const GridControl: import("vue").DefineComponent<{
103
103
  rowIndex: number;
104
104
  columnIndex: number;
105
105
  }) => void | IData;
106
+ headerDragend: (newWidth: number, oldWidth: number, column: IData) => void;
106
107
  renderPopover: () => JSX.Element[];
107
108
  defaultSort: import("vue").Ref<IData>;
108
109
  renderBatchToolBar: () => VNode | undefined;
@@ -33,7 +33,7 @@ function renderColumn(c, model, renderColumns, index) {
33
33
  } = model;
34
34
  const columnC = c.columns[columnName];
35
35
  const columnState = c.state.columnStates.find((item) => item.key === columnName);
36
- const widthFlexGrow = columnC.isAdaptiveColumn || index === renderColumns.length - 1;
36
+ const widthFlexGrow = columnC.isAdaptiveColumn || !c.hasAdaptiveColumn && index === renderColumns.length - 1;
37
37
  const widthName = widthFlexGrow ? "min-width" : "width";
38
38
  return createVNode(resolveComponent("el-table-column"), mergeProps({
39
39
  "label": model.caption,
@@ -200,7 +200,8 @@ const GridControl = /* @__PURE__ */ defineComponent({
200
200
  renderColumns,
201
201
  defaultSort,
202
202
  summaryMethod,
203
- spanMethod
203
+ spanMethod,
204
+ headerDragend
204
205
  } = useAppGridBase(c, props);
205
206
  const {
206
207
  renderPopover
@@ -312,6 +313,7 @@ const GridControl = /* @__PURE__ */ defineComponent({
312
313
  renderNoData,
313
314
  summaryMethod,
314
315
  spanMethod,
316
+ headerDragend,
315
317
  renderPopover,
316
318
  defaultSort,
317
319
  renderBatchToolBar,
@@ -350,6 +352,7 @@ const GridControl = /* @__PURE__ */ defineComponent({
350
352
  "onRowDblclick": this.onDbRowClick,
351
353
  "onSelectionChange": this.onSelectionChange,
352
354
  "onSortChange": this.onSortChange,
355
+ "onHeaderDragend": this.headerDragend,
353
356
  "tooltip-effect": "light",
354
357
  "scrollbar-always-on": true
355
358
  }, {
@@ -94,6 +94,7 @@ export declare const IBizGridControl: import("@ibiz-template/vue3-util").TypeWit
94
94
  rowIndex: number;
95
95
  columnIndex: number;
96
96
  }) => void | IData;
97
+ headerDragend: (newWidth: number, oldWidth: number, column: IData) => void;
97
98
  renderPopover: () => JSX.Element[];
98
99
  defaultSort: import("vue").Ref<IData>;
99
100
  renderBatchToolBar: () => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
@@ -1,4 +1,5 @@
1
1
  import { IUIActionGroupDetail } from '@ibiz/model-core';
2
+ import { Ref } from 'vue';
2
3
  import './grid-field-column.scss';
3
4
  import { GridFieldColumnController, GridRowState } from '@ibiz-template/runtime';
4
5
  export declare const GridFieldColumn: import("vue").DefineComponent<{
@@ -16,14 +17,14 @@ export declare const GridFieldColumn: import("vue").DefineComponent<{
16
17
  onTextClick: (event: MouseEvent) => void;
17
18
  onInfoTextChange: (text: string) => void;
18
19
  onActionClick: (detail: IUIActionGroupDetail, event: MouseEvent) => Promise<void>;
19
- CustomHtml: import("vue").ComputedRef<string | undefined>;
20
+ CustomHtml: Ref<string | undefined>;
20
21
  fieldValue: import("vue").ComputedRef<any>;
21
22
  formatValue: import("vue").ComputedRef<string>;
22
23
  percent: import("vue").ComputedRef<string>;
23
24
  codeListValue: import("vue").ComputedRef<string>;
24
25
  tooltip: import("vue").ComputedRef<string | undefined>;
25
26
  zIndex: number | undefined;
26
- codeListItems: import("vue").Ref<readonly IData[]>;
27
+ codeListItems: Ref<readonly IData[]>;
27
28
  }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
28
29
  controller: {
29
30
  type: typeof GridFieldColumnController;
@@ -1,4 +1,4 @@
1
- import { computed, ref, resolveComponent, createVNode, defineComponent } from 'vue';
1
+ import { ref, watch, computed, resolveComponent, createVNode, defineComponent } from 'vue';
2
2
  import { useNamespace, useCodeListListen } from '@ibiz-template/vue3-util';
3
3
  import './grid-field-column.css';
4
4
  import { GridFieldColumnController, GridRowState, ValueExUtil } from '@ibiz-template/runtime';
@@ -33,16 +33,20 @@ const GridFieldColumn = /* @__PURE__ */ defineComponent({
33
33
  props.controller.openLinkView(props.row, event);
34
34
  }
35
35
  };
36
- const CustomHtml = computed(() => {
37
- return props.controller.getCustomHtml(props.row);
36
+ const CustomHtml = ref("");
37
+ watch(() => props.row, async () => {
38
+ CustomHtml.value = await props.controller.getCustomHtml(props.row);
39
+ }, {
40
+ deep: true
38
41
  });
39
42
  const fieldValue = computed(() => props.row.data[props.controller.fieldName]);
40
43
  const formatValue = computed(() => props.controller.formatValue(fieldValue.value));
41
44
  const percent = computed(() => {
42
45
  const {
43
- grid
46
+ grid,
47
+ fieldName
44
48
  } = props.controller;
45
- if (!grid.showPercent) {
49
+ if (!grid.percentkeys.includes(fieldName)) {
46
50
  return "";
47
51
  }
48
52
  const value = Number(fieldValue.value);
@@ -50,8 +54,8 @@ const GridFieldColumn = /* @__PURE__ */ defineComponent({
50
54
  const {
51
55
  totalResult = {}
52
56
  } = grid.state;
53
- const total = totalResult[props.controller.fieldName];
54
- if (total) {
57
+ const total = totalResult[fieldName];
58
+ if (total && !Number.isNaN(total)) {
55
59
  return ibiz.util.text.format("".concat(value / total), "0.##%");
56
60
  }
57
61
  }
@@ -13,7 +13,7 @@ export declare const IBizGridFieldColumn: import("@ibiz-template/vue3-util").Typ
13
13
  onTextClick: (event: MouseEvent) => void;
14
14
  onInfoTextChange: (text: string) => void;
15
15
  onActionClick: (detail: import("@ibiz/model-core").IUIActionGroupDetail, event: MouseEvent) => Promise<void>;
16
- CustomHtml: import("vue").ComputedRef<string | undefined>;
16
+ CustomHtml: import("vue").Ref<string | undefined>;
17
17
  fieldValue: import("vue").ComputedRef<any>;
18
18
  formatValue: import("vue").ComputedRef<string>;
19
19
  percent: import("vue").ComputedRef<string>;
@@ -1,10 +1,10 @@
1
1
  import { isVNode, resolveComponent, createVNode, ref, h, createTextVNode, defineComponent } from 'vue';
2
2
  import { useNamespace, useControlController } from '@ibiz-template/vue3-util';
3
3
  import { ToolbarController } from '@ibiz-template/runtime';
4
+ import { showTitle } from '@ibiz-template/core';
4
5
  import { IBizExportExcel } from './export-excel/export-excel.mjs';
5
6
  import { IBizShortCutButton } from './short-cut-button/short-cut-button.mjs';
6
7
  import './toolbar.css';
7
- import { showTitle } from '@ibiz-template/core';
8
8
 
9
9
  "use strict";
10
10
  function _isSlot(s) {
@@ -1 +1 @@
1
- @charset "UTF-8";.ibiz-mpicker{display:flex}.ibiz-mpicker input::-moz-placeholder{color:var(--ibiz-form-item-placeholder-color)}.ibiz-mpicker input::placeholder{color:var(--ibiz-form-item-placeholder-color)}.ibiz-mpicker .el-input.is-disabled .el-input__inner{color:var(--ibiz-form-item-disabled-color);border-color:var(--ibiz-form-item-disabled-border-color)}.ibiz-mpicker .el-select{width:100%}.ibiz-mpicker ion-icon{font-size:var(--ibiz-form-item-font-size);cursor:pointer}.ibiz-mpicker__buns-position{right:26px;cursor:pointer;position:relative;display:inline-block}.ibiz-mpicker__btns{position:absolute;right:0;height:100%;color:var(--ibiz-form-item-placeholder-color);display:flex;align-items:center;justify-content:center}.ibiz-mpicker--disabled ion-icon{pointer-events:none}.ibiz-mpicker--readonly{font-size:var(--ibiz-form-item-font-size);line-height:var(--ibiz-editor-default-line-height);color:var(--ibiz-form-item-readonly-color)}.ibiz-mpicker-form-default-content{display:none}.ibiz-form-item .ibiz-mpicker.is-show-default:hover .ibiz-mpicker-form-default-content{display:none}.ibiz-form-item .ibiz-mpicker.is-show-default:hover .ibiz-mpicker-select{display:block}.ibiz-form-item .ibiz-mpicker.is-show-default .ibiz-mpicker-form-default-content{display:flex;align-items:center;width:100%;height:var(--ibiz-editor-default-line-height);padding:var(--ibiz-form-item-hover-edit-padding);font-family:Arial,sans-serif;font-size:var(--ibiz-form-item-font-size);line-height:var(--ibiz-editor-default-line-height);color:var(--ibiz-form-item-text-color)}.ibiz-form-item .ibiz-mpicker.is-show-default .ibiz-mpicker-form-default-content .ibiz-mpicker-content-item{height:calc(var(--ibiz-editor-default-line-height) - var(--ibiz-spacing-tight));padding:0 var(--ibiz-spacing-tight);margin:2px 6px 2px 0;font-size:var(--ibiz-font-size-small);line-height:calc(var(--ibiz-editor-default-line-height) - var(--ibiz-spacing-tight));color:var(--ibiz-editor-default-text-color);background-color:var(--ibiz-color-fill-0);border:1px solid transparent;border-radius:var(--ibiz-border-radius-small)}.ibiz-form-item .ibiz-mpicker.is-show-default .ibiz-mpicker-select{display:none}.ibiz-form-item .ibiz-mpicker.is-show-default.is-editable .ibiz-mpicker-form-default-content{display:none}.ibiz-form-item .ibiz-mpicker.is-show-default.is-editable .ibiz-mpicker-select{display:block}
1
+ @charset "UTF-8";.ibiz-mpicker{display:flex}.ibiz-mpicker input::-moz-placeholder{color:var(--ibiz-form-item-placeholder-color)}.ibiz-mpicker input::placeholder{color:var(--ibiz-form-item-placeholder-color)}.ibiz-mpicker .el-input.is-disabled .el-input__inner{color:var(--ibiz-form-item-disabled-color);border-color:var(--ibiz-form-item-disabled-border-color)}.ibiz-mpicker .el-select{width:100%}.ibiz-mpicker ion-icon{font-size:var(--ibiz-form-item-font-size);cursor:pointer}.ibiz-mpicker__buns-position{position:absolute;right:26px;z-index:1;display:inline-block;width:30px;height:100%;cursor:pointer}.ibiz-mpicker__btns{position:absolute;right:0;width:100%;height:100%;color:var(--ibiz-form-item-placeholder-color);cursor:pointer;display:flex;align-items:center;justify-content:center}.ibiz-mpicker--disabled ion-icon{pointer-events:none}.ibiz-mpicker--readonly{font-size:var(--ibiz-form-item-font-size);line-height:var(--ibiz-editor-default-line-height);color:var(--ibiz-form-item-readonly-color)}.ibiz-mpicker-form-default-content{display:none}.ibiz-form-item .ibiz-mpicker.is-show-default:hover .ibiz-mpicker-form-default-content{display:none}.ibiz-form-item .ibiz-mpicker.is-show-default:hover .ibiz-mpicker-select{display:block}.ibiz-form-item .ibiz-mpicker.is-show-default .ibiz-mpicker-form-default-content{display:flex;align-items:center;width:100%;height:var(--ibiz-editor-default-line-height);padding:var(--ibiz-form-item-hover-edit-padding);font-family:Arial,sans-serif;font-size:var(--ibiz-form-item-font-size);line-height:var(--ibiz-editor-default-line-height);color:var(--ibiz-form-item-text-color)}.ibiz-form-item .ibiz-mpicker.is-show-default .ibiz-mpicker-form-default-content .ibiz-mpicker-content-item{height:calc(var(--ibiz-editor-default-line-height) - var(--ibiz-spacing-tight));padding:0 var(--ibiz-spacing-tight);margin:2px 6px 2px 0;font-size:var(--ibiz-font-size-small);line-height:calc(var(--ibiz-editor-default-line-height) - var(--ibiz-spacing-tight));color:var(--ibiz-editor-default-text-color);background-color:var(--ibiz-color-fill-0);border:1px solid transparent;border-radius:var(--ibiz-border-radius-small)}.ibiz-form-item .ibiz-mpicker.is-show-default .ibiz-mpicker-select{display:none}.ibiz-form-item .ibiz-mpicker.is-show-default.is-editable .ibiz-mpicker-form-default-content{display:none}.ibiz-form-item .ibiz-mpicker.is-show-default.is-editable .ibiz-mpicker-select{display:block}
@@ -330,12 +330,12 @@ const IBizMPicker = /* @__PURE__ */ defineComponent({
330
330
  default: () => [_slot]
331
331
  }), !this.readonly && createVNode("div", {
332
332
  "class": this.ns.e("buns-position")
333
- }, [createVNode("div", {
334
- "class": this.ns.e("btns")
335
- }, [this.c.model.pickupAppViewId ? createVNode("ion-icon", {
336
- "onClick": this.openPickUpView,
333
+ }, [this.c.model.pickupAppViewId ? createVNode("div", {
334
+ "class": this.ns.e("btns"),
335
+ "onClick": this.openPickUpView
336
+ }, [createVNode("ion-icon", {
337
337
  "name": "search"
338
- }, null) : null])])];
338
+ }, null)]) : null])];
339
339
  const readonlyContent = createVNode("div", {
340
340
  "class": (this.ns.b(), this.ns.m("readonly"))
341
341
  }, [this.valueText]);
@@ -969,6 +969,7 @@ declare const _default: {
969
969
  };
970
970
  chart: {
971
971
  chartPlaceholder: string;
972
+ drillDown: string;
972
973
  };
973
974
  dashboard: {
974
975
  customDashboardContainer: {
@@ -302,7 +302,8 @@ var index = {
302
302
  }
303
303
  },
304
304
  chart: {
305
- chartPlaceholder: "Chart"
305
+ chartPlaceholder: "Chart",
306
+ drillDown: "DrillDown"
306
307
  },
307
308
  dashboard: {
308
309
  customDashboardContainer: {
@@ -963,6 +963,7 @@ declare const _default: {
963
963
  };
964
964
  chart: {
965
965
  chartPlaceholder: string;
966
+ drillDown: string;
966
967
  };
967
968
  dashboard: {
968
969
  customDashboardContainer: {
@@ -298,7 +298,8 @@ var index = {
298
298
  }
299
299
  },
300
300
  chart: {
301
- chartPlaceholder: "\u56FE\u8868"
301
+ chartPlaceholder: "\u56FE\u8868",
302
+ drillDown: "\u68C0\u67E5\u660E\u7EC6"
302
303
  },
303
304
  dashboard: {
304
305
  customDashboardContainer: {
@@ -1,8 +1,8 @@
1
1
  import { computed, resolveComponent, createVNode, resolveDirective, withDirectives, defineComponent } from 'vue';
2
2
  import { useNamespace } from '@ibiz-template/vue3-util';
3
+ import { showTitle } from '@ibiz-template/core';
3
4
  import { AuthCaptchaController } from './auth-captcha.controller.mjs';
4
5
  import './auth-captcha.css';
5
- import { showTitle } from '@ibiz-template/core';
6
6
 
7
7
  "use strict";
8
8
  const AuthCaptcha = /* @__PURE__ */ defineComponent({
@@ -1,8 +1,8 @@
1
1
  import { ref, computed, resolveComponent, createVNode, defineComponent } from 'vue';
2
2
  import { useNamespace } from '@ibiz-template/vue3-util';
3
+ import { showTitle } from '@ibiz-template/core';
3
4
  import { PanelButtonController } from './panel-button.controller.mjs';
4
5
  import './panel-button.css';
5
- import { showTitle } from '@ibiz-template/core';
6
6
 
7
7
  "use strict";
8
8
  const PanelButton = /* @__PURE__ */ defineComponent({
@@ -137,6 +137,14 @@ const IBizFullscreenToolbar = /* @__PURE__ */ vue.defineComponent({
137
137
  mouseX.value = event.clientX;
138
138
  mouseY.value = event.clientY;
139
139
  });
140
+ document.addEventListener("mousemove", (event) => {
141
+ if (!isLaserEnabled.value) {
142
+ mouseX.value = event.clientX;
143
+ mouseY.value = event.clientY;
144
+ lastX = event.clientX;
145
+ lastY = event.clientY;
146
+ }
147
+ });
140
148
  ctx.value.clearRect(0, 0, laserPointerCanvas.value.width, laserPointerCanvas.value.height);
141
149
  ctx.value.fillStyle = "lightgray";
142
150
  ctx.value.fillRect(0, 0, laserPointerCanvas.value.width, laserPointerCanvas.value.height);
@@ -4,9 +4,9 @@ var vue = require('vue');
4
4
  var vue3Util = require('@ibiz-template/vue3-util');
5
5
  var runtime = require('@ibiz-template/runtime');
6
6
  var dayjs = require('dayjs');
7
+ var core = require('@ibiz-template/core');
7
8
  var index = require('./components/custom-calendar/index.cjs');
8
9
  require('./calendar.css');
9
- var core = require('@ibiz-template/core');
10
10
 
11
11
  "use strict";
12
12
  function _isSlot(s) {
@@ -2,11 +2,11 @@
2
2
 
3
3
  var vue = require('vue');
4
4
  var vue3Util = require('@ibiz-template/vue3-util');
5
+ var core = require('@ibiz-template/core');
5
6
  require('../interface/index.cjs');
6
7
  require('../util/index.cjs');
7
8
  var useCalendarDaily = require('./use-calendar-daily.cjs');
8
9
  require('./calendar-daily.css');
9
- var core = require('@ibiz-template/core');
10
10
  var calendarDaily = require('../interface/calendar-daily.cjs');
11
11
  var util = require('../util/util.cjs');
12
12
 
@@ -2,11 +2,11 @@
2
2
 
3
3
  var vue = require('vue');
4
4
  var vue3Util = require('@ibiz-template/vue3-util');
5
+ var core = require('@ibiz-template/core');
5
6
  require('../interface/index.cjs');
6
7
  var useCalendarWeek = require('./use-calendar-week.cjs');
7
8
  require('./calendar-week.css');
8
9
  require('../util/index.cjs');
9
- var core = require('@ibiz-template/core');
10
10
  var calendarWeek = require('../interface/calendar-week.cjs');
11
11
  var util = require('../util/util.cjs');
12
12
 
@@ -3,12 +3,12 @@
3
3
  var vue = require('vue');
4
4
  var dayjs = require('dayjs');
5
5
  var vue3Util = require('@ibiz-template/vue3-util');
6
+ var core = require('@ibiz-template/core');
6
7
  var index$1 = require('../calendar-daily/index.cjs');
7
8
  var index = require('../calendar-week/index.cjs');
8
9
  var useCustomCalendar = require('./use-custom-calendar.cjs');
9
10
  require('./custom-calendar.css');
10
11
  require('../interface/index.cjs');
11
- var core = require('@ibiz-template/core');
12
12
  var customCalendar = require('../interface/custom-calendar.cjs');
13
13
 
14
14
  "use strict";