@atlaskit/link-datasource 0.32.0 → 0.33.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.
- package/CHANGELOG.md +12 -0
- package/dist/cjs/ui/assets-modal/search-container/object-schema-select/index.js +27 -18
- package/dist/cjs/ui/datasource-table-view/datasourceTableView.js +2 -1
- package/dist/cjs/ui/issue-like-table/empty-state/index.js +24 -12
- package/dist/cjs/version.json +1 -1
- package/dist/es2019/ui/assets-modal/search-container/object-schema-select/index.js +20 -10
- package/dist/es2019/ui/datasource-table-view/datasourceTableView.js +2 -1
- package/dist/es2019/ui/issue-like-table/empty-state/index.js +23 -12
- package/dist/es2019/version.json +1 -1
- package/dist/esm/ui/assets-modal/search-container/object-schema-select/index.js +23 -13
- package/dist/esm/ui/datasource-table-view/datasourceTableView.js +2 -1
- package/dist/esm/ui/issue-like-table/empty-state/index.js +24 -12
- package/dist/esm/version.json +1 -1
- package/dist/types/ui/assets-modal/search-container/object-schema-select/index.d.ts +11 -0
- package/dist/types/ui/issue-like-table/empty-state/index.d.ts +2 -1
- package/dist/types/ui/issue-like-table/index.d.ts +1 -1
- package/dist/types-ts4.5/ui/assets-modal/search-container/object-schema-select/index.d.ts +11 -0
- package/dist/types-ts4.5/ui/issue-like-table/empty-state/index.d.ts +2 -1
- package/dist/types-ts4.5/ui/issue-like-table/index.d.ts +1 -1
- package/package.json +2 -2
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,17 @@
|
|
|
1
1
|
# @atlaskit/link-datasource
|
|
2
2
|
|
|
3
|
+
## 0.33.1
|
|
4
|
+
|
|
5
|
+
### Patch Changes
|
|
6
|
+
|
|
7
|
+
- [`3c77a5b1377`](https://bitbucket.org/atlassian/atlassian-frontend/commits/3c77a5b1377) - Change behaviour of Assets Config Modal schema select to fetch on mount
|
|
8
|
+
|
|
9
|
+
## 0.33.0
|
|
10
|
+
|
|
11
|
+
### Minor Changes
|
|
12
|
+
|
|
13
|
+
- [`6ee82691c4e`](https://bitbucket.org/atlassian/atlassian-frontend/commits/6ee82691c4e) - [ux] Changed shimmer on empty state view to only occur when loading data initially
|
|
14
|
+
|
|
3
15
|
## 0.32.0
|
|
4
16
|
|
|
5
17
|
### Minor Changes
|
|
@@ -4,27 +4,44 @@ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefau
|
|
|
4
4
|
Object.defineProperty(exports, "__esModule", {
|
|
5
5
|
value: true
|
|
6
6
|
});
|
|
7
|
-
exports.SEARCH_DEBOUNCE_MS = exports.AssetsObjectSchemaSelect = void 0;
|
|
7
|
+
exports.selectInAModalStyleFixProps = exports.SEARCH_DEBOUNCE_MS = exports.AssetsObjectSchemaSelect = void 0;
|
|
8
8
|
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
|
|
9
9
|
var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
|
|
10
10
|
var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
|
|
11
11
|
var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
|
|
12
|
-
var
|
|
13
|
-
var _react = require("react");
|
|
14
|
-
var _react2 = require("@emotion/react");
|
|
12
|
+
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
13
|
+
var _react = require("@emotion/react");
|
|
15
14
|
var _debouncePromise = _interopRequireDefault(require("debounce-promise"));
|
|
16
15
|
var _reactIntlNext = require("react-intl-next");
|
|
17
16
|
var _form = require("@atlaskit/form");
|
|
18
17
|
var _select = require("@atlaskit/select");
|
|
18
|
+
var _constants = require("@atlaskit/theme/constants");
|
|
19
19
|
var _useObjectSchemas2 = require("../../../../hooks/useObjectSchemas");
|
|
20
20
|
var _types = require("../../../../types/assets/types");
|
|
21
21
|
var _styled = require("../styled");
|
|
22
22
|
var _messages = require("./messages");
|
|
23
23
|
var _utils = require("./utils");
|
|
24
24
|
var _excluded = ["onChange", "onFocus"];
|
|
25
|
-
|
|
25
|
+
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
26
|
+
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2.default)(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; } /** @jsx jsx */
|
|
26
27
|
var SEARCH_DEBOUNCE_MS = 350;
|
|
28
|
+
|
|
29
|
+
/**
|
|
30
|
+
* Rendering a `<Select>` in a `<Modal>` results in the select options getting cut off by the bottom of the modal and
|
|
31
|
+
* scrolling. This is a work-around for that, see https://atlassian.slack.com/archives/CFJ9DU39U/p1623179496484100
|
|
32
|
+
*/
|
|
27
33
|
exports.SEARCH_DEBOUNCE_MS = SEARCH_DEBOUNCE_MS;
|
|
34
|
+
var selectInAModalStyleFixProps = {
|
|
35
|
+
styles: {
|
|
36
|
+
menuPortal: function menuPortal(base) {
|
|
37
|
+
return _objectSpread(_objectSpread({}, base), {}, {
|
|
38
|
+
zIndex: _constants.layers.modal()
|
|
39
|
+
});
|
|
40
|
+
}
|
|
41
|
+
},
|
|
42
|
+
menuPortalTarget: document.body
|
|
43
|
+
};
|
|
44
|
+
exports.selectInAModalStyleFixProps = selectInAModalStyleFixProps;
|
|
28
45
|
var AssetsObjectSchemaSelect = function AssetsObjectSchemaSelect(_ref) {
|
|
29
46
|
var value = _ref.value,
|
|
30
47
|
workspaceId = _ref.workspaceId,
|
|
@@ -35,10 +52,6 @@ var AssetsObjectSchemaSelect = function AssetsObjectSchemaSelect(_ref) {
|
|
|
35
52
|
var _useObjectSchemas = (0, _useObjectSchemas2.useObjectSchemas)(workspaceId),
|
|
36
53
|
fetchObjectSchemas = _useObjectSchemas.fetchObjectSchemas,
|
|
37
54
|
objectSchemasLoading = _useObjectSchemas.objectSchemasLoading;
|
|
38
|
-
var _useState = (0, _react.useState)(undefined),
|
|
39
|
-
_useState2 = (0, _slicedToArray2.default)(_useState, 2),
|
|
40
|
-
defaultOptions = _useState2[0],
|
|
41
|
-
setDefaultOptions = _useState2[1];
|
|
42
55
|
var selectedObjectSchema = value ? (0, _utils.objectSchemaToSelectOption)(value) : undefined;
|
|
43
56
|
var loadOptions = /*#__PURE__*/function () {
|
|
44
57
|
var _ref2 = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee(inputValue) {
|
|
@@ -71,7 +84,7 @@ var AssetsObjectSchemaSelect = function AssetsObjectSchemaSelect(_ref) {
|
|
|
71
84
|
}
|
|
72
85
|
return undefined;
|
|
73
86
|
};
|
|
74
|
-
return (0,
|
|
87
|
+
return (0, _react.jsx)(_styled.FieldContainer, null, (0, _react.jsx)(_form.Field, {
|
|
75
88
|
name: _types.objectSchemaKey,
|
|
76
89
|
defaultValue: selectedObjectSchema,
|
|
77
90
|
validate: function validate(value) {
|
|
@@ -82,22 +95,18 @@ var AssetsObjectSchemaSelect = function AssetsObjectSchemaSelect(_ref) {
|
|
|
82
95
|
_onChange = _ref3$fieldProps.onChange,
|
|
83
96
|
onFocus = _ref3$fieldProps.onFocus,
|
|
84
97
|
restFieldProps = (0, _objectWithoutProperties2.default)(_ref3$fieldProps, _excluded);
|
|
85
|
-
return (0,
|
|
98
|
+
return (0, _react.jsx)(_select.AsyncSelect, (0, _extends2.default)({
|
|
86
99
|
classNamePrefix: classNamePrefix,
|
|
87
100
|
isLoading: objectSchemasLoading,
|
|
88
|
-
defaultOptions:
|
|
101
|
+
defaultOptions: true // setting to true causes the loadOptions to be called on mount
|
|
102
|
+
,
|
|
89
103
|
isSearchable: true,
|
|
90
104
|
loadOptions: debouncedLoadOptions,
|
|
91
105
|
placeholder: formatMessage(_messages.objectSchemaSelectMessages.placeholder),
|
|
92
106
|
onChange: function onChange(newOption) {
|
|
93
107
|
return newOption && _onChange(newOption);
|
|
94
|
-
},
|
|
95
|
-
onFocus: function onFocus() {
|
|
96
|
-
if (!defaultOptions) {
|
|
97
|
-
loadOptions('').then(setDefaultOptions);
|
|
98
|
-
}
|
|
99
108
|
}
|
|
100
|
-
}, restFieldProps));
|
|
109
|
+
}, selectInAModalStyleFixProps, restFieldProps));
|
|
101
110
|
}));
|
|
102
111
|
};
|
|
103
112
|
exports.AssetsObjectSchemaSelect = AssetsObjectSchemaSelect;
|
|
@@ -72,7 +72,8 @@ var DatasourceTableView = function DatasourceTableView(_ref) {
|
|
|
72
72
|
scrollableContainerHeight: 590
|
|
73
73
|
}) : (0, _react2.jsx)(_emptyState.default, {
|
|
74
74
|
testId: "datasource-table-view-skeleton",
|
|
75
|
-
isCompact: true
|
|
75
|
+
isCompact: true,
|
|
76
|
+
isLoading: !isDataReady || status === 'loading'
|
|
76
77
|
}), (0, _react2.jsx)(_tableFooter.TableFooter, {
|
|
77
78
|
issueCount: isDataReady ? totalCount : undefined,
|
|
78
79
|
onRefresh: reset,
|
|
@@ -65,7 +65,7 @@ var cellStyles = (0, _react.css)({
|
|
|
65
65
|
paddingRight: "var(--ds-space-100, 8px)"
|
|
66
66
|
}
|
|
67
67
|
});
|
|
68
|
-
var renderItem = function renderItem(_ref, _ref2) {
|
|
68
|
+
var renderItem = function renderItem(_ref, _ref2, isShimmering) {
|
|
69
69
|
var key = _ref.key,
|
|
70
70
|
width = _ref.width;
|
|
71
71
|
var priority = _ref2.priority,
|
|
@@ -75,9 +75,11 @@ var renderItem = function renderItem(_ref, _ref2) {
|
|
|
75
75
|
switch (key) {
|
|
76
76
|
case 'assignee':
|
|
77
77
|
return (0, _react.jsx)(_user.default, null, (0, _react.jsx)(_linkingCommon.Skeleton, {
|
|
78
|
-
|
|
78
|
+
borderRadius: 8,
|
|
79
|
+
testId: "empty-state-skeleton",
|
|
79
80
|
height: 13,
|
|
80
|
-
|
|
81
|
+
isShimmering: isShimmering,
|
|
82
|
+
width: width
|
|
81
83
|
}));
|
|
82
84
|
case 'priority':
|
|
83
85
|
return (0, _react.jsx)(_priority.default, {
|
|
@@ -90,27 +92,35 @@ var renderItem = function renderItem(_ref, _ref2) {
|
|
|
90
92
|
case 'summary':
|
|
91
93
|
return (0, _react.jsx)(_linkingCommon.Skeleton, {
|
|
92
94
|
appearance: "blue",
|
|
93
|
-
width: summaryWidth,
|
|
94
95
|
borderRadius: 10,
|
|
95
|
-
|
|
96
|
+
testId: "empty-state-skeleton",
|
|
97
|
+
height: 13,
|
|
98
|
+
isShimmering: isShimmering,
|
|
99
|
+
width: summaryWidth
|
|
96
100
|
});
|
|
97
101
|
case 'status':
|
|
98
102
|
return (0, _react.jsx)(_linkingCommon.Skeleton, {
|
|
99
103
|
appearance: "blue",
|
|
100
|
-
|
|
104
|
+
borderRadius: 3,
|
|
105
|
+
testId: "empty-state-skeleton",
|
|
101
106
|
height: 16,
|
|
102
|
-
|
|
107
|
+
isShimmering: isShimmering,
|
|
108
|
+
width: statusWidth
|
|
103
109
|
});
|
|
104
110
|
default:
|
|
105
111
|
return (0, _react.jsx)(_linkingCommon.Skeleton, {
|
|
106
|
-
|
|
112
|
+
borderRadius: 8,
|
|
113
|
+
testId: "empty-state-skeleton",
|
|
107
114
|
height: 13,
|
|
108
|
-
|
|
115
|
+
isShimmering: isShimmering,
|
|
116
|
+
width: width
|
|
109
117
|
});
|
|
110
118
|
}
|
|
111
119
|
};
|
|
112
120
|
var _default = function _default(_ref3) {
|
|
113
121
|
var isCompact = _ref3.isCompact,
|
|
122
|
+
_ref3$isLoading = _ref3.isLoading,
|
|
123
|
+
isLoading = _ref3$isLoading === void 0 ? false : _ref3$isLoading,
|
|
114
124
|
testId = _ref3.testId;
|
|
115
125
|
var columnsToRender = isCompact ? baseColumns.slice(0, 6) : baseColumns;
|
|
116
126
|
return (0, _react.jsx)("table", {
|
|
@@ -125,9 +135,11 @@ var _default = function _default(_ref3) {
|
|
|
125
135
|
}
|
|
126
136
|
}, (0, _react.jsx)(_linkingCommon.Skeleton, {
|
|
127
137
|
appearance: "darkGray",
|
|
128
|
-
|
|
138
|
+
borderRadius: 8,
|
|
139
|
+
testId: "empty-state-skeleton",
|
|
140
|
+
isShimmering: isLoading,
|
|
129
141
|
height: 13,
|
|
130
|
-
|
|
142
|
+
width: width
|
|
131
143
|
}));
|
|
132
144
|
}))), (0, _react.jsx)("tbody", {
|
|
133
145
|
css: tableBodyStyles
|
|
@@ -138,7 +150,7 @@ var _default = function _default(_ref3) {
|
|
|
138
150
|
return (0, _react.jsx)("td", {
|
|
139
151
|
css: cellStyles,
|
|
140
152
|
key: column.key
|
|
141
|
-
}, renderItem(column, row));
|
|
153
|
+
}, renderItem(column, row, isLoading));
|
|
142
154
|
}));
|
|
143
155
|
})));
|
|
144
156
|
};
|
package/dist/cjs/version.json
CHANGED
|
@@ -1,17 +1,32 @@
|
|
|
1
1
|
import _extends from "@babel/runtime/helpers/extends";
|
|
2
2
|
/** @jsx jsx */
|
|
3
|
-
|
|
3
|
+
|
|
4
4
|
import { jsx } from '@emotion/react';
|
|
5
5
|
import debounce from 'debounce-promise';
|
|
6
6
|
import { useIntl } from 'react-intl-next';
|
|
7
7
|
import { Field } from '@atlaskit/form';
|
|
8
8
|
import { AsyncSelect } from '@atlaskit/select';
|
|
9
|
+
import { layers } from '@atlaskit/theme/constants';
|
|
9
10
|
import { useObjectSchemas } from '../../../../hooks/useObjectSchemas';
|
|
10
11
|
import { objectSchemaKey } from '../../../../types/assets/types';
|
|
11
12
|
import { FieldContainer } from '../styled';
|
|
12
13
|
import { objectSchemaSelectMessages } from './messages';
|
|
13
14
|
import { objectSchemaToSelectOption } from './utils';
|
|
14
15
|
export const SEARCH_DEBOUNCE_MS = 350;
|
|
16
|
+
|
|
17
|
+
/**
|
|
18
|
+
* Rendering a `<Select>` in a `<Modal>` results in the select options getting cut off by the bottom of the modal and
|
|
19
|
+
* scrolling. This is a work-around for that, see https://atlassian.slack.com/archives/CFJ9DU39U/p1623179496484100
|
|
20
|
+
*/
|
|
21
|
+
export const selectInAModalStyleFixProps = {
|
|
22
|
+
styles: {
|
|
23
|
+
menuPortal: base => ({
|
|
24
|
+
...base,
|
|
25
|
+
zIndex: layers.modal()
|
|
26
|
+
})
|
|
27
|
+
},
|
|
28
|
+
menuPortalTarget: document.body
|
|
29
|
+
};
|
|
15
30
|
export const AssetsObjectSchemaSelect = ({
|
|
16
31
|
value,
|
|
17
32
|
workspaceId,
|
|
@@ -24,7 +39,6 @@ export const AssetsObjectSchemaSelect = ({
|
|
|
24
39
|
fetchObjectSchemas,
|
|
25
40
|
objectSchemasLoading
|
|
26
41
|
} = useObjectSchemas(workspaceId);
|
|
27
|
-
const [defaultOptions, setDefaultOptions] = useState(undefined);
|
|
28
42
|
const selectedObjectSchema = value ? objectSchemaToSelectOption(value) : undefined;
|
|
29
43
|
const loadOptions = async inputValue => {
|
|
30
44
|
const objectSchemas = await fetchObjectSchemas(inputValue);
|
|
@@ -51,15 +65,11 @@ export const AssetsObjectSchemaSelect = ({
|
|
|
51
65
|
}) => jsx(AsyncSelect, _extends({
|
|
52
66
|
classNamePrefix: classNamePrefix,
|
|
53
67
|
isLoading: objectSchemasLoading,
|
|
54
|
-
defaultOptions:
|
|
68
|
+
defaultOptions: true // setting to true causes the loadOptions to be called on mount
|
|
69
|
+
,
|
|
55
70
|
isSearchable: true,
|
|
56
71
|
loadOptions: debouncedLoadOptions,
|
|
57
72
|
placeholder: formatMessage(objectSchemaSelectMessages.placeholder),
|
|
58
|
-
onChange: newOption => newOption && onChange(newOption)
|
|
59
|
-
|
|
60
|
-
if (!defaultOptions) {
|
|
61
|
-
loadOptions('').then(setDefaultOptions);
|
|
62
|
-
}
|
|
63
|
-
}
|
|
64
|
-
}, restFieldProps))));
|
|
73
|
+
onChange: newOption => newOption && onChange(newOption)
|
|
74
|
+
}, selectInAModalStyleFixProps, restFieldProps))));
|
|
65
75
|
};
|
|
@@ -66,7 +66,8 @@ export const DatasourceTableView = ({
|
|
|
66
66
|
scrollableContainerHeight: 590
|
|
67
67
|
}) : jsx(EmptyState, {
|
|
68
68
|
testId: "datasource-table-view-skeleton",
|
|
69
|
-
isCompact: true
|
|
69
|
+
isCompact: true,
|
|
70
|
+
isLoading: !isDataReady || status === 'loading'
|
|
70
71
|
}), jsx(TableFooter, {
|
|
71
72
|
issueCount: isDataReady ? totalCount : undefined,
|
|
72
73
|
onRefresh: reset,
|
|
@@ -63,13 +63,15 @@ const renderItem = ({
|
|
|
63
63
|
type,
|
|
64
64
|
summaryWidth,
|
|
65
65
|
statusWidth
|
|
66
|
-
}) => {
|
|
66
|
+
}, isShimmering) => {
|
|
67
67
|
switch (key) {
|
|
68
68
|
case 'assignee':
|
|
69
69
|
return jsx(UserType, null, jsx(Skeleton, {
|
|
70
|
-
|
|
70
|
+
borderRadius: 8,
|
|
71
|
+
testId: "empty-state-skeleton",
|
|
71
72
|
height: 13,
|
|
72
|
-
|
|
73
|
+
isShimmering: isShimmering,
|
|
74
|
+
width: width
|
|
73
75
|
}));
|
|
74
76
|
case 'priority':
|
|
75
77
|
return jsx(Priority, {
|
|
@@ -82,27 +84,34 @@ const renderItem = ({
|
|
|
82
84
|
case 'summary':
|
|
83
85
|
return jsx(Skeleton, {
|
|
84
86
|
appearance: "blue",
|
|
85
|
-
width: summaryWidth,
|
|
86
87
|
borderRadius: 10,
|
|
87
|
-
|
|
88
|
+
testId: "empty-state-skeleton",
|
|
89
|
+
height: 13,
|
|
90
|
+
isShimmering: isShimmering,
|
|
91
|
+
width: summaryWidth
|
|
88
92
|
});
|
|
89
93
|
case 'status':
|
|
90
94
|
return jsx(Skeleton, {
|
|
91
95
|
appearance: "blue",
|
|
92
|
-
|
|
96
|
+
borderRadius: 3,
|
|
97
|
+
testId: "empty-state-skeleton",
|
|
93
98
|
height: 16,
|
|
94
|
-
|
|
99
|
+
isShimmering: isShimmering,
|
|
100
|
+
width: statusWidth
|
|
95
101
|
});
|
|
96
102
|
default:
|
|
97
103
|
return jsx(Skeleton, {
|
|
98
|
-
|
|
104
|
+
borderRadius: 8,
|
|
105
|
+
testId: "empty-state-skeleton",
|
|
99
106
|
height: 13,
|
|
100
|
-
|
|
107
|
+
isShimmering: isShimmering,
|
|
108
|
+
width: width
|
|
101
109
|
});
|
|
102
110
|
}
|
|
103
111
|
};
|
|
104
112
|
export default (({
|
|
105
113
|
isCompact,
|
|
114
|
+
isLoading = false,
|
|
106
115
|
testId
|
|
107
116
|
}) => {
|
|
108
117
|
const columnsToRender = isCompact ? baseColumns.slice(0, 6) : baseColumns;
|
|
@@ -118,9 +127,11 @@ export default (({
|
|
|
118
127
|
}
|
|
119
128
|
}, jsx(Skeleton, {
|
|
120
129
|
appearance: "darkGray",
|
|
121
|
-
|
|
130
|
+
borderRadius: 8,
|
|
131
|
+
testId: "empty-state-skeleton",
|
|
132
|
+
isShimmering: isLoading,
|
|
122
133
|
height: 13,
|
|
123
|
-
|
|
134
|
+
width: width
|
|
124
135
|
}))))), jsx("tbody", {
|
|
125
136
|
css: tableBodyStyles
|
|
126
137
|
}, rows.map(row => jsx("tr", {
|
|
@@ -128,5 +139,5 @@ export default (({
|
|
|
128
139
|
}, columnsToRender.map(column => jsx("td", {
|
|
129
140
|
css: cellStyles,
|
|
130
141
|
key: column.key
|
|
131
|
-
}, renderItem(column, row)))))));
|
|
142
|
+
}, renderItem(column, row, isLoading)))))));
|
|
132
143
|
});
|
package/dist/es2019/version.json
CHANGED
|
@@ -1,22 +1,40 @@
|
|
|
1
1
|
import _extends from "@babel/runtime/helpers/extends";
|
|
2
2
|
import _objectWithoutProperties from "@babel/runtime/helpers/objectWithoutProperties";
|
|
3
3
|
import _asyncToGenerator from "@babel/runtime/helpers/asyncToGenerator";
|
|
4
|
-
import
|
|
4
|
+
import _defineProperty from "@babel/runtime/helpers/defineProperty";
|
|
5
5
|
var _excluded = ["onChange", "onFocus"];
|
|
6
6
|
import _regeneratorRuntime from "@babel/runtime/regenerator";
|
|
7
|
+
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
8
|
+
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
7
9
|
/** @jsx jsx */
|
|
8
|
-
|
|
10
|
+
|
|
9
11
|
import { jsx } from '@emotion/react';
|
|
10
12
|
import debounce from 'debounce-promise';
|
|
11
13
|
import { useIntl } from 'react-intl-next';
|
|
12
14
|
import { Field } from '@atlaskit/form';
|
|
13
15
|
import { AsyncSelect } from '@atlaskit/select';
|
|
16
|
+
import { layers } from '@atlaskit/theme/constants';
|
|
14
17
|
import { useObjectSchemas } from '../../../../hooks/useObjectSchemas';
|
|
15
18
|
import { objectSchemaKey } from '../../../../types/assets/types';
|
|
16
19
|
import { FieldContainer } from '../styled';
|
|
17
20
|
import { objectSchemaSelectMessages } from './messages';
|
|
18
21
|
import { objectSchemaToSelectOption } from './utils';
|
|
19
22
|
export var SEARCH_DEBOUNCE_MS = 350;
|
|
23
|
+
|
|
24
|
+
/**
|
|
25
|
+
* Rendering a `<Select>` in a `<Modal>` results in the select options getting cut off by the bottom of the modal and
|
|
26
|
+
* scrolling. This is a work-around for that, see https://atlassian.slack.com/archives/CFJ9DU39U/p1623179496484100
|
|
27
|
+
*/
|
|
28
|
+
export var selectInAModalStyleFixProps = {
|
|
29
|
+
styles: {
|
|
30
|
+
menuPortal: function menuPortal(base) {
|
|
31
|
+
return _objectSpread(_objectSpread({}, base), {}, {
|
|
32
|
+
zIndex: layers.modal()
|
|
33
|
+
});
|
|
34
|
+
}
|
|
35
|
+
},
|
|
36
|
+
menuPortalTarget: document.body
|
|
37
|
+
};
|
|
20
38
|
export var AssetsObjectSchemaSelect = function AssetsObjectSchemaSelect(_ref) {
|
|
21
39
|
var value = _ref.value,
|
|
22
40
|
workspaceId = _ref.workspaceId,
|
|
@@ -27,10 +45,6 @@ export var AssetsObjectSchemaSelect = function AssetsObjectSchemaSelect(_ref) {
|
|
|
27
45
|
var _useObjectSchemas = useObjectSchemas(workspaceId),
|
|
28
46
|
fetchObjectSchemas = _useObjectSchemas.fetchObjectSchemas,
|
|
29
47
|
objectSchemasLoading = _useObjectSchemas.objectSchemasLoading;
|
|
30
|
-
var _useState = useState(undefined),
|
|
31
|
-
_useState2 = _slicedToArray(_useState, 2),
|
|
32
|
-
defaultOptions = _useState2[0],
|
|
33
|
-
setDefaultOptions = _useState2[1];
|
|
34
48
|
var selectedObjectSchema = value ? objectSchemaToSelectOption(value) : undefined;
|
|
35
49
|
var loadOptions = /*#__PURE__*/function () {
|
|
36
50
|
var _ref2 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee(inputValue) {
|
|
@@ -77,18 +91,14 @@ export var AssetsObjectSchemaSelect = function AssetsObjectSchemaSelect(_ref) {
|
|
|
77
91
|
return jsx(AsyncSelect, _extends({
|
|
78
92
|
classNamePrefix: classNamePrefix,
|
|
79
93
|
isLoading: objectSchemasLoading,
|
|
80
|
-
defaultOptions:
|
|
94
|
+
defaultOptions: true // setting to true causes the loadOptions to be called on mount
|
|
95
|
+
,
|
|
81
96
|
isSearchable: true,
|
|
82
97
|
loadOptions: debouncedLoadOptions,
|
|
83
98
|
placeholder: formatMessage(objectSchemaSelectMessages.placeholder),
|
|
84
99
|
onChange: function onChange(newOption) {
|
|
85
100
|
return newOption && _onChange(newOption);
|
|
86
|
-
},
|
|
87
|
-
onFocus: function onFocus() {
|
|
88
|
-
if (!defaultOptions) {
|
|
89
|
-
loadOptions('').then(setDefaultOptions);
|
|
90
|
-
}
|
|
91
101
|
}
|
|
92
|
-
}, restFieldProps));
|
|
102
|
+
}, selectInAModalStyleFixProps, restFieldProps));
|
|
93
103
|
}));
|
|
94
104
|
};
|
|
@@ -64,7 +64,8 @@ export var DatasourceTableView = function DatasourceTableView(_ref) {
|
|
|
64
64
|
scrollableContainerHeight: 590
|
|
65
65
|
}) : jsx(EmptyState, {
|
|
66
66
|
testId: "datasource-table-view-skeleton",
|
|
67
|
-
isCompact: true
|
|
67
|
+
isCompact: true,
|
|
68
|
+
isLoading: !isDataReady || status === 'loading'
|
|
68
69
|
}), jsx(TableFooter, {
|
|
69
70
|
issueCount: isDataReady ? totalCount : undefined,
|
|
70
71
|
onRefresh: reset,
|
|
@@ -57,7 +57,7 @@ var cellStyles = css({
|
|
|
57
57
|
paddingRight: "var(--ds-space-100, 8px)"
|
|
58
58
|
}
|
|
59
59
|
});
|
|
60
|
-
var renderItem = function renderItem(_ref, _ref2) {
|
|
60
|
+
var renderItem = function renderItem(_ref, _ref2, isShimmering) {
|
|
61
61
|
var key = _ref.key,
|
|
62
62
|
width = _ref.width;
|
|
63
63
|
var priority = _ref2.priority,
|
|
@@ -67,9 +67,11 @@ var renderItem = function renderItem(_ref, _ref2) {
|
|
|
67
67
|
switch (key) {
|
|
68
68
|
case 'assignee':
|
|
69
69
|
return jsx(UserType, null, jsx(Skeleton, {
|
|
70
|
-
|
|
70
|
+
borderRadius: 8,
|
|
71
|
+
testId: "empty-state-skeleton",
|
|
71
72
|
height: 13,
|
|
72
|
-
|
|
73
|
+
isShimmering: isShimmering,
|
|
74
|
+
width: width
|
|
73
75
|
}));
|
|
74
76
|
case 'priority':
|
|
75
77
|
return jsx(Priority, {
|
|
@@ -82,27 +84,35 @@ var renderItem = function renderItem(_ref, _ref2) {
|
|
|
82
84
|
case 'summary':
|
|
83
85
|
return jsx(Skeleton, {
|
|
84
86
|
appearance: "blue",
|
|
85
|
-
width: summaryWidth,
|
|
86
87
|
borderRadius: 10,
|
|
87
|
-
|
|
88
|
+
testId: "empty-state-skeleton",
|
|
89
|
+
height: 13,
|
|
90
|
+
isShimmering: isShimmering,
|
|
91
|
+
width: summaryWidth
|
|
88
92
|
});
|
|
89
93
|
case 'status':
|
|
90
94
|
return jsx(Skeleton, {
|
|
91
95
|
appearance: "blue",
|
|
92
|
-
|
|
96
|
+
borderRadius: 3,
|
|
97
|
+
testId: "empty-state-skeleton",
|
|
93
98
|
height: 16,
|
|
94
|
-
|
|
99
|
+
isShimmering: isShimmering,
|
|
100
|
+
width: statusWidth
|
|
95
101
|
});
|
|
96
102
|
default:
|
|
97
103
|
return jsx(Skeleton, {
|
|
98
|
-
|
|
104
|
+
borderRadius: 8,
|
|
105
|
+
testId: "empty-state-skeleton",
|
|
99
106
|
height: 13,
|
|
100
|
-
|
|
107
|
+
isShimmering: isShimmering,
|
|
108
|
+
width: width
|
|
101
109
|
});
|
|
102
110
|
}
|
|
103
111
|
};
|
|
104
112
|
export default (function (_ref3) {
|
|
105
113
|
var isCompact = _ref3.isCompact,
|
|
114
|
+
_ref3$isLoading = _ref3.isLoading,
|
|
115
|
+
isLoading = _ref3$isLoading === void 0 ? false : _ref3$isLoading,
|
|
106
116
|
testId = _ref3.testId;
|
|
107
117
|
var columnsToRender = isCompact ? baseColumns.slice(0, 6) : baseColumns;
|
|
108
118
|
return jsx("table", {
|
|
@@ -117,9 +127,11 @@ export default (function (_ref3) {
|
|
|
117
127
|
}
|
|
118
128
|
}, jsx(Skeleton, {
|
|
119
129
|
appearance: "darkGray",
|
|
120
|
-
|
|
130
|
+
borderRadius: 8,
|
|
131
|
+
testId: "empty-state-skeleton",
|
|
132
|
+
isShimmering: isLoading,
|
|
121
133
|
height: 13,
|
|
122
|
-
|
|
134
|
+
width: width
|
|
123
135
|
}));
|
|
124
136
|
}))), jsx("tbody", {
|
|
125
137
|
css: tableBodyStyles
|
|
@@ -130,7 +142,7 @@ export default (function (_ref3) {
|
|
|
130
142
|
return jsx("td", {
|
|
131
143
|
css: cellStyles,
|
|
132
144
|
key: column.key
|
|
133
|
-
}, renderItem(column, row));
|
|
145
|
+
}, renderItem(column, row, isLoading));
|
|
134
146
|
}));
|
|
135
147
|
})));
|
|
136
148
|
});
|
package/dist/esm/version.json
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
/** @jsx jsx */
|
|
1
2
|
import { jsx } from '@emotion/react';
|
|
2
3
|
import { ObjectSchema } from '../../../../types/assets/types';
|
|
3
4
|
type AssetsObjectSchemaSelectProps = {
|
|
@@ -6,5 +7,15 @@ type AssetsObjectSchemaSelectProps = {
|
|
|
6
7
|
classNamePrefix?: string;
|
|
7
8
|
};
|
|
8
9
|
export declare const SEARCH_DEBOUNCE_MS = 350;
|
|
10
|
+
/**
|
|
11
|
+
* Rendering a `<Select>` in a `<Modal>` results in the select options getting cut off by the bottom of the modal and
|
|
12
|
+
* scrolling. This is a work-around for that, see https://atlassian.slack.com/archives/CFJ9DU39U/p1623179496484100
|
|
13
|
+
*/
|
|
14
|
+
export declare const selectInAModalStyleFixProps: {
|
|
15
|
+
styles: {
|
|
16
|
+
menuPortal: (base: any) => any;
|
|
17
|
+
};
|
|
18
|
+
menuPortalTarget: HTMLElement;
|
|
19
|
+
};
|
|
9
20
|
export declare const AssetsObjectSchemaSelect: ({ value, workspaceId, classNamePrefix, }: AssetsObjectSchemaSelectProps) => jsx.JSX.Element;
|
|
10
21
|
export {};
|
|
@@ -2,7 +2,8 @@
|
|
|
2
2
|
import { jsx } from '@emotion/react';
|
|
3
3
|
export interface Props {
|
|
4
4
|
isCompact?: boolean;
|
|
5
|
+
isLoading?: boolean;
|
|
5
6
|
testId?: string;
|
|
6
7
|
}
|
|
7
|
-
declare const _default: ({ isCompact, testId }: Props) => jsx.JSX.Element;
|
|
8
|
+
declare const _default: ({ isCompact, isLoading, testId }: Props) => jsx.JSX.Element;
|
|
8
9
|
export default _default;
|
|
@@ -13,4 +13,4 @@ export interface RowCellType {
|
|
|
13
13
|
maxWidth?: number;
|
|
14
14
|
}
|
|
15
15
|
export declare const IssueLikeDataTableView: ({ testId, onNextPage, onLoadDatasourceDetails, items, columns, renderItem, visibleColumnKeys, onVisibleColumnKeysChange, status, hasNextPage, scrollableContainerHeight, }: IssueLikeDataTableViewProps) => jsx.JSX.Element;
|
|
16
|
-
export declare const EmptyState: ({ isCompact, testId }: import("./empty-state").Props) => jsx.JSX.Element;
|
|
16
|
+
export declare const EmptyState: ({ isCompact, isLoading, testId }: import("./empty-state").Props) => jsx.JSX.Element;
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
/** @jsx jsx */
|
|
1
2
|
import { jsx } from '@emotion/react';
|
|
2
3
|
import { ObjectSchema } from '../../../../types/assets/types';
|
|
3
4
|
type AssetsObjectSchemaSelectProps = {
|
|
@@ -6,5 +7,15 @@ type AssetsObjectSchemaSelectProps = {
|
|
|
6
7
|
classNamePrefix?: string;
|
|
7
8
|
};
|
|
8
9
|
export declare const SEARCH_DEBOUNCE_MS = 350;
|
|
10
|
+
/**
|
|
11
|
+
* Rendering a `<Select>` in a `<Modal>` results in the select options getting cut off by the bottom of the modal and
|
|
12
|
+
* scrolling. This is a work-around for that, see https://atlassian.slack.com/archives/CFJ9DU39U/p1623179496484100
|
|
13
|
+
*/
|
|
14
|
+
export declare const selectInAModalStyleFixProps: {
|
|
15
|
+
styles: {
|
|
16
|
+
menuPortal: (base: any) => any;
|
|
17
|
+
};
|
|
18
|
+
menuPortalTarget: HTMLElement;
|
|
19
|
+
};
|
|
9
20
|
export declare const AssetsObjectSchemaSelect: ({ value, workspaceId, classNamePrefix, }: AssetsObjectSchemaSelectProps) => jsx.JSX.Element;
|
|
10
21
|
export {};
|
|
@@ -2,7 +2,8 @@
|
|
|
2
2
|
import { jsx } from '@emotion/react';
|
|
3
3
|
export interface Props {
|
|
4
4
|
isCompact?: boolean;
|
|
5
|
+
isLoading?: boolean;
|
|
5
6
|
testId?: string;
|
|
6
7
|
}
|
|
7
|
-
declare const _default: ({ isCompact, testId }: Props) => jsx.JSX.Element;
|
|
8
|
+
declare const _default: ({ isCompact, isLoading, testId }: Props) => jsx.JSX.Element;
|
|
8
9
|
export default _default;
|
|
@@ -13,4 +13,4 @@ export interface RowCellType {
|
|
|
13
13
|
maxWidth?: number;
|
|
14
14
|
}
|
|
15
15
|
export declare const IssueLikeDataTableView: ({ testId, onNextPage, onLoadDatasourceDetails, items, columns, renderItem, visibleColumnKeys, onVisibleColumnKeysChange, status, hasNextPage, scrollableContainerHeight, }: IssueLikeDataTableViewProps) => jsx.JSX.Element;
|
|
16
|
-
export declare const EmptyState: ({ isCompact, testId }: import("./empty-state").Props) => jsx.JSX.Element;
|
|
16
|
+
export declare const EmptyState: ({ isCompact, isLoading, testId }: import("./empty-state").Props) => jsx.JSX.Element;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@atlaskit/link-datasource",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.33.1",
|
|
4
4
|
"description": "UI Components to support linking platform dataset feature",
|
|
5
5
|
"publishConfig": {
|
|
6
6
|
"registry": "https://registry.npmjs.org/"
|
|
@@ -55,7 +55,7 @@
|
|
|
55
55
|
"@atlaskit/tag": "^11.5.0",
|
|
56
56
|
"@atlaskit/textfield": "5.6.3",
|
|
57
57
|
"@atlaskit/theme": "^12.5.0",
|
|
58
|
-
"@atlaskit/tokens": "^1.
|
|
58
|
+
"@atlaskit/tokens": "^1.14.0",
|
|
59
59
|
"@atlassianlabs/jql-editor": "^2.0.1",
|
|
60
60
|
"@atlassianlabs/jql-editor-autocomplete-rest": "^1.1.2",
|
|
61
61
|
"@babel/runtime": "^7.0.0",
|