UNPKG

@finos/legend-application-studio

Version:
66 lines 2.51 kB
/** * 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 { observable, makeObservable, action, flow } from 'mobx'; import { getMappingElementLabel, } from './MappingEditorState.js'; import { LambdaEditorState } from '@finos/legend-query-builder'; import { MappingEditorTabState } from './MappingTabManagerState.js'; export class MappingElementState extends MappingEditorTabState { editorStore; mappingElement; constructor(editorStore, mappingElement) { super(); makeObservable(this, { mappingElement: observable, }); this.editorStore = editorStore; this.mappingElement = mappingElement; } get label() { return getMappingElementLabel(this.mappingElement, this.editorStore).value; } } export class SetImplementationState extends MappingElementState { } export class InstanceSetImplementationState extends SetImplementationState { propertyMappingStates = []; selectedType; constructor(editorStore, setImplementation) { super(editorStore, setImplementation); makeObservable(this, { propertyMappingStates: observable, selectedType: observable, setSelectedType: action, decorate: action, convertPropertyMappingTransformObjects: flow, }); } setSelectedType(type) { this.selectedType = type === this.selectedType ? undefined : type; } } export class PropertyMappingState extends LambdaEditorState { instanceSetImplementationState; propertyMapping; constructor(instanceSetImplementationState, propertyMapping, lambdaString, lambdaPrefix) { super(lambdaString, lambdaPrefix); makeObservable(this, { propertyMapping: observable, }); this.instanceSetImplementationState = instanceSetImplementationState; this.propertyMapping = propertyMapping; } } //# sourceMappingURL=MappingElementState.js.map