/** * This file is part of the NocoBase (R) project. * Copyright (c) 2020-2024 NocoBase Co., Ltd. * Authors: NocoBase Team. * * This project is dual-licensed under AGPL-3.0 and NocoBase Commercial License. * For more information, please refer to: https://www.nocobase.com/agreement. */ import _ from 'lodash'; import type { FlowSurfaceApplyBlueprintPopupDefaultsMetadata } from './blueprint/defaults'; export declare const OPEN_VIEW_MODE_ALIASES: { readonly modal: "dialog"; readonly page: "embed"; }; export declare const HIDDEN_POPUP_TEMPLATE_TARGET_KEYS: readonly ["template", "tryTemplate", "popupTemplateUid", "popupTemplateContext", "popupTemplateMode", "popupTemplateHasFilterByTk", "popupTemplateHasSourceId", "associationName", "filterByTk", "sourceId"]; export declare const HIDDEN_POPUP_DISPLAY_KEYS: readonly ["mode", "size", "pageModelClass", "title"]; export declare function normalizeHiddenPopupScalarSettings(popupSettings: Record): void; export declare function attachHiddenPopupDefaults(popup: any, defaultsMetadata: FlowSurfaceApplyBlueprintPopupDefaultsMetadata | undefined): any; export declare function normalizeBlockHiddenPopupSettings(settings: Record, blockContext: string, keys: readonly string[], defaultsMetadata?: FlowSurfaceApplyBlueprintPopupDefaultsMetadata, assertPopupObject?: (message: string) => void): Record; export declare function normalizeHiddenPopupSettings(popupSettings?: Record, options?: { collectionOnly?: boolean; invalidUids?: any[]; preserveApplyBlueprintDefaults?: boolean; }): Record; export declare function stripHiddenPopupTargetSettings(popupSettings?: Record, options?: { disableTemplateAutoBind?: boolean; }): Record; export declare function hiddenPopupOpenViewResourceDiffers(openView?: Record | null, fallbackOpenView?: Record | null): boolean; export declare function buildHiddenPopupOpenView(input: { actionUid: string; resourceInit?: Record; popupSettings?: Record; normalizePopupSettings?: (popupSettings?: Record) => Record; }): _.Dictionary; export declare function hasExplicitHiddenPopupTargetSettings(popupSettings?: Record, defaultUid?: string): boolean; export declare function hasExplicitHiddenPopupResourceTargetSettings(popupSettings?: Record, defaultUid?: string): boolean; export declare function shouldPreserveExplicitHiddenPopupTemplateOpenView(openView: any, popupSettings?: Record): boolean; export declare function shouldPreserveHiddenPopupOpenView(openView: any, expectedHostUid?: string, popupSettings?: Record, fallbackOpenView?: Record | null): boolean; export declare function getHiddenPopupDisplaySettings(popupSettings?: Record, normalizePopupSettings?: (popupSettings?: Record) => Record): _.Omit, "dataSourceKey" | "collectionName" | "uid" | "filterByTk" | "sourceId" | "template" | "associationName" | "tryTemplate" | "popupTemplateUid" | "popupTemplateMode" | "popupTemplateContext" | "popupTemplateHasFilterByTk" | "popupTemplateHasSourceId">; export declare function getHiddenPopupOpenViewDisplayFallback(openView?: Record | null, fallbackOpenView?: Record | null): _.Dictionary; export declare function mergeHiddenPopupDisplaySettings(input: { openView: Record; popupSettings?: Record; fallbackOpenView?: Record | null; normalizePopupSettings?: (popupSettings?: Record) => Record; preserveOpenViewDisplay?: boolean; preserveOpenViewDisplayFallback?: Record | null; }): _.Dictionary; export declare function getHiddenPopupOpenViewDisplayOverrides(openView?: Record | null, fallbackOpenView?: Record | null): _.Dictionary; export declare function mergeHiddenPopupOpenViewDisplayOverrides(input: { openView: Record; displayOpenView?: Record | null; fallbackOpenView?: Record | null; displayFallbackOpenView?: Record | null; }): _.Dictionary; export declare function resolveHiddenPopupOpenViewTransition(input: { existing?: any; expectedUid: string; expectedUse: string; popupSettings?: Record; seedOpenView: Record; candidateOpenView?: Record; currentOpenView?: Record | null; normalizedCurrentOpenView?: Record | null; preservedOpenView?: Record | null; displayFallbackOpenView?: Record | null; resourceMismatchDisplayFallbackOpenView?: Record | null; allowResourceMismatchRebuild?: boolean; mergeDisplaySettings: (openView: Record, popupSettings?: Record, fallbackOpenView?: Record | null, options?: { preserveOpenViewDisplay?: boolean; preserveOpenViewDisplayFallback?: Record | null; }) => Record; }): { openView: Record; shouldRebuildForResourceMismatch: boolean; shouldPreservePersistedOpenView: boolean; currentOpenView: Record; normalizedCurrentOpenView: Record; }; export declare function resolveHiddenPopupOpenViewTransitionWithCandidate(input: Parameters[0] & { resolveCandidateOpenView: () => Promise> | Record; }): Promise<{ openView: Record; shouldRebuildForResourceMismatch: boolean; shouldPreservePersistedOpenView: boolean; currentOpenView: Record; normalizedCurrentOpenView: Record; }>; export declare function buildHiddenPopupResourceMismatchDisplayFallbackOpenView(input: { normalizedCurrentOpenView?: Record | null; resourceInit?: Record; popupSettings?: Record; stripPopupTargetSettingsForResourceChange: (popupSettings?: Record) => Record; buildOpenView: (input: { resourceInit?: Record; popupSettings?: Record; }) => Record; }): Record; export declare function buildHiddenPopupActionStepParams(existingStepParams: any, openView: Record): any; export declare function buildPersistedHiddenPopupSettingsFromOpenView(input: { openView?: Record | null; popupSettings?: Record; expectedHostUid?: string; normalizePopupSettings: (popupSettings?: Record) => Record; }): Record; export declare function unsetHiddenPopupPayloadPathAndPruneEmptyParents(payload: Record, path: Array): void; export declare function buildImplicitHiddenPopupDefaultContent(popupSettings?: Record): { tryTemplate: boolean; __flowSurfaceAutoSaveDefaultPopupTemplate: boolean; }; export declare function hiddenPopupHostHasLocalContent(actionNode: any): boolean; export declare function shouldAutoBindHiddenPopupTemplate(openView: Record, popupSettings?: Record, expectedHostUid?: string, options?: { hostHasLocalContent?: boolean; }): boolean; export declare function resolveHiddenPopupHostOpenView(node: any): any; export declare function resolveHiddenPopupSettingsOverride(overrides: Partial | undefined>> | undefined, actionKey: TActionKey): Partial>>[TActionKey];