@atlaskit/feedback-collector 15.2.1 → 15.4.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 +19 -0
- package/dist/cjs/components/FeedbackCollector.js +52 -51
- package/dist/cjs/components/FeedbackForm.js +31 -46
- package/dist/cjs/components/IntlProviderWithResolvedMessages.js +5 -5
- package/dist/cjs/utils/i18n-get-messages-for-locale.js +16 -17
- package/dist/es2019/components/FeedbackCollector.js +2 -1
- package/dist/es2019/components/FeedbackForm.js +11 -24
- package/dist/esm/components/FeedbackCollector.js +51 -50
- package/dist/esm/components/FeedbackForm.js +31 -46
- package/dist/esm/components/IntlProviderWithResolvedMessages.js +5 -5
- package/dist/esm/utils/i18n-get-messages-for-locale.js +15 -16
- package/dist/types/components/FeedbackCollector.d.ts +2 -0
- package/dist/types/components/FeedbackForm.d.ts +5 -3
- package/dist/types-ts4.5/components/FeedbackCollector.d.ts +2 -0
- package/dist/types-ts4.5/components/FeedbackForm.d.ts +5 -3
- package/package.json +8 -6
|
@@ -29,6 +29,7 @@ const FeedbackForm = ({
|
|
|
29
29
|
showDefaultTextFields = true,
|
|
30
30
|
customContent,
|
|
31
31
|
onClose,
|
|
32
|
+
onCancel,
|
|
32
33
|
onSubmit,
|
|
33
34
|
feedbackTitle,
|
|
34
35
|
feedbackTitleDetails,
|
|
@@ -59,6 +60,10 @@ const FeedbackForm = ({
|
|
|
59
60
|
formatMessage
|
|
60
61
|
} = useIntl();
|
|
61
62
|
const isTypeSelected = () => type !== 'empty';
|
|
63
|
+
const handleCancel = () => {
|
|
64
|
+
onCancel === null || onCancel === void 0 ? void 0 : onCancel();
|
|
65
|
+
onClose();
|
|
66
|
+
};
|
|
62
67
|
const canShowTextField = isTypeSelected() || !showTypeField;
|
|
63
68
|
const hasDescription = description || hasDescriptionDefaultValue;
|
|
64
69
|
const isDisabled = isSubmitting || disableSubmitButton;
|
|
@@ -189,13 +194,7 @@ const FeedbackForm = ({
|
|
|
189
194
|
}));
|
|
190
195
|
}
|
|
191
196
|
},
|
|
192
|
-
|
|
193
|
-
styles: {
|
|
194
|
-
menuPortal: base => ({
|
|
195
|
-
...base,
|
|
196
|
-
zIndex: 9999
|
|
197
|
-
})
|
|
198
|
-
},
|
|
197
|
+
menuPosition: "fixed",
|
|
199
198
|
options: selectOptions
|
|
200
199
|
// @ts-ignore
|
|
201
200
|
,
|
|
@@ -222,10 +221,7 @@ const FeedbackForm = ({
|
|
|
222
221
|
}
|
|
223
222
|
},
|
|
224
223
|
value: description
|
|
225
|
-
})), validationErrors.description && /*#__PURE__*/React.createElement(ErrorMessage, null, validationErrors.description))), !anonymousFeedback && /*#__PURE__*/React.createElement(Fieldset, null, /*#__PURE__*/React.createElement("legend", {
|
|
226
|
-
"aria-hidden": false,
|
|
227
|
-
hidden: true
|
|
228
|
-
}, /*#__PURE__*/React.createElement(FormattedMessage, messages.optInOptionsLegend)), /*#__PURE__*/React.createElement(Field, {
|
|
224
|
+
})), validationErrors.description && /*#__PURE__*/React.createElement(ErrorMessage, null, validationErrors.description))), !anonymousFeedback && /*#__PURE__*/React.createElement(Fieldset, null, /*#__PURE__*/React.createElement("legend", null, /*#__PURE__*/React.createElement(FormattedMessage, messages.optInOptionsLegend)), /*#__PURE__*/React.createElement(Field, {
|
|
229
225
|
name: "can-be-contacted"
|
|
230
226
|
}, ({
|
|
231
227
|
fieldProps
|
|
@@ -260,7 +256,7 @@ const FeedbackForm = ({
|
|
|
260
256
|
appearance: 'information'
|
|
261
257
|
}, feedbackIsAnonymous))))), /*#__PURE__*/React.createElement(ModalFooter, null, /*#__PURE__*/React.createElement(Button, {
|
|
262
258
|
appearance: "subtle",
|
|
263
|
-
onClick:
|
|
259
|
+
onClick: handleCancel
|
|
264
260
|
}, cancelButtonLabel || /*#__PURE__*/React.createElement(FormattedMessage, messages.cancelButtonLabel)), /*#__PURE__*/React.createElement(Button, {
|
|
265
261
|
appearance: "primary",
|
|
266
262
|
type: "submit",
|
|
@@ -311,13 +307,7 @@ const FeedbackForm = ({
|
|
|
311
307
|
}));
|
|
312
308
|
}
|
|
313
309
|
},
|
|
314
|
-
|
|
315
|
-
styles: {
|
|
316
|
-
menuPortal: base => ({
|
|
317
|
-
...base,
|
|
318
|
-
zIndex: 9999
|
|
319
|
-
})
|
|
320
|
-
},
|
|
310
|
+
menuPosition: "fixed",
|
|
321
311
|
options: selectOptions
|
|
322
312
|
// @ts-ignore
|
|
323
313
|
,
|
|
@@ -344,10 +334,7 @@ const FeedbackForm = ({
|
|
|
344
334
|
}
|
|
345
335
|
},
|
|
346
336
|
value: description
|
|
347
|
-
})), validationErrors.description && /*#__PURE__*/React.createElement(ErrorMessage, null, validationErrors.description))), !anonymousFeedback && /*#__PURE__*/React.createElement(Fieldset, null, /*#__PURE__*/React.createElement("legend", {
|
|
348
|
-
"aria-hidden": false,
|
|
349
|
-
hidden: true
|
|
350
|
-
}, /*#__PURE__*/React.createElement(FormattedMessage, messages.optInOptionsLegend)), /*#__PURE__*/React.createElement(Field, {
|
|
337
|
+
})), validationErrors.description && /*#__PURE__*/React.createElement(ErrorMessage, null, validationErrors.description))), !anonymousFeedback && /*#__PURE__*/React.createElement(Fieldset, null, /*#__PURE__*/React.createElement("legend", null, /*#__PURE__*/React.createElement(FormattedMessage, messages.optInOptionsLegend)), /*#__PURE__*/React.createElement(Field, {
|
|
351
338
|
name: "can-be-contacted"
|
|
352
339
|
}, ({
|
|
353
340
|
fieldProps
|
|
@@ -382,7 +369,7 @@ const FeedbackForm = ({
|
|
|
382
369
|
appearance: 'information'
|
|
383
370
|
}, feedbackIsAnonymous))))), /*#__PURE__*/React.createElement(ModalFooter, null, /*#__PURE__*/React.createElement(Button, {
|
|
384
371
|
appearance: "subtle",
|
|
385
|
-
onClick:
|
|
372
|
+
onClick: handleCancel
|
|
386
373
|
}, cancelButtonLabel || /*#__PURE__*/React.createElement(FormattedMessage, messages.cancelButtonLabel)), /*#__PURE__*/React.createElement(Button, {
|
|
387
374
|
appearance: "primary",
|
|
388
375
|
type: "submit",
|
|
@@ -38,18 +38,18 @@ var FeedbackCollector = /*#__PURE__*/function (_Component) {
|
|
|
38
38
|
_defineProperty(_this, "postFeedback", /*#__PURE__*/function () {
|
|
39
39
|
var _ref = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee(formValues) {
|
|
40
40
|
var entrypointId, fetchUrl, formData, body, postData;
|
|
41
|
-
return _regeneratorRuntime.wrap(function
|
|
41
|
+
return _regeneratorRuntime.wrap(function (_context) {
|
|
42
42
|
while (1) switch (_context.prev = _context.next) {
|
|
43
43
|
case 0:
|
|
44
44
|
entrypointId = _this.props.entrypointId;
|
|
45
45
|
fetchUrl = _this.getFeedbackUrl(); // Don't dispatch unless we have suitable props (allows tests to pass through empty strings and avoid redundant network calls)
|
|
46
46
|
if (!entrypointId) {
|
|
47
|
-
_context.next =
|
|
47
|
+
_context.next = 2;
|
|
48
48
|
break;
|
|
49
49
|
}
|
|
50
|
-
_context.next =
|
|
50
|
+
_context.next = 1;
|
|
51
51
|
return _this.mapFormToJSD(formValues);
|
|
52
|
-
case
|
|
52
|
+
case 1:
|
|
53
53
|
formData = _context.sent;
|
|
54
54
|
body = {
|
|
55
55
|
feedback: _objectSpread({
|
|
@@ -73,7 +73,7 @@ var FeedbackCollector = /*#__PURE__*/function (_Component) {
|
|
|
73
73
|
}),
|
|
74
74
|
credentials: 'include'
|
|
75
75
|
});
|
|
76
|
-
case
|
|
76
|
+
case 2:
|
|
77
77
|
_this.props.onClose();
|
|
78
78
|
|
|
79
79
|
// slightly delay confirming submit since we don't wait for the REST call to succeed
|
|
@@ -85,7 +85,7 @@ var FeedbackCollector = /*#__PURE__*/function (_Component) {
|
|
|
85
85
|
setTimeout(function () {
|
|
86
86
|
return _this.props.onSubmit(formValues);
|
|
87
87
|
}, _this.props.timeoutOnSubmit);
|
|
88
|
-
case
|
|
88
|
+
case 3:
|
|
89
89
|
case "end":
|
|
90
90
|
return _context.stop();
|
|
91
91
|
}
|
|
@@ -103,17 +103,17 @@ var FeedbackCollector = /*#__PURE__*/function (_Component) {
|
|
|
103
103
|
value: function () {
|
|
104
104
|
var _componentDidMount = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee2() {
|
|
105
105
|
var anonymousFeedback;
|
|
106
|
-
return _regeneratorRuntime.wrap(function
|
|
106
|
+
return _regeneratorRuntime.wrap(function (_context2) {
|
|
107
107
|
while (1) switch (_context2.prev = _context2.next) {
|
|
108
108
|
case 0:
|
|
109
|
-
_context2.next =
|
|
109
|
+
_context2.next = 1;
|
|
110
110
|
return this.shouldShowOptInCheckboxesNew();
|
|
111
|
-
case
|
|
111
|
+
case 1:
|
|
112
112
|
anonymousFeedback = !_context2.sent;
|
|
113
113
|
this.setState({
|
|
114
114
|
anonymousFeedback: anonymousFeedback
|
|
115
115
|
});
|
|
116
|
-
case
|
|
116
|
+
case 2:
|
|
117
117
|
case "end":
|
|
118
118
|
return _context2.stop();
|
|
119
119
|
}
|
|
@@ -155,20 +155,20 @@ var FeedbackCollector = /*#__PURE__*/function (_Component) {
|
|
|
155
155
|
}, {
|
|
156
156
|
key: "getPackageVersion",
|
|
157
157
|
value: function getPackageVersion() {
|
|
158
|
-
return "15.
|
|
158
|
+
return "15.3.0" || 'Unknown, at least 11.0.0';
|
|
159
159
|
}
|
|
160
160
|
}, {
|
|
161
161
|
key: "getEntitlementInformation",
|
|
162
162
|
value: function () {
|
|
163
163
|
var _getEntitlementInformation = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee3() {
|
|
164
164
|
var _entitlementDetails, _entitlementDetails2, _productName, _entitlement;
|
|
165
|
-
var url, productName, productEntitlement, entitlementDetails, productKey, _document$querySelect, hasPremium, entitlement, entitlementInformation, cloudSiteId, _entitlementDetails3;
|
|
166
|
-
return _regeneratorRuntime.wrap(function
|
|
165
|
+
var url, productName, productEntitlement, entitlementDetails, productKey, _document$querySelect, hasPremium, entitlement, entitlementInformation, cloudSiteId, _entitlementDetails3, _t;
|
|
166
|
+
return _regeneratorRuntime.wrap(function (_context3) {
|
|
167
167
|
while (1) switch (_context3.prev = _context3.next) {
|
|
168
168
|
case 0:
|
|
169
169
|
url = this.getGatewayUrl(); // jira / confluence / bitbucket / trello
|
|
170
170
|
if (!window.location.host.includes('bitbucket.org')) {
|
|
171
|
-
_context3.next =
|
|
171
|
+
_context3.next = 1;
|
|
172
172
|
break;
|
|
173
173
|
}
|
|
174
174
|
productName = 'Bitbucket';
|
|
@@ -176,18 +176,18 @@ var FeedbackCollector = /*#__PURE__*/function (_Component) {
|
|
|
176
176
|
entitlementDetails = JSON.parse(JSON.stringify((_document$querySelect = document.querySelector('meta[id="bb-bootstrap"]')) === null || _document$querySelect === void 0 ? void 0 : _document$querySelect.getAttribute('data-current-user')));
|
|
177
177
|
hasPremium = entitlementDetails['hasPremium'];
|
|
178
178
|
productEntitlement = hasPremium ? 'PREMIUM' : 'STANDARD';
|
|
179
|
-
_context3.next =
|
|
179
|
+
_context3.next = 6;
|
|
180
180
|
break;
|
|
181
|
-
case
|
|
181
|
+
case 1:
|
|
182
182
|
if (!['trellis.coffee', 'trello.com'].includes(window.location.host)) {
|
|
183
|
-
_context3.next =
|
|
183
|
+
_context3.next = 2;
|
|
184
184
|
break;
|
|
185
185
|
}
|
|
186
186
|
productName = 'Trello';
|
|
187
187
|
productKey = 'trello';
|
|
188
|
-
_context3.next =
|
|
188
|
+
_context3.next = 6;
|
|
189
189
|
break;
|
|
190
|
-
case
|
|
190
|
+
case 2:
|
|
191
191
|
if (document.querySelector('meta[id="confluence-context-path"]')) {
|
|
192
192
|
productName = 'Confluence';
|
|
193
193
|
productKey = 'pricingplan.confluence.ondemand';
|
|
@@ -195,8 +195,8 @@ var FeedbackCollector = /*#__PURE__*/function (_Component) {
|
|
|
195
195
|
productName = 'Jira';
|
|
196
196
|
productKey = 'jira-software.ondemand';
|
|
197
197
|
}
|
|
198
|
-
_context3.prev =
|
|
199
|
-
_context3.next =
|
|
198
|
+
_context3.prev = 3;
|
|
199
|
+
_context3.next = 4;
|
|
200
200
|
return fetch("".concat(url, "/customer-context/entitlements/").concat(window.location.host), _objectSpread({
|
|
201
201
|
method: 'GET',
|
|
202
202
|
headers: {
|
|
@@ -205,15 +205,15 @@ var FeedbackCollector = /*#__PURE__*/function (_Component) {
|
|
|
205
205
|
}, isApiGatewayUrl(url) ? {
|
|
206
206
|
credentials: 'include'
|
|
207
207
|
} : {}));
|
|
208
|
-
case
|
|
208
|
+
case 4:
|
|
209
209
|
entitlementDetails = _context3.sent;
|
|
210
|
-
_context3.next =
|
|
210
|
+
_context3.next = 6;
|
|
211
211
|
break;
|
|
212
|
-
case
|
|
213
|
-
_context3.prev =
|
|
214
|
-
|
|
212
|
+
case 5:
|
|
213
|
+
_context3.prev = 5;
|
|
214
|
+
_t = _context3["catch"](3);
|
|
215
215
|
entitlementDetails = undefined;
|
|
216
|
-
case
|
|
216
|
+
case 6:
|
|
217
217
|
entitlementInformation = [];
|
|
218
218
|
cloudSiteId = ((_entitlementDetails = entitlementDetails) === null || _entitlementDetails === void 0 ? void 0 : _entitlementDetails.cloudSiteId) || '';
|
|
219
219
|
if ((_entitlementDetails2 = entitlementDetails) !== null && _entitlementDetails2 !== void 0 && _entitlementDetails2.children) {
|
|
@@ -235,11 +235,11 @@ var FeedbackCollector = /*#__PURE__*/function (_Component) {
|
|
|
235
235
|
value: cloudSiteId
|
|
236
236
|
});
|
|
237
237
|
return _context3.abrupt("return", entitlementInformation);
|
|
238
|
-
case
|
|
238
|
+
case 7:
|
|
239
239
|
case "end":
|
|
240
240
|
return _context3.stop();
|
|
241
241
|
}
|
|
242
|
-
}, _callee3, this, [[
|
|
242
|
+
}, _callee3, this, [[3, 5]]);
|
|
243
243
|
}));
|
|
244
244
|
function getEntitlementInformation() {
|
|
245
245
|
return _getEntitlementInformation.apply(this, arguments);
|
|
@@ -267,20 +267,20 @@ var FeedbackCollector = /*#__PURE__*/function (_Component) {
|
|
|
267
267
|
key: "getAtlassianID",
|
|
268
268
|
value: function () {
|
|
269
269
|
var _getAtlassianID = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee4() {
|
|
270
|
-
var _this$props3, atlassianAccountId, shouldGetEntitlementDetails, url, result, json;
|
|
271
|
-
return _regeneratorRuntime.wrap(function
|
|
270
|
+
var _this$props3, atlassianAccountId, shouldGetEntitlementDetails, url, result, json, _t2;
|
|
271
|
+
return _regeneratorRuntime.wrap(function (_context4) {
|
|
272
272
|
while (1) switch (_context4.prev = _context4.next) {
|
|
273
273
|
case 0:
|
|
274
274
|
_this$props3 = this.props, atlassianAccountId = _this$props3.atlassianAccountId, shouldGetEntitlementDetails = _this$props3.shouldGetEntitlementDetails;
|
|
275
275
|
_context4.prev = 1;
|
|
276
276
|
if (!(atlassianAccountId || !shouldGetEntitlementDetails)) {
|
|
277
|
-
_context4.next =
|
|
277
|
+
_context4.next = 2;
|
|
278
278
|
break;
|
|
279
279
|
}
|
|
280
280
|
return _context4.abrupt("return", atlassianAccountId);
|
|
281
|
-
case
|
|
281
|
+
case 2:
|
|
282
282
|
url = this.getGatewayUrl();
|
|
283
|
-
_context4.next =
|
|
283
|
+
_context4.next = 3;
|
|
284
284
|
return fetch("".concat(url, "/me"), _objectSpread({
|
|
285
285
|
method: 'GET',
|
|
286
286
|
headers: {
|
|
@@ -289,22 +289,22 @@ var FeedbackCollector = /*#__PURE__*/function (_Component) {
|
|
|
289
289
|
}, isApiGatewayUrl(url) ? {
|
|
290
290
|
credentials: 'include'
|
|
291
291
|
} : {}));
|
|
292
|
-
case
|
|
292
|
+
case 3:
|
|
293
293
|
result = _context4.sent;
|
|
294
|
-
_context4.next =
|
|
294
|
+
_context4.next = 4;
|
|
295
295
|
return result.json();
|
|
296
|
-
case
|
|
296
|
+
case 4:
|
|
297
297
|
json = _context4.sent;
|
|
298
298
|
return _context4.abrupt("return", json.account_id);
|
|
299
|
-
case
|
|
300
|
-
_context4.prev =
|
|
301
|
-
|
|
299
|
+
case 5:
|
|
300
|
+
_context4.prev = 5;
|
|
301
|
+
_t2 = _context4["catch"](1);
|
|
302
302
|
return _context4.abrupt("return", undefined);
|
|
303
|
-
case
|
|
303
|
+
case 6:
|
|
304
304
|
case "end":
|
|
305
305
|
return _context4.stop();
|
|
306
306
|
}
|
|
307
|
-
}, _callee4, this, [[1,
|
|
307
|
+
}, _callee4, this, [[1, 5]]);
|
|
308
308
|
}));
|
|
309
309
|
function getAtlassianID() {
|
|
310
310
|
return _getAtlassianID.apply(this, arguments);
|
|
@@ -396,25 +396,25 @@ var FeedbackCollector = /*#__PURE__*/function (_Component) {
|
|
|
396
396
|
var _mapFormToJSD = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee5(formValues) {
|
|
397
397
|
var _this$props4, _this$props5;
|
|
398
398
|
var entitlementInformation, atlassianID;
|
|
399
|
-
return _regeneratorRuntime.wrap(function
|
|
399
|
+
return _regeneratorRuntime.wrap(function (_context5) {
|
|
400
400
|
while (1) switch (_context5.prev = _context5.next) {
|
|
401
401
|
case 0:
|
|
402
402
|
entitlementInformation = null;
|
|
403
403
|
if (!((_this$props4 = this.props) !== null && _this$props4 !== void 0 && _this$props4.shouldGetEntitlementDetails)) {
|
|
404
|
-
_context5.next =
|
|
404
|
+
_context5.next = 2;
|
|
405
405
|
break;
|
|
406
406
|
}
|
|
407
|
-
_context5.next =
|
|
407
|
+
_context5.next = 1;
|
|
408
408
|
return this.getEntitlementInformation();
|
|
409
|
-
case
|
|
409
|
+
case 1:
|
|
410
410
|
entitlementInformation = _context5.sent;
|
|
411
|
-
case
|
|
411
|
+
case 2:
|
|
412
412
|
if ((_this$props5 = this.props) !== null && _this$props5 !== void 0 && _this$props5.email) {
|
|
413
413
|
this.addEmailToContext();
|
|
414
414
|
}
|
|
415
|
-
_context5.next =
|
|
415
|
+
_context5.next = 3;
|
|
416
416
|
return this.getAtlassianID();
|
|
417
|
-
case
|
|
417
|
+
case 3:
|
|
418
418
|
atlassianID = _context5.sent;
|
|
419
419
|
this.addAccountIdToContext(atlassianID);
|
|
420
420
|
return _context5.abrupt("return", {
|
|
@@ -447,7 +447,7 @@ var FeedbackCollector = /*#__PURE__*/function (_Component) {
|
|
|
447
447
|
value: this.props.enrollInResearchDeclineValue
|
|
448
448
|
}], _toConsumableArray(this.props.additionalFields)).filter(Boolean)
|
|
449
449
|
});
|
|
450
|
-
case
|
|
450
|
+
case 4:
|
|
451
451
|
case "end":
|
|
452
452
|
return _context5.stop();
|
|
453
453
|
}
|
|
@@ -477,6 +477,7 @@ var FeedbackCollector = /*#__PURE__*/function (_Component) {
|
|
|
477
477
|
feedbackGroupLabels: this.props.feedbackGroupLabels,
|
|
478
478
|
onSubmit: this.postFeedback,
|
|
479
479
|
onClose: this.props.onClose,
|
|
480
|
+
onCancel: this.props.onCancel,
|
|
480
481
|
locale: this.props.locale,
|
|
481
482
|
anonymousFeedback: fg('platform.proforma-form-builder-feedback_hupaz') ? this.state.anonymousFeedback : anonymousFeedback,
|
|
482
483
|
selectLabel: this.props.selectLabel,
|
|
@@ -40,6 +40,7 @@ var FeedbackForm = function FeedbackForm(_ref2) {
|
|
|
40
40
|
showDefaultTextFields = _ref2$showDefaultText === void 0 ? true : _ref2$showDefaultText,
|
|
41
41
|
customContent = _ref2.customContent,
|
|
42
42
|
onClose = _ref2.onClose,
|
|
43
|
+
onCancel = _ref2.onCancel,
|
|
43
44
|
onSubmit = _ref2.onSubmit,
|
|
44
45
|
feedbackTitle = _ref2.feedbackTitle,
|
|
45
46
|
feedbackTitleDetails = _ref2.feedbackTitleDetails,
|
|
@@ -90,6 +91,10 @@ var FeedbackForm = function FeedbackForm(_ref2) {
|
|
|
90
91
|
var isTypeSelected = function isTypeSelected() {
|
|
91
92
|
return type !== 'empty';
|
|
92
93
|
};
|
|
94
|
+
var handleCancel = function handleCancel() {
|
|
95
|
+
onCancel === null || onCancel === void 0 || onCancel();
|
|
96
|
+
onClose();
|
|
97
|
+
};
|
|
93
98
|
var canShowTextField = isTypeSelected() || !showTypeField;
|
|
94
99
|
var hasDescription = description || hasDescriptionDefaultValue;
|
|
95
100
|
var isDisabled = isSubmitting || disableSubmitButton;
|
|
@@ -180,35 +185,35 @@ var FeedbackForm = function FeedbackForm(_ref2) {
|
|
|
180
185
|
}, fg('platform-design_system_team-form_conversion') ? /*#__PURE__*/React.createElement(Form, {
|
|
181
186
|
onSubmit: /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee() {
|
|
182
187
|
var errors;
|
|
183
|
-
return _regeneratorRuntime.wrap(function
|
|
188
|
+
return _regeneratorRuntime.wrap(function (_context) {
|
|
184
189
|
while (1) switch (_context.prev = _context.next) {
|
|
185
190
|
case 0:
|
|
186
191
|
errors = getValidationErrors();
|
|
187
192
|
if (!(Object.keys(errors).length > 0)) {
|
|
188
|
-
_context.next =
|
|
193
|
+
_context.next = 1;
|
|
189
194
|
break;
|
|
190
195
|
}
|
|
191
196
|
setValidationErrors(errors);
|
|
192
197
|
return _context.abrupt("return");
|
|
193
|
-
case
|
|
198
|
+
case 1:
|
|
194
199
|
setIsSubmitting(true);
|
|
195
|
-
_context.prev =
|
|
196
|
-
_context.next =
|
|
200
|
+
_context.prev = 2;
|
|
201
|
+
_context.next = 3;
|
|
197
202
|
return onSubmit({
|
|
198
203
|
canBeContacted: canBeContacted,
|
|
199
204
|
description: description,
|
|
200
205
|
enrollInResearchGroup: enrollInResearchGroup,
|
|
201
206
|
type: type
|
|
202
207
|
});
|
|
203
|
-
case
|
|
204
|
-
_context.prev =
|
|
208
|
+
case 3:
|
|
209
|
+
_context.prev = 3;
|
|
205
210
|
setIsSubmitting(false);
|
|
206
|
-
return _context.finish(
|
|
207
|
-
case
|
|
211
|
+
return _context.finish(3);
|
|
212
|
+
case 4:
|
|
208
213
|
case "end":
|
|
209
214
|
return _context.stop();
|
|
210
215
|
}
|
|
211
|
-
}, _callee, null, [[
|
|
216
|
+
}, _callee, null, [[2,, 3, 4]]);
|
|
212
217
|
}))
|
|
213
218
|
}, /*#__PURE__*/React.createElement(ModalHeader, {
|
|
214
219
|
hasCloseButton: true
|
|
@@ -234,14 +239,7 @@ var FeedbackForm = function FeedbackForm(_ref2) {
|
|
|
234
239
|
});
|
|
235
240
|
}
|
|
236
241
|
},
|
|
237
|
-
|
|
238
|
-
styles: {
|
|
239
|
-
menuPortal: function menuPortal(base) {
|
|
240
|
-
return _objectSpread(_objectSpread({}, base), {}, {
|
|
241
|
-
zIndex: 9999
|
|
242
|
-
});
|
|
243
|
-
}
|
|
244
|
-
},
|
|
242
|
+
menuPosition: "fixed",
|
|
245
243
|
options: selectOptions
|
|
246
244
|
// @ts-ignore
|
|
247
245
|
,
|
|
@@ -271,10 +269,7 @@ var FeedbackForm = function FeedbackForm(_ref2) {
|
|
|
271
269
|
},
|
|
272
270
|
value: description
|
|
273
271
|
})), validationErrors.description && /*#__PURE__*/React.createElement(ErrorMessage, null, validationErrors.description));
|
|
274
|
-
}), !anonymousFeedback && /*#__PURE__*/React.createElement(Fieldset, null, /*#__PURE__*/React.createElement("legend", {
|
|
275
|
-
"aria-hidden": false,
|
|
276
|
-
hidden: true
|
|
277
|
-
}, /*#__PURE__*/React.createElement(FormattedMessage, messages.optInOptionsLegend)), /*#__PURE__*/React.createElement(Field, {
|
|
272
|
+
}), !anonymousFeedback && /*#__PURE__*/React.createElement(Fieldset, null, /*#__PURE__*/React.createElement("legend", null, /*#__PURE__*/React.createElement(FormattedMessage, messages.optInOptionsLegend)), /*#__PURE__*/React.createElement(Field, {
|
|
278
273
|
name: "can-be-contacted"
|
|
279
274
|
}, function (_ref6) {
|
|
280
275
|
var fieldProps = _ref6.fieldProps;
|
|
@@ -319,7 +314,7 @@ var FeedbackForm = function FeedbackForm(_ref2) {
|
|
|
319
314
|
}, feedbackIsAnonymous);
|
|
320
315
|
})))), /*#__PURE__*/React.createElement(ModalFooter, null, /*#__PURE__*/React.createElement(Button, {
|
|
321
316
|
appearance: "subtle",
|
|
322
|
-
onClick:
|
|
317
|
+
onClick: handleCancel
|
|
323
318
|
}, cancelButtonLabel || /*#__PURE__*/React.createElement(FormattedMessage, messages.cancelButtonLabel)), /*#__PURE__*/React.createElement(Button, {
|
|
324
319
|
appearance: "primary",
|
|
325
320
|
type: "submit",
|
|
@@ -328,35 +323,35 @@ var FeedbackForm = function FeedbackForm(_ref2) {
|
|
|
328
323
|
}, submitButtonLabel || /*#__PURE__*/React.createElement(FormattedMessage, messages.submitButtonLabel)))) : /*#__PURE__*/React.createElement(Form, {
|
|
329
324
|
onSubmit: /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee2() {
|
|
330
325
|
var errors;
|
|
331
|
-
return _regeneratorRuntime.wrap(function
|
|
326
|
+
return _regeneratorRuntime.wrap(function (_context2) {
|
|
332
327
|
while (1) switch (_context2.prev = _context2.next) {
|
|
333
328
|
case 0:
|
|
334
329
|
errors = getValidationErrors();
|
|
335
330
|
if (!(Object.keys(errors).length > 0)) {
|
|
336
|
-
_context2.next =
|
|
331
|
+
_context2.next = 1;
|
|
337
332
|
break;
|
|
338
333
|
}
|
|
339
334
|
setValidationErrors(errors);
|
|
340
335
|
return _context2.abrupt("return");
|
|
341
|
-
case
|
|
336
|
+
case 1:
|
|
342
337
|
setIsSubmitting(true);
|
|
343
|
-
_context2.prev =
|
|
344
|
-
_context2.next =
|
|
338
|
+
_context2.prev = 2;
|
|
339
|
+
_context2.next = 3;
|
|
345
340
|
return onSubmit({
|
|
346
341
|
canBeContacted: canBeContacted,
|
|
347
342
|
description: description,
|
|
348
343
|
enrollInResearchGroup: enrollInResearchGroup,
|
|
349
344
|
type: type
|
|
350
345
|
});
|
|
351
|
-
case
|
|
352
|
-
_context2.prev =
|
|
346
|
+
case 3:
|
|
347
|
+
_context2.prev = 3;
|
|
353
348
|
setIsSubmitting(false);
|
|
354
|
-
return _context2.finish(
|
|
355
|
-
case
|
|
349
|
+
return _context2.finish(3);
|
|
350
|
+
case 4:
|
|
356
351
|
case "end":
|
|
357
352
|
return _context2.stop();
|
|
358
353
|
}
|
|
359
|
-
}, _callee2, null, [[
|
|
354
|
+
}, _callee2, null, [[2,, 3, 4]]);
|
|
360
355
|
}))
|
|
361
356
|
}, function (_ref9) {
|
|
362
357
|
var formProps = _ref9.formProps;
|
|
@@ -384,14 +379,7 @@ var FeedbackForm = function FeedbackForm(_ref2) {
|
|
|
384
379
|
});
|
|
385
380
|
}
|
|
386
381
|
},
|
|
387
|
-
|
|
388
|
-
styles: {
|
|
389
|
-
menuPortal: function menuPortal(base) {
|
|
390
|
-
return _objectSpread(_objectSpread({}, base), {}, {
|
|
391
|
-
zIndex: 9999
|
|
392
|
-
});
|
|
393
|
-
}
|
|
394
|
-
},
|
|
382
|
+
menuPosition: "fixed",
|
|
395
383
|
options: selectOptions
|
|
396
384
|
// @ts-ignore
|
|
397
385
|
,
|
|
@@ -421,10 +409,7 @@ var FeedbackForm = function FeedbackForm(_ref2) {
|
|
|
421
409
|
},
|
|
422
410
|
value: description
|
|
423
411
|
})), validationErrors.description && /*#__PURE__*/React.createElement(ErrorMessage, null, validationErrors.description));
|
|
424
|
-
}), !anonymousFeedback && /*#__PURE__*/React.createElement(Fieldset, null, /*#__PURE__*/React.createElement("legend", {
|
|
425
|
-
"aria-hidden": false,
|
|
426
|
-
hidden: true
|
|
427
|
-
}, /*#__PURE__*/React.createElement(FormattedMessage, messages.optInOptionsLegend)), /*#__PURE__*/React.createElement(Field, {
|
|
412
|
+
}), !anonymousFeedback && /*#__PURE__*/React.createElement(Fieldset, null, /*#__PURE__*/React.createElement("legend", null, /*#__PURE__*/React.createElement(FormattedMessage, messages.optInOptionsLegend)), /*#__PURE__*/React.createElement(Field, {
|
|
428
413
|
name: "can-be-contacted"
|
|
429
414
|
}, function (_ref10) {
|
|
430
415
|
var fieldProps = _ref10.fieldProps;
|
|
@@ -469,7 +454,7 @@ var FeedbackForm = function FeedbackForm(_ref2) {
|
|
|
469
454
|
}, feedbackIsAnonymous);
|
|
470
455
|
})))), /*#__PURE__*/React.createElement(ModalFooter, null, /*#__PURE__*/React.createElement(Button, {
|
|
471
456
|
appearance: "subtle",
|
|
472
|
-
onClick:
|
|
457
|
+
onClick: handleCancel
|
|
473
458
|
}, cancelButtonLabel || /*#__PURE__*/React.createElement(FormattedMessage, messages.cancelButtonLabel)), /*#__PURE__*/React.createElement(Button, {
|
|
474
459
|
appearance: "primary",
|
|
475
460
|
type: "submit",
|
|
@@ -15,19 +15,19 @@ export var IntlProviderWithResolvedMessages = function IntlProviderWithResolvedM
|
|
|
15
15
|
var fetchMessageLocale = /*#__PURE__*/function () {
|
|
16
16
|
var _ref2 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee() {
|
|
17
17
|
var messages;
|
|
18
|
-
return _regeneratorRuntime.wrap(function
|
|
18
|
+
return _regeneratorRuntime.wrap(function (_context) {
|
|
19
19
|
while (1) switch (_context.prev = _context.next) {
|
|
20
20
|
case 0:
|
|
21
21
|
if (!locale) {
|
|
22
|
-
_context.next =
|
|
22
|
+
_context.next = 2;
|
|
23
23
|
break;
|
|
24
24
|
}
|
|
25
|
-
_context.next =
|
|
25
|
+
_context.next = 1;
|
|
26
26
|
return getMessagesForLocale(locale);
|
|
27
|
-
case
|
|
27
|
+
case 1:
|
|
28
28
|
messages = _context.sent;
|
|
29
29
|
setResolvedMessagesForLocale(messages);
|
|
30
|
-
case
|
|
30
|
+
case 2:
|
|
31
31
|
case "end":
|
|
32
32
|
return _context.stop();
|
|
33
33
|
}
|
|
@@ -14,36 +14,35 @@ function _tsRewriteRelativeImportExtensions(t, e) { return "string" == typeof t
|
|
|
14
14
|
|
|
15
15
|
export var getMessagesForLocale = /*#__PURE__*/function () {
|
|
16
16
|
var _ref = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee(locale) {
|
|
17
|
-
var messages, parentLocale, _messages;
|
|
18
|
-
return _regeneratorRuntime.wrap(function
|
|
17
|
+
var messages, parentLocale, _messages, _t, _t2;
|
|
18
|
+
return _regeneratorRuntime.wrap(function (_context) {
|
|
19
19
|
while (1) switch (_context.prev = _context.next) {
|
|
20
20
|
case 0:
|
|
21
21
|
locale = locale.replace('-', '_');
|
|
22
22
|
_context.prev = 1;
|
|
23
|
-
_context.next =
|
|
23
|
+
_context.next = 2;
|
|
24
24
|
return import( /* webpackChunkName: "@atlaskit-internal_feedback-collector/i18n-tranlations" */_tsRewriteRelativeImportExtensions(_tsRewriteRelativeImportExtensions("../i18n/".concat(locale))));
|
|
25
|
-
case
|
|
25
|
+
case 2:
|
|
26
26
|
messages = _context.sent;
|
|
27
27
|
return _context.abrupt("return", messages.default);
|
|
28
|
-
case
|
|
29
|
-
_context.prev =
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
_context.prev = 10;
|
|
28
|
+
case 3:
|
|
29
|
+
_context.prev = 3;
|
|
30
|
+
_t = _context["catch"](1);
|
|
31
|
+
_context.prev = 4;
|
|
33
32
|
parentLocale = locale.split(/[-_]/)[0];
|
|
34
|
-
_context.next =
|
|
33
|
+
_context.next = 5;
|
|
35
34
|
return import( /* webpackChunkName: "@atlaskit-internal_feedback-collector/i18n-tranlations" */_tsRewriteRelativeImportExtensions(_tsRewriteRelativeImportExtensions("../i18n/".concat(parentLocale))));
|
|
36
|
-
case
|
|
35
|
+
case 5:
|
|
37
36
|
_messages = _context.sent;
|
|
38
37
|
return _context.abrupt("return", _messages.default);
|
|
39
|
-
case
|
|
40
|
-
_context.prev =
|
|
41
|
-
|
|
42
|
-
case
|
|
38
|
+
case 6:
|
|
39
|
+
_context.prev = 6;
|
|
40
|
+
_t2 = _context["catch"](4);
|
|
41
|
+
case 7:
|
|
43
42
|
case "end":
|
|
44
43
|
return _context.stop();
|
|
45
44
|
}
|
|
46
|
-
}, _callee, null, [[1,
|
|
45
|
+
}, _callee, null, [[1, 3], [4, 6]]);
|
|
47
46
|
}));
|
|
48
47
|
return function getMessagesForLocale(_x) {
|
|
49
48
|
return _ref.apply(this, arguments);
|
|
@@ -88,6 +88,8 @@ export interface Props {
|
|
|
88
88
|
feedbackGroupLabels?: Partial<Record<SelectValue, SelectOptionDetails>>;
|
|
89
89
|
/** Function that will be called to initiate the exit transition. */
|
|
90
90
|
onClose: () => void;
|
|
91
|
+
/** Optional function that will be called when the cancel button is clicked, in addition to onClose. */
|
|
92
|
+
onCancel?: () => void;
|
|
91
93
|
/** Function that will be called optimistically after a delay when the feedback is submitted. */
|
|
92
94
|
onSubmit: (formFields: FormFields) => void;
|
|
93
95
|
/** Locale for i18n */
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import React
|
|
1
|
+
import React from 'react';
|
|
2
2
|
import { type FormFields, type SelectOptionDetails, type SelectValue } from '../types';
|
|
3
3
|
interface Props {
|
|
4
4
|
/** Message which will be shown as the title of the feedback dialog **/
|
|
@@ -29,6 +29,8 @@ interface Props {
|
|
|
29
29
|
feedbackGroupLabels?: Partial<Record<SelectValue, SelectOptionDetails>>;
|
|
30
30
|
/** Function that will be called to initiate the exit transition. */
|
|
31
31
|
onClose: () => void;
|
|
32
|
+
/** Optional function that will be called when the cancel button is clicked, in addition to onClose. */
|
|
33
|
+
onCancel?: () => void;
|
|
32
34
|
/** Function that will be called immediately after the submit action */
|
|
33
35
|
onSubmit: (formValues: FormFields) => Promise<void>;
|
|
34
36
|
/** Optional locale for i18n **/
|
|
@@ -54,7 +56,7 @@ export interface OptionType {
|
|
|
54
56
|
label: React.ReactText;
|
|
55
57
|
value: SelectValue;
|
|
56
58
|
}
|
|
57
|
-
declare const FeedbackFormWithIntl:
|
|
59
|
+
declare const FeedbackFormWithIntl: ({ locale, ...props }: Props & {
|
|
58
60
|
locale: string;
|
|
59
|
-
}
|
|
61
|
+
}) => React.ReactElement;
|
|
60
62
|
export default FeedbackFormWithIntl;
|
|
@@ -88,6 +88,8 @@ export interface Props {
|
|
|
88
88
|
feedbackGroupLabels?: Partial<Record<SelectValue, SelectOptionDetails>>;
|
|
89
89
|
/** Function that will be called to initiate the exit transition. */
|
|
90
90
|
onClose: () => void;
|
|
91
|
+
/** Optional function that will be called when the cancel button is clicked, in addition to onClose. */
|
|
92
|
+
onCancel?: () => void;
|
|
91
93
|
/** Function that will be called optimistically after a delay when the feedback is submitted. */
|
|
92
94
|
onSubmit: (formFields: FormFields) => void;
|
|
93
95
|
/** Locale for i18n */
|