| 1 |
(function(){"use strict";const{InspectorControls:N}=wp.blockEditor,{__:d}=wp.i18n,{PanelBody:y,PanelRow:P,TextControl:v,SelectControl:L,CheckboxControl:u}=wp.components,V=window.fluent_booking_block.hosts,B=Object.values(V),M=o=>{const{attributes:{calendarIds:a,period:w,perPage:E,showFilter:r,showPagination:s,noBookingsMessage:p},setAttributes:n}=o;let g=[];B.map(e=>{g.push({title:e.title,id:e.id})});const f=e=>{let l=!1;return a&&a.forEach(c=>{c==e.id&&(l=!0)}),l},_=()=>a=="all";return wp.element.createElement(N,null,wp.element.createElement(y,{title:"General Settings",initialOpen:!0},wp.element.createElement(P,null,wp.element.createElement("div",{className:"fcal_block_settings"},wp.element.createElement("div",{className:"fcal_block_inspector_widget"},wp.element.createElement("ul",{className:"accordion-list"},wp.element.createElement("div",null,wp.element.createElement(u,{className:"all_calendar_checked",label:d("All Calendars"),value:"all",checked:_(),onChange:e=>{const l=[];e&&l.push("all"),n({calendarIds:[...l]})}}),a!="all"?g.map(e=>wp.element.createElement("div",{key:"calendar-"+e.id,className:"fcal_booking_calendar"},wp.element.createElement(u,{label:e.title,value:e.id,checked:f(e),onChange:l=>{let c=a||[];l?c.push(e.id):c=c.filter(h=>h!=e.id),n({calendarIds:[...c]})}}))):""))),wp.element.createElement("div",{className:"fcal_block_inspector_widget"},wp.element.createElement(L,{label:d("Default Period"),value:w,options:[{label:"Upcoming",value:"upcoming"},{label:"Completed",value:"completed"},{label:"Cancelled",value:"cancelled"},{label:"Pending",value:"pending"},{label:"All",value:"all"}],onChange:e=>{n({period:e})}}),wp.element.createElement(v,{label:"Per Page",type:"number",value:E,onChange:e=>{n({perPage:e})},onBlur:e=>{let l=e.target.value;(isNaN(l)||l<=0||l>100)&&(l=10),n({perPage:parseInt(l)})}}),wp.element.createElement(u,{label:d("Show Filter"),value:r,checked:r,className:"fcal_checkbox_control",onChange:()=>{n({showFilter:!r})}}),wp.element.createElement(u,{label:d("Show Pagination"),value:s,checked:s,onChange:()=>{n({showPagination:!s})}}),wp.element.createElement(v,{label:"No Bookings Message",value:p,onChange:e=>{n({noBookingsMessage:e})}}))))))},{Fragment:C,useEffect:F,useState:b}=wp.element,{RichText:A}=wp.blockEditor,{Spinner:H}=wp.components,{__:m}=wp.i18n,I=o=>{let{attributes:{title:a,calendarIds:w,showFilter:E,showPagination:r,period:s,perPage:p,noBookingsMessage:n},setAttributes:g}=o;const[f,_]=b(!1),[e,l]=b([]),[c,h]=b(0),x=wp.apiFetch,{addQueryArgs:O}=wp.url;F(()=>{z()},[s,p,w]);const z=()=>{_(!0),x({path:O("fluent-booking/v2/bookings",{period:s,per_page:p,calendar_ids:w})}).then(t=>{l(t.bookings),h(t.total)}).catch(t=>{console.log(t)}).finally(()=>{_(!1)})},U=[{label:"Upcoming",value:"upcoming"},{label:"Completed",value:"completed"},{label:"Cancelled",value:"cancelled"},{label:"Pending",value:"pending"},{label:"All",value:"all"}];return[wp.element.createElement(C,null,wp.element.createElement("div",{className:"fcal_booking_management_block_wrap"},wp.element.createElement("div",{className:"fcal_booking_management_header"},wp.element.createElement(A,{tagName:"h2",value:a,onChange:t=>g({title:t}),placeholder:m("Title")}),E&&wp.element.createElement("div",{className:"fcal_booking_header_action"},U.map((t,k)=>wp.element.createElement("div",{className:"fcal_booking_radio_btn"},wp.element.createElement(C,{key:k},wp.element.createElement("input",{type:"radio",name:"booking_period",id:`fcal_period_${k}`,value:t.value,checked:s===t.value,onChange:()=>{}}),wp.element.createElement("label",{htmlFor:`fcal_period_${k}`},t.label)))))),wp.element.createElement("div",{className:"fcal_all_bookings"},wp.element.createElement("div",{className:"fcal_bookings"},wp.element.createElement("div",{className:"fcal_bookings_wrapper"},f?wp.element.createElement("h2",null,m("Loading..."),wp.element.createElement(H,null)):c>0?wp.element.createElement("div",null,e.length&&e.map(t=>wp.element.createElement("div",{className:"fcal_booking",key:t.id},wp.element.createElement("div",{className:`fcal_spot_wrapper fcal_spot_status_${t.status}`},wp.element.createElement("div",{className:"fcal_spot_line"},wp.element.createElement("div",{className:"fcal_spot_timing"},wp.element.createElement("p",{className:"fcal_booking_date"},t.booking_date),wp.element.createElement("p",{className:"fcal_booking_time"},t.booking_time),wp.element.createElement("p",{className:"fcal_booking_timezone"},t.person_time_zone)),wp.element.createElement("div",{className:"fcal_spot_desc"},wp.element.createElement("h3",{className:"fcal_spot_title",dangerouslySetInnerHTML:{__html:t.booking_title}}),wp.element.createElement("div",{className:"fcal_spot_desc_sub_info"},wp.element.createElement("span",{className:"fcal_spot_period_status"},t.status))),wp.element.createElement("div",{className:"fcal_spot_actions"},wp.element.createElement("button",{className:"fcal_plain_btn"},m("View")))))))):wp.element.createElement("div",{className:"fcal_no_bookings"},wp.element.createElement("p",null,n))))),r&&wp.element.createElement("ul",{className:"fcal_booking_pagination"},wp.element.createElement("span",null,m("Total")," ",c),wp.element.createElement("select",{className:"fcal_booking_per_page"},wp.element.createElement("option",{selected:!0},p,"/",m("page"))),wp.element.createElement("ul",{className:"fcal_booking_pager"},wp.element.createElement("li",{class:"active"},wp.element.createElement("span",null,"1")),wp.element.createElement("li",null,wp.element.createElement("span",null,"2")),wp.element.createElement("li",null,wp.element.createElement("span",null,"3"))))))]},{Fragment:R}=wp.element,{useBlockProps:S}=wp.blockEditor,T=o=>{const a=S({className:"fluent-booking-block"});return wp.element.createElement(R,null,wp.element.createElement("div",{...a},wp.element.createElement(I,{attributes:o.attributes,setAttributes:o.setAttributes})),wp.element.createElement(M,{attributes:o.attributes,setAttributes:o.setAttributes}))},{__:j}=wp.i18n,$={title:{type:"string",default:"My Bookings",role:"content"},showFilter:{type:"boolean",default:!0},showPagination:{type:"boolean",default:!0},period:{type:"string",default:"all"},perPage:{type:"number",default:5},noBookingsMessage:{type:"string",default:"No bookings found",role:"content"},calendarIds:{type:"array",default:["all"]}},{__:i}=wp.i18n,{registerBlockType:Z}=wp.blocks;Z("fluent-booking/booking-management",{apiVersion:3,title:i("FluentBooking Bookings"),description:i("Logged-in user bookings"),category:"layout",icon:{src:wp.element.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",width:"30",height:"32",viewBox:"0 0 30 32",fill:"none"},wp.element.createElement("g",{clipPath:"url(#clip0_1688_2013)"},wp.element.createElement("path",{d:"M10.1203 1.01286C10.1203 0.453471 9.66787 0 9.10977 0C8.55167 0 8.09924 0.453471 8.09924 1.01286V4.05141C8.09924 4.6108 8.55167 5.06427 9.10977 5.06427C9.66787 5.06427 10.1203 4.6108 10.1203 4.05141V1.01286Z",fill:"#2653C7"}),wp.element.createElement("path",{d:"M22.2466 1.01286C22.2466 0.453471 21.7942 0 21.2361 0C20.678 0 20.2256 0.453471 20.2256 1.01286V4.05141C20.2256 4.6108 20.678 5.06427 21.2361 5.06427C21.7942 5.06427 22.2466 4.6108 22.2466 4.05141V1.01286Z",fill:"#2653C7"}),wp.element.createElement("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M17.3622 16.8131C17.2566 17.6376 16.9154 18.3876 16.4061 18.992C15.8715 19.6303 15.152 20.1068 14.3302 20.3405L14.2947 20.3506L14.2145 20.3718L14.2078 20.3735L7.84399 22.0834V20.6003C7.84399 20.5673 7.84399 20.5343 7.84738 20.5013C7.88455 19.8808 8.27389 19.3543 8.81778 19.1215C8.87942 19.0944 8.94277 19.0716 9.00865 19.0538L9.06861 19.0377L17.3613 16.8105V16.8131H17.3622Z",fill:"#2653C7"}),wp.element.createElement("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M22.503 11.3442C22.2868 13.0363 21.0731 14.4161 19.471 14.8716L19.4355 14.8817L19.3562 14.9029H19.3553L19.3486 14.9046L7.84399 17.9943V16.5113C7.84399 15.8476 8.24516 15.2779 8.81778 15.0324L9.00865 14.9647L9.06776 14.9486L22.5021 11.3408V11.3442H22.503Z",fill:"#2653C7"}),wp.element.createElement("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M6.33094 3.54525H24.0152C26.3871 3.54525 28.3099 5.4725 28.3099 7.84988V22.1785H30.331V7.84988C30.331 4.35371 27.5033 1.51953 24.0152 1.51953H6.33094C2.84281 1.51953 0.0151367 4.35371 0.0151367 7.84988V25.5748C0.0151367 29.071 2.84281 31.9052 6.33094 31.9052H20.5468V29.8795H6.33094C3.95902 29.8795 2.03619 27.9522 2.03619 25.5748V7.84988C2.03619 5.4725 3.95902 3.54525 6.33094 3.54525Z",fill:"#2653C7"}),wp.element.createElement("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M30.346 22.415V22.083H20.5468V31.9048H20.8779L30.346 22.415Z",fill:"#2653C7"})),wp.element.createElement("defs",null,wp.element.createElement("clipPath",{id:"clip0_1688_2013"},wp.element.createElement("rect",{width:"159",height:"32",fill:"white"}))))},keywords:[i("fluent"),i("fluent booking"),i("calendar"),i("booking")],supports:{align:["wide","full"],html:!0},attributes:$,edit:T})})(); |