bfg-common 1.5.920 → 1.5.921

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 (58) hide show
  1. package/assets/localization/local_be.json +15 -3
  2. package/assets/localization/local_en.json +15 -3
  3. package/assets/localization/local_hy.json +15 -3
  4. package/assets/localization/local_kk.json +15 -3
  5. package/assets/localization/local_ru.json +15 -3
  6. package/assets/localization/local_zh.json +15 -3
  7. package/components/common/pages/scheduledTasks/lib/models/interfaces.ts +6 -0
  8. package/components/common/pages/scheduledTasks/modals/common/frequency/Frequency.vue +46 -42
  9. package/components/common/pages/scheduledTasks/modals/common/frequency/afterStartup/AfterStartup.vue +15 -48
  10. package/components/common/pages/scheduledTasks/modals/common/frequency/afterStartup/New.vue +43 -0
  11. package/components/common/pages/scheduledTasks/modals/common/frequency/afterStartup/Old.vue +65 -0
  12. package/components/common/pages/scheduledTasks/modals/common/frequency/end/End.vue +15 -69
  13. package/components/common/pages/scheduledTasks/modals/common/frequency/end/New.vue +73 -0
  14. package/components/common/pages/scheduledTasks/modals/common/frequency/end/Old.vue +112 -0
  15. package/components/common/pages/scheduledTasks/modals/common/frequency/interval/Interval.vue +19 -53
  16. package/components/common/pages/scheduledTasks/modals/common/frequency/interval/New.vue +49 -0
  17. package/components/common/pages/scheduledTasks/modals/common/frequency/interval/Old.vue +68 -0
  18. package/components/common/pages/scheduledTasks/modals/common/frequency/lib/utils.ts +1 -1
  19. package/components/common/pages/scheduledTasks/modals/common/frequency/on/New.vue +137 -0
  20. package/components/common/pages/scheduledTasks/modals/common/frequency/on/Old.vue +234 -0
  21. package/components/common/pages/scheduledTasks/modals/common/frequency/on/On.vue +28 -168
  22. package/components/common/pages/scheduledTasks/modals/common/frequency/on/lib/config/options.ts +17 -0
  23. package/components/common/pages/scheduledTasks/modals/common/frequency/on/selectWeek/New.vue +66 -0
  24. package/components/common/pages/scheduledTasks/modals/common/frequency/on/selectWeek/Old.vue +44 -0
  25. package/components/common/pages/scheduledTasks/modals/common/frequency/on/selectWeek/SelectWeek.vue +17 -28
  26. package/components/common/pages/scheduledTasks/modals/common/frequency/on/selectWeek/lib/config/weekOptions.ts +20 -50
  27. package/components/common/pages/scheduledTasks/modals/common/frequency/startOn/New.vue +46 -0
  28. package/components/common/pages/scheduledTasks/modals/common/frequency/startOn/Old.vue +77 -0
  29. package/components/common/pages/scheduledTasks/modals/common/frequency/startOn/StartOn.vue +15 -51
  30. package/components/common/pages/scheduledTasks/modals/common/taskForm/New.vue +194 -0
  31. package/components/common/pages/scheduledTasks/modals/common/{newTaskForm/NewTaskForm.vue → taskForm/Old.vue} +12 -69
  32. package/components/common/pages/scheduledTasks/modals/common/taskForm/TaskForm.vue +129 -0
  33. package/components/common/pages/scheduledTasks/table/Table.vue +27 -81
  34. package/components/common/pages/scheduledTasks/table/expandDetails/ExpandDetails.vue +2 -2
  35. package/components/common/pages/scheduledTasks/table/expandDetails/New.vue +48 -17
  36. package/components/common/pages/scheduledTasks/table/expandDetails/Old.vue +1 -3
  37. package/components/common/pages/scheduledTasks/table/expandDetails/historyRun/HistoryRun.vue +16 -54
  38. package/components/common/pages/scheduledTasks/table/expandDetails/historyRun/new/New.vue +147 -0
  39. package/components/common/pages/scheduledTasks/table/expandDetails/historyRun/new/lib/config/historyRunsTable.ts +161 -0
  40. package/components/common/pages/scheduledTasks/table/expandDetails/historyRun/old/Old.vue +68 -0
  41. package/components/common/pages/scheduledTasks/table/expandDetails/historyRun/{lib → old/lib}/config/historyRunsTable.ts +4 -4
  42. package/components/common/pages/scheduledTasks/table/expandDetails/historyRun/{lib → old/lib}/config/tableKeys.ts +1 -1
  43. package/components/common/pages/scheduledTasks/table/expandDetails/lib/config/expandDetails.ts +7 -5
  44. package/components/common/pages/scheduledTasks/table/expandDetails/lib/models/interfaces.ts +8 -0
  45. package/components/common/pages/scheduledTasks/table/lib/models/enums.ts +4 -0
  46. package/components/common/pages/scheduledTasks/table/new/New.vue +320 -0
  47. package/components/common/pages/scheduledTasks/table/new/lib/config/scheduledTasksTable.ts +218 -0
  48. package/components/common/pages/scheduledTasks/table/new/lib/models/enums.ts +14 -0
  49. package/components/common/pages/scheduledTasks/table/old/Old.vue +93 -0
  50. package/components/common/pages/scheduledTasks/table/{lib → old/lib}/config/scheduledTasksTable.ts +13 -9
  51. package/components/common/pages/scheduledTasks/table/{lib → old/lib}/config/tableKeys.ts +1 -1
  52. package/package.json +1 -1
  53. package/components/common/pages/scheduledTasks/table/lib/config/schedulerStatus.ts +0 -4
  54. package/components/common/pages/scheduledTasks/table/lib/models/interfaces.ts +0 -11
  55. /package/components/common/pages/scheduledTasks/modals/common/{newTaskForm → taskForm}/lib/models/interfaces.ts +0 -0
  56. /package/components/common/pages/scheduledTasks/modals/common/{newTaskForm → taskForm}/lib/utils.ts +0 -0
  57. /package/components/common/pages/scheduledTasks/table/expandDetails/historyRun/{lib → old/lib}/models/types.ts +0 -0
  58. /package/components/common/pages/scheduledTasks/table/{lib → old/lib}/models/types.ts +0 -0
@@ -0,0 +1,218 @@
1
+ import type {
2
+ UI_I_DataTableBody,
3
+ UI_I_DataTableHeader,
4
+ UI_I_DataTableOptions,
5
+ } from '~/node_modules/bfg-uikit/components/ui/dataTable/models/interfaces'
6
+ import type { UI_I_Localization } from '~/lib/models/interfaces'
7
+ import type { UI_I_Dropdown } from '~/node_modules/bfg-uikit/components/ui/dropdown/models/interfaces'
8
+ import type { UI_I_ScheduledTasksTableItem } from '~/components/common/pages/scheduledTasks/lib/models/interfaces'
9
+ import { UI_E_SchedulerRunStatus } from '~/components/common/pages/scheduledTasks/table/lib/models/enums'
10
+ import {
11
+ UI_E_SchedulerStatus,
12
+ UI_E_SchedulerChipColor,
13
+ UI_E_SchedulerChipIcon,
14
+ } from '~/components/common/pages/scheduledTasks/table/new/lib/models/enums'
15
+
16
+ // Маппинг для статусов
17
+ const STATUS_MAPPING = {
18
+ [UI_E_SchedulerStatus.Completed]: {
19
+ textKey: 'completed',
20
+ icon: UI_E_SchedulerChipIcon.StatusCheck,
21
+ chipColor: UI_E_SchedulerChipColor.Green,
22
+ },
23
+ [UI_E_SchedulerStatus.Running]: {
24
+ textKey: 'running',
25
+ icon: UI_E_SchedulerChipIcon.StatusCheck,
26
+ chipColor: UI_E_SchedulerChipColor.Green,
27
+ },
28
+ [UI_E_SchedulerStatus.Failed]: {
29
+ textKey: 'failed',
30
+ icon: UI_E_SchedulerChipIcon.Information,
31
+ chipColor: UI_E_SchedulerChipColor.Red,
32
+ },
33
+ }
34
+
35
+ export const getHeaderDataFunc = (
36
+ localization: UI_I_Localization
37
+ ): UI_I_DataTableHeader[] => [
38
+ {
39
+ col: 'col0',
40
+ colName: 'name',
41
+ text: localization.common.scheduledTask,
42
+ isSortable: true,
43
+ sort: 'asc',
44
+ width: '240px',
45
+ show: true,
46
+ filter: true,
47
+ },
48
+ {
49
+ col: 'col1',
50
+ colName: 'sheduler',
51
+ text: localization.common.schedule,
52
+ isSortable: true,
53
+ sort: 'asc',
54
+ width: '180px',
55
+ show: true,
56
+ filter: true,
57
+ },
58
+ {
59
+ col: 'col2',
60
+ colName: 'last_modified',
61
+ text: localization.common.lastRun,
62
+ isSortable: true,
63
+ sort: 'asc',
64
+ width: '180px',
65
+ show: true,
66
+ filter: true,
67
+ },
68
+ {
69
+ col: 'col3',
70
+ colName: 'last_run_result',
71
+ text: localization.common.lastRunResult,
72
+ isSortable: true,
73
+ sort: 'asc',
74
+ width: '110px',
75
+ show: true,
76
+ filter: true,
77
+ },
78
+
79
+ {
80
+ col: 'col4',
81
+ colName: 'next_run',
82
+ text: localization.common.nextRun,
83
+ isSortable: true,
84
+ sort: 'asc',
85
+ width: '160px',
86
+ show: true,
87
+ filter: true,
88
+ },
89
+ ]
90
+
91
+ export const getTargetActionsFunc = (
92
+ localization: UI_I_Localization
93
+ ): UI_I_Dropdown[] => {
94
+ return [
95
+ {
96
+ value: 'view-target',
97
+ text: localization.common.viewTarget,
98
+ iconName: 'password-hide',
99
+ selected: false,
100
+ },
101
+ {
102
+ value: 'copy-clipboard',
103
+ text: localization.events.copyToClipboard,
104
+ iconName: 'copy-to-clipboard',
105
+ selected: false,
106
+ },
107
+ // {
108
+ // value: 'export',
109
+ // text: localization.common.export,
110
+ // iconName: 'download-2',
111
+ // selected: false,
112
+ // },
113
+ ]
114
+ }
115
+
116
+ export const options: UI_I_DataTableOptions = {
117
+ perPageOptions: [
118
+ { text: '10', value: 10 },
119
+ { text: '25', value: 25 },
120
+ { text: '50', value: 50 },
121
+ { text: '100', value: 100, default: true },
122
+ ],
123
+ selectType: 'radio',
124
+ isSelectable: true,
125
+ isFocusable: false,
126
+ showPagination: true,
127
+ showPaginationOnTop: false,
128
+ showPageInfo: true,
129
+ isSortable: true,
130
+ server: true,
131
+ isResizable: true,
132
+ showSearch: false,
133
+ showSelectedRows: false,
134
+ showColumnManager: true,
135
+ withActions: true,
136
+ inBlock: true,
137
+ showExport: false,
138
+ withCollapse: true,
139
+ }
140
+
141
+ export const getBodyDataFunc = (
142
+ bodyData: UI_I_ScheduledTasksTableItem[],
143
+ localization: UI_I_Localization
144
+ ): UI_I_DataTableBody[] => {
145
+ const { $formattedDatetime }: any = useNuxtApp()
146
+ return bodyData.map((scheduler, index: number) => {
147
+ const historyLastRun = scheduler?.last_5_run?.at(-1)
148
+
149
+ const lastRun = historyLastRun?.start
150
+ const formattedLastRun =
151
+ lastRun && $formattedDatetime(+lastRun * 1000, { hasSeconds: true })
152
+
153
+ const nextRun = scheduler.next_run
154
+ const formattedNextRun =
155
+ nextRun && $formattedDatetime(+nextRun * 1000, { hasSeconds: true })
156
+
157
+ const statusKey =
158
+ historyLastRun?.result.toLowerCase() === UI_E_SchedulerRunStatus.SUCCESS
159
+ ? UI_E_SchedulerStatus.Completed
160
+ : historyLastRun?.result === UI_E_SchedulerRunStatus.RUNNING
161
+ ? UI_E_SchedulerStatus.Running
162
+ : UI_E_SchedulerStatus.Failed
163
+ const statusData = {
164
+ ...STATUS_MAPPING[statusKey],
165
+ runResult: historyLastRun?.result,
166
+ testId: `${scheduler.rid}-${index}-status`,
167
+ }
168
+
169
+ return {
170
+ row: scheduler.rid,
171
+ collapse: true,
172
+ isHiddenCollapse: false,
173
+ collapseToggle: false,
174
+ data: [
175
+ {
176
+ key: 'icon',
177
+ col: 'col0',
178
+ text: scheduler.name,
179
+ data: {
180
+ iconClassName: 'shortcuts-tasks',
181
+ expandData: scheduler,
182
+ },
183
+ testId: `table-item-${scheduler.rid}`,
184
+ },
185
+ {
186
+ col: 'col1',
187
+ text: scheduler.sheduler || '--',
188
+ testId: `table-item-${scheduler.rid}`,
189
+ },
190
+ {
191
+ col: 'col2',
192
+ text: formattedLastRun,
193
+ testId: `table-item-${scheduler.rid}`,
194
+ },
195
+ {
196
+ key: 'status',
197
+ col: 'col3',
198
+ text: localization.common[statusData.textKey],
199
+ data: statusData,
200
+ testId: `table-item-${scheduler.rid}`,
201
+ },
202
+ {
203
+ key: 'icon',
204
+ col: 'col4',
205
+ text: formattedNextRun,
206
+ data: 'dataTarget',
207
+ testId: `table-item-${scheduler.rid}`,
208
+ },
209
+ {
210
+ key: 'default-actions',
211
+ col: 'default-actions',
212
+ text: '',
213
+ data: { id: index, target: 'dataTarget', scheduler },
214
+ },
215
+ ],
216
+ }
217
+ })
218
+ }
@@ -0,0 +1,14 @@
1
+ export enum UI_E_SchedulerStatus {
2
+ Completed = 'completed',
3
+ Running = 'running',
4
+ Failed = 'failed',
5
+ }
6
+
7
+ export enum UI_E_SchedulerChipColor {
8
+ Green = 'green',
9
+ Red = 'red',
10
+ }
11
+ export enum UI_E_SchedulerChipIcon {
12
+ StatusCheck = 'status-check',
13
+ Information = 'info-stroke',
14
+ }
@@ -0,0 +1,93 @@
1
+ <template>
2
+ <div class="data-table-view">
3
+ <atoms-table-data-grid
4
+ v-model:selected-row="selectedScheduledTaskLocal"
5
+ v-model:page-size="pagination.pageSize"
6
+ v-model:page="pagination.page"
7
+ :head-items="headItems"
8
+ :body-items="bodyItems"
9
+ :total-items="props.totalItems"
10
+ :total-pages="props.totalPages"
11
+ :items-per-page="itemsPerPage"
12
+ :z-index-header-shift="2"
13
+ :loading="props.isLoading"
14
+ type="radio"
15
+ class="data-table"
16
+ test-id="scheduled-tasks-table"
17
+ hide-pagination
18
+ hide-page-size
19
+ off-select-by-row
20
+ server-off
21
+ >
22
+ <template #icon="{ item }">
23
+ <atoms-the-icon :name="item.data.iconClassName" class="icon" />
24
+ <span :title="item.text" class="text-ellipsis">
25
+ {{ item.text }}
26
+ </span>
27
+ </template>
28
+
29
+ <template #toggleBlock="{ item }">
30
+ <common-pages-scheduled-tasks-table-expand-details
31
+ :data="item[0].data.expandData"
32
+ />
33
+ </template>
34
+ </atoms-table-data-grid>
35
+ </div>
36
+ </template>
37
+
38
+ <script lang="ts" setup>
39
+ import type {
40
+ UI_I_HeadItem,
41
+ UI_I_BodyItem,
42
+ } from '~/components/atoms/table/dataGrid/lib/models/interfaces'
43
+ import { itemsPerPage } from '~/components/atoms/table/dataGrid/lib/config/itemsPerPage'
44
+ import type { UI_I_Localization } from '~/lib/models/interfaces'
45
+ import type { UI_I_Pagination } from '~/lib/models/table/interfaces'
46
+ import type { UI_I_ScheduledTasksTableItem } from '~/components/common/pages/scheduledTasks/lib/models/interfaces'
47
+ import * as scheduledTaskTable from '~/components/common/pages/scheduledTasks/table/old/lib/config/scheduledTasksTable'
48
+
49
+ const selectedScheduledTaskLocal = defineModel<string | null>()
50
+ const props = defineProps<{
51
+ tableItems: UI_I_ScheduledTasksTableItem[]
52
+ totalItems: number
53
+ totalPages: number
54
+ isLoading: boolean
55
+ }>()
56
+
57
+ const localization = computed<UI_I_Localization>(() => useLocal())
58
+
59
+ const pagination = ref<UI_I_Pagination>({
60
+ page: 1,
61
+ pageSize: 100,
62
+ })
63
+
64
+ const headItems = computed<UI_I_HeadItem[]>(() =>
65
+ scheduledTaskTable.headItems(localization.value)
66
+ )
67
+ const bodyItems = computed<UI_I_BodyItem[][]>(() => {
68
+ return scheduledTaskTable.bodyItems(props.tableItems || [])
69
+ })
70
+ </script>
71
+
72
+ <style lang="scss" scoped>
73
+ .data-table-view {
74
+ overflow: hidden;
75
+ height: inherit;
76
+ margin-bottom: 10px;
77
+ :deep(.data-table) {
78
+ height: inherit;
79
+ .datagrid-outer-wrapper {
80
+ height: inherit;
81
+ padding-top: 0;
82
+ //.datagrid {
83
+ // margin-top: 0;
84
+ //}
85
+ }
86
+ }
87
+ .icon {
88
+ width: 18px;
89
+ min-width: 18px;
90
+ margin-right: 3px;
91
+ }
92
+ }
93
+ </style>
@@ -9,8 +9,8 @@ import {
9
9
  } from '~/lib/models/store/tasks/enums'
10
10
  import * as defaultSettings from '~/components/atoms/table/dataGrid/lib/config/settingsTable'
11
11
  import type { UI_I_ScheduledTasksTableItem } from '~/components/common/pages/scheduledTasks/lib/models/interfaces'
12
- import { scheduledTaskTableItemsKeys } from '~/components/common/pages/scheduledTasks/table/lib/config/tableKeys'
13
- import { schedulerRunStatus } from '~/components/common/pages/scheduledTasks/table/lib/config/schedulerStatus'
12
+ import { UI_E_SchedulerRunStatus } from '~/components/common/pages/scheduledTasks/table/lib/models/enums'
13
+ import { scheduledTaskTableItemsKeys } from '~/components/common/pages/scheduledTasks/table/old/lib/config/tableKeys'
14
14
 
15
15
  const getItems = (
16
16
  localization: UI_I_Localization
@@ -67,16 +67,20 @@ export const bodyItems = (
67
67
  const statusText =
68
68
  historyLastRun &&
69
69
  UI_E_RecentTaskStatus[
70
- historyLastRun?.result?.toLowerCase() === 'success' ? 2 : -1
70
+ historyLastRun?.result?.toLowerCase() ===
71
+ UI_E_SchedulerRunStatus.SUCCESS
72
+ ? 2
73
+ : -1
71
74
  ]
72
75
 
73
76
  const statusData = {
74
77
  iconClassName:
75
78
  historyLastRun &&
76
79
  UI_E_IconNameByRecentTaskStatus[
77
- historyLastRun?.result.toLowerCase() === schedulerRunStatus.SUCCESS
80
+ historyLastRun?.result.toLowerCase() ===
81
+ UI_E_SchedulerRunStatus.SUCCESS
78
82
  ? 2
79
- : historyLastRun?.result === schedulerRunStatus.RUNNING
83
+ : historyLastRun?.result === UI_E_SchedulerRunStatus.RUNNING
80
84
  ? 1
81
85
  : 3
82
86
  ],
@@ -113,8 +117,8 @@ export const bodyItems = (
113
117
  id: task.rid,
114
118
  testId: `adapter-table-${key}-row-item`,
115
119
  data: {
116
- sortValue: lastRun || 0
117
- }
120
+ sortValue: lastRun || 0,
121
+ },
118
122
  },
119
123
  {
120
124
  key: 'icon',
@@ -129,8 +133,8 @@ export const bodyItems = (
129
133
  id: task.rid,
130
134
  testId: `adapter-table-${key}-row-item`,
131
135
  data: {
132
- sortValue: task[scheduledTaskTableItemsKeys[4]]
133
- }
136
+ sortValue: task[scheduledTaskTableItemsKeys[4]],
137
+ },
134
138
  },
135
139
  ])
136
140
  })
@@ -1,4 +1,4 @@
1
- import type { UI_T_ScheduledTaskTableItemsTuple } from '~/components/common/pages/scheduledTasks/table/lib/models/types'
1
+ import type { UI_T_ScheduledTaskTableItemsTuple } from '~/components/common/pages/scheduledTasks/table/old/lib/models/types'
2
2
 
3
3
  export const scheduledTaskTableItemsKeys: UI_T_ScheduledTaskTableItemsTuple = [
4
4
  'name',
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "bfg-common",
3
3
  "private": false,
4
- "version": "1.5.920",
4
+ "version": "1.5.921",
5
5
  "scripts": {
6
6
  "build": "nuxt build",
7
7
  "dev": "nuxt dev --port=3002",
@@ -1,4 +0,0 @@
1
- export const schedulerRunStatus = {
2
- RUNNING: 'this task has been started',
3
- SUCCESS: 'success',
4
- }
@@ -1,11 +0,0 @@
1
- import { UI_I_TableRowDropDetails } from '~/components/atoms/table/dataGrid/lib/models/interfaces'
2
- import type { UI_I_ScheduledTasksTableItem } from '~/components/common/pages/scheduledTasks/lib/models/interfaces'
3
-
4
- export interface UI_I_ScheduleTableRowDetails
5
- extends UI_I_TableRowDropDetails<
6
- string | UI_I_ScheduledTasksTableItem['last_5_run']
7
- > {}
8
-
9
- // export interface I_ScheduledTaskTableItem extends API_I_ScheduledTaskTableItem {
10
- // type: T_ScheduledTasksActionsType
11
- // }