Skip to content

Commit

Permalink
Merge branch 'dev' of https://github.com/DataLinkDC/dinky into dev
Browse files Browse the repository at this point in the history
  • Loading branch information
actions-user committed Jan 14, 2025
2 parents 3b13231 + 7f6faa1 commit 71504e3
Show file tree
Hide file tree
Showing 3 changed files with 102 additions and 9 deletions.
45 changes: 36 additions & 9 deletions dinky-web/src/pages/DataStudio/Toolbar/Catalog/index.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -32,14 +32,15 @@ import { Button, Col, Empty, Flex, Modal, Row, Select, Spin } from 'antd';
import { DataNode } from 'antd/es/tree';
import DirectoryTree from 'antd/es/tree/DirectoryTree';
import { DefaultOptionType } from 'rc-select/lib/Select';
import React, { useEffect, useState } from 'react';
import React, { useCallback, useEffect, useState } from 'react';
import { getMSCatalogs, getMSColumns, getMSSchemaInfo } from './service';
import { useAsyncEffect } from 'ahooks';
import { CenterTab, DataStudioState } from '@/pages/DataStudio/model';
import { mapDispatchToProps } from '@/pages/DataStudio/DvaFunction';
import { isSql } from '@/pages/DataStudio/utils';
import { TableDataNode } from '@/pages/DataStudio/Toolbar/Catalog/data';
import { DataStudioActionType } from '@/pages/DataStudio/data.d';
import Search from "antd/es/input/Search";

type CatalogState = {
envId?: number;
Expand All @@ -65,6 +66,7 @@ const Catalog = (props: {
const [row, setRow] = useState<TableDataNode>();
const [loading, setLoading] = useState<boolean>(false);
const [currentState, setCurrentState] = useState<CatalogState>();
const [searchValue, setSearchValue] = useState('');

const currentData = tabs.find((tab) => activeTab == tab.id);

Expand Down Expand Up @@ -335,6 +337,22 @@ const Catalog = (props: {
setModalVisit(false);
setTable('');
};

const buildCatalogTree = (data: any, searchValue = ''): any =>
data.map((item: any) => {
return {
...item,
children: item.children.filter((child: any) => child.title.indexOf(searchValue) > -1)
};
});

const onSearchChange = useCallback(
(e: { target: { value: React.SetStateAction<string> } }) => {
setSearchValue(e.target.value);
},
[searchValue]
);

// <Empty description={l('pages.datastudio.catalog.openMission')}/>;
return (
<Spin spinning={loading} style={{ height: 'inherit' }}>
Expand All @@ -351,15 +369,24 @@ const Catalog = (props: {
/>
</Col>
</Row>

{treeData.length > 0 ? (
<DirectoryTree
showIcon
switcherIcon={<DownOutlined />}
treeData={treeData}
onRightClick={({ node }: any) => openColumnInfo(node)}
onSelect={(_, info: any) => openColumnInfo(info.node)}
/>
<>
<Search
style={{ margin: '8px 0px' }}
placeholder={l('global.search.text')}
onChange={onSearchChange}
allowClear={true}
defaultValue={searchValue}
/>
<DirectoryTree
showIcon
switcherIcon={<DownOutlined />}
className={'treeList'}
treeData={buildCatalogTree(treeData, searchValue)}
onRightClick={({ node }: any) => openColumnInfo(node)}
onSelect={(_, info: any) => openColumnInfo(info.node)}
/>
</>
) : (
<Empty image={Empty.PRESENTED_IMAGE_SIMPLE} />
)}
Expand Down
33 changes: 33 additions & 0 deletions docs/docs/user_guide/auth_center/approval.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
---
position: 7
sidebar_position: 7
id: approval
title: 审核发布
---

:::info 简介
Dinky1.3增加了作业审核发布功能,可以对作业代码进行Review,只有审核通过的代码版本才允许被提交。
如需开启审核发布功能,需要在 **配置中心** > **全局配置** > **[审批 配置](./system_setting/global_settings/approval_setting)** 中开启作业上线审核开关

注意: 在 Dinky v1.3.0 版本及以上,作业上线审核开功能默认关闭,需要手动开启,否则无法使用审核发布功能
:::

### 审批列表
此处展示了需要由当前用户进行审核的工单列表,用户可以检查任务信息,对比线上代码版本与提交审核版本的差异,选择通过或驳回任务的上线工单,并留下审核意见。

[//]: # (TODO:审批列表图片,eg:https://github.com/user-attachments/assets/16c5337b-3d7a-4fac-a4c2-882177abbb9c)
[//]: # (![approval_approve_list_001]&#40;https://github.com/user-attachments/assets/16c5337b-3d7a-4fac-a4c2-882177abbb9c&#41;)
> 注意: 线上代码版本,即当前任务上一次通过审核的版本。
### 审批列表
此处展示了当前用户所提交的审核工单,用户可以选择提交、撤回或取消审批工单。

[//]: # (TODO:申请列表图片,eg:https://github.com/user-attachments/assets/97c14760-578a-41a5-8971-81ebdc8f9be5)
[//]: # (![approval_submit_list_001]&#40;https://github.com/user-attachments/assets/97c14760-578a-41a5-8971-81ebdc8f9be5&#41;)

:::tip 提示
1. 创建工单需要在数据开发页面点击创建审批按钮,审核发布页面不提供创建审批功能。
2. 撤回的工单可以被修改审批人,上线说明等信息后重新提交。
3. 被取消的工单无法被恢复。
:::

Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
---
position: 8
sidebar_position: 8
id: approval_setting
title: 审批配置
---


当用户使用 **认证中心** > **[审核发布](../../auth_center/approval)**,需要在本功能页面进行相关参数配置。配置保存后即生效

:::info 简介
Dinky1.3增加了作业审核发布功能,可以对作业代码进行Review,只有审核通过的代码版本才允许被提交。
:::

[//]: # (TODO : 审批配置图片 eg: https://github.com/user-attachments/assets/bf0e9994-ae1b-405f-b1c4-a984dcdbd922)
[//]: # (![approval_setting_dinky]&#40;https://github.com/user-attachments/assets/bf0e9994-ae1b-405f-b1c4-a984dcdbd922&#41;)

:::

| 参数名称 | 参数说明 | 默认值 |
|-------------|---------------------------------------------------|--------|
| 开启作业上线审核| 开启后,作业只有在通过审核之后才能够提交上线,默认关闭。|false|
| 强制交叉审核| 开启强制交叉审核后,不允许提交人审批自己的作业。|true|
| 具有审批权限的角色编码| 具有审批权限的角色编码,多个角色用英文逗号隔开,例如:SuperAdmin,Reviewer。 |SuperAdmin|

:::tip 提示

1. 在开启作业上线审核后,数据开发页面会出现创建审批按钮,用于提交当前任务的上线工单。在提交工单前,若任务未处于发布状态,其会被自动发布,以保存一个版本方便审核人对比作业上线的信息。
2. 开启作业上线审核后,提交未发布或发布版本未通过审核的任务时,会提示“当前作业未发布或发布版本未通过审核,不允许运行,请在任务发布且发布版本通过审核后重试”。
3. 超级管理员不受强制交叉审核的约束,超级管理员可以作为所有作业的审核人。
4. 具有审批权限的角色编码与**认证中心** > **[角色](../../auth_center/role)** 中的`角色编码`一致。

:::

0 comments on commit 71504e3

Please sign in to comment.