[improvement][semantic-fe] Changing the line type for canvas connections. (#531)

* [improvement][semantic-fe] Add model alias setting & Add view permission restrictions to the model permission management tab.
[improvement][semantic-fe] Add permission control to the action buttons for the main domain; apply high sensitivity filtering to the authorization of metrics/dimensions.
[improvement][semantic-fe] Optimize the editing mode in the dimension/metric/datasource components to use the modelId stored in the database for data, instead of relying on the data from the state manager.

* [improvement][semantic-fe] Add time granularity setting in the data source configuration.

* [improvement][semantic-fe] Dictionary import for dimension values supported in Q&A visibility

* [improvement][semantic-fe] Modification of data source creation prompt wording"

* [improvement][semantic-fe] metric market experience optimization

* [improvement][semantic-fe] enhance the analysis of metric trends

* [improvement][semantic-fe] optimize the presentation of metric trend permissions

* [improvement][semantic-fe] add metric trend download functionality

* [improvement][semantic-fe] fix the dimension initialization issue in metric correlation

* [improvement][semantic-fe] Fix the issue of database changes not taking effect when creating based on an SQL data source.

* [improvement][semantic-fe] Optimizing pagination logic and some CSS styles

* [improvement][semantic-fe] Fixing the API for the indicator list by changing "current" to "pageNum"

* [improvement][semantic-fe] Fixing the default value setting for the indicator list

* [improvement][semantic-fe] Adding batch operations for indicators/dimensions/models

* [improvement][semantic-fe] Replacing the single status update API for indicators/dimensions with a batch update API

* [improvement][semantic-fe] Redesigning the indicator homepage to incorporate trend charts and table functionality for indicators

* [improvement][semantic-fe] Optimizing the logic for setting dimension values and editing data sources, and adding system settings functionality

* [improvement][semantic-fe] Upgrading antd version to 5.x, extracting the batch operation button component, optimizing the interaction for system settings, and expanding the configuration generation types for list-to-select component.

* [improvement][semantic-fe] Adding the ability to filter dimensions based on whether they are tags or not.

* [improvement][semantic-fe] Adding the ability to edit relationships between models in the canvas.

* [improvement][semantic-fe] Updating the datePicker component to use dayjs instead.

* [improvement][semantic-fe] Fixing the issue with passing the model ID for dimensions in the indicator market.

* [improvement][semantic-fe] Fixing the abnormal state of the popup when creating a model.

* [improvement][semantic-fe] Adding permission logic for bulk operations in the indicator market.

* [improvement][semantic-fe] Adding the ability to download and transpose data.

* [improvement][semantic-fe] Fixing the initialization issue with the date selection component in the indicator details page when switching time granularity.

* [improvement][semantic-fe] Fixing the logic error in the dimension value setting.

* [improvement][semantic-fe] Fixing the synchronization issue with the question and answer settings information.

* [improvement][semantic-fe] Optimizing the canvas functionality for better performance and user experience.

* [improvement][semantic-fe] Optimizing the update process for drawing model relationship edges in the canvas.

* [improvement][semantic-fe] Changing the line type for canvas connections.
This commit is contained in:
tristanliu
2023-12-18 16:37:53 +08:00
committed by GitHub
parent 33a2688e77
commit b5fdbfbbf6
5 changed files with 35 additions and 19 deletions

View File

@@ -254,7 +254,7 @@ const MDatePicker: React.FC<Props> = ({
useEffect(() => { useEffect(() => {
initDefaultDynamicData({ latestDateMap }); initDefaultDynamicData({ latestDateMap });
}, []); }, [initialValues]);
useEffect(() => { useEffect(() => {
const { dateRange } = dateRangesParams; const { dateRange } = dateRangesParams;

View File

@@ -8,7 +8,7 @@ export enum DynamicAdvancedConfigType {
} }
export enum DatePeriodType { export enum DatePeriodType {
DAY = 'DAYS', DAY = 'DAY',
WEEK = 'WEEK', WEEK = 'WEEK',
MONTH = 'MONTH', MONTH = 'MONTH',
YEAR = 'YEAR', YEAR = 'YEAR',
@@ -44,6 +44,12 @@ export enum DateRangeType {
MONTH = 'MONTH', MONTH = 'MONTH',
} }
export const shortCutIdType = {
[DateRangeType.DAY]: 'Days',
[DateRangeType.WEEK]: 'Weeks',
[DateRangeType.MONTH]: 'Months',
};
export enum DateRangePicker { export enum DateRangePicker {
DATE = 'date', DATE = 'date',
WEEK = 'week', WEEK = 'week',

View File

@@ -7,6 +7,7 @@ import {
DateSettingType, DateSettingType,
DynamicAdvancedConfigType, DynamicAdvancedConfigType,
DateRangeParams, DateRangeParams,
shortCutIdType,
} from './type'; } from './type';
import { LatestDateMap } from './type'; import { LatestDateMap } from './type';
@@ -56,6 +57,21 @@ export const DATE_RANGE_TYPE_ITEM_LIST = [
export const LATEST_TEXT = '最近1天'; export const LATEST_TEXT = '最近1天';
export const getDatePickerDynamicInitialValues = (number: number, dateRangeType: DateRangeType) => {
return {
dateSettingType: 'DYNAMIC',
dynamicParams: {
includesCurrentPeriod: true,
dateRangeType: dateRangeType,
dynamicAdvancedConfigType: 'last',
dateSettingType: DateSettingType.DYNAMIC,
shortCutId: `last${number}${shortCutIdType[dateRangeType]}`,
number,
periodType: dateRangeType,
},
};
};
export const SHORT_CUT_ITEM_LIST = [ export const SHORT_CUT_ITEM_LIST = [
{ {
id: 'last7Days', id: 'last7Days',

View File

@@ -16,7 +16,13 @@ import DimensionAndMetricRelationModal from '../../components/DimensionAndMetric
import TrendChart from '@/pages/SemanticModel/Metric/components/MetricTrend'; import TrendChart from '@/pages/SemanticModel/Metric/components/MetricTrend';
import MetricTrendDimensionFilterContainer from './MetricTrendDimensionFilterContainer'; import MetricTrendDimensionFilterContainer from './MetricTrendDimensionFilterContainer';
import MDatePicker from '@/components/MDatePicker'; import MDatePicker from '@/components/MDatePicker';
import { DateRangeType, DateSettingType } from '@/components/MDatePicker/type'; import {
DateRangeType,
DateSettingType,
DynamicAdvancedConfigType,
DatePeriodType,
} from '@/components/MDatePicker/type';
import { getDatePickerDynamicInitialValues } from '@/components/MDatePicker/utils';
import StandardFormRow from '@/components/StandardFormRow'; import StandardFormRow from '@/components/StandardFormRow';
import MetricTable from './Table'; import MetricTable from './Table';
import { ColumnConfig } from '../data'; import { ColumnConfig } from '../data';
@@ -205,20 +211,7 @@ const MetricTrendSection: React.FC<Props> = ({ metircData }) => {
<StandardFormRow key="metricDate" title="日期区间:"> <StandardFormRow key="metricDate" title="日期区间:">
<FormItem name="metricDate"> <FormItem name="metricDate">
<MDatePicker <MDatePicker
initialValues={{ initialValues={getDatePickerDynamicInitialValues(7, DateRangeType.DAY)}
dateSettingType: 'DYNAMIC',
dynamicParams: {
number: 7,
periodType: 'DAYS',
includesCurrentPeriod: true,
shortCutId: 'last7Days',
dateRangeType: 'DAY',
dynamicAdvancedConfigType: 'last',
dateRangeStringDesc: '最近7天',
dateSettingType: DateSettingType.DYNAMIC,
},
staticParams: {},
}}
showCurrentDataRangeString={false} showCurrentDataRangeString={false}
onDateRangeChange={(value, config) => { onDateRangeChange={(value, config) => {
const [startDate, endDate] = value; const [startDate, endDate] = value;

View File

@@ -419,7 +419,8 @@ const DomainManger: React.FC<Props> = ({ domainManger, dispatch }) => {
}, },
mindmap: { mindmap: {
defaultEdge: { defaultEdge: {
type: 'polyline', // type: 'polyline',
type: 'cubic-horizontal',
}, },
layout: { layout: {
type: 'mindmap', type: 'mindmap',
@@ -489,7 +490,7 @@ const DomainManger: React.FC<Props> = ({ domainManger, dispatch }) => {
const graphNodeList = flatGraphDataNode(graphData.children); const graphNodeList = flatGraphDataNode(graphData.children);
const graphConfigKey = graphNodeList.length > 20 ? 'dendrogram' : 'mindmap'; const graphConfigKey = graphNodeList.length > 20 ? 'dendrogram' : 'mindmap';
// const graphConfigKey = 'mindmap'; // const graphConfigKey = 'mindmap';
// const graphConfigKey = 'dendrogram';
// getLegendDataFilterFunctions(); // getLegendDataFilterFunctions();
// const toolbar = initToolBar({ onSearch: handleSeachNode, onClick: handleToolBarClick }); // const toolbar = initToolBar({ onSearch: handleSeachNode, onClick: handleToolBarClick });
const tooltip = initTooltips(); const tooltip = initTooltips();