From af13d1c172c1a7b2747a7e057c54c390c29fee19 Mon Sep 17 00:00:00 2001 From: Anthony Borghi <anthony.borghi@veremes.com> Date: Fri, 2 Nov 2018 12:26:48 +0100 Subject: [PATCH] Ajout de l'outils dans Basictools --- .../javascript/app/vmap/tools/basictools.js | 3 +- .../javascript/app/vmap/tools/compare.js | 89 +++++++++++++++++++ .../module/template/tools/basictools.html | 24 ++++- .../template/tools/comparemapmanager.html | 11 +++ 4 files changed, 122 insertions(+), 5 deletions(-) create mode 100644 src/module_vmap/module/javascript/app/vmap/tools/compare.js create mode 100644 src/module_vmap/module/template/tools/comparemapmanager.html diff --git a/src/module_vmap/module/javascript/app/vmap/tools/basictools.js b/src/module_vmap/module/javascript/app/vmap/tools/basictools.js index f53955c4..32d67254 100644 --- a/src/module_vmap/module/javascript/app/vmap/tools/basictools.js +++ b/src/module_vmap/module/javascript/app/vmap/tools/basictools.js @@ -17,6 +17,7 @@ goog.require('nsVmap.nsToolsManager.Select'); goog.require('nsVmap.nsToolsManager.Insert'); goog.require('nsVmap.nsToolsManager.Print'); goog.require('nsVmap.nsToolsManager.Urlexporter'); +goog.require('nsVmap.nsToolsManager.Compare'); /** @@ -429,4 +430,4 @@ nsVmap.nsToolsManager.BasicTools.prototype.basictoolsController.prototype.locati // Définit la directive et le controller oVmap.module.directive('appBasictools', nsVmap.nsToolsManager.BasicTools.prototype.basictoolsDirective); -oVmap.module.controller('AppBasictoolsController', nsVmap.nsToolsManager.BasicTools.prototype.basictoolsController); \ No newline at end of file +oVmap.module.controller('AppBasictoolsController', nsVmap.nsToolsManager.BasicTools.prototype.basictoolsController); diff --git a/src/module_vmap/module/javascript/app/vmap/tools/compare.js b/src/module_vmap/module/javascript/app/vmap/tools/compare.js new file mode 100644 index 00000000..271ac91c --- /dev/null +++ b/src/module_vmap/module/javascript/app/vmap/tools/compare.js @@ -0,0 +1,89 @@ +/* global oVmap, nsVmap, goog, ol, vitisApp */ + +/** + * @author: Anthony Borghi + * @Description: Fichier contenant la classe nsVmap.nsToolsManager.Urlexporter + * cette classe permet à l'utilisateur d'exporter une url pour un autre utilisateur + */ +goog.provide('nsVmap.nsToolsManager.Compare'); + +goog.require('oVmap'); + +/** + * @classdesc + * Class {@link nsVmap.nsToolsManager.VmapUser} + * @constructor + * @export + */ +nsVmap.nsToolsManager.compare = function () { + oVmap.log('nsVmap.nsToolsManager.Compare'); +}; + + + +/** + * Directive + * @return {angular.Directive} The directive specs. + * @constructor + */ +nsVmap.nsToolsManager.compare.prototype.compareDirective = function () { + oVmap.log("nsVmap.nsToolsManager.compare.prototype.compareDirective"); + return { + restrict: 'A', + scope: { + 'map': '=appMap', + 'lang': '=appLang' + }, + controller: 'AppCompareMode', + controllerAs: 'ctrl', + bindToController: true, + templateUrl: oVmap['properties']['vmap_folder'] + '/' + 'template/tools/comparemapmanager.html' + }; +}; + +/** + * Controler + * @constructor + * @param {object} $scope + * @returns {undefined} + * @ngInject + */ +nsVmap.nsToolsManager.compare.prototype.compareController = function ($scope, $element) { + oVmap.log("nsVmap.nsToolsManager.compare.prototype.compareController"); + + var this_ = this; + + this.$scope_ = $scope; + + /** + * The current properties + */ + this['properties'] = oVmap['properties']; + + /** + * The current token + */ + this['token'] = oVmap['properties']['token']; + + /** + * @type {boolean} + */ + this["useCompareMode"] = false; + + // recalcule l'url quand on change de carte + //oVmap['scope'].$on('mapChanged', function () { + //this_["urlConstructor"](); + //}); + + $scope.$watch("ctrl.useCompareMode", function(){ + $scope.$root["compare_enabled"] = this_["useCompareMode"]; + }) + + /*oVmap.getMap().getOLMap().on("moveend", function(event){ + this_["urlConstructor"](); + });*/ +}; + +// Définit la directive et le controller +oVmap.module.directive('appCompareMode', nsVmap.nsToolsManager.compare.prototype.compareDirective); +oVmap.module.controller('AppCompareMode', nsVmap.nsToolsManager.compare.prototype.compareController); diff --git a/src/module_vmap/module/template/tools/basictools.html b/src/module_vmap/module/template/tools/basictools.html index e85c7476..43ec402c 100644 --- a/src/module_vmap/module/template/tools/basictools.html +++ b/src/module_vmap/module/template/tools/basictools.html @@ -19,6 +19,22 @@ </div> </li> </div> + <!-- Outil de comparaison --> + <div> + <li role="presentation" style="position: inherit" class="basic-tools-dropdown"> + <a class="basic-tools-element pointer" + id="map-compare-tool-btn" + title="Comparaison de carte" + onclick="oVmap.getToolsManager().getBasicTools().toggleTool(this)"> + <span class="icon-mirror" aria-hidden="true"></span> + </a> + <div app-compare-mode app-lang="ctrl.lang" app-map="ctrl.map" + id="basic-tools-dropdown-comapremode" + class="dropdown-menu basic-tools-dropdown-element no-padding" + style="margin: -10px -1px; width: 30%; padding-top: 15px !important;"> + </div> + </li> + </div> <!-- Login de l'utilisateur --> <div class="right"> <li role="presentation" style="position: inherit" class="basic-tools-dropdown"> @@ -58,7 +74,7 @@ </a> <div app-print app-lang="ctrl.lang" app-map="ctrl.map" app-action="ctrl.currentAction" id="basic-tools-dropdown-print-content" - class="dropdown-menu basic-tools-dropdown-element basic-tools-dropdown-print-content"> + class="dropdown-menu basic-tools-dropdown-element basic-tools-dropdown-print-content"> </div> </li> </div> @@ -66,13 +82,13 @@ <div class="right"> <li role="presentation" style="position: inherit" class="basic-tools-dropdown"> <a class="basic-tools-element pointer" - id="basic-tools-dropdown-insert-btn" + id="basic-tools-dropdown-insert-btn" title="Insertion" onclick="oVmap.getToolsManager().getBasicTools().toggleTool(this)"> <span class="icon-add-feature" aria-hidden="true"></span> </a> <div app-insert app-lang="ctrl.lang" app-map="ctrl.map" app-action="ctrl.currentAction" - id="basic-tools-dropdown-insert-content" + id="basic-tools-dropdown-insert-content" class="dropdown-menu basic-tools-dropdown-element basic-tools-dropdown-select-content"> </div> </li> @@ -96,4 +112,4 @@ </ul> </div> </div> -</div> \ No newline at end of file +</div> diff --git a/src/module_vmap/module/template/tools/comparemapmanager.html b/src/module_vmap/module/template/tools/comparemapmanager.html new file mode 100644 index 00000000..d1ae7317 --- /dev/null +++ b/src/module_vmap/module/template/tools/comparemapmanager.html @@ -0,0 +1,11 @@ +<!--Mode compare--> +<div class="row margin-sides-0 no-padding"> + <div class = "col-md-12"> + <input type="checkbox" ng-model="ctrl.useCompareMode" id="useCompareModeCheckbox"> + <label for="useCompareModeCheckbox" class="control-label">Activer / Désactiver le mode comparaison</label> + </div> + <div class="col-md-12"><hr></div> + <div class="col-md-12 no-padding"> + <app-maplistlitle app-lang="ctrl.lang" app-maplistlitle-map="ctrl.map" data-compare="true"></app-maplistlitle> + </div> +</div> -- GitLab