From a30237557b3f862baafeb77faa990e62e2b6423f Mon Sep 17 00:00:00 2001 From: Benoit Alessandroni <benoit@happy-dev.fr> Date: Wed, 3 Jun 2020 23:26:58 +0200 Subject: [PATCH] Fixing type filtering + refresh of database when validating a resource + refresh of lists after deleting a resource --- src/includes/public/resources/list.pug | 11 +++--- src/scripts/coopstarter.js | 46 ++++++++++++++++++++------ 2 files changed, 41 insertions(+), 16 deletions(-) diff --git a/src/includes/public/resources/list.pug b/src/includes/public/resources/list.pug index 702c97f7..2361decd 100644 --- a/src/includes/public/resources/list.pug +++ b/src/includes/public/resources/list.pug @@ -106,8 +106,8 @@ container.block_list.flex.flex_espace sib-display.resource_by_step( data-src=`${endpoints.step1}`, - fields='name, resource_author, format.name, publication_year, description, country, language, fields', - search-fields='search_for_a_resource(name), more_criterias_hidden(format, publication_year, country, language, fields, type)', + fields='name, resource_author, format.name, publication_year, description, country, languages, fields, type', + search-fields='search_for_a_resource(name), more_criterias_hidden(format, publication_year, country, languages, fields, type)', search-range-format=`${endpoints.formats}` search-range-languages=`${endpoints.languages}` search-range-fields=`${endpoints.fields}` @@ -116,8 +116,6 @@ container.block_list.flex.flex_espace search-widget-more_criterias_hidden="hidden-widget" search-widget-search_for_a_resource="hidden-widget" - search-multiple-type='sib-form-dropdown' - search-widget-type='sib-form-auto-completion' search-multiple-format='sib-form-dropdown' search-widget-format='sib-form-auto-completion' search-multiple-country='sib-form-dropdown' @@ -126,7 +124,7 @@ container.block_list.flex.flex_espace search-widget-languages='sib-form-auto-completion' search-multiple-fields='sib-form-dropdown' search-widget-fields='sib-form-auto-completion' - + search-multiple-type='sib-form-dropdown' widget-name='cs-display-property' widget-country='hidden-widget' @@ -134,11 +132,14 @@ container.block_list.flex.flex_espace widget-description='cs-display-property' widget-fields='hidden-widget' widget-languages="hidden-widget" + widget-type="hidden-widget" widget-resource_author="hidden-widget" widget-format.name='cs-display-resource-property' label-format.name='' label-languages='' multiple-languages + label-type='' + multiple-type label-fields='' multiple-fields class="panel" diff --git a/src/scripts/coopstarter.js b/src/scripts/coopstarter.js index d018da06..155d9c1b 100644 --- a/src/scripts/coopstarter.js +++ b/src/scripts/coopstarter.js @@ -190,7 +190,6 @@ function selectHiddenManagement(select_hidden, option_selected) { select_hidden.setAttribute("value", option_selected.value); //Actually selecting the option if it is the good one select_hidden.value = option_selected.value; - break; } } @@ -234,12 +233,12 @@ function selectHiddenManagementForType(tab, form) { options_hidden = select_hidden.getElementsByTagName("option"); for (let option_hidden of options_hidden) { option_hidden.removeAttribute("selected"); + // if (option_hidden.value == type_field_search) { if (option_hidden.value == '{"@id": "' + type_field_search + '"}') { //Actually selecting the option if it is the good one option_hidden.setAttribute("selected", "selected"); select_hidden.setAttribute("value", option_hidden.value); select_hidden.value = option_hidden.value; - break; } } @@ -275,7 +274,6 @@ function InitManagementForType() { option_hidden.setAttribute("selected", "selected"); select_hidden.setAttribute("value", option_hidden.value); select_hidden.value = option_hidden.value; - break; } } @@ -635,6 +633,26 @@ function listenToInputChangeOnMentorAccountCompletion(originalForm) { } } +async function refreshDatabase(targetElement) { + let form = document.getElementById(targetElement); + form.addEventListener("save", async function() { + let lists = document.getElementsByClassName('resource_by_step'); + + for (let list of lists) { + if (list) { + list.dataset.src = list.dataset.src; + console.log({list, targetElement}); + let listProxy = await list.component.resource; + // Refresh du cache sur la liste + console.log({listProxy}); + if (listProxy) { + listProxy.clearCache(); + } + } + } + }); +} + /* XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXXXXXXXXXXXXXX ON LOAD XXXXXXXXXXXXXXXXXXXXXXX @@ -741,6 +759,7 @@ document.addEventListener("DOMContentLoaded", event => { refreshList("validation_form", "pending_resources"); refreshList("refusal_dialog_form", "pending_resources"); refreshList("improvement_dialog_form", "pending_resources"); + refreshDatabase("validation_form"); refreshUser("entrepreneur_profile_creation", "entrepreneur_info"); refreshUser("entrepreneur_profile_creation", "entrepreneur_contact"); refreshUser("entrepreneur_profile_creation", "entrepreneur_account_picture"); @@ -878,18 +897,23 @@ document.addEventListener("DOMContentLoaded", event => { // Refresh du cache sur la liste listProxy.clearCache(); let confirm_suppress = document.getElementById("confirm_suppress"); - confirm_suppress.setAttribute("hidden", "hidden"); + confirm_suppress.removeAttribute('open'); //If we supress from the detail resource view, we close this view. let mentor_resource_detail = document.getElementById( "mentor-resource-detail" ); - mentor_resource_detail.setAttribute("hidden", "hidden"); - this.dispatchEvent( - new CustomEvent("requestNavigation", { - bubbles: true, - detail: { route: "mentor-dashboard" } - }) - ); + mentor_resource_detail.removeAttribute('open'); + + let lists = document.getElementsByClassName('resource_by_step'); + for (let list of lists) { + list.dataset.src = list.dataset.src; + + let listProxy = await list.component.resource; + // Refresh du cache sur la liste + if (listProxy) { + listProxy.clearCache(); + } + }; }); }; -- GitLab