Merge remote-tracking branch 'origin/main' into T-2327-and-2771

This commit is contained in:
dream2023 2024-01-24 16:14:38 +08:00
commit e0ffb32a90
7 changed files with 23 additions and 7 deletions

View File

@ -18,6 +18,7 @@
"fast-glob": "^3.3.1",
"fs-extra": "^11.1.1",
"p-all": "3.0.0",
"tree-kill": "^1.2.2",
"pm2": "^5.2.0",
"portfinder": "^1.0.28",
"serve": "^13.0.2",

View File

@ -4,6 +4,7 @@ const { execSync } = require('node:child_process');
const axios = require('axios');
const { pTest } = require('./p-test');
const os = require('os');
const treeKill = require('tree-kill');
/**
* 检查服务是否启动成功
@ -91,6 +92,17 @@ async function runApp(options = {}) {
run('nocobase', [process.env.APP_ENV === 'production' ? 'start' : 'dev'], options);
}
process.on('SIGINT', async () => {
treeKill(process.pid, (error) => {
if (error) {
console.error(error);
} else {
console.log('所有子进程已被杀掉,应用程序即将退出');
}
process.exit();
});
});
const commonConfig = {
stdio: 'inherit',
};
@ -150,6 +162,7 @@ module.exports = (cli) => {
console.log('APP_BASE_URL:', process.env.APP_BASE_URL);
}
});
e2e
.command('test')
.allowUnknownOption()

View File

@ -236,7 +236,7 @@ export const ACLActionProvider = (props) => {
}
const params = parseAction(actionPath, { schema, recordPkValue });
if (!params) {
return null;
return <ACLActionParamsContext.Provider value={params}>{props.children}</ACLActionParamsContext.Provider>;
}
//视图表无编辑权限时不显示
if (editablePath.includes(actionPath) || editablePath.includes(actionPath?.split(':')[1])) {

View File

@ -25,6 +25,7 @@ import { useA } from './hooks';
import { useGetAriaLabelOfAction } from './hooks/useGetAriaLabelOfAction';
import { ComposedAction } from './types';
import { linkageAction } from './utils';
import { useACLActionParamsContext } from '../../../acl';
export const Action: ComposedAction = observer(
(props: any) => {
@ -44,6 +45,7 @@ export const Action: ComposedAction = observer(
disabled: propsDisabled,
...others
} = useProps(props);
const aclCtx = useACLActionParamsContext();
const { wrapSSR, componentCls, hashId } = useStyles();
const { t } = useTranslation();
const [visible, setVisible] = useState(false);
@ -99,7 +101,7 @@ export const Action: ComposedAction = observer(
e.preventDefault();
e.stopPropagation();
if (!disabled) {
if (!disabled && aclCtx) {
const onOk = () => {
onClick?.(e);
setVisible(true);
@ -122,12 +124,12 @@ export const Action: ComposedAction = observer(
const buttonStyle = useMemo(() => {
return {
...style,
opacity: designable && field?.data?.hidden && 0.1,
opacity: designable && (field?.data?.hidden || !aclCtx) && 0.1,
};
}, [designable, field?.data?.hidden, style]);
const renderButton = () => {
if (!designable && field?.data?.hidden) {
if (!designable && (field?.data?.hidden || !aclCtx)) {
return null;
}

View File

@ -35,7 +35,7 @@ export const InternalSubTable = observer(
};
return (
<CollectionProvider name={options.target}>
<ACLCollectionProvider actionPath={`${options.target}:${actionName}`}>
<ACLCollectionProvider actionPath={`${options.target}:${actionName || 'view'}`}>
<FormLayout
className={css`
.ant-formily-item-bordered-none {

View File

@ -78,7 +78,7 @@ async function createDevPluginSymLink(pluginName) {
if (await fsExists(link)) {
await unlink(link);
}
await symlink(resolve(packagePluginsPath, pluginName), link);
await symlink(resolve(packagePluginsPath, pluginName), link, 'dir');
} catch (error) {
console.error(error);
}

View File

@ -24518,7 +24518,7 @@ transformation-matrix@^2.11.1:
tree-kill@^1.2.2:
version "1.2.2"
resolved "https://registry.npmmirror.com/tree-kill/-/tree-kill-1.2.2.tgz#4ca09a9092c88b73a7cdc5e8a01b507b0790a0cc"
resolved "https://registry.yarnpkg.com/tree-kill/-/tree-kill-1.2.2.tgz#4ca09a9092c88b73a7cdc5e8a01b507b0790a0cc"
integrity sha512-L0Orpi8qGpRG//Nd+H90vFB+3iHnue1zSSGmNOOCh1GLJ7rUKVwV2HvijphGQS2UmhUZewS9VgvxYIdgr+fG1A==
trim-lines@^3.0.0: