@voicenter-team/voicenter-ui-plus 3.0.0 → 3.0.2

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 (85) hide show
  1. package/library/assets/assets/sass/main.css +1 -1
  2. package/library/assets/components/VcButton/VcButton.css +1 -1
  3. package/library/assets/components/VcButton/VcButtonIcon.css +1 -1
  4. package/library/assets/components/VcDelimitedList/VcDelimitedList.css +1 -1
  5. package/library/assets/components/VcExcelUploader/VcExcelFileUploadBlock.css +1 -1
  6. package/library/assets/components/VcModal/VcModal.css +1 -1
  7. package/library/assets/components/VcSoundplayer/VcSoundPlayer.css +1 -1
  8. package/library/assets/components/VcSplitButton/VcSplitButton.css +1 -1
  9. package/library/assets/components/VcTable/VcTable.css +1 -1
  10. package/library/assets/entity/components/Form/VcBaseVerticalForm.css +1 -1
  11. package/library/assets/entity/components/Table/VcEntityListTable.css +1 -1
  12. package/library/assets/entity/components/Tabs/VcEntityEditableTabs.css +1 -1
  13. package/library/components/VcButton/VcButton.vue.mjs +3 -2
  14. package/library/components/VcButton/VcButtonIcon.vue.mjs +92 -5
  15. package/library/components/VcButton/VcButtonIcon.vue3.mjs +5 -0
  16. package/library/components/VcButton/VcToggleButton.vue.mjs +20 -7
  17. package/library/components/VcDelimitedList/VcDelimitedList.vue.mjs +194 -5
  18. package/library/components/VcDelimitedList/VcDelimitedList.vue3.mjs +5 -0
  19. package/library/components/VcExcelUploader/VcExcelFileUploadBlock.vue.mjs +140 -5
  20. package/library/components/VcExcelUploader/VcExcelFileUploadBlock.vue3.mjs +5 -0
  21. package/library/components/VcExcelUploader/VcExcelFileUploader.vue.mjs +6 -5
  22. package/library/components/VcExcelUploader/VcFileImportParseResultBlock.vue.mjs +5 -3
  23. package/library/components/VcExcelUploader/VcFileImportResultBindDataTable.vue.mjs +21 -18
  24. package/library/components/VcExtendedDatetimeRangePicker/VcExtendedDatetimeRangePickerQuickOptionsSelection.vue.mjs +4 -3
  25. package/library/components/VcFileUploader/VcFileUploader.vue2.mjs +11 -9
  26. package/library/components/VcHtmlEditor/VcHtmlEditorToolbar.vue.mjs +10 -9
  27. package/library/components/VcIcon/VcIcon.vue.mjs +7 -3
  28. package/library/components/VcJsonSchema/Components/JsonSchemaEditor.vue.mjs +8 -7
  29. package/library/components/VcJsonSchema/PropertySetup/JsonSchemaPropertyModal.vue.mjs +10 -9
  30. package/library/components/VcMdEditor/ParameterNode.vue2.mjs +6 -5
  31. package/library/components/VcMdEditor/VcMdEditor.vue.mjs +8 -7
  32. package/library/components/VcPagination/VcPaginationButton.vue.mjs +3 -2
  33. package/library/components/VcSelect/VcSelect.vue.mjs +9 -5
  34. package/library/components/VcSoundplayer/VcSoundPlayer.vue.mjs +274 -5
  35. package/library/components/VcSoundplayer/VcSoundPlayer.vue3.mjs +5 -0
  36. package/library/components/VcSplitButton/VcSplitButton.vue.mjs +4 -3
  37. package/library/components/VcTable/VcTable.vue.mjs +1072 -6
  38. package/library/components/VcTable/VcTable.vue4.mjs +6 -0
  39. package/library/components/VcTree/VcTreeSelect.vue.mjs +8 -7
  40. package/library/entity/components/Button/VcEntityDeleteIconButton.vue.mjs +3 -2
  41. package/library/entity/components/Button/VcEntityEditIconButton.vue.mjs +3 -2
  42. package/library/entity/components/Form/VcBaseVerticalForm.vue.mjs +95 -5
  43. package/library/entity/components/Form/VcBaseVerticalForm.vue3.mjs +5 -0
  44. package/library/entity/components/Form/VcEntityVerticalCreateForm.vue.mjs +3 -2
  45. package/library/entity/components/Form/VcEntityVerticalEditForm.vue.mjs +9 -8
  46. package/library/entity/components/Table/VcEntityListTable.vue.mjs +414 -5
  47. package/library/entity/components/Table/VcEntityListTable.vue3.mjs +5 -0
  48. package/library/entity/components/Tabs/VcEntityEditableTabs.vue.mjs +287 -5
  49. package/library/entity/components/Tabs/VcEntityEditableTabs.vue3.mjs +5 -0
  50. package/library/index.mjs +8 -0
  51. package/library/index.mjs.br +0 -0
  52. package/library/index.mjs.gz +0 -0
  53. package/library/plugin.mjs +272 -264
  54. package/library/plugin.mjs.br +0 -0
  55. package/library/plugin.mjs.gz +0 -0
  56. package/library/style.css +12 -12
  57. package/library/style.css.br +0 -0
  58. package/library/style.css.gz +0 -0
  59. package/library/types/components/VcButton/VcButton.vue.d.ts +1 -1
  60. package/library/types/components/VcButton/VcToggleButton.vue.d.ts +4 -0
  61. package/library/types/components/VcDelimitedList/VcDelimitedList.vue.d.ts +1 -2
  62. package/library/types/components/VcIcon/VcIcon.vue.d.ts +1 -0
  63. package/library/types/components/VcLoading/VcLoading.vue.d.ts +1 -1
  64. package/library/types/components/VcOtpInput/VcOtpInput.vue.d.ts +1 -1
  65. package/library/types/components/VcSelect/VcInfiniteScrollSelect.vue.d.ts +2 -2
  66. package/library/types/components/VcSelect/VcSelect.vue.d.ts +3 -3
  67. package/library/types/components/VcSelect/VcSelectGrouped.vue.d.ts +4 -4
  68. package/library/types/components/VcSipFlow/VcSipFlow.vue.d.ts +1 -1
  69. package/library/types/components/VcSplitButton/VcSplitButton.vue.d.ts +1 -1
  70. package/library/types/components/VcSwitch/VcSwitch.vue.d.ts +3 -3
  71. package/library/types/components/VcTable/VcTable.vue.d.ts +17 -17
  72. package/library/types/components/VcTree/VcTree.vue.d.ts +3 -3
  73. package/library/types/components/VcTree/VcTreeSelect.vue.d.ts +3 -3
  74. package/library/types/types/OptionAndConfig.types.d.ts +1 -1
  75. package/library/types/types/VcTable.types.d.ts +2 -2
  76. package/library/types/types/VcTree.types.d.ts +2 -2
  77. package/package.json +1 -1
  78. package/library/components/VcButton/VcButtonIcon.vue2.mjs +0 -92
  79. package/library/components/VcDelimitedList/VcDelimitedList.vue2.mjs +0 -195
  80. package/library/components/VcExcelUploader/VcExcelFileUploadBlock.vue2.mjs +0 -141
  81. package/library/components/VcSoundplayer/VcSoundPlayer.vue2.mjs +0 -275
  82. package/library/components/VcTable/VcTable.vue2.mjs +0 -1069
  83. package/library/entity/components/Form/VcBaseVerticalForm.vue2.mjs +0 -96
  84. package/library/entity/components/Table/VcEntityListTable.vue2.mjs +0 -413
  85. package/library/entity/components/Tabs/VcEntityEditableTabs.vue2.mjs +0 -288
@@ -1,96 +0,0 @@
1
- import { defineComponent, openBlock, createBlock, withCtx, createElementVNode, createElementBlock, createTextVNode, toDisplayString, renderSlot, createCommentVNode, createVNode, unref } from "vue";
2
- import _sfc_main$1 from "../../../components/VcCard/VcCard.vue.mjs";
3
- import '../../../assets/components/VcButton/VcButton.css';import '../../../assets/components/VcCard/VcCard.css';/* empty css */
4
- import _sfc_main$2 from "../../../components/VcButton/VcButton.vue.mjs";
5
- /* empty css */
6
- import { tVU } from "../../../localization/index.mjs";
7
- const _hoisted_1 = { class: "vc-base-vertical-form__wrap" };
8
- const _hoisted_2 = { class: "vc-base-vertical-form__content" };
9
- const _hoisted_3 = { class: "w-full" };
10
- const _hoisted_4 = {
11
- key: 0,
12
- class: "vc-base-vertical-form__header px-3"
13
- };
14
- const _hoisted_5 = { class: "vc-base-vertical-form__form-content" };
15
- const _hoisted_6 = { class: "vc-base-vertical-form__footer px-3" };
16
- const _hoisted_7 = { class: "footer-add-action flex-grow sm:flex-grow-0" };
17
- const _hoisted_8 = { class: "footer-actions" };
18
- const _sfc_main = /* @__PURE__ */ defineComponent({
19
- __name: "VcBaseVerticalForm",
20
- props: {
21
- formTitle: { default: "" },
22
- loading: { type: Boolean, default: false },
23
- disabledSave: { type: Boolean, default: false },
24
- hideTitle: { type: Boolean, default: false }
25
- },
26
- emits: ["cancel", "save"],
27
- setup(__props, { emit: __emit }) {
28
- const emit = __emit;
29
- const onCancel = () => {
30
- emit("cancel");
31
- };
32
- const onSave = () => {
33
- emit("save");
34
- };
35
- return (_ctx, _cache) => {
36
- return openBlock(), createBlock(_sfc_main$1, { class: "vc-base-vertical-form" }, {
37
- default: withCtx(() => [
38
- createElementVNode("div", _hoisted_1, [
39
- createElementVNode("div", _hoisted_2, [
40
- createElementVNode("div", _hoisted_3, [
41
- !__props.hideTitle ? (openBlock(), createElementBlock("div", _hoisted_4, [
42
- createTextVNode(toDisplayString(__props.formTitle) + " ", 1),
43
- renderSlot(_ctx.$slots, "header-action", {}, void 0, true)
44
- ])) : createCommentVNode("", true),
45
- createElementVNode("div", _hoisted_5, [
46
- renderSlot(_ctx.$slots, "default", {}, () => [
47
- _cache[0] || (_cache[0] = createTextVNode("Form Content", -1))
48
- ], true)
49
- ])
50
- ]),
51
- _cache[1] || (_cache[1] = createElementVNode("hr", { class: "border border-ui-lines mx-3" }, null, -1)),
52
- createElementVNode("div", _hoisted_6, [
53
- createElementVNode("div", _hoisted_7, [
54
- renderSlot(_ctx.$slots, "additional-action", {}, void 0, true)
55
- ]),
56
- createElementVNode("div", _hoisted_8, [
57
- createVNode(_sfc_main$2, {
58
- icon: "vc-icon-cancel",
59
- color: "secondary",
60
- type: "outline",
61
- size: "large",
62
- block: "",
63
- onClick: onCancel
64
- }, {
65
- default: withCtx(() => [
66
- createTextVNode(toDisplayString(unref(tVU).t("voicenterUi.general.cancel")), 1)
67
- ]),
68
- _: 1
69
- }),
70
- createVNode(_sfc_main$2, {
71
- block: "",
72
- loading: __props.loading,
73
- disabled: __props.disabledSave,
74
- icon: "vc-icon-save",
75
- color: "primary",
76
- size: "large",
77
- onClick: onSave
78
- }, {
79
- default: withCtx(() => [
80
- createTextVNode(toDisplayString(unref(tVU).t("voicenterUi.general.save")), 1)
81
- ]),
82
- _: 1
83
- }, 8, ["loading", "disabled"])
84
- ])
85
- ])
86
- ])
87
- ])
88
- ]),
89
- _: 3
90
- });
91
- };
92
- }
93
- });
94
- export {
95
- _sfc_main as default
96
- };
@@ -1,413 +0,0 @@
1
- import { defineComponent, useSlots, useAttrs, ref, computed, watch, openBlock, createElementBlock, createVNode, mergeProps, unref, createSlots, withCtx, createElementVNode, createBlock, renderSlot, createCommentVNode, createTextVNode, toDisplayString, renderList, normalizeProps, guardReactiveProps } from "vue";
2
- import { Trash2 } from "@lucide/vue";
3
- import _sfc_main$4 from "../../../components/VcInput/VcInput.vue.mjs";
4
- import '../../../assets/components/VcButton/VcButton.css';import '../../../assets/components/VcInput/VcInput.css';/* empty css */
5
- import VcTable from "../../../components/VcTable/VcTable.vue.mjs";
6
- import { useEntityInject } from "../../composable/useEntityProvideInject.mjs";
7
- import { useEntityListTableInject } from "../../composable/useEntityListTableExternalPaginate.mjs";
8
- import { refDebounced } from "@vueuse/core";
9
- import { get } from "lodash-es";
10
- import _sfc_main$6 from "../Button/VcEntityAddButton.vue.mjs";
11
- import _sfc_main$1 from "../Button/VcEntityRestoreButton.vue.mjs";
12
- import _sfc_main$2 from "../Button/VcEntityEditIconButton.vue.mjs";
13
- import _sfc_main$3 from "../Button/VcEntityDeleteIconButton.vue.mjs";
14
- import { tVU } from "../../../localization/index.mjs";
15
- import _sfc_main$5 from "../../../components/VcButton/VcButton.vue.mjs";
16
- /* empty css */
17
- const _hoisted_1 = { class: "vc-entity-list-table__wrap relative" };
18
- const _hoisted_2 = { key: 0 };
19
- const _hoisted_3 = ["colspan"];
20
- const _hoisted_4 = { class: "w-full p-4 items-center flex flex-col" };
21
- const _hoisted_5 = { class: "text-default-text text-sm font-semibold" };
22
- const _hoisted_6 = { class: "flex-center px-2" };
23
- const _hoisted_7 = { class: "flex justify-between flex-wrap md:flex-nowrap gap-2" };
24
- const _hoisted_8 = { class: "left-header-actions flex items-center order-2 md:order-1 w-full md:w-auto" };
25
- const _hoisted_9 = {
26
- key: 0,
27
- class: "md:mx-6 w-full md:w-60"
28
- };
29
- const _hoisted_10 = { class: "right-header-actions flex items-center flex-wrap md:flex-nowrap gap-2 order-1 md:order-2" };
30
- const _hoisted_11 = { class: "flex items-center justify-center gap-1" };
31
- const _hoisted_12 = {
32
- key: 1,
33
- class: "flex-center gap-1"
34
- };
35
- const _hoisted_13 = {
36
- key: 0,
37
- class: "vc-entity-table-disabled-overflow"
38
- };
39
- const _sfc_main = /* @__PURE__ */ defineComponent({
40
- __name: "VcEntityListTable",
41
- props: {
42
- columns: {},
43
- data: { default: () => [] },
44
- searchKeys: { default: () => [] },
45
- showRecycleBinAction: { type: Boolean, default: true },
46
- showActionColumns: { type: Boolean, default: true },
47
- showSelection: { type: Boolean, default: false },
48
- disabled: { type: Boolean, default: false },
49
- addEntityLabel: { default: "" },
50
- tableNoDataText: { default: "" },
51
- inputSearch: { default: "" },
52
- loaderType: { default: "lds-spinner" },
53
- editIcon: { default: "vc-icon-settings" },
54
- editIconAnimate: { type: Boolean, default: true },
55
- deleteIcon: { default: () => Trash2 }
56
- },
57
- emits: ["handle-selection-change", "edit", "add", "update:inputSearch"],
58
- setup(__props, { expose: __expose, emit: __emit }) {
59
- const props = __props;
60
- const emit = __emit;
61
- const slots = useSlots();
62
- const attrs = useAttrs();
63
- const {
64
- entity,
65
- loading,
66
- editableTabs,
67
- onEditFunction,
68
- onDeleteFunction,
69
- onRestoreFunction,
70
- onRecycleBinToggleFunction,
71
- onCreateFunction,
72
- onEntityTableDeleteSelectedFunction
73
- } = useEntityInject();
74
- const { perPageOptions, loadPaginatedDataFunction, updateCurrentPaginationDataModel, currentPaginationDataModel } = useEntityListTableInject();
75
- const selectedItems = ref([]);
76
- const localData = ref([]);
77
- const isRecycleBin = ref(false);
78
- const searchModel = ref("");
79
- const searchInputRef = ref();
80
- const debouncedSearchModel = refDebounced(searchModel, 300);
81
- const usedSlots = computed(() => {
82
- return Object.keys(slots);
83
- });
84
- const paginationModelToTablePaginationType = computed(() => {
85
- return {
86
- currentPage: (currentPaginationDataModel == null ? void 0 : currentPaginationDataModel.value.Page) || 1,
87
- perPage: (currentPaginationDataModel == null ? void 0 : currentPaginationDataModel.value.PerPage) || 10,
88
- total: (currentPaginationDataModel == null ? void 0 : currentPaginationDataModel.value.Total) || 0
89
- };
90
- });
91
- const externalPaginate = computed(() => {
92
- if (entity == null ? void 0 : entity.hasPagination) {
93
- return paginationModelToTablePaginationType.value;
94
- } else {
95
- return void 0;
96
- }
97
- });
98
- const dataSearched = computed(() => {
99
- if (!props.searchKeys.length || !debouncedSearchModel.value) {
100
- return localData.value;
101
- }
102
- return localData.value.filter((el) => {
103
- const searchByString = props.searchKeys.map((key) => get(el, key, "")).join(" ").toLowerCase();
104
- return searchByString.includes(debouncedSearchModel.value.toLowerCase());
105
- });
106
- });
107
- const isShowSelection = computed(() => {
108
- return props.showSelection || onEntityTableDeleteSelectedFunction !== void 0;
109
- });
110
- async function loadInitialExternalPaginateData() {
111
- await loadPaginatedDataFunction();
112
- }
113
- async function onUpdatePagination(paginationData) {
114
- if (externalPaginate.value) {
115
- if (updateCurrentPaginationDataModel) {
116
- updateCurrentPaginationDataModel({
117
- Page: paginationData.currentPage,
118
- PerPage: paginationData.perPage
119
- });
120
- }
121
- await loadPaginatedDataFunction();
122
- }
123
- }
124
- function recycleBinClickHandler() {
125
- isRecycleBin.value = !isRecycleBin.value;
126
- if (onRecycleBinToggleFunction) {
127
- onRecycleBinToggleFunction(isRecycleBin.value);
128
- }
129
- }
130
- function deleteClickHandler(entityData, index) {
131
- if (onDeleteFunction) {
132
- onDeleteFunction(entityData, index).then(() => {
133
- var _a, _b;
134
- if (editableTabs) {
135
- (_b = editableTabs.value) == null ? void 0 : _b.removeTab(((_a = editableTabs.value) == null ? void 0 : _a.createTabName(entityData)) ?? "");
136
- }
137
- });
138
- }
139
- }
140
- function editClickHandler(entityData) {
141
- if (onEditFunction && !isEditDisabled(entityData)) {
142
- onEditFunction(entityData);
143
- emit("edit", entityData);
144
- }
145
- }
146
- function restoreClickHandler(entityData) {
147
- if (onRestoreFunction) {
148
- onRestoreFunction(entityData);
149
- }
150
- }
151
- function addNewClickHandler() {
152
- if (onCreateFunction) {
153
- onCreateFunction();
154
- emit("add");
155
- }
156
- }
157
- function handleSelectionChange(entityDataList) {
158
- selectedItems.value = entityDataList;
159
- emit("handle-selection-change", entityDataList);
160
- }
161
- function deleteSelectedClickHandler() {
162
- if (!onEntityTableDeleteSelectedFunction) {
163
- return;
164
- }
165
- onEntityTableDeleteSelectedFunction(selectedItems.value);
166
- }
167
- function mapDataWithDisabledIfHasNoPermissionsProp(data) {
168
- return data.map((option) => {
169
- return {
170
- ...option,
171
- hasNoPermissionsToSelect: isDeleteDisabled(option)
172
- // !option?.permissions?.delete || !option?.permissions?.edit
173
- };
174
- });
175
- }
176
- function isEditDisabled(data) {
177
- if ((data == null ? void 0 : data.editDisabled) === void 0) {
178
- return !(entity == null ? void 0 : entity.canEdit(data));
179
- } else {
180
- return data.editDisabled;
181
- }
182
- }
183
- function isDeleteDisabled(data) {
184
- if ((data == null ? void 0 : data.deleteDisabled) === void 0) {
185
- return !(entity == null ? void 0 : entity.canDelete(data));
186
- } else {
187
- return data.deleteDisabled;
188
- }
189
- }
190
- watch(
191
- () => props.data,
192
- (data) => {
193
- localData.value = mapDataWithDisabledIfHasNoPermissionsProp(data);
194
- selectedItems.value = (data == null ? void 0 : data.filter((value) => value.selected)) || [];
195
- },
196
- {
197
- deep: true,
198
- immediate: true
199
- }
200
- );
201
- watch(
202
- () => props.inputSearch,
203
- (val) => {
204
- if (val !== void 0) {
205
- searchModel.value = val;
206
- }
207
- },
208
- {
209
- immediate: true
210
- }
211
- );
212
- watch(
213
- debouncedSearchModel,
214
- (val) => {
215
- emit("update:inputSearch", val || "");
216
- }
217
- );
218
- if (entity == null ? void 0 : entity.hasPagination) {
219
- loadInitialExternalPaginateData();
220
- }
221
- __expose({
222
- deleteClickHandler,
223
- editClickHandler,
224
- onUpdatePagination,
225
- setSearchInputValue: (val) => searchModel.value = val,
226
- getSearchInputValue: () => searchModel.value
227
- });
228
- return (_ctx, _cache) => {
229
- var _a;
230
- return openBlock(), createElementBlock("div", _hoisted_1, [
231
- createVNode(VcTable, mergeProps(unref(attrs), {
232
- options: dataSearched.value,
233
- columns: props.columns,
234
- loading: !!unref(loading),
235
- "show-selection": isShowSelection.value,
236
- "show-actions-column": __props.showActionColumns,
237
- "with-pagination": "",
238
- "is-server-data": (_a = unref(entity)) == null ? void 0 : _a.hasPagination,
239
- "per-page-options": unref(perPageOptions),
240
- "external-paginate": externalPaginate.value,
241
- config: {
242
- disabledKey: "hasNoPermissionsToSelect"
243
- },
244
- "loader-type": __props.loaderType,
245
- "onUpdate:currentPage": onUpdatePagination,
246
- "onUpdate:perPage": onUpdatePagination,
247
- onOnRowDbclick: editClickHandler,
248
- onHandleSelectionChange: handleSelectionChange
249
- }), createSlots({
250
- "empty-data": withCtx(() => {
251
- var _a2;
252
- return [
253
- !unref(loading) ? (openBlock(), createElementBlock("tr", _hoisted_2, [
254
- createElementVNode("td", {
255
- colspan: ((_a2 = props.columns) == null ? void 0 : _a2.length) + 1
256
- }, [
257
- createElementVNode("div", _hoisted_4, [
258
- createElementVNode("div", _hoisted_5, toDisplayString(__props.tableNoDataText || unref(tVU).t("voicenterUi.general.no.data")), 1),
259
- isRecycleBin.value ? (openBlock(), createBlock(_sfc_main$5, {
260
- key: 0,
261
- type: "borderless",
262
- icon: "vc-icon-exit-recycle-bin",
263
- "data-test-name": "exit-recycle-bit-button",
264
- onClick: recycleBinClickHandler
265
- }, {
266
- default: withCtx(() => [
267
- createTextVNode(toDisplayString(unref(tVU).t("voicenterUi.general.exitRecycleBin")), 1)
268
- ]),
269
- _: 1
270
- })) : unref(onCreateFunction) ? renderSlot(_ctx.$slots, "add-entity-button", {
271
- key: 1,
272
- entity: unref(entity)
273
- }, () => [
274
- createVNode(_sfc_main$6, {
275
- entity: unref(entity),
276
- "add-entity-label": __props.addEntityLabel,
277
- onClick: addNewClickHandler
278
- }, null, 8, ["entity", "add-entity-label"])
279
- ], true) : createCommentVNode("", true)
280
- ])
281
- ], 8, _hoisted_3)
282
- ])) : createCommentVNode("", true)
283
- ];
284
- }),
285
- "header-filter": withCtx(() => [
286
- renderSlot(_ctx.$slots, "filter-actions", {}, void 0, true)
287
- ]),
288
- "checked-tooltip": withCtx(() => [
289
- renderSlot(_ctx.$slots, "checked-tooltip", {}, () => [
290
- createElementVNode("div", _hoisted_6, [
291
- unref(onEntityTableDeleteSelectedFunction) && selectedItems.value.length ? (openBlock(), createBlock(_sfc_main$5, {
292
- key: 0,
293
- color: "destructive",
294
- type: "borderless",
295
- icon: "vc-icon-recycle-bin",
296
- "data-test-name": "recycle-bin-button",
297
- onClick: deleteSelectedClickHandler
298
- }, {
299
- default: withCtx(() => [
300
- createTextVNode(toDisplayString(unref(tVU).t("voicenterUi.general.delete")), 1)
301
- ]),
302
- _: 1
303
- })) : createCommentVNode("", true)
304
- ])
305
- ], true)
306
- ]),
307
- "header-actions": withCtx(() => {
308
- var _a2;
309
- return [
310
- createElementVNode("div", _hoisted_7, [
311
- createElementVNode("div", _hoisted_8, [
312
- ((_a2 = __props.searchKeys) == null ? void 0 : _a2.length) ? (openBlock(), createElementBlock("div", _hoisted_9, [
313
- createVNode(_sfc_main$4, {
314
- ref_key: "searchInputRef",
315
- ref: searchInputRef,
316
- modelValue: searchModel.value,
317
- "onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => searchModel.value = $event),
318
- placeholder: unref(tVU).t("voicenterUi.general.search"),
319
- clearable: "",
320
- "prefix-icon": "vc-icon-search",
321
- "data-test-name": "table-search"
322
- }, null, 8, ["modelValue", "placeholder"])
323
- ])) : createCommentVNode("", true)
324
- ]),
325
- createElementVNode("div", _hoisted_10, [
326
- renderSlot(_ctx.$slots, "pre-header-actions", {}, void 0, true),
327
- __props.showRecycleBinAction && unref(onRecycleBinToggleFunction) ? (openBlock(), createBlock(_sfc_main$5, {
328
- key: 0,
329
- type: "borderless",
330
- "data-test-name": "RecycleBin-button",
331
- icon: isRecycleBin.value ? "vc-icon-exit-recycle-bin" : "vc-icon-recycle-bin",
332
- onClick: recycleBinClickHandler
333
- }, {
334
- default: withCtx(() => [
335
- createTextVNode(toDisplayString(isRecycleBin.value ? unref(tVU).t("voicenterUi.general.exitRecycleBin") : unref(tVU).t("voicenterUi.general.recycleBin")), 1)
336
- ]),
337
- _: 1
338
- }, 8, ["icon"])) : createCommentVNode("", true),
339
- !isRecycleBin.value && unref(onCreateFunction) ? renderSlot(_ctx.$slots, "add-entity-button", {
340
- key: 1,
341
- entity: unref(entity)
342
- }, () => [
343
- createVNode(_sfc_main$6, {
344
- entity: unref(entity),
345
- "add-entity-label": __props.addEntityLabel,
346
- onClick: addNewClickHandler
347
- }, null, 8, ["entity", "add-entity-label"])
348
- ], true) : createCommentVNode("", true)
349
- ])
350
- ])
351
- ];
352
- }),
353
- "actions-column": withCtx(({ row, index }) => [
354
- createElementVNode("div", _hoisted_11, [
355
- isRecycleBin.value ? (openBlock(), createBlock(_sfc_main$1, {
356
- key: 0,
357
- "entity-data": row,
358
- entity: unref(entity),
359
- disabled: !unref(onRestoreFunction),
360
- "data-test-name": "restore-button",
361
- onRestore: restoreClickHandler
362
- }, null, 8, ["entity-data", "entity", "disabled"])) : (openBlock(), createElementBlock("div", _hoisted_12, [
363
- renderSlot(_ctx.$slots, "pre-column-actions", {
364
- row,
365
- index
366
- }, void 0, true),
367
- renderSlot(_ctx.$slots, "column-actions", {}, () => [
368
- unref(onEditFunction) ? (openBlock(), createBlock(_sfc_main$2, {
369
- key: 0,
370
- "entity-data": row,
371
- entity: unref(entity),
372
- disabled: isEditDisabled(row),
373
- icon: __props.editIcon,
374
- animate: __props.editIconAnimate,
375
- "data-test-name": "edit-button",
376
- onClick: ($event) => editClickHandler(row)
377
- }, null, 8, ["entity-data", "entity", "disabled", "icon", "animate", "onClick"])) : createCommentVNode("", true),
378
- unref(onDeleteFunction) ? (openBlock(), createBlock(_sfc_main$3, {
379
- key: 1,
380
- "entity-data": row,
381
- entity: unref(entity),
382
- disabled: isDeleteDisabled(row),
383
- icon: __props.deleteIcon,
384
- "data-test-name": "delete-button",
385
- onDelete: ($event) => deleteClickHandler($event, index)
386
- }, null, 8, ["entity-data", "entity", "disabled", "icon", "onDelete"])) : createCommentVNode("", true)
387
- ], true),
388
- renderSlot(_ctx.$slots, "post-column-actions", {
389
- row,
390
- index
391
- }, void 0, true)
392
- ]))
393
- ])
394
- ]),
395
- _: 2
396
- }, [
397
- renderList(usedSlots.value, (slotItem) => {
398
- return {
399
- name: slotItem,
400
- fn: withCtx((slotData) => [
401
- renderSlot(_ctx.$slots, slotItem, normalizeProps(guardReactiveProps(slotData)), void 0, true)
402
- ])
403
- };
404
- })
405
- ]), 1040, ["options", "columns", "loading", "show-selection", "show-actions-column", "is-server-data", "per-page-options", "external-paginate", "loader-type"]),
406
- __props.disabled ? (openBlock(), createElementBlock("div", _hoisted_13)) : createCommentVNode("", true)
407
- ]);
408
- };
409
- }
410
- });
411
- export {
412
- _sfc_main as default
413
- };