shared-ritm 1.3.35 → 1.3.37

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 (56) hide show
  1. package/dist/index.css +1 -1
  2. package/dist/shared-ritm.es.js +8789 -8712
  3. package/dist/shared-ritm.umd.js +324 -324
  4. package/dist/types/api/services/PhotoService.d.ts +38 -51
  5. package/dist/types/api/services/RepairsService.d.ts +1 -1
  6. package/dist/types/api/services/VideoService.d.ts +2 -1
  7. package/dist/types/api/settings/ApiService.d.ts +1 -1
  8. package/dist/types/api/types/Api_Video.d.ts +5 -4
  9. package/package.json +64 -64
  10. package/src/App.vue +2461 -2461
  11. package/src/api/services/BrigadesService.ts +32 -32
  12. package/src/api/services/ControlsService.ts +96 -96
  13. package/src/api/services/EquipmentService.ts +29 -29
  14. package/src/api/services/InstrumentsService.ts +68 -68
  15. package/src/api/services/MetricsService.ts +123 -123
  16. package/src/api/services/ModulesService.ts +27 -27
  17. package/src/api/services/ProjectsService.ts +83 -83
  18. package/src/api/services/RepairsService.ts +111 -111
  19. package/src/api/services/ScheduleService.ts +69 -69
  20. package/src/api/services/SearchService.ts +22 -22
  21. package/src/api/services/UserService.ts +123 -123
  22. package/src/api/services/VideoService.ts +118 -113
  23. package/src/api/settings/ApiService.ts +124 -124
  24. package/src/api/types/Api_Auth.ts +105 -105
  25. package/src/api/types/Api_Brigades.ts +36 -36
  26. package/src/api/types/Api_Controls.ts +111 -111
  27. package/src/api/types/Api_Equipment.ts +3 -3
  28. package/src/api/types/Api_Instruments.ts +156 -156
  29. package/src/api/types/Api_Metrics.ts +5 -5
  30. package/src/api/types/Api_Modules.ts +21 -21
  31. package/src/api/types/Api_Projects.ts +62 -62
  32. package/src/api/types/Api_Repairs.ts +186 -186
  33. package/src/api/types/Api_Schedule.ts +64 -64
  34. package/src/api/types/Api_Search.ts +80 -80
  35. package/src/api/types/Api_Tasks.ts +376 -376
  36. package/src/api/types/Api_User.ts +146 -146
  37. package/src/api/types/Api_Video.ts +244 -241
  38. package/src/common/app-datepicker/AppDatepicker.vue +218 -218
  39. package/src/common/app-dropdown/AppDropdown.vue +37 -37
  40. package/src/common/app-input-new/AppInputNew.vue +179 -179
  41. package/src/common/app-layout/AppLayout.vue +84 -84
  42. package/src/common/app-modal/index.vue +96 -96
  43. package/src/common/app-sheet-new/AppSheetNew.vue +244 -244
  44. package/src/common/app-sidebar/AppSidebar.vue +174 -174
  45. package/src/common/app-sidebar/components/SidebarMenuItem.vue +149 -149
  46. package/src/common/app-table/AppTable.vue +313 -313
  47. package/src/common/app-table/AppTableLayout.vue +137 -137
  48. package/src/common/app-table/components/ModalSelect.vue +298 -298
  49. package/src/common/app-table/controllers/useBaseTable.ts +45 -45
  50. package/src/common/app-table/controllers/useTableModel.ts +102 -102
  51. package/src/icons/dialogs/SafetyIcon.vue +12 -12
  52. package/src/index.ts +131 -131
  53. package/src/styles/variables.sass +12 -12
  54. package/src/utils/files.ts +19 -19
  55. package/dist/types/api/services/ComentsServise.d.ts +0 -10
  56. package/dist/types/api/types/Api_Users.d.ts +0 -43
@@ -1,137 +1,137 @@
1
- <template>
2
- <div class="table-layout" :class="{ 'hide-search': !isActionsSlot && hideSearch, 'hide-pagination': hidePagination }">
3
- <div v-if="isActionsSlot || !hideSearch" class="table-controls">
4
- <app-table-search
5
- v-if="!hideSearch"
6
- :model-value="props.search || ''"
7
- class="search-input"
8
- placeholder="Введите наименование"
9
- @search="props.onSearch"
10
- />
11
- <slot v-if="isActionsSlot" name="actions" />
12
- </div>
13
-
14
- <div class="table-wrapper">
15
- <app-table
16
- v-bind="props.tableProps"
17
- :selected-rows="props.selectedRows"
18
- :no-hover="noHover"
19
- :slots="slots"
20
- :hide-pagination="hidePagination"
21
- v-on="props.tableEvents"
22
- @update:selectedRows="rows => emit('update:selectedRows', rows)"
23
- >
24
- <template v-for="name in cellSlotsNames" :key="name" #[name]="{ cellProps }">
25
- <slot :name="name" :row="cellProps.row" />
26
- </template>
27
- </app-table>
28
- <div v-if="props.loading" class="loader-overlay">
29
- <q-spinner-audio class="loader-spinner" size="md" :thickness="3" color="primary" />
30
- </div>
31
- </div>
32
-
33
- <app-table-pagination
34
- v-if="!hidePagination && props.currentPage && props.totalPages"
35
- :model-value="props.currentPage"
36
- :total-pages="props.totalPages"
37
- @page-change="props.onPageChange"
38
- />
39
-
40
- <slot v-if="'modal' in slots" name="modal" />
41
- </div>
42
- </template>
43
- <script setup lang="ts">
44
- import AppTable from './AppTable.vue'
45
- import AppTablePagination from '../app-table/components/TablePagination.vue'
46
- import AppTableSearch from '../app-table/components/TableSearch.vue'
47
- import { defineProps, defineEmits, useSlots, computed } from 'vue'
48
-
49
- const props = defineProps<{
50
- search?: string
51
- loading?: boolean
52
- currentPage?: number
53
- totalPages?: number
54
- tableProps: any
55
- tableEvents?: any
56
- onSearch?: (val: string) => void
57
- onPageChange?: (page: number) => void
58
- hideSearch?: boolean
59
- hidePagination?: boolean
60
- noHover?: boolean
61
- selectedRows?: any[]
62
- }>()
63
- const emit = defineEmits<{
64
- 'update:selectedRows': [rows: any[]]
65
- }>()
66
-
67
- const slots = useSlots()
68
-
69
- const baseSlotsNames = ['actions', 'modal']
70
-
71
- const cellSlotsNames = computed(() => {
72
- if (!slots) return []
73
-
74
- return Object.keys(slots).filter((key: string) => !baseSlotsNames.includes(key))
75
- })
76
-
77
- const isActionsSlot = computed(() => 'actions' in slots)
78
- </script>
79
- <style scoped lang="scss">
80
- .table-layout {
81
- height: 100%;
82
- display: grid;
83
- grid-template-rows: auto 1fr auto;
84
- gap: 1.25rem;
85
- box-sizing: border-box;
86
- overflow: auto;
87
-
88
- &.hide-search {
89
- grid-template-rows: 1fr auto;
90
- }
91
-
92
- &.hide-pagination {
93
- grid-template-rows: auto 1fr;
94
- }
95
-
96
- &.hide-search.hide-pagination {
97
- grid-template-rows: 1fr;
98
- }
99
- }
100
- .table-controls {
101
- display: flex;
102
- align-items: center;
103
- justify-content: space-between;
104
- gap: 1.25rem;
105
-
106
- .search-input {
107
- flex: 1;
108
- }
109
-
110
- ::v-deep(.q-btn) {
111
- flex-shrink: 0;
112
- border-radius: 2px;
113
- background: #fff;
114
- box-shadow: 0px 2px 4px rgba(0, 0, 0, 0.1);
115
- color: #3f8cff;
116
- height: 50px;
117
- width: 50px;
118
- }
119
- }
120
- .table-wrapper {
121
- position: relative;
122
- flex: 1;
123
- overflow-y: auto;
124
- }
125
- .loader-overlay {
126
- position: absolute;
127
- inset: 0;
128
- z-index: 10;
129
- background: rgba(255, 255, 255, 0.8);
130
- display: flex;
131
- align-items: center;
132
- justify-content: center;
133
- }
134
- .loader-spinner {
135
- z-index: 11;
136
- }
137
- </style>
1
+ <template>
2
+ <div class="table-layout" :class="{ 'hide-search': !isActionsSlot && hideSearch, 'hide-pagination': hidePagination }">
3
+ <div v-if="isActionsSlot || !hideSearch" class="table-controls">
4
+ <app-table-search
5
+ v-if="!hideSearch"
6
+ :model-value="props.search || ''"
7
+ class="search-input"
8
+ placeholder="Введите наименование"
9
+ @search="props.onSearch"
10
+ />
11
+ <slot v-if="isActionsSlot" name="actions" />
12
+ </div>
13
+
14
+ <div class="table-wrapper">
15
+ <app-table
16
+ v-bind="props.tableProps"
17
+ :selected-rows="props.selectedRows"
18
+ :no-hover="noHover"
19
+ :slots="slots"
20
+ :hide-pagination="hidePagination"
21
+ v-on="props.tableEvents"
22
+ @update:selectedRows="rows => emit('update:selectedRows', rows)"
23
+ >
24
+ <template v-for="name in cellSlotsNames" :key="name" #[name]="{ cellProps }">
25
+ <slot :name="name" :row="cellProps.row" />
26
+ </template>
27
+ </app-table>
28
+ <div v-if="props.loading" class="loader-overlay">
29
+ <q-spinner-audio class="loader-spinner" size="md" :thickness="3" color="primary" />
30
+ </div>
31
+ </div>
32
+
33
+ <app-table-pagination
34
+ v-if="!hidePagination && props.currentPage && props.totalPages"
35
+ :model-value="props.currentPage"
36
+ :total-pages="props.totalPages"
37
+ @page-change="props.onPageChange"
38
+ />
39
+
40
+ <slot v-if="'modal' in slots" name="modal" />
41
+ </div>
42
+ </template>
43
+ <script setup lang="ts">
44
+ import AppTable from './AppTable.vue'
45
+ import AppTablePagination from '../app-table/components/TablePagination.vue'
46
+ import AppTableSearch from '../app-table/components/TableSearch.vue'
47
+ import { defineProps, defineEmits, useSlots, computed } from 'vue'
48
+
49
+ const props = defineProps<{
50
+ search?: string
51
+ loading?: boolean
52
+ currentPage?: number
53
+ totalPages?: number
54
+ tableProps: any
55
+ tableEvents?: any
56
+ onSearch?: (val: string) => void
57
+ onPageChange?: (page: number) => void
58
+ hideSearch?: boolean
59
+ hidePagination?: boolean
60
+ noHover?: boolean
61
+ selectedRows?: any[]
62
+ }>()
63
+ const emit = defineEmits<{
64
+ 'update:selectedRows': [rows: any[]]
65
+ }>()
66
+
67
+ const slots = useSlots()
68
+
69
+ const baseSlotsNames = ['actions', 'modal']
70
+
71
+ const cellSlotsNames = computed(() => {
72
+ if (!slots) return []
73
+
74
+ return Object.keys(slots).filter((key: string) => !baseSlotsNames.includes(key))
75
+ })
76
+
77
+ const isActionsSlot = computed(() => 'actions' in slots)
78
+ </script>
79
+ <style scoped lang="scss">
80
+ .table-layout {
81
+ height: 100%;
82
+ display: grid;
83
+ grid-template-rows: auto 1fr auto;
84
+ gap: 1.25rem;
85
+ box-sizing: border-box;
86
+ overflow: auto;
87
+
88
+ &.hide-search {
89
+ grid-template-rows: 1fr auto;
90
+ }
91
+
92
+ &.hide-pagination {
93
+ grid-template-rows: auto 1fr;
94
+ }
95
+
96
+ &.hide-search.hide-pagination {
97
+ grid-template-rows: 1fr;
98
+ }
99
+ }
100
+ .table-controls {
101
+ display: flex;
102
+ align-items: center;
103
+ justify-content: space-between;
104
+ gap: 1.25rem;
105
+
106
+ .search-input {
107
+ flex: 1;
108
+ }
109
+
110
+ ::v-deep(.q-btn) {
111
+ flex-shrink: 0;
112
+ border-radius: 2px;
113
+ background: #fff;
114
+ box-shadow: 0px 2px 4px rgba(0, 0, 0, 0.1);
115
+ color: #3f8cff;
116
+ height: 50px;
117
+ width: 50px;
118
+ }
119
+ }
120
+ .table-wrapper {
121
+ position: relative;
122
+ flex: 1;
123
+ overflow-y: auto;
124
+ }
125
+ .loader-overlay {
126
+ position: absolute;
127
+ inset: 0;
128
+ z-index: 10;
129
+ background: rgba(255, 255, 255, 0.8);
130
+ display: flex;
131
+ align-items: center;
132
+ justify-content: center;
133
+ }
134
+ .loader-spinner {
135
+ z-index: 11;
136
+ }
137
+ </style>