PageSourceSearch

https://app.turtwell.com/_nuxt/D19pYu0N.js

js turtwell.com collected 2026-10-06 18:25:25 UTC 8,033 bytes, 1 lines download raw bytes

1import{f as e}from"./Df0RAQVD.js";import{g as t,vn as n,xn as r}from"./Car86Ubo.js";import{_ as i,m as a,t as o}from"./B_Bmk-vg.js";import{C as s,t as c,w as l,z as u}from"./a8JPC5Z8.js";import{t as d}from"./2l4T5eRM.js";import{n as f,t as p}from"./Msph0XLE.js";var m=a(`paroiLeaveIntent`,()=>{let e=n(null),r=n(null),i=n(!1);function a(t){e.value=t,r.value=null}function o(t){r.value=t,e.value=null}function s(e){e.destination===void 0?e.action!==void 0&&o(e.action):a(e.destination)}function c(){let t=e.value;return e.value=null,t}function l(){let e=r.value;return r.value=null,e}function u(){e.value=null}function d(){r.value=null}function f(){e.value=null,r.value=null}function p(){i.value=!0}function m(){i.value=!1}let h=t(()=>e.value!==null||r.value!==null);return{hasPendingDestination:t(()=>e.value!==null),hasPendingLeaveIntent:h,isOpenSaveDialogRequested:t(()=>i.value),setPendingDestination:a,setPendingAction:o,setLeaveIntent:s,takePendingDestination:c,takePendingAction:l,clearPendingDestination:u,clearPendingAction:d,clearLeaveIntent:f,requestOpenSaveDialog:p,clearOpenSaveDialogRequest:m}});function h(){let n=e(),r=t(()=>{let e=n.path;if(e===`/ecowall`||e===`/ecowall/`)return!0;if(!/^\/ecowall\/[^/]+\/paroi\/[^/]+\/?$/.test(e))return!1;let t=/^\/ecowall\/\d+\/paroi\/\d+\/pdf\/preview\/?$/.test(e),r=/^\/ecowall\/\d+\/paroi\/\d+\/pdf\/playwright\/?$/.test(e);return!t&&!r}),i=t(()=>/^\/ecowall\/shared\/[^/]+\/?$/.test(n.path));return{isEcowallEditorRoute:r,isEcowallSharedParoiRoute:i,isLoginDialogRoute:t(()=>r.value||i.value)}}var g=[{value:`1`,label:`ITI`,description:`Isolation thermique par l'intérieur`},{value:`2`,label:`ITE`,description:`Isolation thermique par l'extérieur`},{value:`3`,label:`ITE + ITI`,description:`Isolation thermique intérieure et extérieure`},{value:`4`,label:`ITR`,description:`Isolation thermique répartie`},{value:`5`,label:`OB`,description:`Ossature bois`},{value:`6`,label:`OM`,description:`Ossature métal`},{value:`7`,label:`BI`,description:`Bloc avec isolation intégrée`},{value:`8`,label:`Autre cas`,description:`Cas non couvert par les catégories précédentes`}];function _(e){return!e||!(`id_inies`in e)?null:typeof e.id_inies==`number`?e.id_inies:null}function v(e){return e?{id:e.id,type:e.type,norme:e.norme,id_inies:_(e),id_epdc:e.type===`CONFIGURATEUR`&&`id_epdc`in e&&typeof e.id_epdc==`string`?e.id_epdc:null}:null}function y(e){return e.caracteristiques.mu_mode===1?e.caracteristiques.mu_humide:e.caracteristiques.mu_sec}function b(e){if(typeof e!=`string`)return null;let t=e.trim();if(!t)return null;let n=t.match(/^#?([0-9a-f]{3}|[0-9a-f]{6})$/i);if(!n)return null;let[,r=``]=n;return`#${(r.length===3?r.split(``).map(e=>`${e}${e}`).join(``):r).toUpperCase()}`}function x(e,t){let n=new Map;return t?.length&&e.forEach((r,i)=>{let a=t[e.length-1-i];a&&n.set(r.uid,a.mu)}),n}function S(e,t){let n=e.caracteristiques;return{nom:e.nom,epaisseur:n.epaisseur,conductivite_thermique:n.lambda,capacite_thermique:n.cp,masse_volumique:n.rho,resistance_vapeur_eau_sec:n.mu_sec,resistance_vapeur_eau_humide:n.mu_humide,resistance_vapeur_eau_mode:n.mu_mode,absorptivite_solaire:n.alpha,emissivite:n.epsilon,mu_etude:t??y(e),id_inies:_(e.acv),color:b(e.color),acv_reference:v(e.acv)}}function C(e){return e?{entraxe:e.entraxe,largeur:e.largeur,type_pt:e.type_pt,shift:e.shift,epaisseur_haut_bas:e.epaisseur_haut_bas,largeur_haut_bas:e.largeur_haut_bas,pt_disabled:e.materiau.disabled,is_crossed:e.isCrossed,materiau:S(e.materiau)}:null}function w(e,t){return e.map(({materiau:e,indice:n})=>({indice:n,disabled:e.disabled,materiau:S(e,t.get(e.uid)),pont_thermique:C(e.pont_thermique)}))}function T(e){try{let t=new TextEncoder().encode(e),n=Array.from(t,e=>String.fromCodePoint(e)).join(``);return btoa(n)}catch{return btoa(unescape(encodeURIComponent(e)))}}function E(e){if(!e)return null;let t=new XMLSerializer().serializeToString(e).trim();return!t||!t.includes(`<svg`)?null:T(t)}function D(e){let t=new DOMParser().parseFromString(e,`image/svg+xml`).querySelector(`svg`);return t instanceof SVGSVGElement?t:null}function O(e){if(!e.startsWith(`data:image/svg+xml`))return e.includes(`<svg`)?e:null;let[,t=``]=e.split(`,`,2);if(!t)return null;if(e.includes(`;base64,`))try{return new TextDecoder().decode(Uint8Array.from(atob(t),e=>e.charCodeAt(0)))}catch{return null}try{return decodeURIComponent(t)}catch{return null}}
1function k(e,t,n){let r=D(e),i=D(t);if(!i||!r)return null;let a=i.cloneNode(!0),{imageWidth:o,imageHeight:s,chartOpacity:c,paroiX:l,paroiY:u,paroiDisplayWidth:d,paroiDisplayHeight:f}=n;r.setAttribute(`x`,`0`),r.setAttribute(`y`,`0`),r.setAttribute(`width`,String(o)),r.setAttribute(`height`,String(s)),r.setAttribute(`preserveAspectRatio`,`none`),r.setAttribute(`opacity`,String(c)),a.setAttribute(`x`,String(l)),a.setAttribute(`y`,String(u)),a.setAttribute(`width`,String(d)),a.setAttribute(`height`,String(f)),a.setAttribute(`preserveAspectRatio`,`none`);let p=document.createElementNS(`http://www.w3.org/2000/svg`,`svg`);return p.setAttribute(`xmlns`,`http://www.w3.org/2000/svg`),p.setAttribute(`width`,String(o)),p.setAttribute(`height`,String(s)),p.setAttribute(`viewBox`,`0 0 ${o} ${s}`),p.appendChild(a),p.appendChild(r),new XMLSerializer().serializeToString(p)}function A(e,t){if(!e||!t)return null;let n=c(),r=f-28,i=r-60-36,a=i/n.paroiLongueur,o=n.paroiEpaisseur*a,s=r,l=o+58+40,u=1,d=p*.36;l>d&&(u=d/l,s*=u,l=d);let m=O(e);if(!m)return null;let h=i*u,g=o*u,_=(s-h)/2+24*u/2,v=(l-g)/2+18*u/2,y=k(m,t,{imageWidth:s,imageHeight:l,chartOpacity:.7,paroiX:_,paroiY:v,paroiDisplayWidth:h,paroiDisplayHeight:g});return y?T(y):null}async function j(e,t){return A(e,t)}function M(e,t,n,r,i,a,o,l,d){let f=s(),p=c(),m=f.selectedMateriaux.flatMap((e,t)=>e.disabled?[]:[{materiau:e,indice:t}]),h=m.map(({materiau:e})=>e),g=u(h,p.typeParoi.id===`plancher_bas`),_=new Set(g.map(({uid:e})=>e)),v=m.filter(({materiau:e})=>_.has(e.uid)),y=m.filter(({materiau:e})=>!_.has(e.uid)),b=x(g,o);return{project_id:e,paroi:{id:typeof t==`number`&&t>0?t:null,nom:n,type_paroi:p.typeParoi.id,contact_haut:p.contactHaut.id,contact_bas:p.contactBas.id,systeme_constructif:r,up:i,delta_up:a,image_base64:l,image_thermique_base64:d,acv_complementaires:[],couches:w(v,b),couches_non_thermiques:w(y,b)}}}function N(e,t,n,r,i,a,o,s,c){return M(e,t,n,r,i,a,o,E(s),c)}function P(e,t,n,r,i,a){return M(e,t,n,null,r,i,a,null,null)}function F(e,t,n={}){let r=d(),i=s(),a=c(),o=r.bilanIsolationThermique?.UvalueTable,u=r.bilanCondensation?.region_mu_hr,f=n.includePleiadesSnapshot&&o&&u?.length?P(e,n.paroiId,t,o.Uef,Math.abs(o.Uef-o.Uexacte),u):null,p={idProjet:e,nomParoi:t,description:a.paroi?.description??``,contact_bas:a.contactBas.id,contact_haut:a.contactHaut.id,type_paroi:a.typeParoi.id,orientation_paroi:a.orientationParoi.id,inclination_paroi:a.inclinationParoi.value,temperature_interieure:a.userTint,temperature_exterieure:a.userText,humidite_interieure:a.userHint,humidite_exterieure:a.userHext,condition_exterieure_mode:a.conditionExterieureMode,climate_stat_t:a.climateStatT,climate_stat_h:a.climateStatH,mu_simulation_mode:a.muSimulationMode,selected_month:a.selectedMonth??null,couches_write:i.selectedMateriaux.map((e,t)=>l().toApi(e,t))};return n.includePleiadesSnapshot?{...p,pleiades_export_payload:f}:p}var I=a(`unsavedParoiGuard`,()=>{let e=c(),a=s(),l=o(),{isAuthenticated:u}=i(l),{isEcowallEditorRoute:d}=h(),f=n(``),p=r(null),m=n(!1);function g(e){f.value=e}function _(){f.value=``,p.value=null}function v(){return e.paroi?JSON.stringify(F(f.value,e.paroi.nom)):null}function y(){if(!e.paroi||e.paroi.id===0){p.value=null;return}p.value=v()}let b=t(()=>e.paroi?.id===0),x=t(()=>{if(!e.paroi)return!1;if(e.paroi.id===0)return a.selectedMateriaux.length>0;if(!p.value)return!1;let t=v();return t!==null&&t!==p.value});return{isLeaveDialogOpen:m,isNewParoi:b,hasUnsavedChanges:t(()=>d.value&&x.value&&u.value),hasUnsavedChangesOnWall:x,setProjectId:g,resetGuard:_,captureRuntimeWall:y}});
1export{j as a,N as i,F as n,h as o,g as r,m as s,I as t};

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.