@visactor/vrender-components 0.18.0-alpha.0 → 0.18.0-alpha.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.
- package/cjs/axis/base.js +24 -24
- package/cjs/axis/base.js.map +1 -1
- package/cjs/axis/grid/base.js +1 -1
- package/cjs/axis/grid/base.js.map +1 -1
- package/cjs/axis/line.js +59 -52
- package/cjs/axis/line.js.map +1 -1
- package/cjs/axis/overlap/auto-hide.d.ts +1 -0
- package/cjs/axis/overlap/auto-hide.js +10 -2
- package/cjs/axis/overlap/auto-hide.js.map +1 -1
- package/cjs/axis/overlap/auto-limit.d.ts +1 -0
- package/cjs/axis/overlap/auto-limit.js +5 -3
- package/cjs/axis/overlap/auto-limit.js.map +1 -1
- package/cjs/axis/type.d.ts +1 -0
- package/cjs/axis/type.js.map +1 -1
- package/cjs/brush/brush.js +4 -4
- package/cjs/brush/brush.js.map +1 -1
- package/cjs/checkbox/checkbox.js +2 -1
- package/cjs/checkbox/checkbox.js.map +1 -1
- package/cjs/core/type.d.ts +10 -8
- package/cjs/core/type.js.map +1 -1
- package/cjs/data-zoom/data-zoom.d.ts +6 -1
- package/cjs/data-zoom/data-zoom.js +180 -118
- package/cjs/data-zoom/data-zoom.js.map +1 -1
- package/cjs/data-zoom/type.d.ts +1 -0
- package/cjs/data-zoom/type.js.map +1 -1
- package/cjs/index.d.ts +2 -1
- package/cjs/index.js +3 -2
- package/cjs/index.js.map +1 -1
- package/cjs/indicator/indicator.d.ts +3 -1
- package/cjs/indicator/indicator.js +60 -46
- package/cjs/indicator/indicator.js.map +1 -1
- package/cjs/indicator/type.d.ts +1 -0
- package/cjs/indicator/type.js.map +1 -1
- package/cjs/label/arc.d.ts +2 -2
- package/cjs/label/arc.js +38 -35
- package/cjs/label/arc.js.map +1 -1
- package/cjs/label/base.d.ts +6 -8
- package/cjs/label/base.js +92 -65
- package/cjs/label/base.js.map +1 -1
- package/cjs/label/line.js +3 -4
- package/cjs/label/line.js.map +1 -1
- package/cjs/label/type.d.ts +15 -8
- package/cjs/label/type.js.map +1 -1
- package/cjs/label/util.d.ts +4 -0
- package/cjs/label/util.js +24 -3
- package/cjs/label/util.js.map +1 -1
- package/cjs/legend/base.js +1 -1
- package/cjs/legend/base.js.map +1 -1
- package/cjs/legend/color/color.d.ts +7 -0
- package/cjs/legend/color/color.js +16 -2
- package/cjs/legend/color/color.js.map +1 -1
- package/cjs/legend/discrete/discrete.d.ts +6 -2
- package/cjs/legend/discrete/discrete.js +139 -69
- package/cjs/legend/discrete/discrete.js.map +1 -1
- package/cjs/legend/discrete/type.d.ts +17 -7
- package/cjs/legend/discrete/type.js.map +1 -1
- package/cjs/legend/register.js +2 -2
- package/cjs/legend/register.js.map +1 -1
- package/cjs/legend/size/size.d.ts +1 -0
- package/cjs/legend/size/size.js +4 -1
- package/cjs/legend/size/size.js.map +1 -1
- package/cjs/legend/type.d.ts +2 -2
- package/cjs/legend/type.js.map +1 -1
- package/cjs/marker/area.js +5 -1
- package/cjs/marker/area.js.map +1 -1
- package/cjs/marker/base.d.ts +1 -0
- package/cjs/marker/base.js +6 -3
- package/cjs/marker/base.js.map +1 -1
- package/cjs/marker/line.js +7 -1
- package/cjs/marker/line.js.map +1 -1
- package/cjs/marker/point.d.ts +1 -0
- package/cjs/marker/point.js +24 -11
- package/cjs/marker/point.js.map +1 -1
- package/cjs/marker/type.d.ts +1 -0
- package/cjs/marker/type.js.map +1 -1
- package/cjs/pager/pager.js +5 -3
- package/cjs/pager/pager.js.map +1 -1
- package/cjs/scrollbar/scrollbar.js +19 -5
- package/cjs/scrollbar/scrollbar.js.map +1 -1
- package/cjs/segment/segment.js +1 -1
- package/cjs/segment/segment.js.map +1 -1
- package/cjs/slider/slider.d.ts +27 -0
- package/cjs/slider/slider.js +102 -13
- package/cjs/slider/slider.js.map +1 -1
- package/cjs/slider/type.d.ts +9 -1
- package/cjs/slider/type.js.map +1 -1
- package/cjs/tag/tag.js +28 -42
- package/cjs/tag/tag.js.map +1 -1
- package/cjs/title/title.js +2 -2
- package/cjs/title/title.js.map +1 -1
- package/cjs/tooltip/tooltip.js +1 -1
- package/cjs/tooltip/tooltip.js.map +1 -1
- package/cjs/util/limit-shape.d.ts +4 -0
- package/cjs/util/limit-shape.js +13 -4
- package/cjs/util/limit-shape.js.map +1 -1
- package/cjs/util/text.d.ts +5 -2
- package/cjs/util/text.js +19 -6
- package/cjs/util/text.js.map +1 -1
- package/es/axis/base.js +22 -26
- package/es/axis/base.js.map +1 -1
- package/es/axis/grid/base.js +1 -1
- package/es/axis/grid/base.js.map +1 -1
- package/es/axis/line.js +59 -50
- package/es/axis/line.js.map +1 -1
- package/es/axis/overlap/auto-hide.d.ts +1 -0
- package/es/axis/overlap/auto-hide.js +10 -2
- package/es/axis/overlap/auto-hide.js.map +1 -1
- package/es/axis/overlap/auto-limit.d.ts +1 -0
- package/es/axis/overlap/auto-limit.js +5 -3
- package/es/axis/overlap/auto-limit.js.map +1 -1
- package/es/axis/type.d.ts +1 -0
- package/es/axis/type.js.map +1 -1
- package/es/brush/brush.js +4 -4
- package/es/brush/brush.js.map +1 -1
- package/es/checkbox/checkbox.js +2 -1
- package/es/checkbox/checkbox.js.map +1 -1
- package/es/core/type.d.ts +10 -8
- package/es/core/type.js.map +1 -1
- package/es/data-zoom/data-zoom.d.ts +6 -1
- package/es/data-zoom/data-zoom.js +179 -116
- package/es/data-zoom/data-zoom.js.map +1 -1
- package/es/data-zoom/type.d.ts +1 -0
- package/es/data-zoom/type.js.map +1 -1
- package/es/index.d.ts +2 -1
- package/es/index.js +3 -1
- package/es/index.js.map +1 -1
- package/es/indicator/indicator.d.ts +3 -1
- package/es/indicator/indicator.js +57 -47
- package/es/indicator/indicator.js.map +1 -1
- package/es/indicator/type.d.ts +1 -0
- package/es/indicator/type.js.map +1 -1
- package/es/label/arc.d.ts +2 -2
- package/es/label/arc.js +38 -35
- package/es/label/arc.js.map +1 -1
- package/es/label/base.d.ts +6 -8
- package/es/label/base.js +92 -65
- package/es/label/base.js.map +1 -1
- package/es/label/line.js +3 -4
- package/es/label/line.js.map +1 -1
- package/es/label/type.d.ts +15 -8
- package/es/label/type.js.map +1 -1
- package/es/label/util.d.ts +4 -0
- package/es/label/util.js +22 -2
- package/es/label/util.js.map +1 -1
- package/es/legend/base.js +1 -1
- package/es/legend/base.js.map +1 -1
- package/es/legend/color/color.d.ts +7 -0
- package/es/legend/color/color.js +17 -3
- package/es/legend/color/color.js.map +1 -1
- package/es/legend/discrete/discrete.d.ts +6 -2
- package/es/legend/discrete/discrete.js +141 -67
- package/es/legend/discrete/discrete.js.map +1 -1
- package/es/legend/discrete/type.d.ts +17 -7
- package/es/legend/discrete/type.js.map +1 -1
- package/es/legend/register.js +3 -1
- package/es/legend/register.js.map +1 -1
- package/es/legend/size/size.d.ts +1 -0
- package/es/legend/size/size.js +4 -1
- package/es/legend/size/size.js.map +1 -1
- package/es/legend/type.d.ts +2 -2
- package/es/legend/type.js.map +1 -1
- package/es/marker/area.js +6 -2
- package/es/marker/area.js.map +1 -1
- package/es/marker/base.d.ts +1 -0
- package/es/marker/base.js +6 -3
- package/es/marker/base.js.map +1 -1
- package/es/marker/line.js +8 -2
- package/es/marker/line.js.map +1 -1
- package/es/marker/point.d.ts +1 -0
- package/es/marker/point.js +25 -11
- package/es/marker/point.js.map +1 -1
- package/es/marker/type.d.ts +1 -0
- package/es/marker/type.js.map +1 -1
- package/es/pager/pager.js +4 -3
- package/es/pager/pager.js.map +1 -1
- package/es/scrollbar/scrollbar.js +19 -5
- package/es/scrollbar/scrollbar.js.map +1 -1
- package/es/segment/segment.js +1 -1
- package/es/segment/segment.js.map +1 -1
- package/es/slider/slider.d.ts +27 -0
- package/es/slider/slider.js +102 -13
- package/es/slider/slider.js.map +1 -1
- package/es/slider/type.d.ts +9 -1
- package/es/slider/type.js.map +1 -1
- package/es/tag/tag.js +29 -45
- package/es/tag/tag.js.map +1 -1
- package/es/title/title.js +3 -3
- package/es/title/title.js.map +1 -1
- package/es/tooltip/tooltip.js +1 -1
- package/es/tooltip/tooltip.js.map +1 -1
- package/es/util/limit-shape.d.ts +4 -0
- package/es/util/limit-shape.js +11 -3
- package/es/util/limit-shape.js.map +1 -1
- package/es/util/text.d.ts +5 -2
- package/es/util/text.js +17 -5
- package/es/util/text.js.map +1 -1
- package/package.json +3 -3
- package/dist/index.js +0 -29932
- package/dist/index.min.js +0 -1
|
@@ -14,7 +14,7 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
14
14
|
value: !0
|
|
15
15
|
}), exports.DiscreteLegend = void 0;
|
|
16
16
|
|
|
17
|
-
const vutils_1 = require("@visactor/vutils"), vrender_core_1 = require("@visactor/vrender-core"), base_1 = require("../base"), pager_1 = require("../../pager"), constant_1 = require("../constant"), register_1 = require("../register"), DEFAULT_STATES = {
|
|
17
|
+
const vutils_1 = require("@visactor/vutils"), vrender_core_1 = require("@visactor/vrender-core"), base_1 = require("../base"), pager_1 = require("../../pager"), constant_1 = require("../constant"), register_1 = require("../register"), util_1 = require("../../util"), scrollbar_1 = require("../../scrollbar"), DEFAULT_STATES = {
|
|
18
18
|
[constant_1.LegendStateValue.focus]: {},
|
|
19
19
|
[constant_1.LegendStateValue.selected]: {},
|
|
20
20
|
[constant_1.LegendStateValue.selectedHover]: {},
|
|
@@ -138,10 +138,11 @@ class DiscreteLegend extends base_1.LegendBase {
|
|
|
138
138
|
startY: 0,
|
|
139
139
|
startIndex: 0,
|
|
140
140
|
items: legendItems,
|
|
141
|
-
isHorizontal: isHorizontal
|
|
141
|
+
isHorizontal: isHorizontal,
|
|
142
|
+
totalPage: 1 / 0
|
|
142
143
|
}, this._itemContext = this._renderItems();
|
|
143
144
|
let pagerRendered = !1;
|
|
144
|
-
this._itemContext.doWrap && autoPage && this._itemContext.pages > this._itemContext.maxPages && (pagerRendered = this.
|
|
145
|
+
this._itemContext.doWrap && autoPage && this._itemContext.pages > this._itemContext.maxPages && (pagerRendered = this._renderPagerComponent(isHorizontal)),
|
|
145
146
|
pagerRendered || (itemsContainer.setAttribute("y", this._title ? this._title.AABBBounds.height() + (0,
|
|
146
147
|
vutils_1.get)(this.attribute, "title.space", 8) : 0), this._innerView.add(itemsContainer));
|
|
147
148
|
}
|
|
@@ -154,7 +155,7 @@ class DiscreteLegend extends base_1.LegendBase {
|
|
|
154
155
|
}
|
|
155
156
|
_renderEachItem(item, isSelected, index, items) {
|
|
156
157
|
var _a, _b;
|
|
157
|
-
const {id: id, label: label, value: value, shape: shape} = item, {padding: padding = 0, focus: focus, focusIconStyle: focusIconStyle} = this.attribute.item, {shape: shapeAttr, label: labelAttr, value: valueAttr, background: background} = this.attribute.item, shapeStyle = this._handleStyle(shapeAttr, item, isSelected, index, items), labelStyle = this._handleStyle(labelAttr, item, isSelected, index, items), valueStyle = this._handleStyle(valueAttr, item, isSelected, index, items), backgroundStyle = this._handleStyle(background, item, isSelected, index, items), parsedPadding = (0,
|
|
158
|
+
const {id: id, label: label, value: value, shape: shape} = item, {padding: padding = 0, focus: focus, focusIconStyle: focusIconStyle, align: align} = this.attribute.item, {shape: shapeAttr, label: labelAttr, value: valueAttr, background: background} = this.attribute.item, shapeStyle = this._handleStyle(shapeAttr, item, isSelected, index, items), labelStyle = this._handleStyle(labelAttr, item, isSelected, index, items), valueStyle = this._handleStyle(valueAttr, item, isSelected, index, items), backgroundStyle = this._handleStyle(background, item, isSelected, index, items), parsedPadding = (0,
|
|
158
159
|
vutils_1.normalizePadding)(padding);
|
|
159
160
|
let itemGroup;
|
|
160
161
|
!1 === background.visible ? (itemGroup = vrender_core_1.graphicCreator.group({
|
|
@@ -174,8 +175,8 @@ class DiscreteLegend extends base_1.LegendBase {
|
|
|
174
175
|
itemGroup.add(innerGroup);
|
|
175
176
|
let focusShape, focusStartX = 0, shapeSize = 0, shapeSpace = 0;
|
|
176
177
|
if (shapeAttr && !1 !== shapeAttr.visible) {
|
|
177
|
-
|
|
178
|
-
shapeSpace = (0, vutils_1.get)(shapeAttr, "space", constant_1.DEFAULT_SHAPE_SPACE);
|
|
178
|
+
const s = (0, vutils_1.get)(shapeStyle, "style.size", constant_1.DEFAULT_SHAPE_SIZE);
|
|
179
|
+
shapeSize = (0, vutils_1.isArray)(s) ? s[0] || 0 : s, shapeSpace = (0, vutils_1.get)(shapeAttr, "space", constant_1.DEFAULT_SHAPE_SPACE);
|
|
179
180
|
const itemShape = vrender_core_1.graphicCreator.symbol(Object.assign(Object.assign({
|
|
180
181
|
x: 0,
|
|
181
182
|
y: 0,
|
|
@@ -190,7 +191,7 @@ class DiscreteLegend extends base_1.LegendBase {
|
|
|
190
191
|
itemShape.addState(isSelected ? constant_1.LegendStateValue.selected : constant_1.LegendStateValue.unSelected),
|
|
191
192
|
innerGroup.add(itemShape);
|
|
192
193
|
}
|
|
193
|
-
let focusSpace = 0;
|
|
194
|
+
let labelShape, focusSpace = 0;
|
|
194
195
|
if (focus) {
|
|
195
196
|
const focusSize = (0, vutils_1.get)(focusIconStyle, "size", constant_1.DEFAULT_SHAPE_SIZE);
|
|
196
197
|
focusShape = vrender_core_1.graphicCreator.symbol(Object.assign(Object.assign({
|
|
@@ -204,30 +205,35 @@ class DiscreteLegend extends base_1.LegendBase {
|
|
|
204
205
|
})), this._appendDataToShape(focusShape, constant_1.LEGEND_ELEMENT_NAME.focus, item, itemGroup),
|
|
205
206
|
focusSpace = focusSize;
|
|
206
207
|
}
|
|
207
|
-
const
|
|
208
|
+
const text = labelAttr.formatMethod ? labelAttr.formatMethod(label, item, index) : label, labelAttributes = Object.assign(Object.assign({
|
|
208
209
|
x: shapeSize / 2 + shapeSpace,
|
|
209
210
|
y: 0,
|
|
210
211
|
textAlign: "start",
|
|
211
212
|
textBaseline: "middle",
|
|
212
213
|
lineHeight: null === (_b = labelStyle.style) || void 0 === _b ? void 0 : _b.fontSize
|
|
213
214
|
}, labelStyle.style), {
|
|
214
|
-
text:
|
|
215
|
-
})
|
|
215
|
+
text: text
|
|
216
|
+
});
|
|
217
|
+
labelShape = (0, util_1.isRichText)(labelAttributes) ? vrender_core_1.graphicCreator.richtext((0,
|
|
218
|
+
util_1.richTextAttributeTransform)(labelAttributes)) : vrender_core_1.graphicCreator.text(labelAttributes),
|
|
216
219
|
this._appendDataToShape(labelShape, constant_1.LEGEND_ELEMENT_NAME.itemLabel, item, itemGroup, labelStyle.state),
|
|
217
220
|
labelShape.addState(isSelected ? constant_1.LegendStateValue.selected : constant_1.LegendStateValue.unSelected),
|
|
218
221
|
innerGroup.add(labelShape);
|
|
219
222
|
const labelSpace = (0, vutils_1.get)(labelAttr, "space", constant_1.DEFAULT_LABEL_SPACE);
|
|
220
223
|
if ((0, vutils_1.isValid)(value)) {
|
|
221
|
-
const valueSpace = (0, vutils_1.get)(valueAttr, "space", focus ? constant_1.DEFAULT_VALUE_SPACE : 0),
|
|
224
|
+
const valueSpace = (0, vutils_1.get)(valueAttr, "space", focus ? constant_1.DEFAULT_VALUE_SPACE : 0), valueText = valueAttr.formatMethod ? valueAttr.formatMethod(value, item, index) : value, valueAttributes = Object.assign(Object.assign({
|
|
222
225
|
x: 0,
|
|
223
226
|
y: 0,
|
|
224
227
|
textAlign: "start",
|
|
225
228
|
textBaseline: "middle",
|
|
226
229
|
lineHeight: valueStyle.style.fontSize
|
|
227
230
|
}, valueStyle.style), {
|
|
228
|
-
text:
|
|
229
|
-
})
|
|
230
|
-
|
|
231
|
+
text: valueText
|
|
232
|
+
});
|
|
233
|
+
let valueShape;
|
|
234
|
+
if (valueShape = (0, util_1.isRichText)(valueAttributes) ? vrender_core_1.graphicCreator.richtext((0,
|
|
235
|
+
util_1.richTextAttributeTransform)(valueAttributes)) : vrender_core_1.graphicCreator.text(valueAttributes),
|
|
236
|
+
this._appendDataToShape(valueShape, constant_1.LEGEND_ELEMENT_NAME.itemValue, item, itemGroup, valueStyle.state),
|
|
231
237
|
valueShape.addState(isSelected ? constant_1.LegendStateValue.selected : constant_1.LegendStateValue.unSelected),
|
|
232
238
|
this._itemWidthByUser) {
|
|
233
239
|
const layoutWidth = this._itemWidthByUser - parsedPadding[1] - parsedPadding[3] - shapeSize - shapeSpace - labelSpace - focusSpace - valueSpace, valueBounds = valueShape.AABBBounds, labelBounds = labelShape.AABBBounds, valueWidth = valueBounds.width(), labelWidth = labelBounds.width();
|
|
@@ -242,86 +248,150 @@ class DiscreteLegend extends base_1.LegendBase {
|
|
|
242
248
|
} else this._itemWidthByUser ? (labelShape.setAttribute("maxLineWidth", this._itemWidthByUser - parsedPadding[1] - parsedPadding[3] - shapeSize - shapeSpace - focusSpace),
|
|
243
249
|
focusStartX = labelShape.AABBBounds.x2 + labelSpace) : focusStartX = labelShape.AABBBounds.x2 + labelSpace;
|
|
244
250
|
focusShape && (focusShape.setAttribute("x", focusStartX), innerGroup.add(focusShape));
|
|
245
|
-
const innerGroupBounds = innerGroup.AABBBounds, innerGroupWidth = innerGroupBounds.width()
|
|
246
|
-
|
|
251
|
+
const innerGroupBounds = innerGroup.AABBBounds, innerGroupWidth = innerGroupBounds.width();
|
|
252
|
+
if ("right" === align) {
|
|
253
|
+
const x2 = innerGroupBounds.x2, x1 = innerGroupBounds.x1;
|
|
254
|
+
innerGroup.forEachChildren(((child, index) => {
|
|
255
|
+
"symbol" !== child.type && "right" !== child.attribute.textAlign || child === focusShape ? child.setAttribute("x", x1 + x2 - child.attribute.x - child.AABBBounds.width()) : "symbol" !== child.type ? child.setAttributes({
|
|
256
|
+
x: x1 + x2 - child.attribute.x,
|
|
257
|
+
textAlign: "left"
|
|
258
|
+
}) : child.setAttribute("x", x1 + x2 - child.attribute.x);
|
|
259
|
+
}));
|
|
260
|
+
}
|
|
261
|
+
const innerGroupHeight = innerGroupBounds.height(), itemGroupWidth = (0, vutils_1.isValid)(this.attribute.item.width) ? this.attribute.item.width : innerGroupWidth + parsedPadding[1] + parsedPadding[3], itemGroupHeight = this._itemHeightByUser || innerGroupHeight + parsedPadding[0] + parsedPadding[2];
|
|
247
262
|
return itemGroup.attribute.width = itemGroupWidth, itemGroup.attribute.height = itemGroupHeight,
|
|
248
263
|
focusShape && focusShape.setAttribute("visible", !1), innerGroup.translateTo(-innerGroupBounds.x1 + parsedPadding[3], -innerGroupBounds.y1 + parsedPadding[0]),
|
|
249
264
|
itemGroup;
|
|
250
265
|
}
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
266
|
+
_createPager(isScrollbar, isHorizontal, compStyle, compSize) {
|
|
267
|
+
var _a, _b;
|
|
268
|
+
const {disableTriggerEvent: disableTriggerEvent, maxRow: maxRow} = this.attribute;
|
|
269
|
+
return isScrollbar ? isHorizontal ? new scrollbar_1.ScrollBar(Object.assign(Object.assign({
|
|
270
|
+
direction: "vertical",
|
|
271
|
+
width: 12,
|
|
272
|
+
range: [ 0, .5 ]
|
|
273
|
+
}, compStyle), {
|
|
274
|
+
height: compSize,
|
|
275
|
+
disableTriggerEvent: disableTriggerEvent
|
|
276
|
+
})) : new scrollbar_1.ScrollBar(Object.assign(Object.assign({
|
|
277
|
+
direction: "horizontal",
|
|
278
|
+
disableTriggerEvent: disableTriggerEvent,
|
|
279
|
+
range: [ 0, .5 ],
|
|
280
|
+
height: 12
|
|
281
|
+
}, compStyle), {
|
|
282
|
+
width: compSize
|
|
283
|
+
})) : isHorizontal ? new pager_1.Pager(Object.assign(Object.assign({
|
|
284
|
+
layout: 1 === maxRow ? "horizontal" : "vertical",
|
|
285
|
+
total: 99
|
|
286
|
+
}, (0, vutils_1.merge)({
|
|
287
|
+
handler: {
|
|
288
|
+
preShape: "triangleUp",
|
|
289
|
+
nextShape: "triangleDown"
|
|
290
|
+
}
|
|
291
|
+
}, compStyle)), {
|
|
292
|
+
defaultCurrent: null === (_a = this.attribute.pager) || void 0 === _a ? void 0 : _a.defaultCurrent,
|
|
293
|
+
disableTriggerEvent: disableTriggerEvent
|
|
294
|
+
})) : new pager_1.Pager(Object.assign({
|
|
295
|
+
layout: "horizontal",
|
|
296
|
+
total: 99,
|
|
297
|
+
disableTriggerEvent: disableTriggerEvent,
|
|
298
|
+
defaultCurrent: null === (_b = this.attribute.pager) || void 0 === _b ? void 0 : _b.defaultCurrent
|
|
299
|
+
}, compStyle));
|
|
300
|
+
}
|
|
301
|
+
_updatePositionOfPager(isScrollbar, isHorizontal, contentSize, renderStartY, compSize) {
|
|
302
|
+
const {maxHeight: maxHeight, pager: pager} = this.attribute, {currentPage: currentPage, totalPage: totalPage} = this._itemContext;
|
|
303
|
+
if (isScrollbar) this._pagerComponent.setScrollRange([ (currentPage - 1) / totalPage, currentPage / totalPage ]),
|
|
304
|
+
isHorizontal ? this._pagerComponent.setAttributes({
|
|
305
|
+
x: contentSize,
|
|
306
|
+
y: renderStartY
|
|
307
|
+
}) : this._pagerComponent.setAttributes({
|
|
308
|
+
x: 0,
|
|
309
|
+
y: maxHeight - this._pagerComponent.AABBBounds.height()
|
|
310
|
+
}); else {
|
|
311
|
+
const position = pager && pager.position || "middle";
|
|
312
|
+
if (this._pagerComponent.setTotal(totalPage), isHorizontal) {
|
|
313
|
+
let y;
|
|
314
|
+
y = "start" === position ? renderStartY : "end" === position ? renderStartY + compSize - this._pagerComponent.AABBBounds.height() / 2 : renderStartY + compSize / 2 - this._pagerComponent.AABBBounds.height() / 2,
|
|
315
|
+
this._pagerComponent.setAttributes({
|
|
316
|
+
x: contentSize,
|
|
317
|
+
y: y
|
|
318
|
+
});
|
|
319
|
+
} else {
|
|
320
|
+
let x;
|
|
321
|
+
x = "start" === position ? 0 : "end" === position ? compSize - this._pagerComponent.AABBBounds.width() : (compSize - this._pagerComponent.AABBBounds.width()) / 2,
|
|
322
|
+
this._pagerComponent.setAttributes({
|
|
323
|
+
x: x,
|
|
324
|
+
y: maxHeight - this._pagerComponent.AABBBounds.height()
|
|
325
|
+
});
|
|
326
|
+
}
|
|
327
|
+
}
|
|
328
|
+
}
|
|
329
|
+
_bindEventsOfPager(isScrollbar, isHorizontal, compSize, spaceSize) {
|
|
330
|
+
const pager = this.attribute.pager || {}, {animation: animation = !0, animationDuration: animationDuration = 450, animationEasing: animationEasing = "quadIn"} = pager, pageParser = isScrollbar ? e => {
|
|
331
|
+
const {value: value} = e.detail;
|
|
332
|
+
let newPage = value[0] * this._itemContext.totalPage;
|
|
333
|
+
return pager.scrollByPosition ? newPage += 1 : newPage = Math.floor(newPage) + 1,
|
|
334
|
+
newPage;
|
|
335
|
+
} : e => e.detail.current, onPaging = e => {
|
|
336
|
+
const newPage = pageParser(e);
|
|
337
|
+
if (newPage !== this._itemContext.currentPage) {
|
|
338
|
+
if (this._itemContext.currentPage = newPage, this._itemContext && this._itemContext.startIndex < this._itemContext.items.length) {
|
|
339
|
+
this._renderItems();
|
|
340
|
+
const newTotalPage = Math.ceil(this._itemContext.pages / this._itemContext.maxPages);
|
|
341
|
+
this._itemContext.totalPage = newTotalPage, this._pagerComponent.setScrollRange([ (newPage - 1) / newTotalPage, newPage / newTotalPage ]);
|
|
262
342
|
}
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
|
|
343
|
+
animation ? this._itemsContainer.animate().to(isHorizontal ? {
|
|
344
|
+
y: -(newPage - 1) * (compSize + spaceSize)
|
|
345
|
+
} : {
|
|
346
|
+
x: -(newPage - 1) * (compSize + spaceSize)
|
|
347
|
+
}, animationDuration, animationEasing) : isHorizontal ? this._itemsContainer.setAttribute("y", -(newPage - 1) * (compSize + spaceSize)) : this._itemsContainer.setAttribute("x", -(newPage - 1) * (compSize + spaceSize));
|
|
348
|
+
}
|
|
349
|
+
};
|
|
350
|
+
isScrollbar ? (this._pagerComponent.addEventListener("scrollDrag", onPaging), this._pagerComponent.addEventListener("scrollUp", onPaging)) : (this._pagerComponent.addEventListener("toPrev", onPaging),
|
|
351
|
+
this._pagerComponent.addEventListener("toNext", onPaging));
|
|
352
|
+
}
|
|
353
|
+
_renderPagerComponent(isHorizontal) {
|
|
354
|
+
const renderStartY = this._title ? this._title.AABBBounds.height() + (0, vutils_1.get)(this.attribute, "title.space", 8) : 0, {maxWidth: maxWidth, maxHeight: maxHeight, maxCol: maxCol = 1, maxRow: maxRow = 2, item: item = {}, pager: pager = {}} = this.attribute, {spaceCol: spaceCol = constant_1.DEFAULT_ITEM_SPACE_COL, spaceRow: spaceRow = constant_1.DEFAULT_ITEM_SPACE_ROW} = item, itemsContainer = this._itemsContainer, {space: pagerSpace = constant_1.DEFAULT_PAGER_SPACE, defaultCurrent: defaultCurrent = 1} = pager, compStyle = __rest(pager, [ "space", "defaultCurrent" ]), isScrollbar = "scrollbar" === pager.type;
|
|
355
|
+
let comp, compSize = 0, contentSize = 0, startX = 0, startY = 0, pages = 1;
|
|
356
|
+
if (isHorizontal) {
|
|
357
|
+
if (compSize = (maxRow - 1) * spaceRow + this._itemHeight * maxRow, comp = this._createPager(isScrollbar, isHorizontal, compStyle, compSize),
|
|
358
|
+
this._pagerComponent = comp, this._innerView.add(comp), contentSize = maxWidth - comp.AABBBounds.width() - pagerSpace,
|
|
359
|
+
contentSize <= 0) return this._innerView.removeChild(comp), !1;
|
|
269
360
|
itemsContainer.getChildren().forEach(((item, index) => {
|
|
270
361
|
const {width: width, height: height} = item.attribute;
|
|
271
|
-
|
|
362
|
+
contentSize < startX + width && (startX = 0, startY += height + spaceRow, pages += 1),
|
|
272
363
|
index > 0 && item.setAttributes({
|
|
273
364
|
x: startX,
|
|
274
365
|
y: startY
|
|
275
366
|
}), startX += spaceCol + width;
|
|
276
|
-
})), this._itemContext.startX = startX, this._itemContext.startY = startY, this._itemContext.pages = pages
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
x: pageWidth,
|
|
280
|
-
y: y
|
|
281
|
-
});
|
|
367
|
+
})), this._itemContext.startX = startX, this._itemContext.startY = startY, this._itemContext.pages = pages;
|
|
368
|
+
const total = Math.ceil(pages / maxRow);
|
|
369
|
+
this._itemContext.totalPage = total, this._updatePositionOfPager(isScrollbar, isHorizontal, contentSize, renderStartY, compSize);
|
|
282
370
|
} else {
|
|
283
|
-
if (
|
|
284
|
-
|
|
285
|
-
|
|
286
|
-
disableTriggerEvent: disableTriggerEvent
|
|
287
|
-
}, pageStyle)), this._pager = pagerComp, this._innerView.add(pagerComp), pageWidth = this._itemMaxWidth * maxCol + (maxCol - 1) * spaceCol,
|
|
288
|
-
pageHeight = maxHeight - pagerComp.AABBBounds.height() - pagerSpace - renderStartY,
|
|
289
|
-
pageHeight <= 0) return this._innerView.removeChild(pagerComp), !1;
|
|
290
|
-
let x;
|
|
371
|
+
if (compSize = this._itemMaxWidth * maxCol + (maxCol - 1) * spaceCol, comp = this._createPager(isScrollbar, isHorizontal, compStyle, compSize),
|
|
372
|
+
this._pagerComponent = comp, this._innerView.add(comp), contentSize = maxHeight - comp.AABBBounds.height() - pagerSpace - renderStartY,
|
|
373
|
+
contentSize <= 0) return this._innerView.removeChild(comp), !1;
|
|
291
374
|
itemsContainer.getChildren().forEach(((item, index) => {
|
|
292
375
|
const {height: height} = item.attribute;
|
|
293
|
-
|
|
376
|
+
contentSize < startY + height && (startY = 0, startX += this._itemMaxWidth + spaceCol,
|
|
294
377
|
pages += 1), index > 0 && item.setAttributes({
|
|
295
378
|
x: startX,
|
|
296
379
|
y: startY
|
|
297
380
|
}), startY += spaceRow + height;
|
|
298
|
-
}))
|
|
299
|
-
|
|
300
|
-
|
|
301
|
-
y: maxHeight - pagerComp.AABBBounds.height()
|
|
302
|
-
});
|
|
381
|
+
}));
|
|
382
|
+
const total = Math.ceil(pages / maxCol);
|
|
383
|
+
this._itemContext.totalPage = total, this._updatePositionOfPager(isScrollbar, isHorizontal, contentSize, renderStartY, compSize);
|
|
303
384
|
}
|
|
304
|
-
|
|
385
|
+
defaultCurrent > 1 && (isHorizontal ? itemsContainer.setAttribute("y", -(defaultCurrent - 1) * (compSize + spaceRow)) : itemsContainer.setAttribute("x", -(defaultCurrent - 1) * (compSize + spaceCol)));
|
|
305
386
|
const clipGroup = vrender_core_1.graphicCreator.group({
|
|
306
387
|
x: 0,
|
|
307
388
|
y: renderStartY,
|
|
308
|
-
width:
|
|
309
|
-
height:
|
|
389
|
+
width: isHorizontal ? contentSize : compSize,
|
|
390
|
+
height: isHorizontal ? compSize : contentSize,
|
|
310
391
|
clip: !0,
|
|
311
392
|
pickable: !1
|
|
312
393
|
});
|
|
313
|
-
clipGroup.add(itemsContainer), this._innerView.add(clipGroup)
|
|
314
|
-
const onPaging = e => {
|
|
315
|
-
const {current: current} = e.detail;
|
|
316
|
-
this._itemContext.currentPage = current, this._itemContext && this._itemContext.startIndex < this._itemContext.items.length && (this._renderItems(),
|
|
317
|
-
pagerComp.setTotal(Math.ceil(this._itemContext.pages / this._itemContext.maxPages))),
|
|
318
|
-
animation ? itemsContainer.animate().to(isHorizontal ? {
|
|
319
|
-
y: -(current - 1) * (pageHeight + spaceRow)
|
|
320
|
-
} : {
|
|
321
|
-
x: -(current - 1) * (pageWidth + spaceCol)
|
|
322
|
-
}, animationDuration, animationEasing) : isHorizontal ? itemsContainer.setAttribute("y", -(current - 1) * (pageHeight + spaceRow)) : itemsContainer.setAttribute("x", -(current - 1) * (pageWidth + spaceCol));
|
|
323
|
-
};
|
|
324
|
-
return this._pager.addEventListener("toPrev", onPaging), this._pager.addEventListener("toNext", onPaging),
|
|
394
|
+
return clipGroup.add(itemsContainer), this._innerView.add(clipGroup), this._bindEventsOfPager(isScrollbar, isHorizontal, compSize, isHorizontal ? spaceRow : spaceCol),
|
|
325
395
|
!0;
|
|
326
396
|
}
|
|
327
397
|
_hover(legendItem, e) {
|