diff --git a/src/includes/entrepreneur/components/header.pug b/src/includes/entrepreneur/components/header.pug index 090a10c20a9ee3b5a1f19d9ca1d286e6e1608d65..ad06c26229cce15f7548f6aac5a2c02730a8c279 100644 --- a/src/includes/entrepreneur/components/header.pug +++ b/src/includes/entrepreneur/components/header.pug @@ -8,11 +8,11 @@ div.flex.flex_espace.flex_item_center sib-form.languageChoice( - data-src=`${endpoints.languages}` + data-src=`${endpoints.interfacelanguages}` fields='languages' - range-languages=`${endpoints.languages}` + range-languages=`${endpoints.interfacelanguages}` widget-languages='sib-form-dropdown' - selected-languages=`${endpoints.languages}/1/` + selected-languages=`${endpoints.interfacelanguages}1/` label-languages='' naked ) @@ -23,6 +23,7 @@ fields='account.picture', widget-account.picture='cs-account-picture' ) + div.dropdownPanel ul li diff --git a/src/includes/mentor/resources/list.pug b/src/includes/mentor/resources/list.pug index 343602564520963a6f032cec3a881c6ddf55a590..ff2f6cf65f3d89b368d4d06c8e34f0432d6437d5 100644 --- a/src/includes/mentor/resources/list.pug +++ b/src/includes/mentor/resources/list.pug @@ -128,6 +128,7 @@ div.block_list widget-review.status='cs-resource-status', search-widget-header_criterias="cs-section_header" search-label-header_criterias="More criterias" + search-class-header_criterias="accordion-form active" search-label-format=`${data.Format}` search-label-publication_year=`${data.DatePublication}` diff --git a/src/includes/mentor/resources/validate.pug b/src/includes/mentor/resources/validate.pug index 3cf09015f02ae5b672d9040d85bba6c86527dde6..76e3c71f94c46d121c60bf2cf08149f4c074bc1a 100644 --- a/src/includes/mentor/resources/validate.pug +++ b/src/includes/mentor/resources/validate.pug @@ -4,7 +4,7 @@ sib-router sib-route(name='review-submission-confirmation') .block_log.block_creat_count.no_shadow - sib-link(class="backlink", next="mentor-resource-list") + sib-link(class="backlink", next="mentor-dashboard") .like p.backlink i.fas.fa-times diff --git a/src/scripts/coopstarter.js b/src/scripts/coopstarter.js index 08388b9bceb5c25ac78e32e7b62a26e3a99fa3db..d0e048ad3fbd279c67471e291210956fd8a6fec8 100644 --- a/src/scripts/coopstarter.js +++ b/src/scripts/coopstarter.js @@ -225,16 +225,17 @@ function InitManagementForType() { let type_hidden_field = form.querySelectorAll('select[name="type"]'); type_hidden_field.forEach(function(select_hidden) { options_hidden = select_hidden.getElementsByTagName("option"); - for (let option_hidden of options_hidden) { - option_hidden.removeAttribute("selected"); - str = option_hidden.value - - if (str.substr(str.length - 10) == 'types/1/"}') { - //Actually selecting the option if it is the good one - option_hidden.setAttribute("selected", "selected"); - select_hidden.setAttribute("value", option_hidden.value); - } + for (let option_hidden of options_hidden) { + option_hidden.removeAttribute("selected"); + str = option_hidden.value + + if (str.substr(str.length - 10) == 'types/1/"}') { + //Actually selecting the option if it is the good one + option_hidden.setAttribute("selected", "selected"); + select_hidden.setAttribute("value", option_hidden.value); } + } + //Trigerring a reload of the associated form let parent_form = select_hidden.closest("sib-form"); parent_form.component.inputChange(); @@ -295,6 +296,26 @@ function manageAccordionByStep(){ } } +/** + * Manage the accordion "more criteria" + */ +function manageAccordionMoreCriteria(){ + var acc = document.getElementsByClassName("accordion-form"); + + for (let item of acc) { + item.addEventListener("click", function() { + this.classList.toggle("active"); + + var panelForm = this.nextElementSibling; + if (!this.classList.contains("active")) { + panelForm.style.maxHeight = "0px"; + } else { + panelForm.style.maxHeight = panelForm.scrollHeight + "px"; + } + }); + } +} + /** * Manage the accordion for requested resources in the mentor dashboard */ @@ -344,10 +365,10 @@ function manageLogoutButton() { /** * Manage the select language */ -function manageSelectLanguage() { +async function manageSelectLanguage() { const languageSelects = document.getElementsByClassName("languageChoice") for (let item of languageSelects) { - item.addEventListener("change", function() { + item.addEventListener("change", async function() { //We listen the selected option for the language uriLanguage = item.querySelector("option:checked").value @@ -356,15 +377,13 @@ function manageSelectLanguage() { var base_url = location.host //If the selected language is french - if (uriLanguage.substr(uriLanguage.length - 14) == 'languages/1/"}') { - //Redirection with the appropriate prefixe. - var redirect = "http://"+base_url+'/fr/'+pathAfterThePrefix - document.location.href = redirect - } - else { - var redirect = "http://"+base_url+'/en/'+pathAfterThePrefix - document.location.href = redirect - } + let languagesList = await item.component.resource['ldp:contains']; + languagesList.forEach(async (resource) => { + if (item.component.value.languages['@id'] == resource['@id']) { + var redirect = "http://"+base_url+'/' + (await resource.code).toLowerCase() + '/'+pathAfterThePrefix + document.location.href = redirect + } + }); }) } } @@ -898,6 +917,8 @@ jQuery(document).ready(function($) { window.setTimeout(() => { //Manage accordion by step manageAccordionByStep(); + //manage accordion for "More criteria" + manageAccordionMoreCriteria(); //Init the form file behaviour // initFileUpload(); diff --git a/src/styles/index.scss b/src/styles/index.scss index 4c690d9cc8a3439cff9dfe5b6364beebaf5f6f0c..a3e1bc73d625f204f93eb85223778b87474bd9b1 100644 --- a/src/styles/index.scss +++ b/src/styles/index.scss @@ -1482,6 +1482,31 @@ sib-multiple label, cs-resource-status[name="review.status"]+*{ max-height: 1500px; } } + +/* Enable the accordion of "more criteria form"*/ +sib-set-default[name="more_criterias_hidden"]{ + max-height: 235px; + overflow: hidden; + transition: max-height 0.2s ease-out; +} + +.accordion-form h2{ + position : relative +} +.accordion-form h2:after { + font-family: "Font Awesome 5 pro"; + content: "\f078"; + font-weight: 900; + right: 0; + position: absolute; + transform-origin: .7rem .7rem; + transform: rotate(0); +} + +.accordion-form.active h2:after { + transform: rotate(-90deg); +} + /*XXXXXXXXXXXXXXXXXXXXX DETAIL RESSOURCES XXXXXXXXXXXXXXXXXXXXXXXXXXXXX*/ .format_type p{ border-radius: 5px;