From 8b451d25f2361bdd746b721365b02247a7ccb104 Mon Sep 17 00:00:00 2001 From: David Monllao Date: Fri, 20 Apr 2018 17:08:32 +0200 Subject: [PATCH] MDL-61899 tool_dataprivacy: Separate the retention period in 2 css selectors --- .../amd/build/effective_retention_period.min.js | 2 +- .../amd/src/effective_retention_period.js | 17 ++++++++++------- 2 files changed, 11 insertions(+), 8 deletions(-) diff --git a/admin/tool/dataprivacy/amd/build/effective_retention_period.min.js b/admin/tool/dataprivacy/amd/build/effective_retention_period.min.js index fd43e12f671..48f7d3c9f82 100644 --- a/admin/tool/dataprivacy/amd/build/effective_retention_period.min.js +++ b/admin/tool/dataprivacy/amd/build/effective_retention_period.min.js @@ -1 +1 @@ -define(["jquery"],function(a){var b={PURPOSE_SELECT:"#id_purposeid",RETENTION_FIELD:".form-control-static"},c=function(a){this.purposeRetentionPeriods=a,this.registerEventListeners()},d=function(){a(b.PURPOSE_SELECT).off("change")};return c.prototype.purposeRetentionPeriods=[],c.prototype.registerEventListeners=function(){a(b.PURPOSE_SELECT).on("change",function(c){var d=a(c.currentTarget).val(),e=this.purposeRetentionPeriods[d];a(b.RETENTION_FIELD).each(function(){var b=a(this),c=b.siblings("#id_error_retention_current");c.length>0&&b.text(e)})}.bind(this))},{init:function(a){return d(),new c(a)}}}); \ No newline at end of file +define(["jquery"],function(a){var b={PURPOSE_SELECT:"#id_purposeid",RETENTION_FIELD_BOOST:"#id_error_retention_current",RETENTION_FIELD_CLEAN:"#fitem_id_retention_current [data-fieldtype=static]"},c=function(a){this.purposeRetentionPeriods=a,this.registerEventListeners()},d=function(){a(b.PURPOSE_SELECT).off("change")};return c.prototype.purposeRetentionPeriods=[],c.prototype.registerEventListeners=function(){a(b.PURPOSE_SELECT).on("change",function(c){var d=a(c.currentTarget).val(),e=this.purposeRetentionPeriods[d],f=a(b.RETENTION_FIELD_CLEAN);if(f.length>0)f.text(e);else{var g=a(b.RETENTION_FIELD_BOOST),h=g.siblings();h.length>0&&h.text(e)}}.bind(this))},{init:function(a){return d(),new c(a)}}}); \ No newline at end of file diff --git a/admin/tool/dataprivacy/amd/src/effective_retention_period.js b/admin/tool/dataprivacy/amd/src/effective_retention_period.js index c73fb05e884..8d587ca2d23 100644 --- a/admin/tool/dataprivacy/amd/src/effective_retention_period.js +++ b/admin/tool/dataprivacy/amd/src/effective_retention_period.js @@ -26,7 +26,8 @@ define(['jquery'], var SELECTORS = { PURPOSE_SELECT: '#id_purposeid', - RETENTION_FIELD: '.form-control-static', + RETENTION_FIELD_BOOST: '#id_error_retention_current', + RETENTION_FIELD_CLEAN: '#fitem_id_retention_current [data-fieldtype=static]', }; /** @@ -65,14 +66,16 @@ define(['jquery'], var selected = $(ev.currentTarget).val(); var selectedPurpose = this.purposeRetentionPeriods[selected]; - $(SELECTORS.RETENTION_FIELD).each(function() { - var node = $(this); - // Sucky way to select the text, but no id for static fields :(. - var retentionField = node.siblings('#id_error_retention_current'); + var cleanSelector = $(SELECTORS.RETENTION_FIELD_CLEAN); + if (cleanSelector.length > 0) { + cleanSelector.text(selectedPurpose); + } else { + var boostSelector = $(SELECTORS.RETENTION_FIELD_BOOST); + var retentionField = boostSelector.siblings(); if (retentionField.length > 0) { - node.text(selectedPurpose); + retentionField.text(selectedPurpose); } - }); + } }.bind(this)); };