PageSourceSearch

https://www.tourisme-maine-saosnois.com/app/dist/maine-saosnois/ad…/woody-favorites-dialog.420a4260f4.mjs

js tourisme-maine-saosnois.com collected 2026-10-02 16:23:22 UTC 5,121 bytes, 1 lines download raw bytes

1import{store as w}from"woody_addon_favorites_tools";let v=null,b={};function Q(t){if(v=t||document.querySelector("[data-wfav-dialogs]"),!v)return!1;if(!window.jQuery)return console.warn("[FAVORITES] Foundation Reveal indisponible, dialogues d\xE9sactiv\xE9s"),v=null,!1;document.querySelectorAll("[data-wfav-role]").forEach(o=>{o.setAttribute("role",o.dataset.wfavRole)});const e=v.querySelector("[data-wfav-dialogs-config]");if(e)try{b=(JSON.parse(e.textContent)||{}).i18n||{}}catch(o){console.error(["[FAVORITES]",o])}return!0}function V(){return!!v&&!!window.jQuery}function j(t){const e=k("add");return e?(x(e,"subject",t&&t.title?t.title:""),m(e,"list"),F(e),q(e,(o,r)=>{r.on("[data-wfav-dialog-confirm]","click",()=>{o({confirmed:!0,groups:_(e)})}),r.on("[data-wfav-dialog-newgroup]","click",()=>{m(e,"create"),E(e.querySelector('[data-wfav-dialog-view="create"]')),O(e,p("dialog_create_view"))}),r.on("[data-wfav-dialog-back]","click",()=>{h(e),m(e,"list"),E(e.querySelector('[data-wfav-dialog-view="list"]'))}),r.on("[data-wfav-dialog-create]","click",()=>{const n=y(e);if(!n)return;m(e,"list"),F(e,[n]),O(e,p("group_created",w.getGroup(n).name));const a=e.querySelector('[data-wfav-dialog-group-checkbox][value="'+n+'"]');a&&a.focus()})},{confirmed:!1,groups:[]})):Promise.resolve({confirmed:!0,groups:[]})}function F(t,e){const o=t.querySelector("[data-wfav-dialog-grouplist]"),r=t.querySelector("[data-wfav-dialog-nogroup]");if(!o)return;const n=e||[],a=w.getGroups();o.textContent="",a.forEach(d=>{const i=R("dialog-group-option");if(!i)return;const l=i.querySelector("[data-wfav-dialog-group-checkbox]");l.value=d.id,l.checked=n.indexOf(d.id)!==-1,x(i,"name",d.name),o.appendChild(i)}),r&&(r.hidden=a.length>0)}function _(t){return[...t.querySelectorAll("[data-wfav-dialog-group-checkbox]")].filter(e=>e.checked).map(e=>e.value)}function z(){const t=k("group");if(!t)return Promise.resolve(null);const e=t.querySelector("[data-wfav-dialog-name]");return e&&(e.value=""),h(t),q(t,(o,r)=>{r.on("[data-wfav-dialog-create]","click",()=>{const n=y(t);n&&o(n)}),r.onEnter(t.querySelector("[data-wfav-dialog-name]"),()=>{const n=y(t);n&&o(n)})},null)}function y(t){const e=t.querySelector("[data-wfav-dialog-name]");if(!e)return null;const o=e.value.trim();if(o==="")return S(t,e,p("group_name_required"));if(w.getGroups().some(n=>n.name===o))return S(t,e,p("group_name_duplicate"));const r=w.createGroup(o);return r?(h(t),e.value="",r):S(t,e,p("max_groups"))}function S(t,e,o){const r=t.querySelector("[data-wfav-dialog-name-error]");return r&&(r.textContent=o),e.setAttribute("aria-invalid","true"),e.focus(),null}function h(t){const e=t.querySelector("[data-wfav-dialog-name-error]");e&&(e.textContent="");const o=t.querySelector("[data-wfav-dialog-name]");o&&o.removeAttribute("aria-invalid")}function D(t){const e=k("confirm");return e?(x(e,"message",t),q(e,(o,r)=>{r.on("[data-wfav-dialog-confirm]","click",()=>o(!0))},!1)):Promise.resolve(!1)}function q(t,e,o){return new Promise(r=>{const n=window.jQuery?window.jQuery(t):null,a=[];let d=!1,i=!1;const l=document.activeElement,A={on(c,s,u){t.querySelectorAll(c).forEach(f=>{f.addEventListener(s,u),a.push([f,s,u])})},onEnter(c,s){if(!c)return;const u=f=>{f.key==="Enter"&&(f.preventDefault(),s())};c.addEventListener("keydown",u),a.push([c,"keydown",u])}},g=c=>{d||(d=!0,a.forEach(([s,u,f])=>s.removeEventListener(u,f)),!n||i?G():(n.off("closed.zf.reveal",C),n.one("closed.zf.reveal",G)),n&&n.foundation("close"),l&&l.isConnected&&typeof l.focus=="function"&&l.focus({preventScroll:!0}),r(c))},C=()=>{i=!0,g(o)};n&&n.on("closed.zf.reveal",C),A.on("[data-wfav-dialog-cancel]","click",()=>g(o)),e(g,A),L(),T(t,n)})}function L(){document.documentElement.classList.add("is-reveal-closed")}function G(){Array.prototype.some.call(document.querySelectorAll(".reveal"),e=>e.offsetParent!==null)||document.documentElement.classList.remove("is-reveal-closed")}function T(t,e){if(e)e.foundation("open");else{console.warn("[FAVORITES] Foundation Reveal indisponible");return}window.setTimeout(()=>{const o=t.querySelector("[data-wfav-autofocus]");o?o.focus():E(t)},0)}function m(t,e){t.querySelectorAll("[data-wfav-dialog-view]").forEach(o=>{o.hidden=o.dataset.wfavDialogView!==e})}const P="input:not([disabled]), button:not([disabled]), select, textarea, a[href]";function E(t){if(!t)return;const e=[...t.querySelectorAll(P)].filter(o=>o.offsetParent!==null&&!o.closest("[hidden]"))[0];e&&e.focus()}function O(t,e){const o=t.querySelector("[data-wfav-dialog-live]");!o||!e||(o.textContent="",window.setTimeout(()=>{o.textContent=e},60))}function k(t){return document.querySelector('[data-wfav-dialog="'+t+'"]')}function R(t){const e=document.querySelector('[data-wfav-tpl="'+t+'"]');return e?e.content.firstElementChild.cloneNode(!0):null}function x(t,e,o){const r=t.querySelector('[data-wfav-slot="'+e+'"]');r&&(r.textContent=o)}function p(t,...e){let o=0;return String(b[t]||"").replace(/%(\d+\$)?[sd]/g,(r,n)=>{const a=n?parseInt(n,10)-1:o++;return e[a]===void 0?r:String(e[a])})}
1export{V as available,Q as init,j as openAdd,D as openConfirm,z as openGroupCreate};

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.