@finos/legend-extension-dsl-data-quality
Version:
Legend extension for Data Quality
38 lines • 3.22 kB
JavaScript
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
/**
* 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 { observer } from 'mobx-react-lite';
import React from 'react';
import { DragPreviewLayer, PlusIcon } from '@finos/legend-art';
import { stub_RawLambda } from '@finos/legend-graph';
import { dataQualityRelationValidation_addValidation, dataQualityRelationValidation_deleteValidation, } from '../graph-manager/DSL_DataQuality_GraphModifierHelper.js';
import { DataQualityRelationValidationEditor, RELATION_VALIDATION_DND_TYPE, } from './DataQualityRelationValidationEditor.js';
import { DataQualityRelationValidation } from '../graph/metamodel/pure/packageableElements/data-quality/DataQualityValidationConfiguration.js';
export const DataQualityRelationValidationsEditor = observer((props) => {
const { dataQualityRelationValidationConfigurationState } = props;
const { validationElement, isReadOnly } = dataQualityRelationValidationConfigurationState;
const addRelationValidation = () => {
const relationValidation = new DataQualityRelationValidation('', stub_RawLambda());
dataQualityRelationValidation_addValidation(validationElement, relationValidation);
dataQualityRelationValidationConfigurationState.addValidationState(relationValidation);
};
const deleteRelationValidation = (validation) => () => {
dataQualityRelationValidation_deleteValidation(validationElement, validation);
dataQualityRelationValidationConfigurationState.deleteValidationState(validation);
};
return (_jsxs("div", { className: "relation-validation-config-editor__definition__item", children: [_jsx("div", { className: "relation-validation-config-editor__definition__item__header-right", children: _jsx("button", { className: "relation-validation-config-editor__definition__item__header__add-btn btn--dark", disabled: isReadOnly, onClick: addRelationValidation, tabIndex: -1, title: "Add Relation Validation", children: _jsx(PlusIcon, {}) }) }), _jsxs("div", { className: "relation-config-validations", children: [_jsx(DragPreviewLayer, { labelGetter: (item) => item.validation.name === '' ? '(unknown)' : item.validation.name, types: [RELATION_VALIDATION_DND_TYPE] }), validationElement.validations.map((relationValidation) => (_jsx(DataQualityRelationValidationEditor, { validation: relationValidation, relationValidationConfigurationState: dataQualityRelationValidationConfigurationState, deleteValidation: deleteRelationValidation(relationValidation), isReadOnly: isReadOnly }, relationValidation._UUID)))] })] }));
});
//# sourceMappingURL=DataQualityRelationValidationsEditor.js.map