@finos/legend-extension-dsl-data-space-studio
Version:
Legend extension for Data Space DSL - Studio
149 lines • 6.13 kB
JavaScript
/**
* Copyright (c) 2020-present, Goldman Sachs
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file 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.
*/
import { action } from 'mobx';
import { observe_DataSpaceDiagram, observe_DataSpaceElementPointer, observe_DataSpaceExecutionContext, observe_DataSpaceSupportInfo, } from '@finos/legend-extension-dsl-data-space/graph';
import { addUniqueEntry } from '@finos/legend-shared';
// Basic properties
export const dataSpace_setTitle = action((dataSpace, type) => {
dataSpace.title = type;
});
export const dataSpace_setDescription = action((dataSpace, content) => {
dataSpace.description = content;
});
// Array properties
export const dataSpace_setExecutionContexts = action((dataSpace, executionContexts) => {
dataSpace.executionContexts = executionContexts;
});
export const dataSpace_setDefaultExecutionContext = action((dataSpace, defaultExecutionContext) => {
dataSpace.defaultExecutionContext = defaultExecutionContext;
});
export const dataSpace_setElements = action((dataSpace, elements) => {
dataSpace.elements = elements;
});
export const dataSpace_setExecutables = action((dataSpace, executables) => {
dataSpace.executables = executables;
});
export const dataSpace_setDiagrams = action((dataSpace, diagrams) => {
dataSpace.diagrams = diagrams;
});
export const dataSpace_setSupportInfo = action((dataSpace, supportInfo) => {
dataSpace.supportInfo =
supportInfo !== undefined
? observe_DataSpaceSupportInfo(supportInfo)
: undefined;
});
// Array item management
export const dataSpace_addExecutionContext = action((dataSpace, executionContext) => {
addUniqueEntry(dataSpace.executionContexts, observe_DataSpaceExecutionContext(executionContext));
});
export const dataSpace_removeExecutionContext = action((dataSpace, dataSpaceExecutionContext) => {
const index = dataSpace.executionContexts.indexOf(dataSpaceExecutionContext);
dataSpace.executionContexts.splice(index, 1);
});
export const dataSpace_addElement = action((dataSpace, element) => {
if (!dataSpace.elements) {
dataSpace.elements = [];
}
addUniqueEntry(dataSpace.elements, observe_DataSpaceElementPointer(element));
});
export const dataSpace_removeElement = action((dataSpace, element) => {
if (dataSpace.elements) {
const index = dataSpace.elements.indexOf(element);
dataSpace.elements.splice(index, 1);
}
});
export const dataSpace_setElementExclude = action((element, exclude) => {
element.exclude = exclude;
});
export const dataSpace_addExecutable = action((dataSpace, executable) => {
if (!dataSpace.executables) {
dataSpace.executables = [];
}
dataSpace.executables.push(executable);
});
export const dataSpace_removeExecutable = action((dataSpace, executable) => {
if (dataSpace.executables) {
const index = dataSpace.executables.indexOf(executable);
dataSpace.executables.splice(index, 1);
}
});
export const dataSpace_addDiagram = action((dataSpace, diagram) => {
if (!dataSpace.diagrams) {
dataSpace.diagrams = [];
}
dataSpace.diagrams.push(observe_DataSpaceDiagram(diagram));
});
export const dataSpace_removeDiagram = action((dataSpace, diagram) => {
if (dataSpace.diagrams) {
const index = dataSpace.diagrams.indexOf(diagram);
if (index !== -1) {
dataSpace.diagrams.splice(index, 1);
}
}
});
export const dataSpace_setDiagramTitle = action((diagram, title) => {
diagram.title = title;
});
export const dataSpace_setDiagramDescription = action((diagram, description) => {
diagram.description = description;
});
// Nested object properties
export const dataSpace_setExecutionContextName = action((executionContext, name) => {
executionContext.name = name;
});
export const dataSpace_setExecutionContextTitle = action((executionContext, title) => {
executionContext.title = title;
});
export const dataSpace_setExecutionContextDescription = action((executionContext, description) => {
executionContext.description = description;
});
export const dataSpace_setExecutionContextMapping = action((executionContext, mapping) => {
executionContext.mapping = mapping;
});
export const dataSpace_setExecutionContextDefaultRuntime = action((executionContext, defaultRuntime) => {
executionContext.defaultRuntime = defaultRuntime;
});
export const dataSpace_setExecutionContextTestData = action((executionContext, testData) => {
executionContext.testData = testData;
});
export const dataSpace_setDocumentationUrl = action((supportInfo, url) => {
supportInfo.documentationUrl = url;
});
export const dataSpace_email_setSupportInfoEmail = action((supportInfo, email) => {
supportInfo.address = email;
});
export const dataSpace_combined_addEmail = action((supportInfo, email) => {
if (supportInfo.emails === undefined) {
supportInfo.emails = [];
}
addUniqueEntry(supportInfo.emails, email);
});
export const dataSpace_combined_deleteEmail = action((supportInfo, email) => {
const index = supportInfo.emails?.indexOf(email);
if (index !== undefined && index !== -1) {
supportInfo.emails?.splice(index, 1);
}
});
export const dataSpace_combined_setWebsite = action((supportInfo, website) => {
supportInfo.website = website;
});
export const dataSpace_combined_setFaqUrl = action((supportInfo, faqUrl) => {
supportInfo.faqUrl = faqUrl;
});
export const dataSpace_combined_setSupportUrl = action((supportInfo, supportUrl) => {
supportInfo.supportUrl = supportUrl;
});
//# sourceMappingURL=DSL_DataSpace_GraphModifierHelper.js.map