@atlaskit/link-datasource 1.9.1 → 1.10.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.
Files changed (101) hide show
  1. package/CHANGELOG.md +6 -0
  2. package/dist/cjs/analytics/constants.js +1 -1
  3. package/dist/cjs/common/zindex.js +4 -2
  4. package/dist/cjs/ui/assets-modal/modal/index.js +1 -1
  5. package/dist/cjs/ui/jira-issues-modal/basic-filters/hooks/useFieldValues.js +75 -0
  6. package/dist/cjs/ui/jira-issues-modal/basic-filters/hooks/useHydrateJqlQuery.js +12 -0
  7. package/dist/cjs/ui/jira-issues-modal/basic-filters/hooks/useIsComplexQuery.js +12 -0
  8. package/dist/cjs/ui/jira-issues-modal/basic-filters/ui/async-popup-select/control.js +28 -0
  9. package/dist/cjs/ui/jira-issues-modal/basic-filters/ui/async-popup-select/footer.js +42 -0
  10. package/dist/cjs/ui/jira-issues-modal/basic-filters/ui/async-popup-select/formatOptionLabel.js +76 -0
  11. package/dist/cjs/ui/jira-issues-modal/basic-filters/ui/async-popup-select/index.js +121 -0
  12. package/dist/cjs/ui/jira-issues-modal/basic-filters/ui/async-popup-select/messages.js +38 -0
  13. package/dist/cjs/ui/jira-issues-modal/basic-filters/ui/async-popup-select/trigger.js +31 -0
  14. package/dist/cjs/ui/jira-issues-modal/basic-filters/ui/async-popup-select/types.js +5 -0
  15. package/dist/cjs/ui/jira-issues-modal/basic-filters/ui/index.js +40 -0
  16. package/dist/cjs/ui/jira-issues-modal/basic-filters/utils/index.js +11 -0
  17. package/dist/cjs/ui/jira-issues-modal/jira-search-container/index.js +4 -2
  18. package/dist/es2019/analytics/constants.js +1 -1
  19. package/dist/es2019/common/zindex.js +3 -1
  20. package/dist/es2019/ui/assets-modal/modal/index.js +1 -1
  21. package/dist/es2019/ui/jira-issues-modal/basic-filters/hooks/useFieldValues.js +39 -0
  22. package/dist/es2019/ui/jira-issues-modal/basic-filters/hooks/useHydrateJqlQuery.js +6 -0
  23. package/dist/es2019/ui/jira-issues-modal/basic-filters/hooks/useIsComplexQuery.js +6 -0
  24. package/dist/es2019/ui/jira-issues-modal/basic-filters/ui/async-popup-select/control.js +16 -0
  25. package/dist/es2019/ui/jira-issues-modal/basic-filters/ui/async-popup-select/footer.js +36 -0
  26. package/dist/es2019/ui/jira-issues-modal/basic-filters/ui/async-popup-select/formatOptionLabel.js +74 -0
  27. package/dist/es2019/ui/jira-issues-modal/basic-filters/ui/async-popup-select/index.js +91 -0
  28. package/dist/es2019/ui/jira-issues-modal/basic-filters/ui/async-popup-select/messages.js +32 -0
  29. package/dist/es2019/ui/jira-issues-modal/basic-filters/ui/async-popup-select/trigger.js +22 -0
  30. package/dist/es2019/ui/jira-issues-modal/basic-filters/ui/async-popup-select/types.js +1 -0
  31. package/dist/es2019/ui/jira-issues-modal/basic-filters/ui/index.js +26 -0
  32. package/dist/es2019/ui/jira-issues-modal/basic-filters/utils/index.js +5 -0
  33. package/dist/es2019/ui/jira-issues-modal/jira-search-container/index.js +4 -2
  34. package/dist/esm/analytics/constants.js +1 -1
  35. package/dist/esm/common/zindex.js +3 -1
  36. package/dist/esm/ui/assets-modal/modal/index.js +1 -1
  37. package/dist/esm/ui/jira-issues-modal/basic-filters/hooks/useFieldValues.js +68 -0
  38. package/dist/esm/ui/jira-issues-modal/basic-filters/hooks/useHydrateJqlQuery.js +6 -0
  39. package/dist/esm/ui/jira-issues-modal/basic-filters/hooks/useIsComplexQuery.js +6 -0
  40. package/dist/esm/ui/jira-issues-modal/basic-filters/ui/async-popup-select/control.js +21 -0
  41. package/dist/esm/ui/jira-issues-modal/basic-filters/ui/async-popup-select/footer.js +35 -0
  42. package/dist/esm/ui/jira-issues-modal/basic-filters/ui/async-popup-select/formatOptionLabel.js +69 -0
  43. package/dist/esm/ui/jira-issues-modal/basic-filters/ui/async-popup-select/index.js +111 -0
  44. package/dist/esm/ui/jira-issues-modal/basic-filters/ui/async-popup-select/messages.js +32 -0
  45. package/dist/esm/ui/jira-issues-modal/basic-filters/ui/async-popup-select/trigger.js +21 -0
  46. package/dist/esm/ui/jira-issues-modal/basic-filters/ui/async-popup-select/types.js +1 -0
  47. package/dist/esm/ui/jira-issues-modal/basic-filters/ui/index.js +30 -0
  48. package/dist/esm/ui/jira-issues-modal/basic-filters/utils/index.js +5 -0
  49. package/dist/esm/ui/jira-issues-modal/jira-search-container/index.js +4 -2
  50. package/dist/types/common/zindex.d.ts +1 -0
  51. package/dist/types/ui/jira-issues-modal/basic-filters/hooks/useFieldValues.d.ts +12 -0
  52. package/dist/types/ui/jira-issues-modal/basic-filters/hooks/useHydrateJqlQuery.d.ts +3 -0
  53. package/dist/types/ui/jira-issues-modal/basic-filters/hooks/useIsComplexQuery.d.ts +3 -0
  54. package/dist/types/ui/jira-issues-modal/basic-filters/ui/async-popup-select/control.d.ts +5 -0
  55. package/dist/types/ui/jira-issues-modal/basic-filters/ui/async-popup-select/footer.d.ts +7 -0
  56. package/dist/types/ui/jira-issues-modal/basic-filters/ui/async-popup-select/formatOptionLabel.d.ts +3 -0
  57. package/dist/types/ui/jira-issues-modal/basic-filters/ui/async-popup-select/index.d.ts +9 -0
  58. package/dist/types/ui/jira-issues-modal/basic-filters/ui/async-popup-select/messages.d.ts +32 -0
  59. package/dist/types/ui/jira-issues-modal/basic-filters/ui/async-popup-select/trigger.d.ts +9 -0
  60. package/dist/types/ui/jira-issues-modal/basic-filters/ui/async-popup-select/types.d.ts +23 -0
  61. package/dist/types/ui/jira-issues-modal/basic-filters/ui/index.d.ts +6 -0
  62. package/dist/types/ui/jira-issues-modal/basic-filters/utils/index.d.ts +1 -0
  63. package/dist/types-ts4.5/common/zindex.d.ts +1 -0
  64. package/dist/types-ts4.5/ui/jira-issues-modal/basic-filters/hooks/useFieldValues.d.ts +12 -0
  65. package/dist/types-ts4.5/ui/jira-issues-modal/basic-filters/hooks/useHydrateJqlQuery.d.ts +3 -0
  66. package/dist/types-ts4.5/ui/jira-issues-modal/basic-filters/hooks/useIsComplexQuery.d.ts +3 -0
  67. package/dist/types-ts4.5/ui/jira-issues-modal/basic-filters/ui/async-popup-select/control.d.ts +5 -0
  68. package/dist/types-ts4.5/ui/jira-issues-modal/basic-filters/ui/async-popup-select/footer.d.ts +7 -0
  69. package/dist/types-ts4.5/ui/jira-issues-modal/basic-filters/ui/async-popup-select/formatOptionLabel.d.ts +3 -0
  70. package/dist/types-ts4.5/ui/jira-issues-modal/basic-filters/ui/async-popup-select/index.d.ts +9 -0
  71. package/dist/types-ts4.5/ui/jira-issues-modal/basic-filters/ui/async-popup-select/messages.d.ts +32 -0
  72. package/dist/types-ts4.5/ui/jira-issues-modal/basic-filters/ui/async-popup-select/trigger.d.ts +9 -0
  73. package/dist/types-ts4.5/ui/jira-issues-modal/basic-filters/ui/async-popup-select/types.d.ts +23 -0
  74. package/dist/types-ts4.5/ui/jira-issues-modal/basic-filters/ui/index.d.ts +6 -0
  75. package/dist/types-ts4.5/ui/jira-issues-modal/basic-filters/utils/index.d.ts +1 -0
  76. package/package.json +5 -4
  77. package/dist/cjs/ui/jira-issues-modal/jira-search-container/basic-filters/hooks/useBasicFilterHook.js +0 -17
  78. package/dist/cjs/ui/jira-issues-modal/jira-search-container/basic-filters/ui/common/dropdown/index.js +0 -15
  79. package/dist/cjs/ui/jira-issues-modal/jira-search-container/basic-filters/ui/containers/project/index.js +0 -13
  80. package/dist/cjs/ui/jira-issues-modal/jira-search-container/basic-filters/ui/index.js +0 -15
  81. package/dist/es2019/ui/jira-issues-modal/jira-search-container/basic-filters/hooks/useBasicFilterHook.js +0 -11
  82. package/dist/es2019/ui/jira-issues-modal/jira-search-container/basic-filters/ui/common/dropdown/index.js +0 -8
  83. package/dist/es2019/ui/jira-issues-modal/jira-search-container/basic-filters/ui/containers/project/index.js +0 -6
  84. package/dist/es2019/ui/jira-issues-modal/jira-search-container/basic-filters/ui/index.js +0 -8
  85. package/dist/esm/ui/jira-issues-modal/jira-search-container/basic-filters/hooks/useBasicFilterHook.js +0 -11
  86. package/dist/esm/ui/jira-issues-modal/jira-search-container/basic-filters/ui/common/dropdown/index.js +0 -8
  87. package/dist/esm/ui/jira-issues-modal/jira-search-container/basic-filters/ui/containers/project/index.js +0 -6
  88. package/dist/esm/ui/jira-issues-modal/jira-search-container/basic-filters/ui/index.js +0 -8
  89. package/dist/types/ui/jira-issues-modal/jira-search-container/basic-filters/hooks/useBasicFilterHook.d.ts +0 -4
  90. package/dist/types/ui/jira-issues-modal/jira-search-container/basic-filters/ui/common/dropdown/index.d.ts +0 -3
  91. package/dist/types/ui/jira-issues-modal/jira-search-container/basic-filters/ui/containers/project/index.d.ts +0 -3
  92. package/dist/types/ui/jira-issues-modal/jira-search-container/basic-filters/ui/index.d.ts +0 -3
  93. package/dist/types-ts4.5/ui/jira-issues-modal/jira-search-container/basic-filters/hooks/useBasicFilterHook.d.ts +0 -4
  94. package/dist/types-ts4.5/ui/jira-issues-modal/jira-search-container/basic-filters/ui/common/dropdown/index.d.ts +0 -3
  95. package/dist/types-ts4.5/ui/jira-issues-modal/jira-search-container/basic-filters/ui/containers/project/index.d.ts +0 -3
  96. package/dist/types-ts4.5/ui/jira-issues-modal/jira-search-container/basic-filters/ui/index.d.ts +0 -3
  97. /package/dist/cjs/ui/jira-issues-modal/{jira-search-container/basic-filters → basic-filters}/index.js +0 -0
  98. /package/dist/es2019/ui/jira-issues-modal/{jira-search-container/basic-filters → basic-filters}/index.js +0 -0
  99. /package/dist/esm/ui/jira-issues-modal/{jira-search-container/basic-filters → basic-filters}/index.js +0 -0
  100. /package/dist/types/ui/jira-issues-modal/{jira-search-container/basic-filters → basic-filters}/index.d.ts +0 -0
  101. /package/dist/types-ts4.5/ui/jira-issues-modal/{jira-search-container/basic-filters → basic-filters}/index.d.ts +0 -0
package/CHANGELOG.md CHANGED
@@ -1,5 +1,11 @@
1
1
  # @atlaskit/link-datasource
2
2
 
3
+ ## 1.10.0
4
+
5
+ ### Minor Changes
6
+
7
+ - [#41851](https://bitbucket.org/atlassian/atlassian-frontend/pull-requests/41851) [`3db4d0fcf3e`](https://bitbucket.org/atlassian/atlassian-frontend/commits/3db4d0fcf3e) - Add Basic filter component to jira issue modal.
8
+
3
9
  ## 1.9.1
4
10
 
5
11
  ### Patch Changes
@@ -7,5 +7,5 @@ exports.packageMetaData = exports.EVENT_CHANNEL = void 0;
7
7
  var EVENT_CHANNEL = exports.EVENT_CHANNEL = 'media';
8
8
  var packageMetaData = exports.packageMetaData = {
9
9
  packageName: "@atlaskit/link-datasource",
10
- packageVersion: "1.9.1"
10
+ packageVersion: "1.10.0"
11
11
  };
@@ -3,6 +3,8 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.stickyTableHeadersIndex = exports.siteSelectorIndex = void 0;
6
+ exports.stickyTableHeadersIndex = exports.siteSelectorIndex = exports.aboveModal = void 0;
7
+ var _constants = require("@atlaskit/theme/constants");
7
8
  var stickyTableHeadersIndex = exports.stickyTableHeadersIndex = 10;
8
- var siteSelectorIndex = exports.siteSelectorIndex = stickyTableHeadersIndex + 1;
9
+ var siteSelectorIndex = exports.siteSelectorIndex = stickyTableHeadersIndex + 1;
10
+ var aboveModal = exports.aboveModal = _constants.layers.modal() + 1;
@@ -234,7 +234,7 @@ var analyticsContextAttributes = {
234
234
  };
235
235
  var analyticsContextData = {
236
236
  packageName: "@atlaskit/link-datasource",
237
- packageVersion: "1.9.1",
237
+ packageVersion: "1.10.0",
238
238
  source: 'datasourceConfigModal'
239
239
  };
240
240
  var contextData = _objectSpread(_objectSpread({}, analyticsContextData), {}, {
@@ -0,0 +1,75 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.useFieldValues = void 0;
8
+ var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
9
+ var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
10
+ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
11
+ var _react = require("react");
12
+ var _linkingCommon = require("@atlaskit/linking-common");
13
+ // TODO: https://product-fabric.atlassian.net/browse/EDM-8118
14
+ var useFieldValues = exports.useFieldValues = function useFieldValues(_ref) {
15
+ var filterType = _ref.filterType;
16
+ var _useState = (0, _react.useState)([]),
17
+ _useState2 = (0, _slicedToArray2.default)(_useState, 2),
18
+ filterOptions = _useState2[0],
19
+ setFilterOptions = _useState2[1];
20
+ var _useState3 = (0, _react.useState)(100),
21
+ _useState4 = (0, _slicedToArray2.default)(_useState3, 1),
22
+ totalCount = _useState4[0];
23
+ var _useState5 = (0, _react.useState)('empty'),
24
+ _useState6 = (0, _slicedToArray2.default)(_useState5, 2),
25
+ status = _useState6[0],
26
+ setStatus = _useState6[1];
27
+ var fetchFilterOptions = /*#__PURE__*/function () {
28
+ var _ref2 = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee() {
29
+ var _yield$request, data;
30
+ return _regenerator.default.wrap(function _callee$(_context) {
31
+ while (1) switch (_context.prev = _context.next) {
32
+ case 0:
33
+ _context.prev = 0;
34
+ setStatus('loading');
35
+ _context.next = 4;
36
+ return (0, _linkingCommon.request)('post', '/gateway/api/graphql', {
37
+ operationName: 'fieldValues',
38
+ variables: {
39
+ jqlTerm: filterType
40
+ }
41
+ }, {
42
+ 'Content-Type': 'application/json',
43
+ 'X-ExperimentalApi': 'JiraJqlBuilder'
44
+ });
45
+ case 4:
46
+ _yield$request = _context.sent;
47
+ data = _yield$request.data;
48
+ if (data) {
49
+ setFilterOptions(data);
50
+ setStatus('resolved');
51
+ }
52
+ _context.next = 13;
53
+ break;
54
+ case 9:
55
+ _context.prev = 9;
56
+ _context.t0 = _context["catch"](0);
57
+ setStatus('error');
58
+ return _context.abrupt("return", setFilterOptions([]));
59
+ case 13:
60
+ case "end":
61
+ return _context.stop();
62
+ }
63
+ }, _callee, null, [[0, 9]]);
64
+ }));
65
+ return function fetchFilterOptions() {
66
+ return _ref2.apply(this, arguments);
67
+ };
68
+ }();
69
+ return {
70
+ filterOptions: filterOptions,
71
+ fetchFilterOptions: fetchFilterOptions,
72
+ totalCount: totalCount,
73
+ status: status
74
+ };
75
+ };
@@ -0,0 +1,12 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.useHydrateJqlQuery = void 0;
7
+ var useHydrateJqlQuery = exports.useHydrateJqlQuery = function useHydrateJqlQuery() {
8
+ return {
9
+ // TODO: https://product-fabric.atlassian.net/browse/EDM-8119
10
+ hydratedFields: {}
11
+ };
12
+ };
@@ -0,0 +1,12 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.useIsComplexQuery = void 0;
7
+ var useIsComplexQuery = exports.useIsComplexQuery = function useIsComplexQuery() {
8
+ return {
9
+ // https://product-fabric.atlassian.net/browse/EDM-8103
10
+ isComplexQuery: false
11
+ };
12
+ };
@@ -0,0 +1,28 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.default = exports.CustomControl = void 0;
8
+ var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
9
+ var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
10
+ var _react = _interopRequireDefault(require("react"));
11
+ var _select = require("@atlaskit/select");
12
+ var _colors = require("@atlaskit/theme/colors");
13
+ var _excluded = ["children"];
14
+ var popupCustomControlStyles = function popupCustomControlStyles() {
15
+ return {
16
+ display: 'flex',
17
+ padding: "var(--ds-space-050, 4px)",
18
+ borderBottom: "solid 1px ".concat("var(--ds-border, ".concat(_colors.N40, ")"))
19
+ };
20
+ };
21
+ var CustomControl = exports.CustomControl = function CustomControl(_ref) {
22
+ var children = _ref.children,
23
+ innerProps = (0, _objectWithoutProperties2.default)(_ref, _excluded);
24
+ return /*#__PURE__*/_react.default.createElement(_select.components.Control, (0, _extends2.default)({}, innerProps, {
25
+ getStyles: popupCustomControlStyles
26
+ }), children);
27
+ };
28
+ var _default = exports.default = CustomControl;
@@ -0,0 +1,42 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.default = void 0;
8
+ var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
9
+ var _react = _interopRequireDefault(require("react"));
10
+ var _reactIntlNext = require("react-intl-next");
11
+ var _primitives = require("@atlaskit/primitives");
12
+ var _colors = require("@atlaskit/theme/colors");
13
+ var _messages = require("./messages");
14
+ var footerContainerStyles = (0, _primitives.xcss)({
15
+ paddingTop: 'space.050',
16
+ paddingBottom: 'space.050',
17
+ borderTop: "".concat("var(--ds-border, ".concat(_colors.N40, ")"), " solid 1px")
18
+ });
19
+ var footerPaginationInfoStyles = (0, _primitives.xcss)({
20
+ color: 'color.text.subtlest',
21
+ marginBlock: 'space.100',
22
+ marginInline: 'space.150'
23
+ });
24
+ var PopupFooter = function PopupFooter(_ref) {
25
+ var currentDisplayCount = _ref.currentDisplayCount,
26
+ totalCount = _ref.totalCount;
27
+ return /*#__PURE__*/_react.default.createElement(_primitives.Flex, {
28
+ testId: "jlol-basic-filter-popup-select--footer",
29
+ direction: "row",
30
+ alignItems: "center",
31
+ justifyContent: "end",
32
+ xcss: footerContainerStyles
33
+ }, /*#__PURE__*/_react.default.createElement(_primitives.Inline, {
34
+ xcss: footerPaginationInfoStyles
35
+ }, /*#__PURE__*/_react.default.createElement(_reactIntlNext.FormattedMessage, (0, _extends2.default)({}, _messages.asyncPopupSelectMessages.paginationDetails, {
36
+ values: {
37
+ currentDisplayCount: currentDisplayCount,
38
+ totalCount: totalCount
39
+ }
40
+ }))));
41
+ };
42
+ var _default = exports.default = PopupFooter;
@@ -0,0 +1,76 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.default = void 0;
8
+ var _react = _interopRequireDefault(require("react"));
9
+ var _avatar = _interopRequireDefault(require("@atlaskit/avatar"));
10
+ var _lozenge = _interopRequireDefault(require("@atlaskit/lozenge"));
11
+ var _primitives = require("@atlaskit/primitives");
12
+ var commonLabelStyles = (0, _primitives.xcss)({
13
+ overflow: 'hidden',
14
+ textOverflow: 'ellipsis'
15
+ });
16
+ var avatarOptionLabelStyles = (0, _primitives.xcss)({
17
+ marginLeft: 'space.050'
18
+ });
19
+ var IconOptionLabel = function IconOptionLabel(_ref) {
20
+ var data = _ref.data;
21
+ var label = data.label,
22
+ avatar = data.icon,
23
+ value = data.value;
24
+ var avatarOptionLabelData = {
25
+ label: label,
26
+ avatar: avatar,
27
+ value: value,
28
+ optionType: 'avatarLabel',
29
+ isSquare: true
30
+ };
31
+ return /*#__PURE__*/_react.default.createElement(AvatarOptionLabel, {
32
+ data: avatarOptionLabelData,
33
+ testId: "jlol-basic-filter-popup-select-option--icon-label"
34
+ });
35
+ };
36
+ var LozengeOptionLabel = function LozengeOptionLabel(_ref2) {
37
+ var data = _ref2.data;
38
+ return /*#__PURE__*/_react.default.createElement(_lozenge.default, {
39
+ isBold: data.isBold,
40
+ appearance: data.appearance,
41
+ testId: "jlol-basic-filter-popup-select-option--lozenge"
42
+ }, /*#__PURE__*/_react.default.createElement(_primitives.Box, {
43
+ xcss: [commonLabelStyles]
44
+ }, data.label));
45
+ };
46
+ var AvatarOptionLabel = function AvatarOptionLabel(_ref3) {
47
+ var data = _ref3.data,
48
+ testId = _ref3.testId;
49
+ return /*#__PURE__*/_react.default.createElement(_primitives.Flex, {
50
+ alignItems: "center",
51
+ testId: testId || 'jlol-basic-filter-popup-select-option--avatar'
52
+ }, /*#__PURE__*/_react.default.createElement(_avatar.default, {
53
+ appearance: data.isSquare ? 'square' : 'circle',
54
+ src: data.avatar,
55
+ size: "xsmall"
56
+ }), /*#__PURE__*/_react.default.createElement(_primitives.Box, {
57
+ xcss: [commonLabelStyles, avatarOptionLabelStyles],
58
+ testId: "nidhin"
59
+ }, data.label));
60
+ };
61
+ var formatOptionLabel = function formatOptionLabel(data) {
62
+ if (data.optionType === 'lozengeLabel') {
63
+ return /*#__PURE__*/_react.default.createElement(LozengeOptionLabel, {
64
+ data: data
65
+ });
66
+ }
67
+ if (data.optionType === 'avatarLabel') {
68
+ return /*#__PURE__*/_react.default.createElement(AvatarOptionLabel, {
69
+ data: data
70
+ });
71
+ }
72
+ return /*#__PURE__*/_react.default.createElement(IconOptionLabel, {
73
+ data: data
74
+ });
75
+ };
76
+ var _default = exports.default = formatOptionLabel;
@@ -0,0 +1,121 @@
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.default = void 0;
9
+ var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
10
+ var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
11
+ var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
12
+ var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
13
+ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
14
+ var _react = _interopRequireWildcard(require("react"));
15
+ var _reactIntlNext = require("react-intl-next");
16
+ var _select = require("@atlaskit/select");
17
+ var _useFieldValues2 = require("../../hooks/useFieldValues");
18
+ var _control = _interopRequireDefault(require("./control"));
19
+ var _footer = _interopRequireDefault(require("./footer"));
20
+ var _formatOptionLabel = _interopRequireDefault(require("./formatOptionLabel"));
21
+ var _messages = require("./messages");
22
+ var _trigger = _interopRequireDefault(require("./trigger"));
23
+ var _excluded = ["isOpen"];
24
+ 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); }
25
+ 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; }
26
+ // Needed to disable filtering from react-select
27
+ var noFilterOptions = function noFilterOptions() {
28
+ return true;
29
+ };
30
+ var AsyncPopupSelect = function AsyncPopupSelect(_ref) {
31
+ var filterType = _ref.filterType,
32
+ selection = _ref.selection,
33
+ _ref$onSelectionChang = _ref.onSelectionChange,
34
+ onSelectionChange = _ref$onSelectionChang === void 0 ? function () {} : _ref$onSelectionChang;
35
+ var _useIntl = (0, _reactIntlNext.useIntl)(),
36
+ formatMessage = _useIntl.formatMessage;
37
+ var pickerRef = (0, _react.useRef)(null);
38
+ var _useState = (0, _react.useState)(''),
39
+ _useState2 = (0, _slicedToArray2.default)(_useState, 2),
40
+ searchTerm = _useState2[0],
41
+ setSearchTerm = _useState2[1];
42
+ var _useState3 = (0, _react.useState)(selection),
43
+ _useState4 = (0, _slicedToArray2.default)(_useState3, 2),
44
+ selectedOptions = _useState4[0],
45
+ setSelectedOptions = _useState4[1];
46
+ var _useFieldValues = (0, _useFieldValues2.useFieldValues)({
47
+ filterType: filterType
48
+ }),
49
+ filterOptions = _useFieldValues.filterOptions,
50
+ fetchFilterOptions = _useFieldValues.fetchFilterOptions,
51
+ totalCount = _useFieldValues.totalCount,
52
+ status = _useFieldValues.status;
53
+ var handleInputChange = (0, _react.useCallback)(function (searchString, actionMeta) {
54
+ if (actionMeta.action === 'input-change' && searchString !== searchTerm) {
55
+ setSearchTerm(searchString);
56
+ }
57
+ }, [searchTerm]);
58
+ var handleOptionSelection = function handleOptionSelection(newValue) {
59
+ setSelectedOptions(newValue);
60
+ onSelectionChange(newValue);
61
+ };
62
+ var handleOpenPopup = (0, _react.useCallback)( /*#__PURE__*/(0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee() {
63
+ return _regenerator.default.wrap(function _callee$(_context) {
64
+ while (1) switch (_context.prev = _context.next) {
65
+ case 0:
66
+ if (status === 'empty') {
67
+ fetchFilterOptions();
68
+ }
69
+ case 1:
70
+ case "end":
71
+ return _context.stop();
72
+ }
73
+ }, _callee);
74
+ })), [fetchFilterOptions, status]);
75
+ (0, _react.useEffect)(function () {
76
+ if (status === 'resolved') {
77
+ var _pickerRef$current;
78
+ // necessary to refocus the search input after the loading state
79
+ pickerRef === null || pickerRef === void 0 || (_pickerRef$current = pickerRef.current) === null || _pickerRef$current === void 0 || (_pickerRef$current = _pickerRef$current.selectRef) === null || _pickerRef$current === void 0 || (_pickerRef$current = _pickerRef$current.inputRef) === null || _pickerRef$current === void 0 || _pickerRef$current.focus();
80
+ }
81
+ }, [status]);
82
+ return /*#__PURE__*/_react.default.createElement(_select.PopupSelect, {
83
+ isMulti: true,
84
+ maxMenuWidth: 300,
85
+ minMenuWidth: 300,
86
+ ref: pickerRef,
87
+ testId: "jlol-basic-filter-popup-select",
88
+ inputId: "jlol-basic-filter-popup-select--input",
89
+ searchThreshold: 0,
90
+ inputValue: searchTerm,
91
+ closeMenuOnSelect: false,
92
+ hideSelectedOptions: false,
93
+ isLoading: status === 'loading',
94
+ placeholder: formatMessage(_messages.asyncPopupSelectMessages.selectPlaceholder),
95
+ components: {
96
+ /* @ts-expect-error - This component has stricter OptionType, hence a temp setup untill its made generic */
97
+ Option: _select.CheckboxOption,
98
+ Control: _control.default
99
+ },
100
+ options: filterOptions,
101
+ value: selectedOptions,
102
+ filterOption: noFilterOptions,
103
+ formatOptionLabel: _formatOptionLabel.default,
104
+ onChange: handleOptionSelection,
105
+ onInputChange: handleInputChange,
106
+ target: function target(_ref3) {
107
+ var isOpen = _ref3.isOpen,
108
+ triggerProps = (0, _objectWithoutProperties2.default)(_ref3, _excluded);
109
+ return /*#__PURE__*/_react.default.createElement(_trigger.default, (0, _extends2.default)({}, triggerProps, {
110
+ filterType: filterType,
111
+ isSelected: isOpen,
112
+ onClick: handleOpenPopup
113
+ }));
114
+ },
115
+ footer: /*#__PURE__*/_react.default.createElement(_footer.default, {
116
+ currentDisplayCount: filterOptions.length,
117
+ totalCount: totalCount
118
+ })
119
+ });
120
+ };
121
+ var _default = exports.default = AsyncPopupSelect;
@@ -0,0 +1,38 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.asyncPopupSelectMessages = void 0;
7
+ var asyncPopupSelectMessages = exports.asyncPopupSelectMessages = {
8
+ selectPlaceholder: {
9
+ id: 'linkDataSource.basic-filter.dropdown.select.placeholder',
10
+ description: 'Placeholder text to be displayed for the search input box.',
11
+ defaultMessage: 'Search'
12
+ },
13
+ paginationDetails: {
14
+ id: 'linkDataSource.basic-filter.footer.pagination-details',
15
+ description: 'Text to indicate page count and total count information.',
16
+ defaultMessage: '{currentDisplayCount} of {totalCount}'
17
+ },
18
+ projectLabel: {
19
+ id: 'linkDataSource.basic-filter.project.label',
20
+ description: 'Label to be displayed for project filter dropdown button.',
21
+ defaultMessage: 'Project'
22
+ },
23
+ statusLabel: {
24
+ id: 'linkDataSource.basic-filter.status.label',
25
+ description: 'Label to be displayed for status filter dropdown button.',
26
+ defaultMessage: 'Status'
27
+ },
28
+ issuetypeLabel: {
29
+ id: 'linkDataSource.basic-filter.issuetype.label',
30
+ description: 'Label to be displayed for issuetype filter dropdown button.',
31
+ defaultMessage: 'Type'
32
+ },
33
+ assigneeLabel: {
34
+ id: 'linkDataSource.basic-filter.assignee.label',
35
+ description: 'Label to be displayed for assignee filter dropdown button.',
36
+ defaultMessage: 'Assignee'
37
+ }
38
+ };
@@ -0,0 +1,31 @@
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.default = void 0;
9
+ var _react = _interopRequireWildcard(require("react"));
10
+ var _reactIntlNext = require("react-intl-next");
11
+ var _standardButton = _interopRequireDefault(require("@atlaskit/button/standard-button"));
12
+ var _chevronDown = _interopRequireDefault(require("@atlaskit/icon/glyph/chevron-down"));
13
+ var _messages = require("./messages");
14
+ 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); }
15
+ 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; }
16
+ var PopupTrigger = /*#__PURE__*/(0, _react.forwardRef)(function (_ref, ref) {
17
+ var filterType = _ref.filterType,
18
+ isSelected = _ref.isSelected,
19
+ onClick = _ref.onClick;
20
+ return /*#__PURE__*/_react.default.createElement(_standardButton.default, {
21
+ ref: ref,
22
+ appearance: "default",
23
+ isSelected: isSelected,
24
+ onClick: onClick,
25
+ testId: "jlol-basic-filter-".concat(filterType, "-trigger"),
26
+ iconAfter: /*#__PURE__*/_react.default.createElement(_chevronDown.default, {
27
+ label: ""
28
+ })
29
+ }, /*#__PURE__*/_react.default.createElement(_reactIntlNext.FormattedMessage, _messages.asyncPopupSelectMessages["".concat(filterType, "Label")]));
30
+ });
31
+ var _default = exports.default = PopupTrigger;
@@ -0,0 +1,5 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
@@ -0,0 +1,40 @@
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.default = void 0;
9
+ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
10
+ var _react = _interopRequireWildcard(require("react"));
11
+ var _primitives = require("@atlaskit/primitives");
12
+ var _utils = require("../utils");
13
+ var _asyncPopupSelect = _interopRequireDefault(require("./async-popup-select"));
14
+ 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); }
15
+ 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; }
16
+ var availableBasicFilterTypes = ['project', 'issuetype', 'status', 'assignee'];
17
+ var BasicFilterContainer = function BasicFilterContainer(_ref) {
18
+ var jql = _ref.jql;
19
+ var _useState = (0, _react.useState)([]),
20
+ _useState2 = (0, _slicedToArray2.default)(_useState, 1),
21
+ selection = _useState2[0];
22
+ (0, _react.useEffect)(function () {
23
+ if ((0, _utils.isValidJql)(jql)) {
24
+ // hydrate hook call goes in here
25
+ }
26
+ }, [jql]);
27
+ var handleSelectionChange = function handleSelectionChange() {};
28
+ return /*#__PURE__*/_react.default.createElement(_primitives.Flex, {
29
+ gap: "space.100",
30
+ testId: "jlol-basic-filter-container"
31
+ }, availableBasicFilterTypes.map(function (filter) {
32
+ return /*#__PURE__*/_react.default.createElement(_asyncPopupSelect.default, {
33
+ filterType: filter,
34
+ key: filter,
35
+ selection: selection,
36
+ onSelectionChange: handleSelectionChange
37
+ });
38
+ }));
39
+ };
40
+ var _default = exports.default = BasicFilterContainer;
@@ -0,0 +1,11 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.isValidJql = void 0;
7
+ var _jqlAst = require("@atlaskit/jql-ast");
8
+ var isValidJql = exports.isValidJql = function isValidJql(jql) {
9
+ var jast = new _jqlAst.JastBuilder().build(jql);
10
+ return jast.errors.length === 0;
11
+ };
@@ -12,10 +12,10 @@ var _react2 = require("@emotion/react");
12
12
  var _reactIntlNext = require("react-intl-next");
13
13
  var _platformFeatureFlags = require("@atlaskit/platform-feature-flags");
14
14
  var _analytics = require("../../../analytics");
15
+ var _basicFilters = require("../basic-filters");
15
16
  var _basicSearchInput = require("../basic-search-input");
16
17
  var _jqlEditor = require("../jql-editor");
17
18
  var _modeSwitcher = require("../mode-switcher");
18
- var _basicFilters = require("./basic-filters");
19
19
  var _buildJQL = require("./buildJQL");
20
20
  var _messages = require("./messages");
21
21
  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); }
@@ -116,7 +116,9 @@ var JiraSearchContainer = exports.JiraSearchContainer = function JiraSearchConta
116
116
  onChange: handleBasicSearchChange,
117
117
  onSearch: handleSearch,
118
118
  searchTerm: basicSearchTerm
119
- }), showBasicFilters && (0, _react2.jsx)(_basicFilters.BasicFilters, null)), currentSearchMethod === 'jql' && (0, _react2.jsx)(_jqlEditor.JiraJQLEditor, {
119
+ }), showBasicFilters && (0, _react2.jsx)(_basicFilters.BasicFilters, {
120
+ jql: jql
121
+ })), currentSearchMethod === 'jql' && (0, _react2.jsx)(_jqlEditor.JiraJQLEditor, {
120
122
  cloudId: cloudId || '',
121
123
  isSearching: isSearching,
122
124
  onChange: onQueryChange,
@@ -1,5 +1,5 @@
1
1
  export const EVENT_CHANNEL = 'media';
2
2
  export const packageMetaData = {
3
3
  packageName: "@atlaskit/link-datasource",
4
- packageVersion: "1.9.1"
4
+ packageVersion: "1.10.0"
5
5
  };
@@ -1,2 +1,4 @@
1
+ import { layers } from '@atlaskit/theme/constants';
1
2
  export const stickyTableHeadersIndex = 10;
2
- export const siteSelectorIndex = stickyTableHeadersIndex + 1;
3
+ export const siteSelectorIndex = stickyTableHeadersIndex + 1;
4
+ export const aboveModal = layers.modal() + 1;
@@ -194,7 +194,7 @@ const analyticsContextAttributes = {
194
194
  };
195
195
  const analyticsContextData = {
196
196
  packageName: "@atlaskit/link-datasource",
197
- packageVersion: "1.9.1",
197
+ packageVersion: "1.10.0",
198
198
  source: 'datasourceConfigModal'
199
199
  };
200
200
  const contextData = {
@@ -0,0 +1,39 @@
1
+ import { useState } from 'react';
2
+ import { request } from '@atlaskit/linking-common';
3
+ // TODO: https://product-fabric.atlassian.net/browse/EDM-8118
4
+ export const useFieldValues = ({
5
+ filterType
6
+ }) => {
7
+ const [filterOptions, setFilterOptions] = useState([]);
8
+ const [totalCount] = useState(100);
9
+ const [status, setStatus] = useState('empty');
10
+ const fetchFilterOptions = async () => {
11
+ try {
12
+ setStatus('loading');
13
+ const {
14
+ data
15
+ } = await request('post', '/gateway/api/graphql', {
16
+ operationName: 'fieldValues',
17
+ variables: {
18
+ jqlTerm: filterType
19
+ }
20
+ }, {
21
+ 'Content-Type': 'application/json',
22
+ 'X-ExperimentalApi': 'JiraJqlBuilder'
23
+ });
24
+ if (data) {
25
+ setFilterOptions(data);
26
+ setStatus('resolved');
27
+ }
28
+ } catch (error) {
29
+ setStatus('error');
30
+ return setFilterOptions([]);
31
+ }
32
+ };
33
+ return {
34
+ filterOptions,
35
+ fetchFilterOptions,
36
+ totalCount,
37
+ status
38
+ };
39
+ };
@@ -0,0 +1,6 @@
1
+ export const useHydrateJqlQuery = () => {
2
+ return {
3
+ // TODO: https://product-fabric.atlassian.net/browse/EDM-8119
4
+ hydratedFields: {}
5
+ };
6
+ };
@@ -0,0 +1,6 @@
1
+ export const useIsComplexQuery = () => {
2
+ return {
3
+ // https://product-fabric.atlassian.net/browse/EDM-8103
4
+ isComplexQuery: false
5
+ };
6
+ };