@atlaskit/link-datasource 7.2.1 → 7.2.2
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 +9 -0
- package/dist/cjs/ui/datasource-table-view/datasourceTableView.js +4 -4
- package/dist/cjs/ui/issue-like-table/issue-like-data-table-view.js +14 -24
- package/dist/es2019/ui/datasource-table-view/datasourceTableView.js +4 -4
- package/dist/es2019/ui/issue-like-table/issue-like-data-table-view.js +14 -24
- package/dist/esm/ui/datasource-table-view/datasourceTableView.js +4 -4
- package/dist/esm/ui/issue-like-table/issue-like-data-table-view.js +14 -24
- package/package.json +3 -6
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,14 @@
|
|
|
1
1
|
# @atlaskit/link-datasource
|
|
2
2
|
|
|
3
|
+
## 7.2.2
|
|
4
|
+
|
|
5
|
+
### Patch Changes
|
|
6
|
+
|
|
7
|
+
- [`e2b29ef6280bc`](https://bitbucket.org/atlassian/atlassian-frontend-monorepo/commits/e2b29ef6280bc) -
|
|
8
|
+
Clean up feature gate `platform_lp_jira_sllv_renderer_column_sorting`. Read-only Jira list views
|
|
9
|
+
permanently support session-local column sorting without persisting the sort direction.
|
|
10
|
+
- Updated dependencies
|
|
11
|
+
|
|
3
12
|
## 7.2.1
|
|
4
13
|
|
|
5
14
|
### Patch Changes
|
|
@@ -69,8 +69,8 @@ var DatasourceTableViewWithoutAnalytics = function DatasourceTableViewWithoutAna
|
|
|
69
69
|
var columnSortGetter = (0, _datasourceColumnSort.getDatasourceColumnSortGetter)(datasourceId);
|
|
70
70
|
// Sorting is only owned by this view when parent callbacks are absent (read-only rendering mode).
|
|
71
71
|
var isReadOnlyDatasourceTable = !onVisibleColumnKeysChange && !onColumnResize && !onWrappedColumnChange;
|
|
72
|
-
// Keep sort UI hidden unless datasource
|
|
73
|
-
var shouldEnableColumnSort = !!columnSortGetter && isReadOnlyDatasourceTable
|
|
72
|
+
// Keep sort UI hidden unless the datasource supports sorting and the table is read-only.
|
|
73
|
+
var shouldEnableColumnSort = !!columnSortGetter && isReadOnlyDatasourceTable;
|
|
74
74
|
(0, _useDeepEffect.useDeepEffect)(function () {
|
|
75
75
|
// External parameter updates should always reset local sort/session state back to source-of-truth.
|
|
76
76
|
sessionBaseParametersRef.current = parameters;
|
|
@@ -80,7 +80,7 @@ var DatasourceTableViewWithoutAnalytics = function DatasourceTableViewWithoutAna
|
|
|
80
80
|
var isSessionBasedOnCurrentParameters = (0, _isEqual.default)(sessionBaseParametersRef.current, parameters);
|
|
81
81
|
// Use session parameters only when they are known to be based on the current external parameters.
|
|
82
82
|
// This avoids a one-render stale read during the deep-effect update cycle above.
|
|
83
|
-
var activeParameters = isSessionBasedOnCurrentParameters
|
|
83
|
+
var activeParameters = isSessionBasedOnCurrentParameters ? sessionParameters : parameters;
|
|
84
84
|
var _useDatasourceTableSt = (0, _useDatasourceTableState.useDatasourceTableState)({
|
|
85
85
|
datasourceId: datasourceId,
|
|
86
86
|
parameters: activeParameters,
|
|
@@ -243,7 +243,7 @@ var DatasourceTableViewWithoutAnalytics = function DatasourceTableViewWithoutAna
|
|
|
243
243
|
onVisibleColumnKeysChange: onVisibleColumnKeysChange,
|
|
244
244
|
columnCustomSizes: columnCustomSizes,
|
|
245
245
|
onColumnResize: onColumnResize
|
|
246
|
-
}, shouldEnableColumnSort
|
|
246
|
+
}, shouldEnableColumnSort ? {
|
|
247
247
|
onColumnSort: onColumnSort,
|
|
248
248
|
sortState: sortState
|
|
249
249
|
} : {}, {
|
|
@@ -527,16 +527,10 @@ var IssueLikeDataTableView = exports.IssueLikeDataTableView = function IssueLike
|
|
|
527
527
|
}
|
|
528
528
|
}, [tableRows.length]);
|
|
529
529
|
var rows = (0, _react.useMemo)(function () {
|
|
530
|
-
|
|
531
|
-
|
|
532
|
-
|
|
533
|
-
|
|
534
|
-
return tableRows;
|
|
535
|
-
}
|
|
536
|
-
} else {
|
|
537
|
-
if (status !== 'loading') {
|
|
538
|
-
return tableRows;
|
|
539
|
-
}
|
|
530
|
+
var hasPreviousRealRows = !!previousRealRowsCountRef.current;
|
|
531
|
+
var isLoadingState = status === 'loading' || status === 'empty' && hasPreviousRealRows;
|
|
532
|
+
if (!isLoadingState) {
|
|
533
|
+
return tableRows;
|
|
540
534
|
}
|
|
541
535
|
|
|
542
536
|
// if there are table rows, only add 1 loading row
|
|
@@ -547,14 +541,11 @@ var IssueLikeDataTableView = exports.IssueLikeDataTableView = function IssueLike
|
|
|
547
541
|
}
|
|
548
542
|
// if there are no table rows add 14 rows if it is compact (has scrollableContainerHeight or non-modal)
|
|
549
543
|
// add 10 rows if it is modal (no scrollableContainerHeight)
|
|
550
|
-
var
|
|
551
|
-
|
|
552
|
-
|
|
553
|
-
|
|
554
|
-
loadingRowsCount =
|
|
555
|
-
if (previousRealRowsCount && previousRealRowsCount < defaultLoadingRowsCount) {
|
|
556
|
-
loadingRowsCount = previousRealRowsCount;
|
|
557
|
-
}
|
|
544
|
+
var defaultLoadingRowsCount = scrollableContainerHeight ? 14 : 10;
|
|
545
|
+
var previousRealRowsCount = previousRealRowsCountRef.current;
|
|
546
|
+
var loadingRowsCount = defaultLoadingRowsCount;
|
|
547
|
+
if (previousRealRowsCount && previousRealRowsCount < defaultLoadingRowsCount) {
|
|
548
|
+
loadingRowsCount = previousRealRowsCount;
|
|
558
549
|
}
|
|
559
550
|
return (0, _toConsumableArray2.default)(Array(loadingRowsCount)).map(function (_, index) {
|
|
560
551
|
return _objectSpread(_objectSpread({}, loadingRow), {}, {
|
|
@@ -709,18 +700,17 @@ var IssueLikeDataTableView = exports.IssueLikeDataTableView = function IssueLike
|
|
|
709
700
|
onIsWrappedChange: onWrappedColumnChange === null || onWrappedColumnChange === void 0 ? void 0 : onWrappedColumnChange.bind(null, key)
|
|
710
701
|
}, heading);
|
|
711
702
|
} else {
|
|
712
|
-
return /*#__PURE__*/React.createElement(TableHeading,
|
|
703
|
+
return /*#__PURE__*/React.createElement(TableHeading, {
|
|
713
704
|
key: key,
|
|
714
|
-
"data-testid": "".concat(key, "-column-heading")
|
|
715
|
-
|
|
716
|
-
'aria-sort': (sortState === null || sortState === void 0 ? void 0 : sortState.key) === key && sortState.direction === 'ASC' ? 'ascending' : (sortState === null || sortState === void 0 ? void 0 : sortState.key) === key && sortState.direction === 'DESC' ? 'descending' : undefined
|
|
717
|
-
} : {}, {
|
|
705
|
+
"data-testid": "".concat(key, "-column-heading"),
|
|
706
|
+
"aria-sort": (sortState === null || sortState === void 0 ? void 0 : sortState.key) === key && sortState.direction === 'ASC' ? 'ascending' : (sortState === null || sortState === void 0 ? void 0 : sortState.key) === key && sortState.direction === 'DESC' ? 'descending' : undefined
|
|
718
707
|
// eslint-disable-next-line @atlaskit/ui-styling-standard/enforce-style-prop, @atlaskit/ui-styling-standard/no-imported-style-values -- Ignored via go/DSP-18766
|
|
708
|
+
,
|
|
719
709
|
style: (0, _getWidthCss.getWidthCss)({
|
|
720
710
|
shouldUseWidth: shouldUseWidth,
|
|
721
711
|
width: width
|
|
722
712
|
})
|
|
723
|
-
}
|
|
713
|
+
}, heading);
|
|
724
714
|
}
|
|
725
715
|
}), onVisibleColumnKeysChange && (shouldShowTableSettingsMenu ? /*#__PURE__*/React.createElement(ColumnPickerHeaderWithSettings, null, /*#__PURE__*/React.createElement(_compiled.Inline, {
|
|
726
716
|
alignBlock: "center",
|
|
@@ -53,8 +53,8 @@ const DatasourceTableViewWithoutAnalytics = ({
|
|
|
53
53
|
const columnSortGetter = getDatasourceColumnSortGetter(datasourceId);
|
|
54
54
|
// Sorting is only owned by this view when parent callbacks are absent (read-only rendering mode).
|
|
55
55
|
const isReadOnlyDatasourceTable = !onVisibleColumnKeysChange && !onColumnResize && !onWrappedColumnChange;
|
|
56
|
-
// Keep sort UI hidden unless datasource
|
|
57
|
-
const shouldEnableColumnSort = !!columnSortGetter && isReadOnlyDatasourceTable
|
|
56
|
+
// Keep sort UI hidden unless the datasource supports sorting and the table is read-only.
|
|
57
|
+
const shouldEnableColumnSort = !!columnSortGetter && isReadOnlyDatasourceTable;
|
|
58
58
|
useDeepEffect(() => {
|
|
59
59
|
// External parameter updates should always reset local sort/session state back to source-of-truth.
|
|
60
60
|
sessionBaseParametersRef.current = parameters;
|
|
@@ -64,7 +64,7 @@ const DatasourceTableViewWithoutAnalytics = ({
|
|
|
64
64
|
const isSessionBasedOnCurrentParameters = isEqual(sessionBaseParametersRef.current, parameters);
|
|
65
65
|
// Use session parameters only when they are known to be based on the current external parameters.
|
|
66
66
|
// This avoids a one-render stale read during the deep-effect update cycle above.
|
|
67
|
-
const activeParameters = isSessionBasedOnCurrentParameters
|
|
67
|
+
const activeParameters = isSessionBasedOnCurrentParameters ? sessionParameters : parameters;
|
|
68
68
|
const {
|
|
69
69
|
reset,
|
|
70
70
|
status,
|
|
@@ -228,7 +228,7 @@ const DatasourceTableViewWithoutAnalytics = ({
|
|
|
228
228
|
onVisibleColumnKeysChange: onVisibleColumnKeysChange,
|
|
229
229
|
columnCustomSizes: columnCustomSizes,
|
|
230
230
|
onColumnResize: onColumnResize
|
|
231
|
-
}, shouldEnableColumnSort
|
|
231
|
+
}, shouldEnableColumnSort ? {
|
|
232
232
|
onColumnSort,
|
|
233
233
|
sortState
|
|
234
234
|
} : {}, {
|
|
@@ -469,16 +469,10 @@ export const IssueLikeDataTableView = ({
|
|
|
469
469
|
}
|
|
470
470
|
}, [tableRows.length]);
|
|
471
471
|
const rows = useMemo(() => {
|
|
472
|
-
|
|
473
|
-
|
|
474
|
-
|
|
475
|
-
|
|
476
|
-
return tableRows;
|
|
477
|
-
}
|
|
478
|
-
} else {
|
|
479
|
-
if (status !== 'loading') {
|
|
480
|
-
return tableRows;
|
|
481
|
-
}
|
|
472
|
+
const hasPreviousRealRows = !!previousRealRowsCountRef.current;
|
|
473
|
+
const isLoadingState = status === 'loading' || status === 'empty' && hasPreviousRealRows;
|
|
474
|
+
if (!isLoadingState) {
|
|
475
|
+
return tableRows;
|
|
482
476
|
}
|
|
483
477
|
|
|
484
478
|
// if there are table rows, only add 1 loading row
|
|
@@ -490,14 +484,11 @@ export const IssueLikeDataTableView = ({
|
|
|
490
484
|
}
|
|
491
485
|
// if there are no table rows add 14 rows if it is compact (has scrollableContainerHeight or non-modal)
|
|
492
486
|
// add 10 rows if it is modal (no scrollableContainerHeight)
|
|
493
|
-
|
|
494
|
-
|
|
495
|
-
|
|
496
|
-
|
|
497
|
-
loadingRowsCount =
|
|
498
|
-
if (previousRealRowsCount && previousRealRowsCount < defaultLoadingRowsCount) {
|
|
499
|
-
loadingRowsCount = previousRealRowsCount;
|
|
500
|
-
}
|
|
487
|
+
const defaultLoadingRowsCount = scrollableContainerHeight ? 14 : 10;
|
|
488
|
+
const previousRealRowsCount = previousRealRowsCountRef.current;
|
|
489
|
+
let loadingRowsCount = defaultLoadingRowsCount;
|
|
490
|
+
if (previousRealRowsCount && previousRealRowsCount < defaultLoadingRowsCount) {
|
|
491
|
+
loadingRowsCount = previousRealRowsCount;
|
|
501
492
|
}
|
|
502
493
|
return [...Array(loadingRowsCount)].map((_, index) => ({
|
|
503
494
|
...loadingRow,
|
|
@@ -631,18 +622,17 @@ export const IssueLikeDataTableView = ({
|
|
|
631
622
|
onIsWrappedChange: onWrappedColumnChange === null || onWrappedColumnChange === void 0 ? void 0 : onWrappedColumnChange.bind(null, key)
|
|
632
623
|
}, heading);
|
|
633
624
|
} else {
|
|
634
|
-
return /*#__PURE__*/React.createElement(TableHeading,
|
|
625
|
+
return /*#__PURE__*/React.createElement(TableHeading, {
|
|
635
626
|
key: key,
|
|
636
|
-
"data-testid": `${key}-column-heading
|
|
637
|
-
|
|
638
|
-
'aria-sort': (sortState === null || sortState === void 0 ? void 0 : sortState.key) === key && sortState.direction === 'ASC' ? 'ascending' : (sortState === null || sortState === void 0 ? void 0 : sortState.key) === key && sortState.direction === 'DESC' ? 'descending' : undefined
|
|
639
|
-
} : {}, {
|
|
627
|
+
"data-testid": `${key}-column-heading`,
|
|
628
|
+
"aria-sort": (sortState === null || sortState === void 0 ? void 0 : sortState.key) === key && sortState.direction === 'ASC' ? 'ascending' : (sortState === null || sortState === void 0 ? void 0 : sortState.key) === key && sortState.direction === 'DESC' ? 'descending' : undefined
|
|
640
629
|
// eslint-disable-next-line @atlaskit/ui-styling-standard/enforce-style-prop, @atlaskit/ui-styling-standard/no-imported-style-values -- Ignored via go/DSP-18766
|
|
630
|
+
,
|
|
641
631
|
style: getWidthCss({
|
|
642
632
|
shouldUseWidth,
|
|
643
633
|
width
|
|
644
634
|
})
|
|
645
|
-
}
|
|
635
|
+
}, heading);
|
|
646
636
|
}
|
|
647
637
|
}), onVisibleColumnKeysChange && (shouldShowTableSettingsMenu ? /*#__PURE__*/React.createElement(ColumnPickerHeaderWithSettings, null, /*#__PURE__*/React.createElement(Inline, {
|
|
648
638
|
alignBlock: "center",
|
|
@@ -60,8 +60,8 @@ var DatasourceTableViewWithoutAnalytics = function DatasourceTableViewWithoutAna
|
|
|
60
60
|
var columnSortGetter = getDatasourceColumnSortGetter(datasourceId);
|
|
61
61
|
// Sorting is only owned by this view when parent callbacks are absent (read-only rendering mode).
|
|
62
62
|
var isReadOnlyDatasourceTable = !onVisibleColumnKeysChange && !onColumnResize && !onWrappedColumnChange;
|
|
63
|
-
// Keep sort UI hidden unless datasource
|
|
64
|
-
var shouldEnableColumnSort = !!columnSortGetter && isReadOnlyDatasourceTable
|
|
63
|
+
// Keep sort UI hidden unless the datasource supports sorting and the table is read-only.
|
|
64
|
+
var shouldEnableColumnSort = !!columnSortGetter && isReadOnlyDatasourceTable;
|
|
65
65
|
useDeepEffect(function () {
|
|
66
66
|
// External parameter updates should always reset local sort/session state back to source-of-truth.
|
|
67
67
|
sessionBaseParametersRef.current = parameters;
|
|
@@ -71,7 +71,7 @@ var DatasourceTableViewWithoutAnalytics = function DatasourceTableViewWithoutAna
|
|
|
71
71
|
var isSessionBasedOnCurrentParameters = isEqual(sessionBaseParametersRef.current, parameters);
|
|
72
72
|
// Use session parameters only when they are known to be based on the current external parameters.
|
|
73
73
|
// This avoids a one-render stale read during the deep-effect update cycle above.
|
|
74
|
-
var activeParameters = isSessionBasedOnCurrentParameters
|
|
74
|
+
var activeParameters = isSessionBasedOnCurrentParameters ? sessionParameters : parameters;
|
|
75
75
|
var _useDatasourceTableSt = useDatasourceTableState({
|
|
76
76
|
datasourceId: datasourceId,
|
|
77
77
|
parameters: activeParameters,
|
|
@@ -234,7 +234,7 @@ var DatasourceTableViewWithoutAnalytics = function DatasourceTableViewWithoutAna
|
|
|
234
234
|
onVisibleColumnKeysChange: onVisibleColumnKeysChange,
|
|
235
235
|
columnCustomSizes: columnCustomSizes,
|
|
236
236
|
onColumnResize: onColumnResize
|
|
237
|
-
}, shouldEnableColumnSort
|
|
237
|
+
}, shouldEnableColumnSort ? {
|
|
238
238
|
onColumnSort: onColumnSort,
|
|
239
239
|
sortState: sortState
|
|
240
240
|
} : {}, {
|
|
@@ -520,16 +520,10 @@ export var IssueLikeDataTableView = function IssueLikeDataTableView(_ref7) {
|
|
|
520
520
|
}
|
|
521
521
|
}, [tableRows.length]);
|
|
522
522
|
var rows = useMemo(function () {
|
|
523
|
-
|
|
524
|
-
|
|
525
|
-
|
|
526
|
-
|
|
527
|
-
return tableRows;
|
|
528
|
-
}
|
|
529
|
-
} else {
|
|
530
|
-
if (status !== 'loading') {
|
|
531
|
-
return tableRows;
|
|
532
|
-
}
|
|
523
|
+
var hasPreviousRealRows = !!previousRealRowsCountRef.current;
|
|
524
|
+
var isLoadingState = status === 'loading' || status === 'empty' && hasPreviousRealRows;
|
|
525
|
+
if (!isLoadingState) {
|
|
526
|
+
return tableRows;
|
|
533
527
|
}
|
|
534
528
|
|
|
535
529
|
// if there are table rows, only add 1 loading row
|
|
@@ -540,14 +534,11 @@ export var IssueLikeDataTableView = function IssueLikeDataTableView(_ref7) {
|
|
|
540
534
|
}
|
|
541
535
|
// if there are no table rows add 14 rows if it is compact (has scrollableContainerHeight or non-modal)
|
|
542
536
|
// add 10 rows if it is modal (no scrollableContainerHeight)
|
|
543
|
-
var
|
|
544
|
-
|
|
545
|
-
|
|
546
|
-
|
|
547
|
-
loadingRowsCount =
|
|
548
|
-
if (previousRealRowsCount && previousRealRowsCount < defaultLoadingRowsCount) {
|
|
549
|
-
loadingRowsCount = previousRealRowsCount;
|
|
550
|
-
}
|
|
537
|
+
var defaultLoadingRowsCount = scrollableContainerHeight ? 14 : 10;
|
|
538
|
+
var previousRealRowsCount = previousRealRowsCountRef.current;
|
|
539
|
+
var loadingRowsCount = defaultLoadingRowsCount;
|
|
540
|
+
if (previousRealRowsCount && previousRealRowsCount < defaultLoadingRowsCount) {
|
|
541
|
+
loadingRowsCount = previousRealRowsCount;
|
|
551
542
|
}
|
|
552
543
|
return _toConsumableArray(Array(loadingRowsCount)).map(function (_, index) {
|
|
553
544
|
return _objectSpread(_objectSpread({}, loadingRow), {}, {
|
|
@@ -702,18 +693,17 @@ export var IssueLikeDataTableView = function IssueLikeDataTableView(_ref7) {
|
|
|
702
693
|
onIsWrappedChange: onWrappedColumnChange === null || onWrappedColumnChange === void 0 ? void 0 : onWrappedColumnChange.bind(null, key)
|
|
703
694
|
}, heading);
|
|
704
695
|
} else {
|
|
705
|
-
return /*#__PURE__*/React.createElement(TableHeading,
|
|
696
|
+
return /*#__PURE__*/React.createElement(TableHeading, {
|
|
706
697
|
key: key,
|
|
707
|
-
"data-testid": "".concat(key, "-column-heading")
|
|
708
|
-
|
|
709
|
-
'aria-sort': (sortState === null || sortState === void 0 ? void 0 : sortState.key) === key && sortState.direction === 'ASC' ? 'ascending' : (sortState === null || sortState === void 0 ? void 0 : sortState.key) === key && sortState.direction === 'DESC' ? 'descending' : undefined
|
|
710
|
-
} : {}, {
|
|
698
|
+
"data-testid": "".concat(key, "-column-heading"),
|
|
699
|
+
"aria-sort": (sortState === null || sortState === void 0 ? void 0 : sortState.key) === key && sortState.direction === 'ASC' ? 'ascending' : (sortState === null || sortState === void 0 ? void 0 : sortState.key) === key && sortState.direction === 'DESC' ? 'descending' : undefined
|
|
711
700
|
// eslint-disable-next-line @atlaskit/ui-styling-standard/enforce-style-prop, @atlaskit/ui-styling-standard/no-imported-style-values -- Ignored via go/DSP-18766
|
|
701
|
+
,
|
|
712
702
|
style: getWidthCss({
|
|
713
703
|
shouldUseWidth: shouldUseWidth,
|
|
714
704
|
width: width
|
|
715
705
|
})
|
|
716
|
-
}
|
|
706
|
+
}, heading);
|
|
717
707
|
}
|
|
718
708
|
}), onVisibleColumnKeysChange && (shouldShowTableSettingsMenu ? /*#__PURE__*/React.createElement(ColumnPickerHeaderWithSettings, null, /*#__PURE__*/React.createElement(Inline, {
|
|
719
709
|
alignBlock: "center",
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@atlaskit/link-datasource",
|
|
3
|
-
"version": "7.2.
|
|
3
|
+
"version": "7.2.2",
|
|
4
4
|
"description": "UI Components to support linking platform dataset feature",
|
|
5
5
|
"author": "Atlassian Pty Ltd",
|
|
6
6
|
"license": "Apache-2.0",
|
|
@@ -93,10 +93,10 @@
|
|
|
93
93
|
"@atlaskit/textfield": "^10.2.0",
|
|
94
94
|
"@atlaskit/theme": "^28.2.0",
|
|
95
95
|
"@atlaskit/toggle": "^17.3.0",
|
|
96
|
-
"@atlaskit/tokens": "^20.
|
|
96
|
+
"@atlaskit/tokens": "^20.3.0",
|
|
97
97
|
"@atlaskit/tooltip": "^24.4.0",
|
|
98
98
|
"@atlaskit/ufo": "^2.0.0",
|
|
99
|
-
"@atlaskit/user-picker": "^14.
|
|
99
|
+
"@atlaskit/user-picker": "^14.1.0",
|
|
100
100
|
"@atlaskit/visually-hidden": "^4.4.0",
|
|
101
101
|
"@atlaskit/width-detector": "^7.2.0",
|
|
102
102
|
"@babel/runtime": "^7.0.0",
|
|
@@ -161,9 +161,6 @@
|
|
|
161
161
|
"lp_enable_datasource-table-view_height_override": {
|
|
162
162
|
"type": "boolean"
|
|
163
163
|
},
|
|
164
|
-
"platform_lp_jira_sllv_renderer_column_sorting": {
|
|
165
|
-
"type": "boolean"
|
|
166
|
-
},
|
|
167
164
|
"cc-units-ga": {
|
|
168
165
|
"type": "boolean",
|
|
169
166
|
"referenceOnly": true
|