Skip to content

Commit d6293f3

Browse files
committed
vue-vuetify: Extract control entries and fix usage instructions
fix #2378 The registry entries for the renderers were configured in the same files as the renderers. This lead to the entries being removed due to tree shaking during production builds using esbuild (as used by Vite). This extracts all entries to separate files and improves the README to no longer import the renderers asynchronously .
1 parent cf45f9b commit d6293f3

File tree

89 files changed

+563
-509
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

89 files changed

+563
-509
lines changed

packages/vue-vuetify/README.md

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -36,10 +36,9 @@ Use the `json-forms` component for each form you want to render and hand over th
3636
```vue
3737
<script>
3838
import { JsonForms } from '@jsonforms/vue';
39+
import { extendedVuetifyRenderers } from '@jsonforms/vue-vuetify';
3940
import { markRaw } from 'vue';
4041
41-
const { extendedVuetifyRenderers } = await import('@jsonforms/vue-vuetify');
42-
4342
const renderers = markRaw([
4443
...extendedVuetifyRenderers,
4544
// here you can add custom renderers
Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
import {
2+
rankWith,
3+
uiTypeIs,
4+
type JsonFormsRendererRegistryEntry,
5+
} from '@jsonforms/core';
6+
import labelRenderer from './LabelRenderer.vue';
7+
8+
export const entry: JsonFormsRendererRegistryEntry = {
9+
renderer: labelRenderer,
10+
tester: rankWith(1, uiTypeIs('Label')),
11+
};

packages/vue-vuetify/src/additional/LabelRenderer.vue

Lines changed: 1 addition & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -9,12 +9,7 @@
99
</template>
1010

1111
<script lang="ts">
12-
import {
13-
rankWith,
14-
uiTypeIs,
15-
type JsonFormsRendererRegistryEntry,
16-
type LabelElement,
17-
} from '@jsonforms/core';
12+
import { type LabelElement } from '@jsonforms/core';
1813
import {
1914
rendererProps,
2015
useJsonFormsLabel,
@@ -38,9 +33,4 @@ const labelRenderer = defineComponent({
3833
});
3934
4035
export default labelRenderer;
41-
42-
export const entry: JsonFormsRendererRegistryEntry = {
43-
renderer: labelRenderer,
44-
tester: rankWith(1, uiTypeIs('Label')),
45-
};
4636
</script>
Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
import {
2+
and,
3+
isObjectArray,
4+
rankWith,
5+
uiTypeIs,
6+
type JsonFormsRendererRegistryEntry,
7+
} from '@jsonforms/core';
8+
import controlRenderer from './ListWithDetailRenderer.vue';
9+
10+
export const entry: JsonFormsRendererRegistryEntry = {
11+
renderer: controlRenderer,
12+
tester: rankWith(4, and(uiTypeIs('ListWithDetail'), isObjectArray)),
13+
};

packages/vue-vuetify/src/additional/ListWithDetailRenderer.vue

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -318,11 +318,6 @@ const controlRenderer = defineComponent({
318318
});
319319
320320
export default controlRenderer;
321-
322-
export const entry: JsonFormsRendererRegistryEntry = {
323-
renderer: controlRenderer,
324-
tester: rankWith(4, and(uiTypeIs('ListWithDetail'), isObjectArray)),
325-
};
326321
</script>
327322

328323
<style scoped>

packages/vue-vuetify/src/additional/index.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
export { default as LabelRenderer } from './LabelRenderer.vue';
22
export { default as ListWithDetailRenderer } from './ListWithDetailRenderer.vue';
33

4-
import { entry as labelRendererEntry } from './LabelRenderer.vue';
5-
import { entry as listWithDetailRendererEntry } from './ListWithDetailRenderer.vue';
4+
import { entry as labelRendererEntry } from './LabelRenderer.entry';
5+
import { entry as listWithDetailRendererEntry } from './ListWithDetailRenderer.entry';
66

77
export const additionalRenderers = [
88
labelRendererEntry,
Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
import {
2+
isAllOfControl,
3+
rankWith,
4+
type JsonFormsRendererRegistryEntry,
5+
} from '@jsonforms/core';
6+
import controlRenderer from './AllOfRenderer.vue';
7+
8+
export const entry: JsonFormsRendererRegistryEntry = {
9+
renderer: controlRenderer,
10+
tester: rankWith(3, isAllOfControl),
11+
};

packages/vue-vuetify/src/complex/AllOfRenderer.vue

Lines changed: 0 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -36,11 +36,8 @@
3636
import {
3737
createCombinatorRenderInfos,
3838
findMatchingUISchema,
39-
isAllOfControl,
40-
rankWith,
4139
type CombinatorSubSchemaRenderInfo,
4240
type ControlElement,
43-
type JsonFormsRendererRegistryEntry,
4441
type UISchemaElement,
4542
} from '@jsonforms/core';
4643
import {
@@ -90,9 +87,4 @@ const controlRenderer = defineComponent({
9087
});
9188
9289
export default controlRenderer;
93-
94-
export const entry: JsonFormsRendererRegistryEntry = {
95-
renderer: controlRenderer,
96-
tester: rankWith(3, isAllOfControl),
97-
};
9890
</script>
Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
import {
2+
isAnyOfControl,
3+
rankWith,
4+
type JsonFormsRendererRegistryEntry,
5+
} from '@jsonforms/core';
6+
import controlRenderer from './AnyOfRenderer.vue';
7+
8+
export const entry: JsonFormsRendererRegistryEntry = {
9+
renderer: controlRenderer,
10+
tester: rankWith(3, isAnyOfControl),
11+
};

packages/vue-vuetify/src/complex/AnyOfRenderer.vue

Lines changed: 0 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -39,9 +39,6 @@ import {
3939
type CombinatorSubSchemaRenderInfo,
4040
type ControlElement,
4141
createCombinatorRenderInfos,
42-
isAnyOfControl,
43-
type JsonFormsRendererRegistryEntry,
44-
rankWith,
4542
} from '@jsonforms/core';
4643
import {
4744
DispatchRenderer,
@@ -94,9 +91,4 @@ const controlRenderer = defineComponent({
9491
});
9592
9693
export default controlRenderer;
97-
98-
export const entry: JsonFormsRendererRegistryEntry = {
99-
renderer: controlRenderer,
100-
tester: rankWith(3, isAnyOfControl),
101-
};
10294
</script>

0 commit comments

Comments
 (0)