@vertigis/viewer-spec
Version:
VertiGIS Viewer Specification
106 lines (105 loc) • 3.21 kB
TypeScript
import type { WebMapLike } from "@vertigis/arcgis-extensions/mapping/MapExtension.js";
import type { ItemRef } from "../common/ItemRef.js";
import type { ComponentModelProperties } from "./ComponentModelProperties.js";
import type { ReportModelProperties } from "./ReportModelProperties.js";
/**
* Properties that can be passed into the constructor for {@link PrintTemplate}.
*/
export interface PrintTemplateModelProperties extends ReportModelProperties {
}
/**
* A spatial reference grid to use for printing.
*/
export interface SpatialReferenceGrid {
/**
* The name of the spatial reference.
*/
displayName: string;
/**
* The well-known ID if there is one.
*/
wkid?: number;
/**
* The well-known text if no well-known ID is provided.
*/
wkt?: string;
}
/**
* Legend items visibility.
*/
export type LegendItemsVisibility = "default" | "visible-all" | "visible-extent";
/**
* A map attribution visibility.
*/
export type MapAttributionVisibility = "default" | "visible" | "hidden";
/**
* Configuration for a print form component.
*/
export interface PrintFormModelProperties extends ComponentModelProperties {
/**
* The templates to choose from.
*/
templates?: (ItemRef | PrintTemplateModelProperties)[];
/**
* The spatial reference grids to choose from.
*/
grids?: SpatialReferenceGrid[];
/**
* The supported print resolutions to choose from.
*/
resolutions?: number[];
/**
* The supported print scales to choose from.
*/
scales?: number[];
/**
* Whether map only print should be enabled.
*/
mapOnlyPrintEnabled?: boolean;
/**
* Whether the grid print type should be enabled.
*/
gridPrintEnabled?: boolean;
/**
* Whether the line print type should be enabled.
*/
linePrintEnabled?: boolean;
/**
* Whether the legend items visibility selection should be enabled.
*/
legendItemsVisibilityEnabled?: boolean;
/**
* The selected legend items visibility.
*/
legendItemsVisibility?: LegendItemsVisibility;
/**
* Whether the printed legend should be as compact as possible. E.g. If
* enabled, legend items of composite dynamic layers are not exported to
* separate legend pages. Export to seperate legend pages groups related
* features together and provides a better overview, but usually causes
* additional legend pages to be exported.
*/
legendCompactModeEnabled?: boolean;
/**
* Whether the map attribution selection should be enabled.
*/
mapAttributionEnabled?: boolean;
/**
* The selected map attribution visibility.
*/
mapAttributionVisibility?: MapAttributionVisibility;
/**
* Whether strict mode for prints should be enabled.
*/
strictModeEnabled?: boolean;
/**
* Web map used as overview map in the print layout; defaults to application
* map if not set.
*/
additionalMapOverview?: WebMapLike;
/**
* Web map used as overview page map in the print layout; defaults to
* application map if not set.
*/
additionalMapOverviewPage?: WebMapLike;
}