@projectcor/people-microfront 1.0.9-0 → 1.0.9-1

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.
@@ -0,0 +1,147 @@
1
+ import _typeof from "@babel/runtime/helpers/typeof";
2
+ import _toConsumableArray from "@babel/runtime/helpers/toConsumableArray";
3
+ import _defineProperty from "@babel/runtime/helpers/defineProperty";
4
+ function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
5
+ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
6
+ import { loadTeamsWorkspaceIds, loadUsersFilters } from './peopleFiltersStorage';
7
+ var URL_KEY_TAB = 'tab';
8
+ var URL_KEY_Q = 'q';
9
+ var URL_KEY_TEAM = 'team';
10
+ var URL_KEY_POSITION = 'position';
11
+ var URL_KEY_WORKSPACE = 'workspace';
12
+ var PEOPLE_FILTER_KEYS = [URL_KEY_Q, URL_KEY_TEAM, URL_KEY_POSITION, URL_KEY_WORKSPACE];
13
+ export function parseCsvIds(raw) {
14
+ if (raw == null || raw.trim() === '') return [];
15
+ return raw.split(',').map(function (s) {
16
+ return Number(String(s).trim());
17
+ }).filter(function (n) {
18
+ return Number.isFinite(n);
19
+ });
20
+ }
21
+ function getTabFromSearchString(search) {
22
+ var params = new URLSearchParams(search.startsWith('?') ? search : "?".concat(search));
23
+ return params.get(URL_KEY_TAB);
24
+ }
25
+
26
+ /** Solo pestaña Usuarios (o sin `tab`, compatibilidad con links viejos) aplica filtros de usuarios en la URL. */
27
+ function isUsersTabForUrlMerge(search) {
28
+ var t = getTabFromSearchString(search);
29
+ return t === null || t === '' || t === 'users';
30
+ }
31
+
32
+ /** Solo con `tab=teams` se interpreta `workspace` como filtro de equipos. */
33
+ function isTeamsTabForUrlMerge(search) {
34
+ return getTabFromSearchString(search) === 'teams';
35
+ }
36
+ var emptyUsersFilters = function emptyUsersFilters() {
37
+ return {
38
+ searchInput: '',
39
+ selectedTeams: [],
40
+ selectedPositions: [],
41
+ selectedWorkspaces: []
42
+ };
43
+ };
44
+ function stripPeopleFilterKeys(p) {
45
+ PEOPLE_FILTER_KEYS.forEach(function (k) {
46
+ return p["delete"](k);
47
+ });
48
+ }
49
+ function applyUserFiltersToSearchParams(p, filters) {
50
+ var _filters$searchInput;
51
+ var q = ((_filters$searchInput = filters.searchInput) !== null && _filters$searchInput !== void 0 ? _filters$searchInput : '').trim();
52
+ if (q) p.set(URL_KEY_Q, q);else p["delete"](URL_KEY_Q);
53
+ if (filters.selectedTeams.length) p.set(URL_KEY_TEAM, filters.selectedTeams.join(','));else p["delete"](URL_KEY_TEAM);
54
+ if (filters.selectedPositions.length) p.set(URL_KEY_POSITION, filters.selectedPositions.join(','));else p["delete"](URL_KEY_POSITION);
55
+ if (filters.selectedWorkspaces.length) p.set(URL_KEY_WORKSPACE, filters.selectedWorkspaces.join(','));else p["delete"](URL_KEY_WORKSPACE);
56
+ }
57
+
58
+ /**
59
+ * Combina localStorage con query params solo si la URL está en contexto `tab=users` (o sin tab).
60
+ */
61
+ export function mergeUsersFiltersFromUrl(storage, search) {
62
+ var _storage$searchInput, _storage$selectedTeam, _storage$selectedPosi, _storage$selectedWork;
63
+ var params = new URLSearchParams(search.startsWith('?') ? search : "?".concat(search));
64
+ var base = _objectSpread(_objectSpread(_objectSpread({}, emptyUsersFilters()), storage), {}, {
65
+ searchInput: (_storage$searchInput = storage === null || storage === void 0 ? void 0 : storage.searchInput) !== null && _storage$searchInput !== void 0 ? _storage$searchInput : '',
66
+ selectedTeams: _toConsumableArray((_storage$selectedTeam = storage === null || storage === void 0 ? void 0 : storage.selectedTeams) !== null && _storage$selectedTeam !== void 0 ? _storage$selectedTeam : []),
67
+ selectedPositions: _toConsumableArray((_storage$selectedPosi = storage === null || storage === void 0 ? void 0 : storage.selectedPositions) !== null && _storage$selectedPosi !== void 0 ? _storage$selectedPosi : []),
68
+ selectedWorkspaces: _toConsumableArray((_storage$selectedWork = storage === null || storage === void 0 ? void 0 : storage.selectedWorkspaces) !== null && _storage$selectedWork !== void 0 ? _storage$selectedWork : [])
69
+ }, storage !== null && storage !== void 0 && storage.chipLabels && _typeof(storage.chipLabels) === 'object' ? {
70
+ chipLabels: _objectSpread({}, storage.chipLabels)
71
+ } : {});
72
+ if (!isUsersTabForUrlMerge(search)) {
73
+ return base;
74
+ }
75
+ if (params.has(URL_KEY_Q)) {
76
+ var _params$get;
77
+ base.searchInput = (_params$get = params.get(URL_KEY_Q)) !== null && _params$get !== void 0 ? _params$get : '';
78
+ }
79
+ if (params.has(URL_KEY_TEAM)) {
80
+ base.selectedTeams = parseCsvIds(params.get(URL_KEY_TEAM));
81
+ }
82
+ if (params.has(URL_KEY_POSITION)) {
83
+ base.selectedPositions = parseCsvIds(params.get(URL_KEY_POSITION));
84
+ }
85
+ if (params.has(URL_KEY_WORKSPACE)) {
86
+ base.selectedWorkspaces = parseCsvIds(params.get(URL_KEY_WORKSPACE));
87
+ }
88
+ return base;
89
+ }
90
+ export function getEffectiveUsersFilters() {
91
+ var search = typeof window !== 'undefined' ? window.location.search : '';
92
+ return mergeUsersFiltersFromUrl(loadUsersFilters(), search);
93
+ }
94
+ export function mergeTeamsWorkspaceIdsFromUrl(search, storageIds) {
95
+ if (!isTeamsTabForUrlMerge(search)) {
96
+ return _toConsumableArray(storageIds);
97
+ }
98
+ var params = new URLSearchParams(search.startsWith('?') ? search : "?".concat(search));
99
+ if (params.has(URL_KEY_WORKSPACE)) {
100
+ return parseCsvIds(params.get(URL_KEY_WORKSPACE));
101
+ }
102
+ return _toConsumableArray(storageIds);
103
+ }
104
+ export function getEffectiveTeamsWorkspaceIds() {
105
+ var search = typeof window !== 'undefined' ? window.location.search : '';
106
+ return mergeTeamsWorkspaceIdsFromUrl(search, loadTeamsWorkspaceIds());
107
+ }
108
+ export function mergePeopleUrlParams(apply) {
109
+ if (typeof window === 'undefined') return;
110
+ var params = new URLSearchParams(window.location.search);
111
+ apply(params);
112
+ var search = params.toString();
113
+ var url = "".concat(window.location.pathname).concat(search ? "?".concat(search) : '').concat(window.location.hash || '');
114
+ window.history.replaceState(null, '', url);
115
+ }
116
+ export function writeUsersFiltersToUrl(filters) {
117
+ mergePeopleUrlParams(function (p) {
118
+ p.set(URL_KEY_TAB, 'users');
119
+ applyUserFiltersToSearchParams(p, filters);
120
+ });
121
+ }
122
+ export function setWorkspaceIdsInUrl(workspaceIds) {
123
+ mergePeopleUrlParams(function (p) {
124
+ p.set(URL_KEY_TAB, 'teams');
125
+ stripPeopleFilterKeys(p);
126
+ if (workspaceIds.length) p.set(URL_KEY_WORKSPACE, workspaceIds.join(','));else p["delete"](URL_KEY_WORKSPACE);
127
+ });
128
+ }
129
+
130
+ /**
131
+ * Al cambiar de pestaña: deja en la URL solo los params de esa vista, leyendo estado desde localStorage
132
+ * (`cor-people:users-filters` / `cor-people:teams-workspace-filters`). Preserva otros query params del host.
133
+ */
134
+ export function syncUrlToActiveTab(tab) {
135
+ mergePeopleUrlParams(function (p) {
136
+ stripPeopleFilterKeys(p);
137
+ p.set(URL_KEY_TAB, tab);
138
+ if (tab === 'users') {
139
+ var u = loadUsersFilters();
140
+ applyUserFiltersToSearchParams(p, u !== null && u !== void 0 ? u : emptyUsersFilters());
141
+ } else if (tab === 'teams') {
142
+ var ws = loadTeamsWorkspaceIds();
143
+ if (ws.length) p.set(URL_KEY_WORKSPACE, ws.join(','));
144
+ }
145
+ });
146
+ }
147
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJsb2FkVGVhbXNXb3Jrc3BhY2VJZHMiLCJsb2FkVXNlcnNGaWx0ZXJzIiwiVVJMX0tFWV9UQUIiLCJVUkxfS0VZX1EiLCJVUkxfS0VZX1RFQU0iLCJVUkxfS0VZX1BPU0lUSU9OIiwiVVJMX0tFWV9XT1JLU1BBQ0UiLCJQRU9QTEVfRklMVEVSX0tFWVMiLCJwYXJzZUNzdklkcyIsInJhdyIsInRyaW0iLCJzcGxpdCIsIm1hcCIsInMiLCJOdW1iZXIiLCJTdHJpbmciLCJmaWx0ZXIiLCJuIiwiaXNGaW5pdGUiLCJnZXRUYWJGcm9tU2VhcmNoU3RyaW5nIiwic2VhcmNoIiwicGFyYW1zIiwiVVJMU2VhcmNoUGFyYW1zIiwic3RhcnRzV2l0aCIsImNvbmNhdCIsImdldCIsImlzVXNlcnNUYWJGb3JVcmxNZXJnZSIsInQiLCJpc1RlYW1zVGFiRm9yVXJsTWVyZ2UiLCJlbXB0eVVzZXJzRmlsdGVycyIsInNlYXJjaElucHV0Iiwic2VsZWN0ZWRUZWFtcyIsInNlbGVjdGVkUG9zaXRpb25zIiwic2VsZWN0ZWRXb3Jrc3BhY2VzIiwic3RyaXBQZW9wbGVGaWx0ZXJLZXlzIiwicCIsImZvckVhY2giLCJrIiwiYXBwbHlVc2VyRmlsdGVyc1RvU2VhcmNoUGFyYW1zIiwiZmlsdGVycyIsIl9maWx0ZXJzJHNlYXJjaElucHV0IiwicSIsInNldCIsImxlbmd0aCIsImpvaW4iLCJtZXJnZVVzZXJzRmlsdGVyc0Zyb21VcmwiLCJzdG9yYWdlIiwiX3N0b3JhZ2Ukc2VhcmNoSW5wdXQiLCJfc3RvcmFnZSRzZWxlY3RlZFRlYW0iLCJfc3RvcmFnZSRzZWxlY3RlZFBvc2kiLCJfc3RvcmFnZSRzZWxlY3RlZFdvcmsiLCJiYXNlIiwiX29iamVjdFNwcmVhZCIsIl90b0NvbnN1bWFibGVBcnJheSIsImNoaXBMYWJlbHMiLCJfdHlwZW9mIiwiaGFzIiwiX3BhcmFtcyRnZXQiLCJnZXRFZmZlY3RpdmVVc2Vyc0ZpbHRlcnMiLCJ3aW5kb3ciLCJsb2NhdGlvbiIsIm1lcmdlVGVhbXNXb3Jrc3BhY2VJZHNGcm9tVXJsIiwic3RvcmFnZUlkcyIsImdldEVmZmVjdGl2ZVRlYW1zV29ya3NwYWNlSWRzIiwibWVyZ2VQZW9wbGVVcmxQYXJhbXMiLCJhcHBseSIsInRvU3RyaW5nIiwidXJsIiwicGF0aG5hbWUiLCJoYXNoIiwiaGlzdG9yeSIsInJlcGxhY2VTdGF0ZSIsIndyaXRlVXNlcnNGaWx0ZXJzVG9VcmwiLCJzZXRXb3Jrc3BhY2VJZHNJblVybCIsIndvcmtzcGFjZUlkcyIsInN5bmNVcmxUb0FjdGl2ZVRhYiIsInRhYiIsInUiLCJ3cyJdLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlscy9wZW9wbGVGaWx0ZXJzVXJsLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgVmlld1R5cGUgfSBmcm9tICcuLi90eXBlcy91c2VyVHlwZSdcbmltcG9ydCB0eXBlIHsgU3RvcmVkVXNlcnNGaWx0ZXJzIH0gZnJvbSAnLi9wZW9wbGVGaWx0ZXJzU3RvcmFnZSdcbmltcG9ydCB7IGxvYWRUZWFtc1dvcmtzcGFjZUlkcywgbG9hZFVzZXJzRmlsdGVycyB9IGZyb20gJy4vcGVvcGxlRmlsdGVyc1N0b3JhZ2UnXG5cbmNvbnN0IFVSTF9LRVlfVEFCID0gJ3RhYidcbmNvbnN0IFVSTF9LRVlfUSA9ICdxJ1xuY29uc3QgVVJMX0tFWV9URUFNID0gJ3RlYW0nXG5jb25zdCBVUkxfS0VZX1BPU0lUSU9OID0gJ3Bvc2l0aW9uJ1xuY29uc3QgVVJMX0tFWV9XT1JLU1BBQ0UgPSAnd29ya3NwYWNlJ1xuXG5jb25zdCBQRU9QTEVfRklMVEVSX0tFWVMgPSBbVVJMX0tFWV9RLCBVUkxfS0VZX1RFQU0sIFVSTF9LRVlfUE9TSVRJT04sIFVSTF9LRVlfV09SS1NQQUNFXSBhcyBjb25zdFxuXG5leHBvcnQgZnVuY3Rpb24gcGFyc2VDc3ZJZHMocmF3OiBzdHJpbmcgfCBudWxsKTogbnVtYmVyW10ge1xuICBpZiAocmF3ID09IG51bGwgfHwgcmF3LnRyaW0oKSA9PT0gJycpIHJldHVybiBbXVxuICByZXR1cm4gcmF3XG4gICAgLnNwbGl0KCcsJylcbiAgICAubWFwKHMgPT4gTnVtYmVyKFN0cmluZyhzKS50cmltKCkpKVxuICAgIC5maWx0ZXIobiA9PiBOdW1iZXIuaXNGaW5pdGUobikpXG59XG5cbmZ1bmN0aW9uIGdldFRhYkZyb21TZWFyY2hTdHJpbmcoc2VhcmNoOiBzdHJpbmcpOiBzdHJpbmcgfCBudWxsIHtcbiAgY29uc3QgcGFyYW1zID0gbmV3IFVSTFNlYXJjaFBhcmFtcyhzZWFyY2guc3RhcnRzV2l0aCgnPycpID8gc2VhcmNoIDogYD8ke3NlYXJjaH1gKVxuICByZXR1cm4gcGFyYW1zLmdldChVUkxfS0VZX1RBQilcbn1cblxuLyoqIFNvbG8gcGVzdGHDsWEgVXN1YXJpb3MgKG8gc2luIGB0YWJgLCBjb21wYXRpYmlsaWRhZCBjb24gbGlua3Mgdmllam9zKSBhcGxpY2EgZmlsdHJvcyBkZSB1c3VhcmlvcyBlbiBsYSBVUkwuICovXG5mdW5jdGlvbiBpc1VzZXJzVGFiRm9yVXJsTWVyZ2Uoc2VhcmNoOiBzdHJpbmcpOiBib29sZWFuIHtcbiAgY29uc3QgdCA9IGdldFRhYkZyb21TZWFyY2hTdHJpbmcoc2VhcmNoKVxuICByZXR1cm4gdCA9PT0gbnVsbCB8fCB0ID09PSAnJyB8fCB0ID09PSAndXNlcnMnXG59XG5cbi8qKiBTb2xvIGNvbiBgdGFiPXRlYW1zYCBzZSBpbnRlcnByZXRhIGB3b3Jrc3BhY2VgIGNvbW8gZmlsdHJvIGRlIGVxdWlwb3MuICovXG5mdW5jdGlvbiBpc1RlYW1zVGFiRm9yVXJsTWVyZ2Uoc2VhcmNoOiBzdHJpbmcpOiBib29sZWFuIHtcbiAgcmV0dXJuIGdldFRhYkZyb21TZWFyY2hTdHJpbmcoc2VhcmNoKSA9PT0gJ3RlYW1zJ1xufVxuXG5jb25zdCBlbXB0eVVzZXJzRmlsdGVycyA9ICgpOiBTdG9yZWRVc2Vyc0ZpbHRlcnMgPT4gKHtcbiAgc2VhcmNoSW5wdXQ6ICcnLFxuICBzZWxlY3RlZFRlYW1zOiBbXSxcbiAgc2VsZWN0ZWRQb3NpdGlvbnM6IFtdLFxuICBzZWxlY3RlZFdvcmtzcGFjZXM6IFtdLFxufSlcblxuZnVuY3Rpb24gc3RyaXBQZW9wbGVGaWx0ZXJLZXlzKHA6IFVSTFNlYXJjaFBhcmFtcyk6IHZvaWQge1xuICBQRU9QTEVfRklMVEVSX0tFWVMuZm9yRWFjaChrID0+IHAuZGVsZXRlKGspKVxufVxuXG5mdW5jdGlvbiBhcHBseVVzZXJGaWx0ZXJzVG9TZWFyY2hQYXJhbXMoXG4gIHA6IFVSTFNlYXJjaFBhcmFtcyxcbiAgZmlsdGVyczogUGljazxTdG9yZWRVc2Vyc0ZpbHRlcnMsICdzZWFyY2hJbnB1dCcgfCAnc2VsZWN0ZWRUZWFtcycgfCAnc2VsZWN0ZWRQb3NpdGlvbnMnIHwgJ3NlbGVjdGVkV29ya3NwYWNlcyc+XG4pOiB2b2lkIHtcbiAgY29uc3QgcSA9IChmaWx0ZXJzLnNlYXJjaElucHV0ID8/ICcnKS50cmltKClcbiAgaWYgKHEpIHAuc2V0KFVSTF9LRVlfUSwgcSlcbiAgZWxzZSBwLmRlbGV0ZShVUkxfS0VZX1EpXG5cbiAgaWYgKGZpbHRlcnMuc2VsZWN0ZWRUZWFtcy5sZW5ndGgpIHAuc2V0KFVSTF9LRVlfVEVBTSwgZmlsdGVycy5zZWxlY3RlZFRlYW1zLmpvaW4oJywnKSlcbiAgZWxzZSBwLmRlbGV0ZShVUkxfS0VZX1RFQU0pXG5cbiAgaWYgKGZpbHRlcnMuc2VsZWN0ZWRQb3NpdGlvbnMubGVuZ3RoKSBwLnNldChVUkxfS0VZX1BPU0lUSU9OLCBmaWx0ZXJzLnNlbGVjdGVkUG9zaXRpb25zLmpvaW4oJywnKSlcbiAgZWxzZSBwLmRlbGV0ZShVUkxfS0VZX1BPU0lUSU9OKVxuXG4gIGlmIChmaWx0ZXJzLnNlbGVjdGVkV29ya3NwYWNlcy5sZW5ndGgpIHAuc2V0KFVSTF9LRVlfV09SS1NQQUNFLCBmaWx0ZXJzLnNlbGVjdGVkV29ya3NwYWNlcy5qb2luKCcsJykpXG4gIGVsc2UgcC5kZWxldGUoVVJMX0tFWV9XT1JLU1BBQ0UpXG59XG5cbi8qKlxuICogQ29tYmluYSBsb2NhbFN0b3JhZ2UgY29uIHF1ZXJ5IHBhcmFtcyBzb2xvIHNpIGxhIFVSTCBlc3TDoSBlbiBjb250ZXh0byBgdGFiPXVzZXJzYCAobyBzaW4gdGFiKS5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIG1lcmdlVXNlcnNGaWx0ZXJzRnJvbVVybChzdG9yYWdlOiBTdG9yZWRVc2Vyc0ZpbHRlcnMgfCBudWxsLCBzZWFyY2g6IHN0cmluZyk6IFN0b3JlZFVzZXJzRmlsdGVycyB7XG4gIGNvbnN0IHBhcmFtcyA9IG5ldyBVUkxTZWFyY2hQYXJhbXMoc2VhcmNoLnN0YXJ0c1dpdGgoJz8nKSA/IHNlYXJjaCA6IGA/JHtzZWFyY2h9YClcbiAgY29uc3QgYmFzZTogU3RvcmVkVXNlcnNGaWx0ZXJzID0ge1xuICAgIC4uLmVtcHR5VXNlcnNGaWx0ZXJzKCksXG4gICAgLi4uc3RvcmFnZSxcbiAgICBzZWFyY2hJbnB1dDogc3RvcmFnZT8uc2VhcmNoSW5wdXQgPz8gJycsXG4gICAgc2VsZWN0ZWRUZWFtczogWy4uLihzdG9yYWdlPy5zZWxlY3RlZFRlYW1zID8/IFtdKV0sXG4gICAgc2VsZWN0ZWRQb3NpdGlvbnM6IFsuLi4oc3RvcmFnZT8uc2VsZWN0ZWRQb3NpdGlvbnMgPz8gW10pXSxcbiAgICBzZWxlY3RlZFdvcmtzcGFjZXM6IFsuLi4oc3RvcmFnZT8uc2VsZWN0ZWRXb3Jrc3BhY2VzID8/IFtdKV0sXG4gICAgLi4uKHN0b3JhZ2U/LmNoaXBMYWJlbHMgJiYgdHlwZW9mIHN0b3JhZ2UuY2hpcExhYmVscyA9PT0gJ29iamVjdCcgPyB7IGNoaXBMYWJlbHM6IHsgLi4uc3RvcmFnZS5jaGlwTGFiZWxzIH0gfSA6IHt9KSxcbiAgfVxuXG4gIGlmICghaXNVc2Vyc1RhYkZvclVybE1lcmdlKHNlYXJjaCkpIHtcbiAgICByZXR1cm4gYmFzZVxuICB9XG5cbiAgaWYgKHBhcmFtcy5oYXMoVVJMX0tFWV9RKSkge1xuICAgIGJhc2Uuc2VhcmNoSW5wdXQgPSBwYXJhbXMuZ2V0KFVSTF9LRVlfUSkgPz8gJydcbiAgfVxuICBpZiAocGFyYW1zLmhhcyhVUkxfS0VZX1RFQU0pKSB7XG4gICAgYmFzZS5zZWxlY3RlZFRlYW1zID0gcGFyc2VDc3ZJZHMocGFyYW1zLmdldChVUkxfS0VZX1RFQU0pKVxuICB9XG4gIGlmIChwYXJhbXMuaGFzKFVSTF9LRVlfUE9TSVRJT04pKSB7XG4gICAgYmFzZS5zZWxlY3RlZFBvc2l0aW9ucyA9IHBhcnNlQ3N2SWRzKHBhcmFtcy5nZXQoVVJMX0tFWV9QT1NJVElPTikpXG4gIH1cbiAgaWYgKHBhcmFtcy5oYXMoVVJMX0tFWV9XT1JLU1BBQ0UpKSB7XG4gICAgYmFzZS5zZWxlY3RlZFdvcmtzcGFjZXMgPSBwYXJzZUNzdklkcyhwYXJhbXMuZ2V0KFVSTF9LRVlfV09SS1NQQUNFKSlcbiAgfVxuXG4gIHJldHVybiBiYXNlXG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRFZmZlY3RpdmVVc2Vyc0ZpbHRlcnMoKTogU3RvcmVkVXNlcnNGaWx0ZXJzIHtcbiAgY29uc3Qgc2VhcmNoID0gdHlwZW9mIHdpbmRvdyAhPT0gJ3VuZGVmaW5lZCcgPyB3aW5kb3cubG9jYXRpb24uc2VhcmNoIDogJydcbiAgcmV0dXJuIG1lcmdlVXNlcnNGaWx0ZXJzRnJvbVVybChsb2FkVXNlcnNGaWx0ZXJzKCksIHNlYXJjaClcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIG1lcmdlVGVhbXNXb3Jrc3BhY2VJZHNGcm9tVXJsKHNlYXJjaDogc3RyaW5nLCBzdG9yYWdlSWRzOiBudW1iZXJbXSk6IG51bWJlcltdIHtcbiAgaWYgKCFpc1RlYW1zVGFiRm9yVXJsTWVyZ2Uoc2VhcmNoKSkge1xuICAgIHJldHVybiBbLi4uc3RvcmFnZUlkc11cbiAgfVxuICBjb25zdCBwYXJhbXMgPSBuZXcgVVJMU2VhcmNoUGFyYW1zKHNlYXJjaC5zdGFydHNXaXRoKCc/JykgPyBzZWFyY2ggOiBgPyR7c2VhcmNofWApXG4gIGlmIChwYXJhbXMuaGFzKFVSTF9LRVlfV09SS1NQQUNFKSkge1xuICAgIHJldHVybiBwYXJzZUNzdklkcyhwYXJhbXMuZ2V0KFVSTF9LRVlfV09SS1NQQUNFKSlcbiAgfVxuICByZXR1cm4gWy4uLnN0b3JhZ2VJZHNdXG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRFZmZlY3RpdmVUZWFtc1dvcmtzcGFjZUlkcygpOiBudW1iZXJbXSB7XG4gIGNvbnN0IHNlYXJjaCA9IHR5cGVvZiB3aW5kb3cgIT09ICd1bmRlZmluZWQnID8gd2luZG93LmxvY2F0aW9uLnNlYXJjaCA6ICcnXG4gIHJldHVybiBtZXJnZVRlYW1zV29ya3NwYWNlSWRzRnJvbVVybChzZWFyY2gsIGxvYWRUZWFtc1dvcmtzcGFjZUlkcygpKVxufVxuXG5leHBvcnQgZnVuY3Rpb24gbWVyZ2VQZW9wbGVVcmxQYXJhbXMoYXBwbHk6IChwYXJhbXM6IFVSTFNlYXJjaFBhcmFtcykgPT4gdm9pZCk6IHZvaWQge1xuICBpZiAodHlwZW9mIHdpbmRvdyA9PT0gJ3VuZGVmaW5lZCcpIHJldHVyblxuICBjb25zdCBwYXJhbXMgPSBuZXcgVVJMU2VhcmNoUGFyYW1zKHdpbmRvdy5sb2NhdGlvbi5zZWFyY2gpXG4gIGFwcGx5KHBhcmFtcylcbiAgY29uc3Qgc2VhcmNoID0gcGFyYW1zLnRvU3RyaW5nKClcbiAgY29uc3QgdXJsID0gYCR7d2luZG93LmxvY2F0aW9uLnBhdGhuYW1lfSR7c2VhcmNoID8gYD8ke3NlYXJjaH1gIDogJyd9JHt3aW5kb3cubG9jYXRpb24uaGFzaCB8fCAnJ31gXG4gIHdpbmRvdy5oaXN0b3J5LnJlcGxhY2VTdGF0ZShudWxsLCAnJywgdXJsKVxufVxuXG5leHBvcnQgZnVuY3Rpb24gd3JpdGVVc2Vyc0ZpbHRlcnNUb1VybChcbiAgZmlsdGVyczogUGljazxTdG9yZWRVc2Vyc0ZpbHRlcnMsICdzZWFyY2hJbnB1dCcgfCAnc2VsZWN0ZWRUZWFtcycgfCAnc2VsZWN0ZWRQb3NpdGlvbnMnIHwgJ3NlbGVjdGVkV29ya3NwYWNlcyc+XG4pOiB2b2lkIHtcbiAgbWVyZ2VQZW9wbGVVcmxQYXJhbXMocCA9PiB7XG4gICAgcC5zZXQoVVJMX0tFWV9UQUIsICd1c2VycycpXG4gICAgYXBwbHlVc2VyRmlsdGVyc1RvU2VhcmNoUGFyYW1zKHAsIGZpbHRlcnMpXG4gIH0pXG59XG5cbmV4cG9ydCBmdW5jdGlvbiBzZXRXb3Jrc3BhY2VJZHNJblVybCh3b3Jrc3BhY2VJZHM6IG51bWJlcltdKTogdm9pZCB7XG4gIG1lcmdlUGVvcGxlVXJsUGFyYW1zKHAgPT4ge1xuICAgIHAuc2V0KFVSTF9LRVlfVEFCLCAndGVhbXMnKVxuICAgIHN0cmlwUGVvcGxlRmlsdGVyS2V5cyhwKVxuICAgIGlmICh3b3Jrc3BhY2VJZHMubGVuZ3RoKSBwLnNldChVUkxfS0VZX1dPUktTUEFDRSwgd29ya3NwYWNlSWRzLmpvaW4oJywnKSlcbiAgICBlbHNlIHAuZGVsZXRlKFVSTF9LRVlfV09SS1NQQUNFKVxuICB9KVxufVxuXG4vKipcbiAqIEFsIGNhbWJpYXIgZGUgcGVzdGHDsWE6IGRlamEgZW4gbGEgVVJMIHNvbG8gbG9zIHBhcmFtcyBkZSBlc2EgdmlzdGEsIGxleWVuZG8gZXN0YWRvIGRlc2RlIGxvY2FsU3RvcmFnZVxuICogKGBjb3ItcGVvcGxlOnVzZXJzLWZpbHRlcnNgIC8gYGNvci1wZW9wbGU6dGVhbXMtd29ya3NwYWNlLWZpbHRlcnNgKS4gUHJlc2VydmEgb3Ryb3MgcXVlcnkgcGFyYW1zIGRlbCBob3N0LlxuICovXG5leHBvcnQgZnVuY3Rpb24gc3luY1VybFRvQWN0aXZlVGFiKHRhYjogVmlld1R5cGUpOiB2b2lkIHtcbiAgbWVyZ2VQZW9wbGVVcmxQYXJhbXMocCA9PiB7XG4gICAgc3RyaXBQZW9wbGVGaWx0ZXJLZXlzKHApXG4gICAgcC5zZXQoVVJMX0tFWV9UQUIsIHRhYilcblxuICAgIGlmICh0YWIgPT09ICd1c2VycycpIHtcbiAgICAgIGNvbnN0IHUgPSBsb2FkVXNlcnNGaWx0ZXJzKClcbiAgICAgIGFwcGx5VXNlckZpbHRlcnNUb1NlYXJjaFBhcmFtcyhwLCB1ID8/IGVtcHR5VXNlcnNGaWx0ZXJzKCkpXG4gICAgfSBlbHNlIGlmICh0YWIgPT09ICd0ZWFtcycpIHtcbiAgICAgIGNvbnN0IHdzID0gbG9hZFRlYW1zV29ya3NwYWNlSWRzKClcbiAgICAgIGlmICh3cy5sZW5ndGgpIHAuc2V0KFVSTF9LRVlfV09SS1NQQUNFLCB3cy5qb2luKCcsJykpXG4gICAgfVxuICB9KVxufVxuIl0sIm1hcHBpbmdzIjoiOzs7OztBQUVBLFNBQVNBLHFCQUFxQixFQUFFQyxnQkFBZ0IsUUFBUSx3QkFBd0I7QUFFaEYsSUFBTUMsV0FBVyxHQUFHLEtBQUs7QUFDekIsSUFBTUMsU0FBUyxHQUFHLEdBQUc7QUFDckIsSUFBTUMsWUFBWSxHQUFHLE1BQU07QUFDM0IsSUFBTUMsZ0JBQWdCLEdBQUcsVUFBVTtBQUNuQyxJQUFNQyxpQkFBaUIsR0FBRyxXQUFXO0FBRXJDLElBQU1DLGtCQUFrQixHQUFHLENBQUNKLFNBQVMsRUFBRUMsWUFBWSxFQUFFQyxnQkFBZ0IsRUFBRUMsaUJBQWlCLENBQVU7QUFFbEcsT0FBTyxTQUFTRSxXQUFXQSxDQUFDQyxHQUFrQixFQUFZO0VBQ3hELElBQUlBLEdBQUcsSUFBSSxJQUFJLElBQUlBLEdBQUcsQ0FBQ0MsSUFBSSxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUUsT0FBTyxFQUFFO0VBQy9DLE9BQU9ELEdBQUcsQ0FDUEUsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUNWQyxHQUFHLENBQUMsVUFBQUMsQ0FBQztJQUFBLE9BQUlDLE1BQU0sQ0FBQ0MsTUFBTSxDQUFDRixDQUFDLENBQUMsQ0FBQ0gsSUFBSSxDQUFDLENBQUMsQ0FBQztFQUFBLEVBQUMsQ0FDbENNLE1BQU0sQ0FBQyxVQUFBQyxDQUFDO0lBQUEsT0FBSUgsTUFBTSxDQUFDSSxRQUFRLENBQUNELENBQUMsQ0FBQztFQUFBLEVBQUM7QUFDcEM7QUFFQSxTQUFTRSxzQkFBc0JBLENBQUNDLE1BQWMsRUFBaUI7RUFDN0QsSUFBTUMsTUFBTSxHQUFHLElBQUlDLGVBQWUsQ0FBQ0YsTUFBTSxDQUFDRyxVQUFVLENBQUMsR0FBRyxDQUFDLEdBQUdILE1BQU0sT0FBQUksTUFBQSxDQUFPSixNQUFNLENBQUUsQ0FBQztFQUNsRixPQUFPQyxNQUFNLENBQUNJLEdB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
@@ -1,3 +1,4 @@
1
+ import { syncUrlToActiveTab } from './peopleFiltersUrl';
1
2
  var TAB_PARAM = 'tab';
2
3
  var VALID_TABS = ['users', 'teams', 'userCategoryAbm', 'leaves'];
3
4
  export function getViewFromSearchParams() {
@@ -10,11 +11,6 @@ export function getViewFromSearchParams() {
10
11
  return null;
11
12
  }
12
13
  export function setTabInUrl(tab) {
13
- if (typeof window === 'undefined') return;
14
- var params = new URLSearchParams(window.location.search);
15
- params.set(TAB_PARAM, tab);
16
- var search = params.toString();
17
- var url = "".concat(window.location.pathname).concat(search ? "?".concat(search) : '').concat(window.location.hash || '');
18
- window.history.replaceState(null, '', url);
14
+ syncUrlToActiveTab(tab);
19
15
  }
20
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJUQUJfUEFSQU0iLCJWQUxJRF9UQUJTIiwiZ2V0Vmlld0Zyb21TZWFyY2hQYXJhbXMiLCJ3aW5kb3ciLCJwYXJhbXMiLCJVUkxTZWFyY2hQYXJhbXMiLCJsb2NhdGlvbiIsInNlYXJjaCIsInRhYiIsImdldCIsImluY2x1ZGVzIiwic2V0VGFiSW5VcmwiLCJzZXQiLCJ0b1N0cmluZyIsInVybCIsImNvbmNhdCIsInBhdGhuYW1lIiwiaGFzaCIsImhpc3RvcnkiLCJyZXBsYWNlU3RhdGUiXSwic291cmNlcyI6WyIuLi8uLi9zcmMvdXRpbHMvdGFiVXJsLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFZpZXdUeXBlIH0gZnJvbSAnLi4vdHlwZXMvdXNlclR5cGUnXG5cbmNvbnN0IFRBQl9QQVJBTSA9ICd0YWInXG5jb25zdCBWQUxJRF9UQUJTOiBWaWV3VHlwZVtdID0gWyd1c2VycycsICd0ZWFtcycsICd1c2VyQ2F0ZWdvcnlBYm0nLCAnbGVhdmVzJ11cblxuZXhwb3J0IGZ1bmN0aW9uIGdldFZpZXdGcm9tU2VhcmNoUGFyYW1zKCk6IFZpZXdUeXBlIHwgbnVsbCB7XG4gIGlmICh0eXBlb2Ygd2luZG93ID09PSAndW5kZWZpbmVkJykgcmV0dXJuIG51bGxcbiAgY29uc3QgcGFyYW1zID0gbmV3IFVSTFNlYXJjaFBhcmFtcyh3aW5kb3cubG9jYXRpb24uc2VhcmNoKVxuICBjb25zdCB0YWIgPSBwYXJhbXMuZ2V0KFRBQl9QQVJBTSlcbiAgaWYgKHRhYiAmJiAoVkFMSURfVEFCUyBhcyBzdHJpbmdbXSkuaW5jbHVkZXModGFiKSkge1xuICAgIHJldHVybiB0YWIgYXMgVmlld1R5cGVcbiAgfVxuICByZXR1cm4gbnVsbFxufVxuXG5leHBvcnQgZnVuY3Rpb24gc2V0VGFiSW5VcmwodGFiOiBWaWV3VHlwZSk6IHZvaWQge1xuICBpZiAodHlwZW9mIHdpbmRvdyA9PT0gJ3VuZGVmaW5lZCcpIHJldHVyblxuICBjb25zdCBwYXJhbXMgPSBuZXcgVVJMU2VhcmNoUGFyYW1zKHdpbmRvdy5sb2NhdGlvbi5zZWFyY2gpXG4gIHBhcmFtcy5zZXQoVEFCX1BBUkFNLCB0YWIpXG4gIGNvbnN0IHNlYXJjaCA9IHBhcmFtcy50b1N0cmluZygpXG4gIGNvbnN0IHVybCA9IGAke3dpbmRvdy5sb2NhdGlvbi5wYXRobmFtZX0ke3NlYXJjaCA/IGA/JHtzZWFyY2h9YCA6ICcnfSR7d2luZG93LmxvY2F0aW9uLmhhc2ggfHwgJyd9YFxuICB3aW5kb3cuaGlzdG9yeS5yZXBsYWNlU3RhdGUobnVsbCwgJycsIHVybClcbn1cbiJdLCJtYXBwaW5ncyI6IkFBRUEsSUFBTUEsU0FBUyxHQUFHLEtBQUs7QUFDdkIsSUFBTUMsVUFBc0IsR0FBRyxDQUFDLE9BQU8sRUFBRSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsUUFBUSxDQUFDO0FBRTlFLE9BQU8sU0FBU0MsdUJBQXVCQSxDQUFBLEVBQW9CO0VBQ3pELElBQUksT0FBT0MsTUFBTSxLQUFLLFdBQVcsRUFBRSxPQUFPLElBQUk7RUFDOUMsSUFBTUMsTUFBTSxHQUFHLElBQUlDLGVBQWUsQ0FBQ0YsTUFBTSxDQUFDRyxRQUFRLENBQUNDLE1BQU0sQ0FBQztFQUMxRCxJQUFNQyxHQUFHLEdBQUdKLE1BQU0sQ0FBQ0ssR0FBRyxDQUFDVCxTQUFTLENBQUM7RUFDakMsSUFBSVEsR0FBRyxJQUFLUCxVQUFVLENBQWNTLFFBQVEsQ0FBQ0YsR0FBRyxDQUFDLEVBQUU7SUFDakQsT0FBT0EsR0FBRztFQUNaO0VBQ0EsT0FBTyxJQUFJO0FBQ2I7QUFFQSxPQUFPLFNBQVNHLFdBQVdBLENBQUNILEdBQWEsRUFBUTtFQUMvQyxJQUFJLE9BQU9MLE1BQU0sS0FBSyxXQUFXLEVBQUU7RUFDbkMsSUFBTUMsTUFBTSxHQUFHLElBQUlDLGVBQWUsQ0FBQ0YsTUFBTSxDQUFDRyxRQUFRLENBQUNDLE1BQU0sQ0FBQztFQUMxREgsTUFBTSxDQUFDUSxHQUFHLENBQUNaLFNBQVMsRUFBRVEsR0FBRyxDQUFDO0VBQzFCLElBQU1ELE1BQU0sR0FBR0gsTUFBTSxDQUFDUyxRQUFRLENBQUMsQ0FBQztFQUNoQyxJQUFNQyxHQUFHLE1BQUFDLE1BQUEsQ0FBTVosTUFBTSxDQUFDRyxRQUFRLENBQUNVLFFBQVEsRUFBQUQsTUFBQSxDQUFHUixNQUFNLE9BQUFRLE1BQUEsQ0FBT1IsTUFBTSxJQUFLLEVBQUUsRUFBQVEsTUFBQSxDQUFHWixNQUFNLENBQUNHLFFBQVEsQ0FBQ1csSUFBSSxJQUFJLEVBQUUsQ0FBRTtFQUNuR2QsTUFBTSxDQUFDZSxPQUFPLENBQUNDLFlBQVksQ0FBQyxJQUFJLEVBQUUsRUFBRSxFQUFFTCxHQUFHLENBQUM7QUFDNUMiLCJpZ25vcmVMaXN0IjpbXX0=
16
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJzeW5jVXJsVG9BY3RpdmVUYWIiLCJUQUJfUEFSQU0iLCJWQUxJRF9UQUJTIiwiZ2V0Vmlld0Zyb21TZWFyY2hQYXJhbXMiLCJ3aW5kb3ciLCJwYXJhbXMiLCJVUkxTZWFyY2hQYXJhbXMiLCJsb2NhdGlvbiIsInNlYXJjaCIsInRhYiIsImdldCIsImluY2x1ZGVzIiwic2V0VGFiSW5VcmwiXSwic291cmNlcyI6WyIuLi8uLi9zcmMvdXRpbHMvdGFiVXJsLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFZpZXdUeXBlIH0gZnJvbSAnLi4vdHlwZXMvdXNlclR5cGUnXG5pbXBvcnQgeyBzeW5jVXJsVG9BY3RpdmVUYWIgfSBmcm9tICcuL3Blb3BsZUZpbHRlcnNVcmwnXG5cbmNvbnN0IFRBQl9QQVJBTSA9ICd0YWInXG5jb25zdCBWQUxJRF9UQUJTOiBWaWV3VHlwZVtdID0gWyd1c2VycycsICd0ZWFtcycsICd1c2VyQ2F0ZWdvcnlBYm0nLCAnbGVhdmVzJ11cblxuZXhwb3J0IGZ1bmN0aW9uIGdldFZpZXdGcm9tU2VhcmNoUGFyYW1zKCk6IFZpZXdUeXBlIHwgbnVsbCB7XG4gIGlmICh0eXBlb2Ygd2luZG93ID09PSAndW5kZWZpbmVkJykgcmV0dXJuIG51bGxcbiAgY29uc3QgcGFyYW1zID0gbmV3IFVSTFNlYXJjaFBhcmFtcyh3aW5kb3cubG9jYXRpb24uc2VhcmNoKVxuICBjb25zdCB0YWIgPSBwYXJhbXMuZ2V0KFRBQl9QQVJBTSlcbiAgaWYgKHRhYiAmJiAoVkFMSURfVEFCUyBhcyBzdHJpbmdbXSkuaW5jbHVkZXModGFiKSkge1xuICAgIHJldHVybiB0YWIgYXMgVmlld1R5cGVcbiAgfVxuICByZXR1cm4gbnVsbFxufVxuXG5leHBvcnQgZnVuY3Rpb24gc2V0VGFiSW5VcmwodGFiOiBWaWV3VHlwZSk6IHZvaWQge1xuICBzeW5jVXJsVG9BY3RpdmVUYWIodGFiKVxufVxuIl0sIm1hcHBpbmdzIjoiQUFDQSxTQUFTQSxrQkFBa0IsUUFBUSxvQkFBb0I7QUFFdkQsSUFBTUMsU0FBUyxHQUFHLEtBQUs7QUFDdkIsSUFBTUMsVUFBc0IsR0FBRyxDQUFDLE9BQU8sRUFBRSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsUUFBUSxDQUFDO0FBRTlFLE9BQU8sU0FBU0MsdUJBQXVCQSxDQUFBLEVBQW9CO0VBQ3pELElBQUksT0FBT0MsTUFBTSxLQUFLLFdBQVcsRUFBRSxPQUFPLElBQUk7RUFDOUMsSUFBTUMsTUFBTSxHQUFHLElBQUlDLGVBQWUsQ0FBQ0YsTUFBTSxDQUFDRyxRQUFRLENBQUNDLE1BQU0sQ0FBQztFQUMxRCxJQUFNQyxHQUFHLEdBQUdKLE1BQU0sQ0FBQ0ssR0FBRyxDQUFDVCxTQUFTLENBQUM7RUFDakMsSUFBSVEsR0FBRyxJQUFLUCxVQUFVLENBQWNTLFFBQVEsQ0FBQ0YsR0FBRyxDQUFDLEVBQUU7SUFDakQsT0FBT0EsR0FBRztFQUNaO0VBQ0EsT0FBTyxJQUFJO0FBQ2I7QUFFQSxPQUFPLFNBQVNHLFdBQVdBLENBQUNILEdBQWEsRUFBUTtFQUMvQ1Qsa0JBQWtCLENBQUNTLEdBQUcsQ0FBQztBQUN6QiIsImlnbm9yZUxpc3QiOltdfQ==
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@projectcor/people-microfront",
3
- "version": "1.0.9-0",
3
+ "version": "1.0.9-1",
4
4
  "description": "People module",
5
5
  "main": "lib/index.js",
6
6
  "files": [
@@ -1,6 +0,0 @@
1
- import styled from 'styled-components';
2
- export var SCWrapper = styled.div.withConfig({
3
- displayName: "FiltersTeamsContainerstyles__SCWrapper",
4
- componentId: "sc-1r4lpbo-0"
5
- })(["display:flex;gap:10px;align-items:center;flex-wrap:wrap;"]);
6
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJzdHlsZWQiLCJTQ1dyYXBwZXIiLCJkaXYiLCJ3aXRoQ29uZmlnIiwiZGlzcGxheU5hbWUiLCJjb21wb25lbnRJZCJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb250YWluZXIvRmlsdGVycy9GaWx0ZXJzVGVhbXNDb250YWluZXIuc3R5bGVzLnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgc3R5bGVkIGZyb20gJ3N0eWxlZC1jb21wb25lbnRzJ1xuXG5leHBvcnQgY29uc3QgU0NXcmFwcGVyID0gc3R5bGVkLmRpdmBcbiAgZGlzcGxheTogZmxleDtcbiAgZ2FwOiAxMHB4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBmbGV4LXdyYXA6IHdyYXA7XG5gXG4iXSwibWFwcGluZ3MiOiJBQUFBLE9BQU9BLE1BQU0sTUFBTSxtQkFBbUI7QUFFdEMsT0FBTyxJQUFNQyxTQUFTLEdBQUdELE1BQU0sQ0FBQ0UsR0FBRyxDQUFBQyxVQUFBO0VBQUFDLFdBQUE7RUFBQUMsV0FBQTtBQUFBLGdFQUtsQyIsImlnbm9yZUxpc3QiOltdfQ==
@@ -1,36 +0,0 @@
1
- import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
2
- import { useState, useEffect } from 'react';
3
- import { useGetTeams } from './useGetTeams';
4
- export var useFiltersTeams = function useFiltersTeams() {
5
- var _useGetTeams = useGetTeams(),
6
- handleGetTeams = _useGetTeams.handleGetTeams,
7
- loading = _useGetTeams.loading,
8
- error = _useGetTeams.error,
9
- data = _useGetTeams.data;
10
- var _useState = useState([]),
11
- _useState2 = _slicedToArray(_useState, 2),
12
- workspaceOptions = _useState2[0],
13
- setWorkspaceOptions = _useState2[1];
14
- useEffect(function () {
15
- if (data !== null && data !== void 0 && data.teams && !loading && !error) {
16
- // Extraer workspaces únicos de los teams
17
- var workspacesMap = new Map();
18
- data.teams.data.forEach(function (team) {
19
- if (team.workspace && !workspacesMap.has(team.workspace)) {
20
- workspacesMap.set(team.workspace, {
21
- id: workspacesMap.size + 1,
22
- label: team.workspace
23
- });
24
- }
25
- });
26
- setWorkspaceOptions(Array.from(workspacesMap.values()));
27
- }
28
- }, [data, loading, error]);
29
- return {
30
- workspaceOptions: workspaceOptions,
31
- loading: loading,
32
- error: error,
33
- handleGetTeams: handleGetTeams
34
- };
35
- };
36
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJ1c2VTdGF0ZSIsInVzZUVmZmVjdCIsInVzZUdldFRlYW1zIiwidXNlRmlsdGVyc1RlYW1zIiwiX3VzZUdldFRlYW1zIiwiaGFuZGxlR2V0VGVhbXMiLCJsb2FkaW5nIiwiZXJyb3IiLCJkYXRhIiwiX3VzZVN0YXRlIiwiX3VzZVN0YXRlMiIsIl9zbGljZWRUb0FycmF5Iiwid29ya3NwYWNlT3B0aW9ucyIsInNldFdvcmtzcGFjZU9wdGlvbnMiLCJ0ZWFtcyIsIndvcmtzcGFjZXNNYXAiLCJNYXAiLCJmb3JFYWNoIiwidGVhbSIsIndvcmtzcGFjZSIsImhhcyIsInNldCIsImlkIiwic2l6ZSIsImxhYmVsIiwiQXJyYXkiLCJmcm9tIiwidmFsdWVzIl0sInNvdXJjZXMiOlsiLi4vLi4vc3JjL2hvb2tzL3VzZUZpbHRlcnNUZWFtcy50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyB1c2VTdGF0ZSwgdXNlRWZmZWN0IH0gZnJvbSAncmVhY3QnXG5pbXBvcnQgeyB1c2VHZXRUZWFtcyB9IGZyb20gJy4vdXNlR2V0VGVhbXMnXG5cbmludGVyZmFjZSBGaWx0ZXJPcHRpb24ge1xuICBpZDogbnVtYmVyXG4gIGxhYmVsOiBzdHJpbmdcbn1cblxuZXhwb3J0IGNvbnN0IHVzZUZpbHRlcnNUZWFtcyA9ICgpID0+IHtcbiAgY29uc3QgeyBoYW5kbGVHZXRUZWFtcywgbG9hZGluZywgZXJyb3IsIGRhdGEgfSA9IHVzZUdldFRlYW1zKClcbiAgY29uc3QgW3dvcmtzcGFjZU9wdGlvbnMsIHNldFdvcmtzcGFjZU9wdGlvbnNdID0gdXNlU3RhdGU8RmlsdGVyT3B0aW9uW10+KFtdKVxuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgaWYgKGRhdGE/LnRlYW1zICYmICFsb2FkaW5nICYmICFlcnJvcikge1xuICAgICAgLy8gRXh0cmFlciB3b3Jrc3BhY2VzIMO6bmljb3MgZGUgbG9zIHRlYW1zXG4gICAgICBjb25zdCB3b3Jrc3BhY2VzTWFwID0gbmV3IE1hcDxzdHJpbmcsIHsgaWQ6IG51bWJlcjsgbGFiZWw6IHN0cmluZyB9PigpXG4gICAgICBkYXRhLnRlYW1zLmRhdGEuZm9yRWFjaCgodGVhbTogYW55KSA9PiB7XG4gICAgICAgIGlmICh0ZWFtLndvcmtzcGFjZSAmJiAhd29ya3NwYWNlc01hcC5oYXModGVhbS53b3Jrc3BhY2UpKSB7XG4gICAgICAgICAgd29ya3NwYWNlc01hcC5zZXQodGVhbS53b3Jrc3BhY2UsIHtcbiAgICAgICAgICAgIGlkOiB3b3Jrc3BhY2VzTWFwLnNpemUgKyAxLFxuICAgICAgICAgICAgbGFiZWw6IHRlYW0ud29ya3NwYWNlLFxuICAgICAgICAgIH0pXG4gICAgICAgIH1cbiAgICAgIH0pXG4gICAgICBzZXRXb3Jrc3BhY2VPcHRpb25zKEFycmF5LmZyb20od29ya3NwYWNlc01hcC52YWx1ZXMoKSkpXG4gICAgfVxuICB9LCBbZGF0YSwgbG9hZGluZywgZXJyb3JdKVxuXG4gIHJldHVybiB7XG4gICAgd29ya3NwYWNlT3B0aW9ucyxcbiAgICBsb2FkaW5nLFxuICAgIGVycm9yLFxuICAgIGhhbmRsZUdldFRlYW1zLFxuICB9XG59XG4iXSwibWFwcGluZ3MiOiI7QUFBQSxTQUFTQSxRQUFRLEVBQUVDLFNBQVMsUUFBUSxPQUFPO0FBQzNDLFNBQVNDLFdBQVcsUUFBUSxlQUFlO0FBTzNDLE9BQU8sSUFBTUMsZUFBZSxHQUFHLFNBQWxCQSxlQUFlQSxDQUFBLEVBQVM7RUFDbkMsSUFBQUMsWUFBQSxHQUFpREYsV0FBVyxDQUFDLENBQUM7SUFBdERHLGNBQWMsR0FBQUQsWUFBQSxDQUFkQyxjQUFjO0lBQUVDLE9BQU8sR0FBQUYsWUFBQSxDQUFQRSxPQUFPO0lBQUVDLEtBQUssR0FBQUgsWUFBQSxDQUFMRyxLQUFLO0lBQUVDLElBQUksR0FBQUosWUFBQSxDQUFKSSxJQUFJO0VBQzVDLElBQUFDLFNBQUEsR0FBZ0RULFFBQVEsQ0FBaUIsRUFBRSxDQUFDO0lBQUFVLFVBQUEsR0FBQUMsY0FBQSxDQUFBRixTQUFBO0lBQXJFRyxnQkFBZ0IsR0FBQUYsVUFBQTtJQUFFRyxtQkFBbUIsR0FBQUgsVUFBQTtFQUU1Q1QsU0FBUyxDQUFDLFlBQU07SUFDZCxJQUFJTyxJQUFJLGFBQUpBLElBQUksZUFBSkEsSUFBSSxDQUFFTSxLQUFLLElBQUksQ0FBQ1IsT0FBTyxJQUFJLENBQUNDLEtBQUssRUFBRTtNQUNyQztNQUNBLElBQU1RLGFBQWEsR0FBRyxJQUFJQyxHQUFHLENBQXdDLENBQUM7TUFDdEVSLElBQUksQ0FBQ00sS0FBSyxDQUFDTixJQUFJLENBQUNTLE9BQU8sQ0FBQyxVQUFDQyxJQUFTLEVBQUs7UUFDckMsSUFBSUEsSUFBSSxDQUFDQyxTQUFTLElBQUksQ0FBQ0osYUFBYSxDQUFDSyxHQUFHLENBQUNGLElBQUksQ0FBQ0MsU0FBUyxDQUFDLEVBQUU7VUFDeERKLGFBQWEsQ0FBQ00sR0FBRyxDQUFDSCxJQUFJLENBQUNDLFNBQVMsRUFBRTtZQUNoQ0csRUFBRSxFQUFFUCxhQUFhLENBQUNRLElBQUksR0FBRyxDQUFDO1lBQzFCQyxLQUFLLEVBQUVOLElBQUksQ0FBQ0M7VUFDZCxDQUFDLENBQUM7UUFDSjtNQUNGLENBQUMsQ0FBQztNQUNGTixtQkFBbUIsQ0FBQ1ksS0FBSyxDQUFDQyxJQUFJLENBQUNYLGFBQWEsQ0FBQ1ksTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ3pEO0VBQ0YsQ0FBQyxFQUFFLENBQUNuQixJQUFJLEVBQUVGLE9BQU8sRUFBRUMsS0FBSyxDQUFDLENBQUM7RUFFMUIsT0FBTztJQUNMSyxnQkFBZ0IsRUFBaEJBLGdCQUFnQjtJQUNoQk4sT0FBTyxFQUFQQSxPQUFPO0lBQ1BDLEtBQUssRUFBTEEsS0FBSztJQUNMRixjQUFjLEVBQWRBO0VBQ0YsQ0FBQztBQUNILENBQUMiLCJpZ25vcmVMaXN0IjpbXX0=