@atlaskit/profilecard 16.5.0 → 16.7.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 +18 -0
- package/dist/cjs/client/ProfileCardClient.js +2 -2
- package/dist/cjs/client/TeamCentralCardClient.js +14 -9
- package/dist/cjs/components/User/OverflowProfileCardButtons.js +69 -0
- package/dist/cjs/components/User/ProfileCard.js +51 -28
- package/dist/cjs/components/User/ProfileCardResourced.js +63 -13
- package/dist/cjs/components/User/ProfileCardTrigger.js +35 -4
- package/dist/cjs/messages.js +5 -0
- package/dist/cjs/mocks/mock-profile-client.js +5 -0
- package/dist/cjs/styled/Card.js +21 -17
- package/dist/cjs/util/analytics.js +1 -1
- package/dist/cjs/version.json +1 -1
- package/dist/es2019/client/ProfileCardClient.js +2 -2
- package/dist/es2019/client/TeamCentralCardClient.js +13 -8
- package/dist/es2019/components/User/OverflowProfileCardButtons.js +33 -0
- package/dist/es2019/components/User/ProfileCard.js +40 -22
- package/dist/es2019/components/User/ProfileCardResourced.js +51 -11
- package/dist/es2019/components/User/ProfileCardTrigger.js +35 -4
- package/dist/es2019/messages.js +5 -0
- package/dist/es2019/mocks/mock-profile-client.js +4 -0
- package/dist/es2019/styled/Card.js +8 -1
- package/dist/es2019/util/analytics.js +1 -1
- package/dist/es2019/version.json +1 -1
- package/dist/esm/client/ProfileCardClient.js +2 -2
- package/dist/esm/client/TeamCentralCardClient.js +14 -9
- package/dist/esm/components/User/OverflowProfileCardButtons.js +43 -0
- package/dist/esm/components/User/ProfileCard.js +51 -28
- package/dist/esm/components/User/ProfileCardResourced.js +57 -13
- package/dist/esm/components/User/ProfileCardTrigger.js +36 -4
- package/dist/esm/messages.js +5 -0
- package/dist/esm/mocks/mock-profile-client.js +5 -0
- package/dist/esm/styled/Card.js +17 -16
- package/dist/esm/util/analytics.js +1 -1
- package/dist/esm/version.json +1 -1
- package/dist/types/client/TeamCentralCardClient.d.ts +6 -2
- package/dist/types/client/graphqlUtils.d.ts +1 -1
- package/dist/types/components/User/OverflowProfileCardButtons.d.ts +8 -0
- package/dist/types/components/User/ProfileCard.d.ts +7 -4
- package/dist/types/components/User/ProfileCardResourced.d.ts +3 -1
- package/dist/types/components/User/ProfileCardTrigger.d.ts +2 -0
- package/dist/types/messages.d.ts +5 -0
- package/dist/types/styled/Card.d.ts +1 -0
- package/dist/types/types.d.ts +10 -0
- package/package.json +4 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,23 @@
|
|
|
1
1
|
# @atlaskit/profilecard
|
|
2
2
|
|
|
3
|
+
## 16.7.0
|
|
4
|
+
|
|
5
|
+
### Minor Changes
|
|
6
|
+
|
|
7
|
+
- [`4e9fbfb9e85`](https://bitbucket.org/atlassian/atlassian-frontend/commits/4e9fbfb9e85) - [ux] Adding meatballs overflow menu when the profile card has more than two action buttons
|
|
8
|
+
|
|
9
|
+
## 16.6.1
|
|
10
|
+
|
|
11
|
+
### Patch Changes
|
|
12
|
+
|
|
13
|
+
- [`cf03bdf6b7e`](https://bitbucket.org/atlassian/atlassian-frontend/commits/cf03bdf6b7e) - Made feature flag check extra context optional.
|
|
14
|
+
|
|
15
|
+
## 16.6.0
|
|
16
|
+
|
|
17
|
+
### Minor Changes
|
|
18
|
+
|
|
19
|
+
- [`7c691c8e8a9`](https://bitbucket.org/atlassian/atlassian-frontend/commits/7c691c8e8a9) - [ux] Launch the give kudos flow via a drawer from the profile-card.
|
|
20
|
+
|
|
3
21
|
## 16.5.0
|
|
4
22
|
|
|
5
23
|
### Minor Changes
|
|
@@ -70,11 +70,11 @@ var ProfileCardClient = /*#__PURE__*/function () {
|
|
|
70
70
|
}, {
|
|
71
71
|
key: "shouldShowGiveKudos",
|
|
72
72
|
value: function shouldShowGiveKudos() {
|
|
73
|
-
var _this$tcClient4, _this$tcClient5;
|
|
73
|
+
var _this$tcClient4, _this$tcClient5, _this$tcClient6;
|
|
74
74
|
|
|
75
75
|
// Check if the kudos feature enabled and if the user has TC
|
|
76
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')) || Promise.resolve(false);
|
|
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
78
|
}
|
|
79
79
|
}]);
|
|
80
80
|
return ProfileCardClient;
|
|
@@ -38,11 +38,12 @@ var buildReportingLinesQuery = function buildReportingLinesQuery(aaid) {
|
|
|
38
38
|
};
|
|
39
39
|
};
|
|
40
40
|
|
|
41
|
-
var buildCheckFeatureFlagQuery = function buildCheckFeatureFlagQuery(featureKey) {
|
|
41
|
+
var buildCheckFeatureFlagQuery = function buildCheckFeatureFlagQuery(featureKey, context) {
|
|
42
42
|
return {
|
|
43
|
-
query: "\n query isFeatureKeyEnabled($featureKey: String
|
|
43
|
+
query: "\n query isFeatureKeyEnabled($featureKey: String!, $context: [IsFeatureEnabledContextInput]) {\n isFeatureEnabled(featureKey: $featureKey, context: $context) {\n enabled\n }\n }\n ",
|
|
44
44
|
variables: {
|
|
45
|
-
featureKey: featureKey
|
|
45
|
+
featureKey: featureKey,
|
|
46
|
+
context: context || []
|
|
46
47
|
}
|
|
47
48
|
};
|
|
48
49
|
};
|
|
@@ -74,7 +75,7 @@ var TeamCentralCardClient = /*#__PURE__*/function (_CachingClient) {
|
|
|
74
75
|
(0, _createClass2.default)(TeamCentralCardClient, [{
|
|
75
76
|
key: "makeFeatureFlagCheckRequest",
|
|
76
77
|
value: function () {
|
|
77
|
-
var _makeFeatureFlagCheckRequest = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee(featureKey) {
|
|
78
|
+
var _makeFeatureFlagCheckRequest = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee(featureKey, context) {
|
|
78
79
|
var query, response;
|
|
79
80
|
return _regenerator.default.wrap(function _callee$(_context) {
|
|
80
81
|
while (1) {
|
|
@@ -88,7 +89,7 @@ var TeamCentralCardClient = /*#__PURE__*/function (_CachingClient) {
|
|
|
88
89
|
throw new Error('options.teamCentralUrl is a required parameter for retrieving Team Central data');
|
|
89
90
|
|
|
90
91
|
case 2:
|
|
91
|
-
query = buildCheckFeatureFlagQuery(featureKey);
|
|
92
|
+
query = buildCheckFeatureFlagQuery(featureKey, context);
|
|
92
93
|
_context.next = 5;
|
|
93
94
|
return (0, _graphqlUtils.graphqlQuery)(this.options.teamCentralUrl, query);
|
|
94
95
|
|
|
@@ -104,7 +105,7 @@ var TeamCentralCardClient = /*#__PURE__*/function (_CachingClient) {
|
|
|
104
105
|
}, _callee, this);
|
|
105
106
|
}));
|
|
106
107
|
|
|
107
|
-
function makeFeatureFlagCheckRequest(_x) {
|
|
108
|
+
function makeFeatureFlagCheckRequest(_x, _x2) {
|
|
108
109
|
return _makeFeatureFlagCheckRequest.apply(this, arguments);
|
|
109
110
|
}
|
|
110
111
|
|
|
@@ -143,7 +144,7 @@ var TeamCentralCardClient = /*#__PURE__*/function (_CachingClient) {
|
|
|
143
144
|
}, _callee2, this);
|
|
144
145
|
}));
|
|
145
146
|
|
|
146
|
-
function makeRequest(
|
|
147
|
+
function makeRequest(_x3) {
|
|
147
148
|
return _makeRequest.apply(this, arguments);
|
|
148
149
|
}
|
|
149
150
|
|
|
@@ -197,7 +198,7 @@ var TeamCentralCardClient = /*#__PURE__*/function (_CachingClient) {
|
|
|
197
198
|
}
|
|
198
199
|
}, {
|
|
199
200
|
key: "getFlagEnabled",
|
|
200
|
-
value: function getFlagEnabled(featureKey) {
|
|
201
|
+
value: function getFlagEnabled(featureKey, productIdentifier) {
|
|
201
202
|
var _this3 = this;
|
|
202
203
|
|
|
203
204
|
if (!featureKey) {
|
|
@@ -212,8 +213,12 @@ var TeamCentralCardClient = /*#__PURE__*/function (_CachingClient) {
|
|
|
212
213
|
return Promise.resolve(false);
|
|
213
214
|
}
|
|
214
215
|
|
|
216
|
+
var context = [{
|
|
217
|
+
key: 'productIdentifier',
|
|
218
|
+
value: productIdentifier || 'unset'
|
|
219
|
+
}];
|
|
215
220
|
return new Promise(function (resolve) {
|
|
216
|
-
_this3.makeFeatureFlagCheckRequest(featureKey).then(function (enabled) {
|
|
221
|
+
_this3.makeFeatureFlagCheckRequest(featureKey, context).then(function (enabled) {
|
|
217
222
|
_this3.featureFlagKeys.set(featureKey, enabled);
|
|
218
223
|
|
|
219
224
|
resolve(enabled);
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
|
|
5
|
+
var _typeof = require("@babel/runtime/helpers/typeof");
|
|
6
|
+
|
|
7
|
+
Object.defineProperty(exports, "__esModule", {
|
|
8
|
+
value: true
|
|
9
|
+
});
|
|
10
|
+
exports.OverflowProfileCardButtons = void 0;
|
|
11
|
+
|
|
12
|
+
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
|
|
13
|
+
|
|
14
|
+
var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
|
|
15
|
+
|
|
16
|
+
var _react = _interopRequireDefault(require("react"));
|
|
17
|
+
|
|
18
|
+
var _reactIntlNext = require("react-intl-next");
|
|
19
|
+
|
|
20
|
+
var _customThemeButton = _interopRequireDefault(require("@atlaskit/button/custom-theme-button"));
|
|
21
|
+
|
|
22
|
+
var _dropdownMenu = _interopRequireWildcard(require("@atlaskit/dropdown-menu"));
|
|
23
|
+
|
|
24
|
+
var _more = _interopRequireDefault(require("@atlaskit/icon/glyph/more"));
|
|
25
|
+
|
|
26
|
+
var _messages = _interopRequireDefault(require("../../messages"));
|
|
27
|
+
|
|
28
|
+
var _Card = require("../../styled/Card");
|
|
29
|
+
|
|
30
|
+
var _excluded = ["triggerRef", "isSelected", "testId"];
|
|
31
|
+
|
|
32
|
+
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
|
+
|
|
34
|
+
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
|
+
|
|
36
|
+
var OverflowProfileCardButtons = function OverflowProfileCardButtons(props) {
|
|
37
|
+
var intl = (0, _reactIntlNext.useIntl)();
|
|
38
|
+
return /*#__PURE__*/_react.default.createElement(_Card.OverflowActionButtonsWrapper, null, /*#__PURE__*/_react.default.createElement(_dropdownMenu.default, {
|
|
39
|
+
placement: 'bottom-end',
|
|
40
|
+
trigger: function trigger(_ref) {
|
|
41
|
+
var triggerRef = _ref.triggerRef,
|
|
42
|
+
isSelected = _ref.isSelected,
|
|
43
|
+
testId = _ref.testId,
|
|
44
|
+
providedProps = (0, _objectWithoutProperties2.default)(_ref, _excluded);
|
|
45
|
+
return /*#__PURE__*/_react.default.createElement(_customThemeButton.default, (0, _extends2.default)({
|
|
46
|
+
type: "button"
|
|
47
|
+
}, providedProps, {
|
|
48
|
+
ref: triggerRef,
|
|
49
|
+
iconBefore: /*#__PURE__*/_react.default.createElement(_more.default, {
|
|
50
|
+
label: intl.formatMessage(_messages.default.profileCardMoreIconLabel)
|
|
51
|
+
})
|
|
52
|
+
}));
|
|
53
|
+
}
|
|
54
|
+
}, /*#__PURE__*/_react.default.createElement(_dropdownMenu.DropdownItemGroup, null, props.actions.map(function (action) {
|
|
55
|
+
return /*#__PURE__*/_react.default.createElement(_dropdownMenu.DropdownItem, {
|
|
56
|
+
key: action.id,
|
|
57
|
+
onClick: function onClick(event) {
|
|
58
|
+
for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {
|
|
59
|
+
args[_key - 1] = arguments[_key];
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
props.onItemClick(action, args, event);
|
|
63
|
+
},
|
|
64
|
+
href: action.link
|
|
65
|
+
}, action.label);
|
|
66
|
+
}))));
|
|
67
|
+
};
|
|
68
|
+
|
|
69
|
+
exports.OverflowProfileCardButtons = OverflowProfileCardButtons;
|
|
@@ -11,6 +11,8 @@ var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends")
|
|
|
11
11
|
|
|
12
12
|
var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
|
|
13
13
|
|
|
14
|
+
var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
|
|
15
|
+
|
|
14
16
|
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
|
|
15
17
|
|
|
16
18
|
var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
|
|
@@ -55,6 +57,8 @@ var _Error = require("../Error");
|
|
|
55
57
|
|
|
56
58
|
var _Icon = require("../Icon");
|
|
57
59
|
|
|
60
|
+
var _OverflowProfileCardButtons = require("./OverflowProfileCardButtons");
|
|
61
|
+
|
|
58
62
|
var _ReportingLinesDetails = _interopRequireDefault(require("./ReportingLinesDetails"));
|
|
59
63
|
|
|
60
64
|
var _excluded = ["text"];
|
|
@@ -89,13 +93,32 @@ var Profilecard = /*#__PURE__*/function (_React$PureComponent) {
|
|
|
89
93
|
_this.props.analytics(id, options);
|
|
90
94
|
}
|
|
91
95
|
});
|
|
92
|
-
(0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "
|
|
93
|
-
|
|
94
|
-
|
|
96
|
+
(0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "kudosUrl", function () {
|
|
97
|
+
var recipientId = _this.props.userId && "&recipientId=".concat(_this.props.userId) || '';
|
|
98
|
+
var cloudId = _this.props.cloudId && "&cloudId=".concat(_this.props.cloudId) || '';
|
|
99
|
+
return "".concat(_this.props.teamCentralBaseUrl, "/kudos/give?type=individual").concat(recipientId).concat(cloudId);
|
|
100
|
+
});
|
|
101
|
+
(0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "kudosButtonCallback", function () {
|
|
102
|
+
if (_this.props.openKudosDrawer) {
|
|
103
|
+
_this.props.openKudosDrawer();
|
|
95
104
|
} else {
|
|
96
|
-
window.open(
|
|
105
|
+
window.open(_this.kudosUrl());
|
|
97
106
|
}
|
|
98
107
|
});
|
|
108
|
+
(0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "renderButton", function (action, idx) {
|
|
109
|
+
return /*#__PURE__*/_react.default.createElement(_customThemeButton.default, {
|
|
110
|
+
appearance: idx === 0 ? 'default' : 'subtle',
|
|
111
|
+
key: action.id || idx,
|
|
112
|
+
onClick: function onClick(event) {
|
|
113
|
+
for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {
|
|
114
|
+
args[_key - 1] = arguments[_key];
|
|
115
|
+
}
|
|
116
|
+
|
|
117
|
+
return _this.onActionClick(action, args, event);
|
|
118
|
+
},
|
|
119
|
+
href: action.link
|
|
120
|
+
}, action.label);
|
|
121
|
+
});
|
|
99
122
|
_this.timeOpen = null;
|
|
100
123
|
|
|
101
124
|
_this.clientFetchProfile = function () {
|
|
@@ -135,9 +158,9 @@ var Profilecard = /*#__PURE__*/function (_React$PureComponent) {
|
|
|
135
158
|
label: /*#__PURE__*/_react.default.createElement(_reactIntlNext.FormattedMessage, _messages.default.giveKudosButton),
|
|
136
159
|
id: 'give-kudos',
|
|
137
160
|
callback: function callback() {
|
|
138
|
-
_this3.
|
|
161
|
+
_this3.kudosButtonCallback();
|
|
139
162
|
},
|
|
140
|
-
link: this.
|
|
163
|
+
link: this.kudosUrl()
|
|
141
164
|
};
|
|
142
165
|
return actions.concat([kudosAction]);
|
|
143
166
|
}
|
|
@@ -154,30 +177,30 @@ var Profilecard = /*#__PURE__*/function (_React$PureComponent) {
|
|
|
154
177
|
}
|
|
155
178
|
|
|
156
179
|
var actions = this.getActions();
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
if (action.callback && (0, _click.isBasicClick)(event)) {
|
|
168
|
-
event.preventDefault();
|
|
169
|
-
|
|
170
|
-
for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {
|
|
171
|
-
args[_key - 1] = arguments[_key];
|
|
172
|
-
}
|
|
173
|
-
|
|
174
|
-
action.callback.apply(action, [event].concat(args));
|
|
175
|
-
}
|
|
176
|
-
},
|
|
177
|
-
href: action.link
|
|
178
|
-
}, action.label);
|
|
180
|
+
var firstTwoActions = actions.slice(0, 2);
|
|
181
|
+
var restOfActions = actions && actions.length > 2 ? actions.slice(2) : undefined;
|
|
182
|
+
return /*#__PURE__*/_react.default.createElement(_Card.ActionButtonGroup, null, firstTwoActions.map(function (action, idx) {
|
|
183
|
+
return _this4.renderButton(action, idx);
|
|
184
|
+
}), restOfActions && /*#__PURE__*/_react.default.createElement(_OverflowProfileCardButtons.OverflowProfileCardButtons, {
|
|
185
|
+
actions: restOfActions,
|
|
186
|
+
onItemClick: function onItemClick(action, args, event) {
|
|
187
|
+
return _this4.onActionClick(action, args, event);
|
|
188
|
+
}
|
|
179
189
|
}));
|
|
180
190
|
}
|
|
191
|
+
}, {
|
|
192
|
+
key: "onActionClick",
|
|
193
|
+
value: function onActionClick(action, args, event) {
|
|
194
|
+
this.callAnalytics(_analytics.AnalyticsName.PROFILE_CARD_CLICK, {
|
|
195
|
+
id: action.id || null,
|
|
196
|
+
duration: this.durationSince(this.timeOpen)
|
|
197
|
+
});
|
|
198
|
+
|
|
199
|
+
if (action.callback && (0, _click.isBasicClick)(event)) {
|
|
200
|
+
event.preventDefault();
|
|
201
|
+
action.callback.apply(action, [event].concat((0, _toConsumableArray2.default)(args)));
|
|
202
|
+
}
|
|
203
|
+
}
|
|
181
204
|
}, {
|
|
182
205
|
key: "renderCardDetailsDefault",
|
|
183
206
|
value: function renderCardDetailsDefault() {
|
|
@@ -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;
|
|
@@ -31,6 +31,8 @@ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/de
|
|
|
31
31
|
|
|
32
32
|
var _react = _interopRequireWildcard(require("react"));
|
|
33
33
|
|
|
34
|
+
var _giveKudos = require("@atlaskit/give-kudos");
|
|
35
|
+
|
|
34
36
|
var _popup = _interopRequireDefault(require("@atlaskit/popup"));
|
|
35
37
|
|
|
36
38
|
var _constants = require("@atlaskit/theme/constants");
|
|
@@ -127,7 +129,8 @@ var ProfilecardTrigger = /*#__PURE__*/function (_React$PureComponent) {
|
|
|
127
129
|
data: null,
|
|
128
130
|
reportingLinesData: undefined,
|
|
129
131
|
shouldShowGiveKudos: false,
|
|
130
|
-
teamCentralBaseUrl: undefined
|
|
132
|
+
teamCentralBaseUrl: undefined,
|
|
133
|
+
kudosDrawerOpen: false
|
|
131
134
|
});
|
|
132
135
|
(0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "clientFetchProfile", function () {
|
|
133
136
|
var _this$props = _this.props,
|
|
@@ -161,6 +164,18 @@ var ProfilecardTrigger = /*#__PURE__*/function (_React$PureComponent) {
|
|
|
161
164
|
});
|
|
162
165
|
});
|
|
163
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
|
+
});
|
|
164
179
|
(0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "renderCard", function () {
|
|
165
180
|
var isLoading = _this.state.isLoading;
|
|
166
181
|
|
|
@@ -247,7 +262,9 @@ var ProfilecardTrigger = /*#__PURE__*/function (_React$PureComponent) {
|
|
|
247
262
|
reportingLines: this.state.reportingLinesData,
|
|
248
263
|
onReportingLinesClick: this.props.onReportingLinesClick,
|
|
249
264
|
isKudosEnabled: this.state.shouldShowGiveKudos,
|
|
250
|
-
teamCentralBaseUrl: this.state.teamCentralBaseUrl
|
|
265
|
+
teamCentralBaseUrl: this.state.teamCentralBaseUrl,
|
|
266
|
+
cloudId: this.props.cloudId,
|
|
267
|
+
openKudosDrawer: this.openKudosDrawer
|
|
251
268
|
});
|
|
252
269
|
|
|
253
270
|
var wrapperProps = this.props.trigger === 'hover' ? {
|
|
@@ -268,7 +285,7 @@ var ProfilecardTrigger = /*#__PURE__*/function (_React$PureComponent) {
|
|
|
268
285
|
value: function renderWithTrigger() {
|
|
269
286
|
var _this3 = this;
|
|
270
287
|
|
|
271
|
-
return /*#__PURE__*/_react.default.createElement(_popup.default, {
|
|
288
|
+
return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(_popup.default, {
|
|
272
289
|
isOpen: !!this.state.visible,
|
|
273
290
|
onClose: this.hideProfilecard,
|
|
274
291
|
placement: this.props.position,
|
|
@@ -283,7 +300,21 @@ var ProfilecardTrigger = /*#__PURE__*/function (_React$PureComponent) {
|
|
|
283
300
|
},
|
|
284
301
|
zIndex: _constants.layers.modal(),
|
|
285
302
|
shouldUseCaptureOnOutsideClick: true
|
|
286
|
-
})
|
|
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
|
+
})));
|
|
287
318
|
}
|
|
288
319
|
}, {
|
|
289
320
|
key: "render",
|
package/dist/cjs/messages.js
CHANGED
|
@@ -152,6 +152,11 @@ var messages = (0, _reactIntlNext.defineMessages)({
|
|
|
152
152
|
id: 'pt.profile-card.give-kudos',
|
|
153
153
|
defaultMessage: 'Give kudos',
|
|
154
154
|
description: 'Title for the button on the profile card for a user to give a kudos'
|
|
155
|
+
},
|
|
156
|
+
profileCardMoreIconLabel: {
|
|
157
|
+
id: 'pt.profile-card.more-icon-label',
|
|
158
|
+
defaultMessage: 'More',
|
|
159
|
+
description: 'Label for the meatballs icon on the profile card, which when clicked will provide more options'
|
|
155
160
|
}
|
|
156
161
|
});
|
|
157
162
|
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);
|