+
+
+
+
+
+
{{ item.name }}
@@ -81,53 +81,54 @@
{{ prettifyDateTime(item.createdAt) }}
- {{ item.createdBy.name }}
+ {{ item.createdBy?.name }}
{{ prettifyDateTime(item.updatedAt) }}
- {{ item.updatedBy.name }}
+ {{ item.updatedBy?.name }}
deleteData(item),
- })"
+ action="delete"
+ @click="
+ askDeleteConfirmation({
+ deleted: [item],
+ callback: () => deleteEls([item]),
+ })
+ "
/>
@@ -135,89 +136,104 @@
-
-
-
diff --git a/src/modules/lookups/modules/quick-replies/store/quick-replies.js b/src/modules/lookups/modules/quick-replies/store/quick-replies.js
deleted file mode 100644
index bfd0fc275..000000000
--- a/src/modules/lookups/modules/quick-replies/store/quick-replies.js
+++ /dev/null
@@ -1,22 +0,0 @@
-import ObjectStoreModule from '../../../../../app/store/BaseStoreModules/StoreModules/ObjectStoreModule';
-import QuickRepliesAPI from '../api/quickReplies';
-import headers from './_internals/headers';
-
-const resettableState = {
- itemInstance: {
- name: '',
- teams: [],
- queues: [],
- text: '',
- },
-};
-
-const quickReplies = new ObjectStoreModule({
- resettableState,
- headers,
-})
- .attachAPIModule(QuickRepliesAPI)
- .generateAPIActions()
- .getModule();
-
-export default quickReplies;
diff --git a/src/modules/lookups/modules/quick-replies/stores/card/quickRepliesCardStore.ts b/src/modules/lookups/modules/quick-replies/stores/card/quickRepliesCardStore.ts
new file mode 100644
index 000000000..0200881fe
--- /dev/null
+++ b/src/modules/lookups/modules/quick-replies/stores/card/quickRepliesCardStore.ts
@@ -0,0 +1,12 @@
+import { QuickRepliesAPI } from '@webitel/api-services/api';
+import type { EngineQuickReply } from '@webitel/api-services/gen/models';
+import { quickReplySchema as standardValidationSchema } from '@webitel/api-services/validations';
+import { createCardStore } from '@webitel/ui-datalist/card';
+
+import { QuickRepliesNamespace } from '../namespace';
+
+export const useQuickRepliesCardStore = createCardStore
({
+ namespace: `${QuickRepliesNamespace}/card`,
+ apiModule: QuickRepliesAPI,
+ standardValidationSchema,
+});
diff --git a/src/modules/lookups/modules/quick-replies/store/_internals/headers.js b/src/modules/lookups/modules/quick-replies/stores/datalist/_internals/headers.ts
similarity index 79%
rename from src/modules/lookups/modules/quick-replies/store/_internals/headers.js
rename to src/modules/lookups/modules/quick-replies/stores/datalist/_internals/headers.ts
index 65cea0848..33313a9b7 100644
--- a/src/modules/lookups/modules/quick-replies/store/_internals/headers.js
+++ b/src/modules/lookups/modules/quick-replies/stores/datalist/_internals/headers.ts
@@ -1,50 +1,59 @@
+import type { DatalistTableHeader } from '@webitel/ui-datalist';
import { SortSymbols } from '@webitel/ui-sdk/src/scripts/sortQueryAdapters';
-export default [
+export const headers: DatalistTableHeader[] = [
{
value: 'name',
locale: 'objects.name',
field: 'name',
+ show: true,
sort: SortSymbols.NONE,
},
{
value: 'text',
locale: 'vocabulary.text',
field: 'text',
+ show: true,
sort: SortSymbols.NONE,
},
{
value: 'teams',
locale: 'objects.team',
field: 'teams',
+ show: true,
},
{
value: 'queues',
locale: 'objects.ccenter.queues.queues',
field: 'queues',
+ show: true,
},
{
value: 'createdAt',
locale: 'reusable.createdAt',
field: 'created_at',
+ show: true,
sort: SortSymbols.NONE,
},
{
value: 'createdBy',
locale: 'reusable.createdBy',
field: 'created_by',
+ show: true,
sort: SortSymbols.NONE,
},
{
value: 'updatedAt',
locale: 'reusable.modifiedAt',
field: 'updated_at',
+ show: true,
sort: SortSymbols.NONE,
},
{
value: 'updatedBy',
locale: 'reusable.modifiedBy',
field: 'updated_by',
+ show: true,
sort: SortSymbols.NONE,
},
];
diff --git a/src/modules/lookups/modules/quick-replies/stores/datalist/quickRepliesDatalistStore.ts b/src/modules/lookups/modules/quick-replies/stores/datalist/quickRepliesDatalistStore.ts
new file mode 100644
index 000000000..ff724b226
--- /dev/null
+++ b/src/modules/lookups/modules/quick-replies/stores/datalist/quickRepliesDatalistStore.ts
@@ -0,0 +1,13 @@
+import { QuickRepliesAPI } from '@webitel/api-services/api';
+import { createTableStore } from '@webitel/ui-datalist';
+
+import { QuickRepliesNamespace } from '../namespace';
+import { headers } from './_internals/headers';
+
+export const useQuickRepliesDatalistStore = createTableStore(
+ `${QuickRepliesNamespace}/datalist`,
+ {
+ apiModule: QuickRepliesAPI,
+ headers,
+ },
+);
diff --git a/src/modules/lookups/modules/quick-replies/stores/index.ts b/src/modules/lookups/modules/quick-replies/stores/index.ts
new file mode 100644
index 000000000..ae7ca5d47
--- /dev/null
+++ b/src/modules/lookups/modules/quick-replies/stores/index.ts
@@ -0,0 +1,3 @@
+export * from './card/quickRepliesCardStore';
+export * from './datalist/quickRepliesDatalistStore';
+export * from './namespace';
diff --git a/src/modules/lookups/modules/quick-replies/stores/namespace.ts b/src/modules/lookups/modules/quick-replies/stores/namespace.ts
new file mode 100644
index 000000000..eeb679df1
--- /dev/null
+++ b/src/modules/lookups/modules/quick-replies/stores/namespace.ts
@@ -0,0 +1,3 @@
+import { AdminNamespace } from '../../../../../app/namespace';
+
+export const QuickRepliesNamespace = `${AdminNamespace}/lookups/quick-replies`;
diff --git a/src/modules/lookups/store/lookups.js b/src/modules/lookups/store/lookups.js
index a445db348..16a10b59e 100644
--- a/src/modules/lookups/store/lookups.js
+++ b/src/modules/lookups/store/lookups.js
@@ -2,7 +2,6 @@ import skills from '../modules/agent-skills/store/agent-skills';
import blacklists from '../modules/blacklists/store/blacklists';
import communications from '../modules/communications/store/communications';
import media from '../modules/media/store/media';
-import quickReplies from '../modules/quick-replies/store/quick-replies.js';
import regions from '../modules/regions/store/regions';
const modules = {
@@ -11,7 +10,6 @@ const modules = {
regions,
communications,
media,
- quickReplies,
};
export default {