From 5481ef8860ecf42bc11bddaececaf434aca6a617 Mon Sep 17 00:00:00 2001 From: Armand Bahi <armand.bahi@veremes.com> Date: Wed, 13 Mar 2019 11:43:44 +0100 Subject: [PATCH] =?UTF-8?q?Requ=C3=AAteur=20:=20mise=20=C3=A0=20jour=20du?= =?UTF-8?q?=20nombre=20d'enregistrements=20apr=C3=A8s=20suppression?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../app/vmap/tools/select/advancedselect.js | 60 ++++++++++++++++--- 1 file changed, 53 insertions(+), 7 deletions(-) diff --git a/src/module_vmap/module/javascript/app/vmap/tools/select/advancedselect.js b/src/module_vmap/module/javascript/app/vmap/tools/select/advancedselect.js index 1d4d012d..0286f962 100644 --- a/src/module_vmap/module/javascript/app/vmap/tools/select/advancedselect.js +++ b/src/module_vmap/module/javascript/app/vmap/tools/select/advancedselect.js @@ -686,14 +686,10 @@ nsVmap.nsToolsManager.AdvancedSelect.prototype.AdvancedSelectController.prototyp setTimeout(function () { // Affiche la modale $('#select-list-modal').modal('show'); + // Rafraichit les métiadonnées + this_.refreshTablesMetadata(); // Affiche l'onglet correspondant (si besoin) - this_.$scope_.$applyAsync(function () { - if (goog.isDefAndNotNull(boId)) { - this_['sSelectedBo'] = boId; - } else { - this_['sSelectedBo'] = oVmap.getToolsManager().getBasicTools().getSelect().getSelectedBo(); - } - }) + this_.autoSelectTableBo(boId); }, 100); }); @@ -1936,6 +1932,56 @@ nsVmap.nsToolsManager.AdvancedSelect.prototype.AdvancedSelectController.prototyp return result; }; +/** + * Select automatically the business object + * Sélectionne automatiquement l'objet métier à utiliser par défaut + * + * @param {string} boId force the selection on the given business object + * @export + */ +nsVmap.nsToolsManager.AdvancedSelect.prototype.AdvancedSelectController.prototype.autoSelectTableBo = function (boId) { + oVmap.log('nsVmap.nsToolsManager.AdvancedSelect.prototype.AdvancedSelectController.prototype.autoSelectTableBo'); + + var this_ = this; + + this_.$scope_.$applyAsync(function () { + if (goog.isDefAndNotNull(boId) && goog.isDefAndNotNull(this_['tableSelectionMetadata'][boId])) { + this_['sSelectedBo'] = boId; + } else { + if (!goog.isDefAndNotNull(this_['tableSelectionMetadata'][this_['sSelectedBo']])) { + this_['sSelectedBo'] = oVmap.getToolsManager().getBasicTools().getSelect().getSelectedBo(); + } + } + }); +} + +/** + * Refresh the selection metadata + * Rafraichit les métadonnées du requêteur (nombre d'enregistrements etc...) + * + * @export + */ +nsVmap.nsToolsManager.AdvancedSelect.prototype.AdvancedSelectController.prototype.refreshTablesMetadata = function () { + oVmap.log('nsVmap.nsToolsManager.AdvancedSelect.prototype.AdvancedSelectController.prototype.refreshTablesMetadata'); + + var this_ = this; + + this_.$scope_.$applyAsync(function () { + for (var sBoId in this_['tableSelection']) { + if (this_['tableSelection'].hasOwnProperty(sBoId)) { + + // Mise à jour du nombre d'enregistrements + if (goog.isDefAndNotNull(this_['tableSelectionMetadata'][sBoId])) { + if (goog.isArray(this_['tableSelection'][sBoId])) { + this_['tableSelectionMetadata'][sBoId]['total_row_number'] = this_['tableSelection'][sBoId].length; + } + } + } + } + }); +} + + /** * * @param {type} value -- GitLab