@oneteme/jquery-table 0.0.1 → 0.0.2
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 +439 -122
- package/esm2022/lib/component/export.manager.mjs +45 -0
- package/esm2022/lib/component/group-by.manager.mjs +99 -0
- package/esm2022/lib/component/lazy-column-manager.mjs +99 -0
- package/esm2022/lib/component/slice-panel/slice-panel.component.mjs +43 -37
- package/esm2022/lib/component/slice-panel/slice-panel.model.mjs +1 -1
- package/esm2022/lib/component/table-preferences.manager.mjs +38 -0
- package/esm2022/lib/component/table.component.mjs +681 -370
- package/esm2022/lib/component/table.constants.mjs +31 -0
- package/esm2022/lib/component/table.utils.mjs +2 -2
- package/esm2022/lib/component/view/view.facade.mjs +298 -0
- package/esm2022/lib/jqt-i18n.token.mjs +41 -0
- package/esm2022/lib/jquery-table.model.mjs +14 -2
- package/esm2022/public-api.mjs +2 -1
- package/fesm2022/oneteme-jquery-table.mjs +1377 -408
- package/fesm2022/oneteme-jquery-table.mjs.map +1 -1
- package/lib/component/export.manager.d.ts +16 -0
- package/lib/component/group-by.manager.d.ts +44 -0
- package/lib/component/lazy-column-manager.d.ts +26 -0
- package/lib/component/slice-panel/slice-panel.component.d.ts +11 -3
- package/lib/component/slice-panel/slice-panel.model.d.ts +11 -1
- package/lib/component/table-preferences.manager.d.ts +17 -0
- package/lib/component/table.component.d.ts +162 -27
- package/lib/component/table.constants.d.ts +30 -0
- package/lib/component/view/view.facade.d.ts +93 -0
- package/lib/jqt-i18n.token.d.ts +87 -0
- package/lib/jquery-table.model.d.ts +79 -0
- package/package.json +2 -2
- package/public-api.d.ts +1 -0
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Constantes sentinel utilisées pour les identifiants de colonnes et les valeurs
|
|
3
|
+
* projetées dans le datasource interne de la table.
|
|
4
|
+
*
|
|
5
|
+
* Centraliser ici évite les typos silencieuses et facilite les tests unitaires.
|
|
6
|
+
*/
|
|
7
|
+
/** Identifiant de la colonne virtuelle rendue sur toute la largeur pour les en-têtes de groupe. */
|
|
8
|
+
export const GROUP_ROW_COLUMN = '__group_row';
|
|
9
|
+
/** Marqueur posé sur les objets de ligne pour signaler une ligne d'en-tête de groupe. */
|
|
10
|
+
export const GROUP_HEADER_MARKER = '__groupHeader';
|
|
11
|
+
/** Clé du groupe spéciale « chargement lazy en cours ». */
|
|
12
|
+
export const GROUP_KEY_LAZY_LOADING = '__lazy_loading__';
|
|
13
|
+
/** Clé du groupe spéciale « trop de groupes ». */
|
|
14
|
+
export const GROUP_KEY_TOO_MANY = '__too_many_groups__';
|
|
15
|
+
/** Propriété injectée dans chaque ligne projetée : référence vers la ligne brute d'origine. */
|
|
16
|
+
export const ROW_RAW_KEY = '__raw';
|
|
17
|
+
/** Propriété injectée dans chaque ligne projetée : index global de la ligne dans le jeu de données filtré. */
|
|
18
|
+
export const ROW_INDEX_KEY = '__index';
|
|
19
|
+
/** Propriété injectée dans chaque ligne projetée : clé du groupe auquel appartient la ligne d'en-tête. */
|
|
20
|
+
export const ROW_GROUP_KEY = '__groupKey';
|
|
21
|
+
/** Propriété injectée dans chaque ligne projetée : nombre de lignes dans le groupe. */
|
|
22
|
+
export const ROW_GROUP_COUNT = '__groupCount';
|
|
23
|
+
/** Propriété injectée dans chaque ligne projetée : page courante du groupe. */
|
|
24
|
+
export const ROW_GROUP_PAGE = '__groupPage';
|
|
25
|
+
/** Propriété injectée dans chaque ligne projetée : nombre de pages du groupe. */
|
|
26
|
+
export const ROW_GROUP_PAGE_COUNT = '__groupPageCount';
|
|
27
|
+
/** Valeur sentinelle posée dans une cellule lazy en cours de chargement. */
|
|
28
|
+
export const LAZY_LOADING_VALUE = '__lazy_loading__';
|
|
29
|
+
/** Valeur sentinelle posée dans une cellule lazy en erreur. */
|
|
30
|
+
export const LAZY_ERROR_VALUE = '__lazy_error__';
|
|
31
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUuY29uc3RhbnRzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvb25ldGVtZS9qcXVlcnktdGFibGUvc3JjL2xpYi9jb21wb25lbnQvdGFibGUuY29uc3RhbnRzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7OztHQUtHO0FBRUgsbUdBQW1HO0FBQ25HLE1BQU0sQ0FBQyxNQUFNLGdCQUFnQixHQUFHLGFBQWEsQ0FBQztBQUU5Qyx5RkFBeUY7QUFDekYsTUFBTSxDQUFDLE1BQU0sbUJBQW1CLEdBQUcsZUFBZSxDQUFDO0FBRW5ELDJEQUEyRDtBQUMzRCxNQUFNLENBQUMsTUFBTSxzQkFBc0IsR0FBRyxrQkFBa0IsQ0FBQztBQUV6RCxrREFBa0Q7QUFDbEQsTUFBTSxDQUFDLE1BQU0sa0JBQWtCLEdBQUcscUJBQXFCLENBQUM7QUFFeEQsK0ZBQStGO0FBQy9GLE1BQU0sQ0FBQyxNQUFNLFdBQVcsR0FBRyxPQUFPLENBQUM7QUFFbkMsOEdBQThHO0FBQzlHLE1BQU0sQ0FBQyxNQUFNLGFBQWEsR0FBRyxTQUFTLENBQUM7QUFFdkMsMEdBQTBHO0FBQzFHLE1BQU0sQ0FBQyxNQUFNLGFBQWEsR0FBRyxZQUFZLENBQUM7QUFFMUMsdUZBQXVGO0FBQ3ZGLE1BQU0sQ0FBQyxNQUFNLGVBQWUsR0FBRyxjQUFjLENBQUM7QUFFOUMsK0VBQStFO0FBQy9FLE1BQU0sQ0FBQyxNQUFNLGNBQWMsR0FBRyxhQUFhLENBQUM7QUFFNUMsaUZBQWlGO0FBQ2pGLE1BQU0sQ0FBQyxNQUFNLG9CQUFvQixHQUFHLGtCQUFrQixDQUFDO0FBRXZELDRFQUE0RTtBQUM1RSxNQUFNLENBQUMsTUFBTSxrQkFBa0IsR0FBRyxrQkFBa0IsQ0FBQztBQUVyRCwrREFBK0Q7QUFDL0QsTUFBTSxDQUFDLE1BQU0sZ0JBQWdCLEdBQUcsZ0JBQWdCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIENvbnN0YW50ZXMgc2VudGluZWwgdXRpbGlzw6llcyBwb3VyIGxlcyBpZGVudGlmaWFudHMgZGUgY29sb25uZXMgZXQgbGVzIHZhbGV1cnNcbiAqIHByb2pldMOpZXMgZGFucyBsZSBkYXRhc291cmNlIGludGVybmUgZGUgbGEgdGFibGUuXG4gKlxuICogQ2VudHJhbGlzZXIgaWNpIMOpdml0ZSBsZXMgdHlwb3Mgc2lsZW5jaWV1c2VzIGV0IGZhY2lsaXRlIGxlcyB0ZXN0cyB1bml0YWlyZXMuXG4gKi9cblxuLyoqIElkZW50aWZpYW50IGRlIGxhIGNvbG9ubmUgdmlydHVlbGxlIHJlbmR1ZSBzdXIgdG91dGUgbGEgbGFyZ2V1ciBwb3VyIGxlcyBlbi10w6p0ZXMgZGUgZ3JvdXBlLiAqL1xuZXhwb3J0IGNvbnN0IEdST1VQX1JPV19DT0xVTU4gPSAnX19ncm91cF9yb3cnO1xuXG4vKiogTWFycXVldXIgcG9zw6kgc3VyIGxlcyBvYmpldHMgZGUgbGlnbmUgcG91ciBzaWduYWxlciB1bmUgbGlnbmUgZCdlbi10w6p0ZSBkZSBncm91cGUuICovXG5leHBvcnQgY29uc3QgR1JPVVBfSEVBREVSX01BUktFUiA9ICdfX2dyb3VwSGVhZGVyJztcblxuLyoqIENsw6kgZHUgZ3JvdXBlIHNww6ljaWFsZSDCqyBjaGFyZ2VtZW50IGxhenkgZW4gY291cnMgwrsuICovXG5leHBvcnQgY29uc3QgR1JPVVBfS0VZX0xBWllfTE9BRElORyA9ICdfX2xhenlfbG9hZGluZ19fJztcblxuLyoqIENsw6kgZHUgZ3JvdXBlIHNww6ljaWFsZSDCqyB0cm9wIGRlIGdyb3VwZXMgwrsuICovXG5leHBvcnQgY29uc3QgR1JPVVBfS0VZX1RPT19NQU5ZID0gJ19fdG9vX21hbnlfZ3JvdXBzX18nO1xuXG4vKiogUHJvcHJpw6l0w6kgaW5qZWN0w6llIGRhbnMgY2hhcXVlIGxpZ25lIHByb2pldMOpZSA6IHLDqWbDqXJlbmNlIHZlcnMgbGEgbGlnbmUgYnJ1dGUgZCdvcmlnaW5lLiAqL1xuZXhwb3J0IGNvbnN0IFJPV19SQVdfS0VZID0gJ19fcmF3JztcblxuLyoqIFByb3ByacOpdMOpIGluamVjdMOpZSBkYW5zIGNoYXF1ZSBsaWduZSBwcm9qZXTDqWUgOiBpbmRleCBnbG9iYWwgZGUgbGEgbGlnbmUgZGFucyBsZSBqZXUgZGUgZG9ubsOpZXMgZmlsdHLDqS4gKi9cbmV4cG9ydCBjb25zdCBST1dfSU5ERVhfS0VZID0gJ19faW5kZXgnO1xuXG4vKiogUHJvcHJpw6l0w6kgaW5qZWN0w6llIGRhbnMgY2hhcXVlIGxpZ25lIHByb2pldMOpZSA6IGNsw6kgZHUgZ3JvdXBlIGF1cXVlbCBhcHBhcnRpZW50IGxhIGxpZ25lIGQnZW4tdMOqdGUuICovXG5leHBvcnQgY29uc3QgUk9XX0dST1VQX0tFWSA9ICdfX2dyb3VwS2V5JztcblxuLyoqIFByb3ByacOpdMOpIGluamVjdMOpZSBkYW5zIGNoYXF1ZSBsaWduZSBwcm9qZXTDqWUgOiBub21icmUgZGUgbGlnbmVzIGRhbnMgbGUgZ3JvdXBlLiAqL1xuZXhwb3J0IGNvbnN0IFJPV19HUk9VUF9DT1VOVCA9ICdfX2dyb3VwQ291bnQnO1xuXG4vKiogUHJvcHJpw6l0w6kgaW5qZWN0w6llIGRhbnMgY2hhcXVlIGxpZ25lIHByb2pldMOpZSA6IHBhZ2UgY291cmFudGUgZHUgZ3JvdXBlLiAqL1xuZXhwb3J0IGNvbnN0IFJPV19HUk9VUF9QQUdFID0gJ19fZ3JvdXBQYWdlJztcblxuLyoqIFByb3ByacOpdMOpIGluamVjdMOpZSBkYW5zIGNoYXF1ZSBsaWduZSBwcm9qZXTDqWUgOiBub21icmUgZGUgcGFnZXMgZHUgZ3JvdXBlLiAqL1xuZXhwb3J0IGNvbnN0IFJPV19HUk9VUF9QQUdFX0NPVU5UID0gJ19fZ3JvdXBQYWdlQ291bnQnO1xuXG4vKiogVmFsZXVyIHNlbnRpbmVsbGUgcG9zw6llIGRhbnMgdW5lIGNlbGx1bGUgbGF6eSBlbiBjb3VycyBkZSBjaGFyZ2VtZW50LiAqL1xuZXhwb3J0IGNvbnN0IExBWllfTE9BRElOR19WQUxVRSA9ICdfX2xhenlfbG9hZGluZ19fJztcblxuLyoqIFZhbGV1ciBzZW50aW5lbGxlIHBvc8OpZSBkYW5zIHVuZSBjZWxsdWxlIGxhenkgZW4gZXJyZXVyLiAqL1xuZXhwb3J0IGNvbnN0IExBWllfRVJST1JfVkFMVUUgPSAnX19sYXp5X2Vycm9yX18nO1xuIl19
|
|
@@ -30,7 +30,7 @@ export function normalizeCellValue(value) {
|
|
|
30
30
|
return '';
|
|
31
31
|
}
|
|
32
32
|
if (value instanceof Date) {
|
|
33
|
-
return value.toLocaleString(
|
|
33
|
+
return value.toLocaleString();
|
|
34
34
|
}
|
|
35
35
|
if (Array.isArray(value)) {
|
|
36
36
|
return value.map((item) => normalizeCellValue(item)).join(', ');
|
|
@@ -56,4 +56,4 @@ export function humanizeKey(key) {
|
|
|
56
56
|
.replaceAll(/[_-]+/g, ' ')
|
|
57
57
|
.replace(/^./, (value) => value.toUpperCase());
|
|
58
58
|
}
|
|
59
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
59
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUudXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9vbmV0ZW1lL2pxdWVyeS10YWJsZS9zcmMvbGliL2NvbXBvbmVudC90YWJsZS51dGlscy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUUvRCxvREFBb0Q7QUFDcEQsTUFBTSxVQUFVLHNCQUFzQjtJQUNwQyxNQUFNLElBQUksR0FBRyxJQUFJLGdCQUFnQixFQUFFLENBQUM7SUFDcEMsSUFBSSxDQUFDLGlCQUFpQixHQUFHLHFCQUFxQixDQUFDO0lBQy9DLElBQUksQ0FBQyxhQUFhLEdBQUcsZUFBZSxDQUFDO0lBQ3JDLElBQUksQ0FBQyxpQkFBaUIsR0FBRyxpQkFBaUIsQ0FBQztJQUMzQyxJQUFJLENBQUMsY0FBYyxHQUFHLGVBQWUsQ0FBQztJQUN0QyxJQUFJLENBQUMsYUFBYSxHQUFHLGVBQWUsQ0FBQztJQUNyQyxJQUFJLENBQUMsYUFBYSxHQUFHLENBQUMsSUFBWSxFQUFFLFFBQWdCLEVBQUUsTUFBYyxFQUFFLEVBQUU7UUFDdEUsSUFBSSxNQUFNLEtBQUssQ0FBQyxJQUFJLFFBQVEsS0FBSyxDQUFDO1lBQUUsT0FBTyxTQUFTLE1BQU0sRUFBRSxDQUFDO1FBQzdELE1BQU0sR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUMsQ0FBQztRQUM3QixNQUFNLEtBQUssR0FBRyxJQUFJLEdBQUcsUUFBUSxDQUFDO1FBQzlCLE1BQU0sR0FBRyxHQUFHLEtBQUssR0FBRyxNQUFNLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsS0FBSyxHQUFHLFFBQVEsRUFBRSxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxHQUFHLFFBQVEsQ0FBQztRQUNuRixPQUFPLEdBQUcsS0FBSyxHQUFHLENBQUMsTUFBTSxHQUFHLFFBQVEsTUFBTSxFQUFFLENBQUM7SUFDL0MsQ0FBQyxDQUFDO0lBQ0YsT0FBTyxJQUFJLENBQUM7QUFDZCxDQUFDO0FBRUQ7Ozs7Ozs7R0FPRztBQUNILE1BQU0sVUFBVSxrQkFBa0IsQ0FBQyxLQUFVO0lBQzNDLElBQUksS0FBSyxLQUFLLElBQUksSUFBSSxLQUFLLEtBQUssU0FBUyxFQUFFO1FBQ3pDLE9BQU8sRUFBRSxDQUFDO0tBQ1g7SUFDRCxJQUFJLEtBQUssWUFBWSxJQUFJLEVBQUU7UUFDekIsT0FBTyxLQUFLLENBQUMsY0FBYyxFQUFFLENBQUM7S0FDL0I7SUFDRCxJQUFJLEtBQUssQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLEVBQUU7UUFDeEIsT0FBTyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztLQUNqRTtJQUNELElBQUksT0FBTyxLQUFLLEtBQUssUUFBUSxFQUFFO1FBQzdCLElBQUksT0FBTyxJQUFJLEtBQUssSUFBSSxLQUFLLENBQUMsS0FBSyxLQUFLLFNBQVMsRUFBRTtZQUNqRCxPQUFPLE1BQU0sQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUM7U0FDNUI7UUFDRCxJQUFJLE1BQU0sSUFBSSxLQUFLLElBQUksS0FBSyxDQUFDLElBQUksS0FBSyxTQUFTLEVBQUU7WUFDL0MsT0FBTyxNQUFNLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDO1NBQzNCO1FBQ0QsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxDQUFDO0tBQzlCO0lBQ0QsT0FBTyxLQUFLLENBQUM7QUFDZixDQUFDO0FBRUQ7OztHQUdHO0FBQ0gsTUFBTSxVQUFVLFdBQVcsQ0FBQyxHQUFXO0lBQ3JDLE9BQU8sR0FBRztTQUNQLFVBQVUsQ0FBQyxvQkFBb0IsRUFBRSxPQUFPLENBQUM7U0FDekMsVUFBVSxDQUFDLFFBQVEsRUFBRSxHQUFHLENBQUM7U0FDekIsT0FBTyxDQUFDLElBQUksRUFBRSxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsS0FBSyxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUM7QUFDbkQsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE1hdFBhZ2luYXRvckludGwgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9wYWdpbmF0b3InO1xuXG4vKiogVHJhZHVjdGlvbnMgZnJhbsOnYWlzZXMgZHUgcGFnaW5hdG9yIE1hdGVyaWFsLiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGdldEZyZW5jaFBhZ2luYXRvckludGwoKTogTWF0UGFnaW5hdG9ySW50bCB7XG4gIGNvbnN0IGludGwgPSBuZXcgTWF0UGFnaW5hdG9ySW50bCgpO1xuICBpbnRsLml0ZW1zUGVyUGFnZUxhYmVsID0gJ8OJbMOpbWVudHMgcGFyIHBhZ2UgOic7XG4gIGludGwubmV4dFBhZ2VMYWJlbCA9ICdQYWdlIHN1aXZhbnRlJztcbiAgaW50bC5wcmV2aW91c1BhZ2VMYWJlbCA9ICdQYWdlIHByw6ljw6lkZW50ZSc7XG4gIGludGwuZmlyc3RQYWdlTGFiZWwgPSAnUHJlbWnDqHJlIHBhZ2UnO1xuICBpbnRsLmxhc3RQYWdlTGFiZWwgPSAnRGVybmnDqHJlIHBhZ2UnO1xuICBpbnRsLmdldFJhbmdlTGFiZWwgPSAocGFnZTogbnVtYmVyLCBwYWdlU2l6ZTogbnVtYmVyLCBsZW5ndGg6IG51bWJlcikgPT4ge1xuICAgIGlmIChsZW5ndGggPT09IDAgfHwgcGFnZVNpemUgPT09IDApIHJldHVybiBgMCBzdXIgJHtsZW5ndGh9YDtcbiAgICBsZW5ndGggPSBNYXRoLm1heChsZW5ndGgsIDApO1xuICAgIGNvbnN0IHN0YXJ0ID0gcGFnZSAqIHBhZ2VTaXplO1xuICAgIGNvbnN0IGVuZCA9IHN0YXJ0IDwgbGVuZ3RoID8gTWF0aC5taW4oc3RhcnQgKyBwYWdlU2l6ZSwgbGVuZ3RoKSA6IHN0YXJ0ICsgcGFnZVNpemU7XG4gICAgcmV0dXJuIGAke3N0YXJ0ICsgMX0g4oCTICR7ZW5kfSBzdXIgJHtsZW5ndGh9YDtcbiAgfTtcbiAgcmV0dXJuIGludGw7XG59XG5cbi8qKlxuICogQ29udmVydGl0IHVuZSB2YWxldXIgYnJ1dGUgZW4gY2hhw65uZSBhZmZpY2hhYmxlLlxuICogLSBudWxsL3VuZGVmaW5lZCDihpIgJydcbiAqIC0gRGF0ZSDihpIgZm9ybWF0IGxvY2FsZSBmci1GUlxuICogLSBUYWJsZWF1IOKGkiB2YWxldXJzIGpvaW50ZXMgcGFyICcsICdcbiAqIC0gT2JqZXQgYXZlYyBsYWJlbC9uYW1lIOKGkiBzYSB2YWxldXIgc3RyaW5nXG4gKiAtIEF1dHJlcyDihpIgU3RyaW5nKHZhbHVlKVxuICovXG5leHBvcnQgZnVuY3Rpb24gbm9ybWFsaXplQ2VsbFZhbHVlKHZhbHVlOiBhbnkpOiBhbnkge1xuICBpZiAodmFsdWUgPT09IG51bGwgfHwgdmFsdWUgPT09IHVuZGVmaW5lZCkge1xuICAgIHJldHVybiAnJztcbiAgfVxuICBpZiAodmFsdWUgaW5zdGFuY2VvZiBEYXRlKSB7XG4gICAgcmV0dXJuIHZhbHVlLnRvTG9jYWxlU3RyaW5nKCk7XG4gIH1cbiAgaWYgKEFycmF5LmlzQXJyYXkodmFsdWUpKSB7XG4gICAgcmV0dXJuIHZhbHVlLm1hcCgoaXRlbSkgPT4gbm9ybWFsaXplQ2VsbFZhbHVlKGl0ZW0pKS5qb2luKCcsICcpO1xuICB9XG4gIGlmICh0eXBlb2YgdmFsdWUgPT09ICdvYmplY3QnKSB7XG4gICAgaWYgKCdsYWJlbCcgaW4gdmFsdWUgJiYgdmFsdWUubGFiZWwgIT09IHVuZGVmaW5lZCkge1xuICAgICAgcmV0dXJuIFN0cmluZyh2YWx1ZS5sYWJlbCk7XG4gICAgfVxuICAgIGlmICgnbmFtZScgaW4gdmFsdWUgJiYgdmFsdWUubmFtZSAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICByZXR1cm4gU3RyaW5nKHZhbHVlLm5hbWUpO1xuICAgIH1cbiAgICByZXR1cm4gSlNPTi5zdHJpbmdpZnkodmFsdWUpO1xuICB9XG4gIHJldHVybiB2YWx1ZTtcbn1cblxuLyoqXG4gKiBUcmFuc2Zvcm1lIHVuZSBjbMOpIGNhbWVsQ2FzZS9zbmFrZV9jYXNlIGVuIGxpYmVsbMOpIGxpc2libGUuXG4gKiBFeDogJ2NyZWF0ZWRBdCcg4oaSICdDcmVhdGVkIGF0JywgJ215X2ZpZWxkJyDihpIgJ015IGZpZWxkJ1xuICovXG5leHBvcnQgZnVuY3Rpb24gaHVtYW5pemVLZXkoa2V5OiBzdHJpbmcpOiBzdHJpbmcge1xuICByZXR1cm4ga2V5XG4gICAgLnJlcGxhY2VBbGwoLyhbYS16MC05XSkoW0EtWl0pL2csICckMSAkMicpXG4gICAgLnJlcGxhY2VBbGwoL1tfLV0rL2csICcgJylcbiAgICAucmVwbGFjZSgvXi4vLCAodmFsdWUpID0+IHZhbHVlLnRvVXBwZXJDYXNlKCkpO1xufVxuIl19
|
|
@@ -0,0 +1,298 @@
|
|
|
1
|
+
import { Subject } from 'rxjs';
|
|
2
|
+
import { humanizeKey } from '../table.utils';
|
|
3
|
+
export { viewField, groupableViewFields, sliceableViewFields, initialViewState } from '@oneteme/jquery-core';
|
|
4
|
+
// ── Facade
|
|
5
|
+
/**
|
|
6
|
+
* Centralise l'état et les actions du panneau View (Champs / Group by / Slice by).
|
|
7
|
+
* Pas de dépendance Angular/DOM : peut être extraite vers jquery-core à terme.
|
|
8
|
+
*
|
|
9
|
+
* Usage :
|
|
10
|
+
* this._view = new ViewFacade();
|
|
11
|
+
* this._view.events$.subscribe(e => { ... });
|
|
12
|
+
* this._view.update({ config, columns, sliceConfigs });
|
|
13
|
+
*/
|
|
14
|
+
export class ViewFacade {
|
|
15
|
+
constructor() {
|
|
16
|
+
// ── State
|
|
17
|
+
this.fields = {
|
|
18
|
+
activeColumns: [],
|
|
19
|
+
userCustomized: false,
|
|
20
|
+
};
|
|
21
|
+
this.groupBy = {
|
|
22
|
+
activeKey: null,
|
|
23
|
+
};
|
|
24
|
+
this.sliceBy = {
|
|
25
|
+
activeDynamicColumns: [],
|
|
26
|
+
availableForDynamic: [],
|
|
27
|
+
allDynamicColumns: [],
|
|
28
|
+
activeLabel: 'Aucun',
|
|
29
|
+
};
|
|
30
|
+
this._panelConfig = { columns: [], sliceConfigs: [] };
|
|
31
|
+
this._hiddenStaticKeys = new Set();
|
|
32
|
+
// ── Events
|
|
33
|
+
this._events$ = new Subject();
|
|
34
|
+
this.events$ = this._events$.asObservable();
|
|
35
|
+
}
|
|
36
|
+
// ── Computed flags
|
|
37
|
+
get enabled() {
|
|
38
|
+
return this._panelConfig.config?.enabled === true;
|
|
39
|
+
}
|
|
40
|
+
get showFields() {
|
|
41
|
+
return this.enabled;
|
|
42
|
+
}
|
|
43
|
+
get showGroupBySection() {
|
|
44
|
+
return this.enabled && this.groupByColumns.length > 0;
|
|
45
|
+
}
|
|
46
|
+
get showSliceBySection() {
|
|
47
|
+
return this.enabled && ((this._panelConfig.sliceConfigs?.length ?? 0) > 0 ||
|
|
48
|
+
this.sliceBy.allDynamicColumns.length > 0);
|
|
49
|
+
}
|
|
50
|
+
get allowColumnRemoval() {
|
|
51
|
+
return this._panelConfig.config?.enableColumnRemoval !== false;
|
|
52
|
+
}
|
|
53
|
+
get isColumnDragDropEnabled() {
|
|
54
|
+
return this._panelConfig.config?.enableColumnDragDrop === true;
|
|
55
|
+
}
|
|
56
|
+
get menuBaseColumns() {
|
|
57
|
+
return this._uniqueByKey((this._panelConfig.columns || []).filter(c => !c.optional));
|
|
58
|
+
}
|
|
59
|
+
get menuOptionalColumns() {
|
|
60
|
+
return this._uniqueByKey((this._panelConfig.columns || []).filter(c => c.optional));
|
|
61
|
+
}
|
|
62
|
+
get totalColumnCount() {
|
|
63
|
+
return new Set((this._panelConfig.columns || []).map(c => c.key)).size;
|
|
64
|
+
}
|
|
65
|
+
get groupByColumns() {
|
|
66
|
+
const seen = new Set();
|
|
67
|
+
return (this._panelConfig.columns || []).filter(c => {
|
|
68
|
+
if (c.groupable === false || seen.has(c.key))
|
|
69
|
+
return false;
|
|
70
|
+
if (!c.header && c.groupable !== true)
|
|
71
|
+
return false;
|
|
72
|
+
seen.add(c.key);
|
|
73
|
+
return true;
|
|
74
|
+
});
|
|
75
|
+
}
|
|
76
|
+
get activeGroupByLabel() {
|
|
77
|
+
if (!this.groupBy.activeKey)
|
|
78
|
+
return this._panelConfig.noneLabel ?? 'Aucun';
|
|
79
|
+
const col = this.groupByColumns.find(c => c.key === this.groupBy.activeKey);
|
|
80
|
+
return col?.header || this.groupBy.activeKey;
|
|
81
|
+
}
|
|
82
|
+
get staticSlicesForMenu() {
|
|
83
|
+
return (this._panelConfig.sliceConfigs ?? [])
|
|
84
|
+
.filter(s => !!s.columnKey)
|
|
85
|
+
.map(s => {
|
|
86
|
+
const colIcon = (this._panelConfig.columns ?? []).find(c => c.key === s.columnKey)?.icon;
|
|
87
|
+
return { key: s.columnKey, title: s.title || humanizeKey(s.columnKey), icon: s.icon ?? colIcon };
|
|
88
|
+
});
|
|
89
|
+
}
|
|
90
|
+
colLabel(col) {
|
|
91
|
+
return col.header || humanizeKey(col.key);
|
|
92
|
+
}
|
|
93
|
+
// ── Mise à jour de la config (appelée depuis refreshViewModel)
|
|
94
|
+
update(panelConfig) {
|
|
95
|
+
this._panelConfig = panelConfig;
|
|
96
|
+
this._refreshDefaultColumns();
|
|
97
|
+
this._refreshDynamicSliceMeta();
|
|
98
|
+
}
|
|
99
|
+
// ── Actions Fields
|
|
100
|
+
setActiveColumns(columns) {
|
|
101
|
+
this.fields.activeColumns = columns;
|
|
102
|
+
this.fields.userCustomized = true;
|
|
103
|
+
}
|
|
104
|
+
setUserCustomized(value) {
|
|
105
|
+
this.fields.userCustomized = value;
|
|
106
|
+
}
|
|
107
|
+
/** Remet la vue dans son état initial : colonnes par défaut, pas de groupBy, pas de dynamic slices. */
|
|
108
|
+
resetToDefaults() {
|
|
109
|
+
this.fields.userCustomized = false;
|
|
110
|
+
this._refreshDefaultColumns();
|
|
111
|
+
this.groupBy.activeKey = null;
|
|
112
|
+
this.sliceBy.activeDynamicColumns = [];
|
|
113
|
+
this._refreshDynamicSliceMeta();
|
|
114
|
+
}
|
|
115
|
+
addColumn(column) {
|
|
116
|
+
const configCols = this._panelConfig.columns ?? [];
|
|
117
|
+
const configIndex = configCols.findIndex(c => c.key === column.key);
|
|
118
|
+
if (configIndex === -1) {
|
|
119
|
+
this.fields.activeColumns = [...this.fields.activeColumns, column];
|
|
120
|
+
}
|
|
121
|
+
else {
|
|
122
|
+
const insertBefore = this.fields.activeColumns.findIndex(c => {
|
|
123
|
+
const ci = configCols.findIndex(cc => cc.key === c.key);
|
|
124
|
+
return ci !== -1 && ci > configIndex;
|
|
125
|
+
});
|
|
126
|
+
if (insertBefore === -1) {
|
|
127
|
+
this.fields.activeColumns = [...this.fields.activeColumns, column];
|
|
128
|
+
}
|
|
129
|
+
else {
|
|
130
|
+
const copy = [...this.fields.activeColumns];
|
|
131
|
+
copy.splice(insertBefore, 0, column);
|
|
132
|
+
this.fields.activeColumns = copy;
|
|
133
|
+
}
|
|
134
|
+
}
|
|
135
|
+
this.fields.userCustomized = true;
|
|
136
|
+
this._events$.next({ type: 'fieldsChanged', fieldIds: this.fields.activeColumns.map(c => c.key) });
|
|
137
|
+
}
|
|
138
|
+
removeColumn(columnKey) {
|
|
139
|
+
const col = this.fields.activeColumns.find(c => c.key === columnKey);
|
|
140
|
+
if (!col)
|
|
141
|
+
return false;
|
|
142
|
+
if (!col.optional && !this.allowColumnRemoval)
|
|
143
|
+
return false;
|
|
144
|
+
if (this.fields.activeColumns.length <= 1)
|
|
145
|
+
return false;
|
|
146
|
+
this.fields.activeColumns = this.fields.activeColumns.filter(c => c.key !== columnKey);
|
|
147
|
+
this.fields.userCustomized = true;
|
|
148
|
+
this._events$.next({ type: 'fieldsChanged', fieldIds: this.fields.activeColumns.map(c => c.key) });
|
|
149
|
+
return true;
|
|
150
|
+
}
|
|
151
|
+
toggleColumnVisibility(column, visible) {
|
|
152
|
+
const isVisible = this.isColumnVisible(column.key);
|
|
153
|
+
if (visible && !isVisible) {
|
|
154
|
+
this.addColumn(column);
|
|
155
|
+
}
|
|
156
|
+
else if (!visible && isVisible) {
|
|
157
|
+
this.removeColumn(column.key);
|
|
158
|
+
}
|
|
159
|
+
}
|
|
160
|
+
reorderColumns(fromKey, toKey) {
|
|
161
|
+
const prev = this.fields.activeColumns.findIndex(c => c.key === fromKey);
|
|
162
|
+
const curr = this.fields.activeColumns.findIndex(c => c.key === toKey);
|
|
163
|
+
if (prev === -1 || curr === -1 || prev === curr)
|
|
164
|
+
return false;
|
|
165
|
+
const reordered = [...this.fields.activeColumns];
|
|
166
|
+
const [moved] = reordered.splice(prev, 1);
|
|
167
|
+
reordered.splice(curr, 0, moved);
|
|
168
|
+
this.fields.activeColumns = reordered;
|
|
169
|
+
this.fields.userCustomized = true;
|
|
170
|
+
this._events$.next({ type: 'fieldsChanged', fieldIds: this.fields.activeColumns.map(c => c.key) });
|
|
171
|
+
return true;
|
|
172
|
+
}
|
|
173
|
+
isColumnVisible(key) {
|
|
174
|
+
return this.fields.activeColumns.some(c => c.key === key);
|
|
175
|
+
}
|
|
176
|
+
// ── Actions Group by
|
|
177
|
+
setGroupBy(key) {
|
|
178
|
+
this.groupBy.activeKey = key;
|
|
179
|
+
this._events$.next({ type: 'groupByChanged', key });
|
|
180
|
+
}
|
|
181
|
+
// ── Actions Slice by (dynamique)
|
|
182
|
+
/** Appelée quand le SlicePanelComponent émet dynamicSliceKeysChange */
|
|
183
|
+
onDynamicSliceKeysChange(keys) {
|
|
184
|
+
const allCols = this._panelConfig.columns ?? [];
|
|
185
|
+
const staticKeys = new Set((this._panelConfig.sliceConfigs ?? []).map(s => s.columnKey).filter((k) => !!k));
|
|
186
|
+
const dynamicKeySet = new Set(keys);
|
|
187
|
+
const existingKeys = new Set([...staticKeys, ...dynamicKeySet]);
|
|
188
|
+
this.sliceBy.activeDynamicColumns = keys
|
|
189
|
+
.map(k => allCols.find(c => c.key === k))
|
|
190
|
+
.filter((c) => !!c);
|
|
191
|
+
const seen = new Set();
|
|
192
|
+
this.sliceBy.availableForDynamic = allCols.filter(c => {
|
|
193
|
+
if (c.sliceable === false || existingKeys.has(c.key) || seen.has(c.key))
|
|
194
|
+
return false;
|
|
195
|
+
seen.add(c.key);
|
|
196
|
+
return true;
|
|
197
|
+
});
|
|
198
|
+
this._computeSliceLabel();
|
|
199
|
+
this._events$.next({ type: 'dynamicSlicesChanged', keys });
|
|
200
|
+
}
|
|
201
|
+
isDynamicSliceActive(key) {
|
|
202
|
+
return this.sliceBy.activeDynamicColumns.some(c => c.key === key);
|
|
203
|
+
}
|
|
204
|
+
// ── Contrat core
|
|
205
|
+
/** Retourne un snapshot ViewState (contrat core) de l'état courant. */
|
|
206
|
+
toViewState() {
|
|
207
|
+
return {
|
|
208
|
+
selectedFieldIds: this.fields.activeColumns.map(c => c.key),
|
|
209
|
+
groupByKey: this.groupBy.activeKey,
|
|
210
|
+
dynamicSliceKeys: this.sliceBy.activeDynamicColumns.map(c => c.key),
|
|
211
|
+
};
|
|
212
|
+
}
|
|
213
|
+
/** Convertit une TableColumnProvider en ViewField (contrat core). */
|
|
214
|
+
static toViewField(col) {
|
|
215
|
+
return {
|
|
216
|
+
id: col.key,
|
|
217
|
+
label: col.header,
|
|
218
|
+
icon: col.icon,
|
|
219
|
+
groupable: col.groupable,
|
|
220
|
+
sliceable: col.sliceable,
|
|
221
|
+
optional: col.optional,
|
|
222
|
+
};
|
|
223
|
+
}
|
|
224
|
+
// ── Destructor
|
|
225
|
+
destroy() {
|
|
226
|
+
this._events$.complete();
|
|
227
|
+
}
|
|
228
|
+
// ── Helpers privés
|
|
229
|
+
_refreshDefaultColumns() {
|
|
230
|
+
const defaultCols = (this._panelConfig.columns || []).filter(c => !c.optional);
|
|
231
|
+
if (!this.fields.userCustomized || this.fields.activeColumns.length === 0) {
|
|
232
|
+
this.fields.activeColumns = [...defaultCols];
|
|
233
|
+
}
|
|
234
|
+
else {
|
|
235
|
+
const allowedKeys = new Set((this._panelConfig.columns || []).map(c => c.key));
|
|
236
|
+
this.fields.activeColumns = this.fields.activeColumns.filter(c => allowedKeys.has(c.key));
|
|
237
|
+
}
|
|
238
|
+
}
|
|
239
|
+
_refreshDynamicSliceMeta() {
|
|
240
|
+
const allCols = this._panelConfig.columns ?? [];
|
|
241
|
+
const staticKeys = new Set((this._panelConfig.sliceConfigs ?? []).map(s => s.columnKey).filter((k) => !!k));
|
|
242
|
+
const activeDynKeys = new Set(this.sliceBy.activeDynamicColumns.map(c => c.key));
|
|
243
|
+
const seen1 = new Set();
|
|
244
|
+
this.sliceBy.availableForDynamic = allCols.filter(c => {
|
|
245
|
+
if (c.sliceable === false || staticKeys.has(c.key) || activeDynKeys.has(c.key) || seen1.has(c.key))
|
|
246
|
+
return false;
|
|
247
|
+
if (!c.header && c.sliceable !== true)
|
|
248
|
+
return false;
|
|
249
|
+
seen1.add(c.key);
|
|
250
|
+
return true;
|
|
251
|
+
});
|
|
252
|
+
const seen2 = new Set();
|
|
253
|
+
this.sliceBy.allDynamicColumns = allCols.filter(c => {
|
|
254
|
+
if (c.sliceable === false || staticKeys.has(c.key) || seen2.has(c.key))
|
|
255
|
+
return false;
|
|
256
|
+
if (!c.header && c.sliceable !== true)
|
|
257
|
+
return false;
|
|
258
|
+
seen2.add(c.key);
|
|
259
|
+
return true;
|
|
260
|
+
});
|
|
261
|
+
this._computeSliceLabel();
|
|
262
|
+
}
|
|
263
|
+
/** Notifie la facade des slices statiques actuellement cachées (géré par table.component).
|
|
264
|
+
* Recalcule le label slice afin qu'il reflète uniquement les slices visibles. */
|
|
265
|
+
updateHiddenStaticKeys(keys) {
|
|
266
|
+
this._hiddenStaticKeys = keys;
|
|
267
|
+
this._computeSliceLabel();
|
|
268
|
+
}
|
|
269
|
+
_computeSliceLabel() {
|
|
270
|
+
const visibleStatics = (this._panelConfig.sliceConfigs ?? []).filter(s => !s.columnKey || !this._hiddenStaticKeys.has(s.columnKey));
|
|
271
|
+
const visibleStaticCount = visibleStatics.length;
|
|
272
|
+
const total = visibleStaticCount + this.sliceBy.activeDynamicColumns.length;
|
|
273
|
+
if (total === 0) {
|
|
274
|
+
this.sliceBy.activeLabel = this._panelConfig.noneLabel ?? 'Aucun';
|
|
275
|
+
return;
|
|
276
|
+
}
|
|
277
|
+
if (total === 1) {
|
|
278
|
+
if (visibleStaticCount === 1) {
|
|
279
|
+
const first = visibleStatics[0];
|
|
280
|
+
this.sliceBy.activeLabel = first?.title || first?.columnKey || '1';
|
|
281
|
+
return;
|
|
282
|
+
}
|
|
283
|
+
this.sliceBy.activeLabel = this.sliceBy.activeDynamicColumns[0]?.header || '1';
|
|
284
|
+
return;
|
|
285
|
+
}
|
|
286
|
+
this.sliceBy.activeLabel = `${total} actifs`;
|
|
287
|
+
}
|
|
288
|
+
_uniqueByKey(cols) {
|
|
289
|
+
const seen = new Set();
|
|
290
|
+
return cols.filter(c => {
|
|
291
|
+
if (seen.has(c.key))
|
|
292
|
+
return false;
|
|
293
|
+
seen.add(c.key);
|
|
294
|
+
return true;
|
|
295
|
+
});
|
|
296
|
+
}
|
|
297
|
+
}
|
|
298
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmlldy5mYWNhZGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9vbmV0ZW1lL2pxdWVyeS10YWJsZS9zcmMvbGliL2NvbXBvbmVudC92aWV3L3ZpZXcuZmFjYWRlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFJL0IsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRzdDLE9BQU8sRUFBRSxTQUFTLEVBQUUsbUJBQW1CLEVBQUUsbUJBQW1CLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQWdDN0csWUFBWTtBQUVaOzs7Ozs7OztHQVFHO0FBQ0gsTUFBTSxPQUFPLFVBQVU7SUFBdkI7UUFFRSxXQUFXO1FBRUYsV0FBTSxHQUFtQjtZQUNoQyxhQUFhLEVBQUUsRUFBRTtZQUNqQixjQUFjLEVBQUUsS0FBSztTQUN0QixDQUFDO1FBRU8sWUFBTyxHQUFxQjtZQUNuQyxTQUFTLEVBQUUsSUFBSTtTQUNoQixDQUFDO1FBRU8sWUFBTyxHQUFxQjtZQUNuQyxvQkFBb0IsRUFBRSxFQUFFO1lBQ3hCLG1CQUFtQixFQUFFLEVBQUU7WUFDdkIsaUJBQWlCLEVBQUUsRUFBRTtZQUNyQixXQUFXLEVBQUUsT0FBTztTQUNyQixDQUFDO1FBRU0saUJBQVksR0FBb0IsRUFBRSxPQUFPLEVBQUUsRUFBRSxFQUFFLFlBQVksRUFBRSxFQUFFLEVBQUUsQ0FBQztRQUNsRSxzQkFBaUIsR0FBRyxJQUFJLEdBQUcsRUFBVSxDQUFDO1FBRTlDLFlBQVk7UUFFSyxhQUFRLEdBQUcsSUFBSSxPQUFPLEVBQWEsQ0FBQztRQUM1QyxZQUFPLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQXlTbEQsQ0FBQztJQXZTQyxvQkFBb0I7SUFFcEIsSUFBSSxPQUFPO1FBQ1QsT0FBTyxJQUFJLENB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QztZQUFDLE9BQU87U0FBRTtRQUMvRixJQUFJLEtBQUssS0FBSyxDQUFDLEVBQUU7WUFDZixJQUFJLGtCQUFrQixLQUFLLENBQUMsRUFBRTtnQkFDNUIsTUFBTSxLQUFLLEdBQUcsY0FBYyxDQUFDLENBQUMsQ0FBQyxDQUFDO2dCQUNoQyxJQUFJLENBQUMsT0FBTyxDQUFDLFdBQVcsR0FBRyxLQUFLLEVBQUUsS0FBSyxJQUFJLEtBQUssRUFBRSxTQUFTLElBQUksR0FBRyxDQUFDO2dCQUNuRSxPQUFPO2FBQ1I7WUFDRCxJQUFJLENBQUMsT0FBTyxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLG9CQUFvQixDQUFDLENBQUMsQ0FBQyxFQUFFLE1BQU0sSUFBSSxHQUFHLENBQUM7WUFDL0UsT0FBTztTQUNSO1FBQ0QsSUFBSSxDQUFDLE9BQU8sQ0FBQyxXQUFXLEdBQUcsR0FBRyxLQUFLLFNBQVMsQ0FBQztJQUMvQyxDQUFDO0lBRU8sWUFBWSxDQUFDLElBQThCO1FBQ2pELE1BQU0sSUFBSSxHQUFHLElBQUksR0FBRyxFQUFVLENBQUM7UUFDL0IsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFO1lBQ3JCLElBQUksSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDO2dCQUFFLE9BQU8sS0FBSyxDQUFDO1lBQ2xDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1lBQ2hCLE9BQU8sSUFBSSxDQUFDO1FBQ2QsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBWaWV3RXZlbnQsIFZpZXdGaWVsZCwgVmlld1N0YXRlIH0gZnJvbSAnQG9uZXRlbWUvanF1ZXJ5LWNvcmUnO1xuaW1wb3J0IHsgVGFibGVDb2x1bW5Qcm92aWRlciwgVGFibGVWaWV3Q29uZmlnIH0gZnJvbSAnLi4vLi4vanF1ZXJ5LXRhYmxlLm1vZGVsJztcbmltcG9ydCB7IFNsaWNlQ29uZmlnIH0gZnJvbSAnLi4vc2xpY2UtcGFuZWwvc2xpY2UtcGFuZWwubW9kZWwnO1xuaW1wb3J0IHsgaHVtYW5pemVLZXkgfSBmcm9tICcuLi90YWJsZS51dGlscyc7XG5cbmV4cG9ydCB0eXBlIHsgVmlld0ZpZWxkLCBWaWV3Q29uZmlnLCBWaWV3U3RhdGUsIFZpZXdFdmVudCB9IGZyb20gJ0BvbmV0ZW1lL2pxdWVyeS1jb3JlJztcbmV4cG9ydCB7IHZpZXdGaWVsZCwgZ3JvdXBhYmxlVmlld0ZpZWxkcywgc2xpY2VhYmxlVmlld0ZpZWxkcywgaW5pdGlhbFZpZXdTdGF0ZSB9IGZyb20gJ0BvbmV0ZW1lL2pxdWVyeS1jb3JlJztcblxuLy8g4pSA4pSAIFR5cGVzIGludGVybmVzXG5cbmV4cG9ydCBpbnRlcmZhY2UgVmlld0ZpZWxkU3RhdGUge1xuICBhY3RpdmVDb2x1bW5zOiBUYWJsZUNvbHVtblByb3ZpZGVyPGFueT5bXTtcbiAgLyoqIHRydWUgc2kgbCd1dGlsaXNhdGV1ciBhIGTDqWrDoCBwZXJzb25uYWxpc8OpIGxhIHPDqWxlY3Rpb24gZGUgY29sb25uZXMgKi9cbiAgdXNlckN1c3RvbWl6ZWQ6IGJvb2xlYW47XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgVmlld0dyb3VwQnlTdGF0ZSB7XG4gIGFjdGl2ZUtleTogc3RyaW5nIHwgbnVsbDtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBWaWV3U2xpY2VCeVN0YXRlIHtcbiAgYWN0aXZlRHluYW1pY0NvbHVtbnM6IFRhYmxlQ29sdW1uUHJvdmlkZXI8YW55PltdO1xuICBhdmFpbGFibGVGb3JEeW5hbWljOiBUYWJsZUNvbHVtblByb3ZpZGVyPGFueT5bXTtcbiAgYWxsRHluYW1pY0NvbHVtbnM6IFRhYmxlQ29sdW1uUHJvdmlkZXI8YW55PltdO1xuICBhY3RpdmVMYWJlbDogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFZpZXdQYW5lbENvbmZpZyB7XG4gIC8qKiBDb25maWcgYnJ1dGUgaXNzdWUgZGUgVGFibGVQcm92aWRlci52aWV3ICovXG4gIGNvbmZpZz86IFRhYmxlVmlld0NvbmZpZztcbiAgLyoqIFRvdXRlcyBsZXMgY29sb25uZXMgcsOpc29sdWVzIChub24gZmlsdHLDqWVzKSAqL1xuICBjb2x1bW5zOiBUYWJsZUNvbHVtblByb3ZpZGVyPGFueT5bXTtcbiAgLyoqIFNsaWNlcyBzdGF0aXF1ZXMgKi9cbiAgc2xpY2VDb25maWdzOiBTbGljZUNvbmZpZzxhbnk+W107XG4gIC8qKiBMYWJlbCB1dGlsaXPDqSBxdWFuZCBhdWN1biBncm91cGUgLyBhdWN1bmUgc2xpY2UgbuKAmWVzdCBhY3RpZi4gRMOpZmF1dMKgOiAnQXVjdW4nLiAqL1xuICBub25lTGFiZWw/OiBzdHJpbmc7XG59XG5cbi8vIOKUgOKUgCBGYWNhZGVcblxuLyoqXG4gKiBDZW50cmFsaXNlIGwnw6l0YXQgZXQgbGVzIGFjdGlvbnMgZHUgcGFubmVhdSBWaWV3IChDaGFtcHMgLyBHcm91cCBieSAvIFNsaWNlIGJ5KS5cbiAqIFBhcyBkZSBkw6lwZW5kYW5jZSBBbmd1bGFyL0RPTSA6IHBldXQgw6p0cmUgZXh0cmFpdGUgdmVycyBqcXVlcnktY29yZSDDoCB0ZXJtZS5cbiAqXG4gKiBVc2FnZSA6XG4gKiAgIHRoaXMuX3ZpZXcgPSBuZXcgVmlld0ZhY2FkZSgpO1xuICogICB0aGlzLl92aWV3LmV2ZW50cyQuc3Vic2NyaWJlKGUgPT4geyAuLi4gfSk7XG4gKiAgIHRoaXMuX3ZpZXcudXBkYXRlKHsgY29uZmlnLCBjb2x1bW5zLCBzbGljZUNvbmZpZ3MgfSk7XG4gKi9cbmV4cG9ydCBjbGFzcyBWaWV3RmFjYWRlPFQgPSBhbnk+IHtcblxuICAvLyDilIDilIAgU3RhdGVcblxuICByZWFkb25seSBmaWVsZHM6IFZpZXdGaWVsZFN0YXRlID0ge1xuICAgIGFjdGl2ZUNvbHVtbnM6IFtdLFxuICAgIHVzZXJDdXN0b21pemVkOiBmYWxzZSxcbiAgfTtcblxuICByZWFkb25seSBncm91cEJ5OiBWaWV3R3JvdXBCeVN0YXRlID0ge1xuICAgIGFjdGl2ZUtleTogbnVsbCxcbiAgfTtcblxuICByZWFkb25seSBzbGljZUJ5OiBWaWV3U2xpY2VCeVN0YXRlID0ge1xuICAgIGFjdGl2ZUR5bmFtaWNDb2x1bW5zOiBbXSxcbiAgICBhdmFpbGFibGVGb3JEeW5hbWljOiBbXSxcbiAgICBhbGxEeW5hbWljQ29sdW1uczogW10sXG4gICAgYWN0aXZlTGFiZWw6ICdBdWN1bicsXG4gIH07XG5cbiAgcHJpdmF0ZSBfcGFuZWxDb25maWc6IFZpZXdQYW5lbENvbmZpZyA9IHsgY29sdW1uczogW10sIHNsaWNlQ29uZmlnczogW10gfTtcbiAgcHJpdmF0ZSBfaGlkZGVuU3RhdGljS2V5cyA9IG5ldyBTZXQ8c3RyaW5nPigpO1xuXG4gIC8vIOKUgOKUgCBFdmVudHNcblxuICBwcml2YXRlIHJlYWRvbmx5IF9ldmVudHMkID0gbmV3IFN1YmplY3Q8Vmlld0V2ZW50PigpO1xuICByZWFkb25seSBldmVudHMkID0gdGhpcy5fZXZlbnRzJC5hc09ic2VydmFibGUoKTtcblxuICAvLyDilIDilIAgQ29tcHV0ZWQgZmxhZ3NcblxuICBnZXQgZW5hYmxlZCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5fcGFuZWxDb25maWcuY29uZmlnPy5lbmFibGVkID09PSB0cnVlO1xuICB9XG5cbiAgZ2V0IHNob3dGaWVsZHMoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuZW5hYmxlZDtcbiAgfVxuXG4gIGdldCBzaG93R3JvdXBCeVNlY3Rpb24oKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuZW5hYmxlZCAmJiB0aGlzLmdyb3VwQnlDb2x1bW5zLmxlbmd0aCA+IDA7XG4gIH1cblxuICBnZXQgc2hvd1NsaWNlQnlTZWN0aW9uKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmVuYWJsZWQgJiYgKFxuICAgICAgKHRoaXMuX3BhbmVsQ29uZmlnLnNsaWNlQ29uZmlncz8ubGVuZ3RoID8/IDApID4gMCB8fFxuICAgICAgdGhpcy5zbGljZUJ5LmFsbER5bmFtaWNDb2x1bW5zLmxlbmd0aCA+IDBcbiAgICApO1xuICB9XG5cbiAgZ2V0IGFsbG93Q29sdW1uUmVtb3ZhbCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5fcGFuZWxDb25maWcuY29uZmlnPy5lbmFibGVDb2x1bW5SZW1vdmFsICE9PSBmYWxzZTtcbiAgfVxuXG4gIGdldCBpc0NvbHVtbkRyYWdEcm9wRW5hYmxlZCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5fcGFuZWxDb25maWcuY29uZmlnPy5lbmFibGVDb2x1bW5EcmFnRHJvcCA9PT0gdHJ1ZTtcbiAgfVxuXG4gIGdldCBtZW51QmFzZUNvbHVtbnMoKTogVGFibGVDb2x1bW5Qcm92aWRlcjxUPltdIHtcbiAgICByZXR1cm4gdGhpcy5fdW5pcXVlQnlLZXkoKHRoaXMuX3BhbmVsQ29uZmlnLmNvbHVtbnMgfHwgW10pLmZpbHRlcihjID0+ICFjLm9wdGlvbmFsKSk7XG4gIH1cblxuICBnZXQgbWVudU9wdGlvbmFsQ29sdW1ucygpOiBUYWJsZUNvbHVtblByb3ZpZGVyPFQ+W10ge1xuICAgIHJldHVybiB0aGlzLl91bmlxdWVCeUtleSgodGhpcy5fcGFuZWxDb25maWcuY29sdW1ucyB8fCBbXSkuZmlsdGVyKGMgPT4gYy5vcHRpb25hbCkpO1xuICB9XG5cbiAgZ2V0IHRvdGFsQ29sdW1uQ291bnQoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gbmV3IFNldCgodGhpcy5fcGFuZWxDb25maWcuY29sdW1ucyB8fCBbXSkubWFwKGMgPT4gYy5rZXkpKS5zaXplO1xuICB9XG5cbiAgZ2V0IGdyb3VwQnlDb2x1bW5zKCk6IFRhYmxlQ29sdW1uUHJvdmlkZXI8VD5bXSB7XG4gICAgY29uc3Qgc2VlbiA9IG5ldyBTZXQ8c3RyaW5nPigpO1xuICAgIHJldHVybiAodGhpcy5fcGFuZWxDb25maWcuY29sdW1ucyB8fCBbXSkuZmlsdGVyKGMgPT4ge1xuICAgICAgaWYgKGMuZ3JvdXBhYmxlID09PSBmYWxzZSB8fCBzZWVuLmhhcyhjLmtleSkpIHJldHVybiBmYWxzZTtcbiAgICAgIGlmICghYy5oZWFkZXIgJiYgYy5ncm91cGFibGUgIT09IHRydWUpIHJldHVybiBmYWxzZTtcbiAgICAgIHNlZW4uYWRkKGMua2V5KTtcbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH0pO1xuICB9XG5cbiAgZ2V0IGFjdGl2ZUdyb3VwQnlMYWJlbCgpOiBzdHJpbmcge1xuICAgIGlmICghdGhpcy5ncm91cEJ5LmFjdGl2ZUtleSkgcmV0dXJuIHRoaXMuX3BhbmVsQ29uZmlnLm5vbmVMYWJlbCA/PyAnQXVjdW4nO1xuICAgIGNvbnN0IGNvbCA9IHRoaXMuZ3JvdXBCeUNvbHVtbnMuZmluZChjID0+IGMua2V5ID09PSB0aGlzLmdyb3VwQnkuYWN0aXZlS2V5KTtcbiAgICByZXR1cm4gY29sPy5oZWFkZXIgfHwgdGhpcy5ncm91cEJ5LmFjdGl2ZUtleTtcbiAgfVxuXG4gIGdldCBzdGF0aWNTbGljZXNGb3JNZW51KCk6IEFycmF5PHsga2V5OiBzdHJpbmc7IHRpdGxlOiBzdHJpbmc7IGljb24/OiBzdHJpbmcgfT4ge1xuICAgIHJldHVybiAodGhpcy5fcGFuZWxDb25maWcuc2xpY2VDb25maWdzID8/IFtdKVxuICAgICAgLmZpbHRlcihzID0+ICEhcy5jb2x1bW5LZXkpXG4gICAgICAubWFwKHMgPT4ge1xuICAgICAgICBjb25zdCBjb2xJY29uID0gKHRoaXMuX3BhbmVsQ29uZmlnLmNvbHVtbnMgPz8gW10pLmZpbmQoYyA9PiBjLmtleSA9PT0gcy5jb2x1bW5LZXkpPy5pY29uO1xuICAgICAgICByZXR1cm4geyBrZXk6IHMuY29sdW1uS2V5ISwgdGl0bGU6IHMudGl0bGUgfHwgaHVtYW5pemVLZXkocy5jb2x1bW5LZXkhKSwgaWNvbjogcy5pY29uID8/IGNvbEljb24gfTtcbiAgICAgIH0pO1xuICB9XG5cbiAgY29sTGFiZWwoY29sOiB7IGtleTogc3RyaW5nOyBoZWFkZXI/OiBzdHJpbmcgfSk6IHN0cmluZyB7XG4gICAgcmV0dXJuIGNvbC5oZWFkZXIgfHwgaHVtYW5pemVLZXkoY29sLmtleSk7XG4gIH1cblxuICAvLyDilIDilIAgTWlzZSDDoCBqb3VyIGRlIGxhIGNvbmZpZyAoYXBwZWzDqWUgZGVwdWlzIHJlZnJlc2hWaWV3TW9kZWwpXG5cbiAgdXBkYXRlKHBhbmVsQ29uZmlnOiBWaWV3UGFuZWxDb25maWcpOiB2b2lkIHtcbiAgICB0aGlzLl9wYW5lbENvbmZpZyA9IHBhbmVsQ29uZmlnO1xuICAgIHRoaXMuX3JlZnJlc2hEZWZhdWx0Q29sdW1ucygpO1xuICAgIHRoaXMuX3JlZnJlc2hEeW5hbWljU2xpY2VNZXRhKCk7XG4gIH1cblxuICAvLyDilIDilIAgQWN0aW9ucyBGaWVsZHNcblxuICBzZXRBY3RpdmVDb2x1bW5zKGNvbHVtbnM6IFRhYmxlQ29sdW1uUHJvdmlkZXI8VD5bXSk6IHZvaWQge1xuICAgIHRoaXMuZmllbGRzLmFjdGl2ZUNvbHVtbnMgPSBjb2x1bW5zO1xuICAgIHRoaXMuZmllbGRzLnVzZXJDdXN0b21pemVkID0gdHJ1ZTtcbiAgfVxuXG4gIHNldFVzZXJDdXN0b21pemVkKHZhbHVlOiBib29sZWFuKTogdm9pZCB7XG4gICAgdGhpcy5maWVsZHMudXNlckN1c3RvbWl6ZWQgPSB2YWx1ZTtcbiAgfVxuXG4gIC8qKiBSZW1ldCBsYSB2dWUgZGFucyBzb24gw6l0YXQgaW5pdGlhbCA6IGNvbG9ubmVzIHBhciBkw6lmYXV0LCBwYXMgZGUgZ3JvdXBCeSwgcGFzIGRlIGR5bmFtaWMgc2xpY2VzLiAqL1xuICByZXNldFRvRGVmYXVsdHMoKTogdm9pZCB7XG4gICAgdGhpcy5maWVsZHMudXNlckN1c3RvbWl6ZWQgPSBmYWxzZTtcbiAgICB0aGlzLl9yZWZyZXNoRGVmYXVsdENvbHVtbnMoKTtcbiAgICB0aGlzLmdyb3VwQnkuYWN0aXZlS2V5ID0gbnVsbDtcbiAgICB0aGlzLnNsaWNlQnkuYWN0aXZlRHluYW1pY0NvbHVtbnMgPSBbXTtcbiAgICB0aGlzLl9yZWZyZXNoRHluYW1pY1NsaWNlTWV0YSgpO1xuICB9XG5cbiAgYWRkQ29sdW1uKGNvbHVtbjogVGFibGVDb2x1bW5Qcm92aWRlcjxUPik6IHZvaWQge1xuICAgIGNvbnN0IGNvbmZpZ0NvbHMgPSB0aGlzLl9wYW5lbENvbmZpZy5jb2x1bW5zID8/IFtdO1xuICAgIGNvbnN0IGNvbmZpZ0luZGV4ID0gY29uZmlnQ29scy5maW5kSW5kZXgoYyA9PiBjLmtleSA9PT0gY29sdW1uLmtleSk7XG4gICAgaWYgKGNvbmZpZ0luZGV4ID09PSAtMSkge1xuICAgICAgdGhpcy5maWVsZHMuYWN0aXZlQ29sdW1ucyA9IFsuLi50aGlzLmZpZWxkcy5hY3RpdmVDb2x1bW5zLCBjb2x1bW5dO1xuICAgIH0gZWxzZSB7XG4gICAgICBjb25zdCBpbnNlcnRCZWZvcmUgPSB0aGlzLmZpZWxkcy5hY3RpdmVDb2x1bW5zLmZpbmRJbmRleChjID0+IHtcbiAgICAgICAgY29uc3QgY2kgPSBjb25maWdDb2xzLmZpbmRJbmRleChjYyA9PiBjYy5rZXkgPT09IGMua2V5KTtcbiAgICAgICAgcmV0dXJuIGNpICE9PSAtMSAmJiBjaSA+IGNvbmZpZ0luZGV4O1xuICAgICAgfSk7XG4gICAgICBpZiAoaW5zZXJ0QmVmb3JlID09PSAtMSkge1xuICAgICAgICB0aGlzLmZpZWxkcy5hY3RpdmVDb2x1bW5zID0gWy4uLnRoaXMuZmllbGRzLmFjdGl2ZUNvbHVtbnMsIGNvbHVtbl07XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBjb25zdCBjb3B5ID0gWy4uLnRoaXMuZmllbGRzLmFjdGl2ZUNvbHVtbnNdO1xuICAgICAgICBjb3B5LnNwbGljZShpbnNlcnRCZWZvcmUsIDAsIGNvbHVtbik7XG4gICAgICAgIHRoaXMuZmllbGRzLmFjdGl2ZUNvbHVtbnMgPSBjb3B5O1xuICAgICAgfVxuICAgIH1cbiAgICB0aGlzLmZpZWxkcy51c2VyQ3VzdG9taXplZCA9IHRydWU7XG4gICAgdGhpcy5fZXZlbnRzJC5uZXh0KHsgdHlwZTogJ2ZpZWxkc0NoYW5nZWQnLCBmaWVsZElkczogdGhpcy5maWVsZHMuYWN0aXZlQ29sdW1ucy5tYXAoYyA9PiBjLmtleSkgfSk7XG4gIH1cblxuICByZW1vdmVDb2x1bW4oY29sdW1uS2V5OiBzdHJpbmcpOiBib29sZWFuIHtcbiAgICBjb25zdCBjb2wgPSB0aGlzLmZpZWxkcy5hY3RpdmVDb2x1bW5zLmZpbmQoYyA9PiBjLmtleSA9PT0gY29sdW1uS2V5KTtcbiAgICBpZiAoIWNvbCkgcmV0dXJuIGZhbHNlO1xuICAgIGlmICghY29sLm9wdGlvbmFsICYmICF0aGlzLmFsbG93Q29sdW1uUmVtb3ZhbCkgcmV0dXJuIGZhbHNlO1xuICAgIGlmICh0aGlzLmZpZWxkcy5hY3RpdmVDb2x1bW5zLmxlbmd0aCA8PSAxKSByZXR1cm4gZmFsc2U7XG4gICAgdGhpcy5maWVsZHMuYWN0aXZlQ29sdW1ucyA9IHRoaXMuZmllbGRzLmFjdGl2ZUNvbHVtbnMuZmlsdGVyKGMgPT4gYy5rZXkgIT09IGNvbHVtbktleSk7XG4gICAgdGhpcy5maWVsZHMudXNlckN1c3RvbWl6ZWQgPSB0cnVlO1xuICAgIHRoaXMuX2V2ZW50cyQubmV4dCh7IHR5cGU6ICdmaWVsZHNDaGFuZ2VkJywgZmllbGRJZHM6IHRoaXMuZmllbGRzLmFjdGl2ZUNvbHVtbnMubWFwKGMgPT4gYy5rZXkpIH0pO1xuICAgIHJldHVybiB0cnVlO1xuICB9XG5cbiAgdG9nZ2xlQ29sdW1uVmlzaWJpbGl0eShjb2x1bW46IFRhYmxlQ29sdW1uUHJvdmlkZXI8VD4sIHZpc2libGU6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICBjb25zdCBpc1Zpc2libGUgPSB0aGlzLmlzQ29sdW1uVmlzaWJsZShjb2x1bW4ua2V5KTtcbiAgICBpZiAodmlzaWJsZSAmJiAhaXNWaXNpYmxlKSB7XG4gICAgICB0aGlzLmFkZENvbHVtbihjb2x1bW4pO1xuICAgIH0gZWxzZSBpZiAoIXZpc2libGUgJiYgaXNWaXNpYmxlKSB7XG4gICAgICB0aGlzLnJlbW92ZUNvbHVtbihjb2x1bW4ua2V5KTtcbiAgICB9XG4gIH1cblxuICByZW9yZGVyQ29sdW1ucyhmcm9tS2V5OiBzdHJpbmcsIHRvS2V5OiBzdHJpbmcpOiBib29sZWFuIHtcbiAgICBjb25zdCBwcmV2ID0gdGhpcy5maWVsZHMuYWN0aXZlQ29sdW1ucy5maW5kSW5kZXgoYyA9PiBjLmtleSA9PT0gZnJvbUtleSk7XG4gICAgY29uc3QgY3VyciA9IHRoaXMuZmllbGRzLmFjdGl2ZUNvbHVtbnMuZmluZEluZGV4KGMgPT4gYy5rZXkgPT09IHRvS2V5KTtcbiAgICBpZiAocHJldiA9PT0gLTEgfHwgY3VyciA9PT0gLTEgfHwgcHJldiA9PT0gY3VycikgcmV0dXJuIGZhbHNlO1xuICAgIGNvbnN0IHJlb3JkZXJlZCA9IFsuLi50aGlzLmZpZWxkcy5hY3RpdmVDb2x1bW5zXTtcbiAgICBjb25zdCBbbW92ZWRdID0gcmVvcmRlcmVkLnNwbGljZShwcmV2LCAxKTtcbiAgICByZW9yZGVyZWQuc3BsaWNlKGN1cnIsIDAsIG1vdmVkKTtcbiAgICB0aGlzLmZpZWxkcy5hY3RpdmVDb2x1bW5zID0gcmVvcmRlcmVkO1xuICAgIHRoaXMuZmllbGRzLnVzZXJDdXN0b21pemVkID0gdHJ1ZTtcbiAgICB0aGlzLl9ldmVudHMkLm5leHQoeyB0eXBlOiAnZmllbGRzQ2hhbmdlZCcsIGZpZWxkSWRzOiB0aGlzLmZpZWxkcy5hY3RpdmVDb2x1bW5zLm1hcChjID0+IGMua2V5KSB9KTtcbiAgICByZXR1cm4gdHJ1ZTtcbiAgfVxuXG4gIGlzQ29sdW1uVmlzaWJsZShrZXk6IHN0cmluZyk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmZpZWxkcy5hY3RpdmVDb2x1bW5zLnNvbWUoYyA9PiBjLmtleSA9PT0ga2V5KTtcbiAgfVxuXG4gIC8vIOKUgOKUgCBBY3Rpb25zIEdyb3VwIGJ5XG5cbiAgc2V0R3JvdXBCeShrZXk6IHN0cmluZyB8IG51bGwpOiB2b2lkIHtcbiAgICB0aGlzLmdyb3VwQnkuYWN0aXZlS2V5ID0ga2V5O1xuICAgIHRoaXMuX2V2ZW50cyQubmV4dCh7IHR5cGU6ICdncm91cEJ5Q2hhbmdlZCcsIGtleSB9KTtcbiAgfVxuXG4gIC8vIOKUgOKUgCBBY3Rpb25zIFNsaWNlIGJ5IChkeW5hbWlxdWUpXG5cbiAgLyoqIEFwcGVsw6llIHF1YW5kIGxlIFNsaWNlUGFuZWxDb21wb25lbnQgw6ltZXQgZHluYW1pY1NsaWNlS2V5c0NoYW5nZSAqL1xuICBvbkR5bmFtaWNTbGljZUtleXNDaGFuZ2Uoa2V5czogc3RyaW5nW10pOiB2b2lkIHtcbiAgICBjb25zdCBhbGxDb2xzID0gdGhpcy5fcGFuZWxDb25maWcuY29sdW1ucyA/PyBbXTtcbiAgICBjb25zdCBzdGF0aWNLZXlzID0gbmV3IFNldChcbiAgICAgICh0aGlzLl9wYW5lbENvbmZpZy5zbGljZUNvbmZpZ3MgPz8gW10pLm1hcChzID0+IHMuY29sdW1uS2V5KS5maWx0ZXIoKGspOiBrIGlzIHN0cmluZyA9PiAhIWspXG4gICAgKTtcbiAgICBjb25zdCBkeW5hbWljS2V5U2V0ID0gbmV3IFNldChrZXlzKTtcbiAgICBjb25zdCBleGlzdGluZ0tleXMgPSBuZXcgU2V0KFsuLi5zdGF0aWNLZXlzLCAuLi5keW5hbWljS2V5U2V0XSk7XG5cbiAgICB0aGlzLnNsaWNlQnkuYWN0aXZlRHluYW1pY0NvbHVtbnMgPSBrZXlzXG4gICAgICAubWFwKGsgPT4gYWxsQ29scy5maW5kKGMgPT4gYy5rZXkgPT09IGspKVxuICAgICAgLmZpbHRlcigoYyk6IGMgaXMgVGFibGVDb2x1bW5Qcm92aWRlcjxUPiA9PiAhIWMpO1xuXG4gICAgY29uc3Qgc2VlbiA9IG5ldyBTZXQ8c3RyaW5nPigpO1xuICAgIHRoaXMuc2xpY2VCeS5hdmFpbGFibGVGb3JEeW5hbWljID0gYWxsQ29scy5maWx0ZXIoYyA9PiB7XG4gICAgICBpZiAoYy5zbGljZWFibGUgPT09IGZhbHNlIHx8IGV4aXN0aW5nS2V5cy5oYXMoYy5rZXkpIHx8IHNlZW4uaGFzKGMua2V5KSkgcmV0dXJuIGZhbHNlO1xuICAgICAgc2Vlbi5hZGQoYy5rZXkpO1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfSk7XG5cbiAgICB0aGlzLl9jb21wdXRlU2xpY2VMYWJlbCgpO1xuICAgIHRoaXMuX2V2ZW50cyQubmV4dCh7IHR5cGU6ICdkeW5hbWljU2xpY2VzQ2hhbmdlZCcsIGtleXMgfSk7XG4gIH1cblxuICBpc0R5bmFtaWNTbGljZUFjdGl2ZShrZXk6IHN0cmluZyk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLnNsaWNlQnkuYWN0aXZlRHluYW1pY0NvbHVtbnMuc29tZShjID0+IGMua2V5ID09PSBrZXkpO1xuICB9XG5cbiAgLy8g4pSA4pSAIENvbnRyYXQgY29yZVxuXG4gIC8qKiBSZXRvdXJuZSB1biBzbmFwc2hvdCBWaWV3U3RhdGUgKGNvbnRyYXQgY29yZSkgZGUgbCfDqXRhdCBjb3VyYW50LiAqL1xuICB0b1ZpZXdTdGF0ZSgpOiBWaWV3U3RhdGUge1xuICAgIHJldHVybiB7XG4gICAgICBzZWxlY3RlZEZpZWxkSWRzOiB0aGlzLmZpZWxkcy5hY3RpdmVDb2x1bW5zLm1hcChjID0+IGMua2V5KSxcbiAgICAgIGdyb3VwQnlLZXk6IHRoaXMuZ3JvdXBCeS5hY3RpdmVLZXksXG4gICAgICBkeW5hbWljU2xpY2VLZXlzOiB0aGlzLnNsaWNlQnkuYWN0aXZlRHluYW1pY0NvbHVtbnMubWFwKGMgPT4gYy5rZXkpLFxuICAgIH07XG4gIH1cblxuICAvKiogQ29udmVydGl0IHVuZSBUYWJsZUNvbHVtblByb3ZpZGVyIGVuIFZpZXdGaWVsZCAoY29udHJhdCBjb3JlKS4gKi9cbiAgc3RhdGljIHRvVmlld0ZpZWxkKGNvbDogVGFibGVDb2x1bW5Qcm92aWRlcjxhbnk+KTogVmlld0ZpZWxkIHtcbiAgICByZXR1cm4ge1xuICAgICAgaWQ6IGNvbC5rZXksXG4gICAgICBsYWJlbDogY29sLmhlYWRlcixcbiAgICAgIGljb246IGNvbC5pY29uLFxuICAgICAgZ3JvdXBhYmxlOiBjb2wuZ3JvdXBhYmxlLFxuICAgICAgc2xpY2VhYmxlOiBjb2wuc2xpY2VhYmxlLFxuICAgICAgb3B0aW9uYWw6IGNvbC5vcHRpb25hbCxcbiAgICB9O1xuICB9XG5cbiAgLy8g4pSA4pSAIERlc3RydWN0b3JcblxuICBkZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMuX2V2ZW50cyQuY29tcGxldGUoKTtcbiAgfVxuXG4gIC8vIOKUgOKUgCBIZWxwZXJzIHByaXbDqXNcblxuICBwcml2YXRlIF9yZWZyZXNoRGVmYXVsdENvbHVtbnMoKTogdm9pZCB7XG4gICAgY29uc3QgZGVmYXVsdENvbHMgPSAodGhpcy5fcGFuZWxDb25maWcuY29sdW1ucyB8fCBbXSkuZmlsdGVyKGMgPT4gIWMub3B0aW9uYWwpO1xuICAgIGlmICghdGhpcy5maWVsZHMudXNlckN1c3RvbWl6ZWQgfHwgdGhpcy5maWVsZHMuYWN0aXZlQ29sdW1ucy5sZW5ndGggPT09IDApIHtcbiAgICAgIHRoaXMuZmllbGRzLmFjdGl2ZUNvbHVtbnMgPSBbLi4uZGVmYXVsdENvbHNdO1xuICAgIH0gZWxzZSB7XG4gICAgICBjb25zdCBhbGxvd2VkS2V5cyA9IG5ldyBTZXQoKHRoaXMuX3BhbmVsQ29uZmlnLmNvbHVtbnMgfHwgW10pLm1hcChjID0+IGMua2V5KSk7XG4gICAgICB0aGlzLmZpZWxkcy5hY3RpdmVDb2x1bW5zID0gdGhpcy5maWVsZHMuYWN0aXZlQ29sdW1ucy5maWx0ZXIoYyA9PiBhbGxvd2VkS2V5cy5oYXMoYy5rZXkpKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIF9yZWZyZXNoRHluYW1pY1NsaWNlTWV0YSgpOiB2b2lkIHtcbiAgICBjb25zdCBhbGxDb2xzID0gdGhpcy5fcGFuZWxDb25maWcuY29sdW1ucyA/PyBbXTtcbiAgICBjb25zdCBzdGF0aWNLZXlzID0gbmV3IFNldChcbiAgICAgICh0aGlzLl9wYW5lbENvbmZpZy5zbGljZUNvbmZpZ3MgPz8gW10pLm1hcChzID0+IHMuY29sdW1uS2V5KS5maWx0ZXIoKGspOiBrIGlzIHN0cmluZyA9PiAhIWspXG4gICAgKTtcbiAgICBjb25zdCBhY3RpdmVEeW5LZXlzID0gbmV3IFNldCh0aGlzLnNsaWNlQnkuYWN0aXZlRHluYW1pY0NvbHVtbnMubWFwKGMgPT4gYy5rZXkpKTtcblxuICAgIGNvbnN0IHNlZW4xID0gbmV3IFNldDxzdHJpbmc+KCk7XG4gICAgdGhpcy5zbGljZUJ5LmF2YWlsYWJsZUZvckR5bmFtaWMgPSBhbGxDb2xzLmZpbHRlcihjID0+IHtcbiAgICAgIGlmIChjLnNsaWNlYWJsZSA9PT0gZmFsc2UgfHwgc3RhdGljS2V5cy5oYXMoYy5rZXkpIHx8IGFjdGl2ZUR5bktleXMuaGFzKGMua2V5KSB8fCBzZWVuMS5oYXMoYy5rZXkpKSByZXR1cm4gZmFsc2U7XG4gICAgICBpZiAoIWMuaGVhZGVyICYmIGMuc2xpY2VhYmxlICE9PSB0cnVlKSByZXR1cm4gZmFsc2U7XG4gICAgICBzZWVuMS5hZGQoYy5rZXkpO1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfSk7XG5cbiAgICBjb25zdCBzZWVuMiA9IG5ldyBTZXQ8c3RyaW5nPigpO1xuICAgIHRoaXMuc2xpY2VCeS5hbGxEeW5hbWljQ29sdW1ucyA9IGFsbENvbHMuZmlsdGVyKGMgPT4ge1xuICAgICAgaWYgKGMuc2xpY2VhYmxlID09PSBmYWxzZSB8fCBzdGF0aWNLZXlzLmhhcyhjLmtleSkgfHwgc2VlbjIuaGFzKGMua2V5KSkgcmV0dXJuIGZhbHNlO1xuICAgICAgaWYgKCFjLmhlYWRlciAmJiBjLnNsaWNlYWJsZSAhPT0gdHJ1ZSkgcmV0dXJuIGZhbHNlO1xuICAgICAgc2VlbjIuYWRkKGMua2V5KTtcbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH0pO1xuXG4gICAgdGhpcy5fY29tcHV0ZVNsaWNlTGFiZWwoKTtcbiAgfVxuXG4gIC8qKiBOb3RpZmllIGxhIGZhY2FkZSBkZXMgc2xpY2VzIHN0YXRpcXVlcyBhY3R1ZWxsZW1lbnQgY2FjaMOpZXMgKGfDqXLDqSBwYXIgdGFibGUuY29tcG9uZW50KS5cbiAgICogUmVjYWxjdWxlIGxlIGxhYmVsIHNsaWNlIGFmaW4gcXUnaWwgcmVmbMOodGUgdW5pcXVlbWVudCBsZXMgc2xpY2VzIHZpc2libGVzLiAqL1xuICB1cGRhdGVIaWRkZW5TdGF0aWNLZXlzKGtleXM6IFNldDxzdHJpbmc+KTogdm9pZCB7XG4gICAgdGhpcy5faGlkZGVuU3RhdGljS2V5cyA9IGtleXM7XG4gICAgdGhpcy5fY29tcHV0ZVNsaWNlTGFiZWwoKTtcbiAgfVxuXG4gIHByaXZhdGUgX2NvbXB1dGVTbGljZUxhYmVsKCk6IHZvaWQge1xuICAgIGNvbnN0IHZpc2libGVTdGF0aWNzID0gKHRoaXMuX3BhbmVsQ29uZmlnLnNsaWNlQ29uZmlncyA/PyBbXSkuZmlsdGVyKFxuICAgICAgcyA9PiAhcy5jb2x1bW5LZXkgfHwgIXRoaXMuX2hpZGRlblN0YXRpY0tleXMuaGFzKHMuY29sdW1uS2V5KVxuICAgICk7XG4gICAgY29uc3QgdmlzaWJsZVN0YXRpY0NvdW50ID0gdmlzaWJsZVN0YXRpY3MubGVuZ3RoO1xuICAgIGNvbnN0IHRvdGFsID0gdmlzaWJsZVN0YXRpY0NvdW50ICsgdGhpcy5zbGljZUJ5LmFjdGl2ZUR5bmFtaWNDb2x1bW5zLmxlbmd0aDtcbiAgICBpZiAodG90YWwgPT09IDApIHsgdGhpcy5zbGljZUJ5LmFjdGl2ZUxhYmVsID0gdGhpcy5fcGFuZWxDb25maWcubm9uZUxhYmVsID8/ICdBdWN1bic7IHJldHVybjsgfVxuICAgIGlmICh0b3RhbCA9PT0gMSkge1xuICAgICAgaWYgKHZpc2libGVTdGF0aWNDb3VudCA9PT0gMSkge1xuICAgICAgICBjb25zdCBmaXJzdCA9IHZpc2libGVTdGF0aWNzWzBdO1xuICAgICAgICB0aGlzLnNsaWNlQnkuYWN0aXZlTGFiZWwgPSBmaXJzdD8udGl0bGUgfHwgZmlyc3Q/LmNvbHVtbktleSB8fCAnMSc7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cbiAgICAgIHRoaXMuc2xpY2VCeS5hY3RpdmVMYWJlbCA9IHRoaXMuc2xpY2VCeS5hY3RpdmVEeW5hbWljQ29sdW1uc1swXT8uaGVhZGVyIHx8ICcxJztcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgdGhpcy5zbGljZUJ5LmFjdGl2ZUxhYmVsID0gYCR7dG90YWx9IGFjdGlmc2A7XG4gIH1cblxuICBwcml2YXRlIF91bmlxdWVCeUtleShjb2xzOiBUYWJsZUNvbHVtblByb3ZpZGVyPFQ+W10pOiBUYWJsZUNvbHVtblByb3ZpZGVyPFQ+W10ge1xuICAgIGNvbnN0IHNlZW4gPSBuZXcgU2V0PHN0cmluZz4oKTtcbiAgICByZXR1cm4gY29scy5maWx0ZXIoYyA9PiB7XG4gICAgICBpZiAoc2Vlbi5oYXMoYy5rZXkpKSByZXR1cm4gZmFsc2U7XG4gICAgICBzZWVuLmFkZChjLmtleSk7XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9KTtcbiAgfVxufVxuIl19
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import { InjectionToken } from '@angular/core';
|
|
2
|
+
/** Valeurs par défaut (français). Toutes les propriétés sont garanties non nulles. */
|
|
3
|
+
export const JQT_I18N_DEFAULTS = {
|
|
4
|
+
searchPlaceholder: 'Rechercher...',
|
|
5
|
+
expandFilterTitle: 'Déplier le filtre',
|
|
6
|
+
collapseFilterTitle: 'Replier le filtre',
|
|
7
|
+
viewMenuFields: 'Champs',
|
|
8
|
+
viewMenuGroupBy: 'Grouper par',
|
|
9
|
+
viewMenuSliceBy: 'Filtrer par',
|
|
10
|
+
viewNoneSelected: 'Aucun',
|
|
11
|
+
groupRemove: 'Retirer le groupe',
|
|
12
|
+
groupSortLabel: 'Trier :',
|
|
13
|
+
groupSortAsc: 'A → Z',
|
|
14
|
+
groupSortDesc: 'Z → A',
|
|
15
|
+
groupRowsPerGroup: 'Lignes par groupe :',
|
|
16
|
+
groupShowAll: 'Toutes',
|
|
17
|
+
groupTooMany: (count) => `⚠ Trop de groupes (${count}) — affinez les données ou choisissez une autre colonne`,
|
|
18
|
+
lazyRetry: 'Réessayer',
|
|
19
|
+
lazyErrorTitle: 'Erreur de chargement — cliquer pour réessayer',
|
|
20
|
+
lazyErrorMenuTitle: 'Erreur de chargement',
|
|
21
|
+
cellEmpty: 'N/A',
|
|
22
|
+
emptyState: 'Aucune donnée',
|
|
23
|
+
loadingState: 'Chargement des données...',
|
|
24
|
+
filterPanelTitle: (count) => count > 1 ? 'Filtres' : 'Filtre',
|
|
25
|
+
filterBlockDefaultTitle: 'Filtrer',
|
|
26
|
+
filterEmptyState: 'Aucune donnée',
|
|
27
|
+
exportButtonLabel: 'Exporter',
|
|
28
|
+
preferencesMenuLabel: 'Préférences',
|
|
29
|
+
preferencesEdit: 'Mode édition',
|
|
30
|
+
preferencesSave: 'Enregistrer la configuration',
|
|
31
|
+
preferencesClear: 'Effacer la configuration',
|
|
32
|
+
preferencesSavedMessage: 'Configuration enregistrée. Vous pouvez la réinitialiser à tout moment via Préférences → Effacer.',
|
|
33
|
+
preferencesClearedMessage: 'Configuration réinitialisée.',
|
|
34
|
+
preferencesConfirmEdit: 'Valider les modifications',
|
|
35
|
+
};
|
|
36
|
+
/**
|
|
37
|
+
* Token d'injection pour surcharger tout ou partie des labels de jquery-table.
|
|
38
|
+
* Accepte un `Partial<JqtI18n>` — seules les clés fournies écrasent les défauts.
|
|
39
|
+
*/
|
|
40
|
+
export const JQT_I18N = new InjectionToken('JQT_I18N');
|
|
41
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoianF0LWkxOG4udG9rZW4uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9vbmV0ZW1lL2pxdWVyeS10YWJsZS9zcmMvbGliL2pxdC1pMThuLnRva2VuLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFrRi9DLHNGQUFzRjtBQUN0RixNQUFNLENBQUMsTUFBTSxpQkFBaUIsR0FBWTtJQUN4QyxpQkFBaUIsRUFBRSxlQUFlO0lBQ2xDLGlCQUFpQixFQUFFLG1CQUFtQjtJQUN0QyxtQkFBbUIsRUFBRSxtQkFBbUI7SUFDeEMsY0FBYyxFQUFFLFFBQVE7SUFDeEIsZUFBZSxFQUFFLGFBQWE7SUFDOUIsZUFBZSxFQUFFLGFBQWE7SUFDOUIsZ0JBQWdCLEVBQUUsT0FBTztJQUN6QixXQUFXLEVBQUUsbUJBQW1CO0lBQ2hDLGNBQWMsRUFBRSxTQUFTO0lBQ3pCLFlBQVksRUFBRSxPQUFPO0lBQ3JCLGFBQWEsRUFBRSxPQUFPO0lBQ3RCLGlCQUFpQixFQUFFLHFCQUFxQjtJQUN4QyxZQUFZLEVBQUUsUUFBUTtJQUN0QixZQUFZLEVBQUUsQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLHNCQUFzQixLQUFLLHlEQUF5RDtJQUM3RyxTQUFTLEVBQUUsV0FBVztJQUN0QixjQUFjLEVBQUUsK0NBQStDO0lBQy9ELGtCQUFrQixFQUFFLHNCQUFzQjtJQUMxQyxTQUFTLEVBQUUsS0FBSztJQUNoQixVQUFVLEVBQUUsZUFBZTtJQUMzQixZQUFZLEVBQUUsMkJBQTJCO0lBQ3pDLGdCQUFnQixFQUFFLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxLQUFLLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLFFBQVE7SUFDN0QsdUJBQXVCLEVBQUUsU0FBUztJQUNsQyxnQkFBZ0IsRUFBRSxlQUFlO0lBQ2pDLGlCQUFpQixFQUFFLFVBQVU7SUFDN0Isb0JBQW9CLEVBQUUsYUFBYTtJQUNuQyxlQUFlLEVBQUUsY0FBYztJQUMvQixlQUFlLEVBQUUsOEJBQThCO0lBQy9DLGdCQUFnQixFQUFFLDBCQUEwQjtJQUM1Qyx1QkFBdUIsRUFBRSxrR0FBa0c7SUFDM0gseUJBQXlCLEVBQUUsOEJBQThCO0lBQ3pELHNCQUFzQixFQUFFLDJCQUEyQjtDQUNwRCxDQUFDO0FBRUY7OztHQUdHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sUUFBUSxHQUFHLElBQUksY0FBYyxDQUFtQixVQUFVLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGlvblRva2VuIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbi8qKlxuICogTGFiZWxzIGRlIGwnaW50ZXJmYWNlIHV0aWxpc2F0ZXVyIGRlIGpxdWVyeS10YWJsZS5cbiAqXG4gKiBGb3VybmlyIGNlIHRva2VuIGF1IG5pdmVhdSBkdSBtb2R1bGUgb3UgZHUgY29tcG9zYW50IHJhY2luZSBwb3VyIGxvY2FsaXNlclxuICogb3UgcGVyc29ubmFsaXNlciB0b3VzIGxlcyB0ZXh0ZXMgZGUgbGEgYmlibGlvdGjDqHF1ZSBlbiB1biBzZXVsIGVuZHJvaXQgOlxuICpcbiAqIGBgYHRzXG4gKiBwcm92aWRlcnM6IFtcbiAqICAgeyBwcm92aWRlOiBKUVRfSTE4TiwgdXNlVmFsdWU6IHsgc2VhcmNoUGxhY2Vob2xkZXI6ICdTZWFyY2jigKYnLCBlbXB0eVN0YXRlOiAnTm8gZGF0YScgfSB9XG4gKiBdXG4gKiBgYGBcbiAqXG4gKiBUb3VzIGxlcyBjaGFtcHMgc29udCBvcHRpb25uZWxzIDogc2V1bCBjZSBxdWUgdm91cyBmb3Vybmlzc2V6IMOpY3Jhc2UgbGVzXG4gKiB2YWxldXJzIHBhciBkw6lmYXV0IGZyYW7Dp2Fpc2VzLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEpxdEkxOG4ge1xuICAvKiogUGxhY2Vob2xkZXIgZGUgbGEgYmFycmUgZGUgcmVjaGVyY2hlLiAqL1xuICBzZWFyY2hQbGFjZWhvbGRlcjogc3RyaW5nO1xuICAvKiogVGl0cmUgZHUgYm91dG9uIHBvdXIgZMOpcGxpZXIgbGUgcGFubmVhdSBkZSBmaWx0cmVzLiAqL1xuICBleHBhbmRGaWx0ZXJUaXRsZTogc3RyaW5nO1xuICAvKiogVGl0cmUgZHUgYm91dG9uIHBvdXIgcmVwbGllciBsZSBwYW5uZWF1IGRlIGZpbHRyZXMuICovXG4gIGNvbGxhcHNlRmlsdGVyVGl0bGU6IHN0cmluZztcbiAgLyoqIExhYmVsIGR1IHNvdXMtbWVudSBcIkNoYW1wc1wiIGRhbnMgVmlldy4gKi9cbiAgdmlld01lbnVGaWVsZHM6IHN0cmluZztcbiAgLyoqIExhYmVsIGR1IHNvdXMtbWVudSBcIkdyb3VwIGJ5XCIgZGFucyBWaWV3LiAqL1xuICB2aWV3TWVudUdyb3VwQnk6IHN0cmluZztcbiAgLyoqIExhYmVsIGR1IHNvdXMtbWVudSBcIlNsaWNlIGJ5XCIgZGFucyBWaWV3LiAqL1xuICB2aWV3TWVudVNsaWNlQnk6IHN0cmluZztcbiAgLyoqIExhYmVsIGFmZmljaMOpIHF1YW5kIGF1Y3VuZSBvcHRpb24gbidlc3Qgc8OpbGVjdGlvbm7DqWUgKGdyb3VwZSwgc2xpY2UpLiAqL1xuICB2aWV3Tm9uZVNlbGVjdGVkOiBzdHJpbmc7XG4gIC8qKiBCb3V0b24gXCJSZXRpcmVyIGxlIGdyb3VwZVwiIGRhbnMgbGEgYmFycmUgZGUgZ3JvdXBlLiAqL1xuICBncm91cFJlbW92ZTogc3RyaW5nO1xuICAvKiogTGFiZWwgXCJUcmllciA6XCIgZGFucyBsYSBiYXJyZSBkZSBncm91cGUuICovXG4gIGdyb3VwU29ydExhYmVsOiBzdHJpbmc7XG4gIC8qKiBUb29sdGlwIHRyaSBhc2NlbmRhbnQuICovXG4gIGdyb3VwU29ydEFzYzogc3RyaW5nO1xuICAvKiogVG9vbHRpcCB0cmkgZGVzY2VuZGFudC4gKi9cbiAgZ3JvdXBTb3J0RGVzYzogc3RyaW5nO1xuICAvKiogTGFiZWwgXCJMaWduZXMgcGFyIGdyb3VwZVwiIGRhbnMgbGUgc8OpbGVjdGV1ciBkZSB0YWlsbGUgZGUgZ3JvdXBlLiAqL1xuICBncm91cFJvd3NQZXJHcm91cDogc3RyaW5nO1xuICAvKiogT3B0aW9uIFwiVG91dGVzXCIgKGFmZmljaGVyIHRvdXRlcyBsZXMgbGlnbmVzIHNhbnMgcGFnaW5hdGlvbiBkZSBncm91cGUpLiAqL1xuICBncm91cFNob3dBbGw6IHN0cmluZztcbiAgLyoqIE1lc3NhZ2UgcXVhbmQgbGUgZ3JvdXBlIGTDqXBhc3NlIGxlIG5vbWJyZSBtYXhpbWFsIGF1dG9yaXPDqS4gUmXDp29pdCBsZSBub21icmUgZGUgZ3JvdXBlcy4gKi9cbiAgZ3JvdXBUb29NYW55OiAoY291bnQ6IG51bWJlcikgPT4gc3RyaW5nO1xuICAvKiogTGFiZWwgZHUgYm91dG9uIGRlIHLDqWVzc2FpIHBvdXIgdW5lIGNvbG9ubmUgbGF6eSBlbiBlcnJldXIuICovXG4gIGxhenlSZXRyeTogc3RyaW5nO1xuICAvKiogVG9vbHRpcCBkdSBib3V0b24gZGUgcsOpZXNzYWkuICovXG4gIGxhenlFcnJvclRpdGxlOiBzdHJpbmc7XG4gIC8qKiBUb29sdGlwIGRlIGwnaWPDtG5lIGQnZXJyZXVyIGRhbnMgbGUgbWVudSBWaWV3ID4gQ2hhbXBzLiAqL1xuICBsYXp5RXJyb3JNZW51VGl0bGU6IHN0cmluZztcbiAgLyoqIFZhbGV1ciBhZmZpY2jDqWUgZGFucyB1bmUgY2VsbHVsZSB2aWRlIChudWxsIC8gdW5kZWZpbmVkIC8gJycpLiAqL1xuICBjZWxsRW1wdHk6IHN0cmluZztcbiAgLyoqIE1lc3NhZ2UgcXVhbmQgbGUgdGFibGVhdSBlc3QgdmlkZS4gKi9cbiAgZW1wdHlTdGF0ZTogc3RyaW5nO1xuICAvKiogTWVzc2FnZSBwZW5kYW50IGxlIGNoYXJnZW1lbnQgKGBbaXNMb2FkaW5nXT1cInRydWVcImApLiAqL1xuICBsb2FkaW5nU3RhdGU6IHN0cmluZztcbiAgLyoqIFRpdHJlIGR1IHBhbm5lYXUgZGUgZmlsdHJlcyBsYXTDqXJhbC4gUmXDp29pdCBsZSBub21icmUgZGUgYmxvY3MgZGUgZmlsdHJlcyBhY3RpZnMuICovXG4gIGZpbHRlclBhbmVsVGl0bGU6IChjb3VudDogbnVtYmVyKSA9PiBzdHJpbmc7XG4gIC8qKiBUaXRyZSBwYXIgZMOpZmF1dCBkJ3VuIGJsb2MgZGUgZmlsdHJlIHNhbnMgYHRpdGxlYCBjb25maWd1csOpLiAqL1xuICBmaWx0ZXJCbG9ja0RlZmF1bHRUaXRsZTogc3RyaW5nO1xuICAvKiogTWVzc2FnZSBkYW5zIHVuIGJsb2MgZGUgZmlsdHJlIHNhbnMgY2F0w6lnb3JpZXMgY29ycmVzcG9uZGFudGVzLiAqL1xuICBmaWx0ZXJFbXB0eVN0YXRlOiBzdHJpbmc7XG4gIC8qKiBMYWJlbCBkdSBib3V0b24gZCdleHBvcnQgQ1NWLiAqL1xuICBleHBvcnRCdXR0b25MYWJlbDogc3RyaW5nO1xuICAvKiogTGFiZWwgZHUgbWVudSBQcsOpZsOpcmVuY2VzIGRhbnMgVmlldy4gKi9cbiAgcHJlZmVyZW5jZXNNZW51TGFiZWw6IHN0cmluZztcbiAgLyoqIFNvdXMtaXRlbSA6IGFjdGl2ZXIgbGUgbW9kZSDDqWRpdGlvbi4gKi9cbiAgcHJlZmVyZW5jZXNFZGl0OiBzdHJpbmc7XG4gIC8qKiBTb3VzLWl0ZW0gOiBlbnJlZ2lzdHJlciBsYSBjb25maWcuICovXG4gIHByZWZlcmVuY2VzU2F2ZTogc3RyaW5nO1xuICAvKiogU291cy1pdGVtIDogZWZmYWNlciBsYSBjb25maWcuICovXG4gIHByZWZlcmVuY2VzQ2xlYXI6IHN0cmluZztcbiAgLyoqIE1lc3NhZ2UgZGUgY29uZmlybWF0aW9uIGFwcsOocyBlbnJlZ2lzdHJlbWVudC4gKi9cbiAgcHJlZmVyZW5jZXNTYXZlZE1lc3NhZ2U6IHN0cmluZztcbiAgLyoqIE1lc3NhZ2UgZGUgY29uZmlybWF0aW9uIGFwcsOocyBlZmZhY2VtZW50LiAqL1xuICBwcmVmZXJlbmNlc0NsZWFyZWRNZXNzYWdlOiBzdHJpbmc7XG4gIC8qKiBUb29sdGlwIGR1IGJvdXRvbiBkZSB2YWxpZGF0aW9uIGR1IG1vZGUgw6lkaXRpb24uICovXG4gIHByZWZlcmVuY2VzQ29uZmlybUVkaXQ6IHN0cmluZztcbn1cblxuLyoqIFZhbGV1cnMgcGFyIGTDqWZhdXQgKGZyYW7Dp2FpcykuIFRvdXRlcyBsZXMgcHJvcHJpw6l0w6lzIHNvbnQgZ2FyYW50aWVzIG5vbiBudWxsZXMuICovXG5leHBvcnQgY29uc3QgSlFUX0kxOE5fREVGQVVMVFM6IEpxdEkxOG4gPSB7XG4gIHNlYXJjaFBsYWNlaG9sZGVyOiAnUmVjaGVyY2hlci4uLicsXG4gIGV4cGFuZEZpbHRlclRpdGxlOiAnRMOpcGxpZXIgbGUgZmlsdHJlJyxcbiAgY29sbGFwc2VGaWx0ZXJUaXRsZTogJ1JlcGxpZXIgbGUgZmlsdHJlJyxcbiAgdmlld01lbnVGaWVsZHM6ICdDaGFtcHMnLFxuICB2aWV3TWVudUdyb3VwQnk6ICdHcm91cGVyIHBhcicsXG4gIHZpZXdNZW51U2xpY2VCeTogJ0ZpbHRyZXIgcGFyJyxcbiAgdmlld05vbmVTZWxlY3RlZDogJ0F1Y3VuJyxcbiAgZ3JvdXBSZW1vdmU6ICdSZXRpcmVyIGxlIGdyb3VwZScsXG4gIGdyb3VwU29ydExhYmVsOiAnVHJpZXIgOicsXG4gIGdyb3VwU29ydEFzYzogJ0Eg4oaSIFonLFxuICBncm91cFNvcnREZXNjOiAnWiDihpIgQScsXG4gIGdyb3VwUm93c1Blckdyb3VwOiAnTGlnbmVzIHBhciBncm91cGUgOicsXG4gIGdyb3VwU2hvd0FsbDogJ1RvdXRlcycsXG4gIGdyb3VwVG9vTWFueTogKGNvdW50KSA9PiBg4pqgIFRyb3AgZGUgZ3JvdXBlcyAoJHtjb3VudH0pIOKAlCBhZmZpbmV6IGxlcyBkb25uw6llcyBvdSBjaG9pc2lzc2V6IHVuZSBhdXRyZSBjb2xvbm5lYCxcbiAgbGF6eVJldHJ5OiAnUsOpZXNzYXllcicsXG4gIGxhenlFcnJvclRpdGxlOiAnRXJyZXVyIGRlIGNoYXJnZW1lbnQg4oCUIGNsaXF1ZXIgcG91ciByw6llc3NheWVyJyxcbiAgbGF6eUVycm9yTWVudVRpdGxlOiAnRXJyZXVyIGRlIGNoYXJnZW1lbnQnLFxuICBjZWxsRW1wdHk6ICdOL0EnLFxuICBlbXB0eVN0YXRlOiAnQXVjdW5lIGRvbm7DqWUnLFxuICBsb2FkaW5nU3RhdGU6ICdDaGFyZ2VtZW50IGRlcyBkb25uw6llcy4uLicsXG4gIGZpbHRlclBhbmVsVGl0bGU6IChjb3VudCkgPT4gY291bnQgPiAxID8gJ0ZpbHRyZXMnIDogJ0ZpbHRyZScsXG4gIGZpbHRlckJsb2NrRGVmYXVsdFRpdGxlOiAnRmlsdHJlcicsXG4gIGZpbHRlckVtcHR5U3RhdGU6ICdBdWN1bmUgZG9ubsOpZScsXG4gIGV4cG9ydEJ1dHRvbkxhYmVsOiAnRXhwb3J0ZXInLFxuICBwcmVmZXJlbmNlc01lbnVMYWJlbDogJ1Byw6lmw6lyZW5jZXMnLFxuICBwcmVmZXJlbmNlc0VkaXQ6ICdNb2RlIMOpZGl0aW9uJyxcbiAgcHJlZmVyZW5jZXNTYXZlOiAnRW5yZWdpc3RyZXIgbGEgY29uZmlndXJhdGlvbicsXG4gIHByZWZlcmVuY2VzQ2xlYXI6ICdFZmZhY2VyIGxhIGNvbmZpZ3VyYXRpb24nLFxuICBwcmVmZXJlbmNlc1NhdmVkTWVzc2FnZTogJ0NvbmZpZ3VyYXRpb24gZW5yZWdpc3Ryw6llLiBWb3VzIHBvdXZleiBsYSByw6lpbml0aWFsaXNlciDDoCB0b3V0IG1vbWVudCB2aWEgUHLDqWbDqXJlbmNlcyDihpIgRWZmYWNlci4nLFxuICBwcmVmZXJlbmNlc0NsZWFyZWRNZXNzYWdlOiAnQ29uZmlndXJhdGlvbiByw6lpbml0aWFsaXPDqWUuJyxcbiAgcHJlZmVyZW5jZXNDb25maXJtRWRpdDogJ1ZhbGlkZXIgbGVzIG1vZGlmaWNhdGlvbnMnLFxufTtcblxuLyoqXG4gKiBUb2tlbiBkJ2luamVjdGlvbiBwb3VyIHN1cmNoYXJnZXIgdG91dCBvdSBwYXJ0aWUgZGVzIGxhYmVscyBkZSBqcXVlcnktdGFibGUuXG4gKiBBY2NlcHRlIHVuIGBQYXJ0aWFsPEpxdEkxOG4+YCDigJQgc2V1bGVzIGxlcyBjbMOpcyBmb3VybmllcyDDqWNyYXNlbnQgbGVzIGTDqWZhdXRzLlxuICovXG5leHBvcnQgY29uc3QgSlFUX0kxOE4gPSBuZXcgSW5qZWN0aW9uVG9rZW48UGFydGlhbDxKcXRJMThuPj4oJ0pRVF9JMThOJyk7XG4iXX0=
|
|
@@ -1,2 +1,14 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
1
|
+
/**
|
|
2
|
+
* Raccourci pour déclarer une colonne de base.
|
|
3
|
+
*
|
|
4
|
+
* ```ts
|
|
5
|
+
* columns: [
|
|
6
|
+
* col('name', 'Nom'),
|
|
7
|
+
* col('status', 'Statut', { sortable: false }),
|
|
8
|
+
* ]
|
|
9
|
+
* ```
|
|
10
|
+
*/
|
|
11
|
+
export function col(key, header, overrides) {
|
|
12
|
+
return { key, header, ...overrides };
|
|
13
|
+
}
|
|
14
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoianF1ZXJ5LXRhYmxlLm1vZGVsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvb25ldGVtZS9qcXVlcnktdGFibGUvc3JjL2xpYi9qcXVlcnktdGFibGUubW9kZWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBcUVBOzs7Ozs7Ozs7R0FTRztBQUNILE1BQU0sVUFBVSxHQUFHLENBQ2pCLEdBQVcsRUFDWCxNQUFjLEVBQ2QsU0FBMkM7SUFFM0MsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLEVBQUUsR0FBRyxTQUFTLEVBQUUsQ0FBQztBQUN2QyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGF0YVByb3ZpZGVyIH0gZnJvbSAnQG9uZXRlbWUvanF1ZXJ5LWNvcmUnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgU2xpY2VDb25maWcgfSBmcm9tICcuL2NvbXBvbmVudC9zbGljZS1wYW5lbC9zbGljZS1wYW5lbC5tb2RlbCc7XG5leHBvcnQgeyBTbGljZUNvbmZpZyB9IGZyb20gJy4vY29tcG9uZW50L3NsaWNlLXBhbmVsL3NsaWNlLXBhbmVsLm1vZGVsJztcblxuZXhwb3J0IGludGVyZmFjZSBUYWJsZUNvbHVtblByb3ZpZGVyPFQgPSBhbnk+IHtcbiAga2V5OiBzdHJpbmc7XG4gIC8qKiBMaWJlbGzDqSBhZmZpY2jDqSBkYW5zIGwnZW4tdMOqdGUgZGUgY29sb25uZS4gT3B0aW9ubmVsIHNpIGxhIGNvbG9ubmUgdXRpbGlzZSB1biB0ZW1wbGF0ZSBjdXN0b20uICovXG4gIGhlYWRlcj86IHN0cmluZztcbiAgaWNvbj86IHN0cmluZztcbiAgdmFsdWU/OiBEYXRhUHJvdmlkZXI8YW55PjtcbiAgLyoqIFZhbGV1ciB1dGlsaXPDqWUgcG91ciBsZSB0cmkgc2kgZGlmZsOpcmVudGUgZGUgYHZhbHVlYC4gVXRpbGUgcXVhbmQgYHZhbHVlYCByZXRvdXJuZSB1bmUgY2hhw65uZSBmb3JtYXTDqWUgKGRhdGUsIGR1csOpZS4uLikuICovXG4gIHNvcnRWYWx1ZT86IERhdGFQcm92aWRlcjxhbnk+O1xuICAvKipcbiAgICogVmFsZXVyIHV0aWxpc8OpZSBwb3VyIGxhIHJlY2hlcmNoZSBwbGVpbi10ZXh0ZS5cbiAgICogw4AgZMOpZmluaXIgcXVhbmQgbGEgY29sb25uZSB1dGlsaXNlIHVuIGBqcXQtY2VsbC1kZWZgIHRlbXBsYXRlIHBlcnNvbm5hbGlzw6kgZXQgcXUnYXVjdW4gYHZhbHVlYCBwcm92aWRlciBuJ2VzdCBkw6ljbGFyw6kuXG4gICAqIFNpIGFic2VudCwgbGEgcmVjaGVyY2hlIHV0aWxpc2UgYHZhbHVlYCBlbiBwcmlvcml0w6ksIHB1aXMgbGEgdmFsZXVyIGJydXRlIGRlIGxhIGxpZ25lLlxuICAgKiBFeGVtcGxlIDogYHNlYXJjaFZhbHVlOiAocm93KSA9PiBkdXJhdGlvblBpcGUudHJhbnNmb3JtKCh0b2RheSAtIHJvdy5zdGFydCkgLyAxMDAwKWBcbiAgICovXG4gIHNlYXJjaFZhbHVlPzogRGF0YVByb3ZpZGVyPHN0cmluZz47XG4gIHNvcnRhYmxlPzogYm9vbGVhbjtcbiAgcmVtb3ZhYmxlPzogYm9vbGVhbjtcbiAgb3B0aW9uYWw/OiBib29sZWFuO1xuICB3aWR0aD86IHN0cmluZztcbiAgZ3JvdXBhYmxlPzogYm9vbGVhbjtcbiAgc2xpY2VhYmxlPzogYm9vbGVhbjtcbiAgLyoqIENoYXJnZW1lbnQgZGlmZsOpcsOpIDogbGEgcHLDqXNlbmNlIGRlIGNldCBvYmpldCBhY3RpdmUgbGUgbW9kZSBsYXp5LiAqL1xuICBsYXp5Pzoge1xuICAgIC8qKiBGb25jdGlvbiBhcHBlbMOpZSBwb3VyIGNoYXJnZXIgbGVzIHZhbGV1cnMgZGUgbGEgY29sb25uZS4gUmV0b3VybmUgdW4gdGFibGVhdSBkYW5zIGxlIG3Dqm1lIG9yZHJlIHF1ZSBsZXMgbGlnbmVzLiAqL1xuICAgIGZldGNoRm46ICgpID0+IE9ic2VydmFibGU8YW55W10+O1xuICB9O1xufVxuXG4vKiogQ29uZmlndXJhdGlvbiBkZSBsYSBiYXJyZSBkZSByZWNoZXJjaGUuICovXG5leHBvcnQgaW50ZXJmYWNlIFRhYmxlU2VhcmNoQ29uZmlnIHtcbiAgZW5hYmxlZD86IGJvb2xlYW47XG4gIC8qKiBWYWxldXIgaW5pdGlhbGUgYXUgY2hhcmdlbWVudC4gKi9cbiAgaW5pdGlhbFF1ZXJ5Pzogc3RyaW5nO1xuICAvKiogUmVzdHJlaW50IGxhIHJlY2hlcmNoZSB0ZXh0ZSBhdXggY29sb25uZXMgZG9udCBsYSBga2V5YCBlc3QgZGFucyBjZSB0YWJsZWF1LiBTaSBhYnNlbnQsIHRvdXRlcyBsZXMgY29sb25uZXMgc29udCBjaGVyY2jDqWVzLiAqL1xuICBzZWFyY2hDb2x1bW5zPzogc3RyaW5nW107XG59XG5cbi8qKiBDb25maWd1cmF0aW9uIGRlIGxhIHBhZ2luYXRpb24uICovXG5leHBvcnQgaW50ZXJmYWNlIFRhYmxlUGFnaW5hdGlvbkNvbmZpZyB7XG4gIGVuYWJsZWQ/OiBib29sZWFuO1xuICBwYWdlU2l6ZT86IG51bWJlcjtcbiAgcGFnZVNpemVPcHRpb25zPzogbnVtYmVyW107XG4gIC8qKiBPcHRpb25zIGRlIHRhaWxsZSBkZSBwYWdlIHNww6ljaWZpcXVlcyBhdSBtb2RlIEdyb3VwIGJ5LiBTaSBhYnNlbnQsIHV0aWxpc2UgYHBhZ2VTaXplT3B0aW9uc2AuICovXG4gIHBhZ2VTaXplT3B0aW9uc0dyb3VwQnk/OiBudW1iZXJbXTtcbn1cblxuLyoqIENvbmZpZ3VyYXRpb24gZHUgbWVudSBWaWV3IChDaGFtcHMgLyBHcm91cCBieSAvIFNsaWNlIGJ5KS4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgVGFibGVWaWV3Q29uZmlnIHtcbiAgLyoqIEFjdGl2ZSBsZSBib3V0b24gVmlldy4gUGFyIGTDqWZhdXQgOiBgZmFsc2VgLiAqL1xuICBlbmFibGVkPzogYm9vbGVhbjtcbiAgLyoqIEF1dG9yaXNlIGxlIG1hc3F1YWdlL2FmZmljaGFnZSBkZXMgY29sb25uZXMgZGUgYmFzZSB2aWEgVmlldyA+IENoYW1wcy4gUGFyIGTDqWZhdXQgOiBgdHJ1ZWAuICovXG4gIGVuYWJsZUNvbHVtblJlbW92YWw/OiBib29sZWFuO1xuICAvKiogQWN0aXZlIGxlIGRyYWcgJiBkcm9wIHBvdXIgcsOpb3Jkb25uZXIgbGVzIGNvbG9ubmVzLiBQYXIgZMOpZmF1dCA6IGBmYWxzZWAuICovXG4gIGVuYWJsZUNvbHVtbkRyYWdEcm9wPzogYm9vbGVhbjtcbn1cblxuLyoqIExhYmVscyBkJ8OpdGF0IGR1IHRhYmxlYXUuICovXG5leHBvcnQgaW50ZXJmYWNlIFRhYmxlTGFiZWxzQ29uZmlnIHtcbiAgLyoqIEFmZmljaMOpIHF1YW5kIGxlIHRhYmxlYXUgZXN0IHZpZGUuIFBhciBkw6lmYXV0IDogYCdBdWN1bmUgZG9ubsOpZSdgLiAqL1xuICBlbXB0eT86IHN0cmluZztcbiAgLyoqIEFmZmljaMOpIHBlbmRhbnQgbGUgY2hhcmdlbWVudC4gUGFyIGTDqWZhdXQgOiBgJ0NoYXJnZW1lbnQgZGVzIGRvbm7DqWVzLi4uJ2AuICovXG4gIGxvYWRpbmc/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUmFjY291cmNpIHBvdXIgZMOpY2xhcmVyIHVuZSBjb2xvbm5lIGRlIGJhc2UuXG4gKlxuICogYGBgdHNcbiAqIGNvbHVtbnM6IFtcbiAqICAgY29sKCduYW1lJywgJ05vbScpLFxuICogICBjb2woJ3N0YXR1cycsICdTdGF0dXQnLCB7IHNvcnRhYmxlOiBmYWxzZSB9KSxcbiAqIF1cbiAqIGBgYFxuICovXG5leHBvcnQgZnVuY3Rpb24gY29sPFQgPSBhbnk+KFxuICBrZXk6IHN0cmluZyxcbiAgaGVhZGVyOiBzdHJpbmcsXG4gIG92ZXJyaWRlcz86IFBhcnRpYWw8VGFibGVDb2x1bW5Qcm92aWRlcjxUPj4sXG4pOiBUYWJsZUNvbHVtblByb3ZpZGVyPFQ+IHtcbiAgcmV0dXJuIHsga2V5LCBoZWFkZXIsIC4uLm92ZXJyaWRlcyB9O1xufVxuXG4vKiogQ29uZmlndXJhdGlvbiBkZSBs4oCZZXhwb3J0IENTViBkw6ljbGVuY2jDqSBkZXB1aXMgbGEgdG9vbGJhci4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgVGFibGVFeHBvcnRDb25maWc8VCA9IGFueT4ge1xuICAvKiogQWZmaWNoZSBsZSBib3V0b24gRXhwb3J0IGRhbnMgbGEgdG9vbGJhci4gUGFyIGTDqWZhdXTCoDogYGZhbHNlYC4gKi9cbiAgZW5hYmxlZD86IGJvb2xlYW47XG4gIC8qKiBOb20gZHUgZmljaGllciBnw6luw6lyw6kuIFBhciBkw6lmYXV0wqA6IGAnZXhwb3J0LmNzdidgLiAqL1xuICBmaWxlbmFtZT86IHN0cmluZztcbiAgLyoqXG4gICAqIFRyYW5zZm9ybWUgY2hhcXVlIGxpZ25lIGF2YW50IGV4cG9ydC5cbiAgICogU2kgYWJzZW50LCBsZXMgdmFsZXVycyBhZmZpY2jDqWVzIChhcHLDqHMgYG5vcm1hbGl6ZUNlbGxWYWx1ZWApIHNvbnQgdXRpbGlzw6llcy5cbiAgICogU2V1bGVzIGxlcyBjb2xvbm5lcyB2aXNpYmxlcyBzb250IGV4cG9ydMOpZXMuXG4gICAqL1xuICB0cmFuc2Zvcm0/OiAocm93OiBUKSA9PiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+O1xufVxuLyoqXG4gKiBDb25maWd1cmF0aW9uIGRlIGxhIGZvbmN0aW9ubmFsaXTDqSBQcsOpZsOpcmVuY2VzLlxuICpcbiAqIEFqb3V0ZSB1biBtZW51IFwiUHLDqWbDqXJlbmNlc1wiIGRhbnMgVmlldyBxdWkgcGVybWV0IDpcbiAqIC0gTGUgKiptb2RlIMOpZGl0aW9uKiogKHJlZGltZW5zaW9ubmVyIC8gcsOpb3Jkb25uZXIgbGVzIGNvbG9ubmVzIMOgIGxhIHNvdXJpcylcbiAqIC0gTCcqKmVucmVnaXN0cmVtZW50KiogZGUgbGEgY29uZmlndXJhdGlvbiBjb3VyYW50ZSBkYW5zIGxlIGxvY2FsU3RvcmFnZVxuICogLSBMJyoqZWZmYWNlbWVudCoqIGRlIGxhIGNvbmZpZ3VyYXRpb24gc2F1dmVnYXJkw6llXG4gKlxuICogQ2hhcXVlIHRhYmxlYXUgZXN0IGlkZW50aWZpw6kgcGFyIGB0YWJsZUlkYCAoY2zDqSBsb2NhbFN0b3JhZ2UgdW5pcXVlKS5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBUYWJsZVByZWZlcmVuY2VzQ29uZmlnIHtcbiAgLyoqIEFjdGl2ZSBsYSBmb25jdGlvbm5hbGl0w6kuIFBhciBkw6lmYXV0IDogYGZhbHNlYC4gKi9cbiAgZW5hYmxlZD86IGJvb2xlYW47XG4gIC8qKlxuICAgKiBJZGVudGlmaWFudCB1bmlxdWUgZHUgdGFibGVhdSwgdXRpbGlzw6kgY29tbWUgY2zDqSBsb2NhbFN0b3JhZ2UuXG4gICAqIERvaXQgw6p0cmUgc3RhYmxlIGVudHJlIGxlcyByZWNoYXJnZW1lbnRzIGRlIHBhZ2UuXG4gICAqIEV4ZW1wbGUgOiBgJ3VzZXItdGFibGUnYCwgYCdpbnZvaWNlLWxpc3QnYC5cbiAgICovXG4gIHRhYmxlSWQ6IHN0cmluZztcbn1cblxuLyoqIFNuYXBzaG90IGRlIGNvbmZpZ3VyYXRpb24gcGVyc2lzdMOpIGRhbnMgbGUgbG9jYWxTdG9yYWdlLiAqL1xuZXhwb3J0IGludGVyZmFjZSBTYXZlZFRhYmxlQ29uZmlnIHtcbiAgLyoqIFZhbGV1ciBkZSBsYSBzZWFyY2hiYXIuICovXG4gIHNlYXJjaD86IHN0cmluZztcbiAgLyoqIENsw6kgZGUgbGEgY29sb25uZSB1dGlsaXPDqWUgcG91ciBsZSBncm91cCBieS4gYG51bGxgID0gYXVjdW4uICovXG4gIGdyb3VwQnk/OiBzdHJpbmcgfCBudWxsO1xuICAvKiogT3JkcmUgZGVzIGNsw6lzIGRlIGNvbG9ubmVzIChwb3NpdGlvbikuICovXG4gIGNvbHVtbk9yZGVyPzogc3RyaW5nW107XG4gIC8qKiBDbMOpcyBkZXMgY29sb25uZXMgdmlzaWJsZXMuICovXG4gIHZpc2libGVDb2x1bW5zPzogc3RyaW5nW107XG4gIC8qKiBMYXJnZXVycyBkZSBjb2xvbm5lcyBlbiBwaXhlbHMsIGluZGV4w6llcyBwYXIgY2zDqS4gKi9cbiAgY29sdW1uV2lkdGhzPzogUmVjb3JkPHN0cmluZywgbnVtYmVyPjtcbiAgLyoqIFBhbm5lYXUgc2xpY2UgcmVwbGnDqSBvdSBub24uICovXG4gIHNsaWNlUGFuZWxDb2xsYXBzZWQ/OiBib29sZWFuO1xuICAvKiogQ2zDqXMgZGVzIHNsaWNlcyBzdGF0aXF1ZXMgY2FjaMOpZXMgcGFyIGwndXRpbGlzYXRldXIgKHZpYSB0b2dnbGUgZGFucyBsZSBtZW51IFZpZXcpLiAqL1xuICBoaWRkZW5TbGljZUtleXM/OiBzdHJpbmdbXTtcbiAgLyoqIENsw6lzIGRlcyBjb2xvbm5lcyB1dGlsaXPDqWVzIGNvbW1lIHNsaWNlcyBkeW5hbWlxdWVzLiAqL1xuICBkeW5hbWljU2xpY2VLZXlzPzogc3RyaW5nW107XG4gIC8qKiBGaWx0cmVzIGFjdGlmcyBkdSBzbGljZSBwYW5lbCA6IG1hcCBzbGljZUluZGV4IOKGkiB0YWJsZWF1IGRlIGNsw6lzIGFjdGl2ZXMuICovXG4gIHNsaWNlRmlsdGVycz86IFJlY29yZDxudW1iZXIsIHN0cmluZ1tdPjtcbn1cbmV4cG9ydCBpbnRlcmZhY2UgVGFibGVQcm92aWRlcjxUID0gYW55PiB7XG4gIGNvbHVtbnM/OiBUYWJsZUNvbHVtblByb3ZpZGVyPFQ+W107XG4gIHRpdGxlPzogc3RyaW5nO1xuICBzbGljZXM/OiBTbGljZUNvbmZpZzxUPltdO1xuICAvKiogQWZmaWNoZSBsZSBib3V0b24gdG9nZ2xlIHBvdXIgcmVwbGllci9kw6lwbGllciBsZSBwYW5uZWF1IGRlIHNsaWNlcy4gUGFyIGTDqWZhdXQgOiBgdHJ1ZWAuICovXG4gIGVuYWJsZVNsaWNlVG9nZ2xlPzogYm9vbGVhbjtcbiAgc2VhcmNoPzogVGFibGVTZWFyY2hDb25maWc7XG4gIHBhZ2luYXRpb24/OiBUYWJsZVBhZ2luYXRpb25Db25maWc7XG4gIHZpZXc/OiBUYWJsZVZpZXdDb25maWc7XG4gIGxhYmVscz86IFRhYmxlTGFiZWxzQ29uZmlnO1xuICAvKiogVHJpIGluaXRpYWwgYXBwbGlxdcOpIGF1IGNoYXJnZW1lbnQuIE4nZXN0IHBhcyDDqWNyYXPDqSBwYXIgbGVzIGNoYW5nZW1lbnRzIGRlIGRvbm7DqWVzLiAqL1xuICBkZWZhdWx0U29ydD86IHsgYWN0aXZlOiBzdHJpbmc7IGRpcmVjdGlvbjogJ2FzYycgfCAnZGVzYycgfTtcbiAgcm93Q2xhc3M/OiAocm93OiBULCBpbmRleDogbnVtYmVyKSA9PiBzdHJpbmcgfCBzdHJpbmdbXSB8IFJlY29yZDxzdHJpbmcsIGJvb2xlYW4+O1xuICAvKiogQ2FsbGJhY2sgZMOpY2xlbmNow6kgcXVhbmQgbCd1dGlsaXNhdGV1ciBjbGlxdWUgc3VyIHVuZSBsaWduZS4gQWx0ZXJuYXRpdmUgYXUgYChyb3dTZWxlY3RlZClgIE91dHB1dC4gKi9cbiAgb25Sb3dTZWxlY3RlZD86IChyb3c6IFQsIGV2ZW50OiBNb3VzZUV2ZW50IHwgbnVsbCkgPT4gdm9pZDtcbiAgLyoqIENvbmZpZ3VyYXRpb24gZGUgbCdleHBvcnQgQ1NWLiAqL1xuICBleHBvcnQ/OiBUYWJsZUV4cG9ydENvbmZpZzxUPjtcbiAgLyoqIENvbmZpZ3VyYXRpb24gZGUgbGEgZm9uY3Rpb25uYWxpdMOpIFByw6lmw6lyZW5jZXMgKMOpZGl0aW9uICsgcGVyc2lzdGFuY2UgbG9jYWxTdG9yYWdlKS4gKi9cbiAgcHJlZmVyZW5jZXM/OiBUYWJsZVByZWZlcmVuY2VzQ29uZmlnO1xufVxuXG5cbiJdfQ==
|
package/esm2022/public-api.mjs
CHANGED
|
@@ -2,8 +2,9 @@
|
|
|
2
2
|
* Public API Surface of jquery-table
|
|
3
3
|
*/
|
|
4
4
|
export * from './lib/jquery-table.model';
|
|
5
|
+
export * from './lib/jqt-i18n.token';
|
|
5
6
|
export * from './lib/component/table.component';
|
|
6
7
|
export * from './lib/component/slice-panel/slice-panel.model';
|
|
7
8
|
export * from './lib/component/slice-panel/slice-panel.component';
|
|
8
9
|
export * from './lib/directive/jqt-cell-def.directive';
|
|
9
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
10
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL29uZXRlbWUvanF1ZXJ5LXRhYmxlL3NyYy9wdWJsaWMtYXBpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBRUgsY0FBYywwQkFBMEIsQ0FBQztBQUN6QyxjQUFjLHNCQUFzQixDQUFDO0FBQ3JDLGNBQWMsaUNBQWlDLENBQUM7QUFDaEQsY0FBYywrQ0FBK0MsQ0FBQztBQUM5RCxjQUFjLG1EQUFtRCxDQUFDO0FBQ2xFLGNBQWMsd0NBQXdDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogUHVibGljIEFQSSBTdXJmYWNlIG9mIGpxdWVyeS10YWJsZVxuICovXG5cbmV4cG9ydCAqIGZyb20gJy4vbGliL2pxdWVyeS10YWJsZS5tb2RlbCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9qcXQtaTE4bi50b2tlbic7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnQvdGFibGUuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudC9zbGljZS1wYW5lbC9zbGljZS1wYW5lbC5tb2RlbCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnQvc2xpY2UtcGFuZWwvc2xpY2UtcGFuZWwuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2RpcmVjdGl2ZS9qcXQtY2VsbC1kZWYuZGlyZWN0aXZlJztcbiJdfQ==
|