@atlaskit/link-datasource 1.27.4 → 1.28.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +12 -0
- package/dist/cjs/services/mocks.js +152 -1
- package/dist/cjs/services/useBasicFilterAGG.js +9 -2
- package/dist/cjs/services/utils.js +3 -2
- package/dist/cjs/ui/common/modal/popup-select/formatOptionLabel.js +6 -3
- package/dist/cjs/ui/common/modal/popup-select/index.js +2 -1
- package/dist/cjs/ui/common/modal/popup-select/trigger.js +1 -2
- package/dist/cjs/ui/confluence-search-modal/basic-filters/filters/date-range-picker/PopupComponent.js +19 -0
- package/dist/cjs/ui/confluence-search-modal/basic-filters/filters/date-range-picker/index.js +89 -0
- package/dist/cjs/ui/confluence-search-modal/basic-filters/filters/date-range-picker/messages.js +49 -0
- package/dist/cjs/ui/confluence-search-modal/basic-filters/filters/date-range-picker/styled.js +75 -0
- package/dist/cjs/ui/confluence-search-modal/basic-filters/filters/date-range-picker/trigger.js +32 -0
- package/dist/cjs/ui/confluence-search-modal/basic-filters/filters/edited-or-created-by/index.js +110 -0
- package/dist/cjs/ui/confluence-search-modal/basic-filters/filters/edited-or-created-by/messages.js +14 -0
- package/dist/cjs/ui/confluence-search-modal/basic-filters/hooks/useCurrentUserInfo.js +48 -0
- package/dist/cjs/ui/confluence-search-modal/basic-filters/hooks/useRecommendation.js +120 -0
- package/dist/cjs/ui/confluence-search-modal/basic-filters/index.js +14 -3
- package/dist/cjs/ui/confluence-search-modal/basic-filters/types.js +11 -0
- package/dist/cjs/ui/confluence-search-modal/confluence-search-container/index.js +25 -1
- package/dist/cjs/ui/confluence-search-modal/modal/index.js +41 -11
- package/dist/cjs/ui/datasource-table-view/datasourceTableView.js +1 -0
- package/dist/cjs/ui/table-footer/index.js +8 -2
- package/dist/cjs/ui/table-footer/messages.js +5 -0
- package/dist/cjs/ui/table-footer/powered-by-jsm-assets/index.js +53 -0
- package/dist/es2019/services/mocks.js +151 -0
- package/dist/es2019/services/useBasicFilterAGG.js +8 -3
- package/dist/es2019/services/utils.js +8 -0
- package/dist/es2019/ui/common/modal/popup-select/formatOptionLabel.js +6 -3
- package/dist/es2019/ui/common/modal/popup-select/index.js +1 -1
- package/dist/es2019/ui/common/modal/popup-select/trigger.js +1 -2
- package/dist/es2019/ui/confluence-search-modal/basic-filters/filters/date-range-picker/PopupComponent.js +7 -0
- package/dist/es2019/ui/confluence-search-modal/basic-filters/filters/date-range-picker/index.js +68 -0
- package/dist/es2019/ui/confluence-search-modal/basic-filters/filters/date-range-picker/messages.js +43 -0
- package/dist/es2019/ui/confluence-search-modal/basic-filters/filters/date-range-picker/styled.js +66 -0
- package/dist/es2019/ui/confluence-search-modal/basic-filters/filters/date-range-picker/trigger.js +26 -0
- package/dist/es2019/ui/confluence-search-modal/basic-filters/filters/edited-or-created-by/index.js +82 -0
- package/dist/es2019/ui/confluence-search-modal/basic-filters/filters/edited-or-created-by/messages.js +8 -0
- package/dist/es2019/ui/confluence-search-modal/basic-filters/hooks/useCurrentUserInfo.js +25 -0
- package/dist/es2019/ui/confluence-search-modal/basic-filters/hooks/useRecommendation.js +74 -0
- package/dist/es2019/ui/confluence-search-modal/basic-filters/index.js +17 -2
- package/dist/es2019/ui/confluence-search-modal/basic-filters/types.js +5 -0
- package/dist/es2019/ui/confluence-search-modal/confluence-search-container/index.js +20 -1
- package/dist/es2019/ui/confluence-search-modal/modal/index.js +27 -3
- package/dist/es2019/ui/datasource-table-view/datasourceTableView.js +1 -0
- package/dist/es2019/ui/table-footer/index.js +7 -1
- package/dist/es2019/ui/table-footer/messages.js +5 -0
- package/dist/es2019/ui/table-footer/powered-by-jsm-assets/index.js +45 -0
- package/dist/esm/services/mocks.js +151 -0
- package/dist/esm/services/useBasicFilterAGG.js +10 -3
- package/dist/esm/services/utils.js +2 -1
- package/dist/esm/ui/common/modal/popup-select/formatOptionLabel.js +6 -3
- package/dist/esm/ui/common/modal/popup-select/index.js +2 -1
- package/dist/esm/ui/common/modal/popup-select/trigger.js +1 -2
- package/dist/esm/ui/confluence-search-modal/basic-filters/filters/date-range-picker/PopupComponent.js +9 -0
- package/dist/esm/ui/confluence-search-modal/basic-filters/filters/date-range-picker/index.js +79 -0
- package/dist/esm/ui/confluence-search-modal/basic-filters/filters/date-range-picker/messages.js +43 -0
- package/dist/esm/ui/confluence-search-modal/basic-filters/filters/date-range-picker/styled.js +68 -0
- package/dist/esm/ui/confluence-search-modal/basic-filters/filters/date-range-picker/trigger.js +25 -0
- package/dist/esm/ui/confluence-search-modal/basic-filters/filters/edited-or-created-by/index.js +100 -0
- package/dist/esm/ui/confluence-search-modal/basic-filters/filters/edited-or-created-by/messages.js +8 -0
- package/dist/esm/ui/confluence-search-modal/basic-filters/hooks/useCurrentUserInfo.js +41 -0
- package/dist/esm/ui/confluence-search-modal/basic-filters/hooks/useRecommendation.js +113 -0
- package/dist/esm/ui/confluence-search-modal/basic-filters/index.js +14 -3
- package/dist/esm/ui/confluence-search-modal/basic-filters/types.js +5 -0
- package/dist/esm/ui/confluence-search-modal/confluence-search-container/index.js +25 -1
- package/dist/esm/ui/confluence-search-modal/modal/index.js +41 -11
- package/dist/esm/ui/datasource-table-view/datasourceTableView.js +1 -0
- package/dist/esm/ui/table-footer/index.js +8 -2
- package/dist/esm/ui/table-footer/messages.js +5 -0
- package/dist/esm/ui/table-footer/powered-by-jsm-assets/index.js +46 -0
- package/dist/types/analytics/generated/analytics.types.d.ts +7 -0
- package/dist/types/services/mocks.d.ts +51 -0
- package/dist/types/services/useBasicFilterAGG.d.ts +2 -0
- package/dist/types/services/utils.d.ts +1 -0
- package/dist/types/ui/common/modal/popup-select/index.d.ts +1 -1
- package/dist/types/ui/common/modal/popup-select/types.d.ts +6 -1
- package/dist/types/ui/confluence-search-modal/basic-filters/filters/date-range-picker/PopupComponent.d.ts +3 -0
- package/dist/types/ui/confluence-search-modal/basic-filters/filters/date-range-picker/index.d.ts +8 -0
- package/dist/types/ui/confluence-search-modal/basic-filters/filters/date-range-picker/messages.d.ts +42 -0
- package/dist/types/ui/confluence-search-modal/basic-filters/filters/date-range-picker/styled.d.ts +31 -0
- package/dist/types/ui/confluence-search-modal/basic-filters/filters/date-range-picker/trigger.d.ts +10 -0
- package/dist/types/ui/confluence-search-modal/basic-filters/filters/edited-or-created-by/index.d.ts +10 -0
- package/dist/types/ui/confluence-search-modal/basic-filters/filters/edited-or-created-by/messages.d.ts +7 -0
- package/dist/types/ui/confluence-search-modal/basic-filters/hooks/useCurrentUserInfo.d.ts +7 -0
- package/dist/types/ui/confluence-search-modal/basic-filters/hooks/useRecommendation.d.ts +16 -0
- package/dist/types/ui/confluence-search-modal/basic-filters/index.d.ts +6 -1
- package/dist/types/ui/confluence-search-modal/basic-filters/types.d.ts +20 -0
- package/dist/types/ui/confluence-search-modal/confluence-search-container/index.d.ts +2 -1
- package/dist/types/ui/confluence-search-modal/types.d.ts +2 -1
- package/dist/types/ui/table-footer/index.d.ts +2 -1
- package/dist/types/ui/table-footer/messages.d.ts +5 -0
- package/dist/types/ui/table-footer/powered-by-jsm-assets/index.d.ts +4 -0
- package/dist/types-ts4.5/analytics/generated/analytics.types.d.ts +7 -0
- package/dist/types-ts4.5/services/mocks.d.ts +51 -0
- package/dist/types-ts4.5/services/useBasicFilterAGG.d.ts +2 -0
- package/dist/types-ts4.5/services/utils.d.ts +1 -0
- package/dist/types-ts4.5/ui/common/modal/popup-select/index.d.ts +1 -1
- package/dist/types-ts4.5/ui/common/modal/popup-select/types.d.ts +6 -1
- package/dist/types-ts4.5/ui/confluence-search-modal/basic-filters/filters/date-range-picker/PopupComponent.d.ts +3 -0
- package/dist/types-ts4.5/ui/confluence-search-modal/basic-filters/filters/date-range-picker/index.d.ts +8 -0
- package/dist/types-ts4.5/ui/confluence-search-modal/basic-filters/filters/date-range-picker/messages.d.ts +42 -0
- package/dist/types-ts4.5/ui/confluence-search-modal/basic-filters/filters/date-range-picker/styled.d.ts +31 -0
- package/dist/types-ts4.5/ui/confluence-search-modal/basic-filters/filters/date-range-picker/trigger.d.ts +10 -0
- package/dist/types-ts4.5/ui/confluence-search-modal/basic-filters/filters/edited-or-created-by/index.d.ts +10 -0
- package/dist/types-ts4.5/ui/confluence-search-modal/basic-filters/filters/edited-or-created-by/messages.d.ts +7 -0
- package/dist/types-ts4.5/ui/confluence-search-modal/basic-filters/hooks/useCurrentUserInfo.d.ts +7 -0
- package/dist/types-ts4.5/ui/confluence-search-modal/basic-filters/hooks/useRecommendation.d.ts +16 -0
- package/dist/types-ts4.5/ui/confluence-search-modal/basic-filters/index.d.ts +6 -1
- package/dist/types-ts4.5/ui/confluence-search-modal/basic-filters/types.d.ts +20 -0
- package/dist/types-ts4.5/ui/confluence-search-modal/confluence-search-container/index.d.ts +2 -1
- package/dist/types-ts4.5/ui/confluence-search-modal/types.d.ts +2 -1
- package/dist/types-ts4.5/ui/table-footer/index.d.ts +2 -1
- package/dist/types-ts4.5/ui/table-footer/messages.d.ts +5 -0
- package/dist/types-ts4.5/ui/table-footer/powered-by-jsm-assets/index.d.ts +4 -0
- package/examples-helpers/buildAssetsIssuesTable.tsx +71 -0
- package/examples-helpers/useAssetsTableProps.tsx +57 -0
- package/package.json +8 -2
|
@@ -0,0 +1,113 @@
|
|
|
1
|
+
import _asyncToGenerator from "@babel/runtime/helpers/asyncToGenerator";
|
|
2
|
+
import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
|
|
3
|
+
import _regeneratorRuntime from "@babel/runtime/regenerator";
|
|
4
|
+
import { useCallback, useRef, useState } from 'react';
|
|
5
|
+
import { useIntl } from 'react-intl-next';
|
|
6
|
+
import { getUserRecommendations } from '@atlaskit/smart-user-picker';
|
|
7
|
+
var useRecommendation = function useRecommendation() {
|
|
8
|
+
var intl = useIntl();
|
|
9
|
+
var _useState = useState([]),
|
|
10
|
+
_useState2 = _slicedToArray(_useState, 2),
|
|
11
|
+
filterOptions = _useState2[0],
|
|
12
|
+
setFilterOptions = _useState2[1];
|
|
13
|
+
var _useState3 = useState('empty'),
|
|
14
|
+
_useState4 = _slicedToArray(_useState3, 2),
|
|
15
|
+
status = _useState4[0],
|
|
16
|
+
setStatus = _useState4[1];
|
|
17
|
+
var _useState5 = useState([]),
|
|
18
|
+
_useState6 = _slicedToArray(_useState5, 2),
|
|
19
|
+
errors = _useState6[0],
|
|
20
|
+
setErrors = _useState6[1];
|
|
21
|
+
var initialData = useRef();
|
|
22
|
+
var convertRecommendationsToFilterOptions = function convertRecommendationsToFilterOptions(recommendations) {
|
|
23
|
+
return recommendations.map(function (item) {
|
|
24
|
+
return {
|
|
25
|
+
optionType: 'avatarLabel',
|
|
26
|
+
label: item.name,
|
|
27
|
+
value: item.id,
|
|
28
|
+
avatar: item.avatarUrl
|
|
29
|
+
};
|
|
30
|
+
});
|
|
31
|
+
};
|
|
32
|
+
var fetchFilterOptions = useCallback( /*#__PURE__*/function () {
|
|
33
|
+
var _ref2 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee(_ref) {
|
|
34
|
+
var userId, cloudId, searchTerm, requestParams, initialResponseData, isRequestLikeInitialSearch, recommendations;
|
|
35
|
+
return _regeneratorRuntime.wrap(function _callee$(_context) {
|
|
36
|
+
while (1) switch (_context.prev = _context.next) {
|
|
37
|
+
case 0:
|
|
38
|
+
userId = _ref.userId, cloudId = _ref.cloudId, searchTerm = _ref.searchTerm;
|
|
39
|
+
setStatus('loading');
|
|
40
|
+
requestParams = {
|
|
41
|
+
context: {
|
|
42
|
+
contextType: 'contributors',
|
|
43
|
+
principalId: userId || '',
|
|
44
|
+
productAttributes: {
|
|
45
|
+
isEntitledConfluenceExternalCollaborator: true
|
|
46
|
+
},
|
|
47
|
+
productKey: 'confluence',
|
|
48
|
+
siteId: cloudId
|
|
49
|
+
},
|
|
50
|
+
includeGroups: false,
|
|
51
|
+
includeTeams: false,
|
|
52
|
+
includeUsers: true,
|
|
53
|
+
maxNumberOfResults: 10,
|
|
54
|
+
performSearchQueryOnly: false,
|
|
55
|
+
query: searchTerm
|
|
56
|
+
};
|
|
57
|
+
initialResponseData = initialData.current;
|
|
58
|
+
isRequestLikeInitialSearch = !searchTerm;
|
|
59
|
+
_context.prev = 5;
|
|
60
|
+
if (!(isRequestLikeInitialSearch && initialResponseData)) {
|
|
61
|
+
_context.next = 10;
|
|
62
|
+
break;
|
|
63
|
+
}
|
|
64
|
+
_context.t0 = initialResponseData;
|
|
65
|
+
_context.next = 13;
|
|
66
|
+
break;
|
|
67
|
+
case 10:
|
|
68
|
+
_context.next = 12;
|
|
69
|
+
return getUserRecommendations(requestParams, intl);
|
|
70
|
+
case 12:
|
|
71
|
+
_context.t0 = _context.sent;
|
|
72
|
+
case 13:
|
|
73
|
+
recommendations = _context.t0;
|
|
74
|
+
setFilterOptions(convertRecommendationsToFilterOptions(recommendations));
|
|
75
|
+
setStatus('resolved');
|
|
76
|
+
if (!searchTerm) {
|
|
77
|
+
/**
|
|
78
|
+
* The initial dataset is used in couple of paths, eg: when a user searches and clears the search text.
|
|
79
|
+
* During these times, we dont want to fetch data again and again, hence a mini cache setup to store and provide the initial dataset
|
|
80
|
+
*/
|
|
81
|
+
initialData.current = recommendations;
|
|
82
|
+
}
|
|
83
|
+
_context.next = 23;
|
|
84
|
+
break;
|
|
85
|
+
case 19:
|
|
86
|
+
_context.prev = 19;
|
|
87
|
+
_context.t1 = _context["catch"](5);
|
|
88
|
+
setStatus('rejected');
|
|
89
|
+
setErrors([_context.t1]);
|
|
90
|
+
case 23:
|
|
91
|
+
case "end":
|
|
92
|
+
return _context.stop();
|
|
93
|
+
}
|
|
94
|
+
}, _callee, null, [[5, 19]]);
|
|
95
|
+
}));
|
|
96
|
+
return function (_x) {
|
|
97
|
+
return _ref2.apply(this, arguments);
|
|
98
|
+
};
|
|
99
|
+
}(), [intl]);
|
|
100
|
+
var reset = useCallback(function () {
|
|
101
|
+
setStatus('empty');
|
|
102
|
+
setFilterOptions([]);
|
|
103
|
+
setErrors([]);
|
|
104
|
+
}, []);
|
|
105
|
+
return {
|
|
106
|
+
status: status,
|
|
107
|
+
errors: errors,
|
|
108
|
+
filterOptions: filterOptions,
|
|
109
|
+
reset: reset,
|
|
110
|
+
fetchFilterOptions: fetchFilterOptions
|
|
111
|
+
};
|
|
112
|
+
};
|
|
113
|
+
export default useRecommendation;
|
|
@@ -1,15 +1,26 @@
|
|
|
1
|
-
import _objectDestructuringEmpty from "@babel/runtime/helpers/objectDestructuringEmpty";
|
|
2
1
|
import React from 'react';
|
|
3
2
|
import { Flex, xcss } from '@atlaskit/primitives';
|
|
3
|
+
import { DateRangePicker } from './filters/date-range-picker';
|
|
4
|
+
import EditedOrCreatedByFilter from './filters/edited-or-created-by';
|
|
4
5
|
var basicFilterContainerStyles = xcss({
|
|
5
6
|
paddingLeft: 'space.100'
|
|
6
7
|
});
|
|
7
8
|
var BasicFilterContainer = function BasicFilterContainer(_ref) {
|
|
8
|
-
|
|
9
|
+
var cloudId = _ref.cloudId,
|
|
10
|
+
onChange = _ref.onChange,
|
|
11
|
+
_ref$selections = _ref.selections,
|
|
12
|
+
selections = _ref$selections === void 0 ? {} : _ref$selections;
|
|
13
|
+
var editedOrCreatedBy = selections.editedOrCreatedBy;
|
|
9
14
|
return /*#__PURE__*/React.createElement(Flex, {
|
|
10
15
|
xcss: basicFilterContainerStyles,
|
|
11
16
|
gap: "space.100",
|
|
12
17
|
testId: "clol-basic-filter-container"
|
|
13
|
-
}, /*#__PURE__*/React.createElement(
|
|
18
|
+
}, /*#__PURE__*/React.createElement(EditedOrCreatedByFilter, {
|
|
19
|
+
cloudId: cloudId,
|
|
20
|
+
onSelectionChange: onChange,
|
|
21
|
+
selection: editedOrCreatedBy || []
|
|
22
|
+
}), /*#__PURE__*/React.createElement(DateRangePicker, {
|
|
23
|
+
onSelectionChange: onChange
|
|
24
|
+
}));
|
|
14
25
|
};
|
|
15
26
|
export default BasicFilterContainer;
|
|
@@ -1,8 +1,13 @@
|
|
|
1
|
+
import _defineProperty from "@babel/runtime/helpers/defineProperty";
|
|
1
2
|
import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
|
|
3
|
+
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; }
|
|
4
|
+
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; }
|
|
2
5
|
import React, { useCallback, useEffect, useMemo, useRef, useState } from 'react';
|
|
6
|
+
import { useDebouncedCallback } from 'use-debounce';
|
|
3
7
|
import { getBooleanFF } from '@atlaskit/platform-feature-flags';
|
|
4
8
|
import { Flex, xcss } from '@atlaskit/primitives';
|
|
5
9
|
import { BasicSearchInput } from '../../common/modal/basic-search-input';
|
|
10
|
+
import { FILTER_SELECTION_DEBOUNCE_MS } from '../../common/modal/popup-select/constants';
|
|
6
11
|
import BasicFilters from '../basic-filters';
|
|
7
12
|
import { searchMessages } from './messages';
|
|
8
13
|
var basicSearchInputContainerStyles = xcss({
|
|
@@ -18,16 +23,31 @@ var ConfluenceSearchContainer = function ConfluenceSearchContainer(_ref) {
|
|
|
18
23
|
_useState2 = _slicedToArray(_useState, 2),
|
|
19
24
|
searchBarSearchString = _useState2[0],
|
|
20
25
|
setSearchBarSearchString = _useState2[1];
|
|
26
|
+
var _useState3 = useState({}),
|
|
27
|
+
_useState4 = _slicedToArray(_useState3, 2),
|
|
28
|
+
filterSelections = _useState4[0],
|
|
29
|
+
setFilterSelections = _useState4[1];
|
|
21
30
|
var handleSearchChange = useCallback(function (e) {
|
|
22
31
|
var rawSearch = e.currentTarget.value;
|
|
23
32
|
setSearchBarSearchString(rawSearch);
|
|
24
33
|
}, []);
|
|
34
|
+
var _useDebouncedCallback = useDebouncedCallback(function (filterValues) {
|
|
35
|
+
onSearch(searchBarSearchString, filterValues);
|
|
36
|
+
}, FILTER_SELECTION_DEBOUNCE_MS),
|
|
37
|
+
_useDebouncedCallback2 = _slicedToArray(_useDebouncedCallback, 1),
|
|
38
|
+
debouncedBasicFilterSelectionChange = _useDebouncedCallback2[0];
|
|
39
|
+
var handleBasicFilterSelectionChange = useCallback(function (filterType, options) {
|
|
40
|
+
var updatedSelection = _objectSpread(_objectSpread({}, filterSelections), {}, _defineProperty({}, filterType, options));
|
|
41
|
+
setFilterSelections(updatedSelection);
|
|
42
|
+
debouncedBasicFilterSelectionChange(updatedSelection);
|
|
43
|
+
}, [debouncedBasicFilterSelectionChange, filterSelections]);
|
|
25
44
|
|
|
26
45
|
// TODO: further refactoring in EDM-9573
|
|
27
46
|
// https://stash.atlassian.com/projects/ATLASSIAN/repos/atlassian-frontend-monorepo/pull-requests/82725/overview?commentId=6827913
|
|
28
47
|
useEffect(function () {
|
|
29
48
|
if (currentCloudId.current !== cloudId) {
|
|
30
49
|
setSearchBarSearchString('');
|
|
50
|
+
setFilterSelections({});
|
|
31
51
|
currentCloudId.current = cloudId;
|
|
32
52
|
}
|
|
33
53
|
}, [cloudId]);
|
|
@@ -48,6 +68,10 @@ var ConfluenceSearchContainer = function ConfluenceSearchContainer(_ref) {
|
|
|
48
68
|
searchTerm: searchBarSearchString,
|
|
49
69
|
placeholder: searchMessages.searchLabel,
|
|
50
70
|
fullWidth: !showBasicFilters
|
|
51
|
-
}), showBasicFilters && /*#__PURE__*/React.createElement(BasicFilters,
|
|
71
|
+
}), showBasicFilters && /*#__PURE__*/React.createElement(BasicFilters, {
|
|
72
|
+
cloudId: cloudId,
|
|
73
|
+
selections: filterSelections,
|
|
74
|
+
onChange: handleBasicFilterSelectionChange
|
|
75
|
+
}));
|
|
52
76
|
};
|
|
53
77
|
export default ConfluenceSearchContainer;
|
|
@@ -99,6 +99,14 @@ export var PlainConfluenceSearchConfigModal = function PlainConfluenceSearchConf
|
|
|
99
99
|
_useState10 = _slicedToArray(_useState9, 2),
|
|
100
100
|
visibleColumnKeys = _useState10[0],
|
|
101
101
|
setVisibleColumnKeys = _useState10[1];
|
|
102
|
+
var _useState11 = useState(initialParameters === null || initialParameters === void 0 ? void 0 : initialParameters.lastModified),
|
|
103
|
+
_useState12 = _slicedToArray(_useState11, 2),
|
|
104
|
+
lastModified = _useState12[0],
|
|
105
|
+
setLastModified = _useState12[1];
|
|
106
|
+
var _useState13 = useState((initialParameters === null || initialParameters === void 0 ? void 0 : initialParameters.contributorAccountIds) || []),
|
|
107
|
+
_useState14 = _slicedToArray(_useState13, 2),
|
|
108
|
+
contributorAccountIds = _useState14[0],
|
|
109
|
+
setContributorAccountIds = _useState14[1];
|
|
102
110
|
|
|
103
111
|
// analytics related parameters
|
|
104
112
|
var searchCount = useRef(0);
|
|
@@ -108,11 +116,15 @@ export var PlainConfluenceSearchConfigModal = function PlainConfluenceSearchConf
|
|
|
108
116
|
// TODO: further refactoring in EDM-9573
|
|
109
117
|
// https://stash.atlassian.com/projects/ATLASSIAN/repos/atlassian-frontend-monorepo/pull-requests/82725/overview?commentId=6829210
|
|
110
118
|
var parameters = useMemo(function () {
|
|
111
|
-
return _objectSpread(_objectSpread({}, initialParameters), {}, {
|
|
119
|
+
return _objectSpread(_objectSpread(_objectSpread({}, initialParameters), {}, {
|
|
112
120
|
cloudId: cloudId,
|
|
113
121
|
searchString: searchString
|
|
122
|
+
}, ((initialParameters === null || initialParameters === void 0 ? void 0 : initialParameters.lastModified) || lastModified) && {
|
|
123
|
+
lastModified: lastModified
|
|
124
|
+
}), ((initialParameters === null || initialParameters === void 0 ? void 0 : initialParameters.contributorAccountIds) || (contributorAccountIds === null || contributorAccountIds === void 0 ? void 0 : contributorAccountIds.length) > 0) && {
|
|
125
|
+
contributorAccountIds: contributorAccountIds
|
|
114
126
|
});
|
|
115
|
-
}, [cloudId, initialParameters, searchString /** Add more parameters when more filters are added */]);
|
|
127
|
+
}, [cloudId, lastModified, contributorAccountIds, initialParameters, searchString /** Add more parameters when more filters are added */]);
|
|
116
128
|
var isParametersSet = useMemo(function () {
|
|
117
129
|
return !!cloudId && Object.values(parameters !== null && parameters !== void 0 ? parameters : {}).filter(function (v) {
|
|
118
130
|
return v !== undefined;
|
|
@@ -176,6 +188,8 @@ export var PlainConfluenceSearchConfigModal = function PlainConfluenceSearchConf
|
|
|
176
188
|
var onSiteSelection = useCallback(function (site) {
|
|
177
189
|
userInteractionActions.current.add(DatasourceAction.INSTANCE_UPDATED);
|
|
178
190
|
setSearchString(undefined);
|
|
191
|
+
setLastModified(undefined);
|
|
192
|
+
setContributorAccountIds([]);
|
|
179
193
|
setCloudId(site.cloudId);
|
|
180
194
|
reset({
|
|
181
195
|
shouldForceRequest: true
|
|
@@ -218,17 +232,17 @@ export var PlainConfluenceSearchConfigModal = function PlainConfluenceSearchConf
|
|
|
218
232
|
setVisibleColumnKeys(newVisibleColumnKeys);
|
|
219
233
|
}, [initialVisibleColumnKeys, defaultVisibleColumnKeys]);
|
|
220
234
|
var siteSelectorLabel = availableSites && availableSites.length > 1 ? confluenceSearchModalMessages.insertIssuesTitleManySites : confluenceSearchModalMessages.insertIssuesTitle;
|
|
221
|
-
var
|
|
222
|
-
|
|
223
|
-
columnCustomSizes =
|
|
224
|
-
setColumnCustomSizes =
|
|
235
|
+
var _useState15 = useState(initialColumnCustomSizes),
|
|
236
|
+
_useState16 = _slicedToArray(_useState15, 2),
|
|
237
|
+
columnCustomSizes = _useState16[0],
|
|
238
|
+
setColumnCustomSizes = _useState16[1];
|
|
225
239
|
var onColumnResize = useCallback(function (key, width) {
|
|
226
240
|
setColumnCustomSizes(_objectSpread(_objectSpread({}, columnCustomSizes), {}, _defineProperty({}, key, width)));
|
|
227
241
|
}, [columnCustomSizes]);
|
|
228
|
-
var
|
|
229
|
-
|
|
230
|
-
wrappedColumnKeys =
|
|
231
|
-
setWrappedColumnKeys =
|
|
242
|
+
var _useState17 = useState(initialWrappedColumnKeys),
|
|
243
|
+
_useState18 = _slicedToArray(_useState17, 2),
|
|
244
|
+
wrappedColumnKeys = _useState18[0],
|
|
245
|
+
setWrappedColumnKeys = _useState18[1];
|
|
232
246
|
var onWrappedColumnChange = useCallback(function (key, isWrapped) {
|
|
233
247
|
var set = new Set(wrappedColumnKeys);
|
|
234
248
|
if (isWrapped) {
|
|
@@ -407,9 +421,25 @@ export var PlainConfluenceSearchConfigModal = function PlainConfluenceSearchConf
|
|
|
407
421
|
userInteractionActions.current.add(DatasourceAction.DISPLAY_VIEW_CHANGED);
|
|
408
422
|
setCurrentViewMode(selectedMode);
|
|
409
423
|
};
|
|
410
|
-
var onSearch = useCallback(function (newSearchString) {
|
|
424
|
+
var onSearch = useCallback(function (newSearchString, filters) {
|
|
411
425
|
searchCount.current++;
|
|
412
426
|
userInteractionActions.current.add(DatasourceAction.QUERY_UPDATED);
|
|
427
|
+
if (filters) {
|
|
428
|
+
var editedOrCreatedBy = filters.editedOrCreatedBy,
|
|
429
|
+
_lastModified = filters.lastModified;
|
|
430
|
+
if (_lastModified) {
|
|
431
|
+
var lastModifiedValue = _lastModified.find(function (range) {
|
|
432
|
+
return range.value;
|
|
433
|
+
});
|
|
434
|
+
setLastModified(lastModifiedValue === null || lastModifiedValue === void 0 ? void 0 : lastModifiedValue.value);
|
|
435
|
+
}
|
|
436
|
+
if (editedOrCreatedBy) {
|
|
437
|
+
var accountIds = editedOrCreatedBy.map(function (user) {
|
|
438
|
+
return user.value;
|
|
439
|
+
});
|
|
440
|
+
setContributorAccountIds(accountIds);
|
|
441
|
+
}
|
|
442
|
+
}
|
|
413
443
|
setSearchString(newSearchString);
|
|
414
444
|
reset({
|
|
415
445
|
shouldForceRequest: true
|
|
@@ -170,6 +170,7 @@ var DatasourceTableViewWithoutAnalytics = function DatasourceTableViewWithoutAna
|
|
|
170
170
|
testId: "datasource-table-view-skeleton",
|
|
171
171
|
isCompact: true
|
|
172
172
|
}), jsx(TableFooter, {
|
|
173
|
+
datasourceId: datasourceId,
|
|
173
174
|
itemCount: isDataReady ? totalCount : undefined,
|
|
174
175
|
onRefresh: onRefresh,
|
|
175
176
|
isLoading: !isDataReady || status === 'loading',
|
|
@@ -8,9 +8,12 @@ import { FormattedMessage, FormattedNumber, useIntl } from 'react-intl-next';
|
|
|
8
8
|
import Button from '@atlaskit/button';
|
|
9
9
|
import Heading from '@atlaskit/heading';
|
|
10
10
|
import RefreshIcon from '@atlaskit/icon/glyph/refresh';
|
|
11
|
+
import { getBooleanFF } from '@atlaskit/platform-feature-flags';
|
|
11
12
|
import LinkUrl from '@atlaskit/smart-card/link-url';
|
|
12
13
|
import { N0, N40, N800, N90 } from '@atlaskit/theme/colors';
|
|
14
|
+
import { ASSETS_LIST_OF_LINKS_DATASOURCE_ID } from '../assets-modal';
|
|
13
15
|
import { footerMessages } from './messages';
|
|
16
|
+
import { PoweredByJSMAssets } from './powered-by-jsm-assets';
|
|
14
17
|
import { SyncInfo } from './sync-info';
|
|
15
18
|
var FooterWrapper = styled.div({
|
|
16
19
|
padding: "var(--ds-space-0, 0px)".concat(" ", "var(--ds-space-200, 16px)"),
|
|
@@ -41,7 +44,8 @@ var SyncTextWrapper = styled.div({
|
|
|
41
44
|
fontSize: '12px'
|
|
42
45
|
});
|
|
43
46
|
export var TableFooter = function TableFooter(_ref) {
|
|
44
|
-
var
|
|
47
|
+
var datasourceId = _ref.datasourceId,
|
|
48
|
+
itemCount = _ref.itemCount,
|
|
45
49
|
onRefresh = _ref.onRefresh,
|
|
46
50
|
isLoading = _ref.isLoading,
|
|
47
51
|
url = _ref.url;
|
|
@@ -80,7 +84,9 @@ export var TableFooter = function TableFooter(_ref) {
|
|
|
80
84
|
values: {
|
|
81
85
|
itemCount: itemCount
|
|
82
86
|
}
|
|
83
|
-
}))))),
|
|
87
|
+
}))))), getBooleanFF('platform.linking-platform.datasource-assets_objects_add_jsm_promotional_tag') && datasourceId === ASSETS_LIST_OF_LINKS_DATASOURCE_ID ? jsx(PoweredByJSMAssets, {
|
|
88
|
+
text: intl.formatMessage(footerMessages.powerByJSM)
|
|
89
|
+
}) : null, jsx(SyncWrapper, null, onRefresh && jsx(Fragment, null, jsx(SyncTextWrapper, {
|
|
84
90
|
"data-testid": "sync-text"
|
|
85
91
|
}, isLoading ? jsx(FormattedMessage, footerMessages.loadingText) : jsx(SyncInfo, {
|
|
86
92
|
lastSyncTime: lastSyncTime
|
|
@@ -14,5 +14,10 @@ export var footerMessages = defineMessages({
|
|
|
14
14
|
id: 'linkDataSource.table-footer.refresh',
|
|
15
15
|
description: 'Label for refresh icon',
|
|
16
16
|
defaultMessage: 'Refresh'
|
|
17
|
+
},
|
|
18
|
+
powerByJSM: {
|
|
19
|
+
id: 'linkDataSource.table-footer.power-by-jsm',
|
|
20
|
+
description: 'Displayed on the issue like table footer to increase JSM Assets visibility',
|
|
21
|
+
defaultMessage: 'Powered by Assets in Jira Service Management'
|
|
17
22
|
}
|
|
18
23
|
});
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { JiraServiceManagementIcon } from '@atlaskit/logo';
|
|
3
|
+
import { Box, xcss } from '@atlaskit/primitives';
|
|
4
|
+
import { useDatasourceAnalyticsEvents } from '../../../analytics';
|
|
5
|
+
var jsmTextStyles = xcss({
|
|
6
|
+
fontSize: 'small',
|
|
7
|
+
color: 'color.text.subtle',
|
|
8
|
+
marginLeft: "var(--ds-space-075, 6px)",
|
|
9
|
+
':hover': {
|
|
10
|
+
color: 'color.link.pressed'
|
|
11
|
+
}
|
|
12
|
+
});
|
|
13
|
+
var jsmContainerStyles = xcss({
|
|
14
|
+
display: 'flex',
|
|
15
|
+
flexDirection: 'row-reverse'
|
|
16
|
+
});
|
|
17
|
+
export var PoweredByJSMAssets = function PoweredByJSMAssets(props) {
|
|
18
|
+
var ASSETS_LINK = '/jira/servicedesk/assets';
|
|
19
|
+
var _useDatasourceAnalyti = useDatasourceAnalyticsEvents(),
|
|
20
|
+
fireEvent = _useDatasourceAnalyti.fireEvent;
|
|
21
|
+
return /*#__PURE__*/React.createElement(Box, {
|
|
22
|
+
xcss: jsmContainerStyles,
|
|
23
|
+
padding: "space.150"
|
|
24
|
+
}, /*#__PURE__*/React.createElement("a", {
|
|
25
|
+
"data-testid": 'powered-by-jsm-assets-link',
|
|
26
|
+
onClick: function onClick() {
|
|
27
|
+
return fireEvent('ui.link.clicked.poweredBy', {
|
|
28
|
+
componentHierarchy: 'datasourceTable',
|
|
29
|
+
extensionKey: 'jsm-cmdb-gateway'
|
|
30
|
+
});
|
|
31
|
+
},
|
|
32
|
+
href: ASSETS_LINK,
|
|
33
|
+
rel: "noreferrer",
|
|
34
|
+
target: "_blank",
|
|
35
|
+
style: {
|
|
36
|
+
display: 'inline-flex',
|
|
37
|
+
alignItems: 'center'
|
|
38
|
+
}
|
|
39
|
+
}, /*#__PURE__*/React.createElement(JiraServiceManagementIcon, {
|
|
40
|
+
size: "xsmall",
|
|
41
|
+
appearance: "brand",
|
|
42
|
+
label: props.text
|
|
43
|
+
}), /*#__PURE__*/React.createElement(Box, {
|
|
44
|
+
xcss: jsmTextStyles
|
|
45
|
+
}, props.text)));
|
|
46
|
+
};
|
|
@@ -16,6 +16,10 @@ export type AnalyticsContextAttributesType = {
|
|
|
16
16
|
dataProvider: 'jira-issues' | 'jsm-assets' | 'confluence-search';
|
|
17
17
|
};
|
|
18
18
|
export type DatasourceModalDialogViewedAttributesType = {};
|
|
19
|
+
export type LinkClickedPoweredByAttributesType = {
|
|
20
|
+
extensionKey: string;
|
|
21
|
+
componentHierarchy: string;
|
|
22
|
+
};
|
|
19
23
|
export type ModalReadyDatasourceAttributesType = {
|
|
20
24
|
instancesCount: number | null;
|
|
21
25
|
schemasCount: number | null;
|
|
@@ -211,6 +215,9 @@ export type AnalyticsEventAttributes = {
|
|
|
211
215
|
/**
|
|
212
216
|
* Fired when the “show more” button inside the dropdown menu is clicked */
|
|
213
217
|
'ui.button.clicked.basicSearchDropdown': ButtonClickedBasicSearchDropdownAttributesType;
|
|
218
|
+
/**
|
|
219
|
+
* Fired when the “show more” button inside the dropdown menu is clicked */
|
|
220
|
+
'ui.link.clicked.poweredBy': LinkClickedPoweredByAttributesType;
|
|
214
221
|
/**
|
|
215
222
|
* Fired when search is initiated via the search icon or enter key press for aql editor input field. */
|
|
216
223
|
'ui.aqlEditor.searched': AqlEditorSearchedAttributesType;
|
|
@@ -1,3 +1,54 @@
|
|
|
1
1
|
import { FieldValuesResponse, HydrateResponse } from '../ui/jira-issues-modal/basic-filters/types';
|
|
2
2
|
export declare const mockHydrateJqlResponse: HydrateResponse;
|
|
3
3
|
export declare const mockFieldValuesResponse: FieldValuesResponse;
|
|
4
|
+
export declare const mockUserRecommendationsResponse: {
|
|
5
|
+
recommendedUsers: ({
|
|
6
|
+
entityType: string;
|
|
7
|
+
id: string;
|
|
8
|
+
name: string;
|
|
9
|
+
avatarUrl: string;
|
|
10
|
+
nickname: string;
|
|
11
|
+
matchPositions: {};
|
|
12
|
+
accessLevel: string;
|
|
13
|
+
accountStatus: string;
|
|
14
|
+
notMentionable: boolean;
|
|
15
|
+
userType: string;
|
|
16
|
+
attributes: {
|
|
17
|
+
isConfluenceExternalCollaborator: boolean;
|
|
18
|
+
};
|
|
19
|
+
email?: undefined;
|
|
20
|
+
locale?: undefined;
|
|
21
|
+
} | {
|
|
22
|
+
entityType: string;
|
|
23
|
+
id: string;
|
|
24
|
+
name: string;
|
|
25
|
+
email: string;
|
|
26
|
+
avatarUrl: string;
|
|
27
|
+
nickname: string;
|
|
28
|
+
matchPositions: {};
|
|
29
|
+
accessLevel: string;
|
|
30
|
+
accountStatus: string;
|
|
31
|
+
notMentionable: boolean;
|
|
32
|
+
locale: string;
|
|
33
|
+
userType: string;
|
|
34
|
+
attributes: {
|
|
35
|
+
isConfluenceExternalCollaborator: boolean;
|
|
36
|
+
};
|
|
37
|
+
} | {
|
|
38
|
+
entityType: string;
|
|
39
|
+
id: string;
|
|
40
|
+
name: string;
|
|
41
|
+
avatarUrl: string;
|
|
42
|
+
nickname: string;
|
|
43
|
+
matchPositions: {};
|
|
44
|
+
accessLevel: string;
|
|
45
|
+
accountStatus: string;
|
|
46
|
+
notMentionable: boolean;
|
|
47
|
+
locale: string;
|
|
48
|
+
userType: string;
|
|
49
|
+
attributes: {
|
|
50
|
+
isConfluenceExternalCollaborator: boolean;
|
|
51
|
+
};
|
|
52
|
+
email?: undefined;
|
|
53
|
+
})[];
|
|
54
|
+
};
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { UserInfoAGGResponse } from '../ui/confluence-search-modal/basic-filters/types';
|
|
1
2
|
import { BasicFilterFieldType, FieldValuesResponse, HydrateResponse } from '../ui/jira-issues-modal/basic-filters/types';
|
|
2
3
|
interface GetFieldValuesProps {
|
|
3
4
|
cloudId: string;
|
|
@@ -9,5 +10,6 @@ interface GetFieldValuesProps {
|
|
|
9
10
|
export declare const useBasicFilterAGG: () => {
|
|
10
11
|
getHydratedJQL: (cloudId: string, jql: string) => Promise<HydrateResponse>;
|
|
11
12
|
getFieldValues: ({ cloudId, jql, jqlTerm, searchString, pageCursor, }: GetFieldValuesProps) => Promise<FieldValuesResponse>;
|
|
13
|
+
getCurrentUserInfo: () => Promise<UserInfoAGGResponse>;
|
|
12
14
|
};
|
|
13
15
|
export {};
|
|
@@ -6,3 +6,4 @@
|
|
|
6
6
|
*/
|
|
7
7
|
export declare const hydrateJQLQuery = "query hydrate($cloudId: ID!, $jql: String!) {\n jira {\n jqlBuilder(cloudId: $cloudId) {\n hydrateJqlQuery(query: $jql) {\n ... on JiraJqlHydratedQuery {\n fields {\n ... on JiraJqlQueryHydratedField {\n jqlTerm\n values {\n ... on JiraJqlQueryHydratedValue {\n values {\n ... on JiraJqlProjectFieldValue {\n jqlTerm\n displayName\n project {\n avatar {\n small\n }\n }\n }\n ... on JiraJqlStatusFieldValue {\n jqlTerm\n displayName\n statusCategory {\n colorName\n }\n }\n ... on JiraJqlIssueTypeFieldValue {\n jqlTerm\n displayName\n issueTypes {\n avatar {\n small\n }\n }\n }\n ... on JiraJqlUserFieldValue {\n jqlTerm\n displayName\n user {\n picture\n }\n }\n ... on JiraJqlGroupFieldValue {\n jqlTerm\n displayName\n group {\n name\n }\n }\n }\n }\n }\n }\n }\n }\n }\n }\n }\n}";
|
|
8
8
|
export declare const fieldValuesQuery = "query fieldValues($cloudId: ID!, $first: Int = 10, $jqlTerm: String!, $jql: String!, $searchString: String!, $after: String) {\n jira {\n jqlBuilder(cloudId: $cloudId) {\n fieldValues(\n first: $first\n jqlTerm: $jqlTerm\n jqlContext: $jql\n searchString: $searchString\n after: $after\n ) {\n totalCount\n pageInfo {\n endCursor\n }\n edges {\n node {\n jqlTerm\n displayName\n ... on JiraJqlProjectFieldValue {\n project {\n avatar {\n small\n }\n }\n }\n ... on JiraJqlIssueTypeFieldValue {\n issueTypes {\n avatar {\n small\n }\n }\n }\n ... on JiraJqlStatusFieldValue {\n statusCategory {\n colorName\n }\n }\n ... on JiraJqlUserFieldValue {\n user {\n picture\n }\n }\n ... on JiraJqlGroupFieldValue {\n group {\n name\n }\n }\n }\n }\n }\n }\n }\n}";
|
|
9
|
+
export declare const userQuery = "query userQuery {\n me {\n user {\n id\n accountId\n }\n }\n}";
|
|
@@ -4,7 +4,7 @@ import { CustomMenuListProps } from './menu-list';
|
|
|
4
4
|
import { SelectOption } from './types';
|
|
5
5
|
export interface FilterPopupSelectProps {
|
|
6
6
|
buttonLabel: string;
|
|
7
|
-
totalCount
|
|
7
|
+
totalCount?: number;
|
|
8
8
|
filterName: string;
|
|
9
9
|
isDisabled: boolean;
|
|
10
10
|
showLoading: boolean;
|
|
@@ -18,5 +18,10 @@ export type AvatarLabelOption = OptionBase & {
|
|
|
18
18
|
isSquare?: boolean;
|
|
19
19
|
isGroup?: boolean;
|
|
20
20
|
};
|
|
21
|
-
export type
|
|
21
|
+
export type DateRangeType = 'anyTime' | 'today' | 'yesterday' | 'past7Days' | 'past30Days' | 'pastYear' | 'custom';
|
|
22
|
+
export type DateRangeOption = OptionBase & {
|
|
23
|
+
optionType: 'defaultOption';
|
|
24
|
+
value: DateRangeType;
|
|
25
|
+
};
|
|
26
|
+
export type SelectOption = IconLabelOption | LozengeLabelOption | AvatarLabelOption | DateRangeOption;
|
|
22
27
|
export type FormatOptionLabel = (option: SelectOption) => ReactElement;
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import type { PopupComponentProps } from '@atlaskit/popup';
|
|
3
|
+
export declare const PopupComponent: React.ForwardRefExoticComponent<Pick<PopupComponentProps, "style" | "children" | "id" | "tabIndex" | "data-testid" | "shouldRenderToParent" | "data-placement"> & React.RefAttributes<HTMLDivElement>>;
|
package/dist/types/ui/confluence-search-modal/basic-filters/filters/date-range-picker/index.d.ts
ADDED
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
/// <reference types="react" />
|
|
2
|
+
import { SelectOption } from '../../../../common/modal/popup-select/types';
|
|
3
|
+
import { CLOLBasicFilters } from '../../types';
|
|
4
|
+
interface DateRangeProps {
|
|
5
|
+
onSelectionChange: (filterType: CLOLBasicFilters, options: SelectOption[]) => void;
|
|
6
|
+
}
|
|
7
|
+
export declare const DateRangePicker: ({ onSelectionChange }: DateRangeProps) => JSX.Element;
|
|
8
|
+
export {};
|
package/dist/types/ui/confluence-search-modal/basic-filters/filters/date-range-picker/messages.d.ts
ADDED
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
export declare const dateRangeMessages: {
|
|
2
|
+
dateRangeTitle: {
|
|
3
|
+
id: string;
|
|
4
|
+
defaultMessage: string;
|
|
5
|
+
description: string;
|
|
6
|
+
};
|
|
7
|
+
dateRangeAnyTime: {
|
|
8
|
+
id: string;
|
|
9
|
+
defaultMessage: string;
|
|
10
|
+
description: string;
|
|
11
|
+
};
|
|
12
|
+
dateRangeToday: {
|
|
13
|
+
id: string;
|
|
14
|
+
defaultMessage: string;
|
|
15
|
+
description: string;
|
|
16
|
+
};
|
|
17
|
+
dateRangeYesterday: {
|
|
18
|
+
id: string;
|
|
19
|
+
defaultMessage: string;
|
|
20
|
+
description: string;
|
|
21
|
+
};
|
|
22
|
+
dateRangeLastWeek: {
|
|
23
|
+
id: string;
|
|
24
|
+
defaultMessage: string;
|
|
25
|
+
description: string;
|
|
26
|
+
};
|
|
27
|
+
dateRangeLastMonth: {
|
|
28
|
+
id: string;
|
|
29
|
+
defaultMessage: string;
|
|
30
|
+
description: string;
|
|
31
|
+
};
|
|
32
|
+
dateRangeLastYear: {
|
|
33
|
+
id: string;
|
|
34
|
+
defaultMessage: string;
|
|
35
|
+
description: string;
|
|
36
|
+
};
|
|
37
|
+
dateRangeCustom: {
|
|
38
|
+
id: string;
|
|
39
|
+
defaultMessage: string;
|
|
40
|
+
description: string;
|
|
41
|
+
};
|
|
42
|
+
};
|
package/dist/types/ui/confluence-search-modal/basic-filters/filters/date-range-picker/styled.d.ts
ADDED
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
/// <reference types="react" />
|
|
2
|
+
export declare const PopupComponentContainer: import("@emotion/styled").StyledComponent<{
|
|
3
|
+
theme?: import("@emotion/react").Theme | undefined;
|
|
4
|
+
as?: import("react").ElementType<any> | undefined;
|
|
5
|
+
}, import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, {}>;
|
|
6
|
+
export declare const CustomDropdown: import("@emotion/styled").StyledComponent<{
|
|
7
|
+
theme?: import("@emotion/react").Theme | undefined;
|
|
8
|
+
as?: import("react").ElementType<any> | undefined;
|
|
9
|
+
}, import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, {}>;
|
|
10
|
+
export declare const CustomDropdownItem: import("@emotion/styled").StyledComponent<{
|
|
11
|
+
theme?: import("@emotion/react").Theme | undefined;
|
|
12
|
+
as?: import("react").ElementType<any> | undefined;
|
|
13
|
+
} & {
|
|
14
|
+
isSelected: boolean;
|
|
15
|
+
}, import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, {}>;
|
|
16
|
+
export declare const CustomDateWrapper: import("@emotion/styled").StyledComponent<{
|
|
17
|
+
theme?: import("@emotion/react").Theme | undefined;
|
|
18
|
+
as?: import("react").ElementType<any> | undefined;
|
|
19
|
+
}, import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, {}>;
|
|
20
|
+
export declare const DatePickersWrapper: import("@emotion/styled").StyledComponent<{
|
|
21
|
+
theme?: import("@emotion/react").Theme | undefined;
|
|
22
|
+
as?: import("react").ElementType<any> | undefined;
|
|
23
|
+
}, import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, {}>;
|
|
24
|
+
export declare const SelectDateRangeButton: import("@emotion/styled").StyledComponent<{
|
|
25
|
+
theme?: import("@emotion/react").Theme | undefined;
|
|
26
|
+
as?: import("react").ElementType<any> | undefined;
|
|
27
|
+
}, import("react").DetailedHTMLProps<import("react").ButtonHTMLAttributes<HTMLButtonElement>, HTMLButtonElement>, {}>;
|
|
28
|
+
export declare const DateRangeErrorMessage: import("@emotion/styled").StyledComponent<{
|
|
29
|
+
theme?: import("@emotion/react").Theme | undefined;
|
|
30
|
+
as?: import("react").ElementType<any> | undefined;
|
|
31
|
+
}, import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, {}>;
|
package/dist/types/ui/confluence-search-modal/basic-filters/filters/date-range-picker/trigger.d.ts
ADDED
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
/// <reference types="react" />
|
|
2
|
+
import type { TriggerProps } from '@atlaskit/popup/types';
|
|
3
|
+
export interface PopupTriggerProps {
|
|
4
|
+
triggerProps: TriggerProps;
|
|
5
|
+
optionSelected: boolean;
|
|
6
|
+
label?: string;
|
|
7
|
+
selectedLabel?: string;
|
|
8
|
+
onClickButton: () => void;
|
|
9
|
+
}
|
|
10
|
+
export declare const PopupTrigger: ({ triggerProps, optionSelected, label, selectedLabel, onClickButton, }: PopupTriggerProps) => JSX.Element;
|
package/dist/types/ui/confluence-search-modal/basic-filters/filters/edited-or-created-by/index.d.ts
ADDED
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
/// <reference types="react" />
|
|
2
|
+
import { SelectOption } from '../../../../common/modal/popup-select/types';
|
|
3
|
+
import { CLOLBasicFilters } from '../../types';
|
|
4
|
+
interface EditedOrCreatedByFilterProps {
|
|
5
|
+
cloudId?: string;
|
|
6
|
+
selection: SelectOption[];
|
|
7
|
+
onSelectionChange: (filterType: CLOLBasicFilters, selection: SelectOption[]) => void;
|
|
8
|
+
}
|
|
9
|
+
declare const EditedOrCreatedByFilter: ({ cloudId, onSelectionChange, selection, }: EditedOrCreatedByFilterProps) => JSX.Element;
|
|
10
|
+
export default EditedOrCreatedByFilter;
|