@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.
- package/lib/components/Filters/FilterChip/FilterChip.js +19 -2
- package/lib/components/HeaderTeams/HeaderTeams.js +14 -6
- package/lib/components/Search/Search.js +7 -4
- package/lib/container/Filters/FiltersContainer.js +137 -18
- package/lib/container/Filters/FiltersTeamsContainer.js +133 -127
- package/lib/container/MainView/MainTeamsView.js +37 -9
- package/lib/container/RouterComponent/RouterComponent.js +2 -5
- package/lib/context/UsersContext.js +29 -21
- package/lib/hooks/useGetTeams.js +16 -6
- package/lib/utils/isCorWorkspacesFeatureEnabled.js +7 -2
- package/lib/utils/peopleFiltersStorage.js +120 -0
- package/lib/utils/peopleFiltersUrl.js +147 -0
- package/lib/utils/tabUrl.js +3 -7
- package/package.json +1 -1
- package/lib/container/Filters/FiltersTeamsContainer.styles.js +0 -6
- package/lib/hooks/useFiltersTeams.js +0 -36
|
@@ -5,11 +5,13 @@ function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbol
|
|
|
5
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
6
|
/* eslint-disable @typescript-eslint/no-shadow */
|
|
7
7
|
/* eslint-disable @typescript-eslint/no-explicit-any */
|
|
8
|
-
import { createContext, useCallback, useContext, useMemo, useState, useEffect
|
|
8
|
+
import { createContext, useCallback, useContext, useMemo, useState, useEffect } from 'react';
|
|
9
9
|
import { UserContext } from '@projectcor/cor-commons/lib/providers/UserProvider';
|
|
10
10
|
import { useGetUsers } from '../hooks/useGetUsers';
|
|
11
11
|
import { useGetTotalTeams } from '../hooks/useGetTotalTeams';
|
|
12
12
|
import { useGetTotalPositions } from '../hooks/useGetTotalPositions';
|
|
13
|
+
import { buildValuesToFilterPayload } from '../utils/peopleFiltersStorage';
|
|
14
|
+
import { getEffectiveUsersFilters } from '../utils/peopleFiltersUrl';
|
|
13
15
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
14
16
|
var UsersQueryContext = /*#__PURE__*/createContext(undefined);
|
|
15
17
|
var UsersViewContext = /*#__PURE__*/createContext(undefined);
|
|
@@ -50,20 +52,22 @@ export var UsersProvider = function UsersProvider(_ref) {
|
|
|
50
52
|
handleGetTotalPositions = _useGetTotalPositions.handleGetTotalPositions;
|
|
51
53
|
var _useState9 = useState(0),
|
|
52
54
|
_useState0 = _slicedToArray(_useState9, 2),
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
var _useState1 = useState(
|
|
55
|
+
totalTeamsFromGraph = _useState0[0],
|
|
56
|
+
setTotalTeamsFromGraph = _useState0[1];
|
|
57
|
+
var _useState1 = useState(null),
|
|
56
58
|
_useState10 = _slicedToArray(_useState1, 2),
|
|
57
|
-
|
|
58
|
-
|
|
59
|
+
teamsListTotal = _useState10[0],
|
|
60
|
+
setTeamsListTotal = _useState10[1];
|
|
59
61
|
var _useState11 = useState(0),
|
|
60
62
|
_useState12 = _slicedToArray(_useState11, 2),
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
var
|
|
63
|
+
totalPositions = _useState12[0],
|
|
64
|
+
setTotalPositions = _useState12[1];
|
|
65
|
+
var _useState13 = useState(0),
|
|
66
|
+
_useState14 = _slicedToArray(_useState13, 2),
|
|
67
|
+
totalUsersForTabs = _useState14[0],
|
|
68
|
+
setTotalUsersForTabs = _useState14[1];
|
|
64
69
|
useEffect(function () {
|
|
65
|
-
if (view === 'users'
|
|
66
|
-
hasCapturedInitialTotalUsersRef.current = true;
|
|
70
|
+
if (view === 'users') {
|
|
67
71
|
setTotalUsersForTabs(totalUsers);
|
|
68
72
|
}
|
|
69
73
|
}, [view, totalUsers]);
|
|
@@ -73,7 +77,7 @@ export var UsersProvider = function UsersProvider(_ref) {
|
|
|
73
77
|
}, [handleGetTotalTeams, handleGetTotalPositions]);
|
|
74
78
|
useEffect(function () {
|
|
75
79
|
if ((totalTeamsData === null || totalTeamsData === void 0 ? void 0 : totalTeamsData.getTotalTeams) != null) {
|
|
76
|
-
|
|
80
|
+
setTotalTeamsFromGraph(totalTeamsData.getTotalTeams.total);
|
|
77
81
|
}
|
|
78
82
|
}, [totalTeamsData]);
|
|
79
83
|
useEffect(function () {
|
|
@@ -117,11 +121,14 @@ export var UsersProvider = function UsersProvider(_ref) {
|
|
|
117
121
|
}
|
|
118
122
|
}, [view, abort]);
|
|
119
123
|
useEffect(function () {
|
|
120
|
-
if (view
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
124
|
+
if (view !== 'users') return;
|
|
125
|
+
var persisted = getEffectiveUsersFilters();
|
|
126
|
+
var vf = buildValuesToFilterPayload(persisted);
|
|
127
|
+
handleGetUsers({
|
|
128
|
+
page: 1,
|
|
129
|
+
searchInput: persisted.searchInput ? persisted.searchInput : undefined,
|
|
130
|
+
valuesToFilter: Object.keys(vf).length ? vf : undefined
|
|
131
|
+
});
|
|
125
132
|
}, [view, handleGetUsers]);
|
|
126
133
|
var queryValue = useMemo(function () {
|
|
127
134
|
return {
|
|
@@ -149,10 +156,11 @@ export var UsersProvider = function UsersProvider(_ref) {
|
|
|
149
156
|
view: view,
|
|
150
157
|
setView: setView,
|
|
151
158
|
totalUsers: totalUsersForTabs,
|
|
152
|
-
totalTeams:
|
|
153
|
-
totalPositions: totalPositions
|
|
159
|
+
totalTeams: teamsListTotal !== null ? teamsListTotal : totalTeamsFromGraph,
|
|
160
|
+
totalPositions: totalPositions,
|
|
161
|
+
setTeamsListTotal: setTeamsListTotal
|
|
154
162
|
};
|
|
155
|
-
}, [view, totalUsersForTabs,
|
|
163
|
+
}, [view, totalUsersForTabs, teamsListTotal, totalTeamsFromGraph, totalPositions]);
|
|
156
164
|
return /*#__PURE__*/_jsx(UsersViewContext.Provider, {
|
|
157
165
|
value: viewValue,
|
|
158
166
|
children: /*#__PURE__*/_jsx(UsersQueryContext.Provider, {
|
|
@@ -202,4 +210,4 @@ export var useUsers = function useUsers() {
|
|
|
202
210
|
userInfo: userInfo
|
|
203
211
|
});
|
|
204
212
|
};
|
|
205
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJjcmVhdGVDb250ZXh0IiwidXNlQ2FsbGJhY2siLCJ1c2VDb250ZXh0IiwidXNlTWVtbyIsInVzZVN0YXRlIiwidXNlRWZmZWN0IiwidXNlUmVmIiwiVXNlckNvbnRleHQiLCJ1c2VHZXRVc2VycyIsInVzZUdldFRvdGFsVGVhbXMiLCJ1c2VHZXRUb3RhbFBvc2l0aW9ucyIsImpzeCIsIl9qc3giLCJVc2Vyc1F1ZXJ5Q29udGV4dCIsInVuZGVmaW5lZCIsIlVzZXJzVmlld0NvbnRleHQiLCJVc2Vyc0VkaXRQb3NpdGlvbnNDb250ZXh0IiwiVXNlcnNQcm92aWRlciIsIl9yZWYiLCJjaGlsZHJlbiIsImluaXRpYWxWaWV3IiwidmlldyIsIl91c2VTdGF0ZSIsIl91c2VTdGF0ZTIiLCJfc2xpY2VkVG9BcnJheSIsInNldFZpZXciLCJfdXNlU3RhdGUzIiwiX3VzZVN0YXRlNCIsImhhc0VkaXRQb3NpdGlvbnMiLCJzZXRIYXNFZGl0UG9zaXRpb25zIiwiX3VzZVN0YXRlNSIsIl91c2VTdGF0ZTYiLCJ1c2Vyc1RvRWRpdFBvc2l0aW9ucyIsInNldFVzZXJzVG9FZGl0UG9zaXRpb25zIiwiX3VzZVN0YXRlNyIsIl91c2VTdGF0ZTgiLCJwb3NpdGlvbnMiLCJzZXRQb3NpdGlvbnMiLCJfdXNlR2V0VXNlcnMiLCJoYW5kbGVHZXRVc2VycyIsImFib3J0IiwibG9hZGluZyIsImVycm9yIiwidXNlcnMiLCJ0b3RhbFVzZXJzIiwiY3VycmVudFBhZ2UiLCJ0b3RhbFBhZ2VzIiwiX3VzZUdldFRvdGFsVGVhbXMiLCJ0b3RhbFRlYW1zRGF0YSIsImRhdGEiLCJoYW5kbGVHZXRUb3RhbFRlYW1zIiwiX3VzZUdldFRvdGFsUG9zaXRpb25zIiwidG90YWxQb3NpdGlvbnNEYXRhIiwiaGFuZGxlR2V0VG90YWxQb3NpdGlvbnMiLCJfdXNlU3RhdGU5IiwiX3VzZVN0YXRlMCIsInRvdGFsVGVhbXMiLCJzZXRUb3RhbFRlYW1zIiwiX3VzZVN0YXRlMSIsIl91c2VTdGF0ZTEwIiwidG90YWxQb3NpdGlvbnMiLCJzZXRUb3RhbFBvc2l0aW9ucyIsIl91c2VTdGF0ZTExIiwiX3VzZVN0YXRlMTIiLCJ0b3RhbFVzZXJzRm9yVGFicyIsInNldFRvdGFsVXNlcnNGb3JUYWJzIiwiaGFzQ2FwdHVyZWRJbml0aWFsVG90YWxVc2Vyc1JlZiIsImN1cnJlbnQiLCJnZXRUb3RhbFRlYW1zIiwidG90YWwiLCJ1c2VyUG9zaXRpb25DYXRlZ29yeVRvdGFsIiwidG90YWxDYXRlZ29yaWVzIiwiaGFuZGxlU2V0SGFzRWRpdFBvc2l0aW9ucyIsInZhbHVlIiwibGVuZ3RoIiwiaGFuZGxlU2V0VXNlcnNUb0VkaXRQb3NpdGlvbnMiLCJwcmV2IiwiZXhpc3RzIiwic29tZSIsInVzZXIiLCJpZCIsImZpbHRlciIsImNvbmNhdCIsIl90b0NvbnN1bWFibGVBcnJheSIsImhhbmRsZVNldFBvc2l0aW9ucyIsIm5ld1Bvc2l0aW9ucyIsInBhZ2UiLCJxdWVyeVZhbHVlIiwiZWRpdFBvc2l0aW9uc1ZhbHVlIiwidmlld1ZhbHVlIiwiUHJvdmlkZXIiLCJ1c2VVc2Vyc1F1ZXJ5IiwiY29udGV4dCIsIkVycm9yIiwidXNlVXNlcnNWaWV3IiwidXNlVXNlcnNFZGl0UG9zaXRpb25zIiwidXNlVXNlckluZm8iLCJ1c2VVc2Vyc0NvdW50IiwidXNlVXNlcnMiLCJxdWVyeSIsInZpZXdDdHgiLCJlZGl0IiwidXNlckluZm8iLCJfb2JqZWN0U3ByZWFkIl0sInNvdXJjZXMiOlsiLi4vLi4vc3JjL2NvbnRleHQvVXNlcnNDb250ZXh0LnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyIvKiBlc2xpbnQtZGlzYWJsZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tc2hhZG93ICovXG4vKiBlc2xpbnQtZGlzYWJsZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXhwbGljaXQtYW55ICovXG5pbXBvcnQgeyBjcmVhdGVDb250ZXh0LCB1c2VDYWxsYmFjaywgdXNlQ29udGV4dCwgdXNlTWVtbywgUmVhY3ROb2RlLCB1c2VTdGF0ZSwgdXNlRWZmZWN0LCB1c2VSZWYgfSBmcm9tICdyZWFjdCdcbmltcG9ydCB7IFVzZXJDb250ZXh0IH0gZnJvbSAnQHByb2plY3Rjb3IvY29yLWNvbW1vbnMvbGliL3Byb3ZpZGVycy9Vc2VyUHJvdmlkZXInXG5pbXBvcnQgeyB1c2VHZXRVc2VycyB9IGZyb20gJy4uL2hvb2tzL3VzZUdldFVzZXJzJ1xuaW1wb3J0IHsgdXNlR2V0VG90YWxUZWFtcyB9IGZyb20gJy4uL2hvb2tzL3VzZUdldFRvdGFsVGVhbXMnXG5pbXBvcnQgeyB1c2VHZXRUb3RhbFBvc2l0aW9ucyB9IGZyb20gJy4uL2hvb2tzL3VzZUdldFRvdGFsUG9zaXRpb25zJ1xuaW1wb3J0IHsgVXNlciwgVmlld1R5cGUgfSBmcm9tICcuLi90eXBlcy91c2VyVHlwZSdcblxuaW50ZXJmYWNlIFVzZXJzUXVlcnlDb250ZXh0VHlwZSB7XG4gIHVzZXJzOiBVc2VyW11cbiAgdG90YWxVc2VyczogbnVtYmVyXG4gIGN1cnJlbnRQYWdlOiBudW1iZXJcbiAgdG90YWxQYWdlczogbnVtYmVyXG4gIGxvYWRpbmc6IGJvb2xlYW5cbiAgZXJyb3I6IGFueVxuICBwb3NpdGlvbnM6IHsgaWQ6IG51bWJlcjsgbGFiZWw6IHN0cmluZzsgY2F0ZWdvcnlOYW1lPzogc3RyaW5nIH1bXVxuICBoYW5kbGVHZXRVc2VyczogKHtcbiAgICBzZWFyY2hJbnB1dCxcbiAgICBwYWdlLFxuICAgIHZhbHVlc1RvRmlsdGVyLFxuICB9OiB7XG4gICAgc2VhcmNoSW5wdXQ/OiBzdHJpbmdcbiAgICBwYWdlPzogbnVtYmVyXG4gICAgdmFsdWVzVG9GaWx0ZXI/OiBhbnlbXVxuICB9KSA9PiB2b2lkXG4gIGhhbmRsZVNldFBvc2l0aW9uczogKHBvc2l0aW9uczogeyBpZDogbnVtYmVyOyBsYWJlbDogc3RyaW5nOyBjYXRlZ29yeU5hbWU/OiBzdHJpbmcgfVtdKSA9PiB2b2lkXG59XG5cbmludGVyZmFjZSBVc2Vyc1ZpZXdDb250ZXh0VHlwZSB7XG4gIHZpZXc6IFZpZXdUeXBlXG4gIHNldFZpZXc6ICh2aWV3OiBWaWV3VHlwZSkgPT4gdm9pZFxuICB0b3RhbFVzZXJzOiBudW1iZXJcbiAgdG90YWxUZWFtczogbnVtYmVyXG4gIHRvdGFsUG9zaXRpb25zOiBudW1iZXJcbn1cblxuZXhwb3J0IHR5cGUgSW5mb1VzZXIgPSB7XG4gIGlkOiBudW1iZXJcbiAgZmlyc3ROYW1lOiBzdHJpbmdcbiAgbGFzdE5hbWU6IHN0cmluZ1xuICBsYW5nOiBzdHJpbmdcbiAgY29tcGFueV9pZDogbnVtYmVyXG4gIGNvbXBhbnk6IHN0cmluZ1xuICByZW1haW5pbmdIb3Vycz86IG51bWJlclxuICBkYWlseUhvdXJzOiBudW1iZXJcbiAgYXV0aG9yaXplZF9ieT86IHsgaWQ6IG51bWJlciB9XG4gIHJvbGVfaWQ6IG51bWJlclxuICBwaWN0dXJlOiBzdHJpbmdcbn1cblxuaW50ZXJmYWNlIFVzZXJzRWRpdFBvc2l0aW9uc0NvbnRleHRUeXBlIHtcbiAgaGFzRWRpdFBvc2l0aW9uczogYm9vbGVhblxuICBoYW5kbGVTZXRIYXNFZGl0UG9zaXRpb25zOiAodmFsdWU6IGJvb2xlYW4pID0+IHZvaWRcbiAgdXNlcnNUb0VkaXRQb3NpdGlvbnM6IFVzZXJbXVxuICBoYW5kbGVTZXRVc2Vyc1RvRWRpdFBvc2l0aW9uczogKHZhbHVlOiBVc2VyKSA9PiB2b2lkXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgVXNlclR5cGVzIGV4dGVuZHMgSW5mb1VzZXIge1xuICBwZXJtaXNzaW9uczogUGFydGlhbDxQZXJtaXNzaW9ucz5cbiAgc2V0dGluZ3M/OiB7XG4gICAgYmxvY2tfdGFza193aXRob3V0X3Byb2plY3Q/OiBib29sZWFuXG4gIH1cbiAgcGxhbj86IHtcbiAgICBpZDogbnVtYmVyXG4gICAgc2x1Zzogc3RyaW5nXG4gICAgbmFtZTogc3RyaW5nXG4gICAgY3JlYXRlZF9hdDogc3RyaW5nXG4gICAgdXBkYXRlZF9hdDogc3RyaW5nXG4gICAgZGVsZXRlZF9hdDogc3RyaW5nIHwgbnVsbFxuICAgIGZlYXR1cmVzOiBzdHJpbmdbXVxuICB9XG59XG5cbmNvbnN0IFVzZXJzUXVlcnlDb250ZXh0ID0gY3JlYXRlQ29udGV4dDxVc2Vyc1F1ZXJ5Q29udGV4dFR5cGUgfCB1bmRlZmluZWQ+KHVuZGVmaW5lZClcbmNvbnN0IFVzZXJzVmlld0NvbnRleHQgPSBjcmVhdGVDb250ZXh0PFVzZXJzVmlld0NvbnRleHRUeXBlIHwgdW5kZWZpbmVkPih1bmRlZmluZWQpXG5jb25zdCBVc2Vyc0VkaXRQb3NpdGlvbnNDb250ZXh0ID0gY3JlYXRlQ29udGV4dDxVc2Vyc0VkaXRQb3NpdGlvbnNDb250ZXh0VHlwZSB8IHVuZGVmaW5lZD4odW5kZWZpbmVkKVxuXG5leHBvcnQgY29uc3QgVXNlcnNQcm92aWRlciA9ICh7IGNoaWxkcmVuLCB2aWV3OiBpbml0aWFsVmlldyB9OiB7IGNoaWxkcmVuOiBSZWFjdE5vZGU7IHZpZXc6IFZpZXdUeXBlIH0pID0+IHtcbiAgY29uc3QgW3ZpZXcsIHNldFZpZXddID0gdXNlU3RhdGU8Vmlld1R5cGU+KGluaXRpYWxWaWV3KVxuICBjb25zdCBbaGFzRWRpdFBvc2l0aW9ucywgc2V0SGFzRWRpdFBvc2l0aW9uc10gPSB1c2VTdGF0ZShmYWxzZSlcbiAgY29uc3QgW3VzZXJzVG9FZGl0UG9zaXRpb25zLCBzZXRVc2Vyc1RvRWRpdFBvc2l0aW9uc10gPSB1c2VTdGF0ZTxVc2VyW10+KFtdKVxuICBjb25zdCBbcG9zaXRpb25zLCBzZXRQb3NpdGlvbnNdID0gdXNlU3RhdGU8eyBpZDogbnVtYmVyOyBsYWJlbDogc3RyaW5nOyBjYXRlZ29yeU5hbWU/OiBzdHJpbmcgfVtdPihbXSlcbiAgY29uc3QgeyBoYW5kbGVHZXRVc2VycywgYWJvcnQsIGxvYWRpbmcsIGVycm9yLCB1c2VycywgdG90YWxVc2VycywgY3VycmVudFBhZ2UsIHRvdGFsUGFnZXMgfSA9IHVzZUdldFVzZXJzKClcbiAgY29uc3QgeyBkYXRhOiB0b3RhbFRlYW1zRGF0YSwgaGFuZGxlR2V0VG90YWxUZWFtcyB9ID0gdXNlR2V0VG90YWxUZWFtcygpXG4gIGNvbnN0IHsgZGF0YTogdG90YWxQb3NpdGlvbnNEYXRhLCBoYW5kbGVHZXRUb3RhbFBvc2l0aW9ucyB9ID0gdXNlR2V0VG90YWxQb3NpdGlvbnMoKVxuXG4gIGNvbnN0IFt0b3RhbFRlYW1zLCBzZXRUb3RhbFRlYW1zXSA9IHVzZVN0YXRlKDApXG4gIGNvbnN0IFt0b3RhbFBvc2l0aW9ucywgc2V0VG90YWxQb3NpdGlvbnNdID0gdXNlU3RhdGUoMClcbiAgY29uc3QgW3RvdGFsVXNlcnNGb3JUYWJzLCBzZXRUb3RhbFVzZXJzRm9yVGFic10gPSB1c2VTdGF0ZSgwKVxuICBjb25zdCBoYXNDYXB0dXJlZEluaXRpYWxUb3RhbFVzZXJzUmVmID0gdXNlUmVmKGZhbHNlKVxuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgaWYgKHZpZXcgPT09ICd1c2VycycgJiYgdG90YWxVc2VycyA+IDAgJiYgIWhhc0NhcHR1cmVkSW5pdGlhbFRvdGFsVXNlcnNSZWYuY3VycmVudCkge1xuICAgICAgaGFzQ2FwdHVyZWRJbml0aWFsVG90YWxVc2Vyc1JlZi5jdXJyZW50ID0gdHJ1ZVxuICAgICAgc2V0VG90YWxVc2Vyc0ZvclRhYnModG90YWxVc2VycylcbiAgICB9XG4gIH0sIFt2aWV3LCB0b3RhbFVzZXJzXSlcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGhhbmRsZUdldFRvdGFsVGVhbXMoKVxuICAgIGhhbmRsZUdldFRvdGFsUG9zaXRpb25zKClcbiAgfSwgW2hhbmRsZUdldFRvdGFsVGVhbXMsIGhhbmRsZUdldFRvdGFsUG9zaXRpb25zXSlcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGlmICh0b3RhbFRlYW1zRGF0YT8uZ2V0VG90YWxUZWFtcyAhPSBudWxsKSB7XG4gICAgICBzZXRUb3RhbFRlYW1zKHRvdGFsVGVhbXNEYXRhLmdldFRvdGFsVGVhbXMudG90YWwpXG4gICAgfVxuICB9LCBbdG90YWxUZWFtc0RhdGFdKVxuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgaWYgKHRvdGFsUG9zaXRpb25zRGF0YT8udXNlclBvc2l0aW9uQ2F0ZWdvcnlUb3RhbCAhPSBudWxsKSB7XG4gICAgICBzZXRUb3RhbFBvc2l0aW9ucyh0b3RhbFBvc2l0aW9uc0RhdGEudXNlclBvc2l0aW9uQ2F0ZWdvcnlUb3RhbC50b3RhbENhdGVnb3JpZXMpXG4gICAgfVxuICB9LCBbdG90YWxQb3NpdGlvbnNEYXRhXSlcblxuICBjb25zdCBoYW5kbGVTZXRIYXNFZGl0UG9zaXRpb25zID0gdXNlQ2FsbGJhY2soKHZhbHVlOiBib29sZWFuKSA9PiB7XG4gICAgaWYgKCF2YWx1ZSkgc2V0VXNlcnNUb0VkaXRQb3NpdGlvbnMoW10pXG4gICAgc2V0SGFzRWRpdFBvc2l0aW9ucyh2YWx1ZSlcbiAgfSwgW10pXG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBpZiAodmlldyAhPT0gJ3VzZXJzJykge1xuICAgICAgc2V0SGFzRWRpdFBvc2l0aW9ucyhmYWxzZSlcbiAgICAgIHNldFVzZXJzVG9FZGl0UG9zaXRpb25zKFtdKVxuICAgIH1cbiAgfSwgW3ZpZXddKVxuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgaWYgKHZpZXcgPT09ICd1c2VycycgJiYgIWxvYWRpbmcgJiYgdXNlcnM/Lmxlbmd0aCA9PT0gMCAmJiAoaGFzRWRpdFBvc2l0aW9ucyB8fCB1c2Vyc1RvRWRpdFBvc2l0aW9ucy5sZW5ndGggPiAwKSkge1xuICAgICAgc2V0SGFzRWRpdFBvc2l0aW9ucyhmYWxzZSlcbiAgICAgIHNldFVzZXJzVG9FZGl0UG9zaXRpb25zKFtdKVxuICAgIH1cbiAgfSwgW3ZpZXcsIGxvYWRpbmcsIHVzZXJzLCBoYXNFZGl0UG9zaXRpb25zLCB1c2Vyc1RvRWRpdFBvc2l0aW9ucy5sZW5ndGhdKVxuXG4gIGNvbnN0IGhhbmRsZVNldFVzZXJzVG9FZGl0UG9zaXRpb25zID0gdXNlQ2FsbGJhY2soKHZhbHVlOiBVc2VyKSA9PiB7XG4gICAgc2V0VXNlcnNUb0VkaXRQb3NpdGlvbnMocHJldiA9PiB7XG4gICAgICBjb25zdCBleGlzdHMgPSBwcmV2LnNvbWUodXNlciA9PiB1c2VyPy5pZCA9PT0gdmFsdWUuaWQpXG4gICAgICBpZiAoZXhpc3RzKSByZXR1cm4gcHJldi5maWx0ZXIodXNlciA9PiB1c2VyPy5pZCAhPT0gdmFsdWUuaWQpXG4gICAgICByZXR1cm4gWy4uLnByZXYsIHZhbHVlXVxuICAgIH0pXG4gIH0sIFtdKVxuXG4gIGNvbnN0IGhhbmRsZVNldFBvc2l0aW9ucyA9IHVzZUNhbGxiYWNrKChuZXdQb3NpdGlvbnM6IHsgaWQ6IG51bWJlcjsgbGFiZWw6IHN0cmluZzsgY2F0ZWdvcnlOYW1lPzogc3RyaW5nIH1bXSkgPT4ge1xuICAgIHNldFBvc2l0aW9ucyhuZXdQb3NpdGlvbnMpXG4gIH0sIFtdKVxuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgaWYgKHZpZXcgIT09ICd1c2VycycpIHtcbiAgICAgIGFib3J0KClcbiAgICB9XG4gIH0sIFt2aWV3LCBhYm9ydF0pXG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBpZiAodmlldyA9PT0gJ3VzZXJzJykge1xuICAgICAgaGFuZGxlR2V0VXNlcnMoeyBwYWdlOiAxIH0pXG4gICAgfVxuICB9LCBbdmlldywgaGFuZGxlR2V0VXNlcnNdKVxuXG4gIGNvbnN0IHF1ZXJ5VmFsdWUgPSB1c2VNZW1vKFxuICAgICgpID0+ICh7XG4gICAgICB1c2VycyxcbiAgICAgIHRvdGFsVXNlcnMsXG4gICAgICBjdXJyZW50UGFnZSxcbiAgICAgIHRvdGFsUGFnZXMsXG4gICAgICBsb2FkaW5nLFxuICAgICAgZXJyb3IsXG4gICAgICBwb3NpdGlvbnMsXG4gICAgICBoYW5kbGVHZXRVc2VycyxcbiAgICAgIGhhbmRsZVNldFBvc2l0aW9ucyxcbiAgICB9KSxcbiAgICBbdXNlcnMsIHRvdGFsVXNlcnMsIGN1cnJlbnRQYWdlLCBsb2FkaW5nLCBlcnJvciwgcG9zaXRpb25zLCBoYW5kbGVHZXRVc2VycywgaGFuZGxlU2V0UG9zaXRpb25zXVxuICApXG5cbiAgY29uc3QgZWRpdFBvc2l0aW9uc1ZhbHVlID0gdXNlTWVtbyhcbiAgICAoKSA9PiAoe1xuICAgICAgaGFzRWRpdFBvc2l0aW9ucyxcbiAgICAgIGhhbmRsZVNldEhhc0VkaXRQb3NpdGlvbnMsXG4gICAgICB1c2Vyc1RvRWRpdFBvc2l0aW9ucyxcbiAgICAgIGhhbmRsZVNldFVzZXJzVG9FZGl0UG9zaXRpb25zLFxuICAgIH0pLFxuICAgIFtoYXNFZGl0UG9zaXRpb25zLCBoYW5kbGVTZXRIYXNFZGl0UG9zaXRpb25zLCB1c2Vyc1RvRWRpdFBvc2l0aW9ucywgaGFuZGxlU2V0VXNlcnNUb0VkaXRQb3NpdGlvbnNdXG4gIClcblxuICBjb25zdCB2aWV3VmFsdWUgPSB1c2VNZW1vKFxuICAgICgpID0+ICh7XG4gICAgICB2aWV3LFxuICAgICAgc2V0VmlldyxcbiAgICAgIHRvdGFsVXNlcnM6IHRvdGFsVXNlcnNGb3JUYWJzLFxuICAgICAgdG90YWxUZWFtcyxcbiAgICAgIHRvdGFsUG9zaXRpb25zLFxuICAgIH0pLFxuICAgIFt2aWV3LCB0b3RhbFVzZXJzRm9yVGFicywgdG90YWxUZWFtcywgdG90YWxQb3NpdGlvbnNdXG4gIClcblxuICByZXR1cm4gKFxuICAgIDxVc2Vyc1ZpZXdDb250ZXh0LlByb3ZpZGVyIHZhbHVlPXt2aWV3VmFsdWV9PlxuICAgICAgPFVzZXJzUXVlcnlDb250ZXh0LlByb3ZpZGVyIHZhbHVlPXtxdWVyeVZhbHVlfT5cbiAgICAgICAgPFVzZXJzRWRpdFBvc2l0aW9uc0NvbnRleHQuUHJvdmlkZXIgdmFsdWU9e2VkaXRQb3NpdGlvbnNWYWx1ZX0+e2NoaWxkcmVufTwvVXNlcnNFZGl0UG9zaXRpb25zQ29udGV4dC5Qcm92aWRlcj5cbiAgICAgIDwvVXNlcnNRdWVyeUNvbnRleHQuUHJvdmlkZXI+XG4gICAgPC9Vc2Vyc1ZpZXdDb250ZXh0LlByb3ZpZGVyPlxuICApXG59XG5cbmV4cG9ydCBjb25zdCB1c2VVc2Vyc1F1ZXJ5ID0gKCkgPT4ge1xuICBjb25zdCBjb250ZXh0ID0gdXNlQ29udGV4dChVc2Vyc1F1ZXJ5Q29udGV4dClcbiAgaWYgKGNvbnRleHQgPT09IHVuZGVmaW5lZCkgdGhyb3cgbmV3IEVycm9yKCd1c2VVc2Vyc1F1ZXJ5IG11c3QgYmUgdXNlZCB3aXRoaW4gYSBVc2Vyc1Byb3ZpZGVyJylcbiAgcmV0dXJuIGNvbnRleHRcbn1cblxuZXhwb3J0IGNvbnN0IHVzZVVzZXJzVmlldyA9ICgpID0+IHtcbiAgY29uc3QgY29udGV4dCA9IHVzZUNvbnRleHQoVXNlcnNWaWV3Q29udGV4dClcbiAgaWYgKGNvbnRleHQgPT09IHVuZGVmaW5lZCkgdGhyb3cgbmV3IEVycm9yKCd1c2VVc2Vyc1ZpZXcgbXVzdCBiZSB1c2VkIHdpdGhpbiBhIFVzZXJzUHJvdmlkZXInKVxuICByZXR1cm4gY29udGV4dFxufVxuXG5leHBvcnQgY29uc3QgdXNlVXNlcnNFZGl0UG9zaXRpb25zID0gKCkgPT4ge1xuICBjb25zdCBjb250ZXh0ID0gdXNlQ29udGV4dChVc2Vyc0VkaXRQb3NpdGlvbnNDb250ZXh0KVxuICBpZiAoY29udGV4dCA9PT0gdW5kZWZpbmVkKSB0aHJvdyBuZXcgRXJyb3IoJ3VzZVVzZXJzRWRpdFBvc2l0aW9ucyBtdXN0IGJlIHVzZWQgd2l0aGluIGEgVXNlcnNQcm92aWRlcicpXG4gIHJldHVybiBjb250ZXh0XG59XG5cbmV4cG9ydCBjb25zdCB1c2VVc2VySW5mbyA9ICgpID0+IHtcbiAgY29uc3QgY29udGV4dCA9IHVzZUNvbnRleHQ8VXNlclR5cGVzPihVc2VyQ29udGV4dClcbiAgaWYgKGNvbnRleHQgPT09IHVuZGVmaW5lZCkgdGhyb3cgbmV3IEVycm9yKCd1c2VVc2VySW5mbyBtdXN0IGJlIHVzZWQgd2l0aGluIGEgVXNlcnNQcm92aWRlcicpXG4gIHJldHVybiBjb250ZXh0XG59XG5cbmV4cG9ydCBjb25zdCB1c2VVc2Vyc0NvdW50ID0gKCkgPT4ge1xuICBjb25zdCBjb250ZXh0ID0gdXNlQ29udGV4dChVc2Vyc1ZpZXdDb250ZXh0KVxuICBpZiAoY29udGV4dCA9PT0gdW5kZWZpbmVkKSB0aHJvdyBuZXcgRXJyb3IoJ3VzZVVzZXJzQ291bnQgbXVzdCBiZSB1c2VkIHdpdGhpbiBhIFVzZXJzUHJvdmlkZXInKVxuICByZXR1cm4ge1xuICAgIHRvdGFsVXNlcnM6IGNvbnRleHQudG90YWxVc2VycyxcbiAgICB0b3RhbFRlYW1zOiBjb250ZXh0LnRvdGFsVGVhbXMsXG4gICAgdG90YWxQb3NpdGlvbnM6IGNvbnRleHQudG90YWxQb3NpdGlvbnMsXG4gIH1cbn1cblxuZXhwb3J0IGNvbnN0IHVzZVVzZXJzID0gKCkgPT4ge1xuICBjb25zdCBxdWVyeSA9IHVzZVVzZXJzUXVlcnkoKVxuICBjb25zdCB2aWV3Q3R4ID0gdXNlVXNlcnNWaWV3KClcbiAgY29uc3QgZWRpdCA9IHVzZVVzZXJzRWRpdFBvc2l0aW9ucygpXG4gIGNvbnN0IHVzZXJJbmZvID0gdXNlVXNlckluZm8oKVxuICByZXR1cm4geyAuLi5xdWVyeSwgLi4udmlld0N0eCwgLi4uZWRpdCwgdXNlckluZm8gfVxufVxuIl0sIm1hcHBpbmdzIjoiOzs7OztBQUFBO0FBQ0E7QUFDQSxTQUFTQSxhQUFhLEVBQUVDLFdBQVcsRUFBRUMsVUFBVSxFQUFFQyxPQUFPLEVBQWFDLFFBQVEsRUFBRUMsU0FBUyxFQUFFQyxNQUFNLFFBQVEsT0FBTztBQUMvRyxTQUFTQyxXQUFXLFFBQVEsb0RBQW9EO0FBQ2hGLFNBQVNDLFdBQVcsUUFBUSxzQkFBc0I7QUFDbEQsU0FBU0MsZ0JBQWdCLFFBQVEsMkJBQTJCO0FBQzVELFNBQVNDLG9CQUFvQixRQUFRLCtCQUErQjtBQUFBLFNBQUFDLEdBQUEsSUFBQUMsSUFBQTtBQW9FcEUsSUFBTUMsaUJBQWlCLGdCQUFHYixhQUFhLENBQW9DYyxTQUFTLENBQUM7QUFDckYsSUFBTUMsZ0JBQWdCLGdCQUFHZixhQUFhLENBQW1DYyxTQUFTLENBQUM7QUFDbkYsSUFBTUUseUJBQXlCLGdCQUFHaEIsYUFBYSxDQUE0Q2MsU0FBUyxDQUFDO0FBRXJHLE9BQU8sSUFBTUcsYUFBYSxHQUFHLFNBQWhCQSxhQUFhQSxDQUFBQyxJQUFB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
|
|
213
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJjcmVhdGVDb250ZXh0IiwidXNlQ2FsbGJhY2siLCJ1c2VDb250ZXh0IiwidXNlTWVtbyIsInVzZVN0YXRlIiwidXNlRWZmZWN0IiwiVXNlckNvbnRleHQiLCJ1c2VHZXRVc2VycyIsInVzZUdldFRvdGFsVGVhbXMiLCJ1c2VHZXRUb3RhbFBvc2l0aW9ucyIsImJ1aWxkVmFsdWVzVG9GaWx0ZXJQYXlsb2FkIiwiZ2V0RWZmZWN0aXZlVXNlcnNGaWx0ZXJzIiwianN4IiwiX2pzeCIsIlVzZXJzUXVlcnlDb250ZXh0IiwidW5kZWZpbmVkIiwiVXNlcnNWaWV3Q29udGV4dCIsIlVzZXJzRWRpdFBvc2l0aW9uc0NvbnRleHQiLCJVc2Vyc1Byb3ZpZGVyIiwiX3JlZiIsImNoaWxkcmVuIiwiaW5pdGlhbFZpZXciLCJ2aWV3IiwiX3VzZVN0YXRlIiwiX3VzZVN0YXRlMiIsIl9zbGljZWRUb0FycmF5Iiwic2V0VmlldyIsIl91c2VTdGF0ZTMiLCJfdXNlU3RhdGU0IiwiaGFzRWRpdFBvc2l0aW9ucyIsInNldEhhc0VkaXRQb3NpdGlvbnMiLCJfdXNlU3RhdGU1IiwiX3VzZVN0YXRlNiIsInVzZXJzVG9FZGl0UG9zaXRpb25zIiwic2V0VXNlcnNUb0VkaXRQb3NpdGlvbnMiLCJfdXNlU3RhdGU3IiwiX3VzZVN0YXRlOCIsInBvc2l0aW9ucyIsInNldFBvc2l0aW9ucyIsIl91c2VHZXRVc2VycyIsImhhbmRsZUdldFVzZXJzIiwiYWJvcnQiLCJsb2FkaW5nIiwiZXJyb3IiLCJ1c2VycyIsInRvdGFsVXNlcnMiLCJjdXJyZW50UGFnZSIsInRvdGFsUGFnZXMiLCJfdXNlR2V0VG90YWxUZWFtcyIsInRvdGFsVGVhbXNEYXRhIiwiZGF0YSIsImhhbmRsZUdldFRvdGFsVGVhbXMiLCJfdXNlR2V0VG90YWxQb3NpdGlvbnMiLCJ0b3RhbFBvc2l0aW9uc0RhdGEiLCJoYW5kbGVHZXRUb3RhbFBvc2l0aW9ucyIsIl91c2VTdGF0ZTkiLCJfdXNlU3RhdGUwIiwidG90YWxUZWFtc0Zyb21HcmFwaCIsInNldFRvdGFsVGVhbXNGcm9tR3JhcGgiLCJfdXNlU3RhdGUxIiwiX3VzZVN0YXRlMTAiLCJ0ZWFtc0xpc3RUb3RhbCIsInNldFRlYW1zTGlzdFRvdGFsIiwiX3VzZVN0YXRlMTEiLCJfdXNlU3RhdGUxMiIsInRvdGFsUG9zaXRpb25zIiwic2V0VG90YWxQb3NpdGlvbnMiLCJfdXNlU3RhdGUxMyIsIl91c2VTdGF0ZTE0IiwidG90YWxVc2Vyc0ZvclRhYnMiLCJzZXRUb3RhbFVzZXJzRm9yVGFicyIsImdldFRvdGFsVGVhbXMiLCJ0b3RhbCIsInVzZXJQb3NpdGlvbkNhdGVnb3J5VG90YWwiLCJ0b3RhbENhdGVnb3JpZXMiLCJoYW5kbGVTZXRIYXNFZGl0UG9zaXRpb25zIiwidmFsdWUiLCJsZW5ndGgiLCJoYW5kbGVTZXRVc2Vyc1RvRWRpdFBvc2l0aW9ucyIsInByZXYiLCJleGlzdHMiLCJzb21lIiwidXNlciIsImlkIiwiZmlsdGVyIiwiY29uY2F0IiwiX3RvQ29uc3VtYWJsZUFycmF5IiwiaGFuZGxlU2V0UG9zaXRpb25zIiwibmV3UG9zaXRpb25zIiwicGVyc2lzdGVkIiwidmYiLCJwYWdlIiwic2VhcmNoSW5wdXQiLCJ2YWx1ZXNUb0ZpbHRlciIsIk9iamVjdCIsImtleXMiLCJxdWVyeVZhbHVlIiwiZWRpdFBvc2l0aW9uc1ZhbHVlIiwidmlld1ZhbHVlIiwidG90YWxUZWFtcyIsIlByb3ZpZGVyIiwidXNlVXNlcnNRdWVyeSIsImNvbnRleHQiLCJFcnJvciIsInVzZVVzZXJzVmlldyIsInVzZVVzZXJzRWRpdFBvc2l0aW9ucyIsInVzZVVzZXJJbmZvIiwidXNlVXNlcnNDb3VudCIsInVzZVVzZXJzIiwicXVlcnkiLCJ2aWV3Q3R4IiwiZWRpdCIsInVzZXJJbmZvIiwiX29iamVjdFNwcmVhZCJdLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb250ZXh0L1VzZXJzQ29udGV4dC50c3giXSwic291cmNlc0NvbnRlbnQiOlsiLyogZXNsaW50LWRpc2FibGUgQHR5cGVzY3JpcHQtZXNsaW50L25vLXNoYWRvdyAqL1xuLyogZXNsaW50LWRpc2FibGUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueSAqL1xuaW1wb3J0IHsgY3JlYXRlQ29udGV4dCwgdXNlQ2FsbGJhY2ssIHVzZUNvbnRleHQsIHVzZU1lbW8sIFJlYWN0Tm9kZSwgdXNlU3RhdGUsIHVzZUVmZmVjdCB9IGZyb20gJ3JlYWN0J1xuaW1wb3J0IHsgVXNlckNvbnRleHQgfSBmcm9tICdAcHJvamVjdGNvci9jb3ItY29tbW9ucy9saWIvcHJvdmlkZXJzL1VzZXJQcm92aWRlcidcbmltcG9ydCB7IHVzZUdldFVzZXJzIH0gZnJvbSAnLi4vaG9va3MvdXNlR2V0VXNlcnMnXG5pbXBvcnQgeyB1c2VHZXRUb3RhbFRlYW1zIH0gZnJvbSAnLi4vaG9va3MvdXNlR2V0VG90YWxUZWFtcydcbmltcG9ydCB7IHVzZUdldFRvdGFsUG9zaXRpb25zIH0gZnJvbSAnLi4vaG9va3MvdXNlR2V0VG90YWxQb3NpdGlvbnMnXG5pbXBvcnQgeyBVc2VyLCBWaWV3VHlwZSB9IGZyb20gJy4uL3R5cGVzL3VzZXJUeXBlJ1xuaW1wb3J0IHsgYnVpbGRWYWx1ZXNUb0ZpbHRlclBheWxvYWQgfSBmcm9tICcuLi91dGlscy9wZW9wbGVGaWx0ZXJzU3RvcmFnZSdcbmltcG9ydCB7IGdldEVmZmVjdGl2ZVVzZXJzRmlsdGVycyB9IGZyb20gJy4uL3V0aWxzL3Blb3BsZUZpbHRlcnNVcmwnXG5cbmludGVyZmFjZSBVc2Vyc1F1ZXJ5Q29udGV4dFR5cGUge1xuICB1c2VyczogVXNlcltdXG4gIHRvdGFsVXNlcnM6IG51bWJlclxuICBjdXJyZW50UGFnZTogbnVtYmVyXG4gIHRvdGFsUGFnZXM6IG51bWJlclxuICBsb2FkaW5nOiBib29sZWFuXG4gIGVycm9yOiBhbnlcbiAgcG9zaXRpb25zOiB7IGlkOiBudW1iZXI7IGxhYmVsOiBzdHJpbmc7IGNhdGVnb3J5TmFtZT86IHN0cmluZyB9W11cbiAgaGFuZGxlR2V0VXNlcnM6ICh7XG4gICAgc2VhcmNoSW5wdXQsXG4gICAgcGFnZSxcbiAgICB2YWx1ZXNUb0ZpbHRlcixcbiAgfToge1xuICAgIHNlYXJjaElucHV0Pzogc3RyaW5nXG4gICAgcGFnZT86IG51bWJlclxuICAgIHZhbHVlc1RvRmlsdGVyPzogYW55W11cbiAgfSkgPT4gdm9pZFxuICBoYW5kbGVTZXRQb3NpdGlvbnM6IChwb3NpdGlvbnM6IHsgaWQ6IG51bWJlcjsgbGFiZWw6IHN0cmluZzsgY2F0ZWdvcnlOYW1lPzogc3RyaW5nIH1bXSkgPT4gdm9pZFxufVxuXG5pbnRlcmZhY2UgVXNlcnNWaWV3Q29udGV4dFR5cGUge1xuICB2aWV3OiBWaWV3VHlwZVxuICBzZXRWaWV3OiAodmlldzogVmlld1R5cGUpID0+IHZvaWRcbiAgdG90YWxVc2VyczogbnVtYmVyXG4gIHRvdGFsVGVhbXM6IG51bWJlclxuICB0b3RhbFBvc2l0aW9uczogbnVtYmVyXG4gIHNldFRlYW1zTGlzdFRvdGFsOiAodG90YWw6IG51bWJlciB8IG51bGwpID0+IHZvaWRcbn1cblxuZXhwb3J0IHR5cGUgSW5mb1VzZXIgPSB7XG4gIGlkOiBudW1iZXJcbiAgZmlyc3ROYW1lOiBzdHJpbmdcbiAgbGFzdE5hbWU6IHN0cmluZ1xuICBsYW5nOiBzdHJpbmdcbiAgY29tcGFueV9pZDogbnVtYmVyXG4gIGNvbXBhbnk6IHN0cmluZ1xuICByZW1haW5pbmdIb3Vycz86IG51bWJlclxuICBkYWlseUhvdXJzOiBudW1iZXJcbiAgYXV0aG9yaXplZF9ieT86IHsgaWQ6IG51bWJlciB9XG4gIHJvbGVfaWQ6IG51bWJlclxuICBwaWN0dXJlOiBzdHJpbmdcbn1cblxuaW50ZXJmYWNlIFVzZXJzRWRpdFBvc2l0aW9uc0NvbnRleHRUeXBlIHtcbiAgaGFzRWRpdFBvc2l0aW9uczogYm9vbGVhblxuICBoYW5kbGVTZXRIYXNFZGl0UG9zaXRpb25zOiAodmFsdWU6IGJvb2xlYW4pID0+IHZvaWRcbiAgdXNlcnNUb0VkaXRQb3NpdGlvbnM6IFVzZXJbXVxuICBoYW5kbGVTZXRVc2Vyc1RvRWRpdFBvc2l0aW9uczogKHZhbHVlOiBVc2VyKSA9PiB2b2lkXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgVXNlclR5cGVzIGV4dGVuZHMgSW5mb1VzZXIge1xuICBwZXJtaXNzaW9uczogUGFydGlhbDxQZXJtaXNzaW9ucz5cbiAgc2V0dGluZ3M/OiB7XG4gICAgYmxvY2tfdGFza193aXRob3V0X3Byb2plY3Q/OiBib29sZWFuXG4gIH1cbiAgcGxhbj86IHtcbiAgICBpZDogbnVtYmVyXG4gICAgc2x1Zzogc3RyaW5nXG4gICAgbmFtZTogc3RyaW5nXG4gICAgY3JlYXRlZF9hdDogc3RyaW5nXG4gICAgdXBkYXRlZF9hdDogc3RyaW5nXG4gICAgZGVsZXRlZF9hdDogc3RyaW5nIHwgbnVsbFxuICAgIGZlYXR1cmVzOiBzdHJpbmdbXVxuICB9XG59XG5cbmNvbnN0IFVzZXJzUXVlcnlDb250ZXh0ID0gY3JlYXRlQ29udGV4dDxVc2Vyc1F1ZXJ5Q29udGV4dFR5cGUgfCB1bmRlZmluZWQ+KHVuZGVmaW5lZClcbmNvbnN0IFVzZXJzVmlld0NvbnRleHQgPSBjcmVhdGVDb250ZXh0PFVzZXJzVmlld0NvbnRleHRUeXBlIHwgdW5kZWZpbmVkPih1bmRlZmluZWQpXG5jb25zdCBVc2Vyc0VkaXRQb3NpdGlvbnNDb250ZXh0ID0gY3JlYXRlQ29udGV4dDxVc2Vyc0VkaXRQb3NpdGlvbnNDb250ZXh0VHlwZSB8IHVuZGVmaW5lZD4odW5kZWZpbmVkKVxuXG5leHBvcnQgY29uc3QgVXNlcnNQcm92aWRlciA9ICh7IGNoaWxkcmVuLCB2aWV3OiBpbml0aWFsVmlldyB9OiB7IGNoaWxkcmVuOiBSZWFjdE5vZGU7IHZpZXc6IFZpZXdUeXBlIH0pID0+IHtcbiAgY29uc3QgW3ZpZXcsIHNldFZpZXddID0gdXNlU3RhdGU8Vmlld1R5cGU+KGluaXRpYWxWaWV3KVxuICBjb25zdCBbaGFzRWRpdFBvc2l0aW9ucywgc2V0SGFzRWRpdFBvc2l0aW9uc10gPSB1c2VTdGF0ZShmYWxzZSlcbiAgY29uc3QgW3VzZXJzVG9FZGl0UG9zaXRpb25zLCBzZXRVc2Vyc1RvRWRpdFBvc2l0aW9uc10gPSB1c2VTdGF0ZTxVc2VyW10+KFtdKVxuICBjb25zdCBbcG9zaXRpb25zLCBzZXRQb3NpdGlvbnNdID0gdXNlU3RhdGU8eyBpZDogbnVtYmVyOyBsYWJlbDogc3RyaW5nOyBjYXRlZ29yeU5hbWU/OiBzdHJpbmcgfVtdPihbXSlcbiAgY29uc3QgeyBoYW5kbGVHZXRVc2VycywgYWJvcnQsIGxvYWRpbmcsIGVycm9yLCB1c2VycywgdG90YWxVc2VycywgY3VycmVudFBhZ2UsIHRvdGFsUGFnZXMgfSA9IHVzZUdldFVzZXJzKClcbiAgY29uc3QgeyBkYXRhOiB0b3RhbFRlYW1zRGF0YSwgaGFuZGxlR2V0VG90YWxUZWFtcyB9ID0gdXNlR2V0VG90YWxUZWFtcygpXG4gIGNvbnN0IHsgZGF0YTogdG90YWxQb3NpdGlvbnNEYXRhLCBoYW5kbGVHZXRUb3RhbFBvc2l0aW9ucyB9ID0gdXNlR2V0VG90YWxQb3NpdGlvbnMoKVxuXG4gIGNvbnN0IFt0b3RhbFRlYW1zRnJvbUdyYXBoLCBzZXRUb3RhbFRlYW1zRnJvbUdyYXBoXSA9IHVzZVN0YXRlKDApXG4gIGNvbnN0IFt0ZWFtc0xpc3RUb3RhbCwgc2V0VGVhbXNMaXN0VG90YWxdID0gdXNlU3RhdGU8bnVtYmVyIHwgbnVsbD4obnVsbClcbiAgY29uc3QgW3RvdGFsUG9zaXRpb25zLCBzZXRUb3RhbFBvc2l0aW9uc10gPSB1c2VTdGF0ZSgwKVxuICBjb25zdCBbdG90YWxVc2Vyc0ZvclRhYnMsIHNldFRvdGFsVXNlcnNGb3JUYWJzXSA9IHVzZVN0YXRlKDApXG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBpZiAodmlldyA9PT0gJ3VzZXJzJykge1xuICAgICAgc2V0VG90YWxVc2Vyc0ZvclRhYnModG90YWxVc2VycylcbiAgICB9XG4gIH0sIFt2aWV3LCB0b3RhbFVzZXJzXSlcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGhhbmRsZUdldFRvdGFsVGVhbXMoKVxuICAgIGhhbmRsZUdldFRvdGFsUG9zaXRpb25zKClcbiAgfSwgW2hhbmRsZUdldFRvdGFsVGVhbXMsIGhhbmRsZUdldFRvdGFsUG9zaXRpb25zXSlcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGlmICh0b3RhbFRlYW1zRGF0YT8uZ2V0VG90YWxUZWFtcyAhPSBudWxsKSB7XG4gICAgICBzZXRUb3RhbFRlYW1zRnJvbUdyYXBoKHRvdGFsVGVhbXNEYXRhLmdldFRvdGFsVGVhbXMudG90YWwpXG4gICAgfVxuICB9LCBbdG90YWxUZWFtc0RhdGFdKVxuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgaWYgKHRvdGFsUG9zaXRpb25zRGF0YT8udXNlclBvc2l0aW9uQ2F0ZWdvcnlUb3RhbCAhPSBudWxsKSB7XG4gICAgICBzZXRUb3RhbFBvc2l0aW9ucyh0b3RhbFBvc2l0aW9uc0RhdGEudXNlclBvc2l0aW9uQ2F0ZWdvcnlUb3RhbC50b3RhbENhdGVnb3JpZXMpXG4gICAgfVxuICB9LCBbdG90YWxQb3NpdGlvbnNEYXRhXSlcblxuICBjb25zdCBoYW5kbGVTZXRIYXNFZGl0UG9zaXRpb25zID0gdXNlQ2FsbGJhY2soKHZhbHVlOiBib29sZWFuKSA9PiB7XG4gICAgaWYgKCF2YWx1ZSkgc2V0VXNlcnNUb0VkaXRQb3NpdGlvbnMoW10pXG4gICAgc2V0SGFzRWRpdFBvc2l0aW9ucyh2YWx1ZSlcbiAgfSwgW10pXG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBpZiAodmlldyAhPT0gJ3VzZXJzJykge1xuICAgICAgc2V0SGFzRWRpdFBvc2l0aW9ucyhmYWxzZSlcbiAgICAgIHNldFVzZXJzVG9FZGl0UG9zaXRpb25zKFtdKVxuICAgIH1cbiAgfSwgW3ZpZXddKVxuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgaWYgKHZpZXcgPT09ICd1c2VycycgJiYgIWxvYWRpbmcgJiYgdXNlcnM/Lmxlbmd0aCA9PT0gMCAmJiAoaGFzRWRpdFBvc2l0aW9ucyB8fCB1c2Vyc1RvRWRpdFBvc2l0aW9ucy5sZW5ndGggPiAwKSkge1xuICAgICAgc2V0SGFzRWRpdFBvc2l0aW9ucyhmYWxzZSlcbiAgICAgIHNldFVzZXJzVG9FZGl0UG9zaXRpb25zKFtdKVxuICAgIH1cbiAgfSwgW3ZpZXcsIGxvYWRpbmcsIHVzZXJzLCBoYXNFZGl0UG9zaXRpb25zLCB1c2Vyc1RvRWRpdFBvc2l0aW9ucy5sZW5ndGhdKVxuXG4gIGNvbnN0IGhhbmRsZVNldFVzZXJzVG9FZGl0UG9zaXRpb25zID0gdXNlQ2FsbGJhY2soKHZhbHVlOiBVc2VyKSA9PiB7XG4gICAgc2V0VXNlcnNUb0VkaXRQb3NpdGlvbnMocHJldiA9PiB7XG4gICAgICBjb25zdCBleGlzdHMgPSBwcmV2LnNvbWUodXNlciA9PiB1c2VyPy5pZCA9PT0gdmFsdWUuaWQpXG4gICAgICBpZiAoZXhpc3RzKSByZXR1cm4gcHJldi5maWx0ZXIodXNlciA9PiB1c2VyPy5pZCAhPT0gdmFsdWUuaWQpXG4gICAgICByZXR1cm4gWy4uLnByZXYsIHZhbHVlXVxuICAgIH0pXG4gIH0sIFtdKVxuXG4gIGNvbnN0IGhhbmRsZVNldFBvc2l0aW9ucyA9IHVzZUNhbGxiYWNrKChuZXdQb3NpdGlvbnM6IHsgaWQ6IG51bWJlcjsgbGFiZWw6IHN0cmluZzsgY2F0ZWdvcnlOYW1lPzogc3RyaW5nIH1bXSkgPT4ge1xuICAgIHNldFBvc2l0aW9ucyhuZXdQb3NpdGlvbnMpXG4gIH0sIFtdKVxuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgaWYgKHZpZXcgIT09ICd1c2VycycpIHtcbiAgICAgIGFib3J0KClcbiAgICB9XG4gIH0sIFt2aWV3LCBhYm9ydF0pXG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBpZiAodmlldyAhPT0gJ3VzZXJzJykgcmV0dXJuXG4gICAgY29uc3QgcGVyc2lzdGVkID0gZ2V0RWZmZWN0aXZlVXNlcnNGaWx0ZXJzKClcbiAgICBjb25zdCB2ZiA9IGJ1aWxkVmFsdWVzVG9GaWx0ZXJQYXlsb2FkKHBlcnNpc3RlZClcbiAgICBoYW5kbGVHZXRVc2Vycyh7XG4gICAgICBwYWdlOiAxLFxuICAgICAgc2VhcmNoSW5wdXQ6IHBlcnNpc3RlZC5zZWFyY2hJbnB1dCA/IHBlcnNpc3RlZC5zZWFyY2hJbnB1dCA6IHVuZGVmaW5lZCxcbiAgICAgIHZhbHVlc1RvRmlsdGVyOiBPYmplY3Qua2V5cyh2ZikubGVuZ3RoID8gdmYgOiB1bmRlZmluZWQsXG4gICAgfSlcbiAgfSwgW3ZpZXcsIGhhbmRsZUdldFVzZXJzXSlcblxuICBjb25zdCBxdWVyeVZhbHVlID0gdXNlTWVtbyhcbiAgICAoKSA9PiAoe1xuICAgICAgdXNlcnMsXG4gICAgICB0b3RhbFVzZXJzLFxuICAgICAgY3VycmVudFBhZ2UsXG4gICAgICB0b3RhbFBhZ2VzLFxuICAgICAgbG9hZGluZyxcbiAgICAgIGVycm9yLFxuICAgICAgcG9zaXRpb25zLFxuICAgICAgaGFuZGxlR2V0VXNlcnMsXG4gICAgICBoYW5kbGVTZXRQb3NpdGlvbnMsXG4gICAgfSksXG4gICAgW3VzZXJzLCB0b3RhbFVzZXJzLCBjdXJyZW50UGFnZSwgbG9hZGluZywgZXJyb3IsIHBvc2l0aW9ucywgaGFuZGxlR2V0VXNlcnMsIGhhbmRsZVNldFBvc2l0aW9uc11cbiAgKVxuXG4gIGNvbnN0IGVkaXRQb3NpdGlvbnNWYWx1ZSA9IHVzZU1lbW8oXG4gICAgKCkgPT4gKHtcbiAgICAgIGhhc0VkaXRQb3NpdGlvbnMsXG4gICAgICBoYW5kbGVTZXRIYXNFZGl0UG9zaXRpb25zLFxuICAgICAgdXNlcnNUb0VkaXRQb3NpdGlvbnMsXG4gICAgICBoYW5kbGVTZXRVc2Vyc1RvRWRpdFBvc2l0aW9ucyxcbiAgICB9KSxcbiAgICBbaGFzRWRpdFBvc2l0aW9ucywgaGFuZGxlU2V0SGFzRWRpdFBvc2l0aW9ucywgdXNlcnNUb0VkaXRQb3NpdGlvbnMsIGhhbmRsZVNldFVzZXJzVG9FZGl0UG9zaXRpb25zXVxuICApXG5cbiAgY29uc3Qgdmlld1ZhbHVlID0gdXNlTWVtbyhcbiAgICAoKSA9PiAoe1xuICAgICAgdmlldyxcbiAgICAgIHNldFZpZXcsXG4gICAgICB0b3RhbFVzZXJzOiB0b3RhbFVzZXJzRm9yVGFicyxcbiAgICAgIHRvdGFsVGVhbXM6IHRlYW1zTGlzdFRvdGFsICE9PSBudWxsID8gdGVhbXNMaXN0VG90YWwgOiB0b3RhbFRlYW1zRnJvbUdyYXBoLFxuICAgICAgdG90YWxQb3NpdGlvbnMsXG4gICAgICBzZXRUZWFtc0xpc3RUb3RhbCxcbiAgICB9KSxcbiAgICBbdmlldywgdG90YWxVc2Vyc0ZvclRhYnMsIHRlYW1zTGlzdFRvdGFsLCB0b3RhbFRlYW1zRnJvbUdyYXBoLCB0b3RhbFBvc2l0aW9uc11cbiAgKVxuXG4gIHJldHVybiAoXG4gICAgPFVzZXJzVmlld0NvbnRleHQuUHJvdmlkZXIgdmFsdWU9e3ZpZXdWYWx1ZX0+XG4gICAgICA8VXNlcnNRdWVyeUNvbnRleHQuUHJvdmlkZXIgdmFsdWU9e3F1ZXJ5VmFsdWV9PlxuICAgICAgICA8VXNlcnNFZGl0UG9zaXRpb25zQ29udGV4dC5Qcm92aWRlciB2YWx1ZT17ZWRpdFBvc2l0aW9uc1ZhbHVlfT57Y2hpbGRyZW59PC9Vc2Vyc0VkaXRQb3NpdGlvbnNDb250ZXh0LlByb3ZpZGVyPlxuICAgICAgPC9Vc2Vyc1F1ZXJ5Q29udGV4dC5Qcm92aWRlcj5cbiAgICA8L1VzZXJzVmlld0NvbnRleHQuUHJvdmlkZXI+XG4gIClcbn1cblxuZXhwb3J0IGNvbnN0IHVzZVVzZXJzUXVlcnkgPSAoKSA9PiB7XG4gIGNvbnN0IGNvbnRleHQgPSB1c2VDb250ZXh0KFVzZXJzUXVlcnlDb250ZXh0KVxuICBpZiAoY29udGV4dCA9PT0gdW5kZWZpbmVkKSB0aHJvdyBuZXcgRXJyb3IoJ3VzZVVzZXJzUXVlcnkgbXVzdCBiZSB1c2VkIHdpdGhpbiBhIFVzZXJzUHJvdmlkZXInKVxuICByZXR1cm4gY29udGV4dFxufVxuXG5leHBvcnQgY29uc3QgdXNlVXNlcnNWaWV3ID0gKCkgPT4ge1xuICBjb25zdCBjb250ZXh0ID0gdXNlQ29udGV4dChVc2Vyc1ZpZXdDb250ZXh0KVxuICBpZiAoY29udGV4dCA9PT0gdW5kZWZpbmVkKSB0aHJvdyBuZXcgRXJyb3IoJ3VzZVVzZXJzVmlldyBtdXN0IGJlIHVzZWQgd2l0aGluIGEgVXNlcnNQcm92aWRlcicpXG4gIHJldHVybiBjb250ZXh0XG59XG5cbmV4cG9ydCBjb25zdCB1c2VVc2Vyc0VkaXRQb3NpdGlvbnMgPSAoKSA9PiB7XG4gIGNvbnN0IGNvbnRleHQgPSB1c2VDb250ZXh0KFVzZXJzRWRpdFBvc2l0aW9uc0NvbnRleHQpXG4gIGlmIChjb250ZXh0ID09PSB1bmRlZmluZWQpIHRocm93IG5ldyBFcnJvcigndXNlVXNlcnNFZGl0UG9zaXRpb25zIG11c3QgYmUgdXNlZCB3aXRoaW4gYSBVc2Vyc1Byb3ZpZGVyJylcbiAgcmV0dXJuIGNvbnRleHRcbn1cblxuZXhwb3J0IGNvbnN0IHVzZVVzZXJJbmZvID0gKCkgPT4ge1xuICBjb25zdCBjb250ZXh0ID0gdXNlQ29udGV4dDxVc2VyVHlwZXM+KFVzZXJDb250ZXh0KVxuICBpZiAoY29udGV4dCA9PT0gdW5kZWZpbmVkKSB0aHJvdyBuZXcgRXJyb3IoJ3VzZVVzZXJJbmZvIG11c3QgYmUgdXNlZCB3aXRoaW4gYSBVc2Vyc1Byb3ZpZGVyJylcbiAgcmV0dXJuIGNvbnRleHRcbn1cblxuZXhwb3J0IGNvbnN0IHVzZVVzZXJzQ291bnQgPSAoKSA9PiB7XG4gIGNvbnN0IGNvbnRleHQgPSB1c2VDb250ZXh0KFVzZXJzVmlld0NvbnRleHQpXG4gIGlmIChjb250ZXh0ID09PSB1bmRlZmluZWQpIHRocm93IG5ldyBFcnJvcigndXNlVXNlcnNDb3VudCBtdXN0IGJlIHVzZWQgd2l0aGluIGEgVXNlcnNQcm92aWRlcicpXG4gIHJldHVybiB7XG4gICAgdG90YWxVc2VyczogY29udGV4dC50b3RhbFVzZXJzLFxuICAgIHRvdGFsVGVhbXM6IGNvbnRleHQudG90YWxUZWFtcyxcbiAgICB0b3RhbFBvc2l0aW9uczogY29udGV4dC50b3RhbFBvc2l0aW9ucyxcbiAgfVxufVxuXG5leHBvcnQgY29uc3QgdXNlVXNlcnMgPSAoKSA9PiB7XG4gIGNvbnN0IHF1ZXJ5ID0gdXNlVXNlcnNRdWVyeSgpXG4gIGNvbnN0IHZpZXdDdHggPSB1c2VVc2Vyc1ZpZXcoKVxuICBjb25zdCBlZGl0ID0gdXNlVXNlcnNFZGl0UG9zaXRpb25zKClcbiAgY29uc3QgdXNlckluZm8gPSB1c2VVc2VySW5mbygpXG4gIHJldHVybiB7IC4uLnF1ZXJ5LCAuLi52aWV3Q3R4LCAuLi5lZGl0LCB1c2VySW5mbyB9XG59XG4iXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUE7QUFDQTtBQUNBLFNBQVNBLGFBQWEsRUFBRUMsV0FBVyxFQUFFQyxVQUFVLEVBQUVDLE9BQU8sRUFBYUMsUUFBUSxFQUFFQyxTQUFTLFFBQVEsT0FBTztBQUN2RyxTQUFTQyxXQUFXLFFBQVEsb0RBQW9EO0FBQ2hGLFNBQVNDLFdBQVcsUUFBUSxzQkFBc0I7QUFDbEQsU0FBU0MsZ0JBQWdCLFFBQVEsMkJBQTJCO0FBQzVELFNBQVNDLG9CQUFvQixRQUFRLCtCQUErQjtBQUVwRSxTQUFTQywwQkFBMEIsUUFBUSwrQkFBK0I7QUFDMUUsU0FBU0Msd0JBQXdCLFFBQVEsMkJBQTJCO0FBQUEsU0FBQUMsR0FBQSxJQUFBQyxJQUFBO0FBb0VwRSxJQUFNQyxpQkFBaUIsZ0JBQUdkLGFBQWEsQ0FBb0NlLFNBQVMsQ0FBQztBQUNyRixJQUFNQyxnQkFBZ0IsZ0JBQUdoQixhQUFhLENBQW1DZSxTQUFTLENBQUM7QUFDbkYsSUFBTUUseUJBQXlCLGdCQUFHakIsYUFBYSxDQUE0Q2UsU0FBUyxDQUFDO0FBRXJHLE9BQU8sSUFBTUcsYUFBYSxHQUFHLFNBQWhCQSxhQUFhQSxDQUFBQyxJQUFBLEVBQWlGO0VBQUEsSUFBM0VDLFFBQVEsR0FBQUQsSUFBQSxDQUFSQyxRQUFRO0lBQVFDLFdBQVcsR0FBQUYsSUFBQSxDQUFqQkcsSUFBSTtFQUM1QyxJQUFBQyxTQUFBLEdBQXdCbkIsUUFBUSxDQUFXaUIsV0FBVyxDQUFDO0lBQUFHLFVBQUEsR0FBQUMsY0FBQSxDQUFBRixTQUFBO0lBQWhERCxJQUFJLEdBQUFFLFVBQUE7SUFBRUUsT0FB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NUMsSUFBSXNGLE9BQU8sS0FBS3ZGLFNBQVMsRUFBRSxNQUFNLElBQUl3RixLQUFLLENBQUMsa0RBQWtELENBQUM7RUFDOUYsT0FBT0QsT0FBTztBQUNoQixDQUFDO0FBRUQsT0FBTyxJQUFNRyxxQkFBcUIsR0FBRyxTQUF4QkEscUJBQXFCQSxDQUFBLEVBQVM7RUFDekMsSUFBTUgsT0FBTyxHQUFHcEcsVUFBVSxDQUFDZSx5QkFBeUIsQ0FBQztFQUNyRCxJQUFJcUYsT0FBTyxLQUFLdkYsU0FBUyxFQUFFLE1BQU0sSUFBSXdGLEtBQUssQ0FBQywyREFBMkQsQ0FBQztFQUN2RyxPQUFPRCxPQUFPO0FBQ2hCLENBQUM7QUFFRCxPQUFPLElBQU1JLFdBQVcsR0FBRyxTQUFkQSxXQUFXQSxDQUFBLEVBQVM7RUFDL0IsSUFBTUosT0FBTyxHQUFHcEcsVUFBVSxDQUFZSSxXQUFXLENBQUM7RUFDbEQsSUFBSWdHLE9BQU8sS0FBS3ZGLFNBQVMsRUFBRSxNQUFNLElBQUl3RixLQUFLLENBQUMsaURBQWlELENBQUM7RUFDN0YsT0FBT0QsT0FBTztBQUNoQixDQUFDO0FBRUQsT0FBTyxJQUFNSyxhQUFhLEdBQUcsU0FBaEJBLGFBQWFBLENBQUEsRUFBUztFQUNqQyxJQUFNTCxPQUFPLEdBQUdwRyxVQUFVLENBQUNjLGdCQUFnQixDQUFDO0VBQzVDLElBQUlzRixPQUFPLEtBQUt2RixTQUFTLEVBQUUsTUFBTSxJQUFJd0YsS0FBSyxDQUFDLG1EQUFtRCxDQUFDO0VBQy9GLE9BQU87SUFDTDFELFVBQVUsRUFBRXlELE9BQU8sQ0FBQ3pELFVBQVU7SUFDOUJzRCxVQUFVLEVBQUVHLE9BQU8sQ0FBQ0gsVUFBVTtJQUM5QmxDLGNBQWMsRUFBRXFDLE9BQU8sQ0FBQ3JDO0VBQzFCLENBQUM7QUFDSCxDQUFDO0FBRUQsT0FBTyxJQUFNMkMsUUFBUSxHQUFHLFNBQVhBLFFBQVFBLENBQUEsRUFBUztFQUM1QixJQUFNQyxLQUFLLEdBQUdSLGFBQWEsQ0FBQyxDQUFDO0VBQzdCLElBQU1TLE9BQU8sR0FBR04sWUFBWSxDQUFDLENBQUM7RUFDOUIsSUFBTU8sSUFBSSxHQUFHTixxQkFBcUIsQ0FBQyxDQUFDO0VBQ3BDLElBQU1PLFFBQVEsR0FBR04sV0FBVyxDQUFDLENBQUM7RUFDOUIsT0FBQU8sYUFBQSxDQUFBQSxhQUFBLENBQUFBLGFBQUEsQ0FBQUEsYUFBQSxLQUFZSixLQUFLLEdBQUtDLE9BQU8sR0FBS0MsSUFBSTtJQUFFQyxRQUFRLEVBQVJBO0VBQVE7QUFDbEQsQ0FBQyIsImlnbm9yZUxpc3QiOltdfQ==
|
package/lib/hooks/useGetTeams.js
CHANGED
|
@@ -2,12 +2,15 @@ import _defineProperty from "@babel/runtime/helpers/defineProperty";
|
|
|
2
2
|
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; }
|
|
3
3
|
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; }
|
|
4
4
|
/* eslint-disable no-nested-ternary */
|
|
5
|
-
import { useCallback } from 'react';
|
|
5
|
+
import { useCallback, useRef } from 'react';
|
|
6
6
|
import { GET_TEAMS } from '../query/getTeams';
|
|
7
7
|
import { apolloReasourceAllocationServiceClient } from '../utils/ApolloMicroServiceClient';
|
|
8
8
|
import { useTeams } from '../context/TeamsContext';
|
|
9
|
+
import { useUsersView } from '../context/UsersContext';
|
|
9
10
|
import { useLazyQueryAdapter } from './useGraphAdapter';
|
|
10
11
|
export var useGetTeams = function useGetTeams() {
|
|
12
|
+
var _useUsersView = useUsersView(),
|
|
13
|
+
setTeamsListTotal = _useUsersView.setTeamsListTotal;
|
|
11
14
|
var _useTeams = useTeams(),
|
|
12
15
|
setTeams = _useTeams.setTeams,
|
|
13
16
|
setTotalTeams = _useTeams.setTotalTeams,
|
|
@@ -15,21 +18,25 @@ export var useGetTeams = function useGetTeams() {
|
|
|
15
18
|
setLastPage = _useTeams.setLastPage,
|
|
16
19
|
currentPage = _useTeams.currentPage,
|
|
17
20
|
lastPage = _useTeams.lastPage;
|
|
21
|
+
var updateTeamsTabTotalRef = useRef(false);
|
|
18
22
|
var _useLazyQueryAdapter = useLazyQueryAdapter({
|
|
19
23
|
query: GET_TEAMS,
|
|
20
24
|
client: apolloReasourceAllocationServiceClient,
|
|
21
25
|
onCompleted: function onCompleted(dataTeams) {
|
|
22
26
|
if (!(dataTeams !== null && dataTeams !== void 0 && dataTeams.teamsUsers)) return;
|
|
23
27
|
var _dataTeams$teamsUsers = dataTeams.teamsUsers,
|
|
28
|
+
total = _dataTeams$teamsUsers.total,
|
|
24
29
|
page = _dataTeams$teamsUsers.page,
|
|
25
30
|
resLastPage = _dataTeams$teamsUsers.lastPage,
|
|
26
31
|
resData = _dataTeams$teamsUsers.data;
|
|
27
32
|
setCurrentPage(+page);
|
|
28
33
|
setLastPage(+resLastPage);
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
34
|
+
setTeams(resData !== null && resData !== void 0 && resData.length ? resData : []);
|
|
35
|
+
setTotalTeams(+resLastPage);
|
|
36
|
+
if (updateTeamsTabTotalRef.current && total != null) {
|
|
37
|
+
setTeamsListTotal(+total);
|
|
32
38
|
}
|
|
39
|
+
updateTeamsTabTotalRef.current = false;
|
|
33
40
|
},
|
|
34
41
|
onError: function onError(_error) {
|
|
35
42
|
console.error(_error);
|
|
@@ -42,7 +49,10 @@ export var useGetTeams = function useGetTeams() {
|
|
|
42
49
|
var handleGetTeams = useCallback(function (_ref) {
|
|
43
50
|
var _ref$page = _ref.page,
|
|
44
51
|
page = _ref$page === void 0 ? 1 : _ref$page,
|
|
45
|
-
filter = _ref.filter
|
|
52
|
+
filter = _ref.filter,
|
|
53
|
+
_ref$updateTeamsTabTo = _ref.updateTeamsTabTotal,
|
|
54
|
+
updateTeamsTabTotal = _ref$updateTeamsTabTo === void 0 ? false : _ref$updateTeamsTabTo;
|
|
55
|
+
updateTeamsTabTotalRef.current = updateTeamsTabTotal;
|
|
46
56
|
fetchGetTeams({
|
|
47
57
|
variables: _objectSpread({
|
|
48
58
|
page: page
|
|
@@ -60,4 +70,4 @@ export var useGetTeams = function useGetTeams() {
|
|
|
60
70
|
lastPage: lastPage
|
|
61
71
|
};
|
|
62
72
|
};
|
|
63
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,
|
|
73
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJ1c2VDYWxsYmFjayIsInVzZVJlZiIsIkdFVF9URUFNUyIsImFwb2xsb1JlYXNvdXJjZUFsbG9jYXRpb25TZXJ2aWNlQ2xpZW50IiwidXNlVGVhbXMiLCJ1c2VVc2Vyc1ZpZXciLCJ1c2VMYXp5UXVlcnlBZGFwdGVyIiwidXNlR2V0VGVhbXMiLCJfdXNlVXNlcnNWaWV3Iiwic2V0VGVhbXNMaXN0VG90YWwiLCJfdXNlVGVhbXMiLCJzZXRUZWFtcyIsInNldFRvdGFsVGVhbXMiLCJzZXRDdXJyZW50UGFnZSIsInNldExhc3RQYWdlIiwiY3VycmVudFBhZ2UiLCJsYXN0UGFnZSIsInVwZGF0ZVRlYW1zVGFiVG90YWxSZWYiLCJfdXNlTGF6eVF1ZXJ5QWRhcHRlciIsInF1ZXJ5IiwiY2xpZW50Iiwib25Db21wbGV0ZWQiLCJkYXRhVGVhbXMiLCJ0ZWFtc1VzZXJzIiwiX2RhdGFUZWFtcyR0ZWFtc1VzZXJzIiwidG90YWwiLCJwYWdlIiwicmVzTGFzdFBhZ2UiLCJyZXNEYXRhIiwiZGF0YSIsImxlbmd0aCIsImN1cnJlbnQiLCJvbkVycm9yIiwiX2Vycm9yIiwiY29uc29sZSIsImVycm9yIiwiZmV0Y2hHZXRUZWFtcyIsImhhbmRsZUZldGNoTGF6eVF1ZXJ5IiwibG9hZGluZyIsImhhbmRsZUdldFRlYW1zIiwiX3JlZiIsIl9yZWYkcGFnZSIsImZpbHRlciIsIl9yZWYkdXBkYXRlVGVhbXNUYWJUbyIsInVwZGF0ZVRlYW1zVGFiVG90YWwiLCJ2YXJpYWJsZXMiLCJfb2JqZWN0U3ByZWFkIiwiT2JqZWN0Iiwia2V5cyJdLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9ob29rcy91c2VHZXRUZWFtcy50cyJdLCJzb3VyY2VzQ29udGVudCI6WyIvKiBlc2xpbnQtZGlzYWJsZSBuby1uZXN0ZWQtdGVybmFyeSAqL1xuaW1wb3J0IHsgdXNlQ2FsbGJhY2ssIHVzZVJlZiB9IGZyb20gJ3JlYWN0J1xuaW1wb3J0IHsgR0VUX1RFQU1TIH0gZnJvbSAnLi4vcXVlcnkvZ2V0VGVhbXMnXG5pbXBvcnQgeyBhcG9sbG9SZWFzb3VyY2VBbGxvY2F0aW9uU2VydmljZUNsaWVudCB9IGZyb20gJy4uL3V0aWxzL0Fwb2xsb01pY3JvU2VydmljZUNsaWVudCdcbmltcG9ydCB7IHVzZVRlYW1zIH0gZnJvbSAnLi4vY29udGV4dC9UZWFtc0NvbnRleHQnXG5pbXBvcnQgeyB1c2VVc2Vyc1ZpZXcgfSBmcm9tICcuLi9jb250ZXh0L1VzZXJzQ29udGV4dCdcbmltcG9ydCB7IHVzZUxhenlRdWVyeUFkYXB0ZXIgfSBmcm9tICcuL3VzZUdyYXBoQWRhcHRlcidcblxuZXhwb3J0IGNvbnN0IHVzZUdldFRlYW1zID0gKCkgPT4ge1xuICBjb25zdCB7IHNldFRlYW1zTGlzdFRvdGFsIH0gPSB1c2VVc2Vyc1ZpZXcoKVxuICBjb25zdCB7IHNldFRlYW1zLCBzZXRUb3RhbFRlYW1zLCBzZXRDdXJyZW50UGFnZSwgc2V0TGFzdFBhZ2UsIGN1cnJlbnRQYWdlLCBsYXN0UGFnZSB9ID0gdXNlVGVhbXMoKVxuICBjb25zdCB1cGRhdGVUZWFtc1RhYlRvdGFsUmVmID0gdXNlUmVmKGZhbHNlKVxuXG4gIGNvbnN0IHtcbiAgICBoYW5kbGVGZXRjaExhenlRdWVyeTogZmV0Y2hHZXRUZWFtcyxcbiAgICBsb2FkaW5nLFxuICAgIGVycm9yLFxuICAgIGRhdGEsXG4gIH0gPSB1c2VMYXp5UXVlcnlBZGFwdGVyPHtcbiAgICB0ZWFtc1VzZXJzOiB7XG4gICAgICB0b3RhbDogbnVtYmVyXG4gICAgICBwZXJQYWdlOiBudW1iZXJcbiAgICAgIHBhZ2U6IG51bWJlclxuICAgICAgbGFzdFBhZ2U6IG51bWJlclxuICAgICAgZGF0YToge1xuICAgICAgICBpZDogbnVtYmVyXG4gICAgICAgIG5hbWU6IHN0cmluZ1xuICAgICAgICB1c2VyczogYW55W11cbiAgICAgICAgd29ya3NwYWNlOiBhbnlbXVxuICAgICAgfVtdXG4gICAgfVxuICB9Pih7XG4gICAgcXVlcnk6IEdFVF9URUFNUyxcbiAgICBjbGllbnQ6IGFwb2xsb1JlYXNvdXJjZUFsbG9jYXRpb25TZXJ2aWNlQ2xpZW50LFxuICAgIG9uQ29tcGxldGVkOiBkYXRhVGVhbXMgPT4ge1xuICAgICAgaWYgKCFkYXRhVGVhbXM/LnRlYW1zVXNlcnMpIHJldHVyblxuICAgICAgY29uc3QgeyB0b3RhbCwgcGFnZSwgbGFzdFBhZ2U6IHJlc0xhc3RQYWdlLCBkYXRhOiByZXNEYXRhIH0gPSBkYXRhVGVhbXMudGVhbXNVc2Vyc1xuICAgICAgc2V0Q3VycmVudFBhZ2UoK3BhZ2UpXG4gICAgICBzZXRMYXN0UGFnZSgrcmVzTGFzdFBhZ2UpXG4gICAgICBzZXRUZWFtcyhyZXNEYXRhPy5sZW5ndGggPyByZXNEYXRhIDogW10pXG4gICAgICBzZXRUb3RhbFRlYW1zKCtyZXNMYXN0UGFnZSlcbiAgICAgIGlmICh1cGRhdGVUZWFtc1RhYlRvdGFsUmVmLmN1cnJlbnQgJiYgdG90YWwgIT0gbnVsbCkge1xuICAgICAgICBzZXRUZWFtc0xpc3RUb3RhbCgrdG90YWwpXG4gICAgICB9XG4gICAgICB1cGRhdGVUZWFtc1RhYlRvdGFsUmVmLmN1cnJlbnQgPSBmYWxzZVxuICAgIH0sXG4gICAgb25FcnJvcjogX2Vycm9yID0+IHtcbiAgICAgIGNvbnNvbGUuZXJyb3IoX2Vycm9yKVxuICAgIH0sXG4gIH0pXG5cbiAgY29uc3QgaGFuZGxlR2V0VGVhbXMgPSB1c2VDYWxsYmFjayhcbiAgICAoe1xuICAgICAgcGFnZSA9IDEsXG4gICAgICBmaWx0ZXIsXG4gICAgICB1cGRhdGVUZWFtc1RhYlRvdGFsID0gZmFsc2UsXG4gICAgfToge1xuICAgICAgcGFnZT86IG51bWJlclxuICAgICAgZmlsdGVyPzogYW55XG4gICAgICB1cGRhdGVUZWFtc1RhYlRvdGFsPzogYm9vbGVhblxuICAgIH0pID0+IHtcbiAgICAgIHVwZGF0ZVRlYW1zVGFiVG90YWxSZWYuY3VycmVudCA9IHVwZGF0ZVRlYW1zVGFiVG90YWxcbiAgICAgIGZldGNoR2V0VGVhbXMoe1xuICAgICAgICB2YXJpYWJsZXM6IHtcbiAgICAgICAgICBwYWdlLFxuICAgICAgICAgIC4uLihmaWx0ZXIgJiYgT2JqZWN0LmtleXMoZmlsdGVyKS5sZW5ndGggPiAwICYmIHsgZmlsdGVyIH0pLFxuICAgICAgICB9LFxuICAgICAgfSlcbiAgICB9LFxuICAgIFtmZXRjaEdldFRlYW1zXVxuICApXG5cbiAgcmV0dXJuIHsgbG9hZGluZywgZXJyb3IsIGRhdGEsIGhhbmRsZUdldFRlYW1zLCBjdXJyZW50UGFnZSwgbGFzdFBhZ2UgfVxufVxuIl0sIm1hcHBpbmdzIjoiOzs7QUFBQTtBQUNBLFNBQVNBLFdBQVcsRUFBRUMsTUFBTSxRQUFRLE9BQU87QUFDM0MsU0FBU0MsU0FBUyxRQUFRLG1CQUFtQjtBQUM3QyxTQUFTQyxzQ0FBc0MsUUFBUSxtQ0FBbUM7QUFDMUYsU0FBU0MsUUFBUSxRQUFRLHlCQUF5QjtBQUNsRCxTQUFTQyxZQUFZLFFBQVEseUJBQXlCO0FBQ3RELFNBQVNDLG1CQUFtQixRQUFRLG1CQUFtQjtBQUV2RCxPQUFPLElBQU1DLFdBQVcsR0FBRyxTQUFkQSxXQUFXQSxDQUFBLEVBQVM7RUFDL0IsSUFBQUMsYUFBQSxHQUE4QkgsWUFBWSxDQUFDLENBQUM7SUFBcENJLGlCQUFpQixHQUFBRCxhQUFBLENBQWpCQyxpQkFBaUI7RUFDekIsSUFBQUMsU0FBQSxHQUF3Rk4sUUFBUSxDQUFDLENBQUM7SUFBMUZPLFFBQVEsR0FBQUQsU0FBQSxDQUFSQyxRQUFRO0lBQUVDLGFBQWEsR0FBQUYsU0FBQSxDQUFiRSxhQUFhO0lBQUVDLGNBQWMsR0FBQUgsU0FBQSxDQUFkRyxjQUFjO0lBQUVDLFdBQVcsR0FBQUosU0FBQSxDQUFYSSxXQUFXO0lBQUVDLFdBQVcsR0FBQUwsU0FBQSxDQUFYSyxXQUFXO0lBQUVDLFFBQVEsR0FBQU4sU0FBQSxDQUFSTSxRQUFRO0VBQ25GLElBQU1DLHNCQUFzQixHQUFHaEIsTUFBTSxDQUFDLEtBQUssQ0FBQztFQUU1QyxJQUFBaUIsb0JBQUEsR0FLSVosbUJBQW1CLENBYXBCO01BQ0RhLEtBQUssRUFBRWpCLFNBQVM7TUFD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
|
|
@@ -5,6 +5,11 @@ export var isCorWorkspacesFeatureEnabled = function isCorWorkspacesFeatureEnable
|
|
|
5
5
|
if (typeof window === 'undefined') return false;
|
|
6
6
|
var w = window;
|
|
7
7
|
var raw = w.hasWorkspacesFeature;
|
|
8
|
-
|
|
8
|
+
if (raw === true || raw === 1) return true;
|
|
9
|
+
if (typeof raw === 'string') {
|
|
10
|
+
var normalized = raw.trim().toLowerCase();
|
|
11
|
+
return normalized === 'true' || normalized === '1';
|
|
12
|
+
}
|
|
13
|
+
return false;
|
|
9
14
|
};
|
|
10
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,
|
|
15
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJpc0NvcldvcmtzcGFjZXNGZWF0dXJlRW5hYmxlZCIsIndpbmRvdyIsInciLCJyYXciLCJoYXNXb3Jrc3BhY2VzRmVhdHVyZSIsIm5vcm1hbGl6ZWQiLCJ0cmltIiwidG9Mb3dlckNhc2UiXSwic291cmNlcyI6WyIuLi8uLi9zcmMvdXRpbHMvaXNDb3JXb3Jrc3BhY2VzRmVhdHVyZUVuYWJsZWQudHMiXSwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBJbmRpY2Egc2kgbGEgZmVhdHVyZSBXT1JLU1BBQ0VTIGVzdMOhIGhhYmlsaXRhZGEgZW4gZWwgaG9zdCAodXNlcnMvaW5kZXguYmxhZGUucGhwIHNldGVhIHdpbmRvdy5oYXNXb3Jrc3BhY2VzRmVhdHVyZSkuXG4gKi9cbmV4cG9ydCBjb25zdCBpc0NvcldvcmtzcGFjZXNGZWF0dXJlRW5hYmxlZCA9ICgpOiBib29sZWFuID0+IHtcbiAgaWYgKHR5cGVvZiB3aW5kb3cgPT09ICd1bmRlZmluZWQnKSByZXR1cm4gZmFsc2VcbiAgY29uc3QgdyA9IHdpbmRvdyBhcyBXaW5kb3cgJiB7IGhhc1dvcmtzcGFjZXNGZWF0dXJlPzogdW5rbm93biB9XG4gIGNvbnN0IHJhdyA9IHcuaGFzV29ya3NwYWNlc0ZlYXR1cmVcbiAgaWYgKHJhdyA9PT0gdHJ1ZSB8fCByYXcgPT09IDEpIHJldHVybiB0cnVlXG4gIGlmICh0eXBlb2YgcmF3ID09PSAnc3RyaW5nJykge1xuICAgIGNvbnN0IG5vcm1hbGl6ZWQgPSByYXcudHJpbSgpLnRvTG93ZXJDYXNlKClcbiAgICByZXR1cm4gbm9ybWFsaXplZCA9PT0gJ3RydWUnIHx8IG5vcm1hbGl6ZWQgPT09ICcxJ1xuICB9XG4gIHJldHVybiBmYWxzZVxufVxuIl0sIm1hcHBpbmdzIjoiQUFBQTtBQUNBO0FBQ0E7QUFDQSxPQUFPLElBQU1BLDZCQUE2QixHQUFHLFNBQWhDQSw2QkFBNkJBLENBQUEsRUFBa0I7RUFDMUQsSUFBSSxPQUFPQyxNQUFNLEtBQUssV0FBVyxFQUFFLE9BQU8sS0FBSztFQUMvQyxJQUFNQyxDQUFDLEdBQUdELE1BQXFEO0VBQy9ELElBQU1FLEdBQUcsR0FBR0QsQ0FBQyxDQUFDRSxvQkFBb0I7RUFDbEMsSUFBSUQsR0FBRyxLQUFLLElBQUksSUFBSUEsR0FBRyxLQUFLLENBQUMsRUFBRSxPQUFPLElBQUk7RUFDMUMsSUFBSSxPQUFPQSxHQUFHLEtBQUssUUFBUSxFQUFFO0lBQzNCLElBQU1FLFVBQVUsR0FBR0YsR0FBRyxDQUFDRyxJQUFJLENBQUMsQ0FBQyxDQUFDQyxXQUFXLENBQUMsQ0FBQztJQUMzQyxPQUFPRixVQUFVLEtBQUssTUFBTSxJQUFJQSxVQUFVLEtBQUssR0FBRztFQUNwRDtFQUNBLE9BQU8sS0FBSztBQUNkLENBQUMiLCJpZ25vcmVMaXN0IjpbXX0=
|
|
@@ -0,0 +1,120 @@
|
|
|
1
|
+
import _typeof from "@babel/runtime/helpers/typeof";
|
|
2
|
+
import _defineProperty from "@babel/runtime/helpers/defineProperty";
|
|
3
|
+
function _createForOfIteratorHelper(r, e) { var t = "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (!t) { if (Array.isArray(r) || (t = _unsupportedIterableToArray(r)) || e && r && "number" == typeof r.length) { t && (r = t); var _n = 0, F = function F() {}; return { s: F, n: function n() { return _n >= r.length ? { done: !0 } : { done: !1, value: r[_n++] }; }, e: function e(r) { throw r; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var o, a = !0, u = !1; return { s: function s() { t = t.call(r); }, n: function n() { var r = t.next(); return a = r.done, r; }, e: function e(r) { u = !0, o = r; }, f: function f() { try { a || null == t["return"] || t["return"](); } finally { if (u) throw o; } } }; }
|
|
4
|
+
function _unsupportedIterableToArray(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; } }
|
|
5
|
+
function _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }
|
|
6
|
+
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; }
|
|
7
|
+
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; }
|
|
8
|
+
var USERS_KEY = 'cor-people:users-filters';
|
|
9
|
+
var TEAMS_KEY = 'cor-people:teams-workspace-filters';
|
|
10
|
+
function readPersisted(key) {
|
|
11
|
+
if (typeof window === 'undefined') return null;
|
|
12
|
+
try {
|
|
13
|
+
var fromLocal = window.localStorage.getItem(key);
|
|
14
|
+
if (fromLocal != null) return fromLocal;
|
|
15
|
+
var legacy = window.sessionStorage.getItem(key);
|
|
16
|
+
if (legacy != null) {
|
|
17
|
+
try {
|
|
18
|
+
window.localStorage.setItem(key, legacy);
|
|
19
|
+
window.sessionStorage.removeItem(key);
|
|
20
|
+
} catch (_unused) {
|
|
21
|
+
/* ignore quota / private mode */
|
|
22
|
+
}
|
|
23
|
+
return legacy;
|
|
24
|
+
}
|
|
25
|
+
} catch (_unused2) {
|
|
26
|
+
return null;
|
|
27
|
+
}
|
|
28
|
+
return null;
|
|
29
|
+
}
|
|
30
|
+
function writePersisted(key, value) {
|
|
31
|
+
if (typeof window === 'undefined') return;
|
|
32
|
+
try {
|
|
33
|
+
window.localStorage.setItem(key, value);
|
|
34
|
+
try {
|
|
35
|
+
window.sessionStorage.removeItem(key);
|
|
36
|
+
} catch (_unused3) {
|
|
37
|
+
/* ignore quota / private mode */
|
|
38
|
+
}
|
|
39
|
+
} catch (_unused4) {
|
|
40
|
+
/* ignore quota / private mode */
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
export function loadUsersFilters() {
|
|
44
|
+
try {
|
|
45
|
+
var raw = readPersisted(USERS_KEY);
|
|
46
|
+
if (!raw) return null;
|
|
47
|
+
var parsed = JSON.parse(raw);
|
|
48
|
+
var chipLabelsRaw = parsed.chipLabels;
|
|
49
|
+
return _objectSpread({
|
|
50
|
+
searchInput: typeof parsed.searchInput === 'string' ? parsed.searchInput : '',
|
|
51
|
+
selectedTeams: Array.isArray(parsed.selectedTeams) ? parsed.selectedTeams.map(Number) : [],
|
|
52
|
+
selectedPositions: Array.isArray(parsed.selectedPositions) ? parsed.selectedPositions.map(Number) : [],
|
|
53
|
+
selectedWorkspaces: Array.isArray(parsed.selectedWorkspaces) ? parsed.selectedWorkspaces.map(Number) : []
|
|
54
|
+
}, chipLabelsRaw && _typeof(chipLabelsRaw) === 'object' ? {
|
|
55
|
+
chipLabels: chipLabelsRaw
|
|
56
|
+
} : {});
|
|
57
|
+
} catch (_unused5) {
|
|
58
|
+
return null;
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
export function saveUsersFilters(state) {
|
|
62
|
+
writePersisted(USERS_KEY, JSON.stringify(state));
|
|
63
|
+
}
|
|
64
|
+
export function optionLabelById(id, options) {
|
|
65
|
+
var _options$find;
|
|
66
|
+
var n = Number(id);
|
|
67
|
+
return (_options$find = options.find(function (o) {
|
|
68
|
+
return Number(o.id) === n;
|
|
69
|
+
})) === null || _options$find === void 0 ? void 0 : _options$find.label;
|
|
70
|
+
}
|
|
71
|
+
export function buildChipLabelMap(ids, options, prev) {
|
|
72
|
+
if (!ids.length) return undefined;
|
|
73
|
+
var out = {};
|
|
74
|
+
var _iterator = _createForOfIteratorHelper(ids),
|
|
75
|
+
_step;
|
|
76
|
+
try {
|
|
77
|
+
for (_iterator.s(); !(_step = _iterator.n()).done;) {
|
|
78
|
+
var _ref, _optionLabelById;
|
|
79
|
+
var id = _step.value;
|
|
80
|
+
var key = String(id);
|
|
81
|
+
out[key] = (_ref = (_optionLabelById = optionLabelById(id, options)) !== null && _optionLabelById !== void 0 ? _optionLabelById : prev === null || prev === void 0 ? void 0 : prev[key]) !== null && _ref !== void 0 ? _ref : "#".concat(id);
|
|
82
|
+
}
|
|
83
|
+
} catch (err) {
|
|
84
|
+
_iterator.e(err);
|
|
85
|
+
} finally {
|
|
86
|
+
_iterator.f();
|
|
87
|
+
}
|
|
88
|
+
return out;
|
|
89
|
+
}
|
|
90
|
+
export function buildValuesToFilterPayload(p) {
|
|
91
|
+
var positions = p.selectedPositions.length ? {
|
|
92
|
+
positions: p.selectedPositions
|
|
93
|
+
} : {};
|
|
94
|
+
var team = p.selectedTeams.length ? {
|
|
95
|
+
team: p.selectedTeams
|
|
96
|
+
} : {};
|
|
97
|
+
var workspaceIds = p.selectedWorkspaces.length ? {
|
|
98
|
+
workspaceIds: p.selectedWorkspaces
|
|
99
|
+
} : {};
|
|
100
|
+
return _objectSpread(_objectSpread(_objectSpread({}, positions), team), workspaceIds);
|
|
101
|
+
}
|
|
102
|
+
export function loadTeamsWorkspaceIds() {
|
|
103
|
+
try {
|
|
104
|
+
var raw = readPersisted(TEAMS_KEY);
|
|
105
|
+
if (!raw) return [];
|
|
106
|
+
var parsed = JSON.parse(raw);
|
|
107
|
+
if (!Array.isArray(parsed.workspaceIds)) return [];
|
|
108
|
+
return parsed.workspaceIds.map(Number).filter(function (n) {
|
|
109
|
+
return !Number.isNaN(n);
|
|
110
|
+
});
|
|
111
|
+
} catch (_unused6) {
|
|
112
|
+
return [];
|
|
113
|
+
}
|
|
114
|
+
}
|
|
115
|
+
export function saveTeamsWorkspaceIds(workspaceIds) {
|
|
116
|
+
writePersisted(TEAMS_KEY, JSON.stringify({
|
|
117
|
+
workspaceIds: workspaceIds
|
|
118
|
+
}));
|
|
119
|
+
}
|
|
120
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJVU0VSU19LRVkiLCJURUFNU19LRVkiLCJyZWFkUGVyc2lzdGVkIiwia2V5Iiwid2luZG93IiwiZnJvbUxvY2FsIiwibG9jYWxTdG9yYWdlIiwiZ2V0SXRlbSIsImxlZ2FjeSIsInNlc3Npb25TdG9yYWdlIiwic2V0SXRlbSIsInJlbW92ZUl0ZW0iLCJfdW51c2VkIiwiX3VudXNlZDIiLCJ3cml0ZVBlcnNpc3RlZCIsInZhbHVlIiwiX3VudXNlZDMiLCJfdW51c2VkNCIsImxvYWRVc2Vyc0ZpbHRlcnMiLCJyYXciLCJwYXJzZWQiLCJKU09OIiwicGFyc2UiLCJjaGlwTGFiZWxzUmF3IiwiY2hpcExhYmVscyIsIl9vYmplY3RTcHJlYWQiLCJzZWFyY2hJbnB1dCIsInNlbGVjdGVkVGVhbXMiLCJBcnJheSIsImlzQXJyYXkiLCJtYXAiLCJOdW1iZXIiLCJzZWxlY3RlZFBvc2l0aW9ucyIsInNlbGVjdGVkV29ya3NwYWNlcyIsIl90eXBlb2YiLCJfdW51c2VkNSIsInNhdmVVc2Vyc0ZpbHRlcnMiLCJzdGF0ZSIsInN0cmluZ2lmeSIsIm9wdGlvbkxhYmVsQnlJZCIsImlkIiwib3B0aW9ucyIsIl9vcHRpb25zJGZpbmQiLCJuIiwiZmluZCIsIm8iLCJsYWJlbCIsImJ1aWxkQ2hpcExhYmVsTWFwIiwiaWRzIiwicHJldiIsImxlbmd0aCIsInVuZGVmaW5lZCIsIm91dCIsIl9pdGVyYXRvciIsIl9jcmVhdGVGb3JPZkl0ZXJhdG9ySGVscGVyIiwiX3N0ZXAiLCJzIiwiZG9uZSIsIl9yZWYiLCJfb3B0aW9uTGFiZWxCeUlkIiwiU3RyaW5nIiwiY29uY2F0IiwiZXJyIiwiZSIsImYiLCJidWlsZFZhbHVlc1RvRmlsdGVyUGF5bG9hZCIsInAiLCJwb3NpdGlvbnMiLCJ0ZWFtIiwid29ya3NwYWNlSWRzIiwibG9hZFRlYW1zV29ya3NwYWNlSWRzIiwiZmlsdGVyIiwiaXNOYU4iLCJfdW51c2VkNiIsInNhdmVUZWFtc1dvcmtzcGFjZUlkcyJdLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlscy9wZW9wbGVGaWx0ZXJzU3RvcmFnZS50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJjb25zdCBVU0VSU19LRVkgPSAnY29yLXBlb3BsZTp1c2Vycy1maWx0ZXJzJ1xuY29uc3QgVEVBTVNfS0VZID0gJ2Nvci1wZW9wbGU6dGVhbXMtd29ya3NwYWNlLWZpbHRlcnMnXG5cbmZ1bmN0aW9uIHJlYWRQZXJzaXN0ZWQoa2V5OiBzdHJpbmcpOiBzdHJpbmcgfCBudWxsIHtcbiAgaWYgKHR5cGVvZiB3aW5kb3cgPT09ICd1bmRlZmluZWQnKSByZXR1cm4gbnVsbFxuICB0cnkge1xuICAgIGNvbnN0IGZyb21Mb2NhbCA9IHdpbmRvdy5sb2NhbFN0b3JhZ2UuZ2V0SXRlbShrZXkpXG4gICAgaWYgKGZyb21Mb2NhbCAhPSBudWxsKSByZXR1cm4gZnJvbUxvY2FsXG4gICAgY29uc3QgbGVnYWN5ID0gd2luZG93LnNlc3Npb25TdG9yYWdlLmdldEl0ZW0oa2V5KVxuICAgIGlmIChsZWdhY3kgIT0gbnVsbCkge1xuICAgICAgdHJ5IHtcbiAgICAgICAgd2luZG93LmxvY2FsU3RvcmFnZS5zZXRJdGVtKGtleSwgbGVnYWN5KVxuICAgICAgICB3aW5kb3cuc2Vzc2lvblN0b3JhZ2UucmVtb3ZlSXRlbShrZXkpXG4gICAgICB9IGNhdGNoIHtcbiAgICAgICAgLyogaWdub3JlIHF1b3RhIC8gcHJpdmF0ZSBtb2RlICovXG4gICAgICB9XG4gICAgICByZXR1cm4gbGVnYWN5XG4gICAgfVxuICB9IGNhdGNoIHtcbiAgICByZXR1cm4gbnVsbFxuICB9XG4gIHJldHVybiBudWxsXG59XG5cbmZ1bmN0aW9uIHdyaXRlUGVyc2lzdGVkKGtleTogc3RyaW5nLCB2YWx1ZTogc3RyaW5nKTogdm9pZCB7XG4gIGlmICh0eXBlb2Ygd2luZG93ID09PSAndW5kZWZpbmVkJykgcmV0dXJuXG4gIHRyeSB7XG4gICAgd2luZG93LmxvY2FsU3RvcmFnZS5zZXRJdGVtKGtleSwgdmFsdWUpXG4gICAgdHJ5IHtcbiAgICAgIHdpbmRvdy5zZXNzaW9uU3RvcmFnZS5yZW1vdmVJdGVtKGtleSlcbiAgICB9IGNhdGNoIHtcbiAgICAgIC8qIGlnbm9yZSBxdW90YSAvIHByaXZhdGUgbW9kZSAqL1xuICAgIH1cbiAgfSBjYXRjaCB7XG4gICAgLyogaWdub3JlIHF1b3RhIC8gcHJpdmF0ZSBtb2RlICovXG4gIH1cbn1cblxuZXhwb3J0IHR5cGUgQ2hpcExhYmVsc1BlcnNpc3RlZCA9IHtcbiAgdGVhbXM/OiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+XG4gIHdvcmtzcGFjZXM/OiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+XG4gIHBvc2l0aW9ucz86IFJlY29yZDxzdHJpbmcsIHN0cmluZz5cbn1cblxuZXhwb3J0IHR5cGUgU3RvcmVkVXNlcnNGaWx0ZXJzID0ge1xuICBzZWFyY2hJbnB1dDogc3RyaW5nXG4gIHNlbGVjdGVkVGVhbXM6IG51bWJlcltdXG4gIHNlbGVjdGVkUG9zaXRpb25zOiBudW1iZXJbXVxuICBzZWxlY3RlZFdvcmtzcGFjZXM6IG51bWJlcltdXG4gIGNoaXBMYWJlbHM/OiBDaGlwTGFiZWxzUGVyc2lzdGVkXG59XG5cbmV4cG9ydCBmdW5jdGlvbiBsb2FkVXNlcnNGaWx0ZXJzKCk6IFN0b3JlZFVzZXJzRmlsdGVycyB8IG51bGwge1xuICB0cnkge1xuICAgIGNvbnN0IHJhdyA9IHJlYWRQZXJzaXN0ZWQoVVNFUlNfS0VZKVxuICAgIGlmICghcmF3KSByZXR1cm4gbnVsbFxuICAgIGNvbnN0IHBhcnNlZCA9IEpTT04ucGFyc2UocmF3KSBhcyBQYXJ0aWFsPFN0b3JlZFVzZXJzRmlsdGVycz5cbiAgICBjb25zdCBjaGlwTGFiZWxzUmF3ID0gcGFyc2VkLmNoaXBMYWJlbHMgYXMgQ2hpcExhYmVsc1BlcnNpc3RlZCB8IHVuZGVmaW5lZFxuICAgIHJldHVybiB7XG4gICAgICBzZWFyY2hJbnB1dDogdHlwZW9mIHBhcnNlZC5zZWFyY2hJbnB1dCA9PT0gJ3N0cmluZycgPyBwYXJzZWQuc2VhcmNoSW5wdXQgOiAnJyxcbiAgICAgIHNlbGVjdGVkVGVhbXM6IEFycmF5LmlzQXJyYXkocGFyc2VkLnNlbGVjdGVkVGVhbXMpID8gcGFyc2VkLnNlbGVjdGVkVGVhbXMubWFwKE51bWJlcikgOiBbXSxcbiAgICAgIHNlbGVjdGVkUG9zaXRpb25zOiBBcnJheS5pc0FycmF5KHBhcnNlZC5zZWxlY3RlZFBvc2l0aW9ucykgPyBwYXJzZWQuc2VsZWN0ZWRQb3NpdGlvbnMubWFwKE51bWJlcikgOiBbXSxcbiAgICAgIHNlbGVjdGVkV29ya3NwYWNlczogQXJyYXkuaXNBcnJheShwYXJzZWQuc2VsZWN0ZWRXb3Jrc3BhY2VzKSA/IHBhcnNlZC5zZWxlY3RlZFdvcmtzcGFjZXMubWFwKE51bWJlcikgOiBbXSxcbiAgICAgIC4uLihjaGlwTGFiZWxzUmF3ICYmIHR5cGVvZiBjaGlwTGFiZWxzUmF3ID09PSAnb2JqZWN0JyA/IHsgY2hpcExhYmVsczogY2hpcExhYmVsc1JhdyB9IDoge30pLFxuICAgIH1cbiAgfSBjYXRjaCB7XG4gICAgcmV0dXJuIG51bGxcbiAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gc2F2ZVVzZXJzRmlsdGVycyhzdGF0ZTogU3RvcmVkVXNlcnNGaWx0ZXJzKTogdm9pZCB7XG4gIHdyaXRlUGVyc2lzdGVkKFVTRVJTX0tFWSwgSlNPTi5zdHJpbmdpZnkoc3RhdGUpKVxufVxuXG5leHBvcnQgZnVuY3Rpb24gb3B0aW9uTGFiZWxCeUlkKGlkOiBudW1iZXIsIG9wdGlvbnM6IHsgaWQ6IG51bWJlciB8IHN0cmluZzsgbGFiZWw6IHN0cmluZyB9W10pOiBzdHJpbmcgfCB1bmRlZmluZWQge1xuICBjb25zdCBuID0gTnVtYmVyKGlkKVxuICByZXR1cm4gb3B0aW9ucy5maW5kKG8gPT4gTnVtYmVyKG8uaWQpID09PSBuKT8ubGFiZWxcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGJ1aWxkQ2hpcExhYmVsTWFwKFxuICBpZHM6IG51bWJlcltdLFxuICBvcHRpb25zOiB7IGlkOiBudW1iZXIgfCBzdHJpbmc7IGxhYmVsOiBzdHJpbmcgfVtdLFxuICBwcmV2PzogUmVjb3JkPHN0cmluZywgc3RyaW5nPlxuKTogUmVjb3JkPHN0cmluZywgc3RyaW5nPiB8IHVuZGVmaW5lZCB7XG4gIGlmICghaWRzLmxlbmd0aCkgcmV0dXJuIHVuZGVmaW5lZFxuICBjb25zdCBvdXQ6IFJlY29yZDxzdHJpbmcsIHN0cmluZz4gPSB7fVxuICBmb3IgKGNvbnN0IGlkIG9mIGlkcykge1xuICAgIGNvbnN0IGtleSA9IFN0cmluZyhpZClcbiAgICBvdXRba2V5XSA9IG9wdGlvbkxhYmVsQnlJZChpZCwgb3B0aW9ucykgPz8gcHJldj8uW2tleV0gPz8gYCMke2lkfWBcbiAgfVxuICByZXR1cm4gb3V0XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBidWlsZFZhbHVlc1RvRmlsdGVyUGF5bG9hZChwOiBTdG9yZWRVc2Vyc0ZpbHRlcnMpOiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPiB7XG4gIGNvbnN0IHBvc2l0aW9ucyA9IHAuc2VsZWN0ZWRQb3NpdGlvbnMubGVuZ3RoID8geyBwb3NpdGlvbnM6IHAuc2VsZWN0ZWRQb3NpdGlvbnMgfSA6IHt9XG4gIGNvbnN0IHRlYW0gPSBwLnNlbGVjdGVkVGVhbXMubGVuZ3RoID8geyB0ZWFtOiBwLnNlbGVjdGVkVGVhbXMgfSA6IHt9XG4gIGNvbnN0IHdvcmtzcGFjZUlkcyA9IHAuc2VsZWN0ZWRXb3Jrc3BhY2VzLmxlbmd0aCA/IHsgd29ya3NwYWNlSWRzOiBwLnNlbGVjdGVkV29ya3NwYWNlcyB9IDoge31cbiAgcmV0dXJuIHsgLi4ucG9zaXRpb25zLCAuLi50ZWFtLCAuLi53b3Jrc3BhY2VJZHMgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gbG9hZFRlYW1zV29ya3NwYWNlSWRzKCk6IG51bWJlcltdIHtcbiAgdHJ5IHtcbiAgICBjb25zdCByYXcgPSByZWFkUGVyc2lzdGVkKFRFQU1TX0tFWSlcbiAgICBpZiAoIXJhdykgcmV0dXJuIFtdXG4gICAgY29uc3QgcGFyc2VkID0gSlNPTi5wYXJzZShyYXcpIGFzIHsgd29ya3NwYWNlSWRzPzogdW5rbm93biB9XG4gICAgaWYgKCFBcnJheS5pc0FycmF5KHBhcnNlZC53b3Jrc3BhY2VJZHMpKSByZXR1cm4gW11cbiAgICByZXR1cm4gcGFyc2VkLndvcmtzcGFjZUlkcy5tYXAoTnVtYmVyKS5maWx0ZXIobiA9PiAhTnVtYmVyLmlzTmFOKG4pKVxuICB9IGNhdGNoIHtcbiAgICByZXR1cm4gW11cbiAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gc2F2ZVRlYW1zV29ya3NwYWNlSWRzKHdvcmtzcGFjZUlkczogbnVtYmVyW10pOiB2b2lkIHtcbiAgd3JpdGVQZXJzaXN0ZWQoVEVBTVNfS0VZLCBKU09OLnN0cmluZ2lmeSh7IHdvcmtzcGFjZUlkcyB9KSlcbn1cbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7OztBQUFBLElBQU1BLFNBQVMsR0FBRywwQkFBMEI7QUFDNUMsSUFBTUMsU0FBUyxHQUFHLG9DQUFvQztBQUV0RCxTQUFTQyxhQUFhQSxDQUFDQyxHQUFXLEVBQWlCO0VBQ2pELElBQUksT0FBT0MsTUFBTSxLQUFLLFdBQVcsRUFBRSxPQUFPLElBQUk7RUFDOUMsSUFBSTtJQUNGLElBQU1DLFNBQVMsR0FBR0QsTUFBTSxDQUFDRSxZQUFZLENBQUNDLE9BQU8sQ0FBQ0osR0FBRyxDQUFDO0lBQ2xELElBQUlFLFNBQVMsSUFBSSxJQUFJLEVBQUUsT0FBT0EsU0FBUztJQUN2QyxJQUFNRyxNQUFNLEdBQUdKLE1BQU0sQ0FBQ0ssY0FBYyxDQUFDRixPQUFPLENBQUNKLEdBQUcsQ0FBQztJQUNqRCxJQUFJSyxNQUFNLElBQUksSUFBSSxFQUFFO01BQ2xCLElBQUk7UUFDRkosTUFBTSxDQUFDRSxZQUFZLENBQUNJLE9BQU8sQ0FBQ1AsR0FBRyxFQUFFSyxNQUFNLENBQUM7UUFDeENKLE1BQU0sQ0FBQ0ssY0FBYyxDQUFDRSxVQUFVLENBQUNSLEdBQUcsQ0FBQztNQUN2QyxDQUFDLENBQUMsT0FBQVMsT0FBQSxFQUFNO1FBQ047TUFBQTtNQUVGLE9BQU9KLE1BQU07SUFDZjtFQUNGLENBQUMsQ0FBQyxPQUFBSyxR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
|