@atlaskit/link-datasource 1.9.1 → 1.10.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (106) hide show
  1. package/CHANGELOG.md +12 -0
  2. package/dist/cjs/analytics/constants.js +1 -1
  3. package/dist/cjs/common/utils/locale/fetch-messages-for-locale.js +63 -0
  4. package/dist/cjs/common/zindex.js +4 -2
  5. package/dist/cjs/ui/assets-modal/modal/index.js +9 -3
  6. package/dist/cjs/ui/jira-issues-modal/basic-filters/hooks/useFieldValues.js +75 -0
  7. package/dist/cjs/ui/jira-issues-modal/basic-filters/hooks/useHydrateJqlQuery.js +12 -0
  8. package/dist/cjs/ui/jira-issues-modal/basic-filters/hooks/useIsComplexQuery.js +12 -0
  9. package/dist/cjs/ui/jira-issues-modal/basic-filters/ui/async-popup-select/control.js +28 -0
  10. package/dist/cjs/ui/jira-issues-modal/basic-filters/ui/async-popup-select/footer.js +42 -0
  11. package/dist/cjs/ui/jira-issues-modal/basic-filters/ui/async-popup-select/formatOptionLabel.js +76 -0
  12. package/dist/cjs/ui/jira-issues-modal/basic-filters/ui/async-popup-select/index.js +121 -0
  13. package/dist/cjs/ui/jira-issues-modal/basic-filters/ui/async-popup-select/messages.js +38 -0
  14. package/dist/cjs/ui/jira-issues-modal/basic-filters/ui/async-popup-select/trigger.js +31 -0
  15. package/dist/cjs/ui/jira-issues-modal/basic-filters/ui/async-popup-select/types.js +5 -0
  16. package/dist/cjs/ui/jira-issues-modal/basic-filters/ui/index.js +40 -0
  17. package/dist/cjs/ui/jira-issues-modal/basic-filters/utils/index.js +11 -0
  18. package/dist/cjs/ui/jira-issues-modal/jira-search-container/index.js +4 -2
  19. package/dist/es2019/analytics/constants.js +1 -1
  20. package/dist/es2019/common/utils/locale/fetch-messages-for-locale.js +21 -0
  21. package/dist/es2019/common/zindex.js +3 -1
  22. package/dist/es2019/ui/assets-modal/modal/index.js +9 -3
  23. package/dist/es2019/ui/jira-issues-modal/basic-filters/hooks/useFieldValues.js +39 -0
  24. package/dist/es2019/ui/jira-issues-modal/basic-filters/hooks/useHydrateJqlQuery.js +6 -0
  25. package/dist/es2019/ui/jira-issues-modal/basic-filters/hooks/useIsComplexQuery.js +6 -0
  26. package/dist/es2019/ui/jira-issues-modal/basic-filters/ui/async-popup-select/control.js +16 -0
  27. package/dist/es2019/ui/jira-issues-modal/basic-filters/ui/async-popup-select/footer.js +36 -0
  28. package/dist/es2019/ui/jira-issues-modal/basic-filters/ui/async-popup-select/formatOptionLabel.js +74 -0
  29. package/dist/es2019/ui/jira-issues-modal/basic-filters/ui/async-popup-select/index.js +91 -0
  30. package/dist/es2019/ui/jira-issues-modal/basic-filters/ui/async-popup-select/messages.js +32 -0
  31. package/dist/es2019/ui/jira-issues-modal/basic-filters/ui/async-popup-select/trigger.js +22 -0
  32. package/dist/es2019/ui/jira-issues-modal/basic-filters/ui/async-popup-select/types.js +1 -0
  33. package/dist/es2019/ui/jira-issues-modal/basic-filters/ui/index.js +26 -0
  34. package/dist/es2019/ui/jira-issues-modal/basic-filters/utils/index.js +5 -0
  35. package/dist/es2019/ui/jira-issues-modal/jira-search-container/index.js +4 -2
  36. package/dist/esm/analytics/constants.js +1 -1
  37. package/dist/esm/common/utils/locale/fetch-messages-for-locale.js +41 -0
  38. package/dist/esm/common/zindex.js +3 -1
  39. package/dist/esm/ui/assets-modal/modal/index.js +9 -3
  40. package/dist/esm/ui/jira-issues-modal/basic-filters/hooks/useFieldValues.js +68 -0
  41. package/dist/esm/ui/jira-issues-modal/basic-filters/hooks/useHydrateJqlQuery.js +6 -0
  42. package/dist/esm/ui/jira-issues-modal/basic-filters/hooks/useIsComplexQuery.js +6 -0
  43. package/dist/esm/ui/jira-issues-modal/basic-filters/ui/async-popup-select/control.js +21 -0
  44. package/dist/esm/ui/jira-issues-modal/basic-filters/ui/async-popup-select/footer.js +35 -0
  45. package/dist/esm/ui/jira-issues-modal/basic-filters/ui/async-popup-select/formatOptionLabel.js +69 -0
  46. package/dist/esm/ui/jira-issues-modal/basic-filters/ui/async-popup-select/index.js +111 -0
  47. package/dist/esm/ui/jira-issues-modal/basic-filters/ui/async-popup-select/messages.js +32 -0
  48. package/dist/esm/ui/jira-issues-modal/basic-filters/ui/async-popup-select/trigger.js +21 -0
  49. package/dist/esm/ui/jira-issues-modal/basic-filters/ui/async-popup-select/types.js +1 -0
  50. package/dist/esm/ui/jira-issues-modal/basic-filters/ui/index.js +30 -0
  51. package/dist/esm/ui/jira-issues-modal/basic-filters/utils/index.js +5 -0
  52. package/dist/esm/ui/jira-issues-modal/jira-search-container/index.js +4 -2
  53. package/dist/types/common/utils/locale/fetch-messages-for-locale.d.ts +2 -0
  54. package/dist/types/common/zindex.d.ts +1 -0
  55. package/dist/types/ui/jira-issues-modal/basic-filters/hooks/useFieldValues.d.ts +12 -0
  56. package/dist/types/ui/jira-issues-modal/basic-filters/hooks/useHydrateJqlQuery.d.ts +3 -0
  57. package/dist/types/ui/jira-issues-modal/basic-filters/hooks/useIsComplexQuery.d.ts +3 -0
  58. package/dist/types/ui/jira-issues-modal/basic-filters/ui/async-popup-select/control.d.ts +5 -0
  59. package/dist/types/ui/jira-issues-modal/basic-filters/ui/async-popup-select/footer.d.ts +7 -0
  60. package/dist/types/ui/jira-issues-modal/basic-filters/ui/async-popup-select/formatOptionLabel.d.ts +3 -0
  61. package/dist/types/ui/jira-issues-modal/basic-filters/ui/async-popup-select/index.d.ts +9 -0
  62. package/dist/types/ui/jira-issues-modal/basic-filters/ui/async-popup-select/messages.d.ts +32 -0
  63. package/dist/types/ui/jira-issues-modal/basic-filters/ui/async-popup-select/trigger.d.ts +9 -0
  64. package/dist/types/ui/jira-issues-modal/basic-filters/ui/async-popup-select/types.d.ts +23 -0
  65. package/dist/types/ui/jira-issues-modal/basic-filters/ui/index.d.ts +6 -0
  66. package/dist/types/ui/jira-issues-modal/basic-filters/utils/index.d.ts +1 -0
  67. package/dist/types-ts4.5/common/utils/locale/fetch-messages-for-locale.d.ts +2 -0
  68. package/dist/types-ts4.5/common/zindex.d.ts +1 -0
  69. package/dist/types-ts4.5/ui/jira-issues-modal/basic-filters/hooks/useFieldValues.d.ts +12 -0
  70. package/dist/types-ts4.5/ui/jira-issues-modal/basic-filters/hooks/useHydrateJqlQuery.d.ts +3 -0
  71. package/dist/types-ts4.5/ui/jira-issues-modal/basic-filters/hooks/useIsComplexQuery.d.ts +3 -0
  72. package/dist/types-ts4.5/ui/jira-issues-modal/basic-filters/ui/async-popup-select/control.d.ts +5 -0
  73. package/dist/types-ts4.5/ui/jira-issues-modal/basic-filters/ui/async-popup-select/footer.d.ts +7 -0
  74. package/dist/types-ts4.5/ui/jira-issues-modal/basic-filters/ui/async-popup-select/formatOptionLabel.d.ts +3 -0
  75. package/dist/types-ts4.5/ui/jira-issues-modal/basic-filters/ui/async-popup-select/index.d.ts +9 -0
  76. package/dist/types-ts4.5/ui/jira-issues-modal/basic-filters/ui/async-popup-select/messages.d.ts +32 -0
  77. package/dist/types-ts4.5/ui/jira-issues-modal/basic-filters/ui/async-popup-select/trigger.d.ts +9 -0
  78. package/dist/types-ts4.5/ui/jira-issues-modal/basic-filters/ui/async-popup-select/types.d.ts +23 -0
  79. package/dist/types-ts4.5/ui/jira-issues-modal/basic-filters/ui/index.d.ts +6 -0
  80. package/dist/types-ts4.5/ui/jira-issues-modal/basic-filters/utils/index.d.ts +1 -0
  81. package/package.json +6 -4
  82. package/dist/cjs/ui/jira-issues-modal/jira-search-container/basic-filters/hooks/useBasicFilterHook.js +0 -17
  83. package/dist/cjs/ui/jira-issues-modal/jira-search-container/basic-filters/ui/common/dropdown/index.js +0 -15
  84. package/dist/cjs/ui/jira-issues-modal/jira-search-container/basic-filters/ui/containers/project/index.js +0 -13
  85. package/dist/cjs/ui/jira-issues-modal/jira-search-container/basic-filters/ui/index.js +0 -15
  86. package/dist/es2019/ui/jira-issues-modal/jira-search-container/basic-filters/hooks/useBasicFilterHook.js +0 -11
  87. package/dist/es2019/ui/jira-issues-modal/jira-search-container/basic-filters/ui/common/dropdown/index.js +0 -8
  88. package/dist/es2019/ui/jira-issues-modal/jira-search-container/basic-filters/ui/containers/project/index.js +0 -6
  89. package/dist/es2019/ui/jira-issues-modal/jira-search-container/basic-filters/ui/index.js +0 -8
  90. package/dist/esm/ui/jira-issues-modal/jira-search-container/basic-filters/hooks/useBasicFilterHook.js +0 -11
  91. package/dist/esm/ui/jira-issues-modal/jira-search-container/basic-filters/ui/common/dropdown/index.js +0 -8
  92. package/dist/esm/ui/jira-issues-modal/jira-search-container/basic-filters/ui/containers/project/index.js +0 -6
  93. package/dist/esm/ui/jira-issues-modal/jira-search-container/basic-filters/ui/index.js +0 -8
  94. package/dist/types/ui/jira-issues-modal/jira-search-container/basic-filters/hooks/useBasicFilterHook.d.ts +0 -4
  95. package/dist/types/ui/jira-issues-modal/jira-search-container/basic-filters/ui/common/dropdown/index.d.ts +0 -3
  96. package/dist/types/ui/jira-issues-modal/jira-search-container/basic-filters/ui/containers/project/index.d.ts +0 -3
  97. package/dist/types/ui/jira-issues-modal/jira-search-container/basic-filters/ui/index.d.ts +0 -3
  98. package/dist/types-ts4.5/ui/jira-issues-modal/jira-search-container/basic-filters/hooks/useBasicFilterHook.d.ts +0 -4
  99. package/dist/types-ts4.5/ui/jira-issues-modal/jira-search-container/basic-filters/ui/common/dropdown/index.d.ts +0 -3
  100. package/dist/types-ts4.5/ui/jira-issues-modal/jira-search-container/basic-filters/ui/containers/project/index.d.ts +0 -3
  101. package/dist/types-ts4.5/ui/jira-issues-modal/jira-search-container/basic-filters/ui/index.d.ts +0 -3
  102. /package/dist/cjs/ui/jira-issues-modal/{jira-search-container/basic-filters → basic-filters}/index.js +0 -0
  103. /package/dist/es2019/ui/jira-issues-modal/{jira-search-container/basic-filters → basic-filters}/index.js +0 -0
  104. /package/dist/esm/ui/jira-issues-modal/{jira-search-container/basic-filters → basic-filters}/index.js +0 -0
  105. /package/dist/types/ui/jira-issues-modal/{jira-search-container/basic-filters → basic-filters}/index.d.ts +0 -0
  106. /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,17 @@
1
1
  # @atlaskit/link-datasource
2
2
 
3
+ ## 1.10.1
4
+
5
+ ### Patch Changes
6
+
7
+ - [#42063](https://bitbucket.org/atlassian/atlassian-frontend/pull-requests/42063) [`74fd796c7c7`](https://bitbucket.org/atlassian/atlassian-frontend/commits/74fd796c7c7) - Internationalisation for Assets LOL
8
+
9
+ ## 1.10.0
10
+
11
+ ### Minor Changes
12
+
13
+ - [#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.
14
+
3
15
  ## 1.9.1
4
16
 
5
17
  ### 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.1"
11
11
  };
@@ -0,0 +1,63 @@
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.fetchMessagesForLocale = void 0;
9
+ var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
10
+ var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
11
+ var _en = _interopRequireDefault(require("../../../i18n/en"));
12
+ 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); }
13
+ 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; }
14
+ var fetchMessagesForLocale = exports.fetchMessagesForLocale = /*#__PURE__*/function () {
15
+ var _ref = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee(locale) {
16
+ var _messages, parentLocale, _messages2;
17
+ return _regenerator.default.wrap(function _callee$(_context) {
18
+ while (1) switch (_context.prev = _context.next) {
19
+ case 0:
20
+ _context.prev = 0;
21
+ _context.next = 3;
22
+ return function (specifier) {
23
+ return new Promise(function (r) {
24
+ return r(specifier);
25
+ }).then(function (s) {
26
+ return _interopRequireWildcard(require(s));
27
+ });
28
+ }( /* webpackChunkName: "@atlaskit-internal_@atlassian/link-datasource-i18n-[request]" */"../../../i18n/".concat(locale.replace('-', '_')));
29
+ case 3:
30
+ _messages = _context.sent;
31
+ return _context.abrupt("return", _messages.default);
32
+ case 7:
33
+ _context.prev = 7;
34
+ _context.t0 = _context["catch"](0);
35
+ case 9:
36
+ _context.prev = 9;
37
+ parentLocale = locale.split(/[-_]/)[0];
38
+ _context.next = 13;
39
+ return function (specifier) {
40
+ return new Promise(function (r) {
41
+ return r(specifier);
42
+ }).then(function (s) {
43
+ return _interopRequireWildcard(require(s));
44
+ });
45
+ }( /* webpackChunkName: "@atlaskit-internal_@atlassian/link-datasource-i18n-[request]" */"../../../i18n/".concat(parentLocale));
46
+ case 13:
47
+ _messages2 = _context.sent;
48
+ return _context.abrupt("return", _messages2.default);
49
+ case 17:
50
+ _context.prev = 17;
51
+ _context.t1 = _context["catch"](9);
52
+ case 19:
53
+ return _context.abrupt("return", _en.default);
54
+ case 20:
55
+ case "end":
56
+ return _context.stop();
57
+ }
58
+ }, _callee, null, [[0, 7], [9, 17]]);
59
+ }));
60
+ return function fetchMessagesForLocale(_x) {
61
+ return _ref.apply(this, arguments);
62
+ };
63
+ }();
@@ -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;
@@ -16,10 +16,13 @@ var _react2 = require("@emotion/react");
16
16
  var _reactIntlNext = require("react-intl-next");
17
17
  var _analyticsNext = require("@atlaskit/analytics-next");
18
18
  var _standardButton = _interopRequireDefault(require("@atlaskit/button/standard-button"));
19
+ var _intlMessagesProvider = require("@atlaskit/intl-messages-provider");
19
20
  var _modalDialog = _interopRequireWildcard(require("@atlaskit/modal-dialog"));
20
21
  var _analytics = require("../../../analytics");
22
+ var _fetchMessagesForLocale = require("../../../common/utils/locale/fetch-messages-for-locale");
21
23
  var _useAssetsClient2 = require("../../../hooks/useAssetsClient");
22
24
  var _useDatasourceTableState = require("../../../hooks/useDatasourceTableState");
25
+ var _en = _interopRequireDefault(require("../../../i18n/en"));
23
26
  var _modalLoadingError = require("../../common/error-state/modal-loading-error");
24
27
  var _searchContainer = require("../search-container");
25
28
  var _loadingState = require("../search-container/loading-state");
@@ -193,7 +196,10 @@ var PlainAssetsConfigModal = function PlainAssetsConfigModal(props) {
193
196
  });
194
197
  }
195
198
  }, [aql, assetsClientLoading, handleOnSearch, objectSchema, status, workspaceError, workspaceId]);
196
- return (0, _react2.jsx)(_modalDialog.ModalTransition, null, (0, _react2.jsx)(_modalDialog.default, {
199
+ return (0, _react2.jsx)(_intlMessagesProvider.IntlMessagesProvider, {
200
+ defaultMessages: _en.default,
201
+ loaderFn: _fetchMessagesForLocale.fetchMessagesForLocale
202
+ }, (0, _react2.jsx)(_modalDialog.ModalTransition, null, (0, _react2.jsx)(_modalDialog.default, {
197
203
  testId: 'asset-datasource-modal',
198
204
  onClose: onCancel,
199
205
  width: "calc(100% - 80px)",
@@ -227,14 +233,14 @@ var PlainAssetsConfigModal = function PlainAssetsConfigModal(props) {
227
233
  values: {
228
234
  objectsCount: responseItems.length
229
235
  }
230
- }))))));
236
+ })))))));
231
237
  };
232
238
  var analyticsContextAttributes = {
233
239
  dataProvider: 'jsm-assets'
234
240
  };
235
241
  var analyticsContextData = {
236
242
  packageName: "@atlaskit/link-datasource",
237
- packageVersion: "1.9.1",
243
+ packageVersion: "1.10.1",
238
244
  source: 'datasourceConfigModal'
239
245
  };
240
246
  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
+ };