@aappddeevv/dynamics-client-ui
Version:
## What is it? A library to help you create great dynamics applications.
54 lines (53 loc) • 2.27 kB
TypeScript
/**
* In targetWindow (defaults to this window), search for an iframe with
* the specific id and return the attribute.
*/
export declare function getAttributeFromIFrame<T = any>(frameId: string, attribute: string, targetWindow?: Window): T | null;
/** Return the frame of this window, which is an iframe. */
export declare function findIFrame(): Element;
/** Find the parent element (whatever it is) of this iframe. */
export declare function findParentOfIFrame(): HTMLElement | null;
/**
* Set this iframe's display style to none. visibility would still
* leave it participating in layout calculations.
*/
export declare function setDisplayNoneForThisIFrame(): void;
/**
* Return WEB|UCI|null based on the iframe parent layout. You can also use
* Utils.isUci. This is highly hacky and probably subject to change. Use
* your own if you can.
*/
export declare function guessLayout(): "WEB" | "UNIFIED" | null;
export interface AdjustProps {
[styleName: string]: string;
}
export declare const uciFormLineProps: AdjustProps;
/**
* Adjust parent object assuming "this" el is
* a web resource. Do nothing if layout is not UNIFIED. Uses "guessLayout".
* Write your own adjustment function if you do not like this version.
*/
export declare function adjustFormLineForUci(props?: AdjustProps): void;
/**
* Search up the parent, starting at `start`'s parent, until
* predicate is true or return null.
*/
export declare function findParent(start: Node | null, predicate: (el: Node) => boolean): Node | null;
/**
* Given a target, if its is an <iframe>, create a new target
* as a peer that takes into account UCI or non-UCI interfaces. Otherwise,
* find the target if its a string or return it directly if its already
* an HTMLElement (of any kind except iframe). `newProps` is used if a
* new element needs to be created otherwise a simple div with no id or
* classname is created.
*/
export declare function getOrMakeTarget(target: string | HTMLElement | null, newProps?: {
div?: string;
id?: string;
className?: string;
}): HTMLElement | null;
/**
* Move stylesheets via importNode and appendChil from source to target
* documents.
*/
export declare function moveStylesheetsToParent(source?: Document, target?: Document): void;