@atlaskit/link-datasource 1.5.3 → 1.6.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/analytics/constants.js +4 -6
- package/dist/cjs/analytics/generated/create-event-payload.js +1 -2
- package/dist/cjs/analytics/generated/use-analytics-events.js +2 -3
- package/dist/cjs/analytics/index.js +3 -5
- package/dist/cjs/analytics/types.js +4 -7
- package/dist/cjs/analytics/ufoExperiences/hooks/useColumnPickerRenderedFailedUfoExperience.js +2 -3
- package/dist/cjs/analytics/ufoExperiences/hooks/useDataRenderedUfoExperience.js +2 -3
- package/dist/cjs/analytics/ufoExperiences/index.js +5 -9
- package/dist/cjs/analytics/utils.js +2 -3
- package/dist/cjs/hooks/useAssetsClient.js +2 -3
- package/dist/cjs/hooks/useDatasourceTableState.js +2 -3
- package/dist/cjs/hooks/useObjectSchemas.js +2 -3
- package/dist/cjs/hooks/useValidateAqlText.js +2 -3
- package/dist/cjs/i18n/cs.js +2 -3
- package/dist/cjs/i18n/da.js +2 -3
- package/dist/cjs/i18n/de.js +2 -3
- package/dist/cjs/i18n/en.js +2 -3
- package/dist/cjs/i18n/en_GB.js +2 -3
- package/dist/cjs/i18n/en_ZZ.js +2 -3
- package/dist/cjs/i18n/es.js +2 -3
- package/dist/cjs/i18n/fi.js +2 -3
- package/dist/cjs/i18n/fr.js +2 -3
- package/dist/cjs/i18n/hu.js +2 -3
- package/dist/cjs/i18n/it.js +2 -3
- package/dist/cjs/i18n/ja.js +2 -3
- package/dist/cjs/i18n/ko.js +2 -3
- package/dist/cjs/i18n/nb.js +2 -3
- package/dist/cjs/i18n/nl.js +2 -3
- package/dist/cjs/i18n/pl.js +2 -3
- package/dist/cjs/i18n/pt_BR.js +2 -3
- package/dist/cjs/i18n/ru.js +2 -3
- package/dist/cjs/i18n/sv.js +2 -3
- package/dist/cjs/i18n/th.js +2 -3
- package/dist/cjs/i18n/tr.js +2 -3
- package/dist/cjs/i18n/uk.js +2 -3
- package/dist/cjs/i18n/vi.js +2 -3
- package/dist/cjs/i18n/zh.js +2 -3
- package/dist/cjs/i18n/zh_TW.js +2 -3
- package/dist/cjs/services/cmdbService.js +5 -9
- package/dist/cjs/services/getAvailableJiraSites.js +2 -3
- package/dist/cjs/services/makeGetJqlAutocompleteData.js +2 -3
- package/dist/cjs/services/makeGetJqlSuggestionsData.js +2 -3
- package/dist/cjs/types/assets/types.js +2 -4
- package/dist/cjs/ui/assets-modal/index.js +2 -4
- package/dist/cjs/ui/assets-modal/modal/index.js +4 -5
- package/dist/cjs/ui/assets-modal/modal/messages.js +2 -3
- package/dist/cjs/ui/assets-modal/modal/render-assets-content/index.js +2 -3
- package/dist/cjs/ui/assets-modal/modal/render-assets-content/initial-state-view/assets/crystal-ball-svg.js +2 -3
- package/dist/cjs/ui/assets-modal/modal/render-assets-content/initial-state-view/index.js +2 -3
- package/dist/cjs/ui/assets-modal/modal/render-assets-content/initial-state-view/messages.js +2 -3
- package/dist/cjs/ui/assets-modal/search-container/aql-search-input/index.js +3 -5
- package/dist/cjs/ui/assets-modal/search-container/aql-search-input/loading-state.js +2 -3
- package/dist/cjs/ui/assets-modal/search-container/aql-search-input/messages.js +2 -3
- package/dist/cjs/ui/assets-modal/search-container/index.js +2 -3
- package/dist/cjs/ui/assets-modal/search-container/loading-state.js +2 -3
- package/dist/cjs/ui/assets-modal/search-container/object-schema-select/index.js +4 -7
- package/dist/cjs/ui/assets-modal/search-container/object-schema-select/loading-state.js +2 -3
- package/dist/cjs/ui/assets-modal/search-container/object-schema-select/messages.js +2 -3
- package/dist/cjs/ui/assets-modal/search-container/object-schema-select/utils.js +2 -3
- package/dist/cjs/ui/assets-modal/search-container/styled.js +4 -8
- package/dist/cjs/ui/common/error-state/access-required-svg.js +2 -3
- package/dist/cjs/ui/common/error-state/access-required.js +2 -3
- package/dist/cjs/ui/common/error-state/loading-error-svg.js +2 -3
- package/dist/cjs/ui/common/error-state/loading-error.js +2 -3
- package/dist/cjs/ui/common/error-state/messages.js +2 -3
- package/dist/cjs/ui/common/error-state/modal-loading-error.js +2 -3
- package/dist/cjs/ui/common/error-state/no-results.js +2 -3
- package/dist/cjs/ui/datasource-table-view/datasourceTableView.js +4 -4
- package/dist/cjs/ui/datasource-table-view/index.js +1 -2
- package/dist/cjs/ui/issue-like-table/column-picker/concatenated-menu-list.js +3 -5
- package/dist/cjs/ui/issue-like-table/column-picker/index.js +4 -5
- package/dist/cjs/ui/issue-like-table/column-picker/messages.js +2 -3
- package/dist/cjs/ui/issue-like-table/drag-column-preview.js +2 -3
- package/dist/cjs/ui/issue-like-table/draggable-table-heading.js +2 -3
- package/dist/cjs/ui/issue-like-table/empty-state/index.js +2 -3
- package/dist/cjs/ui/issue-like-table/empty-state/priority.js +2 -3
- package/dist/cjs/ui/issue-like-table/empty-state/type.js +2 -3
- package/dist/cjs/ui/issue-like-table/index.js +5 -7
- package/dist/cjs/ui/issue-like-table/render-type/boolean/index.js +2 -4
- package/dist/cjs/ui/issue-like-table/render-type/boolean/messages.js +2 -3
- package/dist/cjs/ui/issue-like-table/render-type/date-time/index.js +2 -4
- package/dist/cjs/ui/issue-like-table/render-type/icon/index.js +2 -4
- package/dist/cjs/ui/issue-like-table/render-type/index.js +2 -3
- package/dist/cjs/ui/issue-like-table/render-type/link/index.js +2 -4
- package/dist/cjs/ui/issue-like-table/render-type/number/index.js +2 -4
- package/dist/cjs/ui/issue-like-table/render-type/richtext/index.js +1 -2
- package/dist/cjs/ui/issue-like-table/render-type/status/index.js +2 -4
- package/dist/cjs/ui/issue-like-table/render-type/tag/index.js +2 -4
- package/dist/cjs/ui/issue-like-table/render-type/text/index.js +2 -4
- package/dist/cjs/ui/issue-like-table/render-type/user/index.js +2 -4
- package/dist/cjs/ui/issue-like-table/render-type/user/messages.js +2 -3
- package/dist/cjs/ui/issue-like-table/styled.js +4 -8
- package/dist/cjs/ui/issue-like-table/useIsOnScreen.js +2 -3
- package/dist/cjs/ui/jira-issues-modal/basic-search-input/index.js +2 -3
- package/dist/cjs/ui/jira-issues-modal/basic-search-input/messages.js +2 -3
- package/dist/cjs/ui/jira-issues-modal/index.js +2 -4
- package/dist/cjs/ui/jira-issues-modal/initial-state-view/assets/initial-state-svg.js +2 -3
- package/dist/cjs/ui/jira-issues-modal/initial-state-view/index.js +2 -3
- package/dist/cjs/ui/jira-issues-modal/initial-state-view/messages.js +2 -3
- package/dist/cjs/ui/jira-issues-modal/jira-search-container/basic-filters/hooks/useBasicFilterHook.js +2 -3
- package/dist/cjs/ui/jira-issues-modal/jira-search-container/basic-filters/ui/common/dropdown/index.js +1 -2
- package/dist/cjs/ui/jira-issues-modal/jira-search-container/basic-filters/ui/containers/project/index.js +1 -2
- package/dist/cjs/ui/jira-issues-modal/jira-search-container/basic-filters/ui/index.js +1 -2
- package/dist/cjs/ui/jira-issues-modal/jira-search-container/buildJQL.js +36 -14
- package/dist/cjs/ui/jira-issues-modal/jira-search-container/index.js +3 -5
- package/dist/cjs/ui/jira-issues-modal/jira-search-container/messages.js +2 -3
- package/dist/cjs/ui/jira-issues-modal/jql-editor/index.js +3 -4
- package/dist/cjs/ui/jira-issues-modal/modal/index.js +5 -8
- package/dist/cjs/ui/jira-issues-modal/modal/messages.js +2 -3
- package/dist/cjs/ui/jira-issues-modal/mode-switcher/index.js +2 -3
- package/dist/cjs/ui/jira-issues-modal/site-selector/index.js +2 -3
- package/dist/cjs/ui/jira-issues-modal/site-selector/messages.js +2 -3
- package/dist/cjs/ui/table-footer/index.js +2 -3
- package/dist/cjs/ui/table-footer/messages.js +2 -3
- package/dist/cjs/ui/table-footer/sync-info/index.js +2 -3
- package/dist/cjs/ui/table-footer/sync-info/messages.js +2 -3
- package/dist/es2019/analytics/constants.js +1 -1
- package/dist/es2019/ui/assets-modal/modal/index.js +1 -1
- package/dist/es2019/ui/datasource-table-view/datasourceTableView.js +3 -2
- package/dist/es2019/ui/issue-like-table/index.js +1 -1
- package/dist/es2019/ui/jira-issues-modal/jira-search-container/buildJQL.js +34 -11
- package/dist/esm/analytics/constants.js +1 -1
- package/dist/esm/ui/assets-modal/modal/index.js +3 -3
- package/dist/esm/ui/datasource-table-view/datasourceTableView.js +3 -2
- package/dist/esm/ui/issue-like-table/column-picker/index.js +2 -2
- package/dist/esm/ui/issue-like-table/index.js +3 -3
- package/dist/esm/ui/jira-issues-modal/jira-search-container/buildJQL.js +34 -11
- package/dist/esm/ui/jira-issues-modal/jql-editor/index.js +1 -1
- package/dist/esm/ui/jira-issues-modal/modal/index.js +2 -2
- package/package.json +4 -2
|
@@ -4,24 +4,46 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.buildJQL = void 0;
|
|
7
|
+
var _jqlAst = require("@atlaskit/jql-ast");
|
|
7
8
|
var fuzzySearchRegExp = /^"(.+)"$/;
|
|
8
9
|
var jiraIssueKeyRegExp = /[A-Z]+-\d+/;
|
|
9
|
-
var
|
|
10
|
+
var constructTerminalClause = function constructTerminalClause(field, operator, value) {
|
|
11
|
+
return _jqlAst.creators.terminalClause(_jqlAst.creators.field(field), _jqlAst.creators.operator(operator), _jqlAst.creators.valueOperand(value));
|
|
12
|
+
};
|
|
13
|
+
var buildJQL = exports.buildJQL = function buildJQL(input) {
|
|
14
|
+
/**
|
|
15
|
+
* Jql ast - Transforming the ast
|
|
16
|
+
* https://atlaskit.atlassian.com/packages/jql/jql-ast/docs/transforming-the-ast
|
|
17
|
+
*/
|
|
18
|
+
var jast = new _jqlAst.JastBuilder().build('');
|
|
19
|
+
var query = jast.query;
|
|
10
20
|
var rawSearch = input.rawSearch,
|
|
11
21
|
_input$orderDirection = input.orderDirection,
|
|
12
|
-
orderDirection = _input$orderDirection === void 0 ?
|
|
22
|
+
orderDirection = _input$orderDirection === void 0 ? _jqlAst.ORDER_BY_DIRECTION_DESC : _input$orderDirection,
|
|
13
23
|
_input$orderKey = input.orderKey,
|
|
14
24
|
orderKey = _input$orderKey === void 0 ? 'created' : _input$orderKey;
|
|
15
|
-
var
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
if (jiraIssueKeyRegExp.test(rawSearch)) {
|
|
19
|
-
baseQueryParts.push("key = \"".concat(basicSearch, "\""));
|
|
25
|
+
var trimmedRawSearch = rawSearch.trim();
|
|
26
|
+
if (!query) {
|
|
27
|
+
return '';
|
|
20
28
|
}
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
29
|
+
if (trimmedRawSearch) {
|
|
30
|
+
var fuzzy = !trimmedRawSearch.match(fuzzySearchRegExp) ? '*' : '';
|
|
31
|
+
var basicSearch = trimmedRawSearch.replace(/['"?*]+/g, '');
|
|
32
|
+
var text = constructTerminalClause('text', _jqlAst.OPERATOR_LIKE, "".concat(basicSearch).concat(fuzzy));
|
|
33
|
+
var summary = constructTerminalClause('summary', _jqlAst.OPERATOR_LIKE, "".concat(basicSearch).concat(fuzzy));
|
|
34
|
+
var orClauseFields = [text, summary];
|
|
35
|
+
if (jiraIssueKeyRegExp.test(trimmedRawSearch)) {
|
|
36
|
+
var key = constructTerminalClause('key', _jqlAst.OPERATOR_EQUALS, basicSearch);
|
|
37
|
+
orClauseFields.push(key);
|
|
38
|
+
}
|
|
39
|
+
var orClause = _jqlAst.creators.compoundClause(_jqlAst.creators.compoundOperator(_jqlAst.COMPOUND_OPERATOR_OR), orClauseFields);
|
|
40
|
+
query.appendClause(orClause, _jqlAst.COMPOUND_OPERATOR_AND);
|
|
41
|
+
} else {
|
|
42
|
+
var created = constructTerminalClause('created', _jqlAst.OPERATOR_GT_EQUALS, '-30d');
|
|
43
|
+
query.appendClause(created, _jqlAst.COMPOUND_OPERATOR_AND);
|
|
44
|
+
}
|
|
45
|
+
var orderField = _jqlAst.creators.orderByField(_jqlAst.creators.field(orderKey));
|
|
46
|
+
query.prependOrderField(orderField);
|
|
47
|
+
query.setOrderDirection(_jqlAst.creators.orderByDirection(orderDirection.toLowerCase() === 'asc' ? _jqlAst.ORDER_BY_DIRECTION_ASC : _jqlAst.ORDER_BY_DIRECTION_DESC));
|
|
48
|
+
return (0, _jqlAst.print)(jast);
|
|
49
|
+
};
|
|
@@ -30,11 +30,10 @@ var inputContainerStyles = (0, _react2.css)({
|
|
|
30
30
|
});
|
|
31
31
|
var DEFAULT_JQL_QUERY = 'created >= -30d order by created DESC';
|
|
32
32
|
var JiraSearchMethodSwitcher = _modeSwitcher.ModeSwitcher;
|
|
33
|
-
var getInitialSearchMethod = function getInitialSearchMethod(initialJql) {
|
|
33
|
+
var getInitialSearchMethod = exports.getInitialSearchMethod = function getInitialSearchMethod(initialJql) {
|
|
34
34
|
return initialJql ? 'jql' : 'basic';
|
|
35
35
|
};
|
|
36
|
-
exports.
|
|
37
|
-
var JiraSearchContainer = function JiraSearchContainer(props) {
|
|
36
|
+
var JiraSearchContainer = exports.JiraSearchContainer = function JiraSearchContainer(props) {
|
|
38
37
|
var isSearching = props.isSearching,
|
|
39
38
|
parameters = props.parameters,
|
|
40
39
|
onSearch = props.onSearch;
|
|
@@ -134,5 +133,4 @@ var JiraSearchContainer = function JiraSearchContainer(props) {
|
|
|
134
133
|
value: 'jql'
|
|
135
134
|
}]
|
|
136
135
|
}));
|
|
137
|
-
};
|
|
138
|
-
exports.JiraSearchContainer = JiraSearchContainer;
|
|
136
|
+
};
|
|
@@ -5,11 +5,10 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
5
5
|
});
|
|
6
6
|
exports.modeSwitcherMessages = void 0;
|
|
7
7
|
var _reactIntlNext = require("react-intl-next");
|
|
8
|
-
var modeSwitcherMessages = (0, _reactIntlNext.defineMessages)({
|
|
8
|
+
var modeSwitcherMessages = exports.modeSwitcherMessages = (0, _reactIntlNext.defineMessages)({
|
|
9
9
|
basicTextSearchLabel: {
|
|
10
10
|
id: 'linkDataSource.jira-issues.configmodal.basicModeText',
|
|
11
11
|
description: 'Display text for basic text search toggle button',
|
|
12
12
|
defaultMessage: 'Basic'
|
|
13
13
|
}
|
|
14
|
-
});
|
|
15
|
-
exports.modeSwitcherMessages = modeSwitcherMessages;
|
|
14
|
+
});
|
|
@@ -12,7 +12,7 @@ var _makeGetJqlAutocompleteData = require("../../../services/makeGetJqlAutocompl
|
|
|
12
12
|
var _makeGetJqlSuggestionsData = require("../../../services/makeGetJqlSuggestionsData");
|
|
13
13
|
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
14
14
|
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
15
|
-
var JiraJQLEditor = function JiraJQLEditor(props) {
|
|
15
|
+
var JiraJQLEditor = exports.JiraJQLEditor = function JiraJQLEditor(props) {
|
|
16
16
|
var cloudId = props.cloudId,
|
|
17
17
|
isSearching = props.isSearching,
|
|
18
18
|
onChange = props.onChange,
|
|
@@ -27,7 +27,7 @@ var JiraJQLEditor = function JiraJQLEditor(props) {
|
|
|
27
27
|
(0, _react.useEffect)(function () {
|
|
28
28
|
requestAnimationFrame(function () {
|
|
29
29
|
var _inputRef$current;
|
|
30
|
-
(_inputRef$current = inputRef.current) === null || _inputRef$current === void 0
|
|
30
|
+
(_inputRef$current = inputRef.current) === null || _inputRef$current === void 0 || _inputRef$current.focus();
|
|
31
31
|
});
|
|
32
32
|
}, []);
|
|
33
33
|
var searchIfValidJql = function searchIfValidJql(_, jast) {
|
|
@@ -44,5 +44,4 @@ var JiraJQLEditor = function JiraJQLEditor(props) {
|
|
|
44
44
|
inputRef: inputRef,
|
|
45
45
|
query: query
|
|
46
46
|
});
|
|
47
|
-
};
|
|
48
|
-
exports.JiraJQLEditor = JiraJQLEditor;
|
|
47
|
+
};
|
|
@@ -79,7 +79,7 @@ var getDisplayValue = function getDisplayValue(currentViewMode, itemCount) {
|
|
|
79
79
|
* This method should be called when one atomic action is performed on columns: adding new item, removing one item, changing items order.
|
|
80
80
|
* The assumption is that since only one action is changed at each time, we don't have to verify the actual contents of the lists.
|
|
81
81
|
*/
|
|
82
|
-
var getColumnAction = function getColumnAction(oldVisibleColumnKeys, newVisibleColumnKeys) {
|
|
82
|
+
var getColumnAction = exports.getColumnAction = function getColumnAction(oldVisibleColumnKeys, newVisibleColumnKeys) {
|
|
83
83
|
var newColumnSize = newVisibleColumnKeys.length;
|
|
84
84
|
var oldColumnSize = oldVisibleColumnKeys.length;
|
|
85
85
|
if (newColumnSize > oldColumnSize) {
|
|
@@ -90,8 +90,7 @@ var getColumnAction = function getColumnAction(oldVisibleColumnKeys, newVisibleC
|
|
|
90
90
|
return _types.DatasourceAction.COLUMN_REORDERED;
|
|
91
91
|
}
|
|
92
92
|
};
|
|
93
|
-
exports.
|
|
94
|
-
var PlainJiraIssuesConfigModal = function PlainJiraIssuesConfigModal(props) {
|
|
93
|
+
var PlainJiraIssuesConfigModal = exports.PlainJiraIssuesConfigModal = function PlainJiraIssuesConfigModal(props) {
|
|
95
94
|
var datasourceId = props.datasourceId,
|
|
96
95
|
initialParameters = props.parameters,
|
|
97
96
|
initialVisibleColumnKeys = props.visibleColumnKeys,
|
|
@@ -310,11 +309,11 @@ var PlainJiraIssuesConfigModal = function PlainJiraIssuesConfigModal(props) {
|
|
|
310
309
|
});
|
|
311
310
|
}, [reset]);
|
|
312
311
|
var retrieveUrlForSmartCardRender = (0, _react.useCallback)(function () {
|
|
313
|
-
var _data$key
|
|
312
|
+
var _data$key;
|
|
314
313
|
var _responseItems = (0, _slicedToArray2.default)(responseItems, 1),
|
|
315
314
|
data = _responseItems[0];
|
|
316
315
|
// agreement with BE that we will use `key` for rendering smartlink
|
|
317
|
-
return data === null || data === void 0
|
|
316
|
+
return data === null || data === void 0 || (_data$key = data.key) === null || _data$key === void 0 || (_data$key = _data$key.data) === null || _data$key === void 0 ? void 0 : _data$key.url;
|
|
318
317
|
}, [responseItems]);
|
|
319
318
|
var onInsertPressed = (0, _react.useCallback)(function (e, analyticsEvent) {
|
|
320
319
|
var _insertButtonClickedE;
|
|
@@ -518,7 +517,6 @@ var PlainJiraIssuesConfigModal = function PlainJiraIssuesConfigModal(props) {
|
|
|
518
517
|
testId: 'jira-jql-datasource-modal--insert-button'
|
|
519
518
|
}, (0, _react2.jsx)(_reactIntlNext.FormattedMessage, _messages.modalMessages.insertIssuesButtonText)))));
|
|
520
519
|
};
|
|
521
|
-
exports.PlainJiraIssuesConfigModal = PlainJiraIssuesConfigModal;
|
|
522
520
|
var analyticsContextAttributes = {
|
|
523
521
|
dataProvider: 'jira-issues'
|
|
524
522
|
};
|
|
@@ -528,5 +526,4 @@ var analyticsContextData = _objectSpread(_objectSpread({}, _constants.packageMet
|
|
|
528
526
|
var contextData = _objectSpread(_objectSpread({}, analyticsContextData), {}, {
|
|
529
527
|
attributes: _objectSpread({}, analyticsContextAttributes)
|
|
530
528
|
});
|
|
531
|
-
var JiraIssuesConfigModal = (0, _analyticsNext.withAnalyticsContext)(contextData)(PlainJiraIssuesConfigModal);
|
|
532
|
-
exports.JiraIssuesConfigModal = JiraIssuesConfigModal;
|
|
529
|
+
var JiraIssuesConfigModal = exports.JiraIssuesConfigModal = (0, _analyticsNext.withAnalyticsContext)(contextData)(PlainJiraIssuesConfigModal);
|
|
@@ -5,7 +5,7 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
5
5
|
});
|
|
6
6
|
exports.modalMessages = void 0;
|
|
7
7
|
var _reactIntlNext = require("react-intl-next");
|
|
8
|
-
var modalMessages = (0, _reactIntlNext.defineMessages)({
|
|
8
|
+
var modalMessages = exports.modalMessages = (0, _reactIntlNext.defineMessages)({
|
|
9
9
|
cancelButtonText: {
|
|
10
10
|
id: 'linkDataSource.jira-issues.configmodal.cancelButtonText',
|
|
11
11
|
description: 'Button text to close the modal with no changes being made',
|
|
@@ -46,5 +46,4 @@ var modalMessages = (0, _reactIntlNext.defineMessages)({
|
|
|
46
46
|
description: 'Text that appears after issue count number.',
|
|
47
47
|
defaultMessage: '{totalCount, plural, one {issue} other {issues}}'
|
|
48
48
|
}
|
|
49
|
-
});
|
|
50
|
-
exports.modalMessages = modalMessages;
|
|
49
|
+
});
|
|
@@ -59,7 +59,7 @@ var modeSwitcherLabelDisabledStyles = (0, _react2.css)({
|
|
|
59
59
|
var compactModeSwitcherLabelStyles = (0, _react2.css)({
|
|
60
60
|
padding: "var(--ds-space-025, 2px)".concat(" ", "var(--ds-space-050, 4px)")
|
|
61
61
|
});
|
|
62
|
-
var ModeSwitcher = function ModeSwitcher(props) {
|
|
62
|
+
var ModeSwitcher = exports.ModeSwitcher = function ModeSwitcher(props) {
|
|
63
63
|
var _options$;
|
|
64
64
|
var isCompact = props.isCompact,
|
|
65
65
|
isDisabled = props.isDisabled,
|
|
@@ -93,5 +93,4 @@ var ModeSwitcher = function ModeSwitcher(props) {
|
|
|
93
93
|
value: value
|
|
94
94
|
}));
|
|
95
95
|
})) : null;
|
|
96
|
-
};
|
|
97
|
-
exports.ModeSwitcher = ModeSwitcher;
|
|
96
|
+
};
|
|
@@ -18,7 +18,7 @@ var _excluded = ["triggerRef"];
|
|
|
18
18
|
/** @jsx jsx */
|
|
19
19
|
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
20
20
|
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
21
|
-
var JiraSiteSelector = function JiraSiteSelector(props) {
|
|
21
|
+
var JiraSiteSelector = exports.JiraSiteSelector = function JiraSiteSelector(props) {
|
|
22
22
|
var availableSites = props.availableSites,
|
|
23
23
|
onSiteSelection = props.onSiteSelection,
|
|
24
24
|
selectedJiraSite = props.selectedJiraSite,
|
|
@@ -52,5 +52,4 @@ var JiraSiteSelector = function JiraSiteSelector(props) {
|
|
|
52
52
|
testId: testId && "".concat(testId, "--dropdown-item").concat(isSelected ? '__selected' : '')
|
|
53
53
|
}, displayName);
|
|
54
54
|
})));
|
|
55
|
-
};
|
|
56
|
-
exports.JiraSiteSelector = JiraSiteSelector;
|
|
55
|
+
};
|
|
@@ -5,7 +5,7 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
5
5
|
});
|
|
6
6
|
exports.siteSelectorMessages = void 0;
|
|
7
7
|
var _reactIntlNext = require("react-intl-next");
|
|
8
|
-
var siteSelectorMessages = (0, _reactIntlNext.defineMessages)({
|
|
8
|
+
var siteSelectorMessages = exports.siteSelectorMessages = (0, _reactIntlNext.defineMessages)({
|
|
9
9
|
dropdownChevronLabel: {
|
|
10
10
|
id: 'linkDataSource.jira-issues.configmodal.dropdownChevronLabel',
|
|
11
11
|
description: 'Label for button that reveals more available site options to choose from',
|
|
@@ -16,5 +16,4 @@ var siteSelectorMessages = (0, _reactIntlNext.defineMessages)({
|
|
|
16
16
|
description: 'Label for a check icon declaring which option is selected',
|
|
17
17
|
defaultMessage: '{siteName} is selected'
|
|
18
18
|
}
|
|
19
|
-
});
|
|
20
|
-
exports.siteSelectorMessages = siteSelectorMessages;
|
|
19
|
+
});
|
|
@@ -26,7 +26,7 @@ var TopBorderWrapper = _styled.default.div(_templateObject2 || (_templateObject2
|
|
|
26
26
|
var ItemCounterWrapper = _styled.default.div(_templateObject3 || (_templateObject3 = (0, _taggedTemplateLiteral2.default)(["\n display: flex;\n align-self: center;\n"])));
|
|
27
27
|
var SyncWrapper = _styled.default.div(_templateObject4 || (_templateObject4 = (0, _taggedTemplateLiteral2.default)(["\n display: flex;\n align-items: center;\n color: ", ";\n"])), "var(--ds-text-accent-gray, ".concat(_colors.N90, ")"));
|
|
28
28
|
var SyncTextWrapper = _styled.default.div(_templateObject5 || (_templateObject5 = (0, _taggedTemplateLiteral2.default)(["\n margin-right: 5px;\n font-size: 12px;\n"])));
|
|
29
|
-
var TableFooter = function TableFooter(_ref) {
|
|
29
|
+
var TableFooter = exports.TableFooter = function TableFooter(_ref) {
|
|
30
30
|
var itemCount = _ref.itemCount,
|
|
31
31
|
onRefresh = _ref.onRefresh,
|
|
32
32
|
isLoading = _ref.isLoading,
|
|
@@ -79,5 +79,4 @@ var TableFooter = function TableFooter(_ref) {
|
|
|
79
79
|
isDisabled: isLoading,
|
|
80
80
|
testId: "refresh-button"
|
|
81
81
|
}))))) : null;
|
|
82
|
-
};
|
|
83
|
-
exports.TableFooter = TableFooter;
|
|
82
|
+
};
|
|
@@ -5,7 +5,7 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
5
5
|
});
|
|
6
6
|
exports.footerMessages = void 0;
|
|
7
7
|
var _reactIntlNext = require("react-intl-next");
|
|
8
|
-
var footerMessages = (0, _reactIntlNext.defineMessages)({
|
|
8
|
+
var footerMessages = exports.footerMessages = (0, _reactIntlNext.defineMessages)({
|
|
9
9
|
itemText: {
|
|
10
10
|
id: 'linkDataSource.table-footer.item',
|
|
11
11
|
description: 'Text that appears after item count number.',
|
|
@@ -21,5 +21,4 @@ var footerMessages = (0, _reactIntlNext.defineMessages)({
|
|
|
21
21
|
description: 'Label for refresh icon',
|
|
22
22
|
defaultMessage: 'Refresh'
|
|
23
23
|
}
|
|
24
|
-
});
|
|
25
|
-
exports.footerMessages = footerMessages;
|
|
24
|
+
});
|
|
@@ -24,7 +24,7 @@ var WithUpdatedLabel = function WithUpdatedLabel(formattedDate) {
|
|
|
24
24
|
}
|
|
25
25
|
}));
|
|
26
26
|
};
|
|
27
|
-
var SyncInfo = function SyncInfo(_ref) {
|
|
27
|
+
var SyncInfo = exports.SyncInfo = function SyncInfo(_ref) {
|
|
28
28
|
var lastSyncTime = _ref.lastSyncTime;
|
|
29
29
|
var calculateTimeDiff = (0, _react.useCallback)(function () {
|
|
30
30
|
return Math.floor((Date.now() - lastSyncTime.getTime()) / 1000);
|
|
@@ -75,5 +75,4 @@ var SyncInfo = function SyncInfo(_ref) {
|
|
|
75
75
|
}, WithUpdatedLabel);
|
|
76
76
|
}
|
|
77
77
|
return WithUpdatedLabel();
|
|
78
|
-
};
|
|
79
|
-
exports.SyncInfo = SyncInfo;
|
|
78
|
+
};
|
|
@@ -5,7 +5,7 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
5
5
|
});
|
|
6
6
|
exports.messages = void 0;
|
|
7
7
|
var _reactIntlNext = require("react-intl-next");
|
|
8
|
-
var messages = (0, _reactIntlNext.defineMessages)({
|
|
8
|
+
var messages = exports.messages = (0, _reactIntlNext.defineMessages)({
|
|
9
9
|
underOneMinuteText: {
|
|
10
10
|
id: 'linkDataSource.table-footer.date_formatter.under_one_minute',
|
|
11
11
|
defaultMessage: 'Synced just now',
|
|
@@ -16,5 +16,4 @@ var messages = (0, _reactIntlNext.defineMessages)({
|
|
|
16
16
|
defaultMessage: 'Synced {date}',
|
|
17
17
|
description: 'A text to indicate the last data fetch time was over a minute.'
|
|
18
18
|
}
|
|
19
|
-
});
|
|
20
|
-
exports.messages = messages;
|
|
19
|
+
});
|
|
@@ -52,7 +52,8 @@ const DatasourceTableViewWithoutAnalytics = ({
|
|
|
52
52
|
mechanism of initial loading. Use of ref here makes it basically work as a `componentDidUpdate` but not `componentDidMount`
|
|
53
53
|
*/
|
|
54
54
|
const isInitialRender = useRef(true);
|
|
55
|
-
const
|
|
55
|
+
const hasColumns = !!columns.length;
|
|
56
|
+
const isDataReady = hasColumns && responseItems.length > 0 && totalCount && totalCount > 0;
|
|
56
57
|
visibleColumnCount.current = (visibleColumnKeys === null || visibleColumnKeys === void 0 ? void 0 : visibleColumnKeys.length) || 0;
|
|
57
58
|
useEffect(() => {
|
|
58
59
|
if (!isInitialRender.current) {
|
|
@@ -118,7 +119,7 @@ const DatasourceTableViewWithoutAnalytics = ({
|
|
|
118
119
|
// datasource-table classname is to exclude all children from being commentable - exclude list is in CFE
|
|
119
120
|
jsx("div", {
|
|
120
121
|
className: "datasource-table"
|
|
121
|
-
},
|
|
122
|
+
}, hasColumns ? jsx(IssueLikeDataTableView, {
|
|
122
123
|
testId: 'datasource-table-view',
|
|
123
124
|
hasNextPage: hasNextPage,
|
|
124
125
|
items: responseItems,
|
|
@@ -363,7 +363,7 @@ export const IssueLikeDataTableView = ({
|
|
|
363
363
|
}
|
|
364
364
|
}, heading);
|
|
365
365
|
}
|
|
366
|
-
}), onVisibleColumnKeysChange &&
|
|
366
|
+
}), onVisibleColumnKeysChange && jsx(ColumnPickerHeader, null, jsx(ColumnPicker, {
|
|
367
367
|
columns: hasFullSchema ? orderedColumns : [],
|
|
368
368
|
selectedColumnKeys: hasFullSchema ? visibleColumnKeys : [],
|
|
369
369
|
onSelectedColumnKeysChange: onSelectedColumnKeysChange,
|
|
@@ -1,20 +1,43 @@
|
|
|
1
|
+
import { COMPOUND_OPERATOR_AND, COMPOUND_OPERATOR_OR, creators, JastBuilder, OPERATOR_EQUALS, OPERATOR_GT_EQUALS, OPERATOR_LIKE, ORDER_BY_DIRECTION_ASC, ORDER_BY_DIRECTION_DESC, print } from '@atlaskit/jql-ast';
|
|
1
2
|
const fuzzySearchRegExp = /^"(.+)"$/;
|
|
2
3
|
const jiraIssueKeyRegExp = /[A-Z]+-\d+/;
|
|
4
|
+
const constructTerminalClause = (field, operator, value) => creators.terminalClause(creators.field(field), creators.operator(operator), creators.valueOperand(value));
|
|
3
5
|
export const buildJQL = input => {
|
|
6
|
+
/**
|
|
7
|
+
* Jql ast - Transforming the ast
|
|
8
|
+
* https://atlaskit.atlassian.com/packages/jql/jql-ast/docs/transforming-the-ast
|
|
9
|
+
*/
|
|
10
|
+
const jast = new JastBuilder().build('');
|
|
11
|
+
const {
|
|
12
|
+
query
|
|
13
|
+
} = jast;
|
|
4
14
|
const {
|
|
5
15
|
rawSearch,
|
|
6
|
-
orderDirection =
|
|
16
|
+
orderDirection = ORDER_BY_DIRECTION_DESC,
|
|
7
17
|
orderKey = 'created'
|
|
8
18
|
} = input;
|
|
9
|
-
const
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
19
|
+
const trimmedRawSearch = rawSearch.trim();
|
|
20
|
+
if (!query) {
|
|
21
|
+
return '';
|
|
22
|
+
}
|
|
23
|
+
if (trimmedRawSearch) {
|
|
24
|
+
const fuzzy = !trimmedRawSearch.match(fuzzySearchRegExp) ? '*' : '';
|
|
25
|
+
const basicSearch = trimmedRawSearch.replace(/['"?*]+/g, '');
|
|
26
|
+
const text = constructTerminalClause('text', OPERATOR_LIKE, `${basicSearch}${fuzzy}`);
|
|
27
|
+
const summary = constructTerminalClause('summary', OPERATOR_LIKE, `${basicSearch}${fuzzy}`);
|
|
28
|
+
const orClauseFields = [text, summary];
|
|
29
|
+
if (jiraIssueKeyRegExp.test(trimmedRawSearch)) {
|
|
30
|
+
const key = constructTerminalClause('key', OPERATOR_EQUALS, basicSearch);
|
|
31
|
+
orClauseFields.push(key);
|
|
32
|
+
}
|
|
33
|
+
const orClause = creators.compoundClause(creators.compoundOperator(COMPOUND_OPERATOR_OR), orClauseFields);
|
|
34
|
+
query.appendClause(orClause, COMPOUND_OPERATOR_AND);
|
|
35
|
+
} else {
|
|
36
|
+
const created = constructTerminalClause('created', OPERATOR_GT_EQUALS, '-30d');
|
|
37
|
+
query.appendClause(created, COMPOUND_OPERATOR_AND);
|
|
14
38
|
}
|
|
15
|
-
const
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
return `${query} order by ${orderKey} ${orderDirection.toUpperCase()}`;
|
|
39
|
+
const orderField = creators.orderByField(creators.field(orderKey));
|
|
40
|
+
query.prependOrderField(orderField);
|
|
41
|
+
query.setOrderDirection(creators.orderByDirection(orderDirection.toLowerCase() === 'asc' ? ORDER_BY_DIRECTION_ASC : ORDER_BY_DIRECTION_DESC));
|
|
42
|
+
return print(jast);
|
|
20
43
|
};
|
|
@@ -100,11 +100,11 @@ var PlainAssetsConfigModal = function PlainAssetsConfigModal(props) {
|
|
|
100
100
|
}, [fireEvent]);
|
|
101
101
|
var isDisabled = !!workspaceError || status === 'rejected' || status === 'loading' || status === 'empty' || !!workspaceError || assetsClientLoading || !aql || !schemaId;
|
|
102
102
|
var retrieveUrlForSmartCardRender = useCallback(function () {
|
|
103
|
-
var _data$key
|
|
103
|
+
var _data$key;
|
|
104
104
|
var _responseItems2 = _slicedToArray(responseItems, 1),
|
|
105
105
|
data = _responseItems2[0];
|
|
106
106
|
// agreement with BE that we will use `key` for rendering smartlink
|
|
107
|
-
return data === null || data === void 0
|
|
107
|
+
return data === null || data === void 0 || (_data$key = data.key) === null || _data$key === void 0 || (_data$key = _data$key.data) === null || _data$key === void 0 ? void 0 : _data$key.url;
|
|
108
108
|
}, [responseItems]);
|
|
109
109
|
var onInsertPressed = useCallback(function () {
|
|
110
110
|
if (!aql || !schemaId || !workspaceId) {
|
|
@@ -222,7 +222,7 @@ var analyticsContextAttributes = {
|
|
|
222
222
|
};
|
|
223
223
|
var analyticsContextData = {
|
|
224
224
|
packageName: "@atlaskit/link-datasource",
|
|
225
|
-
packageVersion: "1.
|
|
225
|
+
packageVersion: "1.6.1",
|
|
226
226
|
source: 'datasourceConfigModal'
|
|
227
227
|
};
|
|
228
228
|
var contextData = _objectSpread(_objectSpread({}, analyticsContextData), {}, {
|
|
@@ -49,7 +49,8 @@ var DatasourceTableViewWithoutAnalytics = function DatasourceTableViewWithoutAna
|
|
|
49
49
|
mechanism of initial loading. Use of ref here makes it basically work as a `componentDidUpdate` but not `componentDidMount`
|
|
50
50
|
*/
|
|
51
51
|
var isInitialRender = useRef(true);
|
|
52
|
-
var
|
|
52
|
+
var hasColumns = !!columns.length;
|
|
53
|
+
var isDataReady = hasColumns && responseItems.length > 0 && totalCount && totalCount > 0;
|
|
53
54
|
visibleColumnCount.current = (visibleColumnKeys === null || visibleColumnKeys === void 0 ? void 0 : visibleColumnKeys.length) || 0;
|
|
54
55
|
useEffect(function () {
|
|
55
56
|
if (!isInitialRender.current) {
|
|
@@ -115,7 +116,7 @@ var DatasourceTableViewWithoutAnalytics = function DatasourceTableViewWithoutAna
|
|
|
115
116
|
// datasource-table classname is to exclude all children from being commentable - exclude list is in CFE
|
|
116
117
|
jsx("div", {
|
|
117
118
|
className: "datasource-table"
|
|
118
|
-
},
|
|
119
|
+
}, hasColumns ? jsx(IssueLikeDataTableView, {
|
|
119
120
|
testId: 'datasource-table-view',
|
|
120
121
|
hasNextPage: hasNextPage,
|
|
121
122
|
items: responseItems,
|
|
@@ -92,9 +92,9 @@ export var ColumnPicker = function ColumnPicker(_ref) {
|
|
|
92
92
|
};
|
|
93
93
|
useEffect(function () {
|
|
94
94
|
if (allOptions.length) {
|
|
95
|
-
var _pickerRef$current
|
|
95
|
+
var _pickerRef$current;
|
|
96
96
|
// necessary to refocus the search input after the loading state
|
|
97
|
-
pickerRef === null || pickerRef === void 0
|
|
97
|
+
pickerRef === null || pickerRef === void 0 || (_pickerRef$current = pickerRef.current) === null || _pickerRef$current === void 0 || (_pickerRef$current = _pickerRef$current.selectRef) === null || _pickerRef$current === void 0 || (_pickerRef$current = _pickerRef$current.inputRef) === null || _pickerRef$current === void 0 || _pickerRef$current.focus();
|
|
98
98
|
}
|
|
99
99
|
}, [allOptions]);
|
|
100
100
|
useEffect(function () {
|
|
@@ -258,7 +258,7 @@ export var IssueLikeDataTableView = function IssueLikeDataTableView(_ref2) {
|
|
|
258
258
|
indexOfTarget: indexOfTarget,
|
|
259
259
|
axis: 'horizontal'
|
|
260
260
|
});
|
|
261
|
-
onVisibleColumnKeysChange === null || onVisibleColumnKeysChange === void 0
|
|
261
|
+
onVisibleColumnKeysChange === null || onVisibleColumnKeysChange === void 0 || onVisibleColumnKeysChange(_toConsumableArray(newColumnKeyOrder));
|
|
262
262
|
|
|
263
263
|
// We sort columns (whole objects) according to their key order presented in newColumnKeyOrder
|
|
264
264
|
setOrderedColumns(function (columns) {
|
|
@@ -300,7 +300,7 @@ export var IssueLikeDataTableView = function IssueLikeDataTableView(_ref2) {
|
|
|
300
300
|
return [].concat(_toConsumableArray(tableRows), _toConsumableArray(status === 'loading' ? [loadingRow] : []));
|
|
301
301
|
}, [loadingRow, status, tableRows]);
|
|
302
302
|
var onSelectedColumnKeysChange = useCallback(function (newSelectedColumnKeys) {
|
|
303
|
-
onVisibleColumnKeysChange === null || onVisibleColumnKeysChange === void 0
|
|
303
|
+
onVisibleColumnKeysChange === null || onVisibleColumnKeysChange === void 0 || onVisibleColumnKeysChange(newSelectedColumnKeys);
|
|
304
304
|
}, [onVisibleColumnKeysChange]);
|
|
305
305
|
var handlePickerOpen = useCallback( /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee() {
|
|
306
306
|
return _regeneratorRuntime.wrap(function _callee$(_context) {
|
|
@@ -395,7 +395,7 @@ export var IssueLikeDataTableView = function IssueLikeDataTableView(_ref2) {
|
|
|
395
395
|
}
|
|
396
396
|
}, heading);
|
|
397
397
|
}
|
|
398
|
-
}), onVisibleColumnKeysChange &&
|
|
398
|
+
}), onVisibleColumnKeysChange && jsx(ColumnPickerHeader, null, jsx(ColumnPicker, {
|
|
399
399
|
columns: hasFullSchema ? orderedColumns : [],
|
|
400
400
|
selectedColumnKeys: hasFullSchema ? visibleColumnKeys : [],
|
|
401
401
|
onSelectedColumnKeysChange: onSelectedColumnKeysChange,
|
|
@@ -1,20 +1,43 @@
|
|
|
1
|
+
import { COMPOUND_OPERATOR_AND, COMPOUND_OPERATOR_OR, creators, JastBuilder, OPERATOR_EQUALS, OPERATOR_GT_EQUALS, OPERATOR_LIKE, ORDER_BY_DIRECTION_ASC, ORDER_BY_DIRECTION_DESC, print } from '@atlaskit/jql-ast';
|
|
1
2
|
var fuzzySearchRegExp = /^"(.+)"$/;
|
|
2
3
|
var jiraIssueKeyRegExp = /[A-Z]+-\d+/;
|
|
4
|
+
var constructTerminalClause = function constructTerminalClause(field, operator, value) {
|
|
5
|
+
return creators.terminalClause(creators.field(field), creators.operator(operator), creators.valueOperand(value));
|
|
6
|
+
};
|
|
3
7
|
export var buildJQL = function buildJQL(input) {
|
|
8
|
+
/**
|
|
9
|
+
* Jql ast - Transforming the ast
|
|
10
|
+
* https://atlaskit.atlassian.com/packages/jql/jql-ast/docs/transforming-the-ast
|
|
11
|
+
*/
|
|
12
|
+
var jast = new JastBuilder().build('');
|
|
13
|
+
var query = jast.query;
|
|
4
14
|
var rawSearch = input.rawSearch,
|
|
5
15
|
_input$orderDirection = input.orderDirection,
|
|
6
|
-
orderDirection = _input$orderDirection === void 0 ?
|
|
16
|
+
orderDirection = _input$orderDirection === void 0 ? ORDER_BY_DIRECTION_DESC : _input$orderDirection,
|
|
7
17
|
_input$orderKey = input.orderKey,
|
|
8
18
|
orderKey = _input$orderKey === void 0 ? 'created' : _input$orderKey;
|
|
9
|
-
var
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
if (jiraIssueKeyRegExp.test(rawSearch)) {
|
|
13
|
-
baseQueryParts.push("key = \"".concat(basicSearch, "\""));
|
|
19
|
+
var trimmedRawSearch = rawSearch.trim();
|
|
20
|
+
if (!query) {
|
|
21
|
+
return '';
|
|
14
22
|
}
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
23
|
+
if (trimmedRawSearch) {
|
|
24
|
+
var fuzzy = !trimmedRawSearch.match(fuzzySearchRegExp) ? '*' : '';
|
|
25
|
+
var basicSearch = trimmedRawSearch.replace(/['"?*]+/g, '');
|
|
26
|
+
var text = constructTerminalClause('text', OPERATOR_LIKE, "".concat(basicSearch).concat(fuzzy));
|
|
27
|
+
var summary = constructTerminalClause('summary', OPERATOR_LIKE, "".concat(basicSearch).concat(fuzzy));
|
|
28
|
+
var orClauseFields = [text, summary];
|
|
29
|
+
if (jiraIssueKeyRegExp.test(trimmedRawSearch)) {
|
|
30
|
+
var key = constructTerminalClause('key', OPERATOR_EQUALS, basicSearch);
|
|
31
|
+
orClauseFields.push(key);
|
|
32
|
+
}
|
|
33
|
+
var orClause = creators.compoundClause(creators.compoundOperator(COMPOUND_OPERATOR_OR), orClauseFields);
|
|
34
|
+
query.appendClause(orClause, COMPOUND_OPERATOR_AND);
|
|
35
|
+
} else {
|
|
36
|
+
var created = constructTerminalClause('created', OPERATOR_GT_EQUALS, '-30d');
|
|
37
|
+
query.appendClause(created, COMPOUND_OPERATOR_AND);
|
|
38
|
+
}
|
|
39
|
+
var orderField = creators.orderByField(creators.field(orderKey));
|
|
40
|
+
query.prependOrderField(orderField);
|
|
41
|
+
query.setOrderDirection(creators.orderByDirection(orderDirection.toLowerCase() === 'asc' ? ORDER_BY_DIRECTION_ASC : ORDER_BY_DIRECTION_DESC));
|
|
42
|
+
return print(jast);
|
|
20
43
|
};
|
|
@@ -18,7 +18,7 @@ export var JiraJQLEditor = function JiraJQLEditor(props) {
|
|
|
18
18
|
useEffect(function () {
|
|
19
19
|
requestAnimationFrame(function () {
|
|
20
20
|
var _inputRef$current;
|
|
21
|
-
(_inputRef$current = inputRef.current) === null || _inputRef$current === void 0
|
|
21
|
+
(_inputRef$current = inputRef.current) === null || _inputRef$current === void 0 || _inputRef$current.focus();
|
|
22
22
|
});
|
|
23
23
|
}, []);
|
|
24
24
|
var searchIfValidJql = function searchIfValidJql(_, jast) {
|
|
@@ -300,11 +300,11 @@ export var PlainJiraIssuesConfigModal = function PlainJiraIssuesConfigModal(prop
|
|
|
300
300
|
});
|
|
301
301
|
}, [reset]);
|
|
302
302
|
var retrieveUrlForSmartCardRender = useCallback(function () {
|
|
303
|
-
var _data$key
|
|
303
|
+
var _data$key;
|
|
304
304
|
var _responseItems = _slicedToArray(responseItems, 1),
|
|
305
305
|
data = _responseItems[0];
|
|
306
306
|
// agreement with BE that we will use `key` for rendering smartlink
|
|
307
|
-
return data === null || data === void 0
|
|
307
|
+
return data === null || data === void 0 || (_data$key = data.key) === null || _data$key === void 0 || (_data$key = _data$key.data) === null || _data$key === void 0 ? void 0 : _data$key.url;
|
|
308
308
|
}, [responseItems]);
|
|
309
309
|
var onInsertPressed = useCallback(function (e, analyticsEvent) {
|
|
310
310
|
var _insertButtonClickedE;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@atlaskit/link-datasource",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.6.1",
|
|
4
4
|
"description": "UI Components to support linking platform dataset feature",
|
|
5
5
|
"publishConfig": {
|
|
6
6
|
"registry": "https://registry.npmjs.org/"
|
|
@@ -42,6 +42,7 @@
|
|
|
42
42
|
"@atlaskit/icon": "^21.12.0",
|
|
43
43
|
"@atlaskit/icon-object": "^6.3.0",
|
|
44
44
|
"@atlaskit/image": "^1.1.0",
|
|
45
|
+
"@atlaskit/jql-ast": "^3.0.0",
|
|
45
46
|
"@atlaskit/jql-editor-autocomplete-rest": "^2.0.0",
|
|
46
47
|
"@atlaskit/link-client-extension": "^1.7.0",
|
|
47
48
|
"@atlaskit/linking-common": "^4.10.0",
|
|
@@ -54,7 +55,7 @@
|
|
|
54
55
|
"@atlaskit/pragmatic-drag-and-drop-react-beautiful-dnd-autoscroll": "^0.6.0",
|
|
55
56
|
"@atlaskit/pragmatic-drag-and-drop-react-indicator": "^0.16.0",
|
|
56
57
|
"@atlaskit/select": "^16.7.0",
|
|
57
|
-
"@atlaskit/smart-card": "^26.
|
|
58
|
+
"@atlaskit/smart-card": "^26.33.0",
|
|
58
59
|
"@atlaskit/spinner": "^15.6.0",
|
|
59
60
|
"@atlaskit/tag": "^11.6.0",
|
|
60
61
|
"@atlaskit/textfield": "5.6.8",
|
|
@@ -78,6 +79,7 @@
|
|
|
78
79
|
"react-intl-next": "npm:react-intl@^5.18.1"
|
|
79
80
|
},
|
|
80
81
|
"devDependencies": {
|
|
82
|
+
"@af/integration-testing": "*",
|
|
81
83
|
"@af/visual-regression": "*",
|
|
82
84
|
"@atlaskit/link-provider": "^1.6.0",
|
|
83
85
|
"@atlaskit/link-test-helpers": "^6.1.0",
|