@kizmann/nano-ui 1.0.0 → 1.0.1
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/dist/nano-ui.css +1 -0
- package/dist/nano-ui.js +4 -0
- package/dist/nano-ui.js.map +1 -0
- package/dist/themes/dark.css +1 -0
- package/dist/themes/light.css +1 -0
- package/package.json +7 -1
- package/.github/workflows/compile-deploy-publish.yml +0 -65
- package/assets/nano-ui-dark.svg +0 -19
- package/assets/nano-ui-light.svg +0 -19
- package/assets/pico-js-dark.svg +0 -19
- package/assets/pico-js-light.svg +0 -19
- package/babel.config.js +0 -17
- package/demos/builder.html +0 -411
- package/demos/button/index.html +0 -129
- package/demos/cascader/index.html +0 -127
- package/demos/chart/index.html +0 -53
- package/demos/checkbox/index.html +0 -97
- package/demos/config/index.html +0 -95
- package/demos/confirm/index.html +0 -78
- package/demos/datepicker/index.html +0 -69
- package/demos/draggable/index.html +0 -127
- package/demos/form/index.html +0 -83
- package/demos/form.html +0 -462
- package/demos/grid.html +0 -321
- package/demos/input/index.html +0 -100
- package/demos/map/index.html +0 -81
- package/demos/matrix/index.html +0 -104
- package/demos/modal/index.html +0 -98
- package/demos/overview.html +0 -1468
- package/demos/paginator/index.html +0 -58
- package/demos/popover/index.html +0 -103
- package/demos/radio/index.html +0 -71
- package/demos/resizer/index.html +0 -106
- package/demos/scrollbar.html +0 -328
- package/demos/select/index.html +0 -174
- package/demos/select.html +0 -164
- package/demos/style.css +0 -50
- package/demos/switch/index.html +0 -69
- package/demos/table/index.html +0 -126
- package/demos/tabs/index.html +0 -110
- package/demos/tabs.html +0 -293
- package/demos/textarea/index.html +0 -77
- package/demos/timepicker/index.html +0 -66
- package/demos/transfer/index.html +0 -88
- package/demos/wysiwyg/index.html +0 -49
- package/docs/README.md +0 -34
- package/docs/_sidebar.md +0 -37
- package/docs/files/data/draggable.md +0 -143
- package/docs/files/data/map.md +0 -1
- package/docs/files/data/paginator.md +0 -23
- package/docs/files/data/table.md +0 -247
- package/docs/files/data/virtualscroller.md +0 -2
- package/docs/files/form/button.md +0 -131
- package/docs/files/form/cascader.md +0 -164
- package/docs/files/form/checkbox.md +0 -179
- package/docs/files/form/datepicker.md +0 -78
- package/docs/files/form/form.md +0 -52
- package/docs/files/form/input.md +0 -90
- package/docs/files/form/radio.md +0 -150
- package/docs/files/form/select.md +0 -202
- package/docs/files/form/switch.md +0 -98
- package/docs/files/form/textarea.md +0 -102
- package/docs/files/form/timepicker.md +0 -78
- package/docs/files/form/transfer.md +0 -30
- package/docs/files/others/config.md +0 -261
- package/docs/files/others/confirm.md +0 -51
- package/docs/files/others/drawer.md +0 -32
- package/docs/files/others/loader.md +0 -22
- package/docs/files/others/map.md +0 -32
- package/docs/files/others/modal.md +0 -32
- package/docs/files/others/notification.md +0 -52
- package/docs/files/others/popover.md +0 -36
- package/docs/files/others/resizer.md +0 -8
- package/docs/files/others/scrollbar.md +0 -8
- package/docs/files/others/tabs.md +0 -32
- package/docs/index.template.html +0 -76
- package/docs/src/js/backup.js +0 -128
- package/docs/src/js/helper/item-helper.js +0 -0
- package/docs/src/js/index.js +0 -21
- package/docs/src/js/plugin/title-plugin.js +0 -0
- package/docs/src/js/plugin/vue-demo-plugin.js +0 -97
- package/docs/src/js/theme/basic.js +0 -31
- package/docs/src/js/theme/docsify.js +0 -11
- package/docs/src/scss/index-dark.scss +0 -3
- package/docs/src/scss/index-light.scss +0 -3
- package/docs/src/scss/index.scss +0 -15
- package/docs/src/scss/mixins/base.scss +0 -14
- package/docs/src/scss/mixins/grid.scss +0 -213
- package/docs/src/scss/mixins/media.scss +0 -35
- package/docs/src/scss/mixins/space.scss +0 -61
- package/docs/src/scss/root/vars-dark.scss +0 -15
- package/docs/src/scss/root/vars-light.scss +0 -15
- package/docs/src/scss/root/vars.scss +0 -110
- package/docs/src/scss/theme/default.scss +0 -123
- package/docs/src/scss/theme/header.scss +0 -147
- package/docs/src/scss/theme/layout.scss +0 -186
- package/docs/src/scss/theme/loader.scss +0 -63
- package/docs/src/scss/theme/markdown.scss +0 -79
- package/docs/src/scss/theme/navigation.scss +0 -58
- package/docs/src/scss/theme/progress.scss +0 -9
- package/docs/src/scss/theme/search.scss +0 -119
- package/docs/src/scss/theme/syntax.scss +0 -142
- package/docs/src/scss/theme/table.scss +0 -63
- package/favicon/apple-touch-icon.png +0 -0
- package/favicon/favicon-96x96.png +0 -0
- package/favicon/favicon.ico +0 -0
- package/favicon/favicon.svg +0 -3
- package/favicon/site.webmanifest +0 -21
- package/favicon/web-app-manifest-192x192.png +0 -0
- package/favicon/web-app-manifest-512x512.png +0 -0
- package/mix-manifest.json +0 -4
- package/postcss.config.js +0 -14
- package/webpack.config.js +0 -211
- package/webservy.json +0 -8
- /package/{.nojekyll → dist/.ignore.js} +0 -0
package/demos/grid.html
DELETED
@@ -1,321 +0,0 @@
|
|
1
|
-
<!doctype html>
|
2
|
-
<html lang="en">
|
3
|
-
<head>
|
4
|
-
<meta charset="UTF-8">
|
5
|
-
<meta name="viewport" content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0">
|
6
|
-
<meta http-equiv="X-UA-Compatible" content="ie=edge">
|
7
|
-
<title>Nano UI</title>
|
8
|
-
|
9
|
-
<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Roboto:wght@400;700&display=swap">
|
10
|
-
<link rel="stylesheet" href="https://unpkg.com/backpack.css@2.0.0/lib/backpack.css">
|
11
|
-
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.9.0/css/all.min.css">
|
12
|
-
<link rel="stylesheet" href="../dist/nano-ui.css">
|
13
|
-
|
14
|
-
|
15
|
-
<script src="https://unpkg.com/moment"></script>
|
16
|
-
<script src="https://unpkg.com/vue@3.4.6"></script>
|
17
|
-
<script src="https://vankizmann.github.io/pico-js/dist/pico-js.js"></script>
|
18
|
-
<script src="../dist/nano-ui.js"></script>
|
19
|
-
<script src="https://unpkg.com/@google/markerclustererplus@4.0.1/dist/markerclustererplus.min.js"></script>
|
20
|
-
<script src="https://maps.googleapis.com/maps/api/js"></script>
|
21
|
-
|
22
|
-
<link rel="stylesheet" href="../docs/dist/index.css">
|
23
|
-
|
24
|
-
<style>
|
25
|
-
|
26
|
-
body {
|
27
|
-
font-family: 'Helvetica', 'Roboto', 'Arial', sans-serif;
|
28
|
-
font-size: 14px;
|
29
|
-
height: 100%;
|
30
|
-
overflow-x: hidden;
|
31
|
-
}
|
32
|
-
|
33
|
-
#app {
|
34
|
-
overflow-x: hidden;
|
35
|
-
}
|
36
|
-
|
37
|
-
.app-scrollbar {
|
38
|
-
width: 100vw;
|
39
|
-
height: 100vh;
|
40
|
-
}
|
41
|
-
|
42
|
-
.app-container {
|
43
|
-
max-width: 1440px;
|
44
|
-
margin: 0 auto;
|
45
|
-
padding: 20px 30px 40px 30px;
|
46
|
-
}
|
47
|
-
|
48
|
-
.app-options {
|
49
|
-
border-bottom: 1px solid #eee;
|
50
|
-
margin-bottom: 20px;
|
51
|
-
}
|
52
|
-
|
53
|
-
h2 {
|
54
|
-
font-size: 32px;
|
55
|
-
font-weight: bold;
|
56
|
-
padding-bottom: 10px;
|
57
|
-
margin: 50px 0 15px;
|
58
|
-
border-bottom: 1px solid #eee;
|
59
|
-
}
|
60
|
-
|
61
|
-
</style>
|
62
|
-
|
63
|
-
</head>
|
64
|
-
<body>
|
65
|
-
|
66
|
-
<div id="app">
|
67
|
-
<div class="app-container">
|
68
|
-
|
69
|
-
<h2>NVirtualscroller</h2>
|
70
|
-
|
71
|
-
<div class="grid grid--row grid--wrap grid--10-10">
|
72
|
-
<div class="col--auto">
|
73
|
-
<n-button type="primary" @click="virtualTree = virtualData">
|
74
|
-
Swap items
|
75
|
-
</n-button>
|
76
|
-
<n-button type="primary" @click="$refs.virtualscroller.scrollIntoView(0)">
|
77
|
-
Scroll to first item
|
78
|
-
</n-button>
|
79
|
-
</div>
|
80
|
-
<div class="col--auto">
|
81
|
-
<n-button type="primary" @click="$refs.virtualscroller.scrollIntoView(2000)">
|
82
|
-
Scroll to item 2000
|
83
|
-
</n-button>
|
84
|
-
</div>
|
85
|
-
<div class="col--auto">
|
86
|
-
<n-button type="primary" @click="$refs.virtualscroller.scrollIntoView(7100)">
|
87
|
-
Scroll to item 7100
|
88
|
-
</n-button>
|
89
|
-
</div>
|
90
|
-
<div class="col--auto">
|
91
|
-
<n-button type="primary" @click="$refs.virtualscroller.scrollIntoView(-1)">
|
92
|
-
Scroll to last item
|
93
|
-
</n-button>
|
94
|
-
</div>
|
95
|
-
</div>
|
96
|
-
|
97
|
-
<n-virtualscroller ref="virtualscroller" :items="virtualData" :item-height="100" :item-width="200" style="height: 500px; margin-top: 30px; box-shadow: 0 0 2px 2px #dddedf; border-radius: 4px;">
|
98
|
-
<template v-slot:default="{ value }">
|
99
|
-
<div style="padding: 0 15px; line-height: 30px;">{{ value.label }}</div>
|
100
|
-
</template>
|
101
|
-
</n-virtualscroller>
|
102
|
-
|
103
|
-
<n-draggrid ref="draggrid" v-model:items="virtualTree" :item-height="100" :item-width="200" style="height: 500px; margin-top: 30px; box-shadow: 0 0 2px 2px #dddedf; border-radius: 4px;">
|
104
|
-
<template v-slot:default="{ item }">
|
105
|
-
<div style="width: 200px; height: 100px; padding: 0 15px; line-height: 30px;">{{ item.label }}</div>
|
106
|
-
</template>
|
107
|
-
</n-draggrid>
|
108
|
-
|
109
|
-
<n-draggrid ref="draggrid" v-model:items="testData" :item-height="100" :item-width="200" :threshold="0" style="height: 500px; margin-top: 30px; box-shadow: 0 0 2px 2px #dddedf; border-radius: 4px;">
|
110
|
-
<template v-slot:default="{ item }">
|
111
|
-
<div style="width: 200px; height: 100px; padding: 0 15px; line-height: 30px;">{{ item.label }}</div>
|
112
|
-
</template>
|
113
|
-
</n-draggrid>
|
114
|
-
|
115
|
-
|
116
|
-
</div>
|
117
|
-
</div>
|
118
|
-
|
119
|
-
<script>
|
120
|
-
(function (nano) {
|
121
|
-
|
122
|
-
'use strict';
|
123
|
-
|
124
|
-
pi.Dom.ready(function () {
|
125
|
-
|
126
|
-
let data = {};
|
127
|
-
|
128
|
-
data.sizes = {
|
129
|
-
xs: 'XS',
|
130
|
-
sm: 'SM',
|
131
|
-
md: 'MD',
|
132
|
-
lg: 'LG'
|
133
|
-
};
|
134
|
-
|
135
|
-
data.types = {
|
136
|
-
primary: 'Primary',
|
137
|
-
secondary: 'Secondary',
|
138
|
-
success: 'Success',
|
139
|
-
warning: 'Warning',
|
140
|
-
danger: 'Danger',
|
141
|
-
info: 'Info'
|
142
|
-
};
|
143
|
-
|
144
|
-
data.modals = {
|
145
|
-
default: 'Default',
|
146
|
-
preview: 'Preview',
|
147
|
-
};
|
148
|
-
|
149
|
-
data.demoConfig = {
|
150
|
-
'div': {
|
151
|
-
class: [
|
152
|
-
'foobar'
|
153
|
-
],
|
154
|
-
content: {
|
155
|
-
'NInput:page_id': {
|
156
|
-
model: {
|
157
|
-
path: 'page_id'
|
158
|
-
}
|
159
|
-
},
|
160
|
-
'NInput:page_id2': {
|
161
|
-
model: {
|
162
|
-
path: 'page_id'
|
163
|
-
}
|
164
|
-
}
|
165
|
-
}
|
166
|
-
}
|
167
|
-
};
|
168
|
-
|
169
|
-
data.configData = {};
|
170
|
-
|
171
|
-
data.testData = [];
|
172
|
-
|
173
|
-
let itemGenerator = function (count = 100, index = 0) {
|
174
|
-
return pi.Arr.each(pi.Arr.make(count), function (value) {
|
175
|
-
|
176
|
-
let id = pi.UUID();
|
177
|
-
|
178
|
-
return {
|
179
|
-
id: id,
|
180
|
-
value: id,
|
181
|
-
matrix: 10,
|
182
|
-
label: `Item ${index++}`,
|
183
|
-
image: 'https://picsum.photos/400/400?' + id,
|
184
|
-
date: pi.Now.make().format('YYYY-MM-DD HH:mm:ss', true),
|
185
|
-
enabled: !! Math.floor(Math.random() * 2)
|
186
|
-
};
|
187
|
-
});
|
188
|
-
};
|
189
|
-
|
190
|
-
|
191
|
-
data.cascaderData = pi.Arr.each(itemGenerator(5), function (item) {
|
192
|
-
|
193
|
-
let children = pi.Arr.each(itemGenerator(5), function (item) {
|
194
|
-
return pi.Obj.assign(item, { children: itemGenerator(5) });
|
195
|
-
});
|
196
|
-
|
197
|
-
return pi.Obj.assign(item, { children: children });
|
198
|
-
});
|
199
|
-
|
200
|
-
data.virtualData = itemGenerator(10000);
|
201
|
-
|
202
|
-
data.virtualTree = pi.Arr.each(itemGenerator(50), function (item) {
|
203
|
-
return pi.Obj.assign(item, { children: itemGenerator(20) });
|
204
|
-
});
|
205
|
-
|
206
|
-
data.treeSelect = null;
|
207
|
-
data.treeMatrix = [data.virtualTree[3]];
|
208
|
-
|
209
|
-
data.n_button = {
|
210
|
-
icon: 'fa fa-ghost', size: 'md', square: false, link: false, disabled: false
|
211
|
-
};
|
212
|
-
|
213
|
-
data.n_textarea = {
|
214
|
-
size: 'md', placeholder: 'Placeholder', autoRows: false, disabled: false
|
215
|
-
};
|
216
|
-
|
217
|
-
data.n_input = {
|
218
|
-
value: 'Demo', icon: 'fa fa-ghost', size: 'md', placeholder: 'Placeholder', disabled: false
|
219
|
-
};
|
220
|
-
|
221
|
-
data.n_number = {
|
222
|
-
value: 3, size: 'md', placeholder: '', disabled: false
|
223
|
-
};
|
224
|
-
|
225
|
-
data.n_select = {
|
226
|
-
size: 'md', allowCreate: false, clearable: true, disabled: false
|
227
|
-
};
|
228
|
-
|
229
|
-
data.n_cascader = {
|
230
|
-
size: 'md', type: 'primary', clearable: true, disabled: false
|
231
|
-
};
|
232
|
-
|
233
|
-
data.n_checkbox = {
|
234
|
-
size: 'md', type: 'primary', disabled: false
|
235
|
-
};
|
236
|
-
|
237
|
-
data.n_radio = {
|
238
|
-
size: 'md', type: 'primary', disabled: false
|
239
|
-
};
|
240
|
-
|
241
|
-
data.n_switch = {
|
242
|
-
size: 'md', disabled: false
|
243
|
-
};
|
244
|
-
|
245
|
-
data.n_datepicker = {
|
246
|
-
size: 'md', type: 'primary', clearable: true, disabled: false
|
247
|
-
};
|
248
|
-
|
249
|
-
data.n_timepicker = {
|
250
|
-
size: 'md', type: 'primary', clearable: true, disabled: false
|
251
|
-
};
|
252
|
-
|
253
|
-
data.n_transfer = {
|
254
|
-
size: 'md', type: 'primary', disabled: false
|
255
|
-
};
|
256
|
-
|
257
|
-
data.n_modal = {
|
258
|
-
size: 'md', type: 'default', disabled: false
|
259
|
-
};
|
260
|
-
|
261
|
-
data.n_confirm = {
|
262
|
-
size: 'md', type: 'primary', disabled: false
|
263
|
-
};
|
264
|
-
|
265
|
-
data.n_tabs = {
|
266
|
-
value: 'default', size: 'md', type: 'primary'
|
267
|
-
};
|
268
|
-
|
269
|
-
data.n_paginator = {
|
270
|
-
size: 'md', type: 'primary'
|
271
|
-
};
|
272
|
-
|
273
|
-
data.n_draggable = {
|
274
|
-
count: 0
|
275
|
-
};
|
276
|
-
|
277
|
-
data.n_loader = {
|
278
|
-
size: 'md', type: 'primary', visible: true
|
279
|
-
};
|
280
|
-
|
281
|
-
let methods = {};
|
282
|
-
|
283
|
-
methods.log = function (val) {
|
284
|
-
console.log(val || 'Log fired');
|
285
|
-
};
|
286
|
-
|
287
|
-
methods.notify = function (type) {
|
288
|
-
this.Notify('Lorem ipsum dolore', type);
|
289
|
-
};
|
290
|
-
|
291
|
-
var config = {
|
292
|
-
data: function () {
|
293
|
-
|
294
|
-
this.icons = pi.Obj.assign(nano.Icons, {
|
295
|
-
ghost: 'fa fa-ghost'
|
296
|
-
});
|
297
|
-
|
298
|
-
data.demoIcons = pi.Arr.reduce(pi.Obj.values(nano.Icons), function (merge, icon) {
|
299
|
-
return pi.Obj.assign(merge, { [icon]: icon });
|
300
|
-
}, {});
|
301
|
-
|
302
|
-
return data;
|
303
|
-
},
|
304
|
-
methods: methods
|
305
|
-
};
|
306
|
-
|
307
|
-
window.App = Vue.createApp(config);
|
308
|
-
|
309
|
-
window.App.config.devtools = true;
|
310
|
-
|
311
|
-
window.App.use(function (App) {
|
312
|
-
nano.Install(App);
|
313
|
-
});
|
314
|
-
|
315
|
-
window.App.mount('#app');
|
316
|
-
});
|
317
|
-
|
318
|
-
})(window.nano);
|
319
|
-
</script>
|
320
|
-
</body>
|
321
|
-
</html>
|
package/demos/input/index.html
DELETED
@@ -1,100 +0,0 @@
|
|
1
|
-
<!doctype html>
|
2
|
-
<html lang="en">
|
3
|
-
<head>
|
4
|
-
<meta charset="UTF-8">
|
5
|
-
<meta name="viewport" content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0">
|
6
|
-
<meta http-equiv="X-UA-Compatible" content="ie=edge">
|
7
|
-
<title>Nano UI Input</title>
|
8
|
-
|
9
|
-
<link rel="stylesheet" href="https://unpkg.com/backpack.css@2.0.0/lib/backpack.css">
|
10
|
-
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.9.0/css/all.min.css">
|
11
|
-
<link rel="stylesheet" href="../../dist/nano-ui.css">
|
12
|
-
<link rel="stylesheet" href="../style.css">
|
13
|
-
|
14
|
-
<script src="https://cdnjs.cloudflare.com/ajax/libs/vue/2.6.10/vue.min.js"></script>
|
15
|
-
<script src="https://vankizmann.github.io/@kizmann/pico-js/dist/@kizmann/pico-js.js"></script>
|
16
|
-
<script src="../../dist/nano-ui.js"></script>
|
17
|
-
|
18
|
-
</head>
|
19
|
-
<body>
|
20
|
-
|
21
|
-
<div id="app">
|
22
|
-
<n-form :form="form" :class="{ 'n-inverse': inverse }">
|
23
|
-
|
24
|
-
<n-form-item label="Inverse">
|
25
|
-
<n-checkbox v-model="inverse">Inverse</n-checkbox>
|
26
|
-
</n-form-item>
|
27
|
-
|
28
|
-
<n-form-item label="Small">
|
29
|
-
<n-input :value="form.name" size="small" />
|
30
|
-
</n-form-item>
|
31
|
-
|
32
|
-
<n-form-item label="Default">
|
33
|
-
<n-input v-model="form.name" size="default" />
|
34
|
-
</n-form-item>
|
35
|
-
|
36
|
-
<n-form-item label="Large">
|
37
|
-
<n-input v-model="form.name" size="large" />
|
38
|
-
</n-form-item>
|
39
|
-
|
40
|
-
<n-form-item label="Disabled">
|
41
|
-
<n-input v-model="form.name" :disabled="true" />
|
42
|
-
</n-form-item>
|
43
|
-
|
44
|
-
<n-form-item label="Info">
|
45
|
-
<n-input v-model="form.name" icon="fa fa-times" :icon-disabled="form.name === ''" @icon-click="form.name = ''" />
|
46
|
-
</n-form-item>
|
47
|
-
|
48
|
-
<n-form-item label="Password">
|
49
|
-
<n-input v-model="form.name" :native-type="nativeType" :icon="icon" @icon-click="changeNative" />
|
50
|
-
</n-form-item>
|
51
|
-
|
52
|
-
<n-form-item label="Object">
|
53
|
-
<pre>{{ form }}</pre>
|
54
|
-
</n-form-item>
|
55
|
-
|
56
|
-
</n-form>
|
57
|
-
</div>
|
58
|
-
|
59
|
-
<script>
|
60
|
-
pi.Dom.ready(() => {
|
61
|
-
|
62
|
-
Vue.config.devtools = true;
|
63
|
-
|
64
|
-
var config = {
|
65
|
-
|
66
|
-
computed: {
|
67
|
-
|
68
|
-
icon: function() {
|
69
|
-
return this.nativeType === 'text' ?
|
70
|
-
'fa fa-eye-slash' : 'fa fa-eye';
|
71
|
-
}
|
72
|
-
|
73
|
-
},
|
74
|
-
|
75
|
-
methods: {
|
76
|
-
|
77
|
-
changeNative: function() {
|
78
|
-
this.nativeType = this.nativeType === 'text' ?
|
79
|
-
'password' : 'text';
|
80
|
-
}
|
81
|
-
|
82
|
-
},
|
83
|
-
|
84
|
-
data: function() {
|
85
|
-
|
86
|
-
var form = {
|
87
|
-
name: ''
|
88
|
-
};
|
89
|
-
|
90
|
-
return {
|
91
|
-
form: form, inverse: false, nativeType: 'password'
|
92
|
-
};
|
93
|
-
}
|
94
|
-
};
|
95
|
-
|
96
|
-
window.App = new Vue(config).$mount('#app');
|
97
|
-
})
|
98
|
-
</script>
|
99
|
-
</body>
|
100
|
-
</html>
|
package/demos/map/index.html
DELETED
@@ -1,81 +0,0 @@
|
|
1
|
-
<!doctype html>
|
2
|
-
<html lang="en">
|
3
|
-
<head>
|
4
|
-
<meta charset="UTF-8">
|
5
|
-
<meta name="viewport" content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0">
|
6
|
-
<meta http-equiv="X-UA-Compatible" content="ie=edge">
|
7
|
-
<title>Nano UI Map</title>
|
8
|
-
|
9
|
-
<link rel="stylesheet" href="https://unpkg.com/backpack.css@2.0.0/lib/backpack.css">
|
10
|
-
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.9.0/css/all.min.css">
|
11
|
-
<link rel="stylesheet" href="../../dist/nano-ui.css">
|
12
|
-
<link rel="stylesheet" href="../style.css">
|
13
|
-
|
14
|
-
<script src="https://maps.googleapis.com/maps/api/js?key=AIzaSyDvJ7NNFrrSL13b3xEB07Itw0luJSHDTmE"></script>
|
15
|
-
|
16
|
-
<script src="https://cdnjs.cloudflare.com/ajax/libs/vue/2.6.10/vue.min.js"></script>
|
17
|
-
<script src="https://vankizmann.github.io/@kizmann/pico-js/dist/@kizmann/pico-js.js"></script>
|
18
|
-
<script src="../../dist/nano-ui.js"></script>
|
19
|
-
|
20
|
-
</head>
|
21
|
-
<body>
|
22
|
-
|
23
|
-
<div id="app">
|
24
|
-
<n-form :form="form">
|
25
|
-
|
26
|
-
<n-form-item :label="trans('Address')">
|
27
|
-
<n-button-group>
|
28
|
-
<n-input v-model="address"></n-input>
|
29
|
-
<n-button @click="setMarkerByAddress">{{ trans('Set marker') }}</n-button>
|
30
|
-
</n-button-group>
|
31
|
-
</n-form-item>
|
32
|
-
|
33
|
-
<n-form-item>
|
34
|
-
<n-map>
|
35
|
-
<n-map-marker ref="marker" :lat.sync="form.lat" :lng.sync="form.lng" :draggable="true">
|
36
|
-
<div style="padding: 20px; background: yellow; color: red;">Huhu!</div>
|
37
|
-
</n-map-marker>
|
38
|
-
</n-map>
|
39
|
-
</n-form-item>
|
40
|
-
|
41
|
-
<n-form-item label="Object">
|
42
|
-
<pre>{{ form }}</pre>
|
43
|
-
</n-form-item>
|
44
|
-
|
45
|
-
</n-form>
|
46
|
-
</div>
|
47
|
-
|
48
|
-
<script>
|
49
|
-
pi.Dom.ready(() => {
|
50
|
-
|
51
|
-
Vue.config.devtools = true;
|
52
|
-
|
53
|
-
var config = {
|
54
|
-
|
55
|
-
data: function() {
|
56
|
-
|
57
|
-
var form = {
|
58
|
-
lat: 53.565000, lng: 10.042280
|
59
|
-
};
|
60
|
-
|
61
|
-
return {
|
62
|
-
form: form, address: ''
|
63
|
-
};
|
64
|
-
},
|
65
|
-
|
66
|
-
methods: {
|
67
|
-
|
68
|
-
setMarkerByAddress()
|
69
|
-
{
|
70
|
-
this.$refs.marker.setMarkerByAddress(this.address);
|
71
|
-
}
|
72
|
-
|
73
|
-
}
|
74
|
-
|
75
|
-
};
|
76
|
-
|
77
|
-
window.App = new Vue(config).$mount('#app');
|
78
|
-
})
|
79
|
-
</script>
|
80
|
-
</body>
|
81
|
-
</html>
|
package/demos/matrix/index.html
DELETED
@@ -1,104 +0,0 @@
|
|
1
|
-
<!doctype html>
|
2
|
-
<html lang="en">
|
3
|
-
<head>
|
4
|
-
<meta charset="UTF-8">
|
5
|
-
<meta name="viewport" content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0">
|
6
|
-
<meta http-equiv="X-UA-Compatible" content="ie=edge">
|
7
|
-
<title>Nano UI Matrix</title>
|
8
|
-
|
9
|
-
<link rel="stylesheet" href="https://unpkg.com/backpack.css@2.0.0/lib/backpack.css">
|
10
|
-
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.9.0/css/all.min.css">
|
11
|
-
<link rel="stylesheet" href="../../dist/nano-ui.css">
|
12
|
-
<link rel="stylesheet" href="../style.css">
|
13
|
-
|
14
|
-
<script src="https://cdnjs.cloudflare.com/ajax/libs/vue/2.5.13/vue.js"></script>
|
15
|
-
<script src="https://vankizmann.github.io/@kizmann/pico-js/dist/@kizmann/pico-js.js"></script>
|
16
|
-
<script src="../../dist/nano-ui.js"></script>
|
17
|
-
|
18
|
-
</head>
|
19
|
-
<body>
|
20
|
-
|
21
|
-
<div id="app">
|
22
|
-
<n-form :form="form" :class="{ 'n-inverse': inverse }">
|
23
|
-
|
24
|
-
<n-form-item label="Inverse">
|
25
|
-
<n-checkbox v-model="inverse">Inverse</n-checkbox>
|
26
|
-
</n-form-item>
|
27
|
-
|
28
|
-
<n-form-item label="Tree">
|
29
|
-
<n-matrix v-model="form.cascade" :items="form.value" title-prop="label" :multiple="false">
|
30
|
-
<n-matrix-column label="Test"></n-matrix-column>
|
31
|
-
</n-matrix>
|
32
|
-
</n-form-item>
|
33
|
-
|
34
|
-
</n-form>
|
35
|
-
</div>
|
36
|
-
|
37
|
-
<script>
|
38
|
-
(function (Nano) {
|
39
|
-
|
40
|
-
'use strict';
|
41
|
-
|
42
|
-
pi.Dom.ready(function () {
|
43
|
-
|
44
|
-
Vue.config.devtools = true;
|
45
|
-
|
46
|
-
var config = {
|
47
|
-
data: function() {
|
48
|
-
|
49
|
-
let total = 0;
|
50
|
-
|
51
|
-
let childGenerator = function(count, depth, current) {
|
52
|
-
|
53
|
-
if ( count === undefined ) {
|
54
|
-
count = 3;
|
55
|
-
}
|
56
|
-
|
57
|
-
if ( depth === undefined ) {
|
58
|
-
depth = 3;
|
59
|
-
}
|
60
|
-
|
61
|
-
if ( current === undefined ) {
|
62
|
-
current = 1;
|
63
|
-
}
|
64
|
-
|
65
|
-
let children = Array(
|
66
|
-
Math.floor((Math.random() * count) + 2)
|
67
|
-
).fill(null);
|
68
|
-
|
69
|
-
pi.Arr.map(children, function (item) {
|
70
|
-
|
71
|
-
total++;
|
72
|
-
|
73
|
-
item = {
|
74
|
-
label: 'Item ' + total,
|
75
|
-
id: 'value-' + total,
|
76
|
-
children: []
|
77
|
-
};
|
78
|
-
|
79
|
-
if ( current < depth ) {
|
80
|
-
item.children = childGenerator(count, depth, current + 1);
|
81
|
-
}
|
82
|
-
|
83
|
-
return item;
|
84
|
-
});
|
85
|
-
|
86
|
-
return children;
|
87
|
-
};
|
88
|
-
|
89
|
-
var form = {
|
90
|
-
value: childGenerator(), cascade: []
|
91
|
-
};
|
92
|
-
|
93
|
-
return { form: form, inverse: false };
|
94
|
-
}
|
95
|
-
};
|
96
|
-
|
97
|
-
window.App = new Vue(config).$mount('#app');
|
98
|
-
|
99
|
-
});
|
100
|
-
|
101
|
-
})(window.Nano);
|
102
|
-
</script>
|
103
|
-
</body>
|
104
|
-
</html>
|