shared-ritm 1.2.58 → 1.2.60

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 (55) hide show
  1. package/README.md +103 -103
  2. package/dist/index.css +1 -1
  3. package/dist/shared-ritm.es.js +4323 -4296
  4. package/dist/shared-ritm.umd.js +7 -7
  5. package/dist/types/api/services/InstrumentsService.d.ts +7 -0
  6. package/dist/types/api/services/VideoService.d.ts +6 -0
  7. package/dist/types/api/types/Api_Instruments.d.ts +133 -0
  8. package/dist/types/index.d.ts +3 -1
  9. package/package.json +63 -63
  10. package/src/api/services/ControlsService.ts +64 -64
  11. package/src/api/services/GanttService.ts +17 -17
  12. package/src/api/services/InstrumentsService.ts +22 -0
  13. package/src/api/services/MetricsService.ts +109 -109
  14. package/src/api/services/ProjectsService.ts +67 -67
  15. package/src/api/services/RepairsService.ts +100 -100
  16. package/src/api/services/VideoService.ts +14 -0
  17. package/src/api/types/Api_Files.ts +1 -1
  18. package/src/api/types/Api_Instruments.ts +133 -0
  19. package/src/api/types/Api_Projects.ts +55 -55
  20. package/src/api/types/Api_Repairs.ts +93 -93
  21. package/src/api/types/Api_Tasks.ts +155 -155
  22. package/src/common/app-checkbox/AppCheckbox.vue +26 -26
  23. package/src/common/app-dialogs/AppConfirmDialog.vue +99 -99
  24. package/src/common/app-dropdown/AppDropdown.vue +31 -31
  25. package/src/common/app-select/AppSelect.vue +157 -157
  26. package/src/common/app-sheet/AppSheet.vue +120 -120
  27. package/src/common/app-sidebar/components/SidebarMenuItem.vue +148 -148
  28. package/src/common/app-table/AppTable.vue +241 -241
  29. package/src/common/app-table/AppTableLayout.vue +102 -102
  30. package/src/common/app-table/components/ModalSelect.vue +264 -264
  31. package/src/common/app-table/components/TableModal.vue +329 -329
  32. package/src/common/app-table/components/TablePagination.vue +150 -150
  33. package/src/common/app-table/components/TableSearch.vue +76 -76
  34. package/src/common/app-table/controllers/useBaseTable.ts +42 -42
  35. package/src/common/app-table/controllers/useColumnSelector.ts +38 -38
  36. package/src/common/app-table/controllers/useTableModel.ts +93 -93
  37. package/src/common/app-toggle/AppToggle.vue +23 -23
  38. package/src/common/app-wrapper/AppWrapper.vue +28 -28
  39. package/src/icons/components/table-filter-icon.vue +30 -30
  40. package/src/icons/dialogs/RemoveIcon.vue +12 -12
  41. package/src/icons/dialogs/SafetyIcon.vue +12 -12
  42. package/src/icons/task/attention-icon.vue +13 -13
  43. package/src/icons/task/clock-icon.vue +10 -10
  44. package/src/icons/task/delete-icon.vue +10 -10
  45. package/src/icons/task/fire-icon.vue +16 -16
  46. package/src/index.ts +88 -84
  47. package/src/shared/fonts/Inter_18pt-Black.ttf +0 -0
  48. package/src/shared/fonts/Inter_18pt-Bold.ttf +0 -0
  49. package/src/shared/fonts/Inter_18pt-Regular.ttf +0 -0
  50. package/src/shared/fonts/Inter_18pt-SemiBold.ttf +0 -0
  51. package/src/shared/styles/general.css +125 -96
  52. package/src/styles/variables.sass +12 -12
  53. package/src/utils/confirm.ts +12 -12
  54. package/src/utils/helpers.ts +39 -39
  55. 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>