@foblex/flow
Version:
An Angular library designed to simplify the creation and manipulation of dynamic flow. Provides components for flows, nodes, and connections, automating node manipulation and inter-node connections.
37 lines • 5.6 kB
JavaScript
import { __decorate } from "tslib";
import { Injectable } from '@angular/core';
import { FExecutionRegister } from '@foblex/mediator';
import { SelectAndUpdateNodeLayerRequest } from './select-and-update-node-layer.request';
import { UpdateItemAndChildrenLayersRequest } from '../../update-item-and-children-layers';
import * as i0 from "@angular/core";
import * as i1 from "../../../f-draggable";
import * as i2 from "@foblex/mediator";
let SelectAndUpdateNodeLayerExecution = class SelectAndUpdateNodeLayerExecution {
fDraggableDataContext;
fMediator;
constructor(fDraggableDataContext, fMediator) {
this.fDraggableDataContext = fDraggableDataContext;
this.fMediator = fMediator;
}
handle(request) {
this.selectNodeIfNotSelected(request.fNode);
this.fMediator.execute(new UpdateItemAndChildrenLayersRequest(request.fNode, request.fNode.hostElement.parentElement));
}
selectNodeIfNotSelected(fNode) {
if (!this.fDraggableDataContext.selectedItems.includes(fNode) && !fNode.fSelectionDisabled) {
this.fDraggableDataContext.selectedItems.push(fNode);
fNode.markAsSelected();
this.fDraggableDataContext.isSelectedChanged = true;
}
}
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SelectAndUpdateNodeLayerExecution, deps: [{ token: i1.FDraggableDataContext }, { token: i2.FMediator }], target: i0.ɵɵFactoryTarget.Injectable });
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SelectAndUpdateNodeLayerExecution });
};
SelectAndUpdateNodeLayerExecution = __decorate([
FExecutionRegister(SelectAndUpdateNodeLayerRequest)
], SelectAndUpdateNodeLayerExecution);
export { SelectAndUpdateNodeLayerExecution };
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SelectAndUpdateNodeLayerExecution, decorators: [{
type: Injectable
}], ctorParameters: () => [{ type: i1.FDraggableDataContext }, { type: i2.FMediator }] });
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0LWFuZC11cGRhdGUtbm9kZS1sYXllci5leGVjdXRpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2RvbWFpbi9mLXNlbGVjdGlvbi9zZWxlY3QtYW5kLXVwZGF0ZS1ub2RlLWxheWVyL3NlbGVjdC1hbmQtdXBkYXRlLW5vZGUtbGF5ZXIuZXhlY3V0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFDQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxrQkFBa0IsRUFBYSxNQUFNLGtCQUFrQixDQUFDO0FBQ2pFLE9BQU8sRUFBRSwrQkFBK0IsRUFBRSxNQUFNLHdDQUF3QyxDQUFDO0FBRXpGLE9BQU8sRUFBRSxrQ0FBa0MsRUFBRSxNQUFNLHVDQUF1QyxDQUFDOzs7O0FBS3BGLElBQU0saUNBQWlDLEdBQXZDLE1BQU0saUNBQWlDO0lBR2xDO0lBQ0E7SUFGVixZQUNVLHFCQUE0QyxFQUM1QyxTQUFvQjtRQURwQiwwQkFBcUIsR0FBckIscUJBQXFCLENBQXVCO1FBQzVDLGNBQVMsR0FBVCxTQUFTLENBQVc7SUFFOUIsQ0FBQztJQUNNLE1BQU0sQ0FBQyxPQUF3QztRQUNwRCxJQUFJLENBQUMsdUJBQXVCLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBRTVDLElBQUksQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUNwQixJQUFJLGtDQUFrQyxDQUFDLE9BQU8sQ0FBQyxLQUFLLEVBQUUsT0FBTyxDQUFDLEtBQUssQ0FBQyxXQUFXLENBQUMsYUFBNEIsQ0FBQyxDQUM5RyxDQUFDO0lBQ0osQ0FBQztJQUVPLHVCQUF1QixDQUFDLEtBQWdCO1FBQzlDLElBQUksQ0FBQyxJQUFJLENBQUMscUJBQXFCLENBQUMsYUFBYSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxrQkFBa0IsRUFBRSxDQUFDO1lBQzNGLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQ3JELEtBQUssQ0FBQyxjQUFjLEVBQUUsQ0FBQztZQUN2QixJQUFJLENBQUMscUJBQXFCLENBQUMsaUJBQWlCLEdBQUcsSUFBSSxDQUFDO1FBQ3RELENBQUM7SUFDSCxDQUFDO3dHQXJCVSxpQ0FBaUM7NEdBQWpDLGlDQUFpQzs7QUFBakMsaUNBQWlDO0lBRDdDLGtCQUFrQixDQUFDLCtCQUErQixDQUFDO0dBQ3ZDLGlDQUFpQyxDQXNCN0M7OzRGQXRCWSxpQ0FBaUM7a0JBRjdDLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJSGFuZGxlciB9IGZyb20gJ0Bmb2JsZXgvbWVkaWF0b3InO1xuaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRkV4ZWN1dGlvblJlZ2lzdGVyLCBGTWVkaWF0b3IgfSBmcm9tICdAZm9ibGV4L21lZGlhdG9yJztcbmltcG9ydCB7IFNlbGVjdEFuZFVwZGF0ZU5vZGVMYXllclJlcXVlc3QgfSBmcm9tICcuL3NlbGVjdC1hbmQtdXBkYXRlLW5vZGUtbGF5ZXIucmVxdWVzdCc7XG5pbXBvcnQgeyBGRHJhZ2dhYmxlRGF0YUNvbnRleHQgfSBmcm9tICcuLi8uLi8uLi9mLWRyYWdnYWJsZSc7XG5pbXBvcnQgeyBVcGRhdGVJdGVtQW5kQ2hpbGRyZW5MYXllcnNSZXF1ZXN0IH0gZnJvbSAnLi4vLi4vdXBkYXRlLWl0ZW0tYW5kLWNoaWxkcmVuLWxheWVycyc7XG5pbXBvcnQgeyBGTm9kZUJhc2UgfSBmcm9tICcuLi8uLi8uLi9mLW5vZGUnO1xuXG5ASW5qZWN0YWJsZSgpXG5ARkV4ZWN1dGlvblJlZ2lzdGVyKFNlbGVjdEFuZFVwZGF0ZU5vZGVMYXllclJlcXVlc3QpXG5leHBvcnQgY2xhc3MgU2VsZWN0QW5kVXBkYXRlTm9kZUxheWVyRXhlY3V0aW9uIGltcGxlbWVudHMgSUhhbmRsZXI8U2VsZWN0QW5kVXBkYXRlTm9kZUxheWVyUmVxdWVzdCwgdm9pZD4ge1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgZkRyYWdnYWJsZURhdGFDb250ZXh0OiBGRHJhZ2dhYmxlRGF0YUNvbnRleHQsXG4gICAgcHJpdmF0ZSBmTWVkaWF0b3I6IEZNZWRpYXRvclxuICApIHtcbiAgfVxuICBwdWJsaWMgaGFuZGxlKHJlcXVlc3Q6IFNlbGVjdEFuZFVwZGF0ZU5vZGVMYXllclJlcXVlc3QpOiB2b2lkIHtcbiAgICB0aGlzLnNlbGVjdE5vZGVJZk5vdFNlbGVjdGVkKHJlcXVlc3QuZk5vZGUpO1xuXG4gICAgdGhpcy5mTWVkaWF0b3IuZXhlY3V0ZTx2b2lkPihcbiAgICAgIG5ldyBVcGRhdGVJdGVtQW5kQ2hpbGRyZW5MYXllcnNSZXF1ZXN0KHJlcXVlc3QuZk5vZGUsIHJlcXVlc3QuZk5vZGUuaG9zdEVsZW1lbnQucGFyZW50RWxlbWVudCBhcyBIVE1MRWxlbWVudClcbiAgICApO1xuICB9XG5cbiAgcHJpdmF0ZSBzZWxlY3ROb2RlSWZOb3RTZWxlY3RlZChmTm9kZTogRk5vZGVCYXNlKSB7XG4gICAgaWYgKCF0aGlzLmZEcmFnZ2FibGVEYXRhQ29udGV4dC5zZWxlY3RlZEl0ZW1zLmluY2x1ZGVzKGZOb2RlKSAmJiAhZk5vZGUuZlNlbGVjdGlvbkRpc2FibGVkKSB7XG4gICAgICB0aGlzLmZEcmFnZ2FibGVEYXRhQ29udGV4dC5zZWxlY3RlZEl0ZW1zLnB1c2goZk5vZGUpO1xuICAgICAgZk5vZGUubWFya0FzU2VsZWN0ZWQoKTtcbiAgICAgIHRoaXMuZkRyYWdnYWJsZURhdGFDb250ZXh0LmlzU2VsZWN0ZWRDaGFuZ2VkID0gdHJ1ZTtcbiAgICB9XG4gIH1cbn1cbiJdfQ==