@atlaskit/link-datasource 0.29.5 → 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 (43) hide show
  1. package/CHANGELOG.md +6 -0
  2. package/dist/cjs/ui/assets-modal/modal/index.js +42 -12
  3. package/dist/cjs/ui/assets-modal/modal/render-assets-content/index.js +31 -6
  4. package/dist/cjs/ui/assets-modal/modal/render-assets-content/initial-state-view/assets/crystal-ball-svg.js +528 -0
  5. package/dist/cjs/ui/assets-modal/modal/render-assets-content/initial-state-view/index.js +41 -0
  6. package/dist/cjs/ui/assets-modal/modal/render-assets-content/initial-state-view/messages.js +25 -0
  7. package/dist/cjs/ui/assets-modal/search-container/aql-search-input/index.js +5 -3
  8. package/dist/cjs/ui/assets-modal/search-container/index.js +4 -2
  9. package/dist/cjs/version.json +1 -1
  10. package/dist/es2019/ui/assets-modal/modal/index.js +43 -13
  11. package/dist/es2019/ui/assets-modal/modal/render-assets-content/index.js +27 -6
  12. package/dist/es2019/ui/assets-modal/modal/render-assets-content/initial-state-view/assets/crystal-ball-svg.js +518 -0
  13. package/dist/es2019/ui/assets-modal/modal/render-assets-content/initial-state-view/index.js +35 -0
  14. package/dist/es2019/ui/assets-modal/modal/render-assets-content/initial-state-view/messages.js +18 -0
  15. package/dist/es2019/ui/assets-modal/search-container/aql-search-input/index.js +5 -3
  16. package/dist/es2019/ui/assets-modal/search-container/index.js +4 -2
  17. package/dist/es2019/version.json +1 -1
  18. package/dist/esm/ui/assets-modal/modal/index.js +43 -13
  19. package/dist/esm/ui/assets-modal/modal/render-assets-content/index.js +29 -6
  20. package/dist/esm/ui/assets-modal/modal/render-assets-content/initial-state-view/assets/crystal-ball-svg.js +520 -0
  21. package/dist/esm/ui/assets-modal/modal/render-assets-content/initial-state-view/index.js +34 -0
  22. package/dist/esm/ui/assets-modal/modal/render-assets-content/initial-state-view/messages.js +18 -0
  23. package/dist/esm/ui/assets-modal/search-container/aql-search-input/index.js +5 -3
  24. package/dist/esm/ui/assets-modal/search-container/index.js +4 -2
  25. package/dist/esm/version.json +1 -1
  26. package/dist/types/ui/assets-modal/modal/render-assets-content/index.d.ts +12 -3
  27. package/dist/types/ui/assets-modal/modal/render-assets-content/initial-state-view/assets/crystal-ball-svg.d.ts +2 -0
  28. package/dist/types/ui/assets-modal/modal/render-assets-content/initial-state-view/index.d.ts +3 -0
  29. package/dist/types/ui/assets-modal/modal/render-assets-content/initial-state-view/messages.d.ts +17 -0
  30. package/dist/types/ui/assets-modal/search-container/aql-search-input/index.d.ts +2 -1
  31. package/dist/types/ui/assets-modal/search-container/index.d.ts +1 -0
  32. package/dist/types-ts4.5/ui/assets-modal/modal/render-assets-content/index.d.ts +12 -3
  33. package/dist/types-ts4.5/ui/assets-modal/modal/render-assets-content/initial-state-view/assets/crystal-ball-svg.d.ts +2 -0
  34. package/dist/types-ts4.5/ui/assets-modal/modal/render-assets-content/initial-state-view/index.d.ts +3 -0
  35. package/dist/types-ts4.5/ui/assets-modal/modal/render-assets-content/initial-state-view/messages.d.ts +17 -0
  36. package/dist/types-ts4.5/ui/assets-modal/search-container/aql-search-input/index.d.ts +2 -1
  37. package/dist/types-ts4.5/ui/assets-modal/search-container/index.d.ts +1 -0
  38. package/package.json +3 -3
  39. package/dist/cjs/ui/assets-modal/modal/styled.js +0 -12
  40. package/dist/es2019/ui/assets-modal/modal/styled.js +0 -6
  41. package/dist/esm/ui/assets-modal/modal/styled.js +0 -4
  42. package/dist/types/ui/assets-modal/modal/styled.d.ts +0 -5
  43. package/dist/types-ts4.5/ui/assets-modal/modal/styled.d.ts +0 -5
package/CHANGELOG.md CHANGED
@@ -1,5 +1,11 @@
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
+
3
9
  ## 0.29.5
4
10
 
5
11
  ### Patch Changes
@@ -19,11 +19,15 @@ var _searchContainer = require("../search-container");
19
19
  var _loadingState = require("../search-container/loading-state");
20
20
  var _messages = require("./messages");
21
21
  var _renderAssetsContent = require("./render-assets-content");
22
- var _styled = require("./styled");
23
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); }
24
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; }
25
24
  /** @jsx jsx */
26
25
 
26
+ var modalBodyWrapperStyles = (0, _react2.css)({
27
+ display: 'grid',
28
+ height: '420px',
29
+ overflow: 'auto'
30
+ });
27
31
  var AssetsModalTitle = (0, _react2.jsx)(_modalDialog.ModalTitle, null, (0, _react2.jsx)(_reactIntlNext.FormattedMessage, _messages.modalMessages.insertObjectsTitle));
28
32
  var AssetsConfigModal = function AssetsConfigModal(props) {
29
33
  var datasourceId = props.datasourceId,
@@ -54,22 +58,32 @@ var AssetsConfigModal = function AssetsConfigModal(props) {
54
58
  return {
55
59
  aql: aql || '',
56
60
  schemaId: schemaId || '',
57
- workspaceId: '',
61
+ workspaceId: workspaceId || '',
58
62
  cloudId: ''
59
63
  };
60
- }, [aql, schemaId]);
64
+ }, [aql, schemaId, workspaceId]);
65
+ var isParametersSet = !!(aql && workspaceId && schemaId);
61
66
  var _useDatasourceTableSt = (0, _useDatasourceTableState.useDatasourceTableState)({
62
67
  datasourceId: datasourceId,
63
- parameters: parameters
68
+ parameters: isParametersSet ? parameters : undefined,
69
+ fieldKeys: visibleColumnKeys
64
70
  }),
65
71
  status = _useDatasourceTableSt.status,
72
+ onNextPage = _useDatasourceTableSt.onNextPage,
66
73
  responseItems = _useDatasourceTableSt.responseItems,
74
+ reset = _useDatasourceTableSt.reset,
75
+ loadDatasourceDetails = _useDatasourceTableSt.loadDatasourceDetails,
76
+ hasNextPage = _useDatasourceTableSt.hasNextPage,
77
+ columns = _useDatasourceTableSt.columns,
67
78
  defaultVisibleColumnKeys = _useDatasourceTableSt.defaultVisibleColumnKeys;
79
+ var onVisibleColumnKeysChange = (0, _react.useCallback)(function (visibleColumnKeys) {
80
+ setVisibleColumnKeys(visibleColumnKeys);
81
+ }, []);
68
82
  (0, _react.useEffect)(function () {
69
83
  var newVisibleColumnKeys = !initialVisibleColumnKeys || (initialVisibleColumnKeys || []).length === 0 ? defaultVisibleColumnKeys : initialVisibleColumnKeys;
70
84
  setVisibleColumnKeys(newVisibleColumnKeys);
71
85
  }, [initialVisibleColumnKeys, defaultVisibleColumnKeys]);
72
- var isDisabled = status === 'rejected' || status === 'loading' || status === 'empty' || !!workspaceError || assetsClientLoading || !aql || !schemaId;
86
+ var isDisabled = !!workspaceError || status === 'rejected' || status === 'loading' || status === 'empty' || !!workspaceError || assetsClientLoading || !aql || !schemaId;
73
87
  var retrieveUrlForSmartCardRender = (0, _react.useCallback)(function () {
74
88
  var _data$key, _data$key$data;
75
89
  var _responseItems = (0, _slicedToArray2.default)(responseItems, 1),
@@ -117,9 +131,10 @@ var AssetsConfigModal = function AssetsConfigModal(props) {
117
131
  }
118
132
  }, [aql, datasourceId, onInsert, responseItems.length, retrieveUrlForSmartCardRender, schemaId, visibleColumnKeys]);
119
133
  var handleOnSearch = (0, _react.useCallback)(function (aql, schemaId) {
134
+ reset();
120
135
  setAql(aql);
121
136
  setSchemaId(schemaId);
122
- }, []);
137
+ }, [reset]);
123
138
  var renderModalTitleContent = (0, _react.useCallback)(function () {
124
139
  if (workspaceError) {
125
140
  return undefined;
@@ -136,21 +151,36 @@ var AssetsConfigModal = function AssetsConfigModal(props) {
136
151
  objectSchema: objectSchema
137
152
  },
138
153
  onSearch: handleOnSearch,
139
- modalTitle: AssetsModalTitle
154
+ modalTitle: AssetsModalTitle,
155
+ isSearching: status === 'loading'
140
156
  });
141
157
  }
142
- }, [aql, assetsClientLoading, handleOnSearch, objectSchema, workspaceError, workspaceId]);
158
+ }, [aql, assetsClientLoading, handleOnSearch, objectSchema, status, workspaceError, workspaceId]);
143
159
  return (0, _react2.jsx)(_modalDialog.ModalTransition, null, (0, _react2.jsx)(_modalDialog.default, {
144
160
  testId: 'asset-datasource-modal',
145
161
  onClose: onCancel,
146
162
  width: "x-large",
147
- shouldScrollInViewport: true
148
- }, (0, _react2.jsx)(_modalDialog.ModalHeader, null, renderModalTitleContent()), (0, _react2.jsx)(_modalDialog.ModalBody, null, (0, _react2.jsx)(_styled.ModalContentContainer, null, workspaceError ? (0, _react2.jsx)(_modalLoadingError.ModalLoadingError, 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, {
149
168
  status: status,
150
- 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
151
180
  }))), (0, _react2.jsx)(_modalDialog.ModalFooter, null, (0, _react2.jsx)(_standardButton.default, {
152
181
  appearance: "default",
153
- onClick: onCancel
182
+ onClick: onCancel,
183
+ testId: 'asset-datasource-modal--cancel-button'
154
184
  }, (0, _react2.jsx)(_reactIntlNext.FormattedMessage, _messages.modalMessages.cancelButtonText)), (0, _react2.jsx)(_standardButton.default, {
155
185
  appearance: "primary",
156
186
  onClick: onInsertPressed,
@@ -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;