@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.
Files changed (115) hide show
  1. package/dist/nano-ui.css +1 -0
  2. package/dist/nano-ui.js +4 -0
  3. package/dist/nano-ui.js.map +1 -0
  4. package/dist/themes/dark.css +1 -0
  5. package/dist/themes/light.css +1 -0
  6. package/package.json +7 -1
  7. package/.github/workflows/compile-deploy-publish.yml +0 -65
  8. package/assets/nano-ui-dark.svg +0 -19
  9. package/assets/nano-ui-light.svg +0 -19
  10. package/assets/pico-js-dark.svg +0 -19
  11. package/assets/pico-js-light.svg +0 -19
  12. package/babel.config.js +0 -17
  13. package/demos/builder.html +0 -411
  14. package/demos/button/index.html +0 -129
  15. package/demos/cascader/index.html +0 -127
  16. package/demos/chart/index.html +0 -53
  17. package/demos/checkbox/index.html +0 -97
  18. package/demos/config/index.html +0 -95
  19. package/demos/confirm/index.html +0 -78
  20. package/demos/datepicker/index.html +0 -69
  21. package/demos/draggable/index.html +0 -127
  22. package/demos/form/index.html +0 -83
  23. package/demos/form.html +0 -462
  24. package/demos/grid.html +0 -321
  25. package/demos/input/index.html +0 -100
  26. package/demos/map/index.html +0 -81
  27. package/demos/matrix/index.html +0 -104
  28. package/demos/modal/index.html +0 -98
  29. package/demos/overview.html +0 -1468
  30. package/demos/paginator/index.html +0 -58
  31. package/demos/popover/index.html +0 -103
  32. package/demos/radio/index.html +0 -71
  33. package/demos/resizer/index.html +0 -106
  34. package/demos/scrollbar.html +0 -328
  35. package/demos/select/index.html +0 -174
  36. package/demos/select.html +0 -164
  37. package/demos/style.css +0 -50
  38. package/demos/switch/index.html +0 -69
  39. package/demos/table/index.html +0 -126
  40. package/demos/tabs/index.html +0 -110
  41. package/demos/tabs.html +0 -293
  42. package/demos/textarea/index.html +0 -77
  43. package/demos/timepicker/index.html +0 -66
  44. package/demos/transfer/index.html +0 -88
  45. package/demos/wysiwyg/index.html +0 -49
  46. package/docs/README.md +0 -34
  47. package/docs/_sidebar.md +0 -37
  48. package/docs/files/data/draggable.md +0 -143
  49. package/docs/files/data/map.md +0 -1
  50. package/docs/files/data/paginator.md +0 -23
  51. package/docs/files/data/table.md +0 -247
  52. package/docs/files/data/virtualscroller.md +0 -2
  53. package/docs/files/form/button.md +0 -131
  54. package/docs/files/form/cascader.md +0 -164
  55. package/docs/files/form/checkbox.md +0 -179
  56. package/docs/files/form/datepicker.md +0 -78
  57. package/docs/files/form/form.md +0 -52
  58. package/docs/files/form/input.md +0 -90
  59. package/docs/files/form/radio.md +0 -150
  60. package/docs/files/form/select.md +0 -202
  61. package/docs/files/form/switch.md +0 -98
  62. package/docs/files/form/textarea.md +0 -102
  63. package/docs/files/form/timepicker.md +0 -78
  64. package/docs/files/form/transfer.md +0 -30
  65. package/docs/files/others/config.md +0 -261
  66. package/docs/files/others/confirm.md +0 -51
  67. package/docs/files/others/drawer.md +0 -32
  68. package/docs/files/others/loader.md +0 -22
  69. package/docs/files/others/map.md +0 -32
  70. package/docs/files/others/modal.md +0 -32
  71. package/docs/files/others/notification.md +0 -52
  72. package/docs/files/others/popover.md +0 -36
  73. package/docs/files/others/resizer.md +0 -8
  74. package/docs/files/others/scrollbar.md +0 -8
  75. package/docs/files/others/tabs.md +0 -32
  76. package/docs/index.template.html +0 -76
  77. package/docs/src/js/backup.js +0 -128
  78. package/docs/src/js/helper/item-helper.js +0 -0
  79. package/docs/src/js/index.js +0 -21
  80. package/docs/src/js/plugin/title-plugin.js +0 -0
  81. package/docs/src/js/plugin/vue-demo-plugin.js +0 -97
  82. package/docs/src/js/theme/basic.js +0 -31
  83. package/docs/src/js/theme/docsify.js +0 -11
  84. package/docs/src/scss/index-dark.scss +0 -3
  85. package/docs/src/scss/index-light.scss +0 -3
  86. package/docs/src/scss/index.scss +0 -15
  87. package/docs/src/scss/mixins/base.scss +0 -14
  88. package/docs/src/scss/mixins/grid.scss +0 -213
  89. package/docs/src/scss/mixins/media.scss +0 -35
  90. package/docs/src/scss/mixins/space.scss +0 -61
  91. package/docs/src/scss/root/vars-dark.scss +0 -15
  92. package/docs/src/scss/root/vars-light.scss +0 -15
  93. package/docs/src/scss/root/vars.scss +0 -110
  94. package/docs/src/scss/theme/default.scss +0 -123
  95. package/docs/src/scss/theme/header.scss +0 -147
  96. package/docs/src/scss/theme/layout.scss +0 -186
  97. package/docs/src/scss/theme/loader.scss +0 -63
  98. package/docs/src/scss/theme/markdown.scss +0 -79
  99. package/docs/src/scss/theme/navigation.scss +0 -58
  100. package/docs/src/scss/theme/progress.scss +0 -9
  101. package/docs/src/scss/theme/search.scss +0 -119
  102. package/docs/src/scss/theme/syntax.scss +0 -142
  103. package/docs/src/scss/theme/table.scss +0 -63
  104. package/favicon/apple-touch-icon.png +0 -0
  105. package/favicon/favicon-96x96.png +0 -0
  106. package/favicon/favicon.ico +0 -0
  107. package/favicon/favicon.svg +0 -3
  108. package/favicon/site.webmanifest +0 -21
  109. package/favicon/web-app-manifest-192x192.png +0 -0
  110. package/favicon/web-app-manifest-512x512.png +0 -0
  111. package/mix-manifest.json +0 -4
  112. package/postcss.config.js +0 -14
  113. package/webpack.config.js +0 -211
  114. package/webservy.json +0 -8
  115. /package/{.nojekyll → dist/.ignore.js} +0 -0
@@ -1,174 +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 Select</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="Test">
29
- <n-select v-model="form.name3" size="default">
30
- </n-select>
31
- </n-form-item>
32
-
33
- <n-form-item label="Test">
34
- <n-select v-model="form.name2" size="default" :allow-create="true" :window="true">
35
- <n-select-option value="mike">Mike</n-select-option>
36
- <n-select-option value="alex">Alex</n-select-option>
37
- <n-select-option value="hans">Hans</n-select-option>
38
- </n-select>
39
- </n-form-item>
40
-
41
- <n-form-item label="Small">
42
- <n-select v-model="form.name" size="small">
43
- <n-select-option value="mike">Mike</n-select-option>
44
- <n-select-option value="alex">Alex</n-select-option>
45
- <n-select-option value="hans">Hans</n-select-option>
46
- </n-select>
47
- </n-form-item>
48
-
49
- <n-form-item label="Default">
50
- <n-select v-model="form.name" size="default">
51
- <n-select-option value="mike">Mike</n-select-option>
52
- <n-select-option value="alex">Alex</n-select-option>
53
- <n-select-option value="hans">Hans</n-select-option>
54
- <n-select-option value="mike1">Mike</n-select-option>
55
- <n-select-option value="alex2">Alex</n-select-option>
56
- <n-select-option value="hans3">Hans</n-select-option>
57
- <n-select-option value="mike4">Mike</n-select-option>
58
- <n-select-option value="alex5">Alex</n-select-option>
59
- <n-select-option value="hans6">Hans</n-select-option>
60
- <n-select-option value="mike11">Mike</n-select-option>
61
- <n-select-option value="alex21">Alex</n-select-option>
62
- <n-select-option value="hans31">Hans</n-select-option>
63
- <n-select-option value="mike41">Mike</n-select-option>
64
- <n-select-option value="alex51">Alex</n-select-option>
65
- <n-select-option value="hans61">Hans</n-select-option>
66
- </n-select>
67
- </n-form-item>
68
-
69
- <n-form-item label="Large">
70
- <n-select v-model="form.name" size="large">
71
- <n-select-option value="mike">Mike</n-select-option>
72
- <n-select-option value="alex">Alex</n-select-option>
73
- <n-select-option value="hans">Hans</n-select-option>
74
- </n-select>
75
- </n-form-item>
76
-
77
- <n-form-item label="Clearable">
78
- <n-select v-model="form.name" :clearable="true">
79
- <n-select-option value="mike">Mike</n-select-option>
80
- <n-select-option value="alex">Alex</n-select-option>
81
- <n-select-option value="hans">Hans</n-select-option>
82
- </n-select>
83
- </n-form-item>
84
-
85
- <n-form-item label="Disabled">
86
- <n-select v-model="form.name" :disabled="true">
87
- <n-select-option value="mike">Mike</n-select-option>
88
- <n-select-option value="alex">Alex</n-select-option>
89
- <n-select-option value="hans">Hans</n-select-option>
90
- </n-select>
91
- </n-form-item>
92
-
93
- <n-form-item label="Multiple">
94
- <n-select v-model="form.names" :multiple="true" :clearble="true">
95
- <n-select-option value="mike">Mike</n-select-option>
96
- <n-select-option value="alex">Alex</n-select-option>
97
- <n-select-option value="hans">Hans</n-select-option>
98
- <n-select-option value="mike1">Mike</n-select-option>
99
- <n-select-option value="alex2">Alex</n-select-option>
100
- <n-select-option value="hans3">Hans</n-select-option>
101
- <n-select-option value="mike4">Mike</n-select-option>
102
- <n-select-option value="alex5">Alex</n-select-option>
103
- <n-select-option value="hans6">Hans</n-select-option>
104
- <n-select-option value="mike11">Mike</n-select-option>
105
- <n-select-option value="alex21">Alex</n-select-option>
106
- <n-select-option value="hans31">Hans</n-select-option>
107
- <n-select-option value="mike41">Mike</n-select-option>
108
- <n-select-option value="alex51">Alex</n-select-option>
109
- <n-select-option value="hans61">Hans</n-select-option>
110
- </n-select>
111
- </n-form-item>
112
-
113
- <n-form-item label="Multiple clearable">
114
- <n-select v-model="form.names" :multiple="true" :clearable="true">
115
- <n-select-option value="mike">Mike</n-select-option>
116
- <n-select-option value="alex">Alex</n-select-option>
117
- <n-select-option value="hans">Hans</n-select-option>
118
- </n-select>
119
- </n-form-item>
120
-
121
- <n-form-item label="Multiple custom options">
122
- <n-select v-model="form.custom" :multiple="true" :allow-create="true">
123
- <n-select-option value="foobar">Foobar</n-select-option>
124
- </n-select>
125
- </n-form-item>
126
-
127
- <n-form-item label="Object">
128
- <pre>{{ form }}</pre>
129
- </n-form-item>
130
-
131
- <div style="height: 600px; overflow-y: scroll; background: #efefef; position: relative;">
132
- <div style="padding: 800px 0 80px;">
133
- <n-form-item label="Default">
134
- <n-select v-model="form.name" size="default">
135
- <n-select-option value="mike">Mike</n-select-option>
136
- <n-select-option value="alex">Alex</n-select-option>
137
- <n-select-option value="hans">Hans</n-select-option>
138
- <n-select-option value="mike1">Mike</n-select-option>
139
- <n-select-option value="alex2">Alex</n-select-option>
140
- <n-select-option value="hans3">Hans</n-select-option>
141
- <n-select-option value="mike4">Mike</n-select-option>
142
- <n-select-option value="alex5">Alex</n-select-option>
143
- <n-select-option value="hans6">Hans</n-select-option>
144
- </n-select>
145
- </n-form-item>
146
- </div>
147
- </div>
148
-
149
- </n-form>
150
- </div>
151
-
152
- <script>
153
- pi.Dom.ready(function () {
154
-
155
- Vue.config.devtools = true;
156
-
157
- var config = {
158
- data: function() {
159
-
160
- var form = {
161
- name2: null, name3: 0, name: 'mike4', names: ['mike4'], custom: []
162
- };
163
-
164
- return {
165
- form: form, inverse: false
166
- };
167
- }
168
- };
169
-
170
- window.App = new Vue(config).$mount('#app');
171
- })
172
- </script>
173
- </body>
174
- </html>
package/demos/select.html DELETED
@@ -1,164 +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
- <link id="theme" rel="stylesheet" href="../dist/themes/light.css">
14
-
15
- <!-- <script src="https://cdnjs.cloudflare.com/ajax/libs/vue/3.0.5/vue.global.prod.js"></script> -->
16
- <script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.29.1/moment.min.js"></script>
17
- <script src="https://unpkg.com/vue@3.4.6"></script>
18
- <!-- <script src="../node_modules/pico-js/dist/pico-js.js"></script> -->
19
- <script src="https://vankizmann.github.io/pico-js/dist/pico-js.js"></script>
20
- <script src="../dist/nano-ui.js"></script>
21
-
22
- <link rel="stylesheet" href="./style.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>NSelect</h2>
70
-
71
- <div class="grid grid--row grid--wrap grid--10-10">
72
- <div class="col--auto">
73
- <n-select type="secondary" :multiple="true" :options="virtualData" :lazy="true"></n-select>
74
- </div>
75
- </div>
76
-
77
- </div>
78
- </div>
79
-
80
- <script>
81
- (function (nano) {
82
-
83
- 'use strict';
84
-
85
- pi.Dom.ready(function () {
86
-
87
- let data = {};
88
-
89
- data.sizes = {
90
- xs: 'XS',
91
- sm: 'SM',
92
- md: 'MD',
93
- lg: 'LG'
94
- };
95
-
96
- data.types = {
97
- primary: 'Primary',
98
- secondary: 'Secondary',
99
- success: 'Success',
100
- warning: 'Warning',
101
- danger: 'Danger',
102
- info: 'Info'
103
- };
104
-
105
- data.modals = {
106
- default: 'Default',
107
- preview: 'Preview',
108
- };
109
-
110
- let itemGenerator = function (count = 100, index = 0) {
111
-
112
- let list = {};
113
-
114
- pi.Arr.each(pi.Arr.make(count), function () {
115
- return list[pi.UUID()] = `Item ${index ++}`;
116
- });
117
-
118
- return list;
119
- };
120
-
121
- data.virtualData = itemGenerator(1000);
122
-
123
- let methods = {};
124
-
125
- methods.log = function (val) {
126
- console.log(val || 'Log fired');
127
- };
128
-
129
- methods.notify = function (type) {
130
- this.Notify('Lorem ipsum dolore', type);
131
- };
132
-
133
- var config = {
134
- data: function () {
135
-
136
- this.icons = pi.Obj.assign(nano.Icons, {
137
- ghost: 'fa fa-ghost'
138
- });
139
-
140
- data.demoIcons = pi.Arr.reduce(pi.Obj.values(nano.Icons), function (merge, icon) {
141
- return pi.Obj.assign(merge, { [icon]: icon });
142
- }, {});
143
-
144
- return data;
145
- },
146
- methods: methods
147
- };
148
-
149
- window.App = Vue.createApp(config);
150
-
151
- window.App.config.devtools = true;
152
-
153
- window.App.use(function (App) {
154
- nano.Install(App);
155
- });
156
-
157
- window.App.mount('#app');
158
- window.DEBUG_NDLIST = true;
159
- });
160
-
161
- })(window.nano);
162
- </script>
163
- </body>
164
- </html>
package/demos/style.css DELETED
@@ -1,50 +0,0 @@
1
-
2
- * {
3
- outline: none;
4
- }
5
-
6
- html, body {
7
- -webkit-font-smoothing: subpixel-antialiased;
8
- -moz-osx-font-smoothing: grayscale;
9
- font-size: 15px;
10
- font-family: 'Helvetica', 'Arial', sans-serif;
11
- font-variant-numeric: normal;
12
- font-feature-settings: normal;
13
- }
14
-
15
- body {
16
- font-size: 14px;
17
- min-height: 100vh;
18
- }
19
-
20
- #app {
21
- max-width: 1024px;
22
- width: 100%;
23
- margin: 0 auto;
24
- padding: 30px;
25
- }
26
-
27
- div {
28
- box-sizing: border-box;
29
- }
30
-
31
- pre {
32
- font-family: 'Fira Code', monospace;
33
- }
34
-
35
- .n-inverse {
36
- color: #fff;
37
- }
38
-
39
- .n-inverse pre {
40
- color: #fff;
41
- }
42
-
43
- #app > .n-form {
44
- border-radius: 4px;
45
- padding: 30px;
46
- }
47
-
48
- .n-inverse {
49
- background: #1b2229;
50
- }
@@ -1,69 +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 Switch</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">
23
-
24
- <n-form-item label="Test">
25
- <n-switch v-model="form.test" />
26
- </n-form-item>
27
-
28
- <n-form-item label="Test">
29
- <n-switch v-model="form.test" size="small" on-type="success" />
30
- </n-form-item>
31
-
32
- <n-form-item label="Test">
33
- <n-switch v-model="form.test" size="large" on-type="warning" />
34
- </n-form-item>
35
-
36
- <n-form-item label="Test">
37
- <n-switch v-model="form.test" on-type="danger" />
38
- </n-form-item>
39
-
40
- <n-form-item label="Test">
41
- <n-switch v-model="form.test" on-type="info" />
42
- </n-form-item>
43
-
44
- </n-form>
45
- </div>
46
-
47
- <script>
48
- pi.Dom.ready(() => {
49
-
50
- Vue.config.devtools = true;
51
-
52
- var config = {
53
- data: function() {
54
-
55
- var form = {
56
- test: false
57
- };
58
-
59
- return {
60
- form: form, inverse: false
61
- };
62
- }
63
- };
64
-
65
- window.App = new Vue(config).$mount('#app');
66
- })
67
- </script>
68
- </body>
69
- </html>
@@ -1,126 +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 Table</title>
8
-
9
- <script src="https://cdn.jsdelivr.net/npm/resize-observer-polyfill@1.5.1/dist/ResizeObserver.min.js"></script>
10
-
11
- <link rel="stylesheet" href="https://unpkg.com/backpack.css@2.0.0/lib/backpack.css">
12
- <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.9.0/css/all.min.css">
13
- <link rel="stylesheet" href="../../dist/nano-ui.css">
14
- <link rel="stylesheet" href="../style.css">
15
-
16
- <script src="https://cdnjs.cloudflare.com/ajax/libs/vue/2.5.13/vue.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
-
25
- <div style="padding: 0 20px; margin-bottom: 20px;">
26
- <n-button @click="kill = true">Kill all instances</n-button>
27
- </div>
28
-
29
- <div v-if="kill === false" class="adapt-height" style="overflow: hidden; padding: 20px;">
30
- <div>
31
- <n-table v-model="items" :item-height="100" :viewport-height="600" :render-expand="true" :render-select="true" :close-filter-on-enter="true" :sort-on-label="true">
32
- <n-table-column prop="label" type="string" label="Label" :fluid="true" :sort="true" :width="100"></n-table-column>
33
- <n-table-column prop="image" type="image" label="Image" :sort="true" :fixed-width="90" preview-prop="image"></n-table-column>
34
- <n-table-column prop="date" type="datetime" label="Date" :filter="true" :width="250"></n-table-column>
35
- <n-table-column prop="id" align="center" type="string" :sort="true" :filter="true" label="ID" :default-width="250"></n-table-column>
36
- </n-table>
37
- </div>
38
- </div>
39
-
40
- <div v-if="kill === true" class="adapt-height" style="overflow: hidden; padding: 20px;">
41
- <n-table v-model="target" :viewport-height="true" style="height: 50vh;">
42
- <n-table-column prop="label" type="string" label="Label"></n-table-column>
43
- <n-table-column prop="id" align="center" type="string" label="ID"></n-table-column>
44
- <n-table-column prop="id1" align="center" type="string" label="ID"></n-table-column>
45
- <n-table-column prop="id2" align="center" type="string" label="ID"></n-table-column>
46
- <n-table-column prop="id3" align="center" type="string" label="ID"></n-table-column>
47
- <n-table-column prop="id4" align="center" type="string" label="ID"></n-table-column>
48
- <n-table-column prop="id5" align="center" type="string" label="ID"></n-table-column>
49
- </n-table>
50
- </div>
51
-
52
- </div>
53
-
54
- <script>
55
- (function (Nano) {
56
-
57
- 'use strict';
58
-
59
- pi.Dom.ready(function () {
60
-
61
- Vue.config.devtools = true;
62
-
63
- var config = {
64
- data: function () {
65
-
66
- let total = 0;
67
-
68
- let childGenerator = function (count, depth, current) {
69
-
70
- if ( count === undefined ) {
71
- count = 3;
72
- }
73
-
74
- if ( depth === undefined ) {
75
- depth = 2;
76
- }
77
-
78
- if ( current === undefined ) {
79
- current = 1;
80
- }
81
-
82
- let children = Array(count).fill(null);
83
-
84
- pi.Arr.map(children, function (item) {
85
-
86
- total++;
87
-
88
- item = {
89
- label: 'Item ' + total,
90
- id: 'value-' + total,
91
- image: 'https://picsum.photos/100/100?' + total,
92
- preview: 'https://www.youtube.com/embed/xbuzqU6Cggg',
93
- date: new Date,
94
- children: []
95
- };
96
-
97
- if ( current < depth ) {
98
- item.children = childGenerator(count > 3 ? 3 : count, depth, current + 1);
99
- }
100
-
101
- return item;
102
- });
103
-
104
- return children;
105
- };
106
-
107
- let self = this;
108
-
109
- // setTimeout(function () {
110
- // self.items = childGenerator(5, 7);
111
- // }, 100);
112
-
113
- setTimeout(function () {
114
- self.target = childGenerator(200, 1);
115
- }, 2000);
116
-
117
- return { items: childGenerator(500, 2), target: [], kill: false };
118
- }
119
- };
120
-
121
- window.App = new Vue(config).$mount('#app');
122
- });
123
- })(window.Nano);
124
- </script>
125
- </body>
126
- </html>