@ouestfrance/sipa-bms-ui 8.8.1 → 8.9.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/dist/components/form/BmsServerAutocomplete.vue.d.ts +30 -0
- package/dist/components/form/RawAutocomplete.vue.d.ts +1 -0
- package/dist/components/table/BmsServerTable.vue.d.ts +5 -5
- package/dist/components/table/BmsTable.vue.d.ts +1 -1
- package/dist/composables/search.composable.d.ts +6 -0
- package/dist/models/table.model.d.ts +5 -2
- package/dist/sipa-bms-ui.css +42 -29
- package/dist/sipa-bms-ui.es.js +494 -366
- package/dist/sipa-bms-ui.es.js.map +1 -1
- package/dist/sipa-bms-ui.umd.js +500 -372
- package/dist/sipa-bms-ui.umd.js.map +1 -1
- package/package.json +1 -1
- package/src/components/form/BmsMultiSelect.vue +3 -3
- package/src/components/form/BmsSelect.vue +3 -3
- package/src/components/form/BmsServerAutocomplete.stories.js +74 -0
- package/src/components/form/BmsServerAutocomplete.vue +143 -0
- package/src/components/form/RawAutocomplete.vue +3 -2
- package/src/components/table/BmsTableFilters.vue +4 -0
- package/src/models/table.model.ts +6 -1
- package/src/showroom/pages/autocomplete.vue +16 -3
- package/src/showroom/pages/server-table.vue +17 -73
- package/src/showroom/server.js +24 -0
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import { InputOption } from '../../models';
|
|
2
|
+
import { FieldComponentProps } from '../../plugins/field/field-component.model';
|
|
3
|
+
export interface Props extends FieldComponentProps {
|
|
4
|
+
url?: string;
|
|
5
|
+
request?: (abortController: AbortController, inputValue?: string, url?: string) => Promise<{
|
|
6
|
+
data: InputOption[];
|
|
7
|
+
}>;
|
|
8
|
+
modelValue?: string;
|
|
9
|
+
placeholder?: string;
|
|
10
|
+
open?: boolean;
|
|
11
|
+
}
|
|
12
|
+
type __VLS_Props = Props;
|
|
13
|
+
type __VLS_PublicProps = {
|
|
14
|
+
'modelValue'?: string;
|
|
15
|
+
} & __VLS_Props;
|
|
16
|
+
declare const _default: import('vue').DefineComponent<__VLS_PublicProps, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
|
|
17
|
+
select: (option: InputOption) => any;
|
|
18
|
+
addNewOption: (newOption: string) => any;
|
|
19
|
+
"update:modelValue": (value: string) => any;
|
|
20
|
+
}, string, import('vue').PublicProps, Readonly<__VLS_PublicProps> & Readonly<{
|
|
21
|
+
onSelect?: ((option: InputOption) => any) | undefined;
|
|
22
|
+
onAddNewOption?: ((newOption: string) => any) | undefined;
|
|
23
|
+
"onUpdate:modelValue"?: ((value: string) => any) | undefined;
|
|
24
|
+
}>, {
|
|
25
|
+
open: boolean;
|
|
26
|
+
request: (abortController: AbortController, inputValue?: string | undefined, url?: string | undefined) => Promise<{
|
|
27
|
+
data: InputOption[];
|
|
28
|
+
}>;
|
|
29
|
+
}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, any>;
|
|
30
|
+
export default _default;
|
|
@@ -23,6 +23,7 @@ declare const _default: __VLS_WithTemplateSlots<import('vue').DefineComponent<__
|
|
|
23
23
|
onAddNewOption?: ((newOption: string) => any) | undefined;
|
|
24
24
|
"onUpdate:modelValue"?: ((value: string | null) => any) | undefined;
|
|
25
25
|
}>, {
|
|
26
|
+
canAddNewOption: boolean;
|
|
26
27
|
modelValue: string | null;
|
|
27
28
|
open: boolean;
|
|
28
29
|
}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {
|
|
@@ -71,15 +71,15 @@ declare const _default: __VLS_WithTemplateSlots<import('vue').DefineComponent<__
|
|
|
71
71
|
selectableDisabled: boolean;
|
|
72
72
|
maxSelectedSize: number;
|
|
73
73
|
pagination: number[];
|
|
74
|
-
canSaveFilters: boolean;
|
|
75
|
-
filters: Filter[];
|
|
76
|
-
persistent: boolean;
|
|
77
|
-
initialPage: number;
|
|
78
|
-
debounceTime: number;
|
|
79
74
|
request: (params: ServerTableRequestParams, abortController: AbortController, url?: string | undefined) => Promise<{
|
|
80
75
|
data: unknown[];
|
|
81
76
|
total: number;
|
|
82
77
|
}>;
|
|
78
|
+
filters: Filter[];
|
|
79
|
+
canSaveFilters: boolean;
|
|
80
|
+
persistent: boolean;
|
|
81
|
+
initialPage: number;
|
|
82
|
+
debounceTime: number;
|
|
83
83
|
defaultFiltersOpened: boolean;
|
|
84
84
|
savedFilters: SavedFilter[];
|
|
85
85
|
defaultSort: Sort;
|
|
@@ -55,8 +55,8 @@ declare const _default: __VLS_WithTemplateSlots<import('vue').DefineComponent<__
|
|
|
55
55
|
selectable: boolean;
|
|
56
56
|
selectableDisabled: boolean;
|
|
57
57
|
pagination: number[];
|
|
58
|
-
canSaveFilters: boolean;
|
|
59
58
|
filters: Filter[];
|
|
59
|
+
canSaveFilters: boolean;
|
|
60
60
|
persistent: boolean;
|
|
61
61
|
defaultFiltersOpened: boolean;
|
|
62
62
|
savedFilters: SavedFilter[];
|
|
@@ -19,6 +19,9 @@ export declare const useSearch: (persistent?: boolean | Ref<boolean>, defaultFil
|
|
|
19
19
|
label: string;
|
|
20
20
|
value: string;
|
|
21
21
|
}[] | undefined;
|
|
22
|
+
autocompleteRequest?: ((abortController: AbortController, url?: string | undefined) => Promise<{
|
|
23
|
+
data: import('../models').InputOption[];
|
|
24
|
+
}>) | undefined;
|
|
22
25
|
customFilter?: Function | undefined;
|
|
23
26
|
}[], Filter[] | {
|
|
24
27
|
label: string;
|
|
@@ -36,6 +39,9 @@ export declare const useSearch: (persistent?: boolean | Ref<boolean>, defaultFil
|
|
|
36
39
|
label: string;
|
|
37
40
|
value: string;
|
|
38
41
|
}[] | undefined;
|
|
42
|
+
autocompleteRequest?: ((abortController: AbortController, url?: string | undefined) => Promise<{
|
|
43
|
+
data: import('../models').InputOption[];
|
|
44
|
+
}>) | undefined;
|
|
39
45
|
customFilter?: Function | undefined;
|
|
40
46
|
}[]>;
|
|
41
47
|
isFilterVisible: Ref<boolean, boolean>;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { InputType } from './form.model';
|
|
1
|
+
import { InputOption, InputType } from './form.model';
|
|
2
2
|
import { Sort, SortFunction } from './sort.model';
|
|
3
3
|
export declare enum ColumnType {
|
|
4
4
|
Boolean = "Boolean",
|
|
@@ -24,7 +24,7 @@ export interface ServerTableRequestParams {
|
|
|
24
24
|
filters?: Filter[];
|
|
25
25
|
sort?: Sort;
|
|
26
26
|
}
|
|
27
|
-
export type FilterType = 'select' | 'input' | 'inputDate' | 'boolean' | 'autocomplete' | 'betweenNumber' | 'betweenDate' | 'betweenDateTime';
|
|
27
|
+
export type FilterType = 'select' | 'input' | 'inputDate' | 'boolean' | 'autocomplete' | 'autocompleteServer' | 'betweenNumber' | 'betweenDate' | 'betweenDateTime';
|
|
28
28
|
export interface Filter {
|
|
29
29
|
label: string;
|
|
30
30
|
inputType?: InputType;
|
|
@@ -41,6 +41,9 @@ export interface Filter {
|
|
|
41
41
|
label: string;
|
|
42
42
|
value: string;
|
|
43
43
|
}[];
|
|
44
|
+
autocompleteRequest?: (abortController: AbortController, url?: string) => Promise<{
|
|
45
|
+
data: InputOption[];
|
|
46
|
+
}>;
|
|
44
47
|
customFilter?: Function;
|
|
45
48
|
}
|
|
46
49
|
export interface SavedFilter {
|
package/dist/sipa-bms-ui.css
CHANGED
|
@@ -587,7 +587,7 @@ ul li[data-v-ba5302fc]:hover, ul li.selected[data-v-ba5302fc] {
|
|
|
587
587
|
line-height: 1;
|
|
588
588
|
width: 100%;
|
|
589
589
|
background-color: transparent;
|
|
590
|
-
}.field__input .autocomplete-wrapper[data-v-
|
|
590
|
+
}.field__input .autocomplete-wrapper[data-v-eb4d55e4] {
|
|
591
591
|
width: 100%;
|
|
592
592
|
padding: 0.7em;
|
|
593
593
|
margin: 0.5em 0;
|
|
@@ -596,22 +596,22 @@ ul li[data-v-ba5302fc]:hover, ul li.selected[data-v-ba5302fc] {
|
|
|
596
596
|
background-color: var(--input-background-color);
|
|
597
597
|
height: 48px;
|
|
598
598
|
}
|
|
599
|
-
.field__input .autocomplete-wrapper[data-v-
|
|
599
|
+
.field__input .autocomplete-wrapper[data-v-eb4d55e4]:hover {
|
|
600
600
|
--field-border-color: var(--bms-grey-100);
|
|
601
601
|
}
|
|
602
|
-
.field__input .autocomplete-wrapper[data-v-
|
|
602
|
+
.field__input .autocomplete-wrapper[data-v-eb4d55e4]:has(input:focus) {
|
|
603
603
|
--field-border-color: var(--field-border-color-active);
|
|
604
604
|
}
|
|
605
|
-
.field__input .autocomplete-wrapper.is-error[data-v-
|
|
605
|
+
.field__input .autocomplete-wrapper.is-error[data-v-eb4d55e4] {
|
|
606
606
|
--field-border-color: var(--bms-red-100);
|
|
607
607
|
--input-background-color: var(--bms-red-25);
|
|
608
608
|
}
|
|
609
|
-
.field__input .autocomplete-wrapper.is-disabled[data-v-
|
|
609
|
+
.field__input .autocomplete-wrapper.is-disabled[data-v-eb4d55e4] {
|
|
610
610
|
--field-border-color: var(--bms-grey-25);
|
|
611
611
|
--input-background-color: var(--bms-grey-25);
|
|
612
612
|
pointer-events: none;
|
|
613
613
|
}
|
|
614
|
-
.field__input .autocomplete-wrapper input[data-v-
|
|
614
|
+
.field__input .autocomplete-wrapper input[data-v-eb4d55e4] {
|
|
615
615
|
outline: none;
|
|
616
616
|
appearance: none;
|
|
617
617
|
border: 0;
|
|
@@ -624,7 +624,7 @@ ul li[data-v-ba5302fc]:hover, ul li.selected[data-v-ba5302fc] {
|
|
|
624
624
|
width: 100%;
|
|
625
625
|
background-color: transparent;
|
|
626
626
|
}
|
|
627
|
-
.icon[data-v-
|
|
627
|
+
.icon[data-v-eb4d55e4] {
|
|
628
628
|
height: 1em;
|
|
629
629
|
width: 1em;
|
|
630
630
|
cursor: pointer;
|
|
@@ -1188,40 +1188,40 @@ input[type=radio][data-v-c0c9efa3]:checked::before {
|
|
|
1188
1188
|
--field-border-color: var(--bms-grey-25);
|
|
1189
1189
|
--input-background-color: var(--bms-grey-25);
|
|
1190
1190
|
pointer-events: none;
|
|
1191
|
-
}.tags[data-v-
|
|
1191
|
+
}.tags[data-v-05d9b16f] {
|
|
1192
1192
|
display: flex;
|
|
1193
1193
|
gap: 0.5em;
|
|
1194
1194
|
padding: var(--field-margin);
|
|
1195
1195
|
flex-wrap: wrap;
|
|
1196
1196
|
width: 100%;
|
|
1197
1197
|
}
|
|
1198
|
-
.tags .search[data-v-
|
|
1198
|
+
.tags .search[data-v-05d9b16f] {
|
|
1199
1199
|
outline: none;
|
|
1200
1200
|
border: none;
|
|
1201
1201
|
background-color: transparent;
|
|
1202
1202
|
flex-grow: 1;
|
|
1203
1203
|
}
|
|
1204
|
-
.icon-container[data-v-
|
|
1204
|
+
.icon-container[data-v-05d9b16f] {
|
|
1205
1205
|
height: 100%;
|
|
1206
1206
|
display: flex;
|
|
1207
1207
|
align-items: center;
|
|
1208
1208
|
}
|
|
1209
|
-
.icon-container[data-v-
|
|
1209
|
+
.icon-container[data-v-05d9b16f]:hover {
|
|
1210
1210
|
cursor: pointer;
|
|
1211
1211
|
}
|
|
1212
|
-
.icon-container .icon[data-v-
|
|
1212
|
+
.icon-container .icon[data-v-05d9b16f] {
|
|
1213
1213
|
display: block;
|
|
1214
1214
|
width: 1em;
|
|
1215
1215
|
height: 1em;
|
|
1216
1216
|
margin: 0 1em 0 0.5em;
|
|
1217
1217
|
}.clean-icon[data-v-66c267f2]:hover {
|
|
1218
1218
|
cursor: pointer;
|
|
1219
|
-
}.field__input[data-v-
|
|
1219
|
+
}.field__input[data-v-21c618e0] {
|
|
1220
1220
|
--field-border-color: var(--bms-grey-50);
|
|
1221
1221
|
--field-border-color-active: var(--bms-main-100);
|
|
1222
1222
|
--input-background-color: var(--bms-white);
|
|
1223
1223
|
}
|
|
1224
|
-
.field__input .select-wrapper[data-v-
|
|
1224
|
+
.field__input .select-wrapper[data-v-21c618e0] {
|
|
1225
1225
|
width: 100%;
|
|
1226
1226
|
padding: 0 0 0 1em;
|
|
1227
1227
|
border-radius: var(--bms-border-radius);
|
|
@@ -1232,35 +1232,35 @@ input[type=radio][data-v-c0c9efa3]:checked::before {
|
|
|
1232
1232
|
align-items: center;
|
|
1233
1233
|
justify-content: space-between;
|
|
1234
1234
|
}
|
|
1235
|
-
.field__input .select-wrapper .icon-toggle-container[data-v-
|
|
1235
|
+
.field__input .select-wrapper .icon-toggle-container[data-v-21c618e0] {
|
|
1236
1236
|
height: 100%;
|
|
1237
1237
|
display: flex;
|
|
1238
1238
|
align-items: center;
|
|
1239
1239
|
}
|
|
1240
|
-
.field__input .select-wrapper .icon-toggle-container[data-v-
|
|
1240
|
+
.field__input .select-wrapper .icon-toggle-container[data-v-21c618e0]:hover {
|
|
1241
1241
|
cursor: pointer;
|
|
1242
1242
|
}
|
|
1243
|
-
.field__input .select-wrapper .icon-toggle-button[data-v-
|
|
1243
|
+
.field__input .select-wrapper .icon-toggle-button[data-v-21c618e0] {
|
|
1244
1244
|
width: 1em;
|
|
1245
1245
|
margin: 0 var(--field-padding);
|
|
1246
1246
|
display: block;
|
|
1247
1247
|
}
|
|
1248
|
-
.field__input .select-wrapper[data-v-
|
|
1248
|
+
.field__input .select-wrapper[data-v-21c618e0]:hover {
|
|
1249
1249
|
--field-border-color: var(--bms-grey-100);
|
|
1250
1250
|
}
|
|
1251
|
-
.field__input .select-wrapper[data-v-
|
|
1251
|
+
.field__input .select-wrapper[data-v-21c618e0]:has(input:focus) {
|
|
1252
1252
|
--field-border-color: var(--field-border-color-active);
|
|
1253
1253
|
}
|
|
1254
|
-
.field__input .select-wrapper.is-error[data-v-
|
|
1254
|
+
.field__input .select-wrapper.is-error[data-v-21c618e0] {
|
|
1255
1255
|
--field-border-color: var(--bms-red-100);
|
|
1256
1256
|
--input-background-color: var(--bms-red-25);
|
|
1257
1257
|
}
|
|
1258
|
-
.field__input .select-wrapper.is-disabled[data-v-
|
|
1258
|
+
.field__input .select-wrapper.is-disabled[data-v-21c618e0] {
|
|
1259
1259
|
--field-border-color: var(--bms-grey-25);
|
|
1260
1260
|
--input-background-color: var(--bms-grey-25);
|
|
1261
1261
|
pointer-events: none;
|
|
1262
1262
|
}
|
|
1263
|
-
.field__input .select-wrapper input[data-v-
|
|
1263
|
+
.field__input .select-wrapper input[data-v-21c618e0] {
|
|
1264
1264
|
border: none;
|
|
1265
1265
|
background-color: transparent;
|
|
1266
1266
|
caret-color: transparent;
|
|
@@ -2402,38 +2402,51 @@ nav .additional[data-v-731a6d8c] {
|
|
|
2402
2402
|
.indicator-scale-leave-from[data-v-6047ada7] {
|
|
2403
2403
|
opacity: 1;
|
|
2404
2404
|
transform: scale(1);
|
|
2405
|
-
}.
|
|
2405
|
+
}.icon[data-v-3115cc27] {
|
|
2406
|
+
height: 1em;
|
|
2407
|
+
width: 1em;
|
|
2408
|
+
}
|
|
2409
|
+
.icon.datalist-icon[data-v-3115cc27] {
|
|
2410
|
+
margin: 0 0.5em;
|
|
2411
|
+
}
|
|
2412
|
+
.icon[data-v-3115cc27] svg {
|
|
2413
|
+
height: 100%;
|
|
2414
|
+
width: 100%;
|
|
2415
|
+
}
|
|
2416
|
+
.icon[data-v-3115cc27] svg * {
|
|
2417
|
+
fill: currentColor !important;
|
|
2418
|
+
}.filters[data-v-4a441463] {
|
|
2406
2419
|
padding: 16px;
|
|
2407
2420
|
background: var(--bms-white);
|
|
2408
2421
|
border: 1px solid var(--bms-grey-10);
|
|
2409
2422
|
border-radius: var(--bms-border-radius-large);
|
|
2410
2423
|
margin-bottom: 16px;
|
|
2411
2424
|
}
|
|
2412
|
-
.filters__header[data-v-
|
|
2425
|
+
.filters__header[data-v-4a441463] {
|
|
2413
2426
|
display: flex;
|
|
2414
2427
|
justify-content: space-between;
|
|
2415
2428
|
}
|
|
2416
|
-
.filters__header-title[data-v-
|
|
2429
|
+
.filters__header-title[data-v-4a441463] {
|
|
2417
2430
|
font-size: 18px;
|
|
2418
2431
|
font-weight: bold;
|
|
2419
2432
|
gap: 1rem;
|
|
2420
2433
|
display: flex;
|
|
2421
2434
|
align-items: center;
|
|
2422
2435
|
}
|
|
2423
|
-
.filters__inputs[data-v-
|
|
2436
|
+
.filters__inputs[data-v-4a441463] {
|
|
2424
2437
|
display: flex;
|
|
2425
2438
|
flex-wrap: wrap;
|
|
2426
2439
|
padding-top: 16px;
|
|
2427
2440
|
align-items: flex-end;
|
|
2428
2441
|
row-gap: 8px;
|
|
2429
2442
|
}
|
|
2430
|
-
.filters__inputs .input[data-v-
|
|
2443
|
+
.filters__inputs .input[data-v-4a441463] {
|
|
2431
2444
|
width: 25%;
|
|
2432
2445
|
}
|
|
2433
|
-
.filters__inputs .input.large[data-v-
|
|
2446
|
+
.filters__inputs .input.large[data-v-4a441463] {
|
|
2434
2447
|
width: 50%;
|
|
2435
2448
|
}
|
|
2436
|
-
.filters__inputs .input[data-v-
|
|
2449
|
+
.filters__inputs .input[data-v-4a441463] {
|
|
2437
2450
|
padding-right: 32px;
|
|
2438
2451
|
}.table-search[data-v-bb2d9aca] {
|
|
2439
2452
|
width: 260px;
|