bms-shared-components 1.1.22 → 1.1.25

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.
@@ -1,11 +1,180 @@
1
1
  /**
2
2
  * Типы для пакета bms-shared-components (Vue 3 shared components library).
3
+ *
4
+ * Интерфейсы *Props экспортируются для подсказок и `import type { TheTableProps }`.
5
+ * В шаблонах Volar подхватывает пропсы у импортированных компонентов и у глобальных
6
+ * (см. пакетный файл `bms-shared-components/global`).
3
7
  */
4
8
  declare module "bms-shared-components" {
5
- import type { App, Component } from "vue";
9
+ import type { App, Component, DefineComponent } from "vue";
6
10
 
7
- // Компоненты
8
- export const FullLoader: Component;
11
+ // --- TheTable ---
12
+
13
+ /** Пропсы TheTable (обёртка над DataTable из bms-ui-lib-ihp). */
14
+ export interface TheTableProps {
15
+ /** Индикатор загрузки */
16
+ loading?: boolean;
17
+ /** Высота таблицы (px) */
18
+ height?: number;
19
+ /** Функция цвета выделения строки */
20
+ selectedColor?: ((...args: unknown[]) => unknown) | null;
21
+ /** Разрешить выбор строк */
22
+ selectable?: boolean;
23
+ /** Источник данных (массив записей) */
24
+ dataSource: unknown[];
25
+ /** Описание колонок */
26
+ columns: unknown[];
27
+ /** Обработчик выбора строки */
28
+ onSelectRow?: (...args: unknown[]) => unknown;
29
+ /** Действия над строками / ячейками */
30
+ actions?: Record<string, unknown> | null;
31
+ /** Чередование фона строк */
32
+ striped?: boolean;
33
+ /** Компактный режим */
34
+ compact?: boolean;
35
+ /** Сортировка по умолчанию */
36
+ defaultSort?: { column: string; desc: boolean };
37
+ /** Доп. функции колонок (объект настроек) */
38
+ showFunctions?: Record<string, unknown>;
39
+ /** Кастомная раскраска строки */
40
+ customColoring?: ((...args: unknown[]) => unknown) | null;
41
+ /** Альтернативная раскраска */
42
+ coloring?: ((...args: unknown[]) => unknown) | null;
43
+ /** Показывать нумерацию */
44
+ numbering?: boolean;
45
+ onEdit?: ((...args: unknown[]) => unknown) | null;
46
+ onDelete?: ((...args: unknown[]) => unknown) | null;
47
+ /** Не вызывать повторно выбор той же строки */
48
+ preventReselection?: boolean;
49
+ /** Поле ключа для выбора (по умолчанию Index) */
50
+ selectingKey?: string;
51
+ /** Сбрасывать выбор при потере фокуса и т.п. */
52
+ dropSelect?: boolean;
53
+ /** Количество строк на странице; 0 — без пагинации */
54
+ pagination?: number;
55
+ /** Использовать исходные данные без отображаемых преобразований */
56
+ originalData?: boolean;
57
+ /** Высота в строках (вспомогательный режим) */
58
+ heightInRows?: number;
59
+ showEdit?: ((...args: unknown[]) => unknown) | null;
60
+ showDelete?: ((...args: unknown[]) => unknown) | null;
61
+ /** Порядок кнопок действий: строка или массив имён */
62
+ actionsOrder?: string | unknown[];
63
+ /** Задержка перед событием фильтров (мс) */
64
+ filtersDelay?: number;
65
+ /** Фильтрация только по уже загруженным данным */
66
+ localFiltering?: boolean;
67
+ /** Запрет переноса длинных слов в ячейках */
68
+ noBreakWord?: boolean;
69
+ /** Показать контекстное меню строки (слот rowContextMenu) */
70
+ showRowContextMenu?: boolean;
71
+ /** v-model:selected — выбранные строки */
72
+ selected?: unknown;
73
+ }
74
+
75
+ export const TheTable: DefineComponent<TheTableProps>;
76
+
77
+ // --- ReSimpleTable ---
78
+
79
+ /** Пропсы ReSimpleTable (таблица на «чистых» колонках Title/Field и т.д.). */
80
+ export interface ReSimpleTableProps {
81
+ striped?: boolean;
82
+ /** Колонки (Title, Field, …) */
83
+ columns?: unknown[];
84
+ /** Строки данных */
85
+ data?: unknown[];
86
+ /** Размер страницы */
87
+ pageSize?: number;
88
+ /** Действия в строке */
89
+ rowActions?: unknown[];
90
+ /** Функция цвета строки → CSS color */
91
+ rowColor?: (...args: unknown[]) => string;
92
+ /** Показать экспорт в Excel */
93
+ enableXlsxExport?: boolean;
94
+ contextActions?: unknown[];
95
+ /** Горизонтальная раскладка строки */
96
+ rowHorizontal?: boolean;
97
+ tableClass?: string;
98
+ /** Пагинация управляется снаружи */
99
+ customPagination?: boolean;
100
+ recordTotal?: number;
101
+ /**
102
+ * Уникальный id таблицы (localStorage, пресеты, экспорт).
103
+ * В шаблоне: table-id="..."
104
+ */
105
+ tableId: string;
106
+ stickyHeader?: boolean;
107
+ wheelPropagation?: boolean;
108
+ numbering?: boolean;
109
+ enablePageSizeSelector?: boolean;
110
+ footer?: boolean;
111
+ growOnlyX?: boolean;
112
+ /** Пресеты колонок (шапка) */
113
+ enablePresets?: boolean;
114
+ presetsTableKey?: string;
115
+ presetsEmployeePostId?: string | null;
116
+ presetsDeleted?: boolean | null;
117
+ /** v-model:sort-direction */
118
+ sortDirection?: unknown;
119
+ /** v-model:sort-column-index */
120
+ sortColumnIndex?: unknown;
121
+ }
122
+
123
+ export const ReSimpleTable: DefineComponent<ReSimpleTableProps>;
124
+
125
+ // --- TableAccordion ---
126
+
127
+ /** Пропсы TableAccordion (иерархическая таблица-аккордеон). */
128
+ export interface TableAccordionProps {
129
+ data?: unknown[];
130
+ columns: unknown[];
131
+ /** Действия по уровням: all,0, 1, … */
132
+ actions?: Record<string, unknown>;
133
+ selected?: Record<string, unknown>;
134
+ loading?: boolean;
135
+ options?: Record<string, unknown> | null;
136
+ bindOptions?: Record<string, unknown> | null;
137
+ contextMenuVisible?: boolean;
138
+ /** Опции PerfectScrollbar */
139
+ psOptions?: Record<string, unknown>;
140
+ bindMenuAction?: Record<string, (...args: unknown[]) => unknown> | null;
141
+ showActionsMenu?: boolean;
142
+ enablePresets?: boolean;
143
+ presetsTableKey?: string;
144
+ presetsEmployeePostId?: string | null;
145
+ presetsDeleted?: boolean | null;
146
+ }
147
+
148
+ export const TableAccordion: DefineComponent<TableAccordionProps>;
149
+
150
+ // --- TablePresetPicker ---
151
+
152
+ export interface TablePresetPickerProps {
153
+ modelValue?: string | null;
154
+ tableKey: string;
155
+ employeePostId: string | null;
156
+ columns?: unknown[];
157
+ deleted?: boolean | null;
158
+ autoLoad?: boolean;
159
+ applyOnSelect?: boolean;
160
+ compact?: boolean;
161
+ disabled?: boolean;
162
+ }
163
+
164
+ export const TablePresetPicker: DefineComponent<TablePresetPickerProps>;
165
+
166
+ // --- FullLoader ---
167
+
168
+ export interface FullLoaderProps {
169
+ /** v-model — показать оверлей */
170
+ modelValue?: boolean;
171
+ /** Минимальное время показа (мс) */
172
+ minShowTime?: number;
173
+ }
174
+
175
+ export const FullLoader: DefineComponent<FullLoaderProps>;
176
+
177
+ // Остальные компоненты (детальные пропсы при необходимости дополняйте по аналогии)
9
178
  export const ConstructorReportsQueue: Component;
10
179
  export const ConstructorReports: Component;
11
180
  export const PatientInfoComponent: Component;
@@ -15,7 +184,6 @@ declare module "bms-shared-components" {
15
184
  export const ApiUseBenefit: Component;
16
185
  export const ScanWriteOffMedicalDevicesFormMDLP: Component;
17
186
  export const IsOkay: Component;
18
- export const TableAccordion: Component;
19
187
 
20
188
  // API
21
189
  export function configureApi(config: { baseURL: string; token?: string; headers?: Record<string, string> }): void;