/** * @param {angular.IScope} $scope Angular scope. * @param {angular.ITimeoutService} $timeout Angular timeout service. * @param {angular.gettext.gettextCatalog} gettextCatalog Gettext catalog. * @param {import('gmf/editing/EditFeature').EditingEditFeature} gmfEditFeature Gmf edit feature service. * @param {import('gmf/objectediting/Query').ObjectEditingQuery} gmfObjectEditingQuery Gmf ObjectEditing * query service. * @param {import('gmf/layertree/TreeManager').LayertreeTreeManager} gmfTreeManager The gmf TreeManager * service. * @param {import('ngeo/misc/FeatureHelper').FeatureHelper} ngeoFeatureHelper Ngeo feature helper service. * @param {import('ngeo/map/LayerHelper').LayerHelper} ngeoLayerHelper Ngeo Layer Helper. * @param {import('ngeo/misc/ToolActivateMgr').ToolActivateMgr} ngeoToolActivateMgr Ngeo ToolActivate * manager service. * @class * @hidden * @ngdoc controller * @ngname GmfObjecteditingController */ export function Controller($scope: angular.IScope, $timeout: angular.ITimeoutService, gettextCatalog: angular.gettext.gettextCatalog, gmfEditFeature: import("gmf/editing/EditFeature").EditingEditFeature, gmfObjectEditingQuery: import("gmf/objectediting/Query").ObjectEditingQuery, gmfTreeManager: import("gmf/layertree/TreeManager").LayertreeTreeManager, ngeoFeatureHelper: import("ngeo/misc/FeatureHelper").FeatureHelper, ngeoLayerHelper: import("ngeo/map/LayerHelper").LayerHelper, ngeoToolActivateMgr: import("ngeo/misc/ToolActivateMgr").ToolActivateMgr): void; export class Controller { /** * @param {angular.IScope} $scope Angular scope. * @param {angular.ITimeoutService} $timeout Angular timeout service. * @param {angular.gettext.gettextCatalog} gettextCatalog Gettext catalog. * @param {import('gmf/editing/EditFeature').EditingEditFeature} gmfEditFeature Gmf edit feature service. * @param {import('gmf/objectediting/Query').ObjectEditingQuery} gmfObjectEditingQuery Gmf ObjectEditing * query service. * @param {import('gmf/layertree/TreeManager').LayertreeTreeManager} gmfTreeManager The gmf TreeManager * service. * @param {import('ngeo/misc/FeatureHelper').FeatureHelper} ngeoFeatureHelper Ngeo feature helper service. * @param {import('ngeo/map/LayerHelper').LayerHelper} ngeoLayerHelper Ngeo Layer Helper. * @param {import('ngeo/misc/ToolActivateMgr').ToolActivateMgr} ngeoToolActivateMgr Ngeo ToolActivate * manager service. * @class * @hidden * @ngdoc controller * @ngname GmfObjecteditingController */ constructor($scope: angular.IScope, $timeout: angular.ITimeoutService, gettextCatalog: angular.gettext.gettextCatalog, gmfEditFeature: import("gmf/editing/EditFeature").EditingEditFeature, gmfObjectEditingQuery: import("gmf/objectediting/Query").ObjectEditingQuery, gmfTreeManager: import("gmf/layertree/TreeManager").LayertreeTreeManager, ngeoFeatureHelper: import("ngeo/misc/FeatureHelper").FeatureHelper, ngeoLayerHelper: import("ngeo/map/LayerHelper").LayerHelper, ngeoToolActivateMgr: import("ngeo/misc/ToolActivateMgr").ToolActivateMgr); /** * @type {boolean} */ active: boolean; /** * @type {?import('ol/Feature').default} */ feature: import("ol/Feature").default | null; /** * @type {?string} */ geomType: string | null; /** * @type {?number} */ layerNodeId: number | null; /** * @type {?import('ol/Map').default} */ map: import("ol/Map").default | null; /** * @type {?import('ol/Collection').default>} */ sketchFeatures: import("ol/Collection").default> | null; /** * @type {angular.IScope} */ scope_: angular.IScope; /** * @type {angular.ITimeoutService} */ timeout_: angular.ITimeoutService; /** * @type {angular.gettext.gettextCatalog} */ gettextCatalog_: angular.gettext.gettextCatalog; /** * @type {import('gmf/editing/EditFeature').EditingEditFeature} */ gmfEditFeature_: import("gmf/editing/EditFeature").EditingEditFeature; /** * @type {import('gmf/objectediting/Query').ObjectEditingQuery} */ gmfObjectEditingQuery_: import("gmf/objectediting/Query").ObjectEditingQuery; /** * @type {import('gmf/objectediting/toolsComponent').ObjectEditingQueryableLayerInfo[]} */ queryableLayersInfo: import("gmf/objectediting/toolsComponent").ObjectEditingQueryableLayerInfo[]; /** * @type {?import('gmf/objectediting/toolsComponent').ObjectEditingQueryableLayerInfo} */ selectedQueryableLayerInfo: import("gmf/objectediting/toolsComponent").ObjectEditingQueryableLayerInfo | null; /** * Whether to show or hide the queryable list of layers. It is shown only * when a tool requires it, which is managed in the `gmf-objecteditingtools` * component. * * @type {boolean} */ queryableLayerListShown: boolean; /** * @type {boolean} */ copyFromActive: boolean; /** * @type {boolean} */ deleteFromActive: boolean; /** * @type {boolean} */ featureHasGeom: boolean; /** * @type {import('ngeo/map/LayerHelper').LayerHelper} */ ngeoLayerHelper_: import("ngeo/map/LayerHelper").LayerHelper; /** * @type {import('gmf/layertree/TreeManager').LayertreeTreeManager} */ gmfTreeManager_: import("gmf/layertree/TreeManager").LayertreeTreeManager; /** * @type {import('ngeo/misc/FeatureHelper').FeatureHelper} */ ngeoFeatureHelper_: import("ngeo/misc/FeatureHelper").FeatureHelper; /** * @type {import('ngeo/misc/ToolActivateMgr').ToolActivateMgr} */ ngeoToolActivateMgr_: import("ngeo/misc/ToolActivateMgr").ToolActivateMgr; /** * @type {boolean} */ skipGeometryChange_: boolean; /** * @type {string} */ process: string; /** * @type {?import('ol/layer/Image').default|import('ol/layer/WebGLTile').default} */ editableWMSLayer_: (import("ol/layer/Image").default | import("ol/layer/WebGLTile").default) | null; /** * @type {jsts.io.OL3Parser} */ jstsOL3Parser_: jsts.io.OL3Parser; /** * The state of the feature determines whether the next 'save' request * should be an 'insert' or 'update' one. * * @type {?string} */ state_: string | null; /** * @type {?import('ol/geom/Geometry').default[]} */ geometryChanges_: import("ol/geom/Geometry").default[] | null; /** * @type {StylesObject} */ defaultStyles_: StylesObject; /** * @type {StylesObject} */ defaultStylesWoVertice_: StylesObject; /** * @type {StylesObject} */ dirtyStyles_: StylesObject; /** * @type {StylesObject} */ dirtyStylesWoVertice_: StylesObject; /** * Flag that is toggled while a request is pending. * * @type {boolean} */ pending: boolean; /** * @type {boolean} */ dirty: boolean; /** * @type {import('ol/events').EventsKey[]} */ listenerKeys_: import("ol/events").EventsKey[]; /** * @type {import('ol/Collection').default>} */ features_: import("ol/Collection").default>; /** * @type {import('ol/Collection').default} */ interactions_: import("ol/Collection").default; /** * @type {import('ol/interaction/Modify').default} */ modify_: import("ol/interaction/Modify").default; /** * @type {import('ngeo/misc/ToolActivate').default} */ modifyToolActivate_: import("ngeo/misc/ToolActivate").default; /** * @type {boolean} */ toolsActive: boolean; /** * @type {import('ngeo/misc/ToolActivate').default} */ toolsToolActivate_: import("ngeo/misc/ToolActivate").default; /** * Init the controller */ $onInit(): void; /** * Delete the feature after asking for a confirmation. */ delete(): void; /** * Save the current modifications. */ save(): void; /** * Undo the latest modifications. */ undo(): void; /** * @returns {boolean} Whether the state is INSERT or not. */ isStateInsert(): boolean; /** * Called after a delete request. * * @param {angular.IHttpResponse} resp Ajax response. */ handleDeleteFeature_(resp: angular.IHttpResponse): void; /** * Called after an 'insert' or 'update' request. * * @param {angular.IHttpResponse} resp Ajax response. */ handleEditFeature_(resp: angular.IHttpResponse): void; /** * Initialize interactions by setting them inactive and decorating them */ initializeInteractions_(): void; /** * Register interactions by adding them to the map */ registerInteractions_(): void; /** * Unregister interactions, i.e. remove them from the map */ unregisterInteractions_(): void; /** * Activate or deactivate this component. * * @param {boolean} active Whether to activate this component or not. */ toggle_(active: boolean): void; /** * Undo all current changes. */ undoAllChanges_(): void; /** * Reset the array of geometry changes. If there are more than one changes, * reset them entirely. Then, if there's no changes, clone the current geometry * as the first entry. One entry means that there's no changes. */ resetGeometryChanges_(): void; /** * Called after the modification interaction has completed modifying the * existing geometry. The new geometry is pushed in the changes array. * If the geometry type is `MultiPolygon`, we check if any of the inner * geometries intersects with one an other first. Those that does are merged * before being pushed to the changes. * * @param {Event|import('ol/events/Event').default} evt Event. */ handleModifyInteractionModifyEnd_(evt: Event | import("ol/events/Event").default): void; /** * @param {StylesObject} styles Hash of style. * @param {import('ol/color').Color} color Color. * @param {boolean} [opt_incVertice=true] Whether to include vertice or not. */ initializeStyles_(styles: StylesObject, color: import("ol/color").Color, opt_incVertice?: boolean): void; /** * Set the style of the feature depending on: * - the geometry type * - the dirty state of the component * - whether the modify control is active or not */ setFeatureStyle_(): void; /** * Registers a newly added Layertree controller 'leaf', i.e. groups are * excluded. * * If the Layertree controller node id is equal to the `layerNodeId` configured * with this component, then find the WMS layer associated with it for * for refresh purpose. * * @param {import('ngeo/layertree/Controller').LayertreeController} treeCtrl Layertree controller * to register */ registerTreeCtrl_(treeCtrl: import("ngeo/layertree/Controller").LayertreeController): void; /** * Unregisters all currently registered Layertree controllers. * * Unset the WMS layer associated with the `layerNodeId` configured with * this component. */ unregisterAllTreeCtrl_(): void; /** * Refresh the WMS layer, if set. */ refreshWMSLayer_(): void; /** * Called before the window unloads. Show a confirmation message if there are * unsaved modifications. * * @param {Event} e Event. * @returns {string|undefined} Message */ handleWindowBeforeUnload_(e: Event): string | undefined; /** * Called when a feature is added to the collection of sketch features. * Depending on the current behavior, use the added sketch feature to process * the existing geometry. * * @param {Event|import('ol/events/Event').default} evt Event. */ handleSketchFeaturesAdd_(evt: Event | import("ol/events/Event").default): void; /** * Called when the geometry property of the feature changes, i.e. not when the * geometry itself changes but when a new geometry is set to the feature. * * This happens either when resetting the geometry to null, in which case * there's nothing to do here. Otherwise, it happens after the combination * of a sketch geometry with the existing feature geometry. This new geom * is pushed in the `geometryChanges_` array. */ handleFeatureGeometryChange_(): void; /** * @param {import('gmf/objectediting/toolsComponent').ObjectEditingQueryableLayerInfo[]} layersInfo * List of queryable layers information, which contains the node and ogcServer. */ handleGetQueryableLayersInfo_(layersInfo: import("gmf/objectediting/toolsComponent").ObjectEditingQueryableLayerInfo[]): void; handleDestroy_(): void; } export namespace Controller { let $inject: string[]; } /** * @hidden */ export const NAMESPACE: "oe"; export default myModule; export type StylesObject = { [x: string]: olStyleStyle | olStyleStyle[]; }; import angular from 'angular'; import olInteractionModify from 'ol/interaction/Modify'; /** * @type {angular.IModule} * @hidden */ declare const myModule: angular.IModule; import olStyleStyle from 'ol/style/Style';