@atlaskit/link-datasource 2.9.0 → 2.9.2

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.
Files changed (79) hide show
  1. package/CHANGELOG.md +18 -0
  2. package/dist/cjs/hooks/useDatasourceTableState.js +2 -0
  3. package/dist/cjs/ui/assets-modal/modal/index.js +2 -0
  4. package/dist/cjs/ui/assets-modal/modal/render-assets-content/index.js +3 -1
  5. package/dist/cjs/ui/common/modal/datasource-modal/createDatasourceModal.js +55 -0
  6. package/dist/cjs/ui/common/modal/datasources-table-in-modal-preview/index.js +15 -2
  7. package/dist/cjs/ui/common/modal/insert-button/index.js +5 -4
  8. package/dist/cjs/ui/confluence-search-modal/modal/ModalOld.js +3 -1
  9. package/dist/cjs/ui/confluence-search-modal/modal/index.js +35 -39
  10. package/dist/cjs/ui/datasource-table-view/datasourceTableView.js +2 -0
  11. package/dist/cjs/ui/issue-like-table/index.js +56 -66
  12. package/dist/cjs/ui/issue-like-table/styled.js +25 -3
  13. package/dist/cjs/ui/issue-like-table/table-cell-content/index.js +54 -0
  14. package/dist/cjs/ui/issue-like-table/truncate-text-tag/index.js +32 -0
  15. package/dist/cjs/ui/jira-issues-modal/modal/ModalOld.js +3 -1
  16. package/dist/cjs/ui/jira-issues-modal/modal/index.js +141 -211
  17. package/dist/es2019/hooks/useDatasourceTableState.js +2 -1
  18. package/dist/es2019/ui/assets-modal/modal/index.js +2 -0
  19. package/dist/es2019/ui/assets-modal/modal/render-assets-content/index.js +3 -1
  20. package/dist/es2019/ui/common/modal/datasource-context/index.js +1 -1
  21. package/dist/es2019/ui/common/modal/datasource-modal/createDatasourceModal.js +51 -0
  22. package/dist/es2019/ui/common/modal/datasources-table-in-modal-preview/index.js +11 -2
  23. package/dist/es2019/ui/common/modal/insert-button/index.js +5 -4
  24. package/dist/es2019/ui/confluence-search-modal/modal/ModalOld.js +3 -1
  25. package/dist/es2019/ui/confluence-search-modal/modal/index.js +35 -39
  26. package/dist/es2019/ui/datasource-table-view/datasourceTableView.js +2 -0
  27. package/dist/es2019/ui/issue-like-table/index.js +32 -52
  28. package/dist/es2019/ui/issue-like-table/styled.js +33 -0
  29. package/dist/es2019/ui/issue-like-table/table-cell-content/index.js +44 -0
  30. package/dist/es2019/ui/issue-like-table/truncate-text-tag/index.js +21 -0
  31. package/dist/es2019/ui/jira-issues-modal/modal/ModalOld.js +3 -1
  32. package/dist/es2019/ui/jira-issues-modal/modal/index.js +133 -202
  33. package/dist/esm/hooks/useDatasourceTableState.js +2 -0
  34. package/dist/esm/ui/assets-modal/modal/index.js +2 -0
  35. package/dist/esm/ui/assets-modal/modal/render-assets-content/index.js +3 -1
  36. package/dist/esm/ui/common/modal/datasource-modal/createDatasourceModal.js +48 -0
  37. package/dist/esm/ui/common/modal/datasources-table-in-modal-preview/index.js +12 -2
  38. package/dist/esm/ui/common/modal/insert-button/index.js +5 -4
  39. package/dist/esm/ui/confluence-search-modal/modal/ModalOld.js +3 -1
  40. package/dist/esm/ui/confluence-search-modal/modal/index.js +38 -42
  41. package/dist/esm/ui/datasource-table-view/datasourceTableView.js +2 -0
  42. package/dist/esm/ui/issue-like-table/index.js +53 -61
  43. package/dist/esm/ui/issue-like-table/styled.js +24 -2
  44. package/dist/esm/ui/issue-like-table/table-cell-content/index.js +47 -0
  45. package/dist/esm/ui/issue-like-table/truncate-text-tag/index.js +21 -0
  46. package/dist/esm/ui/jira-issues-modal/modal/ModalOld.js +3 -1
  47. package/dist/esm/ui/jira-issues-modal/modal/index.js +146 -216
  48. package/dist/types/common/types.d.ts +2 -1
  49. package/dist/types/hooks/useDatasourceTableState.d.ts +2 -0
  50. package/dist/types/ui/assets-modal/modal/render-assets-content/index.d.ts +1 -0
  51. package/dist/types/ui/common/modal/datasource-context/index.d.ts +9 -12
  52. package/dist/types/ui/common/modal/datasource-modal/createDatasourceModal.d.ts +15 -0
  53. package/dist/types/ui/common/modal/insert-button/index.d.ts +4 -2
  54. package/dist/types/ui/confluence-search-modal/modal/index.d.ts +3 -4
  55. package/dist/types/ui/confluence-search-modal/types.d.ts +6 -1
  56. package/dist/types/ui/issue-like-table/index.d.ts +1 -17
  57. package/dist/types/ui/issue-like-table/styled.d.ts +4 -0
  58. package/dist/types/ui/issue-like-table/table-cell-content/index.d.ts +12 -0
  59. package/dist/types/ui/issue-like-table/truncate-text-tag/index.d.ts +6 -0
  60. package/dist/types/ui/issue-like-table/types.d.ts +20 -1
  61. package/dist/types/ui/jira-issues-modal/modal/index.d.ts +3 -3
  62. package/dist/types/ui/jira-issues-modal/types.d.ts +3 -0
  63. package/dist/types-ts4.5/common/types.d.ts +2 -1
  64. package/dist/types-ts4.5/hooks/useDatasourceTableState.d.ts +2 -0
  65. package/dist/types-ts4.5/ui/assets-modal/modal/render-assets-content/index.d.ts +1 -0
  66. package/dist/types-ts4.5/ui/common/modal/datasource-context/index.d.ts +9 -12
  67. package/dist/types-ts4.5/ui/common/modal/datasource-modal/createDatasourceModal.d.ts +15 -0
  68. package/dist/types-ts4.5/ui/common/modal/insert-button/index.d.ts +4 -2
  69. package/dist/types-ts4.5/ui/confluence-search-modal/modal/index.d.ts +3 -4
  70. package/dist/types-ts4.5/ui/confluence-search-modal/types.d.ts +6 -1
  71. package/dist/types-ts4.5/ui/issue-like-table/index.d.ts +1 -17
  72. package/dist/types-ts4.5/ui/issue-like-table/styled.d.ts +4 -0
  73. package/dist/types-ts4.5/ui/issue-like-table/table-cell-content/index.d.ts +12 -0
  74. package/dist/types-ts4.5/ui/issue-like-table/truncate-text-tag/index.d.ts +6 -0
  75. package/dist/types-ts4.5/ui/issue-like-table/types.d.ts +20 -1
  76. package/dist/types-ts4.5/ui/jira-issues-modal/modal/index.d.ts +3 -3
  77. package/dist/types-ts4.5/ui/jira-issues-modal/types.d.ts +3 -0
  78. package/examples-helpers/buildIssueLikeTable.tsx +2 -0
  79. package/package.json +8 -8
@@ -4,12 +4,12 @@ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefau
4
4
  Object.defineProperty(exports, "__esModule", {
5
5
  value: true
6
6
  });
7
- exports.withTablePluginPrefix = exports.withTablePluginHeaderPrefix = exports.withTablePluginBodyPrefix = exports.fieldTextFontSize = exports.TableHeading = exports.Table = exports.ScrollableContainerHeight = void 0;
7
+ exports.withTablePluginPrefix = exports.withTablePluginHeaderPrefix = exports.withTablePluginBodyPrefix = exports.fieldTextFontSize = exports.TableHeading = exports.TableCell = exports.Table = exports.ScrollableContainerHeight = void 0;
8
8
  var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
9
9
  var _styled = _interopRequireDefault(require("@emotion/styled"));
10
10
  var _colors = require("@atlaskit/theme/colors");
11
11
  var _typography = require("@atlaskit/theme/typography");
12
- var _styled$th; // eslint-disable-next-line @atlaskit/ui-styling-standard/use-compiled -- Ignored via go/DSP-18766
12
+ var _styled$th, _styled$td; // eslint-disable-next-line @atlaskit/ui-styling-standard/use-compiled -- Ignored via go/DSP-18766
13
13
  var ScrollableContainerHeight = exports.ScrollableContainerHeight = 590;
14
14
  var fieldTextFontSize = exports.fieldTextFontSize = "var(--ds-font-body, ".concat(_typography.fontFallback.body.medium, ")");
15
15
 
@@ -71,4 +71,26 @@ var TableHeading = exports.TableHeading = _styled.default.th((_styled$th = {}, (
71
71
  whiteSpace: 'normal',
72
72
  overflow: 'hidden',
73
73
  wordWrap: 'break-word'
74
- }), _styled$th));
74
+ }), _styled$th));
75
+
76
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/no-exported-styles, @atlaskit/ui-styling-standard/no-styled -- To migrate as part of go/ui-styling-standard
77
+ var TableCell = exports.TableCell = _styled.default.td((_styled$td = {}, (0, _defineProperty2.default)(_styled$td, "".concat(withTablePluginBodyPrefix()), {
78
+ /* First section here is to override things editor table plugin css defines */
79
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/no-imported-style-values, @atlaskit/ui-styling-standard/no-unsafe-values -- Ignored via go/DSP-18766
80
+ font: fieldTextFontSize,
81
+ padding: "var(--ds-space-050, 4px)".concat(" ", "var(--ds-space-100, 8px)"),
82
+ border: 0,
83
+ minWidth: 'auto',
84
+ verticalAlign: 'inherit',
85
+ boxSizing: 'border-box',
86
+ borderRight: "0.5px solid ".concat("var(--ds-border, ".concat(_colors.N40, ")")),
87
+ borderBottom: "0.5px solid ".concat("var(--ds-border, ".concat(_colors.N40, ")")),
88
+ overflow: 'hidden'
89
+ }), (0, _defineProperty2.default)(_styled$td, "".concat(withTablePluginBodyPrefix('&:first-child')), {
90
+ paddingLeft: "var(--ds-space-100, 8px)"
91
+ }), (0, _defineProperty2.default)(_styled$td, "".concat(withTablePluginBodyPrefix('&:last-child')), {
92
+ borderRight: 0,
93
+ paddingRight: "var(--ds-space-100, 8px)"
94
+ }), (0, _defineProperty2.default)(_styled$td, "& [data-testid='inline-card-icon-and-title'], " + "& [data-testid='button-connect-account'] > span", {
95
+ whiteSpace: 'unset'
96
+ }), _styled$td));
@@ -0,0 +1,54 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.TableCellContent = void 0;
8
+ var _react = _interopRequireDefault(require("react"));
9
+ var _reactIntlNext = require("react-intl-next");
10
+ var _tooltip = _interopRequireDefault(require("@atlaskit/tooltip"));
11
+ var _state = require("../../../state");
12
+ var _renderType = require("../render-type");
13
+ var _truncateTextTag = require("../truncate-text-tag");
14
+ var TableCellContent = exports.TableCellContent = function TableCellContent(_ref) {
15
+ var _rowData$columnKey;
16
+ var columnKey = _ref.columnKey,
17
+ columnType = _ref.columnType,
18
+ id = _ref.id,
19
+ renderItem = _ref.renderItem,
20
+ wrappedColumnKeys = _ref.wrappedColumnKeys;
21
+ var intl = (0, _reactIntlNext.useIntl)();
22
+ var rowData = (0, _state.useDatasourceItem)({
23
+ id: id
24
+ });
25
+ if (!rowData || !columnKey || !rowData[columnKey]) {
26
+ return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null);
27
+ }
28
+
29
+ // Need to make sure we keep falsy values like 0 and '', as well as the boolean false.
30
+ var value = (_rowData$columnKey = rowData[columnKey]) === null || _rowData$columnKey === void 0 ? void 0 : _rowData$columnKey.data;
31
+ var values = Array.isArray(value) ? value : [value];
32
+ var renderedValues = renderItem({
33
+ type: columnType,
34
+ values: values
35
+ });
36
+ var stringifiedContent = values.map(function (value) {
37
+ return (0, _renderType.stringifyType)({
38
+ type: columnType,
39
+ value: value
40
+ }, intl.formatMessage, intl.formatDate);
41
+ }).filter(function (value) {
42
+ return value !== '';
43
+ }).join(', ');
44
+ if (stringifiedContent && !(wrappedColumnKeys !== null && wrappedColumnKeys !== void 0 && wrappedColumnKeys.includes(columnKey))) {
45
+ return /*#__PURE__*/_react.default.createElement(_tooltip.default
46
+ // @ts-ignore: [PIT-1685] Fails in post-office due to backwards incompatibility issue with React 18
47
+ , {
48
+ tag: _truncateTextTag.TruncateTextTag,
49
+ content: stringifiedContent,
50
+ testId: "issues-table-cell-tooltip"
51
+ }, renderedValues);
52
+ }
53
+ return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, renderedValues);
54
+ };
@@ -0,0 +1,32 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ var _typeof = require("@babel/runtime/helpers/typeof");
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports.TruncateTextTag = void 0;
9
+ var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
10
+ var _react = _interopRequireWildcard(require("react"));
11
+ var _react2 = require("@emotion/react");
12
+ function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
13
+ function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
14
+ /**
15
+ * @jsxRuntime classic
16
+ * @jsx jsx
17
+ */
18
+
19
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/use-compiled
20
+
21
+ var truncateTextStyles = (0, _react2.css)({
22
+ overflow: 'hidden',
23
+ textOverflow: 'ellipsis',
24
+ whiteSpace: 'nowrap'
25
+ });
26
+ var TruncateTextTag = exports.TruncateTextTag = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
27
+ return (0, _react2.jsx)("span", (0, _extends2.default)({
28
+ css: truncateTextStyles
29
+ }, props, {
30
+ ref: ref
31
+ }), props.children);
32
+ });
@@ -132,6 +132,7 @@ var PlainJiraIssuesConfigModalOld = exports.PlainJiraIssuesConfigModalOld = func
132
132
  status = _useDatasourceTableSt.status,
133
133
  onNextPage = _useDatasourceTableSt.onNextPage,
134
134
  responseItems = _useDatasourceTableSt.responseItems,
135
+ responseItemIds = _useDatasourceTableSt.responseItemIds,
135
136
  hasNextPage = _useDatasourceTableSt.hasNextPage,
136
137
  columns = _useDatasourceTableSt.columns,
137
138
  defaultVisibleColumnKeys = _useDatasourceTableSt.defaultVisibleColumnKeys,
@@ -369,6 +370,7 @@ var PlainJiraIssuesConfigModalOld = exports.PlainJiraIssuesConfigModalOld = func
369
370
  status: status,
370
371
  columns: columns,
371
372
  items: responseItems,
373
+ itemIds: responseItemIds,
372
374
  hasNextPage: hasNextPage,
373
375
  visibleColumnKeys: visibleColumnKeys || defaultVisibleColumnKeys,
374
376
  onNextPage: handleOnNextPage,
@@ -380,7 +382,7 @@ var PlainJiraIssuesConfigModalOld = exports.PlainJiraIssuesConfigModalOld = func
380
382
  wrappedColumnKeys: wrappedColumnKeys,
381
383
  onWrappedColumnChange: (0, _platformFeatureFlags.fg)('platform.linking-platform.datasource-word_wrap') ? onWrappedColumnChange : undefined
382
384
  }));
383
- }, [status, columns, responseItems, hasNextPage, visibleColumnKeys, defaultVisibleColumnKeys, handleOnNextPage, loadDatasourceDetails, handleVisibleColumnKeysChange, extensionKey, columnCustomSizes, onColumnResize, wrappedColumnKeys, onWrappedColumnChange]);
385
+ }, [status, columns, responseItems, responseItemIds, hasNextPage, visibleColumnKeys, defaultVisibleColumnKeys, handleOnNextPage, loadDatasourceDetails, handleVisibleColumnKeysChange, extensionKey, columnCustomSizes, onColumnResize, wrappedColumnKeys, onWrappedColumnChange]);
384
386
  var renderCountModeContent = (0, _react.useCallback)(function () {
385
387
  var selectedJiraSiteUrl = selectedJiraSite === null || selectedJiraSite === void 0 ? void 0 : selectedJiraSite.url;
386
388
  if (status === 'unauthorized') {
@@ -12,7 +12,6 @@ var _react = require("react");
12
12
  var _react2 = require("@emotion/react");
13
13
  var _reactIntlNext = require("react-intl-next");
14
14
  var _analyticsNext = require("@atlaskit/analytics-next");
15
- var _standardButton = _interopRequireDefault(require("@atlaskit/button/standard-button"));
16
15
  var _intlMessagesProvider = require("@atlaskit/intl-messages-provider");
17
16
  var _modalDialog = require("@atlaskit/modal-dialog");
18
17
  var _platformFeatureFlags = require("@atlaskit/platform-feature-flags");
@@ -23,11 +22,9 @@ var _ufoExperiences = require("../../../analytics/ufoExperiences");
23
22
  var _useColumnPickerRenderedFailedUfoExperience = require("../../../analytics/ufoExperiences/hooks/useColumnPickerRenderedFailedUfoExperience");
24
23
  var _useDataRenderedUfoExperience = require("../../../analytics/ufoExperiences/hooks/useDataRenderedUfoExperience");
25
24
  var _utils = require("../../../analytics/utils");
26
- var _adf = require("../../../common/utils/adf");
27
25
  var _fetchMessagesForLocale = require("../../../common/utils/locale/fetch-messages-for-locale");
28
26
  var _datasourceExperienceId = require("../../../contexts/datasource-experience-id");
29
27
  var _userInteractions = require("../../../contexts/user-interactions");
30
- var _useDatasourceTableState = require("../../../hooks/useDatasourceTableState");
31
28
  var _en = _interopRequireDefault(require("../../../i18n/en"));
32
29
  var _useAvailableSites2 = require("../../../services/useAvailableSites");
33
30
  var _state = require("../../../state");
@@ -41,15 +38,16 @@ var _messages2 = require("../../common/initial-state-view/messages");
41
38
  var _cancelButton = require("../../common/modal/cancel-button");
42
39
  var _contentContainer = require("../../common/modal/content-container");
43
40
  var _countViewSmartLink = require("../../common/modal/count-view-smart-link");
41
+ var _datasourceContext = require("../../common/modal/datasource-context");
44
42
  var _datasourceModal = require("../../common/modal/datasource-modal");
45
- var _useColumnResize2 = require("../../common/modal/datasources-table-in-modal-preview/use-column-resize");
46
- var _useColumnWrapping2 = require("../../common/modal/datasources-table-in-modal-preview/use-column-wrapping");
43
+ var _createDatasourceModal = require("../../common/modal/datasource-modal/createDatasourceModal");
44
+ var _datasourcesTableInModalPreview = _interopRequireDefault(require("../../common/modal/datasources-table-in-modal-preview"));
45
+ var _insertButton = require("../../common/modal/insert-button");
47
46
  var _modeSwitcher = require("../../common/modal/mode-switcher");
48
47
  var _useViewModeContext2 = require("../../common/modal/mode-switcher/useViewModeContext");
49
48
  var _searchCount = _interopRequireDefault(require("../../common/modal/search-count"));
50
49
  var _siteSelector = require("../../common/modal/site-selector");
51
50
  var _issueLikeTable = require("../../issue-like-table");
52
- var _utils2 = require("../../issue-like-table/utils");
53
51
  var _ui = require("../basic-filters/ui");
54
52
  var _isQueryTooComplex = require("../basic-filters/utils/isQueryTooComplex");
55
53
  var _jiraSearchContainer = require("../jira-search-container");
@@ -61,7 +59,6 @@ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t =
61
59
  * @jsxRuntime classic
62
60
  * @jsx jsx
63
61
  */ // eslint-disable-next-line @atlaskit/ui-styling-standard/use-compiled -- Ignored via go/DSP-18766
64
- var DEFAULT_VIEW_MODE = 'table';
65
62
  var getDisplayValue = function getDisplayValue(currentViewMode, itemCount) {
66
63
  if (currentViewMode === 'table') {
67
64
  return _types.DatasourceDisplay.DATASOURCE_TABLE;
@@ -69,81 +66,55 @@ var getDisplayValue = function getDisplayValue(currentViewMode, itemCount) {
69
66
  return itemCount === 1 ? _types.DatasourceDisplay.INLINE : _types.DatasourceDisplay.DATASOURCE_INLINE;
70
67
  };
71
68
  var jqlSupportDocumentLink = 'https://support.atlassian.com/jira-service-management-cloud/docs/use-advanced-search-with-jira-query-language-jql/';
69
+ var isValidParameters = function isValidParameters(parameters) {
70
+ return typeof (parameters === null || parameters === void 0 ? void 0 : parameters.jql) === 'string' && parameters.jql.length > 0 && typeof (parameters === null || parameters === void 0 ? void 0 : parameters.cloudId) === 'string' && parameters.cloudId.length > 0;
71
+ };
72
72
  var PlainJiraIssuesConfigModal = function PlainJiraIssuesConfigModal(props) {
73
- var datasourceId = props.datasourceId,
74
- initialColumnCustomSizes = props.columnCustomSizes,
75
- initialWrappedColumnKeys = props.wrappedColumnKeys,
76
- onCancel = props.onCancel,
77
- onInsert = props.onInsert,
78
- initialParameters = props.parameters,
79
- urlBeingEdited = props.url,
80
- initialVisibleColumnKeys = props.visibleColumnKeys;
73
+ var onCancel = props.onCancel,
74
+ urlBeingEdited = props.url;
75
+ var _useDatasourceContext = (0, _datasourceContext.useDatasourceContext)(),
76
+ visibleColumnCount = _useDatasourceContext.visibleColumnCount,
77
+ visibleColumnKeys = _useDatasourceContext.visibleColumnKeys,
78
+ parameters = _useDatasourceContext.parameters,
79
+ setParameters = _useDatasourceContext.setParameters,
80
+ tableState = _useDatasourceContext.tableState;
81
+ var reset = tableState.reset,
82
+ status = tableState.status,
83
+ responseItems = tableState.responseItems,
84
+ columns = tableState.columns,
85
+ totalCount = tableState.totalCount,
86
+ _tableState$extension = tableState.extensionKey,
87
+ extensionKey = _tableState$extension === void 0 ? null : _tableState$extension,
88
+ destinationObjectTypes = tableState.destinationObjectTypes;
89
+ var _ref = parameters !== null && parameters !== void 0 ? parameters : {},
90
+ cloudId = _ref.cloudId,
91
+ jql = _ref.jql;
92
+ var _useState = (0, _react.useState)(jql),
93
+ _useState2 = (0, _slicedToArray2.default)(_useState, 1),
94
+ initialJql = _useState2[0];
81
95
  var _useViewModeContext = (0, _useViewModeContext2.useViewModeContext)(),
82
96
  currentViewMode = _useViewModeContext.currentViewMode;
83
- var _useState = (0, _react.useState)(initialParameters === null || initialParameters === void 0 ? void 0 : initialParameters.cloudId),
84
- _useState2 = (0, _slicedToArray2.default)(_useState, 2),
85
- cloudId = _useState2[0],
86
- setCloudId = _useState2[1];
87
97
  var _useAvailableSites = (0, _useAvailableSites2.useAvailableSites)('jira', cloudId),
88
98
  availableSites = _useAvailableSites.availableSites,
89
99
  selectedJiraSite = _useAvailableSites.selectedSite;
90
- var _useState3 = (0, _react.useState)(initialParameters === null || initialParameters === void 0 ? void 0 : initialParameters.jql),
100
+ var _useState3 = (0, _react.useState)(jql),
91
101
  _useState4 = (0, _slicedToArray2.default)(_useState3, 2),
92
- jql = _useState4[0],
93
- setJql = _useState4[1];
94
- var _useState5 = (0, _react.useState)(initialParameters === null || initialParameters === void 0 ? void 0 : initialParameters.jql),
95
- _useState6 = (0, _slicedToArray2.default)(_useState5, 2),
96
- searchBarJql = _useState6[0],
97
- setSearchBarJql = _useState6[1];
98
- var _useState7 = (0, _react.useState)(initialVisibleColumnKeys),
99
- _useState8 = (0, _slicedToArray2.default)(_useState7, 2),
100
- visibleColumnKeys = _useState8[0],
101
- setVisibleColumnKeys = _useState8[1];
102
+ searchBarJql = _useState4[0],
103
+ setSearchBarJql = _useState4[1];
102
104
 
103
105
  // analytics related parameters
104
106
  var searchCount = (0, _react.useRef)(0);
105
107
  var userInteractions = (0, _userInteractions.useUserInteractions)();
106
108
  var initialSearchMethod =
107
109
  // eslint-disable-next-line @atlaskit/platform/no-preconditioning
108
- (0, _platformFeatureFlags.fg)('platform.linking-platform.datasource.show-jlol-basic-filters') && !(0, _isQueryTooComplex.isQueryTooComplex)((initialParameters === null || initialParameters === void 0 ? void 0 : initialParameters.jql) || '') ? 'basic' : 'jql';
109
- var _useState9 = (0, _react.useState)(initialSearchMethod),
110
- _useState10 = (0, _slicedToArray2.default)(_useState9, 2),
111
- currentSearchMethod = _useState10[0],
112
- setCurrentSearchMethod = _useState10[1];
110
+ (0, _platformFeatureFlags.fg)('platform.linking-platform.datasource.show-jlol-basic-filters') && !(0, _isQueryTooComplex.isQueryTooComplex)(initialJql || '') ? 'basic' : 'jql';
111
+ var _useState5 = (0, _react.useState)(initialSearchMethod),
112
+ _useState6 = (0, _slicedToArray2.default)(_useState5, 2),
113
+ currentSearchMethod = _useState6[0],
114
+ setCurrentSearchMethod = _useState6[1];
113
115
  var searchMethodSearchedWith = (0, _react.useRef)(null);
114
- var visibleColumnCount = (0, _react.useRef)((visibleColumnKeys === null || visibleColumnKeys === void 0 ? void 0 : visibleColumnKeys.length) || 0);
115
116
  var basicFilterSelectionsSearchedWith = (0, _react.useRef)({});
116
117
  var isSearchedWithComplexQuery = (0, _react.useRef)(false);
117
- var parameters = (0, _react.useMemo)(function () {
118
- return !!cloudId ? {
119
- cloudId: cloudId,
120
- jql: jql || ''
121
- } : undefined;
122
- }, [cloudId, jql]);
123
- var isParametersSet = !!(jql && cloudId);
124
- var _useColumnResize = (0, _useColumnResize2.useColumnResize)(initialColumnCustomSizes),
125
- columnCustomSizes = _useColumnResize.columnCustomSizes,
126
- onColumnResize = _useColumnResize.onColumnResize;
127
- var _useColumnWrapping = (0, _useColumnWrapping2.useColumnWrapping)(initialWrappedColumnKeys),
128
- wrappedColumnKeys = _useColumnWrapping.wrappedColumnKeys,
129
- onWrappedColumnChange = _useColumnWrapping.onWrappedColumnChange;
130
- var _useDatasourceTableSt = (0, _useDatasourceTableState.useDatasourceTableState)({
131
- datasourceId: datasourceId,
132
- parameters: isParametersSet ? parameters : undefined,
133
- fieldKeys: visibleColumnKeys
134
- }),
135
- reset = _useDatasourceTableSt.reset,
136
- status = _useDatasourceTableSt.status,
137
- onNextPage = _useDatasourceTableSt.onNextPage,
138
- responseItems = _useDatasourceTableSt.responseItems,
139
- hasNextPage = _useDatasourceTableSt.hasNextPage,
140
- columns = _useDatasourceTableSt.columns,
141
- defaultVisibleColumnKeys = _useDatasourceTableSt.defaultVisibleColumnKeys,
142
- loadDatasourceDetails = _useDatasourceTableSt.loadDatasourceDetails,
143
- totalCount = _useDatasourceTableSt.totalCount,
144
- _useDatasourceTableSt2 = _useDatasourceTableSt.extensionKey,
145
- extensionKey = _useDatasourceTableSt2 === void 0 ? null : _useDatasourceTableSt2,
146
- destinationObjectTypes = _useDatasourceTableSt.destinationObjectTypes;
147
118
  var _useDatasourceAnalyti = (0, _analytics.useDatasourceAnalyticsEvents)(),
148
119
  fireEvent = _useDatasourceAnalyti.fireEvent;
149
120
  var experienceId = (0, _datasourceExperienceId.useDatasourceExperienceId)();
@@ -155,7 +126,6 @@ var PlainJiraIssuesConfigModal = function PlainJiraIssuesConfigModal(props) {
155
126
  }, [destinationObjectTypes, extensionKey]);
156
127
  var resolvedWithNoResults = status === 'resolved' && !responseItems.length;
157
128
  var jqlUrl = selectedJiraSite && jql && "".concat(selectedJiraSite.url, "/issues/?jql=").concat(encodeURI(jql));
158
- var isInsertDisabled = !isParametersSet || status === 'rejected' || status === 'unauthorized' || status === 'loading';
159
129
  var shouldShowIssueCount = !!totalCount && totalCount !== 1 && currentViewMode === 'table';
160
130
  var isDataReady = (visibleColumnKeys || []).length > 0;
161
131
  var hasNoJiraSites = availableSites && availableSites.length === 0;
@@ -182,16 +152,21 @@ var PlainJiraIssuesConfigModal = function PlainJiraIssuesConfigModal(props) {
182
152
  canBeLink: currentViewMode === 'inline',
183
153
  extensionKey: extensionKey
184
154
  });
185
- (0, _react.useEffect)(function () {
186
- var newVisibleColumnKeys = !initialVisibleColumnKeys || (initialVisibleColumnKeys || []).length === 0 ? defaultVisibleColumnKeys : initialVisibleColumnKeys;
187
- visibleColumnCount.current = newVisibleColumnKeys.length;
188
- setVisibleColumnKeys(newVisibleColumnKeys);
189
- }, [initialVisibleColumnKeys, defaultVisibleColumnKeys]);
155
+
156
+ /**
157
+ * If the selected Jira site changes, update the cloudId in the parameters
158
+ * This is mainly useful for setting the initial cloudId after the site selection loads
159
+ */
190
160
  (0, _react.useEffect)(function () {
191
161
  if (selectedJiraSite && (!cloudId || cloudId !== selectedJiraSite.cloudId)) {
192
- setCloudId(selectedJiraSite.cloudId);
162
+ setParameters(function () {
163
+ return {
164
+ jql: '',
165
+ cloudId: selectedJiraSite.cloudId
166
+ };
167
+ });
193
168
  }
194
- }, [cloudId, selectedJiraSite]);
169
+ }, [cloudId, selectedJiraSite, setParameters]);
195
170
  var fireSingleItemViewedEvent = (0, _react.useCallback)(function () {
196
171
  fireEvent('ui.link.viewed.singleItem', _objectSpread(_objectSpread({}, analyticsPayload), {}, {
197
172
  searchMethod: (0, _utils.mapSearchMethod)(searchMethodSearchedWith.current)
@@ -211,7 +186,7 @@ var PlainJiraIssuesConfigModal = function PlainJiraIssuesConfigModal(props) {
211
186
  displayedColumnCount: visibleColumnCount.current
212
187
  }));
213
188
  }
214
- }, [analyticsPayload, fireEvent, totalCount, isDataReady]);
189
+ }, [isDataReady, fireEvent, analyticsPayload, totalCount, visibleColumnCount]);
215
190
  var fireIssueViewAnalytics = (0, _react.useCallback)(function () {
216
191
  if (!totalCount) {
217
192
  return;
@@ -236,10 +211,10 @@ var PlainJiraIssuesConfigModal = function PlainJiraIssuesConfigModal(props) {
236
211
  }
237
212
  }, [currentViewMode, status, fireIssueViewAnalytics, fireCountViewedEvent]);
238
213
  (0, _useColumnPickerRenderedFailedUfoExperience.useColumnPickerRenderedFailedUfoExperience)(status, experienceId);
239
- var onSearch = (0, _react.useCallback)(function (newParameters, _ref) {
240
- var searchMethod = _ref.searchMethod,
241
- basicFilterSelections = _ref.basicFilterSelections,
242
- isQueryComplex = _ref.isQueryComplex;
214
+ var onSearch = (0, _react.useCallback)(function (newParameters, _ref2) {
215
+ var searchMethod = _ref2.searchMethod,
216
+ basicFilterSelections = _ref2.basicFilterSelections,
217
+ isQueryComplex = _ref2.isQueryComplex;
243
218
  searchCount.current++;
244
219
  searchMethodSearchedWith.current = searchMethod;
245
220
  basicFilterSelectionsSearchedWith.current = basicFilterSelections;
@@ -247,19 +222,26 @@ var PlainJiraIssuesConfigModal = function PlainJiraIssuesConfigModal(props) {
247
222
  if (jql !== newParameters.jql) {
248
223
  userInteractions.add(_types.DatasourceAction.QUERY_UPDATED);
249
224
  }
250
- setJql(newParameters.jql);
225
+ setParameters(function (state) {
226
+ return state && newParameters.jql ? {
227
+ cloudId: state.cloudId,
228
+ jql: newParameters.jql
229
+ } : undefined;
230
+ });
251
231
  reset({
252
232
  shouldForceRequest: true
253
233
  });
254
- }, [jql, reset, userInteractions]);
234
+ }, [jql, reset, userInteractions, setParameters]);
255
235
  var onSiteSelection = (0, _react.useCallback)(function (site) {
256
236
  userInteractions.add(_types.DatasourceAction.INSTANCE_UPDATED);
257
- setJql('');
258
- setCloudId(site.cloudId);
237
+ setParameters({
238
+ jql: '',
239
+ cloudId: site.cloudId
240
+ });
259
241
  reset({
260
242
  shouldForceRequest: true
261
243
  });
262
- }, [reset, userInteractions]);
244
+ }, [reset, userInteractions, setParameters]);
263
245
  var retrieveUrlForSmartCardRender = (0, _react.useCallback)(function () {
264
246
  var _data$key;
265
247
  var _responseItems = (0, _slicedToArray2.default)(responseItems, 1),
@@ -267,120 +249,6 @@ var PlainJiraIssuesConfigModal = function PlainJiraIssuesConfigModal(props) {
267
249
  // agreement with BE that we will use `key` for rendering smartlink
268
250
  return data === null || data === void 0 || (_data$key = data.key) === null || _data$key === void 0 || (_data$key = _data$key.data) === null || _data$key === void 0 ? void 0 : _data$key.url;
269
251
  }, [responseItems]);
270
- var onInsertPressed = (0, _react.useCallback)(function (e, analyticsEvent) {
271
- var _insertButtonClickedE;
272
- if (!isParametersSet || !jql || !selectedJiraSite) {
273
- return;
274
- }
275
-
276
- // During insertion, we want the JQL of the datasource to be whatever is in the search bar,
277
- // even if the user didn't previously click search
278
- var upToDateJql = searchBarJql !== null && searchBarJql !== void 0 ? searchBarJql : jql;
279
- var upToDateJqlUrl = selectedJiraSite && jql && "".concat(selectedJiraSite.url, "/issues/?jql=").concat(encodeURIComponent(upToDateJql));
280
- var filterSelectionCount = _ui.availableBasicFilterTypes.reduce(function (current, filter) {
281
- var _basicFilterSelection;
282
- return _objectSpread(_objectSpread({}, current), {}, (0, _defineProperty2.default)({}, "".concat(filter, "BasicFilterSelectionCount"), ((_basicFilterSelection = basicFilterSelectionsSearchedWith.current[filter]) === null || _basicFilterSelection === void 0 ? void 0 : _basicFilterSelection.length) || 0));
283
- }, {});
284
- var insertButtonClickedEvent = analyticsEvent.update({
285
- actionSubjectId: 'insert',
286
- attributes: _objectSpread(_objectSpread({}, analyticsPayload), {}, {
287
- totalItemCount: totalCount || 0,
288
- displayedColumnCount: visibleColumnCount.current,
289
- display: getDisplayValue(currentViewMode, totalCount || 0),
290
- searchCount: searchCount.current,
291
- searchMethod: (0, _utils.mapSearchMethod)(searchMethodSearchedWith.current),
292
- actions: userInteractions.get(),
293
- isQueryComplex: isSearchedWithComplexQuery.current
294
- }, searchMethodSearchedWith.current === 'basic' ? _objectSpread({}, filterSelectionCount) : {}),
295
- eventType: 'ui'
296
- });
297
-
298
- // additional event for tracking in confluence against JIM
299
- var macroInsertedEvent = analyticsEvent.clone();
300
- macroInsertedEvent === null || macroInsertedEvent === void 0 || macroInsertedEvent.update({
301
- eventType: 'track',
302
- action: 'inserted',
303
- actionSubject: 'macro',
304
- actionSubjectId: 'jlol',
305
- attributes: _objectSpread(_objectSpread({}, analyticsPayload), {}, {
306
- totalItemCount: totalCount || 0,
307
- displayedColumnCount: visibleColumnCount.current,
308
- display: getDisplayValue(currentViewMode, totalCount || 0),
309
- searchCount: searchCount.current,
310
- searchMethod: (0, _utils.mapSearchMethod)(searchMethodSearchedWith.current),
311
- actions: userInteractions.get()
312
- })
313
- });
314
- var consumerEvent = (_insertButtonClickedE = insertButtonClickedEvent.clone()) !== null && _insertButtonClickedE !== void 0 ? _insertButtonClickedE : undefined;
315
- insertButtonClickedEvent.fire(_analytics.EVENT_CHANNEL);
316
- var firstIssueUrl = retrieveUrlForSmartCardRender();
317
- if (currentViewMode === 'inline') {
318
- macroInsertedEvent === null || macroInsertedEvent === void 0 || macroInsertedEvent.fire(_analytics.EVENT_CHANNEL);
319
- var url = responseItems.length === 1 ? firstIssueUrl : upToDateJqlUrl;
320
- onInsert({
321
- type: 'inlineCard',
322
- attrs: {
323
- url: url
324
- }
325
- }, consumerEvent);
326
- } else {
327
- onInsert((0, _adf.buildDatasourceAdf)({
328
- id: datasourceId,
329
- parameters: {
330
- cloudId: cloudId,
331
- jql: upToDateJql // TODO support non JQL type
332
- },
333
- views: [{
334
- type: 'table',
335
- properties: {
336
- columns: (visibleColumnKeys || []).map(function (key) {
337
- var width = columnCustomSizes === null || columnCustomSizes === void 0 ? void 0 : columnCustomSizes[key];
338
- var isWrapped = wrappedColumnKeys === null || wrappedColumnKeys === void 0 ? void 0 : wrappedColumnKeys.includes(key);
339
- return _objectSpread(_objectSpread({
340
- key: key
341
- }, width ? {
342
- width: width
343
- } : {}), isWrapped ? {
344
- isWrapped: isWrapped
345
- } : {});
346
- })
347
- }
348
- }]
349
- }, upToDateJqlUrl), consumerEvent);
350
- }
351
- }, [isParametersSet, jql, selectedJiraSite, searchBarJql, analyticsPayload, totalCount, currentViewMode, retrieveUrlForSmartCardRender, responseItems.length, onInsert, datasourceId, cloudId, visibleColumnKeys, columnCustomSizes, wrappedColumnKeys, userInteractions]);
352
- var handleOnNextPage = (0, _react.useCallback)(function () {
353
- var onNextPageProps = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
354
- userInteractions.add(_types.DatasourceAction.NEXT_PAGE_SCROLLED);
355
- onNextPage(onNextPageProps);
356
- }, [onNextPage, userInteractions]);
357
- var handleVisibleColumnKeysChange = (0, _react.useCallback)(function () {
358
- var newVisibleColumnKeys = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];
359
- var columnAction = (0, _utils2.getColumnAction)(visibleColumnKeys || [], newVisibleColumnKeys);
360
- userInteractions.add(columnAction);
361
- visibleColumnCount.current = newVisibleColumnKeys.length;
362
- setVisibleColumnKeys(newVisibleColumnKeys);
363
- }, [visibleColumnKeys, userInteractions]);
364
- var issueLikeDataTableView = (0, _react.useMemo)(function () {
365
- return (0, _react2.jsx)(_contentContainer.ContentContainer, {
366
- withTableBorder: true
367
- }, (0, _react2.jsx)(_issueLikeTable.IssueLikeDataTableView, {
368
- testId: "jira-datasource-table",
369
- status: status,
370
- columns: columns,
371
- items: responseItems,
372
- hasNextPage: hasNextPage,
373
- visibleColumnKeys: visibleColumnKeys || defaultVisibleColumnKeys,
374
- onNextPage: handleOnNextPage,
375
- onLoadDatasourceDetails: loadDatasourceDetails,
376
- onVisibleColumnKeysChange: handleVisibleColumnKeysChange,
377
- extensionKey: extensionKey,
378
- columnCustomSizes: columnCustomSizes,
379
- onColumnResize: onColumnResize,
380
- wrappedColumnKeys: wrappedColumnKeys,
381
- onWrappedColumnChange: (0, _platformFeatureFlags.fg)('platform.linking-platform.datasource-word_wrap') ? onWrappedColumnChange : undefined
382
- }));
383
- }, [status, columns, responseItems, hasNextPage, visibleColumnKeys, defaultVisibleColumnKeys, handleOnNextPage, loadDatasourceDetails, handleVisibleColumnKeysChange, extensionKey, columnCustomSizes, onColumnResize, wrappedColumnKeys, onWrappedColumnChange]);
384
252
  var renderCountModeContent = (0, _react.useCallback)(function () {
385
253
  var selectedJiraSiteUrl = selectedJiraSite === null || selectedJiraSite === void 0 ? void 0 : selectedJiraSite.url;
386
254
  if (status === 'unauthorized') {
@@ -440,8 +308,12 @@ var PlainJiraIssuesConfigModal = function PlainJiraIssuesConfigModal(props) {
440
308
  } : undefined
441
309
  }));
442
310
  }
443
- return issueLikeDataTableView;
444
- }, [columns.length, currentSearchMethod, issueLikeDataTableView, jql, jqlUrl, resolvedWithNoResults, selectedJiraSite === null || selectedJiraSite === void 0 ? void 0 : selectedJiraSite.url, status, urlBeingEdited]);
311
+ return (0, _react2.jsx)(_contentContainer.ContentContainer, {
312
+ withTableBorder: true
313
+ }, (0, _react2.jsx)(_datasourcesTableInModalPreview.default, {
314
+ testId: "jira-datasource-table"
315
+ }));
316
+ }, [columns.length, currentSearchMethod, jql, jqlUrl, resolvedWithNoResults, selectedJiraSite === null || selectedJiraSite === void 0 ? void 0 : selectedJiraSite.url, status, urlBeingEdited]);
445
317
  var siteSelectorLabel = availableSites && availableSites.length > 1 ? _messages3.modalMessages.insertIssuesTitleManySites : _messages3.modalMessages.insertIssuesTitle;
446
318
  var getCancelButtonAnalyticsPayload = (0, _react.useCallback)(function () {
447
319
  return _objectSpread(_objectSpread({}, analyticsPayload), {}, {
@@ -449,6 +321,38 @@ var PlainJiraIssuesConfigModal = function PlainJiraIssuesConfigModal(props) {
449
321
  actions: userInteractions.get()
450
322
  });
451
323
  }, [analyticsPayload, userInteractions]);
324
+ var filterSelectionCount = _ui.availableBasicFilterTypes.reduce(function (current, filter) {
325
+ var _basicFilterSelection;
326
+ return _objectSpread(_objectSpread({}, current), {}, (0, _defineProperty2.default)({}, "".concat(filter, "BasicFilterSelectionCount"), ((_basicFilterSelection = basicFilterSelectionsSearchedWith.current[filter]) === null || _basicFilterSelection === void 0 ? void 0 : _basicFilterSelection.length) || 0));
327
+ }, {});
328
+ var getInsertButtonAnalyticsPayload = (0, _react.useCallback)(function () {
329
+ return _objectSpread(_objectSpread({}, analyticsPayload), {}, {
330
+ display: getDisplayValue(currentViewMode, totalCount || 0),
331
+ isQueryComplex: isSearchedWithComplexQuery.current,
332
+ searchMethod: (0, _utils.mapSearchMethod)(searchMethodSearchedWith.current),
333
+ searchCount: searchCount.current,
334
+ actions: userInteractions.get()
335
+ }, searchMethodSearchedWith.current === 'basic' ? _objectSpread({}, filterSelectionCount) : {});
336
+ }, [analyticsPayload, currentViewMode, filterSelectionCount, totalCount, userInteractions]);
337
+ var urlToInsert = (0, _react.useMemo)(function () {
338
+ var jql = parameters === null || parameters === void 0 ? void 0 : parameters.jql;
339
+ if (!jql || !(selectedJiraSite !== null && selectedJiraSite !== void 0 && selectedJiraSite.url)) {
340
+ return;
341
+ }
342
+ // During insertion, we want the JQL of the datasource to be whatever is in the search bar,
343
+ // even if the user didn't previously click search
344
+ var upToDateJql = searchBarJql !== null && searchBarJql !== void 0 ? searchBarJql : jql;
345
+ var upToDateJqlUrl = "".concat(selectedJiraSite.url, "/issues/?jql=").concat(encodeURIComponent(upToDateJql));
346
+ return currentViewMode === 'inline' && responseItems.length === 1 ? retrieveUrlForSmartCardRender() : upToDateJqlUrl;
347
+ }, [currentViewMode, parameters === null || parameters === void 0 ? void 0 : parameters.jql, responseItems, retrieveUrlForSmartCardRender, searchBarJql, selectedJiraSite === null || selectedJiraSite === void 0 ? void 0 : selectedJiraSite.url]);
348
+ var updateParametersBeforeInsert = function updateParametersBeforeInsert(parameters) {
349
+ return {
350
+ cloudId: parameters.cloudId,
351
+ // searchBarJql will not be null at this point, since this function is only called when user press insert button
352
+ //
353
+ jql: searchBarJql || ''
354
+ };
355
+ };
452
356
  return (0, _react2.jsx)(_intlMessagesProvider.IntlMessagesProvider, {
453
357
  defaultMessages: _en.default,
454
358
  loaderFn: _fetchMessagesForLocale.fetchMessagesForLocale
@@ -483,11 +387,11 @@ var PlainJiraIssuesConfigModal = function PlainJiraIssuesConfigModal(props) {
483
387
  onCancel: onCancel,
484
388
  getAnalyticsPayload: getCancelButtonAnalyticsPayload,
485
389
  testId: "jira-datasource-modal--cancel-button"
486
- }), !hasNoJiraSites && (0, _react2.jsx)(_standardButton.default, {
487
- appearance: "primary",
488
- onClick: onInsertPressed,
489
- isDisabled: isInsertDisabled,
490
- testId: "jira-datasource-modal--insert-button"
390
+ }), !hasNoJiraSites && (0, _react2.jsx)(_insertButton.InsertButton, {
391
+ testId: "jira-datasource-modal--insert-button",
392
+ url: urlToInsert,
393
+ overwriteParameters: updateParametersBeforeInsert,
394
+ getAnalyticsPayload: getInsertButtonAnalyticsPayload
491
395
  }, (0, _react2.jsx)(_reactIntlNext.FormattedMessage, _messages3.modalMessages.insertIssuesButtonText))))));
492
396
  };
493
397
  var analyticsContextAttributes = {
@@ -499,9 +403,35 @@ var analyticsContextData = _objectSpread(_objectSpread({}, _constants.componentM
499
403
  var contextData = _objectSpread(_objectSpread({}, analyticsContextData), {}, {
500
404
  attributes: _objectSpread({}, analyticsContextAttributes)
501
405
  });
502
- var JiraIssuesConfigModal = exports.JiraIssuesConfigModal = (0, _analyticsNext.withAnalyticsContext)(contextData)(function (props) {
503
- var _props$viewMode;
504
- return (0, _react2.jsx)(_state.StoreContainer, null, (0, _react2.jsx)(_datasourceExperienceId.DatasourceExperienceIdProvider, null, (0, _react2.jsx)(_userInteractions.UserInteractionsProvider, null, (0, _platformFeatureFlags.fg)('platform-datasources-use-refactored-config-modal') ? (0, _react2.jsx)(_useViewModeContext2.DatasourceViewModeProvider, {
505
- viewMode: (_props$viewMode = props.viewMode) !== null && _props$viewMode !== void 0 ? _props$viewMode : DEFAULT_VIEW_MODE
506
- }, (0, _react2.jsx)(PlainJiraIssuesConfigModal, props)) : (0, _react2.jsx)(_ModalOld.PlainJiraIssuesConfigModalOld, props))));
507
- });
406
+ var ConnectedJiraIssueConfigModal = (0, _createDatasourceModal.createDatasourceModal)({
407
+ isValidParameters: isValidParameters,
408
+ dataProvider: 'jira-issues',
409
+ component: PlainJiraIssuesConfigModal
410
+ });
411
+ var JiraIssuesConfigModalWithExtraAnalyticsOnInsert = function JiraIssuesConfigModalWithExtraAnalyticsOnInsert(props) {
412
+ var onInsert = props.onInsert;
413
+ var onInsertWithMacroAnalytics = (0, _react.useCallback)(function (adf, analyticsEvent) {
414
+ if (analyticsEvent && adf.type === 'inlineCard') {
415
+ var macroInsertedEvent = analyticsEvent.clone();
416
+ macroInsertedEvent === null || macroInsertedEvent === void 0 || macroInsertedEvent.update({
417
+ eventType: 'track',
418
+ action: 'inserted',
419
+ actionSubject: 'macro',
420
+ actionSubjectId: 'jlol'
421
+ });
422
+ macroInsertedEvent === null || macroInsertedEvent === void 0 || macroInsertedEvent.fire(_constants.EVENT_CHANNEL);
423
+ }
424
+ onInsert(adf, analyticsEvent);
425
+ }, [onInsert]);
426
+ return (0, _react2.jsx)(_state.StoreContainer, null, (0, _react2.jsx)(ConnectedJiraIssueConfigModal, (0, _extends2.default)({}, props, {
427
+ onInsert: onInsertWithMacroAnalytics
428
+ })));
429
+ };
430
+ var JiraIssuesConfigModal = exports.JiraIssuesConfigModal = function JiraIssuesConfigModal(props) {
431
+ if ((0, _platformFeatureFlags.fg)('platform-datasources-use-refactored-config-modal')) {
432
+ return (0, _react2.jsx)(JiraIssuesConfigModalWithExtraAnalyticsOnInsert, props);
433
+ }
434
+ return (0, _react2.jsx)(_state.StoreContainer, null, (0, _react2.jsx)(_analyticsNext.AnalyticsContext, {
435
+ data: contextData
436
+ }, (0, _react2.jsx)(_datasourceExperienceId.DatasourceExperienceIdProvider, null, (0, _react2.jsx)(_userInteractions.UserInteractionsProvider, null, (0, _react2.jsx)(_ModalOld.PlainJiraIssuesConfigModalOld, props)))));
437
+ };