@club-employes/utopia 4.97.0 → 4.98.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.
@@ -1,16 +1,14 @@
1
1
  import { FilterLocationProps, FilterLocationValue } from './types';
2
2
  import { DefineComponent, ComponentOptionsMixin, PublicProps, ComponentProvideOptions } from 'vue';
3
- import { DropDownOption } from '../DropDown/types';
4
3
  declare const _default: DefineComponent<FilterLocationProps, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {
5
4
  "update:modelValue": (value: FilterLocationValue) => any;
6
5
  }, string, PublicProps, Readonly<FilterLocationProps> & Readonly<{
7
6
  "onUpdate:modelValue"?: ((value: FilterLocationValue) => any) | undefined;
8
7
  }>, {
9
- regionLabel: string;
8
+ departmentsLabel: string;
10
9
  orLabel: string;
11
10
  nearMeLabel: string;
12
11
  geolocDisabledLabel: string;
13
- regions: DropDownOption[];
14
12
  maxDistance: number;
15
13
  }, {}, {}, {}, string, ComponentProvideOptions, false, {}, HTMLDivElement>;
16
14
  export default _default;
@@ -1,6 +1,6 @@
1
1
  import { DropDownOption } from '../DropDown/types';
2
2
  export interface FilterLocationValue {
3
- region?: string;
3
+ departments: string[];
4
4
  location: {
5
5
  active: boolean;
6
6
  distance?: number;
@@ -9,11 +9,11 @@ export interface FilterLocationValue {
9
9
  };
10
10
  }
11
11
  export interface FilterLocationProps {
12
- regionLabel?: string;
12
+ departmentsLabel?: string;
13
13
  orLabel?: string;
14
14
  nearMeLabel?: string;
15
15
  geolocDisabledLabel?: string;
16
16
  modelValue: FilterLocationValue;
17
- regions?: DropDownOption[];
17
+ departments: DropDownOption[];
18
18
  maxDistance?: number;
19
19
  }
@@ -5,10 +5,7 @@ export interface FilterSelectOption {
5
5
  active: boolean;
6
6
  partial?: boolean;
7
7
  imageUrl?: string;
8
- children?: {
9
- open: boolean;
10
- value: FilterSelectOption[];
11
- };
8
+ children?: FilterSelectOption[];
12
9
  }
13
10
  export interface FilterSelectProps {
14
11
  modelValue: FilterSelectOption[];
@@ -36,6 +36,7 @@ declare const __VLS_component: DefineComponent<__VLS_Props, {}, {}, {}, {}, Comp
36
36
  searchable: boolean;
37
37
  filterable: boolean;
38
38
  editable: boolean;
39
+ lazy: boolean;
39
40
  isCsvDataCheckMode: boolean;
40
41
  filters: DataTableFilterMeta;
41
42
  filterDisplay: "menu" | "row";
@@ -252,14 +252,41 @@ export interface TableProps<T = Record<string, any>> {
252
252
  loading?: boolean;
253
253
  showPaginator?: boolean;
254
254
  rowsPerPageOptions?: number[];
255
+ /**
256
+ * Active la pagination côté serveur (lazy loading).
257
+ * Quand `true`, les données passées en props doivent déjà être les données de la page actuelle.
258
+ * Le composant n'effectuera pas de slice sur les données.
259
+ * @default true (pagination côté serveur par défaut pour usage avec API/backend)
260
+ */
261
+ lazy?: boolean;
255
262
  columns: ColumnType[];
256
263
  activatedColumns?: string[];
257
264
  rows?: number;
258
265
  language?: string;
266
+ /**
267
+ * Nombre total d'enregistrements (requis pour la pagination côté serveur).
268
+ * Utilisé pour calculer le nombre total de pages et afficher les informations de pagination.
269
+ * @default 0
270
+ */
259
271
  totalRecords?: number;
260
- currentPage?: number;
272
+ /**
273
+ * Page actuelle (commence à 1).
274
+ * En mode lazy (par défaut), cette valeur doit être synchronisée avec le backend.
275
+ * @default 1
276
+ */
277
+ currentPage: number;
278
+ /**
279
+ * Nombre total de pages (optionnel, calculé automatiquement si non fourni).
280
+ * Si fourni, cette valeur est utilisée au lieu du calcul basé sur totalRecords / pageSize.
281
+ * @default 0 (calculé automatiquement)
282
+ */
261
283
  totalPages?: number;
262
- pageSize?: number;
284
+ /**
285
+ * Nombre d'éléments par page.
286
+ * En mode lazy (par défaut), cette valeur doit être synchronisée avec le backend.
287
+ * @default 10
288
+ */
289
+ pageSize: number;
263
290
  /**
264
291
  * Détermine l'ordre de tri des valeurs nulles.
265
292
  * - `1` : Les valeurs nulles sont placées en premier (comportement ASC)
@@ -4,7 +4,6 @@ export interface UseTablePaginationOptions {
4
4
  pageSize?: number;
5
5
  totalRecords: number;
6
6
  totalPages?: number;
7
- dataLength: number;
8
7
  }
9
8
  export interface UseTablePaginationReturn {
10
9
  internalCurrentPage: Ref<number>;