@atlaskit/link-datasource 1.19.20 → 1.19.22
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 +1 -1
- package/dist/cjs/ui/assets-modal/modal/index.js +14 -14
- package/dist/cjs/ui/assets-modal/modal/render-assets-content/index.js +20 -18
- package/dist/cjs/ui/assets-modal/modal/render-assets-content/initial-state-view/index.js +6 -4
- package/dist/cjs/ui/assets-modal/search-container/aql-search-input/index.js +15 -13
- package/dist/cjs/ui/assets-modal/search-container/aql-search-input/loading-state.js +4 -1
- package/dist/cjs/ui/assets-modal/search-container/index.js +8 -5
- package/dist/cjs/ui/assets-modal/search-container/loading-state.js +6 -3
- package/dist/cjs/ui/assets-modal/search-container/object-schema-select/index.js +4 -3
- package/dist/cjs/ui/assets-modal/search-container/object-schema-select/loading-state.js +4 -1
- package/dist/cjs/ui/common/error-state/access-required.js +10 -8
- package/dist/cjs/ui/common/error-state/loading-error.js +8 -6
- package/dist/cjs/ui/common/error-state/modal-loading-error.js +9 -7
- package/dist/cjs/ui/common/error-state/no-instances.js +6 -6
- package/dist/cjs/ui/common/error-state/no-results.js +39 -37
- package/dist/cjs/ui/datasource-table-view/datasourceTableView.js +9 -8
- package/dist/cjs/ui/issue-like-table/column-picker/concatenated-menu-list.js +6 -5
- package/dist/cjs/ui/issue-like-table/column-picker/index.js +7 -5
- package/dist/cjs/ui/issue-like-table/drag-column-preview.js +6 -5
- package/dist/cjs/ui/issue-like-table/draggable-table-heading.js +6 -6
- package/dist/cjs/ui/issue-like-table/empty-state/index.js +15 -13
- package/dist/cjs/ui/issue-like-table/index.js +15 -14
- package/dist/cjs/ui/issue-like-table/render-type/richtext/index.js +3 -3
- package/dist/cjs/ui/jira-issues-modal/basic-filters/hooks/useFilterOptions.js +34 -20
- package/dist/cjs/ui/jira-issues-modal/basic-filters/ui/async-popup-select/dropdownIndicator.js +0 -2
- package/dist/cjs/ui/jira-issues-modal/basic-filters/ui/async-popup-select/footer.js +0 -2
- package/dist/cjs/ui/jira-issues-modal/basic-filters/ui/async-popup-select/formatOptionLabel.js +0 -2
- package/dist/cjs/ui/jira-issues-modal/basic-filters/ui/async-popup-select/index.js +11 -9
- package/dist/cjs/ui/jira-issues-modal/basic-filters/ui/async-popup-select/trigger.js +0 -2
- package/dist/cjs/ui/jira-issues-modal/basic-filters/ui/index.js +4 -4
- package/dist/cjs/ui/jira-issues-modal/basic-filters/ui/menu-list/index.js +0 -2
- package/dist/cjs/ui/jira-issues-modal/basic-filters/ui/menu-list/selectMessage.js +0 -2
- package/dist/cjs/ui/jira-issues-modal/basic-filters/utils/transformers.js +18 -5
- package/dist/cjs/ui/jira-issues-modal/basic-search-input/index.js +6 -4
- package/dist/cjs/ui/jira-issues-modal/initial-state-view/index.js +10 -8
- package/dist/cjs/ui/jira-issues-modal/jira-search-container/index.js +10 -11
- package/dist/cjs/ui/jira-issues-modal/modal/index.js +31 -30
- package/dist/cjs/ui/jira-issues-modal/mode-switcher/index.js +6 -4
- package/dist/cjs/ui/jira-issues-modal/site-selector/index.js +3 -2
- package/dist/cjs/ui/table-footer/index.js +12 -10
- package/dist/es2019/analytics/constants.js +1 -1
- package/dist/es2019/ui/assets-modal/modal/index.js +15 -14
- package/dist/es2019/ui/assets-modal/modal/render-assets-content/index.js +20 -19
- package/dist/es2019/ui/assets-modal/modal/render-assets-content/initial-state-view/index.js +7 -5
- package/dist/es2019/ui/assets-modal/search-container/aql-search-input/index.js +15 -14
- package/dist/es2019/ui/assets-modal/search-container/aql-search-input/loading-state.js +3 -1
- package/dist/es2019/ui/assets-modal/search-container/index.js +7 -5
- package/dist/es2019/ui/assets-modal/search-container/loading-state.js +5 -3
- package/dist/es2019/ui/assets-modal/search-container/object-schema-select/index.js +5 -2
- package/dist/es2019/ui/assets-modal/search-container/object-schema-select/loading-state.js +3 -1
- package/dist/es2019/ui/common/error-state/access-required.js +10 -9
- package/dist/es2019/ui/common/error-state/loading-error.js +8 -7
- package/dist/es2019/ui/common/error-state/modal-loading-error.js +9 -8
- package/dist/es2019/ui/common/error-state/no-instances.js +6 -7
- package/dist/es2019/ui/common/error-state/no-results.js +39 -38
- package/dist/es2019/ui/datasource-table-view/datasourceTableView.js +9 -9
- package/dist/es2019/ui/issue-like-table/column-picker/concatenated-menu-list.js +7 -6
- package/dist/es2019/ui/issue-like-table/column-picker/index.js +7 -5
- package/dist/es2019/ui/issue-like-table/drag-column-preview.js +5 -4
- package/dist/es2019/ui/issue-like-table/draggable-table-heading.js +7 -6
- package/dist/es2019/ui/issue-like-table/empty-state/index.js +15 -14
- package/dist/es2019/ui/issue-like-table/index.js +16 -15
- package/dist/es2019/ui/issue-like-table/render-type/richtext/index.js +4 -3
- package/dist/es2019/ui/jira-issues-modal/basic-filters/hooks/useFilterOptions.js +13 -3
- package/dist/es2019/ui/jira-issues-modal/basic-filters/ui/async-popup-select/dropdownIndicator.js +0 -2
- package/dist/es2019/ui/jira-issues-modal/basic-filters/ui/async-popup-select/footer.js +0 -2
- package/dist/es2019/ui/jira-issues-modal/basic-filters/ui/async-popup-select/formatOptionLabel.js +0 -2
- package/dist/es2019/ui/jira-issues-modal/basic-filters/ui/async-popup-select/index.js +7 -4
- package/dist/es2019/ui/jira-issues-modal/basic-filters/ui/async-popup-select/trigger.js +0 -2
- package/dist/es2019/ui/jira-issues-modal/basic-filters/ui/index.js +5 -4
- package/dist/es2019/ui/jira-issues-modal/basic-filters/ui/menu-list/index.js +0 -2
- package/dist/es2019/ui/jira-issues-modal/basic-filters/ui/menu-list/selectMessage.js +0 -2
- package/dist/es2019/ui/jira-issues-modal/basic-filters/utils/transformers.js +19 -5
- package/dist/es2019/ui/jira-issues-modal/basic-search-input/index.js +6 -5
- package/dist/es2019/ui/jira-issues-modal/initial-state-view/index.js +11 -9
- package/dist/es2019/ui/jira-issues-modal/jira-search-container/index.js +11 -11
- package/dist/es2019/ui/jira-issues-modal/modal/index.js +32 -30
- package/dist/es2019/ui/jira-issues-modal/mode-switcher/index.js +6 -5
- package/dist/es2019/ui/jira-issues-modal/site-selector/index.js +4 -3
- package/dist/es2019/ui/table-footer/index.js +12 -10
- package/dist/esm/analytics/constants.js +1 -1
- package/dist/esm/ui/assets-modal/modal/index.js +15 -14
- package/dist/esm/ui/assets-modal/modal/render-assets-content/index.js +20 -19
- package/dist/esm/ui/assets-modal/modal/render-assets-content/initial-state-view/index.js +7 -5
- package/dist/esm/ui/assets-modal/search-container/aql-search-input/index.js +15 -14
- package/dist/esm/ui/assets-modal/search-container/aql-search-input/loading-state.js +3 -1
- package/dist/esm/ui/assets-modal/search-container/index.js +7 -5
- package/dist/esm/ui/assets-modal/search-container/loading-state.js +5 -3
- package/dist/esm/ui/assets-modal/search-container/object-schema-select/index.js +5 -2
- package/dist/esm/ui/assets-modal/search-container/object-schema-select/loading-state.js +3 -1
- package/dist/esm/ui/common/error-state/access-required.js +10 -9
- package/dist/esm/ui/common/error-state/loading-error.js +8 -7
- package/dist/esm/ui/common/error-state/modal-loading-error.js +9 -8
- package/dist/esm/ui/common/error-state/no-instances.js +6 -7
- package/dist/esm/ui/common/error-state/no-results.js +39 -38
- package/dist/esm/ui/datasource-table-view/datasourceTableView.js +9 -9
- package/dist/esm/ui/issue-like-table/column-picker/concatenated-menu-list.js +7 -6
- package/dist/esm/ui/issue-like-table/column-picker/index.js +7 -5
- package/dist/esm/ui/issue-like-table/drag-column-preview.js +7 -6
- package/dist/esm/ui/issue-like-table/draggable-table-heading.js +7 -6
- package/dist/esm/ui/issue-like-table/empty-state/index.js +15 -14
- package/dist/esm/ui/issue-like-table/index.js +16 -15
- package/dist/esm/ui/issue-like-table/render-type/richtext/index.js +4 -3
- package/dist/esm/ui/jira-issues-modal/basic-filters/hooks/useFilterOptions.js +34 -20
- package/dist/esm/ui/jira-issues-modal/basic-filters/ui/async-popup-select/dropdownIndicator.js +0 -2
- package/dist/esm/ui/jira-issues-modal/basic-filters/ui/async-popup-select/footer.js +0 -2
- package/dist/esm/ui/jira-issues-modal/basic-filters/ui/async-popup-select/formatOptionLabel.js +0 -2
- package/dist/esm/ui/jira-issues-modal/basic-filters/ui/async-popup-select/index.js +11 -9
- package/dist/esm/ui/jira-issues-modal/basic-filters/ui/async-popup-select/trigger.js +0 -2
- package/dist/esm/ui/jira-issues-modal/basic-filters/ui/index.js +4 -4
- package/dist/esm/ui/jira-issues-modal/basic-filters/ui/menu-list/index.js +0 -2
- package/dist/esm/ui/jira-issues-modal/basic-filters/ui/menu-list/selectMessage.js +0 -2
- package/dist/esm/ui/jira-issues-modal/basic-filters/utils/transformers.js +18 -5
- package/dist/esm/ui/jira-issues-modal/basic-search-input/index.js +6 -5
- package/dist/esm/ui/jira-issues-modal/initial-state-view/index.js +11 -9
- package/dist/esm/ui/jira-issues-modal/jira-search-container/index.js +11 -11
- package/dist/esm/ui/jira-issues-modal/modal/index.js +32 -30
- package/dist/esm/ui/jira-issues-modal/mode-switcher/index.js +6 -5
- package/dist/esm/ui/jira-issues-modal/site-selector/index.js +4 -3
- package/dist/esm/ui/table-footer/index.js +12 -10
- package/dist/types/services/getAvailableJiraSites.d.ts +1 -5
- package/dist/types/ui/jira-issues-modal/basic-filters/hooks/useFilterOptions.d.ts +3 -2
- package/dist/types/ui/jira-issues-modal/basic-filters/ui/async-popup-select/index.d.ts +3 -2
- package/dist/types/ui/jira-issues-modal/basic-filters/ui/index.d.ts +3 -2
- package/dist/types/ui/jira-issues-modal/basic-filters/utils/transformers.d.ts +3 -1
- package/dist/types/ui/jira-issues-modal/jira-search-container/index.d.ts +2 -1
- package/dist/types/ui/jira-issues-modal/site-selector/index.d.ts +1 -1
- package/dist/types/ui/jira-issues-modal/types.d.ts +5 -0
- package/dist/types-ts4.5/services/getAvailableJiraSites.d.ts +1 -5
- package/dist/types-ts4.5/ui/jira-issues-modal/basic-filters/hooks/useFilterOptions.d.ts +3 -2
- package/dist/types-ts4.5/ui/jira-issues-modal/basic-filters/ui/async-popup-select/index.d.ts +3 -2
- package/dist/types-ts4.5/ui/jira-issues-modal/basic-filters/ui/index.d.ts +3 -2
- package/dist/types-ts4.5/ui/jira-issues-modal/basic-filters/utils/transformers.d.ts +3 -1
- package/dist/types-ts4.5/ui/jira-issues-modal/jira-search-container/index.d.ts +2 -1
- package/dist/types-ts4.5/ui/jira-issues-modal/site-selector/index.d.ts +1 -1
- package/dist/types-ts4.5/ui/jira-issues-modal/types.d.ts +5 -0
- package/package.json +1 -1
|
@@ -1,11 +1,12 @@
|
|
|
1
|
-
|
|
1
|
+
/** @jsx jsx */
|
|
2
|
+
import { css, jsx } from '@emotion/react';
|
|
2
3
|
import { Skeleton } from '@atlaskit/linking-common';
|
|
3
4
|
import { N40 } from '@atlaskit/theme/colors';
|
|
4
5
|
import { ScrollableContainerHeight, TableHeading } from '../styled';
|
|
5
6
|
const SkeletonComponent = ({
|
|
6
7
|
width,
|
|
7
8
|
itemName
|
|
8
|
-
}) =>
|
|
9
|
+
}) => jsx(Skeleton, {
|
|
9
10
|
borderRadius: 8,
|
|
10
11
|
testId: `${itemName}-empty-state-skeleton`,
|
|
11
12
|
height: 14,
|
|
@@ -69,17 +70,17 @@ const renderItem = ({
|
|
|
69
70
|
}) => {
|
|
70
71
|
switch (key) {
|
|
71
72
|
case 'status':
|
|
72
|
-
return
|
|
73
|
+
return jsx(SkeletonComponent, {
|
|
73
74
|
width: shortWidth,
|
|
74
75
|
itemName: key
|
|
75
76
|
});
|
|
76
77
|
case 'summary':
|
|
77
|
-
return
|
|
78
|
+
return jsx(SkeletonComponent, {
|
|
78
79
|
width: longWidth,
|
|
79
80
|
itemName: key
|
|
80
81
|
});
|
|
81
82
|
default:
|
|
82
|
-
return
|
|
83
|
+
return jsx(SkeletonComponent, {
|
|
83
84
|
width: width,
|
|
84
85
|
itemName: key
|
|
85
86
|
});
|
|
@@ -98,7 +99,7 @@ export default (({
|
|
|
98
99
|
longWidth: longColumnWidths[index],
|
|
99
100
|
shortWidth: shortColumnWidths[index]
|
|
100
101
|
}));
|
|
101
|
-
return
|
|
102
|
+
return jsx("div", {
|
|
102
103
|
style: {
|
|
103
104
|
// the IssueLikeDataTableView wraps the table in a container with the styling below while modal doesn't
|
|
104
105
|
// this maxHeight comes from scrollableContainerHeight
|
|
@@ -106,33 +107,33 @@ export default (({
|
|
|
106
107
|
padding: 0,
|
|
107
108
|
boxSizing: 'border-box'
|
|
108
109
|
}
|
|
109
|
-
},
|
|
110
|
+
}, jsx("table", {
|
|
110
111
|
css: tableStyles,
|
|
111
112
|
"data-testid": testId
|
|
112
|
-
},
|
|
113
|
+
}, jsx("thead", {
|
|
113
114
|
style: {
|
|
114
115
|
borderBottom: 0
|
|
115
116
|
}
|
|
116
|
-
},
|
|
117
|
+
}, jsx("tr", null, columnsToRender.map(({
|
|
117
118
|
key,
|
|
118
119
|
width
|
|
119
|
-
}) =>
|
|
120
|
+
}) => jsx(TableHeading, {
|
|
120
121
|
key: key,
|
|
121
122
|
style: {
|
|
122
123
|
width,
|
|
123
124
|
padding
|
|
124
125
|
}
|
|
125
|
-
},
|
|
126
|
+
}, jsx(Skeleton, {
|
|
126
127
|
appearance: "darkGray",
|
|
127
128
|
borderRadius: 8,
|
|
128
129
|
testId: "empty-state-skeleton",
|
|
129
130
|
height: 12,
|
|
130
131
|
width: width
|
|
131
|
-
}))))),
|
|
132
|
+
}))))), jsx("tbody", {
|
|
132
133
|
css: tableBodyStyles
|
|
133
|
-
}, rows.map(row =>
|
|
134
|
+
}, rows.map(row => jsx("tr", {
|
|
134
135
|
key: row.id
|
|
135
|
-
}, columnsToRender.map(column =>
|
|
136
|
+
}, columnsToRender.map(column => jsx("td", {
|
|
136
137
|
css: cellStyles,
|
|
137
138
|
key: column.key
|
|
138
139
|
}, renderItem(column, row))))))));
|
|
@@ -1,5 +1,6 @@
|
|
|
1
|
+
/** @jsx jsx */
|
|
1
2
|
import { useCallback, useEffect, useMemo, useRef, useState } from 'react';
|
|
2
|
-
import { css } from '@emotion/react';
|
|
3
|
+
import { css, jsx } from '@emotion/react';
|
|
3
4
|
import styled from '@emotion/styled';
|
|
4
5
|
import invariant from 'tiny-invariant';
|
|
5
6
|
import Heading from '@atlaskit/heading';
|
|
@@ -307,7 +308,7 @@ export const IssueLikeDataTableView = ({
|
|
|
307
308
|
key: 'loading',
|
|
308
309
|
cells: headerColumns.map(column => ({
|
|
309
310
|
...column,
|
|
310
|
-
content:
|
|
311
|
+
content: jsx(Skeleton, {
|
|
311
312
|
borderRadius: 8,
|
|
312
313
|
width: "100%",
|
|
313
314
|
height: 14,
|
|
@@ -462,7 +463,7 @@ export const IssueLikeDataTableView = ({
|
|
|
462
463
|
}
|
|
463
464
|
}, [parentContainerRenderInstanceId, extensionKey, hasFullSchema, onLoadDatasourceDetails]);
|
|
464
465
|
const shouldUseWidth = onColumnResize || columnCustomSizes;
|
|
465
|
-
return
|
|
466
|
+
return jsx("div", {
|
|
466
467
|
/* There is required contentEditable={true} in editor-card-plugin
|
|
467
468
|
* But this brakes how DND works. We set contentEditable={false} to allow DND to work
|
|
468
469
|
* when dragging is initiated on top of a column label.
|
|
@@ -473,27 +474,27 @@ export const IssueLikeDataTableView = ({
|
|
|
473
474
|
style: scrollableContainerHeight ? {
|
|
474
475
|
maxHeight: `${scrollableContainerHeight}px`
|
|
475
476
|
} : undefined
|
|
476
|
-
},
|
|
477
|
+
}, jsx(Table, {
|
|
477
478
|
css: tableStyles,
|
|
478
479
|
"data-testid": testId,
|
|
479
480
|
style: shouldUseWidth ? {
|
|
480
481
|
tableLayout: 'fixed'
|
|
481
482
|
} : {}
|
|
482
|
-
},
|
|
483
|
+
}, jsx("thead", {
|
|
483
484
|
"data-testid": testId && `${testId}--head`,
|
|
484
485
|
css: [noDefaultBorderStyles, tableHeadStyles]
|
|
485
|
-
},
|
|
486
|
+
}, jsx("tr", {
|
|
486
487
|
ref: tableHeaderRowRef
|
|
487
488
|
}, headerColumns.map(({
|
|
488
489
|
key,
|
|
489
490
|
content,
|
|
490
491
|
width
|
|
491
492
|
}, cellIndex) => {
|
|
492
|
-
const heading =
|
|
493
|
+
const heading = jsx(Tooltip, {
|
|
493
494
|
content: content,
|
|
494
495
|
tag: "span",
|
|
495
496
|
testId: 'datasource-header-content'
|
|
496
|
-
},
|
|
497
|
+
}, jsx(Heading, {
|
|
497
498
|
level: "h200",
|
|
498
499
|
as: 'span'
|
|
499
500
|
}, content));
|
|
@@ -509,11 +510,11 @@ export const IssueLikeDataTableView = ({
|
|
|
509
510
|
return cell.content;
|
|
510
511
|
}
|
|
511
512
|
}).slice(0, 5);
|
|
512
|
-
const dragPreview =
|
|
513
|
+
const dragPreview = jsx(DragColumnPreview, {
|
|
513
514
|
title: heading,
|
|
514
515
|
rows: previewRows
|
|
515
516
|
});
|
|
516
|
-
return
|
|
517
|
+
return jsx(DraggableTableHeading, {
|
|
517
518
|
tableId: tableId,
|
|
518
519
|
key: key,
|
|
519
520
|
id: key,
|
|
@@ -524,7 +525,7 @@ export const IssueLikeDataTableView = ({
|
|
|
524
525
|
dragPreview: dragPreview
|
|
525
526
|
}, heading);
|
|
526
527
|
} else {
|
|
527
|
-
return
|
|
528
|
+
return jsx(TableHeading, {
|
|
528
529
|
key: key,
|
|
529
530
|
className: !!onVisibleColumnKeysChange ? 'has-column-picker' : '',
|
|
530
531
|
"data-testid": `${key}-column-heading`,
|
|
@@ -535,20 +536,20 @@ export const IssueLikeDataTableView = ({
|
|
|
535
536
|
}
|
|
536
537
|
}, heading);
|
|
537
538
|
}
|
|
538
|
-
}), onVisibleColumnKeysChange &&
|
|
539
|
+
}), onVisibleColumnKeysChange && jsx(ColumnPickerHeader, null, jsx(ColumnPicker, {
|
|
539
540
|
columns: hasFullSchema ? orderedColumns : [],
|
|
540
541
|
selectedColumnKeys: hasFullSchema ? visibleColumnKeys : [],
|
|
541
542
|
onSelectedColumnKeysChange: onSelectedColumnKeysChange,
|
|
542
543
|
onOpen: handlePickerOpen,
|
|
543
544
|
parentContainerRenderInstanceId: parentContainerRenderInstanceId
|
|
544
|
-
})))),
|
|
545
|
+
})))), jsx("tbody", {
|
|
545
546
|
css: noDefaultBorderStyles,
|
|
546
547
|
"data-testid": testId && `${testId}--body`
|
|
547
548
|
}, rows.map(({
|
|
548
549
|
key,
|
|
549
550
|
cells,
|
|
550
551
|
ref
|
|
551
|
-
}) =>
|
|
552
|
+
}) => jsx("tr", {
|
|
552
553
|
key: key,
|
|
553
554
|
"data-testid": testId && `${testId}--row-${key}`,
|
|
554
555
|
ref: ref
|
|
@@ -569,7 +570,7 @@ export const IssueLikeDataTableView = ({
|
|
|
569
570
|
paddingBlock: "var(--ds-space-100, 8px)"
|
|
570
571
|
};
|
|
571
572
|
}
|
|
572
|
-
return
|
|
573
|
+
return jsx("td", {
|
|
573
574
|
key: cellKey,
|
|
574
575
|
"data-testid": testId && `${testId}--cell-${cellIndex}`,
|
|
575
576
|
colSpan: cellIndex + 1 === cells.length ? 2 : undefined,
|
|
@@ -1,5 +1,6 @@
|
|
|
1
|
+
/** @jsx jsx */
|
|
1
2
|
import { useMemo } from 'react';
|
|
2
|
-
import { css } from '@emotion/react';
|
|
3
|
+
import { css, jsx } from '@emotion/react';
|
|
3
4
|
import { defaultSchema } from '@atlaskit/adf-schema/schema-default';
|
|
4
5
|
import { Node as PMNode } from '@atlaskit/editor-prosemirror/model';
|
|
5
6
|
const rootStyles = css({
|
|
@@ -29,12 +30,12 @@ const RichTextType = ({
|
|
|
29
30
|
}
|
|
30
31
|
}, [value]);
|
|
31
32
|
if (adfPlainText) {
|
|
32
|
-
return
|
|
33
|
+
return jsx("div", {
|
|
33
34
|
css: rootStyles,
|
|
34
35
|
"data-testid": "richtext-plaintext"
|
|
35
36
|
}, adfPlainText);
|
|
36
37
|
} else {
|
|
37
|
-
return
|
|
38
|
+
return jsx("span", {
|
|
38
39
|
"data-testid": "richtext-unsupported"
|
|
39
40
|
});
|
|
40
41
|
}
|
|
@@ -10,7 +10,7 @@ export const getAssigneeUnassignedFilterOption = formatMessage => ({
|
|
|
10
10
|
});
|
|
11
11
|
export const useFilterOptions = ({
|
|
12
12
|
filterType,
|
|
13
|
-
|
|
13
|
+
site
|
|
14
14
|
}) => {
|
|
15
15
|
const {
|
|
16
16
|
formatMessage
|
|
@@ -21,6 +21,10 @@ export const useFilterOptions = ({
|
|
|
21
21
|
const [errors, setErrors] = useState([]);
|
|
22
22
|
const [nextPageCursor, setNextPageCursor] = useState(undefined);
|
|
23
23
|
const initialData = useRef();
|
|
24
|
+
const {
|
|
25
|
+
cloudId,
|
|
26
|
+
url: siteUrl
|
|
27
|
+
} = site || {};
|
|
24
28
|
const {
|
|
25
29
|
getFieldValues
|
|
26
30
|
} = useBasicFilterAGG();
|
|
@@ -28,6 +32,9 @@ export const useFilterOptions = ({
|
|
|
28
32
|
pageCursor,
|
|
29
33
|
searchString
|
|
30
34
|
} = {}) => {
|
|
35
|
+
if (!cloudId) {
|
|
36
|
+
return;
|
|
37
|
+
}
|
|
31
38
|
const isNewSearch = !pageCursor;
|
|
32
39
|
isNewSearch ? setStatus('loading') : setStatus('loadingMore');
|
|
33
40
|
const isRequestLikeInitialSearch = !pageCursor && !searchString;
|
|
@@ -47,7 +54,10 @@ export const useFilterOptions = ({
|
|
|
47
54
|
setErrors(response.errors);
|
|
48
55
|
return;
|
|
49
56
|
}
|
|
50
|
-
const mappedResponse = mapFieldValuesToFilterOptions(
|
|
57
|
+
const mappedResponse = mapFieldValuesToFilterOptions({
|
|
58
|
+
...response,
|
|
59
|
+
siteUrl
|
|
60
|
+
});
|
|
51
61
|
let mappedTotalCount = mapFieldValuesToTotalCount(response);
|
|
52
62
|
if (isNewSearch) {
|
|
53
63
|
if (isRequestLikeInitialSearch) {
|
|
@@ -77,7 +87,7 @@ export const useFilterOptions = ({
|
|
|
77
87
|
setStatus('rejected');
|
|
78
88
|
setErrors([error]);
|
|
79
89
|
}
|
|
80
|
-
}, [cloudId, filterOptions, filterType, formatMessage, getFieldValues]);
|
|
90
|
+
}, [cloudId, filterOptions, filterType, formatMessage, getFieldValues, siteUrl]);
|
|
81
91
|
useEffect(() => {
|
|
82
92
|
if (status !== 'rejected' && errors.length !== 0) {
|
|
83
93
|
setErrors([]);
|
|
@@ -1,6 +1,4 @@
|
|
|
1
|
-
/* footer.tsx generated by @compiled/babel-plugin v0.26.1 */
|
|
2
1
|
import _extends from "@babel/runtime/helpers/extends";
|
|
3
|
-
import { ax, ix } from "@compiled/react/runtime";
|
|
4
2
|
import React from 'react';
|
|
5
3
|
import { FormattedMessage } from 'react-intl-next';
|
|
6
4
|
import { Flex, Inline, xcss } from '@atlaskit/primitives';
|
|
@@ -18,7 +18,7 @@ const noFilterOptions = () => true;
|
|
|
18
18
|
export const SEARCH_DEBOUNCE_MS = 350;
|
|
19
19
|
const AsyncPopupSelect = ({
|
|
20
20
|
filterType,
|
|
21
|
-
|
|
21
|
+
site,
|
|
22
22
|
selection,
|
|
23
23
|
isJQLHydrating,
|
|
24
24
|
onSelectionChange = () => {},
|
|
@@ -33,7 +33,10 @@ const AsyncPopupSelect = ({
|
|
|
33
33
|
const [searchTerm, setSearchTerm] = useState('');
|
|
34
34
|
const [selectedOptions, setSelectedOptions] = useState(selection);
|
|
35
35
|
const [sortedOptions, setSortedOptions] = useState([]);
|
|
36
|
-
const
|
|
36
|
+
const {
|
|
37
|
+
cloudId
|
|
38
|
+
} = site || {};
|
|
39
|
+
const currentSiteCloudId = useRef(cloudId || '');
|
|
37
40
|
const sortPaginatedResults = useRef(false); // this is to track pagination for sorting purpose
|
|
38
41
|
|
|
39
42
|
const {
|
|
@@ -46,7 +49,7 @@ const AsyncPopupSelect = ({
|
|
|
46
49
|
errors
|
|
47
50
|
} = useFilterOptions({
|
|
48
51
|
filterType,
|
|
49
|
-
|
|
52
|
+
site
|
|
50
53
|
});
|
|
51
54
|
const [handleDebouncedFetchFilterOptions] = useDebouncedCallback(searchString => {
|
|
52
55
|
fetchFilterOptions({
|
|
@@ -147,7 +150,7 @@ const AsyncPopupSelect = ({
|
|
|
147
150
|
}, [status]); // we only want the sortOptionsOnResolve to run when there is a status change
|
|
148
151
|
|
|
149
152
|
useEffect(() => {
|
|
150
|
-
if (currentSiteCloudId.current !== cloudId) {
|
|
153
|
+
if (cloudId && currentSiteCloudId.current !== cloudId) {
|
|
151
154
|
currentSiteCloudId.current = cloudId;
|
|
152
155
|
setSortedOptions([]);
|
|
153
156
|
setSearchTerm('');
|
|
@@ -1,5 +1,3 @@
|
|
|
1
|
-
/* index.tsx generated by @compiled/babel-plugin v0.26.1 */
|
|
2
|
-
import { ax, ix } from "@compiled/react/runtime";
|
|
3
1
|
import React, { useMemo } from 'react';
|
|
4
2
|
import { Flex, xcss } from '@atlaskit/primitives';
|
|
5
3
|
import { extractValuesFromNonComplexJQL } from '../utils/extractValuesFromNonComplexJQL';
|
|
@@ -10,12 +8,15 @@ const basicFilterContainerStyles = xcss({
|
|
|
10
8
|
});
|
|
11
9
|
const BasicFilterContainer = ({
|
|
12
10
|
jql,
|
|
13
|
-
|
|
11
|
+
site,
|
|
14
12
|
onChange,
|
|
15
13
|
selections,
|
|
16
14
|
isJQLHydrating
|
|
17
15
|
}) => {
|
|
18
16
|
const extractedFilterValues = useMemo(() => isJQLHydrating ? extractValuesFromNonComplexJQL(jql) : {}, [isJQLHydrating, jql]);
|
|
17
|
+
const {
|
|
18
|
+
cloudId
|
|
19
|
+
} = site || {};
|
|
19
20
|
return /*#__PURE__*/React.createElement(Flex, {
|
|
20
21
|
xcss: basicFilterContainerStyles,
|
|
21
22
|
gap: "space.100",
|
|
@@ -24,7 +25,7 @@ const BasicFilterContainer = ({
|
|
|
24
25
|
var _extractedFilterValue;
|
|
25
26
|
const shouldShowHydrationLoader = isJQLHydrating && ((_extractedFilterValue = extractedFilterValues[filter]) === null || _extractedFilterValue === void 0 ? void 0 : _extractedFilterValue.length) > 0;
|
|
26
27
|
return /*#__PURE__*/React.createElement(AsyncPopupSelect, {
|
|
27
|
-
|
|
28
|
+
site: site,
|
|
28
29
|
filterType: filter,
|
|
29
30
|
key: filter,
|
|
30
31
|
selection: selections[filter] || [],
|
|
@@ -11,6 +11,15 @@ const getLozengeAppearance = colorName => {
|
|
|
11
11
|
return appearanceMap[colorName];
|
|
12
12
|
}
|
|
13
13
|
};
|
|
14
|
+
const checkAndConvertToAbsoluteUrl = (url, siteUrl) => {
|
|
15
|
+
if (!url) {
|
|
16
|
+
return '';
|
|
17
|
+
}
|
|
18
|
+
if (/^data:(.*)/.test(url) || /^http(.*)/.test(url) || !siteUrl) {
|
|
19
|
+
return url;
|
|
20
|
+
}
|
|
21
|
+
return `${siteUrl}${url}`;
|
|
22
|
+
};
|
|
14
23
|
function mapNodeToOption({
|
|
15
24
|
displayName,
|
|
16
25
|
jqlTerm,
|
|
@@ -18,7 +27,8 @@ function mapNodeToOption({
|
|
|
18
27
|
issueTypes,
|
|
19
28
|
project,
|
|
20
29
|
statusCategory,
|
|
21
|
-
user
|
|
30
|
+
user,
|
|
31
|
+
siteUrl
|
|
22
32
|
}) {
|
|
23
33
|
try {
|
|
24
34
|
const baseProps = {
|
|
@@ -47,7 +57,7 @@ function mapNodeToOption({
|
|
|
47
57
|
return {
|
|
48
58
|
...baseProps,
|
|
49
59
|
optionType: 'iconLabel',
|
|
50
|
-
icon: (_project$avatar = project.avatar) === null || _project$avatar === void 0 ? void 0 : _project$avatar.small
|
|
60
|
+
icon: checkAndConvertToAbsoluteUrl((_project$avatar = project.avatar) === null || _project$avatar === void 0 ? void 0 : _project$avatar.small, siteUrl)
|
|
51
61
|
};
|
|
52
62
|
}
|
|
53
63
|
if (issueTypes) {
|
|
@@ -55,7 +65,7 @@ function mapNodeToOption({
|
|
|
55
65
|
return {
|
|
56
66
|
...baseProps,
|
|
57
67
|
optionType: 'iconLabel',
|
|
58
|
-
icon: (_issueTypes$ = issueTypes[0]) === null || _issueTypes$ === void 0 ? void 0 : _issueTypes$.avatar.small
|
|
68
|
+
icon: checkAndConvertToAbsoluteUrl((_issueTypes$ = issueTypes[0]) === null || _issueTypes$ === void 0 ? void 0 : _issueTypes$.avatar.small, siteUrl)
|
|
59
69
|
};
|
|
60
70
|
}
|
|
61
71
|
if (statusCategory) {
|
|
@@ -94,10 +104,14 @@ export function mapHydrateResponseData({
|
|
|
94
104
|
return transformedHydrateResponseData;
|
|
95
105
|
}
|
|
96
106
|
export function mapFieldValuesToFilterOptions({
|
|
97
|
-
data
|
|
107
|
+
data,
|
|
108
|
+
siteUrl
|
|
98
109
|
}) {
|
|
99
110
|
var _data$jira2, _data$jira2$jqlBuilde, _data$jira2$jqlBuilde2, _data$jira2$jqlBuilde3;
|
|
100
|
-
return (data === null || data === void 0 ? void 0 : (_data$jira2 = data.jira) === null || _data$jira2 === void 0 ? void 0 : (_data$jira2$jqlBuilde = _data$jira2.jqlBuilder) === null || _data$jira2$jqlBuilde === void 0 ? void 0 : (_data$jira2$jqlBuilde2 = _data$jira2$jqlBuilde.fieldValues) === null || _data$jira2$jqlBuilde2 === void 0 ? void 0 : (_data$jira2$jqlBuilde3 = _data$jira2$jqlBuilde2.edges) === null || _data$jira2$jqlBuilde3 === void 0 ? void 0 : _data$jira2$jqlBuilde3.map(edge => edge.node ? mapNodeToOption(
|
|
111
|
+
return (data === null || data === void 0 ? void 0 : (_data$jira2 = data.jira) === null || _data$jira2 === void 0 ? void 0 : (_data$jira2$jqlBuilde = _data$jira2.jqlBuilder) === null || _data$jira2$jqlBuilde === void 0 ? void 0 : (_data$jira2$jqlBuilde2 = _data$jira2$jqlBuilde.fieldValues) === null || _data$jira2$jqlBuilde2 === void 0 ? void 0 : (_data$jira2$jqlBuilde3 = _data$jira2$jqlBuilde2.edges) === null || _data$jira2$jqlBuilde3 === void 0 ? void 0 : _data$jira2$jqlBuilde3.map(edge => edge.node ? mapNodeToOption({
|
|
112
|
+
...edge.node,
|
|
113
|
+
siteUrl
|
|
114
|
+
}) : null).filter(isNonNullSelectOption)) || [];
|
|
101
115
|
}
|
|
102
116
|
export function mapFieldValuesToTotalCount({
|
|
103
117
|
data
|
|
@@ -1,5 +1,6 @@
|
|
|
1
|
+
/** @jsx jsx */
|
|
1
2
|
import { useMemo } from 'react';
|
|
2
|
-
import { css } from '@emotion/react';
|
|
3
|
+
import { css, jsx } from '@emotion/react';
|
|
3
4
|
import { useIntl } from 'react-intl-next';
|
|
4
5
|
import { LoadingButton } from '@atlaskit/button';
|
|
5
6
|
import SearchIcon from '@atlaskit/icon/glyph/editor/search';
|
|
@@ -37,14 +38,14 @@ export const BasicSearchInput = ({
|
|
|
37
38
|
}
|
|
38
39
|
return false;
|
|
39
40
|
}, []);
|
|
40
|
-
return
|
|
41
|
+
return jsx("form", {
|
|
41
42
|
css: showBasicFilters ? formWithMaxWidthStyles : formStyles,
|
|
42
43
|
onSubmit: handleFormSubmit
|
|
43
|
-
},
|
|
44
|
-
elemAfterInput:
|
|
44
|
+
}, jsx(Textfield, {
|
|
45
|
+
elemAfterInput: jsx(LoadingButton, {
|
|
45
46
|
appearance: "primary",
|
|
46
47
|
css: searchButtonStyles,
|
|
47
|
-
iconBefore:
|
|
48
|
+
iconBefore: jsx(SearchIcon, {
|
|
48
49
|
label: formatMessage(basicSearchInputMessages.basicTextSearchLabel),
|
|
49
50
|
size: "medium"
|
|
50
51
|
}),
|
|
@@ -1,5 +1,7 @@
|
|
|
1
|
+
/** @jsx jsx */
|
|
2
|
+
|
|
1
3
|
import { useMemo } from 'react';
|
|
2
|
-
import { css } from '@emotion/react';
|
|
4
|
+
import { css, jsx } from '@emotion/react';
|
|
3
5
|
import { FormattedMessage } from 'react-intl-next';
|
|
4
6
|
import Lozenge from '@atlaskit/lozenge';
|
|
5
7
|
import { getBooleanFF } from '@atlaskit/platform-feature-flags';
|
|
@@ -54,22 +56,22 @@ export const InitialStateView = ({
|
|
|
54
56
|
}
|
|
55
57
|
return false;
|
|
56
58
|
}, []);
|
|
57
|
-
return
|
|
59
|
+
return jsx("div", {
|
|
58
60
|
css: initialStateViewContainerStyles,
|
|
59
61
|
"data-testid": "jlol-datasource-modal--initial-state-view"
|
|
60
|
-
},
|
|
62
|
+
}, jsx("div", {
|
|
61
63
|
css: svgAndTextsWrapperStyles
|
|
62
|
-
},
|
|
64
|
+
}, jsx(InitialStateSVG, null), jsx("div", {
|
|
63
65
|
css: searchTitleStyles
|
|
64
|
-
}, !showBasicFilters &&
|
|
66
|
+
}, !showBasicFilters && jsx("div", {
|
|
65
67
|
css: betaTagStyles
|
|
66
|
-
},
|
|
68
|
+
}, jsx(Lozenge, {
|
|
67
69
|
appearance: "new"
|
|
68
|
-
},
|
|
70
|
+
}, jsx(FormattedMessage, initialStateViewMessages.beta))), jsx(FormattedMessage, initialStateViewMessages.searchTitle)), jsx("div", {
|
|
69
71
|
css: mainTextStyles
|
|
70
|
-
},
|
|
72
|
+
}, jsx(FormattedMessage, methodToDescriptionMessage[searchMethod])), searchMethod === 'jql' ? jsx("a", {
|
|
71
73
|
href: jqlSupportDocumentLink,
|
|
72
74
|
target: "_blank",
|
|
73
75
|
css: learnMoreLinkStyles
|
|
74
|
-
},
|
|
76
|
+
}, jsx(FormattedMessage, initialStateViewMessages.learnMoreLink)) : null));
|
|
75
77
|
};
|
|
@@ -1,7 +1,6 @@
|
|
|
1
|
-
|
|
2
|
-
import { ax, ix } from "@compiled/react/runtime";
|
|
1
|
+
/** @jsx jsx */
|
|
3
2
|
import React, { useCallback, useEffect, useMemo, useState } from 'react';
|
|
4
|
-
import { css } from '@emotion/react';
|
|
3
|
+
import { css, jsx } from '@emotion/react';
|
|
5
4
|
import { useIntl } from 'react-intl-next';
|
|
6
5
|
import { useDebouncedCallback } from 'use-debounce';
|
|
7
6
|
import { getBooleanFF } from '@atlaskit/platform-feature-flags';
|
|
@@ -34,7 +33,8 @@ export const JiraSearchContainer = props => {
|
|
|
34
33
|
onSearchMethodChange: onSearchMethodChangeCallback,
|
|
35
34
|
initialSearchMethod,
|
|
36
35
|
setSearchBarJql,
|
|
37
|
-
searchBarJql = DEFAULT_JQL_QUERY
|
|
36
|
+
searchBarJql = DEFAULT_JQL_QUERY,
|
|
37
|
+
site
|
|
38
38
|
} = props;
|
|
39
39
|
const {
|
|
40
40
|
cloudId: currentCloudId
|
|
@@ -182,30 +182,30 @@ export const JiraSearchContainer = props => {
|
|
|
182
182
|
setCloudId(currentCloudId);
|
|
183
183
|
}
|
|
184
184
|
}, [currentCloudId, cloudId, setSearchBarJql]);
|
|
185
|
-
return
|
|
185
|
+
return jsx("div", {
|
|
186
186
|
css: inputContainerStyles,
|
|
187
187
|
"data-testid": "jira-search-container"
|
|
188
|
-
}, currentSearchMethod === 'basic' &&
|
|
188
|
+
}, currentSearchMethod === 'basic' && jsx(Flex, {
|
|
189
189
|
alignItems: "center",
|
|
190
190
|
xcss: basicSearchInputContainerStyles
|
|
191
|
-
},
|
|
191
|
+
}, jsx(BasicSearchInput, {
|
|
192
192
|
isSearching: isSearching,
|
|
193
193
|
onChange: handleBasicSearchChange,
|
|
194
194
|
onSearch: handleSearch,
|
|
195
195
|
searchTerm: basicSearchTerm
|
|
196
|
-
}), showBasicFilters &&
|
|
196
|
+
}), showBasicFilters && jsx(BasicFilters, {
|
|
197
197
|
jql: searchBarJql,
|
|
198
|
-
|
|
198
|
+
site: site,
|
|
199
199
|
onChange: handleBasicFilterSelectionChange,
|
|
200
200
|
selections: filterSelections,
|
|
201
201
|
isJQLHydrating: basicFilterHydrationStatus === 'loading'
|
|
202
|
-
})), currentSearchMethod === 'jql' &&
|
|
202
|
+
})), currentSearchMethod === 'jql' && jsx(JiraJQLEditor, {
|
|
203
203
|
cloudId: cloudId || '',
|
|
204
204
|
isSearching: isSearching,
|
|
205
205
|
onChange: onQueryChange,
|
|
206
206
|
onSearch: handleSearch,
|
|
207
207
|
query: searchBarJql
|
|
208
|
-
}),
|
|
208
|
+
}), jsx(ModeSwitcher, {
|
|
209
209
|
onOptionValueChange: onSearchMethodChange,
|
|
210
210
|
selectedOptionValue: currentSearchMethod,
|
|
211
211
|
options: modeSwitcherOptions
|