@kizmann/nano-ui 1.1.3 → 2.0.0
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 +4 -4
- package/dist/nano-ui.css +1 -1
- package/dist/nano-ui.esm.js +2 -0
- package/dist/nano-ui.esm.js.map +1 -0
- package/dist/themes/default.css +1 -1
- package/dist/themes/webservy.css +1 -1
- package/package.json +10 -7
- package/src/alert/src/alert/alert-handler.mjs +6 -6
- package/src/cascader/src/cascader/cascader.jsx +5 -5
- package/src/cascader/src/cascader-panel/cascader-panel.jsx +4 -4
- package/src/chart/src/chart-bar/chart-bar.jsx +3 -3
- package/src/chart/src/chart-donut/chart-donut.jsx +6 -6
- package/src/chart/src/chart-item/chart-item.jsx +3 -3
- package/src/checkbox/src/checkbox/checkbox.jsx +2 -2
- package/src/checkbox/src/checkbox-group/checkbox-group.jsx +1 -1
- package/src/collapse/src/collapse/collapse.jsx +2 -2
- package/src/collapse/src/collapse-item/collapse-item.jsx +1 -1
- package/src/config/index.js +6 -6
- package/src/config/src/builder/builder.jsx +35 -35
- package/src/config/src/builder/prototypes/switch/n-switch.js +3 -3
- package/src/config/src/config/config-next.jsx +20 -22
- package/src/config/src/config/config.jsx +10 -10
- package/src/config/src/reference-panel/reference-panel.jsx +4 -4
- package/src/config/src/reference-picker/reference-picker.jsx +1 -1
- package/src/confirm/src/confirm/confirm-handler.mjs +9 -8
- package/src/confirm/src/confirm/confirm.jsx +4 -4
- package/src/datepicker/src/datepicker-panel/datepicker-panel.jsx +16 -16
- package/src/datetimepicker/src/datetimepicker/datetimepicker.jsx +1 -1
- package/src/draggable/src/draggrid/draggrid.jsx +5 -5
- package/src/draggable/src/draghandler/draghandler.js +65 -52
- package/src/draggable/src/draglist/draglist.jsx +11 -11
- package/src/draggable/src/draglist-item/draglist-item.jsx +2 -0
- package/src/draggable/src/dropzone/dropzone.jsx +5 -5
- package/src/drawer/src/drawer/drawer.jsx +5 -5
- package/src/durationpicker/src/durationpicker/durationpicker.jsx +7 -7
- package/src/file/src/file/file.jsx +3 -3
- package/src/form/src/form/form-rules.mjs +70 -40
- package/src/form/src/form/form.jsx +9 -9
- package/src/form/src/form/form.scss +5 -3
- package/src/form/src/form-bag/form-bag.jsx +3 -3
- package/src/form/src/form-frame/form-frame.jsx +11 -11
- package/src/form/src/form-group/form-group.jsx +3 -3
- package/src/form/src/form-item/form-item.jsx +3 -3
- package/src/index.scss +3 -0
- package/src/info/src/info/info.jsx +6 -6
- package/src/info/src/info-column/info-column.jsx +2 -2
- package/src/info/src/info-field/types/info-field-boolean.jsx +2 -2
- package/src/info/src/info-field/types/info-field-datetime.jsx +2 -2
- package/src/info/src/info-field/types/info-field-option.jsx +3 -3
- package/src/info/src/info-field/types/info-field-string.jsx +2 -2
- package/src/input-number/src/input-number/input-number.jsx +7 -8
- package/src/loader/src/loader/loader.jsx +3 -3
- package/src/map/src/map/map.jsx +3 -3
- package/src/map/src/map-marker/map-marker.jsx +4 -4
- package/src/mixins/src/cmer.js +7 -7
- package/src/mixins/src/cslo.js +1 -1
- package/src/modal/src/modal/modal.jsx +5 -5
- package/src/notification/src/notification/notification-handler.mjs +3 -3
- package/src/paginator/src/paginator/paginator.jsx +3 -3
- package/src/popover/src/popover/popover-element.mjs +12 -12
- package/src/popover/src/popover/popover-handler.mjs +5 -5
- package/src/popover/src/popover/popover.jsx +5 -4
- package/src/popover/src/popover-option/popover-option.jsx +1 -1
- package/src/preview/src/preview/preview-handler.mjs +6 -6
- package/src/preview/src/preview/preview-helper.mjs +6 -6
- package/src/preview/src/preview/preview.jsx +3 -3
- package/src/preview/src/preview-image/preview-image.jsx +3 -3
- package/src/preview/src/preview-modal/preview-modal.jsx +3 -3
- package/src/preview/src/preview-plain/preview-plain.jsx +1 -1
- package/src/preview/src/preview-video/preview-video.jsx +2 -2
- package/src/radio/src/radio/radio.jsx +1 -1
- package/src/radio/src/radio-group/radio-group.jsx +1 -1
- package/src/rating/src/rating/rating.jsx +2 -2
- package/src/resizer/src/resizer/resizer-next.jsx +19 -19
- package/src/resizer/src/resizer/resizer.jsx +17 -17
- package/src/scrollbar/src/scrollbar/scrollbar.jsx +17 -17
- package/src/select/src/select/select.jsx +27 -29
- package/src/select/src/select-option/select-option.jsx +4 -4
- package/src/slider/src/slider/slider.jsx +18 -16
- package/src/slider/src/slider/slider.scss +6 -25
- package/src/switch/src/switch/switch.jsx +1 -1
- package/src/table/src/table/table.jsx +21 -18
- package/src/table/src/table-cell/types/table-cell-boolean.jsx +2 -2
- package/src/table/src/table-cell/types/table-cell-datetime.jsx +2 -2
- package/src/table/src/table-cell/types/table-cell-image.jsx +1 -1
- package/src/table/src/table-cell/types/table-cell-matrix.jsx +5 -5
- package/src/table/src/table-cell/types/table-cell-option.jsx +3 -3
- package/src/table/src/table-cell/types/table-cell-select.jsx +5 -5
- package/src/table/src/table-cell/types/table-cell-string.jsx +2 -2
- package/src/table/src/table-column/table-column.jsx +5 -5
- package/src/table/src/table-filter/table-filter.jsx +5 -5
- package/src/table/src/table-filter/types/table-filter-boolean.jsx +1 -1
- package/src/table/src/table-filter/types/table-filter-option.jsx +2 -2
- package/src/table/src/table-filter/types/table-filter-string.jsx +1 -1
- package/src/tabs/src/tabs/tabs.jsx +2 -2
- package/src/tags/src/tags/tags.jsx +1 -1
- package/src/tags/src/tags-item/tags-item.jsx +2 -2
- package/src/textarea/src/textarea/textarea.jsx +1 -1
- package/src/timepicker/src/timepicker/timepicker.jsx +4 -4
- package/src/timepicker/src/timepicker-panel/timepicker-panel.jsx +6 -6
- package/src/transfer/src/transfer/transfer.jsx +4 -4
- package/src/transfer/src/transfer/transfer.scss +4 -0
- package/src/virtualscroller/src/virtualscroller/virtualscroller.jsx +8 -5
- package/themes/default/alert/src/alert/alert.scss +1 -1
- package/themes/default/confirm/src/confirm/confirm.scss +1 -1
- package/themes/default/datepicker/src/datepicker/datepicker.scss +1 -1
- package/themes/default/datepicker/src/datepicker-panel/datepicker-panel.scss +2 -2
- package/themes/default/datetimepicker/src/datetimepicker/datetimepicker.scss +1 -1
- package/themes/default/draggable/src/draglist-item/draglist-item.scss +1 -1
- package/themes/default/drawer/src/drawer/drawer.scss +1 -1
- package/themes/default/durationpicker/src/durationpicker/durationpicker.scss +1 -1
- package/themes/default/modal/src/modal/modal.scss +1 -1
- package/themes/default/popover/src/popover/popover.scss +1 -1
- package/themes/default/preview/src/preview-modal/preview-modal.scss +1 -1
- package/themes/default/slider/src/slider/slider.scss +2 -3
- package/themes/default/timepicker/src/timepicker/timepicker.scss +1 -1
- package/themes/default/transfer/src/transfer/transfer.scss +1 -0
- package/themes/webservy/alert/src/alert/alert.scss +1 -1
- package/themes/webservy/confirm/src/confirm/confirm.scss +1 -1
- package/themes/webservy/datepicker/src/datepicker/datepicker.scss +1 -1
- package/themes/webservy/datetimepicker/src/datetimepicker/datetimepicker.scss +1 -1
- package/themes/webservy/draggable/src/draggrid-item/draggrid-item.scss +1 -1
- package/themes/webservy/drawer/src/drawer/drawer.scss +1 -1
- package/themes/webservy/durationpicker/src/durationpicker/durationpicker.scss +1 -1
- package/themes/webservy/modal/src/modal/modal.scss +1 -1
- package/themes/webservy/preview/src/preview-modal/preview-modal.scss +1 -1
- package/themes/webservy/timepicker/src/timepicker/timepicker.scss +1 -1
- package/dist/nano-ui.js +0 -2
- package/dist/nano-ui.js.map +0 -1
- /package/src/{index.js → index.esm.js} +0 -0
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Arr, Obj,
|
|
1
|
+
import { Arr, Obj, Mix } from "@kizmann/pico-js";
|
|
2
2
|
|
|
3
3
|
export default {
|
|
4
4
|
|
|
@@ -45,7 +45,7 @@ export default {
|
|
|
45
45
|
{
|
|
46
46
|
let result = {};
|
|
47
47
|
|
|
48
|
-
if ( !
|
|
48
|
+
if ( ! Mix.isObj(value) && ! Obj.get(value, '__v_skip') ) {
|
|
49
49
|
return result;
|
|
50
50
|
}
|
|
51
51
|
|
|
@@ -55,13 +55,13 @@ export default {
|
|
|
55
55
|
`${path}.${key}`, value[key]
|
|
56
56
|
];
|
|
57
57
|
|
|
58
|
-
if (
|
|
58
|
+
if ( Mix.isObj(val) ) {
|
|
59
59
|
val = this.buildTree(val, ref);
|
|
60
60
|
}
|
|
61
61
|
|
|
62
62
|
let type = typeof val;
|
|
63
63
|
|
|
64
|
-
if (
|
|
64
|
+
if ( Mix.isArray(val) ) {
|
|
65
65
|
type = 'array';
|
|
66
66
|
}
|
|
67
67
|
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { Run, Mix, Arr, Dom, Locale, Obj, Hash } from "@kizmann/pico-js";
|
|
2
2
|
|
|
3
3
|
export class ConfirmHandler
|
|
4
4
|
{
|
|
@@ -18,7 +18,7 @@ export class ConfirmHandler
|
|
|
18
18
|
constructor(options = {})
|
|
19
19
|
{
|
|
20
20
|
this.options = Obj.assign(this.options, options, {
|
|
21
|
-
uid:
|
|
21
|
+
uid: Hash.uuid()
|
|
22
22
|
});
|
|
23
23
|
}
|
|
24
24
|
|
|
@@ -27,7 +27,7 @@ export class ConfirmHandler
|
|
|
27
27
|
this.unbindEvents();
|
|
28
28
|
this.modal.remove();
|
|
29
29
|
|
|
30
|
-
Dom.find(document.body).
|
|
30
|
+
Dom.find(document.body).style({
|
|
31
31
|
'overflow': 'undefined'
|
|
32
32
|
});
|
|
33
33
|
|
|
@@ -81,7 +81,7 @@ export class ConfirmHandler
|
|
|
81
81
|
|
|
82
82
|
let text = Obj.get(this.options, 'confirmText');
|
|
83
83
|
|
|
84
|
-
if (
|
|
84
|
+
if ( Mix.isEmpty(text) ) {
|
|
85
85
|
text = Locale.trans('Okay');
|
|
86
86
|
}
|
|
87
87
|
|
|
@@ -107,7 +107,7 @@ export class ConfirmHandler
|
|
|
107
107
|
|
|
108
108
|
let text = Obj.get(this.options, 'cancelText');
|
|
109
109
|
|
|
110
|
-
if (
|
|
110
|
+
if ( Mix.isEmpty(text) ) {
|
|
111
111
|
text = Locale.trans('Cancel');
|
|
112
112
|
}
|
|
113
113
|
|
|
@@ -141,7 +141,7 @@ export class ConfirmHandler
|
|
|
141
141
|
}
|
|
142
142
|
}, { uid });
|
|
143
143
|
|
|
144
|
-
|
|
144
|
+
Run.delay(() => {
|
|
145
145
|
Dom.find(this.modal).addClass('n-ready');
|
|
146
146
|
});
|
|
147
147
|
}
|
|
@@ -163,7 +163,7 @@ export class ConfirmHandler
|
|
|
163
163
|
{
|
|
164
164
|
let cls = Obj.get(this.options, 'class', []);
|
|
165
165
|
|
|
166
|
-
if (
|
|
166
|
+
if ( Mix.isString(cls) ) {
|
|
167
167
|
cls = cls.split(' ');
|
|
168
168
|
}
|
|
169
169
|
|
|
@@ -209,7 +209,7 @@ export class ConfirmHandler
|
|
|
209
209
|
this.renderCancel(action, cancel);
|
|
210
210
|
this.renderConfirm(action, confirm);
|
|
211
211
|
|
|
212
|
-
Dom.find(document.body).
|
|
212
|
+
Dom.find(document.body).style({
|
|
213
213
|
'overflow': 'hidden'
|
|
214
214
|
});
|
|
215
215
|
|
|
@@ -220,6 +220,7 @@ export class ConfirmHandler
|
|
|
220
220
|
});
|
|
221
221
|
|
|
222
222
|
this.modal = modal.get(0);
|
|
223
|
+
console.log(this.modal);
|
|
223
224
|
}
|
|
224
225
|
}
|
|
225
226
|
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Obj, Locale, Dom, Arr,
|
|
1
|
+
import { Obj, Locale, Dom, Arr, Mix } from "@kizmann/pico-js";
|
|
2
2
|
|
|
3
3
|
export default {
|
|
4
4
|
|
|
@@ -100,7 +100,7 @@ export default {
|
|
|
100
100
|
});
|
|
101
101
|
|
|
102
102
|
this.target = Dom.find(this.selector || this.$el)
|
|
103
|
-
.
|
|
103
|
+
.prev().get(0);
|
|
104
104
|
|
|
105
105
|
Dom.find(document.body).on('mousedown',
|
|
106
106
|
this.eventClick, this._.uid);
|
|
@@ -124,7 +124,7 @@ export default {
|
|
|
124
124
|
|
|
125
125
|
let nodes = this.$slots.default();
|
|
126
126
|
|
|
127
|
-
if (
|
|
127
|
+
if ( Mix.isEmpty(nodes) ) {
|
|
128
128
|
return fallback;
|
|
129
129
|
}
|
|
130
130
|
|
|
@@ -132,7 +132,7 @@ export default {
|
|
|
132
132
|
|
|
133
133
|
nodes.map((el) => {
|
|
134
134
|
|
|
135
|
-
if ( !
|
|
135
|
+
if ( !Mix.isString(el.children) ) {
|
|
136
136
|
return;
|
|
137
137
|
}
|
|
138
138
|
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Arr, Str, Now,
|
|
1
|
+
import { Arr, Str, Now, Mix } from "@kizmann/pico-js";
|
|
2
2
|
|
|
3
3
|
export default {
|
|
4
4
|
|
|
@@ -137,12 +137,12 @@ export default {
|
|
|
137
137
|
|
|
138
138
|
yearsGrid()
|
|
139
139
|
{
|
|
140
|
-
return this.tempCache.
|
|
140
|
+
return this.tempCache.grid('years');
|
|
141
141
|
},
|
|
142
142
|
|
|
143
143
|
monthsGrid()
|
|
144
144
|
{
|
|
145
|
-
return this.tempCache.
|
|
145
|
+
return this.tempCache.grid('months');
|
|
146
146
|
}
|
|
147
147
|
|
|
148
148
|
},
|
|
@@ -205,12 +205,12 @@ export default {
|
|
|
205
205
|
|
|
206
206
|
patchDate(now)
|
|
207
207
|
{
|
|
208
|
-
if (
|
|
208
|
+
if ( Mix.isString(now) ) {
|
|
209
209
|
now = Now.make(now);
|
|
210
210
|
}
|
|
211
211
|
|
|
212
|
-
if (
|
|
213
|
-
now.
|
|
212
|
+
if ( Mix.isEmpty(this.modelValue) ) {
|
|
213
|
+
now.reset({ time: true });
|
|
214
214
|
} else {
|
|
215
215
|
now.applyTime(this.tempValue);
|
|
216
216
|
}
|
|
@@ -227,7 +227,7 @@ export default {
|
|
|
227
227
|
|
|
228
228
|
patchMonth(now)
|
|
229
229
|
{
|
|
230
|
-
if (
|
|
230
|
+
if ( Mix.isString(now) ) {
|
|
231
231
|
now = Now.make(now);
|
|
232
232
|
}
|
|
233
233
|
|
|
@@ -243,7 +243,7 @@ export default {
|
|
|
243
243
|
|
|
244
244
|
patchYear(now)
|
|
245
245
|
{
|
|
246
|
-
if (
|
|
246
|
+
if ( Mix.isString(now) ) {
|
|
247
247
|
now = Now.make(now);
|
|
248
248
|
}
|
|
249
249
|
|
|
@@ -319,14 +319,14 @@ export default {
|
|
|
319
319
|
};
|
|
320
320
|
|
|
321
321
|
let monthsHtml = [
|
|
322
|
-
this.months[this.tempCache.month()]
|
|
322
|
+
this.months[this.tempCache.month() -1]
|
|
323
323
|
];
|
|
324
324
|
|
|
325
325
|
let month = this.tempCache.clone()
|
|
326
|
-
.
|
|
326
|
+
.add(this.monthPanels - 1, 'month');
|
|
327
327
|
|
|
328
328
|
if ( month.month() !== this.tempCache.month() ) {
|
|
329
|
-
monthsHtml.push(this.months[month.month()]);
|
|
329
|
+
monthsHtml.push(this.months[month.month() -1]);
|
|
330
330
|
}
|
|
331
331
|
|
|
332
332
|
return (
|
|
@@ -347,7 +347,7 @@ export default {
|
|
|
347
347
|
];
|
|
348
348
|
|
|
349
349
|
let month = this.tempCache.clone()
|
|
350
|
-
.
|
|
350
|
+
.add(this.monthPanels - 1, 'month');
|
|
351
351
|
|
|
352
352
|
if ( month.year() !== this.tempCache.year() ) {
|
|
353
353
|
yearsHtml.push(month.year());
|
|
@@ -388,7 +388,7 @@ export default {
|
|
|
388
388
|
classList.push('n-today');
|
|
389
389
|
}
|
|
390
390
|
|
|
391
|
-
let isSelected = this.tempValue.valid() &&
|
|
391
|
+
let isSelected = this.tempValue.valid() &&
|
|
392
392
|
now.equalDate(this.tempValue);
|
|
393
393
|
|
|
394
394
|
if ( isSelected ) {
|
|
@@ -539,7 +539,7 @@ export default {
|
|
|
539
539
|
}
|
|
540
540
|
|
|
541
541
|
let bodyHtml = (month) => (
|
|
542
|
-
Arr.each(Arr.chunk(month.
|
|
542
|
+
Arr.each(Arr.chunk(month.grid('days'), 7), (chunks) => {
|
|
543
543
|
return (
|
|
544
544
|
<div class="n-datepicker-panel__week">
|
|
545
545
|
{ Arr.each(chunks, (chunk) => renderItem(chunk, month)) }
|
|
@@ -552,7 +552,7 @@ export default {
|
|
|
552
552
|
Arr.each(Arr.make(this.monthPanels), (offset) => {
|
|
553
553
|
|
|
554
554
|
let month = this.tempCache.clone()
|
|
555
|
-
.
|
|
555
|
+
.add(offset, 'month');
|
|
556
556
|
|
|
557
557
|
return (
|
|
558
558
|
<div class="n-datepicker-panel__panel">
|
|
@@ -599,7 +599,7 @@ export default {
|
|
|
599
599
|
|
|
600
600
|
return (
|
|
601
601
|
<div class={classList} {...props}>
|
|
602
|
-
<span>{ this.trans(this.months[now.month()]) }</span>
|
|
602
|
+
<span>{ this.trans(this.months[now.month() -1]) }</span>
|
|
603
603
|
</div>
|
|
604
604
|
)
|
|
605
605
|
},
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { Hash, Num, Arr, Obj, Dom, Mix, Event, Locale } from "@kizmann/pico-js";
|
|
2
2
|
import NDraghandler from "../draghandler/draghandler.js";
|
|
3
3
|
|
|
4
4
|
window.DEBUG_NDLIST = false;
|
|
@@ -139,7 +139,7 @@ export default {
|
|
|
139
139
|
useKeys: {
|
|
140
140
|
default()
|
|
141
141
|
{
|
|
142
|
-
return
|
|
142
|
+
return false;
|
|
143
143
|
},
|
|
144
144
|
type: [Boolean]
|
|
145
145
|
},
|
|
@@ -308,7 +308,7 @@ export default {
|
|
|
308
308
|
data()
|
|
309
309
|
{
|
|
310
310
|
return {
|
|
311
|
-
uid:
|
|
311
|
+
uid: Hash.uuid(),
|
|
312
312
|
virtuals: [],
|
|
313
313
|
visible: [],
|
|
314
314
|
childNodes: {},
|
|
@@ -434,7 +434,7 @@ export default {
|
|
|
434
434
|
{
|
|
435
435
|
let canDrag = this.allowDrag;
|
|
436
436
|
|
|
437
|
-
if ( !
|
|
437
|
+
if ( ! Mix.isFunction(canDrag) ) {
|
|
438
438
|
canDrag = () => this.allowDrag;
|
|
439
439
|
}
|
|
440
440
|
|
|
@@ -595,7 +595,7 @@ export default {
|
|
|
595
595
|
{
|
|
596
596
|
let canSelect = this.allowSelect;
|
|
597
597
|
|
|
598
|
-
if ( !
|
|
598
|
+
if ( ! Mix.isFunction(canSelect) ) {
|
|
599
599
|
canSelect = () => this.allowSelect;
|
|
600
600
|
}
|
|
601
601
|
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Arr, Obj,
|
|
1
|
+
import { Run, Num, Arr, Obj, Mix, Dom, Event, Locale, Hash } from "@kizmann/pico-js";
|
|
2
2
|
|
|
3
3
|
window.dragMods = [];
|
|
4
4
|
|
|
@@ -116,12 +116,12 @@ class NDragIndicator
|
|
|
116
116
|
style.top = offsetTop + Dom.find(el).height();
|
|
117
117
|
}
|
|
118
118
|
|
|
119
|
-
this.$el.
|
|
119
|
+
this.$el.style(Obj.map(style, (item) => item + 'px'));
|
|
120
120
|
}
|
|
121
121
|
|
|
122
122
|
hide()
|
|
123
123
|
{
|
|
124
|
-
this.$el.
|
|
124
|
+
this.$el.style(null);
|
|
125
125
|
}
|
|
126
126
|
|
|
127
127
|
destroy()
|
|
@@ -160,29 +160,31 @@ class NDraghandler
|
|
|
160
160
|
this.bindDragstart.call(this, ...window.DragCache);
|
|
161
161
|
}
|
|
162
162
|
|
|
163
|
-
|
|
163
|
+
let key = this.rootNode._.uid + '-droot-';
|
|
164
|
+
|
|
165
|
+
Dom.find(this.rootNode.$el).on('dragenter', Run.framebuffer((event) => {
|
|
164
166
|
this.onDragenterRoot(event);
|
|
165
|
-
});
|
|
167
|
+
}, key + 'dragenter', 140));
|
|
166
168
|
|
|
167
|
-
Dom.find(this.rootNode.$el).on('dragover', (event) => {
|
|
169
|
+
Dom.find(this.rootNode.$el).on('dragover', Run.framebuffer((event) => {
|
|
168
170
|
this.onDragoverRoot(event);
|
|
169
|
-
});
|
|
171
|
+
}, key + 'dragover', 240));
|
|
170
172
|
|
|
171
|
-
Dom.find(this.rootNode.$el).on('dragleave', (event) => {
|
|
173
|
+
Dom.find(this.rootNode.$el).on('dragleave', Run.framebuffer((event) => {
|
|
172
174
|
this.onDragleaveRoot(event);
|
|
173
|
-
});
|
|
175
|
+
}, key + 'dragleave', 340));
|
|
174
176
|
|
|
175
|
-
Dom.find(this.rootNode.$el).on('dragend', (event) => {
|
|
177
|
+
Dom.find(this.rootNode.$el).on('dragend', Run.framebuffer((event) => {
|
|
176
178
|
this.onDragendRoot(event);
|
|
177
|
-
});
|
|
179
|
+
}, key + 'dragend', 440));
|
|
178
180
|
|
|
179
|
-
Dom.find(this.rootNode.$el).on('drop', (event) => {
|
|
181
|
+
Dom.find(this.rootNode.$el).on('drop', Run.framebuffer((event) => {
|
|
180
182
|
this.onDragdropRoot(event);
|
|
181
|
-
});
|
|
183
|
+
}, key + 'drop', 540));
|
|
182
184
|
|
|
183
|
-
Dom.find(this.rootNode.$el).on('dragdrop', (event) => {
|
|
185
|
+
Dom.find(this.rootNode.$el).on('dragdrop', Run.framebuffer((event) => {
|
|
184
186
|
this.onDragdropRoot(event);
|
|
185
|
-
});
|
|
187
|
+
}, key + 'dragdrop', 640));
|
|
186
188
|
|
|
187
189
|
Event.bind('NDrag:start', this.bindDragstart.bind(this),
|
|
188
190
|
this.rootNode.uid);
|
|
@@ -216,6 +218,9 @@ class NDraghandler
|
|
|
216
218
|
onDragenterRoot(event)
|
|
217
219
|
{
|
|
218
220
|
event.preventDefault();
|
|
221
|
+
|
|
222
|
+
Dom.find(this.rootNode.$el).find('.n-dragover')
|
|
223
|
+
.remClass('n-dragover');
|
|
219
224
|
}
|
|
220
225
|
|
|
221
226
|
onDragoverRoot(event)
|
|
@@ -229,13 +234,13 @@ class NDraghandler
|
|
|
229
234
|
|
|
230
235
|
event.preventDefault();
|
|
231
236
|
|
|
232
|
-
if ( this.frames && Date.now() - this.frames <
|
|
233
|
-
|
|
234
|
-
}
|
|
237
|
+
// if ( this.frames && Date.now() - this.frames < 35 ) {
|
|
238
|
+
// return;
|
|
239
|
+
// }
|
|
235
240
|
|
|
236
241
|
let allowDrop = this.rootNode.allowDrop;
|
|
237
242
|
|
|
238
|
-
if ( !
|
|
243
|
+
if ( !Mix.isFunction(allowDrop) ) {
|
|
239
244
|
allowDrop = () => this.rootNode.allowDrop;
|
|
240
245
|
}
|
|
241
246
|
|
|
@@ -254,13 +259,13 @@ class NDraghandler
|
|
|
254
259
|
if ( this.strategy !== 'nodrop' ) {
|
|
255
260
|
Dom.find(this.rootNode.$el).addClass('n-dragover');
|
|
256
261
|
} else {
|
|
257
|
-
Dom.find(this.rootNode.$el).
|
|
262
|
+
Dom.find(this.rootNode.$el).remClass('n-dragover');
|
|
258
263
|
}
|
|
259
264
|
|
|
260
265
|
if ( this.strategy === 'nodrop' ) {
|
|
261
266
|
Dom.find(this.rootNode.$el).addClass('n-nodrop');
|
|
262
267
|
} else {
|
|
263
|
-
Dom.find(this.rootNode.$el).
|
|
268
|
+
Dom.find(this.rootNode.$el).remClass('n-nodrop');
|
|
264
269
|
}
|
|
265
270
|
|
|
266
271
|
this.frames = Date.now();
|
|
@@ -269,7 +274,10 @@ class NDraghandler
|
|
|
269
274
|
onDragleaveRoot(event)
|
|
270
275
|
{
|
|
271
276
|
Dom.find(this.rootNode.$el)
|
|
272
|
-
.
|
|
277
|
+
.remClass(['n-dragover', 'n-nodrop']);
|
|
278
|
+
|
|
279
|
+
Dom.find(this.rootNode.$el).find('.n-dragover')
|
|
280
|
+
.remClass('n-dragover');
|
|
273
281
|
}
|
|
274
282
|
|
|
275
283
|
onDragendRoot(event)
|
|
@@ -279,7 +287,7 @@ class NDraghandler
|
|
|
279
287
|
}
|
|
280
288
|
|
|
281
289
|
Dom.find(this.rootNode.$el)
|
|
282
|
-
.
|
|
290
|
+
.remClass(['n-dragover', 'n-nodrop']);
|
|
283
291
|
|
|
284
292
|
if ( this.strategy !== 'root' ) {
|
|
285
293
|
return;
|
|
@@ -295,7 +303,7 @@ class NDraghandler
|
|
|
295
303
|
}
|
|
296
304
|
|
|
297
305
|
Dom.find(this.rootNode.$el)
|
|
298
|
-
.
|
|
306
|
+
.remClass(['n-dragover', 'n-nodrop']);
|
|
299
307
|
|
|
300
308
|
if ( this.strategy !== 'root' ) {
|
|
301
309
|
return;
|
|
@@ -393,9 +401,9 @@ class NDraghandler
|
|
|
393
401
|
|
|
394
402
|
event.preventDefault();
|
|
395
403
|
|
|
396
|
-
if ( this.frames && Date.now() - this.frames < 45 ) {
|
|
397
|
-
|
|
398
|
-
}
|
|
404
|
+
// if ( this.frames && Date.now() - this.frames < 45 ) {
|
|
405
|
+
// return;
|
|
406
|
+
// }
|
|
399
407
|
|
|
400
408
|
let safezone = this.rootNode
|
|
401
409
|
.safezone(node.$el.clientHeight);
|
|
@@ -409,7 +417,7 @@ class NDraghandler
|
|
|
409
417
|
|
|
410
418
|
let allowDrop = this.rootNode.allowDrop;
|
|
411
419
|
|
|
412
|
-
if ( !
|
|
420
|
+
if ( !Mix.isFunction(allowDrop) ) {
|
|
413
421
|
allowDrop = () => this.rootNode.allowDrop;
|
|
414
422
|
}
|
|
415
423
|
|
|
@@ -420,7 +428,9 @@ class NDraghandler
|
|
|
420
428
|
let isInSelf = Arr.has(node.value.cascade,
|
|
421
429
|
this.rootNode.tempSelected);
|
|
422
430
|
|
|
423
|
-
|
|
431
|
+
if ( this.rootNode.tempSelected.length ) {
|
|
432
|
+
rainbow.push(!isInSelf);
|
|
433
|
+
}
|
|
424
434
|
|
|
425
435
|
if ( Arr.has(rainbow, false) ) {
|
|
426
436
|
this.strategy = 'nodrop';
|
|
@@ -432,11 +442,11 @@ class NDraghandler
|
|
|
432
442
|
|
|
433
443
|
if ( this.strategy !== 'nodrop' ) {
|
|
434
444
|
Dom.find(node.$el).addClass('n-dragover');
|
|
435
|
-
Dom.find(node.$el).
|
|
445
|
+
Dom.find(node.$el).remClass('n-nodrop');
|
|
436
446
|
}
|
|
437
447
|
|
|
438
448
|
if ( this.strategy === 'nodrop' ) {
|
|
439
|
-
Dom.find(node.$el).
|
|
449
|
+
Dom.find(node.$el).remClass('n-dragover');
|
|
440
450
|
Dom.find(node.$el).addClass('n-nodrop');
|
|
441
451
|
}
|
|
442
452
|
|
|
@@ -451,14 +461,14 @@ class NDraghandler
|
|
|
451
461
|
return;
|
|
452
462
|
}
|
|
453
463
|
|
|
454
|
-
Dom.find(node.$el).
|
|
464
|
+
Dom.find(node.$el).remClass(['n-dragover', 'n-nodrop']);
|
|
455
465
|
|
|
456
466
|
this.DragIndicator.hide();
|
|
457
467
|
}
|
|
458
468
|
|
|
459
469
|
onDragendNode(event, node)
|
|
460
470
|
{
|
|
461
|
-
Dom.find(node.$el).
|
|
471
|
+
Dom.find(node.$el).remClass(['n-dragover', 'n-nodrop']);
|
|
462
472
|
|
|
463
473
|
this.DragIndicator.hide();
|
|
464
474
|
|
|
@@ -473,7 +483,7 @@ class NDraghandler
|
|
|
473
483
|
return;
|
|
474
484
|
}
|
|
475
485
|
|
|
476
|
-
Dom.find(node.$el).
|
|
486
|
+
Dom.find(node.$el).remClass(['n-dragover', 'n-nodrop']);
|
|
477
487
|
|
|
478
488
|
this.DragIndicator.hide();
|
|
479
489
|
|
|
@@ -506,29 +516,31 @@ class NDraghandler
|
|
|
506
516
|
this.onDragstartNode(event, node);
|
|
507
517
|
});
|
|
508
518
|
|
|
509
|
-
|
|
519
|
+
let key = this.rootNode._.uid + '-dnode-';
|
|
520
|
+
|
|
521
|
+
$el.on('dragenter', Run.framebuffer((event) => {
|
|
510
522
|
this.onDragenterNode(event, node);
|
|
511
|
-
});
|
|
523
|
+
}, key + 'dragenter', 150));
|
|
512
524
|
|
|
513
|
-
$el.on('dragover', (event) => {
|
|
525
|
+
$el.on('dragover', Run.framebuffer((event) => {
|
|
514
526
|
this.onDragoverNode(event, node);
|
|
515
|
-
});
|
|
527
|
+
}, key + 'dragover', 250));
|
|
516
528
|
|
|
517
|
-
$el.on('dragleave', (event) => {
|
|
529
|
+
$el.on('dragleave', Run.framebuffer((event) => {
|
|
518
530
|
this.onDragleaveNode(event, node);
|
|
519
|
-
});
|
|
531
|
+
}, key + 'dragleave', 350));
|
|
520
532
|
|
|
521
|
-
$el.on('dragend', (event) => {
|
|
533
|
+
$el.on('dragend', Run.framebuffer((event) => {
|
|
522
534
|
this.onDragendNode(event, node);
|
|
523
|
-
});
|
|
535
|
+
}, key + 'dragend', 450));
|
|
524
536
|
|
|
525
|
-
$el.on('drop', (event) => {
|
|
537
|
+
$el.on('drop', Run.framebuffer((event) => {
|
|
526
538
|
this.onDragdropNode(event, node);
|
|
527
|
-
});
|
|
539
|
+
}, key + 'drop', 550));
|
|
528
540
|
|
|
529
|
-
$el.on('dragdrop', (event) => {
|
|
541
|
+
$el.on('dragdrop', Run.framebuffer((event) => {
|
|
530
542
|
this.onDragdropNode(event, node);
|
|
531
|
-
});
|
|
543
|
+
}, key + 'dragdrop', 650));
|
|
532
544
|
|
|
533
545
|
this.childNodes[node.uid] = node;
|
|
534
546
|
}
|
|
@@ -554,7 +566,7 @@ class NDraghandler
|
|
|
554
566
|
'dragdrop',
|
|
555
567
|
]);
|
|
556
568
|
|
|
557
|
-
$el.
|
|
569
|
+
$el.remClass(['n-dragover', 'n-nodrop']);
|
|
558
570
|
|
|
559
571
|
this.DragIndicator.hide();
|
|
560
572
|
|
|
@@ -786,7 +798,7 @@ class NDraghandler
|
|
|
786
798
|
let items = Obj.get(clone, targetRoute);
|
|
787
799
|
|
|
788
800
|
let target = Obj.except(node.item, [], {
|
|
789
|
-
[this.rootNode.uniqueProp]:
|
|
801
|
+
[this.rootNode.uniqueProp]: Hash.uuid()
|
|
790
802
|
});
|
|
791
803
|
|
|
792
804
|
items.splice(node.value.index + 1,
|
|
@@ -817,15 +829,16 @@ class NDraghandler
|
|
|
817
829
|
|
|
818
830
|
reduce(items, ...props)
|
|
819
831
|
{
|
|
820
|
-
return Arr.reduce(items, (merge, item, index) =>
|
|
821
|
-
this.reduceItem(merge, item, Num.int(index), ...props)
|
|
832
|
+
return Arr.reduce(items, (merge, item, index) => {
|
|
833
|
+
return this.reduceItem(merge, item, Num.int(index), ...props);
|
|
834
|
+
}, []);
|
|
822
835
|
}
|
|
823
836
|
|
|
824
837
|
reduceItem(merge, item, index, depth = 0, route = 'items', cascades = [])
|
|
825
838
|
{
|
|
826
839
|
// Get a unique id
|
|
827
840
|
let unique = Obj.get(item,
|
|
828
|
-
this.rootNode.uniqueProp,
|
|
841
|
+
this.rootNode.uniqueProp, Hash.uuid());
|
|
829
842
|
|
|
830
843
|
// Add unique to cascader
|
|
831
844
|
let tempCascade = Arr.merge(cascades,
|
|
@@ -844,7 +857,7 @@ class NDraghandler
|
|
|
844
857
|
let children = Obj.get(item,
|
|
845
858
|
this.rootNode.childProp, []);
|
|
846
859
|
|
|
847
|
-
if (
|
|
860
|
+
if ( Mix.isEmpty(children) ) {
|
|
848
861
|
return Arr.merge(merge, [virtual]);
|
|
849
862
|
}
|
|
850
863
|
|