zmp-cli 3.15.7 → 3.15.9
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/README.md +97 -1
- package/build/index.js +1 -1
- package/config/index.js +1 -1
- package/create/index.js +1 -1
- package/create/utils/generate-app-config.js +1 -1
- package/create/utils/generate-npm-scripts.js +1 -1
- package/create/utils/get-options.js +1 -1
- package/create/utils/npm-scripts.js +1 -1
- package/deploy/index.js +1 -1
- package/deploy/utils/get-options.js +1 -1
- package/deploy/utils/request-upload.js +1 -1
- package/deploy/utils/upload-app.js +1 -1
- package/index.js +1 -1
- package/login/index.js +1 -1
- package/login/utils/get-options.js +1 -1
- package/login/utils/zalo-login.js +1 -1
- package/migrate/icons/update-icon-v3.js +1 -1
- package/migrate/index.js +1 -1
- package/migrate/utils/get-options.js +1 -1
- package/migrate/utils/migrate-react.js +1 -1
- package/package.json +3 -2
- package/start/frame/index.html +264 -254
- package/start/index.js +1 -1
- package/sync/index-to-app-config.js +1 -1
- package/sync/index.js +1 -1
- package/utils/axios.js +1 -1
- package/utils/check-update.js +1 -1
- package/utils/constants.js +1 -1
- package/utils/env.js +1 -1
- package/utils/error.js +1 -1
- package/utils/find-files-by-ext.js +1 -1
- package/utils/find-free-port.js +1 -1
- package/utils/fs-extra.js +1 -1
- package/utils/generate-pages-map.js +1 -1
- package/utils/get-app-info.js +1 -1
- package/utils/get-current-project.js +1 -1
- package/utils/get-ip.js +1 -1
- package/utils/log.js +1 -1
- package/utils/node-blob.js +1 -1
- package/utils/resumable.d.js +1 -1
- package/utils/resumable.js +1 -1
- package/utils/spinner.js +1 -1
- package/utils/tunnel.js +1 -1
- package/create/init-zmp-ui.js +0 -1
- package/create/templates/app-parameters.js +0 -17
- package/create/templates/common/css/icons.css +0 -60
- package/create/templates/common/icons/512x512.png +0 -0
- package/create/templates/common/icons/apple-touch-icon.png +0 -0
- package/create/templates/common/icons/favicon.png +0 -0
- package/create/templates/common/postcss.config.js +0 -5
- package/create/templates/common/splash-2732x2732.png +0 -0
- package/create/templates/common/tailwind/postcss.config.js +0 -5
- package/create/templates/common/tailwind/tailwind.config.js +0 -9
- package/create/templates/common/tailwind/tailwind.css +0 -3
- package/create/templates/common/webpack/build.js +0 -3
- package/create/templates/copy-assets.js +0 -1
- package/create/templates/core/babel.config.js +0 -11
- package/create/templates/core/copy-assets.js +0 -15
- package/create/templates/core/generate-home-page.js +0 -121
- package/create/templates/core/generate-root.js +0 -248
- package/create/templates/core/generate-routes.js +0 -129
- package/create/templates/core/generate-scripts.js +0 -45
- package/create/templates/core/pages/404.html +0 -20
- package/create/templates/core/pages/about.html +0 -26
- package/create/templates/core/pages/catalog.html +0 -40
- package/create/templates/core/pages/dynamic-route.html +0 -115
- package/create/templates/core/pages/form.html +0 -258
- package/create/templates/core/pages/left-page-1.html +0 -24
- package/create/templates/core/pages/left-page-2.html +0 -23
- package/create/templates/core/pages/product.html +0 -36
- package/create/templates/core/pages/request-and-load.html +0 -35
- package/create/templates/core/pages/settings.html +0 -252
- package/create/templates/create-folders.js +0 -1
- package/create/templates/generate-config-xml.js +0 -11
- package/create/templates/generate-index.js +0 -24
- package/create/templates/generate-manifest.js +0 -1
- package/create/templates/generate-recoil.js +0 -44
- package/create/templates/generate-routes.js +0 -1
- package/create/templates/generate-scripts.js +0 -1
- package/create/templates/generate-service-worker.js +0 -120
- package/create/templates/generate-store.js +0 -77
- package/create/templates/generate-styles.js +0 -56
- package/create/templates/generate-webpack-config.js +0 -253
- package/create/templates/generate-zmp-custom.js +0 -23
- package/create/templates/react/babel.config.js +0 -12
- package/create/templates/react/components/app-items.jsx +0 -44
- package/create/templates/react/components/navbar-back.jsx +0 -25
- package/create/templates/react/components/user-card.jsx +0 -18
- package/create/templates/react/copy-assets.js +0 -1
- package/create/templates/react/generate-home-page.js +0 -81
- package/create/templates/react/generate-root.js +0 -55
- package/create/templates/react/generate-routes.js +0 -1
- package/create/templates/react/generate-scripts.js +0 -42
- package/create/templates/react/pages/404.js +0 -19
- package/create/templates/react/pages/about.js +0 -44
- package/create/templates/react/pages/catalog.js +0 -98
- package/create/templates/react/pages/dynamic-route.js +0 -72
- package/create/templates/react/pages/form.js +0 -132
- package/create/templates/react/pages/index copy.js +0 -1
- package/create/templates/react/pages/index.js +0 -1
- package/create/templates/react/pages/settings.js +0 -62
- package/create/templates/react/pages/user.js +0 -37
- package/create/templates/react/vite.config.js +0 -11
- package/create/templates/react-typescript/_tsconfig.json +0 -33
- package/create/templates/react-typescript/components/app-items.js +0 -46
- package/create/templates/react-typescript/components/index.js +0 -1
- package/create/templates/react-typescript/components/navbar-back.js +0 -33
- package/create/templates/react-typescript/components/user-card.js +0 -25
- package/create/templates/react-typescript/copy-assets.js +0 -1
- package/create/templates/react-typescript/generate-home-page.js +0 -81
- package/create/templates/react-typescript/generate-root.js +0 -50
- package/create/templates/react-typescript/generate-routes.js +0 -1
- package/create/templates/react-typescript/generate-scripts.js +0 -42
- package/create/templates/react-typescript/pages/404.js +0 -19
- package/create/templates/react-typescript/pages/about.js +0 -44
- package/create/templates/react-typescript/pages/catalog.js +0 -98
- package/create/templates/react-typescript/pages/dynamic-route.js +0 -72
- package/create/templates/react-typescript/pages/form.js +0 -132
- package/create/templates/react-typescript/pages/index.js +0 -1
- package/create/templates/react-typescript/pages/settings.js +0 -62
- package/create/templates/react-typescript/pages/user.js +0 -37
- package/create/templates/react-typescript/vite.config.js +0 -21
- package/create/templates/svelte/babel.config.js +0 -10
- package/create/templates/svelte/copy-assets.js +0 -1
- package/create/templates/svelte/generate-home-page.js +0 -122
- package/create/templates/svelte/generate-root.js +0 -177
- package/create/templates/svelte/generate-routes.js +0 -76
- package/create/templates/svelte/generate-scripts.js +0 -31
- package/create/templates/svelte/pages/404.svelte +0 -10
- package/create/templates/svelte/pages/about.svelte +0 -16
- package/create/templates/svelte/pages/catalog.svelte +0 -31
- package/create/templates/svelte/pages/dynamic-route.svelte +0 -34
- package/create/templates/svelte/pages/form.svelte +0 -175
- package/create/templates/svelte/pages/left-page-1.svelte +0 -13
- package/create/templates/svelte/pages/left-page-2.svelte +0 -12
- package/create/templates/svelte/pages/product.svelte +0 -21
- package/create/templates/svelte/pages/request-and-load.svelte +0 -21
- package/create/templates/svelte/pages/settings.svelte +0 -175
- package/create/templates/vue/babel.config.js +0 -10
- package/create/templates/vue/components/header.vue +0 -28
- package/create/templates/vue/components/sun-and-moon.vue +0 -34
- package/create/templates/vue/copy-assets.js +0 -1
- package/create/templates/vue/generate-home-page.js +0 -50
- package/create/templates/vue/generate-root.js +0 -40
- package/create/templates/vue/generate-routes.js +0 -1
- package/create/templates/vue/generate-scripts.js +0 -46
- package/create/templates/vue/global-components.d.js +0 -1
- package/create/templates/vue/global-components.d.ts +0 -121
- package/create/templates/vue/icons/moon.svg +0 -3
- package/create/templates/vue/icons/sun.svg +0 -3
- package/create/templates/vue/pages/404.vue +0 -12
- package/create/templates/vue/pages/about.vue +0 -15
- package/create/templates/vue/pages/catalog.vue +0 -39
- package/create/templates/vue/pages/dynamic-route.vue +0 -34
- package/create/templates/vue/pages/form.vue +0 -162
- package/create/templates/vue/pages/left-page-1.vue +0 -14
- package/create/templates/vue/pages/left-page-2.vue +0 -11
- package/create/templates/vue/pages/product.vue +0 -31
- package/create/templates/vue/pages/request-and-load.vue +0 -25
- package/create/templates/vue/pages/settings.vue +0 -18
- package/create/templates/vue/vite.config.js +0 -11
- package/create/templates/zaui/_tsconfig.json +0 -33
- package/create/templates/zaui/babel.config.js +0 -12
- package/create/templates/zaui/components/user-card.jsx +0 -16
- package/create/templates/zaui/copy-assets.js +0 -1
- package/create/templates/zaui/generate-home-page.js +0 -91
- package/create/templates/zaui/generate-root.js +0 -33
- package/create/templates/zaui/generate-routes.js +0 -1
- package/create/templates/zaui/generate-scripts.js +0 -25
- package/create/templates/zaui/generate-user-card.js +0 -40
- package/create/templates/zaui/pages/about.js +0 -112
- package/create/templates/zaui/pages/form.js +0 -106
- package/create/templates/zaui/pages/index.js +0 -1
- package/create/templates/zaui/pages/user.js +0 -92
- package/create/templates/zaui/vite.config.js +0 -11
- package/create/utils/colors.js +0 -1
- package/create/utils/generate-gitignore.js +0 -1
- package/create/utils/generate-package-json.js +0 -1
- package/create/utils/generate-readme.js +0 -1
- package/create/utils/indent.js +0 -1
- package/create/utils/string.js +0 -1
- package/create/utils/styles-extension.js +0 -1
- package/create/utils/template-if.js +0 -1
- package/start/generate-hr-config.js +0 -1
|
@@ -1,129 +0,0 @@
|
|
|
1
|
-
"use strict";const t=require("../../utils/template-if"),e=require("../../utils/indent");module.exports=a=>{let o;let{bundler:p,template:m}=a;return o="blank"===m?"webpack"===p?e(0,`
|
|
2
|
-
import HomePage from './pages/home.zmp.html';
|
|
3
|
-
|
|
4
|
-
var routes = [
|
|
5
|
-
{
|
|
6
|
-
path: '/',
|
|
7
|
-
component: HomePage,
|
|
8
|
-
},
|
|
9
|
-
];
|
|
10
|
-
`):e(0,`
|
|
11
|
-
var routes = [
|
|
12
|
-
{
|
|
13
|
-
path: '/',
|
|
14
|
-
url: './index.html',
|
|
15
|
-
},
|
|
16
|
-
];
|
|
17
|
-
`):"webpack"===p?e(0,`
|
|
18
|
-
import HomePage from './pages/home.zmp.html';
|
|
19
|
-
import AboutPage from './pages/about.zmp.html';
|
|
20
|
-
import FormPage from './pages/form.zmp.html';
|
|
21
|
-
${t("tabs"===m,()=>`
|
|
22
|
-
import CatalogPage from './pages/catalog.zmp.html';
|
|
23
|
-
import ProductPage from './pages/product.zmp.html';
|
|
24
|
-
import SettingsPage from './pages/settings.zmp.html';
|
|
25
|
-
`)}
|
|
26
|
-
${t("split-view"===m,()=>`
|
|
27
|
-
import LeftPage1 from './pages/left-page-1.zmp.html';
|
|
28
|
-
import LeftPage2 from './pages/left-page-2.zmp.html';
|
|
29
|
-
`)}
|
|
30
|
-
${t("blank"!==m,()=>`
|
|
31
|
-
import DynamicRoutePage from './pages/dynamic-route.zmp.html';
|
|
32
|
-
import NotFoundPage from './pages/404.zmp.html';
|
|
33
|
-
`)}
|
|
34
|
-
|
|
35
|
-
var routes = [
|
|
36
|
-
{
|
|
37
|
-
path: '/',
|
|
38
|
-
component: HomePage,
|
|
39
|
-
},
|
|
40
|
-
{
|
|
41
|
-
path: '/about/',
|
|
42
|
-
component: AboutPage,
|
|
43
|
-
},
|
|
44
|
-
{
|
|
45
|
-
path: '/form/',
|
|
46
|
-
component: FormPage,
|
|
47
|
-
},
|
|
48
|
-
${t("tabs"===m,()=>`
|
|
49
|
-
{
|
|
50
|
-
path: '/catalog/',
|
|
51
|
-
component: CatalogPage,
|
|
52
|
-
},
|
|
53
|
-
{
|
|
54
|
-
path: '/product/:id/',
|
|
55
|
-
component: ProductPage,
|
|
56
|
-
},
|
|
57
|
-
{
|
|
58
|
-
path: '/settings/',
|
|
59
|
-
component: SettingsPage,
|
|
60
|
-
},
|
|
61
|
-
`)}
|
|
62
|
-
${t("split-view"===m,()=>`
|
|
63
|
-
{
|
|
64
|
-
path: '/left-page-1/',
|
|
65
|
-
component: LeftPage1,
|
|
66
|
-
},
|
|
67
|
-
{
|
|
68
|
-
path: '/left-page-2/',
|
|
69
|
-
component: LeftPage2,
|
|
70
|
-
},
|
|
71
|
-
`)}
|
|
72
|
-
{
|
|
73
|
-
path: '/dynamic-route/blog/:blogId/post/:postId/',
|
|
74
|
-
component: DynamicRoutePage,
|
|
75
|
-
},
|
|
76
|
-
{
|
|
77
|
-
path: '(.*)',
|
|
78
|
-
component: NotFoundPage,
|
|
79
|
-
},
|
|
80
|
-
];
|
|
81
|
-
`):e(0,`
|
|
82
|
-
var routes = [
|
|
83
|
-
{
|
|
84
|
-
path: '/',
|
|
85
|
-
url: './index.html',
|
|
86
|
-
},
|
|
87
|
-
{
|
|
88
|
-
path: '/about/',
|
|
89
|
-
url: './pages/about.html',
|
|
90
|
-
},
|
|
91
|
-
{
|
|
92
|
-
path: '/form/',
|
|
93
|
-
url: './pages/form.html',
|
|
94
|
-
},
|
|
95
|
-
${t("tabs"===m,()=>`
|
|
96
|
-
{
|
|
97
|
-
path: '/catalog/',
|
|
98
|
-
componentUrl: './pages/catalog.html',
|
|
99
|
-
},
|
|
100
|
-
{
|
|
101
|
-
path: '/product/:id/',
|
|
102
|
-
componentUrl: './pages/product.html',
|
|
103
|
-
},
|
|
104
|
-
{
|
|
105
|
-
path: '/settings/',
|
|
106
|
-
url: './pages/settings.html',
|
|
107
|
-
},
|
|
108
|
-
`)}
|
|
109
|
-
${t("split-view"===m,()=>`
|
|
110
|
-
{
|
|
111
|
-
path: '/left-page-1/',
|
|
112
|
-
url: './pages/left-page-1.html',
|
|
113
|
-
},
|
|
114
|
-
{
|
|
115
|
-
path: '/left-page-2/',
|
|
116
|
-
url: './pages/left-page-2.html',
|
|
117
|
-
},
|
|
118
|
-
`)}
|
|
119
|
-
{
|
|
120
|
-
path: '/dynamic-route/blog/:blogId/post/:postId/',
|
|
121
|
-
componentUrl: './pages/dynamic-route.html',
|
|
122
|
-
},
|
|
123
|
-
// Default route (404 page). MUST BE THE LAST
|
|
124
|
-
{
|
|
125
|
-
path: '(.*)',
|
|
126
|
-
url: './pages/404.html',
|
|
127
|
-
},
|
|
128
|
-
];
|
|
129
|
-
`),p&&(o+="\nexport default routes;"),o};
|
|
@@ -1,45 +0,0 @@
|
|
|
1
|
-
"use strict";const r=require("../../utils/template-if"),e=require("../../utils/indent"),o=require("../app-parameters"),s=require("../../utils/styles-extension");module.exports=m=>{let{bundler:n,type:p,cssPreProcessor:t,theming:i,customBuild:a,template:l}=m,c="";return n?c+=e(0,`
|
|
2
|
-
import $ from 'zmp-dom';
|
|
3
|
-
${r(a,()=>`
|
|
4
|
-
import ZMP from './zmp-custom.js';
|
|
5
|
-
`,()=>`
|
|
6
|
-
import ZMP from 'zmp-framework/core/bundle';
|
|
7
|
-
`)}
|
|
8
|
-
|
|
9
|
-
// Import ZMP Styles
|
|
10
|
-
${r(a,()=>`
|
|
11
|
-
import '../css/zmp-custom.less';
|
|
12
|
-
`,()=>`
|
|
13
|
-
import 'zmp-framework/zmp-bundle.min.css';
|
|
14
|
-
`)}
|
|
15
|
-
|
|
16
|
-
// Import Icons and App Custom Styles
|
|
17
|
-
${r(i.iconFonts,()=>`
|
|
18
|
-
import '../css/icons.css';
|
|
19
|
-
`)}
|
|
20
|
-
import '../css/app.${s(t)}';
|
|
21
|
-
// Import Store
|
|
22
|
-
import store from '../store.js';
|
|
23
|
-
|
|
24
|
-
// Import main app component
|
|
25
|
-
import App from '../app.zmp.html';
|
|
26
|
-
`):c+=e(0,`
|
|
27
|
-
var $ = Dom7;
|
|
28
|
-
`),(c+=e(0,`
|
|
29
|
-
var app = new ZMP({
|
|
30
|
-
${e(6,o(m)).trim()}
|
|
31
|
-
});
|
|
32
|
-
${r(!n&&"blank"!==l,()=>`
|
|
33
|
-
// Login Screen Demo
|
|
34
|
-
$('#my-login-screen .login-button').on('click', function () {
|
|
35
|
-
var username = $('#my-login-screen [name="username"]').val();
|
|
36
|
-
var password = $('#my-login-screen [name="password"]').val();
|
|
37
|
-
|
|
38
|
-
// Close login screen
|
|
39
|
-
app.loginScreen.close('#my-login-screen');
|
|
40
|
-
|
|
41
|
-
// Alert username and password
|
|
42
|
-
app.dialog.alert('Username: ' + username + '<br/>Password: ' + password);
|
|
43
|
-
});
|
|
44
|
-
`)}
|
|
45
|
-
`)).trim()};
|
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
<div class="page">
|
|
2
|
-
<div class="navbar">
|
|
3
|
-
<div class="navbar-bg"></div>
|
|
4
|
-
<div class="navbar-inner sliding">
|
|
5
|
-
<div class="left">
|
|
6
|
-
<a href="#" class="link back">
|
|
7
|
-
<i class="icon icon-back"></i>
|
|
8
|
-
<span class="if-not-md">Back</span>
|
|
9
|
-
</a>
|
|
10
|
-
</div>
|
|
11
|
-
<div class="title">Not found</div>
|
|
12
|
-
</div>
|
|
13
|
-
</div>
|
|
14
|
-
<div class="page-content">
|
|
15
|
-
<div class="block block-strong">
|
|
16
|
-
<p>Sorry</p>
|
|
17
|
-
<p>Requested content not found.</p>
|
|
18
|
-
</div>
|
|
19
|
-
</div>
|
|
20
|
-
</div>
|
|
@@ -1,26 +0,0 @@
|
|
|
1
|
-
<div class="page" data-name="about">
|
|
2
|
-
<div class="navbar">
|
|
3
|
-
<div class="navbar-bg"></div>
|
|
4
|
-
<div class="navbar-inner sliding">
|
|
5
|
-
<div class="left">
|
|
6
|
-
<a href="#" class="link back">
|
|
7
|
-
<i class="icon icon-back"></i>
|
|
8
|
-
<span class="if-not-md">Back</span>
|
|
9
|
-
</a>
|
|
10
|
-
</div>
|
|
11
|
-
<div class="title">About</div>
|
|
12
|
-
</div>
|
|
13
|
-
</div>
|
|
14
|
-
<div class="page-content">
|
|
15
|
-
<div class="block-title">About My App</div>
|
|
16
|
-
<div class="block block-strong">
|
|
17
|
-
<p>Fugiat perspiciatis excepturi, soluta quod non ullam deleniti. Nobis sint nemo consequuntur, fugiat. Eius perferendis animi autem incidunt vel quod tenetur nostrum, voluptate omnis quasi quidem illum consequuntur, a, quisquam.</p>
|
|
18
|
-
<p>Laudantium neque magnam vitae nemo quam commodi, in cum dolore obcaecati laborum, excepturi harum, optio qui, consequuntur? Obcaecati dolor sequi nesciunt culpa quia perspiciatis, reiciendis ex debitis, ut tenetur alias.</p>
|
|
19
|
-
</div>
|
|
20
|
-
<div class="block">
|
|
21
|
-
<p>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Magni molestiae laudantium dignissimos est nobis delectus nemo ea alias voluptatum architecto, amet similique, saepe iste consectetur in repellat ut minus quibusdam!</p>
|
|
22
|
-
<p>Molestias et distinctio porro nesciunt ratione similique, magni doloribus, rerum nobis, aliquam quae reiciendis quasi modi. Nam a recusandae, fugiat in ea voluptates fuga eius, velit corrupti reprehenderit dignissimos consequatur!</p>
|
|
23
|
-
<p>Blanditiis, cumque quo adipisci. Molestiae, dolores dolorum quos doloremque ipsa ullam eligendi commodi deserunt doloribus inventore magni? Ea mollitia veniam nostrum nihil, iusto doloribus a at! Ea molestiae ullam delectus!</p>
|
|
24
|
-
</div>
|
|
25
|
-
</div>
|
|
26
|
-
</div>
|
|
@@ -1,40 +0,0 @@
|
|
|
1
|
-
<template>
|
|
2
|
-
<div class="page" data-name="catalog">
|
|
3
|
-
<div class="navbar">
|
|
4
|
-
<div class="navbar-bg"></div>
|
|
5
|
-
<div class="navbar-inner sliding">
|
|
6
|
-
<div class="title">Catalog</div>
|
|
7
|
-
</div>
|
|
8
|
-
</div>
|
|
9
|
-
<div class="page-content">
|
|
10
|
-
<div class="list links-list">
|
|
11
|
-
<ul>
|
|
12
|
-
${products.value.map((product) => $h`
|
|
13
|
-
<li><a href="/product/${product.id}/">${product.title}</a></li>
|
|
14
|
-
`)}
|
|
15
|
-
</ul>
|
|
16
|
-
</div>
|
|
17
|
-
${products.value.length === 3 && $h`
|
|
18
|
-
<div class="block">
|
|
19
|
-
<button class="button button-fill" @click=${addProduct}>Add Product</Button>
|
|
20
|
-
</div>
|
|
21
|
-
`}
|
|
22
|
-
</div>
|
|
23
|
-
</div>
|
|
24
|
-
</template>
|
|
25
|
-
<script>
|
|
26
|
-
export default (props, { $store }) => {
|
|
27
|
-
const products = $store.getters.products;
|
|
28
|
-
|
|
29
|
-
const addProduct = () => {
|
|
30
|
-
$store.dispatch('addProduct', {
|
|
31
|
-
id: '4',
|
|
32
|
-
title: 'Apple iPhone 12',
|
|
33
|
-
description: 'Lorem ipsum dolor sit amet, consectetur adipisicing elit. Nisi tempora similique reiciendis, error nesciunt vero, blanditiis pariatur dolor, minima sed sapiente rerum, dolorem corrupti hic modi praesentium unde saepe perspiciatis.'
|
|
34
|
-
});
|
|
35
|
-
}
|
|
36
|
-
|
|
37
|
-
return $render;
|
|
38
|
-
}
|
|
39
|
-
|
|
40
|
-
</script>
|
|
@@ -1,115 +0,0 @@
|
|
|
1
|
-
<template>
|
|
2
|
-
<div class="page">
|
|
3
|
-
<div class="navbar">
|
|
4
|
-
<div class="navbar-bg"></div>
|
|
5
|
-
<div class="navbar-inner sliding">
|
|
6
|
-
<div class="left">
|
|
7
|
-
<a href="#" class="link back">
|
|
8
|
-
<i class="icon icon-back"></i>
|
|
9
|
-
<span class="if-not-md">Back</span>
|
|
10
|
-
</a>
|
|
11
|
-
</div>
|
|
12
|
-
<div class="title">Component Page</div>
|
|
13
|
-
</div>
|
|
14
|
-
</div>
|
|
15
|
-
<div class="page-content">
|
|
16
|
-
<div class="block block-strong">
|
|
17
|
-
<p>Component page template is compiled as ES Template. In addition it has lifecycle hooks, events handling, data managment and Virtual DOM data bindings.</p>
|
|
18
|
-
<p>It is useful to use Component page when you need page-specific logic.</p>
|
|
19
|
-
</div>
|
|
20
|
-
<div class="block-title">Events Handling</div>
|
|
21
|
-
<div class="block block-strong">
|
|
22
|
-
<a href="#" class="button button-raised" @click=${openAlert}>Open Alert</a>
|
|
23
|
-
</div>
|
|
24
|
-
<div class="block-title">Page Component Data</div>
|
|
25
|
-
<div class="block block-strong">
|
|
26
|
-
<p>Hello! My name is ${name}. I am ${age} years old.</p>
|
|
27
|
-
<p>I like to play:</p>
|
|
28
|
-
<ul>
|
|
29
|
-
${likes.map((item) => $h`
|
|
30
|
-
<li>${item}</li>
|
|
31
|
-
`)}
|
|
32
|
-
</ul>
|
|
33
|
-
</div>
|
|
34
|
-
<div class="block-title">Extended Context</div>
|
|
35
|
-
<div class="block block-strong">
|
|
36
|
-
<p>Component page context as Template7 page context is also extended with some additional variables.</p>
|
|
37
|
-
<h4>$zmproute</h4>
|
|
38
|
-
<p>Contains properties of the current route:</p>
|
|
39
|
-
<ul style="padding-left:25px">
|
|
40
|
-
<li><b>$zmproute.url</b>: ${$zmproute.url}</li>
|
|
41
|
-
<li><b>$zmproute.path</b>: ${$zmproute.path}</li>
|
|
42
|
-
<li><b>$zmproute.params</b>: ${JSON.stringify($zmproute.params)}</li>
|
|
43
|
-
<li><b>$zmproute.hash</b>: ${$zmproute.hash}</li>
|
|
44
|
-
<li><b>$zmproute.query</b>: ${JSON.stringify($zmproute.query)}</li>
|
|
45
|
-
</ul>
|
|
46
|
-
|
|
47
|
-
<h4>$theme</h4>
|
|
48
|
-
<p>Currently active theme:</p>
|
|
49
|
-
<ul style="padding-left:25px">
|
|
50
|
-
<li><b>$theme.ios</b>: ${$theme.ios}</li>
|
|
51
|
-
<li><b>$theme.md</b>: ${$theme.md}</li>
|
|
52
|
-
<li><b>$theme.aurora</b>: ${$theme.aurora}</li>
|
|
53
|
-
</ul>
|
|
54
|
-
</div>
|
|
55
|
-
</div>
|
|
56
|
-
</div>
|
|
57
|
-
</template>
|
|
58
|
-
<style>
|
|
59
|
-
p {
|
|
60
|
-
margin: 10px 0;
|
|
61
|
-
}
|
|
62
|
-
</style>
|
|
63
|
-
<script>
|
|
64
|
-
export default function (props, {$zmp, $on, $onBeforeMount, $onMounted, $onBeforeUnmount, $onUnmounted }) {
|
|
65
|
-
// Component Data
|
|
66
|
-
let name = 'Jimmy';
|
|
67
|
-
let age = 25;
|
|
68
|
-
let likes = ['Tennis', 'Chess', 'Football'];
|
|
69
|
-
|
|
70
|
-
// Component Methods
|
|
71
|
-
const openAlert = () => {
|
|
72
|
-
$zmp.dialog.alert('Hello World');
|
|
73
|
-
}
|
|
74
|
-
|
|
75
|
-
// Lifecycle
|
|
76
|
-
$onBeforeMount(() => {
|
|
77
|
-
console.log('onBeforeMount');
|
|
78
|
-
});
|
|
79
|
-
$onMounted(() => {
|
|
80
|
-
console.log('onMounted');
|
|
81
|
-
});
|
|
82
|
-
$onBeforeUnmount(() => {
|
|
83
|
-
console.log('onBeforeUnmount');
|
|
84
|
-
});
|
|
85
|
-
$onUnmounted(() => {
|
|
86
|
-
console.log('onUnmounted');
|
|
87
|
-
});
|
|
88
|
-
|
|
89
|
-
// Page Events
|
|
90
|
-
$on('pageMounted', (e, page) => {
|
|
91
|
-
console.log('pageMounted', page);
|
|
92
|
-
});
|
|
93
|
-
$on('pageInit', (e, page) => {
|
|
94
|
-
console.log('pageInit', page);
|
|
95
|
-
});
|
|
96
|
-
$on('pageBeforeIn', (e, page) => {
|
|
97
|
-
console.log('pageBeforeIn', page);
|
|
98
|
-
});
|
|
99
|
-
$on('pageAfterIn', (e, page) => {
|
|
100
|
-
console.log('pageAfterIn', page);
|
|
101
|
-
});
|
|
102
|
-
$on('pageBeforeOut', (e, page) => {
|
|
103
|
-
console.log('pageBeforeOut', page);
|
|
104
|
-
});
|
|
105
|
-
$on('pageAfterOut', (e, page) => {
|
|
106
|
-
console.log('pageAfterOut', page);
|
|
107
|
-
});
|
|
108
|
-
$on('pageBeforeRemove', (e, page) => {
|
|
109
|
-
console.log('pageBeforeRemove', page);
|
|
110
|
-
});
|
|
111
|
-
|
|
112
|
-
// Return render function
|
|
113
|
-
return $render;
|
|
114
|
-
}
|
|
115
|
-
</script>
|
|
@@ -1,258 +0,0 @@
|
|
|
1
|
-
<div class="page" data-name="form">
|
|
2
|
-
<div class="navbar">
|
|
3
|
-
<div class="navbar-bg"></div>
|
|
4
|
-
<div class="navbar-inner sliding">
|
|
5
|
-
<div class="left">
|
|
6
|
-
<a href="#" class="link back">
|
|
7
|
-
<i class="icon icon-back"></i>
|
|
8
|
-
<span class="if-not-md">Back</span>
|
|
9
|
-
</a>
|
|
10
|
-
</div>
|
|
11
|
-
<div class="title">Form</div>
|
|
12
|
-
</div>
|
|
13
|
-
</div>
|
|
14
|
-
<div class="page-content">
|
|
15
|
-
<div class="block-title">Form Example</div>
|
|
16
|
-
<div class="list no-hairlines-md">
|
|
17
|
-
<ul>
|
|
18
|
-
<li>
|
|
19
|
-
<div class="item-content item-input">
|
|
20
|
-
<div class="item-inner">
|
|
21
|
-
<div class="item-title item-label">Name</div>
|
|
22
|
-
<div class="item-input-wrap">
|
|
23
|
-
<input type="text" placeholder="Your name"/>
|
|
24
|
-
</div>
|
|
25
|
-
</div>
|
|
26
|
-
</div>
|
|
27
|
-
</li>
|
|
28
|
-
<li>
|
|
29
|
-
<div class="item-content item-input">
|
|
30
|
-
<div class="item-inner">
|
|
31
|
-
<div class="item-title item-label">E-mail</div>
|
|
32
|
-
<div class="item-input-wrap">
|
|
33
|
-
<input type="email" placeholder="E-mail"/>
|
|
34
|
-
</div>
|
|
35
|
-
</div>
|
|
36
|
-
</div>
|
|
37
|
-
</li>
|
|
38
|
-
<li>
|
|
39
|
-
<div class="item-content item-input">
|
|
40
|
-
<div class="item-inner">
|
|
41
|
-
<div class="item-title item-label">URL</div>
|
|
42
|
-
<div class="item-input-wrap">
|
|
43
|
-
<input type="url" placeholder="URL"/>
|
|
44
|
-
</div>
|
|
45
|
-
</div>
|
|
46
|
-
</div>
|
|
47
|
-
</li>
|
|
48
|
-
<li>
|
|
49
|
-
<div class="item-content item-input">
|
|
50
|
-
<div class="item-inner">
|
|
51
|
-
<div class="item-title item-label">Password</div>
|
|
52
|
-
<div class="item-input-wrap">
|
|
53
|
-
<input type="password" placeholder="Password"/>
|
|
54
|
-
</div>
|
|
55
|
-
</div>
|
|
56
|
-
</div>
|
|
57
|
-
</li>
|
|
58
|
-
<li>
|
|
59
|
-
<div class="item-content item-input">
|
|
60
|
-
<div class="item-inner">
|
|
61
|
-
<div class="item-title item-label">Phone</div>
|
|
62
|
-
<div class="item-input-wrap">
|
|
63
|
-
<input type="tel" placeholder="Phone"/>
|
|
64
|
-
</div>
|
|
65
|
-
</div>
|
|
66
|
-
</div>
|
|
67
|
-
</li>
|
|
68
|
-
<li>
|
|
69
|
-
<div class="item-content item-input">
|
|
70
|
-
<div class="item-inner">
|
|
71
|
-
<div class="item-title item-label">Gender</div>
|
|
72
|
-
<div class="item-input-wrap">
|
|
73
|
-
<select>
|
|
74
|
-
<option>Male</option>
|
|
75
|
-
<option>Female</option>
|
|
76
|
-
</select>
|
|
77
|
-
</div>
|
|
78
|
-
</div>
|
|
79
|
-
</div>
|
|
80
|
-
</li>
|
|
81
|
-
<li>
|
|
82
|
-
<div class="item-content item-input">
|
|
83
|
-
<div class="item-inner">
|
|
84
|
-
<div class="item-title item-label">Birth date</div>
|
|
85
|
-
<div class="item-input-wrap">
|
|
86
|
-
<input type="date" placeholder="Birth day" value="2014-04-30"/>
|
|
87
|
-
</div>
|
|
88
|
-
</div>
|
|
89
|
-
</div>
|
|
90
|
-
</li>
|
|
91
|
-
<li>
|
|
92
|
-
<div class="item-content">
|
|
93
|
-
<div class="item-inner">
|
|
94
|
-
<div class="item-title">Toggle</div>
|
|
95
|
-
<div class="item-after">
|
|
96
|
-
<label class="toggle toggle-init">
|
|
97
|
-
<input type="checkbox"/>
|
|
98
|
-
<span class="toggle-icon"></span>
|
|
99
|
-
</label>
|
|
100
|
-
</div>
|
|
101
|
-
</div>
|
|
102
|
-
</div>
|
|
103
|
-
</li>
|
|
104
|
-
<li>
|
|
105
|
-
<div class="item-content item-input">
|
|
106
|
-
<div class="item-inner">
|
|
107
|
-
<div class="item-title item-label">Slider</div>
|
|
108
|
-
<div class="item-input-wrap">
|
|
109
|
-
<div class="range-slider range-slider-init" data-label="true">
|
|
110
|
-
<input type="range" value="50" min="0" max="100" step="1"/>
|
|
111
|
-
</div>
|
|
112
|
-
</div>
|
|
113
|
-
</div>
|
|
114
|
-
</div>
|
|
115
|
-
</li>
|
|
116
|
-
<li class="align-top">
|
|
117
|
-
<div class="item-content item-input">
|
|
118
|
-
<div class="item-inner">
|
|
119
|
-
<div class="item-title item-label">Textarea</div>
|
|
120
|
-
<div class="item-input-wrap">
|
|
121
|
-
<textarea placeholder="Bio"></textarea>
|
|
122
|
-
</div>
|
|
123
|
-
</div>
|
|
124
|
-
</div>
|
|
125
|
-
</li>
|
|
126
|
-
<li class="align-top">
|
|
127
|
-
<div class="item-content item-input">
|
|
128
|
-
<div class="item-inner">
|
|
129
|
-
<div class="item-title item-label">Resizable</div>
|
|
130
|
-
<div class="item-input-wrap">
|
|
131
|
-
<textarea placeholder="Bio" class="resizable"></textarea>
|
|
132
|
-
</div>
|
|
133
|
-
</div>
|
|
134
|
-
</div>
|
|
135
|
-
</li>
|
|
136
|
-
</ul>
|
|
137
|
-
</div>
|
|
138
|
-
<div class="block-title">Buttons</div>
|
|
139
|
-
<div class="block block-strong">
|
|
140
|
-
<p class="row">
|
|
141
|
-
<a href="#" class="col button">Button</a>
|
|
142
|
-
<a href="#" class="col button button-fill">Fill</a>
|
|
143
|
-
</p>
|
|
144
|
-
<p class="row">
|
|
145
|
-
<a href="#" class="col button button-raised">Raised</a>
|
|
146
|
-
<a href="#" class="col button button-raised button-fill">Raised Fill</a>
|
|
147
|
-
</p>
|
|
148
|
-
<p class="row">
|
|
149
|
-
<a href="#" class="col button button-round">Round</a>
|
|
150
|
-
<a href="#" class="col button button-round button-fill">Round Fill</a>
|
|
151
|
-
</p>
|
|
152
|
-
<p class="row">
|
|
153
|
-
<a href="#" class="col button button-outline">Outline</a>
|
|
154
|
-
<a href="#" class="col button button-round button-outline">Outline Round</a>
|
|
155
|
-
</p>
|
|
156
|
-
<p class="row">
|
|
157
|
-
<a href="#" class="col button button-small button-outline">Small</a>
|
|
158
|
-
<a href="#" class="col button button-small button-round button-outline">Small Round</a>
|
|
159
|
-
</p>
|
|
160
|
-
<p class="row">
|
|
161
|
-
<a href="#" class="col button button-small button-fill">Small</a>
|
|
162
|
-
<a href="#" class="col button button-small button-round button-fill">Small Round</a>
|
|
163
|
-
</p>
|
|
164
|
-
<p class="row">
|
|
165
|
-
<a href="#" class="col button button-large button-raised">Large</a>
|
|
166
|
-
<a href="#" class="col button button-large button-fill button-raised">Large Fill</a>
|
|
167
|
-
</p>
|
|
168
|
-
|
|
169
|
-
<p class="row">
|
|
170
|
-
<a href="#" class="col button button-large button-fill button-raised color-red">Large Red</a>
|
|
171
|
-
<a href="#" class="col button button-large button-fill button-raised color-green">Large Green</a>
|
|
172
|
-
</p>
|
|
173
|
-
|
|
174
|
-
</div>
|
|
175
|
-
<div class="block-title">Checkbox group</div>
|
|
176
|
-
<div class="list">
|
|
177
|
-
<ul>
|
|
178
|
-
<li>
|
|
179
|
-
<label class="item-checkbox item-content">
|
|
180
|
-
<input type="checkbox" name="checkbox" value="Books" checked="checked"/>
|
|
181
|
-
<i class="icon icon-checkbox"></i>
|
|
182
|
-
<div class="item-inner">
|
|
183
|
-
<div class="item-title">Books</div>
|
|
184
|
-
</div>
|
|
185
|
-
</label>
|
|
186
|
-
</li>
|
|
187
|
-
<li>
|
|
188
|
-
<label class="item-checkbox item-content">
|
|
189
|
-
<input type="checkbox" name="checkbox" value="Movies"/>
|
|
190
|
-
<i class="icon icon-checkbox"></i>
|
|
191
|
-
<div class="item-inner">
|
|
192
|
-
<div class="item-title">Movies</div>
|
|
193
|
-
</div>
|
|
194
|
-
</label>
|
|
195
|
-
</li>
|
|
196
|
-
<li>
|
|
197
|
-
<label class="item-checkbox item-content">
|
|
198
|
-
<input type="checkbox" name="checkbox" value="Food"/>
|
|
199
|
-
<i class="icon icon-checkbox"></i>
|
|
200
|
-
<div class="item-inner">
|
|
201
|
-
<div class="item-title">Food</div>
|
|
202
|
-
</div>
|
|
203
|
-
</label>
|
|
204
|
-
</li>
|
|
205
|
-
<li>
|
|
206
|
-
<label class="item-checkbox item-content">
|
|
207
|
-
<input type="checkbox" name="checkbox" value="Drinks"/>
|
|
208
|
-
<i class="icon icon-checkbox"></i>
|
|
209
|
-
<div class="item-inner">
|
|
210
|
-
<div class="item-title">Drinks</div>
|
|
211
|
-
</div>
|
|
212
|
-
</label>
|
|
213
|
-
</li>
|
|
214
|
-
</ul>
|
|
215
|
-
</div>
|
|
216
|
-
<div class="block-title">Radio buttons group</div>
|
|
217
|
-
<div class="list">
|
|
218
|
-
<ul>
|
|
219
|
-
<li>
|
|
220
|
-
<label class="item-radio item-content">
|
|
221
|
-
<input type="radio" name="radio" value="Books" checked="checked"/>
|
|
222
|
-
<i class="icon icon-radio"></i>
|
|
223
|
-
<div class="item-inner">
|
|
224
|
-
<div class="item-title">Books</div>
|
|
225
|
-
</div>
|
|
226
|
-
</label>
|
|
227
|
-
</li>
|
|
228
|
-
<li>
|
|
229
|
-
<label class="item-radio item-content">
|
|
230
|
-
<input type="radio" name="radio" value="Movies"/>
|
|
231
|
-
<i class="icon icon-radio"></i>
|
|
232
|
-
<div class="item-inner">
|
|
233
|
-
<div class="item-title">Movies</div>
|
|
234
|
-
</div>
|
|
235
|
-
</label>
|
|
236
|
-
</li>
|
|
237
|
-
<li>
|
|
238
|
-
<label class="item-radio item-content">
|
|
239
|
-
<input type="radio" name="radio" value="Food"/>
|
|
240
|
-
<i class="icon icon-radio"></i>
|
|
241
|
-
<div class="item-inner">
|
|
242
|
-
<div class="item-title">Food</div>
|
|
243
|
-
</div>
|
|
244
|
-
</label>
|
|
245
|
-
</li>
|
|
246
|
-
<li>
|
|
247
|
-
<label class="item-radio item-content">
|
|
248
|
-
<input type="radio" name="radio" value="Drinks"/>
|
|
249
|
-
<i class="icon icon-radio"></i>
|
|
250
|
-
<div class="item-inner">
|
|
251
|
-
<div class="item-title">Drinks</div>
|
|
252
|
-
</div>
|
|
253
|
-
</label>
|
|
254
|
-
</li>
|
|
255
|
-
</ul>
|
|
256
|
-
</div>
|
|
257
|
-
</div>
|
|
258
|
-
</div>
|
|
@@ -1,24 +0,0 @@
|
|
|
1
|
-
<div class="page">
|
|
2
|
-
<div class="navbar">
|
|
3
|
-
<div class="navbar-bg"></div>
|
|
4
|
-
<div class="navbar-inner sliding">
|
|
5
|
-
<div class="left">
|
|
6
|
-
<a href="#" class="link back">
|
|
7
|
-
<i class="icon icon-back"></i>
|
|
8
|
-
<span class="if-not-md">Back</span>
|
|
9
|
-
</a>
|
|
10
|
-
</div>
|
|
11
|
-
<div class="title">Left Page 1</div>
|
|
12
|
-
</div>
|
|
13
|
-
</div>
|
|
14
|
-
<div class="page-content">
|
|
15
|
-
<div class="block block-strong">
|
|
16
|
-
<p>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Reprehenderit deserunt vel accusamus voluptatem neque! Laborum, et facilis at. Est dolorem, reprehenderit, sed repellendus at cum incidunt labore vel perferendis excepturi?</p>
|
|
17
|
-
<p>Tempore accusantium quaerat officiis dolores ullam, perferendis labore assumenda. A sint quo necessitatibus temporibus ipsam adipisci et quos aliquid officiis, facilis nulla ut aperiam assumenda magnam blanditiis exercitationem facere non!</p>
|
|
18
|
-
<p>Omnis accusamus harum, vero dolores itaque, asperiores laudantium eligendi ipsa, labore dignissimos unde temporibus eius assumenda, obcaecati fuga et. Et provident at consectetur vel temporibus ea nam, veritatis excepturi obcaecati.</p>
|
|
19
|
-
<p>Aspernatur dolorum nostrum est sapiente deleniti in. Placeat itaque expedita dignissimos, suscipit tenetur necessitatibus sunt excepturi quisquam, doloremque repudiandae mollitia in. Nesciunt quo vel, dolorum magni nihil officia reprehenderit libero.</p>
|
|
20
|
-
<p>Fugit nesciunt nobis at doloribus labore, voluptatem quis, distinctio, saepe illo adipisci qui molestias fugiat ut! Quasi animi possimus temporibus repudiandae quam aspernatur, recusandae libero, reiciendis distinctio cupiditate nesciunt a.</p>
|
|
21
|
-
</div>
|
|
22
|
-
</div>
|
|
23
|
-
</div>
|
|
24
|
-
|