@atlaskit/link-datasource 0.14.4
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 +233 -0
- package/README.md +3 -0
- package/dist/cjs/hooks/useDatasourceTableState.js +133 -0
- package/dist/cjs/index.js +19 -0
- package/dist/cjs/services/getAvailableJiraSites.js +65 -0
- package/dist/cjs/services/makeGetJqlAutocompleteData.js +66 -0
- package/dist/cjs/services/makeGetJqlSuggestionsData.js +55 -0
- package/dist/cjs/ui/issue-like-table/column-picker/index.js +93 -0
- package/dist/cjs/ui/issue-like-table/column-picker/types.js +5 -0
- package/dist/cjs/ui/issue-like-table/draggable-table-heading.js +182 -0
- package/dist/cjs/ui/issue-like-table/empty-state/index.js +127 -0
- package/dist/cjs/ui/issue-like-table/empty-state/priority.js +28 -0
- package/dist/cjs/ui/issue-like-table/empty-state/type.js +51 -0
- package/dist/cjs/ui/issue-like-table/empty-state/types.js +5 -0
- package/dist/cjs/ui/issue-like-table/index.js +300 -0
- package/dist/cjs/ui/issue-like-table/render-type/boolean/index.js +30 -0
- package/dist/cjs/ui/issue-like-table/render-type/boolean/messages.js +20 -0
- package/dist/cjs/ui/issue-like-table/render-type/date-time/index.js +47 -0
- package/dist/cjs/ui/issue-like-table/render-type/icon/index.js +34 -0
- package/dist/cjs/ui/issue-like-table/render-type/index.js +63 -0
- package/dist/cjs/ui/issue-like-table/render-type/link/index.js +56 -0
- package/dist/cjs/ui/issue-like-table/render-type/number/index.js +24 -0
- package/dist/cjs/ui/issue-like-table/render-type/status/index.js +28 -0
- package/dist/cjs/ui/issue-like-table/render-type/tag/index.js +27 -0
- package/dist/cjs/ui/issue-like-table/render-type/text/index.js +23 -0
- package/dist/cjs/ui/issue-like-table/render-type/user/index.js +36 -0
- package/dist/cjs/ui/issue-like-table/render-type/user/messages.js +15 -0
- package/dist/cjs/ui/issue-like-table/styled.js +12 -0
- package/dist/cjs/ui/issue-like-table/types.js +5 -0
- package/dist/cjs/ui/issue-like-table/useIsOnScreen.js +32 -0
- package/dist/cjs/ui/jira-issues/modal/basic-search-input/index.js +52 -0
- package/dist/cjs/ui/jira-issues/modal/basic-search-input/messages.js +15 -0
- package/dist/cjs/ui/jira-issues/modal/index.js +267 -0
- package/dist/cjs/ui/jira-issues/modal/jira-search-container/buildJQL.js +27 -0
- package/dist/cjs/ui/jira-issues/modal/jira-search-container/index.js +116 -0
- package/dist/cjs/ui/jira-issues/modal/jira-search-container/messages.js +15 -0
- package/dist/cjs/ui/jira-issues/modal/jql-editor/index.js +41 -0
- package/dist/cjs/ui/jira-issues/modal/messages.js +45 -0
- package/dist/cjs/ui/jira-issues/modal/mode-switcher/index.js +97 -0
- package/dist/cjs/ui/jira-issues/modal/site-selector/index.js +55 -0
- package/dist/cjs/ui/jira-issues/modal/site-selector/messages.js +20 -0
- package/dist/cjs/ui/jira-issues/table-footer/index.js +68 -0
- package/dist/cjs/ui/jira-issues/table-footer/messages.js +25 -0
- package/dist/cjs/ui/jira-issues/table-footer/sync-info/index.js +79 -0
- package/dist/cjs/ui/jira-issues/table-footer/sync-info/messages.js +20 -0
- package/dist/cjs/ui/jira-issues/tableView.js +64 -0
- package/dist/cjs/ui/jira-issues/types.js +5 -0
- package/dist/cjs/version.json +5 -0
- package/dist/es2019/hooks/useDatasourceTableState.js +77 -0
- package/dist/es2019/index.js +2 -0
- package/dist/es2019/services/getAvailableJiraSites.js +20 -0
- package/dist/es2019/services/makeGetJqlAutocompleteData.js +19 -0
- package/dist/es2019/services/makeGetJqlSuggestionsData.js +11 -0
- package/dist/es2019/ui/issue-like-table/column-picker/index.js +77 -0
- package/dist/es2019/ui/issue-like-table/column-picker/types.js +1 -0
- package/dist/es2019/ui/issue-like-table/draggable-table-heading.js +166 -0
- package/dist/es2019/ui/issue-like-table/empty-state/index.js +113 -0
- package/dist/es2019/ui/issue-like-table/empty-state/priority.js +32 -0
- package/dist/es2019/ui/issue-like-table/empty-state/type.js +46 -0
- package/dist/es2019/ui/issue-like-table/empty-state/types.js +1 -0
- package/dist/es2019/ui/issue-like-table/index.js +259 -0
- package/dist/es2019/ui/issue-like-table/render-type/boolean/index.js +21 -0
- package/dist/es2019/ui/issue-like-table/render-type/boolean/messages.js +13 -0
- package/dist/es2019/ui/issue-like-table/render-type/date-time/index.js +37 -0
- package/dist/es2019/ui/issue-like-table/render-type/icon/index.js +27 -0
- package/dist/es2019/ui/issue-like-table/render-type/index.js +55 -0
- package/dist/es2019/ui/issue-like-table/render-type/link/index.js +38 -0
- package/dist/es2019/ui/issue-like-table/render-type/number/index.js +15 -0
- package/dist/es2019/ui/issue-like-table/render-type/status/index.js +19 -0
- package/dist/es2019/ui/issue-like-table/render-type/tag/index.js +18 -0
- package/dist/es2019/ui/issue-like-table/render-type/text/index.js +14 -0
- package/dist/es2019/ui/issue-like-table/render-type/user/index.js +29 -0
- package/dist/es2019/ui/issue-like-table/render-type/user/messages.js +8 -0
- package/dist/es2019/ui/issue-like-table/styled.js +6 -0
- package/dist/es2019/ui/issue-like-table/types.js +1 -0
- package/dist/es2019/ui/issue-like-table/useIsOnScreen.js +17 -0
- package/dist/es2019/ui/jira-issues/modal/basic-search-input/index.js +42 -0
- package/dist/es2019/ui/jira-issues/modal/basic-search-input/messages.js +8 -0
- package/dist/es2019/ui/jira-issues/modal/index.js +227 -0
- package/dist/es2019/ui/jira-issues/modal/jira-search-container/buildJQL.js +20 -0
- package/dist/es2019/ui/jira-issues/modal/jira-search-container/index.js +90 -0
- package/dist/es2019/ui/jira-issues/modal/jira-search-container/messages.js +8 -0
- package/dist/es2019/ui/jira-issues/modal/jql-editor/index.js +33 -0
- package/dist/es2019/ui/jira-issues/modal/messages.js +38 -0
- package/dist/es2019/ui/jira-issues/modal/mode-switcher/index.js +90 -0
- package/dist/es2019/ui/jira-issues/modal/site-selector/index.js +43 -0
- package/dist/es2019/ui/jira-issues/modal/site-selector/messages.js +13 -0
- package/dist/es2019/ui/jira-issues/table-footer/index.js +78 -0
- package/dist/es2019/ui/jira-issues/table-footer/messages.js +18 -0
- package/dist/es2019/ui/jira-issues/table-footer/sync-info/index.js +59 -0
- package/dist/es2019/ui/jira-issues/table-footer/sync-info/messages.js +13 -0
- package/dist/es2019/ui/jira-issues/tableView.js +57 -0
- package/dist/es2019/ui/jira-issues/types.js +1 -0
- package/dist/es2019/version.json +5 -0
- package/dist/esm/hooks/useDatasourceTableState.js +125 -0
- package/dist/esm/index.js +2 -0
- package/dist/esm/services/getAvailableJiraSites.js +57 -0
- package/dist/esm/services/makeGetJqlAutocompleteData.js +58 -0
- package/dist/esm/services/makeGetJqlSuggestionsData.js +47 -0
- package/dist/esm/ui/issue-like-table/column-picker/index.js +85 -0
- package/dist/esm/ui/issue-like-table/column-picker/types.js +1 -0
- package/dist/esm/ui/issue-like-table/draggable-table-heading.js +173 -0
- package/dist/esm/ui/issue-like-table/empty-state/index.js +118 -0
- package/dist/esm/ui/issue-like-table/empty-state/priority.js +20 -0
- package/dist/esm/ui/issue-like-table/empty-state/type.js +43 -0
- package/dist/esm/ui/issue-like-table/empty-state/types.js +1 -0
- package/dist/esm/ui/issue-like-table/index.js +292 -0
- package/dist/esm/ui/issue-like-table/render-type/boolean/index.js +21 -0
- package/dist/esm/ui/issue-like-table/render-type/boolean/messages.js +13 -0
- package/dist/esm/ui/issue-like-table/render-type/date-time/index.js +38 -0
- package/dist/esm/ui/issue-like-table/render-type/icon/index.js +25 -0
- package/dist/esm/ui/issue-like-table/render-type/index.js +55 -0
- package/dist/esm/ui/issue-like-table/render-type/link/index.js +44 -0
- package/dist/esm/ui/issue-like-table/render-type/number/index.js +15 -0
- package/dist/esm/ui/issue-like-table/render-type/status/index.js +19 -0
- package/dist/esm/ui/issue-like-table/render-type/tag/index.js +18 -0
- package/dist/esm/ui/issue-like-table/render-type/text/index.js +14 -0
- package/dist/esm/ui/issue-like-table/render-type/user/index.js +27 -0
- package/dist/esm/ui/issue-like-table/render-type/user/messages.js +8 -0
- package/dist/esm/ui/issue-like-table/styled.js +4 -0
- package/dist/esm/ui/issue-like-table/types.js +1 -0
- package/dist/esm/ui/issue-like-table/useIsOnScreen.js +25 -0
- package/dist/esm/ui/jira-issues/modal/basic-search-input/index.js +43 -0
- package/dist/esm/ui/jira-issues/modal/basic-search-input/messages.js +8 -0
- package/dist/esm/ui/jira-issues/modal/index.js +255 -0
- package/dist/esm/ui/jira-issues/modal/jira-search-container/buildJQL.js +20 -0
- package/dist/esm/ui/jira-issues/modal/jira-search-container/index.js +104 -0
- package/dist/esm/ui/jira-issues/modal/jira-search-container/messages.js +8 -0
- package/dist/esm/ui/jira-issues/modal/jql-editor/index.js +31 -0
- package/dist/esm/ui/jira-issues/modal/messages.js +38 -0
- package/dist/esm/ui/jira-issues/modal/mode-switcher/index.js +88 -0
- package/dist/esm/ui/jira-issues/modal/site-selector/index.js +44 -0
- package/dist/esm/ui/jira-issues/modal/site-selector/messages.js +13 -0
- package/dist/esm/ui/jira-issues/table-footer/index.js +60 -0
- package/dist/esm/ui/jira-issues/table-footer/messages.js +18 -0
- package/dist/esm/ui/jira-issues/table-footer/sync-info/index.js +68 -0
- package/dist/esm/ui/jira-issues/table-footer/sync-info/messages.js +13 -0
- package/dist/esm/ui/jira-issues/tableView.js +55 -0
- package/dist/esm/ui/jira-issues/types.js +1 -0
- package/dist/esm/version.json +5 -0
- package/dist/types/hooks/useDatasourceTableState.d.ts +13 -0
- package/dist/types/index.d.ts +2 -0
- package/dist/types/services/getAvailableJiraSites.d.ts +6 -0
- package/dist/types/services/makeGetJqlAutocompleteData.d.ts +6 -0
- package/dist/types/services/makeGetJqlSuggestionsData.d.ts +5 -0
- package/dist/types/ui/issue-like-table/column-picker/index.d.ts +3 -0
- package/dist/types/ui/issue-like-table/column-picker/types.d.ts +6 -0
- package/dist/types/ui/issue-like-table/draggable-table-heading.d.ts +12 -0
- package/dist/types/ui/issue-like-table/empty-state/index.d.ts +6 -0
- package/dist/types/ui/issue-like-table/empty-state/priority.d.ts +6 -0
- package/dist/types/ui/issue-like-table/empty-state/type.d.ts +6 -0
- package/dist/types/ui/issue-like-table/empty-state/types.d.ts +2 -0
- package/dist/types/ui/issue-like-table/index.d.ts +15 -0
- package/dist/types/ui/issue-like-table/render-type/boolean/index.d.ts +8 -0
- package/dist/types/ui/issue-like-table/render-type/boolean/messages.d.ts +12 -0
- package/dist/types/ui/issue-like-table/render-type/date-time/index.d.ts +10 -0
- package/dist/types/ui/issue-like-table/render-type/icon/index.d.ts +8 -0
- package/dist/types/ui/issue-like-table/render-type/index.d.ts +2 -0
- package/dist/types/ui/issue-like-table/render-type/link/index.d.ts +8 -0
- package/dist/types/ui/issue-like-table/render-type/number/index.d.ts +8 -0
- package/dist/types/ui/issue-like-table/render-type/status/index.d.ts +8 -0
- package/dist/types/ui/issue-like-table/render-type/tag/index.d.ts +9 -0
- package/dist/types/ui/issue-like-table/render-type/text/index.d.ts +8 -0
- package/dist/types/ui/issue-like-table/render-type/user/index.d.ts +11 -0
- package/dist/types/ui/issue-like-table/render-type/user/messages.d.ts +7 -0
- package/dist/types/ui/issue-like-table/styled.d.ts +5 -0
- package/dist/types/ui/issue-like-table/types.d.ts +38 -0
- package/dist/types/ui/issue-like-table/useIsOnScreen.d.ts +1 -0
- package/dist/types/ui/jira-issues/modal/basic-search-input/index.d.ts +12 -0
- package/dist/types/ui/jira-issues/modal/basic-search-input/messages.d.ts +7 -0
- package/dist/types/ui/jira-issues/modal/index.d.ts +13 -0
- package/dist/types/ui/jira-issues/modal/jira-search-container/buildJQL.d.ts +7 -0
- package/dist/types/ui/jira-issues/modal/jira-search-container/index.d.ts +7 -0
- package/dist/types/ui/jira-issues/modal/jira-search-container/messages.d.ts +7 -0
- package/dist/types/ui/jira-issues/modal/jql-editor/index.d.ts +8 -0
- package/dist/types/ui/jira-issues/modal/messages.d.ts +37 -0
- package/dist/types/ui/jira-issues/modal/mode-switcher/index.d.ts +12 -0
- package/dist/types/ui/jira-issues/modal/site-selector/index.d.ts +10 -0
- package/dist/types/ui/jira-issues/modal/site-selector/messages.d.ts +12 -0
- package/dist/types/ui/jira-issues/table-footer/index.d.ts +7 -0
- package/dist/types/ui/jira-issues/table-footer/messages.d.ts +17 -0
- package/dist/types/ui/jira-issues/table-footer/sync-info/index.d.ts +4 -0
- package/dist/types/ui/jira-issues/table-footer/sync-info/messages.d.ts +12 -0
- package/dist/types/ui/jira-issues/tableView.d.ts +3 -0
- package/dist/types/ui/jira-issues/types.d.ts +14 -0
- package/dist/types-ts4.5/hooks/useDatasourceTableState.d.ts +13 -0
- package/dist/types-ts4.5/index.d.ts +2 -0
- package/dist/types-ts4.5/services/getAvailableJiraSites.d.ts +6 -0
- package/dist/types-ts4.5/services/makeGetJqlAutocompleteData.d.ts +6 -0
- package/dist/types-ts4.5/services/makeGetJqlSuggestionsData.d.ts +5 -0
- package/dist/types-ts4.5/ui/issue-like-table/column-picker/index.d.ts +3 -0
- package/dist/types-ts4.5/ui/issue-like-table/column-picker/types.d.ts +6 -0
- package/dist/types-ts4.5/ui/issue-like-table/draggable-table-heading.d.ts +12 -0
- package/dist/types-ts4.5/ui/issue-like-table/empty-state/index.d.ts +6 -0
- package/dist/types-ts4.5/ui/issue-like-table/empty-state/priority.d.ts +6 -0
- package/dist/types-ts4.5/ui/issue-like-table/empty-state/type.d.ts +6 -0
- package/dist/types-ts4.5/ui/issue-like-table/empty-state/types.d.ts +2 -0
- package/dist/types-ts4.5/ui/issue-like-table/index.d.ts +15 -0
- package/dist/types-ts4.5/ui/issue-like-table/render-type/boolean/index.d.ts +8 -0
- package/dist/types-ts4.5/ui/issue-like-table/render-type/boolean/messages.d.ts +12 -0
- package/dist/types-ts4.5/ui/issue-like-table/render-type/date-time/index.d.ts +10 -0
- package/dist/types-ts4.5/ui/issue-like-table/render-type/icon/index.d.ts +8 -0
- package/dist/types-ts4.5/ui/issue-like-table/render-type/index.d.ts +2 -0
- package/dist/types-ts4.5/ui/issue-like-table/render-type/link/index.d.ts +8 -0
- package/dist/types-ts4.5/ui/issue-like-table/render-type/number/index.d.ts +8 -0
- package/dist/types-ts4.5/ui/issue-like-table/render-type/status/index.d.ts +8 -0
- package/dist/types-ts4.5/ui/issue-like-table/render-type/tag/index.d.ts +9 -0
- package/dist/types-ts4.5/ui/issue-like-table/render-type/text/index.d.ts +8 -0
- package/dist/types-ts4.5/ui/issue-like-table/render-type/user/index.d.ts +11 -0
- package/dist/types-ts4.5/ui/issue-like-table/render-type/user/messages.d.ts +7 -0
- package/dist/types-ts4.5/ui/issue-like-table/styled.d.ts +5 -0
- package/dist/types-ts4.5/ui/issue-like-table/types.d.ts +38 -0
- package/dist/types-ts4.5/ui/issue-like-table/useIsOnScreen.d.ts +1 -0
- package/dist/types-ts4.5/ui/jira-issues/modal/basic-search-input/index.d.ts +12 -0
- package/dist/types-ts4.5/ui/jira-issues/modal/basic-search-input/messages.d.ts +7 -0
- package/dist/types-ts4.5/ui/jira-issues/modal/index.d.ts +13 -0
- package/dist/types-ts4.5/ui/jira-issues/modal/jira-search-container/buildJQL.d.ts +7 -0
- package/dist/types-ts4.5/ui/jira-issues/modal/jira-search-container/index.d.ts +7 -0
- package/dist/types-ts4.5/ui/jira-issues/modal/jira-search-container/messages.d.ts +7 -0
- package/dist/types-ts4.5/ui/jira-issues/modal/jql-editor/index.d.ts +8 -0
- package/dist/types-ts4.5/ui/jira-issues/modal/messages.d.ts +37 -0
- package/dist/types-ts4.5/ui/jira-issues/modal/mode-switcher/index.d.ts +12 -0
- package/dist/types-ts4.5/ui/jira-issues/modal/site-selector/index.d.ts +10 -0
- package/dist/types-ts4.5/ui/jira-issues/modal/site-selector/messages.d.ts +12 -0
- package/dist/types-ts4.5/ui/jira-issues/table-footer/index.d.ts +7 -0
- package/dist/types-ts4.5/ui/jira-issues/table-footer/messages.d.ts +17 -0
- package/dist/types-ts4.5/ui/jira-issues/table-footer/sync-info/index.d.ts +4 -0
- package/dist/types-ts4.5/ui/jira-issues/table-footer/sync-info/messages.d.ts +12 -0
- package/dist/types-ts4.5/ui/jira-issues/tableView.d.ts +3 -0
- package/dist/types-ts4.5/ui/jira-issues/types.d.ts +14 -0
- package/examples-helpers/buildIssueLikeTable.tsx +88 -0
- package/examples-helpers/buildJiraIssuesTable.tsx +31 -0
- package/examples-helpers/images.json +4 -0
- package/examples-helpers/mockAutocompleteData.ts +54 -0
- package/examples-helpers/mockJiraAvailableSites.ts +27 -0
- package/examples-helpers/mockJiraData.ts +546 -0
- package/examples-helpers/mockJqlSmartLinkData.ts +72 -0
- package/examples-helpers/mockSmartLinkData.ts +67 -0
- package/examples-helpers/mockSuggestionData.ts +17 -0
- package/examples-helpers/setupDatasourcesMocks.ts +199 -0
- package/examples-helpers/setupModalExampleMocks.ts +32 -0
- package/examples-helpers/smartLinkCustomClient.ts +26 -0
- package/package.json +118 -0
- package/report.api.md +98 -0
- package/tmp/api-report-tmp.d.ts +64 -0
|
@@ -0,0 +1,300 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
Object.defineProperty(exports, "__esModule", {
|
|
5
|
+
value: true
|
|
6
|
+
});
|
|
7
|
+
exports.IssueLikeDataTableView = exports.EmptyState = void 0;
|
|
8
|
+
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
9
|
+
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
|
|
10
|
+
var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
|
|
11
|
+
var _react = require("react");
|
|
12
|
+
var _react2 = require("@emotion/react");
|
|
13
|
+
var _tinyInvariant = _interopRequireDefault(require("tiny-invariant"));
|
|
14
|
+
var _linkingCommon = require("@atlaskit/linking-common");
|
|
15
|
+
var _pragmaticDragAndDropAutoscroll = require("@atlaskit/pragmatic-drag-and-drop-autoscroll");
|
|
16
|
+
var _closestEdge = require("@atlaskit/pragmatic-drag-and-drop-hitbox/addon/closest-edge");
|
|
17
|
+
var _reorderWithEdge = require("@atlaskit/pragmatic-drag-and-drop-hitbox/util/reorder-with-edge");
|
|
18
|
+
var _element = require("@atlaskit/pragmatic-drag-and-drop/adapter/element");
|
|
19
|
+
var _combine = require("@atlaskit/pragmatic-drag-and-drop/util/combine");
|
|
20
|
+
var _columnPicker = require("./column-picker");
|
|
21
|
+
var _draggableTableHeading = require("./draggable-table-heading");
|
|
22
|
+
var _emptyState = _interopRequireDefault(require("./empty-state"));
|
|
23
|
+
var _renderType = require("./render-type");
|
|
24
|
+
var _styled = require("./styled");
|
|
25
|
+
var _useIsOnScreen = require("./useIsOnScreen");
|
|
26
|
+
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; }
|
|
27
|
+
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 */
|
|
28
|
+
var tableHeadStyles = (0, _react2.css)({
|
|
29
|
+
background: "var(--ds-surface, #FFF)",
|
|
30
|
+
borderTop: '2px solid transparent'
|
|
31
|
+
});
|
|
32
|
+
var columnPickerHeaderStyles = (0, _react2.css)({
|
|
33
|
+
width: '40px',
|
|
34
|
+
// TODO use some variable for that?
|
|
35
|
+
paddingBlock: "var(--ds-space-100, 8px)"
|
|
36
|
+
});
|
|
37
|
+
var tableDragPreviewStyles = (0, _react2.css)({
|
|
38
|
+
backgroundColor: "var(--ds-surface, #FFF)"
|
|
39
|
+
});
|
|
40
|
+
var containerDragPreviewStyles = (0, _react2.css)({
|
|
41
|
+
overflow: 'hidden'
|
|
42
|
+
});
|
|
43
|
+
function extractIndex(data) {
|
|
44
|
+
var index = data.index;
|
|
45
|
+
(0, _tinyInvariant.default)(typeof index === 'number');
|
|
46
|
+
return index;
|
|
47
|
+
}
|
|
48
|
+
var orderColumns = function orderColumns(columns, visibleColumnKeys) {
|
|
49
|
+
// newColumnKeyOrder contains keys of selected (visible columns only).
|
|
50
|
+
// In order to sort all the columns we need to insert unselected ones into this list
|
|
51
|
+
// We put them into their absolution position as it was in unchanged (before column move) order.
|
|
52
|
+
columns.forEach(function (_ref, index) {
|
|
53
|
+
var key = _ref.key;
|
|
54
|
+
if (!visibleColumnKeys.includes(key)) {
|
|
55
|
+
visibleColumnKeys.splice(index, 0, key);
|
|
56
|
+
}
|
|
57
|
+
});
|
|
58
|
+
columns.sort(function (a, b) {
|
|
59
|
+
var indexB = visibleColumnKeys.indexOf(b.key);
|
|
60
|
+
var indexA = visibleColumnKeys.indexOf(a.key);
|
|
61
|
+
return indexA - indexB;
|
|
62
|
+
});
|
|
63
|
+
return (0, _toConsumableArray2.default)(columns);
|
|
64
|
+
};
|
|
65
|
+
var IssueLikeDataTableView = function IssueLikeDataTableView(_ref2) {
|
|
66
|
+
var _orderedColumns$find;
|
|
67
|
+
var testId = _ref2.testId,
|
|
68
|
+
onNextPage = _ref2.onNextPage,
|
|
69
|
+
items = _ref2.items,
|
|
70
|
+
columns = _ref2.columns,
|
|
71
|
+
_ref2$renderItem = _ref2.renderItem,
|
|
72
|
+
renderItem = _ref2$renderItem === void 0 ? _renderType.fallbackRenderType : _ref2$renderItem,
|
|
73
|
+
visibleColumnKeys = _ref2.visibleColumnKeys,
|
|
74
|
+
onVisibleColumnKeysChange = _ref2.onVisibleColumnKeysChange,
|
|
75
|
+
status = _ref2.status,
|
|
76
|
+
hasNextPage = _ref2.hasNextPage;
|
|
77
|
+
var tableId = (0, _react.useMemo)(function () {
|
|
78
|
+
return Symbol('unique-id');
|
|
79
|
+
}, []);
|
|
80
|
+
var _useState = (0, _react.useState)(null),
|
|
81
|
+
_useState2 = (0, _slicedToArray2.default)(_useState, 2),
|
|
82
|
+
lastRowElement = _useState2[0],
|
|
83
|
+
setLastRowElement = _useState2[1];
|
|
84
|
+
var _useState3 = (0, _react.useState)(false),
|
|
85
|
+
_useState4 = (0, _slicedToArray2.default)(_useState3, 2),
|
|
86
|
+
isDragPreview = _useState4[0],
|
|
87
|
+
setIsDragPreview = _useState4[1];
|
|
88
|
+
var isBottomOfTableVisibleRaw = (0, _useIsOnScreen.useIsOnScreen)(lastRowElement);
|
|
89
|
+
var containerRef = (0, _react.useRef)(null);
|
|
90
|
+
var _useState5 = (0, _react.useState)(function () {
|
|
91
|
+
return orderColumns((0, _toConsumableArray2.default)(columns), (0, _toConsumableArray2.default)(visibleColumnKeys));
|
|
92
|
+
}),
|
|
93
|
+
_useState6 = (0, _slicedToArray2.default)(_useState5, 2),
|
|
94
|
+
orderedColumns = _useState6[0],
|
|
95
|
+
setOrderedColumns = _useState6[1];
|
|
96
|
+
var visibleSortedColumns = (0, _react.useMemo)(function () {
|
|
97
|
+
return visibleColumnKeys.map(function (visibleKey) {
|
|
98
|
+
return orderedColumns.find(function (_ref3) {
|
|
99
|
+
var key = _ref3.key;
|
|
100
|
+
return visibleKey === key;
|
|
101
|
+
});
|
|
102
|
+
}).filter(Boolean);
|
|
103
|
+
}, [orderedColumns, visibleColumnKeys]);
|
|
104
|
+
|
|
105
|
+
// TODO seems like this component can't handle some combination of incremental data retreaval.
|
|
106
|
+
// If data comes first, then columns and then visibleColumnKeys it blows up,
|
|
107
|
+
// or some other combination.
|
|
108
|
+
|
|
109
|
+
var identityColumnKey = (_orderedColumns$find = orderedColumns.find(function (column) {
|
|
110
|
+
return column.isIdentity;
|
|
111
|
+
})) === null || _orderedColumns$find === void 0 ? void 0 : _orderedColumns$find.key;
|
|
112
|
+
var loadingRow = (0, _react.useMemo)(function () {
|
|
113
|
+
return {
|
|
114
|
+
key: 'loading',
|
|
115
|
+
cells: visibleSortedColumns.map(function (_ref4) {
|
|
116
|
+
var key = _ref4.key;
|
|
117
|
+
var content = (0, _react2.jsx)(_linkingCommon.Skeleton, {
|
|
118
|
+
borderRadius: "var(--ds-radius-100, 3px)",
|
|
119
|
+
width: '100%',
|
|
120
|
+
height: '20px'
|
|
121
|
+
});
|
|
122
|
+
return {
|
|
123
|
+
key: key,
|
|
124
|
+
content: content
|
|
125
|
+
};
|
|
126
|
+
})
|
|
127
|
+
};
|
|
128
|
+
}, [visibleSortedColumns]);
|
|
129
|
+
var headColumns = visibleSortedColumns.map(function (column) {
|
|
130
|
+
return {
|
|
131
|
+
key: column.key,
|
|
132
|
+
content: column.title,
|
|
133
|
+
// width: TODO Find out how we going to retrieve column width
|
|
134
|
+
shouldTruncate: true
|
|
135
|
+
};
|
|
136
|
+
});
|
|
137
|
+
(0, _react.useEffect)(function () {
|
|
138
|
+
if (status === 'empty' || isBottomOfTableVisibleRaw && hasNextPage && status !== 'loading') {
|
|
139
|
+
void onNextPage();
|
|
140
|
+
}
|
|
141
|
+
}, [isBottomOfTableVisibleRaw, status, hasNextPage, onNextPage]);
|
|
142
|
+
var dndPreviewHeight = 0;
|
|
143
|
+
if (items.length > 0 && containerRef.current) {
|
|
144
|
+
var containerEl = containerRef.current;
|
|
145
|
+
(0, _tinyInvariant.default)(containerEl);
|
|
146
|
+
dndPreviewHeight = containerEl.offsetHeight;
|
|
147
|
+
}
|
|
148
|
+
|
|
149
|
+
// This variable contains initial Y mouse coordinate, so we can restrict
|
|
150
|
+
// autoScroller in X axis only
|
|
151
|
+
var initialAutoScrollerClientY = (0, _react.useRef)();
|
|
152
|
+
(0, _react.useEffect)(function () {
|
|
153
|
+
if (!onVisibleColumnKeysChange) {
|
|
154
|
+
return;
|
|
155
|
+
}
|
|
156
|
+
return (0, _combine.combine)((0, _element.monitorForElements)({
|
|
157
|
+
onDragStart: function onDragStart(_ref5) {
|
|
158
|
+
var location = _ref5.location;
|
|
159
|
+
initialAutoScrollerClientY.current = location.current.input.clientY;
|
|
160
|
+
_pragmaticDragAndDropAutoscroll.autoScroller.start({
|
|
161
|
+
input: location.current.input,
|
|
162
|
+
behavior: 'container-only'
|
|
163
|
+
});
|
|
164
|
+
},
|
|
165
|
+
onDrag: function onDrag(_ref6) {
|
|
166
|
+
var location = _ref6.location;
|
|
167
|
+
_pragmaticDragAndDropAutoscroll.autoScroller.updateInput({
|
|
168
|
+
input: _objectSpread(_objectSpread({}, location.current.input), {}, {
|
|
169
|
+
clientY: initialAutoScrollerClientY.current || 0
|
|
170
|
+
})
|
|
171
|
+
});
|
|
172
|
+
},
|
|
173
|
+
onDrop: function onDrop(_ref7) {
|
|
174
|
+
var source = _ref7.source,
|
|
175
|
+
location = _ref7.location;
|
|
176
|
+
initialAutoScrollerClientY.current = null;
|
|
177
|
+
_pragmaticDragAndDropAutoscroll.autoScroller.stop();
|
|
178
|
+
if (location.current.dropTargets.length === 0) {
|
|
179
|
+
return;
|
|
180
|
+
}
|
|
181
|
+
var target = location.current.dropTargets[0];
|
|
182
|
+
if (source.data.id === target.data.id) {
|
|
183
|
+
return;
|
|
184
|
+
}
|
|
185
|
+
if (source.data.type === 'table-header' && source.data.tableId === tableId) {
|
|
186
|
+
var closestEdgeOfTarget = (0, _closestEdge.extractClosestEdge)(target.data);
|
|
187
|
+
(0, _tinyInvariant.default)(closestEdgeOfTarget === 'left' || closestEdgeOfTarget === 'right');
|
|
188
|
+
var startIndex = extractIndex(source.data);
|
|
189
|
+
var indexOfTarget = extractIndex(target.data);
|
|
190
|
+
var newColumnKeyOrder = (0, _reorderWithEdge.reorderWithEdge)({
|
|
191
|
+
list: visibleColumnKeys,
|
|
192
|
+
closestEdgeOfTarget: closestEdgeOfTarget,
|
|
193
|
+
startIndex: startIndex,
|
|
194
|
+
indexOfTarget: indexOfTarget,
|
|
195
|
+
axis: 'horizontal'
|
|
196
|
+
});
|
|
197
|
+
onVisibleColumnKeysChange === null || onVisibleColumnKeysChange === void 0 ? void 0 : onVisibleColumnKeysChange((0, _toConsumableArray2.default)(newColumnKeyOrder));
|
|
198
|
+
|
|
199
|
+
// We sort columns (whole objects) according to their key order presented in newColumnKeyOrder
|
|
200
|
+
setOrderedColumns(function (columns) {
|
|
201
|
+
return orderColumns((0, _toConsumableArray2.default)(columns), (0, _toConsumableArray2.default)(newColumnKeyOrder));
|
|
202
|
+
});
|
|
203
|
+
}
|
|
204
|
+
}
|
|
205
|
+
}));
|
|
206
|
+
}, [visibleColumnKeys, onVisibleColumnKeysChange, tableId]);
|
|
207
|
+
var tableRows = (0, _react.useMemo)(function () {
|
|
208
|
+
return items.map(function (newRowData, rowIndex) {
|
|
209
|
+
return {
|
|
210
|
+
key: "".concat(identityColumnKey && newRowData[identityColumnKey] || rowIndex),
|
|
211
|
+
cells: visibleSortedColumns.map(function (_ref8) {
|
|
212
|
+
var key = _ref8.key,
|
|
213
|
+
type = _ref8.type;
|
|
214
|
+
var value = newRowData[key];
|
|
215
|
+
var values = Array.isArray(value) ? value : [value];
|
|
216
|
+
var content = values.map(function (value) {
|
|
217
|
+
return renderItem({
|
|
218
|
+
type: type,
|
|
219
|
+
value: value
|
|
220
|
+
});
|
|
221
|
+
});
|
|
222
|
+
return {
|
|
223
|
+
key: key,
|
|
224
|
+
content: content
|
|
225
|
+
};
|
|
226
|
+
}),
|
|
227
|
+
ref: rowIndex === items.length - 1 ? function (el) {
|
|
228
|
+
return setLastRowElement(el);
|
|
229
|
+
} : undefined
|
|
230
|
+
};
|
|
231
|
+
});
|
|
232
|
+
}, [identityColumnKey, renderItem, items, visibleSortedColumns]);
|
|
233
|
+
var rows = [].concat((0, _toConsumableArray2.default)(tableRows), (0, _toConsumableArray2.default)(status === 'loading' ? [loadingRow] : []));
|
|
234
|
+
var setIsDragPreviewOn = (0, _react.useCallback)(function () {
|
|
235
|
+
return setIsDragPreview(true);
|
|
236
|
+
}, [setIsDragPreview]);
|
|
237
|
+
var setIsDragPreviewOff = (0, _react.useCallback)(function () {
|
|
238
|
+
return setIsDragPreview(false);
|
|
239
|
+
}, [setIsDragPreview]);
|
|
240
|
+
var onSelectedColumnKeysChange = (0, _react.useCallback)(function (newSelectedColumnKeys) {
|
|
241
|
+
onVisibleColumnKeysChange === null || onVisibleColumnKeysChange === void 0 ? void 0 : onVisibleColumnKeysChange(newSelectedColumnKeys);
|
|
242
|
+
}, [onVisibleColumnKeysChange]);
|
|
243
|
+
return (0, _react2.jsx)("div", {
|
|
244
|
+
ref: containerRef,
|
|
245
|
+
css: isDragPreview ? containerDragPreviewStyles : null
|
|
246
|
+
}, (0, _react2.jsx)("table", {
|
|
247
|
+
css: isDragPreview ? tableDragPreviewStyles : null,
|
|
248
|
+
"data-testid": testId
|
|
249
|
+
}, (0, _react2.jsx)("thead", {
|
|
250
|
+
"data-testid": testId && "".concat(testId, "--head"),
|
|
251
|
+
css: tableHeadStyles
|
|
252
|
+
}, (0, _react2.jsx)("tr", null, headColumns.map(function (_ref9, cellIndex) {
|
|
253
|
+
var key = _ref9.key,
|
|
254
|
+
content = _ref9.content;
|
|
255
|
+
if (onVisibleColumnKeysChange) {
|
|
256
|
+
return (0, _react2.jsx)(_draggableTableHeading.DraggableTableHeading, {
|
|
257
|
+
tableId: tableId,
|
|
258
|
+
key: key,
|
|
259
|
+
id: key,
|
|
260
|
+
index: cellIndex,
|
|
261
|
+
dndPreviewHeight: dndPreviewHeight,
|
|
262
|
+
onDragPreviewStart: setIsDragPreviewOn,
|
|
263
|
+
onDragPreviewEnd: setIsDragPreviewOff
|
|
264
|
+
}, content);
|
|
265
|
+
} else {
|
|
266
|
+
return (0, _react2.jsx)(_styled.TableHeading, {
|
|
267
|
+
key: key,
|
|
268
|
+
"data-testid": "".concat(key, "-column-heading")
|
|
269
|
+
}, content);
|
|
270
|
+
}
|
|
271
|
+
}), onVisibleColumnKeysChange && (0, _react2.jsx)("th", {
|
|
272
|
+
css: columnPickerHeaderStyles
|
|
273
|
+
}, (0, _react2.jsx)(_columnPicker.ColumnPicker, {
|
|
274
|
+
columns: orderedColumns,
|
|
275
|
+
selectedColumnKeys: visibleColumnKeys,
|
|
276
|
+
onSelectedColumnKeysChange: onSelectedColumnKeysChange
|
|
277
|
+
})))), (0, _react2.jsx)("tbody", {
|
|
278
|
+
"data-testid": testId && "".concat(testId, "--body")
|
|
279
|
+
}, rows.map(function (_ref10) {
|
|
280
|
+
var key = _ref10.key,
|
|
281
|
+
cells = _ref10.cells,
|
|
282
|
+
ref = _ref10.ref;
|
|
283
|
+
return (0, _react2.jsx)("tr", {
|
|
284
|
+
key: key,
|
|
285
|
+
"data-testid": testId && "".concat(testId, "--row-").concat(key),
|
|
286
|
+
ref: ref
|
|
287
|
+
}, cells.map(function (_ref11, cellIndex) {
|
|
288
|
+
var key = _ref11.key,
|
|
289
|
+
content = _ref11.content;
|
|
290
|
+
return (0, _react2.jsx)("td", {
|
|
291
|
+
key: key,
|
|
292
|
+
"data-testid": testId && "".concat(testId, "--cell-").concat(cellIndex),
|
|
293
|
+
colSpan: cellIndex + 1 === cells.length ? 2 : undefined
|
|
294
|
+
}, content);
|
|
295
|
+
}));
|
|
296
|
+
}))));
|
|
297
|
+
};
|
|
298
|
+
exports.IssueLikeDataTableView = IssueLikeDataTableView;
|
|
299
|
+
var EmptyState = _emptyState.default;
|
|
300
|
+
exports.EmptyState = EmptyState;
|
|
@@ -0,0 +1,30 @@
|
|
|
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.BOOLEAN_TYPE_TEST_ID = void 0;
|
|
8
|
+
var _react = _interopRequireDefault(require("react"));
|
|
9
|
+
var _reactIntlNext = require("react-intl-next");
|
|
10
|
+
var _text = _interopRequireDefault(require("../text"));
|
|
11
|
+
var _messages = require("./messages");
|
|
12
|
+
var BOOLEAN_TYPE_TEST_ID = 'link-datasource-render-type--boolean';
|
|
13
|
+
exports.BOOLEAN_TYPE_TEST_ID = BOOLEAN_TYPE_TEST_ID;
|
|
14
|
+
var BooleanRenderType = function BooleanRenderType(_ref) {
|
|
15
|
+
var value = _ref.value,
|
|
16
|
+
_ref$testId = _ref.testId,
|
|
17
|
+
testId = _ref$testId === void 0 ? BOOLEAN_TYPE_TEST_ID : _ref$testId;
|
|
18
|
+
var intl = (0, _reactIntlNext.useIntl)();
|
|
19
|
+
if (typeof value !== 'boolean') {
|
|
20
|
+
return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null);
|
|
21
|
+
}
|
|
22
|
+
var TRUTHY_TEXT = intl.formatMessage(_messages.booleanTypeMessages.booleanTruthyValue);
|
|
23
|
+
var FALSY_TEXT = intl.formatMessage(_messages.booleanTypeMessages.booleanFalsyValue);
|
|
24
|
+
return /*#__PURE__*/_react.default.createElement(_text.default, {
|
|
25
|
+
text: value ? TRUTHY_TEXT : FALSY_TEXT,
|
|
26
|
+
testId: testId
|
|
27
|
+
});
|
|
28
|
+
};
|
|
29
|
+
var _default = BooleanRenderType;
|
|
30
|
+
exports.default = _default;
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.booleanTypeMessages = void 0;
|
|
7
|
+
var _reactIntlNext = require("react-intl-next");
|
|
8
|
+
var booleanTypeMessages = (0, _reactIntlNext.defineMessages)({
|
|
9
|
+
booleanTruthyValue: {
|
|
10
|
+
id: 'linkDataSource.render-type.boolean.true',
|
|
11
|
+
description: 'Text to display for the boolean type when the value is true',
|
|
12
|
+
defaultMessage: 'Yes'
|
|
13
|
+
},
|
|
14
|
+
booleanFalsyValue: {
|
|
15
|
+
id: 'linkDataSource.render-type.boolean.false',
|
|
16
|
+
description: 'Text to display for the boolean type when the value is false',
|
|
17
|
+
defaultMessage: 'No'
|
|
18
|
+
}
|
|
19
|
+
});
|
|
20
|
+
exports.booleanTypeMessages = booleanTypeMessages;
|
|
@@ -0,0 +1,47 @@
|
|
|
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.DATETIME_TYPE_TEST_ID = void 0;
|
|
8
|
+
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
9
|
+
var _react = _interopRequireDefault(require("react"));
|
|
10
|
+
var _reactIntlNext = require("react-intl-next");
|
|
11
|
+
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; }
|
|
12
|
+
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; }
|
|
13
|
+
var DATETIME_TYPE_TEST_ID = 'link-datasource-render-type--datetime';
|
|
14
|
+
exports.DATETIME_TYPE_TEST_ID = DATETIME_TYPE_TEST_ID;
|
|
15
|
+
var dateOptions = {
|
|
16
|
+
month: 'short',
|
|
17
|
+
day: 'numeric',
|
|
18
|
+
year: 'numeric'
|
|
19
|
+
};
|
|
20
|
+
var timeOptions = {
|
|
21
|
+
hour12: false,
|
|
22
|
+
hour: '2-digit',
|
|
23
|
+
minute: '2-digit'
|
|
24
|
+
};
|
|
25
|
+
var DateTimeRenderType = function DateTimeRenderType(_ref) {
|
|
26
|
+
var value = _ref.value,
|
|
27
|
+
_ref$testId = _ref.testId,
|
|
28
|
+
testId = _ref$testId === void 0 ? DATETIME_TYPE_TEST_ID : _ref$testId,
|
|
29
|
+
_ref$display = _ref.display,
|
|
30
|
+
display = _ref$display === void 0 ? 'datetime' : _ref$display;
|
|
31
|
+
var date = new Date(value);
|
|
32
|
+
var intl = (0, _reactIntlNext.useIntl)();
|
|
33
|
+
if (!value || isNaN(date.getTime())) {
|
|
34
|
+
return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null);
|
|
35
|
+
}
|
|
36
|
+
var options = {
|
|
37
|
+
date: dateOptions,
|
|
38
|
+
time: timeOptions,
|
|
39
|
+
datetime: _objectSpread(_objectSpread({}, dateOptions), timeOptions)
|
|
40
|
+
};
|
|
41
|
+
var formattedString = intl.formatDate(date, options[display] || options['date']);
|
|
42
|
+
return /*#__PURE__*/_react.default.createElement("span", {
|
|
43
|
+
"data-testid": testId
|
|
44
|
+
}, formattedString);
|
|
45
|
+
};
|
|
46
|
+
var _default = DateTimeRenderType;
|
|
47
|
+
exports.default = _default;
|
|
@@ -0,0 +1,34 @@
|
|
|
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.ICON_TYPE_TEST_ID = void 0;
|
|
8
|
+
var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
|
|
9
|
+
var _react = _interopRequireDefault(require("react"));
|
|
10
|
+
var _styled = _interopRequireDefault(require("@emotion/styled"));
|
|
11
|
+
var _image = _interopRequireDefault(require("@atlaskit/image"));
|
|
12
|
+
var _templateObject;
|
|
13
|
+
var IconWrapper = _styled.default.div(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2.default)(["\n display: flex;\n align-items: center;\n justify-content: center;\n"])));
|
|
14
|
+
var ICON_TYPE_TEST_ID = 'link-datasource-render-type--icon';
|
|
15
|
+
exports.ICON_TYPE_TEST_ID = ICON_TYPE_TEST_ID;
|
|
16
|
+
var IconRenderType = function IconRenderType(_ref) {
|
|
17
|
+
var label = _ref.label,
|
|
18
|
+
source = _ref.source,
|
|
19
|
+
_ref$testId = _ref.testId,
|
|
20
|
+
testId = _ref$testId === void 0 ? ICON_TYPE_TEST_ID : _ref$testId;
|
|
21
|
+
var style = /svg/i.test(source) ? {
|
|
22
|
+
minWidth: '20px',
|
|
23
|
+
maxWidth: '20px'
|
|
24
|
+
} // having just width: '20px' shriks it when table width is reduced
|
|
25
|
+
: {};
|
|
26
|
+
return /*#__PURE__*/_react.default.createElement(IconWrapper, null, /*#__PURE__*/_react.default.createElement(_image.default, {
|
|
27
|
+
src: source,
|
|
28
|
+
alt: label,
|
|
29
|
+
"data-testid": testId,
|
|
30
|
+
style: style
|
|
31
|
+
}));
|
|
32
|
+
};
|
|
33
|
+
var _default = IconRenderType;
|
|
34
|
+
exports.default = _default;
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
Object.defineProperty(exports, "__esModule", {
|
|
5
|
+
value: true
|
|
6
|
+
});
|
|
7
|
+
exports.fallbackRenderType = void 0;
|
|
8
|
+
var _react = _interopRequireDefault(require("react"));
|
|
9
|
+
var _boolean = _interopRequireDefault(require("./boolean"));
|
|
10
|
+
var _dateTime = _interopRequireDefault(require("./date-time"));
|
|
11
|
+
var _icon = _interopRequireDefault(require("./icon"));
|
|
12
|
+
var _link = _interopRequireDefault(require("./link"));
|
|
13
|
+
var _number = _interopRequireDefault(require("./number"));
|
|
14
|
+
var _status = _interopRequireDefault(require("./status"));
|
|
15
|
+
var _tag = _interopRequireDefault(require("./tag"));
|
|
16
|
+
var _text = _interopRequireDefault(require("./text"));
|
|
17
|
+
var _user = _interopRequireDefault(require("./user"));
|
|
18
|
+
var fallbackRenderType = function fallbackRenderType(item) {
|
|
19
|
+
switch (item.type) {
|
|
20
|
+
case 'boolean':
|
|
21
|
+
return /*#__PURE__*/_react.default.createElement(_boolean.default, {
|
|
22
|
+
value: item.value
|
|
23
|
+
});
|
|
24
|
+
case 'date':
|
|
25
|
+
return /*#__PURE__*/_react.default.createElement(_dateTime.default, {
|
|
26
|
+
value: item.value,
|
|
27
|
+
display: "date"
|
|
28
|
+
});
|
|
29
|
+
case 'datetime':
|
|
30
|
+
return /*#__PURE__*/_react.default.createElement(_dateTime.default, {
|
|
31
|
+
value: item.value,
|
|
32
|
+
display: "datetime"
|
|
33
|
+
});
|
|
34
|
+
case 'icon':
|
|
35
|
+
return /*#__PURE__*/_react.default.createElement(_icon.default, item.value);
|
|
36
|
+
case 'link':
|
|
37
|
+
return /*#__PURE__*/_react.default.createElement(_link.default, item.value);
|
|
38
|
+
case 'number':
|
|
39
|
+
return /*#__PURE__*/_react.default.createElement(_number.default, {
|
|
40
|
+
number: item.value
|
|
41
|
+
});
|
|
42
|
+
case 'status':
|
|
43
|
+
return /*#__PURE__*/_react.default.createElement(_status.default, item.value);
|
|
44
|
+
case 'string':
|
|
45
|
+
return /*#__PURE__*/_react.default.createElement(_text.default, {
|
|
46
|
+
text: item.value
|
|
47
|
+
});
|
|
48
|
+
case 'tag':
|
|
49
|
+
return /*#__PURE__*/_react.default.createElement(_tag.default, {
|
|
50
|
+
text: item.value
|
|
51
|
+
});
|
|
52
|
+
case 'time':
|
|
53
|
+
return /*#__PURE__*/_react.default.createElement(_dateTime.default, {
|
|
54
|
+
value: item.value,
|
|
55
|
+
display: "time"
|
|
56
|
+
});
|
|
57
|
+
case 'user':
|
|
58
|
+
return /*#__PURE__*/_react.default.createElement(_user.default, item.value);
|
|
59
|
+
default:
|
|
60
|
+
return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null);
|
|
61
|
+
}
|
|
62
|
+
};
|
|
63
|
+
exports.fallbackRenderType = fallbackRenderType;
|
|
@@ -0,0 +1,56 @@
|
|
|
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 = exports.LINK_TYPE_TEST_ID = void 0;
|
|
9
|
+
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
10
|
+
var _react = _interopRequireWildcard(require("react"));
|
|
11
|
+
var _reactErrorBoundary = require("react-error-boundary");
|
|
12
|
+
var _smartCard = require("@atlaskit/smart-card");
|
|
13
|
+
var _linkUrl = _interopRequireDefault(require("@atlaskit/smart-card/link-url"));
|
|
14
|
+
var _colors = require("@atlaskit/theme/colors");
|
|
15
|
+
var _typography = require("@atlaskit/theme/typography");
|
|
16
|
+
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); }
|
|
17
|
+
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; }
|
|
18
|
+
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; }
|
|
19
|
+
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; }
|
|
20
|
+
var linkStyles = {
|
|
21
|
+
key: _objectSpread(_objectSpread({}, (0, _typography.h300)()), {}, {
|
|
22
|
+
color: "var(--ds-text-subtlest, ".concat(_colors.N300, ")"),
|
|
23
|
+
fontWeight: 600
|
|
24
|
+
})
|
|
25
|
+
};
|
|
26
|
+
var LINK_TYPE_TEST_ID = 'link-datasource-render-type--link';
|
|
27
|
+
exports.LINK_TYPE_TEST_ID = LINK_TYPE_TEST_ID;
|
|
28
|
+
var LinkRenderType = function LinkRenderType(_ref) {
|
|
29
|
+
var linkType = _ref.linkType,
|
|
30
|
+
url = _ref.url,
|
|
31
|
+
text = _ref.text,
|
|
32
|
+
_ref$testId = _ref.testId,
|
|
33
|
+
testId = _ref$testId === void 0 ? LINK_TYPE_TEST_ID : _ref$testId;
|
|
34
|
+
var style = (0, _react.useMemo)(function () {
|
|
35
|
+
return linkType && linkStyles[linkType] || {};
|
|
36
|
+
}, [linkType]);
|
|
37
|
+
var anchor = (0, _react.useMemo)(function () {
|
|
38
|
+
return /*#__PURE__*/_react.default.createElement(_linkUrl.default, {
|
|
39
|
+
href: url,
|
|
40
|
+
style: style,
|
|
41
|
+
"data-testid": testId
|
|
42
|
+
}, text || url);
|
|
43
|
+
}, [style, url, text, testId]);
|
|
44
|
+
var SmartCard = function SmartCard() {
|
|
45
|
+
return /*#__PURE__*/_react.default.createElement(_reactErrorBoundary.ErrorBoundary, {
|
|
46
|
+
fallback: anchor
|
|
47
|
+
}, /*#__PURE__*/_react.default.createElement(_smartCard.Card, {
|
|
48
|
+
appearance: "inline",
|
|
49
|
+
url: url,
|
|
50
|
+
testId: testId
|
|
51
|
+
}));
|
|
52
|
+
};
|
|
53
|
+
return text ? anchor : /*#__PURE__*/_react.default.createElement(SmartCard, null);
|
|
54
|
+
};
|
|
55
|
+
var _default = /*#__PURE__*/_react.default.memo(LinkRenderType);
|
|
56
|
+
exports.default = _default;
|
|
@@ -0,0 +1,24 @@
|
|
|
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.NUMBER_TYPE_TEST_ID = void 0;
|
|
8
|
+
var _react = _interopRequireDefault(require("react"));
|
|
9
|
+
var NUMBER_TYPE_TEST_ID = 'link-datasource-render-type--number';
|
|
10
|
+
exports.NUMBER_TYPE_TEST_ID = NUMBER_TYPE_TEST_ID;
|
|
11
|
+
var NumberRenderType = function NumberRenderType(_ref) {
|
|
12
|
+
var number = _ref.number,
|
|
13
|
+
_ref$testId = _ref.testId,
|
|
14
|
+
testId = _ref$testId === void 0 ? NUMBER_TYPE_TEST_ID : _ref$testId;
|
|
15
|
+
if (typeof number !== 'number') {
|
|
16
|
+
return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null);
|
|
17
|
+
}
|
|
18
|
+
var formattedNumber = Number.isInteger(number) ? number : "".concat(number.toFixed(2));
|
|
19
|
+
return /*#__PURE__*/_react.default.createElement("span", {
|
|
20
|
+
"data-testid": testId
|
|
21
|
+
}, formattedNumber);
|
|
22
|
+
};
|
|
23
|
+
var _default = NumberRenderType;
|
|
24
|
+
exports.default = _default;
|
|
@@ -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.STATUS_TYPE_TEST_ID = void 0;
|
|
8
|
+
var _react = _interopRequireDefault(require("react"));
|
|
9
|
+
var _lozenge = _interopRequireDefault(require("@atlaskit/lozenge"));
|
|
10
|
+
var STATUS_TYPE_TEST_ID = 'link-datasource-render-type--status';
|
|
11
|
+
exports.STATUS_TYPE_TEST_ID = STATUS_TYPE_TEST_ID;
|
|
12
|
+
var StatusRenderType = function StatusRenderType(_ref) {
|
|
13
|
+
var text = _ref.text,
|
|
14
|
+
status = _ref.status,
|
|
15
|
+
_ref$testId = _ref.testId,
|
|
16
|
+
testId = _ref$testId === void 0 ? STATUS_TYPE_TEST_ID : _ref$testId,
|
|
17
|
+
style = _ref.style;
|
|
18
|
+
if (!text) {
|
|
19
|
+
return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null);
|
|
20
|
+
}
|
|
21
|
+
return /*#__PURE__*/_react.default.createElement(_lozenge.default, {
|
|
22
|
+
appearance: status,
|
|
23
|
+
testId: testId,
|
|
24
|
+
style: style
|
|
25
|
+
}, text);
|
|
26
|
+
};
|
|
27
|
+
var _default = StatusRenderType;
|
|
28
|
+
exports.default = _default;
|
|
@@ -0,0 +1,27 @@
|
|
|
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.TAG_TYPE_TEST_ID = void 0;
|
|
8
|
+
var _react = _interopRequireDefault(require("react"));
|
|
9
|
+
var _tag = require("@atlaskit/tag");
|
|
10
|
+
var TAG_TYPE_TEST_ID = 'link-datasource-render-type--tag';
|
|
11
|
+
exports.TAG_TYPE_TEST_ID = TAG_TYPE_TEST_ID;
|
|
12
|
+
var TagRenderType = function TagRenderType(_ref) {
|
|
13
|
+
var text = _ref.text,
|
|
14
|
+
_ref$testId = _ref.testId,
|
|
15
|
+
testId = _ref$testId === void 0 ? TAG_TYPE_TEST_ID : _ref$testId;
|
|
16
|
+
if (!text) {
|
|
17
|
+
return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null);
|
|
18
|
+
}
|
|
19
|
+
return /*#__PURE__*/_react.default.createElement(_tag.SimpleTag, {
|
|
20
|
+
text: text,
|
|
21
|
+
testId: testId,
|
|
22
|
+
appearance: 'default',
|
|
23
|
+
color: 'standard'
|
|
24
|
+
});
|
|
25
|
+
};
|
|
26
|
+
var _default = TagRenderType;
|
|
27
|
+
exports.default = _default;
|
|
@@ -0,0 +1,23 @@
|
|
|
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.TEXT_TYPE_TEST_ID = void 0;
|
|
8
|
+
var _react = _interopRequireDefault(require("react"));
|
|
9
|
+
var TEXT_TYPE_TEST_ID = 'link-datasource-render-type--text';
|
|
10
|
+
exports.TEXT_TYPE_TEST_ID = TEXT_TYPE_TEST_ID;
|
|
11
|
+
var TextRenderType = function TextRenderType(_ref) {
|
|
12
|
+
var text = _ref.text,
|
|
13
|
+
_ref$testId = _ref.testId,
|
|
14
|
+
testId = _ref$testId === void 0 ? TEXT_TYPE_TEST_ID : _ref$testId;
|
|
15
|
+
if (!text) {
|
|
16
|
+
return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null);
|
|
17
|
+
}
|
|
18
|
+
return /*#__PURE__*/_react.default.createElement("span", {
|
|
19
|
+
"data-testid": testId
|
|
20
|
+
}, text);
|
|
21
|
+
};
|
|
22
|
+
var _default = TextRenderType;
|
|
23
|
+
exports.default = _default;
|