Fix add remove button for multifield attributes
This commit is contained in:
parent
6cdb83d730
commit
96a88fe865
@ -426,6 +426,7 @@ function AddRemoveButtonsMultiValuedAttribute(props: {
|
|||||||
return (
|
return (
|
||||||
<>
|
<>
|
||||||
{hasRemove && (
|
{hasRemove && (
|
||||||
|
<>
|
||||||
<button
|
<button
|
||||||
id={`kc-remove${idPostfix}`}
|
id={`kc-remove${idPostfix}`}
|
||||||
type="button"
|
type="button"
|
||||||
@ -439,8 +440,9 @@ function AddRemoveButtonsMultiValuedAttribute(props: {
|
|||||||
}
|
}
|
||||||
>
|
>
|
||||||
{msg("remove")}
|
{msg("remove")}
|
||||||
{hasRemove ? <> | </> : null}
|
|
||||||
</button>
|
</button>
|
||||||
|
{hasAdd ? <> | </> : null}
|
||||||
|
</>
|
||||||
)}
|
)}
|
||||||
{hasAdd && (
|
{hasAdd && (
|
||||||
<button
|
<button
|
||||||
|
24
src/tools/structuredCloneButFunctions.ts
Normal file
24
src/tools/structuredCloneButFunctions.ts
Normal file
@ -0,0 +1,24 @@
|
|||||||
|
import "minimal-polyfills/Object.fromEntries";
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Functionally equivalent to structuredClone but
|
||||||
|
* functions are not cloned but kept as is.
|
||||||
|
* (as opposed to structuredClone that chokes if it encounters a function)
|
||||||
|
*/
|
||||||
|
export function structuredCloneButFunctions<T>(o: T): T {
|
||||||
|
if (!(o instanceof Object)) {
|
||||||
|
return o;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (typeof o === "function") {
|
||||||
|
return o;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (o instanceof Array) {
|
||||||
|
return o.map(structuredCloneButFunctions) as any;
|
||||||
|
}
|
||||||
|
|
||||||
|
return Object.fromEntries(
|
||||||
|
Object.entries(o).map(([key, value]) => [key, structuredCloneButFunctions(value)])
|
||||||
|
) as any;
|
||||||
|
}
|
Loading…
x
Reference in New Issue
Block a user