@ibiz-template/vue3-components 0.4.16 → 0.4.17-dev.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/dist/index-mqFVS4VE.js +13 -0
- package/dist/index.min.css +1 -1
- package/dist/index.system.min.js +1 -1
- package/dist/{xlsx-util-s1PLJYmT.js → xlsx-util-fayKvEnJ.js} +1 -1
- package/es/common/grid-setting/grid-setting.css +1 -0
- package/es/common/grid-setting/grid-setting.d.ts +19 -0
- package/es/common/grid-setting/grid-setting.mjs +52 -0
- package/es/common/index.mjs +2 -0
- package/es/control/drtab/drtab.controller.d.ts +10 -5
- package/es/control/drtab/drtab.controller.mjs +18 -9
- package/es/control/form/form-detail/form-mdctrl/form-mdctrl-repeater/repeater-grid/repeater-grid.d.ts +14 -35
- package/es/control/grid/grid/grid-control.util.mjs +16 -0
- package/es/control/grid/grid/grid.css +1 -1
- package/es/control/grid/grid/grid.d.ts +2 -1
- package/es/control/grid/grid/grid.mjs +8 -1
- package/es/control/grid/grid/index.d.ts +1 -0
- package/es/control/grid/grid-column/grid-field-column/grid-field-column.d.ts +2 -10
- package/es/control/grid/grid-column/grid-field-column/grid-field-column.mjs +5 -19
- package/es/control/grid/grid-column/grid-field-column/index.d.ts +0 -7
- package/es/control/grid/grid-column/grid-ua-column/grid-ua-column.mjs +3 -3
- package/es/control/search-bar/index.d.ts +1 -0
- package/es/control/search-bar/index.mjs +2 -0
- package/es/control/search-bar/search-bar.css +1 -1
- package/es/control/search-bar/search-bar.d.ts +1 -0
- package/es/control/search-bar/search-bar.mjs +31 -26
- package/es/control/search-bar/search-groups/edit-group-util.d.ts +10 -0
- package/es/control/search-bar/search-groups/edit-group-util.mjs +50 -0
- package/es/control/search-bar/search-groups/new-group-util.d.ts +10 -0
- package/es/control/search-bar/search-groups/new-group-util.mjs +42 -0
- package/es/control/search-bar/search-groups/search-groups.css +1 -0
- package/es/control/search-bar/search-groups/search-groups.d.ts +38 -0
- package/es/control/search-bar/search-groups/search-groups.mjs +328 -0
- package/es/control/tree/index.d.ts +1 -1
- package/es/control/tree/tree.d.ts +1 -1
- package/es/control/tree-grid-ex/index.d.ts +2 -3
- package/es/control/tree-grid-ex/index.mjs +5 -0
- package/es/control/tree-grid-ex/tree-grid-ex-column/index.d.ts +2 -0
- package/es/control/tree-grid-ex/tree-grid-ex-column/index.mjs +4 -0
- package/es/control/tree-grid-ex/tree-grid-ex-column/tree-grid-ex-field-column/index.d.ts +25 -0
- package/es/control/tree-grid-ex/tree-grid-ex-column/tree-grid-ex-field-column/index.mjs +18 -0
- package/es/control/tree-grid-ex/tree-grid-ex-column/tree-grid-ex-field-column/tree-grid-ex-field-column.css +1 -0
- package/es/control/tree-grid-ex/tree-grid-ex-column/tree-grid-ex-field-column/tree-grid-ex-field-column.d.ts +27 -0
- package/es/control/tree-grid-ex/tree-grid-ex-column/tree-grid-ex-field-column/tree-grid-ex-field-column.mjs +66 -0
- package/es/control/tree-grid-ex/tree-grid-ex-column/tree-grid-ex-field-column/tree-grid-ex-field-column.provider.d.ts +15 -0
- package/es/control/tree-grid-ex/tree-grid-ex-column/tree-grid-ex-field-column/tree-grid-ex-field-column.provider.mjs +21 -0
- package/es/control/tree-grid-ex/tree-grid-ex-column/tree-grid-ex-ua-column/index.d.ts +24 -0
- package/es/control/tree-grid-ex/tree-grid-ex-column/tree-grid-ex-ua-column/index.mjs +18 -0
- package/es/control/tree-grid-ex/tree-grid-ex-column/tree-grid-ex-ua-column/tree-grid-ex-ua-column.css +1 -0
- package/es/control/tree-grid-ex/tree-grid-ex-column/tree-grid-ex-ua-column/tree-grid-ex-ua-column.d.ts +27 -0
- package/es/control/tree-grid-ex/tree-grid-ex-column/tree-grid-ex-ua-column/tree-grid-ex-ua-column.mjs +47 -0
- package/es/control/tree-grid-ex/tree-grid-ex-column/tree-grid-ex-ua-column/tree-grid-ex-ua-column.provider.d.ts +15 -0
- package/es/control/tree-grid-ex/tree-grid-ex-column/tree-grid-ex-ua-column/tree-grid-ex-ua-column.provider.mjs +21 -0
- package/es/control/tree-grid-ex/tree-grid-ex.css +1 -1
- package/es/control/tree-grid-ex/tree-grid-ex.d.ts +6 -7
- package/es/control/tree-grid-ex/tree-grid-ex.mjs +36 -38
- package/es/editor/data-picker/ibiz-picker-embed-view/ibiz-picker-embed-view.d.ts +1 -5
- package/es/editor/data-picker/ibiz-picker-select-view/ibiz-picker-select-view.d.ts +1 -5
- package/es/editor/markdown/markdown-editor.controller.mjs +1 -1
- package/es/editor/span/span/span.mjs +2 -2
- package/es/editor/text-box/text-box-editor.controller.mjs +1 -1
- package/es/view-engine/edit-view.engine.mjs +2 -0
- package/es/view-engine/tree-grid-ex-view.engine.d.ts +3 -2
- package/es/view-engine/tree-grid-ex-view.engine.mjs +2 -2
- package/es/view-engine/wf-dyna-edit-view.engine.mjs +7 -1
- package/lib/common/grid-setting/grid-setting.cjs +54 -0
- package/lib/common/grid-setting/grid-setting.css +1 -0
- package/lib/common/index.cjs +2 -0
- package/lib/control/drtab/drtab.controller.cjs +17 -8
- package/lib/control/grid/grid/grid-control.util.cjs +16 -0
- package/lib/control/grid/grid/grid.cjs +8 -1
- package/lib/control/grid/grid/grid.css +1 -1
- package/lib/control/grid/grid-column/grid-field-column/grid-field-column.cjs +5 -19
- package/lib/control/grid/grid-column/grid-ua-column/grid-ua-column.cjs +3 -3
- package/lib/control/search-bar/index.cjs +2 -0
- package/lib/control/search-bar/search-bar.cjs +30 -25
- package/lib/control/search-bar/search-bar.css +1 -1
- package/lib/control/search-bar/search-groups/edit-group-util.cjs +52 -0
- package/lib/control/search-bar/search-groups/new-group-util.cjs +44 -0
- package/lib/control/search-bar/search-groups/search-groups.cjs +330 -0
- package/lib/control/search-bar/search-groups/search-groups.css +1 -0
- package/lib/control/tree-grid-ex/index.cjs +5 -0
- package/lib/control/tree-grid-ex/tree-grid-ex-column/index.cjs +9 -0
- package/lib/control/tree-grid-ex/tree-grid-ex-column/tree-grid-ex-field-column/index.cjs +23 -0
- package/lib/control/tree-grid-ex/tree-grid-ex-column/tree-grid-ex-field-column/tree-grid-ex-field-column.cjs +71 -0
- package/lib/control/tree-grid-ex/tree-grid-ex-column/tree-grid-ex-field-column/tree-grid-ex-field-column.css +1 -0
- package/lib/control/tree-grid-ex/tree-grid-ex-column/tree-grid-ex-field-column/tree-grid-ex-field-column.provider.cjs +23 -0
- package/lib/control/tree-grid-ex/tree-grid-ex-column/tree-grid-ex-ua-column/index.cjs +23 -0
- package/lib/control/tree-grid-ex/tree-grid-ex-column/tree-grid-ex-ua-column/tree-grid-ex-ua-column.cjs +52 -0
- package/lib/control/tree-grid-ex/tree-grid-ex-column/tree-grid-ex-ua-column/tree-grid-ex-ua-column.css +1 -0
- package/lib/control/tree-grid-ex/tree-grid-ex-column/tree-grid-ex-ua-column/tree-grid-ex-ua-column.provider.cjs +23 -0
- package/lib/control/tree-grid-ex/tree-grid-ex.cjs +36 -38
- package/lib/control/tree-grid-ex/tree-grid-ex.css +1 -1
- package/lib/editor/markdown/markdown-editor.controller.cjs +1 -1
- package/lib/editor/span/span/span.cjs +2 -2
- package/lib/editor/text-box/text-box-editor.controller.cjs +1 -1
- package/lib/view-engine/edit-view.engine.cjs +2 -0
- package/lib/view-engine/tree-grid-ex-view.engine.cjs +2 -2
- package/lib/view-engine/wf-dyna-edit-view.engine.cjs +7 -1
- package/package.json +5 -5
- package/dist/index-iCjyBjMt.js +0 -13
|
@@ -95,6 +95,7 @@ export declare const RepeaterGrid: import("vue").DefineComponent<{
|
|
|
95
95
|
};
|
|
96
96
|
data: IData;
|
|
97
97
|
container?: {
|
|
98
|
+
readonly id: string;
|
|
98
99
|
state: object;
|
|
99
100
|
readonly model: {
|
|
100
101
|
appId: string;
|
|
@@ -114,12 +115,8 @@ export declare const RepeaterGrid: import("vue").DefineComponent<{
|
|
|
114
115
|
readonly context: {
|
|
115
116
|
[x: string]: any;
|
|
116
117
|
[x: symbol]: any;
|
|
117
|
-
|
|
118
|
+
srfsessionid: string;
|
|
118
119
|
srfappid: string;
|
|
119
|
-
getOwnContext: () => IData;
|
|
120
|
-
destroy: () => void;
|
|
121
|
-
clone: () => IContext;
|
|
122
|
-
reset: (context?: IData | undefined, parent?: IContext | undefined) => void;
|
|
123
120
|
};
|
|
124
121
|
readonly params: IParams;
|
|
125
122
|
childNames: string[];
|
|
@@ -218,6 +215,7 @@ export declare const RepeaterGrid: import("vue").DefineComponent<{
|
|
|
218
215
|
context?: IContext | undefined;
|
|
219
216
|
params?: IParams | undefined;
|
|
220
217
|
}) => void;
|
|
218
|
+
readonly id: string;
|
|
221
219
|
state: {
|
|
222
220
|
data: IData;
|
|
223
221
|
activated: boolean;
|
|
@@ -2571,12 +2569,8 @@ export declare const RepeaterGrid: import("vue").DefineComponent<{
|
|
|
2571
2569
|
readonly context: {
|
|
2572
2570
|
[x: string]: any;
|
|
2573
2571
|
[x: symbol]: any;
|
|
2574
|
-
|
|
2572
|
+
srfsessionid: string;
|
|
2575
2573
|
srfappid: string;
|
|
2576
|
-
getOwnContext: () => IData;
|
|
2577
|
-
destroy: () => void;
|
|
2578
|
-
clone: () => IContext;
|
|
2579
|
-
reset: (context?: IData | undefined, parent?: IContext | undefined) => void;
|
|
2580
2574
|
};
|
|
2581
2575
|
readonly params: IParams;
|
|
2582
2576
|
childNames: string[];
|
|
@@ -2594,6 +2588,7 @@ export declare const RepeaterGrid: import("vue").DefineComponent<{
|
|
|
2594
2588
|
endLoading: () => void;
|
|
2595
2589
|
onActivated: () => void;
|
|
2596
2590
|
onDeactivated: () => void;
|
|
2591
|
+
readonly id: string;
|
|
2597
2592
|
state: {
|
|
2598
2593
|
activated: boolean;
|
|
2599
2594
|
caption: string;
|
|
@@ -5931,12 +5926,8 @@ export declare const RepeaterGrid: import("vue").DefineComponent<{
|
|
|
5931
5926
|
readonly context: {
|
|
5932
5927
|
[x: string]: any;
|
|
5933
5928
|
[x: symbol]: any;
|
|
5934
|
-
|
|
5929
|
+
srfsessionid: string;
|
|
5935
5930
|
srfappid: string;
|
|
5936
|
-
getOwnContext: () => IData;
|
|
5937
|
-
destroy: () => void;
|
|
5938
|
-
clone: () => IContext;
|
|
5939
|
-
reset: (context?: IData | undefined, parent?: IContext | undefined) => void;
|
|
5940
5931
|
};
|
|
5941
5932
|
readonly params: IParams;
|
|
5942
5933
|
childNames: string[];
|
|
@@ -5952,6 +5943,7 @@ export declare const RepeaterGrid: import("vue").DefineComponent<{
|
|
|
5952
5943
|
};
|
|
5953
5944
|
data: IData;
|
|
5954
5945
|
container?: {
|
|
5946
|
+
readonly id: string;
|
|
5955
5947
|
state: object;
|
|
5956
5948
|
readonly model: {
|
|
5957
5949
|
appId: string;
|
|
@@ -5971,12 +5963,8 @@ export declare const RepeaterGrid: import("vue").DefineComponent<{
|
|
|
5971
5963
|
readonly context: {
|
|
5972
5964
|
[x: string]: any;
|
|
5973
5965
|
[x: symbol]: any;
|
|
5974
|
-
|
|
5966
|
+
srfsessionid: string;
|
|
5975
5967
|
srfappid: string;
|
|
5976
|
-
getOwnContext: () => IData;
|
|
5977
|
-
destroy: () => void;
|
|
5978
|
-
clone: () => IContext;
|
|
5979
|
-
reset: (context?: IData | undefined, parent?: IContext | undefined) => void;
|
|
5980
5968
|
};
|
|
5981
5969
|
readonly params: IParams;
|
|
5982
5970
|
childNames: string[];
|
|
@@ -6070,6 +6058,7 @@ export declare const RepeaterGrid: import("vue").DefineComponent<{
|
|
|
6070
6058
|
endLoading: () => void;
|
|
6071
6059
|
onActivated: () => void;
|
|
6072
6060
|
onDeactivated: () => void;
|
|
6061
|
+
readonly id: string;
|
|
6073
6062
|
state: {
|
|
6074
6063
|
activated: boolean;
|
|
6075
6064
|
caption: string;
|
|
@@ -9357,12 +9346,8 @@ export declare const RepeaterGrid: import("vue").DefineComponent<{
|
|
|
9357
9346
|
readonly context: {
|
|
9358
9347
|
[x: string]: any;
|
|
9359
9348
|
[x: symbol]: any;
|
|
9360
|
-
|
|
9349
|
+
srfsessionid: string;
|
|
9361
9350
|
srfappid: string;
|
|
9362
|
-
getOwnContext: () => IData;
|
|
9363
|
-
destroy: () => void;
|
|
9364
|
-
clone: () => IContext;
|
|
9365
|
-
reset: (context?: IData | undefined, parent?: IContext | undefined) => void;
|
|
9366
9351
|
};
|
|
9367
9352
|
readonly params: IParams;
|
|
9368
9353
|
childNames: string[];
|
|
@@ -9457,6 +9442,7 @@ export declare const RepeaterGrid: import("vue").DefineComponent<{
|
|
|
9457
9442
|
context?: IContext | undefined;
|
|
9458
9443
|
params?: IParams | undefined;
|
|
9459
9444
|
}) => void;
|
|
9445
|
+
readonly id: string;
|
|
9460
9446
|
state: {
|
|
9461
9447
|
data: IData;
|
|
9462
9448
|
activated: boolean;
|
|
@@ -11810,12 +11796,8 @@ export declare const RepeaterGrid: import("vue").DefineComponent<{
|
|
|
11810
11796
|
readonly context: {
|
|
11811
11797
|
[x: string]: any;
|
|
11812
11798
|
[x: symbol]: any;
|
|
11813
|
-
|
|
11799
|
+
srfsessionid: string;
|
|
11814
11800
|
srfappid: string;
|
|
11815
|
-
getOwnContext: () => IData;
|
|
11816
|
-
destroy: () => void;
|
|
11817
|
-
clone: () => IContext;
|
|
11818
|
-
reset: (context?: IData | undefined, parent?: IContext | undefined) => void;
|
|
11819
11801
|
};
|
|
11820
11802
|
readonly params: IParams;
|
|
11821
11803
|
childNames: string[];
|
|
@@ -11909,6 +11891,7 @@ export declare const RepeaterGrid: import("vue").DefineComponent<{
|
|
|
11909
11891
|
context?: IContext | undefined;
|
|
11910
11892
|
params?: IParams | undefined;
|
|
11911
11893
|
}) => void;
|
|
11894
|
+
readonly id: string;
|
|
11912
11895
|
state: {
|
|
11913
11896
|
isLoaded: boolean;
|
|
11914
11897
|
data: IData;
|
|
@@ -15439,12 +15422,8 @@ export declare const RepeaterGrid: import("vue").DefineComponent<{
|
|
|
15439
15422
|
readonly context: {
|
|
15440
15423
|
[x: string]: any;
|
|
15441
15424
|
[x: symbol]: any;
|
|
15442
|
-
|
|
15425
|
+
srfsessionid: string;
|
|
15443
15426
|
srfappid: string;
|
|
15444
|
-
getOwnContext: () => IData;
|
|
15445
|
-
destroy: () => void;
|
|
15446
|
-
clone: () => IContext;
|
|
15447
|
-
reset: (context?: IData | undefined, parent?: IContext | undefined) => void;
|
|
15448
15427
|
};
|
|
15449
15428
|
readonly params: IParams;
|
|
15450
15429
|
childNames: string[];
|
|
@@ -92,6 +92,22 @@ function useITableEvent(c) {
|
|
|
92
92
|
}
|
|
93
93
|
return "";
|
|
94
94
|
}
|
|
95
|
+
watch(
|
|
96
|
+
() => c.state.sortQuery,
|
|
97
|
+
(newVal) => {
|
|
98
|
+
if (newVal) {
|
|
99
|
+
const prop = c.state.sortQuery.split(",")[0];
|
|
100
|
+
const sortDir = c.state.sortQuery.split(",")[1];
|
|
101
|
+
if (tableRef.value && prop && sortDir) {
|
|
102
|
+
const order = sortDir === "desc" ? "descending" : "ascending";
|
|
103
|
+
setTimeout(() => {
|
|
104
|
+
var _a;
|
|
105
|
+
(_a = tableRef.value) == null ? void 0 : _a.sort(prop, order);
|
|
106
|
+
});
|
|
107
|
+
}
|
|
108
|
+
}
|
|
109
|
+
}
|
|
110
|
+
);
|
|
95
111
|
return {
|
|
96
112
|
tableRef,
|
|
97
113
|
onRowClick,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
.ibiz-control-grid{--ibiz-control-grid-text-color:var(--ibiz-color-text-0);--ibiz-control-grid-bg-color:transparent;--ibiz-control-grid-padding:0;--ibiz-control-grid-cell-padding:var(--ibiz-spacing-tight);--ibiz-control-grid-selection-padding:var(--ibiz-spacing-base-loose);--ibiz-control-grid-row-edit-bg-color:var(--ibiz-color-fill-2);--ibiz-control-grid-row-bg-color:var(--ibiz-color-bg-1);--ibiz-control-grid-row-bg-color-2:var(--ibiz-color-bg-0);--ibiz-control-grid-header-text-color:var(--ibiz-color-text-2);--ibiz-control-grid-header-cell-padding:var(--ibiz-control-grid-cell-padding);--ibiz-control-grid-header-height:auto;--ibiz-control-grid-header-bg-color:var(--ibiz-color-tertiary-light-hover);--ibiz-control-grid-header-font-size:var(--ibiz-font-size-regular);--ibiz-control-grid-header-font-weight:var(--ibiz-font-weight-regular);--ibiz-control-grid-content-text-color:var(--ibiz-control-grid-text-color);--ibiz-control-grid-content-row-height:48px;--ibiz-control-grid-page-text-color:var(--ibiz-color-text-2);--ibiz-control-grid-page-height:50px;--ibiz-control-grid-page-padding:0 var(--ibiz-spacing-base-tight);--ibiz-control-grid-footer-text-color:var(--ibiz-color-text-2);--ibiz-control-grid-footer-bg-color:var(--ibiz-color-tertiary-light-hover);--ibiz-control-grid-footer-font-size:var(--ibiz-font-size-regular);--ibiz-control-grid-footer-font-weight:var(--ibiz-font-weight-bold);width:100%;height:100%;padding:var(--ibiz-control-grid-padding);background-color:var(--ibiz-control-grid-bg-color)}.ibiz-control-grid .el-table{--el-table-header-bg-color:var(--ibiz-control-grid-header-bg-color);--el-table-border-color:transparent}.ibiz-control-grid .el-table--border .el-table__cell{border-right:none}.ibiz-control-grid .el-table-fixed-column--left,.ibiz-control-grid .el-table-fixed-column--right{--el-bg-color:transparent}.ibiz-control-grid .el-table thead.is-group th.el-table__cell{background:var(--ibiz-control-grid-header-bg-color)}.ibiz-control-grid.is-enable-page .ibiz-control-grid__table{height:calc(100% - var(--ibiz-control-grid-page-height))}.ibiz-control-grid.is-enable-group .el-table__indent{display:none}.ibiz-control-grid__table{width:100%;height:100%}.ibiz-control-grid__table .caret-wrapper{gap:3px;justify-content:center}.ibiz-control-grid__table .sort-caret{position:initial}.ibiz-control-grid__table.el-table .el-table__cell{padding:0}.ibiz-control-grid__table.el-table .el-table__body-wrapper tr td{background:var(--ibiz-control-grid-row-bg-color)}.ibiz-control-grid__table.el-table .el-table__body-wrapper tr:nth-child(2n) td{background-color:var(--ibiz-control-grid-row-bg-color-2)}.ibiz-control-grid__table.el-table .el-table__body-wrapper tr:hover td{background-color:var(--el-table-row-hover-bg-color)}.ibiz-control-grid__table.el-table .el-table__body-wrapper tr.current-row td{background-color:var(--el-table-current-row-bg-color)}.ibiz-control-grid__table.el-table .el-table__body-wrapper tr.editing-row td{background-color:var(--ibiz-control-grid-row-edit-bg-color)}.ibiz-control-grid__table .el-table__header-wrapper .cell{height:var(--ibiz-control-grid-header-height);padding:var(--ibiz-control-grid-header-cell-padding);font-size:var(--ibiz-control-grid-header-font-size);font-weight:var(--ibiz-control-grid-header-font-weight);color:var(--ibiz-control-grid-header-text-color);word-break:break-word;white-space:pre-wrap}.ibiz-control-grid__table .el-table__header-wrapper .el-table-column--selection .cell{padding:var(--ibiz-control-grid-selection-padding)}.ibiz-control-grid__table .el-table__header-wrapper .is-sortable.el-table__cell .cell{display:flex;align-items:center;justify-content:var(--ibiz-grid-column-justify-content)}.ibiz-control-grid__table .el-table__body-wrapper{color:var(--ibiz-control-grid-content-text-color);border-bottom:.1px solid var(--ibiz-color-border)}.ibiz-control-grid__table .el-table__body-wrapper .el-table__row{height:var(--ibiz-control-grid-content-row-height);cursor:pointer}.ibiz-control-grid__table .el-table__body-wrapper .el-table__row>td{height:0;padding:0}@-moz-document url-prefix(){.ibiz-control-grid__table .el-table__body-wrapper .el-table__row>td{height:100%}}.ibiz-control-grid__table .el-table__body-wrapper .cell{display:flex;align-items:center;height:100%;padding:0}.ibiz-control-grid__table .el-table__body-wrapper .el-table-column--selection .cell{padding:var(--ibiz-control-grid-selection-padding)}.ibiz-control-grid__table .el-table__cell.is-center{--ibiz-grid-column-text-align:center;--ibiz-grid-column-justify-content:center}.ibiz-control-grid__table .el-table__cell.is-left{--ibiz-grid-column-text-align:left;--ibiz-grid-column-justify-content:flex-start}.ibiz-control-grid__table .el-table__cell.is-right{--ibiz-grid-column-text-align:right;--ibiz-grid-column-justify-content:flex-end}.ibiz-control-grid__table .el-scrollbar__wrap{position:relative}.ibiz-control-grid__table .el-table__footer-wrapper tfoot td.el-table__cell{font-size:var(--ibiz-control-grid-footer-font-size);font-weight:var(--ibiz-control-grid-footer-font-weight);color:var(--ibiz-control-grid-footer-text-color);background-color:var(--ibiz-control-grid-footer-bg-color)}.ibiz-control-grid__table .el-table__footer-wrapper tfoot td.el-table__cell:first-child>div{display:inline;vertical-align:4px}.ibiz-control-grid .el-table td.el-table__cell,.ibiz-control-grid .el-table th.el-table__cell.is-leaf{border-bottom:none}.ibiz-control-grid .ibiz-pagination{--ibiz-pagination-height:var(--ibiz-control-grid-page-height);--ibiz-pagination-text-color:var(--ibiz-control-grid-text-color);--ibiz-pagination-padding:var(--ibiz-control-grid-page-padding)}
|
|
1
|
+
.ibiz-control-grid{--ibiz-control-grid-text-color:var(--ibiz-color-text-0);--ibiz-control-grid-bg-color:transparent;--ibiz-control-grid-padding:0;--ibiz-control-grid-cell-padding:var(--ibiz-spacing-tight);--ibiz-control-grid-selection-padding:var(--ibiz-spacing-base-loose);--ibiz-control-grid-row-edit-bg-color:var(--ibiz-color-fill-2);--ibiz-control-grid-row-bg-color:var(--ibiz-color-bg-1);--ibiz-control-grid-row-bg-color-2:var(--ibiz-color-bg-0);--ibiz-control-grid-header-text-color:var(--ibiz-color-text-2);--ibiz-control-grid-header-cell-padding:var(--ibiz-control-grid-cell-padding);--ibiz-control-grid-header-height:auto;--ibiz-control-grid-header-bg-color:var(--ibiz-color-tertiary-light-hover);--ibiz-control-grid-header-font-size:var(--ibiz-font-size-regular);--ibiz-control-grid-header-font-weight:var(--ibiz-font-weight-regular);--ibiz-control-grid-content-text-color:var(--ibiz-control-grid-text-color);--ibiz-control-grid-content-row-height:48px;--ibiz-control-grid-page-text-color:var(--ibiz-color-text-2);--ibiz-control-grid-page-height:50px;--ibiz-control-grid-page-padding:0 var(--ibiz-spacing-base-tight);--ibiz-control-grid-footer-text-color:var(--ibiz-color-text-2);--ibiz-control-grid-footer-bg-color:var(--ibiz-color-tertiary-light-hover);--ibiz-control-grid-footer-font-size:var(--ibiz-font-size-regular);--ibiz-control-grid-footer-font-weight:var(--ibiz-font-weight-bold);position:relative;width:100%;height:100%;padding:var(--ibiz-control-grid-padding);background-color:var(--ibiz-control-grid-bg-color)}.ibiz-control-grid .el-table{--el-table-header-bg-color:var(--ibiz-control-grid-header-bg-color);--el-table-border-color:transparent}.ibiz-control-grid .el-table--border .el-table__cell{border-right:none}.ibiz-control-grid .el-table-fixed-column--left,.ibiz-control-grid .el-table-fixed-column--right{--el-bg-color:transparent}.ibiz-control-grid .el-table thead.is-group th.el-table__cell{background:var(--ibiz-control-grid-header-bg-color)}.ibiz-control-grid.is-enable-page .ibiz-control-grid__table{height:calc(100% - var(--ibiz-control-grid-page-height))}.ibiz-control-grid.is-enable-group .el-table__indent{display:none}.ibiz-control-grid__table{width:100%;height:100%}.ibiz-control-grid__table .caret-wrapper{gap:3px;justify-content:center}.ibiz-control-grid__table .sort-caret{position:initial}.ibiz-control-grid__table.el-table .el-table__cell{padding:0}.ibiz-control-grid__table.el-table .el-table__body-wrapper tr td{background:var(--ibiz-control-grid-row-bg-color)}.ibiz-control-grid__table.el-table .el-table__body-wrapper tr:nth-child(2n) td{background-color:var(--ibiz-control-grid-row-bg-color-2)}.ibiz-control-grid__table.el-table .el-table__body-wrapper tr:hover td{background-color:var(--el-table-row-hover-bg-color)}.ibiz-control-grid__table.el-table .el-table__body-wrapper tr.current-row td{background-color:var(--el-table-current-row-bg-color)}.ibiz-control-grid__table.el-table .el-table__body-wrapper tr.editing-row td{background-color:var(--ibiz-control-grid-row-edit-bg-color)}.ibiz-control-grid__table .el-table__header-wrapper .cell{height:var(--ibiz-control-grid-header-height);padding:var(--ibiz-control-grid-header-cell-padding);font-size:var(--ibiz-control-grid-header-font-size);font-weight:var(--ibiz-control-grid-header-font-weight);color:var(--ibiz-control-grid-header-text-color);word-break:break-word;white-space:pre-wrap}.ibiz-control-grid__table .el-table__header-wrapper .el-table-column--selection .cell{padding:var(--ibiz-control-grid-selection-padding)}.ibiz-control-grid__table .el-table__header-wrapper .is-sortable.el-table__cell .cell{display:flex;align-items:center;justify-content:var(--ibiz-grid-column-justify-content)}.ibiz-control-grid__table .el-table__body-wrapper{color:var(--ibiz-control-grid-content-text-color);border-bottom:.1px solid var(--ibiz-color-border)}.ibiz-control-grid__table .el-table__body-wrapper .el-table__row{height:var(--ibiz-control-grid-content-row-height);cursor:pointer}.ibiz-control-grid__table .el-table__body-wrapper .el-table__row>td{height:0;padding:0}@-moz-document url-prefix(){.ibiz-control-grid__table .el-table__body-wrapper .el-table__row>td{height:100%}}.ibiz-control-grid__table .el-table__body-wrapper .cell{display:flex;align-items:center;height:100%;padding:0}.ibiz-control-grid__table .el-table__body-wrapper .el-table-column--selection .cell{padding:var(--ibiz-control-grid-selection-padding)}.ibiz-control-grid__table .el-table__cell.is-center{--ibiz-grid-column-text-align:center;--ibiz-grid-column-justify-content:center}.ibiz-control-grid__table .el-table__cell.is-left{--ibiz-grid-column-text-align:left;--ibiz-grid-column-justify-content:flex-start}.ibiz-control-grid__table .el-table__cell.is-right{--ibiz-grid-column-text-align:right;--ibiz-grid-column-justify-content:flex-end}.ibiz-control-grid__table .el-scrollbar__wrap{position:relative}.ibiz-control-grid__table .el-table__footer-wrapper tfoot td.el-table__cell{font-size:var(--ibiz-control-grid-footer-font-size);font-weight:var(--ibiz-control-grid-footer-font-weight);color:var(--ibiz-control-grid-footer-text-color);background-color:var(--ibiz-control-grid-footer-bg-color)}.ibiz-control-grid__table .el-table__footer-wrapper tfoot td.el-table__cell:first-child>div{display:inline;vertical-align:4px}.ibiz-control-grid .el-table td.el-table__cell,.ibiz-control-grid .el-table th.el-table__cell.is-leaf{border-bottom:none}.ibiz-control-grid .ibiz-pagination{--ibiz-pagination-height:var(--ibiz-control-grid-page-height);--ibiz-pagination-text-color:var(--ibiz-control-grid-text-color);--ibiz-pagination-padding:var(--ibiz-control-grid-page-padding)}.ibiz-control-grid .ibiz-grid-setting{position:absolute;bottom:var(--ibiz-spacing-base-tight);left:0;z-index:99;cursor:pointer}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { PropType, VNode } from 'vue';
|
|
2
2
|
import { IDEGrid, IDEGridColumn } from '@ibiz/model-core';
|
|
3
|
-
import { GridController, IControlProvider } from '@ibiz-template/runtime';
|
|
3
|
+
import { GridController, IColumnState, IControlProvider } from '@ibiz-template/runtime';
|
|
4
4
|
import './grid.scss';
|
|
5
5
|
export declare function renderColumn(c: GridController, model: IDEGridColumn, renderColumns: IDEGridColumn[], index: number): VNode | null;
|
|
6
6
|
export declare function renderChildColumn(c: GridController, model: IDEGridColumn, renderColumns: IDEGridColumn[], index: number): VNode | null;
|
|
@@ -98,6 +98,7 @@ export declare const GridControl: import("vue").DefineComponent<{
|
|
|
98
98
|
}) => string[];
|
|
99
99
|
renderPopover: () => JSX.Element[];
|
|
100
100
|
defaultSort: import("vue").Ref<IData>;
|
|
101
|
+
onColumnStateClick: (columnState: IColumnState) => void;
|
|
101
102
|
}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
|
|
102
103
|
modelData: {
|
|
103
104
|
type: PropType<IDEGrid>;
|
|
@@ -160,6 +160,9 @@ const GridControl = /* @__PURE__ */ defineComponent({
|
|
|
160
160
|
const {
|
|
161
161
|
renderPopover
|
|
162
162
|
} = useRowEditPopover(tableRef, c);
|
|
163
|
+
const onColumnStateClick = (columnState) => {
|
|
164
|
+
c.setColumnVisible(columnState);
|
|
165
|
+
};
|
|
163
166
|
return {
|
|
164
167
|
c,
|
|
165
168
|
ns,
|
|
@@ -178,7 +181,8 @@ const GridControl = /* @__PURE__ */ defineComponent({
|
|
|
178
181
|
renderNoData,
|
|
179
182
|
summaryMethod,
|
|
180
183
|
renderPopover,
|
|
181
|
-
defaultSort
|
|
184
|
+
defaultSort,
|
|
185
|
+
onColumnStateClick
|
|
182
186
|
};
|
|
183
187
|
},
|
|
184
188
|
render() {
|
|
@@ -233,6 +237,9 @@ const GridControl = /* @__PURE__ */ defineComponent({
|
|
|
233
237
|
"onChange": this.onPageChange,
|
|
234
238
|
"onPageSizeChange": this.onPageSizeChange,
|
|
235
239
|
"onPageRefresh": this.onPageRefresh
|
|
240
|
+
}, null), createVNode(resolveComponent("iBizGridSetting"), {
|
|
241
|
+
"columnStates": state.columnStates,
|
|
242
|
+
"onColumnStateClick": this.onColumnStateClick
|
|
236
243
|
}, null)]
|
|
237
244
|
});
|
|
238
245
|
}
|
|
@@ -87,6 +87,7 @@ export declare const IBizGridControl: import("@ibiz-template/vue3-util").TypeWit
|
|
|
87
87
|
}) => string[];
|
|
88
88
|
renderPopover: () => JSX.Element[];
|
|
89
89
|
defaultSort: import("vue").Ref<IData>;
|
|
90
|
+
onColumnStateClick: (columnState: import("@ibiz-template/runtime").IColumnState) => void;
|
|
90
91
|
}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
|
|
91
92
|
modelData: {
|
|
92
93
|
type: import("vue").PropType<import("@ibiz/model-core").IDEGrid>;
|
|
@@ -1,7 +1,6 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { PropType } from 'vue';
|
|
3
|
-
import { GridFieldColumnController, GridRowState } from '@ibiz-template/runtime';
|
|
1
|
+
import { IUIActionGroupDetail } from '@ibiz/model-core';
|
|
4
2
|
import './grid-field-column.scss';
|
|
3
|
+
import { GridFieldColumnController, GridRowState } from '@ibiz-template/runtime';
|
|
5
4
|
export declare const GridFieldColumn: import("vue").DefineComponent<{
|
|
6
5
|
controller: {
|
|
7
6
|
type: typeof GridFieldColumnController;
|
|
@@ -11,9 +10,6 @@ export declare const GridFieldColumn: import("vue").DefineComponent<{
|
|
|
11
10
|
type: typeof GridRowState;
|
|
12
11
|
required: true;
|
|
13
12
|
};
|
|
14
|
-
nodeModel: {
|
|
15
|
-
type: PropType<IDETreeNode>;
|
|
16
|
-
};
|
|
17
13
|
}, {
|
|
18
14
|
ns: import("@ibiz-template/core").Namespace;
|
|
19
15
|
onCellClick: (event: MouseEvent) => void;
|
|
@@ -24,7 +20,6 @@ export declare const GridFieldColumn: import("vue").DefineComponent<{
|
|
|
24
20
|
fieldValue: import("vue").ComputedRef<any>;
|
|
25
21
|
formatValue: import("vue").ComputedRef<string>;
|
|
26
22
|
tooltip: import("vue").ComputedRef<string | undefined>;
|
|
27
|
-
isShowContextMenu: import("vue").ComputedRef<boolean | undefined>;
|
|
28
23
|
}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
|
|
29
24
|
controller: {
|
|
30
25
|
type: typeof GridFieldColumnController;
|
|
@@ -34,8 +29,5 @@ export declare const GridFieldColumn: import("vue").DefineComponent<{
|
|
|
34
29
|
type: typeof GridRowState;
|
|
35
30
|
required: true;
|
|
36
31
|
};
|
|
37
|
-
nodeModel: {
|
|
38
|
-
type: PropType<IDETreeNode>;
|
|
39
|
-
};
|
|
40
32
|
}>>, {}, {}>;
|
|
41
33
|
export default GridFieldColumn;
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { computed, ref, resolveComponent, createVNode, defineComponent } from 'vue';
|
|
2
2
|
import { useNamespace } from '@ibiz-template/vue3-util';
|
|
3
|
+
import './grid-field-column.css';
|
|
3
4
|
import { GridFieldColumnController, GridRowState } from '@ibiz-template/runtime';
|
|
4
5
|
import { isNotNil } from 'ramda';
|
|
5
|
-
import './grid-field-column.css';
|
|
6
6
|
|
|
7
7
|
"use strict";
|
|
8
8
|
const GridFieldColumn = /* @__PURE__ */ defineComponent({
|
|
@@ -15,17 +15,10 @@ const GridFieldColumn = /* @__PURE__ */ defineComponent({
|
|
|
15
15
|
row: {
|
|
16
16
|
type: GridRowState,
|
|
17
17
|
required: true
|
|
18
|
-
},
|
|
19
|
-
nodeModel: {
|
|
20
|
-
type: Object
|
|
21
18
|
}
|
|
22
19
|
},
|
|
23
20
|
setup(props) {
|
|
24
21
|
const ns = useNamespace("grid-field-column");
|
|
25
|
-
const isShowContextMenu = computed(() => {
|
|
26
|
-
var _a, _b;
|
|
27
|
-
return ((_b = (_a = props.nodeModel) == null ? void 0 : _a.decontextMenu) == null ? void 0 : _b.detoolbarItems) && props.controller.model.codeName === "name";
|
|
28
|
-
});
|
|
29
22
|
const onCellClick = (event) => {
|
|
30
23
|
if (props.controller.hasAction) {
|
|
31
24
|
event.stopPropagation();
|
|
@@ -65,8 +58,7 @@ const GridFieldColumn = /* @__PURE__ */ defineComponent({
|
|
|
65
58
|
CustomHtml,
|
|
66
59
|
fieldValue,
|
|
67
60
|
formatValue,
|
|
68
|
-
tooltip
|
|
69
|
-
isShowContextMenu
|
|
61
|
+
tooltip
|
|
70
62
|
};
|
|
71
63
|
},
|
|
72
64
|
render() {
|
|
@@ -78,12 +70,6 @@ const GridFieldColumn = /* @__PURE__ */ defineComponent({
|
|
|
78
70
|
"actions-state": this.row.uiActionGroupStates[this.controller.model.codeName],
|
|
79
71
|
"onActionClick": this.onActionClick
|
|
80
72
|
}, null) : null;
|
|
81
|
-
const nodeContextMenu = this.isShowContextMenu ? createVNode("div", {
|
|
82
|
-
"class": this.ns.b("context-menu-trigger")
|
|
83
|
-
}, [createVNode("ion-icon", {
|
|
84
|
-
"class": this.ns.be("context-menu-trigger", "caption-icon"),
|
|
85
|
-
"name": "ellipsis-horizontal"
|
|
86
|
-
}, null)]) : null;
|
|
87
73
|
let content = null;
|
|
88
74
|
if (c.isCustomCode) {
|
|
89
75
|
content = createVNode("span", {
|
|
@@ -110,11 +96,11 @@ const GridFieldColumn = /* @__PURE__ */ defineComponent({
|
|
|
110
96
|
return createVNode("div", {
|
|
111
97
|
"class": [this.ns.b(), c.clickable(this.row) && this.ns.m("clickable"), this.ns.m(this.controller.grid.overflowMode), (_a = this.controller.model.cellSysCss) == null ? void 0 : _a.cssName, this.ns.is("has-action", !!c.model.deuiactionGroup)],
|
|
112
98
|
"onClick": this.onCellClick
|
|
113
|
-
}, [createVNode("div", {
|
|
99
|
+
}, [c.model.deuiactionGroup ? [createVNode("div", {
|
|
114
100
|
"class": this.ns.b("text-container")
|
|
115
|
-
}, [content]),
|
|
101
|
+
}, [content]), createVNode("div", {
|
|
116
102
|
"class": this.ns.b("toolbar-container")
|
|
117
|
-
}, [actionToolbar
|
|
103
|
+
}, [actionToolbar])] : content]);
|
|
118
104
|
}
|
|
119
105
|
});
|
|
120
106
|
|
|
@@ -7,9 +7,6 @@ export declare const IBizGridFieldColumn: import("@ibiz-template/vue3-util").Typ
|
|
|
7
7
|
type: typeof import("@ibiz-template/runtime").GridRowState;
|
|
8
8
|
required: true;
|
|
9
9
|
};
|
|
10
|
-
nodeModel: {
|
|
11
|
-
type: import("vue").PropType<import("@ibiz/model-core").IDETreeNode>;
|
|
12
|
-
};
|
|
13
10
|
}, {
|
|
14
11
|
ns: import("@ibiz-template/core").Namespace;
|
|
15
12
|
onCellClick: (event: MouseEvent) => void;
|
|
@@ -20,7 +17,6 @@ export declare const IBizGridFieldColumn: import("@ibiz-template/vue3-util").Typ
|
|
|
20
17
|
fieldValue: import("vue").ComputedRef<any>;
|
|
21
18
|
formatValue: import("vue").ComputedRef<string>;
|
|
22
19
|
tooltip: import("vue").ComputedRef<string | undefined>;
|
|
23
|
-
isShowContextMenu: import("vue").ComputedRef<boolean | undefined>;
|
|
24
20
|
}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
|
|
25
21
|
controller: {
|
|
26
22
|
type: typeof import("@ibiz-template/runtime").GridFieldColumnController;
|
|
@@ -30,8 +26,5 @@ export declare const IBizGridFieldColumn: import("@ibiz-template/vue3-util").Typ
|
|
|
30
26
|
type: typeof import("@ibiz-template/runtime").GridRowState;
|
|
31
27
|
required: true;
|
|
32
28
|
};
|
|
33
|
-
nodeModel: {
|
|
34
|
-
type: import("vue").PropType<import("@ibiz/model-core").IDETreeNode>;
|
|
35
|
-
};
|
|
36
29
|
}>>, {}, {}>>;
|
|
37
30
|
export default IBizGridFieldColumn;
|
|
@@ -33,10 +33,10 @@ const GridUAColumn = /* @__PURE__ */ defineComponent({
|
|
|
33
33
|
render() {
|
|
34
34
|
var _a, _b, _c;
|
|
35
35
|
return createVNode("div", {
|
|
36
|
-
"class": [this.ns.b(), (_a = this.controller.model.cellSysCss) == null ? void 0 : _a.cssName]
|
|
37
|
-
"onDblclick": this.onStopPropagation,
|
|
38
|
-
"onClick": this.onStopPropagation
|
|
36
|
+
"class": [this.ns.b(), (_a = this.controller.model.cellSysCss) == null ? void 0 : _a.cssName]
|
|
39
37
|
}, [((_c = (_b = this.controller.model.deuiactionGroup) == null ? void 0 : _b.uiactionGroupDetails) == null ? void 0 : _c.length) && createVNode(resolveComponent("iBizActionToolbar"), {
|
|
38
|
+
"onDblclick": this.onStopPropagation,
|
|
39
|
+
"onClick": this.onStopPropagation,
|
|
40
40
|
"action-details": this.controller.model.deuiactionGroup.uiactionGroupDetails,
|
|
41
41
|
"actions-state": this.row.uaColStates[this.controller.model.codeName],
|
|
42
42
|
"onActionClick": this.onActionClick
|
|
@@ -23,6 +23,7 @@ export declare const IBizSearchBarControl: import("@ibiz-template/vue3-util").Ty
|
|
|
23
23
|
onKeydown: (e: KeyboardEvent) => void;
|
|
24
24
|
onGroupClick: (item: import("@ibiz/model-core").ISearchBarGroup) => void;
|
|
25
25
|
triggerFilter: () => void;
|
|
26
|
+
handleSave: () => void;
|
|
26
27
|
}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
|
|
27
28
|
modelData: {
|
|
28
29
|
type: import("vue").PropType<import("@ibiz/model-core").ISearchBar>;
|
|
@@ -4,6 +4,7 @@ import { SearchBarControl } from './search-bar.mjs';
|
|
|
4
4
|
import { SearchBarProvider } from './search-bar.provider.mjs';
|
|
5
5
|
import { FilterTreeControl } from './filter-tree/filter-tree.mjs';
|
|
6
6
|
import { FilterModeSelect } from './filter-mode-select/filter-mode-select.mjs';
|
|
7
|
+
import { SearchGroups } from './search-groups/search-groups.mjs';
|
|
7
8
|
|
|
8
9
|
"use strict";
|
|
9
10
|
const IBizSearchBarControl = withInstall(
|
|
@@ -12,6 +13,7 @@ const IBizSearchBarControl = withInstall(
|
|
|
12
13
|
v.component(SearchBarControl.name, SearchBarControl);
|
|
13
14
|
v.component(FilterTreeControl.name, FilterTreeControl);
|
|
14
15
|
v.component(FilterModeSelect.name, FilterModeSelect);
|
|
16
|
+
v.component(SearchGroups.name, SearchGroups);
|
|
15
17
|
registerControlProvider(
|
|
16
18
|
ControlType.SEARCHBAR,
|
|
17
19
|
() => new SearchBarProvider()
|
|
@@ -1 +1 @@
|
|
|
1
|
-
@charset "UTF-8";.ibiz-control-searchbar{--ibiz-control-searchbar-quick-search-width:220px;--ibiz-control-searchbar-quick-group-item-padding:var(--ibiz-spacing-tight);--ibiz-control-searchbar-quick-group-item-margin:var(--ibiz-spacing-tight);display:flex;align-items:center;justify-content:flex-start;height:100%}.ibiz-control-searchbar .ibiz-control-searchbar-quick-search{width:var(--ibiz-control-searchbar-quick-search-width);font-size:14px;color:var(--ibiz-text-color);background:var(--ibiz-color-white);border:1px solid var(--ibiz-border-color);border-radius:4px}.ibiz-control-searchbar .ibiz-control-searchbar-quick-group{height:100%}.ibiz-control-searchbar .ibiz-control-searchbar-quick-group .ibiz-control-searchbar-quick-group-item{position:relative;display:inline-block;height:100%;padding:var(--ibiz-control-searchbar-quick-group-item-padding);margin-right:var(--ibiz-control-searchbar-quick-group-item-margin);font-size:var(--ibiz-font-size-regular);cursor:pointer}.ibiz-control-searchbar .ibiz-control-searchbar-quick-group .ibiz-control-searchbar-quick-group-item.is-selected::after{position:absolute;bottom:2px;left:0;width:100%;height:2px;content:"";background-color:var(--ibiz-color-primary)}.ibiz-control-searchbar .ibiz-control-searchbar-quick-group .ibiz-control-searchbar-quick-group-item:hover{color:var(--ibiz-color-primary)}.ibiz-control-searchbar .el-input__icon{cursor:pointer}
|
|
1
|
+
@charset "UTF-8";.ibiz-control-searchbar{--ibiz-control-searchbar-quick-search-width:220px;--ibiz-control-searchbar-quick-group-item-padding:var(--ibiz-spacing-tight);--ibiz-control-searchbar-quick-group-item-margin:var(--ibiz-spacing-tight);display:flex;align-items:center;justify-content:flex-start;height:100%}.ibiz-control-searchbar .ibiz-control-searchbar-quick-search{width:var(--ibiz-control-searchbar-quick-search-width);margin-left:var(--ibiz-spacing-base-tight);font-size:14px;color:var(--ibiz-text-color);background:var(--ibiz-color-white);border:1px solid var(--ibiz-border-color);border-radius:4px}.ibiz-control-searchbar .ibiz-control-searchbar-quick-group{height:100%}.ibiz-control-searchbar .ibiz-control-searchbar-quick-group .ibiz-control-searchbar-quick-group-item{position:relative;display:inline-block;height:100%;padding:var(--ibiz-control-searchbar-quick-group-item-padding);margin-right:var(--ibiz-control-searchbar-quick-group-item-margin);font-size:var(--ibiz-font-size-regular);cursor:pointer}.ibiz-control-searchbar .ibiz-control-searchbar-quick-group .ibiz-control-searchbar-quick-group-item.is-selected::after{position:absolute;bottom:2px;left:0;width:100%;height:2px;content:"";background-color:var(--ibiz-color-primary)}.ibiz-control-searchbar .ibiz-control-searchbar-quick-group .ibiz-control-searchbar-quick-group-item:hover{color:var(--ibiz-color-primary)}.ibiz-control-searchbar .el-input__icon{cursor:pointer}.ibiz-control-searchbar-filter{margin-left:var(--ibiz-spacing-base-tight)}.ibiz-control-searchbar-save{margin-left:var(--ibiz-spacing-base-tight)}
|
|
@@ -27,6 +27,7 @@ export declare const SearchBarControl: import("vue").DefineComponent<{
|
|
|
27
27
|
onKeydown: (e: KeyboardEvent) => void;
|
|
28
28
|
onGroupClick: (item: ISearchBarGroup) => void;
|
|
29
29
|
triggerFilter: () => void;
|
|
30
|
+
handleSave: () => void;
|
|
30
31
|
}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
|
|
31
32
|
modelData: {
|
|
32
33
|
type: PropType<ISearchBar>;
|
|
@@ -1,12 +1,9 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { computed, ref, resolveComponent, createVNode, defineComponent } from 'vue';
|
|
2
2
|
import { useControlController, useNamespace } from '@ibiz-template/vue3-util';
|
|
3
3
|
import './search-bar.css';
|
|
4
4
|
import { SearchBarController } from '@ibiz-template/runtime';
|
|
5
5
|
|
|
6
6
|
"use strict";
|
|
7
|
-
function _isSlot(s) {
|
|
8
|
-
return typeof s === "function" || Object.prototype.toString.call(s) === "[object Object]" && !isVNode(s);
|
|
9
|
-
}
|
|
10
7
|
const SearchBarControl = /* @__PURE__ */ defineComponent({
|
|
11
8
|
name: "IBizSearchBarControl",
|
|
12
9
|
props: {
|
|
@@ -80,6 +77,9 @@ const SearchBarControl = /* @__PURE__ */ defineComponent({
|
|
|
80
77
|
showFilter();
|
|
81
78
|
}
|
|
82
79
|
};
|
|
80
|
+
const handleSave = () => {
|
|
81
|
+
c.handleSave();
|
|
82
|
+
};
|
|
83
83
|
return {
|
|
84
84
|
c,
|
|
85
85
|
ns,
|
|
@@ -88,26 +88,11 @@ const SearchBarControl = /* @__PURE__ */ defineComponent({
|
|
|
88
88
|
onSearch,
|
|
89
89
|
onKeydown,
|
|
90
90
|
onGroupClick,
|
|
91
|
-
triggerFilter
|
|
91
|
+
triggerFilter,
|
|
92
|
+
handleSave
|
|
92
93
|
};
|
|
93
94
|
},
|
|
94
95
|
render() {
|
|
95
|
-
const quickSearchSlots = {};
|
|
96
|
-
if (this.c.model.enableFilter) {
|
|
97
|
-
quickSearchSlots.append = () => {
|
|
98
|
-
return createVNode(resolveComponent("el-button"), {
|
|
99
|
-
"ref": "filterButtonRef",
|
|
100
|
-
"type": "primary",
|
|
101
|
-
"onClick": () => this.triggerFilter()
|
|
102
|
-
}, {
|
|
103
|
-
default: () => [createVNode(resolveComponent("iBizIcon"), {
|
|
104
|
-
"icon": {
|
|
105
|
-
cssClass: "funnel-outline"
|
|
106
|
-
}
|
|
107
|
-
}, null)]
|
|
108
|
-
});
|
|
109
|
-
};
|
|
110
|
-
}
|
|
111
96
|
return createVNode(resolveComponent("iBizControlBase"), {
|
|
112
97
|
"controller": this.c,
|
|
113
98
|
"class": [this.ns.b()],
|
|
@@ -115,7 +100,9 @@ const SearchBarControl = /* @__PURE__ */ defineComponent({
|
|
|
115
100
|
}, {
|
|
116
101
|
default: () => {
|
|
117
102
|
var _a;
|
|
118
|
-
return [this.c.model.enableGroup && createVNode("
|
|
103
|
+
return [this.c.model.enableGroup && (this.c.isBackendSearchGroup ? createVNode(resolveComponent("iBizSearchGroups"), {
|
|
104
|
+
"controller": this.c
|
|
105
|
+
}, null) : createVNode("div", {
|
|
119
106
|
"class": this.ns.b("quick-group")
|
|
120
107
|
}, [(_a = this.c.model.searchBarGroups) == null ? void 0 : _a.map((groupItem) => {
|
|
121
108
|
var _a2;
|
|
@@ -123,7 +110,27 @@ const SearchBarControl = /* @__PURE__ */ defineComponent({
|
|
|
123
110
|
"class": [this.ns.b("quick-group-item"), this.ns.is("selected", ((_a2 = this.c.state.selectedGroupItem) == null ? void 0 : _a2.id) === groupItem.id)],
|
|
124
111
|
"onClick": () => this.onGroupClick(groupItem)
|
|
125
112
|
}, [groupItem.caption]);
|
|
126
|
-
})]), this.c.model.
|
|
113
|
+
})])), this.c.model.enableFilter && createVNode(resolveComponent("el-button"), {
|
|
114
|
+
"ref": "filterButtonRef",
|
|
115
|
+
"type": "primary",
|
|
116
|
+
"title": "\u8FC7\u6EE4",
|
|
117
|
+
"class": this.ns.b("filter"),
|
|
118
|
+
"onClick": () => this.triggerFilter()
|
|
119
|
+
}, {
|
|
120
|
+
default: () => [createVNode(resolveComponent("iBizIcon"), {
|
|
121
|
+
"icon": {
|
|
122
|
+
cssClass: "funnel-outline"
|
|
123
|
+
}
|
|
124
|
+
}, null)]
|
|
125
|
+
}), this.c.model.enableGroup && this.c.isBackendSearchGroup && createVNode(resolveComponent("el-button"), {
|
|
126
|
+
"class": this.ns.b("save"),
|
|
127
|
+
"title": "\u4FDD\u5B58",
|
|
128
|
+
"onClick": this.handleSave
|
|
129
|
+
}, {
|
|
130
|
+
default: () => [createVNode("ion-icon", {
|
|
131
|
+
"name": "save-outline"
|
|
132
|
+
}, null)]
|
|
133
|
+
}), this.c.model.enableQuickSearch && createVNode(resolveComponent("el-input"), {
|
|
127
134
|
"modelValue": this.c.state.query,
|
|
128
135
|
"onUpdate:modelValue": ($event) => this.c.state.query = $event,
|
|
129
136
|
"class": this.ns.b("quick-search"),
|
|
@@ -135,9 +142,7 @@ const SearchBarControl = /* @__PURE__ */ defineComponent({
|
|
|
135
142
|
"class": this.ns.e("search-icon"),
|
|
136
143
|
"name": "search"
|
|
137
144
|
}, null)
|
|
138
|
-
},
|
|
139
|
-
default: () => [quickSearchSlots]
|
|
140
|
-
})];
|
|
145
|
+
}, null)];
|
|
141
146
|
}
|
|
142
147
|
});
|
|
143
148
|
}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { SearchBarController } from '@ibiz-template/runtime';
|
|
2
|
+
import { Ref } from 'vue';
|
|
3
|
+
export declare function useEditGroup(c: SearchBarController): {
|
|
4
|
+
editDialogVisible: Ref<boolean>;
|
|
5
|
+
editForm: IData;
|
|
6
|
+
editFormRef: Ref<IData>;
|
|
7
|
+
editFormRules: IData;
|
|
8
|
+
handleEditFormSubmit: () => Promise<void>;
|
|
9
|
+
handleEditFormCancel: () => void;
|
|
10
|
+
};
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
import { ref, reactive } from 'vue';
|
|
2
|
+
|
|
3
|
+
"use strict";
|
|
4
|
+
function useEditGroup(c) {
|
|
5
|
+
const editDialogVisible = ref(false);
|
|
6
|
+
const editForm = reactive({
|
|
7
|
+
caption: ""
|
|
8
|
+
});
|
|
9
|
+
const editFormRef = ref();
|
|
10
|
+
const editFormRules = reactive({
|
|
11
|
+
caption: [{ required: true, message: "\u5206\u7EC4\u540D\u79F0\u4E0D\u80FD\u4E3A\u7A7A", trigger: "blur" }]
|
|
12
|
+
});
|
|
13
|
+
const handleEditFormSubmit = async () => {
|
|
14
|
+
if (editFormRef.value) {
|
|
15
|
+
await editFormRef.value.validate(
|
|
16
|
+
async (valid, _fields) => {
|
|
17
|
+
if (valid) {
|
|
18
|
+
if (c.currentEditGroup) {
|
|
19
|
+
const res = await c.service.update(c.currentEditGroup.id, {
|
|
20
|
+
caption: editForm.caption
|
|
21
|
+
});
|
|
22
|
+
if (res.ok) {
|
|
23
|
+
const index = c.state.searchBarGroups.findIndex(
|
|
24
|
+
(item) => item.id === c.currentEditGroup.id
|
|
25
|
+
);
|
|
26
|
+
if (index !== -1) {
|
|
27
|
+
c.state.searchBarGroups[index].caption = editForm.caption;
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
editDialogVisible.value = false;
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
);
|
|
35
|
+
}
|
|
36
|
+
};
|
|
37
|
+
const handleEditFormCancel = () => {
|
|
38
|
+
editDialogVisible.value = false;
|
|
39
|
+
};
|
|
40
|
+
return {
|
|
41
|
+
editDialogVisible,
|
|
42
|
+
editForm,
|
|
43
|
+
editFormRef,
|
|
44
|
+
editFormRules,
|
|
45
|
+
handleEditFormSubmit,
|
|
46
|
+
handleEditFormCancel
|
|
47
|
+
};
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
export { useEditGroup };
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { SearchBarController } from '@ibiz-template/runtime';
|
|
2
|
+
import { Ref } from 'vue';
|
|
3
|
+
export declare function useNewGroup(c: SearchBarController): {
|
|
4
|
+
newDialogVisible: Ref<boolean>;
|
|
5
|
+
newForm: IData;
|
|
6
|
+
newFormRef: Ref<IData>;
|
|
7
|
+
newFormRules: IData;
|
|
8
|
+
handleNewFormSubmit: () => Promise<void>;
|
|
9
|
+
handleNewFormCancel: () => void;
|
|
10
|
+
};
|