From 886d352ec99fe5281c281c16f8d4b9908fb0dcc3 Mon Sep 17 00:00:00 2001 From: Ahmed Abbas Date: Fri, 28 Feb 2020 18:18:36 +0200 Subject: add designer funcionality - declarative workflow - save source editor to store - generate graph based on json data from source editor - make functions retrieved from server - prevent multible functions inside action if the first fn is not dg-generic - dg generic case (mutli functions inside single action) - arrange elements that are generated automcatilly using DirectedGraph lib dagree Issue-ID: CCSDK-1779 Issue-ID: CCSDK-1783 Issue-ID: CCSDK-2017 Signed-off-by: Ahmed Abbas Change-Id: Ief3579e4a9716475c9aaf85b5a349bc2af466cdb --- .../designer/model/designer.dashboard.state.ts | 3 +-- .../model/designer.topologyTemplate.model.ts | 8 +++--- .../designer/model/desinger.nodeTemplate.model.ts | 5 ++++ .../packages/designer/model/functions.state.ts | 31 ++++++++++++++++++++++ 4 files changed, 41 insertions(+), 6 deletions(-) create mode 100644 cds-ui/designer-client/src/app/modules/feature-modules/packages/designer/model/functions.state.ts (limited to 'cds-ui/designer-client/src/app/modules/feature-modules/packages/designer/model') diff --git a/cds-ui/designer-client/src/app/modules/feature-modules/packages/designer/model/designer.dashboard.state.ts b/cds-ui/designer-client/src/app/modules/feature-modules/packages/designer/model/designer.dashboard.state.ts index 5ae62d84a..1a14021f4 100644 --- a/cds-ui/designer-client/src/app/modules/feature-modules/packages/designer/model/designer.dashboard.state.ts +++ b/cds-ui/designer-client/src/app/modules/feature-modules/packages/designer/model/designer.dashboard.state.ts @@ -24,11 +24,10 @@ import { TopologyTemplate } from './designer.topologyTemplate.model'; export class DesignerDashboardState { - serverFunctions: ModelType[]; template: TopologyTemplate; + sourceContent: string; constructor() { - this.serverFunctions = []; this.template = new TopologyTemplate(); } } diff --git a/cds-ui/designer-client/src/app/modules/feature-modules/packages/designer/model/designer.topologyTemplate.model.ts b/cds-ui/designer-client/src/app/modules/feature-modules/packages/designer/model/designer.topologyTemplate.model.ts index 4e73c7986..b85a6139a 100644 --- a/cds-ui/designer-client/src/app/modules/feature-modules/packages/designer/model/designer.topologyTemplate.model.ts +++ b/cds-ui/designer-client/src/app/modules/feature-modules/packages/designer/model/designer.topologyTemplate.model.ts @@ -3,11 +3,11 @@ import { NodeTemplate } from './desinger.nodeTemplate.model'; export class TopologyTemplate { - workflows: Map; - 'node_templates': Map; + workflows: {}; + 'node_templates': {}; constructor() { - this.workflows = new Map(); - this.node_templates = new Map(); + this.workflows = {}; + this.node_templates = {}; } } diff --git a/cds-ui/designer-client/src/app/modules/feature-modules/packages/designer/model/desinger.nodeTemplate.model.ts b/cds-ui/designer-client/src/app/modules/feature-modules/packages/designer/model/desinger.nodeTemplate.model.ts index 7f8556535..9bd56e5d5 100644 --- a/cds-ui/designer-client/src/app/modules/feature-modules/packages/designer/model/desinger.nodeTemplate.model.ts +++ b/cds-ui/designer-client/src/app/modules/feature-modules/packages/designer/model/desinger.nodeTemplate.model.ts @@ -7,4 +7,9 @@ export class NodeTemplate { artifacts?: {}; cabapilities?: {}; requirements?: {}; + + constructor(type) { + this.type = type; + this.properties = {}; + } } diff --git a/cds-ui/designer-client/src/app/modules/feature-modules/packages/designer/model/functions.state.ts b/cds-ui/designer-client/src/app/modules/feature-modules/packages/designer/model/functions.state.ts new file mode 100644 index 000000000..329c38deb --- /dev/null +++ b/cds-ui/designer-client/src/app/modules/feature-modules/packages/designer/model/functions.state.ts @@ -0,0 +1,31 @@ +/* +============LICENSE_START========================================== +=================================================================== +Copyright (C) 2019 Orange. All rights reserved. +=================================================================== + +Unless otherwise specified, all software contained herein is licensed +under the Apache License, Version 2.0 (the License); +you may not use this software except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +============LICENSE_END============================================ +*/ + +import {ModelType} from './ModelType.model'; + +export class FunctionsState { + + serverFunctions: ModelType[]; + + constructor() { + this.serverFunctions = []; + } +} -- cgit 1.2.3-korg