@atlaskit/teams-public 0.45.1 → 0.46.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -1,5 +1,17 @@
1
1
  # @atlaskit/teams-public
2
2
 
3
+ ## 0.46.0
4
+
5
+ ### Minor Changes
6
+
7
+ - [#186163](https://bitbucket.org/atlassian/atlassian-frontend-monorepo/pull-requests/186163)
8
+ [`217c313ed51d4`](https://bitbucket.org/atlassian/atlassian-frontend-monorepo/commits/217c313ed51d4) -
9
+ Use new package to check product permission
10
+
11
+ ### Patch Changes
12
+
13
+ - Updated dependencies
14
+
3
15
  ## 0.45.1
4
16
 
5
17
  ### Patch Changes
@@ -16,10 +16,11 @@ var _new = _interopRequireDefault(require("@atlaskit/button/new"));
16
16
  var _modalTransition = _interopRequireDefault(require("@atlaskit/modal-dialog/modal-transition"));
17
17
  var _platformFeatureFlags = require("@atlaskit/platform-feature-flags");
18
18
  var _primitives = require("@atlaskit/primitives");
19
+ var _teamsAppInternalProductPermissions = require("@atlaskit/teams-app-internal-product-permissions");
19
20
  var _colors = require("@atlaskit/theme/colors");
20
21
  var _analytics = require("../../common/utils/analytics");
21
22
  var _controllers = require("../../controllers");
22
- var _useProductPermission2 = require("../../controllers/hooks/use-product-permission");
23
+ var _useProductPermission3 = require("../../controllers/hooks/use-product-permission");
23
24
  var _useTeamContainers2 = require("../../controllers/hooks/use-team-containers");
24
25
  var _useTeamLinksAndContainers = require("../../controllers/hooks/use-team-links-and-containers");
25
26
  var _addContainerCard = require("./add-container-card");
@@ -92,12 +93,23 @@ var TeamContainers = exports.TeamContainers = function TeamContainers(_ref) {
92
93
  var _usePeopleAndTeamAnal = (0, _analytics.usePeopleAndTeamAnalytics)(),
93
94
  fireOperationalEvent = _usePeopleAndTeamAnal.fireOperationalEvent,
94
95
  fireTrackEvent = _usePeopleAndTeamAnal.fireTrackEvent;
95
- var _useProductPermission = (0, _useProductPermission2.useProductPermissions)({
96
+ var _useProductPermission = (0, _teamsAppInternalProductPermissions.useProductPermissions)({
96
97
  userId: userId,
97
- cloudId: cloudId
98
+ cloudId: cloudId,
99
+ options: {
100
+ enabled: (0, _platformFeatureFlags.fg)('migrate-product-permissions')
101
+ }
98
102
  }),
99
103
  productPermissions = _useProductPermission.data,
100
104
  productPermissionIsLoading = _useProductPermission.loading;
105
+ var _useProductPermission2 = (0, _useProductPermission3.useProductPermissions)({
106
+ userId: userId,
107
+ cloudId: cloudId
108
+ }, {
109
+ enabled: !(0, _platformFeatureFlags.fg)('migrate-product-permissions')
110
+ }),
111
+ productPermissionsOld = _useProductPermission2.data,
112
+ productPermissionIsLoadingOld = _useProductPermission2.loading;
101
113
  (0, _react.useEffect)(function () {
102
114
  if ((0, _platformFeatureFlags.fg)('enable_web_links_in_team_containers')) {
103
115
  if (isDisplayedOnProfileCard && filterContainerId) {
@@ -139,14 +151,19 @@ var TeamContainers = exports.TeamContainers = function TeamContainers(_ref) {
139
151
  var hasWebLink = containersToCheck.some(function (container) {
140
152
  return container.type === 'WebLink';
141
153
  });
142
- setShowAddContainer({
143
- Jira: !hasJiraProject && !!productPermissions && !!(0, _controllers.hasProductPermission)(productPermissions, 'jira'),
144
- Confluence: !hasConfluenceSpace && !!productPermissions && !!(0, _controllers.hasProductPermission)(productPermissions, 'confluence'),
145
- Loom: !hasLoomSpace && !!productPermissions && !!(0, _controllers.hasProductPermission)(productPermissions, 'loom'),
154
+ setShowAddContainer((0, _platformFeatureFlags.fg)('migrate-product-permissions') ? {
155
+ Jira: !hasJiraProject && !!productPermissions && !!(0, _teamsAppInternalProductPermissions.hasProductPermission)(productPermissions, 'jira'),
156
+ Confluence: !hasConfluenceSpace && !!productPermissions && !!(0, _teamsAppInternalProductPermissions.hasProductPermission)(productPermissions, 'confluence'),
157
+ Loom: !hasLoomSpace && !!productPermissions && !!(0, _teamsAppInternalProductPermissions.hasProductPermission)(productPermissions, 'loom'),
158
+ WebLink: !hasWebLink
159
+ } : {
160
+ Jira: !hasJiraProject && !!productPermissionsOld && !!(0, _controllers.hasProductPermission)(productPermissionsOld, 'jira'),
161
+ Confluence: !hasConfluenceSpace && !!productPermissionsOld && !!(0, _controllers.hasProductPermission)(productPermissionsOld, 'confluence'),
162
+ Loom: !hasLoomSpace && !!productPermissionsOld && !!(0, _controllers.hasProductPermission)(productPermissionsOld, 'loom'),
146
163
  WebLink: !hasWebLink
147
164
  });
148
165
  }
149
- }, [isDisplayedOnProfileCard, productPermissions, filteredTeamContainers, filteredTeamLinks, maxNumberOfContainersToShow]);
166
+ }, [isDisplayedOnProfileCard, productPermissions, productPermissionsOld, filteredTeamContainers, filteredTeamLinks, maxNumberOfContainersToShow]);
150
167
  var handleShowMore = function handleShowMore() {
151
168
  setShowMore(!showMore);
152
169
  };
@@ -221,12 +238,13 @@ var TeamContainers = exports.TeamContainers = function TeamContainers(_ref) {
221
238
  };
222
239
  }(), [actions, createAnalyticsEvent, fireOperationalEvent, filteredTeamContainers, filteredTeamLinks, removeTeamLink, teamId, unlinkError]);
223
240
  var TeamContainersSkeletonComponent = (components === null || components === void 0 ? void 0 : components.TeamContainersSkeleton) || _teamContainersSkeleton.TeamContainersSkeleton;
224
- if (loading || productPermissionIsLoading) {
241
+ if (loading || ((0, _platformFeatureFlags.fg)('migrate-product-permissions') ? productPermissionIsLoading : productPermissionIsLoadingOld)) {
225
242
  return /*#__PURE__*/_react.default.createElement(TeamContainersSkeletonComponent, {
226
243
  numberOfContainers: maxNumberOfContainersToShow
227
244
  });
228
245
  }
229
- if (((0, _platformFeatureFlags.fg)('enable_web_links_in_team_containers') ? filteredTeamLinks.length === 0 : filteredTeamContainers.length === 0) && !isDisplayedOnProfileCard && (!productPermissions || !(productPermissions && ((0, _controllers.hasProductPermission)(productPermissions, 'jira') || (0, _controllers.hasProductPermission)(productPermissions, 'confluence') || (0, _controllers.hasProductPermission)(productPermissions, 'loom'))))) {
246
+ var hasAnyProductPermission = productPermissions && ((0, _teamsAppInternalProductPermissions.hasProductPermission)(productPermissions, 'jira') || (0, _teamsAppInternalProductPermissions.hasProductPermission)(productPermissions, 'confluence') || (0, _teamsAppInternalProductPermissions.hasProductPermission)(productPermissions, 'loom')) && (0, _platformFeatureFlags.fg)('migrate-product-permissions') || productPermissionsOld && ((0, _controllers.hasProductPermission)(productPermissionsOld, 'jira') || (0, _controllers.hasProductPermission)(productPermissionsOld, 'confluence') || (0, _controllers.hasProductPermission)(productPermissionsOld, 'loom')) && !(0, _platformFeatureFlags.fg)('migrate-product-permissions');
247
+ if (((0, _platformFeatureFlags.fg)('enable_web_links_in_team_containers') ? filteredTeamLinks.length === 0 : filteredTeamContainers.length === 0) && !isDisplayedOnProfileCard && !hasAnyProductPermission) {
230
248
  return /*#__PURE__*/_react.default.createElement(_noProductAccessEmptyState.NoProductAccessState, null);
231
249
  }
232
250
  return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(_primitives.Stack, {
@@ -6,10 +6,11 @@ import ModalTransition from '@atlaskit/modal-dialog/modal-transition';
6
6
  import { fg } from '@atlaskit/platform-feature-flags';
7
7
  // eslint-disable-next-line @atlaskit/design-system/no-emotion-primitives -- to be migrated to @atlaskit/primitives/compiled – go/akcss
8
8
  import { Grid, Inline, Stack } from '@atlaskit/primitives';
9
+ import { hasProductPermission, useProductPermissions } from '@atlaskit/teams-app-internal-product-permissions';
9
10
  import { N0, N90 } from '@atlaskit/theme/colors';
10
11
  import { AnalyticsAction, usePeopleAndTeamAnalytics } from '../../common/utils/analytics';
11
- import { hasProductPermission } from '../../controllers';
12
- import { useProductPermissions } from '../../controllers/hooks/use-product-permission';
12
+ import { hasProductPermission as hasProductPermissionOld } from '../../controllers';
13
+ import { useProductPermissions as useProductPermissionsOld } from '../../controllers/hooks/use-product-permission';
13
14
  import { useTeamContainers, useTeamContainersHook } from '../../controllers/hooks/use-team-containers';
14
15
  import { useTeamLinksAndContainers } from '../../controllers/hooks/use-team-links-and-containers';
15
16
  import { AddContainerCard } from './add-container-card';
@@ -66,8 +67,20 @@ export const TeamContainers = ({
66
67
  data: productPermissions,
67
68
  loading: productPermissionIsLoading
68
69
  } = useProductPermissions({
70
+ userId,
71
+ cloudId,
72
+ options: {
73
+ enabled: fg('migrate-product-permissions')
74
+ }
75
+ });
76
+ const {
77
+ data: productPermissionsOld,
78
+ loading: productPermissionIsLoadingOld
79
+ } = useProductPermissionsOld({
69
80
  userId,
70
81
  cloudId
82
+ }, {
83
+ enabled: !fg('migrate-product-permissions')
71
84
  });
72
85
  useEffect(() => {
73
86
  if (fg('enable_web_links_in_team_containers')) {
@@ -98,14 +111,19 @@ export const TeamContainers = ({
98
111
  const hasConfluenceSpace = containersToCheck.some(container => container.type === 'ConfluenceSpace');
99
112
  const hasLoomSpace = containersToCheck.some(container => container.type === 'LoomSpace');
100
113
  const hasWebLink = containersToCheck.some(container => container.type === 'WebLink');
101
- setShowAddContainer({
114
+ setShowAddContainer(fg('migrate-product-permissions') ? {
102
115
  Jira: !hasJiraProject && !!productPermissions && !!hasProductPermission(productPermissions, 'jira'),
103
116
  Confluence: !hasConfluenceSpace && !!productPermissions && !!hasProductPermission(productPermissions, 'confluence'),
104
117
  Loom: !hasLoomSpace && !!productPermissions && !!hasProductPermission(productPermissions, 'loom'),
105
118
  WebLink: !hasWebLink
119
+ } : {
120
+ Jira: !hasJiraProject && !!productPermissionsOld && !!hasProductPermissionOld(productPermissionsOld, 'jira'),
121
+ Confluence: !hasConfluenceSpace && !!productPermissionsOld && !!hasProductPermissionOld(productPermissionsOld, 'confluence'),
122
+ Loom: !hasLoomSpace && !!productPermissionsOld && !!hasProductPermissionOld(productPermissionsOld, 'loom'),
123
+ WebLink: !hasWebLink
106
124
  });
107
125
  }
108
- }, [isDisplayedOnProfileCard, productPermissions, filteredTeamContainers, filteredTeamLinks, maxNumberOfContainersToShow]);
126
+ }, [isDisplayedOnProfileCard, productPermissions, productPermissionsOld, filteredTeamContainers, filteredTeamLinks, maxNumberOfContainersToShow]);
109
127
  const handleShowMore = () => {
110
128
  setShowMore(!showMore);
111
129
  };
@@ -154,12 +172,13 @@ export const TeamContainers = ({
154
172
  }
155
173
  }, [actions, createAnalyticsEvent, fireOperationalEvent, filteredTeamContainers, filteredTeamLinks, removeTeamLink, teamId, unlinkError]);
156
174
  const TeamContainersSkeletonComponent = (components === null || components === void 0 ? void 0 : components.TeamContainersSkeleton) || TeamContainersSkeleton;
157
- if (loading || productPermissionIsLoading) {
175
+ if (loading || (fg('migrate-product-permissions') ? productPermissionIsLoading : productPermissionIsLoadingOld)) {
158
176
  return /*#__PURE__*/React.createElement(TeamContainersSkeletonComponent, {
159
177
  numberOfContainers: maxNumberOfContainersToShow
160
178
  });
161
179
  }
162
- if ((fg('enable_web_links_in_team_containers') ? filteredTeamLinks.length === 0 : filteredTeamContainers.length === 0) && !isDisplayedOnProfileCard && (!productPermissions || !(productPermissions && (hasProductPermission(productPermissions, 'jira') || hasProductPermission(productPermissions, 'confluence') || hasProductPermission(productPermissions, 'loom'))))) {
180
+ const hasAnyProductPermission = productPermissions && (hasProductPermission(productPermissions, 'jira') || hasProductPermission(productPermissions, 'confluence') || hasProductPermission(productPermissions, 'loom')) && fg('migrate-product-permissions') || productPermissionsOld && (hasProductPermissionOld(productPermissionsOld, 'jira') || hasProductPermissionOld(productPermissionsOld, 'confluence') || hasProductPermissionOld(productPermissionsOld, 'loom')) && !fg('migrate-product-permissions');
181
+ if ((fg('enable_web_links_in_team_containers') ? filteredTeamLinks.length === 0 : filteredTeamContainers.length === 0) && !isDisplayedOnProfileCard && !hasAnyProductPermission) {
163
182
  return /*#__PURE__*/React.createElement(NoProductAccessState, null);
164
183
  }
165
184
  return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(Stack, {
@@ -9,10 +9,11 @@ import ModalTransition from '@atlaskit/modal-dialog/modal-transition';
9
9
  import { fg } from '@atlaskit/platform-feature-flags';
10
10
  // eslint-disable-next-line @atlaskit/design-system/no-emotion-primitives -- to be migrated to @atlaskit/primitives/compiled – go/akcss
11
11
  import { Grid, Inline, Stack } from '@atlaskit/primitives';
12
+ import { hasProductPermission, useProductPermissions } from '@atlaskit/teams-app-internal-product-permissions';
12
13
  import { N0, N90 } from '@atlaskit/theme/colors';
13
14
  import { AnalyticsAction, usePeopleAndTeamAnalytics } from '../../common/utils/analytics';
14
- import { hasProductPermission } from '../../controllers';
15
- import { useProductPermissions } from '../../controllers/hooks/use-product-permission';
15
+ import { hasProductPermission as hasProductPermissionOld } from '../../controllers';
16
+ import { useProductPermissions as useProductPermissionsOld } from '../../controllers/hooks/use-product-permission';
16
17
  import { useTeamContainers, useTeamContainersHook } from '../../controllers/hooks/use-team-containers';
17
18
  import { useTeamLinksAndContainers } from '../../controllers/hooks/use-team-links-and-containers';
18
19
  import { AddContainerCard } from './add-container-card';
@@ -84,10 +85,21 @@ export var TeamContainers = function TeamContainers(_ref) {
84
85
  fireTrackEvent = _usePeopleAndTeamAnal.fireTrackEvent;
85
86
  var _useProductPermission = useProductPermissions({
86
87
  userId: userId,
87
- cloudId: cloudId
88
+ cloudId: cloudId,
89
+ options: {
90
+ enabled: fg('migrate-product-permissions')
91
+ }
88
92
  }),
89
93
  productPermissions = _useProductPermission.data,
90
94
  productPermissionIsLoading = _useProductPermission.loading;
95
+ var _useProductPermission2 = useProductPermissionsOld({
96
+ userId: userId,
97
+ cloudId: cloudId
98
+ }, {
99
+ enabled: !fg('migrate-product-permissions')
100
+ }),
101
+ productPermissionsOld = _useProductPermission2.data,
102
+ productPermissionIsLoadingOld = _useProductPermission2.loading;
91
103
  useEffect(function () {
92
104
  if (fg('enable_web_links_in_team_containers')) {
93
105
  if (isDisplayedOnProfileCard && filterContainerId) {
@@ -129,14 +141,19 @@ export var TeamContainers = function TeamContainers(_ref) {
129
141
  var hasWebLink = containersToCheck.some(function (container) {
130
142
  return container.type === 'WebLink';
131
143
  });
132
- setShowAddContainer({
144
+ setShowAddContainer(fg('migrate-product-permissions') ? {
133
145
  Jira: !hasJiraProject && !!productPermissions && !!hasProductPermission(productPermissions, 'jira'),
134
146
  Confluence: !hasConfluenceSpace && !!productPermissions && !!hasProductPermission(productPermissions, 'confluence'),
135
147
  Loom: !hasLoomSpace && !!productPermissions && !!hasProductPermission(productPermissions, 'loom'),
136
148
  WebLink: !hasWebLink
149
+ } : {
150
+ Jira: !hasJiraProject && !!productPermissionsOld && !!hasProductPermissionOld(productPermissionsOld, 'jira'),
151
+ Confluence: !hasConfluenceSpace && !!productPermissionsOld && !!hasProductPermissionOld(productPermissionsOld, 'confluence'),
152
+ Loom: !hasLoomSpace && !!productPermissionsOld && !!hasProductPermissionOld(productPermissionsOld, 'loom'),
153
+ WebLink: !hasWebLink
137
154
  });
138
155
  }
139
- }, [isDisplayedOnProfileCard, productPermissions, filteredTeamContainers, filteredTeamLinks, maxNumberOfContainersToShow]);
156
+ }, [isDisplayedOnProfileCard, productPermissions, productPermissionsOld, filteredTeamContainers, filteredTeamLinks, maxNumberOfContainersToShow]);
140
157
  var handleShowMore = function handleShowMore() {
141
158
  setShowMore(!showMore);
142
159
  };
@@ -211,12 +228,13 @@ export var TeamContainers = function TeamContainers(_ref) {
211
228
  };
212
229
  }(), [actions, createAnalyticsEvent, fireOperationalEvent, filteredTeamContainers, filteredTeamLinks, removeTeamLink, teamId, unlinkError]);
213
230
  var TeamContainersSkeletonComponent = (components === null || components === void 0 ? void 0 : components.TeamContainersSkeleton) || TeamContainersSkeleton;
214
- if (loading || productPermissionIsLoading) {
231
+ if (loading || (fg('migrate-product-permissions') ? productPermissionIsLoading : productPermissionIsLoadingOld)) {
215
232
  return /*#__PURE__*/React.createElement(TeamContainersSkeletonComponent, {
216
233
  numberOfContainers: maxNumberOfContainersToShow
217
234
  });
218
235
  }
219
- if ((fg('enable_web_links_in_team_containers') ? filteredTeamLinks.length === 0 : filteredTeamContainers.length === 0) && !isDisplayedOnProfileCard && (!productPermissions || !(productPermissions && (hasProductPermission(productPermissions, 'jira') || hasProductPermission(productPermissions, 'confluence') || hasProductPermission(productPermissions, 'loom'))))) {
236
+ var hasAnyProductPermission = productPermissions && (hasProductPermission(productPermissions, 'jira') || hasProductPermission(productPermissions, 'confluence') || hasProductPermission(productPermissions, 'loom')) && fg('migrate-product-permissions') || productPermissionsOld && (hasProductPermissionOld(productPermissionsOld, 'jira') || hasProductPermissionOld(productPermissionsOld, 'confluence') || hasProductPermissionOld(productPermissionsOld, 'loom')) && !fg('migrate-product-permissions');
237
+ if ((fg('enable_web_links_in_team_containers') ? filteredTeamLinks.length === 0 : filteredTeamContainers.length === 0) && !isDisplayedOnProfileCard && !hasAnyProductPermission) {
220
238
  return /*#__PURE__*/React.createElement(NoProductAccessState, null);
221
239
  }
222
240
  return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(Stack, {
package/package.json CHANGED
@@ -33,10 +33,10 @@
33
33
  "@atlaskit/avatar": "^25.1.0",
34
34
  "@atlaskit/button": "^23.2.0",
35
35
  "@atlaskit/css": "^0.12.0",
36
- "@atlaskit/dropdown-menu": "^16.2.0",
36
+ "@atlaskit/dropdown-menu": "^16.3.0",
37
37
  "@atlaskit/feature-gate-js-client": "^5.5.0",
38
38
  "@atlaskit/heading": "^5.2.0",
39
- "@atlaskit/icon": "^27.5.0",
39
+ "@atlaskit/icon": "^27.6.0",
40
40
  "@atlaskit/image": "^3.0.0",
41
41
  "@atlaskit/link": "^3.2.0",
42
42
  "@atlaskit/logo": "^19.5.0",
@@ -44,6 +44,7 @@
44
44
  "@atlaskit/people-teams-ui-public": "^3.1.0",
45
45
  "@atlaskit/platform-feature-flags": "^1.1.0",
46
46
  "@atlaskit/primitives": "^14.10.0",
47
+ "@atlaskit/teams-app-internal-product-permissions": "^1.0.0",
47
48
  "@atlaskit/teams-client": "^4.8.0",
48
49
  "@atlaskit/theme": "^19.0.0",
49
50
  "@atlaskit/tokens": "^5.6.0",
@@ -113,7 +114,7 @@
113
114
  }
114
115
  },
115
116
  "name": "@atlaskit/teams-public",
116
- "version": "0.45.1",
117
+ "version": "0.46.0",
117
118
  "description": "Public components related to teams",
118
119
  "author": "Atlassian Pty Ltd",
119
120
  "license": "Apache-2.0",
@@ -148,6 +149,9 @@
148
149
  },
149
150
  "enable-team-profile-refactor": {
150
151
  "type": "boolean"
152
+ },
153
+ "migrate-product-permissions": {
154
+ "type": "boolean"
151
155
  }
152
156
  }
153
157
  }