UNPKG

ngx-diagrams

Version:

> Light Weight, Modular, Typed Diagram Engine for Angular

35 lines 4.41 kB
import { LinkModel } from '../../models/link.model'; import { createValueState } from '../../state/state'; export class DefaultLinkModel extends LinkModel { constructor({ type = 'default', id, logPrefix = '[DefaultLink]' } = {}) { super(type, id, logPrefix); this.width$ = createValueState(3, this.entityPipe('width')); this.color$ = createValueState('rgba(255, 255, 255, 0.5)', this.entityPipe('color')); this.curvyness$ = createValueState(50, this.entityPipe('curvyness')); } setWidth(width) { this.width$.set(width).emit(); } setColor(color) { this.color$.set(color).emit(); } selectWidth() { return this.width$.value$; } selectColor() { return this.color$.value$; } setCurvyness(curvyness) { this.curvyness$.set(curvyness).emit(); } get color() { return this.color$.value; } get width() { return this.width$.value; } get curvyness() { return this.curvyness$.value; } } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVmYXVsdC1saW5rLm1vZGVsLmpzIiwic291cmNlUm9vdCI6Ii4uLy4uLy4uLy4uL2xpYnMvbmd4LWRpYWdyYW1zL3NyYy8iLCJzb3VyY2VzIjpbImxpYi9kZWZhdWx0cy9tb2RlbHMvZGVmYXVsdC1saW5rLm1vZGVsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUNwRCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUVyRCxNQUFNLE9BQU8sZ0JBQWlCLFNBQVEsU0FBUztJQUs3QyxZQUFZLEVBQ1YsSUFBSSxHQUFHLFNBQVMsRUFDaEIsRUFBRSxFQUNGLFNBQVMsR0FBRyxlQUFlLEtBQzJCLEVBQUU7UUFDeEQsS0FBSyxDQUFDLElBQUksRUFBRSxFQUFFLEVBQUUsU0FBUyxDQUFDLENBQUM7UUFUN0IsV0FBTSxHQUFHLGdCQUFnQixDQUFTLENBQUMsRUFBRSxJQUFJLENBQUMsVUFBVSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUM7UUFDL0QsV0FBTSxHQUFHLGdCQUFnQixDQUFTLDBCQUEwQixFQUFFLElBQUksQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQztRQUN4RixlQUFVLEdBQUcsZ0JBQWdCLENBQVMsRUFBRSxFQUFFLElBQUksQ0FBQyxVQUFVLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQztJQVF4RSxDQUFDO0lBRUQsUUFBUSxDQUFDLEtBQWE7UUFDcEIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDaEMsQ0FBQztJQUVELFFBQVEsQ0FBQyxLQUFhO1FBQ3BCLElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFDO0lBQ2hDLENBQUM7SUFFRCxXQUFXO1FBQ1QsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQztJQUM1QixDQUFDO0lBRUQsV0FBVztRQUNULE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUM7SUFDNUIsQ0FBQztJQUVELFlBQVksQ0FBQyxTQUFpQjtRQUM1QixJQUFJLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxTQUFTLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUN4QyxDQUFDO0lBRUQsSUFBSSxLQUFLO1FBQ1AsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQztJQUMzQixDQUFDO0lBRUQsSUFBSSxLQUFLO1FBQ1AsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQztJQUMzQixDQUFDO0lBRUQsSUFBSSxTQUFTO1FBQ1gsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQztJQUMvQixDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBMaW5rTW9kZWwgfSBmcm9tICcuLi8uLi9tb2RlbHMvbGluay5tb2RlbCc7XG5pbXBvcnQgeyBjcmVhdGVWYWx1ZVN0YXRlIH0gZnJvbSAnLi4vLi4vc3RhdGUvc3RhdGUnO1xuXG5leHBvcnQgY2xhc3MgRGVmYXVsdExpbmtNb2RlbCBleHRlbmRzIExpbmtNb2RlbCB7XG4gIHdpZHRoJCA9IGNyZWF0ZVZhbHVlU3RhdGU8bnVtYmVyPigzLCB0aGlzLmVudGl0eVBpcGUoJ3dpZHRoJykpO1xuICBjb2xvciQgPSBjcmVhdGVWYWx1ZVN0YXRlPHN0cmluZz4oJ3JnYmEoMjU1LCAyNTUsIDI1NSwgMC41KScsIHRoaXMuZW50aXR5UGlwZSgnY29sb3InKSk7XG4gIGN1cnZ5bmVzcyQgPSBjcmVhdGVWYWx1ZVN0YXRlPG51bWJlcj4oNTAsIHRoaXMuZW50aXR5UGlwZSgnY3VydnluZXNzJykpO1xuXG4gIGNvbnN0cnVjdG9yKHtcbiAgICB0eXBlID0gJ2RlZmF1bHQnLFxuICAgIGlkLFxuICAgIGxvZ1ByZWZpeCA9ICdbRGVmYXVsdExpbmtdJ1xuICB9OiB7IHR5cGU/OiBzdHJpbmc7IGlkPzogc3RyaW5nOyBsb2dQcmVmaXg/OiBzdHJpbmcgfSA9IHt9KSB7XG4gICAgc3VwZXIodHlwZSwgaWQsIGxvZ1ByZWZpeCk7XG4gIH1cblxuICBzZXRXaWR0aCh3aWR0aDogbnVtYmVyKSB7XG4gICAgdGhpcy53aWR0aCQuc2V0KHdpZHRoKS5lbWl0KCk7XG4gIH1cblxuICBzZXRDb2xvcihjb2xvcjogc3RyaW5nKSB7XG4gICAgdGhpcy5jb2xvciQuc2V0KGNvbG9yKS5lbWl0KCk7XG4gIH1cblxuICBzZWxlY3RXaWR0aCgpOiBPYnNlcnZhYmxlPG51bWJlcj4ge1xuICAgIHJldHVybiB0aGlzLndpZHRoJC52YWx1ZSQ7XG4gIH1cblxuICBzZWxlY3RDb2xvcigpOiBPYnNlcnZhYmxlPHN0cmluZz4ge1xuICAgIHJldHVybiB0aGlzLmNvbG9yJC52YWx1ZSQ7XG4gIH1cblxuICBzZXRDdXJ2eW5lc3MoY3VydnluZXNzOiBudW1iZXIpIHtcbiAgICB0aGlzLmN1cnZ5bmVzcyQuc2V0KGN1cnZ5bmVzcykuZW1pdCgpO1xuICB9XG5cbiAgZ2V0IGNvbG9yKCkge1xuICAgIHJldHVybiB0aGlzLmNvbG9yJC52YWx1ZTtcbiAgfVxuXG4gIGdldCB3aWR0aCgpIHtcbiAgICByZXR1cm4gdGhpcy53aWR0aCQudmFsdWU7XG4gIH1cblxuICBnZXQgY3VydnluZXNzKCkge1xuICAgIHJldHVybiB0aGlzLmN1cnZ5bmVzcyQudmFsdWU7XG4gIH1cbn1cbiJdfQ==