PageSourceSearch

https://app.pro-sky.com/build/assets/booking-group-DeQOquIT.js

js pro-sky.com collected 2026-10-02 19:59:55 UTC 9,774 bytes, 2 lines download raw bytes

1import{C as e,D as t,E as n,Et as r,F as i,G as a,L as o,Ot as s,Pt as c,S as l,Y as ee,_t as te,b as u,ct as d,f as ne,h as f,it as p,jt as m,nt as h,q as g,st as _,t as v,x as y,y as b,yt as x}from"./vue.esm-bundler-DbaDmJgJ.js";import{Cn as S,D as re,Dt as C,Lt as ie,Nn as ae,T as oe,W as se,X as ce,dn as le,pt as w}from"./talk-to-us-DZ9TbE96.js";import{t as T}from"./clipboard-list-CJQnh6qb.js";import{t as E}from"./button-component-yvaGCfKF.js";import{t as D}from"./modal-sVDy-CYs.js";import{t as O}from"./table-component-tanstack-BbdZMTY6.js";import{t as k}from"./booking-group-legs-7SDPbayO.js";import{t as A}from"./booking-group-conditions-gizq1ueq.js";import{t as j}from"./booking-group-passengers-ElNpbou-.js";var M=c({default:()=>G});v();var N={class:`tw-flex tw-scroll-mt-20 tw-flex-col tw-gap-4 tw-rounded-lg tw-border tw-border-gray-300 tw-bg-gray-100 tw-p-4 tw-text-blue-500 tw-transition-all`,ref:`booking_group`},P={class:`tw-ml-2 tw-flex tw-w-full`},F={class:`tw-relative tw-flex tw-items-center`},I={class:`tw-flex tw-items-center tw-font-bold`},L={class:`tw-mt-2 tw-flex tw-gap-4 tw-text-sm`},R={class:`tw-flex tw-items-center`},z={class:`tw-flex tw-items-center`},B={class:`tw-grid tw-grid-cols-12 tw-gap-6`},V={class:`tw-col-span-5 tw-flex tw-flex-col tw-gap-4`},H={class:`tw-rounded-lg tw-border tw-border-gray-200 tw-bg-gray-50 tw-p-4`},U={class:`tw-flex tw-items-center tw-gap-2 tw-text-base tw-font-bold`},W={class:`tw-ml-4 tw-mt-2 tw-list-disc tw-space-y-1 tw-text-sm`},ue={class:`tw-rounded-lg tw-border tw-border-gray-200 tw-bg-gray-50 tw-p-4`},de={class:`tw-flex tw-justify-between`},fe={class:`tw-flex tw-items-center tw-gap-2 tw-text-nowrap tw-text-base tw-font-bold`},pe=[`href`],me={class:`tw-col-span-7`},he={class:`tw-flex tw-items-center tw-gap-2`},ge={class:`tw-text-base tw-font-bold`},_e={class:`tw-mt-2 tw-text-sm`},ve={class:`tw-mt-4 tw-flex tw-basis-full tw-flex-col`},ye={class:`tw-mt-2 tw-text-sm tw-text-red-500 empty:tw-hidden`},G={__name:`booking-group`,props:o({index:{type:Number,required:!0},itinerary:{type:Object,required:!0},projectplan:{type:Object,required:!0}},{modelValue:[],modelModifiers:{}}),emits:o([`statusChange`],[`update:modelValue`]),setup(o,{emit:c}){let v=o,M=h(o,`modelValue`,[]),G=i(`i18n`);a(()=>{M.value=v.itinerary.passengers});let K=te({passengers:[]}),q=b(()=>!K.passengers||K.passengers.length===0?0:K.passengers.split(`
2`).filter(e=>e.trim().length>0).length),J=x(!1),Y=x({}),X=x(!1),be=b(()=>v.itinerary.size===M.value?.length),xe=b(()=>M.value?.every(e=>e.gender&&e.given_name&&e.family_name&&e.born_on&&(!v.itinerary.required_fields.identity_document_number||e.identity_document_number)&&(!v.itinerary.required_fields.identity_document_expires_on||e.identity_document_expires_on)&&(!v.itinerary.required_fields.identity_document_issuing_country_code||e.identity_document_issuing_country_code))),Z=c,Se=b(()=>be.value&&xe.value?(Z(`statusChange`,`completed`),`completed`):(Z(`statusChange`,`todo`),`todo`)),Q=x(!0),Ce=()=>{J.value=!0,axios.post(route(`frontend.app.projectplans.passengers.import`,{projectplan:v.projectplan.id}),{passengers:K.passengers}).then(e=>(Y.value={},$(e.data.data))).catch(e=>{Y.value=e.response?.data.errors||{}}).finally(()=>{J.value=!1})},$=e=>(J.value=!0,axios.post(route(`frontend.app.projectplans.passengers.import-save`,{projectplan:v.projectplan.id}),{passengers:e,itinerary_id:v.itinerary.id,replace_passengers:Q.value}).then(e=>{Y.value={},Q.value?M.value=e.data.data:M.value=[...M.value,...e.data.data],C().success(G.trans(`frontend.projects.confirmed-bookings.import.success`)),K.passengers=[],X.value=!1,Ee.value.expandAccordion(),setTimeout(()=>{Te.value.scrollIntoView({behavior:`smooth`})},500)}).catch(e=>{Y.value=e.response?.data.errors,e.response?.data?.message&&C().error(e.response.data.message)}).finally(()=>{J.value=!1})),we=x([{field:G.trans(`frontend.projects.confirmed-bookings.import.fields.gender`),example:`M/F`},{field:G.trans(`frontend.projects.confirmed-bookings.import.fields.last-name`),example:`Smith`},{field:G.trans(`frontend.projects.confirmed-bookings.import.fields.first-name`),example:`John`},{field:G.trans(`frontend.projects.confirmed-bookings.import.fields.date-of-birth`),example:`28-11-1990`},{field:G.trans(`frontend.projects.confirmed-bookings.import.fields.email`),example:`[email protected]`},...v.itinerary.required_fields?.identity_document_number?[{field:G.trans(`frontend.projects.confirmed-bookings.import.fields.id-number`),example:`123456789`}]:[],...v.itinerary.required_fields?.identity_document_expires_on?[{field:G.trans(`frontend.projects.confirmed-bookings.import.fields.id-expiry`),example:`31-10-2031`}]:[],...v.itinerary.required_fields?.identity_document_issuing_country_code?[{field:G.trans(`frontend.projects.confirmed-bookings.import.fields.id-country`),example:`US/
2DE/etc.`}]:[]]),Te=p(`booking_group`),Ee=p(`accordion`),De=b(()=>v.itinerary.bookings.flatMap(e=>e.conditions?.filter(e=>e.id!==null&&e.type===`advice_of_names`)||[]).some(e=>{let t=new Date,n=new Date(e.date)-t;return Math.ceil(n/864e5)<0}));return(i,a)=>(g(),e(`div`,N,[t(w,{status:Se.value,step:o.index+1,size:7},{default:_(()=>[u(`div`,P,[u(`div`,null,[u(`div`,F,[u(`span`,I,m(o.itinerary.name),1),u(`span`,{class:s([`tw-ml-2 tw-flex tw-size-fit tw-rounded-2xl tw-border tw-bg-white tw-px-2 tw-text-sm`,{"tw-border-gray-200 tw-text-gray-600":o.itinerary.passengers?.length<o.itinerary.size,"tw-border-green-200 tw-text-green-600":o.itinerary.passengers?.length===o.itinerary.size,"tw-border-red-200 tw-text-red-600":o.itinerary.passengers?.length>o.itinerary.size}])},m(o.itinerary.passengers?.length)+`/`+m(o.itinerary.size)+` `+m(r(G).trans(`frontend.projects.confirmed-bookings.import.assigned`)),3)]),u(`div`,L,[u(`span`,R,[t(r(ae),{class:`tw-mr-2 tw-size-6`}),n(` `+m(o.itinerary.bookings?.[0]?.details.first_outbound?.departing_at&&r(ce)(o.itinerary.bookings[0].details.first_outbound.departing_at,{day:`2-digit`,month:`short`,year:`numeric`})),1)]),u(`span`,z,[t(r(ie),{class:`tw-mr-2 tw-size-6 tw-shrink-0 tw-text-blue-500`}),n(` `+m(o.itinerary.bookings.map(e=>e.details.booking_reference).join(`, `)),1)])])]),t(E,{class:`tw-ml-auto tw-self-center`,outlined:``,disabled:De.value,onClick:a[0]||=e=>X.value=!0},{default:_(()=>[t(r(S),{class:`tw-size-6 tw-shrink-0 tw-text-green-500`}),n(` `+m(r(G).trans(`frontend.projects.confirmed-bookings.import.button`)),1)]),_:1},8,[`disabled`])])]),_:1},8,[`status`,`step`]),t(A,{bookings:o.itinerary.bookings},null,8,[`bookings`]),(g(!0),e(f,null,ee(o.itinerary.bookings,t=>(g(),e(f,{key:t.id},[t.legs?(g(),y(k,{key:0,booking:t},null,8,[`booking`])):l(``,!0)],64))),128)),d(t(j,{ref:`accordion`,modelValue:M.value,"onUpdate:modelValue":a[1]||=e=>M.value=e,itinerary:o.itinerary,projectplan:o.projectplan},null,8,[`modelValue`,`itinerary`,`projectplan`]),[[ne,M.value?.length>0]]),X.value?(g(),y(D,{key:0,onClose:a[4]||=e=>X.value=!1,"size-class":`md:tw-w-[58rem]`},{title:_(()=>[n(m(r(G).trans(`frontend.projects.confirmed-bookings.import.title`)),1)]),body:_(()=>[u(`div`,B,[u(`div`,V,[u(`div`,H,[u(`span`,U,[t(r(le),{class:`tw-size-3 tw-shrink-0 tw-text-blue-500`}),n(` `+m(r(G).trans(`frontend.projects.confirmed-bookings.import.notes-heading`)),1)]),u(`ul`,W,[u(`li`,null,m(r(G).trans(`frontend.projects.confirmed-bookings.import.notes-special-chars`)),1)])]),u(`div`,ue,[u(`div`,de,[u(`span`,fe,[t(r(T),{class:`tw-size-5`}),n(` `+m(r(G).trans(`frontend.projects.confirmed-bookings.import.required-heading`)),1)])]),t(O,{"data-test":`booking-group-segments-table`,class:`tw-mt-2`,headers:[{title:r(G).trans(`frontend.projects.confirmed-bookings.import.field`),key:`field`,align:`start`,sortable:!1},{title:r(G).trans(`frontend.projects.confirmed-bookings.import.example`),key:`example`,align:`start`,sortable:!1}],items:we.value,"hide-default-footer":``},null,8,[`headers`,`items`]),u(`a`,{class:`tw-mt-4 tw-flex tw-w-fit tw-items-center tw-gap-1 tw-text-sm tw-font-semibold tw-text-green-500 hover:tw-text-green-600`,href:i.route(`frontend.app.projectplans.itineraries.passengers.import-template`,{projectplan:v.projectplan.id,itinerary:v.itinerary.id})},[t(r(S),{class:`tw-size-6 tw-shrink-0 tw-text-green-500`}),n(` `+m(r(G).trans(`frontend.projects.confirmed-bookings.import.download-template`)),1)],8,pe)])]),u(`div`,me,[u(`div`,null,[u(`div`,he,[u(`span`,ge,m(r(G).trans(`frontend.projects.confirmed-bookings.import.paste-heading`)),1),t(re,{class:s([`tw-border`,{"tw-border-red-200 tw-bg-red-50 tw-text-red-600":q.value>o.itinerary.size}])},{default:_(()=>[n(m(q.value)+`/`+m(o.itinerary.size),1)]),_:1},8,[`class`])]),u(`div`,_e,m(r(G).trans(`frontend.projects.confirmed-bookings.import.paste-instructions`)),1)]),u(`div`,ve,[t(oe,{name:`passengers`,id:`passengers`,placeholder:r(G).trans(`frontend.projects.confirmed-bookings.import.paste-placeholder`),maxlength:`30000`,cols:``,rows:`18`,modelValue:K.passengers,"onUpdate:modelValue":a[2]||=e=>K.passengers=e,error:Y.value?.passengers},null,8,[`placeholder`,`modelValue`,`error`]),u(`div`,ye,m(q.value>o.itinerary.size?r(G).trans(`frontend.projects.confirmed-bookings.import.too-many`):``),1)]),M.value?.length>0?(g(),y(se,{key:0,modelValue:Q.value,"onUpdate:modelValue":a[3]||=e=>Q.value=e,value:!0,name:`extra_luggage`,text:r(G).trans(`frontend.projects.confirmed-bookings.import.replace-label`),class:`tw-mt-4`},{notice:_(()=>[n(m(r(G).trans(`frontend.projects.confirmed-bookings.import.replace-notice`)),1)]),_:1},8,[`modelValue`,`text`])):l(``,!0)])])]),"footer-action":_(()=>[t(E,{onClick:Ce,loading:J.value,disabled:q.value===0},{default:_(()=>[n(m(r(G).trans(`frontend.projects.confirmed-bookings.import.submit`)),1)]),_:1},8,[`loading`,`disabled`])]),_:1})):l(``,!0)],512))}};export{M as n,G 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.