@atlaskit/profilecard 16.12.1 → 17.0.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 +6 -0
- package/dist/cjs/client/ProfileCardClient.js +2 -2
- package/dist/cjs/client/TeamProfileCardClient.js +13 -12
- package/dist/cjs/client/UserProfileCardClient.js +25 -2
- package/dist/cjs/client/errorUtils.js +25 -0
- package/dist/cjs/components/Error/ErrorMessage.js +40 -77
- package/dist/cjs/components/Team/TeamLoadingState.js +1 -1
- package/dist/cjs/components/Team/TeamProfileCard.js +4 -4
- package/dist/cjs/components/Team/TeamProfileCardTrigger.js +3 -3
- package/dist/cjs/components/User/OverflowProfileCardButtons.js +44 -10
- package/dist/cjs/components/User/ProfileCard.js +195 -362
- package/dist/cjs/components/User/ProfileCardDetails.js +142 -0
- package/dist/cjs/components/User/ProfileCardResourced.js +25 -20
- package/dist/cjs/components/User/ProfileCardTrigger.js +35 -7
- package/dist/cjs/components/User/ReportingLinesDetails.js +13 -13
- package/dist/cjs/components/User/UserLoadingState.js +14 -2
- package/dist/cjs/util/analytics.js +31 -16
- package/dist/cjs/version.json +1 -1
- package/dist/es2019/client/ProfileCardClient.js +2 -2
- package/dist/es2019/client/TeamProfileCardClient.js +3 -9
- package/dist/es2019/client/UserProfileCardClient.js +23 -2
- package/dist/es2019/client/errorUtils.js +17 -0
- package/dist/es2019/components/Error/ErrorMessage.js +38 -42
- package/dist/es2019/components/Team/TeamLoadingState.js +2 -2
- package/dist/es2019/components/Team/TeamProfileCard.js +5 -5
- package/dist/es2019/components/Team/TeamProfileCardTrigger.js +4 -4
- package/dist/es2019/components/User/OverflowProfileCardButtons.js +30 -4
- package/dist/es2019/components/User/ProfileCard.js +161 -292
- package/dist/es2019/components/User/ProfileCardDetails.js +118 -0
- package/dist/es2019/components/User/ProfileCardResourced.js +21 -21
- package/dist/es2019/components/User/ProfileCardTrigger.js +32 -6
- package/dist/es2019/components/User/ReportingLinesDetails.js +10 -11
- package/dist/es2019/components/User/UserLoadingState.js +10 -2
- package/dist/es2019/util/analytics.js +13 -8
- package/dist/es2019/version.json +1 -1
- package/dist/esm/client/ProfileCardClient.js +2 -2
- package/dist/esm/client/TeamProfileCardClient.js +11 -12
- package/dist/esm/client/UserProfileCardClient.js +22 -2
- package/dist/esm/client/errorUtils.js +17 -0
- package/dist/esm/components/Error/ErrorMessage.js +35 -80
- package/dist/esm/components/Team/TeamLoadingState.js +2 -2
- package/dist/esm/components/Team/TeamProfileCard.js +5 -5
- package/dist/esm/components/Team/TeamProfileCardTrigger.js +4 -4
- package/dist/esm/components/User/OverflowProfileCardButtons.js +39 -9
- package/dist/esm/components/User/ProfileCard.js +180 -362
- package/dist/esm/components/User/ProfileCardDetails.js +120 -0
- package/dist/esm/components/User/ProfileCardResourced.js +17 -17
- package/dist/esm/components/User/ProfileCardTrigger.js +33 -7
- package/dist/esm/components/User/ReportingLinesDetails.js +12 -12
- package/dist/esm/components/User/UserLoadingState.js +7 -2
- package/dist/esm/util/analytics.js +21 -12
- package/dist/esm/version.json +1 -1
- package/dist/types/client/ProfileCardClient.d.ts +3 -2
- package/dist/types/client/TeamProfileCardClient.d.ts +2 -1
- package/dist/types/client/UserProfileCardClient.d.ts +2 -1
- package/dist/types/client/errorUtils.d.ts +6 -0
- package/dist/types/components/Error/ErrorMessage.d.ts +6 -15
- package/dist/types/components/Team/TeamProfileCardTrigger.d.ts +5 -11
- package/dist/types/components/User/OverflowProfileCardButtons.d.ts +4 -3
- package/dist/types/components/User/ProfileCard.d.ts +5 -29
- package/dist/types/components/User/ProfileCardDetails.d.ts +3 -0
- package/dist/types/components/User/ProfileCardResourced.d.ts +7 -3
- package/dist/types/components/User/ProfileCardTrigger.d.ts +3 -40
- package/dist/types/components/User/ReportingLinesDetails.d.ts +2 -4
- package/dist/types/components/User/UserLoadingState.d.ts +5 -1
- package/dist/types/components/User/lazyProfileCard.d.ts +1 -1
- package/dist/types/types.d.ts +11 -10
- package/dist/types/util/analytics.d.ts +22 -13
- package/package.json +8 -8
- package/report.api.md +71 -124
- package/dist/cjs/internal/analytics.js +0 -15
- package/dist/es2019/internal/analytics.js +0 -8
- package/dist/esm/internal/analytics.js +0 -8
- package/dist/types/internal/analytics.d.ts +0 -8
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,11 @@
|
|
|
1
1
|
# @atlaskit/profilecard
|
|
2
2
|
|
|
3
|
+
## 17.0.0
|
|
4
|
+
|
|
5
|
+
### Major Changes
|
|
6
|
+
|
|
7
|
+
- [`fae495c5956`](https://bitbucket.org/atlassian/atlassian-frontend/commits/fae495c5956) - Deprecated the analytics prop and start emitting GASv3 analytics
|
|
8
|
+
|
|
3
9
|
## 16.12.1
|
|
4
10
|
|
|
5
11
|
### Patch Changes
|
|
@@ -42,8 +42,8 @@ var ProfileCardClient = /*#__PURE__*/function () {
|
|
|
42
42
|
}
|
|
43
43
|
}, {
|
|
44
44
|
key: "getProfile",
|
|
45
|
-
value: function getProfile(cloudId, userId) {
|
|
46
|
-
return this.userClient.getProfile(cloudId, userId);
|
|
45
|
+
value: function getProfile(cloudId, userId, analytics) {
|
|
46
|
+
return this.userClient.getProfile(cloudId, userId, analytics);
|
|
47
47
|
}
|
|
48
48
|
}, {
|
|
49
49
|
key: "getTeamProfile",
|
|
@@ -7,6 +7,8 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
7
7
|
});
|
|
8
8
|
exports.default = void 0;
|
|
9
9
|
|
|
10
|
+
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
11
|
+
|
|
10
12
|
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
|
|
11
13
|
|
|
12
14
|
var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
|
|
@@ -23,10 +25,16 @@ var _performance = require("../util/performance");
|
|
|
23
25
|
|
|
24
26
|
var _CachingClient2 = _interopRequireDefault(require("./CachingClient"));
|
|
25
27
|
|
|
28
|
+
var _errorUtils = require("./errorUtils");
|
|
29
|
+
|
|
26
30
|
var _getTeamFromAGG = require("./getTeamFromAGG");
|
|
27
31
|
|
|
28
32
|
var _graphqlUtils = require("./graphqlUtils");
|
|
29
33
|
|
|
34
|
+
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
35
|
+
|
|
36
|
+
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2.default)(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
37
|
+
|
|
30
38
|
function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }
|
|
31
39
|
|
|
32
40
|
function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
|
|
@@ -43,12 +51,6 @@ var buildTeamQuery = function buildTeamQuery(teamId, orgId) {
|
|
|
43
51
|
};
|
|
44
52
|
};
|
|
45
53
|
|
|
46
|
-
var IGNORED_ERRORS = ['NotPermitted', 'Gone'];
|
|
47
|
-
|
|
48
|
-
function isRealError(error) {
|
|
49
|
-
return !IGNORED_ERRORS.includes(error.reason);
|
|
50
|
-
}
|
|
51
|
-
|
|
52
54
|
var TeamProfileCardClient = /*#__PURE__*/function (_CachingClient) {
|
|
53
55
|
(0, _inherits2.default)(TeamProfileCardClient, _CachingClient);
|
|
54
56
|
|
|
@@ -122,13 +124,12 @@ var TeamProfileCardClient = /*#__PURE__*/function (_CachingClient) {
|
|
|
122
124
|
|
|
123
125
|
resolve(data);
|
|
124
126
|
}).catch(function (error) {
|
|
125
|
-
if (analytics
|
|
126
|
-
analytics((0, _analytics.teamRequestAnalytics)('failed', {
|
|
127
|
-
duration: (0, _performance.getPageTime)() - startTime
|
|
128
|
-
|
|
129
|
-
errorReason: error.reason,
|
|
127
|
+
if (analytics) {
|
|
128
|
+
analytics((0, _analytics.teamRequestAnalytics)('failed', _objectSpread(_objectSpread({
|
|
129
|
+
duration: (0, _performance.getPageTime)() - startTime
|
|
130
|
+
}, (0, _errorUtils.getErrorAttributes)(error)), {}, {
|
|
130
131
|
gateway: shouldUseGateway
|
|
131
|
-
}));
|
|
132
|
+
})));
|
|
132
133
|
}
|
|
133
134
|
|
|
134
135
|
reject(error);
|
|
@@ -23,8 +23,14 @@ var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/ge
|
|
|
23
23
|
|
|
24
24
|
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
25
25
|
|
|
26
|
+
var _analytics = require("../util/analytics");
|
|
27
|
+
|
|
28
|
+
var _performance = require("../util/performance");
|
|
29
|
+
|
|
26
30
|
var _CachingClient2 = _interopRequireDefault(require("./CachingClient"));
|
|
27
31
|
|
|
32
|
+
var _errorUtils = require("./errorUtils");
|
|
33
|
+
|
|
28
34
|
var _graphqlUtils = require("./graphqlUtils");
|
|
29
35
|
|
|
30
36
|
function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }
|
|
@@ -55,7 +61,6 @@ var modifyResponse = function modifyResponse(response) {
|
|
|
55
61
|
return {
|
|
56
62
|
isBot: data.isBot,
|
|
57
63
|
isCurrentUser: data.isCurrentUser,
|
|
58
|
-
isNotMentionable: data.isNotMentionable,
|
|
59
64
|
status: data.status,
|
|
60
65
|
statusModifiedDate: data.statusModifiedDate || undefined,
|
|
61
66
|
avatarUrl: data.avatarUrl || undefined,
|
|
@@ -142,7 +147,7 @@ var UserProfileCardClient = /*#__PURE__*/function (_CachingClient) {
|
|
|
142
147
|
}()
|
|
143
148
|
}, {
|
|
144
149
|
key: "getProfile",
|
|
145
|
-
value: function getProfile(cloudId, userId) {
|
|
150
|
+
value: function getProfile(cloudId, userId, analytics) {
|
|
146
151
|
var _this2 = this;
|
|
147
152
|
|
|
148
153
|
if (!userId) {
|
|
@@ -157,13 +162,31 @@ var UserProfileCardClient = /*#__PURE__*/function (_CachingClient) {
|
|
|
157
162
|
}
|
|
158
163
|
|
|
159
164
|
return new Promise(function (resolve, reject) {
|
|
165
|
+
var startTime = (0, _performance.getPageTime)();
|
|
166
|
+
|
|
167
|
+
if (analytics) {
|
|
168
|
+
analytics((0, _analytics.userRequestAnalytics)('triggered'));
|
|
169
|
+
}
|
|
170
|
+
|
|
160
171
|
_this2.makeRequest(cloudId, userId).then(function (data) {
|
|
161
172
|
if (_this2.cache) {
|
|
162
173
|
_this2.setCachedProfile(cacheIdentifier, data);
|
|
163
174
|
}
|
|
164
175
|
|
|
176
|
+
if (analytics) {
|
|
177
|
+
analytics((0, _analytics.userRequestAnalytics)('succeeded', {
|
|
178
|
+
duration: (0, _performance.getPageTime)() - startTime
|
|
179
|
+
}));
|
|
180
|
+
}
|
|
181
|
+
|
|
165
182
|
resolve(data);
|
|
166
183
|
}).catch(function (error) {
|
|
184
|
+
if (analytics) {
|
|
185
|
+
analytics((0, _analytics.userRequestAnalytics)('failed', _objectSpread({
|
|
186
|
+
duration: (0, _performance.getPageTime)() - startTime
|
|
187
|
+
}, (0, _errorUtils.getErrorAttributes)(error))));
|
|
188
|
+
}
|
|
189
|
+
|
|
167
190
|
reject(error);
|
|
168
191
|
});
|
|
169
192
|
});
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.getErrorAttributes = void 0;
|
|
7
|
+
var IGNORED_ERRORS = ['NotPermitted', 'Gone'];
|
|
8
|
+
|
|
9
|
+
function isIgnoredError(error) {
|
|
10
|
+
return !!error && IGNORED_ERRORS.includes(error.reason);
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
var getErrorAttributes = function getErrorAttributes(error) {
|
|
14
|
+
var _error$response, _error$response$heade;
|
|
15
|
+
|
|
16
|
+
var traceId = !!error ? (_error$response = error.response) === null || _error$response === void 0 ? void 0 : (_error$response$heade = _error$response.headers) === null || _error$response$heade === void 0 ? void 0 : _error$response$heade.get('atl-traceid') : undefined;
|
|
17
|
+
return {
|
|
18
|
+
errorStatus: error === null || error === void 0 ? void 0 : error.code,
|
|
19
|
+
errorReason: error === null || error === void 0 ? void 0 : error.reason,
|
|
20
|
+
isSLOFailure: !isIgnoredError(error),
|
|
21
|
+
traceId: traceId !== null && traceId !== void 0 ? traceId : undefined
|
|
22
|
+
};
|
|
23
|
+
};
|
|
24
|
+
|
|
25
|
+
exports.getErrorAttributes = getErrorAttributes;
|
|
@@ -2,97 +2,60 @@
|
|
|
2
2
|
|
|
3
3
|
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
4
|
|
|
5
|
+
var _typeof = require("@babel/runtime/helpers/typeof");
|
|
6
|
+
|
|
5
7
|
Object.defineProperty(exports, "__esModule", {
|
|
6
8
|
value: true
|
|
7
9
|
});
|
|
8
10
|
exports.default = void 0;
|
|
9
11
|
|
|
10
|
-
var
|
|
11
|
-
|
|
12
|
-
var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
|
|
13
|
-
|
|
14
|
-
var _assertThisInitialized2 = _interopRequireDefault(require("@babel/runtime/helpers/assertThisInitialized"));
|
|
15
|
-
|
|
16
|
-
var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
|
|
17
|
-
|
|
18
|
-
var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
|
|
12
|
+
var _react = _interopRequireWildcard(require("react"));
|
|
19
13
|
|
|
20
|
-
var
|
|
21
|
-
|
|
22
|
-
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
23
|
-
|
|
24
|
-
var _react = _interopRequireDefault(require("react"));
|
|
25
|
-
|
|
26
|
-
var _customThemeButton = _interopRequireDefault(require("@atlaskit/button/custom-theme-button"));
|
|
14
|
+
var _standardButton = _interopRequireDefault(require("@atlaskit/button/standard-button"));
|
|
27
15
|
|
|
28
16
|
var _crossCircle = _interopRequireDefault(require("@atlaskit/icon/glyph/cross-circle"));
|
|
29
17
|
|
|
30
18
|
var _Error = require("../../styled/Error");
|
|
31
19
|
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
|
|
35
|
-
|
|
36
|
-
var ErrorMessage = /*#__PURE__*/function (_React$PureComponent) {
|
|
37
|
-
(0, _inherits2.default)(ErrorMessage, _React$PureComponent);
|
|
20
|
+
var _analytics = require("../../util/analytics");
|
|
38
21
|
|
|
39
|
-
|
|
22
|
+
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
40
23
|
|
|
41
|
-
|
|
42
|
-
var _this;
|
|
24
|
+
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
43
25
|
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
26
|
+
var ErrorMessage = function ErrorMessage(props) {
|
|
27
|
+
var errorType = props.errorType || {
|
|
28
|
+
reason: 'default'
|
|
29
|
+
};
|
|
30
|
+
var errorReason = errorType.reason;
|
|
31
|
+
var fireAnalytics = props.fireAnalytics,
|
|
32
|
+
reload = props.reload;
|
|
33
|
+
var hasRetry = !!reload;
|
|
34
|
+
(0, _react.useEffect)(function () {
|
|
35
|
+
fireAnalytics((0, _analytics.profileCardRendered)('user', 'error', {
|
|
36
|
+
hasRetry: hasRetry,
|
|
37
|
+
errorType: errorReason
|
|
38
|
+
}));
|
|
39
|
+
}, [errorReason, fireAnalytics, hasRetry]);
|
|
40
|
+
|
|
41
|
+
var errorContent = function errorContent() {
|
|
42
|
+
if (errorReason === 'NotFound') {
|
|
52
43
|
return /*#__PURE__*/_react.default.createElement(_Error.ErrorTitle, null, "The user is no longer available for the site");
|
|
53
|
-
});
|
|
54
|
-
(0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "renderDefault", function () {
|
|
55
|
-
return /*#__PURE__*/_react.default.createElement(_Error.ErrorTitle, null, "Oops, looks like we\u2019re having issues", /*#__PURE__*/_react.default.createElement("br", null), _this.props.reload ? /*#__PURE__*/_react.default.createElement(_Error.ErrorText, null, "Try again and we\u2019ll give it another shot") : null);
|
|
56
|
-
});
|
|
57
|
-
(0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "renderRetryButton", function () {
|
|
58
|
-
return _this.props.reload ? /*#__PURE__*/_react.default.createElement(_customThemeButton.default, {
|
|
59
|
-
appearance: "link",
|
|
60
|
-
onClick: _this.props.reload
|
|
61
|
-
}, "Try again") : null;
|
|
62
|
-
});
|
|
63
|
-
return _this;
|
|
64
|
-
}
|
|
65
|
-
|
|
66
|
-
(0, _createClass2.default)(ErrorMessage, [{
|
|
67
|
-
key: "renderErrorContent",
|
|
68
|
-
value: function renderErrorContent() {
|
|
69
|
-
var errorType = this.props.errorType || {
|
|
70
|
-
reason: 'default'
|
|
71
|
-
};
|
|
72
|
-
|
|
73
|
-
switch (errorType.reason) {
|
|
74
|
-
case 'NotFound':
|
|
75
|
-
return this.renderNotFound();
|
|
76
|
-
|
|
77
|
-
default:
|
|
78
|
-
return this.renderDefault();
|
|
79
|
-
}
|
|
80
44
|
}
|
|
81
|
-
}, {
|
|
82
|
-
key: "render",
|
|
83
|
-
value: function render() {
|
|
84
|
-
return /*#__PURE__*/_react.default.createElement(_Error.ErrorWrapper, null, /*#__PURE__*/_react.default.createElement(_crossCircle.default, {
|
|
85
|
-
label: "icon error",
|
|
86
|
-
size: "xlarge"
|
|
87
|
-
}), this.renderErrorContent(), this.renderRetryButton());
|
|
88
|
-
}
|
|
89
|
-
}]);
|
|
90
|
-
return ErrorMessage;
|
|
91
|
-
}(_react.default.PureComponent);
|
|
92
45
|
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
}
|
|
46
|
+
return /*#__PURE__*/_react.default.createElement(_Error.ErrorTitle, null, "Oops, looks like we\u2019re having issues", /*#__PURE__*/_react.default.createElement("br", null), reload && /*#__PURE__*/_react.default.createElement(_Error.ErrorText, null, "Try again and we\u2019ll give it another shot"));
|
|
47
|
+
};
|
|
48
|
+
|
|
49
|
+
return /*#__PURE__*/_react.default.createElement(_Error.ErrorWrapper, {
|
|
50
|
+
"data-testid": "profilecard-error"
|
|
51
|
+
}, /*#__PURE__*/_react.default.createElement(_crossCircle.default, {
|
|
52
|
+
label: "icon error",
|
|
53
|
+
size: "xlarge"
|
|
54
|
+
}), errorContent(), reload && /*#__PURE__*/_react.default.createElement(_standardButton.default, {
|
|
55
|
+
appearance: "link",
|
|
56
|
+
onClick: reload
|
|
57
|
+
}, "Try again"));
|
|
58
|
+
};
|
|
59
|
+
|
|
60
|
+
var _default = ErrorMessage;
|
|
61
|
+
exports.default = _default;
|
|
@@ -25,7 +25,7 @@ var _default = function _default(props) {
|
|
|
25
25
|
var analytics = props.analytics;
|
|
26
26
|
(0, _react.useEffect)(function () {
|
|
27
27
|
analytics(function (duration) {
|
|
28
|
-
return (0, _analytics.
|
|
28
|
+
return (0, _analytics.profileCardRendered)('team', 'spinner', {
|
|
29
29
|
duration: duration
|
|
30
30
|
});
|
|
31
31
|
});
|
|
@@ -134,7 +134,7 @@ var TeamMembers = function TeamMembers(_ref) {
|
|
|
134
134
|
function onActionClick(action, analytics, index) {
|
|
135
135
|
return function (event) {
|
|
136
136
|
analytics(function (duration) {
|
|
137
|
-
return (0, _analytics.
|
|
137
|
+
return (0, _analytics.actionClicked)('team', {
|
|
138
138
|
duration: duration,
|
|
139
139
|
hasHref: !!action.link,
|
|
140
140
|
hasOnClick: !!action.callback,
|
|
@@ -189,7 +189,7 @@ var ExtraActions = function ExtraActions(_ref3) {
|
|
|
189
189
|
if (shouldBeOpen) {
|
|
190
190
|
// Only fire this event when OPENING the dropdown
|
|
191
191
|
analytics(function (duration) {
|
|
192
|
-
return (0, _analytics.moreActionsClicked)({
|
|
192
|
+
return (0, _analytics.moreActionsClicked)('team', {
|
|
193
193
|
duration: duration,
|
|
194
194
|
numActions: count + 2
|
|
195
195
|
});
|
|
@@ -280,7 +280,7 @@ var TeamProfilecardContent = function TeamProfilecardContent(_ref5) {
|
|
|
280
280
|
analytics(function (duration) {
|
|
281
281
|
var _team$members;
|
|
282
282
|
|
|
283
|
-
return (0, _analytics.
|
|
283
|
+
return (0, _analytics.profileCardRendered)('team', 'content', {
|
|
284
284
|
duration: duration,
|
|
285
285
|
numActions: allActions.length,
|
|
286
286
|
memberCount: (_team$members = team.members) === null || _team$members === void 0 ? void 0 : _team$members.length,
|
|
@@ -313,7 +313,7 @@ var ErrorMessage = function ErrorMessage(_ref6) {
|
|
|
313
313
|
var hasRetry = !!clientFetchProfile;
|
|
314
314
|
(0, _react.useEffect)(function () {
|
|
315
315
|
analytics(function (duration) {
|
|
316
|
-
return (0, _analytics.
|
|
316
|
+
return (0, _analytics.profileCardRendered)('team', 'error', {
|
|
317
317
|
duration: duration,
|
|
318
318
|
hasRetry: hasRetry
|
|
319
319
|
});
|
|
@@ -147,7 +147,7 @@ var TeamProfileCardTriggerInternal = /*#__PURE__*/function (_React$PureComponent
|
|
|
147
147
|
_this.showProfilecard(0);
|
|
148
148
|
|
|
149
149
|
if (!_this.state.visible) {
|
|
150
|
-
_this.fireAnalytics((0, _analytics.
|
|
150
|
+
_this.fireAnalytics((0, _analytics.cardTriggered)('team', 'click'));
|
|
151
151
|
}
|
|
152
152
|
}
|
|
153
153
|
});
|
|
@@ -159,7 +159,7 @@ var TeamProfileCardTriggerInternal = /*#__PURE__*/function (_React$PureComponent
|
|
|
159
159
|
if (!_this.state.visible) {
|
|
160
160
|
_this.openedByHover = true;
|
|
161
161
|
|
|
162
|
-
_this.fireAnalytics((0, _analytics.
|
|
162
|
+
_this.fireAnalytics((0, _analytics.cardTriggered)('team', 'hover'));
|
|
163
163
|
}
|
|
164
164
|
|
|
165
165
|
_this.showProfilecard(_config.DELAY_MS_SHOW);
|
|
@@ -250,7 +250,7 @@ var TeamProfileCardTriggerInternal = /*#__PURE__*/function (_React$PureComponent
|
|
|
250
250
|
});
|
|
251
251
|
});
|
|
252
252
|
(0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "onErrorBoundary", function () {
|
|
253
|
-
_this.fireAnalytics((0, _analytics.
|
|
253
|
+
_this.fireAnalytics((0, _analytics.profileCardRendered)('team', 'errorBoundary', {
|
|
254
254
|
duration: 0
|
|
255
255
|
}));
|
|
256
256
|
|
|
@@ -7,13 +7,15 @@ var _typeof = require("@babel/runtime/helpers/typeof");
|
|
|
7
7
|
Object.defineProperty(exports, "__esModule", {
|
|
8
8
|
value: true
|
|
9
9
|
});
|
|
10
|
-
exports.OverflowProfileCardButtons = void 0;
|
|
10
|
+
exports.OverflowProfileCardButtons = exports.ACTION_OVERFLOW_THRESHOLD = void 0;
|
|
11
11
|
|
|
12
12
|
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
|
|
13
13
|
|
|
14
14
|
var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
|
|
15
15
|
|
|
16
|
-
var
|
|
16
|
+
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
|
|
17
|
+
|
|
18
|
+
var _react = _interopRequireWildcard(require("react"));
|
|
17
19
|
|
|
18
20
|
var _reactIntlNext = require("react-intl-next");
|
|
19
21
|
|
|
@@ -27,21 +29,53 @@ var _messages = _interopRequireDefault(require("../../messages"));
|
|
|
27
29
|
|
|
28
30
|
var _Card = require("../../styled/Card");
|
|
29
31
|
|
|
32
|
+
var _analytics = require("../../util/analytics");
|
|
33
|
+
|
|
30
34
|
var _excluded = ["triggerRef", "isSelected", "testId"];
|
|
31
35
|
|
|
32
36
|
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
33
37
|
|
|
34
38
|
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
35
39
|
|
|
40
|
+
var ACTION_OVERFLOW_THRESHOLD = 2;
|
|
41
|
+
exports.ACTION_OVERFLOW_THRESHOLD = ACTION_OVERFLOW_THRESHOLD;
|
|
42
|
+
|
|
36
43
|
var OverflowProfileCardButtons = function OverflowProfileCardButtons(props) {
|
|
37
44
|
var intl = (0, _reactIntlNext.useIntl)();
|
|
38
|
-
|
|
45
|
+
|
|
46
|
+
var _useState = (0, _react.useState)(false),
|
|
47
|
+
_useState2 = (0, _slicedToArray2.default)(_useState, 2),
|
|
48
|
+
setOpen = _useState2[1];
|
|
49
|
+
|
|
50
|
+
var actions = props.actions,
|
|
51
|
+
onItemClick = props.onItemClick,
|
|
52
|
+
fireAnalyticsWithDuration = props.fireAnalyticsWithDuration;
|
|
53
|
+
var numActions = actions.length + ACTION_OVERFLOW_THRESHOLD;
|
|
54
|
+
var onOpenChange = (0, _react.useCallback)(function (_ref) {
|
|
55
|
+
var nextOpen = _ref.isOpen;
|
|
56
|
+
setOpen(function (prevOpen) {
|
|
57
|
+
if (nextOpen && !prevOpen) {
|
|
58
|
+
fireAnalyticsWithDuration(function (duration) {
|
|
59
|
+
return (0, _analytics.moreActionsClicked)('user', {
|
|
60
|
+
duration: duration,
|
|
61
|
+
numActions: numActions
|
|
62
|
+
});
|
|
63
|
+
});
|
|
64
|
+
}
|
|
65
|
+
|
|
66
|
+
return nextOpen;
|
|
67
|
+
});
|
|
68
|
+
}, [numActions, fireAnalyticsWithDuration]);
|
|
69
|
+
return /*#__PURE__*/_react.default.createElement(_Card.OverflowActionButtonsWrapper, {
|
|
70
|
+
"data-testid": "profilecard-actions-overflow"
|
|
71
|
+
}, /*#__PURE__*/_react.default.createElement(_dropdownMenu.default, {
|
|
72
|
+
onOpenChange: onOpenChange,
|
|
39
73
|
placement: 'bottom-end',
|
|
40
|
-
trigger: function trigger(
|
|
41
|
-
var triggerRef =
|
|
42
|
-
isSelected =
|
|
43
|
-
testId =
|
|
44
|
-
providedProps = (0, _objectWithoutProperties2.default)(
|
|
74
|
+
trigger: function trigger(_ref2) {
|
|
75
|
+
var triggerRef = _ref2.triggerRef,
|
|
76
|
+
isSelected = _ref2.isSelected,
|
|
77
|
+
testId = _ref2.testId,
|
|
78
|
+
providedProps = (0, _objectWithoutProperties2.default)(_ref2, _excluded);
|
|
45
79
|
return /*#__PURE__*/_react.default.createElement(_customThemeButton.default, (0, _extends2.default)({
|
|
46
80
|
type: "button"
|
|
47
81
|
}, providedProps, {
|
|
@@ -51,7 +85,7 @@ var OverflowProfileCardButtons = function OverflowProfileCardButtons(props) {
|
|
|
51
85
|
})
|
|
52
86
|
}));
|
|
53
87
|
}
|
|
54
|
-
}, /*#__PURE__*/_react.default.createElement(_dropdownMenu.DropdownItemGroup, null,
|
|
88
|
+
}, /*#__PURE__*/_react.default.createElement(_dropdownMenu.DropdownItemGroup, null, actions.map(function (action, index) {
|
|
55
89
|
return /*#__PURE__*/_react.default.createElement(_dropdownMenu.DropdownItem, {
|
|
56
90
|
key: action.id,
|
|
57
91
|
onClick: function onClick(event) {
|
|
@@ -59,7 +93,7 @@ var OverflowProfileCardButtons = function OverflowProfileCardButtons(props) {
|
|
|
59
93
|
args[_key - 1] = arguments[_key];
|
|
60
94
|
}
|
|
61
95
|
|
|
62
|
-
|
|
96
|
+
onItemClick(action, args, event, index);
|
|
63
97
|
},
|
|
64
98
|
href: action.link
|
|
65
99
|
}, action.label);
|