devextreme-cli 1.6.3 → 1.6.5

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.
Files changed (40) hide show
  1. package/package.json +3 -3
  2. package/src/applications/application.vue.js +16 -67
  3. package/src/commands.json +0 -3
  4. package/src/templates/react/application/src/components/change-password-form/ChangePasswordForm.tsx +86 -86
  5. package/src/templates/react/application/src/components/create-account-form/CreateAccountForm.tsx +107 -107
  6. package/src/templates/react/application/src/components/side-navigation-menu/SideNavigationMenu.scss +1 -1
  7. package/src/templates/react/application/src/dx-styles.scss +17 -0
  8. package/src/templates/react/application/src/types.tsx +55 -55
  9. package/src/templates/react/sample-pages/tasks/tasks.tsx +1 -0
  10. package/src/templates/vue-v3/application/src/components/side-nav-menu.vue +1 -1
  11. package/src/templates/vue-v3/sample-pages/tasks-page.vue +1 -0
  12. package/src/utility/latest-versions.js +3 -3
  13. package/src/templates/vue-v2/application/devextreme.json +0 -39
  14. package/src/templates/vue-v2/application/src/App.vue +0 -91
  15. package/src/templates/vue-v2/application/src/app-info.js +0 -3
  16. package/src/templates/vue-v2/application/src/app-navigation.js +0 -21
  17. package/src/templates/vue-v2/application/src/auth.js +0 -101
  18. package/src/templates/vue-v2/application/src/components/app-footer.vue +0 -21
  19. package/src/templates/vue-v2/application/src/components/header-toolbar.vue +0 -157
  20. package/src/templates/vue-v2/application/src/components/side-nav-menu.vue +0 -190
  21. package/src/templates/vue-v2/application/src/components/user-panel.vue +0 -114
  22. package/src/templates/vue-v2/application/src/dx-styles.scss +0 -65
  23. package/src/templates/vue-v2/application/src/layouts/side-nav-inner-toolbar.vue +0 -158
  24. package/src/templates/vue-v2/application/src/layouts/side-nav-outer-toolbar.vue +0 -122
  25. package/src/templates/vue-v2/application/src/layouts/single-card.vue +0 -67
  26. package/src/templates/vue-v2/application/src/main.js +0 -16
  27. package/src/templates/vue-v2/application/src/router.js +0 -149
  28. package/src/templates/vue-v2/application/src/themes/metadata.additional.json +0 -11
  29. package/src/templates/vue-v2/application/src/themes/metadata.base.json +0 -7
  30. package/src/templates/vue-v2/application/src/utils/media-query.js +0 -33
  31. package/src/templates/vue-v2/application/src/views/change-password-form.vue +0 -105
  32. package/src/templates/vue-v2/application/src/views/create-account-form.vue +0 -143
  33. package/src/templates/vue-v2/application/src/views/login-form.vue +0 -133
  34. package/src/templates/vue-v2/application/src/views/reset-password-form.vue +0 -108
  35. package/src/templates/vue-v2/application/vue.config.js +0 -1
  36. package/src/templates/vue-v2/page/page.vue +0 -13
  37. package/src/templates/vue-v2/sample-pages/home-page.vue +0 -173
  38. package/src/templates/vue-v2/sample-pages/profile-page.vue +0 -84
  39. package/src/templates/vue-v2/sample-pages/tasks-page.vue +0 -134
  40. package/src/utility/prompts/vue-version.js +0 -17
@@ -1,56 +1,56 @@
1
- import { TreeViewTypes } from 'devextreme-react/tree-view';
2
- import { ButtonTypes } from 'devextreme-react/button';
3
- import React from 'react';
4
-
5
- export interface HeaderProps {
6
- menuToggleEnabled: boolean;
7
- title?: string;
8
- toggleMenu: (e: ButtonTypes.ClickEvent) => void;
9
- }
10
-
11
- export interface SideNavigationMenuProps {
12
- selectedItemChanged: (e: TreeViewTypes.ItemClickEvent) => void;
13
- openMenu: (e: React.PointerEvent) => void;
14
- compactMode: boolean;
15
- onMenuReady: (e: TreeViewTypes.ContentReadyEvent) => void;
16
- }
17
-
18
- export interface UserPanelProps {
19
- menuMode: 'context' | 'list';
20
- }
21
-
22
- export interface User {
23
- email: string;
24
- avatarUrl: string;
25
- }
26
-
27
- export type AuthContextType = {
28
- user?: User;
29
- signIn: (email: string, password: string) => Promise<{isOk: boolean, data?: User, message?: string}>;
30
- signOut: () => void;
31
- loading: boolean;
32
- }
33
-
34
- export interface SideNavToolbarProps {
35
- title: string;
36
- }
37
-
38
- export interface SingleCardProps {
39
- title?: string;
40
- description?: string;
41
- }
42
-
43
- export type Handle = () => void;
44
-
45
- interface NavigationData {
46
- currentPath: string;
47
- }
48
-
49
- export type NavigationContextType = {
50
- setNavigationData?: ({ currentPath }: NavigationData) => void;
51
- navigationData: NavigationData;
52
- }
53
-
54
- export type ValidationType = {
55
- value: string;
1
+ import { TreeViewTypes } from 'devextreme-react/tree-view';
2
+ import { ButtonTypes } from 'devextreme-react/button';
3
+ import React from 'react';
4
+
5
+ export interface HeaderProps {
6
+ menuToggleEnabled: boolean;
7
+ title?: string;
8
+ toggleMenu: (e: ButtonTypes.ClickEvent) => void;
9
+ }
10
+
11
+ export interface SideNavigationMenuProps {
12
+ selectedItemChanged: (e: TreeViewTypes.ItemClickEvent) => void;
13
+ openMenu: (e: React.PointerEvent) => void;
14
+ compactMode: boolean;
15
+ onMenuReady: (e: TreeViewTypes.ContentReadyEvent) => void;
16
+ }
17
+
18
+ export interface UserPanelProps {
19
+ menuMode: 'context' | 'list';
20
+ }
21
+
22
+ export interface User {
23
+ email: string;
24
+ avatarUrl: string;
25
+ }
26
+
27
+ export type AuthContextType = {
28
+ user?: User;
29
+ signIn: (email: string, password: string) => Promise<{isOk: boolean, data?: User, message?: string}>;
30
+ signOut: () => void;
31
+ loading: boolean;
32
+ }
33
+
34
+ export interface SideNavToolbarProps {
35
+ title: string;
36
+ }
37
+
38
+ export interface SingleCardProps {
39
+ title?: string;
40
+ description?: string;
41
+ }
42
+
43
+ export type Handle = () => void;
44
+
45
+ interface NavigationData {
46
+ currentPath: string;
47
+ }
48
+
49
+ export type NavigationContextType = {
50
+ setNavigationData?: ({ currentPath }: NavigationData) => void;
51
+ navigationData: NavigationData;
52
+ }
53
+
54
+ export type ValidationType = {
55
+ value: string;
56
56
  }
@@ -84,6 +84,7 @@ export default function Task() {
84
84
 
85
85
  const dataSource = {
86
86
  store: {
87
+ version: 2,
87
88
  type: 'odata',
88
89
  key: 'Task_ID',
89
90
  url: 'https://js.devexpress.com/Demos/DevAV/odata/Tasks'
@@ -131,7 +131,7 @@ export default {
131
131
  // ## Icon width customization
132
132
  .dx-treeview-item {
133
133
  padding-left: 0;
134
- padding-right: 0;
134
+ flex-direction: row-reverse;
135
135
 
136
136
  .dx-icon {
137
137
  width: $side-panel-min-width !important;
@@ -100,6 +100,7 @@ export default {
100
100
  setup() {
101
101
  const dataSourceConfig = {
102
102
  store: {
103
+ version: 2,
103
104
  type: "odata",
104
105
  key: "Task_ID",
105
106
  url: "https://js.devexpress.com/Demos/DevAV/odata/Tasks"
@@ -1,8 +1,8 @@
1
1
  const packageJson = require('../../package.json');
2
2
  module.exports = {
3
- 'devextreme': '^23.1.6',
4
- 'devextreme-react': '^23.1.6',
5
- 'devextreme-vue': '^23.1.6',
3
+ 'devextreme': '23.2.3',
4
+ 'devextreme-react': '23.2.3',
5
+ 'devextreme-vue': '23.2.3',
6
6
  'devextreme-cli': packageJson.version,
7
7
  'devextreme-schematics': 'latest'
8
8
  };
@@ -1,39 +0,0 @@
1
- {
2
- "applicationEngine": "vue",
3
- "vue": {
4
- "version": 2,
5
- "template": "javascript"
6
- },
7
- "build": {
8
- "commands": [
9
- {
10
- "command": "build-theme",
11
- "options": {
12
- "inputFile": "src/themes/metadata.base.json",
13
- "outputFile": "src/themes/generated/theme.base.css"
14
- }
15
- },
16
- {
17
- "command": "build-theme",
18
- "options": {
19
- "inputFile": "src/themes/metadata.additional.json",
20
- "outputFile": "src/themes/generated/theme.additional.css"
21
- }
22
- },
23
- {
24
- "command": "export-theme-vars",
25
- "options": {
26
- "inputFile": "src/themes/metadata.base.json",
27
- "outputFile": "src/themes/generated/variables.base.scss"
28
- }
29
- },
30
- {
31
- "command": "export-theme-vars",
32
- "options": {
33
- "inputFile": "src/themes/metadata.additional.json",
34
- "outputFile": "src/themes/generated/variables.additional.scss"
35
- }
36
- }
37
- ]
38
- }
39
- }
@@ -1,91 +0,0 @@
1
- <template>
2
- <div id="root">
3
- <div :class="cssClasses">
4
- <router-view
5
- name="layout"
6
- :title="title"
7
- :is-x-small="screen.isXSmall"
8
- :is-large="screen.isLarge"
9
- >
10
- <div class="content">
11
- <router-view name="content" />
12
- </div>
13
- <template #footer>
14
- <app-footer />
15
- </template>
16
- </router-view>
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
-
25
- function getScreenSizeInfo() {
26
- const screenSizes = sizes();
27
-
28
- return {
29
- isXSmall: screenSizes["screen-x-small"],
30
- isLarge: screenSizes["screen-large"],
31
- cssClasses: Object.keys(screenSizes).filter(cl => screenSizes[cl])
32
- };
33
- }
34
-
35
- export default {
36
- name: "app",
37
- data() {
38
- return {
39
- title: this.$appInfo.title,
40
- screen: getScreenSizeInfo()
41
- };
42
- },
43
- computed: {
44
- cssClasses() {
45
- return ["app"].concat(this.screen.cssClasses);
46
- }
47
- },
48
- methods: {
49
- screenSizeChanged() {
50
- this.screen = getScreenSizeInfo();
51
- }
52
- },
53
-
54
- mounted() {
55
- subscribe(this.screenSizeChanged);
56
- },
57
-
58
- beforeDestroy() {
59
- unsubscribe(this.screenSizeChanged);
60
- },
61
-
62
- components: {
63
- AppFooter
64
- }
65
- };
66
- </script>
67
-
68
- <style lang="scss">
69
- html,
70
- body {
71
- margin: 0px;
72
- min-height: 100%;
73
- height: 100%;
74
- }
75
-
76
- #root {
77
- height: 100%;
78
- }
79
-
80
- * {
81
- box-sizing: border-box;
82
- }
83
-
84
- .app {
85
- @import "./themes/generated/variables.base.scss";
86
- background-color: darken($base-bg, 5);
87
- display: flex;
88
- height: 100%;
89
- width: 100%;
90
- }
91
- </style>
@@ -1,3 +0,0 @@
1
- export default {
2
- title: "<%=project%>"
3
- };
@@ -1,21 +0,0 @@
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%>];
@@ -1,101 +0,0 @@
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
- };
@@ -1,21 +0,0 @@
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>
@@ -1,157 +0,0 @@
1
- <template>
2
- <header class="header-component">
3
- <dx-toolbar class="header-toolbar">
4
- <dx-item
5
- :visible="menuToggleEnabled"
6
- location="before"
7
- css-class="menu-button"
8
- >
9
- <template #default>
10
- <dx-button
11
- icon="menu"
12
- styling-mode="text"
13
- @click="toggleMenuFunc"
14
- />
15
- </template>
16
- </dx-item>
17
-
18
- <dx-item
19
- v-if="title"
20
- location="before"
21
- css-class="header-title dx-toolbar-label"
22
- >
23
- <template>
24
- <div>{{ title }}</div>
25
- </template>
26
- </dx-item>
27
-
28
- <dx-item
29
- location="after"
30
- locate-in-menu="auto"
31
- menu-item-template="menuUserItem"
32
- >
33
- <template #default>
34
- <div>
35
- <dx-button
36
- class="user-button authorization"
37
- :width="210"
38
- height="100%"
39
- styling-mode="text"
40
- >
41
- <user-panel :user="user" :menu-items="userMenuItems" menu-mode="context" />
42
- </dx-button>
43
- </div>
44
- </template>
45
- </dx-item>
46
- <template #menuUserItem>
47
- <user-panel
48
- :user="user"
49
- :menu-items="userMenuItems"
50
- menu-mode="list"
51
- />
52
- </template>
53
- </dx-toolbar>
54
- </header>
55
- </template>
56
-
57
- <script>
58
- import DxButton from "devextreme-vue/button";
59
- import DxToolbar, { DxItem } from "devextreme-vue/toolbar";
60
- import auth from "../auth";
61
-
62
- import UserPanel from "./user-panel";
63
-
64
- export default {
65
- props: {
66
- menuToggleEnabled: Boolean,
67
- title: String,
68
- toggleMenuFunc: Function,
69
- logOutFunc: Function
70
- },
71
- created() {
72
- auth.getUser().then((e) => this.user = e.data);
73
- },
74
- data() {
75
- return {
76
- user: { },
77
- userMenuItems: [
78
- {
79
- text: "Profile",
80
- icon: "user",
81
- onClick: this.onProfileClick
82
- },
83
- {
84
- text: "Logout",
85
- icon: "runner",
86
- onClick: this.onLogoutClick
87
- }
88
- ]
89
- };
90
- },
91
- methods: {
92
- onLogoutClick() {
93
- auth.logOut();
94
- this.$router.push({
95
- path: "/login-form",
96
- query: { redirect: this.$route.path }
97
- });
98
- },
99
- onProfileClick() {
100
- this.$router.push({
101
- path: "/profile",
102
- query: { redirect: this.$route.path }
103
- });
104
- }
105
- },
106
- components: {
107
- DxButton,
108
- DxToolbar,
109
- DxItem,
110
- UserPanel
111
- }
112
- };
113
- </script>
114
-
115
- <style lang="scss">
116
- @import "../themes/generated/variables.base.scss";
117
- @import "../dx-styles.scss";
118
-
119
- .header-component {
120
- flex: 0 0 auto;
121
- z-index: 1;
122
- box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 2px rgba(0, 0, 0, 0.24);
123
-
124
- .dx-toolbar .dx-toolbar-item.menu-button > .dx-toolbar-item-content .dx-icon {
125
- color: $base-accent;
126
- }
127
- }
128
-
129
- .dx-toolbar.header-toolbar .dx-toolbar-items-container .dx-toolbar-after {
130
- padding: 0 40px;
131
-
132
- .screen-x-small & {
133
- padding: 0 20px;
134
- }
135
- }
136
-
137
- .dx-toolbar .dx-toolbar-item.dx-toolbar-button.menu-button {
138
- width: $side-panel-min-width;
139
- text-align: center;
140
- padding: 0;
141
- }
142
-
143
- .header-title .dx-item-content {
144
- padding: 0;
145
- margin: 0;
146
- }
147
-
148
- .dx-theme-generic {
149
- .dx-toolbar {
150
- padding: 10px 0;
151
- }
152
-
153
- .user-button > .dx-button-content {
154
- padding: 3px;
155
- }
156
- }
157
- </style>