mirror of
https://github.com/nocobase/nocobase
synced 2024-11-15 22:27:26 +00:00
fix(popup): fix the issue where popups cannot be opened in embedded pages
This commit is contained in:
parent
fe6d12bc68
commit
fe101ebf67
@ -379,7 +379,7 @@ Action.Page = ActionPage;
|
||||
export default Action;
|
||||
|
||||
// TODO: Plugin-related code should not exist in the core. It would be better to implement it by modifying the schema, but it would cause incompatibility.
|
||||
function isBulkEditAction(fieldSchema) {
|
||||
export function isBulkEditAction(fieldSchema) {
|
||||
return fieldSchema['x-action'] === 'customize:bulkEdit';
|
||||
}
|
||||
|
||||
|
@ -24,7 +24,7 @@ import _, { omit } from 'lodash';
|
||||
import React, { useCallback, useContext, useMemo, useRef, useState } from 'react';
|
||||
import { useTranslation } from 'react-i18next';
|
||||
import { useInView } from 'react-intersection-observer';
|
||||
import { DndContext, useDesignable, useTableSize } from '../..';
|
||||
import { DndContext, isBulkEditAction, useDesignable, usePopupSettings, useTableSize } from '../..';
|
||||
import {
|
||||
CollectionRecordProvider,
|
||||
RecordIndexProvider,
|
||||
@ -103,6 +103,7 @@ const useTableColumns = (props: { showDel?: any; isSubTable?: boolean }, paginat
|
||||
}, []);
|
||||
const { current, pageSize } = paginationProps;
|
||||
const hasChangedColumns = useColumnsDeepMemoized(columnsSchemas);
|
||||
const { isPopupVisibleControlledByURL } = usePopupSettings();
|
||||
|
||||
const schemaToolbarBigger = useMemo(() => {
|
||||
return css`
|
||||
@ -164,7 +165,11 @@ const useTableColumns = (props: { showDel?: any; isSubTable?: boolean }, paginat
|
||||
schema={columnSchema}
|
||||
uiSchema={uiSchema}
|
||||
onlyRenderProperties
|
||||
filterProperties={(schema) => schema['x-component'] !== 'Action.Container'}
|
||||
filterProperties={(schema) =>
|
||||
isBulkEditAction(schema) ||
|
||||
!isPopupVisibleControlledByURL() ||
|
||||
schema['x-component'] !== 'Action.Container'
|
||||
}
|
||||
/>
|
||||
</span>
|
||||
);
|
||||
@ -188,7 +193,7 @@ const useTableColumns = (props: { showDel?: any; isSubTable?: boolean }, paginat
|
||||
|
||||
// 这里不能把 columnsSchema 作为依赖,因为其每次都会变化,这里使用 hasChangedColumns 作为依赖
|
||||
// eslint-disable-next-line react-hooks/exhaustive-deps
|
||||
[hasChangedColumns, field.address, collection, schemaToolbarBigger, designable],
|
||||
[hasChangedColumns, field.address, collection, schemaToolbarBigger, designable, isPopupVisibleControlledByURL],
|
||||
);
|
||||
|
||||
const tableColumns = useMemo(() => {
|
||||
|
Loading…
Reference in New Issue
Block a user