@atlaskit/link-datasource 1.26.2 → 1.27.0
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 +16 -0
- package/dist/cjs/ui/common/modal/basic-search-input/index.js +9 -18
- package/dist/cjs/ui/common/modal/count-view-smart-link/index.js +40 -0
- package/dist/cjs/ui/{jira-issues-modal/modal/jira-display-view-dropdown/jira-display-view-drop-down.js → common/modal/display-view-dropdown/display-view-drop-down.js} +29 -13
- package/dist/cjs/ui/common/modal/display-view-dropdown/messages.js +58 -0
- package/dist/cjs/ui/common/modal/popup-select/index.js +217 -0
- package/dist/cjs/ui/{jira-issues-modal/basic-filters/ui → common/modal/popup-select}/menu-list/errorMessage.js +3 -3
- package/dist/cjs/ui/{jira-issues-modal/basic-filters/ui → common/modal/popup-select}/menu-list/index.js +6 -5
- package/dist/cjs/ui/{jira-issues-modal/basic-filters/ui → common/modal/popup-select}/menu-list/messages.js +5 -0
- package/dist/cjs/ui/{jira-issues-modal/basic-filters/ui → common/modal/popup-select}/menu-list/noOptionsMessage.js +3 -3
- package/dist/cjs/ui/common/modal/popup-select/menu-list/showMoreButton.js +36 -0
- package/dist/cjs/ui/common/modal/popup-select/messages.js +19 -0
- package/dist/cjs/ui/{jira-issues-modal/basic-filters/ui/async-popup-select → common/modal/popup-select}/trigger.js +12 -13
- package/dist/cjs/ui/common/modal/popup-select/types.js +5 -0
- package/dist/cjs/ui/confluence-search-modal/basic-filters/index.js +22 -0
- package/dist/cjs/ui/confluence-search-modal/confluence-search-container/index.js +18 -3
- package/dist/cjs/ui/confluence-search-modal/modal/index.js +114 -45
- package/dist/cjs/ui/confluence-search-modal/modal/messages.js +5 -0
- package/dist/cjs/ui/jira-issues-modal/basic-filters/ui/async-popup-select/index.js +27 -163
- package/dist/cjs/ui/jira-issues-modal/basic-filters/ui/async-popup-select/messages.js +0 -15
- package/dist/cjs/ui/jira-issues-modal/jira-search-container/index.js +2 -1
- package/dist/cjs/ui/jira-issues-modal/modal/index.js +8 -23
- package/dist/cjs/ui/jira-issues-modal/modal/messages.js +0 -20
- package/dist/es2019/ui/common/modal/basic-search-input/index.js +2 -10
- package/dist/es2019/ui/common/modal/count-view-smart-link/index.js +30 -0
- package/dist/es2019/ui/common/modal/display-view-dropdown/display-view-drop-down.js +71 -0
- package/dist/es2019/ui/common/modal/display-view-dropdown/messages.js +52 -0
- package/dist/es2019/ui/common/modal/popup-select/index.js +170 -0
- package/dist/es2019/ui/{jira-issues-modal/basic-filters/ui → common/modal/popup-select}/menu-list/errorMessage.js +3 -3
- package/dist/es2019/ui/{jira-issues-modal/basic-filters/ui → common/modal/popup-select}/menu-list/index.js +6 -5
- package/dist/es2019/ui/{jira-issues-modal/basic-filters/ui → common/modal/popup-select}/menu-list/messages.js +5 -0
- package/dist/es2019/ui/{jira-issues-modal/basic-filters/ui → common/modal/popup-select}/menu-list/noOptionsMessage.js +3 -3
- package/dist/es2019/ui/common/modal/popup-select/menu-list/showMoreButton.js +29 -0
- package/dist/es2019/ui/common/modal/popup-select/messages.js +13 -0
- package/dist/es2019/ui/{jira-issues-modal/basic-filters/ui/async-popup-select → common/modal/popup-select}/trigger.js +10 -11
- package/dist/es2019/ui/common/modal/popup-select/types.js +1 -0
- package/dist/es2019/ui/confluence-search-modal/basic-filters/index.js +13 -0
- package/dist/es2019/ui/confluence-search-modal/confluence-search-container/index.js +19 -4
- package/dist/es2019/ui/confluence-search-modal/modal/index.js +98 -31
- package/dist/es2019/ui/confluence-search-modal/modal/messages.js +5 -0
- package/dist/es2019/ui/jira-issues-modal/basic-filters/ui/async-popup-select/index.js +25 -145
- package/dist/es2019/ui/jira-issues-modal/basic-filters/ui/async-popup-select/messages.js +0 -15
- package/dist/es2019/ui/jira-issues-modal/jira-search-container/index.js +2 -1
- package/dist/es2019/ui/jira-issues-modal/modal/index.js +9 -24
- package/dist/es2019/ui/jira-issues-modal/modal/messages.js +0 -20
- package/dist/esm/ui/common/modal/basic-search-input/index.js +2 -10
- package/dist/esm/ui/common/modal/count-view-smart-link/index.js +32 -0
- package/dist/esm/ui/common/modal/display-view-dropdown/display-view-drop-down.js +73 -0
- package/dist/esm/ui/common/modal/display-view-dropdown/messages.js +52 -0
- package/dist/esm/ui/common/modal/popup-select/index.js +207 -0
- package/dist/esm/ui/{jira-issues-modal/basic-filters/ui → common/modal/popup-select}/menu-list/errorMessage.js +3 -3
- package/dist/esm/ui/{jira-issues-modal/basic-filters/ui → common/modal/popup-select}/menu-list/index.js +6 -5
- package/dist/esm/ui/{jira-issues-modal/basic-filters/ui → common/modal/popup-select}/menu-list/messages.js +5 -0
- package/dist/esm/ui/{jira-issues-modal/basic-filters/ui → common/modal/popup-select}/menu-list/noOptionsMessage.js +3 -3
- package/dist/esm/ui/common/modal/popup-select/menu-list/showMoreButton.js +26 -0
- package/dist/esm/ui/common/modal/popup-select/messages.js +13 -0
- package/dist/esm/ui/{jira-issues-modal/basic-filters/ui/async-popup-select → common/modal/popup-select}/trigger.js +12 -13
- package/dist/esm/ui/common/modal/popup-select/types.js +1 -0
- package/dist/esm/ui/confluence-search-modal/basic-filters/index.js +15 -0
- package/dist/esm/ui/confluence-search-modal/confluence-search-container/index.js +19 -4
- package/dist/esm/ui/confluence-search-modal/modal/index.js +114 -45
- package/dist/esm/ui/confluence-search-modal/modal/messages.js +5 -0
- package/dist/esm/ui/jira-issues-modal/basic-filters/ui/async-popup-select/index.js +27 -163
- package/dist/esm/ui/jira-issues-modal/basic-filters/ui/async-popup-select/messages.js +0 -15
- package/dist/esm/ui/jira-issues-modal/jira-search-container/index.js +2 -1
- package/dist/esm/ui/jira-issues-modal/modal/index.js +9 -24
- package/dist/esm/ui/jira-issues-modal/modal/messages.js +0 -20
- package/dist/types/analytics/generated/analytics.types.d.ts +6 -6
- package/dist/types/common/types.d.ts +5 -5
- package/dist/types/ui/common/modal/basic-search-input/index.d.ts +1 -0
- package/dist/types/ui/common/modal/count-view-smart-link/index.d.ts +9 -0
- package/dist/types/ui/common/modal/display-view-dropdown/display-view-drop-down.d.ts +8 -0
- package/dist/types/ui/common/modal/display-view-dropdown/messages.d.ts +42 -0
- package/dist/types/ui/{jira-issues-modal/basic-filters/ui/async-popup-select → common/modal/popup-select}/control.d.ts +1 -1
- package/dist/{types-ts4.5/ui/jira-issues-modal/basic-filters/ui/async-popup-select → types/ui/common/modal/popup-select}/dropdownIndicator.d.ts +1 -1
- package/dist/types/ui/{jira-issues-modal/basic-filters/ui/async-popup-select → common/modal/popup-select}/formatOptionLabel.d.ts +1 -1
- package/dist/types/ui/common/modal/popup-select/index.d.ts +21 -0
- package/dist/types/ui/common/modal/popup-select/menu-list/errorMessage.d.ts +6 -0
- package/dist/types/ui/common/modal/popup-select/menu-list/index.d.ts +15 -0
- package/dist/types/ui/{jira-issues-modal/basic-filters/ui → common/modal/popup-select}/menu-list/messages.d.ts +5 -0
- package/dist/types/ui/common/modal/popup-select/menu-list/noOptionsMessage.d.ts +5 -0
- package/dist/{types-ts4.5/ui/jira-issues-modal/basic-filters/ui/async-popup-select → types/ui/common/modal/popup-select/menu-list}/showMoreButton.d.ts +2 -1
- package/dist/types/ui/common/modal/popup-select/messages.d.ts +12 -0
- package/dist/types/ui/{jira-issues-modal/basic-filters/ui/async-popup-select → common/modal/popup-select}/trigger.d.ts +3 -2
- package/dist/types/ui/common/modal/popup-select/types.d.ts +22 -0
- package/dist/types/ui/confluence-search-modal/basic-filters/index.d.ts +5 -0
- package/dist/types/ui/confluence-search-modal/modal/messages.d.ts +5 -0
- package/dist/types/ui/confluence-search-modal/types.d.ts +2 -2
- package/dist/types/ui/jira-issues-modal/basic-filters/types.d.ts +0 -2
- package/dist/types/ui/jira-issues-modal/basic-filters/ui/async-popup-select/messages.d.ts +0 -15
- package/dist/types/ui/jira-issues-modal/modal/messages.d.ts +0 -20
- package/dist/types-ts4.5/analytics/generated/analytics.types.d.ts +6 -6
- package/dist/types-ts4.5/common/types.d.ts +5 -5
- package/dist/types-ts4.5/ui/common/modal/basic-search-input/index.d.ts +1 -0
- package/dist/types-ts4.5/ui/common/modal/count-view-smart-link/index.d.ts +9 -0
- package/dist/types-ts4.5/ui/common/modal/display-view-dropdown/display-view-drop-down.d.ts +8 -0
- package/dist/types-ts4.5/ui/common/modal/display-view-dropdown/messages.d.ts +42 -0
- package/dist/types-ts4.5/ui/{jira-issues-modal/basic-filters/ui/async-popup-select → common/modal/popup-select}/control.d.ts +1 -1
- package/dist/{types/ui/jira-issues-modal/basic-filters/ui/async-popup-select → types-ts4.5/ui/common/modal/popup-select}/dropdownIndicator.d.ts +1 -1
- package/dist/types-ts4.5/ui/{jira-issues-modal/basic-filters/ui/async-popup-select → common/modal/popup-select}/formatOptionLabel.d.ts +1 -1
- package/dist/types-ts4.5/ui/common/modal/popup-select/index.d.ts +21 -0
- package/dist/types-ts4.5/ui/common/modal/popup-select/menu-list/errorMessage.d.ts +6 -0
- package/dist/types-ts4.5/ui/common/modal/popup-select/menu-list/index.d.ts +15 -0
- package/dist/types-ts4.5/ui/{jira-issues-modal/basic-filters/ui → common/modal/popup-select}/menu-list/messages.d.ts +5 -0
- package/dist/types-ts4.5/ui/common/modal/popup-select/menu-list/noOptionsMessage.d.ts +5 -0
- package/dist/{types/ui/jira-issues-modal/basic-filters/ui/async-popup-select → types-ts4.5/ui/common/modal/popup-select/menu-list}/showMoreButton.d.ts +2 -1
- package/dist/types-ts4.5/ui/common/modal/popup-select/messages.d.ts +12 -0
- package/dist/types-ts4.5/ui/{jira-issues-modal/basic-filters/ui/async-popup-select → common/modal/popup-select}/trigger.d.ts +3 -2
- package/dist/types-ts4.5/ui/common/modal/popup-select/types.d.ts +22 -0
- package/dist/types-ts4.5/ui/confluence-search-modal/basic-filters/index.d.ts +5 -0
- package/dist/types-ts4.5/ui/confluence-search-modal/modal/messages.d.ts +5 -0
- package/dist/types-ts4.5/ui/confluence-search-modal/types.d.ts +2 -2
- package/dist/types-ts4.5/ui/jira-issues-modal/basic-filters/types.d.ts +0 -2
- package/dist/types-ts4.5/ui/jira-issues-modal/basic-filters/ui/async-popup-select/messages.d.ts +0 -15
- package/dist/types-ts4.5/ui/jira-issues-modal/modal/messages.d.ts +0 -20
- package/examples-helpers/mockSmartLinkData.ts +49 -0
- package/examples-helpers/smartLinkCustomClient.ts +8 -3
- package/package.json +6 -3
- package/dist/cjs/ui/jira-issues-modal/basic-filters/ui/async-popup-select/showMoreButton.js +0 -22
- package/dist/es2019/ui/jira-issues-modal/basic-filters/ui/async-popup-select/showMoreButton.js +0 -17
- package/dist/es2019/ui/jira-issues-modal/modal/jira-display-view-dropdown/jira-display-view-drop-down.js +0 -55
- package/dist/esm/ui/jira-issues-modal/basic-filters/ui/async-popup-select/showMoreButton.js +0 -15
- package/dist/esm/ui/jira-issues-modal/modal/jira-display-view-dropdown/jira-display-view-drop-down.js +0 -57
- package/dist/types/ui/jira-issues-modal/basic-filters/ui/menu-list/errorMessage.d.ts +0 -8
- package/dist/types/ui/jira-issues-modal/basic-filters/ui/menu-list/index.d.ts +0 -5
- package/dist/types/ui/jira-issues-modal/basic-filters/ui/menu-list/noOptionsMessage.d.ts +0 -6
- package/dist/types/ui/jira-issues-modal/modal/jira-display-view-dropdown/jira-display-view-drop-down.d.ts +0 -8
- package/dist/types-ts4.5/ui/jira-issues-modal/basic-filters/ui/menu-list/errorMessage.d.ts +0 -8
- package/dist/types-ts4.5/ui/jira-issues-modal/basic-filters/ui/menu-list/index.d.ts +0 -5
- package/dist/types-ts4.5/ui/jira-issues-modal/basic-filters/ui/menu-list/noOptionsMessage.d.ts +0 -6
- package/dist/types-ts4.5/ui/jira-issues-modal/modal/jira-display-view-dropdown/jira-display-view-drop-down.d.ts +0 -8
- /package/dist/cjs/ui/{jira-issues-modal/basic-filters/ui/async-popup-select → common/modal/popup-select}/control.js +0 -0
- /package/dist/cjs/ui/{jira-issues-modal/basic-filters/ui/async-popup-select → common/modal/popup-select}/dropdownIndicator.js +0 -0
- /package/dist/cjs/ui/{jira-issues-modal/basic-filters/ui/async-popup-select → common/modal/popup-select}/footer.js +0 -0
- /package/dist/cjs/ui/{jira-issues-modal/basic-filters/ui/async-popup-select → common/modal/popup-select}/formatOptionLabel.js +0 -0
- /package/dist/cjs/ui/{jira-issues-modal/basic-filters/ui → common/modal/popup-select}/menu-list/loadingMessage.js +0 -0
- /package/dist/cjs/ui/{jira-issues-modal/basic-filters/ui → common/modal/popup-select}/menu-list/selectMessage.js +0 -0
- /package/dist/es2019/ui/{jira-issues-modal/basic-filters/ui/async-popup-select → common/modal/popup-select}/control.js +0 -0
- /package/dist/es2019/ui/{jira-issues-modal/basic-filters/ui/async-popup-select → common/modal/popup-select}/dropdownIndicator.js +0 -0
- /package/dist/es2019/ui/{jira-issues-modal/basic-filters/ui/async-popup-select → common/modal/popup-select}/footer.js +0 -0
- /package/dist/es2019/ui/{jira-issues-modal/basic-filters/ui/async-popup-select → common/modal/popup-select}/formatOptionLabel.js +0 -0
- /package/dist/es2019/ui/{jira-issues-modal/basic-filters/ui → common/modal/popup-select}/menu-list/loadingMessage.js +0 -0
- /package/dist/es2019/ui/{jira-issues-modal/basic-filters/ui → common/modal/popup-select}/menu-list/selectMessage.js +0 -0
- /package/dist/esm/ui/{jira-issues-modal/basic-filters/ui/async-popup-select → common/modal/popup-select}/control.js +0 -0
- /package/dist/esm/ui/{jira-issues-modal/basic-filters/ui/async-popup-select → common/modal/popup-select}/dropdownIndicator.js +0 -0
- /package/dist/esm/ui/{jira-issues-modal/basic-filters/ui/async-popup-select → common/modal/popup-select}/footer.js +0 -0
- /package/dist/esm/ui/{jira-issues-modal/basic-filters/ui/async-popup-select → common/modal/popup-select}/formatOptionLabel.js +0 -0
- /package/dist/esm/ui/{jira-issues-modal/basic-filters/ui → common/modal/popup-select}/menu-list/loadingMessage.js +0 -0
- /package/dist/esm/ui/{jira-issues-modal/basic-filters/ui → common/modal/popup-select}/menu-list/selectMessage.js +0 -0
- /package/dist/types/ui/{jira-issues-modal/basic-filters/ui/async-popup-select → common/modal/popup-select}/footer.d.ts +0 -0
- /package/dist/types/ui/{jira-issues-modal/basic-filters/ui → common/modal/popup-select}/menu-list/loadingMessage.d.ts +0 -0
- /package/dist/types/ui/{jira-issues-modal/basic-filters/ui → common/modal/popup-select}/menu-list/selectMessage.d.ts +0 -0
- /package/dist/types-ts4.5/ui/{jira-issues-modal/basic-filters/ui/async-popup-select → common/modal/popup-select}/footer.d.ts +0 -0
- /package/dist/types-ts4.5/ui/{jira-issues-modal/basic-filters/ui → common/modal/popup-select}/menu-list/loadingMessage.d.ts +0 -0
- /package/dist/types-ts4.5/ui/{jira-issues-modal/basic-filters/ui → common/modal/popup-select}/menu-list/selectMessage.d.ts +0 -0
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,21 @@
|
|
|
1
1
|
# @atlaskit/link-datasource
|
|
2
2
|
|
|
3
|
+
## 1.27.0
|
|
4
|
+
|
|
5
|
+
### Minor Changes
|
|
6
|
+
|
|
7
|
+
- [#89218](https://stash.atlassian.com/projects/CONFCLOUD/repos/confluence-frontend/pull-requests/89218) [`008bd3703560`](https://stash.atlassian.com/projects/CONFCLOUD/repos/confluence-frontend/commits/008bd3703560) - Adds DisplayViewDropdown to Confluence Search modal as a common component.
|
|
8
|
+
|
|
9
|
+
### Patch Changes
|
|
10
|
+
|
|
11
|
+
- [#89986](https://stash.atlassian.com/projects/CONFCLOUD/repos/confluence-frontend/pull-requests/89986) [`73821c4958bb`](https://stash.atlassian.com/projects/CONFCLOUD/repos/confluence-frontend/commits/73821c4958bb) - Add display view dropdown analytics events
|
|
12
|
+
|
|
13
|
+
## 1.26.3
|
|
14
|
+
|
|
15
|
+
### Patch Changes
|
|
16
|
+
|
|
17
|
+
- [#88851](https://stash.atlassian.com/projects/CONFCLOUD/repos/confluence-frontend/pull-requests/88851) [`236a86f49825`](https://stash.atlassian.com/projects/CONFCLOUD/repos/confluence-frontend/commits/236a86f49825) - The changes here extracts the popup dropdown component into the common folder to be used by mulitple datasource providers, along with adding feature flag for CLOL basic filter rollout.
|
|
18
|
+
|
|
3
19
|
## 1.26.2
|
|
4
20
|
|
|
5
21
|
### Patch Changes
|
|
@@ -5,24 +5,22 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
5
5
|
value: true
|
|
6
6
|
});
|
|
7
7
|
exports.BasicSearchInput = void 0;
|
|
8
|
-
var _react = require("react");
|
|
9
|
-
var _react2 = require("@emotion/react");
|
|
8
|
+
var _react = require("@emotion/react");
|
|
10
9
|
var _reactIntlNext = require("react-intl-next");
|
|
11
10
|
var _button = require("@atlaskit/button");
|
|
12
11
|
var _search = _interopRequireDefault(require("@atlaskit/icon/glyph/editor/search"));
|
|
13
|
-
var _platformFeatureFlags = require("@atlaskit/platform-feature-flags");
|
|
14
12
|
var _textfield = _interopRequireDefault(require("@atlaskit/textfield"));
|
|
15
13
|
var _analytics = require("../../../../analytics");
|
|
16
14
|
var _messages = require("./messages");
|
|
17
15
|
/** @jsx jsx */
|
|
18
16
|
|
|
19
|
-
var searchButtonStyles = (0,
|
|
17
|
+
var searchButtonStyles = (0, _react.css)({
|
|
20
18
|
marginRight: "var(--ds-space-075, 6px)"
|
|
21
19
|
});
|
|
22
|
-
var formStyles = (0,
|
|
20
|
+
var formStyles = (0, _react.css)({
|
|
23
21
|
flex: 1
|
|
24
22
|
});
|
|
25
|
-
var formWithMaxWidthStyles = (0,
|
|
23
|
+
var formWithMaxWidthStyles = (0, _react.css)({
|
|
26
24
|
flex: 1,
|
|
27
25
|
maxWidth: 250
|
|
28
26
|
});
|
|
@@ -47,21 +45,14 @@ var BasicSearchInput = exports.BasicSearchInput = function BasicSearchInput(_ref
|
|
|
47
45
|
e.preventDefault();
|
|
48
46
|
handleSearchWithAnalytics();
|
|
49
47
|
};
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
return true;
|
|
53
|
-
}
|
|
54
|
-
return false;
|
|
55
|
-
}, []);
|
|
56
|
-
var isFullWidth = fullWidth || !showBasicFilters;
|
|
57
|
-
return (0, _react2.jsx)("form", {
|
|
58
|
-
css: isFullWidth ? formStyles : formWithMaxWidthStyles,
|
|
48
|
+
return (0, _react.jsx)("form", {
|
|
49
|
+
css: fullWidth ? formStyles : formWithMaxWidthStyles,
|
|
59
50
|
onSubmit: handleFormSubmit
|
|
60
|
-
}, (0,
|
|
61
|
-
elemAfterInput: (0,
|
|
51
|
+
}, (0, _react.jsx)(_textfield.default, {
|
|
52
|
+
elemAfterInput: (0, _react.jsx)(_button.LoadingButton, {
|
|
62
53
|
appearance: "primary",
|
|
63
54
|
css: searchButtonStyles,
|
|
64
|
-
iconBefore: (0,
|
|
55
|
+
iconBefore: (0, _react.jsx)(_search.default, {
|
|
65
56
|
label: formatMessage(_messages.basicSearchInputMessages.basicTextSearchLabel),
|
|
66
57
|
size: "medium"
|
|
67
58
|
}),
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
Object.defineProperty(exports, "__esModule", {
|
|
5
|
+
value: true
|
|
6
|
+
});
|
|
7
|
+
exports.SmartLink = exports.SmartCardPlaceholder = void 0;
|
|
8
|
+
var _react = require("@emotion/react");
|
|
9
|
+
var _reactIntlNext = require("react-intl-next");
|
|
10
|
+
var _colors = require("@atlaskit/theme/colors");
|
|
11
|
+
var _link = _interopRequireDefault(require("../../../issue-like-table/render-type/link"));
|
|
12
|
+
/** @jsx jsx */
|
|
13
|
+
|
|
14
|
+
var placeholderSmartLinkStyles = (0, _react.css)({
|
|
15
|
+
backgroundColor: "var(--ds-surface-raised, ".concat(_colors.N0, ")"),
|
|
16
|
+
borderRadius: "var(--ds-border-radius-200, 3px)",
|
|
17
|
+
boxShadow: '0px 1px 1px rgba(9, 30, 66, 0.25), 0px 0px 1px rgba(9, 30, 66, 0.31)',
|
|
18
|
+
color: "var(--ds-text-brand, ".concat(_colors.B400, ")"),
|
|
19
|
+
padding: "var(--ds-space-0, 0px)".concat(" ", "var(--ds-space-025, 2px)")
|
|
20
|
+
});
|
|
21
|
+
var smartLinkContainerStyles = (0, _react.css)({
|
|
22
|
+
paddingLeft: "var(--ds-space-025, 2px)"
|
|
23
|
+
});
|
|
24
|
+
var SmartCardPlaceholder = exports.SmartCardPlaceholder = function SmartCardPlaceholder(_ref) {
|
|
25
|
+
var placeholderText = _ref.placeholderText;
|
|
26
|
+
return (0, _react.jsx)("div", {
|
|
27
|
+
css: smartLinkContainerStyles
|
|
28
|
+
}, (0, _react.jsx)("span", {
|
|
29
|
+
"data-testid": "datasource-modal--smart-card-placeholder",
|
|
30
|
+
css: placeholderSmartLinkStyles
|
|
31
|
+
}, (0, _react.jsx)(_reactIntlNext.FormattedMessage, placeholderText)));
|
|
32
|
+
};
|
|
33
|
+
var SmartLink = exports.SmartLink = function SmartLink(_ref2) {
|
|
34
|
+
var url = _ref2.url;
|
|
35
|
+
return (0, _react.jsx)("div", {
|
|
36
|
+
css: smartLinkContainerStyles
|
|
37
|
+
}, (0, _react.jsx)(_link.default, {
|
|
38
|
+
url: url
|
|
39
|
+
}));
|
|
40
|
+
};
|
|
@@ -5,13 +5,13 @@ var _typeof = require("@babel/runtime/helpers/typeof");
|
|
|
5
5
|
Object.defineProperty(exports, "__esModule", {
|
|
6
6
|
value: true
|
|
7
7
|
});
|
|
8
|
-
exports.
|
|
8
|
+
exports.DisplayViewDropDown = void 0;
|
|
9
9
|
var _react = require("@emotion/react");
|
|
10
10
|
var _reactIntlNext = require("react-intl-next");
|
|
11
11
|
var _dropdownMenu = _interopRequireWildcard(require("@atlaskit/dropdown-menu"));
|
|
12
12
|
var _table = _interopRequireDefault(require("@atlaskit/icon/glyph/table"));
|
|
13
13
|
var _primitives = require("@atlaskit/primitives");
|
|
14
|
-
var _messages = require("
|
|
14
|
+
var _messages = require("./messages");
|
|
15
15
|
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
|
|
16
16
|
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
|
|
17
17
|
/** @jsx jsx */
|
|
@@ -35,34 +35,50 @@ var InlineIcon = (0, _react.jsx)("svg", {
|
|
|
35
35
|
d: "M4 9C2.89543 9 2 9.67155 2 10.5V13.5C2 14.3285 2.89543 15 4 15H20C21.1046 15 22 14.3285 22 13.5V10.5C22 9.67155 21.1046 9 20 9H4ZM4.22222 11.25C4.22222 10.5 4.22222 10.5 5 10.5H7C7.55556 10.5 7.55556 10.5 7.55556 11.25V13C7.55556 13.5 7.55556 13.5 7 13.5H5C4.22222 13.5 4.22222 13.5 4.22222 13V11.25ZM9 12C9 11.7929 9.2239 11.625 9.5 11.625H19.5C19.7761 11.625 20 11.7929 20 12C20 12.2071 19.7761 12.375 19.5 12.375H9.5C9.2239 12.375 9 12.2071 9 12Z",
|
|
36
36
|
fill: 'currentColor'
|
|
37
37
|
}));
|
|
38
|
-
var
|
|
38
|
+
var DisplayViewDropDown = exports.DisplayViewDropDown = function DisplayViewDropDown(_ref) {
|
|
39
39
|
var onViewModeChange = _ref.onViewModeChange,
|
|
40
40
|
viewMode = _ref.viewMode;
|
|
41
41
|
var _useIntl = (0, _reactIntlNext.useIntl)(),
|
|
42
42
|
formatMessage = _useIntl.formatMessage;
|
|
43
|
-
|
|
43
|
+
// TODO: further refactoring in EDM-9573
|
|
44
|
+
// temporary fix. transition 'count' to 'inline', 'issue' to 'table'
|
|
45
|
+
var isJira = viewMode === 'issue' || viewMode === 'count';
|
|
46
|
+
var isTable = viewMode === 'table' || viewMode === 'issue';
|
|
47
|
+
var triggerText = isTable ? formatMessage(
|
|
48
|
+
// TODO EDM-9573, remove once EDM-9431 is merged
|
|
49
|
+
isJira ? _messages.displayViewDropDownMessages.tableViewModeLabel : _messages.displayViewDropDownMessages.tableViewModeLabelDuplicate) : formatMessage(
|
|
50
|
+
// TODO EDM-9573, remove once EDM-9431 is merged
|
|
51
|
+
isJira ? _messages.displayViewDropDownMessages.inlineLinkViewModeLabel : _messages.displayViewDropDownMessages.inlineLinkViewModeLabelDuplicate);
|
|
44
52
|
return (0, _react.jsx)(_dropdownMenu.default, {
|
|
45
53
|
trigger: triggerText,
|
|
46
|
-
testId: "
|
|
54
|
+
testId: "datasource-modal--view-drop-down"
|
|
47
55
|
}, (0, _react.jsx)(_primitives.Box, {
|
|
48
56
|
xcss: dropDownItemGroupStyles
|
|
49
57
|
}, (0, _react.jsx)(_dropdownMenu.DropdownItemGroup, null, (0, _react.jsx)(_dropdownMenu.DropdownItem, {
|
|
50
58
|
testId: "dropdown-item-table",
|
|
51
59
|
onClick: function onClick() {
|
|
52
|
-
return onViewModeChange('issue');
|
|
60
|
+
return onViewModeChange(isJira ? 'issue' : 'table');
|
|
53
61
|
},
|
|
54
|
-
isSelected:
|
|
55
|
-
description: formatMessage(
|
|
62
|
+
isSelected: isTable,
|
|
63
|
+
description: formatMessage(
|
|
64
|
+
// TODO EDM-9573, remove once EDM-9431 is merged
|
|
65
|
+
isJira ? _messages.displayViewDropDownMessages.tableViewModeDescription : _messages.displayViewDropDownMessages.tableViewModeDescriptionDuplicate),
|
|
56
66
|
elemBefore: (0, _react.jsx)(_table.default, {
|
|
57
67
|
label: "table icon"
|
|
58
68
|
})
|
|
59
|
-
}, (0, _react.jsx)(_reactIntlNext.FormattedMessage
|
|
69
|
+
}, (0, _react.jsx)(_reactIntlNext.FormattedMessage
|
|
70
|
+
// TODO EDM-9573, remove once EDM-9431 is merged
|
|
71
|
+
, isJira ? _messages.displayViewDropDownMessages.tableViewModeLabel : _messages.displayViewDropDownMessages.tableViewModeLabelDuplicate)), (0, _react.jsx)(_dropdownMenu.DropdownItem, {
|
|
60
72
|
testId: "dropdown-item-inline-link",
|
|
61
73
|
onClick: function onClick() {
|
|
62
|
-
return onViewModeChange('count');
|
|
74
|
+
return onViewModeChange(isJira ? 'count' : 'inline');
|
|
63
75
|
},
|
|
64
|
-
isSelected:
|
|
65
|
-
description: formatMessage(
|
|
76
|
+
isSelected: !isTable,
|
|
77
|
+
description: formatMessage(
|
|
78
|
+
// TODO EDM-9573, remove once EDM-9431 is merged
|
|
79
|
+
isJira ? _messages.displayViewDropDownMessages.inlineLinkViewModeDescription : _messages.displayViewDropDownMessages.inlineLinkViewModeDescriptionDuplicate),
|
|
66
80
|
elemBefore: InlineIcon
|
|
67
|
-
}, (0, _react.jsx)(_reactIntlNext.FormattedMessage
|
|
81
|
+
}, (0, _react.jsx)(_reactIntlNext.FormattedMessage
|
|
82
|
+
// TODO EDM-9573, remove once EDM-9431 is merged
|
|
83
|
+
, isJira ? _messages.displayViewDropDownMessages.inlineLinkViewModeLabel : _messages.displayViewDropDownMessages.inlineLinkViewModeLabelDuplicate)))));
|
|
68
84
|
};
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.displayViewDropDownMessages = void 0;
|
|
7
|
+
var _reactIntlNext = require("react-intl-next");
|
|
8
|
+
var displayViewDropDownMessages = exports.displayViewDropDownMessages = (0, _reactIntlNext.defineMessages)({
|
|
9
|
+
// TODO EDM-9573
|
|
10
|
+
// remove duplicate from end of key once EDM-9431 is merged
|
|
11
|
+
tableViewModeLabelDuplicate: {
|
|
12
|
+
id: 'linkDataSource.configmodal.tableViewModeLabel',
|
|
13
|
+
description: 'Display search results as a table',
|
|
14
|
+
defaultMessage: 'Table'
|
|
15
|
+
},
|
|
16
|
+
// remove duplicate from end of key once EDM-9431 is merged
|
|
17
|
+
tableViewModeDescriptionDuplicate: {
|
|
18
|
+
id: 'linkDataSource.configmodal.tableViewModeDescription',
|
|
19
|
+
description: 'Description for table view mode',
|
|
20
|
+
defaultMessage: 'Display search results as a table'
|
|
21
|
+
},
|
|
22
|
+
// remove duplicate from end of key once EDM-9431 is merged
|
|
23
|
+
inlineLinkViewModeLabelDuplicate: {
|
|
24
|
+
id: 'linkDataSource.configmodal.inlineLinkViewModeLabel',
|
|
25
|
+
description: 'Display the number of search results as an inline smart link',
|
|
26
|
+
defaultMessage: 'Inline link'
|
|
27
|
+
},
|
|
28
|
+
// remove duplicate from end of key once EDM-9431 is merged
|
|
29
|
+
inlineLinkViewModeDescriptionDuplicate: {
|
|
30
|
+
id: 'linkDataSource.configmodal.inlineLinkViewModeDescription',
|
|
31
|
+
description: 'Description for inline view mode',
|
|
32
|
+
defaultMessage: 'Display the number of search results or as an inline smart link'
|
|
33
|
+
},
|
|
34
|
+
// delete once EDM-9431 is merged
|
|
35
|
+
tableViewModeLabel: {
|
|
36
|
+
id: 'linkDataSource.jira-issues.configmodal.tableViewModeLabel',
|
|
37
|
+
description: 'Display Jira search results as a table',
|
|
38
|
+
defaultMessage: 'Table'
|
|
39
|
+
},
|
|
40
|
+
// delete once EDM-9431 is merged
|
|
41
|
+
tableViewModeDescription: {
|
|
42
|
+
id: 'linkDataSource.jira-issues.configmodal.tableViewModeDescription',
|
|
43
|
+
description: 'Description for table view mode',
|
|
44
|
+
defaultMessage: 'Display Jira search results as a table'
|
|
45
|
+
},
|
|
46
|
+
// delete once EDM-9431 is merged
|
|
47
|
+
inlineLinkViewModeLabel: {
|
|
48
|
+
id: 'linkDataSource.jira-issues.configmodal.inlineLinkViewModeLabel',
|
|
49
|
+
description: 'Display the number of search results as an inline smart link',
|
|
50
|
+
defaultMessage: 'Inline link'
|
|
51
|
+
},
|
|
52
|
+
// delete once EDM-9431 is merged
|
|
53
|
+
inlineLinkViewModeDescription: {
|
|
54
|
+
id: 'linkDataSource.jira-issues.configmodal.inlineLinkViewModeDescription',
|
|
55
|
+
description: 'Description for inline link view mode',
|
|
56
|
+
defaultMessage: 'Display the number of search results or as an inline smart link'
|
|
57
|
+
}
|
|
58
|
+
});
|
|
@@ -0,0 +1,217 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
var _typeof = require("@babel/runtime/helpers/typeof");
|
|
5
|
+
Object.defineProperty(exports, "__esModule", {
|
|
6
|
+
value: true
|
|
7
|
+
});
|
|
8
|
+
exports.FilterPopupSelect = void 0;
|
|
9
|
+
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
|
|
10
|
+
var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
|
|
11
|
+
var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
|
|
12
|
+
var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
|
|
13
|
+
var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
|
|
14
|
+
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
|
|
15
|
+
var _react = _interopRequireWildcard(require("react"));
|
|
16
|
+
var _isEqual = _interopRequireDefault(require("lodash/isEqual"));
|
|
17
|
+
var _reactIntlNext = require("react-intl-next");
|
|
18
|
+
var _select = require("@atlaskit/select");
|
|
19
|
+
var _analytics = require("../../../../analytics");
|
|
20
|
+
var _control = _interopRequireDefault(require("./control"));
|
|
21
|
+
var _dropdownIndicator = _interopRequireDefault(require("./dropdownIndicator"));
|
|
22
|
+
var _footer = _interopRequireDefault(require("./footer"));
|
|
23
|
+
var _formatOptionLabel = _interopRequireDefault(require("./formatOptionLabel"));
|
|
24
|
+
var _menuList = _interopRequireDefault(require("./menu-list"));
|
|
25
|
+
var _messages = require("./messages");
|
|
26
|
+
var _trigger = _interopRequireDefault(require("./trigger"));
|
|
27
|
+
var _excluded = ["isOpen"];
|
|
28
|
+
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
|
|
29
|
+
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
|
|
30
|
+
// Needed to disable filtering from react-select
|
|
31
|
+
var noFilterOptions = function noFilterOptions() {
|
|
32
|
+
return true;
|
|
33
|
+
};
|
|
34
|
+
var FilterPopupSelect = exports.FilterPopupSelect = function FilterPopupSelect(_ref) {
|
|
35
|
+
var filterName = _ref.filterName,
|
|
36
|
+
totalCount = _ref.totalCount,
|
|
37
|
+
status = _ref.status,
|
|
38
|
+
buttonLabel = _ref.buttonLabel,
|
|
39
|
+
_ref$showLoading = _ref.showLoading,
|
|
40
|
+
showLoading = _ref$showLoading === void 0 ? false : _ref$showLoading,
|
|
41
|
+
_ref$isDisabled = _ref.isDisabled,
|
|
42
|
+
isDisabled = _ref$isDisabled === void 0 ? false : _ref$isDisabled,
|
|
43
|
+
_ref$showHydrating = _ref.showHydrating,
|
|
44
|
+
showHydrating = _ref$showHydrating === void 0 ? false : _ref$showHydrating,
|
|
45
|
+
_ref$shouldShowFooter = _ref.shouldShowFooter,
|
|
46
|
+
shouldShowFooter = _ref$shouldShowFooter === void 0 ? true : _ref$shouldShowFooter,
|
|
47
|
+
menuListProps = _ref.menuListProps,
|
|
48
|
+
options = _ref.options,
|
|
49
|
+
selectedOptions = _ref.selectedOptions,
|
|
50
|
+
onSelectionChange = _ref.onSelectionChange,
|
|
51
|
+
onInputChange = _ref.onInputChange,
|
|
52
|
+
onMenuClose = _ref.onMenuClose,
|
|
53
|
+
onMenuOpen = _ref.onMenuOpen;
|
|
54
|
+
var _useIntl = (0, _reactIntlNext.useIntl)(),
|
|
55
|
+
formatMessage = _useIntl.formatMessage;
|
|
56
|
+
var _useDatasourceAnalyti = (0, _analytics.useDatasourceAnalyticsEvents)(),
|
|
57
|
+
fireEvent = _useDatasourceAnalyti.fireEvent;
|
|
58
|
+
var _useState = (0, _react.useState)(''),
|
|
59
|
+
_useState2 = (0, _slicedToArray2.default)(_useState, 2),
|
|
60
|
+
searchTerm = _useState2[0],
|
|
61
|
+
setSearchTerm = _useState2[1];
|
|
62
|
+
var _useState3 = (0, _react.useState)([]),
|
|
63
|
+
_useState4 = (0, _slicedToArray2.default)(_useState3, 2),
|
|
64
|
+
sortedOptions = _useState4[0],
|
|
65
|
+
setSortedOptions = _useState4[1];
|
|
66
|
+
var sortPaginatedResults = (0, _react.useRef)(false); // this is to track pagination for sorting purpose
|
|
67
|
+
|
|
68
|
+
var sortOptionsOnPopupOpen = (0, _react.useCallback)(function () {
|
|
69
|
+
if (selectedOptions.length === 0) {
|
|
70
|
+
return setSortedOptions(options);
|
|
71
|
+
}
|
|
72
|
+
var nonSelectedOptions = options.filter(function (option) {
|
|
73
|
+
return !selectedOptions.find(function (selectedOption) {
|
|
74
|
+
return selectedOption.value === option.value;
|
|
75
|
+
});
|
|
76
|
+
});
|
|
77
|
+
var newOptions = [].concat((0, _toConsumableArray2.default)(selectedOptions), (0, _toConsumableArray2.default)(nonSelectedOptions));
|
|
78
|
+
if (!(0, _isEqual.default)(newOptions, sortedOptions)) {
|
|
79
|
+
setSortedOptions(newOptions);
|
|
80
|
+
}
|
|
81
|
+
}, [selectedOptions, options, sortedOptions]);
|
|
82
|
+
var sortOptionsOnResolve = (0, _react.useCallback)(function () {
|
|
83
|
+
// when the user is searching, we want the search result to be displayed as it is, and the select component will take care of marking the selected items
|
|
84
|
+
if (searchTerm) {
|
|
85
|
+
sortPaginatedResults.current = false; // set to false to indicate pagination resolve action is completed from the sorting perspective
|
|
86
|
+
return setSortedOptions(options);
|
|
87
|
+
}
|
|
88
|
+
|
|
89
|
+
// sortedOptions is empty initially, this will take care of setting the initial value and bring the selected items to the top
|
|
90
|
+
if (sortedOptions.length === 0) {
|
|
91
|
+
return sortOptionsOnPopupOpen();
|
|
92
|
+
}
|
|
93
|
+
|
|
94
|
+
// this block handles the pagination, where on pagination, we will just append newOptions to the current list
|
|
95
|
+
if (sortPaginatedResults.current) {
|
|
96
|
+
var newOptions = options.filter(function (option) {
|
|
97
|
+
return !sortedOptions.find(function (sortedOption) {
|
|
98
|
+
return sortedOption.value === option.value;
|
|
99
|
+
});
|
|
100
|
+
});
|
|
101
|
+
if (newOptions.length > 0) {
|
|
102
|
+
setSortedOptions([].concat((0, _toConsumableArray2.default)(sortedOptions), (0, _toConsumableArray2.default)(newOptions)));
|
|
103
|
+
}
|
|
104
|
+
sortPaginatedResults.current = false; // set to false to indicate pagination resolve action is completed from the sorting perspective
|
|
105
|
+
return;
|
|
106
|
+
}
|
|
107
|
+
sortPaginatedResults.current = false; // set to false to indicate pagination resolve action is completed from the sorting perspective
|
|
108
|
+
sortOptionsOnPopupOpen();
|
|
109
|
+
}, [options, searchTerm, sortOptionsOnPopupOpen, sortedOptions]);
|
|
110
|
+
var handleMenuOpen = (0, _react.useCallback)(function () {
|
|
111
|
+
if (status === 'resolved') {
|
|
112
|
+
sortOptionsOnPopupOpen();
|
|
113
|
+
}
|
|
114
|
+
fireEvent('ui.dropdown.opened.basicSearchDropdown', {
|
|
115
|
+
filterName: filterName,
|
|
116
|
+
selectionCount: selectedOptions.length
|
|
117
|
+
});
|
|
118
|
+
onMenuOpen === null || onMenuOpen === void 0 || onMenuOpen();
|
|
119
|
+
}, [filterName, fireEvent, onMenuOpen, selectedOptions.length, sortOptionsOnPopupOpen, status]);
|
|
120
|
+
var handleMenuClose = (0, _react.useCallback)(function () {
|
|
121
|
+
/**
|
|
122
|
+
* Clearing the search is to ensure that the sortOptionsOnPopupOpen logic does not mess up.
|
|
123
|
+
* Without this, when the user opens, sortOptionsOnPopupOpen will inject the selected options to the list and the list count and values will be off
|
|
124
|
+
*/
|
|
125
|
+
if (searchTerm) {
|
|
126
|
+
setSearchTerm('');
|
|
127
|
+
}
|
|
128
|
+
onMenuClose === null || onMenuClose === void 0 || onMenuClose();
|
|
129
|
+
fireEvent('ui.dropdown.closed.basicSearchDropdown', {
|
|
130
|
+
filterName: filterName,
|
|
131
|
+
selectionCount: selectedOptions.length
|
|
132
|
+
});
|
|
133
|
+
}, [filterName, fireEvent, onMenuClose, searchTerm, selectedOptions.length]);
|
|
134
|
+
var handleInputChange = (0, _react.useCallback)( /*#__PURE__*/function () {
|
|
135
|
+
var _ref2 = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee(newSearchTerm, actionMeta) {
|
|
136
|
+
return _regenerator.default.wrap(function _callee$(_context) {
|
|
137
|
+
while (1) switch (_context.prev = _context.next) {
|
|
138
|
+
case 0:
|
|
139
|
+
if (actionMeta.action === 'input-change' && newSearchTerm !== searchTerm) {
|
|
140
|
+
setSearchTerm(newSearchTerm);
|
|
141
|
+
onInputChange(newSearchTerm, actionMeta);
|
|
142
|
+
}
|
|
143
|
+
case 1:
|
|
144
|
+
case "end":
|
|
145
|
+
return _context.stop();
|
|
146
|
+
}
|
|
147
|
+
}, _callee);
|
|
148
|
+
}));
|
|
149
|
+
return function (_x, _x2) {
|
|
150
|
+
return _ref2.apply(this, arguments);
|
|
151
|
+
};
|
|
152
|
+
}(), [onInputChange, searchTerm]);
|
|
153
|
+
(0, _react.useEffect)(function () {
|
|
154
|
+
if (status === 'resolved') {
|
|
155
|
+
sortOptionsOnResolve();
|
|
156
|
+
}
|
|
157
|
+
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
158
|
+
}, [status]); // we only want the sortOptionsOnResolve to run when there is a status change
|
|
159
|
+
|
|
160
|
+
(0, _react.useEffect)(function () {
|
|
161
|
+
if (status === 'loadingMore') {
|
|
162
|
+
sortPaginatedResults.current = true;
|
|
163
|
+
}
|
|
164
|
+
}, [status]);
|
|
165
|
+
return /*#__PURE__*/_react.default.createElement(_select.PopupSelect, {
|
|
166
|
+
isMulti: true,
|
|
167
|
+
maxMenuWidth: 300,
|
|
168
|
+
minMenuWidth: 300,
|
|
169
|
+
testId: "".concat(filterName, "-popup-select"),
|
|
170
|
+
inputId: "".concat(filterName, "-popup-select--input")
|
|
171
|
+
/*
|
|
172
|
+
this threshold controls the display of the search control (input field for search)
|
|
173
|
+
if this threshold is less than 0, when typing a search string that returns no results it will not remove the search control
|
|
174
|
+
if this threshold is 0 or higher, it will remove the search control when there are no results, the user will be unable to clear the search to see more results
|
|
175
|
+
*/,
|
|
176
|
+
searchThreshold: -1,
|
|
177
|
+
inputValue: searchTerm,
|
|
178
|
+
closeMenuOnSelect: false,
|
|
179
|
+
hideSelectedOptions: false,
|
|
180
|
+
isLoading: showLoading,
|
|
181
|
+
placeholder: formatMessage(_messages.asyncPopupSelectMessages.selectPlaceholder),
|
|
182
|
+
menuListProps: menuListProps,
|
|
183
|
+
components: {
|
|
184
|
+
Option: _select.CheckboxOption,
|
|
185
|
+
Control: _control.default,
|
|
186
|
+
MenuList: _menuList.default,
|
|
187
|
+
DropdownIndicator: _dropdownIndicator.default,
|
|
188
|
+
LoadingIndicator: undefined,
|
|
189
|
+
// disables the three ... indicator in the searchbox when picker is loading
|
|
190
|
+
IndicatorSeparator: undefined // disables the | separator between search input and icon
|
|
191
|
+
},
|
|
192
|
+
options: sortedOptions,
|
|
193
|
+
value: selectedOptions,
|
|
194
|
+
filterOption: noFilterOptions,
|
|
195
|
+
formatOptionLabel: _formatOptionLabel.default,
|
|
196
|
+
onChange: onSelectionChange,
|
|
197
|
+
onInputChange: handleInputChange,
|
|
198
|
+
onOpen: handleMenuOpen,
|
|
199
|
+
onClose: handleMenuClose,
|
|
200
|
+
target: function target(_ref3) {
|
|
201
|
+
var isOpen = _ref3.isOpen,
|
|
202
|
+
triggerProps = (0, _objectWithoutProperties2.default)(_ref3, _excluded);
|
|
203
|
+
return /*#__PURE__*/_react.default.createElement(_trigger.default, (0, _extends2.default)({}, triggerProps, {
|
|
204
|
+
label: buttonLabel,
|
|
205
|
+
selectedOptions: selectedOptions,
|
|
206
|
+
isSelected: isOpen,
|
|
207
|
+
isDisabled: isDisabled,
|
|
208
|
+
isLoading: showHydrating,
|
|
209
|
+
testId: filterName
|
|
210
|
+
}));
|
|
211
|
+
},
|
|
212
|
+
footer: shouldShowFooter && /*#__PURE__*/_react.default.createElement(_footer.default, {
|
|
213
|
+
currentDisplayCount: options.length,
|
|
214
|
+
totalCount: totalCount
|
|
215
|
+
})
|
|
216
|
+
});
|
|
217
|
+
};
|
|
@@ -12,7 +12,7 @@ var _useDebounce = require("use-debounce");
|
|
|
12
12
|
var _error = _interopRequireDefault(require("@atlaskit/icon/glyph/error"));
|
|
13
13
|
var _colors = require("@atlaskit/theme/colors");
|
|
14
14
|
var _analytics = require("../../../../../analytics");
|
|
15
|
-
var _asyncPopupSelect = require("
|
|
15
|
+
var _asyncPopupSelect = require("../../../../jira-issues-modal/basic-filters/ui/async-popup-select");
|
|
16
16
|
var _messages = require("./messages");
|
|
17
17
|
var _selectMessage = _interopRequireDefault(require("./selectMessage"));
|
|
18
18
|
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
|
|
@@ -30,7 +30,7 @@ var getErrorReasonType = function getErrorReasonType(errors) {
|
|
|
30
30
|
return 'unknown';
|
|
31
31
|
};
|
|
32
32
|
var CustomErrorMessage = function CustomErrorMessage(_ref3) {
|
|
33
|
-
var
|
|
33
|
+
var filterName = _ref3.filterName,
|
|
34
34
|
errors = _ref3.errors;
|
|
35
35
|
var _useDatasourceAnalyti = (0, _analytics.useDatasourceAnalyticsEvents)(),
|
|
36
36
|
fireEvent = _useDatasourceAnalyti.fireEvent;
|
|
@@ -41,7 +41,7 @@ var CustomErrorMessage = function CustomErrorMessage(_ref3) {
|
|
|
41
41
|
*/
|
|
42
42
|
var _useDebouncedCallback = (0, _useDebounce.useDebouncedCallback)(function () {
|
|
43
43
|
fireEvent('ui.error.shown.basicSearchDropdown', {
|
|
44
|
-
|
|
44
|
+
filterName: filterName,
|
|
45
45
|
reason: getErrorReasonType(errors)
|
|
46
46
|
});
|
|
47
47
|
}, _asyncPopupSelect.SEARCH_DEBOUNCE_MS),
|
|
@@ -10,10 +10,10 @@ var _react = _interopRequireDefault(require("react"));
|
|
|
10
10
|
var _primitives = require("@atlaskit/primitives");
|
|
11
11
|
var _select = require("@atlaskit/select");
|
|
12
12
|
var _spinner = _interopRequireDefault(require("@atlaskit/spinner"));
|
|
13
|
-
var _showMoreButton = _interopRequireDefault(require("../async-popup-select/showMoreButton"));
|
|
14
13
|
var _errorMessage = _interopRequireDefault(require("./errorMessage"));
|
|
15
14
|
var _loadingMessage = _interopRequireDefault(require("./loadingMessage"));
|
|
16
15
|
var _noOptionsMessage = _interopRequireDefault(require("./noOptionsMessage"));
|
|
16
|
+
var _showMoreButton = _interopRequireDefault(require("./showMoreButton"));
|
|
17
17
|
var _excluded = ["children"];
|
|
18
18
|
var inlineSpinnerStyles = (0, _primitives.xcss)({
|
|
19
19
|
paddingTop: 'space.075'
|
|
@@ -26,7 +26,7 @@ var CustomMenuList = function CustomMenuList(_ref) {
|
|
|
26
26
|
var children = _ref.children,
|
|
27
27
|
props = (0, _objectWithoutProperties2.default)(_ref, _excluded);
|
|
28
28
|
var _props$selectProps$me = props.selectProps.menuListProps,
|
|
29
|
-
|
|
29
|
+
filterName = _props$selectProps$me.filterName,
|
|
30
30
|
isLoading = _props$selectProps$me.isLoading,
|
|
31
31
|
isLoadingMore = _props$selectProps$me.isLoadingMore,
|
|
32
32
|
isError = _props$selectProps$me.isError,
|
|
@@ -50,19 +50,20 @@ var CustomMenuList = function CustomMenuList(_ref) {
|
|
|
50
50
|
}
|
|
51
51
|
if (isError) {
|
|
52
52
|
return /*#__PURE__*/_react.default.createElement(_errorMessage.default, {
|
|
53
|
-
|
|
53
|
+
filterName: filterName,
|
|
54
54
|
errors: errors
|
|
55
55
|
});
|
|
56
56
|
}
|
|
57
57
|
if (isEmpty) {
|
|
58
58
|
return /*#__PURE__*/_react.default.createElement(_noOptionsMessage.default, {
|
|
59
|
-
|
|
59
|
+
filterName: filterName
|
|
60
60
|
});
|
|
61
61
|
}
|
|
62
62
|
return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, children, shouldDisplayShowMore && /*#__PURE__*/_react.default.createElement(_primitives.Box, {
|
|
63
63
|
xcss: showMoreButtonBoxStyles
|
|
64
64
|
}, /*#__PURE__*/_react.default.createElement(_showMoreButton.default, {
|
|
65
|
-
onShowMore: handleShowMore
|
|
65
|
+
onShowMore: handleShowMore,
|
|
66
|
+
filterName: filterName
|
|
66
67
|
})), isLoadingMoreData && /*#__PURE__*/_react.default.createElement(InlineSpinner, null));
|
|
67
68
|
};
|
|
68
69
|
return /*#__PURE__*/_react.default.createElement(_select.components.MenuList, props, renderChildren());
|
|
@@ -20,5 +20,10 @@ var asyncPopupSelectMessages = exports.asyncPopupSelectMessages = (0, _reactIntl
|
|
|
20
20
|
id: 'linkDataSource.basic-filter.error-message',
|
|
21
21
|
defaultMessage: 'Something went wrong',
|
|
22
22
|
description: 'The text for when an error occurs when loading options'
|
|
23
|
+
},
|
|
24
|
+
showMoreMessage: {
|
|
25
|
+
id: 'linkDataSource.basic-filter.showMoreButton',
|
|
26
|
+
defaultMessage: 'Show more',
|
|
27
|
+
description: 'The text to show more options in dropdown'
|
|
23
28
|
}
|
|
24
29
|
});
|
|
@@ -12,13 +12,13 @@ var _useDebounce = require("use-debounce");
|
|
|
12
12
|
var _questionCircle = _interopRequireDefault(require("@atlaskit/icon/glyph/question-circle"));
|
|
13
13
|
var _colors = require("@atlaskit/theme/colors");
|
|
14
14
|
var _analytics = require("../../../../../analytics");
|
|
15
|
-
var _asyncPopupSelect = require("
|
|
15
|
+
var _asyncPopupSelect = require("../../../../jira-issues-modal/basic-filters/ui/async-popup-select");
|
|
16
16
|
var _messages = require("./messages");
|
|
17
17
|
var _selectMessage = _interopRequireDefault(require("./selectMessage"));
|
|
18
18
|
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
|
|
19
19
|
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
|
|
20
20
|
var CustomNoOptionsMessage = function CustomNoOptionsMessage(_ref) {
|
|
21
|
-
var
|
|
21
|
+
var filterName = _ref.filterName;
|
|
22
22
|
var _useDatasourceAnalyti = (0, _analytics.useDatasourceAnalyticsEvents)(),
|
|
23
23
|
fireEvent = _useDatasourceAnalyti.fireEvent;
|
|
24
24
|
|
|
@@ -30,7 +30,7 @@ var CustomNoOptionsMessage = function CustomNoOptionsMessage(_ref) {
|
|
|
30
30
|
*/
|
|
31
31
|
var _useDebouncedCallback = (0, _useDebounce.useDebouncedCallback)(function () {
|
|
32
32
|
fireEvent('ui.emptyResult.shown.basicSearchDropdown', {
|
|
33
|
-
|
|
33
|
+
filterName: filterName
|
|
34
34
|
});
|
|
35
35
|
}, _asyncPopupSelect.SEARCH_DEBOUNCE_MS),
|
|
36
36
|
_useDebouncedCallback2 = (0, _slicedToArray2.default)(_useDebouncedCallback, 1),
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
var _typeof = require("@babel/runtime/helpers/typeof");
|
|
5
|
+
Object.defineProperty(exports, "__esModule", {
|
|
6
|
+
value: true
|
|
7
|
+
});
|
|
8
|
+
exports.default = void 0;
|
|
9
|
+
var _react = _interopRequireWildcard(require("react"));
|
|
10
|
+
var _reactIntlNext = require("react-intl-next");
|
|
11
|
+
var _button = _interopRequireDefault(require("@atlaskit/button"));
|
|
12
|
+
var _analytics = require("../../../../../analytics");
|
|
13
|
+
var _messages = require("./messages");
|
|
14
|
+
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
|
|
15
|
+
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
|
|
16
|
+
var ShowMoreButton = function ShowMoreButton(_ref) {
|
|
17
|
+
var onShowMore = _ref.onShowMore,
|
|
18
|
+
filterName = _ref.filterName;
|
|
19
|
+
var _useIntl = (0, _reactIntlNext.useIntl)(),
|
|
20
|
+
formatMessage = _useIntl.formatMessage;
|
|
21
|
+
var _useDatasourceAnalyti = (0, _analytics.useDatasourceAnalyticsEvents)(),
|
|
22
|
+
fireEvent = _useDatasourceAnalyti.fireEvent;
|
|
23
|
+
var handleShowMore = (0, _react.useCallback)(function () {
|
|
24
|
+
fireEvent('ui.button.clicked.basicSearchDropdown', {
|
|
25
|
+
filterName: filterName,
|
|
26
|
+
type: 'showMore'
|
|
27
|
+
});
|
|
28
|
+
onShowMore();
|
|
29
|
+
}, [filterName, fireEvent, onShowMore]);
|
|
30
|
+
return /*#__PURE__*/_react.default.createElement(_button.default, {
|
|
31
|
+
onClick: handleShowMore,
|
|
32
|
+
appearance: "link",
|
|
33
|
+
testId: "jlol-basic-filter-popup-select--show-more-button"
|
|
34
|
+
}, formatMessage(_messages.asyncPopupSelectMessages.showMoreMessage));
|
|
35
|
+
};
|
|
36
|
+
var _default = exports.default = ShowMoreButton;
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.asyncPopupSelectMessages = void 0;
|
|
7
|
+
var _reactIntlNext = require("react-intl-next");
|
|
8
|
+
var asyncPopupSelectMessages = exports.asyncPopupSelectMessages = (0, _reactIntlNext.defineMessages)({
|
|
9
|
+
selectPlaceholder: {
|
|
10
|
+
id: 'linkDataSource.basic-filter.dropdown.select.placeholder',
|
|
11
|
+
description: 'Placeholder text to be displayed for the search input box.',
|
|
12
|
+
defaultMessage: 'Search'
|
|
13
|
+
},
|
|
14
|
+
paginationDetails: {
|
|
15
|
+
id: 'linkDataSource.basic-filter.footer.pagination-details',
|
|
16
|
+
description: 'Text to indicate page count and total count information.',
|
|
17
|
+
defaultMessage: '{currentDisplayCount} of {totalCount}'
|
|
18
|
+
}
|
|
19
|
+
});
|