Skip to content

Commit 8c6cee4

Browse files
authored
Merge pull request #37 from webgme/fix-anyof-selection
Fix AnyOf selection
2 parents 5aa3d01 + aedf195 commit 8c6cee4

File tree

2 files changed

+7
-10
lines changed

2 files changed

+7
-10
lines changed

src/lib/controls/AnyOfControl.svelte

Lines changed: 3 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,6 @@
88
import Select, { Option } from '@smui/select';
99
import Control from "../Control.svelte";
1010
import ObjectProps from "./ObjectProps.svelte";
11-
import { tick } from "svelte";
1211
1312
export let type: JSONSchema7['type'] = undefined;
1413
export let data: any;
@@ -50,8 +49,8 @@
5049
async function setSelected(value: JSONSchema7 | null) {
5150
if (selected !== value) {
5251
let newData = data;
53-
if (isObjSchema(value) && (value != null)) {
54-
if ((selected != null) && isObjSchema() && !isEmpty(data ?? {})) {
52+
if (isObjSchema(value)) {
53+
if (isObjSchema() && !isEmpty(data ?? {})) {
5554
const selectedProps = Object.keys(selected?.properties ?? {});
5655
newData = omit(data, selectedProps, { keepUnchanged: true });
5756
}
@@ -74,9 +73,7 @@
7473
if (force && (newSelected == null)) {
7574
newSelected = schemas[0];
7675
}
77-
if (newSelected !== selected) {
78-
selected = newSelected;
79-
}
76+
setSelected(newSelected);
8077
}
8178
8279
</script>

src/lib/createMountedEventDispatcher.ts

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -8,19 +8,19 @@ type EventDispatcherhArgs<EventMap extends {} = any> = Parameters<EventDispatche
88
*/
99
export default function createMountedEventDispatcher<EventMap extends {} = any>(): EventDispatcher<EventMap> {
1010
let mounted = false;
11-
const dispatchOnMount: EventDispatcherhArgs<EventMap>[] = [];
11+
const dispatchOnMount: EventDispatcherhArgs<any>[] = [];
1212
const dispatch = createEventDispatcher();
1313

1414
onMount(() => {
1515
mounted = true;
1616
dispatchOnMount.forEach(args => {
17-
dispatch(...args);
17+
dispatch.call(null, ...args);
1818
});
1919
});
2020

21-
return (...args: EventDispatcherhArgs<EventMap>) => {
21+
return (...args: EventDispatcherhArgs<any>) => {
2222
if (mounted) {
23-
return dispatch(...args);
23+
return dispatch.call(null, ...args);
2424
}
2525
else {
2626
dispatchOnMount.push(args);

0 commit comments

Comments
 (0)