/** * @typedef {Object} MapFishPrintCapabilities * @property {MapFishPrintCapabilitiesLayout[]} layouts * @property {string[]} formats * @property {MapFishPrintCapabilitiesSMTP} [smtp] STMP object definition */ /** * Fields that can come from a print v3 server and can be used in the partial * of the gmf print panel. * * @typedef {Object} MapFishPrintCapabilitiesLayout * @property {string} name * @property {MapFishPrintCapabilitiesLayoutAttribute[]} [attributes] Custom print layoutInfo. */ /** * @typedef {Object} MapFishPrintCapabilitiesLayoutAttribute * @property {string} name Name of the form field. * @property {string|boolean|number} [default] Default value of the form field. * @property {string} [value] Not returned by the print, added by ngeo. * @property {string} type Type of the field. Can be 'String', 'Boolean' or 'Number'. * @property {Object} [clientParams] The client info description. * @property {MapFishPrintCapabilitiesLayoutAttributeClientInfo} [clientInfo] Only for the map. */ /** * @typedef {Object} MapFishPrintCapabilitiesLayoutAttributeClientParamsElement * @property {string|boolean|number} [default] Default value of the form field. * @property {string} type Type of the field. Can be 'String', 'Boolean' or 'Number'. * @property {boolean} [isArray] Is an array * @property {Object} embeddedType The embedded types. */ /** * @typedef {Object} MapFishPrintCapabilitiesLayoutAttributeClientInfo * @property {number[]} dpiSuggestions * @property {number[]} scales * @property {number} maxDpi * @property {number} width * @property {number} height */ /** * @typedef {Object} MapFishPrintCapabilitiesSMTP * @property {boolean} enabled */ /** * @typedef {Object} DataSourceTableObject * @property {string[]} columns * @property {(string|number|boolean)[][]} data */ /** * @typedef {Object} DataSourcePrintReportObject * @property {string} title * @property {DataSourceTableObject} table */ /** * @typedef {Object} MapFishPrintSpec * @property {MapFishPrintAttributes} attributes * @property {string} layout * @property {string} format * @property {string} lang * @property {MapFishPrintSMTP} [smtp] STMP object definition */ /** * @typedef {Object} MapFishPrintAttributes * @property {MapFishPrintMap} map */ /** * @typedef {Object} MapFishPrintMap * @property {number[]} bbox * @property {number[]} center * @property {number} scale * @property {number} dpi * @property {MapFishPrintLayer[]} layers * @property {string} projection * @property {number} rotation * @property {boolean} [useNearestScale] Indicates if the map should adjust its scale/zoom level to be * equal to one of those defined in the configuration file. */ /** * @typedef {Object} MapFishPrintLayer * @property {string} type * @property {number} opacity */ /** * extends {MapFishPrintLayer} * * @typedef {Object} MapFishPrintVectorLayer * @property {string} type (MapFishPrintLayer) * @property {number} opacity (MapFishPrintLayer) * @property {import("geojson").GeoJsonObject} geoJson * @property {MapFishPrintVectorStyle} style */ /** * A MapFishPrintVectorStyle Must contains one key "version" with the version the use as value. * Others key-values are MapFishPrintSymbolizers. * * @typedef {Object} MapFishPrintVectorStyle */ /** * extends {MapFishPrintLayer} * * @typedef {Object} MapFishPrintWmsLayer * @property {string} type (MapFishPrintLayer) * @property {number} opacity (MapFishPrintLayer) * @property {string} baseURL * @property {Object} customParams * @property {string[]} layers * @property {string} serverType * @property {string[]} [styles] * @property {string} version * @property {boolean} useNativeAngle * @property {string} imageFormat */ /** * @typedef {Object} MapFishPrintWmtsMatrix * @property {string} identifier * @property {number} scaleDenominator * @property {number[]} tileSize * @property {number[]} topLeftCorner * @property {number[]} matrixSize */ /** * extends {MapFishPrintLayer} * * @typedef {Object} MapFishPrintWmtsLayer * @property {string} type (MapFishPrintLayer) * @property {number} opacity (MapFishPrintLayer) * @property {string} baseURL * @property {Object} dimensions * @property {Object} dimensionParams * @property {string} imageFormat * @property {string} layer * @property {MapFishPrintWmtsMatrix[]} matrices * @property {string} matrixSet * @property {string} requestEncoding * @property {string} style * @property {string} version */ /** * @typedef {Object} MapFishPrintReportResponse * @property {string} ref * @property {string} [statusURL] * @property {string} [downloadURL] */ /** * @typedef {Object} MapFishPrintStatusResponse * @property {boolean} done * @property {string} [status] * @property {string} [error] * @property {string} [downloadURL] */ /** * @typedef {Object} MapFishPrintSymbolizers * @property {MapFishPrintSymbolizer[]} symbolizers */ /** * @typedef {Object} MapFishPrintSymbolizer * @property {string} type */ /** * extends {MapFishPrintSymbolizer} * * @typedef {Object} MapFishPrintSymbolizerLine * @property {string} type (MapFishPrintSymbolizer) * @property {string} strokeColor * @property {number} strokeOpacity * @property {number} strokeWidth * @property {string} strokeDashstyle * @property {string} strokeLinecap */ /** * extends {MapFishPrintSymbolizer} * * @typedef {Object} MapFishPrintSymbolizerPoint * @property {string} type (MapFishPrintSymbolizer) * @property {string} externalGraphic * @property {string} graphicFormat * @property {number} graphicOpacity * @property {number} graphicHeight * @property {number} graphicWidth * @property {string} fillColor * @property {number} fillOpacity * @property {number} pointRadius * @property {number} rotation * @property {string} strokeColor * @property {number} strokeOpacity * @property {number} strokeWidth * @property {string} graphicName */ /** * extends {MapFishPrintSymbolizer} * * @typedef {Object} MapFishPrintSymbolizerPolygon * @property {string} type (MapFishPrintSymbolizer) * @property {string} fillColor * @property {number} fillOpacity * @property {string} strokeColor * @property {number} strokeOpacity * @property {number} strokeWidth * @property {string} strokeDashstyle */ /** * extends {MapFishPrintSymbolizer} * * @typedef {Object} MapFishPrintSymbolizerText * @property {string} type (MapFishPrintSymbolizer) * @property {string} label * @property {string} labelAlign * @property {string} labelRotation * @property {string} fontWeight * @property {string} fontSize * @property {string} fontFamily * @property {number} labelXOffset * @property {number} labelYOffset * @property {string} haloColor * @property {number} haloOpacity * @property {number} haloRadius * @property {string} fontColor * @property {number} goodnessOfFit */ /** * @typedef {Object} MapFishPrintSMTP * @property {string} to Email address */ /** * @typedef {Object} MapFishPrintLegend * @property {MapFishPrintLegendClass[]} classes */ /** * @typedef {Object} MapFishPrintLegendClass * @property {string} [name] * @property {string[]} [icons] * @property {number} [dpi] * @property {MapFishPrintLegendClass[]} [classes] */ /** * @hidden * @type {null} */ export const nothing: null; export type MapFishPrintCapabilities = { layouts: MapFishPrintCapabilitiesLayout[]; formats: string[]; /** * STMP object definition */ smtp?: MapFishPrintCapabilitiesSMTP; }; /** * Fields that can come from a print v3 server and can be used in the partial * of the gmf print panel. */ export type MapFishPrintCapabilitiesLayout = { name: string; /** * Custom print layoutInfo. */ attributes?: MapFishPrintCapabilitiesLayoutAttribute[]; }; export type MapFishPrintCapabilitiesLayoutAttribute = { /** * Name of the form field. */ name: string; /** * Default value of the form field. */ default?: string | boolean | number; /** * Not returned by the print, added by ngeo. */ value?: string; /** * Type of the field. Can be 'String', 'Boolean' or 'Number'. */ type: string; /** * The client info description. */ clientParams?: { [x: string]: MapFishPrintCapabilitiesLayoutAttributeClientParamsElement; }; /** * Only for the map. */ clientInfo?: MapFishPrintCapabilitiesLayoutAttributeClientInfo; }; export type MapFishPrintCapabilitiesLayoutAttributeClientParamsElement = { /** * Default value of the form field. */ default?: string | boolean | number; /** * Type of the field. Can be 'String', 'Boolean' or 'Number'. */ type: string; /** * Is an array */ isArray?: boolean; /** * The embedded types. */ embeddedType: { [x: string]: MapFishPrintCapabilitiesLayoutAttributeClientParamsElement; }; }; export type MapFishPrintCapabilitiesLayoutAttributeClientInfo = { dpiSuggestions: number[]; scales: number[]; maxDpi: number; width: number; height: number; }; export type MapFishPrintCapabilitiesSMTP = { enabled: boolean; }; export type DataSourceTableObject = { columns: string[]; data: (string | number | boolean)[][]; }; export type DataSourcePrintReportObject = { title: string; table: DataSourceTableObject; }; export type MapFishPrintSpec = { attributes: MapFishPrintAttributes; layout: string; format: string; lang: string; /** * STMP object definition */ smtp?: MapFishPrintSMTP; }; export type MapFishPrintAttributes = { map: MapFishPrintMap; }; export type MapFishPrintMap = { bbox: number[]; center: number[]; scale: number; dpi: number; layers: MapFishPrintLayer[]; projection: string; rotation: number; /** * Indicates if the map should adjust its scale/zoom level to be * equal to one of those defined in the configuration file. */ useNearestScale?: boolean; }; export type MapFishPrintLayer = { type: string; opacity: number; }; /** * extends {MapFishPrintLayer} */ export type MapFishPrintVectorLayer = { /** * (MapFishPrintLayer) */ type: string; /** * (MapFishPrintLayer) */ opacity: number; geoJson: import("geojson").GeoJsonObject; style: MapFishPrintVectorStyle; }; /** * A MapFishPrintVectorStyle Must contains one key "version" with the version the use as value. * Others key-values are MapFishPrintSymbolizers. */ export type MapFishPrintVectorStyle = { [x: string]: number | MapFishPrintSymbolizers; }; /** * extends {MapFishPrintLayer} */ export type MapFishPrintWmsLayer = { /** * (MapFishPrintLayer) */ type: string; /** * (MapFishPrintLayer) */ opacity: number; baseURL: string; customParams: { [x: string]: string; }; layers: string[]; serverType: string; styles?: string[]; version: string; useNativeAngle: boolean; imageFormat: string; }; export type MapFishPrintWmtsMatrix = { identifier: string; scaleDenominator: number; tileSize: number[]; topLeftCorner: number[]; matrixSize: number[]; }; /** * extends {MapFishPrintLayer} */ export type MapFishPrintWmtsLayer = { /** * (MapFishPrintLayer) */ type: string; /** * (MapFishPrintLayer) */ opacity: number; baseURL: string; dimensions: Object; dimensionParams: Object; imageFormat: string; layer: string; matrices: MapFishPrintWmtsMatrix[]; matrixSet: string; requestEncoding: string; style: string; version: string; }; export type MapFishPrintReportResponse = { ref: string; statusURL?: string; downloadURL?: string; }; export type MapFishPrintStatusResponse = { done: boolean; status?: string; error?: string; downloadURL?: string; }; export type MapFishPrintSymbolizers = { symbolizers: MapFishPrintSymbolizer[]; }; export type MapFishPrintSymbolizer = { type: string; }; /** * extends {MapFishPrintSymbolizer} */ export type MapFishPrintSymbolizerLine = { /** * (MapFishPrintSymbolizer) */ type: string; strokeColor: string; strokeOpacity: number; strokeWidth: number; strokeDashstyle: string; strokeLinecap: string; }; /** * extends {MapFishPrintSymbolizer} */ export type MapFishPrintSymbolizerPoint = { /** * (MapFishPrintSymbolizer) */ type: string; externalGraphic: string; graphicFormat: string; graphicOpacity: number; graphicHeight: number; graphicWidth: number; fillColor: string; fillOpacity: number; pointRadius: number; rotation: number; strokeColor: string; strokeOpacity: number; strokeWidth: number; graphicName: string; }; /** * extends {MapFishPrintSymbolizer} */ export type MapFishPrintSymbolizerPolygon = { /** * (MapFishPrintSymbolizer) */ type: string; fillColor: string; fillOpacity: number; strokeColor: string; strokeOpacity: number; strokeWidth: number; strokeDashstyle: string; }; /** * extends {MapFishPrintSymbolizer} */ export type MapFishPrintSymbolizerText = { /** * (MapFishPrintSymbolizer) */ type: string; label: string; labelAlign: string; labelRotation: string; fontWeight: string; fontSize: string; fontFamily: string; labelXOffset: number; labelYOffset: number; haloColor: string; haloOpacity: number; haloRadius: number; fontColor: string; goodnessOfFit: number; }; export type MapFishPrintSMTP = { /** * Email address */ to: string; }; export type MapFishPrintLegend = { classes: MapFishPrintLegendClass[]; }; export type MapFishPrintLegendClass = { name?: string; icons?: string[]; dpi?: number; classes?: MapFishPrintLegendClass[]; };