Skip to content

Commit 0ba36d5

Browse files
committed
Adapt example app for Vue 3 and Vuetify 3
1 parent 02d8b2c commit 0ba36d5

File tree

20 files changed

+192
-187
lines changed

20 files changed

+192
-187
lines changed

packages/example/.eslintrc.js

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -4,17 +4,17 @@ module.exports = {
44
node: true,
55
},
66
extends: [
7-
"plugin:vue/essential",
8-
"eslint:recommended",
9-
"@vue/typescript/recommended",
10-
"@vue/prettier",
11-
"@vue/prettier/@typescript-eslint",
7+
'plugin:vue/essential',
8+
'eslint:recommended',
9+
'@vue/typescript/recommended',
10+
'@vue/prettier',
11+
'@vue/eslint-config-prettier',
1212
],
1313
parserOptions: {
1414
ecmaVersion: 2020,
1515
},
1616
rules: {
17-
"no-console": process.env.NODE_ENV === "production" ? "warn" : "off",
18-
"no-debugger": process.env.NODE_ENV === "production" ? "warn" : "off",
17+
'no-console': process.env.NODE_ENV === 'production' ? 'warn' : 'off',
18+
'no-debugger': process.env.NODE_ENV === 'production' ? 'warn' : 'off',
1919
},
2020
};

packages/example/src/App.vue

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,11 @@
11
<template>
2-
<v-fade-transition mode="out-in">
3-
<router-view />
4-
</v-fade-transition>
2+
<router-view />
53
</template>
64

75
<script lang="ts">
86
export default { name: 'App' };
97
</script>
108

119
<style scoped>
12-
@import '~@jsonforms/vue2-vuetify/lib/jsonforms-vue2-vuetify.esm.css';
10+
@import '~@jsonforms/vue-vuetify/lib/jsonforms-vue-vuetify.esm.css';
1311
</style>

packages/example/src/components/DemoForm.vue

Lines changed: 13 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -61,8 +61,7 @@ import {
6161
JsonSchema,
6262
JsonFormsI18nState,
6363
} from '@jsonforms/core';
64-
import { JsonForms, JsonFormsChangeEvent } from '@jsonforms/vue2';
65-
import JsonRefs from 'json-refs';
64+
import { JsonForms, JsonFormsChangeEvent } from '@jsonforms/vue';
6665
import { createTranslator } from '../i18n';
6766
6867
export default {
@@ -159,16 +158,18 @@ export default {
159158
resolvedSchema.error = undefined;
160159
161160
if (schema) {
162-
JsonRefs.resolveRefs(schema).then(
163-
function (res) {
164-
resolvedSchema.schema = res.resolved;
165-
resolvedSchema.resolved = true;
166-
},
167-
function (err: Error) {
168-
resolvedSchema.resolved = true;
169-
resolvedSchema.error = err.message;
170-
}
171-
);
161+
resolvedSchema.schema = schema;
162+
resolvedSchema.resolved = true;
163+
// JsonRefs.resolveRefs(schema).then(
164+
// function (res) {
165+
// resolvedSchema.schema = res.resolved;
166+
// resolvedSchema.resolved = true;
167+
// },
168+
// function (err: Error) {
169+
// resolvedSchema.resolved = true;
170+
// resolvedSchema.error = err.message;
171+
// }
172+
// );
172173
} else {
173174
// nothing to resolve
174175
resolvedSchema.resolved = true;

packages/example/src/components/Settings.vue

Lines changed: 19 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -269,23 +269,25 @@
269269
import { sync } from 'vuex-pathify';
270270
271271
export default {
272-
name: 'Settings',
273-
computed: {
274-
validationMode: sync('app/jsonforms@validationMode'),
275-
hideRequiredAsterisk: sync('app/jsonforms@config.hideRequiredAsterisk'),
276-
showUnfocusedDescription: sync(
277-
'app/jsonforms@config.showUnfocusedDescription'
278-
),
279-
restrict: sync('app/jsonforms@config.restrict'),
280-
collapseNewItems: sync('app/jsonforms@config.collapseNewItems'),
281-
initCollapsed: sync('app/jsonforms@config.initCollapsed'),
282-
breakHorizontal: sync('app/jsonforms@config.breakHorizontal'),
283-
readonly: sync('app/jsonforms@readonly'),
284-
locale: sync('app/jsonforms@locale'),
285-
hideAvatar: sync('app/jsonforms@config.hideAvatar'),
286-
hideArraySummaryValidation: sync(
287-
'app/jsonforms@config.hideArraySummaryValidation'
288-
),
272+
name: 'AppSettings',
273+
setup() {
274+
return {
275+
validationMode: sync('app/jsonforms@validationMode'),
276+
hideRequiredAsterisk: sync('app/jsonforms@config.hideRequiredAsterisk'),
277+
showUnfocusedDescription: sync(
278+
'app/jsonforms@config.showUnfocusedDescription'
279+
),
280+
restrict: sync('app/jsonforms@config.restrict'),
281+
collapseNewItems: sync('app/jsonforms@config.collapseNewItems'),
282+
initCollapsed: sync('app/jsonforms@config.initCollapsed'),
283+
breakHorizontal: sync('app/jsonforms@config.breakHorizontal'),
284+
readonly: sync('app/jsonforms@readonly'),
285+
locale: sync('app/jsonforms@locale'),
286+
hideAvatar: sync('app/jsonforms@config.hideAvatar'),
287+
hideArraySummaryValidation: sync(
288+
'app/jsonforms@config.hideArraySummaryValidation'
289+
),
290+
};
289291
},
290292
data: function () {
291293
return {

packages/example/src/examples/custom-renderer/CustomArrayRenderer.vue

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -28,12 +28,12 @@ import {
2828
JsonFormsRendererRegistryEntry,
2929
withIncreasedRank,
3030
} from '@jsonforms/core';
31-
import { rendererProps } from '@jsonforms/vue2';
31+
import { rendererProps } from '@jsonforms/vue';
3232
import {
3333
ArrayLayoutRenderer,
3434
arrayLayoutRendererEntry,
35-
} from '@jsonforms/vue2-vuetify';
36-
import { VTooltip, VIcon, VBtn } from 'vuetify/lib';
35+
} from '@jsonforms/vue-vuetify';
36+
import { VTooltip, VIcon, VBtn } from 'vuetify/components';
3737
import { defineComponent } from 'vue';
3838
3939
const controlRenderer = defineComponent({

packages/example/src/layouts/default/AppBar.vue

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@
2525
<v-toolbar-items>
2626
<v-container fill-height fluid justify-end
2727
><v-row dense>
28-
<v-col><settings /> </v-col>
28+
<v-col><app-settings /> </v-col>
2929
<v-col><theme-changer /> </v-col>
3030
</v-row>
3131
</v-container>
@@ -35,18 +35,19 @@
3535

3636
<script lang="ts">
3737
import { sync } from 'vuex-pathify';
38-
import Settings from '@/components/Settings.vue';
38+
import AppSettings from '@/components/Settings.vue';
3939
import ThemeChanger from '@/components/ThemeChanger.vue';
4040
import { AppStore } from '../store/modules/types';
4141
4242
export default {
4343
name: 'DefaultAppBar',
4444
components: {
4545
ThemeChanger,
46-
Settings,
46+
AppSettings,
4747
},
48-
computed: {
49-
app: sync<AppStore>('app/'),
48+
setup() {
49+
const app = sync<AppStore>('app/');
50+
return { app };
5051
},
5152
data() {
5253
return {

packages/example/src/layouts/default/Drawer.vue

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -44,13 +44,16 @@ import { examples } from '@/examples';
4444
4545
export default {
4646
name: 'DefaultDrawer',
47+
setup() {
48+
const drawer = sync('app/drawer');
49+
return {
50+
drawer,
51+
};
52+
},
4753
data() {
4854
return {
4955
examples,
5056
};
5157
},
52-
computed: {
53-
drawer: sync('app/drawer'),
54-
},
5558
};
5659
</script>

packages/example/src/layouts/default/View.vue

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,6 @@
11
<template>
22
<v-main>
3-
<v-fade-transition mode="out-in">
4-
<router-view />
5-
</v-fade-transition>
3+
<router-view />
64
</v-main>
75
</template>
86

packages/example/src/layouts/default/index.vue

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -9,13 +9,15 @@
99
</template>
1010

1111
<script lang="ts">
12+
import { defineAsyncComponent } from 'vue';
13+
1214
export default {
1315
name: 'DefaultLayout',
1416
1517
components: {
16-
DefaultAppBar: () => import('./AppBar'),
17-
DefaultDrawer: () => import('./Drawer'),
18-
DefaultView: () => import('./View'),
18+
DefaultAppBar: defineAsyncComponent(() => import('./AppBar.vue')),
19+
DefaultDrawer: defineAsyncComponent(() => import('./Drawer.vue')),
20+
DefaultView: defineAsyncComponent(() => import('./View.vue')),
1921
},
2022
computed: {
2123
formonly(): boolean {

packages/example/src/main.ts

Lines changed: 10 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,17 @@
1-
import Vue from 'vue';
1+
import { createApp } from 'vue';
22
import App from './App.vue';
33
import router from './router';
44
import store from './store';
55
import vuetify from './plugins/vuetify';
66
import './plugins';
77

8-
Vue.config.productionTip = false;
8+
// Vue.config.productionTip = false;
99

10-
new Vue({
11-
router,
12-
store,
13-
vuetify,
14-
render: (h) => h(App),
15-
}).$mount('#app');
10+
createApp(App).use(store).use(router).use(vuetify).mount('#app');
11+
12+
// new Vue({
13+
// router,
14+
// store,
15+
// vuetify,
16+
// render: (h) => h(App),
17+
// }).$mount('#app');

0 commit comments

Comments
 (0)