@atlaskit/teams-public 0.27.1 → 0.29.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 +22 -0
- package/dist/cjs/common/assets/index.js +27 -0
- package/dist/cjs/common/utils/get-container-properties.js +3 -2
- package/dist/cjs/common/utils/team-web-link-converters.js +25 -0
- package/dist/cjs/controllers/hooks/use-team-web-links/index.js +162 -0
- package/dist/cjs/controllers/hooks/use-team-web-links/types.js +5 -0
- package/dist/cjs/controllers/index.js +13 -0
- package/dist/cjs/index.js +33 -1
- package/dist/cjs/ui/team-containers/main.js +9 -7
- package/dist/es2019/common/assets/index.js +3 -0
- package/dist/es2019/common/utils/get-container-properties.js +3 -3
- package/dist/es2019/common/utils/team-web-link-converters.js +19 -0
- package/dist/es2019/controllers/hooks/use-team-web-links/index.js +86 -0
- package/dist/es2019/controllers/hooks/use-team-web-links/types.js +1 -0
- package/dist/es2019/controllers/index.js +1 -0
- package/dist/es2019/index.js +3 -1
- package/dist/es2019/ui/team-containers/main.js +8 -7
- package/dist/esm/common/assets/index.js +3 -0
- package/dist/esm/common/utils/get-container-properties.js +3 -2
- package/dist/esm/common/utils/team-web-link-converters.js +19 -0
- package/dist/esm/controllers/hooks/use-team-web-links/index.js +155 -0
- package/dist/esm/controllers/hooks/use-team-web-links/types.js +1 -0
- package/dist/esm/controllers/index.js +1 -0
- package/dist/esm/index.js +3 -1
- package/dist/esm/ui/team-containers/main.js +9 -7
- package/dist/types/common/assets/index.d.ts +3 -0
- package/dist/types/common/types.d.ts +9 -1
- package/dist/types/common/utils/team-web-link-converters.d.ts +4 -0
- package/dist/types/controllers/hooks/use-team-containers/index.d.ts +1 -1
- package/dist/types/controllers/hooks/use-team-web-links/index.d.ts +24 -0
- package/dist/types/controllers/hooks/use-team-web-links/types.d.ts +14 -0
- package/dist/types/controllers/index.d.ts +1 -0
- package/dist/types/index.d.ts +2 -0
- package/dist/types/services/agg-client/index.d.ts +1 -1
- package/dist/types/services/agg-client/utils/queries/team-connected-to-container-query.d.ts +1 -1
- package/dist/types/services/main.d.ts +1 -1
- package/dist/types/ui/team-containers/main.d.ts +1 -1
- package/dist/types/ui/team-containers/types.d.ts +4 -0
- package/dist/types-ts4.5/common/assets/index.d.ts +3 -0
- package/dist/types-ts4.5/common/types.d.ts +9 -1
- package/dist/types-ts4.5/common/utils/team-web-link-converters.d.ts +4 -0
- package/dist/types-ts4.5/controllers/hooks/use-team-containers/index.d.ts +1 -1
- package/dist/types-ts4.5/controllers/hooks/use-team-web-links/index.d.ts +24 -0
- package/dist/types-ts4.5/controllers/hooks/use-team-web-links/types.d.ts +14 -0
- package/dist/types-ts4.5/controllers/index.d.ts +1 -0
- package/dist/types-ts4.5/index.d.ts +2 -0
- package/dist/types-ts4.5/services/agg-client/index.d.ts +1 -1
- package/dist/types-ts4.5/services/agg-client/utils/queries/team-connected-to-container-query.d.ts +1 -1
- package/dist/types-ts4.5/services/main.d.ts +1 -1
- package/dist/types-ts4.5/ui/team-containers/main.d.ts +1 -1
- package/dist/types-ts4.5/ui/team-containers/types.d.ts +4 -0
- package/package.json +4 -3
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,27 @@
|
|
|
1
1
|
# @atlaskit/teams-public
|
|
2
2
|
|
|
3
|
+
## 0.29.0
|
|
4
|
+
|
|
5
|
+
### Minor Changes
|
|
6
|
+
|
|
7
|
+
- [#156784](https://bitbucket.org/atlassian/atlassian-frontend-monorepo/pull-requests/156784)
|
|
8
|
+
[`a614e25bb80c9`](https://bitbucket.org/atlassian/atlassian-frontend-monorepo/commits/a614e25bb80c9) -
|
|
9
|
+
PTC-11532 Add useTeamWebLink in teams-public, allow get/delete/update team web links in
|
|
10
|
+
teams-public
|
|
11
|
+
|
|
12
|
+
### Patch Changes
|
|
13
|
+
|
|
14
|
+
- Updated dependencies
|
|
15
|
+
|
|
16
|
+
## 0.28.0
|
|
17
|
+
|
|
18
|
+
### Minor Changes
|
|
19
|
+
|
|
20
|
+
- [#153501](https://bitbucket.org/atlassian/atlassian-frontend-monorepo/pull-requests/153501)
|
|
21
|
+
[`daab8878af268`](https://bitbucket.org/atlassian/atlassian-frontend-monorepo/commits/daab8878af268) -
|
|
22
|
+
[ux] PTC-11529 Build teams conatiners dropdown list & modify team web link modal; Classfied icons
|
|
23
|
+
by size.
|
|
24
|
+
|
|
3
25
|
## 0.27.1
|
|
4
26
|
|
|
5
27
|
### Patch Changes
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
Object.defineProperty(exports, "__esModule", {
|
|
5
|
+
value: true
|
|
6
|
+
});
|
|
7
|
+
Object.defineProperty(exports, "ConfluenceIcon", {
|
|
8
|
+
enumerable: true,
|
|
9
|
+
get: function get() {
|
|
10
|
+
return _ConfluenceIcon.default;
|
|
11
|
+
}
|
|
12
|
+
});
|
|
13
|
+
Object.defineProperty(exports, "JiraIcon", {
|
|
14
|
+
enumerable: true,
|
|
15
|
+
get: function get() {
|
|
16
|
+
return _JiraIcon.default;
|
|
17
|
+
}
|
|
18
|
+
});
|
|
19
|
+
Object.defineProperty(exports, "LoomIcon", {
|
|
20
|
+
enumerable: true,
|
|
21
|
+
get: function get() {
|
|
22
|
+
return _LoomIcon.default;
|
|
23
|
+
}
|
|
24
|
+
});
|
|
25
|
+
var _ConfluenceIcon = _interopRequireDefault(require("./ConfluenceIcon.svg"));
|
|
26
|
+
var _JiraIcon = _interopRequireDefault(require("./JiraIcon.svg"));
|
|
27
|
+
var _LoomIcon = _interopRequireDefault(require("./LoomIcon.svg"));
|
|
@@ -93,6 +93,7 @@ var getJiraIcon = function getJiraIcon(containerSubTypes) {
|
|
|
93
93
|
}
|
|
94
94
|
};
|
|
95
95
|
var getJiraContainerProperties = function getJiraContainerProperties(containerTypeProperties) {
|
|
96
|
+
var iconSize = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'small';
|
|
96
97
|
var _ref = containerTypeProperties || {},
|
|
97
98
|
subType = _ref.subType,
|
|
98
99
|
name = _ref.name;
|
|
@@ -100,7 +101,7 @@ var getJiraContainerProperties = function getJiraContainerProperties(containerTy
|
|
|
100
101
|
var baseProperties = {
|
|
101
102
|
description: /*#__PURE__*/_react.default.createElement(_reactIntlNext.FormattedMessage, messages.jiraProjectDescription),
|
|
102
103
|
icon: /*#__PURE__*/_react.default.createElement(Comp, {
|
|
103
|
-
xcss: styles.iconWrapper
|
|
104
|
+
xcss: iconSize === 'medium' ? styles.mediumIconWrapper : styles.iconWrapper
|
|
104
105
|
}, /*#__PURE__*/_react.default.createElement(_image.default, {
|
|
105
106
|
src: getJiraIcon(subType),
|
|
106
107
|
alt: "",
|
|
@@ -152,7 +153,7 @@ var getContainerProperties = exports.getContainerProperties = function getContai
|
|
|
152
153
|
containerTypeText: /*#__PURE__*/_react.default.createElement(_reactIntlNext.FormattedMessage, messages.spaceContainerText)
|
|
153
154
|
};
|
|
154
155
|
case 'JiraProject':
|
|
155
|
-
return getJiraContainerProperties(containerTypeProperties);
|
|
156
|
+
return getJiraContainerProperties(containerTypeProperties, iconSize);
|
|
156
157
|
case 'WebLink':
|
|
157
158
|
return {
|
|
158
159
|
description: /*#__PURE__*/_react.default.createElement(_compiled.Text, {
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.webLinksToContainers = exports.webLinkToContainer = exports.containerToNewWebLink = void 0;
|
|
7
|
+
var containerToNewWebLink = exports.containerToNewWebLink = function containerToNewWebLink(container) {
|
|
8
|
+
return {
|
|
9
|
+
contentTitle: container.name,
|
|
10
|
+
description: '',
|
|
11
|
+
linkUri: container.link || ''
|
|
12
|
+
};
|
|
13
|
+
};
|
|
14
|
+
var webLinkToContainer = exports.webLinkToContainer = function webLinkToContainer(link) {
|
|
15
|
+
return {
|
|
16
|
+
id: link.linkId,
|
|
17
|
+
type: 'WebLink',
|
|
18
|
+
name: link.contentTitle,
|
|
19
|
+
icon: null,
|
|
20
|
+
link: link.linkUri
|
|
21
|
+
};
|
|
22
|
+
};
|
|
23
|
+
var webLinksToContainers = exports.webLinksToContainers = function webLinksToContainers(links) {
|
|
24
|
+
return links.map(webLinkToContainer);
|
|
25
|
+
};
|
|
@@ -0,0 +1,162 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
Object.defineProperty(exports, "__esModule", {
|
|
5
|
+
value: true
|
|
6
|
+
});
|
|
7
|
+
exports.useTeamWebLinksActions = exports.useTeamWebLinks = exports.actions = void 0;
|
|
8
|
+
var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
|
|
9
|
+
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
10
|
+
var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
|
|
11
|
+
var _reactSweetState = require("react-sweet-state");
|
|
12
|
+
var _teamsClient = require("@atlaskit/teams-client");
|
|
13
|
+
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; }
|
|
14
|
+
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) { (0, _defineProperty2.default)(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; }
|
|
15
|
+
var _initialState = {
|
|
16
|
+
teamId: '',
|
|
17
|
+
isLoading: false,
|
|
18
|
+
hasLoaded: false,
|
|
19
|
+
hasError: false,
|
|
20
|
+
shouldReload: false,
|
|
21
|
+
errorType: null,
|
|
22
|
+
links: []
|
|
23
|
+
};
|
|
24
|
+
var actions = exports.actions = {
|
|
25
|
+
getTeamWebLinks: function getTeamWebLinks(teamId) {
|
|
26
|
+
return /*#__PURE__*/function () {
|
|
27
|
+
var _ref2 = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee(_ref) {
|
|
28
|
+
var getState, setState, _getState, links, currentTeamId, initialLinks, _yield$teamsClient$ge, entities;
|
|
29
|
+
return _regenerator.default.wrap(function _callee$(_context) {
|
|
30
|
+
while (1) switch (_context.prev = _context.next) {
|
|
31
|
+
case 0:
|
|
32
|
+
getState = _ref.getState, setState = _ref.setState;
|
|
33
|
+
_getState = getState(), links = _getState.links, currentTeamId = _getState.teamId;
|
|
34
|
+
initialLinks = teamId === currentTeamId ? links : [];
|
|
35
|
+
setState({
|
|
36
|
+
teamId: teamId,
|
|
37
|
+
isLoading: true,
|
|
38
|
+
hasLoaded: false,
|
|
39
|
+
hasError: false,
|
|
40
|
+
shouldReload: false,
|
|
41
|
+
links: initialLinks
|
|
42
|
+
});
|
|
43
|
+
_context.prev = 4;
|
|
44
|
+
_context.next = 7;
|
|
45
|
+
return _teamsClient.teamsClient.getTeamLinksByTeamId(teamId);
|
|
46
|
+
case 7:
|
|
47
|
+
_yield$teamsClient$ge = _context.sent;
|
|
48
|
+
entities = _yield$teamsClient$ge.entities;
|
|
49
|
+
if (!(getState().teamId !== teamId)) {
|
|
50
|
+
_context.next = 11;
|
|
51
|
+
break;
|
|
52
|
+
}
|
|
53
|
+
return _context.abrupt("return");
|
|
54
|
+
case 11:
|
|
55
|
+
setState({
|
|
56
|
+
isLoading: false,
|
|
57
|
+
hasLoaded: true,
|
|
58
|
+
hasError: false,
|
|
59
|
+
shouldReload: false,
|
|
60
|
+
links: entities
|
|
61
|
+
});
|
|
62
|
+
_context.next = 19;
|
|
63
|
+
break;
|
|
64
|
+
case 14:
|
|
65
|
+
_context.prev = 14;
|
|
66
|
+
_context.t0 = _context["catch"](4);
|
|
67
|
+
if (!(getState().teamId !== teamId)) {
|
|
68
|
+
_context.next = 18;
|
|
69
|
+
break;
|
|
70
|
+
}
|
|
71
|
+
return _context.abrupt("return");
|
|
72
|
+
case 18:
|
|
73
|
+
setState({
|
|
74
|
+
isLoading: false,
|
|
75
|
+
hasLoaded: true,
|
|
76
|
+
hasError: true,
|
|
77
|
+
errorType: _context.t0 instanceof Error ? _context.t0 : undefined,
|
|
78
|
+
shouldReload: false,
|
|
79
|
+
links: []
|
|
80
|
+
});
|
|
81
|
+
case 19:
|
|
82
|
+
case "end":
|
|
83
|
+
return _context.stop();
|
|
84
|
+
}
|
|
85
|
+
}, _callee, null, [[4, 14]]);
|
|
86
|
+
}));
|
|
87
|
+
return function (_x) {
|
|
88
|
+
return _ref2.apply(this, arguments);
|
|
89
|
+
};
|
|
90
|
+
}();
|
|
91
|
+
},
|
|
92
|
+
createTeamWebLink: function createTeamWebLink(teamId, newLink) {
|
|
93
|
+
return /*#__PURE__*/(0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee2() {
|
|
94
|
+
return _regenerator.default.wrap(function _callee2$(_context2) {
|
|
95
|
+
while (1) switch (_context2.prev = _context2.next) {
|
|
96
|
+
case 0:
|
|
97
|
+
_context2.next = 2;
|
|
98
|
+
return _teamsClient.teamsClient.createTeamLink(teamId, newLink);
|
|
99
|
+
case 2:
|
|
100
|
+
return _context2.abrupt("return", _context2.sent);
|
|
101
|
+
case 3:
|
|
102
|
+
case "end":
|
|
103
|
+
return _context2.stop();
|
|
104
|
+
}
|
|
105
|
+
}, _callee2);
|
|
106
|
+
}));
|
|
107
|
+
},
|
|
108
|
+
updateTeamWebLink: function updateTeamWebLink(teamId, linkId, newLink) {
|
|
109
|
+
return /*#__PURE__*/(0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee3() {
|
|
110
|
+
return _regenerator.default.wrap(function _callee3$(_context3) {
|
|
111
|
+
while (1) switch (_context3.prev = _context3.next) {
|
|
112
|
+
case 0:
|
|
113
|
+
_context3.next = 2;
|
|
114
|
+
return _teamsClient.teamsClient.updateTeamLink(teamId, linkId, newLink);
|
|
115
|
+
case 2:
|
|
116
|
+
return _context3.abrupt("return", _context3.sent);
|
|
117
|
+
case 3:
|
|
118
|
+
case "end":
|
|
119
|
+
return _context3.stop();
|
|
120
|
+
}
|
|
121
|
+
}, _callee3);
|
|
122
|
+
}));
|
|
123
|
+
},
|
|
124
|
+
removeWebLink: function removeWebLink(teamId, linkId) {
|
|
125
|
+
return /*#__PURE__*/function () {
|
|
126
|
+
var _ref6 = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee4(_ref5) {
|
|
127
|
+
var dispatch;
|
|
128
|
+
return _regenerator.default.wrap(function _callee4$(_context4) {
|
|
129
|
+
while (1) switch (_context4.prev = _context4.next) {
|
|
130
|
+
case 0:
|
|
131
|
+
dispatch = _ref5.dispatch;
|
|
132
|
+
_context4.next = 3;
|
|
133
|
+
return _teamsClient.teamsClient.deleteTeamLink(teamId, linkId);
|
|
134
|
+
case 3:
|
|
135
|
+
_context4.next = 5;
|
|
136
|
+
return dispatch(actions.getTeamWebLinks(teamId));
|
|
137
|
+
case 5:
|
|
138
|
+
case "end":
|
|
139
|
+
return _context4.stop();
|
|
140
|
+
}
|
|
141
|
+
}, _callee4);
|
|
142
|
+
}));
|
|
143
|
+
return function (_x2) {
|
|
144
|
+
return _ref6.apply(this, arguments);
|
|
145
|
+
};
|
|
146
|
+
}();
|
|
147
|
+
},
|
|
148
|
+
initialState: function initialState(state) {
|
|
149
|
+
return function (_ref7) {
|
|
150
|
+
var setState = _ref7.setState;
|
|
151
|
+
setState(_objectSpread(_objectSpread({}, _initialState), state));
|
|
152
|
+
};
|
|
153
|
+
}
|
|
154
|
+
};
|
|
155
|
+
var TeamWebLinksStore = (0, _reactSweetState.createStore)({
|
|
156
|
+
initialState: _initialState,
|
|
157
|
+
actions: actions
|
|
158
|
+
});
|
|
159
|
+
var useTeamWebLinks = exports.useTeamWebLinks = (0, _reactSweetState.createHook)(TeamWebLinksStore);
|
|
160
|
+
var useTeamWebLinksActions = exports.useTeamWebLinksActions = (0, _reactSweetState.createHook)(TeamWebLinksStore, {
|
|
161
|
+
selector: null
|
|
162
|
+
});
|
|
@@ -15,5 +15,18 @@ Object.defineProperty(exports, "useTeamContainers", {
|
|
|
15
15
|
return _useTeamContainers.useTeamContainers;
|
|
16
16
|
}
|
|
17
17
|
});
|
|
18
|
+
Object.defineProperty(exports, "useTeamWebLinks", {
|
|
19
|
+
enumerable: true,
|
|
20
|
+
get: function get() {
|
|
21
|
+
return _useTeamWebLinks.useTeamWebLinks;
|
|
22
|
+
}
|
|
23
|
+
});
|
|
24
|
+
Object.defineProperty(exports, "useTeamWebLinksActions", {
|
|
25
|
+
enumerable: true,
|
|
26
|
+
get: function get() {
|
|
27
|
+
return _useTeamWebLinks.useTeamWebLinksActions;
|
|
28
|
+
}
|
|
29
|
+
});
|
|
18
30
|
var _useTeamContainers = require("./hooks/use-team-containers");
|
|
31
|
+
var _useTeamWebLinks = require("./hooks/use-team-web-links");
|
|
19
32
|
var _utils = require("./product-permission/utils");
|
package/dist/cjs/index.js
CHANGED
|
@@ -3,6 +3,24 @@
|
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
|
+
Object.defineProperty(exports, "ConfluenceIcon", {
|
|
7
|
+
enumerable: true,
|
|
8
|
+
get: function get() {
|
|
9
|
+
return _assets.ConfluenceIcon;
|
|
10
|
+
}
|
|
11
|
+
});
|
|
12
|
+
Object.defineProperty(exports, "JiraIcon", {
|
|
13
|
+
enumerable: true,
|
|
14
|
+
get: function get() {
|
|
15
|
+
return _assets.JiraIcon;
|
|
16
|
+
}
|
|
17
|
+
});
|
|
18
|
+
Object.defineProperty(exports, "LoomIcon", {
|
|
19
|
+
enumerable: true,
|
|
20
|
+
get: function get() {
|
|
21
|
+
return _assets.LoomIcon;
|
|
22
|
+
}
|
|
23
|
+
});
|
|
6
24
|
Object.defineProperty(exports, "TeamContainers", {
|
|
7
25
|
enumerable: true,
|
|
8
26
|
get: function get() {
|
|
@@ -39,8 +57,22 @@ Object.defineProperty(exports, "useTeamContainers", {
|
|
|
39
57
|
return _useTeamContainers.useTeamContainers;
|
|
40
58
|
}
|
|
41
59
|
});
|
|
60
|
+
Object.defineProperty(exports, "useTeamWebLinks", {
|
|
61
|
+
enumerable: true,
|
|
62
|
+
get: function get() {
|
|
63
|
+
return _useTeamWebLinks.useTeamWebLinks;
|
|
64
|
+
}
|
|
65
|
+
});
|
|
66
|
+
Object.defineProperty(exports, "useTeamWebLinksActions", {
|
|
67
|
+
enumerable: true,
|
|
68
|
+
get: function get() {
|
|
69
|
+
return _useTeamWebLinks.useTeamWebLinksActions;
|
|
70
|
+
}
|
|
71
|
+
});
|
|
42
72
|
var _teamContainers = require("./ui/team-containers");
|
|
43
73
|
var _useTeamContainers = require("./controllers/hooks/use-team-containers");
|
|
74
|
+
var _useTeamWebLinks = require("./controllers/hooks/use-team-web-links");
|
|
44
75
|
var _useProductPermission = require("./controllers/hooks/use-product-permission");
|
|
45
76
|
var _utils = require("./controllers/product-permission/utils");
|
|
46
|
-
var _getContainerProperties = require("./common/utils/get-container-properties");
|
|
77
|
+
var _getContainerProperties = require("./common/utils/get-container-properties");
|
|
78
|
+
var _assets = require("./common/assets");
|
|
@@ -38,7 +38,9 @@ var TeamContainers = exports.TeamContainers = function TeamContainers(_ref) {
|
|
|
38
38
|
userId = _ref.userId,
|
|
39
39
|
cloudId = _ref.cloudId,
|
|
40
40
|
filterContainerId = _ref.filterContainerId,
|
|
41
|
-
isDisplayedOnProfileCard = _ref.isDisplayedOnProfileCard
|
|
41
|
+
isDisplayedOnProfileCard = _ref.isDisplayedOnProfileCard,
|
|
42
|
+
_ref$maxNumberOfConta = _ref.maxNumberOfContainersToShow,
|
|
43
|
+
maxNumberOfContainersToShow = _ref$maxNumberOfConta === void 0 ? MAX_NUMBER_OF_CONTAINERS_TO_SHOW : _ref$maxNumberOfConta;
|
|
42
44
|
var _useAnalyticsEvents = (0, _analyticsNext.useAnalyticsEvents)(),
|
|
43
45
|
createAnalyticsEvent = _useAnalyticsEvents.createAnalyticsEvent;
|
|
44
46
|
var _useTeamContainers = (0, _useTeamContainers2.useTeamContainers)(teamId),
|
|
@@ -92,7 +94,7 @@ var TeamContainers = exports.TeamContainers = function TeamContainers(_ref) {
|
|
|
92
94
|
}
|
|
93
95
|
}, [isDisplayedOnProfileCard, filterContainerId, teamContainers]);
|
|
94
96
|
(0, _react.useEffect)(function () {
|
|
95
|
-
if (filteredTeamContainers.length >
|
|
97
|
+
if (filteredTeamContainers.length > maxNumberOfContainersToShow || isDisplayedOnProfileCard) {
|
|
96
98
|
setShowAddContainer({
|
|
97
99
|
Jira: false,
|
|
98
100
|
Confluence: false,
|
|
@@ -114,7 +116,7 @@ var TeamContainers = exports.TeamContainers = function TeamContainers(_ref) {
|
|
|
114
116
|
Loom: !hasLoomSpace && !!productPermissions && !!(0, _controllers.hasProductPermission)(productPermissions, 'loom')
|
|
115
117
|
});
|
|
116
118
|
}
|
|
117
|
-
}, [isDisplayedOnProfileCard, productPermissions, filteredTeamContainers]);
|
|
119
|
+
}, [isDisplayedOnProfileCard, productPermissions, filteredTeamContainers, maxNumberOfContainersToShow]);
|
|
118
120
|
var handleShowMore = function handleShowMore() {
|
|
119
121
|
setShowMore(!showMore);
|
|
120
122
|
};
|
|
@@ -174,7 +176,7 @@ var TeamContainers = exports.TeamContainers = function TeamContainers(_ref) {
|
|
|
174
176
|
var TeamContainersSkeletonComponent = (components === null || components === void 0 ? void 0 : components.TeamContainersSkeleton) || _teamContainersSkeleton.TeamContainersSkeleton;
|
|
175
177
|
if (loading || productPermissionIsLoading) {
|
|
176
178
|
return /*#__PURE__*/_react.default.createElement(TeamContainersSkeletonComponent, {
|
|
177
|
-
numberOfContainers:
|
|
179
|
+
numberOfContainers: maxNumberOfContainersToShow
|
|
178
180
|
});
|
|
179
181
|
}
|
|
180
182
|
if (filteredTeamContainers.length === 0 && !isDisplayedOnProfileCard && (!productPermissions || !(productPermissions && ((0, _controllers.hasProductPermission)(productPermissions, 'jira') || (0, _controllers.hasProductPermission)(productPermissions, 'confluence') || (0, _controllers.hasProductPermission)(productPermissions, 'loom'))))) {
|
|
@@ -185,7 +187,7 @@ var TeamContainers = exports.TeamContainers = function TeamContainers(_ref) {
|
|
|
185
187
|
}, /*#__PURE__*/_react.default.createElement(_primitives.Grid, {
|
|
186
188
|
templateColumns: "repeat(auto-fill, minmax(300px, 1fr))",
|
|
187
189
|
gap: isDisplayedOnProfileCard ? 'space.0' : 'space.100'
|
|
188
|
-
}, filteredTeamContainers.slice(0,
|
|
190
|
+
}, filteredTeamContainers.slice(0, maxNumberOfContainersToShow).map(function (container) {
|
|
189
191
|
return /*#__PURE__*/_react.default.createElement(LinkedContainerCardComponent, {
|
|
190
192
|
key: container.id,
|
|
191
193
|
containerType: container.type,
|
|
@@ -217,7 +219,7 @@ var TeamContainers = exports.TeamContainers = function TeamContainers(_ref) {
|
|
|
217
219
|
return _onAddAContainerClick(e, 'Loom');
|
|
218
220
|
},
|
|
219
221
|
containerType: "LoomSpace"
|
|
220
|
-
}), showMore && filteredTeamContainers.slice(
|
|
222
|
+
}), showMore && filteredTeamContainers.slice(maxNumberOfContainersToShow).map(function (container) {
|
|
221
223
|
return /*#__PURE__*/_react.default.createElement(LinkedContainerCardComponent, {
|
|
222
224
|
key: container.id,
|
|
223
225
|
containerType: container.type,
|
|
@@ -234,7 +236,7 @@ var TeamContainers = exports.TeamContainers = function TeamContainers(_ref) {
|
|
|
234
236
|
});
|
|
235
237
|
}
|
|
236
238
|
});
|
|
237
|
-
})), filteredTeamContainers.length >
|
|
239
|
+
})), filteredTeamContainers.length > maxNumberOfContainersToShow && /*#__PURE__*/_react.default.createElement(_primitives.Inline, null, /*#__PURE__*/_react.default.createElement(_new.default, {
|
|
238
240
|
appearance: "subtle",
|
|
239
241
|
onClick: handleShowMore
|
|
240
242
|
}, showMore ? /*#__PURE__*/_react.default.createElement(_reactIntlNext.FormattedMessage, messages.showLess) : /*#__PURE__*/_react.default.createElement(_reactIntlNext.FormattedMessage, messages.showMore)))), /*#__PURE__*/_react.default.createElement(_modalTransition.default, null, isDisconnectDialogOpen && selectedContainerDetails && /*#__PURE__*/_react.default.createElement(_async.DisconnectDialogLazy, {
|
|
@@ -82,7 +82,7 @@ const getJiraIcon = containerSubTypes => {
|
|
|
82
82
|
return JiraIcon;
|
|
83
83
|
}
|
|
84
84
|
};
|
|
85
|
-
const getJiraContainerProperties = containerTypeProperties => {
|
|
85
|
+
const getJiraContainerProperties = (containerTypeProperties, iconSize = 'small') => {
|
|
86
86
|
const {
|
|
87
87
|
subType,
|
|
88
88
|
name
|
|
@@ -91,7 +91,7 @@ const getJiraContainerProperties = containerTypeProperties => {
|
|
|
91
91
|
const baseProperties = {
|
|
92
92
|
description: /*#__PURE__*/React.createElement(FormattedMessage, messages.jiraProjectDescription),
|
|
93
93
|
icon: /*#__PURE__*/React.createElement(Comp, {
|
|
94
|
-
xcss: styles.iconWrapper
|
|
94
|
+
xcss: iconSize === 'medium' ? styles.mediumIconWrapper : styles.iconWrapper
|
|
95
95
|
}, /*#__PURE__*/React.createElement(Image, {
|
|
96
96
|
src: getJiraIcon(subType),
|
|
97
97
|
alt: "",
|
|
@@ -142,7 +142,7 @@ export const getContainerProperties = (containerType, iconSize = 'small', contai
|
|
|
142
142
|
containerTypeText: /*#__PURE__*/React.createElement(FormattedMessage, messages.spaceContainerText)
|
|
143
143
|
};
|
|
144
144
|
case 'JiraProject':
|
|
145
|
-
return getJiraContainerProperties(containerTypeProperties);
|
|
145
|
+
return getJiraContainerProperties(containerTypeProperties, iconSize);
|
|
146
146
|
case 'WebLink':
|
|
147
147
|
return {
|
|
148
148
|
description: /*#__PURE__*/React.createElement(Text, {
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
export const containerToNewWebLink = container => {
|
|
2
|
+
return {
|
|
3
|
+
contentTitle: container.name,
|
|
4
|
+
description: '',
|
|
5
|
+
linkUri: container.link || ''
|
|
6
|
+
};
|
|
7
|
+
};
|
|
8
|
+
export const webLinkToContainer = link => {
|
|
9
|
+
return {
|
|
10
|
+
id: link.linkId,
|
|
11
|
+
type: 'WebLink',
|
|
12
|
+
name: link.contentTitle,
|
|
13
|
+
icon: null,
|
|
14
|
+
link: link.linkUri
|
|
15
|
+
};
|
|
16
|
+
};
|
|
17
|
+
export const webLinksToContainers = links => {
|
|
18
|
+
return links.map(webLinkToContainer);
|
|
19
|
+
};
|
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
import { createHook, createStore } from 'react-sweet-state';
|
|
2
|
+
import { teamsClient } from '@atlaskit/teams-client';
|
|
3
|
+
const initialState = {
|
|
4
|
+
teamId: '',
|
|
5
|
+
isLoading: false,
|
|
6
|
+
hasLoaded: false,
|
|
7
|
+
hasError: false,
|
|
8
|
+
shouldReload: false,
|
|
9
|
+
errorType: null,
|
|
10
|
+
links: []
|
|
11
|
+
};
|
|
12
|
+
export const actions = {
|
|
13
|
+
getTeamWebLinks: teamId => async ({
|
|
14
|
+
getState,
|
|
15
|
+
setState
|
|
16
|
+
}) => {
|
|
17
|
+
const {
|
|
18
|
+
links,
|
|
19
|
+
teamId: currentTeamId
|
|
20
|
+
} = getState();
|
|
21
|
+
const initialLinks = teamId === currentTeamId ? links : [];
|
|
22
|
+
setState({
|
|
23
|
+
teamId,
|
|
24
|
+
isLoading: true,
|
|
25
|
+
hasLoaded: false,
|
|
26
|
+
hasError: false,
|
|
27
|
+
shouldReload: false,
|
|
28
|
+
links: initialLinks
|
|
29
|
+
});
|
|
30
|
+
try {
|
|
31
|
+
const {
|
|
32
|
+
entities
|
|
33
|
+
} = await teamsClient.getTeamLinksByTeamId(teamId);
|
|
34
|
+
if (getState().teamId !== teamId) {
|
|
35
|
+
return;
|
|
36
|
+
}
|
|
37
|
+
setState({
|
|
38
|
+
isLoading: false,
|
|
39
|
+
hasLoaded: true,
|
|
40
|
+
hasError: false,
|
|
41
|
+
shouldReload: false,
|
|
42
|
+
links: entities
|
|
43
|
+
});
|
|
44
|
+
} catch (e) {
|
|
45
|
+
if (getState().teamId !== teamId) {
|
|
46
|
+
return;
|
|
47
|
+
}
|
|
48
|
+
setState({
|
|
49
|
+
isLoading: false,
|
|
50
|
+
hasLoaded: true,
|
|
51
|
+
hasError: true,
|
|
52
|
+
errorType: e instanceof Error ? e : undefined,
|
|
53
|
+
shouldReload: false,
|
|
54
|
+
links: []
|
|
55
|
+
});
|
|
56
|
+
}
|
|
57
|
+
},
|
|
58
|
+
createTeamWebLink: (teamId, newLink) => async () => {
|
|
59
|
+
return await teamsClient.createTeamLink(teamId, newLink);
|
|
60
|
+
},
|
|
61
|
+
updateTeamWebLink: (teamId, linkId, newLink) => async () => {
|
|
62
|
+
return await teamsClient.updateTeamLink(teamId, linkId, newLink);
|
|
63
|
+
},
|
|
64
|
+
removeWebLink: (teamId, linkId) => async ({
|
|
65
|
+
dispatch
|
|
66
|
+
}) => {
|
|
67
|
+
await teamsClient.deleteTeamLink(teamId, linkId);
|
|
68
|
+
await dispatch(actions.getTeamWebLinks(teamId));
|
|
69
|
+
},
|
|
70
|
+
initialState: state => ({
|
|
71
|
+
setState
|
|
72
|
+
}) => {
|
|
73
|
+
setState({
|
|
74
|
+
...initialState,
|
|
75
|
+
...state
|
|
76
|
+
});
|
|
77
|
+
}
|
|
78
|
+
};
|
|
79
|
+
const TeamWebLinksStore = createStore({
|
|
80
|
+
initialState,
|
|
81
|
+
actions
|
|
82
|
+
});
|
|
83
|
+
export const useTeamWebLinks = createHook(TeamWebLinksStore);
|
|
84
|
+
export const useTeamWebLinksActions = createHook(TeamWebLinksStore, {
|
|
85
|
+
selector: null
|
|
86
|
+
});
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
package/dist/es2019/index.js
CHANGED
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
export { TeamContainers } from './ui/team-containers';
|
|
2
2
|
export { useTeamContainers, useConnectedTeams } from './controllers/hooks/use-team-containers';
|
|
3
|
+
export { useTeamWebLinks, useTeamWebLinksActions } from './controllers/hooks/use-team-web-links';
|
|
3
4
|
export { useProductPermissions } from './controllers/hooks/use-product-permission';
|
|
4
5
|
export { hasProductPermission } from './controllers/product-permission/utils';
|
|
5
|
-
export { getContainerProperties } from './common/utils/get-container-properties';
|
|
6
|
+
export { getContainerProperties } from './common/utils/get-container-properties';
|
|
7
|
+
export { ConfluenceIcon, JiraIcon, LoomIcon } from './common/assets';
|
|
@@ -25,7 +25,8 @@ export const TeamContainers = ({
|
|
|
25
25
|
userId,
|
|
26
26
|
cloudId,
|
|
27
27
|
filterContainerId,
|
|
28
|
-
isDisplayedOnProfileCard
|
|
28
|
+
isDisplayedOnProfileCard,
|
|
29
|
+
maxNumberOfContainersToShow = MAX_NUMBER_OF_CONTAINERS_TO_SHOW
|
|
29
30
|
}) => {
|
|
30
31
|
const {
|
|
31
32
|
createAnalyticsEvent
|
|
@@ -64,7 +65,7 @@ export const TeamContainers = ({
|
|
|
64
65
|
}
|
|
65
66
|
}, [isDisplayedOnProfileCard, filterContainerId, teamContainers]);
|
|
66
67
|
useEffect(() => {
|
|
67
|
-
if (filteredTeamContainers.length >
|
|
68
|
+
if (filteredTeamContainers.length > maxNumberOfContainersToShow || isDisplayedOnProfileCard) {
|
|
68
69
|
setShowAddContainer({
|
|
69
70
|
Jira: false,
|
|
70
71
|
Confluence: false,
|
|
@@ -80,7 +81,7 @@ export const TeamContainers = ({
|
|
|
80
81
|
Loom: !hasLoomSpace && !!productPermissions && !!hasProductPermission(productPermissions, 'loom')
|
|
81
82
|
});
|
|
82
83
|
}
|
|
83
|
-
}, [isDisplayedOnProfileCard, productPermissions, filteredTeamContainers]);
|
|
84
|
+
}, [isDisplayedOnProfileCard, productPermissions, filteredTeamContainers, maxNumberOfContainersToShow]);
|
|
84
85
|
const handleShowMore = () => {
|
|
85
86
|
setShowMore(!showMore);
|
|
86
87
|
};
|
|
@@ -122,7 +123,7 @@ export const TeamContainers = ({
|
|
|
122
123
|
const TeamContainersSkeletonComponent = (components === null || components === void 0 ? void 0 : components.TeamContainersSkeleton) || TeamContainersSkeleton;
|
|
123
124
|
if (loading || productPermissionIsLoading) {
|
|
124
125
|
return /*#__PURE__*/React.createElement(TeamContainersSkeletonComponent, {
|
|
125
|
-
numberOfContainers:
|
|
126
|
+
numberOfContainers: maxNumberOfContainersToShow
|
|
126
127
|
});
|
|
127
128
|
}
|
|
128
129
|
if (filteredTeamContainers.length === 0 && !isDisplayedOnProfileCard && (!productPermissions || !(productPermissions && (hasProductPermission(productPermissions, 'jira') || hasProductPermission(productPermissions, 'confluence') || hasProductPermission(productPermissions, 'loom'))))) {
|
|
@@ -133,7 +134,7 @@ export const TeamContainers = ({
|
|
|
133
134
|
}, /*#__PURE__*/React.createElement(Grid, {
|
|
134
135
|
templateColumns: "repeat(auto-fill, minmax(300px, 1fr))",
|
|
135
136
|
gap: isDisplayedOnProfileCard ? 'space.0' : 'space.100'
|
|
136
|
-
}, filteredTeamContainers.slice(0,
|
|
137
|
+
}, filteredTeamContainers.slice(0, maxNumberOfContainersToShow).map(container => {
|
|
137
138
|
return /*#__PURE__*/React.createElement(LinkedContainerCardComponent, {
|
|
138
139
|
key: container.id,
|
|
139
140
|
containerType: container.type,
|
|
@@ -157,7 +158,7 @@ export const TeamContainers = ({
|
|
|
157
158
|
}), showAddContainer.Loom && fg('loom_tab_in_container_linker_team_profile_page') && /*#__PURE__*/React.createElement(AddContainerCard, {
|
|
158
159
|
onAddAContainerClick: e => onAddAContainerClick(e, 'Loom'),
|
|
159
160
|
containerType: "LoomSpace"
|
|
160
|
-
}), showMore && filteredTeamContainers.slice(
|
|
161
|
+
}), showMore && filteredTeamContainers.slice(maxNumberOfContainersToShow).map(container => {
|
|
161
162
|
return /*#__PURE__*/React.createElement(LinkedContainerCardComponent, {
|
|
162
163
|
key: container.id,
|
|
163
164
|
containerType: container.type,
|
|
@@ -172,7 +173,7 @@ export const TeamContainers = ({
|
|
|
172
173
|
containerName: container.name
|
|
173
174
|
})
|
|
174
175
|
});
|
|
175
|
-
})), filteredTeamContainers.length >
|
|
176
|
+
})), filteredTeamContainers.length > maxNumberOfContainersToShow && /*#__PURE__*/React.createElement(Inline, null, /*#__PURE__*/React.createElement(Button, {
|
|
176
177
|
appearance: "subtle",
|
|
177
178
|
onClick: handleShowMore
|
|
178
179
|
}, showMore ? /*#__PURE__*/React.createElement(FormattedMessage, messages.showLess) : /*#__PURE__*/React.createElement(FormattedMessage, messages.showMore)))), /*#__PURE__*/React.createElement(ModalTransition, null, isDisconnectDialogOpen && selectedContainerDetails && /*#__PURE__*/React.createElement(DisconnectDialogLazy, {
|
|
@@ -86,6 +86,7 @@ var getJiraIcon = function getJiraIcon(containerSubTypes) {
|
|
|
86
86
|
}
|
|
87
87
|
};
|
|
88
88
|
var getJiraContainerProperties = function getJiraContainerProperties(containerTypeProperties) {
|
|
89
|
+
var iconSize = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'small';
|
|
89
90
|
var _ref = containerTypeProperties || {},
|
|
90
91
|
subType = _ref.subType,
|
|
91
92
|
name = _ref.name;
|
|
@@ -93,7 +94,7 @@ var getJiraContainerProperties = function getJiraContainerProperties(containerTy
|
|
|
93
94
|
var baseProperties = {
|
|
94
95
|
description: /*#__PURE__*/React.createElement(FormattedMessage, messages.jiraProjectDescription),
|
|
95
96
|
icon: /*#__PURE__*/React.createElement(Comp, {
|
|
96
|
-
xcss: styles.iconWrapper
|
|
97
|
+
xcss: iconSize === 'medium' ? styles.mediumIconWrapper : styles.iconWrapper
|
|
97
98
|
}, /*#__PURE__*/React.createElement(Image, {
|
|
98
99
|
src: getJiraIcon(subType),
|
|
99
100
|
alt: "",
|
|
@@ -145,7 +146,7 @@ export var getContainerProperties = function getContainerProperties(containerTyp
|
|
|
145
146
|
containerTypeText: /*#__PURE__*/React.createElement(FormattedMessage, messages.spaceContainerText)
|
|
146
147
|
};
|
|
147
148
|
case 'JiraProject':
|
|
148
|
-
return getJiraContainerProperties(containerTypeProperties);
|
|
149
|
+
return getJiraContainerProperties(containerTypeProperties, iconSize);
|
|
149
150
|
case 'WebLink':
|
|
150
151
|
return {
|
|
151
152
|
description: /*#__PURE__*/React.createElement(Text, {
|