@kizmann/nano-ui 1.0.3 → 1.0.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/218.nano-ui.js +2 -0
- package/dist/218.nano-ui.js.map +1 -0
- package/dist/933.nano-ui.js +2 -0
- package/dist/933.nano-ui.js.map +1 -0
- package/dist/nano-ui.css +1 -1
- package/dist/nano-ui.js +1 -3
- package/dist/nano-ui.js.map +1 -1
- package/package.json +2 -1
- package/src/alert/index.js +3 -3
- package/src/alert/src/alert/alert.js +16 -11
- package/src/button/index.js +2 -2
- package/src/cascader/index.js +2 -2
- package/src/checkbox/index.js +2 -4
- package/src/collapse/index.js +2 -2
- package/src/config/index.js +5 -5
- package/src/confirm/index.js +1 -1
- package/src/datepicker/index.js +2 -2
- package/src/datetimepicker/index.js +1 -1
- package/src/draggable/index.js +5 -5
- package/src/draggable/src/draggrid/{draggrid.js → draggrid.jsx} +1 -1
- package/src/draggable/src/draglist/{draglist.js → draglist.jsx} +1 -1
- package/src/draggable/src/dropzone/{dropzone.js → dropzone.jsx} +1 -1
- package/src/drawer/index.js +1 -1
- package/src/durationpicker/index.js +1 -1
- package/src/empty/index.js +1 -1
- package/src/file/index.js +1 -1
- package/src/form/index.js +6 -6
- package/src/index.js +91 -45
- package/src/index.scss +0 -1
- package/src/info/index.js +7 -7
- package/src/info/src/info-field/{info-field.js → info-field.jsx} +0 -1
- package/src/info/src/info-field/types/{info-field-boolean.js → info-field-boolean.jsx} +1 -1
- package/src/info/src/info-field/types/{info-field-datetime.js → info-field-datetime.jsx} +1 -1
- package/src/info/src/info-field/types/{info-field-image.js → info-field-image.jsx} +1 -1
- package/src/info/src/info-field/types/{info-field-option.js → info-field-option.jsx} +1 -1
- package/src/info/src/info-field/types/{info-field-string.js → info-field-string.jsx} +1 -1
- package/src/input/index.js +1 -1
- package/src/input-number/index.js +1 -1
- package/src/loader/index.js +1 -1
- package/src/map/index.js +2 -2
- package/src/mixins/src/cslo.js +1 -1
- package/src/modal/index.js +1 -1
- package/src/notification/index.js +3 -3
- package/src/notification/src/notification/notification.js +16 -10
- package/src/paginator/index.js +1 -1
- package/src/popover/index.js +3 -3
- package/src/preview/index.js +4 -4
- package/src/radio/index.js +2 -2
- package/src/rating/index.js +1 -1
- package/src/resizer/index.js +1 -1
- package/src/scrollbar/index.js +1 -1
- package/src/select/index.js +2 -4
- package/src/slider/index.js +1 -3
- package/src/switch/index.js +1 -3
- package/src/table/index.js +13 -13
- package/src/table/src/table/{table.js → table.jsx} +0 -1
- package/src/table/src/table-cell/types/{table-cell-boolean.js → table-cell-boolean.jsx} +1 -1
- package/src/table/src/table-cell/types/{table-cell-datetime.js → table-cell-datetime.jsx} +1 -1
- package/src/table/src/table-cell/types/{table-cell-image.js → table-cell-image.jsx} +1 -1
- package/src/table/src/table-cell/types/{table-cell-matrix.js → table-cell-matrix.jsx} +1 -1
- package/src/table/src/table-cell/types/{table-cell-option.js → table-cell-option.jsx} +1 -1
- package/src/table/src/table-cell/types/{table-cell-select.js → table-cell-select.jsx} +1 -1
- package/src/table/src/table-cell/types/{table-cell-string.js → table-cell-string.jsx} +1 -1
- package/src/table/src/table-filter/types/{table-filter-boolean.js → table-filter-boolean.jsx} +1 -1
- package/src/table/src/table-filter/types/{table-filter-datetime.js → table-filter-datetime.jsx} +1 -1
- package/src/table/src/table-filter/types/{table-filter-option.js → table-filter-option.jsx} +1 -1
- package/src/table/src/table-filter/types/{table-filter-string.js → table-filter-string.jsx} +1 -1
- package/src/tabs/index.js +2 -2
- package/src/tags/index.js +2 -2
- package/src/textarea/index.js +1 -1
- package/src/timepicker/index.js +2 -2
- package/src/transfer/index.js +1 -1
- package/src/virtualscroller/index.js +1 -1
- package/src/file-list/index.js +0 -10
- package/src/file-list/index.scss +0 -2
- package/src/file-list/src/file-list/file-list.js +0 -187
- package/src/file-list/src/file-list/file-list.scss +0 -47
- package/src/file-list/src/file-list-item/file-list-item.js +0 -168
- package/src/file-list/src/file-list-item/file-list-item.scss +0 -134
- package/src/file-list/src/file-list-item/types/file-list-item-image.js +0 -58
- package/src/scrollbar/src/scrollbar/scrollbar.js +0 -311
- package/src/virtualscroller/src/virtualscroller/virtualscroller.js +0 -267
- /package/src/button/src/button/{button.js → button.jsx} +0 -0
- /package/src/button/src/button-group/{button-group.js → button-group.jsx} +0 -0
- /package/src/cascader/src/cascader/{cascader.js → cascader.jsx} +0 -0
- /package/src/cascader/src/cascader-panel/{cascader-panel.js → cascader-panel.jsx} +0 -0
- /package/src/checkbox/src/checkbox/{checkbox.js → checkbox.jsx} +0 -0
- /package/src/checkbox/src/checkbox-group/{checkbox-group.js → checkbox-group.jsx} +0 -0
- /package/src/collapse/src/collapse/{collapse.js → collapse.jsx} +0 -0
- /package/src/collapse/src/collapse-item/{collapse-item.js → collapse-item.jsx} +0 -0
- /package/src/config/src/builder/{builder.js → builder.jsx} +0 -0
- /package/src/config/src/config/{config-next.js → config-next.jsx} +0 -0
- /package/src/config/src/config/{config.js → config.jsx} +0 -0
- /package/src/config/src/reference-panel/{reference-panel.js → reference-panel.jsx} +0 -0
- /package/src/config/src/reference-picker/{reference-picker.js → reference-picker.jsx} +0 -0
- /package/src/confirm/src/confirm/{confirm.js → confirm.jsx} +0 -0
- /package/src/datepicker/src/datepicker/{datepicker.js → datepicker.jsx} +0 -0
- /package/src/datepicker/src/datepicker-panel/{datepicker-panel.js → datepicker-panel.jsx} +0 -0
- /package/src/datetimepicker/src/datetimepicker/{datetimepicker.js → datetimepicker.jsx} +0 -0
- /package/src/draggable/src/draggrid-item/{draggrid-item.js → draggrid-item.jsx} +0 -0
- /package/src/draggable/src/draglist-item/{draglist-item.js → draglist-item.jsx} +0 -0
- /package/src/drawer/src/drawer/{drawer.js → drawer.jsx} +0 -0
- /package/src/durationpicker/src/durationpicker/{durationpicker.js → durationpicker.jsx} +0 -0
- /package/src/empty/src/empty-icon/{empty-icon.js → empty-icon.jsx} +0 -0
- /package/src/file/src/file/{file.js → file.jsx} +0 -0
- /package/src/form/src/form/{form.js → form.jsx} +0 -0
- /package/src/form/src/form-frame/{form-frame.js → form-frame.jsx} +0 -0
- /package/src/form/src/form-frame-item/{form-frame-item.js → form-frame-item.jsx} +0 -0
- /package/src/form/src/form-group/{form-group.js → form-group.jsx} +0 -0
- /package/src/form/src/form-item/{form-item.js → form-item.jsx} +0 -0
- /package/src/form/src/form-menu/{form-menu.js → form-menu.jsx} +0 -0
- /package/src/info/src/info/{info.js → info.jsx} +0 -0
- /package/src/info/src/info-column/{info-column.js → info-column.jsx} +0 -0
- /package/src/input/src/input/{input.js → input.jsx} +0 -0
- /package/src/input-number/src/input-number/{input-number.js → input-number.jsx} +0 -0
- /package/src/loader/src/loader/{loader.js → loader.jsx} +0 -0
- /package/src/map/src/map/{map.js → map.jsx} +0 -0
- /package/src/map/src/map-marker/{map-marker.js → map-marker.jsx} +0 -0
- /package/src/modal/src/modal/{modal.js → modal.jsx} +0 -0
- /package/src/paginator/src/paginator/{paginator.js → paginator.jsx} +0 -0
- /package/src/popover/src/popover/{popover.js → popover.jsx} +0 -0
- /package/src/popover/src/popover-group/{popover-group.js → popover-group.jsx} +0 -0
- /package/src/popover/src/popover-option/{popover-option.js → popover-option.jsx} +0 -0
- /package/src/preview/src/preview/{preview.js → preview.jsx} +0 -0
- /package/src/preview/src/preview-image/{preview-image.js → preview-image.jsx} +0 -0
- /package/src/preview/src/preview-plain/{preview-plain.js → preview-plain.jsx} +0 -0
- /package/src/preview/src/preview-video/{preview-video.js → preview-video.jsx} +0 -0
- /package/src/radio/src/radio/{radio.js → radio.jsx} +0 -0
- /package/src/radio/src/radio-group/{radio-group.js → radio-group.jsx} +0 -0
- /package/src/rating/src/rating/{rating.js → rating.jsx} +0 -0
- /package/src/resizer/src/resizer/{resizer.js → resizer.jsx} +0 -0
- /package/src/scrollbar/src/scrollbar/{scrollbar.next.js → scrollbar.jsx} +0 -0
- /package/src/select/src/select/{select.js → select.jsx} +0 -0
- /package/src/select/src/select-option/{select-option.js → select-option.jsx} +0 -0
- /package/src/slider/src/slider/{slider.js → slider.jsx} +0 -0
- /package/src/switch/src/switch/{switch.js → switch.jsx} +0 -0
- /package/src/table/src/table-cell/{table-cell.js → table-cell.jsx} +0 -0
- /package/src/table/src/table-column/{table-column.js → table-column.jsx} +0 -0
- /package/src/table/src/table-filter/{table-filter.js → table-filter.jsx} +0 -0
- /package/src/tabs/src/tabs/{tabs.js → tabs.jsx} +0 -0
- /package/src/tabs/src/tabs-item/{tabs-item.js → tabs-item.jsx} +0 -0
- /package/src/tags/src/tags/{tags.js → tags.jsx} +0 -0
- /package/src/tags/src/tags-item/{tags-item.js → tags-item.jsx} +0 -0
- /package/src/textarea/src/textarea/{textarea.js → textarea.jsx} +0 -0
- /package/src/timepicker/src/timepicker/{timepicker.js → timepicker.jsx} +0 -0
- /package/src/timepicker/src/timepicker-panel/{timepicker-panel.js → timepicker-panel.jsx} +0 -0
- /package/src/transfer/src/transfer/{transfer.js → transfer.jsx} +0 -0
- /package/src/virtualscroller/src/virtualscroller/{virtualscroller.beta.js → virtualscroller.jsx} +0 -0
@@ -1,267 +0,0 @@
|
|
1
|
-
import { UUID, Arr, Obj, Num, Dom, Any, Locale, Event } from "@kizmann/pico-js";
|
2
|
-
|
3
|
-
export default {
|
4
|
-
|
5
|
-
name: 'NVirtualscroller',
|
6
|
-
|
7
|
-
model: {
|
8
|
-
prop: 'items'
|
9
|
-
},
|
10
|
-
|
11
|
-
props: {
|
12
|
-
|
13
|
-
items: {
|
14
|
-
default()
|
15
|
-
{
|
16
|
-
return [];
|
17
|
-
}
|
18
|
-
},
|
19
|
-
|
20
|
-
itemHeight: {
|
21
|
-
default()
|
22
|
-
{
|
23
|
-
return 30;
|
24
|
-
}
|
25
|
-
},
|
26
|
-
|
27
|
-
viewportHeight: {
|
28
|
-
default()
|
29
|
-
{
|
30
|
-
return false;
|
31
|
-
}
|
32
|
-
},
|
33
|
-
|
34
|
-
renderNode: {
|
35
|
-
default()
|
36
|
-
{
|
37
|
-
return null;
|
38
|
-
}
|
39
|
-
},
|
40
|
-
|
41
|
-
bufferItems: {
|
42
|
-
default()
|
43
|
-
{
|
44
|
-
return 8;
|
45
|
-
},
|
46
|
-
type: [Number]
|
47
|
-
},
|
48
|
-
|
49
|
-
frameRate: {
|
50
|
-
default()
|
51
|
-
{
|
52
|
-
return 10;
|
53
|
-
},
|
54
|
-
type: [Number]
|
55
|
-
}
|
56
|
-
|
57
|
-
},
|
58
|
-
|
59
|
-
methods: {
|
60
|
-
|
61
|
-
limitedRefreshDriver(forceUpdate = false, overrideBuffer = false)
|
62
|
-
{
|
63
|
-
let framerateTimer = (val = null) => {
|
64
|
-
|
65
|
-
if ( ! Any.isEmpty(val) ) {
|
66
|
-
this.refreshDriverFramerate = val;
|
67
|
-
}
|
68
|
-
|
69
|
-
return this.refreshDriverFramerate;
|
70
|
-
};
|
71
|
-
|
72
|
-
Any.framerate(() => {
|
73
|
-
|
74
|
-
clearTimeout(this.refreshDriverDebounce);
|
75
|
-
|
76
|
-
this.refreshDriverDebounce = setTimeout(() => {
|
77
|
-
this.refreshDriver(forceUpdate, overrideBuffer);
|
78
|
-
}, (1000 / this.frameRate) + 50);
|
79
|
-
|
80
|
-
this.refreshDriver(forceUpdate, overrideBuffer);
|
81
|
-
|
82
|
-
}, this.frameRate, framerateTimer)();
|
83
|
-
},
|
84
|
-
|
85
|
-
refreshDriver(forceUpdate = false, overrideBuffer = false)
|
86
|
-
{
|
87
|
-
if ( ! this.$refs.viewport ) {
|
88
|
-
return;
|
89
|
-
}
|
90
|
-
|
91
|
-
this.latestBufferItems = this.latestBufferItems || this.bufferItems;
|
92
|
-
|
93
|
-
if ( overrideBuffer ) {
|
94
|
-
this.latestBufferItems = this.bufferItems / 2;
|
95
|
-
}
|
96
|
-
|
97
|
-
let scrollTop = 0, scrollFix = this.scrollFix || scrollTop;
|
98
|
-
|
99
|
-
if ( this.$refs.viewport ) {
|
100
|
-
scrollTop = this.$refs.viewport.$el.scrollTop;
|
101
|
-
}
|
102
|
-
|
103
|
-
let scrollBuffer = (this.latestBufferItems / 2 * this.itemHeight);
|
104
|
-
|
105
|
-
if ( scrollTop > scrollFix + scrollBuffer || scrollTop < scrollFix - scrollBuffer ) {
|
106
|
-
scrollFix = scrollTop;
|
107
|
-
}
|
108
|
-
|
109
|
-
let options = {
|
110
|
-
bufferItems: this.latestBufferItems,
|
111
|
-
totalItems: this.items.length,
|
112
|
-
viewportHeight: this.height,
|
113
|
-
minRowHeight: this.itemHeight,
|
114
|
-
scrollTop: scrollTop,
|
115
|
-
};
|
116
|
-
|
117
|
-
if ( this.scrollFix === scrollFix && ! forceUpdate ) {
|
118
|
-
return;
|
119
|
-
}
|
120
|
-
|
121
|
-
this.scrollFix = scrollFix;
|
122
|
-
|
123
|
-
let newState = virtualScrollDriver(options, this.state, () => {
|
124
|
-
return this.itemHeight;
|
125
|
-
});
|
126
|
-
|
127
|
-
let isEqualState = Arr.reduce(Any.keys(newState), (merge, key) => {
|
128
|
-
return merge && this.state[key] === newState[key];
|
129
|
-
}, true);
|
130
|
-
|
131
|
-
this.state = newState;
|
132
|
-
|
133
|
-
if ( isEqualState ) {
|
134
|
-
return;
|
135
|
-
}
|
136
|
-
|
137
|
-
this.veUpdate++;
|
138
|
-
},
|
139
|
-
|
140
|
-
discoverHeight()
|
141
|
-
{
|
142
|
-
if ( this.viewportHeight ) {
|
143
|
-
this.height = Dom.find(this.$el).height();
|
144
|
-
}
|
145
|
-
|
146
|
-
if ( ! this.viewportHeight ) {
|
147
|
-
this.height = this.items.length * this.itemHeight;
|
148
|
-
}
|
149
|
-
|
150
|
-
if ( this.height === 0 ) {
|
151
|
-
return Any.delay(this.discoverHeight, 100);
|
152
|
-
}
|
153
|
-
|
154
|
-
Any.async(() => this.limitedRefreshDriver(true, false));
|
155
|
-
},
|
156
|
-
|
157
|
-
eventScroll()
|
158
|
-
{
|
159
|
-
Any.async(() => this.limitedRefreshDriver(false, false));
|
160
|
-
},
|
161
|
-
|
162
|
-
eventScrollstop()
|
163
|
-
{
|
164
|
-
Any.async(() => this.limitedRefreshDriver(false, false));
|
165
|
-
}
|
166
|
-
|
167
|
-
},
|
168
|
-
|
169
|
-
data()
|
170
|
-
{
|
171
|
-
return {
|
172
|
-
height: 0, scrollFix: -1, veUpdate: 0
|
173
|
-
};
|
174
|
-
},
|
175
|
-
|
176
|
-
beforeMount()
|
177
|
-
{
|
178
|
-
this.state = {
|
179
|
-
items: Arr.make(this.items.length)
|
180
|
-
};
|
181
|
-
},
|
182
|
-
|
183
|
-
mounted()
|
184
|
-
{
|
185
|
-
this.$watch('items', this.discoverHeight);
|
186
|
-
|
187
|
-
let ident = {
|
188
|
-
_uid: this.uid
|
189
|
-
};
|
190
|
-
|
191
|
-
Dom.find(this.$el).on('scrollstop', this.eventScrollstop, ident);
|
192
|
-
|
193
|
-
Dom.find(this.$el).observerResize(this.discoverHeight)(this.$el);
|
194
|
-
},
|
195
|
-
|
196
|
-
beforeDestroy()
|
197
|
-
{
|
198
|
-
let ident = {
|
199
|
-
_uid: this.uid
|
200
|
-
};
|
201
|
-
|
202
|
-
Dom.find(this.$el).off('scrollstop', null, ident);
|
203
|
-
},
|
204
|
-
|
205
|
-
renderItems(start, count)
|
206
|
-
{
|
207
|
-
return Arr.each(this.items.slice(start, start + count), (value, index) => {
|
208
|
-
return this.renderNode({ value, index });
|
209
|
-
});
|
210
|
-
},
|
211
|
-
|
212
|
-
renderBody()
|
213
|
-
{
|
214
|
-
if ( ! this.items.length ) {
|
215
|
-
return this.$slots.empty || null;
|
216
|
-
}
|
217
|
-
|
218
|
-
if ( this.viewportHeight === false ) {
|
219
|
-
return Arr.each(this.items, (value, index) => {
|
220
|
-
return this.renderNode({ value, index });
|
221
|
-
});
|
222
|
-
}
|
223
|
-
|
224
|
-
let targetHeight = Obj.get(this.state, 'targetHeight');
|
225
|
-
|
226
|
-
let style = {
|
227
|
-
overflow: 'auto', overflowAnchor: 'none', outline: 'none', height: this.height + 'px'
|
228
|
-
};
|
229
|
-
|
230
|
-
let events = {
|
231
|
-
scroll: this.eventScroll
|
232
|
-
};
|
233
|
-
|
234
|
-
return (
|
235
|
-
<NScrollbar ref="viewport" on={events} style={style}>
|
236
|
-
<div key={this.veUpdate} style={{ height: targetHeight ? targetHeight + 'px' : 'auto', overflow: 'hidden' }}>
|
237
|
-
{ ! Any.isEmpty(this.state.topPlaceholderHeight) &&
|
238
|
-
<div draggable={false} style={{ height: this.state.topPlaceholderHeight + 'px' }}></div>
|
239
|
-
}
|
240
|
-
{ ! Any.isEmpty(this.state.middleItemCount) &&
|
241
|
-
this.ctor('renderItems')(this.state.firstMiddleItem, this.state.middleItemCount)
|
242
|
-
}
|
243
|
-
{ ! Any.isEmpty(this.state.middlePlaceholderHeight) &&
|
244
|
-
<div draggable={false} style={{ height: this.state.middlePlaceholderHeight + 'px' }}></div>
|
245
|
-
}
|
246
|
-
{ ! Any.isEmpty(this.state.lastItemCount) &&
|
247
|
-
this.ctor('renderItems')(this.items.length - this.state.lastItemCount, this.state.lastItemCount)
|
248
|
-
}
|
249
|
-
</div>
|
250
|
-
</NScrollbar>
|
251
|
-
);
|
252
|
-
},
|
253
|
-
|
254
|
-
render($render)
|
255
|
-
{
|
256
|
-
this.$render = $render;
|
257
|
-
|
258
|
-
return (
|
259
|
-
<div class="n-virtualscroller">
|
260
|
-
{ this.$slots.before || null }
|
261
|
-
{ this.ctor('renderBody')() }
|
262
|
-
{ this.$slots.default || null }
|
263
|
-
</div>
|
264
|
-
);
|
265
|
-
}
|
266
|
-
|
267
|
-
}
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
/package/src/virtualscroller/src/virtualscroller/{virtualscroller.beta.js → virtualscroller.jsx}
RENAMED
File without changes
|