@abgov/jsonforms-components 2.42.4 → 2.43.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/index.esm.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import * as runtime from 'react/jsx-runtime';
|
|
2
2
|
import { jsx, Fragment, jsxs } from 'react/jsx-runtime';
|
|
3
|
-
import React, { createContext, useContext, useReducer, useMemo, useEffect, useCallback, useState, useRef } from 'react';
|
|
3
|
+
import React, { createContext, useContext, useReducer, useMemo, useEffect, useCallback, useState, useRef, useLayoutEffect } from 'react';
|
|
4
4
|
import { GoabFormItem, GoabInput, GoabTextArea, GoabCallout, GoabRadioGroup, GoabRadioItem, GoabCheckbox, GoabIcon, GoabGrid, GoabFormStepper, GoabFormStep, GoabPages, GoabButton, GoabModal, GoabButtonGroup, GoabBadge, GoabText, GoabTable, GoabIconButton, GoabFileUploadInput, GoabCircularProgress, GoabContainer, GoabDropdown, GoabDropdownItem, GoabDetails, GoabSpinner } from '@abgov/react-components';
|
|
5
5
|
import styled from 'styled-components';
|
|
6
6
|
import axios from 'axios';
|
|
@@ -8172,7 +8172,7 @@ let _$6 = t => t,
|
|
|
8172
8172
|
_t23$1,
|
|
8173
8173
|
_t24$1,
|
|
8174
8174
|
_t25$1,
|
|
8175
|
-
_t26,
|
|
8175
|
+
_t26$1,
|
|
8176
8176
|
_t27,
|
|
8177
8177
|
_t28;
|
|
8178
8178
|
const ReviewItem = styled.div(_t$6 || (_t$6 = _$6`
|
|
@@ -8358,7 +8358,7 @@ const PageStepperRow = styled.tr(_t25$1 || (_t25$1 = _$6`
|
|
|
8358
8358
|
outline: 3px solid var(--goa-color-interactive-focus);
|
|
8359
8359
|
}
|
|
8360
8360
|
`);
|
|
8361
|
-
const SectionHeaderRowTr = styled.tr(_t26 || (_t26 = _$6`
|
|
8361
|
+
const SectionHeaderRowTr = styled.tr(_t26$1 || (_t26$1 = _$6`
|
|
8362
8362
|
& > td {
|
|
8363
8363
|
border: 0 !important;
|
|
8364
8364
|
padding-top: var(--goa-space-l);
|
|
@@ -9361,6 +9361,7 @@ const RenderPages = props => {
|
|
|
9361
9361
|
const saveFormFunction = enumerators === null || enumerators === void 0 ? void 0 : enumerators.saveFunction.get('save-form');
|
|
9362
9362
|
const saveForm = saveFormFunction && saveFormFunction();
|
|
9363
9363
|
const [isOpen, setIsOpen] = useState(false);
|
|
9364
|
+
const topElementRef = useRef(null);
|
|
9364
9365
|
const handleSubmit = () => {
|
|
9365
9366
|
if (submitForm) {
|
|
9366
9367
|
submitForm(data);
|
|
@@ -9378,6 +9379,7 @@ const RenderPages = props => {
|
|
|
9378
9379
|
};
|
|
9379
9380
|
return jsxs("div", {
|
|
9380
9381
|
"data-testid": "form-stepper-test-wrapper",
|
|
9382
|
+
ref: topElementRef,
|
|
9381
9383
|
children: [jsx(Visible, {
|
|
9382
9384
|
visible: visible,
|
|
9383
9385
|
children: jsx("div", {
|
|
@@ -9429,6 +9431,9 @@ const RenderPages = props => {
|
|
|
9429
9431
|
prevId = prevId - 1;
|
|
9430
9432
|
}
|
|
9431
9433
|
if (prevId >= 0) {
|
|
9434
|
+
if (topElementRef.current) {
|
|
9435
|
+
topElementRef.current.scrollIntoView();
|
|
9436
|
+
}
|
|
9432
9437
|
goToPage(prevId);
|
|
9433
9438
|
}
|
|
9434
9439
|
},
|
|
@@ -9446,6 +9451,9 @@ const RenderPages = props => {
|
|
|
9446
9451
|
nextId = nextId + 1;
|
|
9447
9452
|
}
|
|
9448
9453
|
if (!(currentStep === totalSteps && hideSummary)) {
|
|
9454
|
+
if (topElementRef.current) {
|
|
9455
|
+
topElementRef.current.scrollIntoView();
|
|
9456
|
+
}
|
|
9449
9457
|
goToPage(nextId);
|
|
9450
9458
|
}
|
|
9451
9459
|
},
|
|
@@ -10106,7 +10114,8 @@ let _$3 = t => t,
|
|
|
10106
10114
|
_t22,
|
|
10107
10115
|
_t23,
|
|
10108
10116
|
_t24,
|
|
10109
|
-
_t25
|
|
10117
|
+
_t25,
|
|
10118
|
+
_t26;
|
|
10110
10119
|
const DeleteDialogContent = styled.div(_t$3 || (_t$3 = _$3`
|
|
10111
10120
|
margin-bottom: var(--goa-space-m);
|
|
10112
10121
|
`));
|
|
@@ -10144,7 +10153,8 @@ const SideMenuItem = styled.div(_t8 || (_t8 = _$3`
|
|
|
10144
10153
|
`));
|
|
10145
10154
|
const RowFlex = styled.div(_t9 || (_t9 = _$3`
|
|
10146
10155
|
display: flex;
|
|
10147
|
-
|
|
10156
|
+
|
|
10157
|
+
align-items: flex-start;
|
|
10148
10158
|
`));
|
|
10149
10159
|
const RowFlexMenu = styled.div(_t0 || (_t0 = _$3`
|
|
10150
10160
|
display: flex;
|
|
@@ -10157,65 +10167,76 @@ const FlexTabs = styled.div(_t1 || (_t1 = _$3`
|
|
|
10157
10167
|
flex: 1;
|
|
10158
10168
|
overflow-y: auto !important;
|
|
10159
10169
|
`));
|
|
10160
|
-
const
|
|
10170
|
+
const FlexTabsWithMargin = styled.div(_t10 || (_t10 = _$3`
|
|
10171
|
+
flex-direction: column;
|
|
10172
|
+
flex: 1;
|
|
10173
|
+
overflow-y: auto !important;
|
|
10174
|
+
margin-right: 1.5rem;
|
|
10175
|
+
|
|
10176
|
+
flex-shrink: 1;
|
|
10177
|
+
// max-height: 500px;
|
|
10178
|
+
`));
|
|
10179
|
+
const FlexForm = styled.div(_t11 || (_t11 = _$3`
|
|
10161
10180
|
flex-direction: column;
|
|
10162
10181
|
flex: 3;
|
|
10182
|
+
flex-shrink: 0;
|
|
10183
|
+
overflow-y: auto;
|
|
10163
10184
|
`));
|
|
10164
|
-
const TabName = styled.div(
|
|
10185
|
+
const TabName = styled.div(_t12 || (_t12 = _$3`
|
|
10165
10186
|
margin: 1rem 0 1rem 1rem;
|
|
10166
10187
|
font-weight: 400;
|
|
10167
10188
|
white-space: nowrap;
|
|
10168
10189
|
overflow: hidden;
|
|
10169
10190
|
text-overflow: ellipsis;
|
|
10170
10191
|
`));
|
|
10171
|
-
const Trash = styled.div(
|
|
10192
|
+
const Trash = styled.div(_t13 || (_t13 = _$3`
|
|
10172
10193
|
margin: 0.9rem 0.4rem 0.6rem 0.75rem;
|
|
10173
10194
|
margin-left: auto;
|
|
10174
10195
|
`));
|
|
10175
|
-
const ListContainer = styled.div(
|
|
10196
|
+
const ListContainer = styled.div(_t14 || (_t14 = _$3`
|
|
10176
10197
|
padding: 0 0 0 0;
|
|
10177
10198
|
`));
|
|
10178
|
-
styled.div(
|
|
10199
|
+
styled.div(_t15 || (_t15 = _$3`
|
|
10179
10200
|
padding: 0 0 var(--goa-space-l) 0;
|
|
10180
10201
|
`));
|
|
10181
|
-
const IconPadding = styled.div(
|
|
10202
|
+
const IconPadding = styled.div(_t16 || (_t16 = _$3`
|
|
10182
10203
|
padding: 0.9rem 0.5rem 0 0;
|
|
10183
10204
|
`));
|
|
10184
|
-
const UpdateListContainer = styled.div(
|
|
10205
|
+
const UpdateListContainer = styled.div(_t17 || (_t17 = _$3`
|
|
10185
10206
|
width: 100%;
|
|
10186
10207
|
border: 1px solid #dcdcdc;
|
|
10187
10208
|
padding: var(--goa-space-xl);
|
|
10188
10209
|
`));
|
|
10189
|
-
styled.div(
|
|
10210
|
+
styled.div(_t18 || (_t18 = _$3`
|
|
10190
10211
|
padding: 0 1.5rem 0 0;
|
|
10191
10212
|
border: 1px solid #dcdcdc;
|
|
10192
10213
|
`));
|
|
10193
|
-
const TableTHHeader = styled.th(
|
|
10214
|
+
const TableTHHeader = styled.th(_t19 || (_t19 = _$3`
|
|
10194
10215
|
background-color: var(--goa-color-greyscale-100) !important;
|
|
10195
10216
|
vertical-align: top;
|
|
10196
10217
|
`));
|
|
10197
|
-
const ObjectArrayWarningIconDiv = styled.div(
|
|
10218
|
+
const ObjectArrayWarningIconDiv = styled.div(_t20 || (_t20 = _$3`
|
|
10198
10219
|
display: inline-flex;
|
|
10199
10220
|
align-items: flex-start;
|
|
10200
10221
|
gap: 0.25rem;
|
|
10201
10222
|
font-size: var(--goa-font-size-2);
|
|
10202
10223
|
color: var(--goa-color-interactive-error);
|
|
10203
10224
|
`));
|
|
10204
|
-
const ListWithDetailWarningIconDiv = styled.div(
|
|
10225
|
+
const ListWithDetailWarningIconDiv = styled.div(_t21 || (_t21 = _$3`
|
|
10205
10226
|
display: inline-flex;
|
|
10206
10227
|
align-items: flex-start;
|
|
10207
10228
|
gap: 0.25rem;
|
|
10208
10229
|
font-size: var(--goa-font-size-3);
|
|
10209
10230
|
color: var(--goa-color-interactive-error);
|
|
10210
10231
|
`));
|
|
10211
|
-
styled.label(
|
|
10232
|
+
styled.label(_t22 || (_t22 = _$3`
|
|
10212
10233
|
color: var(--goa-color-interactive-error);
|
|
10213
10234
|
font-weight: var(--goa-font-weight-regular);
|
|
10214
10235
|
font-size: var(--goa-font-size-3);
|
|
10215
10236
|
line-height: var(--goa-line-height-1);
|
|
10216
10237
|
font-style: normal;
|
|
10217
10238
|
`));
|
|
10218
|
-
styled.div(
|
|
10239
|
+
styled.div(_t23 || (_t23 = _$3`
|
|
10219
10240
|
margin-top: var(--goa-space-m);
|
|
10220
10241
|
color: var(--goa-color-interactive-error);
|
|
10221
10242
|
font-weight: var(--goa-font-weight-regular);
|
|
@@ -10223,10 +10244,10 @@ styled.div(_t22 || (_t22 = _$3`
|
|
|
10223
10244
|
line-height: var(--goa-line-height-1);
|
|
10224
10245
|
font-style: normal;
|
|
10225
10246
|
`));
|
|
10226
|
-
const HilightCellWarning = styled.div(
|
|
10247
|
+
const HilightCellWarning = styled.div(_t24 || (_t24 = _$3`
|
|
10227
10248
|
background-color: var(--goa-color-warning-default);
|
|
10228
10249
|
`));
|
|
10229
|
-
const FixTableHeaderAlignment = styled.div(
|
|
10250
|
+
const FixTableHeaderAlignment = styled.div(_t25 || (_t25 = _$3`
|
|
10230
10251
|
table thead th:nth-child(3) {
|
|
10231
10252
|
text-align: center;
|
|
10232
10253
|
}
|
|
@@ -10235,7 +10256,7 @@ const FixTableHeaderAlignment = styled.div(_t24 || (_t24 = _$3`
|
|
|
10235
10256
|
text-align: center;
|
|
10236
10257
|
}
|
|
10237
10258
|
`));
|
|
10238
|
-
const ListWithDetailsReviewCellDiv = styled.div(
|
|
10259
|
+
const ListWithDetailsReviewCellDiv = styled.div(_t26 || (_t26 = _$3`
|
|
10239
10260
|
display: 'flex';
|
|
10240
10261
|
flex-direction: 'column';
|
|
10241
10262
|
text-align: 'start';
|
|
@@ -11528,6 +11549,53 @@ function humanizeAjvError(error, schema, uischema) {
|
|
|
11528
11549
|
return `${label} ${(_a = error.message) !== null && _a !== void 0 ? _a : ''}`.trim();
|
|
11529
11550
|
}
|
|
11530
11551
|
}
|
|
11552
|
+
const LeftTab = ({
|
|
11553
|
+
childPath,
|
|
11554
|
+
rowIndex,
|
|
11555
|
+
openDeleteDialog,
|
|
11556
|
+
selectCurrentTab,
|
|
11557
|
+
enabled,
|
|
11558
|
+
currentTab,
|
|
11559
|
+
name,
|
|
11560
|
+
current
|
|
11561
|
+
}) => {
|
|
11562
|
+
return jsx("div", {
|
|
11563
|
+
children: jsx(SideMenuItem, {
|
|
11564
|
+
style: currentTab === rowIndex ? {
|
|
11565
|
+
background: '#EFF8FF'
|
|
11566
|
+
} : {},
|
|
11567
|
+
onClick: () => selectCurrentTab(rowIndex),
|
|
11568
|
+
onKeyDown: e => {
|
|
11569
|
+
if (e.key === 'ArrowRight') {
|
|
11570
|
+
e.preventDefault();
|
|
11571
|
+
if (current) {
|
|
11572
|
+
const goa = current === null || current === void 0 ? void 0 : current.querySelector('goa-input, goa-button');
|
|
11573
|
+
if (goa === null || goa === void 0 ? void 0 : goa.shadowRoot) {
|
|
11574
|
+
const internal = goa.shadowRoot.querySelector('input, button');
|
|
11575
|
+
internal === null || internal === void 0 ? void 0 : internal.focus();
|
|
11576
|
+
selectCurrentTab(rowIndex);
|
|
11577
|
+
}
|
|
11578
|
+
}
|
|
11579
|
+
}
|
|
11580
|
+
},
|
|
11581
|
+
children: jsxs(RowFlexMenu, {
|
|
11582
|
+
tabIndex: 0,
|
|
11583
|
+
children: [jsx(TabName, {
|
|
11584
|
+
children: name
|
|
11585
|
+
}), enabled ? jsx(Trash, {
|
|
11586
|
+
role: "trash button",
|
|
11587
|
+
children: jsx(GoabIconButton, {
|
|
11588
|
+
disabled: !enabled,
|
|
11589
|
+
icon: "trash",
|
|
11590
|
+
title: 'trash button',
|
|
11591
|
+
testId: "remove the details",
|
|
11592
|
+
onClick: () => openDeleteDialog(childPath, rowIndex, name)
|
|
11593
|
+
})
|
|
11594
|
+
}) : null]
|
|
11595
|
+
})
|
|
11596
|
+
})
|
|
11597
|
+
}, childPath);
|
|
11598
|
+
};
|
|
11531
11599
|
const MainTab = ({
|
|
11532
11600
|
childPath,
|
|
11533
11601
|
rowIndex,
|
|
@@ -11607,26 +11675,21 @@ const ObjectArrayList = ({
|
|
|
11607
11675
|
listTitle,
|
|
11608
11676
|
errors
|
|
11609
11677
|
}) => {
|
|
11610
|
-
var _a, _b, _c, _d;
|
|
11678
|
+
var _a, _b, _c, _d, _e, _f;
|
|
11611
11679
|
const isEmptyList = data === 0;
|
|
11612
|
-
const rightRef = useRef(null);
|
|
11613
|
-
const current = rightRef.current;
|
|
11614
11680
|
const minHeight = 100;
|
|
11615
|
-
const
|
|
11616
|
-
|
|
11617
|
-
|
|
11618
|
-
|
|
11619
|
-
|
|
11620
|
-
|
|
11621
|
-
|
|
11681
|
+
const totalContentRef = useRef(null);
|
|
11682
|
+
const leftRef = useRef(null);
|
|
11683
|
+
const rightRef = useRef(null);
|
|
11684
|
+
const current = totalContentRef.current;
|
|
11685
|
+
useLayoutEffect(() => {
|
|
11686
|
+
var _a;
|
|
11687
|
+
if (!leftRef.current || !rightRef.current) return;
|
|
11688
|
+
const height = (_a = rightRef.current) === null || _a === void 0 ? void 0 : _a.scrollHeight;
|
|
11689
|
+
if (height && height > minHeight) {
|
|
11690
|
+
leftRef.current.style.height = `${height}px`;
|
|
11622
11691
|
}
|
|
11623
|
-
|
|
11624
|
-
if (current) {
|
|
11625
|
-
resizeObserver.unobserve(current);
|
|
11626
|
-
}
|
|
11627
|
-
};
|
|
11628
|
-
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
11629
|
-
}, [current, rightHeight, rightRef]);
|
|
11692
|
+
}, [setCurrentListPage]);
|
|
11630
11693
|
if (isEmptyList) {
|
|
11631
11694
|
const noDataMessge = (_b = (_a = uischema.options) === null || _a === void 0 ? void 0 : _a.noDataMessage) !== null && _b !== void 0 ? _b : 'No data';
|
|
11632
11695
|
return jsx(EmptyList, {
|
|
@@ -11640,34 +11703,34 @@ const ObjectArrayList = ({
|
|
|
11640
11703
|
setCurrentIndex(index);
|
|
11641
11704
|
};
|
|
11642
11705
|
const continueButtonTitle = (_d = (_c = uischema === null || uischema === void 0 ? void 0 : uischema.options) === null || _c === void 0 ? void 0 : _c.componentProps) === null || _d === void 0 ? void 0 : _d.listWithDetailsContinueButtonTitle;
|
|
11706
|
+
const withLeftTab = (_f = (_e = uischema === null || uischema === void 0 ? void 0 : uischema.options) === null || _e === void 0 ? void 0 : _e.componentProps) === null || _f === void 0 ? void 0 : _f.withLeftTab;
|
|
11643
11707
|
return jsx(ListContainer, {
|
|
11644
|
-
children:
|
|
11645
|
-
children:
|
|
11646
|
-
|
|
11647
|
-
|
|
11648
|
-
|
|
11649
|
-
|
|
11650
|
-
|
|
11651
|
-
|
|
11652
|
-
|
|
11653
|
-
|
|
11654
|
-
|
|
11655
|
-
|
|
11656
|
-
|
|
11657
|
-
|
|
11658
|
-
|
|
11659
|
-
|
|
11660
|
-
|
|
11661
|
-
|
|
11662
|
-
|
|
11663
|
-
|
|
11664
|
-
|
|
11665
|
-
|
|
11666
|
-
|
|
11708
|
+
children: jsx("div", {
|
|
11709
|
+
children: withLeftTab ? jsxs(RowFlex, {
|
|
11710
|
+
ref: totalContentRef,
|
|
11711
|
+
children: [jsx(FlexTabsWithMargin, {
|
|
11712
|
+
ref: leftRef,
|
|
11713
|
+
children: jsx("div", {
|
|
11714
|
+
children: range(data).map(index => {
|
|
11715
|
+
const childPath = Paths.compose(path, `${index}`);
|
|
11716
|
+
const name = (appliedUiSchemaOptions === null || appliedUiSchemaOptions === void 0 ? void 0 : appliedUiSchemaOptions.itemLabel) ? `${appliedUiSchemaOptions === null || appliedUiSchemaOptions === void 0 ? void 0 : appliedUiSchemaOptions.itemLabel} ${index + 1}` : `${path} ${index + 1}`;
|
|
11717
|
+
return jsx(LeftTab, {
|
|
11718
|
+
childPath: childPath,
|
|
11719
|
+
rowIndex: index,
|
|
11720
|
+
currentTab: currentIndex,
|
|
11721
|
+
name: name,
|
|
11722
|
+
openDeleteDialog: openDeleteDialog,
|
|
11723
|
+
selectCurrentTab: selectCurrentTab,
|
|
11724
|
+
enabled: enabled,
|
|
11725
|
+
current: current,
|
|
11726
|
+
translations: translations
|
|
11727
|
+
}, childPath);
|
|
11728
|
+
})
|
|
11729
|
+
})
|
|
11730
|
+
}), jsx(FlexForm, {
|
|
11667
11731
|
tabIndex: -1,
|
|
11668
|
-
|
|
11669
|
-
|
|
11670
|
-
}), jsx(NonEmptyList, {
|
|
11732
|
+
ref: rightRef,
|
|
11733
|
+
children: jsx(NonEmptyList, {
|
|
11671
11734
|
childPath: Paths.compose(path, `${currentIndex}`),
|
|
11672
11735
|
rowIndex: currentIndex,
|
|
11673
11736
|
schema: schema,
|
|
@@ -11678,16 +11741,55 @@ const ObjectArrayList = ({
|
|
|
11678
11741
|
path: path,
|
|
11679
11742
|
uischema: uischema,
|
|
11680
11743
|
translations: translations
|
|
11681
|
-
}, Paths.compose(path, `${currentIndex}`))
|
|
11682
|
-
})
|
|
11683
|
-
|
|
11684
|
-
|
|
11685
|
-
|
|
11744
|
+
}, Paths.compose(path, `${currentIndex}`))
|
|
11745
|
+
})]
|
|
11746
|
+
}) : jsxs(RowFlex, {
|
|
11747
|
+
children: [currentListPage === 0 && jsx(FlexTabs, {
|
|
11748
|
+
style: {
|
|
11749
|
+
height: '100%'
|
|
11686
11750
|
},
|
|
11687
|
-
|
|
11688
|
-
|
|
11751
|
+
children: range(data).map(index => {
|
|
11752
|
+
const childPath = Paths.compose(path, `${index}`);
|
|
11753
|
+
return jsx(MainTab, {
|
|
11754
|
+
childPath: childPath,
|
|
11755
|
+
rowIndex: index,
|
|
11756
|
+
currentTab: currentIndex,
|
|
11757
|
+
openDeleteDialog: openDeleteDialog,
|
|
11758
|
+
selectCurrentTab: selectCurrentTab,
|
|
11759
|
+
enabled: enabled,
|
|
11760
|
+
current: current,
|
|
11761
|
+
setCurrentListPage: index => setCurrentListPage(index),
|
|
11762
|
+
uischema: uischema,
|
|
11763
|
+
schema: schema
|
|
11764
|
+
}, childPath);
|
|
11765
|
+
})
|
|
11766
|
+
}), currentListPage > 0 && jsxs(UpdateListContainer, {
|
|
11767
|
+
children: [jsxs(FlexForm, {
|
|
11768
|
+
tabIndex: -1,
|
|
11769
|
+
children: [jsx(ObjectArrayTitle, {
|
|
11770
|
+
children: listTitle
|
|
11771
|
+
}), jsx(NonEmptyList, {
|
|
11772
|
+
childPath: Paths.compose(path, `${currentIndex}`),
|
|
11773
|
+
rowIndex: currentIndex,
|
|
11774
|
+
schema: schema,
|
|
11775
|
+
openDeleteDialog: openDeleteDialog,
|
|
11776
|
+
showSortButtons: appliedUiSchemaOptions.showSortButtons || appliedUiSchemaOptions.showArrayTableSortButtons,
|
|
11777
|
+
enabled: enabled,
|
|
11778
|
+
cells: cells,
|
|
11779
|
+
path: path,
|
|
11780
|
+
uischema: uischema,
|
|
11781
|
+
translations: translations
|
|
11782
|
+
}, Paths.compose(path, `${currentIndex}`))]
|
|
11783
|
+
}), jsx(GoabButton, {
|
|
11784
|
+
type: 'primary',
|
|
11785
|
+
onClick: () => {
|
|
11786
|
+
setCurrentListPage(0);
|
|
11787
|
+
},
|
|
11788
|
+
testId: "next-list-button",
|
|
11789
|
+
children: continueButtonTitle ? continueButtonTitle : 'Continue'
|
|
11790
|
+
})]
|
|
11689
11791
|
})]
|
|
11690
|
-
})
|
|
11792
|
+
})
|
|
11691
11793
|
})
|
|
11692
11794
|
});
|
|
11693
11795
|
};
|
|
@@ -11731,7 +11833,7 @@ class ListWithDetailControl extends React.Component {
|
|
|
11731
11833
|
};
|
|
11732
11834
|
}
|
|
11733
11835
|
render() {
|
|
11734
|
-
var _a, _b, _c, _d, _e;
|
|
11836
|
+
var _a, _b, _c, _d, _e, _f, _g;
|
|
11735
11837
|
const _this$props = this.props,
|
|
11736
11838
|
{
|
|
11737
11839
|
label,
|
|
@@ -11751,11 +11853,15 @@ class ListWithDetailControl extends React.Component {
|
|
|
11751
11853
|
const controlElement = uischema;
|
|
11752
11854
|
// eslint-disable-next-line
|
|
11753
11855
|
const listTitle = (_e = (_d = (_c = (_a = uischema === null || uischema === void 0 ? void 0 : uischema.label) !== null && _a !== void 0 ? _a : (_b = uischema === null || uischema === void 0 ? void 0 : uischema.options) === null || _b === void 0 ? void 0 : _b.title) !== null && _c !== void 0 ? _c : getItemsTitle(schema)) !== null && _d !== void 0 ? _d : schema === null || schema === void 0 ? void 0 : schema.title) !== null && _e !== void 0 ? _e : label;
|
|
11856
|
+
const withLeftTab = (_g = (_f = uischema === null || uischema === void 0 ? void 0 : uischema.options) === null || _f === void 0 ? void 0 : _f.componentProps) === null || _g === void 0 ? void 0 : _g.withLeftTab;
|
|
11857
|
+
const noLeftTabBlankButton = this.state.currentListPage === 0 && data === 0;
|
|
11858
|
+
const showMainItems = withLeftTab || this.state.currentListPage === 0;
|
|
11859
|
+
const showSecondaryButton = withLeftTab || noLeftTabBlankButton;
|
|
11754
11860
|
return jsxs(Visible, {
|
|
11755
11861
|
visible: visible,
|
|
11756
11862
|
"data-testid": "jsonforms-object-list-wrapper",
|
|
11757
11863
|
children: [jsxs(ToolBarHeader, {
|
|
11758
|
-
children: [listTitle &&
|
|
11864
|
+
children: [listTitle && showMainItems && jsx(MarginTop, {
|
|
11759
11865
|
children: jsxs(ObjectArrayTitle, {
|
|
11760
11866
|
children: [listTitle, " ", jsx("span", {
|
|
11761
11867
|
children: additionalProps.required && '(required)'
|
|
@@ -11767,7 +11873,7 @@ class ListWithDetailControl extends React.Component {
|
|
|
11767
11873
|
children: this.state.maxItemsError
|
|
11768
11874
|
})]
|
|
11769
11875
|
})
|
|
11770
|
-
}),
|
|
11876
|
+
}), showSecondaryButton && jsx(ObjectArrayToolBar, {
|
|
11771
11877
|
data: data,
|
|
11772
11878
|
errors: errors,
|
|
11773
11879
|
label: label,
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@abgov/jsonforms-components",
|
|
3
|
-
"version": "2.
|
|
3
|
+
"version": "2.43.1",
|
|
4
4
|
"license": "Apache-2.0",
|
|
5
5
|
"description": "Government of Alberta - React renderers for JSON Forms based on the design system.",
|
|
6
6
|
"repository": "https://github.com/GovAlta/adsp-monorepo",
|
|
@@ -9,6 +9,7 @@ export declare const SideMenuItem: import("styled-components/dist/types").IStyle
|
|
|
9
9
|
export declare const RowFlex: import("styled-components/dist/types").IStyledComponentBase<"web", import("styled-components").FastOmit<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, never>> & string;
|
|
10
10
|
export declare const RowFlexMenu: import("styled-components/dist/types").IStyledComponentBase<"web", import("styled-components").FastOmit<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, never>> & string;
|
|
11
11
|
export declare const FlexTabs: import("styled-components/dist/types").IStyledComponentBase<"web", import("styled-components").FastOmit<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, never>> & string;
|
|
12
|
+
export declare const FlexTabsWithMargin: import("styled-components/dist/types").IStyledComponentBase<"web", import("styled-components").FastOmit<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, never>> & string;
|
|
12
13
|
export declare const FlexForm: import("styled-components/dist/types").IStyledComponentBase<"web", import("styled-components").FastOmit<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, never>> & string;
|
|
13
14
|
export declare const TabName: import("styled-components/dist/types").IStyledComponentBase<"web", import("styled-components").FastOmit<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, never>> & string;
|
|
14
15
|
export declare const Trash: import("styled-components/dist/types").IStyledComponentBase<"web", import("styled-components").FastOmit<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, never>> & string;
|