diff --git a/webapp/src/main/webapp/themes/iph/templates/queryBuilder.ftl b/webapp/src/main/webapp/themes/iph/templates/queryBuilder.ftl index 6a3ab402..66900a10 100644 --- a/webapp/src/main/webapp/themes/iph/templates/queryBuilder.ftl +++ b/webapp/src/main/webapp/themes/iph/templates/queryBuilder.ftl @@ -190,18 +190,22 @@ excludeRule.flags.filter_readonly = true; excludeRule.flags.operator_readonly = true; excludeRule.value = name; - console.log(excludeRule); if (allRules !== null){ if (allRules.condition === "AND"){ allRules.rules.push(excludeRule); } else { - var outerRulesString = '{ "condition": "AND", "rules": [] }'; - var outerRules = JSON.parse(outerRulesString); - outerRules.rules.push(allRules); - outerRules.rules.push(excludeRule); - allRules = outerRules; + var outerRulesString = '{ "condition": "AND", "rules": [] }'; + var outerRules = JSON.parse(outerRulesString); + outerRules.rules.push(allRules); + outerRules.rules.push(excludeRule); + allRules = outerRules; } $('#builder').queryBuilder('setRules', allRules); + var elements = document.querySelectorAll('[parturi="' + uri + '"]'); + var i; + for (i = 0; i < elements.length; i++) { + elements[i].parentElement.remove(); + } } } @@ -212,11 +216,19 @@ function createRemoveButton(element){ var uri = element.getAttribute('parturi'); var button = element.querySelector('button'); + var name = button.textContent; var a = document.createElement('a'); - a.setAttribute('href',"javascript:excludeDocByURI(\'" + uri + "\');"); - a.textContent = "удалить документ из поиска"; + a.setAttribute('href',"javascript:excludeDocByURI(\'" + escapeQutes(name) + "\',\'" + escapeQutes(uri) + "\');"); + a.textContent = " Удалить документ из поиска"; button.appendChild(a); } + + function escapeQutes(input) { + return input + .replace(/"/g, """) + .replace(/'/g, "'") + } + <#macro freeField field > {