@atlaskit/profilecard 16.4.8 → 16.6.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +18 -0
- package/dist/cjs/client/ProfileCardClient.js +16 -0
- package/dist/cjs/client/TeamCentralCardClient.js +91 -5
- package/dist/cjs/components/User/ProfileCard.js +62 -25
- package/dist/cjs/components/User/ProfileCardResourced.js +63 -13
- package/dist/cjs/components/User/ProfileCardTrigger.js +60 -12
- package/dist/cjs/messages.js +5 -0
- package/dist/cjs/mocks/mock-profile-client.js +5 -0
- package/dist/cjs/styled/Card.js +1 -1
- package/dist/cjs/util/analytics.js +1 -1
- package/dist/cjs/version.json +1 -1
- package/dist/es2019/client/ProfileCardClient.js +14 -0
- package/dist/es2019/client/TeamCentralCardClient.js +57 -0
- package/dist/es2019/components/User/ProfileCard.js +53 -16
- package/dist/es2019/components/User/ProfileCardResourced.js +51 -11
- package/dist/es2019/components/User/ProfileCardTrigger.js +51 -8
- package/dist/es2019/messages.js +5 -0
- package/dist/es2019/mocks/mock-profile-client.js +4 -0
- package/dist/es2019/styled/Card.js +3 -1
- package/dist/es2019/util/analytics.js +1 -1
- package/dist/es2019/version.json +1 -1
- package/dist/esm/client/ProfileCardClient.js +16 -0
- package/dist/esm/client/TeamCentralCardClient.js +91 -5
- package/dist/esm/components/User/ProfileCard.js +65 -25
- package/dist/esm/components/User/ProfileCardResourced.js +57 -13
- package/dist/esm/components/User/ProfileCardTrigger.js +60 -12
- package/dist/esm/messages.js +5 -0
- package/dist/esm/mocks/mock-profile-client.js +5 -0
- package/dist/esm/styled/Card.js +1 -1
- package/dist/esm/util/analytics.js +1 -1
- package/dist/esm/version.json +1 -1
- package/dist/types/client/ProfileCardClient.d.ts +2 -0
- package/dist/types/client/TeamCentralCardClient.d.ts +7 -0
- package/dist/types/client/graphqlUtils.d.ts +1 -1
- package/dist/types/components/User/ProfileCard.d.ts +6 -2
- package/dist/types/components/User/ProfileCardResourced.d.ts +3 -1
- package/dist/types/components/User/ProfileCardTrigger.d.ts +3 -1
- package/dist/types/messages.d.ts +5 -0
- package/dist/types/types.d.ts +21 -1
- package/package.json +4 -2
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,23 @@
|
|
|
1
1
|
# @atlaskit/profilecard
|
|
2
2
|
|
|
3
|
+
## 16.6.1
|
|
4
|
+
|
|
5
|
+
### Patch Changes
|
|
6
|
+
|
|
7
|
+
- [`cf03bdf6b7e`](https://bitbucket.org/atlassian/atlassian-frontend/commits/cf03bdf6b7e) - Made feature flag check extra context optional.
|
|
8
|
+
|
|
9
|
+
## 16.6.0
|
|
10
|
+
|
|
11
|
+
### Minor Changes
|
|
12
|
+
|
|
13
|
+
- [`7c691c8e8a9`](https://bitbucket.org/atlassian/atlassian-frontend/commits/7c691c8e8a9) - [ux] Launch the give kudos flow via a drawer from the profile-card.
|
|
14
|
+
|
|
15
|
+
## 16.5.0
|
|
16
|
+
|
|
17
|
+
### Minor Changes
|
|
18
|
+
|
|
19
|
+
- [`31ca93c69a3`](https://bitbucket.org/atlassian/atlassian-frontend/commits/31ca93c69a3) - [ux] Adding give kudos button to the profile card
|
|
20
|
+
|
|
3
21
|
## 16.4.8
|
|
4
22
|
|
|
5
23
|
### Patch Changes
|
|
@@ -60,6 +60,22 @@ var ProfileCardClient = /*#__PURE__*/function () {
|
|
|
60
60
|
reports: []
|
|
61
61
|
});
|
|
62
62
|
}
|
|
63
|
+
}, {
|
|
64
|
+
key: "getTeamCentralBaseUrl",
|
|
65
|
+
value: function getTeamCentralBaseUrl() {
|
|
66
|
+
var _this$tcClient3;
|
|
67
|
+
|
|
68
|
+
return (_this$tcClient3 = this.tcClient) === null || _this$tcClient3 === void 0 ? void 0 : _this$tcClient3.options.teamCentralBaseUrl;
|
|
69
|
+
}
|
|
70
|
+
}, {
|
|
71
|
+
key: "shouldShowGiveKudos",
|
|
72
|
+
value: function shouldShowGiveKudos() {
|
|
73
|
+
var _this$tcClient4, _this$tcClient5, _this$tcClient6;
|
|
74
|
+
|
|
75
|
+
// Check if the kudos feature enabled and if the user has TC
|
|
76
|
+
// if the user does not have TC the tc client will be undefined.
|
|
77
|
+
return ((_this$tcClient4 = this.tcClient) === null || _this$tcClient4 === void 0 ? void 0 : _this$tcClient4.options.teamCentralBaseUrl) && ((_this$tcClient5 = this.tcClient) === null || _this$tcClient5 === void 0 ? void 0 : _this$tcClient5.getFlagEnabled('team-central-kudos-enabled-m2', (_this$tcClient6 = this.tcClient) === null || _this$tcClient6 === void 0 ? void 0 : _this$tcClient6.options.productIdentifier)) || Promise.resolve(false);
|
|
78
|
+
}
|
|
63
79
|
}]);
|
|
64
80
|
return ProfileCardClient;
|
|
65
81
|
}();
|
|
@@ -38,6 +38,16 @@ var buildReportingLinesQuery = function buildReportingLinesQuery(aaid) {
|
|
|
38
38
|
};
|
|
39
39
|
};
|
|
40
40
|
|
|
41
|
+
var buildCheckFeatureFlagQuery = function buildCheckFeatureFlagQuery(featureKey, context) {
|
|
42
|
+
return {
|
|
43
|
+
query: "\n query isFeatureKeyEnabled($featureKey: String!, $context: [IsFeatureEnabledContextInput]) {\n isFeatureEnabled(featureKey: $featureKey, context: $context) {\n enabled\n }\n }\n ",
|
|
44
|
+
variables: {
|
|
45
|
+
featureKey: featureKey,
|
|
46
|
+
context: context || []
|
|
47
|
+
}
|
|
48
|
+
};
|
|
49
|
+
};
|
|
50
|
+
|
|
41
51
|
var TeamCentralCardClient = /*#__PURE__*/function (_CachingClient) {
|
|
42
52
|
(0, _inherits2.default)(TeamCentralCardClient, _CachingClient);
|
|
43
53
|
|
|
@@ -58,13 +68,14 @@ var TeamCentralCardClient = /*#__PURE__*/function (_CachingClient) {
|
|
|
58
68
|
_this = _super.call(this, options);
|
|
59
69
|
_this.options = options;
|
|
60
70
|
_this.bypassOnFailure = false;
|
|
71
|
+
_this.featureFlagKeys = new Map();
|
|
61
72
|
return _this;
|
|
62
73
|
}
|
|
63
74
|
|
|
64
75
|
(0, _createClass2.default)(TeamCentralCardClient, [{
|
|
65
|
-
key: "
|
|
76
|
+
key: "makeFeatureFlagCheckRequest",
|
|
66
77
|
value: function () {
|
|
67
|
-
var
|
|
78
|
+
var _makeFeatureFlagCheckRequest = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee(featureKey, context) {
|
|
68
79
|
var query, response;
|
|
69
80
|
return _regenerator.default.wrap(function _callee$(_context) {
|
|
70
81
|
while (1) {
|
|
@@ -78,13 +89,13 @@ var TeamCentralCardClient = /*#__PURE__*/function (_CachingClient) {
|
|
|
78
89
|
throw new Error('options.teamCentralUrl is a required parameter for retrieving Team Central data');
|
|
79
90
|
|
|
80
91
|
case 2:
|
|
81
|
-
query =
|
|
92
|
+
query = buildCheckFeatureFlagQuery(featureKey, context);
|
|
82
93
|
_context.next = 5;
|
|
83
94
|
return (0, _graphqlUtils.graphqlQuery)(this.options.teamCentralUrl, query);
|
|
84
95
|
|
|
85
96
|
case 5:
|
|
86
97
|
response = _context.sent;
|
|
87
|
-
return _context.abrupt("return", response.
|
|
98
|
+
return _context.abrupt("return", response.isFeatureEnabled.enabled);
|
|
88
99
|
|
|
89
100
|
case 7:
|
|
90
101
|
case "end":
|
|
@@ -94,7 +105,46 @@ var TeamCentralCardClient = /*#__PURE__*/function (_CachingClient) {
|
|
|
94
105
|
}, _callee, this);
|
|
95
106
|
}));
|
|
96
107
|
|
|
97
|
-
function
|
|
108
|
+
function makeFeatureFlagCheckRequest(_x, _x2) {
|
|
109
|
+
return _makeFeatureFlagCheckRequest.apply(this, arguments);
|
|
110
|
+
}
|
|
111
|
+
|
|
112
|
+
return makeFeatureFlagCheckRequest;
|
|
113
|
+
}()
|
|
114
|
+
}, {
|
|
115
|
+
key: "makeRequest",
|
|
116
|
+
value: function () {
|
|
117
|
+
var _makeRequest = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee2(userId) {
|
|
118
|
+
var query, response;
|
|
119
|
+
return _regenerator.default.wrap(function _callee2$(_context2) {
|
|
120
|
+
while (1) {
|
|
121
|
+
switch (_context2.prev = _context2.next) {
|
|
122
|
+
case 0:
|
|
123
|
+
if (this.options.teamCentralUrl) {
|
|
124
|
+
_context2.next = 2;
|
|
125
|
+
break;
|
|
126
|
+
}
|
|
127
|
+
|
|
128
|
+
throw new Error('options.teamCentralUrl is a required parameter for retrieving Team Central data');
|
|
129
|
+
|
|
130
|
+
case 2:
|
|
131
|
+
query = buildReportingLinesQuery(userId);
|
|
132
|
+
_context2.next = 5;
|
|
133
|
+
return (0, _graphqlUtils.graphqlQuery)(this.options.teamCentralUrl, query);
|
|
134
|
+
|
|
135
|
+
case 5:
|
|
136
|
+
response = _context2.sent;
|
|
137
|
+
return _context2.abrupt("return", response.reportingLines);
|
|
138
|
+
|
|
139
|
+
case 7:
|
|
140
|
+
case "end":
|
|
141
|
+
return _context2.stop();
|
|
142
|
+
}
|
|
143
|
+
}
|
|
144
|
+
}, _callee2, this);
|
|
145
|
+
}));
|
|
146
|
+
|
|
147
|
+
function makeRequest(_x3) {
|
|
98
148
|
return _makeRequest.apply(this, arguments);
|
|
99
149
|
}
|
|
100
150
|
|
|
@@ -146,6 +196,42 @@ var TeamCentralCardClient = /*#__PURE__*/function (_CachingClient) {
|
|
|
146
196
|
});
|
|
147
197
|
});
|
|
148
198
|
}
|
|
199
|
+
}, {
|
|
200
|
+
key: "getFlagEnabled",
|
|
201
|
+
value: function getFlagEnabled(featureKey, productIdentifier) {
|
|
202
|
+
var _this3 = this;
|
|
203
|
+
|
|
204
|
+
if (!featureKey) {
|
|
205
|
+
return Promise.reject(new Error('featureKey missing'));
|
|
206
|
+
}
|
|
207
|
+
|
|
208
|
+
if (this.featureFlagKeys.has(featureKey)) {
|
|
209
|
+
return Promise.resolve(this.featureFlagKeys.get(featureKey));
|
|
210
|
+
}
|
|
211
|
+
|
|
212
|
+
if (this.bypassOnFailure) {
|
|
213
|
+
return Promise.resolve(false);
|
|
214
|
+
}
|
|
215
|
+
|
|
216
|
+
var context = [{
|
|
217
|
+
key: 'productIdentifier',
|
|
218
|
+
value: productIdentifier || 'unset'
|
|
219
|
+
}];
|
|
220
|
+
return new Promise(function (resolve) {
|
|
221
|
+
_this3.makeFeatureFlagCheckRequest(featureKey, context).then(function (enabled) {
|
|
222
|
+
_this3.featureFlagKeys.set(featureKey, enabled);
|
|
223
|
+
|
|
224
|
+
resolve(enabled);
|
|
225
|
+
}).catch(function (error) {
|
|
226
|
+
if ((error === null || error === void 0 ? void 0 : error.status) === 401 || (error === null || error === void 0 ? void 0 : error.status) === 403) {
|
|
227
|
+
// Trigger circuit breaker
|
|
228
|
+
_this3.bypassOnFailure = true;
|
|
229
|
+
}
|
|
230
|
+
|
|
231
|
+
resolve(false);
|
|
232
|
+
});
|
|
233
|
+
});
|
|
234
|
+
}
|
|
149
235
|
}, {
|
|
150
236
|
key: "filterReportingLinesUser",
|
|
151
237
|
value: function filterReportingLinesUser() {
|
|
@@ -89,6 +89,41 @@ var Profilecard = /*#__PURE__*/function (_React$PureComponent) {
|
|
|
89
89
|
_this.props.analytics(id, options);
|
|
90
90
|
}
|
|
91
91
|
});
|
|
92
|
+
(0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "kudosUrl", function () {
|
|
93
|
+
var recipientId = _this.props.userId && "&recipientId=".concat(_this.props.userId) || '';
|
|
94
|
+
var cloudId = _this.props.cloudId && "&cloudId=".concat(_this.props.cloudId) || '';
|
|
95
|
+
return "".concat(_this.props.teamCentralBaseUrl, "/kudos/give?type=individual").concat(recipientId).concat(cloudId);
|
|
96
|
+
});
|
|
97
|
+
(0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "kudosButtonCallback", function () {
|
|
98
|
+
if (_this.props.openKudosDrawer) {
|
|
99
|
+
_this.props.openKudosDrawer();
|
|
100
|
+
} else {
|
|
101
|
+
window.open(_this.kudosUrl());
|
|
102
|
+
}
|
|
103
|
+
});
|
|
104
|
+
(0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "renderButton", function (action, idx) {
|
|
105
|
+
return /*#__PURE__*/_react.default.createElement(_customThemeButton.default, {
|
|
106
|
+
appearance: idx === 0 ? 'default' : 'subtle',
|
|
107
|
+
key: action.id || idx,
|
|
108
|
+
onClick: function onClick(event) {
|
|
109
|
+
_this.callAnalytics(_analytics.AnalyticsName.PROFILE_CARD_CLICK, {
|
|
110
|
+
id: action.id || null,
|
|
111
|
+
duration: _this.durationSince(_this.timeOpen)
|
|
112
|
+
});
|
|
113
|
+
|
|
114
|
+
if (action.callback && (0, _click.isBasicClick)(event)) {
|
|
115
|
+
event.preventDefault();
|
|
116
|
+
|
|
117
|
+
for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {
|
|
118
|
+
args[_key - 1] = arguments[_key];
|
|
119
|
+
}
|
|
120
|
+
|
|
121
|
+
action.callback.apply(action, [event].concat(args));
|
|
122
|
+
}
|
|
123
|
+
},
|
|
124
|
+
href: action.link
|
|
125
|
+
}, action.label);
|
|
126
|
+
});
|
|
92
127
|
_this.timeOpen = null;
|
|
93
128
|
|
|
94
129
|
_this.clientFetchProfile = function () {
|
|
@@ -116,43 +151,45 @@ var Profilecard = /*#__PURE__*/function (_React$PureComponent) {
|
|
|
116
151
|
errorType: this.props.errorType
|
|
117
152
|
});
|
|
118
153
|
}
|
|
154
|
+
}, {
|
|
155
|
+
key: "getActions",
|
|
156
|
+
value: function getActions() {
|
|
157
|
+
var _this3 = this;
|
|
158
|
+
|
|
159
|
+
var actions = this.props.actions || [];
|
|
160
|
+
|
|
161
|
+
if (!this.props.isCurrentUser && this.props.isKudosEnabled) {
|
|
162
|
+
var kudosAction = {
|
|
163
|
+
label: /*#__PURE__*/_react.default.createElement(_reactIntlNext.FormattedMessage, _messages.default.giveKudosButton),
|
|
164
|
+
id: 'give-kudos',
|
|
165
|
+
callback: function callback() {
|
|
166
|
+
_this3.kudosButtonCallback();
|
|
167
|
+
},
|
|
168
|
+
link: this.kudosUrl()
|
|
169
|
+
};
|
|
170
|
+
return actions.concat([kudosAction]);
|
|
171
|
+
}
|
|
172
|
+
|
|
173
|
+
return actions;
|
|
174
|
+
}
|
|
119
175
|
}, {
|
|
120
176
|
key: "renderActionsButtons",
|
|
121
177
|
value: function renderActionsButtons() {
|
|
122
|
-
var
|
|
178
|
+
var _this4 = this;
|
|
123
179
|
|
|
124
180
|
if (this.props.actions && this.props.actions.length === 0) {
|
|
125
181
|
return null;
|
|
126
182
|
}
|
|
127
183
|
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
key: action.id || idx,
|
|
132
|
-
onClick: function onClick(event) {
|
|
133
|
-
_this3.callAnalytics(_analytics.AnalyticsName.PROFILE_CARD_CLICK, {
|
|
134
|
-
id: action.id || null,
|
|
135
|
-
duration: _this3.durationSince(_this3.timeOpen)
|
|
136
|
-
});
|
|
137
|
-
|
|
138
|
-
if (action.callback && (0, _click.isBasicClick)(event)) {
|
|
139
|
-
event.preventDefault();
|
|
140
|
-
|
|
141
|
-
for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {
|
|
142
|
-
args[_key - 1] = arguments[_key];
|
|
143
|
-
}
|
|
144
|
-
|
|
145
|
-
action.callback.apply(action, [event].concat(args));
|
|
146
|
-
}
|
|
147
|
-
},
|
|
148
|
-
href: action.link
|
|
149
|
-
}, action.label);
|
|
184
|
+
var actions = this.getActions();
|
|
185
|
+
return /*#__PURE__*/_react.default.createElement(_Card.ActionButtonGroup, null, actions.map(function (action, idx) {
|
|
186
|
+
return _this4.renderButton(action, idx);
|
|
150
187
|
}));
|
|
151
188
|
}
|
|
152
189
|
}, {
|
|
153
190
|
key: "renderCardDetailsDefault",
|
|
154
191
|
value: function renderCardDetailsDefault() {
|
|
155
|
-
var
|
|
192
|
+
var _this5 = this;
|
|
156
193
|
|
|
157
194
|
var _this$props2 = this.props,
|
|
158
195
|
meta = _this$props2.meta,
|
|
@@ -175,7 +212,7 @@ var Profilecard = /*#__PURE__*/function (_React$PureComponent) {
|
|
|
175
212
|
onReportingLinesClick: this.props.onReportingLinesClick,
|
|
176
213
|
analytics: this.props.analytics,
|
|
177
214
|
getDuration: function getDuration() {
|
|
178
|
-
return
|
|
215
|
+
return _this5.durationSince(_this5.timeOpen);
|
|
179
216
|
}
|
|
180
217
|
}));
|
|
181
218
|
}
|
|
@@ -2,6 +2,8 @@
|
|
|
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
|
});
|
|
@@ -9,6 +11,8 @@ exports.default = void 0;
|
|
|
9
11
|
|
|
10
12
|
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
|
|
11
13
|
|
|
14
|
+
var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
|
|
15
|
+
|
|
12
16
|
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
|
|
13
17
|
|
|
14
18
|
var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
|
|
@@ -23,7 +27,9 @@ var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/ge
|
|
|
23
27
|
|
|
24
28
|
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
25
29
|
|
|
26
|
-
var _react =
|
|
30
|
+
var _react = _interopRequireWildcard(require("react"));
|
|
31
|
+
|
|
32
|
+
var _giveKudos = require("@atlaskit/give-kudos");
|
|
27
33
|
|
|
28
34
|
var _analytics = require("../../internal/analytics");
|
|
29
35
|
|
|
@@ -37,6 +43,10 @@ var _ProfileCard = _interopRequireDefault(require("./ProfileCard"));
|
|
|
37
43
|
|
|
38
44
|
var _UserLoadingState = _interopRequireDefault(require("./UserLoadingState"));
|
|
39
45
|
|
|
46
|
+
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); }
|
|
47
|
+
|
|
48
|
+
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; }
|
|
49
|
+
|
|
40
50
|
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; }
|
|
41
51
|
|
|
42
52
|
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; }
|
|
@@ -67,7 +77,9 @@ var ProfileCardResourced = /*#__PURE__*/function (_React$PureComponent) {
|
|
|
67
77
|
hasError: false,
|
|
68
78
|
error: null,
|
|
69
79
|
data: null,
|
|
70
|
-
reportingLinesData: undefined
|
|
80
|
+
reportingLinesData: undefined,
|
|
81
|
+
isKudosEnabled: false,
|
|
82
|
+
kudosDrawerOpen: false
|
|
71
83
|
});
|
|
72
84
|
(0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "callAnalytics", function (id) {
|
|
73
85
|
var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
|
|
@@ -93,9 +105,11 @@ var ProfileCardResourced = /*#__PURE__*/function (_React$PureComponent) {
|
|
|
93
105
|
hasError: false,
|
|
94
106
|
data: null
|
|
95
107
|
}, function () {
|
|
96
|
-
var requests = Promise.all([_this.props.resourceClient.getProfile(cloudId, userId), _this.props.resourceClient.getReportingLines(userId)]);
|
|
108
|
+
var requests = Promise.all([_this.props.resourceClient.getProfile(cloudId, userId), _this.props.resourceClient.getReportingLines(userId), _this.props.resourceClient.shouldShowGiveKudos()]);
|
|
97
109
|
requests.then(function (res) {
|
|
98
|
-
|
|
110
|
+
var _this2;
|
|
111
|
+
|
|
112
|
+
return (_this2 = _this).handleClientSuccess.apply(_this2, (0, _toConsumableArray2.default)(res));
|
|
99
113
|
}, function (err) {
|
|
100
114
|
return _this.handleClientError(err);
|
|
101
115
|
}).catch(function (err) {
|
|
@@ -106,6 +120,16 @@ var ProfileCardResourced = /*#__PURE__*/function (_React$PureComponent) {
|
|
|
106
120
|
(0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "filterActions", function () {
|
|
107
121
|
return (0, _filterActions.default)(_this.props.actions, _this.state.data);
|
|
108
122
|
});
|
|
123
|
+
(0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "openKudosDrawer", function () {
|
|
124
|
+
_this.setState({
|
|
125
|
+
kudosDrawerOpen: true
|
|
126
|
+
});
|
|
127
|
+
});
|
|
128
|
+
(0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "closeKudosDrawer", function () {
|
|
129
|
+
_this.setState({
|
|
130
|
+
kudosDrawerOpen: false
|
|
131
|
+
});
|
|
132
|
+
});
|
|
109
133
|
return _this;
|
|
110
134
|
}
|
|
111
135
|
|
|
@@ -141,7 +165,7 @@ var ProfileCardResourced = /*#__PURE__*/function (_React$PureComponent) {
|
|
|
141
165
|
}
|
|
142
166
|
}, {
|
|
143
167
|
key: "handleClientSuccess",
|
|
144
|
-
value: function handleClientSuccess(profileData, reportingLinesData) {
|
|
168
|
+
value: function handleClientSuccess(profileData, reportingLinesData, shouldShowGiveKudos) {
|
|
145
169
|
if (!this._isMounted) {
|
|
146
170
|
return;
|
|
147
171
|
}
|
|
@@ -150,7 +174,8 @@ var ProfileCardResourced = /*#__PURE__*/function (_React$PureComponent) {
|
|
|
150
174
|
isLoading: false,
|
|
151
175
|
hasError: false,
|
|
152
176
|
data: profileData,
|
|
153
|
-
reportingLinesData: reportingLinesData
|
|
177
|
+
reportingLinesData: reportingLinesData,
|
|
178
|
+
isKudosEnabled: shouldShowGiveKudos
|
|
154
179
|
});
|
|
155
180
|
}
|
|
156
181
|
}, {
|
|
@@ -174,10 +199,14 @@ var ProfileCardResourced = /*#__PURE__*/function (_React$PureComponent) {
|
|
|
174
199
|
hasError = _this$state.hasError,
|
|
175
200
|
error = _this$state.error,
|
|
176
201
|
data = _this$state.data,
|
|
177
|
-
reportingLinesData = _this$state.reportingLinesData
|
|
202
|
+
reportingLinesData = _this$state.reportingLinesData,
|
|
203
|
+
isKudosEnabled = _this$state.isKudosEnabled;
|
|
178
204
|
var _this$props3 = this.props,
|
|
179
205
|
analytics = _this$props3.analytics,
|
|
180
|
-
onReportingLinesClick = _this$props3.onReportingLinesClick
|
|
206
|
+
onReportingLinesClick = _this$props3.onReportingLinesClick,
|
|
207
|
+
cloudId = _this$props3.cloudId,
|
|
208
|
+
userId = _this$props3.userId,
|
|
209
|
+
addFlag = _this$props3.addFlag;
|
|
181
210
|
var isFetchingOrNotStartToFetchYet = isLoading === true || isLoading === undefined;
|
|
182
211
|
|
|
183
212
|
if (isFetchingOrNotStartToFetchYet) {
|
|
@@ -189,18 +218,39 @@ var ProfileCardResourced = /*#__PURE__*/function (_React$PureComponent) {
|
|
|
189
218
|
}));
|
|
190
219
|
}
|
|
191
220
|
|
|
192
|
-
var newProps = _objectSpread({
|
|
221
|
+
var newProps = _objectSpread(_objectSpread({
|
|
193
222
|
hasError: hasError,
|
|
194
223
|
errorType: error,
|
|
195
224
|
clientFetchProfile: this.clientFetchProfile,
|
|
196
225
|
analytics: analytics,
|
|
197
226
|
reportingLines: reportingLinesData,
|
|
198
|
-
onReportingLinesClick: onReportingLinesClick
|
|
199
|
-
|
|
227
|
+
onReportingLinesClick: onReportingLinesClick,
|
|
228
|
+
cloudId: cloudId,
|
|
229
|
+
userId: userId,
|
|
230
|
+
addFlag: addFlag
|
|
231
|
+
}, data), {}, {
|
|
232
|
+
isKudosEnabled: isKudosEnabled,
|
|
233
|
+
teamCentralBaseUrl: this.props.resourceClient.getTeamCentralBaseUrl(),
|
|
234
|
+
openKudosDrawer: this.openKudosDrawer
|
|
235
|
+
});
|
|
200
236
|
|
|
201
|
-
return /*#__PURE__*/_react.default.createElement(_Card.CardWrapper, null, /*#__PURE__*/_react.default.createElement(
|
|
237
|
+
return /*#__PURE__*/_react.default.createElement(_Card.CardWrapper, null, /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, isKudosEnabled && /*#__PURE__*/_react.default.createElement(_react.Suspense, {
|
|
238
|
+
fallback: null
|
|
239
|
+
}, /*#__PURE__*/_react.default.createElement(_giveKudos.GiveKudosLauncherLazy, {
|
|
240
|
+
isOpen: this.state.kudosDrawerOpen,
|
|
241
|
+
recipient: {
|
|
242
|
+
type: _giveKudos.KudosType.INDIVIDUAL,
|
|
243
|
+
recipientId: this.props.userId
|
|
244
|
+
},
|
|
245
|
+
analytics: this.props.analytics,
|
|
246
|
+
analyticsSource: "profile-card",
|
|
247
|
+
teamCentralBaseUrl: newProps.teamCentralBaseUrl,
|
|
248
|
+
cloudId: this.props.cloudId,
|
|
249
|
+
addFlag: this.props.addFlag,
|
|
250
|
+
onClose: this.closeKudosDrawer
|
|
251
|
+
})), /*#__PURE__*/_react.default.createElement(_ProfileCard.default, (0, _extends2.default)({}, newProps, {
|
|
202
252
|
actions: this.filterActions()
|
|
203
|
-
})));
|
|
253
|
+
}))));
|
|
204
254
|
}
|
|
205
255
|
}]);
|
|
206
256
|
return ProfileCardResourced;
|
|
@@ -13,6 +13,8 @@ var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/h
|
|
|
13
13
|
|
|
14
14
|
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
|
|
15
15
|
|
|
16
|
+
var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
|
|
17
|
+
|
|
16
18
|
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
|
|
17
19
|
|
|
18
20
|
var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
|
|
@@ -29,6 +31,8 @@ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/de
|
|
|
29
31
|
|
|
30
32
|
var _react = _interopRequireWildcard(require("react"));
|
|
31
33
|
|
|
34
|
+
var _giveKudos = require("@atlaskit/give-kudos");
|
|
35
|
+
|
|
32
36
|
var _popup = _interopRequireDefault(require("@atlaskit/popup"));
|
|
33
37
|
|
|
34
38
|
var _constants = require("@atlaskit/theme/constants");
|
|
@@ -123,7 +127,10 @@ var ProfilecardTrigger = /*#__PURE__*/function (_React$PureComponent) {
|
|
|
123
127
|
hasError: false,
|
|
124
128
|
error: null,
|
|
125
129
|
data: null,
|
|
126
|
-
reportingLinesData: undefined
|
|
130
|
+
reportingLinesData: undefined,
|
|
131
|
+
shouldShowGiveKudos: false,
|
|
132
|
+
teamCentralBaseUrl: undefined,
|
|
133
|
+
kudosDrawerOpen: false
|
|
127
134
|
});
|
|
128
135
|
(0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "clientFetchProfile", function () {
|
|
129
136
|
var _this$props = _this.props,
|
|
@@ -136,14 +143,20 @@ var ProfilecardTrigger = /*#__PURE__*/function (_React$PureComponent) {
|
|
|
136
143
|
return;
|
|
137
144
|
}
|
|
138
145
|
|
|
146
|
+
_this.setState({
|
|
147
|
+
teamCentralBaseUrl: _this.props.resourceClient.getTeamCentralBaseUrl()
|
|
148
|
+
});
|
|
149
|
+
|
|
139
150
|
_this.setState({
|
|
140
151
|
isLoading: true,
|
|
141
152
|
hasError: false,
|
|
142
153
|
data: null
|
|
143
154
|
}, function () {
|
|
144
|
-
var requests = Promise.all([_this.props.resourceClient.getProfile(cloudId || '', userId), _this.props.resourceClient.getReportingLines(userId)]);
|
|
155
|
+
var requests = Promise.all([_this.props.resourceClient.getProfile(cloudId || '', userId), _this.props.resourceClient.getReportingLines(userId), _this.props.resourceClient.shouldShowGiveKudos()]);
|
|
145
156
|
requests.then(function (res) {
|
|
146
|
-
|
|
157
|
+
var _this2;
|
|
158
|
+
|
|
159
|
+
return (_this2 = _this).handleClientSuccess.apply(_this2, (0, _toConsumableArray2.default)(res));
|
|
147
160
|
}, function (err) {
|
|
148
161
|
return _this.handleClientError(err);
|
|
149
162
|
}).catch(function (err) {
|
|
@@ -151,6 +164,18 @@ var ProfilecardTrigger = /*#__PURE__*/function (_React$PureComponent) {
|
|
|
151
164
|
});
|
|
152
165
|
});
|
|
153
166
|
});
|
|
167
|
+
(0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "openKudosDrawer", function () {
|
|
168
|
+
_this.hideProfilecard();
|
|
169
|
+
|
|
170
|
+
_this.setState({
|
|
171
|
+
kudosDrawerOpen: true
|
|
172
|
+
});
|
|
173
|
+
});
|
|
174
|
+
(0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "closeKudosDrawer", function () {
|
|
175
|
+
_this.setState({
|
|
176
|
+
kudosDrawerOpen: false
|
|
177
|
+
});
|
|
178
|
+
});
|
|
154
179
|
(0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "renderCard", function () {
|
|
155
180
|
var isLoading = _this.state.isLoading;
|
|
156
181
|
|
|
@@ -192,7 +217,7 @@ var ProfilecardTrigger = /*#__PURE__*/function (_React$PureComponent) {
|
|
|
192
217
|
}
|
|
193
218
|
}, {
|
|
194
219
|
key: "handleClientSuccess",
|
|
195
|
-
value: function handleClientSuccess(profileData, reportingLinesData) {
|
|
220
|
+
value: function handleClientSuccess(profileData, reportingLinesData, shouldShowGiveKudos) {
|
|
196
221
|
if (!this._isMounted) {
|
|
197
222
|
return;
|
|
198
223
|
}
|
|
@@ -201,7 +226,8 @@ var ProfilecardTrigger = /*#__PURE__*/function (_React$PureComponent) {
|
|
|
201
226
|
isLoading: false,
|
|
202
227
|
hasError: false,
|
|
203
228
|
data: profileData,
|
|
204
|
-
reportingLinesData: reportingLinesData
|
|
229
|
+
reportingLinesData: reportingLinesData,
|
|
230
|
+
shouldShowGiveKudos: shouldShowGiveKudos
|
|
205
231
|
});
|
|
206
232
|
}
|
|
207
233
|
}, {
|
|
@@ -225,12 +251,20 @@ var ProfilecardTrigger = /*#__PURE__*/function (_React$PureComponent) {
|
|
|
225
251
|
}, {
|
|
226
252
|
key: "renderProfileCard",
|
|
227
253
|
value: function renderProfileCard() {
|
|
254
|
+
var _this$state$data;
|
|
255
|
+
|
|
228
256
|
var newProps = _objectSpread(_objectSpread({
|
|
257
|
+
userId: this.props.userId,
|
|
258
|
+
isCurrentUser: (_this$state$data = this.state.data) === null || _this$state$data === void 0 ? void 0 : _this$state$data.isCurrentUser,
|
|
229
259
|
clientFetchProfile: this.clientFetchProfile,
|
|
230
260
|
analytics: this.props.analytics
|
|
231
261
|
}, this.state.data), {}, {
|
|
232
262
|
reportingLines: this.state.reportingLinesData,
|
|
233
|
-
onReportingLinesClick: this.props.onReportingLinesClick
|
|
263
|
+
onReportingLinesClick: this.props.onReportingLinesClick,
|
|
264
|
+
isKudosEnabled: this.state.shouldShowGiveKudos,
|
|
265
|
+
teamCentralBaseUrl: this.state.teamCentralBaseUrl,
|
|
266
|
+
cloudId: this.props.cloudId,
|
|
267
|
+
openKudosDrawer: this.openKudosDrawer
|
|
234
268
|
});
|
|
235
269
|
|
|
236
270
|
var wrapperProps = this.props.trigger === 'hover' ? {
|
|
@@ -249,9 +283,9 @@ var ProfilecardTrigger = /*#__PURE__*/function (_React$PureComponent) {
|
|
|
249
283
|
}, {
|
|
250
284
|
key: "renderWithTrigger",
|
|
251
285
|
value: function renderWithTrigger() {
|
|
252
|
-
var
|
|
286
|
+
var _this3 = this;
|
|
253
287
|
|
|
254
|
-
return /*#__PURE__*/_react.default.createElement(_popup.default, {
|
|
288
|
+
return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(_popup.default, {
|
|
255
289
|
isOpen: !!this.state.visible,
|
|
256
290
|
onClose: this.hideProfilecard,
|
|
257
291
|
placement: this.props.position,
|
|
@@ -259,14 +293,28 @@ var ProfilecardTrigger = /*#__PURE__*/function (_React$PureComponent) {
|
|
|
259
293
|
trigger: function trigger(triggerProps) {
|
|
260
294
|
var ref = triggerProps.ref,
|
|
261
295
|
innerProps = (0, _objectWithoutProperties2.default)(triggerProps, _excluded);
|
|
262
|
-
return /*#__PURE__*/_react.default.createElement("span", (0, _extends2.default)({}, innerProps,
|
|
296
|
+
return /*#__PURE__*/_react.default.createElement("span", (0, _extends2.default)({}, innerProps, _this3.containerListeners, {
|
|
263
297
|
ref: ref,
|
|
264
|
-
"data-testid":
|
|
265
|
-
}),
|
|
298
|
+
"data-testid": _this3.props.testId
|
|
299
|
+
}), _this3.props.children);
|
|
266
300
|
},
|
|
267
301
|
zIndex: _constants.layers.modal(),
|
|
268
302
|
shouldUseCaptureOnOutsideClick: true
|
|
269
|
-
})
|
|
303
|
+
}), this.state.shouldShowGiveKudos && /*#__PURE__*/_react.default.createElement(_react.Suspense, {
|
|
304
|
+
fallback: null
|
|
305
|
+
}, /*#__PURE__*/_react.default.createElement(_giveKudos.GiveKudosLauncherLazy, {
|
|
306
|
+
isOpen: this.state.kudosDrawerOpen,
|
|
307
|
+
recipient: {
|
|
308
|
+
type: _giveKudos.KudosType.INDIVIDUAL,
|
|
309
|
+
recipientId: this.props.userId
|
|
310
|
+
},
|
|
311
|
+
analytics: this.props.analytics,
|
|
312
|
+
analyticsSource: "profile-card",
|
|
313
|
+
teamCentralBaseUrl: this.state.teamCentralBaseUrl,
|
|
314
|
+
cloudId: this.props.cloudId,
|
|
315
|
+
addFlag: this.props.addFlag,
|
|
316
|
+
onClose: this.closeKudosDrawer
|
|
317
|
+
})));
|
|
270
318
|
}
|
|
271
319
|
}, {
|
|
272
320
|
key: "render",
|
package/dist/cjs/messages.js
CHANGED
|
@@ -147,6 +147,11 @@ var messages = (0, _reactIntlNext.defineMessages)({
|
|
|
147
147
|
id: 'pt.team-profile-card.directReports.heading',
|
|
148
148
|
defaultMessage: 'Direct reports',
|
|
149
149
|
description: "Title for a section on the profile card that show the user's direct reports"
|
|
150
|
+
},
|
|
151
|
+
giveKudosButton: {
|
|
152
|
+
id: 'pt.profile-card.give-kudos',
|
|
153
|
+
defaultMessage: 'Give kudos',
|
|
154
|
+
description: 'Title for the button on the profile card for a user to give a kudos'
|
|
150
155
|
}
|
|
151
156
|
});
|
|
152
157
|
var _default = messages;
|
|
@@ -114,6 +114,11 @@ function getMockProfileClient(BaseProfileClient, modifyResponse) {
|
|
|
114
114
|
}, timeout);
|
|
115
115
|
});
|
|
116
116
|
}
|
|
117
|
+
}, {
|
|
118
|
+
key: "getFlagEnabled",
|
|
119
|
+
value: function getFlagEnabled(featureKey) {
|
|
120
|
+
return Promise.resolve(true);
|
|
121
|
+
}
|
|
117
122
|
}]);
|
|
118
123
|
return MockTeamCentralClient;
|
|
119
124
|
}(_TeamCentralCardClient.default);
|
package/dist/cjs/styled/Card.js
CHANGED
|
@@ -43,7 +43,7 @@ var ActionsFlexSpacer = _styledComponents.default.div(_templateObject4 || (_temp
|
|
|
43
43
|
|
|
44
44
|
exports.ActionsFlexSpacer = ActionsFlexSpacer;
|
|
45
45
|
|
|
46
|
-
var ActionButtonGroup = _styledComponents.default.div(_templateObject5 || (_templateObject5 = (0, _taggedTemplateLiteral2.default)(["\n user-select: none;\n margin: ", "px 0 0 0;\n text-align: right;\n\n button {\n margin-left: ", "px;\n\n &:first-child {\n margin-left: 0;\n }\n }\n"])), 2 * (0, _constants.gridSize)(), _constants.gridSize);
|
|
46
|
+
var ActionButtonGroup = _styledComponents.default.div(_templateObject5 || (_templateObject5 = (0, _taggedTemplateLiteral2.default)(["\n user-select: none;\n margin: ", "px 0 0 0;\n text-align: right;\n\n button,\n a,\n span {\n margin-left: ", "px;\n\n &:first-child {\n margin-left: 0;\n }\n }\n"])), 2 * (0, _constants.gridSize)(), _constants.gridSize);
|
|
47
47
|
|
|
48
48
|
exports.ActionButtonGroup = ActionButtonGroup;
|
|
49
49
|
|
|
@@ -56,7 +56,7 @@ var createEvent = function createEvent(eventType, action, actionSubject, actionS
|
|
|
56
56
|
actionSubjectId: actionSubjectId,
|
|
57
57
|
attributes: _objectSpread(_objectSpread({
|
|
58
58
|
packageName: "@atlaskit/profilecard",
|
|
59
|
-
packageVersion: "16.
|
|
59
|
+
packageVersion: "16.6.1"
|
|
60
60
|
}, attributes), {}, {
|
|
61
61
|
firedAt: (0, _performance.getPageTime)()
|
|
62
62
|
})
|