Skip to content

Commit ad594d8

Browse files
committed
use rendererProps() for defineProps(), use input.cell.value.data instead of props.data
1 parent 3c21c93 commit ad594d8

10 files changed

+42
-35
lines changed

packages/vue-vanilla/src/cells/BooleanCell.vue

+13-6
Original file line numberDiff line numberDiff line change
@@ -14,20 +14,27 @@
1414
</template>
1515

1616
<script setup lang="ts">
17-
import type { CellProps, RankedTester } from '@jsonforms/core';
17+
import type { ControlElement, RankedTester } from '@jsonforms/core';
1818
import { isBooleanControl, rankWith } from '@jsonforms/core';
19-
import { useJsonFormsCell } from '@jsonforms/vue';
19+
import { rendererProps, useJsonFormsCell } from '@jsonforms/vue';
2020
import { useVanillaCell } from '../util';
2121
22-
const props = defineProps<CellProps>();
22+
const props = defineProps(rendererProps<ControlElement>());
2323
2424
const input = useVanillaCell(
2525
useJsonFormsCell(props),
2626
(target) => target.checked
2727
);
2828
const { styles, cell, appliedOptions, onChange, isFocused } = input;
2929
30-
defineOptions({
31-
tester: rankWith(1, isBooleanControl) as RankedTester,
32-
});
30+
/**
31+
* JUST AN PROPOSAL!!!
32+
* @see https://github.com/eclipsesource/jsonforms/pull/2279#discussion_r1528101480
33+
*/
34+
defineOptions(
35+
((): { tester: RankedTester } => {
36+
const tester: RankedTester = rankWith(1, isBooleanControl);
37+
return { tester };
38+
})()
39+
);
3340
</script>

packages/vue-vanilla/src/cells/DateCell.vue

+3-3
Original file line numberDiff line numberDiff line change
@@ -14,12 +14,12 @@
1414
</template>
1515

1616
<script setup lang="ts">
17-
import { useJsonFormsCell } from '@jsonforms/vue';
18-
import type { CellProps, RankedTester } from '@jsonforms/core';
17+
import { rendererProps, useJsonFormsCell } from '@jsonforms/vue';
18+
import type { ControlElement, RankedTester } from '@jsonforms/core';
1919
import { isDateControl, rankWith } from '@jsonforms/core';
2020
import { useVanillaCell } from '../util';
2121
22-
const props = defineProps<CellProps>();
22+
const props = defineProps(rendererProps<ControlElement>());
2323
2424
const input = useVanillaCell(
2525
useJsonFormsCell(props),

packages/vue-vanilla/src/cells/DateTimeCell.vue

+5-5
Original file line numberDiff line numberDiff line change
@@ -15,12 +15,12 @@
1515

1616
<script setup lang="ts">
1717
import { ref, watch } from 'vue';
18-
import { useJsonFormsCell } from '@jsonforms/vue';
19-
import type { CellProps, RankedTester } from '@jsonforms/core';
18+
import { rendererProps, useJsonFormsCell } from '@jsonforms/vue';
19+
import type { RankedTester, ControlElement } from '@jsonforms/core';
2020
import { isDateTimeControl, rankWith } from '@jsonforms/core';
2121
import { useVanillaCell } from '../util';
2222
23-
const props = defineProps<CellProps>();
23+
const props = defineProps(rendererProps<ControlElement>());
2424
2525
const input = useVanillaCell(useJsonFormsCell(props), (target) =>
2626
'' !== target.value ? toISO(target.value) : undefined
@@ -35,8 +35,8 @@ const setDateTime = (str: string | undefined) => {
3535
dataTime.value = fromISO(str);
3636
};
3737
38-
setDateTime(props.data.value);
39-
watch(() => props.data, setDateTime);
38+
setDateTime(input.cell.value.data);
39+
watch(() => input.cell.value.data, setDateTime);
4040
4141
defineOptions({
4242
tester: rankWith(2, isDateTimeControl) as RankedTester,

packages/vue-vanilla/src/cells/EnumCell.vue

+3-3
Original file line numberDiff line numberDiff line change
@@ -21,12 +21,12 @@
2121
</template>
2222

2323
<script setup lang="ts">
24-
import { useJsonFormsEnumCell } from '@jsonforms/vue';
25-
import type { CellProps } from '@jsonforms/core';
24+
import { rendererProps, useJsonFormsEnumCell } from '@jsonforms/vue';
25+
import type { ControlElement } from '@jsonforms/core';
2626
import { isEnumControl, rankWith } from '@jsonforms/core';
2727
import { useVanillaCell } from '../util';
2828
29-
const props = defineProps<CellProps>();
29+
const props = defineProps(rendererProps<ControlElement>());
3030
3131
const input = useVanillaCell(useJsonFormsEnumCell(props), (target) =>
3232
target.selectedIndex === 0 ? undefined : target.value

packages/vue-vanilla/src/cells/EnumOneOfCell.vue

+3-3
Original file line numberDiff line numberDiff line change
@@ -21,12 +21,12 @@
2121
</template>
2222

2323
<script setup lang="ts">
24-
import { useJsonFormsOneOfEnumCell } from '@jsonforms/vue';
25-
import type { CellProps, RankedTester } from '@jsonforms/core';
24+
import { rendererProps, useJsonFormsOneOfEnumCell } from '@jsonforms/vue';
25+
import type { RankedTester, ControlElement } from '@jsonforms/core';
2626
import { isOneOfEnumControl, rankWith } from '@jsonforms/core';
2727
import { useVanillaCell } from '../util';
2828
29-
const props = defineProps<CellProps>();
29+
const props = defineProps(rendererProps<ControlElement>());
3030
3131
const input = useVanillaCell(useJsonFormsOneOfEnumCell(props), (target) =>
3232
target.selectedIndex === 0 ? undefined : target.value

packages/vue-vanilla/src/cells/IntegerCell.vue

+3-3
Original file line numberDiff line numberDiff line change
@@ -15,12 +15,12 @@
1515
</template>
1616

1717
<script setup lang="ts">
18-
import type { CellProps, RankedTester } from '@jsonforms/core';
18+
import type { RankedTester, ControlElement } from '@jsonforms/core';
1919
import { isIntegerControl, rankWith } from '@jsonforms/core';
20-
import { useJsonFormsCell } from '@jsonforms/vue';
20+
import { rendererProps, useJsonFormsCell } from '@jsonforms/vue';
2121
import { useVanillaCell } from '../util';
2222
23-
const props = defineProps<CellProps>();
23+
const props = defineProps(rendererProps<ControlElement>());
2424
2525
const input = useVanillaCell(useJsonFormsCell(props), (target) =>
2626
target.value === '' ? undefined : parseInt(target.value, 10)

packages/vue-vanilla/src/cells/NumberCell.vue

+3-3
Original file line numberDiff line numberDiff line change
@@ -16,12 +16,12 @@
1616

1717
<script setup lang="ts">
1818
import { computed } from 'vue';
19-
import type { CellProps, RankedTester } from '@jsonforms/core';
19+
import type { ControlElement, RankedTester } from '@jsonforms/core';
2020
import { isNumberControl, rankWith } from '@jsonforms/core';
21-
import { useJsonFormsCell } from '@jsonforms/vue';
21+
import { rendererProps, useJsonFormsCell } from '@jsonforms/vue';
2222
import { useVanillaCell } from '../util';
2323
24-
const props = defineProps<CellProps>();
24+
const props = defineProps(rendererProps<ControlElement>());
2525
2626
const input = useVanillaCell(useJsonFormsCell(props), (target) =>
2727
target.value === '' ? undefined : Number(target.value)

packages/vue-vanilla/src/cells/TextCell.vue

+3-3
Original file line numberDiff line numberDiff line change
@@ -13,12 +13,12 @@
1313
</template>
1414

1515
<script setup lang="ts">
16-
import type { CellProps, RankedTester } from '@jsonforms/core';
16+
import type { ControlElement, RankedTester } from '@jsonforms/core';
1717
import { isStringControl, rankWith } from '@jsonforms/core';
18-
import { useJsonFormsCell } from '@jsonforms/vue';
18+
import { rendererProps, useJsonFormsCell } from '@jsonforms/vue';
1919
import { useVanillaCell } from '../util';
2020
21-
const props = defineProps<CellProps>();
21+
const props = defineProps(rendererProps<ControlElement>());
2222
2323
const input = useVanillaCell(
2424
useJsonFormsCell(props),

packages/vue-vanilla/src/cells/TextareaCell.vue

+3-3
Original file line numberDiff line numberDiff line change
@@ -13,8 +13,8 @@
1313
</template>
1414

1515
<script setup lang="ts">
16-
import { useJsonFormsCell } from '@jsonforms/vue';
17-
import type { CellProps, RankedTester } from '@jsonforms/core';
16+
import { rendererProps, useJsonFormsCell } from '@jsonforms/vue';
17+
import type { ControlElement, RankedTester } from '@jsonforms/core';
1818
import {
1919
and,
2020
isMultiLineControl,
@@ -23,7 +23,7 @@ import {
2323
} from '@jsonforms/core';
2424
import { useVanillaCell } from '../util';
2525
26-
const props = defineProps<CellProps>();
26+
const props = defineProps(rendererProps<ControlElement>());
2727
2828
const input = useVanillaCell(
2929
useJsonFormsCell(props),

packages/vue-vanilla/src/cells/TimeCell.vue

+3-3
Original file line numberDiff line numberDiff line change
@@ -14,12 +14,12 @@
1414
</template>
1515

1616
<script setup lang="ts">
17-
import { useJsonFormsCell } from '@jsonforms/vue';
18-
import type { CellProps, RankedTester } from '@jsonforms/core';
17+
import { rendererProps, useJsonFormsCell } from '@jsonforms/vue';
18+
import type { ControlElement, RankedTester } from '@jsonforms/core';
1919
import { isTimeControl, rankWith } from '@jsonforms/core';
2020
import { useVanillaCell } from '../util';
2121
22-
const props = defineProps<CellProps>();
22+
const props = defineProps(rendererProps<ControlElement>());
2323
2424
const input = useVanillaCell(useJsonFormsCell(props), (target) =>
2525
appendSeconds(target.value || undefined)

0 commit comments

Comments
 (0)