zartui 2.0.81 → 2.0.82
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/es/index.js +4 -3
- package/es/table/index.js +13 -2
- package/es/table/style/index.js +6 -0
- package/es/table/style/less.js +6 -0
- package/es/text-ellipsis/index.css +1 -0
- package/es/text-ellipsis/index.js +213 -0
- package/es/text-ellipsis/index.less +13 -0
- package/es/text-ellipsis/style/index.js +9 -0
- package/es/text-ellipsis/style/less.js +9 -0
- package/es/utils/router.js +1 -2
- package/lib/index.css +1 -1
- package/lib/index.js +6 -2
- package/lib/index.less +2 -1
- package/lib/table/index.js +14 -2
- package/lib/table/style/index.js +6 -0
- package/lib/table/style/less.js +6 -0
- package/lib/text-ellipsis/index.css +1 -0
- package/lib/text-ellipsis/index.js +223 -0
- package/lib/text-ellipsis/index.less +13 -0
- package/lib/text-ellipsis/style/index.js +9 -0
- package/lib/text-ellipsis/style/less.js +9 -0
- package/lib/utils/router.js +1 -2
- package/lib/zart.js +1704 -2441
- package/lib/zart.min.js +1 -1
- package/package.json +14 -13
package/lib/index.js
CHANGED
|
@@ -298,6 +298,10 @@ var _tag = _interopRequireDefault(require("./tag"));
|
|
|
298
298
|
|
|
299
299
|
exports.Tag = _tag.default;
|
|
300
300
|
|
|
301
|
+
var _textEllipsis = _interopRequireDefault(require("./text-ellipsis"));
|
|
302
|
+
|
|
303
|
+
exports.TextEllipsis = _textEllipsis.default;
|
|
304
|
+
|
|
301
305
|
var _timeline = _interopRequireDefault(require("./timeline"));
|
|
302
306
|
|
|
303
307
|
exports.Timeline = _timeline.default;
|
|
@@ -309,11 +313,11 @@ exports.Toast = _toast.default;
|
|
|
309
313
|
var _uploader = _interopRequireDefault(require("./uploader"));
|
|
310
314
|
|
|
311
315
|
exports.Uploader = _uploader.default;
|
|
312
|
-
var version = '2.0.
|
|
316
|
+
var version = '2.0.82';
|
|
313
317
|
exports.version = version;
|
|
314
318
|
|
|
315
319
|
function install(Vue) {
|
|
316
|
-
var components = [_actionSheet.default, _area.default, _avatar.default, _backTop.default, _badge.default, _button.default, _calendar.default, _cascader.default, _cell.default, _cellGroup.default, _checkbox.default, _checkboxGroup.default, _col.default, _collapse.default, _collapseItem.default, _countDown.default, _datetimePicker.default, _dialog.default, _divider.default, _dropdownItem.default, _dropdownMenu.default, _empty.default, _field.default, _foldDialog.default, _form.default, _grid.default, _gridItem.default, _hierarchySelect.default, _icon.default, _image.default, _imagePreview.default, _indexAnchor.default, _indexBar.default, _info.default, _lazyload.default, _list.default, _loading.default, _locale.default, _mediaPicker.default, _mediaPlayer.default, _multiplePicker.default, _navBar.default, _noticeBar.default, _numberKeyboard.default, _overlay.default, _passwordInput.default, _picker.default, _popover.default, _popup.default, _pullRefresh.default, _radio.default, _radioGroup.default, _rate.default, _row.default, _search.default, _signature.default, _skeleton.default, _slider.default, _step.default, _stepper.default, _steps.default, _sticky.default, _swipe.default, _swipeCell.default, _swipeItem.default, _switch.default, _switchCell.default, _tab.default, _tabbar.default, _tabbarItem.default, _table.default, _tabs.default, _tag.default, _timeline.default, _toast.default, _uploader.default];
|
|
320
|
+
var components = [_actionSheet.default, _area.default, _avatar.default, _backTop.default, _badge.default, _button.default, _calendar.default, _cascader.default, _cell.default, _cellGroup.default, _checkbox.default, _checkboxGroup.default, _col.default, _collapse.default, _collapseItem.default, _countDown.default, _datetimePicker.default, _dialog.default, _divider.default, _dropdownItem.default, _dropdownMenu.default, _empty.default, _field.default, _foldDialog.default, _form.default, _grid.default, _gridItem.default, _hierarchySelect.default, _icon.default, _image.default, _imagePreview.default, _indexAnchor.default, _indexBar.default, _info.default, _lazyload.default, _list.default, _loading.default, _locale.default, _mediaPicker.default, _mediaPlayer.default, _multiplePicker.default, _navBar.default, _noticeBar.default, _numberKeyboard.default, _overlay.default, _passwordInput.default, _picker.default, _popover.default, _popup.default, _pullRefresh.default, _radio.default, _radioGroup.default, _rate.default, _row.default, _search.default, _signature.default, _skeleton.default, _slider.default, _step.default, _stepper.default, _steps.default, _sticky.default, _swipe.default, _swipeCell.default, _swipeItem.default, _switch.default, _switchCell.default, _tab.default, _tabbar.default, _tabbarItem.default, _table.default, _tabs.default, _tag.default, _textEllipsis.default, _timeline.default, _toast.default, _uploader.default];
|
|
317
321
|
components.forEach(function (item) {
|
|
318
322
|
if (item.install) {
|
|
319
323
|
Vue.use(item);
|
package/lib/index.less
CHANGED
|
@@ -3,7 +3,6 @@
|
|
|
3
3
|
@import "./info/index.less";
|
|
4
4
|
@import "./icon/index.less";
|
|
5
5
|
@import "./tag/index.less";
|
|
6
|
-
@import "./table/index.less";
|
|
7
6
|
@import "./tabbar-item/index.less";
|
|
8
7
|
@import "./step/index.less";
|
|
9
8
|
@import "./rate/index.less";
|
|
@@ -28,6 +27,8 @@
|
|
|
28
27
|
@import "./signature/index.less";
|
|
29
28
|
@import "./multiple-picker/index.less";
|
|
30
29
|
@import "./dialog/index.less";
|
|
30
|
+
@import "./text-ellipsis/index.less";
|
|
31
|
+
@import "./table/index.less";
|
|
31
32
|
@import "./calendar/index.less";
|
|
32
33
|
@import "./picker/index.less";
|
|
33
34
|
@import "./action-sheet/index.less";
|
package/lib/table/index.js
CHANGED
|
@@ -11,6 +11,8 @@ var _utils = require("../utils");
|
|
|
11
11
|
|
|
12
12
|
var _index = _interopRequireDefault(require("../icon/index"));
|
|
13
13
|
|
|
14
|
+
var _index2 = _interopRequireDefault(require("../text-ellipsis/index"));
|
|
15
|
+
|
|
14
16
|
var _type = require("./type");
|
|
15
17
|
|
|
16
18
|
var _createNamespace = (0, _utils.createNamespace)('table'),
|
|
@@ -134,7 +136,12 @@ var _default = createComponent({
|
|
|
134
136
|
return _this2.onHeaderClick(colData);
|
|
135
137
|
}
|
|
136
138
|
}
|
|
137
|
-
}, [
|
|
139
|
+
}, [colData.ellipsis ? h(_index2.default, {
|
|
140
|
+
"attrs": {
|
|
141
|
+
"content": colData.label,
|
|
142
|
+
"expandType": "dialog"
|
|
143
|
+
}
|
|
144
|
+
}) : colData.label, colData.sorter ? h("span", {
|
|
138
145
|
"class": bem('head-sort')
|
|
139
146
|
}, [h(_index.default, {
|
|
140
147
|
"class": [colData.key === this.sortKey && this.sortOrder === _type.SortOrderEnum.ASCEND ? bem('sort-active') : ''],
|
|
@@ -188,7 +195,12 @@ var _default = createComponent({
|
|
|
188
195
|
"rowspan": ((_additionalCellProps5 = additionalCellProps) == null ? void 0 : _additionalCellProps5.rowSpan) !== 1 ? (_additionalCellProps6 = additionalCellProps) == null ? void 0 : _additionalCellProps6.rowSpan : null
|
|
189
196
|
},
|
|
190
197
|
"style": style
|
|
191
|
-
}, [
|
|
198
|
+
}, [colData.ellipsis ? h(_index2.default, {
|
|
199
|
+
"attrs": {
|
|
200
|
+
"content": rowData[colData.key],
|
|
201
|
+
"expandType": "dialog"
|
|
202
|
+
}
|
|
203
|
+
}) : rowData[colData.key]]);
|
|
192
204
|
})]);
|
|
193
205
|
}
|
|
194
206
|
},
|
package/lib/table/style/index.js
CHANGED
|
@@ -1,4 +1,10 @@
|
|
|
1
1
|
require('../../style/base.css');
|
|
2
|
+
require('../../overlay/index.css');
|
|
2
3
|
require('../../info/index.css');
|
|
3
4
|
require('../../icon/index.css');
|
|
5
|
+
require('../../popup/index.css');
|
|
6
|
+
require('../../loading/index.css');
|
|
7
|
+
require('../../button/index.css');
|
|
8
|
+
require('../../dialog/index.css');
|
|
9
|
+
require('../../text-ellipsis/index.css');
|
|
4
10
|
require('../index.css');
|
package/lib/table/style/less.js
CHANGED
|
@@ -1,4 +1,10 @@
|
|
|
1
1
|
require('../../style/base.less');
|
|
2
|
+
require('../../overlay/index.less');
|
|
2
3
|
require('../../info/index.less');
|
|
3
4
|
require('../../icon/index.less');
|
|
5
|
+
require('../../popup/index.less');
|
|
6
|
+
require('../../loading/index.less');
|
|
7
|
+
require('../../button/index.less');
|
|
8
|
+
require('../../dialog/index.less');
|
|
9
|
+
require('../../text-ellipsis/index.less');
|
|
4
10
|
require('../index.less');
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
.zt2-text-ellipsis{width:100%;line-height:calc(200% - 8px);white-space:pre-wrap;word-break:break-all}.zt2-text-ellipsis__action{cursor:pointer;color:#0091fa}
|
|
@@ -0,0 +1,223 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
|
|
5
|
+
exports.__esModule = true;
|
|
6
|
+
exports.default = void 0;
|
|
7
|
+
|
|
8
|
+
var _utils = require("../utils");
|
|
9
|
+
|
|
10
|
+
var _index = _interopRequireDefault(require("../dialog/index"));
|
|
11
|
+
|
|
12
|
+
var _createNamespace = (0, _utils.createNamespace)('text-ellipsis'),
|
|
13
|
+
createComponent = _createNamespace[0],
|
|
14
|
+
bem = _createNamespace[1];
|
|
15
|
+
|
|
16
|
+
var _default = createComponent({
|
|
17
|
+
props: {
|
|
18
|
+
rows: {
|
|
19
|
+
type: Number,
|
|
20
|
+
default: 1
|
|
21
|
+
},
|
|
22
|
+
dots: {
|
|
23
|
+
type: String,
|
|
24
|
+
default: '...'
|
|
25
|
+
},
|
|
26
|
+
content: {
|
|
27
|
+
type: String,
|
|
28
|
+
default: ''
|
|
29
|
+
},
|
|
30
|
+
expandText: {
|
|
31
|
+
type: String,
|
|
32
|
+
default: '展开'
|
|
33
|
+
},
|
|
34
|
+
expandType: {
|
|
35
|
+
type: String,
|
|
36
|
+
default: 'flat'
|
|
37
|
+
},
|
|
38
|
+
collapseText: {
|
|
39
|
+
type: String,
|
|
40
|
+
default: '收起'
|
|
41
|
+
},
|
|
42
|
+
position: {
|
|
43
|
+
type: String,
|
|
44
|
+
default: 'end'
|
|
45
|
+
}
|
|
46
|
+
},
|
|
47
|
+
data: function data() {
|
|
48
|
+
return {
|
|
49
|
+
expanded: false,
|
|
50
|
+
ellipsis: false,
|
|
51
|
+
text: ''
|
|
52
|
+
};
|
|
53
|
+
},
|
|
54
|
+
computed: {
|
|
55
|
+
actionText: function actionText() {
|
|
56
|
+
return this.expanded ? this.collapseText : this.expandText;
|
|
57
|
+
},
|
|
58
|
+
propsData: function propsData() {
|
|
59
|
+
return {
|
|
60
|
+
content: this.content,
|
|
61
|
+
rows: this.rows,
|
|
62
|
+
position: this.position
|
|
63
|
+
};
|
|
64
|
+
}
|
|
65
|
+
},
|
|
66
|
+
watch: {
|
|
67
|
+
propsData: function propsData() {
|
|
68
|
+
this.calcEllipsised();
|
|
69
|
+
}
|
|
70
|
+
},
|
|
71
|
+
methods: {
|
|
72
|
+
pxToNum: function pxToNum(value) {
|
|
73
|
+
if (!value) return 0;
|
|
74
|
+
var match = value.match(/^\d*(\.\d*)?/);
|
|
75
|
+
return match ? Number(match[0]) : 0;
|
|
76
|
+
},
|
|
77
|
+
calcEllipsised: function calcEllipsised() {
|
|
78
|
+
var _this = this;
|
|
79
|
+
|
|
80
|
+
var root = this.$refs.root;
|
|
81
|
+
|
|
82
|
+
var cloneContainer = function cloneContainer() {
|
|
83
|
+
if (!root) return;
|
|
84
|
+
var originStyle = window.getComputedStyle(root);
|
|
85
|
+
var container = document.createElement('div');
|
|
86
|
+
var styleNames = Array.prototype.slice.apply(originStyle);
|
|
87
|
+
styleNames.forEach(function (name) {
|
|
88
|
+
container.style.setProperty(name, originStyle.getPropertyValue(name));
|
|
89
|
+
});
|
|
90
|
+
container.style.position = 'fixed';
|
|
91
|
+
container.style.zIndex = '-9999';
|
|
92
|
+
container.style.top = '-9999px';
|
|
93
|
+
container.style.height = 'auto';
|
|
94
|
+
container.style.minHeight = 'auto';
|
|
95
|
+
container.style.maxHeight = 'auto';
|
|
96
|
+
container.innerText = _this.content;
|
|
97
|
+
document.body.appendChild(container);
|
|
98
|
+
return container;
|
|
99
|
+
};
|
|
100
|
+
|
|
101
|
+
var calcEllipsisText = function calcEllipsisText(container, maxHeight) {
|
|
102
|
+
var content = _this.content,
|
|
103
|
+
position = _this.position,
|
|
104
|
+
dots = _this.dots;
|
|
105
|
+
var end = content.length;
|
|
106
|
+
|
|
107
|
+
var calcEllipse = function calcEllipse() {
|
|
108
|
+
// calculate the former or later content
|
|
109
|
+
var tail = function tail(left, right) {
|
|
110
|
+
if (right - left <= 1) {
|
|
111
|
+
if (position === 'end') {
|
|
112
|
+
return content.slice(0, left) + dots;
|
|
113
|
+
}
|
|
114
|
+
|
|
115
|
+
return dots + content.slice(right, end);
|
|
116
|
+
}
|
|
117
|
+
|
|
118
|
+
var middle = Math.round((left + right) / 2); // Set the interception location
|
|
119
|
+
|
|
120
|
+
if (position === 'end') {
|
|
121
|
+
container.innerText = content.slice(0, middle) + dots + _this.actionText;
|
|
122
|
+
} else {
|
|
123
|
+
container.innerText = dots + content.slice(middle, end) + _this.actionText;
|
|
124
|
+
} // The height after interception still does not match the required height
|
|
125
|
+
|
|
126
|
+
|
|
127
|
+
if (container.offsetHeight > maxHeight) {
|
|
128
|
+
if (position === 'end') {
|
|
129
|
+
return tail(left, middle);
|
|
130
|
+
}
|
|
131
|
+
|
|
132
|
+
return tail(middle, right);
|
|
133
|
+
}
|
|
134
|
+
|
|
135
|
+
if (position === 'end') {
|
|
136
|
+
return tail(middle, right);
|
|
137
|
+
}
|
|
138
|
+
|
|
139
|
+
return tail(left, middle);
|
|
140
|
+
};
|
|
141
|
+
|
|
142
|
+
container.innerText = tail(0, end);
|
|
143
|
+
};
|
|
144
|
+
|
|
145
|
+
var middleTail = function middleTail(leftPart, rightPart) {
|
|
146
|
+
if (leftPart[1] - leftPart[0] <= 1 && rightPart[1] - rightPart[0] <= 1) {
|
|
147
|
+
return content.slice(0, leftPart[0]) + dots + content.slice(rightPart[1], end);
|
|
148
|
+
}
|
|
149
|
+
|
|
150
|
+
var leftMiddle = Math.floor((leftPart[0] + leftPart[1]) / 2);
|
|
151
|
+
var rightMiddle = Math.ceil((rightPart[0] + rightPart[1]) / 2);
|
|
152
|
+
container.innerText = _this.content.slice(0, leftMiddle) + _this.dots + _this.content.slice(rightMiddle, end) + _this.expandText;
|
|
153
|
+
|
|
154
|
+
if (container.offsetHeight >= maxHeight) {
|
|
155
|
+
return middleTail([leftPart[0], leftMiddle], [rightMiddle, rightPart[1]]);
|
|
156
|
+
}
|
|
157
|
+
|
|
158
|
+
return middleTail([leftMiddle, leftPart[1]], [rightPart[0], rightMiddle]);
|
|
159
|
+
};
|
|
160
|
+
|
|
161
|
+
var middle = 0 + end >> 1;
|
|
162
|
+
_this.position === 'middle' ? container.innerText = middleTail([0, middle], [middle, end]) : calcEllipse();
|
|
163
|
+
return container.innerText;
|
|
164
|
+
}; // Calculate the interceptional text
|
|
165
|
+
|
|
166
|
+
|
|
167
|
+
var container = cloneContainer();
|
|
168
|
+
if (!container) return;
|
|
169
|
+
var _container$style = container.style,
|
|
170
|
+
paddingBottom = _container$style.paddingBottom,
|
|
171
|
+
paddingTop = _container$style.paddingTop,
|
|
172
|
+
lineHeight = _container$style.lineHeight;
|
|
173
|
+
var maxHeight = Math.ceil((Number(this.rows) + 0.5) * this.pxToNum(lineHeight) + this.pxToNum(paddingTop) + this.pxToNum(paddingBottom));
|
|
174
|
+
|
|
175
|
+
if (maxHeight < container.offsetHeight) {
|
|
176
|
+
this.ellipsis = true;
|
|
177
|
+
this.text = calcEllipsisText(container, maxHeight);
|
|
178
|
+
} else {
|
|
179
|
+
this.text = this.content;
|
|
180
|
+
this.ellipsis = false;
|
|
181
|
+
}
|
|
182
|
+
|
|
183
|
+
document.body.removeChild(container);
|
|
184
|
+
},
|
|
185
|
+
onClickAction: function onClickAction(event) {
|
|
186
|
+
event.stopPropagation();
|
|
187
|
+
event.preventDefault();
|
|
188
|
+
this.expanded = !this.expanded; // emit('clickAction', event);
|
|
189
|
+
},
|
|
190
|
+
renderAction: function renderAction() {
|
|
191
|
+
var h = this.$createElement;
|
|
192
|
+
return h("span", {
|
|
193
|
+
"class": bem('action'),
|
|
194
|
+
"on": {
|
|
195
|
+
"click": this.onClickAction
|
|
196
|
+
}
|
|
197
|
+
}, [this.actionText]);
|
|
198
|
+
},
|
|
199
|
+
onClick: function onClick() {
|
|
200
|
+
if (this.ellipsis && this.expandType === 'dialog') {
|
|
201
|
+
_index.default.alert({
|
|
202
|
+
message: this.content
|
|
203
|
+
}).then(function () {});
|
|
204
|
+
}
|
|
205
|
+
}
|
|
206
|
+
},
|
|
207
|
+
mounted: function mounted() {
|
|
208
|
+
this.calcEllipsised();
|
|
209
|
+
window.addEventListener("resize", this.calcEllipsised);
|
|
210
|
+
},
|
|
211
|
+
render: function render() {
|
|
212
|
+
var h = arguments[0];
|
|
213
|
+
return h("div", {
|
|
214
|
+
"ref": "root",
|
|
215
|
+
"class": bem(),
|
|
216
|
+
"on": {
|
|
217
|
+
"click": this.onClick
|
|
218
|
+
}
|
|
219
|
+
}, [this.expanded ? this.content : this.text, this.expandType !== 'dialog' && this.ellipsis ? this.renderAction() : null]);
|
|
220
|
+
}
|
|
221
|
+
});
|
|
222
|
+
|
|
223
|
+
exports.default = _default;
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
require('../../style/base.css');
|
|
2
|
+
require('../../overlay/index.css');
|
|
3
|
+
require('../../info/index.css');
|
|
4
|
+
require('../../icon/index.css');
|
|
5
|
+
require('../../popup/index.css');
|
|
6
|
+
require('../../loading/index.css');
|
|
7
|
+
require('../../button/index.css');
|
|
8
|
+
require('../../dialog/index.css');
|
|
9
|
+
require('../index.css');
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
require('../../style/base.less');
|
|
2
|
+
require('../../overlay/index.less');
|
|
3
|
+
require('../../info/index.less');
|
|
4
|
+
require('../../icon/index.less');
|
|
5
|
+
require('../../popup/index.less');
|
|
6
|
+
require('../../loading/index.less');
|
|
7
|
+
require('../../button/index.less');
|
|
8
|
+
require('../../dialog/index.less');
|
|
9
|
+
require('../index.less');
|
package/lib/utils/router.js
CHANGED
|
@@ -9,8 +9,7 @@ exports.routeProps = void 0;
|
|
|
9
9
|
* Vue Router support
|
|
10
10
|
*/
|
|
11
11
|
function isRedundantNavigation(err) {
|
|
12
|
-
return err.name === 'NavigationDuplicated' ||
|
|
13
|
-
err.message && err.message.indexOf('redundant navigation') !== -1;
|
|
12
|
+
return err.name === 'NavigationDuplicated' || err.message && err.message.indexOf('redundant navigation') !== -1;
|
|
14
13
|
}
|
|
15
14
|
|
|
16
15
|
function route(router, config) {
|