shared-ritm 1.2.58 → 1.2.59

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 (51) hide show
  1. package/README.md +103 -103
  2. package/dist/index.css +1 -1
  3. package/dist/shared-ritm.es.js +4787 -4771
  4. package/dist/shared-ritm.umd.js +7 -7
  5. package/dist/types/api/services/VideoService.d.ts +6 -0
  6. package/dist/types/index.d.ts +2 -1
  7. package/package.json +63 -63
  8. package/src/api/services/ControlsService.ts +64 -64
  9. package/src/api/services/GanttService.ts +17 -17
  10. package/src/api/services/MetricsService.ts +109 -109
  11. package/src/api/services/ProjectsService.ts +67 -67
  12. package/src/api/services/RepairsService.ts +100 -100
  13. package/src/api/services/VideoService.ts +14 -0
  14. package/src/api/types/Api_Files.ts +1 -1
  15. package/src/api/types/Api_Projects.ts +55 -55
  16. package/src/api/types/Api_Repairs.ts +93 -93
  17. package/src/api/types/Api_Tasks.ts +155 -155
  18. package/src/common/app-checkbox/AppCheckbox.vue +26 -26
  19. package/src/common/app-dialogs/AppConfirmDialog.vue +99 -99
  20. package/src/common/app-dropdown/AppDropdown.vue +31 -31
  21. package/src/common/app-select/AppSelect.vue +157 -157
  22. package/src/common/app-sheet/AppSheet.vue +120 -120
  23. package/src/common/app-sidebar/components/SidebarMenuItem.vue +148 -148
  24. package/src/common/app-table/AppTable.vue +241 -241
  25. package/src/common/app-table/AppTableLayout.vue +102 -102
  26. package/src/common/app-table/components/ModalSelect.vue +264 -264
  27. package/src/common/app-table/components/TableModal.vue +329 -329
  28. package/src/common/app-table/components/TablePagination.vue +150 -150
  29. package/src/common/app-table/components/TableSearch.vue +76 -76
  30. package/src/common/app-table/controllers/useBaseTable.ts +42 -42
  31. package/src/common/app-table/controllers/useColumnSelector.ts +38 -38
  32. package/src/common/app-table/controllers/useTableModel.ts +93 -93
  33. package/src/common/app-toggle/AppToggle.vue +23 -23
  34. package/src/common/app-wrapper/AppWrapper.vue +28 -28
  35. package/src/icons/components/table-filter-icon.vue +30 -30
  36. package/src/icons/dialogs/RemoveIcon.vue +12 -12
  37. package/src/icons/dialogs/SafetyIcon.vue +12 -12
  38. package/src/icons/task/attention-icon.vue +13 -13
  39. package/src/icons/task/clock-icon.vue +10 -10
  40. package/src/icons/task/delete-icon.vue +10 -10
  41. package/src/icons/task/fire-icon.vue +16 -16
  42. package/src/index.ts +86 -84
  43. package/src/shared/fonts/Inter_18pt-Black.ttf +0 -0
  44. package/src/shared/fonts/Inter_18pt-Bold.ttf +0 -0
  45. package/src/shared/fonts/Inter_18pt-Regular.ttf +0 -0
  46. package/src/shared/fonts/Inter_18pt-SemiBold.ttf +0 -0
  47. package/src/shared/styles/general.css +125 -96
  48. package/src/styles/variables.sass +12 -12
  49. package/src/utils/confirm.ts +12 -12
  50. package/src/utils/helpers.ts +39 -39
  51. package/src/utils/notification.ts +9 -9
@@ -1,102 +1,102 @@
1
- <template>
2
- <div class="table-layout">
3
- <div class="table-controls">
4
- <app-table-search
5
- :model-value="props.search"
6
- class="search-input"
7
- placeholder="Введите наименование"
8
- @search="props.onSearch"
9
- />
10
- <slot v-if="actionsSlot" name="actions" />
11
- </div>
12
-
13
- <div class="table-wrapper">
14
- <app-table
15
- v-bind="props.tableProps"
16
- :selected-rows="props.selectedRows"
17
- v-on="props.tableEvents"
18
- @update:selectedRows="rows => emit('update:selectedRows', rows)"
19
- />
20
- <div v-if="props.loading" class="loader-overlay">
21
- <q-spinner-audio class="loader-spinner" size="md" :thickness="3" color="primary" />
22
- </div>
23
- </div>
24
-
25
- <app-table-pagination
26
- :model-value="props.currentPage"
27
- :total-pages="props.totalPages"
28
- @page-change="props.onPageChange"
29
- />
30
-
31
- <slot v-if="modalSlot" name="modal" />
32
- </div>
33
- </template>
34
- <script setup lang="ts">
35
- import AppTable from './AppTable.vue'
36
- import AppTablePagination from '../app-table/components/TablePagination.vue'
37
- import AppTableSearch from '../app-table/components/TableSearch.vue'
38
- import { defineProps, defineEmits } from 'vue'
39
-
40
- const props = defineProps<{
41
- search: string
42
- loading: boolean
43
- currentPage: number
44
- totalPages: number
45
- tableProps: any
46
- tableEvents: any
47
- onSearch: (val: string) => void
48
- onPageChange: (page: number) => void
49
- actionsSlot?: boolean
50
- modalSlot?: boolean
51
- selectedRows: any[]
52
- }>()
53
- const emit = defineEmits<{
54
- 'update:selectedRows': [rows: any[]]
55
- }>()
56
- </script>
57
- <style scoped lang="scss">
58
- .table-layout {
59
- height: calc(100vh - 100px);
60
- display: flex;
61
- flex-direction: column;
62
- box-sizing: border-box;
63
- }
64
- .table-controls {
65
- display: flex;
66
- align-items: center;
67
- justify-content: space-between;
68
- gap: 18px;
69
- margin-bottom: 20px;
70
-
71
- .search-input {
72
- flex: 1;
73
- }
74
-
75
- ::v-deep(.q-btn) {
76
- flex-shrink: 0;
77
- border-radius: 2px;
78
- background: #fff;
79
- box-shadow: 0px 2px 4px rgba(0, 0, 0, 0.1);
80
- color: #3f8cff;
81
- height: 50px;
82
- width: 50px;
83
- }
84
- }
85
- .table-wrapper {
86
- position: relative;
87
- flex: 1;
88
- overflow-y: auto;
89
- }
90
- .loader-overlay {
91
- position: absolute;
92
- inset: 0;
93
- z-index: 10;
94
- background: rgba(255, 255, 255, 0.8);
95
- display: flex;
96
- align-items: center;
97
- justify-content: center;
98
- }
99
- .loader-spinner {
100
- z-index: 11;
101
- }
102
- </style>
1
+ <template>
2
+ <div class="table-layout">
3
+ <div class="table-controls">
4
+ <app-table-search
5
+ :model-value="props.search"
6
+ class="search-input"
7
+ placeholder="Введите наименование"
8
+ @search="props.onSearch"
9
+ />
10
+ <slot v-if="actionsSlot" name="actions" />
11
+ </div>
12
+
13
+ <div class="table-wrapper">
14
+ <app-table
15
+ v-bind="props.tableProps"
16
+ :selected-rows="props.selectedRows"
17
+ v-on="props.tableEvents"
18
+ @update:selectedRows="rows => emit('update:selectedRows', rows)"
19
+ />
20
+ <div v-if="props.loading" class="loader-overlay">
21
+ <q-spinner-audio class="loader-spinner" size="md" :thickness="3" color="primary" />
22
+ </div>
23
+ </div>
24
+
25
+ <app-table-pagination
26
+ :model-value="props.currentPage"
27
+ :total-pages="props.totalPages"
28
+ @page-change="props.onPageChange"
29
+ />
30
+
31
+ <slot v-if="modalSlot" name="modal" />
32
+ </div>
33
+ </template>
34
+ <script setup lang="ts">
35
+ import AppTable from './AppTable.vue'
36
+ import AppTablePagination from '../app-table/components/TablePagination.vue'
37
+ import AppTableSearch from '../app-table/components/TableSearch.vue'
38
+ import { defineProps, defineEmits } from 'vue'
39
+
40
+ const props = defineProps<{
41
+ search: string
42
+ loading: boolean
43
+ currentPage: number
44
+ totalPages: number
45
+ tableProps: any
46
+ tableEvents: any
47
+ onSearch: (val: string) => void
48
+ onPageChange: (page: number) => void
49
+ actionsSlot?: boolean
50
+ modalSlot?: boolean
51
+ selectedRows: any[]
52
+ }>()
53
+ const emit = defineEmits<{
54
+ 'update:selectedRows': [rows: any[]]
55
+ }>()
56
+ </script>
57
+ <style scoped lang="scss">
58
+ .table-layout {
59
+ height: calc(100vh - 100px);
60
+ display: flex;
61
+ flex-direction: column;
62
+ box-sizing: border-box;
63
+ }
64
+ .table-controls {
65
+ display: flex;
66
+ align-items: center;
67
+ justify-content: space-between;
68
+ gap: 18px;
69
+ margin-bottom: 20px;
70
+
71
+ .search-input {
72
+ flex: 1;
73
+ }
74
+
75
+ ::v-deep(.q-btn) {
76
+ flex-shrink: 0;
77
+ border-radius: 2px;
78
+ background: #fff;
79
+ box-shadow: 0px 2px 4px rgba(0, 0, 0, 0.1);
80
+ color: #3f8cff;
81
+ height: 50px;
82
+ width: 50px;
83
+ }
84
+ }
85
+ .table-wrapper {
86
+ position: relative;
87
+ flex: 1;
88
+ overflow-y: auto;
89
+ }
90
+ .loader-overlay {
91
+ position: absolute;
92
+ inset: 0;
93
+ z-index: 10;
94
+ background: rgba(255, 255, 255, 0.8);
95
+ display: flex;
96
+ align-items: center;
97
+ justify-content: center;
98
+ }
99
+ .loader-spinner {
100
+ z-index: 11;
101
+ }
102
+ </style>