Skip to content

Commit ac64238

Browse files
committed
allow multivalued fields
1 parent b7edddb commit ac64238

File tree

2 files changed

+16
-1
lines changed

2 files changed

+16
-1
lines changed

portals/admin/src/main/webapp/source/src/app/components/KeyManagers/AddEditKeyManager.jsx

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -561,6 +561,15 @@ function AddEditKeyManager(props) {
561561
};
562562
const setAdditionalProperties = (key, value) => {
563563
const clonedAdditionalProperties = cloneDeep(additionalProperties);
564+
if (value === 'multivalued') {
565+
const multiValuedKey = 'multivalued_' + key;
566+
if (clonedAdditionalProperties[multiValuedKey]) {
567+
if (!clonedAdditionalProperties[multiValuedKey].includes(value)) {
568+
clonedAdditionalProperties[multiValuedKey].push(value);
569+
}
570+
// otherwise it's already there
571+
}
572+
}
564573
clonedAdditionalProperties[key] = value;
565574
dispatch({ field: 'additionalProperties', value: clonedAdditionalProperties });
566575
};

portals/admin/src/main/webapp/source/src/app/components/KeyManagers/KeyManagerConfiguration.jsx

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -101,9 +101,15 @@ export default function KeyManagerConfiguration(props) {
101101

102102
const getComponent = (config) => {
103103
const {
104-
name, label, type, values = [], tooltip, required, mask, default: defaultVal,
104+
name, label, type, values = [], tooltip, required, mask, multiple, default: defaultVal,
105105
} = config;
106106

107+
if (type === 'labelOnly' && multiple) {
108+
setAdditionalProperties(name, 'multivalued');
109+
const valueNames = values.map((value) => value.name);
110+
setAdditionalProperties(`multivalued_${name}`, valueNames);
111+
}
112+
107113
const value = type === 'certificate' ? (additionalProperties?.certificates
108114
|| { type: 'PEM', value: '' }) : (additionalProperties[name] ?? '');
109115
const error = required && hasErrors('keyconfig', value, validating);

0 commit comments

Comments
 (0)