@atlaskit/teams-public 0.50.1 → 0.50.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/CHANGELOG.md +9 -0
- package/dist/cjs/controllers/hooks/use-requested-container/index.js +2 -0
- package/dist/cjs/controllers/hooks/use-requested-container/utils.js +8 -1
- package/dist/es2019/controllers/hooks/use-requested-container/index.js +3 -1
- package/dist/es2019/controllers/hooks/use-requested-container/utils.js +8 -2
- package/dist/esm/controllers/hooks/use-requested-container/index.js +3 -1
- package/dist/esm/controllers/hooks/use-requested-container/utils.js +8 -2
- package/dist/types/controllers/hooks/use-requested-container/utils.d.ts +2 -1
- package/dist/types-ts4.5/controllers/hooks/use-requested-container/utils.d.ts +2 -1
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,14 @@
|
|
|
1
1
|
# @atlaskit/teams-public
|
|
2
2
|
|
|
3
|
+
## 0.50.2
|
|
4
|
+
|
|
5
|
+
### Patch Changes
|
|
6
|
+
|
|
7
|
+
- [#193176](https://bitbucket.org/atlassian/atlassian-frontend-monorepo/pull-requests/193176)
|
|
8
|
+
[`99ab921c9d13f`](https://bitbucket.org/atlassian/atlassian-frontend-monorepo/commits/99ab921c9d13f) -
|
|
9
|
+
Update requested containers to remove search params on success/failure
|
|
10
|
+
- Updated dependencies
|
|
11
|
+
|
|
3
12
|
## 0.50.1
|
|
4
13
|
|
|
5
14
|
### Patch Changes
|
|
@@ -202,6 +202,7 @@ function useRequestedContainers(_ref) {
|
|
|
202
202
|
return _ref6.apply(this, arguments);
|
|
203
203
|
};
|
|
204
204
|
}();
|
|
205
|
+
(0, _utils.removeRequestedContainersFromUrl)();
|
|
205
206
|
onRequestedContainerTimeout(tryAgainCountRef.current === 0 ? createTryAgainFlag : createContactSupportFlag);
|
|
206
207
|
}, [cloudId, formatMessage, onRequestedContainerTimeout, refetchTeamContainers, requestedContainers, teamId]);
|
|
207
208
|
var _useAsyncPolling = (0, _utils.useAsyncPolling)(checkContainers, {
|
|
@@ -227,6 +228,7 @@ function useRequestedContainers(_ref) {
|
|
|
227
228
|
}
|
|
228
229
|
var containerCount = requestedContainers.length;
|
|
229
230
|
if (isPolling && containerCount === 0) {
|
|
231
|
+
(0, _utils.removeRequestedContainersFromUrl)();
|
|
230
232
|
stopPolling();
|
|
231
233
|
return;
|
|
232
234
|
}
|
|
@@ -9,6 +9,7 @@ exports.containerDisplayName = containerDisplayName;
|
|
|
9
9
|
exports.containersEqual = containersEqual;
|
|
10
10
|
exports.convertContainerToType = convertContainerToType;
|
|
11
11
|
exports.getRequestedContainersFromUrl = getRequestedContainersFromUrl;
|
|
12
|
+
exports.removeRequestedContainersFromUrl = removeRequestedContainersFromUrl;
|
|
12
13
|
exports.useAsyncPolling = useAsyncPolling;
|
|
13
14
|
exports.userCanAccessFeature = userCanAccessFeature;
|
|
14
15
|
var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
|
|
@@ -26,13 +27,14 @@ var CONTAINER_HUMAN_NAMES = {
|
|
|
26
27
|
JiraProject: 'Jira project',
|
|
27
28
|
LoomSpace: 'Loom space'
|
|
28
29
|
};
|
|
30
|
+
var SEARCH_PARAM_NAME = 'requestedContainers';
|
|
29
31
|
function containersEqual(arr1, arr2) {
|
|
30
32
|
return JSON.stringify((0, _toConsumableArray2.default)(arr1).sort()) === JSON.stringify((0, _toConsumableArray2.default)(arr2).sort());
|
|
31
33
|
}
|
|
32
34
|
function getRequestedContainersFromUrl() {
|
|
33
35
|
var _searchParams$get;
|
|
34
36
|
var searchParams = new URLSearchParams(window.location.search);
|
|
35
|
-
var values = ((_searchParams$get = searchParams.get(
|
|
37
|
+
var values = ((_searchParams$get = searchParams.get(SEARCH_PARAM_NAME)) === null || _searchParams$get === void 0 ? void 0 : _searchParams$get.split(',').filter(Boolean)) || [];
|
|
36
38
|
var containers = values.filter(function (value) {
|
|
37
39
|
return Object.values(_types.ContainerType).includes(value);
|
|
38
40
|
}).map(function (value) {
|
|
@@ -43,6 +45,11 @@ function getRequestedContainersFromUrl() {
|
|
|
43
45
|
}
|
|
44
46
|
return userCanAccessFeature() ? containers : [];
|
|
45
47
|
}
|
|
48
|
+
function removeRequestedContainersFromUrl() {
|
|
49
|
+
var searchParams = new URLSearchParams(window.location.search);
|
|
50
|
+
searchParams.delete(SEARCH_PARAM_NAME);
|
|
51
|
+
window.history.replaceState({}, '', "".concat(window.location.pathname, "?").concat(searchParams.toString()));
|
|
52
|
+
}
|
|
46
53
|
function containerDisplayName(container) {
|
|
47
54
|
return CONTAINER_HUMAN_NAMES[container];
|
|
48
55
|
}
|
|
@@ -4,7 +4,7 @@ import LinkExternalIcon from '@atlaskit/icon/core/link-external';
|
|
|
4
4
|
import { Flex } from '@atlaskit/primitives/compiled';
|
|
5
5
|
import { HttpError, teamsClient } from '@atlaskit/teams-client';
|
|
6
6
|
import { useTeamContainers } from '../use-team-containers';
|
|
7
|
-
import { containerDisplayName, containersEqual, convertContainerToType, getRequestedContainersFromUrl, POLLING_INTERVAL, useAsyncPolling, userCanAccessFeature } from './utils';
|
|
7
|
+
import { containerDisplayName, containersEqual, convertContainerToType, getRequestedContainersFromUrl, POLLING_INTERVAL, removeRequestedContainersFromUrl, useAsyncPolling, userCanAccessFeature } from './utils';
|
|
8
8
|
/**
|
|
9
9
|
* Hook to track and poll for requested product containers (such as a Jira Project).
|
|
10
10
|
* The initial list of requested containers is derived from the URL parameters, however it can be updated based on user interactions.
|
|
@@ -132,6 +132,7 @@ function useRequestedContainers({
|
|
|
132
132
|
setIsTryingAgain(false);
|
|
133
133
|
}
|
|
134
134
|
};
|
|
135
|
+
removeRequestedContainersFromUrl();
|
|
135
136
|
onRequestedContainerTimeout(tryAgainCountRef.current === 0 ? createTryAgainFlag : createContactSupportFlag);
|
|
136
137
|
}, [cloudId, formatMessage, onRequestedContainerTimeout, refetchTeamContainers, requestedContainers, teamId]);
|
|
137
138
|
const {
|
|
@@ -158,6 +159,7 @@ function useRequestedContainers({
|
|
|
158
159
|
}
|
|
159
160
|
const containerCount = requestedContainers.length;
|
|
160
161
|
if (isPolling && containerCount === 0) {
|
|
162
|
+
removeRequestedContainersFromUrl();
|
|
161
163
|
stopPolling();
|
|
162
164
|
return;
|
|
163
165
|
}
|
|
@@ -12,19 +12,25 @@ const CONTAINER_HUMAN_NAMES = {
|
|
|
12
12
|
JiraProject: 'Jira project',
|
|
13
13
|
LoomSpace: 'Loom space'
|
|
14
14
|
};
|
|
15
|
+
const SEARCH_PARAM_NAME = 'requestedContainers';
|
|
15
16
|
function containersEqual(arr1, arr2) {
|
|
16
17
|
return JSON.stringify([...arr1].sort()) === JSON.stringify([...arr2].sort());
|
|
17
18
|
}
|
|
18
19
|
function getRequestedContainersFromUrl() {
|
|
19
20
|
var _searchParams$get;
|
|
20
21
|
const searchParams = new URLSearchParams(window.location.search);
|
|
21
|
-
const values = ((_searchParams$get = searchParams.get(
|
|
22
|
+
const values = ((_searchParams$get = searchParams.get(SEARCH_PARAM_NAME)) === null || _searchParams$get === void 0 ? void 0 : _searchParams$get.split(',').filter(Boolean)) || [];
|
|
22
23
|
const containers = values.filter(value => Object.values(ContainerType).includes(value)).map(value => CONTAINER_MAP[value]);
|
|
23
24
|
if (containers.length === 0) {
|
|
24
25
|
return [];
|
|
25
26
|
}
|
|
26
27
|
return userCanAccessFeature() ? containers : [];
|
|
27
28
|
}
|
|
29
|
+
function removeRequestedContainersFromUrl() {
|
|
30
|
+
const searchParams = new URLSearchParams(window.location.search);
|
|
31
|
+
searchParams.delete(SEARCH_PARAM_NAME);
|
|
32
|
+
window.history.replaceState({}, '', `${window.location.pathname}?${searchParams.toString()}`);
|
|
33
|
+
}
|
|
28
34
|
function containerDisplayName(container) {
|
|
29
35
|
return CONTAINER_HUMAN_NAMES[container];
|
|
30
36
|
}
|
|
@@ -125,4 +131,4 @@ function useAsyncPolling(callback, {
|
|
|
125
131
|
hasTimedOut
|
|
126
132
|
};
|
|
127
133
|
}
|
|
128
|
-
export { useAsyncPolling, POLLING_INTERVAL, POLLING_DURATION, containersEqual, getRequestedContainersFromUrl, containerDisplayName, CONTAINER_MAP, userCanAccessFeature, convertContainerToType };
|
|
134
|
+
export { useAsyncPolling, POLLING_INTERVAL, POLLING_DURATION, containersEqual, getRequestedContainersFromUrl, containerDisplayName, CONTAINER_MAP, userCanAccessFeature, convertContainerToType, removeRequestedContainersFromUrl };
|
|
@@ -7,7 +7,7 @@ import LinkExternalIcon from '@atlaskit/icon/core/link-external';
|
|
|
7
7
|
import { Flex } from '@atlaskit/primitives/compiled';
|
|
8
8
|
import { HttpError, teamsClient } from '@atlaskit/teams-client';
|
|
9
9
|
import { useTeamContainers } from '../use-team-containers';
|
|
10
|
-
import { containerDisplayName, containersEqual, convertContainerToType, getRequestedContainersFromUrl, POLLING_INTERVAL, useAsyncPolling, userCanAccessFeature } from './utils';
|
|
10
|
+
import { containerDisplayName, containersEqual, convertContainerToType, getRequestedContainersFromUrl, POLLING_INTERVAL, removeRequestedContainersFromUrl, useAsyncPolling, userCanAccessFeature } from './utils';
|
|
11
11
|
/**
|
|
12
12
|
* Hook to track and poll for requested product containers (such as a Jira Project).
|
|
13
13
|
* The initial list of requested containers is derived from the URL parameters, however it can be updated based on user interactions.
|
|
@@ -193,6 +193,7 @@ function useRequestedContainers(_ref) {
|
|
|
193
193
|
return _ref6.apply(this, arguments);
|
|
194
194
|
};
|
|
195
195
|
}();
|
|
196
|
+
removeRequestedContainersFromUrl();
|
|
196
197
|
onRequestedContainerTimeout(tryAgainCountRef.current === 0 ? createTryAgainFlag : createContactSupportFlag);
|
|
197
198
|
}, [cloudId, formatMessage, onRequestedContainerTimeout, refetchTeamContainers, requestedContainers, teamId]);
|
|
198
199
|
var _useAsyncPolling = useAsyncPolling(checkContainers, {
|
|
@@ -218,6 +219,7 @@ function useRequestedContainers(_ref) {
|
|
|
218
219
|
}
|
|
219
220
|
var containerCount = requestedContainers.length;
|
|
220
221
|
if (isPolling && containerCount === 0) {
|
|
222
|
+
removeRequestedContainersFromUrl();
|
|
221
223
|
stopPolling();
|
|
222
224
|
return;
|
|
223
225
|
}
|
|
@@ -13,13 +13,14 @@ var CONTAINER_HUMAN_NAMES = {
|
|
|
13
13
|
JiraProject: 'Jira project',
|
|
14
14
|
LoomSpace: 'Loom space'
|
|
15
15
|
};
|
|
16
|
+
var SEARCH_PARAM_NAME = 'requestedContainers';
|
|
16
17
|
function containersEqual(arr1, arr2) {
|
|
17
18
|
return JSON.stringify(_toConsumableArray(arr1).sort()) === JSON.stringify(_toConsumableArray(arr2).sort());
|
|
18
19
|
}
|
|
19
20
|
function getRequestedContainersFromUrl() {
|
|
20
21
|
var _searchParams$get;
|
|
21
22
|
var searchParams = new URLSearchParams(window.location.search);
|
|
22
|
-
var values = ((_searchParams$get = searchParams.get(
|
|
23
|
+
var values = ((_searchParams$get = searchParams.get(SEARCH_PARAM_NAME)) === null || _searchParams$get === void 0 ? void 0 : _searchParams$get.split(',').filter(Boolean)) || [];
|
|
23
24
|
var containers = values.filter(function (value) {
|
|
24
25
|
return Object.values(ContainerType).includes(value);
|
|
25
26
|
}).map(function (value) {
|
|
@@ -30,6 +31,11 @@ function getRequestedContainersFromUrl() {
|
|
|
30
31
|
}
|
|
31
32
|
return userCanAccessFeature() ? containers : [];
|
|
32
33
|
}
|
|
34
|
+
function removeRequestedContainersFromUrl() {
|
|
35
|
+
var searchParams = new URLSearchParams(window.location.search);
|
|
36
|
+
searchParams.delete(SEARCH_PARAM_NAME);
|
|
37
|
+
window.history.replaceState({}, '', "".concat(window.location.pathname, "?").concat(searchParams.toString()));
|
|
38
|
+
}
|
|
33
39
|
function containerDisplayName(container) {
|
|
34
40
|
return CONTAINER_HUMAN_NAMES[container];
|
|
35
41
|
}
|
|
@@ -152,4 +158,4 @@ function useAsyncPolling(callback) {
|
|
|
152
158
|
hasTimedOut: hasTimedOut
|
|
153
159
|
};
|
|
154
160
|
}
|
|
155
|
-
export { useAsyncPolling, POLLING_INTERVAL, POLLING_DURATION, containersEqual, getRequestedContainersFromUrl, containerDisplayName, CONTAINER_MAP, userCanAccessFeature, convertContainerToType };
|
|
161
|
+
export { useAsyncPolling, POLLING_INTERVAL, POLLING_DURATION, containersEqual, getRequestedContainersFromUrl, containerDisplayName, CONTAINER_MAP, userCanAccessFeature, convertContainerToType, removeRequestedContainersFromUrl };
|
|
@@ -3,6 +3,7 @@ import { type ContainerTypes } from '../../../common/types';
|
|
|
3
3
|
declare const CONTAINER_MAP: Record<ContainerType, ContainerTypes>;
|
|
4
4
|
declare function containersEqual<T>(arr1: T[], arr2: T[]): boolean;
|
|
5
5
|
declare function getRequestedContainersFromUrl(): ContainerTypes[];
|
|
6
|
+
declare function removeRequestedContainersFromUrl(): void;
|
|
6
7
|
declare function containerDisplayName(container: ContainerTypes): string;
|
|
7
8
|
declare function convertContainerToType(container: ContainerTypes): ContainerType | null;
|
|
8
9
|
declare function userCanAccessFeature(): boolean;
|
|
@@ -31,4 +32,4 @@ declare function useAsyncPolling(callback: () => Promise<void> | void, { onTimeo
|
|
|
31
32
|
isPolling: boolean;
|
|
32
33
|
hasTimedOut: boolean;
|
|
33
34
|
};
|
|
34
|
-
export { useAsyncPolling, POLLING_INTERVAL, POLLING_DURATION, containersEqual, getRequestedContainersFromUrl, containerDisplayName, CONTAINER_MAP, userCanAccessFeature, convertContainerToType, };
|
|
35
|
+
export { useAsyncPolling, POLLING_INTERVAL, POLLING_DURATION, containersEqual, getRequestedContainersFromUrl, containerDisplayName, CONTAINER_MAP, userCanAccessFeature, convertContainerToType, removeRequestedContainersFromUrl, };
|
|
@@ -3,6 +3,7 @@ import { type ContainerTypes } from '../../../common/types';
|
|
|
3
3
|
declare const CONTAINER_MAP: Record<ContainerType, ContainerTypes>;
|
|
4
4
|
declare function containersEqual<T>(arr1: T[], arr2: T[]): boolean;
|
|
5
5
|
declare function getRequestedContainersFromUrl(): ContainerTypes[];
|
|
6
|
+
declare function removeRequestedContainersFromUrl(): void;
|
|
6
7
|
declare function containerDisplayName(container: ContainerTypes): string;
|
|
7
8
|
declare function convertContainerToType(container: ContainerTypes): ContainerType | null;
|
|
8
9
|
declare function userCanAccessFeature(): boolean;
|
|
@@ -31,4 +32,4 @@ declare function useAsyncPolling(callback: () => Promise<void> | void, { onTimeo
|
|
|
31
32
|
isPolling: boolean;
|
|
32
33
|
hasTimedOut: boolean;
|
|
33
34
|
};
|
|
34
|
-
export { useAsyncPolling, POLLING_INTERVAL, POLLING_DURATION, containersEqual, getRequestedContainersFromUrl, containerDisplayName, CONTAINER_MAP, userCanAccessFeature, convertContainerToType, };
|
|
35
|
+
export { useAsyncPolling, POLLING_INTERVAL, POLLING_DURATION, containersEqual, getRequestedContainersFromUrl, containerDisplayName, CONTAINER_MAP, userCanAccessFeature, convertContainerToType, removeRequestedContainersFromUrl, };
|