@atlaskit/link-datasource 2.8.0 → 2.9.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 +17 -0
- package/dist/cjs/hooks/useDatasourceTableState.js +54 -39
- package/dist/cjs/state/index.js +68 -0
- package/dist/cjs/ui/assets-modal/modal/index.js +8 -5
- package/dist/cjs/ui/common/modal/datasource-modal/createDatasourceModal.js +55 -0
- package/dist/cjs/ui/common/modal/datasources-table-in-modal-preview/index.js +13 -2
- package/dist/cjs/ui/common/modal/insert-button/index.js +5 -4
- package/dist/cjs/ui/confluence-search-modal/modal/index.js +36 -39
- package/dist/cjs/ui/datasource-table-view/datasourceTableView.js +3 -2
- package/dist/cjs/ui/jira-issues-modal/modal/index.js +142 -211
- package/dist/es2019/hooks/useDatasourceTableState.js +15 -5
- package/dist/es2019/state/index.js +55 -0
- package/dist/es2019/ui/assets-modal/modal/index.js +9 -6
- package/dist/es2019/ui/common/modal/datasource-context/index.js +1 -1
- package/dist/es2019/ui/common/modal/datasource-modal/createDatasourceModal.js +51 -0
- package/dist/es2019/ui/common/modal/datasources-table-in-modal-preview/index.js +9 -2
- package/dist/es2019/ui/common/modal/insert-button/index.js +5 -4
- package/dist/es2019/ui/confluence-search-modal/modal/index.js +36 -39
- package/dist/es2019/ui/datasource-table-view/datasourceTableView.js +4 -3
- package/dist/es2019/ui/jira-issues-modal/modal/index.js +134 -202
- package/dist/esm/hooks/useDatasourceTableState.js +54 -39
- package/dist/esm/state/index.js +61 -0
- package/dist/esm/ui/assets-modal/modal/index.js +9 -6
- package/dist/esm/ui/common/modal/datasource-modal/createDatasourceModal.js +48 -0
- package/dist/esm/ui/common/modal/datasources-table-in-modal-preview/index.js +10 -2
- package/dist/esm/ui/common/modal/insert-button/index.js +5 -4
- package/dist/esm/ui/confluence-search-modal/modal/index.js +39 -42
- package/dist/esm/ui/datasource-table-view/datasourceTableView.js +4 -3
- package/dist/esm/ui/jira-issues-modal/modal/index.js +147 -216
- package/dist/types/common/types.d.ts +2 -1
- package/dist/types/state/index.d.ts +21 -0
- package/dist/types/ui/common/modal/datasource-context/index.d.ts +9 -12
- package/dist/types/ui/common/modal/datasource-modal/createDatasourceModal.d.ts +15 -0
- package/dist/types/ui/common/modal/insert-button/index.d.ts +4 -2
- package/dist/types/ui/confluence-search-modal/basic-filters/filters/date-range-picker/PopupComponent.d.ts +1 -1
- package/dist/types/ui/confluence-search-modal/modal/index.d.ts +3 -4
- package/dist/types/ui/confluence-search-modal/types.d.ts +6 -1
- package/dist/types/ui/jira-issues-modal/modal/index.d.ts +3 -3
- package/dist/types/ui/jira-issues-modal/types.d.ts +3 -0
- package/dist/types-ts4.5/common/types.d.ts +2 -1
- package/dist/types-ts4.5/state/index.d.ts +21 -0
- package/dist/types-ts4.5/ui/common/modal/datasource-context/index.d.ts +9 -12
- package/dist/types-ts4.5/ui/common/modal/datasource-modal/createDatasourceModal.d.ts +15 -0
- package/dist/types-ts4.5/ui/common/modal/insert-button/index.d.ts +4 -2
- package/dist/types-ts4.5/ui/confluence-search-modal/basic-filters/filters/date-range-picker/PopupComponent.d.ts +1 -1
- package/dist/types-ts4.5/ui/confluence-search-modal/modal/index.d.ts +3 -4
- package/dist/types-ts4.5/ui/confluence-search-modal/types.d.ts +6 -1
- package/dist/types-ts4.5/ui/jira-issues-modal/modal/index.d.ts +3 -3
- package/dist/types-ts4.5/ui/jira-issues-modal/types.d.ts +3 -0
- package/package.json +5 -1
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
import _toConsumableArray from "@babel/runtime/helpers/toConsumableArray";
|
|
2
|
+
import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
|
|
3
|
+
import _defineProperty from "@babel/runtime/helpers/defineProperty";
|
|
4
|
+
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
5
|
+
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
6
|
+
import React from 'react';
|
|
7
|
+
import { createActionsHook, createContainer, createStateHook, createStore } from 'react-sweet-state';
|
|
8
|
+
import { v4 as uuidv4 } from 'uuid';
|
|
9
|
+
import { fg } from '@atlaskit/platform-feature-flags';
|
|
10
|
+
var getInitialState = function getInitialState() {
|
|
11
|
+
return {
|
|
12
|
+
items: {}
|
|
13
|
+
};
|
|
14
|
+
};
|
|
15
|
+
export var actions = {
|
|
16
|
+
onAddItems: function onAddItems(items) {
|
|
17
|
+
return function (_ref) {
|
|
18
|
+
var setState = _ref.setState,
|
|
19
|
+
getState = _ref.getState;
|
|
20
|
+
var oldItems = _objectSpread({}, getState().items);
|
|
21
|
+
var _items$reduce = items.reduce(function (_ref2, item) {
|
|
22
|
+
var _item$ari;
|
|
23
|
+
var _ref3 = _slicedToArray(_ref2, 2),
|
|
24
|
+
ids = _ref3[0],
|
|
25
|
+
itemMap = _ref3[1];
|
|
26
|
+
var ari = typeof ((_item$ari = item['ari']) === null || _item$ari === void 0 ? void 0 : _item$ari.data) === 'string' ? item['ari'].data : undefined;
|
|
27
|
+
var id = ari !== null && ari !== void 0 ? ari : uuidv4();
|
|
28
|
+
return [[].concat(_toConsumableArray(ids), [id]), _objectSpread(_objectSpread({}, itemMap), {}, _defineProperty({}, id, _objectSpread(_objectSpread({}, oldItems[id]), item)))];
|
|
29
|
+
}, [[], oldItems]),
|
|
30
|
+
_items$reduce2 = _slicedToArray(_items$reduce, 2),
|
|
31
|
+
newItemIds = _items$reduce2[0],
|
|
32
|
+
newItems = _items$reduce2[1];
|
|
33
|
+
setState({
|
|
34
|
+
items: newItems
|
|
35
|
+
});
|
|
36
|
+
return newItemIds;
|
|
37
|
+
};
|
|
38
|
+
}
|
|
39
|
+
};
|
|
40
|
+
export var Store = createStore({
|
|
41
|
+
name: 'datasource-store',
|
|
42
|
+
initialState: getInitialState(),
|
|
43
|
+
actions: actions
|
|
44
|
+
});
|
|
45
|
+
export var useDatasourceItem = createStateHook(Store, {
|
|
46
|
+
selector: function selector(state, _ref4) {
|
|
47
|
+
var id = _ref4.id;
|
|
48
|
+
return state.items[id];
|
|
49
|
+
}
|
|
50
|
+
});
|
|
51
|
+
export var useDatasourceActions = createActionsHook(Store);
|
|
52
|
+
var Container = createContainer(Store);
|
|
53
|
+
export var StoreContainer = function StoreContainer(_ref5) {
|
|
54
|
+
var children = _ref5.children;
|
|
55
|
+
if (fg('enable_datasource_react_sweet_state')) {
|
|
56
|
+
return /*#__PURE__*/React.createElement(Container, {
|
|
57
|
+
scope: "datasource"
|
|
58
|
+
}, children);
|
|
59
|
+
}
|
|
60
|
+
return children;
|
|
61
|
+
};
|
|
@@ -16,7 +16,7 @@ import { withAnalyticsContext } from '@atlaskit/analytics-next';
|
|
|
16
16
|
import Button from '@atlaskit/button/standard-button';
|
|
17
17
|
import { IntlMessagesProvider } from '@atlaskit/intl-messages-provider';
|
|
18
18
|
import { ModalBody, ModalFooter, ModalHeader, ModalTitle, ModalTransition } from '@atlaskit/modal-dialog';
|
|
19
|
-
import {
|
|
19
|
+
import { fg } from '@atlaskit/platform-feature-flags';
|
|
20
20
|
import { EVENT_CHANNEL, useDatasourceAnalyticsEvents } from '../../../analytics';
|
|
21
21
|
import { componentMetadata } from '../../../analytics/constants';
|
|
22
22
|
import { DatasourceAction, DatasourceDisplay, DatasourceSearchMethod } from '../../../analytics/types';
|
|
@@ -31,6 +31,7 @@ import { useAssetsClient } from '../../../hooks/useAssetsClient';
|
|
|
31
31
|
import { useDatasourceTableState } from '../../../hooks/useDatasourceTableState';
|
|
32
32
|
import i18nEN from '../../../i18n/en';
|
|
33
33
|
import { PermissionError } from '../../../services/cmdbService.utils';
|
|
34
|
+
import { StoreContainer } from '../../../state';
|
|
34
35
|
import { AccessRequired } from '../../../ui/common/error-state/access-required';
|
|
35
36
|
import { ModalLoadingError } from '../../common/error-state/modal-loading-error';
|
|
36
37
|
import { CancelButton } from '../../common/modal/cancel-button';
|
|
@@ -62,7 +63,9 @@ var PlainAssetsConfigModal = function PlainAssetsConfigModal(props) {
|
|
|
62
63
|
schemaId = _useState4[0],
|
|
63
64
|
setSchemaId = _useState4[1];
|
|
64
65
|
var apiVersion = initialParameters === null || initialParameters === void 0 ? void 0 : initialParameters.version;
|
|
65
|
-
var _useState5 = useState(
|
|
66
|
+
var _useState5 = useState(
|
|
67
|
+
// eslint-disable-next-line @atlaskit/platform/no-preconditioning
|
|
68
|
+
fg('platform.linking-platform.datasource-assets_add_version_parameter') && apiVersion !== VERSION_TWO ? [] : initialVisibleColumnKeys),
|
|
66
69
|
_useState6 = _slicedToArray(_useState5, 2),
|
|
67
70
|
visibleColumnKeys = _useState6[0],
|
|
68
71
|
setVisibleColumnKeys = _useState6[1];
|
|
@@ -121,7 +124,7 @@ var PlainAssetsConfigModal = function PlainAssetsConfigModal(props) {
|
|
|
121
124
|
aql: aql || '',
|
|
122
125
|
schemaId: schemaId || '',
|
|
123
126
|
workspaceId: workspaceId || ''
|
|
124
|
-
},
|
|
127
|
+
}, fg('platform.linking-platform.datasource-assets_add_version_parameter') ? {
|
|
125
128
|
version: VERSION_TWO
|
|
126
129
|
} : {});
|
|
127
130
|
}, [aql, schemaId, workspaceId]);
|
|
@@ -205,7 +208,7 @@ var PlainAssetsConfigModal = function PlainAssetsConfigModal(props) {
|
|
|
205
208
|
setIsNewSearch(false);
|
|
206
209
|
}, []);
|
|
207
210
|
useEffect(function () {
|
|
208
|
-
if (
|
|
211
|
+
if (fg('platform.linking-platform.datasource-assets_add_version_parameter')) {
|
|
209
212
|
var newVisibleColumnKeys = initialVisibleColumnKeys && initialVisibleColumnKeys.length > 0 && apiVersion === VERSION_TWO ? initialVisibleColumnKeys : defaultVisibleColumnKeys;
|
|
210
213
|
setVisibleColumnKeys(newVisibleColumnKeys);
|
|
211
214
|
} else {
|
|
@@ -264,7 +267,7 @@ var PlainAssetsConfigModal = function PlainAssetsConfigModal(props) {
|
|
|
264
267
|
workspaceId: workspaceId,
|
|
265
268
|
aql: aql,
|
|
266
269
|
schemaId: schemaId
|
|
267
|
-
},
|
|
270
|
+
}, fg('platform.linking-platform.datasource-assets_add_version_parameter') ? {
|
|
268
271
|
version: VERSION_TWO
|
|
269
272
|
} : {}),
|
|
270
273
|
views: [{
|
|
@@ -386,5 +389,5 @@ var contextData = _objectSpread(_objectSpread({}, analyticsContextData), {}, {
|
|
|
386
389
|
attributes: _objectSpread({}, analyticsContextAttributes)
|
|
387
390
|
});
|
|
388
391
|
export var AssetsConfigModal = withAnalyticsContext(contextData)(function (props) {
|
|
389
|
-
return jsx(DatasourceExperienceIdProvider, null, jsx(UserInteractionsProvider, null, jsx(PlainAssetsConfigModal, props)));
|
|
392
|
+
return jsx(StoreContainer, null, jsx(DatasourceExperienceIdProvider, null, jsx(UserInteractionsProvider, null, jsx(PlainAssetsConfigModal, props))));
|
|
390
393
|
});
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @jsxRuntime classic
|
|
3
|
+
* @jsx jsx
|
|
4
|
+
*/
|
|
5
|
+
|
|
6
|
+
import React from 'react';
|
|
7
|
+
|
|
8
|
+
// eslint-disable-next-line @atlaskit/ui-styling-standard/use-compiled -- Ignored via go/DSP-18766
|
|
9
|
+
import { jsx } from '@emotion/react';
|
|
10
|
+
import { AnalyticsContext } from '@atlaskit/analytics-next';
|
|
11
|
+
import { DatasourceExperienceIdProvider } from '../../../../contexts/datasource-experience-id';
|
|
12
|
+
import { UserInteractionsProvider } from '../../../../contexts/user-interactions';
|
|
13
|
+
import { DatasourceContextProvider } from '../datasource-context';
|
|
14
|
+
import { DatasourceViewModeProvider } from '../mode-switcher/useViewModeContext';
|
|
15
|
+
var DEFAULT_VIEW_MODE = 'table';
|
|
16
|
+
export var createDatasourceModal = function createDatasourceModal(_ref) {
|
|
17
|
+
var isValidParameters = _ref.isValidParameters,
|
|
18
|
+
dataProvider = _ref.dataProvider,
|
|
19
|
+
ModalContent = _ref.component;
|
|
20
|
+
return function (props) {
|
|
21
|
+
var datasourceId = props.datasourceId,
|
|
22
|
+
visibleColumnKeys = props.visibleColumnKeys,
|
|
23
|
+
columnCustomSizes = props.columnCustomSizes,
|
|
24
|
+
wrappedColumnKeys = props.wrappedColumnKeys,
|
|
25
|
+
parameters = props.parameters,
|
|
26
|
+
onInsert = props.onInsert,
|
|
27
|
+
viewMode = props.viewMode;
|
|
28
|
+
return jsx(AnalyticsContext, {
|
|
29
|
+
data: {
|
|
30
|
+
source: 'datasourceConfigModal',
|
|
31
|
+
component: 'datasourceConfigModal',
|
|
32
|
+
attributes: {
|
|
33
|
+
dataProvider: dataProvider
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
}, jsx(DatasourceExperienceIdProvider, null, jsx(UserInteractionsProvider, null, jsx(DatasourceContextProvider, {
|
|
37
|
+
datasourceId: datasourceId,
|
|
38
|
+
initialVisibleColumnKeys: visibleColumnKeys,
|
|
39
|
+
initialColumnCustomSizes: columnCustomSizes,
|
|
40
|
+
initialWrappedColumnKeys: wrappedColumnKeys,
|
|
41
|
+
initialParameters: parameters,
|
|
42
|
+
isValidParameters: isValidParameters,
|
|
43
|
+
onInsert: onInsert
|
|
44
|
+
}, jsx(DatasourceViewModeProvider, {
|
|
45
|
+
viewMode: viewMode !== null && viewMode !== void 0 ? viewMode : DEFAULT_VIEW_MODE
|
|
46
|
+
}, jsx(ModalContent, props))))));
|
|
47
|
+
};
|
|
48
|
+
};
|
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
import _extends from "@babel/runtime/helpers/extends";
|
|
2
|
-
import React from 'react';
|
|
2
|
+
import React, { useCallback } from 'react';
|
|
3
3
|
import { fg } from '@atlaskit/platform-feature-flags';
|
|
4
|
+
import { DatasourceAction } from '../../../../analytics/types';
|
|
5
|
+
import { useUserInteractions } from '../../../../contexts/user-interactions';
|
|
4
6
|
import { IssueLikeDataTableView } from '../../../issue-like-table';
|
|
5
7
|
import { useDatasourceContext } from '../datasource-context';
|
|
6
8
|
var Table = function Table(props) {
|
|
@@ -21,13 +23,19 @@ var Table = function Table(props) {
|
|
|
21
23
|
loadDatasourceDetails = _useDatasourceContext2.loadDatasourceDetails,
|
|
22
24
|
_useDatasourceContext3 = _useDatasourceContext2.extensionKey,
|
|
23
25
|
extensionKey = _useDatasourceContext3 === void 0 ? null : _useDatasourceContext3;
|
|
26
|
+
var userInteractions = useUserInteractions();
|
|
27
|
+
var handleOnNextPage = useCallback(function () {
|
|
28
|
+
var onNextPageProps = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
29
|
+
userInteractions.add(DatasourceAction.NEXT_PAGE_SCROLLED);
|
|
30
|
+
onNextPage(onNextPageProps);
|
|
31
|
+
}, [onNextPage, userInteractions]);
|
|
24
32
|
return /*#__PURE__*/React.createElement(IssueLikeDataTableView, _extends({}, props, {
|
|
25
33
|
status: status,
|
|
26
34
|
columns: columns,
|
|
27
35
|
items: responseItems,
|
|
28
36
|
hasNextPage: hasNextPage,
|
|
29
37
|
visibleColumnKeys: visibleColumnKeys || defaultVisibleColumnKeys,
|
|
30
|
-
onNextPage:
|
|
38
|
+
onNextPage: handleOnNextPage,
|
|
31
39
|
onLoadDatasourceDetails: loadDatasourceDetails,
|
|
32
40
|
onVisibleColumnKeysChange: onVisibleColumnKeysChange,
|
|
33
41
|
extensionKey: extensionKey,
|
|
@@ -21,6 +21,7 @@ export var InsertButton = function InsertButton(_ref) {
|
|
|
21
21
|
var testId = _ref.testId,
|
|
22
22
|
url = _ref.url,
|
|
23
23
|
getAnalyticsPayload = _ref.getAnalyticsPayload,
|
|
24
|
+
overwriteParameters = _ref.overwriteParameters,
|
|
24
25
|
children = _ref.children;
|
|
25
26
|
var _useDatasourceContext = useDatasourceContext(),
|
|
26
27
|
datasourceId = _useDatasourceContext.datasourceId,
|
|
@@ -45,13 +46,13 @@ export var InsertButton = function InsertButton(_ref) {
|
|
|
45
46
|
}
|
|
46
47
|
var insertButtonClickedEvent = analyticsEvent.update({
|
|
47
48
|
actionSubjectId: 'insert',
|
|
48
|
-
attributes: _objectSpread(
|
|
49
|
+
attributes: _objectSpread({
|
|
49
50
|
totalItemCount: totalCount || 0,
|
|
50
51
|
displayedColumnCount: visibleColumnCount.current,
|
|
51
52
|
display: currentViewMode === 'inline' ? DatasourceDisplay.DATASOURCE_INLINE : DatasourceDisplay.DATASOURCE_TABLE,
|
|
52
53
|
searchMethod: DatasourceSearchMethod.DATASOURCE_SEARCH_QUERY,
|
|
53
54
|
actions: userInteractions.get()
|
|
54
|
-
}),
|
|
55
|
+
}, getAnalyticsPayload()),
|
|
55
56
|
eventType: 'ui'
|
|
56
57
|
});
|
|
57
58
|
var consumerEvent = (_insertButtonClickedE = insertButtonClickedEvent.clone()) !== null && _insertButtonClickedE !== void 0 ? _insertButtonClickedE : undefined;
|
|
@@ -66,7 +67,7 @@ export var InsertButton = function InsertButton(_ref) {
|
|
|
66
67
|
} else {
|
|
67
68
|
onInsert(buildDatasourceAdf({
|
|
68
69
|
id: datasourceId,
|
|
69
|
-
parameters: parameters,
|
|
70
|
+
parameters: overwriteParameters ? overwriteParameters(parameters) : parameters,
|
|
70
71
|
views: [{
|
|
71
72
|
type: 'table',
|
|
72
73
|
properties: {
|
|
@@ -85,7 +86,7 @@ export var InsertButton = function InsertButton(_ref) {
|
|
|
85
86
|
}]
|
|
86
87
|
}, url), consumerEvent);
|
|
87
88
|
}
|
|
88
|
-
}, [
|
|
89
|
+
}, [columnCustomSizes, currentViewMode, datasourceId, getAnalyticsPayload, isValidParameters, onInsert, overwriteParameters, parameters, totalCount, url, userInteractions, visibleColumnCount, visibleColumnKeys, wrappedColumnKeys]);
|
|
89
90
|
return jsx(Button, {
|
|
90
91
|
appearance: "primary",
|
|
91
92
|
onClick: onInsertPressed,
|
|
@@ -12,7 +12,7 @@ import { Fragment, useCallback, useEffect, useMemo, useRef, useState } from 'rea
|
|
|
12
12
|
// eslint-disable-next-line @atlaskit/ui-styling-standard/use-compiled -- Ignored via go/DSP-18766
|
|
13
13
|
import { jsx } from '@emotion/react';
|
|
14
14
|
import { FormattedMessage } from 'react-intl-next';
|
|
15
|
-
import {
|
|
15
|
+
import { AnalyticsContext } from '@atlaskit/analytics-next';
|
|
16
16
|
import { IntlMessagesProvider } from '@atlaskit/intl-messages-provider';
|
|
17
17
|
import { ModalBody, ModalFooter, ModalHeader, ModalTitle } from '@atlaskit/modal-dialog';
|
|
18
18
|
import { fg } from '@atlaskit/platform-feature-flags';
|
|
@@ -25,6 +25,7 @@ import { DatasourceExperienceIdProvider } from '../../../contexts/datasource-exp
|
|
|
25
25
|
import { UserInteractionsProvider, useUserInteractions } from '../../../contexts/user-interactions';
|
|
26
26
|
import i18nEN from '../../../i18n/en';
|
|
27
27
|
import { useAvailableSites } from '../../../services/useAvailableSites';
|
|
28
|
+
import { StoreContainer } from '../../../state';
|
|
28
29
|
import { AccessRequired } from '../../common/error-state/access-required';
|
|
29
30
|
import { ModalLoadingError } from '../../common/error-state/modal-loading-error';
|
|
30
31
|
import { NoInstancesView } from '../../common/error-state/no-instances';
|
|
@@ -33,12 +34,13 @@ import { InitialStateView } from '../../common/initial-state-view';
|
|
|
33
34
|
import { CancelButton } from '../../common/modal/cancel-button';
|
|
34
35
|
import { ContentContainer } from '../../common/modal/content-container';
|
|
35
36
|
import { SmartCardPlaceholder, SmartLink } from '../../common/modal/count-view-smart-link';
|
|
36
|
-
import {
|
|
37
|
+
import { useDatasourceContext } from '../../common/modal/datasource-context';
|
|
37
38
|
import { DatasourceModal } from '../../common/modal/datasource-modal';
|
|
39
|
+
import { createDatasourceModal } from '../../common/modal/datasource-modal/createDatasourceModal';
|
|
38
40
|
import DatasourcesTableInModalPreview from '../../common/modal/datasources-table-in-modal-preview';
|
|
39
41
|
import { InsertButton } from '../../common/modal/insert-button';
|
|
40
42
|
import { DatasourceViewModeDropDown } from '../../common/modal/mode-switcher';
|
|
41
|
-
import {
|
|
43
|
+
import { useViewModeContext } from '../../common/modal/mode-switcher/useViewModeContext';
|
|
42
44
|
import TableSearchCount from '../../common/modal/search-count';
|
|
43
45
|
import { SiteSelector } from '../../common/modal/site-selector';
|
|
44
46
|
import { EmptyState } from '../../issue-like-table';
|
|
@@ -46,7 +48,6 @@ import ConfluenceSearchContainer from '../confluence-search-container';
|
|
|
46
48
|
import { ConfluenceSearchInitialStateSVG } from './confluence-search-initial-state-svg';
|
|
47
49
|
import { confluenceSearchModalMessages } from './messages';
|
|
48
50
|
import { PlainConfluenceSearchConfigModal as PlainConfluenceSearchConfigModalOld } from './ModalOld';
|
|
49
|
-
var DEFAULT_VIEW_MODE = 'table';
|
|
50
51
|
var inputContainerStyles = xcss({
|
|
51
52
|
alignItems: 'baseline',
|
|
52
53
|
display: 'flex',
|
|
@@ -74,32 +75,44 @@ var useUpdateParametersOnFormUpdate = function useUpdateParametersOnFormUpdate(c
|
|
|
74
75
|
};
|
|
75
76
|
export var PlainConfluenceSearchConfigModal = function PlainConfluenceSearchConfigModal(props) {
|
|
76
77
|
var onCancel = props.onCancel,
|
|
77
|
-
initialParameters = props.parameters,
|
|
78
78
|
urlBeingEdited = props.url,
|
|
79
79
|
_props$disableDisplay = props.disableDisplayDropdown,
|
|
80
80
|
disableDisplayDropdown = _props$disableDisplay === void 0 ? false : _props$disableDisplay,
|
|
81
81
|
overrideParameters = props.overrideParameters;
|
|
82
82
|
var _useViewModeContext = useViewModeContext(),
|
|
83
83
|
currentViewMode = _useViewModeContext.currentViewMode;
|
|
84
|
-
var
|
|
84
|
+
var _useDatasourceContext2 = useDatasourceContext(),
|
|
85
|
+
visibleColumnKeys = _useDatasourceContext2.visibleColumnKeys,
|
|
86
|
+
_useDatasourceContext3 = _useDatasourceContext2.tableState,
|
|
87
|
+
reset = _useDatasourceContext3.reset,
|
|
88
|
+
status = _useDatasourceContext3.status,
|
|
89
|
+
responseItems = _useDatasourceContext3.responseItems,
|
|
90
|
+
_useDatasourceContext4 = _useDatasourceContext3.extensionKey,
|
|
91
|
+
extensionKey = _useDatasourceContext4 === void 0 ? null : _useDatasourceContext4,
|
|
92
|
+
destinationObjectTypes = _useDatasourceContext3.destinationObjectTypes,
|
|
93
|
+
totalCount = _useDatasourceContext3.totalCount,
|
|
94
|
+
columns = _useDatasourceContext3.columns,
|
|
95
|
+
visibleColumnCount = _useDatasourceContext2.visibleColumnCount,
|
|
96
|
+
parameters = _useDatasourceContext2.parameters;
|
|
97
|
+
var _useState = useState(parameters === null || parameters === void 0 ? void 0 : parameters.cloudId),
|
|
85
98
|
_useState2 = _slicedToArray(_useState, 2),
|
|
86
99
|
cloudId = _useState2[0],
|
|
87
100
|
setCloudId = _useState2[1];
|
|
88
101
|
var _useAvailableSites = useAvailableSites('confluence', cloudId),
|
|
89
102
|
availableSites = _useAvailableSites.availableSites,
|
|
90
103
|
selectedConfluenceSite = _useAvailableSites.selectedSite;
|
|
91
|
-
var _useState3 = useState(
|
|
104
|
+
var _useState3 = useState(parameters === null || parameters === void 0 ? void 0 : parameters.searchString),
|
|
92
105
|
_useState4 = _slicedToArray(_useState3, 2),
|
|
93
106
|
searchString = _useState4[0],
|
|
94
107
|
setSearchString = _useState4[1];
|
|
95
|
-
var _useState5 = useState((
|
|
108
|
+
var _useState5 = useState((parameters === null || parameters === void 0 ? void 0 : parameters.contributorAccountIds) || []),
|
|
96
109
|
_useState6 = _slicedToArray(_useState5, 2),
|
|
97
110
|
contributorAccountIds = _useState6[0],
|
|
98
111
|
setContributorAccountIds = _useState6[1];
|
|
99
|
-
var _useState7 = useState(
|
|
100
|
-
value:
|
|
101
|
-
from:
|
|
102
|
-
to:
|
|
112
|
+
var _useState7 = useState(parameters !== null && parameters !== void 0 && parameters.lastModified ? {
|
|
113
|
+
value: parameters === null || parameters === void 0 ? void 0 : parameters.lastModified,
|
|
114
|
+
from: parameters === null || parameters === void 0 ? void 0 : parameters.lastModifiedFrom,
|
|
115
|
+
to: parameters === null || parameters === void 0 ? void 0 : parameters.lastModifiedTo
|
|
103
116
|
} : undefined),
|
|
104
117
|
_useState8 = _slicedToArray(_useState7, 2),
|
|
105
118
|
lastModified = _useState8[0],
|
|
@@ -109,19 +122,6 @@ export var PlainConfluenceSearchConfigModal = function PlainConfluenceSearchConf
|
|
|
109
122
|
var searchCount = useRef(0);
|
|
110
123
|
var userInteractions = useUserInteractions();
|
|
111
124
|
useUpdateParametersOnFormUpdate(cloudId, searchString, lastModified, contributorAccountIds, overrideParameters);
|
|
112
|
-
var _useDatasourceContext2 = useDatasourceContext(),
|
|
113
|
-
visibleColumnKeys = _useDatasourceContext2.visibleColumnKeys,
|
|
114
|
-
_useDatasourceContext3 = _useDatasourceContext2.tableState,
|
|
115
|
-
reset = _useDatasourceContext3.reset,
|
|
116
|
-
status = _useDatasourceContext3.status,
|
|
117
|
-
responseItems = _useDatasourceContext3.responseItems,
|
|
118
|
-
_useDatasourceContext4 = _useDatasourceContext3.extensionKey,
|
|
119
|
-
extensionKey = _useDatasourceContext4 === void 0 ? null : _useDatasourceContext4,
|
|
120
|
-
destinationObjectTypes = _useDatasourceContext3.destinationObjectTypes,
|
|
121
|
-
totalCount = _useDatasourceContext3.totalCount,
|
|
122
|
-
columns = _useDatasourceContext3.columns,
|
|
123
|
-
visibleColumnCount = _useDatasourceContext2.visibleColumnCount,
|
|
124
|
-
parameters = _useDatasourceContext2.parameters;
|
|
125
125
|
var _useDatasourceAnalyti = useDatasourceAnalyticsEvents(),
|
|
126
126
|
fireEvent = _useDatasourceAnalyti.fireEvent;
|
|
127
127
|
var hasNoConfluenceSites = availableSites && availableSites.length === 0;
|
|
@@ -315,7 +315,7 @@ export var PlainConfluenceSearchConfigModal = function PlainConfluenceSearchConf
|
|
|
315
315
|
}, jsx(ConfluenceSearchContainer, {
|
|
316
316
|
isSearching: status === 'loading',
|
|
317
317
|
onSearch: onSearch,
|
|
318
|
-
parameters: isValidParameters(parameters) ? parameters : {
|
|
318
|
+
parameters: parameters && isValidParameters(parameters) ? parameters : {
|
|
319
319
|
cloudId: ''
|
|
320
320
|
}
|
|
321
321
|
})), currentViewMode === 'inline' ? renderInlineLinkModalContent() : renderTableModalContent()) : jsx(NoInstancesView, {
|
|
@@ -346,19 +346,16 @@ var analyticsContextData = _objectSpread(_objectSpread({}, componentMetadata.con
|
|
|
346
346
|
var contextData = _objectSpread(_objectSpread({}, analyticsContextData), {}, {
|
|
347
347
|
attributes: _objectSpread({}, analyticsContextAttributes)
|
|
348
348
|
});
|
|
349
|
-
|
|
350
|
-
|
|
351
|
-
|
|
352
|
-
|
|
353
|
-
|
|
354
|
-
|
|
355
|
-
|
|
356
|
-
|
|
357
|
-
|
|
358
|
-
|
|
359
|
-
|
|
360
|
-
|
|
361
|
-
|
|
362
|
-
// TODO on cleanup 'use-refactored-config-modal' ff, delete `ModalOld.tsx` as well
|
|
363
|
-
jsx(PlainConfluenceSearchConfigModalOld, props)));
|
|
364
|
-
});
|
|
349
|
+
var ConnectedConfluenceSearchConfigModal = createDatasourceModal({
|
|
350
|
+
isValidParameters: isValidParameters,
|
|
351
|
+
dataProvider: 'confluence-search',
|
|
352
|
+
component: PlainConfluenceSearchConfigModal
|
|
353
|
+
});
|
|
354
|
+
export var ConfluenceSearchConfigModal = function ConfluenceSearchConfigModal(props) {
|
|
355
|
+
if (fg('platform-datasources-use-refactored-config-modal')) {
|
|
356
|
+
return jsx(StoreContainer, null, jsx(ConnectedConfluenceSearchConfigModal, props));
|
|
357
|
+
}
|
|
358
|
+
return jsx(StoreContainer, null, jsx(AnalyticsContext, {
|
|
359
|
+
data: contextData
|
|
360
|
+
}, jsx(DatasourceExperienceIdProvider, null, jsx(UserInteractionsProvider, null, jsx(PlainConfluenceSearchConfigModalOld, props)))));
|
|
361
|
+
};
|
|
@@ -8,7 +8,7 @@ import { useCallback, useEffect, useRef } from 'react';
|
|
|
8
8
|
import { css, jsx } from '@emotion/react';
|
|
9
9
|
import { withAnalyticsContext } from '@atlaskit/analytics-next';
|
|
10
10
|
import { IntlMessagesProvider } from '@atlaskit/intl-messages-provider';
|
|
11
|
-
import {
|
|
11
|
+
import { fg } from '@atlaskit/platform-feature-flags';
|
|
12
12
|
import { useDatasourceAnalyticsEvents } from '../../analytics';
|
|
13
13
|
import { componentMetadata } from '../../analytics/constants';
|
|
14
14
|
import { startUfoExperience } from '../../analytics/ufoExperiences';
|
|
@@ -18,6 +18,7 @@ import { fetchMessagesForLocale } from '../../common/utils/locale/fetch-messages
|
|
|
18
18
|
import { DatasourceExperienceIdProvider, useDatasourceExperienceId } from '../../contexts/datasource-experience-id';
|
|
19
19
|
import { useDatasourceTableState } from '../../hooks/useDatasourceTableState';
|
|
20
20
|
import i18nEN from '../../i18n/en';
|
|
21
|
+
import { StoreContainer } from '../../state';
|
|
21
22
|
import { ScrollableContainerHeight } from '../../ui/issue-like-table/styled';
|
|
22
23
|
import { ASSETS_LIST_OF_LINKS_DATASOURCE_ID } from '../assets-modal';
|
|
23
24
|
import { AccessRequired } from '../common/error-state/access-required';
|
|
@@ -113,7 +114,7 @@ var DatasourceTableViewWithoutAnalytics = function DatasourceTableViewWithoutAna
|
|
|
113
114
|
var forcedReset = useCallback(function () {
|
|
114
115
|
reset({
|
|
115
116
|
shouldForceRequest: true,
|
|
116
|
-
shouldResetColumns:
|
|
117
|
+
shouldResetColumns: fg('platform.linking-platform.datasource-assets_update_refresh_button_dt3qk') && datasourceId === ASSETS_LIST_OF_LINKS_DATASOURCE_ID
|
|
117
118
|
});
|
|
118
119
|
}, [reset, datasourceId]);
|
|
119
120
|
var onRefresh = useCallback(function () {
|
|
@@ -184,5 +185,5 @@ var DatasourceTableViewWithoutAnalytics = function DatasourceTableViewWithoutAna
|
|
|
184
185
|
})));
|
|
185
186
|
};
|
|
186
187
|
export var DatasourceTableView = withAnalyticsContext(componentMetadata.tableView)(function (props) {
|
|
187
|
-
return jsx(DatasourceExperienceIdProvider, null, jsx(DatasourceTableViewWithoutAnalytics, props));
|
|
188
|
+
return jsx(StoreContainer, null, jsx(DatasourceExperienceIdProvider, null, jsx(DatasourceTableViewWithoutAnalytics, props)));
|
|
188
189
|
});
|