@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
|
@@ -12,7 +12,7 @@ import { withAnalyticsContext } from '@atlaskit/analytics-next';
|
|
|
12
12
|
import Button from '@atlaskit/button/standard-button';
|
|
13
13
|
import { IntlMessagesProvider } from '@atlaskit/intl-messages-provider';
|
|
14
14
|
import { ModalBody, ModalFooter, ModalHeader, ModalTitle, ModalTransition } from '@atlaskit/modal-dialog';
|
|
15
|
-
import {
|
|
15
|
+
import { fg } from '@atlaskit/platform-feature-flags';
|
|
16
16
|
import { EVENT_CHANNEL, useDatasourceAnalyticsEvents } from '../../../analytics';
|
|
17
17
|
import { componentMetadata } from '../../../analytics/constants';
|
|
18
18
|
import { DatasourceAction, DatasourceDisplay, DatasourceSearchMethod } from '../../../analytics/types';
|
|
@@ -27,6 +27,7 @@ import { useAssetsClient } from '../../../hooks/useAssetsClient';
|
|
|
27
27
|
import { useDatasourceTableState } from '../../../hooks/useDatasourceTableState';
|
|
28
28
|
import i18nEN from '../../../i18n/en';
|
|
29
29
|
import { PermissionError } from '../../../services/cmdbService.utils';
|
|
30
|
+
import { StoreContainer } from '../../../state';
|
|
30
31
|
import { AccessRequired } from '../../../ui/common/error-state/access-required';
|
|
31
32
|
import { ModalLoadingError } from '../../common/error-state/modal-loading-error';
|
|
32
33
|
import { CancelButton } from '../../common/modal/cancel-button';
|
|
@@ -54,7 +55,9 @@ const PlainAssetsConfigModal = props => {
|
|
|
54
55
|
const [aql, setAql] = useState(initialParameters === null || initialParameters === void 0 ? void 0 : initialParameters.aql);
|
|
55
56
|
const [schemaId, setSchemaId] = useState(initialParameters === null || initialParameters === void 0 ? void 0 : initialParameters.schemaId);
|
|
56
57
|
const apiVersion = initialParameters === null || initialParameters === void 0 ? void 0 : initialParameters.version;
|
|
57
|
-
const [visibleColumnKeys, setVisibleColumnKeys] = useState(
|
|
58
|
+
const [visibleColumnKeys, setVisibleColumnKeys] = useState(
|
|
59
|
+
// eslint-disable-next-line @atlaskit/platform/no-preconditioning
|
|
60
|
+
fg('platform.linking-platform.datasource-assets_add_version_parameter') && apiVersion !== VERSION_TWO ? [] : initialVisibleColumnKeys);
|
|
58
61
|
const [isNewSearch, setIsNewSearch] = useState(false);
|
|
59
62
|
const [errorState, setErrorState] = useState();
|
|
60
63
|
const {
|
|
@@ -105,7 +108,7 @@ const PlainAssetsConfigModal = props => {
|
|
|
105
108
|
aql: aql || '',
|
|
106
109
|
schemaId: schemaId || '',
|
|
107
110
|
workspaceId: workspaceId || '',
|
|
108
|
-
...(
|
|
111
|
+
...(fg('platform.linking-platform.datasource-assets_add_version_parameter') ? {
|
|
109
112
|
version: VERSION_TWO
|
|
110
113
|
} : {})
|
|
111
114
|
}), [aql, schemaId, workspaceId]);
|
|
@@ -190,7 +193,7 @@ const PlainAssetsConfigModal = props => {
|
|
|
190
193
|
setIsNewSearch(false);
|
|
191
194
|
}, []);
|
|
192
195
|
useEffect(() => {
|
|
193
|
-
if (
|
|
196
|
+
if (fg('platform.linking-platform.datasource-assets_add_version_parameter')) {
|
|
194
197
|
const newVisibleColumnKeys = initialVisibleColumnKeys && initialVisibleColumnKeys.length > 0 && apiVersion === VERSION_TWO ? initialVisibleColumnKeys : defaultVisibleColumnKeys;
|
|
195
198
|
setVisibleColumnKeys(newVisibleColumnKeys);
|
|
196
199
|
} else {
|
|
@@ -249,7 +252,7 @@ const PlainAssetsConfigModal = props => {
|
|
|
249
252
|
workspaceId,
|
|
250
253
|
aql,
|
|
251
254
|
schemaId,
|
|
252
|
-
...(
|
|
255
|
+
...(fg('platform.linking-platform.datasource-assets_add_version_parameter') ? {
|
|
253
256
|
version: VERSION_TWO
|
|
254
257
|
} : {})
|
|
255
258
|
},
|
|
@@ -374,4 +377,4 @@ const contextData = {
|
|
|
374
377
|
...analyticsContextAttributes
|
|
375
378
|
}
|
|
376
379
|
};
|
|
377
|
-
export const AssetsConfigModal = withAnalyticsContext(contextData)(props => jsx(DatasourceExperienceIdProvider, null, jsx(UserInteractionsProvider, null, jsx(PlainAssetsConfigModal, props))));
|
|
380
|
+
export const AssetsConfigModal = withAnalyticsContext(contextData)(props => jsx(StoreContainer, null, jsx(DatasourceExperienceIdProvider, null, jsx(UserInteractionsProvider, null, jsx(PlainAssetsConfigModal, props)))));
|
|
@@ -51,7 +51,7 @@ export const DatasourceContextProvider = ({
|
|
|
51
51
|
onWrappedColumnChange,
|
|
52
52
|
parameters,
|
|
53
53
|
setParameters,
|
|
54
|
-
onInsert
|
|
54
|
+
onInsert: onInsert
|
|
55
55
|
}), [datasourceId, isValidParameters, tableState, visibleColumnCount, visibleColumnKeys, onVisibleColumnKeysChange, columnCustomSizes, onColumnResize, wrappedColumnKeys, onWrappedColumnChange, parameters, onInsert]);
|
|
56
56
|
return /*#__PURE__*/React.createElement(DatasourceContext.Provider, {
|
|
57
57
|
value: contextValue
|
|
@@ -0,0 +1,51 @@
|
|
|
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
|
+
const DEFAULT_VIEW_MODE = 'table';
|
|
16
|
+
export const createDatasourceModal = ({
|
|
17
|
+
isValidParameters,
|
|
18
|
+
dataProvider,
|
|
19
|
+
component: ModalContent
|
|
20
|
+
}) => {
|
|
21
|
+
return props => {
|
|
22
|
+
const {
|
|
23
|
+
datasourceId,
|
|
24
|
+
visibleColumnKeys,
|
|
25
|
+
columnCustomSizes,
|
|
26
|
+
wrappedColumnKeys,
|
|
27
|
+
parameters,
|
|
28
|
+
onInsert,
|
|
29
|
+
viewMode
|
|
30
|
+
} = props;
|
|
31
|
+
return jsx(AnalyticsContext, {
|
|
32
|
+
data: {
|
|
33
|
+
source: 'datasourceConfigModal',
|
|
34
|
+
component: 'datasourceConfigModal',
|
|
35
|
+
attributes: {
|
|
36
|
+
dataProvider
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
}, jsx(DatasourceExperienceIdProvider, null, jsx(UserInteractionsProvider, null, jsx(DatasourceContextProvider, {
|
|
40
|
+
datasourceId: datasourceId,
|
|
41
|
+
initialVisibleColumnKeys: visibleColumnKeys,
|
|
42
|
+
initialColumnCustomSizes: columnCustomSizes,
|
|
43
|
+
initialWrappedColumnKeys: wrappedColumnKeys,
|
|
44
|
+
initialParameters: parameters,
|
|
45
|
+
isValidParameters: isValidParameters,
|
|
46
|
+
onInsert: onInsert
|
|
47
|
+
}, jsx(DatasourceViewModeProvider, {
|
|
48
|
+
viewMode: viewMode !== null && viewMode !== void 0 ? viewMode : DEFAULT_VIEW_MODE
|
|
49
|
+
}, jsx(ModalContent, props))))));
|
|
50
|
+
};
|
|
51
|
+
};
|
|
@@ -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
|
const Table = props => {
|
|
@@ -22,13 +24,18 @@ const Table = props => {
|
|
|
22
24
|
extensionKey = null
|
|
23
25
|
}
|
|
24
26
|
} = useDatasourceContext();
|
|
27
|
+
const userInteractions = useUserInteractions();
|
|
28
|
+
const handleOnNextPage = useCallback((onNextPageProps = {}) => {
|
|
29
|
+
userInteractions.add(DatasourceAction.NEXT_PAGE_SCROLLED);
|
|
30
|
+
onNextPage(onNextPageProps);
|
|
31
|
+
}, [onNextPage, userInteractions]);
|
|
25
32
|
return /*#__PURE__*/React.createElement(IssueLikeDataTableView, _extends({}, props, {
|
|
26
33
|
status: status,
|
|
27
34
|
columns: columns,
|
|
28
35
|
items: responseItems,
|
|
29
36
|
hasNextPage: hasNextPage,
|
|
30
37
|
visibleColumnKeys: visibleColumnKeys || defaultVisibleColumnKeys,
|
|
31
|
-
onNextPage:
|
|
38
|
+
onNextPage: handleOnNextPage,
|
|
32
39
|
onLoadDatasourceDetails: loadDatasourceDetails,
|
|
33
40
|
onVisibleColumnKeysChange: onVisibleColumnKeysChange,
|
|
34
41
|
extensionKey: extensionKey,
|
|
@@ -18,6 +18,7 @@ export const InsertButton = ({
|
|
|
18
18
|
testId,
|
|
19
19
|
url,
|
|
20
20
|
getAnalyticsPayload,
|
|
21
|
+
overwriteParameters,
|
|
21
22
|
children
|
|
22
23
|
}) => {
|
|
23
24
|
const {
|
|
@@ -47,12 +48,12 @@ export const InsertButton = ({
|
|
|
47
48
|
const insertButtonClickedEvent = analyticsEvent.update({
|
|
48
49
|
actionSubjectId: 'insert',
|
|
49
50
|
attributes: {
|
|
50
|
-
...getAnalyticsPayload(),
|
|
51
51
|
totalItemCount: totalCount || 0,
|
|
52
52
|
displayedColumnCount: visibleColumnCount.current,
|
|
53
53
|
display: currentViewMode === 'inline' ? DatasourceDisplay.DATASOURCE_INLINE : DatasourceDisplay.DATASOURCE_TABLE,
|
|
54
54
|
searchMethod: DatasourceSearchMethod.DATASOURCE_SEARCH_QUERY,
|
|
55
|
-
actions: userInteractions.get()
|
|
55
|
+
actions: userInteractions.get(),
|
|
56
|
+
...getAnalyticsPayload()
|
|
56
57
|
},
|
|
57
58
|
eventType: 'ui'
|
|
58
59
|
});
|
|
@@ -68,7 +69,7 @@ export const InsertButton = ({
|
|
|
68
69
|
} else {
|
|
69
70
|
onInsert(buildDatasourceAdf({
|
|
70
71
|
id: datasourceId,
|
|
71
|
-
parameters: parameters,
|
|
72
|
+
parameters: overwriteParameters ? overwriteParameters(parameters) : parameters,
|
|
72
73
|
views: [{
|
|
73
74
|
type: 'table',
|
|
74
75
|
properties: {
|
|
@@ -89,7 +90,7 @@ export const InsertButton = ({
|
|
|
89
90
|
}]
|
|
90
91
|
}, url), consumerEvent);
|
|
91
92
|
}
|
|
92
|
-
}, [
|
|
93
|
+
}, [columnCustomSizes, currentViewMode, datasourceId, getAnalyticsPayload, isValidParameters, onInsert, overwriteParameters, parameters, totalCount, url, userInteractions, visibleColumnCount, visibleColumnKeys, wrappedColumnKeys]);
|
|
93
94
|
return jsx(Button, {
|
|
94
95
|
appearance: "primary",
|
|
95
96
|
onClick: onInsertPressed,
|
|
@@ -8,7 +8,7 @@ import { Fragment, useCallback, useEffect, useMemo, useRef, useState } from 'rea
|
|
|
8
8
|
// eslint-disable-next-line @atlaskit/ui-styling-standard/use-compiled -- Ignored via go/DSP-18766
|
|
9
9
|
import { jsx } from '@emotion/react';
|
|
10
10
|
import { FormattedMessage } from 'react-intl-next';
|
|
11
|
-
import {
|
|
11
|
+
import { AnalyticsContext } from '@atlaskit/analytics-next';
|
|
12
12
|
import { IntlMessagesProvider } from '@atlaskit/intl-messages-provider';
|
|
13
13
|
import { ModalBody, ModalFooter, ModalHeader, ModalTitle } from '@atlaskit/modal-dialog';
|
|
14
14
|
import { fg } from '@atlaskit/platform-feature-flags';
|
|
@@ -21,6 +21,7 @@ import { DatasourceExperienceIdProvider } from '../../../contexts/datasource-exp
|
|
|
21
21
|
import { UserInteractionsProvider, useUserInteractions } from '../../../contexts/user-interactions';
|
|
22
22
|
import i18nEN from '../../../i18n/en';
|
|
23
23
|
import { useAvailableSites } from '../../../services/useAvailableSites';
|
|
24
|
+
import { StoreContainer } from '../../../state';
|
|
24
25
|
import { AccessRequired } from '../../common/error-state/access-required';
|
|
25
26
|
import { ModalLoadingError } from '../../common/error-state/modal-loading-error';
|
|
26
27
|
import { NoInstancesView } from '../../common/error-state/no-instances';
|
|
@@ -29,12 +30,13 @@ import { InitialStateView } from '../../common/initial-state-view';
|
|
|
29
30
|
import { CancelButton } from '../../common/modal/cancel-button';
|
|
30
31
|
import { ContentContainer } from '../../common/modal/content-container';
|
|
31
32
|
import { SmartCardPlaceholder, SmartLink } from '../../common/modal/count-view-smart-link';
|
|
32
|
-
import {
|
|
33
|
+
import { useDatasourceContext } from '../../common/modal/datasource-context';
|
|
33
34
|
import { DatasourceModal } from '../../common/modal/datasource-modal';
|
|
35
|
+
import { createDatasourceModal } from '../../common/modal/datasource-modal/createDatasourceModal';
|
|
34
36
|
import DatasourcesTableInModalPreview from '../../common/modal/datasources-table-in-modal-preview';
|
|
35
37
|
import { InsertButton } from '../../common/modal/insert-button';
|
|
36
38
|
import { DatasourceViewModeDropDown } from '../../common/modal/mode-switcher';
|
|
37
|
-
import {
|
|
39
|
+
import { useViewModeContext } from '../../common/modal/mode-switcher/useViewModeContext';
|
|
38
40
|
import TableSearchCount from '../../common/modal/search-count';
|
|
39
41
|
import { SiteSelector } from '../../common/modal/site-selector';
|
|
40
42
|
import { EmptyState } from '../../issue-like-table';
|
|
@@ -42,7 +44,6 @@ import ConfluenceSearchContainer from '../confluence-search-container';
|
|
|
42
44
|
import { ConfluenceSearchInitialStateSVG } from './confluence-search-initial-state-svg';
|
|
43
45
|
import { confluenceSearchModalMessages } from './messages';
|
|
44
46
|
import { PlainConfluenceSearchConfigModal as PlainConfluenceSearchConfigModalOld } from './ModalOld';
|
|
45
|
-
const DEFAULT_VIEW_MODE = 'table';
|
|
46
47
|
const inputContainerStyles = xcss({
|
|
47
48
|
alignItems: 'baseline',
|
|
48
49
|
display: 'flex',
|
|
@@ -74,7 +75,6 @@ const useUpdateParametersOnFormUpdate = (cloudId, searchString, lastModified, co
|
|
|
74
75
|
export const PlainConfluenceSearchConfigModal = props => {
|
|
75
76
|
const {
|
|
76
77
|
onCancel,
|
|
77
|
-
parameters: initialParameters,
|
|
78
78
|
url: urlBeingEdited,
|
|
79
79
|
disableDisplayDropdown = false,
|
|
80
80
|
overrideParameters
|
|
@@ -82,23 +82,6 @@ export const PlainConfluenceSearchConfigModal = props => {
|
|
|
82
82
|
const {
|
|
83
83
|
currentViewMode
|
|
84
84
|
} = useViewModeContext();
|
|
85
|
-
const [cloudId, setCloudId] = useState(initialParameters === null || initialParameters === void 0 ? void 0 : initialParameters.cloudId);
|
|
86
|
-
const {
|
|
87
|
-
availableSites,
|
|
88
|
-
selectedSite: selectedConfluenceSite
|
|
89
|
-
} = useAvailableSites('confluence', cloudId);
|
|
90
|
-
const [searchString, setSearchString] = useState(initialParameters === null || initialParameters === void 0 ? void 0 : initialParameters.searchString);
|
|
91
|
-
const [contributorAccountIds, setContributorAccountIds] = useState((initialParameters === null || initialParameters === void 0 ? void 0 : initialParameters.contributorAccountIds) || []);
|
|
92
|
-
const [lastModified, setLastModified] = useState(initialParameters !== null && initialParameters !== void 0 && initialParameters.lastModified ? {
|
|
93
|
-
value: initialParameters === null || initialParameters === void 0 ? void 0 : initialParameters.lastModified,
|
|
94
|
-
from: initialParameters === null || initialParameters === void 0 ? void 0 : initialParameters.lastModifiedFrom,
|
|
95
|
-
to: initialParameters === null || initialParameters === void 0 ? void 0 : initialParameters.lastModifiedTo
|
|
96
|
-
} : undefined);
|
|
97
|
-
|
|
98
|
-
// analytics related parameters
|
|
99
|
-
const searchCount = useRef(0);
|
|
100
|
-
const userInteractions = useUserInteractions();
|
|
101
|
-
useUpdateParametersOnFormUpdate(cloudId, searchString, lastModified, contributorAccountIds, overrideParameters);
|
|
102
85
|
const {
|
|
103
86
|
visibleColumnKeys,
|
|
104
87
|
tableState: {
|
|
@@ -113,6 +96,23 @@ export const PlainConfluenceSearchConfigModal = props => {
|
|
|
113
96
|
visibleColumnCount,
|
|
114
97
|
parameters
|
|
115
98
|
} = useDatasourceContext();
|
|
99
|
+
const [cloudId, setCloudId] = useState(parameters === null || parameters === void 0 ? void 0 : parameters.cloudId);
|
|
100
|
+
const {
|
|
101
|
+
availableSites,
|
|
102
|
+
selectedSite: selectedConfluenceSite
|
|
103
|
+
} = useAvailableSites('confluence', cloudId);
|
|
104
|
+
const [searchString, setSearchString] = useState(parameters === null || parameters === void 0 ? void 0 : parameters.searchString);
|
|
105
|
+
const [contributorAccountIds, setContributorAccountIds] = useState((parameters === null || parameters === void 0 ? void 0 : parameters.contributorAccountIds) || []);
|
|
106
|
+
const [lastModified, setLastModified] = useState(parameters !== null && parameters !== void 0 && parameters.lastModified ? {
|
|
107
|
+
value: parameters === null || parameters === void 0 ? void 0 : parameters.lastModified,
|
|
108
|
+
from: parameters === null || parameters === void 0 ? void 0 : parameters.lastModifiedFrom,
|
|
109
|
+
to: parameters === null || parameters === void 0 ? void 0 : parameters.lastModifiedTo
|
|
110
|
+
} : undefined);
|
|
111
|
+
|
|
112
|
+
// analytics related parameters
|
|
113
|
+
const searchCount = useRef(0);
|
|
114
|
+
const userInteractions = useUserInteractions();
|
|
115
|
+
useUpdateParametersOnFormUpdate(cloudId, searchString, lastModified, contributorAccountIds, overrideParameters);
|
|
116
116
|
const {
|
|
117
117
|
fireEvent
|
|
118
118
|
} = useDatasourceAnalyticsEvents();
|
|
@@ -305,7 +305,7 @@ export const PlainConfluenceSearchConfigModal = props => {
|
|
|
305
305
|
}, jsx(ConfluenceSearchContainer, {
|
|
306
306
|
isSearching: status === 'loading',
|
|
307
307
|
onSearch: onSearch,
|
|
308
|
-
parameters: isValidParameters(parameters) ? parameters : {
|
|
308
|
+
parameters: parameters && isValidParameters(parameters) ? parameters : {
|
|
309
309
|
cloudId: ''
|
|
310
310
|
}
|
|
311
311
|
})), currentViewMode === 'inline' ? renderInlineLinkModalContent() : renderTableModalContent()) : jsx(NoInstancesView, {
|
|
@@ -340,19 +340,16 @@ const contextData = {
|
|
|
340
340
|
...analyticsContextAttributes
|
|
341
341
|
}
|
|
342
342
|
};
|
|
343
|
-
|
|
344
|
-
|
|
345
|
-
|
|
346
|
-
|
|
347
|
-
|
|
348
|
-
|
|
349
|
-
|
|
350
|
-
|
|
351
|
-
|
|
352
|
-
|
|
353
|
-
|
|
354
|
-
|
|
355
|
-
|
|
356
|
-
// TODO on cleanup 'use-refactored-config-modal' ff, delete `ModalOld.tsx` as well
|
|
357
|
-
jsx(PlainConfluenceSearchConfigModalOld, props)));
|
|
358
|
-
});
|
|
343
|
+
const ConnectedConfluenceSearchConfigModal = createDatasourceModal({
|
|
344
|
+
isValidParameters,
|
|
345
|
+
dataProvider: 'confluence-search',
|
|
346
|
+
component: PlainConfluenceSearchConfigModal
|
|
347
|
+
});
|
|
348
|
+
export const ConfluenceSearchConfigModal = props => {
|
|
349
|
+
if (fg('platform-datasources-use-refactored-config-modal')) {
|
|
350
|
+
return jsx(StoreContainer, null, jsx(ConnectedConfluenceSearchConfigModal, props));
|
|
351
|
+
}
|
|
352
|
+
return jsx(StoreContainer, null, jsx(AnalyticsContext, {
|
|
353
|
+
data: contextData
|
|
354
|
+
}, jsx(DatasourceExperienceIdProvider, null, jsx(UserInteractionsProvider, null, jsx(PlainConfluenceSearchConfigModalOld, props)))));
|
|
355
|
+
};
|
|
@@ -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';
|
|
@@ -115,7 +116,7 @@ const DatasourceTableViewWithoutAnalytics = ({
|
|
|
115
116
|
const forcedReset = useCallback(() => {
|
|
116
117
|
reset({
|
|
117
118
|
shouldForceRequest: true,
|
|
118
|
-
shouldResetColumns:
|
|
119
|
+
shouldResetColumns: fg('platform.linking-platform.datasource-assets_update_refresh_button_dt3qk') && datasourceId === ASSETS_LIST_OF_LINKS_DATASOURCE_ID
|
|
119
120
|
});
|
|
120
121
|
}, [reset, datasourceId]);
|
|
121
122
|
const onRefresh = useCallback(() => {
|
|
@@ -185,4 +186,4 @@ const DatasourceTableViewWithoutAnalytics = ({
|
|
|
185
186
|
url: url
|
|
186
187
|
})));
|
|
187
188
|
};
|
|
188
|
-
export const DatasourceTableView = withAnalyticsContext(componentMetadata.tableView)(props => jsx(DatasourceExperienceIdProvider, null, jsx(DatasourceTableViewWithoutAnalytics, props)));
|
|
189
|
+
export const DatasourceTableView = withAnalyticsContext(componentMetadata.tableView)(props => jsx(StoreContainer, null, jsx(DatasourceExperienceIdProvider, null, jsx(DatasourceTableViewWithoutAnalytics, props))));
|