UNPKG

@arcgis/core

Version:

ArcGIS Maps SDK for JavaScript: A complete 2D and 3D mapping and data visualization API

82 lines (78 loc) 3.23 kB
import type LinkChartView from "../../views/LinkChartView.js"; import type { EventedAccessor } from "../../core/Evented.js"; import type { LayoutMode } from "../../layers/knowledgeGraph/types.js"; export interface LinkChartLayoutSwitcherViewModelProperties extends Partial<Pick<LinkChartLayoutSwitcherViewModel, "view">> { /** * The current selected link chart layout. * * @default "organic-standard" */ layout?: LayoutMode | null; /** * Prevents extent from updating on changes to the layout. * * @default false */ preventExtentUpdate?: boolean | null; } export type LinkChartLayoutSwitcherViewModelState = "loading" | "disabled" | "ready"; export interface LinkChartLayoutSwitcherViewModelEvents { /** * Fires when the [switchLayout()](https://developers.arcgis.com/javascript/latest/references/core/widgets/LinkChartLayoutSwitcher/LinkChartLayoutSwitcherViewModel/#switchLayout) method is called. * * @see [switchLayout()](https://developers.arcgis.com/javascript/latest/references/core/widgets/LinkChartLayoutSwitcher/LinkChartLayoutSwitcherViewModel/#switchLayout) * @example * layoutSwitcher.viewModel.on("switchLayout", function(event){ * console.log("Layout Switched"); * }); */ switchLayout: { layout: LayoutMode; }; } /** * Provides the logic for the [Link Chart Layout Switcher component](https://developers.arcgis.com/javascript/latest/references/map-components/components/arcgis-link-chart-layout-switcher/) that * switches the layout of a [LinkChartView](https://developers.arcgis.com/javascript/latest/references/core/views/LinkChartView/). * * @beta * @since 4.32 * @see [Link Chart Layout Switcher component](https://developers.arcgis.com/javascript/latest/references/map-components/components/arcgis-link-chart-layout-switcher/) * @see [Programming patterns: Widget viewModel pattern](https://developers.arcgis.com/javascript/latest/programming-patterns/#widget-viewmodel-pattern) */ export default class LinkChartLayoutSwitcherViewModel extends EventedAccessor { /** * @deprecated * Do not directly reference this property. * Use EventNames and EventTypes helpers from \@arcgis/core/Evented */ "@eventTypes": LinkChartLayoutSwitcherViewModelEvents; constructor(properties?: LinkChartLayoutSwitcherViewModelProperties); /** * The current selected link chart layout. * * @default "organic-standard" */ get layout(): LayoutMode; set layout(value: LayoutMode | null | undefined); /** * Prevents extent from updating on changes to the layout. * * @default false */ get preventExtentUpdate(): boolean; set preventExtentUpdate(value: boolean | null | undefined); /** * The current state of the widget. * * @default "loading" */ get state(): LinkChartLayoutSwitcherViewModelState; /** The view associated with the widget instance. */ accessor view: LinkChartView | null | undefined; /** * Switches the layout of the link chart. * * @param newLayout - List of specific entities and relationships to update. * @returns Resolves when the data in the link chart has been updated. * @since 4.32 */ switchLayout(newLayout: LayoutMode): Promise<void>; }