devextreme-cli 1.3.0-beta.1 → 1.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/index.js +1 -1
- package/package.json +32 -9
- package/src/.DS_Store +0 -0
- package/src/application.js +1 -1
- package/src/applications/application.angular.js +46 -10
- package/src/applications/application.react.js +4 -4
- package/src/applications/application.vue.js +103 -35
- package/src/commands.json +34 -25
- package/src/templates/.DS_Store +0 -0
- package/src/templates/react/application/src/App.js +3 -3
- package/src/templates/react/application/src/Content.js +1 -1
- package/src/templates/react/application/src/{NotAuthenticatedContent.js → UnauthenticatedContent.js} +1 -1
- package/src/templates/react/application/src/api/auth.js +1 -1
- package/src/templates/react/application/src/app-info.js +4 -2
- package/src/templates/react/application/src/components/change-password-form/change-password-form.js +1 -1
- package/src/templates/react/application/src/components/create-account-form/create-account-form.js +1 -1
- package/src/templates/react/application/src/components/footer/footer.js +2 -2
- package/src/templates/react/application/src/components/header/header.js +37 -37
- package/src/templates/react/application/src/components/login-form/login-form.js +1 -1
- package/src/templates/react/application/src/components/reset-password-form/reset-password-form.js +2 -2
- package/src/templates/react/application/src/components/side-navigation-menu/side-navigation-menu.js +5 -5
- package/src/templates/react/application/src/components/user-panel/user-panel.js +8 -2
- package/src/templates/react/application/src/dx-styles.scss +6 -1
- package/src/templates/react/application/src/layouts/side-nav-inner-toolbar/side-nav-inner-toolbar.js +1 -1
- package/src/templates/react/application/src/layouts/side-nav-outer-toolbar/side-nav-outer-toolbar.js +1 -1
- package/src/templates/react/application/src/layouts/single-card/single-card.js +11 -10
- package/src/templates/react/application/src/utils/media-query.js +1 -1
- package/src/templates/react/application/src/utils/patches.scss +1 -1
- package/src/templates/react/sample-pages/home/home.js +47 -46
- package/src/templates/react/sample-pages/profile/profile.js +3 -3
- package/src/templates/react/sample-pages/tasks/tasks.js +70 -68
- package/src/templates/vue-v2/.DS_Store +0 -0
- package/src/templates/vue-v2/application/.DS_Store +0 -0
- package/src/templates/vue-v2/application/devextreme.json +38 -0
- package/src/templates/vue-v2/application/src/.DS_Store +0 -0
- package/src/templates/{vue → vue-v2}/application/src/App.vue +3 -3
- package/src/templates/{vue → vue-v2}/application/src/app-info.js +0 -0
- package/src/templates/{vue → vue-v2}/application/src/app-navigation.js +0 -0
- package/src/templates/{vue → vue-v2}/application/src/auth.js +0 -0
- package/src/templates/{vue/application/src/components/the-footer.vue → vue-v2/application/src/components/app-footer.vue} +0 -0
- package/src/templates/{vue → vue-v2}/application/src/components/header-toolbar.vue +8 -1
- package/src/templates/{vue → vue-v2}/application/src/components/side-nav-menu.vue +0 -0
- package/src/templates/{vue → vue-v2}/application/src/components/user-panel.vue +0 -0
- package/src/templates/{vue → vue-v2}/application/src/dx-styles.scss +4 -0
- package/src/templates/{vue → vue-v2}/application/src/layouts/side-nav-inner-toolbar.vue +0 -0
- package/src/templates/{vue → vue-v2}/application/src/layouts/side-nav-outer-toolbar.vue +0 -0
- package/src/templates/{vue → vue-v2}/application/src/layouts/single-card.vue +0 -0
- package/src/templates/{vue → vue-v2}/application/src/main.js +0 -0
- package/src/templates/{vue → vue-v2}/application/src/router.js +0 -0
- package/src/templates/{vue → vue-v2}/application/src/themes/metadata.additional.json +0 -0
- package/src/templates/{vue → vue-v2}/application/src/themes/metadata.base.json +0 -0
- package/src/templates/{vue → vue-v2}/application/src/utils/media-query.js +0 -0
- package/src/templates/{vue → vue-v2}/application/src/views/change-password-form.vue +2 -3
- package/src/templates/{vue → vue-v2}/application/src/views/create-account-form.vue +2 -3
- package/src/templates/{vue → vue-v2}/application/src/views/login-form.vue +2 -3
- package/src/templates/{vue → vue-v2}/application/src/views/reset-password-form.vue +2 -3
- package/src/templates/{vue → vue-v2}/application/vue.config.js +0 -0
- package/src/templates/{vue → vue-v2}/page/page.vue +0 -0
- package/src/templates/{vue → vue-v2}/sample-pages/home.vue +5 -5
- package/src/templates/{vue → vue-v2}/sample-pages/profile.vue +1 -1
- package/src/templates/{vue → vue-v2}/sample-pages/tasks.vue +1 -0
- package/src/templates/vue-v3/.DS_Store +0 -0
- package/src/templates/vue-v3/application/.DS_Store +0 -0
- package/src/templates/{vue → vue-v3}/application/devextreme.json +3 -0
- package/src/templates/vue-v3/application/src/.DS_Store +0 -0
- package/src/templates/vue-v3/application/src/App.vue +101 -0
- package/src/templates/vue-v3/application/src/app-info.js +3 -0
- package/src/templates/vue-v3/application/src/app-navigation.js +21 -0
- package/src/templates/vue-v3/application/src/auth.js +101 -0
- package/src/templates/vue-v3/application/src/components/app-footer.vue +21 -0
- package/src/templates/vue-v3/application/src/components/header-toolbar.vue +161 -0
- package/src/templates/vue-v3/application/src/components/side-nav-menu.vue +204 -0
- package/src/templates/vue-v3/application/src/components/user-panel.vue +114 -0
- package/src/templates/vue-v3/application/src/dx-styles.scss +57 -0
- package/src/templates/vue-v3/application/src/layouts/side-nav-inner-toolbar.vue +192 -0
- package/src/templates/vue-v3/application/src/layouts/side-nav-outer-toolbar.vue +144 -0
- package/src/templates/vue-v3/application/src/layouts/single-card.vue +83 -0
- package/src/templates/vue-v3/application/src/main.js +10 -0
- package/src/templates/vue-v3/application/src/router.js +130 -0
- package/src/templates/vue-v3/application/src/themes/metadata.additional.json +12 -0
- package/src/templates/vue-v3/application/src/themes/metadata.base.json +7 -0
- package/src/templates/vue-v3/application/src/utils/media-query.js +33 -0
- package/src/templates/vue-v3/application/src/views/change-password-form.vue +115 -0
- package/src/templates/vue-v3/application/src/views/create-account-form.vue +155 -0
- package/src/templates/vue-v3/application/src/views/login-form.vue +146 -0
- package/src/templates/vue-v3/application/src/views/reset-password-form.vue +117 -0
- package/src/templates/vue-v3/application/vue.config.js +3 -0
- package/src/templates/vue-v3/page/page.vue +13 -0
- package/src/templates/vue-v3/sample-pages/home.vue +173 -0
- package/src/templates/vue-v3/sample-pages/profile.vue +88 -0
- package/src/templates/vue-v3/sample-pages/tasks.vue +133 -0
- package/src/themebuider.js +42 -63
- package/src/utility/latest-versions.js +4 -4
- package/src/utility/package-manager.js +8 -2
- package/src/{layout.js → utility/prompts/layout.js} +4 -4
- package/src/utility/prompts/prompts.js +16 -0
- package/src/utility/prompts/vue-version.js +29 -0
- package/src/utility/run-command.js +3 -4
- package/src/utility/prompts.js +0 -11
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
{
|
|
2
|
+
"applicationEngine": "vue",
|
|
3
|
+
"vue": {
|
|
4
|
+
"version": 2
|
|
5
|
+
},
|
|
6
|
+
"build": {
|
|
7
|
+
"commands": [
|
|
8
|
+
{
|
|
9
|
+
"command": "build-theme",
|
|
10
|
+
"options": {
|
|
11
|
+
"inputFile": "src/themes/metadata.base.json",
|
|
12
|
+
"outputFile": "src/themes/generated/theme.base.css"
|
|
13
|
+
}
|
|
14
|
+
},
|
|
15
|
+
{
|
|
16
|
+
"command": "build-theme",
|
|
17
|
+
"options": {
|
|
18
|
+
"inputFile": "src/themes/metadata.additional.json",
|
|
19
|
+
"outputFile": "src/themes/generated/theme.additional.css"
|
|
20
|
+
}
|
|
21
|
+
},
|
|
22
|
+
{
|
|
23
|
+
"command": "export-theme-vars",
|
|
24
|
+
"options": {
|
|
25
|
+
"inputFile": "src/themes/metadata.base.json",
|
|
26
|
+
"outputFile": "src/themes/generated/variables.base.scss"
|
|
27
|
+
}
|
|
28
|
+
},
|
|
29
|
+
{
|
|
30
|
+
"command": "export-theme-vars",
|
|
31
|
+
"options": {
|
|
32
|
+
"inputFile": "src/themes/metadata.additional.json",
|
|
33
|
+
"outputFile": "src/themes/generated/variables.additional.scss"
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
]
|
|
37
|
+
}
|
|
38
|
+
}
|
|
Binary file
|
|
@@ -11,7 +11,7 @@
|
|
|
11
11
|
<router-view name="content" />
|
|
12
12
|
</div>
|
|
13
13
|
<template #footer>
|
|
14
|
-
<
|
|
14
|
+
<app-footer />
|
|
15
15
|
</template>
|
|
16
16
|
</router-view>
|
|
17
17
|
</div>
|
|
@@ -19,7 +19,7 @@
|
|
|
19
19
|
</template>
|
|
20
20
|
|
|
21
21
|
<script>
|
|
22
|
-
import
|
|
22
|
+
import AppFooter from "./components/app-footer";
|
|
23
23
|
import { sizes, subscribe, unsubscribe } from "./utils/media-query";
|
|
24
24
|
|
|
25
25
|
function getScreenSizeInfo() {
|
|
@@ -60,7 +60,7 @@ export default {
|
|
|
60
60
|
},
|
|
61
61
|
|
|
62
62
|
components: {
|
|
63
|
-
|
|
63
|
+
AppFooter
|
|
64
64
|
}
|
|
65
65
|
};
|
|
66
66
|
</script>
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
@@ -77,7 +77,8 @@ export default {
|
|
|
77
77
|
userMenuItems: [
|
|
78
78
|
{
|
|
79
79
|
text: "Profile",
|
|
80
|
-
icon: "user"
|
|
80
|
+
icon: "user",
|
|
81
|
+
onClick: this.onProfileClick
|
|
81
82
|
},
|
|
82
83
|
{
|
|
83
84
|
text: "Logout",
|
|
@@ -94,6 +95,12 @@ export default {
|
|
|
94
95
|
path: "/login-form",
|
|
95
96
|
query: { redirect: this.$route.path }
|
|
96
97
|
});
|
|
98
|
+
},
|
|
99
|
+
onProfileClick() {
|
|
100
|
+
this.$router.push({
|
|
101
|
+
path: "/profile",
|
|
102
|
+
query: { redirect: this.$route.path }
|
|
103
|
+
});
|
|
97
104
|
}
|
|
98
105
|
},
|
|
99
106
|
components: {
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
<template>
|
|
2
|
-
<form @submit="onSubmit">
|
|
2
|
+
<form @submit.prevent="onSubmit">
|
|
3
3
|
<dx-form :form-data="formData" :disabled="loading">
|
|
4
4
|
<dx-item
|
|
5
5
|
data-field="password"
|
|
@@ -80,8 +80,7 @@ components: {
|
|
|
80
80
|
},
|
|
81
81
|
/* eslint-disable no-debugger */
|
|
82
82
|
methods: {
|
|
83
|
-
onSubmit: async function(
|
|
84
|
-
e.preventDefault();
|
|
83
|
+
onSubmit: async function() {
|
|
85
84
|
const { password } = this.formData;
|
|
86
85
|
this.loading = true;
|
|
87
86
|
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
<template>
|
|
2
|
-
<form class="create-account-form" @submit="onSubmit">
|
|
2
|
+
<form class="create-account-form" @submit.prevent="onSubmit">
|
|
3
3
|
<dx-form :form-data="formData" :disabled="loading">
|
|
4
4
|
<dx-item
|
|
5
5
|
data-field="email"
|
|
@@ -99,8 +99,7 @@ export default {
|
|
|
99
99
|
}
|
|
100
100
|
},
|
|
101
101
|
methods: {
|
|
102
|
-
onSubmit: async function(
|
|
103
|
-
e.preventDefault();
|
|
102
|
+
onSubmit: async function() {
|
|
104
103
|
const { email, password } = this.formData;
|
|
105
104
|
this.loading = true;
|
|
106
105
|
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
<template>
|
|
2
|
-
<form class="login-form" @submit="onSubmit">
|
|
2
|
+
<form class="login-form" @submit.prevent="onSubmit">
|
|
3
3
|
<dx-form :form-data="formData" :disabled="loading">
|
|
4
4
|
<dx-item
|
|
5
5
|
data-field="email"
|
|
@@ -85,8 +85,7 @@ export default {
|
|
|
85
85
|
onCreateAccountClick() {
|
|
86
86
|
this.$router.push("/create-account");
|
|
87
87
|
},
|
|
88
|
-
onSubmit: async function(
|
|
89
|
-
e.preventDefault();
|
|
88
|
+
onSubmit: async function() {
|
|
90
89
|
const { email, password } = this.formData;
|
|
91
90
|
this.loading = true;
|
|
92
91
|
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
<template>
|
|
2
|
-
<form class="reset-password-form" @submit="onSubmit">
|
|
2
|
+
<form class="reset-password-form" @submit.prevent="onSubmit">
|
|
3
3
|
<dx-form :form-data="formData" :disabled="loading">
|
|
4
4
|
<dx-item
|
|
5
5
|
data-field="email"
|
|
@@ -73,8 +73,7 @@ export default {
|
|
|
73
73
|
}
|
|
74
74
|
},
|
|
75
75
|
methods: {
|
|
76
|
-
onSubmit: async function(
|
|
77
|
-
e.preventDefault();
|
|
76
|
+
onSubmit: async function() {
|
|
78
77
|
const { email } = this.formData;
|
|
79
78
|
this.loading = true;
|
|
80
79
|
|
|
File without changes
|
|
File without changes
|
|
@@ -97,7 +97,7 @@
|
|
|
97
97
|
and includes the following DevExtreme components:</p>
|
|
98
98
|
<ul>
|
|
99
99
|
<li>
|
|
100
|
-
<a href="https://js.devexpress.com/Documentation/Guide/
|
|
100
|
+
<a href="https://js.devexpress.com/Documentation/Guide/UI_Components/DataGrid/Getting_Started_with_DataGrid/" target="_blank" rel="noopener noreferrer">DataGrid</a>
|
|
101
101
|
</li>
|
|
102
102
|
<li>
|
|
103
103
|
<a href="https://js.devexpress.com/Documentation/Guide/Widgets/Form/Overview/" target="_blank" rel="noopener noreferrer">Form</a>
|
|
@@ -113,16 +113,16 @@
|
|
|
113
113
|
|
|
114
114
|
<ul>
|
|
115
115
|
<li>
|
|
116
|
-
<a href="https://js.devexpress.com/Documentation/Guide/Vue_Components/
|
|
116
|
+
<a href="https://js.devexpress.com/Documentation/Guide/Vue_Components/Application_Template/#Layouts" target="_blank" rel="noopener noreferrer">Layouts</a>
|
|
117
117
|
</li>
|
|
118
118
|
<li>
|
|
119
|
-
<a href="https://js.devexpress.com/Documentation/Guide/Vue_Components/
|
|
119
|
+
<a href="https://js.devexpress.com/Documentation/Guide/Vue_Components/Application_Template/#Add_a_New_View" target="_blank" rel="noopener noreferrer">Add a New View</a>
|
|
120
120
|
</li>
|
|
121
121
|
<li>
|
|
122
|
-
<a href="https://js.devexpress.com/Documentation/Guide/Vue_Components/
|
|
122
|
+
<a href="https://js.devexpress.com/Documentation/Guide/Vue_Components/Application_Template/#Configure_the_Navigation_Menu" target="_blank" rel="noopener noreferrer">Configure the Navigation Menu</a>
|
|
123
123
|
</li>
|
|
124
124
|
<li>
|
|
125
|
-
<a href="https://js.devexpress.com/Documentation/Guide/Vue_Components/
|
|
125
|
+
<a href="https://js.devexpress.com/Documentation/Guide/Vue_Components/Application_Template/#Configure_Themes" target="_blank" rel="noopener noreferrer">Configure Themes</a>
|
|
126
126
|
</li>
|
|
127
127
|
</ul>
|
|
128
128
|
<p>
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
@@ -0,0 +1,101 @@
|
|
|
1
|
+
<template>
|
|
2
|
+
<div id="root">
|
|
3
|
+
<div :class="cssClasses">
|
|
4
|
+
<component
|
|
5
|
+
:is="$route.meta.layout"
|
|
6
|
+
:title="title"
|
|
7
|
+
:is-x-small="screen.getScreenSizeInfo.isXSmall"
|
|
8
|
+
:is-large="screen.getScreenSizeInfo.isLarge"
|
|
9
|
+
>
|
|
10
|
+
<div class="content">
|
|
11
|
+
<router-view></router-view>
|
|
12
|
+
</div>
|
|
13
|
+
<template #footer>
|
|
14
|
+
<app-footer />
|
|
15
|
+
</template>
|
|
16
|
+
</component>
|
|
17
|
+
</div>
|
|
18
|
+
</div>
|
|
19
|
+
</template>
|
|
20
|
+
|
|
21
|
+
<script>
|
|
22
|
+
import AppFooter from "./components/app-footer";
|
|
23
|
+
import { sizes, subscribe, unsubscribe } from "./utils/media-query";
|
|
24
|
+
import {
|
|
25
|
+
getCurrentInstance,
|
|
26
|
+
reactive,
|
|
27
|
+
onMounted,
|
|
28
|
+
onBeforeUnmount,
|
|
29
|
+
computed
|
|
30
|
+
} from "vue";
|
|
31
|
+
|
|
32
|
+
function getScreenSizeInfo() {
|
|
33
|
+
const screenSizes = sizes();
|
|
34
|
+
|
|
35
|
+
return {
|
|
36
|
+
isXSmall: screenSizes["screen-x-small"],
|
|
37
|
+
isLarge: screenSizes["screen-large"],
|
|
38
|
+
cssClasses: Object.keys(screenSizes).filter(cl => screenSizes[cl])
|
|
39
|
+
};
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
export default {
|
|
43
|
+
components: {
|
|
44
|
+
AppFooter
|
|
45
|
+
},
|
|
46
|
+
setup() {
|
|
47
|
+
const vm = getCurrentInstance();
|
|
48
|
+
|
|
49
|
+
const title = vm.proxy.$appInfo.title;
|
|
50
|
+
const screen = reactive({ getScreenSizeInfo: {} });
|
|
51
|
+
screen.getScreenSizeInfo = getScreenSizeInfo();
|
|
52
|
+
|
|
53
|
+
function screenSizeChanged () {
|
|
54
|
+
screen.getScreenSizeInfo = getScreenSizeInfo();
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
onMounted(() => {
|
|
58
|
+
subscribe(screenSizeChanged);
|
|
59
|
+
});
|
|
60
|
+
|
|
61
|
+
onBeforeUnmount(() => {
|
|
62
|
+
unsubscribe(screenSizeChanged);
|
|
63
|
+
});
|
|
64
|
+
|
|
65
|
+
const cssClasses = computed(() => {
|
|
66
|
+
return ["app"].concat(screen.getScreenSizeInfo.cssClasses);
|
|
67
|
+
});
|
|
68
|
+
|
|
69
|
+
return {
|
|
70
|
+
title,
|
|
71
|
+
screen,
|
|
72
|
+
cssClasses
|
|
73
|
+
};
|
|
74
|
+
}
|
|
75
|
+
};
|
|
76
|
+
</script>
|
|
77
|
+
|
|
78
|
+
<style lang="scss">
|
|
79
|
+
html,
|
|
80
|
+
body {
|
|
81
|
+
margin: 0px;
|
|
82
|
+
min-height: 100%;
|
|
83
|
+
height: 100%;
|
|
84
|
+
}
|
|
85
|
+
|
|
86
|
+
#root {
|
|
87
|
+
height: 100%;
|
|
88
|
+
}
|
|
89
|
+
|
|
90
|
+
* {
|
|
91
|
+
box-sizing: border-box;
|
|
92
|
+
}
|
|
93
|
+
|
|
94
|
+
.app {
|
|
95
|
+
@import "./themes/generated/variables.base.scss";
|
|
96
|
+
background-color: darken($base-bg, 5);
|
|
97
|
+
display: flex;
|
|
98
|
+
height: 100%;
|
|
99
|
+
width: 100%;
|
|
100
|
+
}
|
|
101
|
+
</style>
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
export default [<%=^empty%>
|
|
2
|
+
{
|
|
3
|
+
text: "Home",
|
|
4
|
+
path: "/home",
|
|
5
|
+
icon: "home"
|
|
6
|
+
},
|
|
7
|
+
{
|
|
8
|
+
text: "Examples",
|
|
9
|
+
icon: "folder",
|
|
10
|
+
items: [
|
|
11
|
+
{
|
|
12
|
+
text: "Profile",
|
|
13
|
+
path: "/profile"
|
|
14
|
+
},
|
|
15
|
+
{
|
|
16
|
+
text: "Tasks",
|
|
17
|
+
path: "/tasks"
|
|
18
|
+
}
|
|
19
|
+
]
|
|
20
|
+
}
|
|
21
|
+
<%=/empty%>];
|
|
@@ -0,0 +1,101 @@
|
|
|
1
|
+
const defaultUser = {
|
|
2
|
+
email: 'sandra@example.com',
|
|
3
|
+
avatarUrl: 'https://js.devexpress.com/Demos/WidgetsGallery/JSDemos/images/employees/06.png'
|
|
4
|
+
};
|
|
5
|
+
|
|
6
|
+
export default {
|
|
7
|
+
_user: defaultUser,
|
|
8
|
+
loggedIn() {
|
|
9
|
+
return !!this._user;
|
|
10
|
+
},
|
|
11
|
+
|
|
12
|
+
async logIn(email, password) {
|
|
13
|
+
try {
|
|
14
|
+
// Send request
|
|
15
|
+
console.log(email, password);
|
|
16
|
+
this._user = { ...defaultUser, email };
|
|
17
|
+
|
|
18
|
+
return {
|
|
19
|
+
isOk: true,
|
|
20
|
+
data: this._user
|
|
21
|
+
};
|
|
22
|
+
}
|
|
23
|
+
catch {
|
|
24
|
+
return {
|
|
25
|
+
isOk: false,
|
|
26
|
+
message: "Authentication failed"
|
|
27
|
+
};
|
|
28
|
+
}
|
|
29
|
+
},
|
|
30
|
+
|
|
31
|
+
async logOut() {
|
|
32
|
+
this._user = null;
|
|
33
|
+
},
|
|
34
|
+
|
|
35
|
+
async getUser() {
|
|
36
|
+
try {
|
|
37
|
+
// Send request
|
|
38
|
+
|
|
39
|
+
return {
|
|
40
|
+
isOk: true,
|
|
41
|
+
data: this._user
|
|
42
|
+
};
|
|
43
|
+
}
|
|
44
|
+
catch {
|
|
45
|
+
return {
|
|
46
|
+
isOk: false
|
|
47
|
+
};
|
|
48
|
+
}
|
|
49
|
+
},
|
|
50
|
+
|
|
51
|
+
async resetPassword(email) {
|
|
52
|
+
try {
|
|
53
|
+
// Send request
|
|
54
|
+
console.log(email);
|
|
55
|
+
|
|
56
|
+
return {
|
|
57
|
+
isOk: true
|
|
58
|
+
};
|
|
59
|
+
}
|
|
60
|
+
catch {
|
|
61
|
+
return {
|
|
62
|
+
isOk: false,
|
|
63
|
+
message: "Failed to reset password"
|
|
64
|
+
};
|
|
65
|
+
}
|
|
66
|
+
},
|
|
67
|
+
|
|
68
|
+
async changePassword(email, recoveryCode) {
|
|
69
|
+
try {
|
|
70
|
+
// Send request
|
|
71
|
+
console.log(email, recoveryCode);
|
|
72
|
+
|
|
73
|
+
return {
|
|
74
|
+
isOk: true
|
|
75
|
+
};
|
|
76
|
+
}
|
|
77
|
+
catch {
|
|
78
|
+
return {
|
|
79
|
+
isOk: false,
|
|
80
|
+
message: "Failed to change password"
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
},
|
|
84
|
+
|
|
85
|
+
async createAccount(email, password) {
|
|
86
|
+
try {
|
|
87
|
+
// Send request
|
|
88
|
+
console.log(email, password);
|
|
89
|
+
|
|
90
|
+
return {
|
|
91
|
+
isOk: true
|
|
92
|
+
};
|
|
93
|
+
}
|
|
94
|
+
catch {
|
|
95
|
+
return {
|
|
96
|
+
isOk: false,
|
|
97
|
+
message: "Failed to create account"
|
|
98
|
+
};
|
|
99
|
+
}
|
|
100
|
+
}
|
|
101
|
+
};
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
<template>
|
|
2
|
+
<div class="content-block">
|
|
3
|
+
<footer class="footer">
|
|
4
|
+
Copyright © 2011-{{new Date().getFullYear()}} {{this.$appInfo.title}} Inc.
|
|
5
|
+
<br />All trademarks or registered trademarks are property of their
|
|
6
|
+
respective owners.
|
|
7
|
+
</footer>
|
|
8
|
+
</div>
|
|
9
|
+
</template>
|
|
10
|
+
|
|
11
|
+
<style lang="scss">
|
|
12
|
+
@import "../themes/generated/variables.base.scss";
|
|
13
|
+
|
|
14
|
+
.footer {
|
|
15
|
+
display: block;
|
|
16
|
+
color: rgba($base-text-color, alpha($base-text-color) * 0.7);
|
|
17
|
+
border-top: 1px solid rgba(0, 0, 0, 0.1);
|
|
18
|
+
padding-top: 20px;
|
|
19
|
+
padding-bottom: 24px;
|
|
20
|
+
}
|
|
21
|
+
</style>
|