ngx-diagrams
Version:
> Light Weight, Modular, Typed Diagram Engine for Angular
22 lines • 3.66 kB
JavaScript
import { BaseAction } from './base.action';
import { LinkModel } from '../models/link.model';
export class MoveItemsAction extends BaseAction {
constructor(mouseX, mouseY, diagramEngine) {
super(mouseX, mouseY);
this.moved = false;
let selectedItems = diagramEngine.getDiagramModel().getSelectedItems();
// dont allow items which are locked to move and links which generate their position based on points.
selectedItems = selectedItems.filter((item) => {
return !diagramEngine.isModelLocked(item) && !(item instanceof LinkModel);
});
this.selectionModels = selectedItems.map((item) => {
const { x: initialX, y: initialY } = item.getCoords();
return {
model: item,
initialX,
initialY,
};
});
}
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW92ZS1pdGVtcy5hY3Rpb24uanMiLCJzb3VyY2VSb290IjoiLi4vLi4vLi4vLi4vbGlicy9uZ3gtZGlhZ3JhbXMvc3JjLyIsInNvdXJjZXMiOlsibGliL2FjdGlvbnMvbW92ZS1pdGVtcy5hY3Rpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUszQyxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFFakQsTUFBTSxPQUFPLGVBQWdCLFNBQVEsVUFBVTtJQUk3QyxZQUFZLE1BQWMsRUFBRSxNQUFjLEVBQUUsYUFBNEI7UUFDdEUsS0FBSyxDQUFDLE1BQU0sRUFBRSxNQUFNLENBQUMsQ0FBQztRQUN0QixJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztRQUNuQixJQUFJLGFBQWEsR0FBRyxhQUFhLENBQUMsZUFBZSxFQUFFLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQztRQUV2RSxxR0FBcUc7UUFDckcsYUFBYSxHQUFHLGFBQWEsQ0FBQyxNQUFNLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRTtZQUM1QyxPQUFPLENBQUMsYUFBYSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxZQUFZLFNBQVMsQ0FBQyxDQUFDO1FBQzVFLENBQUMsQ0FBQyxDQUFDO1FBRUgsSUFBSSxDQUFDLGVBQWUsR0FBRyxhQUFhLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBNEIsRUFBRSxFQUFFO1lBQ3hFLE1BQU0sRUFBRSxDQUFDLEVBQUUsUUFBUSxFQUFFLENBQUMsRUFBRSxRQUFRLEVBQUUsR0FBRyxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7WUFDdEQsT0FBTztnQkFDTCxLQUFLLEVBQUUsSUFBSTtnQkFDWCxRQUFRO2dCQUNSLFFBQVE7YUFDVCxDQUFDO1FBQ0osQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBCYXNlQWN0aW9uIH0gZnJvbSAnLi9iYXNlLmFjdGlvbic7XG5pbXBvcnQgeyBQb2ludE1vZGVsIH0gZnJvbSAnLi4vbW9kZWxzL3BvaW50Lm1vZGVsJztcbmltcG9ydCB7IE5vZGVNb2RlbCB9IGZyb20gJy4uL21vZGVscy9ub2RlLm1vZGVsJztcbmltcG9ydCB7IERpYWdyYW1FbmdpbmUgfSBmcm9tICcuLi9zZXJ2aWNlcy9lbmdpbmUuc2VydmljZSc7XG5pbXBvcnQgeyBTZWxlY3Rpb25Nb2RlbCB9IGZyb20gJy4uL21vZGVscy9tb3ZlLXNlbGVjdGlvbi5tb2RlbCc7XG5pbXBvcnQgeyBMaW5rTW9kZWwgfSBmcm9tICcuLi9tb2RlbHMvbGluay5tb2RlbCc7XG5cbmV4cG9ydCBjbGFzcyBNb3ZlSXRlbXNBY3Rpb24gZXh0ZW5kcyBCYXNlQWN0aW9uIHtcbiAgc2VsZWN0aW9uTW9kZWxzOiBTZWxlY3Rpb25Nb2RlbFtdO1xuICBtb3ZlZDogYm9vbGVhbjtcblxuICBjb25zdHJ1Y3Rvcihtb3VzZVg6IG51bWJlciwgbW91c2VZOiBudW1iZXIsIGRpYWdyYW1FbmdpbmU6IERpYWdyYW1FbmdpbmUpIHtcbiAgICBzdXBlcihtb3VzZVgsIG1vdXNlWSk7XG4gICAgdGhpcy5tb3ZlZCA9IGZhbHNlO1xuICAgIGxldCBzZWxlY3RlZEl0ZW1zID0gZGlhZ3JhbUVuZ2luZS5nZXREaWFncmFtTW9kZWwoKS5nZXRTZWxlY3RlZEl0ZW1zKCk7XG5cbiAgICAvLyBkb250IGFsbG93IGl0ZW1zIHdoaWNoIGFyZSBsb2NrZWQgdG8gbW92ZSBhbmQgbGlua3Mgd2hpY2ggZ2VuZXJhdGUgdGhlaXIgcG9zaXRpb24gYmFzZWQgb24gcG9pbnRzLlxuICAgIHNlbGVjdGVkSXRlbXMgPSBzZWxlY3RlZEl0ZW1zLmZpbHRlcigoaXRlbSkgPT4ge1xuICAgICAgcmV0dXJuICFkaWFncmFtRW5naW5lLmlzTW9kZWxMb2NrZWQoaXRlbSkgJiYgIShpdGVtIGluc3RhbmNlb2YgTGlua01vZGVsKTtcbiAgICB9KTtcblxuICAgIHRoaXMuc2VsZWN0aW9uTW9kZWxzID0gc2VsZWN0ZWRJdGVtcy5tYXAoKGl0ZW06IFBvaW50TW9kZWwgfCBOb2RlTW9kZWwpID0+IHtcbiAgICAgIGNvbnN0IHsgeDogaW5pdGlhbFgsIHk6IGluaXRpYWxZIH0gPSBpdGVtLmdldENvb3JkcygpO1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgbW9kZWw6IGl0ZW0sXG4gICAgICAgIGluaXRpYWxYLFxuICAgICAgICBpbml0aWFsWSxcbiAgICAgIH07XG4gICAgfSk7XG4gIH1cbn1cbiJdfQ==