/** * @hidden */ export class RuleController { /** * @param {angular.gettext.gettextCatalog} gettextCatalog Gettext service. * @param {angular.IScope} $scope Angular scope. * @param {angular.ITimeoutService} $timeout Angular timeout service. * @param {import('ngeo/misc/FeatureHelper').FeatureHelper} ngeoFeatureHelper Ngeo feature helper * service. * @param {import('ngeo/filter/RuleHelper').RuleHelper} ngeoRuleHelper Ngeo rule helper service. * @param {import('ngeo/misc/ToolActivateMgr').ToolActivateMgr} ngeoToolActivateMgr Ngeo ToolActivate * manager service. * @ngdoc controller * @ngname NgeoRuleController */ constructor(gettextCatalog: angular.gettext.gettextCatalog, $scope: angular.IScope, $timeout: angular.ITimeoutService, ngeoFeatureHelper: import("ngeo/misc/FeatureHelper").FeatureHelper, ngeoRuleHelper: import("ngeo/filter/RuleHelper").RuleHelper, ngeoToolActivateMgr: import("ngeo/misc/ToolActivateMgr").ToolActivateMgr); /** * @type {?import('ngeo/map/FeatureOverlay').FeatureOverlay} */ featureOverlay: import("ngeo/map/FeatureOverlay").FeatureOverlay | null; /** * @type {?import('ol/Map').default} */ map: import("ol/Map").default | null; /** * The original rule. * * @type {?import('ngeo/rule/Rule').default} */ rule: import("ngeo/rule/Rule").default | null; /** * @type {string} */ toolGroup: string; /** * @type {angular.gettext.gettextCatalog} * @private */ private gettextCatalog_; /** * @type {angular.IScope} * @private */ private scope_; /** * @type {angular.ITimeoutService} * @private */ private timeout_; /** * @type {import('ngeo/misc/FeatureHelper').FeatureHelper} * @private */ private ngeoFeatureHelper_; /** * @type {import('ngeo/filter/RuleHelper').RuleHelper} * @private */ private ngeoRuleHelper_; /** * @type {import('ngeo/misc/ToolActivateMgr').ToolActivateMgr} * @private */ private ngeoToolActivateMgr_; /** * The cloned rule. Changes in the UI are applied to the clone 'on-the-fly'. * Changes in the clone are applied back in the original rule when the * apply button is clicked. * * @type {?import('ngeo/rule/Rule').default} */ clone: import("ngeo/rule/Rule").default | null; /** * @type {Object} */ operators: { [x: string]: string; }; /** * @type {Object} */ operatorsShortFormat: { [x: string]: string; }; /** * Time property used when the rule is of type 'date|datetime' and uses * a range of date. */ timeRangeMode: { widget: string; maxValue: any; minValue: any; maxDefValue: string; minDefValue: string; mode: string; interval: number[]; }; /** * Time property used when the rule is of type 'date|datetime' and uses * a single date. */ timeValueMode: { widget: string; maxValue: any; minValue: any; maxDefValue: string; minDefValue: string; mode: string; interval: number[]; }; /** * @type {?import('ngeo/misc/ToolActivate').default} * @private */ private toolActivate_; /** * @type {Function[]} * @private */ private unlisteners_; /** * @type {boolean} */ drawActive: boolean; /** * @type {import('ngeo/misc/ToolActivate').default} */ drawToolActivate: import("ngeo/misc/ToolActivate").default; /** * @type {import('ol/Collection').default>} */ drawnFeatures: import("ol/Collection").default>; /** * @type {?import('ngeo/Menu').default} * @private */ private menu_; /** * @type {import('ol/Collection').default>} */ selectedFeatures: import("ol/Collection").default>; /** * @type {import('ol/Collection').default} * @private */ private interactions_; /** * @type {import('ngeo/interaction/Modify').default} * @private */ private modify_; /** * @type {import('ngeo/interaction/Rotate').default} * @private */ private rotate_; /** * @type {import('ngeo/interaction/Translate').default} * @private */ private translate_; /** * @type {import('ol/events').EventsKey[]} * @private */ private listenerKeys_; /** * @type {import('ngeo/misc/ToolActivate').default} */ modifyToolActivate: import("ngeo/misc/ToolActivate").default; /** * @type {import('ngeo/misc/ToolActivate').default} */ rotateToolActivate: import("ngeo/misc/ToolActivate").default; /** * @type {import('ngeo/misc/ToolActivate').default} */ translateToolActivate: import("ngeo/misc/ToolActivate").default; /** * The geometry type used by the clone feature. * * @type {?string} */ geomType: string | null; /** * Called on initialization of the controller. * * Clone the rule to be able to work with the clone directly. */ $onInit(): void; /** * Called on destruction of the controller. */ $onDestroy(): void; /** */ toggle(): void; /** * Apply the changes that were made in the original rule. */ apply(): void; /** * Revert the changes that were made in the clone rule. */ cancel(): void; /** * Reset both original and clone rules. */ reset(): void; /** * Called when a choice is clicked, when using a `ngeo.rule.Select` rule type. * Add/remove the choice to/from the `literal` of the rule. * * @param {string} choice Choice that has been clicked. */ toggleChoiceSelection(choice: string): void; /** * @param {Object} date Date */ onDateSelected(date: { [x: string]: number; }): void; /** * @param {Object} date Date */ onDateRangeSelected(date: { [x: string]: number; }): void; /** * @param {number} [opt_timeDelta] Time delta to go back in the past. * @returns {string} ISO string of the date * @private */ private createDate_; /** * @returns {string} ISO string of the date * @private */ private createWeekAgoDate_; /** * @param {number} time Time. * @returns {string} Date */ timeToDate(time: number): string; /** * Called when the active property of a rule changes. Only used when this * component is bound to a geometry rule. * * Manage the activation/deactivation of the interactions. * * @param {boolean} active Whether the rule is active or not. * @param {boolean} oldActive Whether the rule was active or not. * @private */ private handleActiveChange_; /** * Initialize interactions by setting them inactive and decorating them * * @private */ private initializeInteractions_; /** * Register interactions by adding them to the map * * @private */ private registerInteractions_; /** * Register interactions by removing them to the map * * @private */ private unregisterInteractions_; /** * @param {Event|import('ol/events/Event').default} evt Event. * @private */ private handleFeaturesAdd_; /** * Return the type of geometry used by the rule feature. Used in the template. * * @returns {?string} Geometry type. */ getRuleGeometryType(): string | null; /** * @param {Event|import('ol/events/Event').default} evt Event. * @private */ private handleMapContextMenu_; /** * Remove contextual menu, if any. * * @private */ private removeMenu_; /** * @param {Event|import('ol/events/Event').default|MenuEvent} evt Event. * @private */ private handleMenuActionClick_; /** * @param {Event|import('ol/events/Event').default} evt Event. * @private */ private handleRotateEnd_; /** * @param {Event|import('ol/events/Event').default} evt Event. * @private */ private handleTranslateEnd_; } export namespace RuleController { let $inject: string[]; } export default myModule; export type MenuEventTarget = { action: string; }; export type MenuEvent = import("ngeo/CustomEvent").default; import Feature from 'ol/Feature'; import angular from 'angular'; /** * @typedef {Object} MenuEventTarget * @property {string} action */ /** * @typedef {import('ngeo/CustomEvent').default} MenuEvent */ /** * @type {angular.IModule} * @hidden */ declare const myModule: angular.IModule;