@itwin/presentation-common
Version:
Common pieces for iModel.js presentation packages
50 lines • 1.66 kB
TypeScript
/** @packageDocumentation
* @module Content
*/
import { RendererDescription } from "./Renderer.js";
/**
* A data structure that describes a [[Field]] category.
* @public
*/
export interface CategoryDescription {
/** Unique name */
name: string;
/** Display label */
label: string;
/** Extensive description */
description: string;
/** Priority. Categories with higher priority should appear higher in the UI */
priority: number;
/** Should this category be auto-expanded when it's displayed in the UI */
expand: boolean;
/** Parent category description */
parent?: CategoryDescription;
/** Custom renderer description */
renderer?: RendererDescription;
}
/** @public */
export declare namespace CategoryDescription {
/** Serialize given category to JSON */
function toJSON(category: CategoryDescription): CategoryDescriptionJSON;
/**
* Deserialize [[CategoryDescription]] from JSON. The `parent` is not assigned - use [[CategoryDescription.listFromJSON]]
* to deserialize the whole categories list and set parents.
*/
function fromJSON(json: CategoryDescriptionJSON): CategoryDescription;
/** Deserialize a list of [[CategoryDescription]] from JSON. */
function listFromJSON(json: CategoryDescriptionJSON[]): CategoryDescription[];
}
/**
* Serialized [[CategoryDescription]] JSON representation.
* @public
*/
export interface CategoryDescriptionJSON {
name: string;
label: string;
description: string;
priority: number;
expand: boolean;
parent?: string;
renderer?: RendererDescription;
}
//# sourceMappingURL=Category.d.ts.map