@kizmann/nano-ui 1.0.0 → 1.0.2

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 (139) hide show
  1. package/README.md +1 -114
  2. package/dist/nano-ui.css +1 -0
  3. package/dist/nano-ui.js +4 -0
  4. package/dist/nano-ui.js.map +1 -0
  5. package/dist/themes/dark.css +1 -0
  6. package/dist/themes/light.css +1 -0
  7. package/package.json +12 -6
  8. package/src/drawer/src/drawer/drawer.js +8 -8
  9. package/src/drawer/src/drawer/drawer.scss +8 -2
  10. package/src/form/src/form-item/form-item.scss +6 -1
  11. package/src/map/src/map/map.scss +1 -0
  12. package/src/map/src/map-marker/map-marker.js +1 -1
  13. package/src/resizer/src/resizer/resizer.js +6 -4
  14. package/src/root/vars.scss +1 -1
  15. package/src/scrollbar/src/scrollbar/scrollbar.next.js +1 -1
  16. package/src/scrollbar/src/scrollbar/scrollbar.scss +3 -2
  17. package/src/select/src/select/select.js +1 -1
  18. package/src/slider/src/slider/slider.js +5 -0
  19. package/src/slider/src/slider/slider.scss +4 -0
  20. package/src/table/src/table/table.scss +6 -2
  21. package/src/table/src/table-column/table-column.scss +0 -1
  22. package/themes/macos/button/src/button/button.scss +9 -0
  23. package/themes/macos/radio/src/radio/radio.scss +1 -1
  24. package/themes/macos/root/vars-dark.scss +1 -1
  25. package/themes/macos/root/vars-light.scss +1 -1
  26. package/themes/macos/root/vars.scss +0 -1
  27. package/themes/macos/scrollbar/src/scrollbar/scrollbar.scss +1 -1
  28. package/themes/macos/select/src/select/select.scss +1 -1
  29. package/themes/macos/slider/src/slider/slider.scss +23 -3
  30. package/themes/macos/tags/src/tags-item/tags-item.scss +4 -2
  31. package/.github/workflows/compile-deploy-publish.yml +0 -65
  32. package/assets/nano-ui-dark.svg +0 -19
  33. package/assets/nano-ui-light.svg +0 -19
  34. package/assets/pico-js-dark.svg +0 -19
  35. package/assets/pico-js-light.svg +0 -19
  36. package/babel.config.js +0 -17
  37. package/demos/builder.html +0 -411
  38. package/demos/button/index.html +0 -129
  39. package/demos/cascader/index.html +0 -127
  40. package/demos/chart/index.html +0 -53
  41. package/demos/checkbox/index.html +0 -97
  42. package/demos/config/index.html +0 -95
  43. package/demos/confirm/index.html +0 -78
  44. package/demos/datepicker/index.html +0 -69
  45. package/demos/draggable/index.html +0 -127
  46. package/demos/form/index.html +0 -83
  47. package/demos/form.html +0 -462
  48. package/demos/grid.html +0 -321
  49. package/demos/input/index.html +0 -100
  50. package/demos/map/index.html +0 -81
  51. package/demos/matrix/index.html +0 -104
  52. package/demos/modal/index.html +0 -98
  53. package/demos/overview.html +0 -1468
  54. package/demos/paginator/index.html +0 -58
  55. package/demos/popover/index.html +0 -103
  56. package/demos/radio/index.html +0 -71
  57. package/demos/resizer/index.html +0 -106
  58. package/demos/scrollbar.html +0 -328
  59. package/demos/select/index.html +0 -174
  60. package/demos/select.html +0 -164
  61. package/demos/style.css +0 -50
  62. package/demos/switch/index.html +0 -69
  63. package/demos/table/index.html +0 -126
  64. package/demos/tabs/index.html +0 -110
  65. package/demos/tabs.html +0 -293
  66. package/demos/textarea/index.html +0 -77
  67. package/demos/timepicker/index.html +0 -66
  68. package/demos/transfer/index.html +0 -88
  69. package/demos/wysiwyg/index.html +0 -49
  70. package/docs/README.md +0 -34
  71. package/docs/_sidebar.md +0 -37
  72. package/docs/files/data/draggable.md +0 -143
  73. package/docs/files/data/map.md +0 -1
  74. package/docs/files/data/paginator.md +0 -23
  75. package/docs/files/data/table.md +0 -247
  76. package/docs/files/data/virtualscroller.md +0 -2
  77. package/docs/files/form/button.md +0 -131
  78. package/docs/files/form/cascader.md +0 -164
  79. package/docs/files/form/checkbox.md +0 -179
  80. package/docs/files/form/datepicker.md +0 -78
  81. package/docs/files/form/form.md +0 -52
  82. package/docs/files/form/input.md +0 -90
  83. package/docs/files/form/radio.md +0 -150
  84. package/docs/files/form/select.md +0 -202
  85. package/docs/files/form/switch.md +0 -98
  86. package/docs/files/form/textarea.md +0 -102
  87. package/docs/files/form/timepicker.md +0 -78
  88. package/docs/files/form/transfer.md +0 -30
  89. package/docs/files/others/config.md +0 -261
  90. package/docs/files/others/confirm.md +0 -51
  91. package/docs/files/others/drawer.md +0 -32
  92. package/docs/files/others/loader.md +0 -22
  93. package/docs/files/others/map.md +0 -32
  94. package/docs/files/others/modal.md +0 -32
  95. package/docs/files/others/notification.md +0 -52
  96. package/docs/files/others/popover.md +0 -36
  97. package/docs/files/others/resizer.md +0 -8
  98. package/docs/files/others/scrollbar.md +0 -8
  99. package/docs/files/others/tabs.md +0 -32
  100. package/docs/index.template.html +0 -76
  101. package/docs/src/js/backup.js +0 -128
  102. package/docs/src/js/helper/item-helper.js +0 -0
  103. package/docs/src/js/index.js +0 -21
  104. package/docs/src/js/plugin/title-plugin.js +0 -0
  105. package/docs/src/js/plugin/vue-demo-plugin.js +0 -97
  106. package/docs/src/js/theme/basic.js +0 -31
  107. package/docs/src/js/theme/docsify.js +0 -11
  108. package/docs/src/scss/index-dark.scss +0 -3
  109. package/docs/src/scss/index-light.scss +0 -3
  110. package/docs/src/scss/index.scss +0 -15
  111. package/docs/src/scss/mixins/base.scss +0 -14
  112. package/docs/src/scss/mixins/grid.scss +0 -213
  113. package/docs/src/scss/mixins/media.scss +0 -35
  114. package/docs/src/scss/mixins/space.scss +0 -61
  115. package/docs/src/scss/root/vars-dark.scss +0 -15
  116. package/docs/src/scss/root/vars-light.scss +0 -15
  117. package/docs/src/scss/root/vars.scss +0 -110
  118. package/docs/src/scss/theme/default.scss +0 -123
  119. package/docs/src/scss/theme/header.scss +0 -147
  120. package/docs/src/scss/theme/layout.scss +0 -186
  121. package/docs/src/scss/theme/loader.scss +0 -63
  122. package/docs/src/scss/theme/markdown.scss +0 -79
  123. package/docs/src/scss/theme/navigation.scss +0 -58
  124. package/docs/src/scss/theme/progress.scss +0 -9
  125. package/docs/src/scss/theme/search.scss +0 -119
  126. package/docs/src/scss/theme/syntax.scss +0 -142
  127. package/docs/src/scss/theme/table.scss +0 -63
  128. package/favicon/apple-touch-icon.png +0 -0
  129. package/favicon/favicon-96x96.png +0 -0
  130. package/favicon/favicon.ico +0 -0
  131. package/favicon/favicon.svg +0 -3
  132. package/favicon/site.webmanifest +0 -21
  133. package/favicon/web-app-manifest-192x192.png +0 -0
  134. package/favicon/web-app-manifest-512x512.png +0 -0
  135. package/mix-manifest.json +0 -4
  136. package/postcss.config.js +0 -14
  137. package/webpack.config.js +0 -211
  138. package/webservy.json +0 -8
  139. /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>