@skyservice-developers/vue-dev-kit 2.16.0 → 2.17.0
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.
- package/README.md +40 -2
- package/dist/features/SkyCheckboxFilter/SkyCheckboxFilter.vue.d.ts +7 -0
- package/dist/features/SkySelectFilter/SkySelectFilter.vue.d.ts +1 -1
- package/dist/shared/ui/SkyPagination/SkyPagination.vue.d.ts +77 -0
- package/dist/shared/ui/SkyPagination/index.d.ts +1 -0
- package/dist/shared/ui/index.d.ts +1 -0
- package/dist/style.css +1 -1
- package/dist/vue-dev-kit.cjs +12 -12
- package/dist/vue-dev-kit.js +2183 -2117
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -34,7 +34,7 @@ import {
|
|
|
34
34
|
SkyTableRow, SkyTableCell,
|
|
35
35
|
useTableSort, useTableSelection, useColumnVisibility,
|
|
36
36
|
FunctionalCalendar, SkyDateRangePicker,
|
|
37
|
-
SkyFilterDropdown,
|
|
37
|
+
SkyFilterDropdown, SkyPagination,
|
|
38
38
|
// widgets
|
|
39
39
|
SkyTileCard,
|
|
40
40
|
// features
|
|
@@ -184,7 +184,7 @@ import {
|
|
|
184
184
|
| `dropdownTitle` | `String` | `'Останні відвідані розділи'` | Заголовок дропдауну |
|
|
185
185
|
| `visitLabel` | `String` | `'Останнє відвідування'` | Підпис часу в дропдауні |
|
|
186
186
|
| `trackPageName` | `String` | `''` | Назва сторінки для трекінгу відвідувань |
|
|
187
|
-
| `trackPagePath` | `String` | `''` | Шлях сторінки для трекінгу |
|
|
187
|
+
| `trackPagePath` | `String` | `''` | Шлях сторінки для трекінгу (за замовчуванням `/apps/{trackPageName}`; актуальний дашборд підставляє свій реальний маршрут) |
|
|
188
188
|
| `appId` | `String` | `''` | Ідентифікатор додатку для iframe bridge |
|
|
189
189
|
|
|
190
190
|
#### Slots
|
|
@@ -1209,6 +1209,7 @@ const range = reactive({ start: '', end: '' }) // { start, end } у формат
|
|
|
1209
1209
|
| `doneLabel` | `String` | `'Готово'` | Лейбл кнопки "Готово" |
|
|
1210
1210
|
| `searchPlaceholder` | `String` | `'Пошук'` | Placeholder пошуку |
|
|
1211
1211
|
| `selectAll` | `Boolean` | `true` | Показувати «Обрати все» |
|
|
1212
|
+
| `searchable` | `Boolean` | `true` | Показувати поле пошуку |
|
|
1212
1213
|
| `disabled` | `Boolean` | `false` | Вимкнений стан |
|
|
1213
1214
|
|
|
1214
1215
|
### SkySelectFilter
|
|
@@ -1243,6 +1244,42 @@ const range = reactive({ start: '', end: '' }) // { start, end } у формат
|
|
|
1243
1244
|
|
|
1244
1245
|
---
|
|
1245
1246
|
|
|
1247
|
+
## SkyPagination
|
|
1248
|
+
|
|
1249
|
+
Посторінкова навігація в стилі таблиць адмінки: селектор кількості на сторінці, далі
|
|
1250
|
+
номери зі згортанням у «…». Нічого не завантажує — лише повідомляє, що обрали.
|
|
1251
|
+
|
|
1252
|
+
```vue
|
|
1253
|
+
<SkyPagination
|
|
1254
|
+
:total="total"
|
|
1255
|
+
:page="page"
|
|
1256
|
+
:page-size="pageSize"
|
|
1257
|
+
:all-label="(n) => `Усі ${n}`"
|
|
1258
|
+
@update:page="page = $event; reload()"
|
|
1259
|
+
@update:page-size="pageSize = $event; page = 1; reload()"
|
|
1260
|
+
/>
|
|
1261
|
+
```
|
|
1262
|
+
|
|
1263
|
+
#### Props
|
|
1264
|
+
|
|
1265
|
+
| Prop | Тип | За замовчуванням | Опис |
|
|
1266
|
+
|------|-----|------------------|------|
|
|
1267
|
+
| `total` | `Number` | — | Скільки всього записів у вибірці, не на сторінці |
|
|
1268
|
+
| `page` | `Number` | — | Поточна сторінка, з одиниці |
|
|
1269
|
+
| `pageSize` | `Number` | — | Записів на сторінці |
|
|
1270
|
+
| `pageSizeOptions` | `Number[]` | `[5,10,25,50,100,200,500,750,1000]` | Варіанти селектора; лишаються менші за `total` |
|
|
1271
|
+
| `allLabel` | `(total) => String` | — | Підпис пункту «показати все»; без нього пункту немає |
|
|
1272
|
+
| `allLimit` | `Number` | `1000` | До якої кількості пропонувати «показати все» |
|
|
1273
|
+
| `siblings` | `Number` | `1` | Скільки сусідніх сторінок показувати обабіч поточної |
|
|
1274
|
+
| `disabled` | `Boolean` | `false` | Вимкнений стан |
|
|
1275
|
+
|
|
1276
|
+
Events: `update:page`, `update:pageSize`. CSS-змінні — `--sky-pagination-*`.
|
|
1277
|
+
|
|
1278
|
+
**Потрібен `total`.** Для курсорних джерел, де загальна кількість невідома, а вперед ведуть
|
|
1279
|
+
лише курсори, номери сторінок неможливі — там потрібна навігація «назад / далі».
|
|
1280
|
+
|
|
1281
|
+
---
|
|
1282
|
+
|
|
1246
1283
|
## SkyFilterDropdown
|
|
1247
1284
|
|
|
1248
1285
|
Оболонка фільтра: тригер-чіп + панель. Бере на себе тільки спільне — стан відкриття,
|
|
@@ -1434,6 +1471,7 @@ src/
|
|
|
1434
1471
|
│ ├── SkyTable/ # готова віртуал-скрол таблиця (Header/Row/Footer/DynamicScroller/items/*)
|
|
1435
1472
|
│ ├── SkyTileCard/
|
|
1436
1473
|
│ ├── SkyFilterDropdown/ # оболонка фільтра (тригер + панель) + FilterSearch
|
|
1474
|
+
│ ├── SkyPagination/ # посторінкова навігація зі селектором кількості
|
|
1437
1475
|
│ ├── functional-calendar/ # форк vue-functional-calendar, перенесений зі SkyMarket 1:1
|
|
1438
1476
|
│ ├── SkyDateRangePicker/ # DatePickerRange зі SkyMarket, store/langs → props/локальний стан
|
|
1439
1477
|
│ └── <Component>/
|
|
@@ -13,10 +13,13 @@ declare const _default: import('vue').DefineComponent<import('vue').ExtractPropT
|
|
|
13
13
|
searchPlaceholder?: string;
|
|
14
14
|
/** Сховати «Обрати все» — коли споживач не може прийняти більше одного значення. */
|
|
15
15
|
selectAll?: boolean;
|
|
16
|
+
/** Сховати пошук — для коротких фіксованих списків він лише шумить. */
|
|
17
|
+
searchable?: boolean;
|
|
16
18
|
disabled?: boolean;
|
|
17
19
|
}>, {
|
|
18
20
|
modelValue: () => never[];
|
|
19
21
|
selectAll: boolean;
|
|
22
|
+
searchable: boolean;
|
|
20
23
|
selectAllLabel: string;
|
|
21
24
|
clearLabel: string;
|
|
22
25
|
doneLabel: string;
|
|
@@ -34,10 +37,13 @@ declare const _default: import('vue').DefineComponent<import('vue').ExtractPropT
|
|
|
34
37
|
searchPlaceholder?: string;
|
|
35
38
|
/** Сховати «Обрати все» — коли споживач не може прийняти більше одного значення. */
|
|
36
39
|
selectAll?: boolean;
|
|
40
|
+
/** Сховати пошук — для коротких фіксованих списків він лише шумить. */
|
|
41
|
+
searchable?: boolean;
|
|
37
42
|
disabled?: boolean;
|
|
38
43
|
}>, {
|
|
39
44
|
modelValue: () => never[];
|
|
40
45
|
selectAll: boolean;
|
|
46
|
+
searchable: boolean;
|
|
41
47
|
selectAllLabel: string;
|
|
42
48
|
clearLabel: string;
|
|
43
49
|
doneLabel: string;
|
|
@@ -53,6 +59,7 @@ declare const _default: import('vue').DefineComponent<import('vue').ExtractPropT
|
|
|
53
59
|
doneLabel: string;
|
|
54
60
|
searchPlaceholder: string;
|
|
55
61
|
selectAll: boolean;
|
|
62
|
+
searchable: boolean;
|
|
56
63
|
}, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, any>;
|
|
57
64
|
export default _default;
|
|
58
65
|
type __VLS_NonUndefinedable<T> = T extends undefined ? never : T;
|
|
@@ -49,9 +49,9 @@ declare const _default: import('vue').DefineComponent<import('vue').ExtractPropT
|
|
|
49
49
|
modelValue: OptionValue | null;
|
|
50
50
|
disabled: boolean;
|
|
51
51
|
searchPlaceholder: string;
|
|
52
|
+
searchable: boolean;
|
|
52
53
|
allLabel: string;
|
|
53
54
|
emptyLabel: string;
|
|
54
|
-
searchable: boolean;
|
|
55
55
|
}, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, any>;
|
|
56
56
|
export default _default;
|
|
57
57
|
type __VLS_NonUndefinedable<T> = T extends undefined ? never : T;
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
declare const _default: import('vue').DefineComponent<import('vue').ExtractPropTypes<__VLS_WithDefaults<__VLS_TypePropsToRuntimeProps<{
|
|
2
|
+
/** Скільки всього записів у вибірці (не на сторінці). */
|
|
3
|
+
total: number;
|
|
4
|
+
/** Поточна сторінка, з одиниці. */
|
|
5
|
+
page: number;
|
|
6
|
+
pageSize: number;
|
|
7
|
+
/** Варіанти для селектора; лишаються тільки менші за `total`. */
|
|
8
|
+
pageSizeOptions?: number[];
|
|
9
|
+
/**
|
|
10
|
+
* Підпис пункту «показати все». Отримує кількість: `(n) => `Усі ${n}``.
|
|
11
|
+
* Порожній — пункту немає. З'являється, лише поки записів менше за `allLimit`.
|
|
12
|
+
*/
|
|
13
|
+
allLabel?: (total: number) => string;
|
|
14
|
+
allLimit?: number;
|
|
15
|
+
/** Скільки сусідніх сторінок показувати обабіч поточної. */
|
|
16
|
+
siblings?: number;
|
|
17
|
+
disabled?: boolean;
|
|
18
|
+
}>, {
|
|
19
|
+
pageSizeOptions: () => number[];
|
|
20
|
+
allLabel: undefined;
|
|
21
|
+
allLimit: number;
|
|
22
|
+
siblings: number;
|
|
23
|
+
disabled: boolean;
|
|
24
|
+
}>>, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
|
|
25
|
+
"update:page": (args_0: number) => void;
|
|
26
|
+
"update:pageSize": (args_0: number) => void;
|
|
27
|
+
}, string, import('vue').PublicProps, Readonly<import('vue').ExtractPropTypes<__VLS_WithDefaults<__VLS_TypePropsToRuntimeProps<{
|
|
28
|
+
/** Скільки всього записів у вибірці (не на сторінці). */
|
|
29
|
+
total: number;
|
|
30
|
+
/** Поточна сторінка, з одиниці. */
|
|
31
|
+
page: number;
|
|
32
|
+
pageSize: number;
|
|
33
|
+
/** Варіанти для селектора; лишаються тільки менші за `total`. */
|
|
34
|
+
pageSizeOptions?: number[];
|
|
35
|
+
/**
|
|
36
|
+
* Підпис пункту «показати все». Отримує кількість: `(n) => `Усі ${n}``.
|
|
37
|
+
* Порожній — пункту немає. З'являється, лише поки записів менше за `allLimit`.
|
|
38
|
+
*/
|
|
39
|
+
allLabel?: (total: number) => string;
|
|
40
|
+
allLimit?: number;
|
|
41
|
+
/** Скільки сусідніх сторінок показувати обабіч поточної. */
|
|
42
|
+
siblings?: number;
|
|
43
|
+
disabled?: boolean;
|
|
44
|
+
}>, {
|
|
45
|
+
pageSizeOptions: () => number[];
|
|
46
|
+
allLabel: undefined;
|
|
47
|
+
allLimit: number;
|
|
48
|
+
siblings: number;
|
|
49
|
+
disabled: boolean;
|
|
50
|
+
}>>> & Readonly<{
|
|
51
|
+
"onUpdate:page"?: ((args_0: number) => any) | undefined;
|
|
52
|
+
"onUpdate:pageSize"?: ((args_0: number) => any) | undefined;
|
|
53
|
+
}>, {
|
|
54
|
+
disabled: boolean;
|
|
55
|
+
allLabel: (total: number) => string;
|
|
56
|
+
pageSizeOptions: number[];
|
|
57
|
+
allLimit: number;
|
|
58
|
+
siblings: number;
|
|
59
|
+
}, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, any>;
|
|
60
|
+
export default _default;
|
|
61
|
+
type __VLS_NonUndefinedable<T> = T extends undefined ? never : T;
|
|
62
|
+
type __VLS_TypePropsToRuntimeProps<T> = {
|
|
63
|
+
[K in keyof T]-?: {} extends Pick<T, K> ? {
|
|
64
|
+
type: import('vue').PropType<__VLS_NonUndefinedable<T[K]>>;
|
|
65
|
+
} : {
|
|
66
|
+
type: import('vue').PropType<T[K]>;
|
|
67
|
+
required: true;
|
|
68
|
+
};
|
|
69
|
+
};
|
|
70
|
+
type __VLS_WithDefaults<P, D> = {
|
|
71
|
+
[K in keyof Pick<P, keyof P>]: K extends keyof D ? __VLS_Prettify<P[K] & {
|
|
72
|
+
default: D[K];
|
|
73
|
+
}> : P[K];
|
|
74
|
+
};
|
|
75
|
+
type __VLS_Prettify<T> = {
|
|
76
|
+
[K in keyof T]: T[K];
|
|
77
|
+
} & {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { default } from './SkyPagination.vue';
|
|
@@ -16,6 +16,7 @@ export { default as SkyDateRangePicker } from './SkyDateRangePicker';
|
|
|
16
16
|
export { default as SkyFilterDropdown } from './SkyFilterDropdown';
|
|
17
17
|
export { default as SkyInput } from './SkyInput';
|
|
18
18
|
export { default as SkyLoader } from './SkyLoader';
|
|
19
|
+
export { default as SkyPagination } from './SkyPagination';
|
|
19
20
|
export { default as SkySelect } from './SkySelect';
|
|
20
21
|
export { default as SkySelectSearch } from './SkySelectSearch';
|
|
21
22
|
export { default as SkySearchInput } from './SkySearchInput';
|