@atlaskit/link-datasource 0.29.4 → 0.30.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 (113) hide show
  1. package/CHANGELOG.md +13 -0
  2. package/dist/cjs/hooks/useAssetsClient.js +50 -31
  3. package/dist/cjs/hooks/useObjectSchemas.js +74 -0
  4. package/dist/cjs/hooks/useValidateAqlText.js +42 -13
  5. package/dist/cjs/services/cmdbService.js +17 -8
  6. package/dist/cjs/types/assets/types.js +7 -1
  7. package/dist/cjs/ui/assets-modal/modal/index.js +82 -16
  8. package/dist/cjs/ui/assets-modal/modal/messages.js +5 -0
  9. package/dist/cjs/ui/assets-modal/modal/render-assets-content/index.js +31 -6
  10. package/dist/cjs/ui/assets-modal/modal/render-assets-content/initial-state-view/assets/crystal-ball-svg.js +528 -0
  11. package/dist/cjs/ui/assets-modal/modal/render-assets-content/initial-state-view/index.js +41 -0
  12. package/dist/cjs/ui/assets-modal/modal/render-assets-content/initial-state-view/messages.js +25 -0
  13. package/dist/cjs/ui/assets-modal/search-container/aql-search-input/index.js +163 -0
  14. package/dist/cjs/ui/assets-modal/search-container/aql-search-input/loading-state.js +18 -0
  15. package/dist/cjs/ui/assets-modal/search-container/aql-search-input/messages.js +15 -0
  16. package/dist/cjs/ui/assets-modal/search-container/index.js +52 -0
  17. package/dist/cjs/ui/assets-modal/search-container/loading-state.js +21 -0
  18. package/dist/cjs/ui/assets-modal/search-container/object-schema-select/index.js +103 -0
  19. package/dist/cjs/ui/assets-modal/search-container/object-schema-select/loading-state.js +18 -0
  20. package/dist/cjs/ui/assets-modal/search-container/object-schema-select/messages.js +25 -0
  21. package/dist/cjs/ui/assets-modal/search-container/object-schema-select/utils.js +13 -0
  22. package/dist/cjs/ui/assets-modal/search-container/styled.js +22 -0
  23. package/dist/cjs/version.json +1 -1
  24. package/dist/es2019/hooks/useAssetsClient.js +22 -13
  25. package/dist/es2019/hooks/useObjectSchemas.js +32 -0
  26. package/dist/es2019/hooks/useValidateAqlText.js +26 -9
  27. package/dist/es2019/services/cmdbService.js +14 -6
  28. package/dist/es2019/types/assets/types.js +3 -1
  29. package/dist/es2019/ui/assets-modal/modal/index.js +79 -15
  30. package/dist/es2019/ui/assets-modal/modal/messages.js +5 -0
  31. package/dist/es2019/ui/assets-modal/modal/render-assets-content/index.js +27 -6
  32. package/dist/es2019/ui/assets-modal/modal/render-assets-content/initial-state-view/assets/crystal-ball-svg.js +518 -0
  33. package/dist/es2019/ui/assets-modal/modal/render-assets-content/initial-state-view/index.js +35 -0
  34. package/dist/es2019/ui/assets-modal/modal/render-assets-content/initial-state-view/messages.js +18 -0
  35. package/dist/es2019/ui/assets-modal/search-container/aql-search-input/index.js +131 -0
  36. package/dist/es2019/ui/assets-modal/search-container/aql-search-input/loading-state.js +8 -0
  37. package/dist/es2019/ui/assets-modal/search-container/aql-search-input/messages.js +8 -0
  38. package/dist/es2019/ui/assets-modal/search-container/index.js +48 -0
  39. package/dist/es2019/ui/assets-modal/search-container/loading-state.js +14 -0
  40. package/dist/es2019/ui/assets-modal/search-container/object-schema-select/index.js +65 -0
  41. package/dist/es2019/ui/assets-modal/search-container/object-schema-select/loading-state.js +8 -0
  42. package/dist/es2019/ui/assets-modal/search-container/object-schema-select/messages.js +18 -0
  43. package/dist/es2019/ui/assets-modal/search-container/object-schema-select/utils.js +4 -0
  44. package/dist/es2019/ui/assets-modal/search-container/styled.js +22 -0
  45. package/dist/es2019/version.json +1 -1
  46. package/dist/esm/hooks/useAssetsClient.js +51 -32
  47. package/dist/esm/hooks/useObjectSchemas.js +66 -0
  48. package/dist/esm/hooks/useValidateAqlText.js +42 -13
  49. package/dist/esm/services/cmdbService.js +15 -7
  50. package/dist/esm/types/assets/types.js +3 -1
  51. package/dist/esm/ui/assets-modal/modal/index.js +83 -17
  52. package/dist/esm/ui/assets-modal/modal/messages.js +5 -0
  53. package/dist/esm/ui/assets-modal/modal/render-assets-content/index.js +29 -6
  54. package/dist/esm/ui/assets-modal/modal/render-assets-content/initial-state-view/assets/crystal-ball-svg.js +520 -0
  55. package/dist/esm/ui/assets-modal/modal/render-assets-content/initial-state-view/index.js +34 -0
  56. package/dist/esm/ui/assets-modal/modal/render-assets-content/initial-state-view/messages.js +18 -0
  57. package/dist/esm/ui/assets-modal/search-container/aql-search-input/index.js +154 -0
  58. package/dist/esm/ui/assets-modal/search-container/aql-search-input/loading-state.js +10 -0
  59. package/dist/esm/ui/assets-modal/search-container/aql-search-input/messages.js +8 -0
  60. package/dist/esm/ui/assets-modal/search-container/index.js +43 -0
  61. package/dist/esm/ui/assets-modal/search-container/loading-state.js +13 -0
  62. package/dist/esm/ui/assets-modal/search-container/object-schema-select/index.js +94 -0
  63. package/dist/esm/ui/assets-modal/search-container/object-schema-select/loading-state.js +10 -0
  64. package/dist/esm/ui/assets-modal/search-container/object-schema-select/messages.js +18 -0
  65. package/dist/esm/ui/assets-modal/search-container/object-schema-select/utils.js +6 -0
  66. package/dist/esm/ui/assets-modal/search-container/styled.js +11 -0
  67. package/dist/esm/version.json +1 -1
  68. package/dist/types/hooks/useAssetsClient.d.ts +8 -6
  69. package/dist/types/hooks/useObjectSchemas.d.ts +8 -0
  70. package/dist/types/hooks/useValidateAqlText.d.ts +5 -2
  71. package/dist/types/services/cmdbService.d.ts +4 -3
  72. package/dist/types/types/assets/types.d.ts +21 -10
  73. package/dist/types/ui/assets-modal/modal/messages.d.ts +5 -0
  74. package/dist/types/ui/assets-modal/modal/render-assets-content/index.d.ts +12 -3
  75. package/dist/types/ui/assets-modal/modal/render-assets-content/initial-state-view/assets/crystal-ball-svg.d.ts +2 -0
  76. package/dist/types/ui/assets-modal/modal/render-assets-content/initial-state-view/index.d.ts +3 -0
  77. package/dist/types/ui/assets-modal/modal/render-assets-content/initial-state-view/messages.d.ts +17 -0
  78. package/dist/types/ui/assets-modal/search-container/aql-search-input/index.d.ts +9 -0
  79. package/dist/types/ui/assets-modal/search-container/aql-search-input/loading-state.d.ts +3 -0
  80. package/dist/types/ui/assets-modal/search-container/aql-search-input/messages.d.ts +7 -0
  81. package/dist/types/ui/assets-modal/search-container/index.d.ts +17 -0
  82. package/dist/types/ui/assets-modal/search-container/loading-state.d.ts +8 -0
  83. package/dist/types/ui/assets-modal/search-container/object-schema-select/index.d.ts +10 -0
  84. package/dist/types/ui/assets-modal/search-container/object-schema-select/loading-state.d.ts +3 -0
  85. package/dist/types/ui/assets-modal/search-container/object-schema-select/messages.d.ts +17 -0
  86. package/dist/types/ui/assets-modal/search-container/object-schema-select/utils.d.ts +2 -0
  87. package/dist/types/ui/assets-modal/search-container/styled.d.ts +19 -0
  88. package/dist/types-ts4.5/hooks/useAssetsClient.d.ts +8 -6
  89. package/dist/types-ts4.5/hooks/useObjectSchemas.d.ts +8 -0
  90. package/dist/types-ts4.5/hooks/useValidateAqlText.d.ts +5 -2
  91. package/dist/types-ts4.5/services/cmdbService.d.ts +4 -3
  92. package/dist/types-ts4.5/types/assets/types.d.ts +21 -10
  93. package/dist/types-ts4.5/ui/assets-modal/modal/messages.d.ts +5 -0
  94. package/dist/types-ts4.5/ui/assets-modal/modal/render-assets-content/index.d.ts +12 -3
  95. package/dist/types-ts4.5/ui/assets-modal/modal/render-assets-content/initial-state-view/assets/crystal-ball-svg.d.ts +2 -0
  96. package/dist/types-ts4.5/ui/assets-modal/modal/render-assets-content/initial-state-view/index.d.ts +3 -0
  97. package/dist/types-ts4.5/ui/assets-modal/modal/render-assets-content/initial-state-view/messages.d.ts +17 -0
  98. package/dist/types-ts4.5/ui/assets-modal/search-container/aql-search-input/index.d.ts +9 -0
  99. package/dist/types-ts4.5/ui/assets-modal/search-container/aql-search-input/loading-state.d.ts +3 -0
  100. package/dist/types-ts4.5/ui/assets-modal/search-container/aql-search-input/messages.d.ts +7 -0
  101. package/dist/types-ts4.5/ui/assets-modal/search-container/index.d.ts +17 -0
  102. package/dist/types-ts4.5/ui/assets-modal/search-container/loading-state.d.ts +8 -0
  103. package/dist/types-ts4.5/ui/assets-modal/search-container/object-schema-select/index.d.ts +10 -0
  104. package/dist/types-ts4.5/ui/assets-modal/search-container/object-schema-select/loading-state.d.ts +3 -0
  105. package/dist/types-ts4.5/ui/assets-modal/search-container/object-schema-select/messages.d.ts +17 -0
  106. package/dist/types-ts4.5/ui/assets-modal/search-container/object-schema-select/utils.d.ts +2 -0
  107. package/dist/types-ts4.5/ui/assets-modal/search-container/styled.d.ts +19 -0
  108. package/package.json +5 -3
  109. package/dist/cjs/ui/assets-modal/modal/styled.js +0 -12
  110. package/dist/es2019/ui/assets-modal/modal/styled.js +0 -6
  111. package/dist/esm/ui/assets-modal/modal/styled.js +0 -4
  112. package/dist/types/ui/assets-modal/modal/styled.d.ts +0 -5
  113. package/dist/types-ts4.5/ui/assets-modal/modal/styled.d.ts +0 -5
package/CHANGELOG.md CHANGED
@@ -1,5 +1,18 @@
1
1
  # @atlaskit/link-datasource
2
2
 
3
+ ## 0.30.0
4
+
5
+ ### Minor Changes
6
+
7
+ - [`d8d641d500b`](https://bitbucket.org/atlassian/atlassian-frontend/commits/d8d641d500b) - [ux] Add issueLikeDataTableView in assets modal
8
+
9
+ ## 0.29.5
10
+
11
+ ### Patch Changes
12
+
13
+ - [`2cb283138ce`](https://bitbucket.org/atlassian/atlassian-frontend/commits/2cb283138ce) - Added Search Functionality to Assets Config Modal and added endpoints for Assets fetch mocks
14
+ - Updated dependencies
15
+
3
16
  ## 0.29.4
4
17
 
5
18
  ### Patch Changes
@@ -10,61 +10,80 @@ var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/
10
10
  var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
11
11
  var _react = require("react");
12
12
  var _cmdbService = require("../services/cmdbService");
13
- // TODO: Pass in localhost:3000 for testing locally - remember to remove this code after
14
- // You must also have a proxy server running to forward requests from http://localhost:3000 to a JSM premium url
15
- var useAssetsClient = function useAssetsClient(hostname) {
16
- var _useState = (0, _react.useState)(),
13
+ var useAssetsClient = function useAssetsClient(initialParameters) {
14
+ var _useState = (0, _react.useState)(false),
17
15
  _useState2 = (0, _slicedToArray2.default)(_useState, 2),
18
- objectSchemas = _useState2[0],
19
- setObjectSchemas = _useState2[1];
16
+ loading = _useState2[0],
17
+ setLoading = _useState2[1];
20
18
  var _useState3 = (0, _react.useState)(),
21
19
  _useState4 = (0, _slicedToArray2.default)(_useState3, 2),
22
20
  workspaceId = _useState4[0],
23
21
  setWorkspaceId = _useState4[1];
24
22
  var _useState5 = (0, _react.useState)(),
25
23
  _useState6 = (0, _slicedToArray2.default)(_useState5, 2),
26
- error = _useState6[0],
27
- setError = _useState6[1];
24
+ objectSchema = _useState6[0],
25
+ setObjectSchema = _useState6[1];
26
+ var _useState7 = (0, _react.useState)(),
27
+ _useState8 = (0, _slicedToArray2.default)(_useState7, 2),
28
+ error = _useState8[0],
29
+ setError = _useState8[1];
28
30
  (0, _react.useEffect)(function () {
29
31
  (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee() {
30
- var _workspaceId, objectSchemasResponse;
32
+ var _workspaceId, fetchedObjectSchema;
31
33
  return _regenerator.default.wrap(function _callee$(_context) {
32
34
  while (1) switch (_context.prev = _context.next) {
33
35
  case 0:
34
- _context.prev = 0;
35
- _context.next = 3;
36
- return (0, _cmdbService.getWorkspaceId)(hostname);
37
- case 3:
36
+ setLoading(true);
37
+ setError(undefined);
38
+ _context.prev = 2;
39
+ _context.next = 5;
40
+ return (0, _cmdbService.getWorkspaceId)();
41
+ case 5:
38
42
  _workspaceId = _context.sent;
39
- _context.next = 6;
40
- return (0, _cmdbService.fetchObjectSchemas)(_workspaceId, hostname);
41
- case 6:
42
- objectSchemasResponse = _context.sent;
43
43
  setWorkspaceId(_workspaceId);
44
- setObjectSchemas(objectSchemasResponse.values);
45
- _context.next = 14;
46
- break;
44
+ // Check schema from initial parameters still exists and fetch name for schema select
45
+ if (!(initialParameters !== null && initialParameters !== void 0 && initialParameters.schemaId)) {
46
+ _context.next = 17;
47
+ break;
48
+ }
49
+ _context.prev = 8;
50
+ _context.next = 11;
51
+ return (0, _cmdbService.fetchObjectSchema)(_workspaceId, initialParameters === null || initialParameters === void 0 ? void 0 : initialParameters.schemaId);
47
52
  case 11:
48
- _context.prev = 11;
49
- _context.t0 = _context["catch"](0);
50
- if (_context.t0 instanceof Error) {
51
- setError(_context.t0);
53
+ fetchedObjectSchema = _context.sent;
54
+ setObjectSchema(fetchedObjectSchema);
55
+ _context.next = 17;
56
+ break;
57
+ case 15:
58
+ _context.prev = 15;
59
+ _context.t0 = _context["catch"](8);
60
+ case 17:
61
+ _context.next = 22;
62
+ break;
63
+ case 19:
64
+ _context.prev = 19;
65
+ _context.t1 = _context["catch"](2);
66
+ if (_context.t1 instanceof Error) {
67
+ setError(_context.t1);
52
68
  } else {
53
69
  setError(new Error('Unexpected error occured'));
54
- // eslint-disable-next-line no-console
55
- console.error(_context.t0);
56
70
  }
57
- case 14:
71
+ case 22:
72
+ _context.prev = 22;
73
+ setLoading(false);
74
+ return _context.finish(22);
75
+ case 25:
58
76
  case "end":
59
77
  return _context.stop();
60
78
  }
61
- }, _callee, null, [[0, 11]]);
79
+ }, _callee, null, [[2, 19, 22, 25], [8, 15]]);
62
80
  }))();
63
- }, [hostname]);
81
+ }, [initialParameters]);
64
82
  return {
65
83
  workspaceId: workspaceId,
66
- objectSchemas: objectSchemas,
67
- error: error
84
+ workspaceError: error,
85
+ objectSchema: objectSchema,
86
+ assetsClientLoading: loading
68
87
  };
69
88
  };
70
89
  exports.useAssetsClient = useAssetsClient;
@@ -0,0 +1,74 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.useObjectSchemas = 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 _cmdbService = require("../services/cmdbService");
13
+ var useObjectSchemas = function useObjectSchemas(workspaceId) {
14
+ var _useState = (0, _react.useState)(false),
15
+ _useState2 = (0, _slicedToArray2.default)(_useState, 2),
16
+ loading = _useState2[0],
17
+ setLoading = _useState2[1];
18
+ var _useState3 = (0, _react.useState)(),
19
+ _useState4 = (0, _slicedToArray2.default)(_useState3, 2),
20
+ objectSchemas = _useState4[0],
21
+ setObjectSchemas = _useState4[1];
22
+ var _useState5 = (0, _react.useState)(),
23
+ _useState6 = (0, _slicedToArray2.default)(_useState5, 2),
24
+ error = _useState6[0],
25
+ setError = _useState6[1];
26
+ var request = (0, _react.useCallback)( /*#__PURE__*/function () {
27
+ var _ref = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee(query) {
28
+ var fetchedObjectSchemas, fetchedObjectSchemasResponse;
29
+ return _regenerator.default.wrap(function _callee$(_context) {
30
+ while (1) switch (_context.prev = _context.next) {
31
+ case 0:
32
+ setLoading(true);
33
+ setError(undefined);
34
+ _context.prev = 2;
35
+ _context.next = 5;
36
+ return (0, _cmdbService.fetchObjectSchemas)(workspaceId, query);
37
+ case 5:
38
+ fetchedObjectSchemasResponse = _context.sent;
39
+ setObjectSchemas(fetchedObjectSchemasResponse.values);
40
+ fetchedObjectSchemas = fetchedObjectSchemasResponse.values;
41
+ _context.next = 13;
42
+ break;
43
+ case 10:
44
+ _context.prev = 10;
45
+ _context.t0 = _context["catch"](2);
46
+ if (_context.t0 instanceof Error) {
47
+ setError(_context.t0);
48
+ } else {
49
+ setError(new Error('Unexpected error occured'));
50
+ }
51
+ case 13:
52
+ _context.prev = 13;
53
+ setLoading(false);
54
+ return _context.finish(13);
55
+ case 16:
56
+ return _context.abrupt("return", fetchedObjectSchemas);
57
+ case 17:
58
+ case "end":
59
+ return _context.stop();
60
+ }
61
+ }, _callee, null, [[2, 10, 13, 16]]);
62
+ }));
63
+ return function (_x) {
64
+ return _ref.apply(this, arguments);
65
+ };
66
+ }(), [workspaceId]);
67
+ return {
68
+ objectSchemasLoading: loading,
69
+ objectSchemasError: error,
70
+ objectSchemas: objectSchemas,
71
+ fetchObjectSchemas: request
72
+ };
73
+ };
74
+ exports.useObjectSchemas = useObjectSchemas;
@@ -13,36 +13,65 @@ var _cmdbService = require("../services/cmdbService");
13
13
  var useValidateAqlText = function useValidateAqlText(workspaceId, hostname) {
14
14
  var _useState = (0, _react.useState)(false),
15
15
  _useState2 = (0, _slicedToArray2.default)(_useState, 2),
16
- isLoading = _useState2[0],
17
- setIsLoading = _useState2[1];
16
+ loading = _useState2[0],
17
+ setLoading = _useState2[1];
18
+ var _useState3 = (0, _react.useState)(false),
19
+ _useState4 = (0, _slicedToArray2.default)(_useState3, 2),
20
+ isValidAqlText = _useState4[0],
21
+ setIsValidAqlText = _useState4[1];
22
+ var _useState5 = (0, _react.useState)(),
23
+ _useState6 = (0, _slicedToArray2.default)(_useState5, 2),
24
+ error = _useState6[0],
25
+ setError = _useState6[1];
18
26
  var validateAqlText = (0, _react.useCallback)( /*#__PURE__*/function () {
19
27
  var _ref = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee(aql) {
20
- var validateAqlResponse;
28
+ var isValid, validateAqlResponse;
21
29
  return _regenerator.default.wrap(function _callee$(_context) {
22
30
  while (1) switch (_context.prev = _context.next) {
23
31
  case 0:
24
- setIsLoading(true);
25
- _context.next = 3;
32
+ setLoading(true);
33
+ setError(undefined);
34
+ isValid = false;
35
+ _context.prev = 3;
36
+ _context.next = 6;
26
37
  return (0, _cmdbService.validateAql)(workspaceId, {
27
38
  qlQuery: aql
28
- }, hostname);
29
- case 3:
30
- validateAqlResponse = _context.sent;
31
- setIsLoading(false);
32
- return _context.abrupt("return", validateAqlResponse.isValid);
39
+ });
33
40
  case 6:
41
+ validateAqlResponse = _context.sent;
42
+ setIsValidAqlText(validateAqlResponse.isValid);
43
+ isValid = validateAqlResponse.isValid;
44
+ _context.next = 14;
45
+ break;
46
+ case 11:
47
+ _context.prev = 11;
48
+ _context.t0 = _context["catch"](3);
49
+ if (_context.t0 instanceof Error) {
50
+ setError(_context.t0);
51
+ } else {
52
+ setError(new Error('Unexpected error occured'));
53
+ }
54
+ case 14:
55
+ _context.prev = 14;
56
+ setLoading(false);
57
+ return _context.finish(14);
58
+ case 17:
59
+ return _context.abrupt("return", isValid);
60
+ case 18:
34
61
  case "end":
35
62
  return _context.stop();
36
63
  }
37
- }, _callee);
64
+ }, _callee, null, [[3, 11, 14, 17]]);
38
65
  }));
39
66
  return function (_x) {
40
67
  return _ref.apply(this, arguments);
41
68
  };
42
- }(), [hostname, workspaceId]);
69
+ }(), [workspaceId]);
43
70
  return {
71
+ isValidAqlText: isValidAqlText,
44
72
  validateAqlText: validateAqlText,
45
- isLoading: isLoading
73
+ validateAqlTextLoading: loading,
74
+ validateAqlTextError: error
46
75
  };
47
76
  };
48
77
  exports.useValidateAqlText = useValidateAqlText;
@@ -4,18 +4,18 @@ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefau
4
4
  Object.defineProperty(exports, "__esModule", {
5
5
  value: true
6
6
  });
7
- exports.validateAql = exports.getWorkspaceId = exports.fetchObjectSchemas = void 0;
7
+ exports.validateAql = exports.getWorkspaceId = exports.fetchObjectSchemas = exports.fetchObjectSchema = void 0;
8
8
  var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
9
9
  var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
10
10
  var _linkingCommon = require("@atlaskit/linking-common");
11
11
  var getWorkspaceId = /*#__PURE__*/function () {
12
- var _ref = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee(hostname) {
12
+ var _ref = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee() {
13
13
  var _workspaceDetailsResp;
14
14
  var url, workspaceDetailsResponse;
15
15
  return _regenerator.default.wrap(function _callee$(_context) {
16
16
  while (1) switch (_context.prev = _context.next) {
17
17
  case 0:
18
- url = "".concat(hostname || '', "/rest/servicedesk/cmdb/latest/workspace");
18
+ url = '/rest/servicedesk/cmdb/latest/workspace';
19
19
  _context.next = 3;
20
20
  return (0, _linkingCommon.request)('get', url, undefined, undefined, [200, 201, 202, 203, 204]);
21
21
  case 3:
@@ -33,21 +33,30 @@ var getWorkspaceId = /*#__PURE__*/function () {
33
33
  }
34
34
  }, _callee);
35
35
  }));
36
- return function getWorkspaceId(_x) {
36
+ return function getWorkspaceId() {
37
37
  return _ref.apply(this, arguments);
38
38
  };
39
39
  }();
40
40
  exports.getWorkspaceId = getWorkspaceId;
41
- var validateAql = function validateAql(workspaceId, data, hostname) {
42
- var url = "".concat(hostname || '', "/gateway/api/jsm/assets/workspace/").concat(workspaceId, "/v1/aql/validate");
41
+ var validateAql = function validateAql(workspaceId, data) {
42
+ var url = "/gateway/api/jsm/assets/workspace/".concat(workspaceId, "/v1/aql/validate");
43
43
  return (0, _linkingCommon.request)('post', url, {
44
44
  qlQuery: data.qlQuery,
45
45
  context: 'SMART_LINKS'
46
46
  }, undefined, [200, 201, 202, 203, 204]);
47
47
  };
48
48
  exports.validateAql = validateAql;
49
- var fetchObjectSchemas = function fetchObjectSchemas(workspaceId, hostname) {
50
- var url = "".concat(hostname || '', "/gateway/api/jsm/assets/workspace/").concat(workspaceId, "/v1/objectschema/list?maxResults=100");
49
+ var fetchObjectSchema = function fetchObjectSchema(workspaceId, schemaId) {
50
+ var url = "/gateway/api/jsm/assets/workspace/".concat(workspaceId, "/v1/objectschema/").concat(schemaId);
51
+ return (0, _linkingCommon.request)('get', url, undefined, undefined, [200, 201, 202, 203, 204]);
52
+ };
53
+ exports.fetchObjectSchema = fetchObjectSchema;
54
+ var fetchObjectSchemas = function fetchObjectSchemas(workspaceId, query) {
55
+ var queryParams = new URLSearchParams();
56
+ queryParams.set('maxResults', '20');
57
+ queryParams.set('includeCounts', 'false');
58
+ query && queryParams.set('query', query);
59
+ var url = "/gateway/api/jsm/assets/workspace/".concat(workspaceId, "/v1/objectschema/list?").concat(queryParams);
51
60
  return (0, _linkingCommon.request)('get', url, undefined, undefined, [200, 201, 202, 203, 204]);
52
61
  };
53
62
  exports.fetchObjectSchemas = fetchObjectSchemas;
@@ -2,4 +2,10 @@
2
2
 
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
- });
5
+ });
6
+ exports.objectSchemaKey = exports.aqlKey = void 0;
7
+ // These are to enforce the field "name" property and keep everything typed
8
+ var objectSchemaKey = 'objectSchema';
9
+ exports.objectSchemaKey = objectSchemaKey;
10
+ var aqlKey = 'aql';
11
+ exports.aqlKey = aqlKey;
@@ -14,13 +14,21 @@ var _standardButton = _interopRequireDefault(require("@atlaskit/button/standard-
14
14
  var _modalDialog = _interopRequireWildcard(require("@atlaskit/modal-dialog"));
15
15
  var _useAssetsClient2 = require("../../../hooks/useAssetsClient");
16
16
  var _useDatasourceTableState = require("../../../hooks/useDatasourceTableState");
17
+ var _modalLoadingError = require("../../common/error-state/modal-loading-error");
18
+ var _searchContainer = require("../search-container");
19
+ var _loadingState = require("../search-container/loading-state");
17
20
  var _messages = require("./messages");
18
21
  var _renderAssetsContent = require("./render-assets-content");
19
- var _styled = require("./styled");
20
22
  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); }
21
23
  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; }
22
24
  /** @jsx jsx */
23
25
 
26
+ var modalBodyWrapperStyles = (0, _react2.css)({
27
+ display: 'grid',
28
+ height: '420px',
29
+ overflow: 'auto'
30
+ });
31
+ var AssetsModalTitle = (0, _react2.jsx)(_modalDialog.ModalTitle, null, (0, _react2.jsx)(_reactIntlNext.FormattedMessage, _messages.modalMessages.insertObjectsTitle));
24
32
  var AssetsConfigModal = function AssetsConfigModal(props) {
25
33
  var datasourceId = props.datasourceId,
26
34
  initialParameters = props.parameters,
@@ -28,36 +36,54 @@ var AssetsConfigModal = function AssetsConfigModal(props) {
28
36
  onInsert = props.onInsert,
29
37
  initialVisibleColumnKeys = props.visibleColumnKeys;
30
38
  var _useState = (0, _react.useState)(initialParameters === null || initialParameters === void 0 ? void 0 : initialParameters.aql),
31
- _useState2 = (0, _slicedToArray2.default)(_useState, 1),
32
- aql = _useState2[0];
39
+ _useState2 = (0, _slicedToArray2.default)(_useState, 2),
40
+ aql = _useState2[0],
41
+ setAql = _useState2[1];
33
42
  var _useState3 = (0, _react.useState)(initialParameters === null || initialParameters === void 0 ? void 0 : initialParameters.schemaId),
34
- _useState4 = (0, _slicedToArray2.default)(_useState3, 1),
35
- schemaId = _useState4[0];
43
+ _useState4 = (0, _slicedToArray2.default)(_useState3, 2),
44
+ schemaId = _useState4[0],
45
+ setSchemaId = _useState4[1];
36
46
  var _useState5 = (0, _react.useState)(initialVisibleColumnKeys),
37
47
  _useState6 = (0, _slicedToArray2.default)(_useState5, 2),
38
48
  visibleColumnKeys = _useState6[0],
39
49
  setVisibleColumnKeys = _useState6[1];
40
- var _useAssetsClient = (0, _useAssetsClient2.useAssetsClient)(),
41
- workspaceId = _useAssetsClient.workspaceId;
50
+
51
+ // If a workspaceError occurs this is a critical error
52
+ var _useAssetsClient = (0, _useAssetsClient2.useAssetsClient)(initialParameters),
53
+ workspaceId = _useAssetsClient.workspaceId,
54
+ workspaceError = _useAssetsClient.workspaceError,
55
+ objectSchema = _useAssetsClient.objectSchema,
56
+ assetsClientLoading = _useAssetsClient.assetsClientLoading;
42
57
  var parameters = (0, _react.useMemo)(function () {
43
58
  return {
44
59
  aql: aql || '',
45
60
  schemaId: schemaId || '',
46
- workspaceId: '' /* TODO FLY-1240: Add workspace Id */
61
+ workspaceId: workspaceId || '',
62
+ cloudId: ''
47
63
  };
48
- }, [aql, schemaId]);
64
+ }, [aql, schemaId, workspaceId]);
65
+ var isParametersSet = !!(aql && workspaceId && schemaId);
49
66
  var _useDatasourceTableSt = (0, _useDatasourceTableState.useDatasourceTableState)({
50
67
  datasourceId: datasourceId,
51
- parameters: parameters
68
+ parameters: isParametersSet ? parameters : undefined,
69
+ fieldKeys: visibleColumnKeys
52
70
  }),
53
71
  status = _useDatasourceTableSt.status,
72
+ onNextPage = _useDatasourceTableSt.onNextPage,
54
73
  responseItems = _useDatasourceTableSt.responseItems,
74
+ reset = _useDatasourceTableSt.reset,
75
+ loadDatasourceDetails = _useDatasourceTableSt.loadDatasourceDetails,
76
+ hasNextPage = _useDatasourceTableSt.hasNextPage,
77
+ columns = _useDatasourceTableSt.columns,
55
78
  defaultVisibleColumnKeys = _useDatasourceTableSt.defaultVisibleColumnKeys;
79
+ var onVisibleColumnKeysChange = (0, _react.useCallback)(function (visibleColumnKeys) {
80
+ setVisibleColumnKeys(visibleColumnKeys);
81
+ }, []);
56
82
  (0, _react.useEffect)(function () {
57
83
  var newVisibleColumnKeys = !initialVisibleColumnKeys || (initialVisibleColumnKeys || []).length === 0 ? defaultVisibleColumnKeys : initialVisibleColumnKeys;
58
84
  setVisibleColumnKeys(newVisibleColumnKeys);
59
85
  }, [initialVisibleColumnKeys, defaultVisibleColumnKeys]);
60
- var isDisabled = status === 'rejected' || status === 'loading' || status === 'empty' || !aql || !workspaceId || !schemaId;
86
+ var isDisabled = !!workspaceError || status === 'rejected' || status === 'loading' || status === 'empty' || !!workspaceError || assetsClientLoading || !aql || !schemaId;
61
87
  var retrieveUrlForSmartCardRender = (0, _react.useCallback)(function () {
62
88
  var _data$key, _data$key$data;
63
89
  var _responseItems = (0, _slicedToArray2.default)(responseItems, 1),
@@ -66,7 +92,7 @@ var AssetsConfigModal = function AssetsConfigModal(props) {
66
92
  return data === null || data === void 0 ? void 0 : (_data$key = data.key) === null || _data$key === void 0 ? void 0 : (_data$key$data = _data$key.data) === null || _data$key$data === void 0 ? void 0 : _data$key$data.url;
67
93
  }, [responseItems]);
68
94
  var onInsertPressed = (0, _react.useCallback)(function () {
69
- if (!aql) {
95
+ if (!aql || !schemaId) {
70
96
  return;
71
97
  }
72
98
  var firstAssetUrl = retrieveUrlForSmartCardRender();
@@ -104,17 +130,57 @@ var AssetsConfigModal = function AssetsConfigModal(props) {
104
130
  });
105
131
  }
106
132
  }, [aql, datasourceId, onInsert, responseItems.length, retrieveUrlForSmartCardRender, schemaId, visibleColumnKeys]);
133
+ var handleOnSearch = (0, _react.useCallback)(function (aql, schemaId) {
134
+ reset();
135
+ setAql(aql);
136
+ setSchemaId(schemaId);
137
+ }, [reset]);
138
+ var renderModalTitleContent = (0, _react.useCallback)(function () {
139
+ if (workspaceError) {
140
+ return undefined;
141
+ } else {
142
+ if (!workspaceId || assetsClientLoading) {
143
+ return (0, _react2.jsx)(_loadingState.AssetsSearchContainerLoading, {
144
+ modalTitle: AssetsModalTitle
145
+ });
146
+ }
147
+ return (0, _react2.jsx)(_searchContainer.AssetsSearchContainer, {
148
+ workspaceId: workspaceId,
149
+ initialSearchData: {
150
+ aql: aql,
151
+ objectSchema: objectSchema
152
+ },
153
+ onSearch: handleOnSearch,
154
+ modalTitle: AssetsModalTitle,
155
+ isSearching: status === 'loading'
156
+ });
157
+ }
158
+ }, [aql, assetsClientLoading, handleOnSearch, objectSchema, status, workspaceError, workspaceId]);
107
159
  return (0, _react2.jsx)(_modalDialog.ModalTransition, null, (0, _react2.jsx)(_modalDialog.default, {
108
160
  testId: 'asset-datasource-modal',
109
161
  onClose: onCancel,
110
162
  width: "x-large",
111
- shouldScrollInViewport: true
112
- }, (0, _react2.jsx)(_modalDialog.ModalHeader, null, (0, _react2.jsx)(_modalDialog.ModalTitle, null)), (0, _react2.jsx)(_modalDialog.ModalBody, null, (0, _react2.jsx)(_styled.ModalContentContainer, null, (0, _react2.jsx)(_renderAssetsContent.RenderAssetsContent, {
163
+ shouldScrollInViewport: true,
164
+ shouldCloseOnOverlayClick: false
165
+ }, (0, _react2.jsx)(_modalDialog.ModalHeader, null, renderModalTitleContent()), (0, _react2.jsx)(_modalDialog.ModalBody, null, (0, _react2.jsx)("div", {
166
+ css: modalBodyWrapperStyles
167
+ }, workspaceError ? (0, _react2.jsx)(_modalLoadingError.ModalLoadingError, null) : (0, _react2.jsx)(_renderAssetsContent.RenderAssetsContent, {
113
168
  status: status,
114
- responseItems: responseItems
169
+ responseItems: responseItems,
170
+ visibleColumnKeys: visibleColumnKeys,
171
+ onVisibleColumnKeysChange: onVisibleColumnKeysChange,
172
+ datasourceId: datasourceId,
173
+ aql: aql,
174
+ schemaId: schemaId,
175
+ onNextPage: onNextPage,
176
+ hasNextPage: hasNextPage,
177
+ loadDatasourceDetails: loadDatasourceDetails,
178
+ columns: columns,
179
+ defaultVisibleColumnKeys: defaultVisibleColumnKeys
115
180
  }))), (0, _react2.jsx)(_modalDialog.ModalFooter, null, (0, _react2.jsx)(_standardButton.default, {
116
181
  appearance: "default",
117
- onClick: onCancel
182
+ onClick: onCancel,
183
+ testId: 'asset-datasource-modal--cancel-button'
118
184
  }, (0, _react2.jsx)(_reactIntlNext.FormattedMessage, _messages.modalMessages.cancelButtonText)), (0, _react2.jsx)(_standardButton.default, {
119
185
  appearance: "primary",
120
186
  onClick: onInsertPressed,
@@ -15,6 +15,11 @@ var modalMessages = (0, _reactIntlNext.defineMessages)({
15
15
  id: 'linkDataSource.assets.configmodal.insertIssuesButtonText',
16
16
  description: 'Button text to insert the displayed content',
17
17
  defaultMessage: 'Insert objects'
18
+ },
19
+ insertObjectsTitle: {
20
+ id: 'linkDataSource.assets.configmodal.insertObjectsTitle',
21
+ description: 'Title for the Assets Objects Datasource config modal which prefixes a select picker',
22
+ defaultMessage: 'Insert objects from'
18
23
  }
19
24
  });
20
25
  exports.modalMessages = modalMessages;
@@ -1,27 +1,52 @@
1
1
  "use strict";
2
2
 
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
3
+ var _typeof = require("@babel/runtime/helpers/typeof");
4
4
  Object.defineProperty(exports, "__esModule", {
5
5
  value: true
6
6
  });
7
7
  exports.RenderAssetsContent = void 0;
8
- var _react = _interopRequireDefault(require("react"));
8
+ var _react = _interopRequireWildcard(require("react"));
9
9
  var _modalLoadingError = require("../../../common/error-state/modal-loading-error");
10
10
  var _noResults = require("../../../common/error-state/no-results");
11
11
  var _issueLikeTable = require("../../../issue-like-table");
12
+ var _initialStateView = require("./initial-state-view");
13
+ 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); }
14
+ 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; }
12
15
  var RenderAssetsContent = function RenderAssetsContent(props) {
13
16
  var status = props.status,
14
- responseItems = props.responseItems;
17
+ responseItems = props.responseItems,
18
+ visibleColumnKeys = props.visibleColumnKeys,
19
+ onNextPage = props.onNextPage,
20
+ hasNextPage = props.hasNextPage,
21
+ loadDatasourceDetails = props.loadDatasourceDetails,
22
+ columns = props.columns,
23
+ defaultVisibleColumnKeys = props.defaultVisibleColumnKeys,
24
+ onVisibleColumnKeysChange = props.onVisibleColumnKeysChange;
15
25
  var resolvedWithNoResults = status === 'resolved' && !responseItems.length;
26
+ var issueLikeDataTableView = (0, _react.useMemo)(function () {
27
+ return /*#__PURE__*/_react.default.createElement(_issueLikeTable.IssueLikeDataTableView, {
28
+ testId: "asset-datasource-table",
29
+ status: status,
30
+ columns: columns,
31
+ items: responseItems,
32
+ hasNextPage: hasNextPage,
33
+ visibleColumnKeys: visibleColumnKeys || defaultVisibleColumnKeys,
34
+ onNextPage: onNextPage,
35
+ onLoadDatasourceDetails: loadDatasourceDetails,
36
+ onVisibleColumnKeysChange: onVisibleColumnKeysChange
37
+ });
38
+ }, [columns, defaultVisibleColumnKeys, hasNextPage, loadDatasourceDetails, onNextPage, onVisibleColumnKeysChange, responseItems, status, visibleColumnKeys]);
16
39
  if (status === 'rejected') {
17
40
  return /*#__PURE__*/_react.default.createElement(_modalLoadingError.ModalLoadingError, null);
41
+ } else if (status === 'empty') {
42
+ return /*#__PURE__*/_react.default.createElement(_initialStateView.InitialStateView, null);
18
43
  } else if (resolvedWithNoResults) {
19
44
  return /*#__PURE__*/_react.default.createElement(_noResults.NoResults, null);
20
- } else if (status === 'empty') {
45
+ } else if (status === 'loading' && !columns.length) {
21
46
  return /*#__PURE__*/_react.default.createElement(_issueLikeTable.EmptyState, {
22
- testId: "assets-aql-datasource-modal--empty-state"
47
+ testId: "assets-aql-datasource-modal--loading-state"
23
48
  });
24
49
  }
25
- return /*#__PURE__*/_react.default.createElement("p", null, "TODO add IssueLikeDataTableView component.");
50
+ return issueLikeDataTableView;
26
51
  };
27
52
  exports.RenderAssetsContent = RenderAssetsContent;