@kizmann/nano-ui 3.0.0 → 3.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/nano-ui.css +1 -1
- package/dist/nano-ui.esm.js +1 -1
- package/dist/nano-ui.esm.js.map +1 -1
- package/dist/themes/default.css +1 -1
- package/package.json +3 -3
- package/src/button/js/button/NButtonView.ts +1 -1
- package/src/cascader/css/cascader-panel.scss +1 -1
- package/src/cascader/js/cascader/NCascaderController.ts +32 -16
- package/src/cascader/js/cascader/NCascaderView.ts +1 -1
- package/src/cascader/js/cascader-panel/NCascaderPanelController.ts +55 -24
- package/src/cascader/js/cascader-panel/NCascaderPanelView.ts +10 -9
- package/src/cascader/js/helper/NCascaderHelper.ts +3 -7
- package/src/checkbox/css/checkbox-group.scss +0 -8
- package/src/checkbox/css/checkbox.scss +6 -0
- package/src/checkbox/js/checkbox/NCheckbox.ts +7 -0
- package/src/checkbox/js/checkbox/NCheckboxData.ts +8 -1
- package/src/checkbox/js/checkbox-group/NCheckboxGroup.ts +7 -0
- package/src/checkbox/js/checkbox-group/NCheckboxGroupData.ts +5 -0
- package/src/collapse/css/collapse-item.scss +1 -1
- package/src/collapse/js/collapse-item/NCollapseItem.ts +5 -0
- package/src/collapse/js/collapse-item/NCollapseItemView.ts +6 -3
- package/src/config/js/config/NConfig.ts +5 -0
- package/src/config/js/config/NConfigController.ts +2 -2
- package/src/config/js/config/NConfigView.ts +5 -1
- package/src/draggable/css/draghandler.scss +11 -8
- package/src/draggable/js/drag/NDragIndicator.ts +4 -0
- package/src/draggable/js/drag/NDragReciever.ts +2 -2
- package/src/draggable/js/draglist/NDraglist.ts +6 -0
- package/src/draggable/js/draglist/NDraglistController.ts +157 -24
- package/src/draggable/js/draglist/NDraglistView.ts +43 -12
- package/src/draggable/js/dropzone/NDropzone.ts +14 -0
- package/src/draggable/js/dropzone/NDropzoneController.ts +27 -1
- package/src/draggable/js/dropzone/NDropzoneData.ts +10 -0
- package/src/draggable/js/dropzone/NDropzoneView.ts +3 -7
- package/src/empty/js/empty-icon/NEmptyIcon.ts +1 -1
- package/src/form/js/form/NForm.ts +1 -1
- package/src/form/js/form/NFormController.ts +20 -1
- package/src/form/js/form-bag/NFormBagController.ts +4 -0
- package/src/form/js/form-bag/NFormBagView.ts +2 -1
- package/src/form/js/form-item/NFormItemView.ts +1 -1
- package/src/form/js/form-rules/module/NFormRuleRequiredIf.ts +4 -0
- package/src/form/js/form-rules/module/NFormRuleRequiredUnless.ts +4 -0
- package/src/index.scss +1 -1
- package/src/info/css/info-field.scss +4 -4
- package/src/info/js/info/NInfoView.ts +1 -4
- package/src/info/js/info-column/NInfoColumnView.ts +6 -2
- package/src/input/css/input-number.scss +5 -0
- package/src/input/js/input-number/NInputNumberController.ts +4 -4
- package/src/input/js/textarea/NTextareaView.ts +3 -3
- package/src/modal/css/modal.scss +4 -0
- package/src/modal/js/drawer/NDrawerController.ts +16 -3
- package/src/modal/js/handler/NModalElement.ts +14 -0
- package/src/modal/js/handler/NModalHandler.ts +13 -0
- package/src/modal/js/modal/NModal.ts +7 -0
- package/src/modal/js/modal/NModalController.ts +20 -2
- package/src/modal/js/modal/NModalData.ts +18 -2
- package/src/modal/js/modal/NModalView.ts +7 -9
- package/src/popover/css/popover.scss +5 -10
- package/src/popover/js/handler/NPopoverElement.ts +4 -0
- package/src/popover/js/popover/NPopover.ts +7 -0
- package/src/popover/js/popover/NPopoverController.ts +10 -2
- package/src/popover/js/popover/NPopoverData.ts +5 -0
- package/src/popover/js/popover/NPopoverView.ts +22 -3
- package/src/popover/js/popover-panel/NPopoverPanelController.ts +3 -1
- package/src/preview/css/preview.scss +0 -6
- package/src/preview/js/handler/NPreviewHandler.ts +3 -3
- package/src/preview/js/preview/NPreview.ts +2 -2
- package/src/preview/js/preview/NPreviewController.ts +7 -8
- package/src/preview/js/preview/NPreviewData.ts +8 -1
- package/src/preview/js/preview/NPreviewView.ts +15 -12
- package/src/preview/js/preview-module/NPreviewFileModule.ts +1 -1
- package/src/radio/css/radio-group.scss +0 -8
- package/src/radio/css/radio.scss +6 -0
- package/src/radio/js/radio/NRadio.ts +9 -2
- package/src/radio/js/radio/NRadioData.ts +8 -1
- package/src/radio/js/radio-group/NRadioGroup.ts +9 -2
- package/src/radio/js/radio-group/NRadioGroupData.ts +5 -0
- package/src/resizer/css/resizer.scss +4 -0
- package/src/resizer/js/resizer/NResizerController.ts +5 -1
- package/src/resizer/js/resizer/NResizerData.ts +0 -35
- package/src/resizer/js/resizer/NResizerView.ts +4 -0
- package/src/root/css/helpers.scss +20 -0
- package/src/root/css/tooltip.scss +39 -49
- package/src/root/js/controller/GroupController.ts +1 -1
- package/src/root/js/data/DragData.ts +8 -0
- package/src/root/js/module/Pointer.ts +18 -0
- package/src/root/js/module/Styler.ts +4 -0
- package/src/root/js/prop/BaseProps.ts +33 -0
- package/src/root/js/prop/DragProps.ts +7 -0
- package/src/root/js/proto/ProtoView.ts +5 -2
- package/src/scrollbar/css/scrollbar.scss +6 -1
- package/src/scrollbar/js/handler/NScrollbarElement.ts +4 -0
- package/src/scrollbar/js/virtualbar/NVirtualbar.ts +3 -0
- package/src/scrollbar/js/virtualbar/NVirtualbarController.ts +1 -1
- package/src/scrollbar/js/virtualbar/NVirtualbarView.ts +53 -51
- package/src/select/js/select/NSelectController.ts +3 -1
- package/src/signal/js/alert/NAlertElement.ts +4 -2
- package/src/signal/js/confirm/NConfirmElement.ts +4 -4
- package/src/signal/js/notify/NNotifyElement.ts +1 -1
- package/src/switch/js/switch/NSwitchController.ts +20 -4
- package/src/table/css/table.scss +39 -6
- package/src/table/js/table/NTable.ts +3 -0
- package/src/table/js/table/NTableController.ts +6 -4
- package/src/table/js/table/NTableView.ts +62 -14
- package/src/table/js/table-cell/NTableCellImage.ts +1 -1
- package/src/table/js/table-cell/NTableCellOption.ts +1 -1
- package/src/table/js/table-column/NTableColumn.ts +7 -0
- package/src/table/js/table-column/NTableColumnData.ts +5 -0
- package/src/table/js/table-filter/NTableFilterOption.ts +5 -7
- package/src/table/js/table-filter/NTableFilterString.ts +1 -1
- package/src/tabs/js/tabs/NTabsController.ts +5 -1
- package/src/tabs/js/tabs/NTabsView.ts +4 -0
- package/src/tabs/js/tabs-item/NTabsItemController.ts +17 -3
- package/src/tabs/js/tabs-item/NTabsItemView.ts +12 -9
- package/src/transfer/js/transfer/NTransferController.ts +14 -10
- package/src/transfer/js/transfer/NTransferView.ts +2 -2
- package/src/visuals/css/message.scss +99 -0
- package/src/visuals/css/progress.scss +39 -0
- package/src/visuals/index.scss +2 -0
- package/src/visuals/index.ts +4 -0
- package/src/visuals/js/message/NMessage.ts +65 -0
- package/src/visuals/js/message/NMessageController.ts +96 -0
- package/src/visuals/js/message/NMessageData.ts +43 -0
- package/src/visuals/js/message/NMessageView.ts +101 -0
- package/src/visuals/js/progress/NProgress.ts +63 -0
- package/src/visuals/js/progress/NProgressController.ts +48 -0
- package/src/visuals/js/progress/NProgressData.ts +75 -0
- package/src/visuals/js/progress/NProgressView.ts +48 -0
- package/themes/default/checkbox/src/checkbox/checkbox.scss +13 -0
- package/themes/default/input-number/src/input-number/input-number.scss +6 -13
- package/themes/default/preview/src/preview/preview.scss +11 -2
- package/themes/default/radio/src/radio/radio.scss +13 -0
- package/themes/default/root/vars/colors-dark-bluish.scss +1 -0
- package/themes/default/root/vars/colors-dark.scss +1 -0
- package/themes/default/root/vars/colors-light-bluish.scss +2 -1
- package/themes/default/root/vars/colors-light.scss +2 -1
- package/themes/default/scrollbar/src/scrollbar/scrollbar.scss +1 -1
|
@@ -1,6 +1,5 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
import { ProtoExtend } from "../../../root/index.ts";
|
|
1
|
+
import { provide, SetupContext } from "vue";
|
|
2
|
+
import { Mix, Obj, Run } from "@kizmann/pico-js";
|
|
4
3
|
import { NPopoverPanelController } from "../../../popover/js/popover-panel/NPopoverPanelController.ts";
|
|
5
4
|
import { NCascaderView } from "./NCascaderView.ts";
|
|
6
5
|
import { NCascaderData } from "./NCascaderData.ts";
|
|
@@ -34,36 +33,53 @@ export class NCascaderController extends NPopoverPanelController
|
|
|
34
33
|
new NCascaderData(this),
|
|
35
34
|
];
|
|
36
35
|
|
|
37
|
-
this.
|
|
36
|
+
if ( this.constructor.name === 'NCascaderController' ) {
|
|
37
|
+
this.setup();
|
|
38
|
+
}
|
|
38
39
|
}
|
|
39
40
|
|
|
40
41
|
setup()
|
|
41
42
|
{
|
|
42
43
|
super.setup();
|
|
43
44
|
|
|
44
|
-
this
|
|
45
|
-
|
|
46
|
-
|
|
45
|
+
this.cloneProp('options');
|
|
46
|
+
this.cloneProp('modelValue');
|
|
47
|
+
this.cloneProp('splitValue');
|
|
47
48
|
|
|
48
49
|
this.makeRef('panel');
|
|
49
50
|
|
|
50
|
-
|
|
51
|
+
this.compData('virtuals', () => {
|
|
52
|
+
return NCascaderHelper.getCascade(this);
|
|
53
|
+
});
|
|
51
54
|
|
|
52
|
-
|
|
53
|
-
NCascaderHelper.buildModelFromSplit(this);
|
|
54
|
-
}
|
|
55
|
+
this.detectModel();
|
|
55
56
|
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
}
|
|
57
|
+
this.watchProp('splitValue', () => {
|
|
58
|
+
Run.frame(() => this.detectModel());
|
|
59
|
+
});
|
|
59
60
|
|
|
60
|
-
this.
|
|
61
|
-
|
|
61
|
+
this.watchData('options', () => {
|
|
62
|
+
Run.frame(() => this.detectModel());
|
|
62
63
|
});
|
|
63
64
|
|
|
65
|
+
provide('NCascader', this.instance);
|
|
66
|
+
|
|
64
67
|
return this;
|
|
65
68
|
}
|
|
66
69
|
|
|
70
|
+
detectModel() : void
|
|
71
|
+
{
|
|
72
|
+
let { model, split } = this.data;
|
|
73
|
+
|
|
74
|
+
if ( ! Mix.isEmpty(model) && Mix.isEmpty(split) ) {
|
|
75
|
+
NCascaderHelper.buildSplitFromModel(this);
|
|
76
|
+
}
|
|
77
|
+
|
|
78
|
+
if ( Mix.isEmpty(model) && ! Mix.isEmpty(split) ) {
|
|
79
|
+
NCascaderHelper.buildModelFromSplit(this);
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
|
|
67
83
|
}
|
|
68
84
|
|
|
69
85
|
export default NCascaderController;
|
|
@@ -39,12 +39,15 @@ export class NCascaderPanelController extends GroupController
|
|
|
39
39
|
{
|
|
40
40
|
super.setup();
|
|
41
41
|
|
|
42
|
-
this
|
|
43
|
-
.cloneProp('modelValue')
|
|
44
|
-
.cloneProp('splitValue');
|
|
42
|
+
this.makeRef('el');
|
|
45
43
|
|
|
46
|
-
this
|
|
47
|
-
|
|
44
|
+
this.cloneProp('modelValue');
|
|
45
|
+
this.cloneProp('splitValue');
|
|
46
|
+
this.makeData('virtuals', []);
|
|
47
|
+
|
|
48
|
+
this.injectRef([
|
|
49
|
+
'popover', 'NPopover'
|
|
50
|
+
]);
|
|
48
51
|
|
|
49
52
|
const { model, split } = this.data;
|
|
50
53
|
|
|
@@ -56,10 +59,12 @@ export class NCascaderPanelController extends GroupController
|
|
|
56
59
|
NCascaderHelper.buildSplitFromModel(this);
|
|
57
60
|
}
|
|
58
61
|
|
|
59
|
-
this.
|
|
60
|
-
|
|
62
|
+
this.watchProp('options', () => {
|
|
63
|
+
this.buildVirtuals();
|
|
61
64
|
});
|
|
62
65
|
|
|
66
|
+
this.buildVirtuals();
|
|
67
|
+
|
|
63
68
|
this.makeData('visible', ...[
|
|
64
69
|
Obj.clone(this.data.model)
|
|
65
70
|
]);
|
|
@@ -67,58 +72,84 @@ export class NCascaderPanelController extends GroupController
|
|
|
67
72
|
return this;
|
|
68
73
|
}
|
|
69
74
|
|
|
70
|
-
|
|
75
|
+
buildVirtuals()
|
|
76
|
+
{
|
|
77
|
+
this.set('virtuals', ...[
|
|
78
|
+
NCascaderHelper.getCascade(this)
|
|
79
|
+
]);
|
|
80
|
+
}
|
|
81
|
+
|
|
82
|
+
onMouseenter(item : any, depth : number)
|
|
71
83
|
{
|
|
72
84
|
const { data } = this;
|
|
73
85
|
|
|
74
86
|
if ( data.trigger === 'hover' ) {
|
|
75
|
-
this.updateVisible(item);
|
|
87
|
+
this.updateVisible(item, depth);
|
|
76
88
|
}
|
|
77
89
|
}
|
|
78
90
|
|
|
79
|
-
onClick(item : any)
|
|
91
|
+
onClick(item : any, depth : number)
|
|
80
92
|
{
|
|
81
93
|
const { data } = this;
|
|
82
94
|
|
|
83
95
|
if ( data.trigger === 'click' ) {
|
|
84
|
-
this.updateVisible(item);
|
|
96
|
+
this.updateVisible(item, depth);
|
|
85
97
|
}
|
|
86
98
|
|
|
87
99
|
if ( data.trigger === 'hover' ) {
|
|
88
|
-
this.updateCascade(item);
|
|
100
|
+
this.updateCascade(item, depth);
|
|
89
101
|
}
|
|
90
102
|
}
|
|
91
103
|
|
|
92
|
-
onDblclick(item : any)
|
|
104
|
+
onDblclick(item : any, depth : number)
|
|
93
105
|
{
|
|
94
106
|
const { data } = this;
|
|
95
107
|
|
|
96
108
|
if ( data.trigger === 'click' ) {
|
|
97
|
-
this.updateCascade(item);
|
|
109
|
+
this.updateCascade(item, depth);
|
|
98
110
|
}
|
|
99
111
|
}
|
|
100
112
|
|
|
101
|
-
updateVisible(item : any)
|
|
113
|
+
updateVisible(item : any, depth : number)
|
|
102
114
|
{
|
|
103
|
-
const
|
|
104
|
-
|
|
115
|
+
const { data } = this;
|
|
116
|
+
|
|
117
|
+
const visible = Arr.slice(...[
|
|
118
|
+
data.visible || [], 0, depth
|
|
105
119
|
]);
|
|
106
120
|
|
|
107
|
-
this.set('visible',
|
|
121
|
+
this.set('visible', [
|
|
122
|
+
...visible, item[data.valueProp]
|
|
123
|
+
]);
|
|
124
|
+
|
|
125
|
+
const virtuals = Arr.slice(...[
|
|
126
|
+
data.virtuals || [], 0, depth
|
|
127
|
+
]);
|
|
128
|
+
|
|
129
|
+
this.set('virtuals', [
|
|
130
|
+
...virtuals, item
|
|
131
|
+
]);
|
|
108
132
|
}
|
|
109
133
|
|
|
110
|
-
updateCascade(item : any)
|
|
134
|
+
updateCascade(item : any, depth : number = 0)
|
|
111
135
|
{
|
|
112
|
-
const
|
|
113
|
-
|
|
136
|
+
const { data } = this;
|
|
137
|
+
|
|
138
|
+
const cascade = Arr.slice(...[
|
|
139
|
+
data.visible || [], 0, depth
|
|
114
140
|
]);
|
|
115
141
|
|
|
116
|
-
const
|
|
117
|
-
cascade,
|
|
142
|
+
const total = [
|
|
143
|
+
...cascade, item[data.valueProp]
|
|
118
144
|
];
|
|
119
145
|
|
|
120
|
-
this.update('splitValue',
|
|
146
|
+
this.update('splitValue', ...[
|
|
147
|
+
Arr.last(total)
|
|
148
|
+
]);
|
|
149
|
+
|
|
121
150
|
this.update('modelValue', total);
|
|
151
|
+
|
|
152
|
+
this.ncx('popover')?.superClose();
|
|
122
153
|
}
|
|
123
154
|
|
|
124
155
|
}
|
|
@@ -23,16 +23,16 @@ export class NCascaderPanelView extends ProtoView
|
|
|
23
23
|
class: data.classList
|
|
24
24
|
};
|
|
25
25
|
|
|
26
|
-
const slots = Arr.each(data.virtuals, (val : any) => {
|
|
27
|
-
return this.items(val[data.childProp] ?? []);
|
|
26
|
+
const slots = Arr.each(data.virtuals, (val : any, index : number) => {
|
|
27
|
+
return this.items(val[data.childProp] ?? [], index + 1);
|
|
28
28
|
});
|
|
29
29
|
|
|
30
30
|
return h('div', props, [
|
|
31
|
-
this.items(data.options), ...slots
|
|
31
|
+
this.items(data.options, 0), ...slots
|
|
32
32
|
]);
|
|
33
33
|
}
|
|
34
34
|
|
|
35
|
-
items(items : any) : any
|
|
35
|
+
items(items : any, depth : number) : any
|
|
36
36
|
{
|
|
37
37
|
const { data } = this.scope;
|
|
38
38
|
|
|
@@ -46,15 +46,16 @@ export class NCascaderPanelView extends ProtoView
|
|
|
46
46
|
};
|
|
47
47
|
|
|
48
48
|
return this.comp('n-virtualbar', props, ({ value }) => {
|
|
49
|
-
return this.item(value);
|
|
49
|
+
return this.item(value, depth);
|
|
50
50
|
});
|
|
51
51
|
}
|
|
52
52
|
|
|
53
|
-
item(item : any) : any
|
|
53
|
+
item(item : any, depth : number) : any
|
|
54
54
|
{
|
|
55
55
|
const { scope, data } = this.scope;
|
|
56
56
|
|
|
57
57
|
let props : any = {
|
|
58
|
+
clickClose: false,
|
|
58
59
|
disabled: item[data.disabledProp],
|
|
59
60
|
};
|
|
60
61
|
|
|
@@ -83,17 +84,17 @@ export class NCascaderPanelView extends ProtoView
|
|
|
83
84
|
}
|
|
84
85
|
|
|
85
86
|
props.onPointerenter = () => {
|
|
86
|
-
scope.onMouseenter(item);
|
|
87
|
+
scope.onMouseenter(item, depth);
|
|
87
88
|
};
|
|
88
89
|
|
|
89
90
|
props.onClick = (e : any) => {
|
|
90
91
|
e.preventDefault();
|
|
91
|
-
scope.onClick(item);
|
|
92
|
+
scope.onClick(item, depth);
|
|
92
93
|
};
|
|
93
94
|
|
|
94
95
|
props.onDblclick = (e : any) => {
|
|
95
96
|
e.preventDefault();
|
|
96
|
-
scope.onDblclick(item);
|
|
97
|
+
scope.onDblclick(item, depth);
|
|
97
98
|
};
|
|
98
99
|
|
|
99
100
|
return this.comp('n-popover-option', props, () => [
|
|
@@ -11,7 +11,7 @@ export class NCascaderHelper
|
|
|
11
11
|
return this;
|
|
12
12
|
}
|
|
13
13
|
|
|
14
|
-
scope.
|
|
14
|
+
scope.update('splitValue', ...[
|
|
15
15
|
Arr.last(model)
|
|
16
16
|
]);
|
|
17
17
|
|
|
@@ -30,12 +30,8 @@ export class NCascaderHelper
|
|
|
30
30
|
return val[valueProp] === split;
|
|
31
31
|
});
|
|
32
32
|
|
|
33
|
-
|
|
34
|
-
result
|
|
35
|
-
}
|
|
36
|
-
|
|
37
|
-
scope.set('modelValue', ...[
|
|
38
|
-
Arr.extract(result, valueProp)
|
|
33
|
+
scope.update('modelValue', ...[
|
|
34
|
+
Mix.isEmpty(result) ? null : Arr.extract(result, valueProp)
|
|
39
35
|
]);
|
|
40
36
|
|
|
41
37
|
return this;
|
|
@@ -32,10 +32,6 @@
|
|
|
32
32
|
margin-left: size('base-pad', 'calc($ * 1.2)');
|
|
33
33
|
}
|
|
34
34
|
|
|
35
|
-
.n-checkbox-group.n-checkbox-group--horizontal .n-checkbox:last-child {
|
|
36
|
-
padding-right: 0;
|
|
37
|
-
}
|
|
38
|
-
|
|
39
35
|
.n-checkbox-group.n-checkbox-group--vertical .n-checkbox {
|
|
40
36
|
min-height: 0;
|
|
41
37
|
}
|
|
@@ -43,7 +39,3 @@
|
|
|
43
39
|
.n-checkbox-group.n-checkbox-group--vertical .n-checkbox:not(:first-child) {
|
|
44
40
|
margin-top: size('base-pad-vertical', 'calc($ * 0.7)');
|
|
45
41
|
}
|
|
46
|
-
|
|
47
|
-
.n-checkbox-group.n-checkbox-group--vertical .n-checkbox:last-child {
|
|
48
|
-
padding-bottom: 0;
|
|
49
|
-
}
|
|
@@ -43,3 +43,9 @@
|
|
|
43
43
|
.n-checkbox .n-checkbox__label {
|
|
44
44
|
padding-left: size('base-pad', 'calc($ * 0.8)');
|
|
45
45
|
}
|
|
46
|
+
|
|
47
|
+
.n-checkbox.n-checkbox--button {
|
|
48
|
+
padding: size('base-pad-vertical') size('base-pad');
|
|
49
|
+
border: 1px solid transparent;
|
|
50
|
+
border-radius: size('base-rad');
|
|
51
|
+
}
|
|
@@ -11,7 +11,9 @@ export class NCheckboxData extends ProtoData
|
|
|
11
11
|
|
|
12
12
|
get classList() : string[]
|
|
13
13
|
{
|
|
14
|
-
let classList = this.classRoot(
|
|
14
|
+
let classList = this.classRoot([
|
|
15
|
+
`${this.scope.view.bem}--${this.view}`
|
|
16
|
+
]);
|
|
15
17
|
|
|
16
18
|
if ( this.model ) {
|
|
17
19
|
Arr.append(classList, 'n-checked');
|
|
@@ -53,4 +55,9 @@ export class NCheckboxData extends ProtoData
|
|
|
53
55
|
return this.scope.get('intermediate');
|
|
54
56
|
}
|
|
55
57
|
|
|
58
|
+
get view() : string
|
|
59
|
+
{
|
|
60
|
+
return this.scope.ncx('group')?.data.view || this.scope.get('view');
|
|
61
|
+
}
|
|
62
|
+
|
|
56
63
|
}
|
|
@@ -76,10 +76,10 @@ export class NCollapseItemView extends ProtoView
|
|
|
76
76
|
|
|
77
77
|
header_label(collapse : NCollapseController) : any
|
|
78
78
|
{
|
|
79
|
-
const { data } = this.scope;
|
|
79
|
+
const { context, data } = this.scope;
|
|
80
80
|
|
|
81
81
|
return this.div('label', [
|
|
82
|
-
data.label
|
|
82
|
+
context.slots.label ? context.slots.label() : data.label
|
|
83
83
|
]);
|
|
84
84
|
}
|
|
85
85
|
|
|
@@ -119,9 +119,12 @@ export class NCollapseItemView extends ProtoView
|
|
|
119
119
|
|
|
120
120
|
let props : any = {
|
|
121
121
|
class: data.classPart('content'),
|
|
122
|
-
wrapClass: `${this.bem}__wrap`,
|
|
123
122
|
};
|
|
124
123
|
|
|
124
|
+
if ( data.scrollbar ) {
|
|
125
|
+
props.wrapClass = `${this.bem}__wrap`;
|
|
126
|
+
}
|
|
127
|
+
|
|
125
128
|
if ( !scope.isVisible() ) {
|
|
126
129
|
props.style = 'display: none;';
|
|
127
130
|
}
|
|
@@ -190,11 +190,11 @@ export class NConfigController extends ProtoController
|
|
|
190
190
|
]);
|
|
191
191
|
|
|
192
192
|
if ( value.match(/^!!\$/) ) {
|
|
193
|
-
result = Mix.
|
|
193
|
+
result = Mix.isTrue(result);
|
|
194
194
|
}
|
|
195
195
|
|
|
196
196
|
if ( value.match(/^!\$/) ) {
|
|
197
|
-
result = Mix.
|
|
197
|
+
result = ! Mix.isTrue(result);
|
|
198
198
|
}
|
|
199
199
|
|
|
200
200
|
return result;
|
|
@@ -95,7 +95,7 @@ export class NConfigView extends ProtoView
|
|
|
95
95
|
|
|
96
96
|
let component : any = alias.replace(/:.*?$/, '');
|
|
97
97
|
|
|
98
|
-
if ( !Arr.has(['div', 'p', 'span'], component) ) {
|
|
98
|
+
if ( !Arr.has(['div', 'a', 'p', 'span', 'iframe'], component) ) {
|
|
99
99
|
component = resolveComponent(component);
|
|
100
100
|
}
|
|
101
101
|
|
|
@@ -128,6 +128,10 @@ export class NConfigView extends ProtoView
|
|
|
128
128
|
render = () => callback.apply(this.scope);
|
|
129
129
|
}
|
|
130
130
|
|
|
131
|
+
if ( Mix.isArr(callback) && callback.length === 1 ) {
|
|
132
|
+
callback = callback[0];
|
|
133
|
+
}
|
|
134
|
+
|
|
131
135
|
if ( Mix.isStr(callback) ) {
|
|
132
136
|
render = () => this.scope.getString(callback);
|
|
133
137
|
}
|
|
@@ -1,7 +1,11 @@
|
|
|
1
1
|
@use "../../root/css/helpers" as *;
|
|
2
2
|
|
|
3
|
-
.n-drag-
|
|
4
|
-
.n-
|
|
3
|
+
body:not(.n-drag) .n-drag-counter,
|
|
4
|
+
body:not(.n-drag) .n-drag-indicator {
|
|
5
|
+
display: none !important;
|
|
6
|
+
}
|
|
7
|
+
|
|
8
|
+
.n-drag-indicator {
|
|
5
9
|
pointer-events: none;
|
|
6
10
|
z-index: 9999998;
|
|
7
11
|
position: absolute;
|
|
@@ -31,7 +35,7 @@
|
|
|
31
35
|
}
|
|
32
36
|
|
|
33
37
|
.n-drag-indicator:not(.n-view-grid).n-mode-before:before {
|
|
34
|
-
top:
|
|
38
|
+
top: -1px;
|
|
35
39
|
left: 2px;
|
|
36
40
|
right: 2px;
|
|
37
41
|
height: 2px;
|
|
@@ -40,12 +44,12 @@
|
|
|
40
44
|
.n-drag-indicator.n-view-grid.n-mode-before:before {
|
|
41
45
|
top: 2px;
|
|
42
46
|
bottom: 2px;
|
|
43
|
-
left:
|
|
47
|
+
left: -1px;
|
|
44
48
|
width: 2px;
|
|
45
49
|
}
|
|
46
50
|
|
|
47
51
|
.n-drag-indicator:not(.n-view-grid).n-mode-after:before {
|
|
48
|
-
bottom:
|
|
52
|
+
bottom: -1px;
|
|
49
53
|
left: 2px;
|
|
50
54
|
right: 2px;
|
|
51
55
|
height: 2px;
|
|
@@ -54,12 +58,11 @@
|
|
|
54
58
|
.n-drag-indicator.n-view-grid.n-mode-after:before {
|
|
55
59
|
top: 2px;
|
|
56
60
|
bottom: 2px;
|
|
57
|
-
right:
|
|
61
|
+
right: -1px;
|
|
58
62
|
width: 2px;
|
|
59
63
|
}
|
|
60
64
|
|
|
61
|
-
.n-drag-counter
|
|
62
|
-
.n-draggable__counter {
|
|
65
|
+
.n-drag-counter {
|
|
63
66
|
cursor: none;
|
|
64
67
|
pointer-events: none;
|
|
65
68
|
will-change: transform;
|
|
@@ -95,7 +95,7 @@ export class NDragReciever
|
|
|
95
95
|
NDragHandler.dragstart(e, config);
|
|
96
96
|
}
|
|
97
97
|
|
|
98
|
-
getMode(event : any, el : HTMLElement, safezone : Function | number = 0.5)
|
|
98
|
+
getMode(event : any, el : HTMLElement, safezone : Function | number = 0.5, args : any[] = [])
|
|
99
99
|
{
|
|
100
100
|
let [fn, mode] = [safezone, 'inside'];
|
|
101
101
|
|
|
@@ -114,7 +114,7 @@ export class NDragReciever
|
|
|
114
114
|
grid ? event.clientX : event.clientY,
|
|
115
115
|
];
|
|
116
116
|
|
|
117
|
-
const padding = fn(size);
|
|
117
|
+
const padding = fn(size, ...args);
|
|
118
118
|
|
|
119
119
|
if ( scale < offset + padding ) {
|
|
120
120
|
mode = 'before';
|
|
@@ -7,6 +7,8 @@ export const NDraglistProps = {
|
|
|
7
7
|
...Props.Size,
|
|
8
8
|
...Props.Type,
|
|
9
9
|
...Props.Draglist,
|
|
10
|
+
...Props.EmptyText,
|
|
11
|
+
...Props.EmptyPropsStacked,
|
|
10
12
|
|
|
11
13
|
/**
|
|
12
14
|
* @type {PropType<boolean>}
|
|
@@ -62,11 +64,15 @@ export default defineComponent({
|
|
|
62
64
|
*/
|
|
63
65
|
emits: [
|
|
64
66
|
'update:items',
|
|
67
|
+
'update:cascade',
|
|
65
68
|
'update:current',
|
|
66
69
|
'update:selected',
|
|
67
70
|
'update:expanded',
|
|
71
|
+
'move',
|
|
68
72
|
'row-click',
|
|
73
|
+
'node-click',
|
|
69
74
|
'row-dblclick',
|
|
75
|
+
'node-dblclick',
|
|
70
76
|
],
|
|
71
77
|
|
|
72
78
|
setup(props, context)
|