123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172 |
- var __rest = (this && this.__rest) || function (s, e) {
- var t = {};
- for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
- t[p] = s[p];
- if (s != null && typeof Object.getOwnPropertySymbols === "function")
- for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
- if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
- t[p[i]] = s[p[i]];
- }
- return t;
- };
- import { NumberExt, Dom } from '@antv/x6-common';
- import { ToolsView } from '../../view/tool';
- import * as Util from './util';
- export class Boundary extends ToolsView.ToolItem {
- onRender() {
- Dom.addClass(this.container, this.prefixClassName('cell-tool-boundary'));
- if (this.options.attrs) {
- const _a = this.options.attrs, { class: className } = _a, attrs = __rest(_a, ["class"]);
- Dom.attr(this.container, Dom.kebablizeAttrs(attrs));
- if (className) {
- Dom.addClass(this.container, className);
- }
- }
- this.update();
- }
- update() {
- const view = this.cellView;
- const options = this.options;
- const { useCellGeometry, rotate } = options;
- const padding = NumberExt.normalizeSides(options.padding);
- let bbox = Util.getViewBBox(view, useCellGeometry).moveAndExpand({
- x: -padding.left,
- y: -padding.top,
- width: padding.left + padding.right,
- height: padding.top + padding.bottom,
- });
- const cell = view.cell;
- if (cell.isNode()) {
- const angle = cell.getAngle();
- if (angle) {
- if (rotate) {
- const origin = cell.getBBox().getCenter();
- Dom.rotate(this.container, angle, origin.x, origin.y, {
- absolute: true,
- });
- }
- else {
- bbox = bbox.bbox(angle);
- }
- }
- }
- Dom.attr(this.container, bbox.toJSON());
- return this;
- }
- }
- (function (Boundary) {
- Boundary.config({
- name: 'boundary',
- tagName: 'rect',
- padding: 10,
- useCellGeometry: true,
- attrs: {
- fill: 'none',
- stroke: '#333',
- 'stroke-width': 0.5,
- 'stroke-dasharray': '5, 5',
- 'pointer-events': 'none',
- },
- });
- })(Boundary || (Boundary = {}));
- //# sourceMappingURL=boundary.js.map
|