1var K=Object.defineProperty,j=Object.defineProperties;var q=Object.getOwnPropertyDescriptors;var L=Object.getOwnPropertySymbols;var Q=Object.prototype.hasOwnProperty,W=Object.prototype.propertyIsEnumerable;var T=(t,e,n)=>e in t?K(t,e,{enumerable:!0,configurable:!0,writable:!0,value:n}):t[e]=n,u=(t,e)=>{for(var n in e||(e={}))Q.call(e,n)&&T(t,n,e[n]);if(L)for(var n of L(e))W.call(e,n)&&T(t,n,e[n]);return t},b=(t,e)=>j(t,q(e));import{r as D,a as i,j as s,F as $}from"./main-B9wV6Cql.js";import{M as Y,N as R,o as A,T as P}from"./VendorSelect-DuUcGn0a.js";import{S as I,A as z,B as G}from"./toggle-chip-D6vMvTZN.js";import"./index-DQWI8Hr8.js";import"./_getTag-DBY1s0cz.js";import"./intake-C2dFaEof.js";import"./infinite-query-BGtKJSDl.js";import"./global-context-COG0eD9r.js";import"./reminder-BvdyQ7Ff.js";import{Q as V}from"./payment-CUUKrIv9.js";import"./booking-JIfZtVJU.js";import"./notification-CC30Kj14.js";import"./practice-CDm3OHHm.js";import"./service-B286ZVhA.js";import"./reviews-B3CNb4A-.js";import"./schedule-DyWFH3IO.js";import"./stripe-CdfbBVoh.js";import"./default-query-client-DcdiJNN5.js";import"./patient-BbO-Ua0w.js";import{f as J,g as X}from"./practitioner-kYauorB5.js";import"./utils-BJbGSveZ.js";import"./query-client-provider-DZBt-zWH.js";import{N as B,S as Z,x as tt,at as it,y as et,F as U}from"./index-CCUlhnxL.js";import"./portal-timezone-provider-Dhg16KJM.js";import"./fingerprint2-DM2z7wCT.js";import{u as H,M as ot}from"./use-modal-BTgjFVbb.js";import{u as nt}from"./use-modal-on-url-C-atoBAT.js";import"./drawing-image-intake-panel-wDNqxDjI.js";import"./services-intake-panel-CMzFS80b.js";import{M,B as E}from"./Button-DxQgRA_o.js";import"./index-DO4cJ5bz.js";import"./InvoiceIcon-B3nVEh2a.js";import"./NodeInterpolator-BfpX8Yl8.js";import"./broadcast-D90nzJVu.js";import"./URLInput-CsQKvSq9.js";import{T as v,a as x,M as at,I as rt}from"./MobileFriendlyModal-BioEQ_-A.js";import"./AppointmentLabels-BA5FfUJe.js";import"./use-calendar-context-CG9WXGr2.js";import"./TaskModal-BbjEh1sk.js";import"./EligibilityResultsDisplay-B87bBKvw.js";import"./mobile-BREEzDYb.js";import{f as mt,g as st}from"./RibbonSearchForm-BuEEbBIY.js";import"./CommunicationForm-Cd6xGxJg.js";import"./PaymentCollectForm-DysgLtFJ.js";import"./AiAddonUpgradePrompt-BH0wOMmo.js";import"./PatientDuplicateResolver-BSyJqU5c.js";import{N as ct}from"./notifications-override-details-DdvzSz50.js";import"./PatientTagsHover-CwYHWugJ.js";import"./home-weekly-picker-Bjy8YgfO.js";import{E as lt}from"./edit-icon-CWI30Phd.js";import{a as pt,S as dt}from"./notifications-list-1iE9lPbz.js";import{c as ft,d as ut,e as ht}from"./notification-Cma7E9-_.js";import{u as _t}from"./storage-lmXWPgCd.js";import"./use-create-or-update-mutation-B0gp953-.js";import"./button-group-DazktfHi.js";import"./check-circle-icon-BbcaOWMz.js";import"./practitioner-3ageHDtS.js";import"./Visa-C6B33o7E.js";import"./isEqual-BGmvLYth.js";import"./service-B6XXbEdt.js";import"./color-aFITURZp.js";import"./arrow-right-icon-BA2HcfsZ.js";import"./content-box-BwK7lsbj.js";import"./createSvgIcon-BQFS9WsI.js";import"./stripe-card-input-Belgezv3.js";import"./use-app-top-BbjDEnaz.js";import"./use-run-once-effect-BE1xTfSI.js";import"./stripe-Zn8yMIO6.js";import"./payment-800CaPPB.js";import"./show-more-text-DR1DDfOx.js";import"./schedule-BGomhQjO.js";import"./control-query-data-i26gmfTz.js";import"./infiniteQueryBehavior-DGmeQ-XY.js";import"./browser-BdK0jmuW.js";import"./dialog-content-CEed5YPQ.js";import"./ClickAwayListener-ZaA-9x7L.js";import"./stripe-BwCiD_Hw.js";import"./ai-features-Dg32_Xqw.js";import"./use-ai-addon-info-C3IIUV_O.js";import"./disabled-message-RCz8TIY-.js";import"./use-streaming-audio-recorder-CQBtA5yd.js";import"./intake-ai-CMYiPLQw.js";import"./intake-DyGEvoFk.js";import"./confirm-B0y1Pcyl.js";import"./AccessTime-FNw90W4U.js";import"./browser-BPftNXrQ.js";import"./count-down-DvjHXX7I.js";import"./divider-C4pvGq6r.js";import"./check-icon-B-F4Vj3q.js";import"./ConfirmableButton-BdVpLICw.js";import"./menu-item-CNdnYEzm.js";import"./CheckIcon-CQS0kmXG.js";import"./trash-icon-DP4s4MMO.js";import"./DisabledMessage-DAte_Rb-.js";import"./reminder-BatXSlo5.js";import"./CopyIcon-uxV2Hd1e.js";import"./ButtonToolbar-tDzKLDJE.js";import"./DateInput-CXADDetP.js";import"./date-0kJHatXC.js";import"./YesNoField-Kpf5Cs_W.js";import"./node-interpolator-NMOxMgUL.js";import"./IntakeVisitLink-CkxHMjfR.js";import"./viewport-DIual82y.js";import"./EditObjectIcon-CrFPf9GM.js";import"./LinkButton-DG958N7s.js";import"./plus-icon-Be-QZm7g.js";import"./ReorderableList-DHA1kD7N.js";import"./claims-C5kpVto6.js";import"./payment-alert-events-1duv7LyZ.js";import"./clipboard-wxSovz8J.js";import"./DuplicateAlert-lLgnjN2_.js";import"./inventory-B6tNOdWM.js";import"./OfficeSelect-C32XHB0U.js";import"./button-link-B-9DHb4B.js";import"./PrinterIcon-BDhRgS8Y.js";import"./html-content-BAxvTvMI.js";import"./StickyTableHeader-9qBgyZ5Z.js";import"./arrow-left-icon-BB9y6c9a.js";import"./EmptyList-MEj5fgnO.js";import"./search-icon-BY3no_a8.js";import"./BillingActionsButton-DNv6qAvN.js";import"./vault-drawer-CUIXpMYj.js";import"./use-keyboard-open-B1I1hUTD.js";import"./FormulaSelect-juo1w_Qj.js";import"./HerbIngredientFormset-CkwDJlpX.js";import"./HerbSelect-DzQwDHrg.js";import"./magic-token-login-form-s9IV-L0l.js";
1import"./booking-DW4AtQ0c.js";import"./intercom-CeMpPZT5.js";import"./Snackbar-BtvQ7Kxa.js";import"./uniqBy-Q0-ex-IR.js";import"./use-find-zip-codes-Dq9jqf2X.js";import"./password-field-BMKXolLn.js";import"./list-Basebuw4.js";import"./list-item-CgPBv-k4.js";import"./list-item-icon-CWuMJicS.js";import"./list-item-text-DwDfbTmJ.js";import"./lexical-markdown-B6m3cZrp.js";import"./KeyboardArrowDown-DJj36jGu.js";import"./expand-more-icon-DSi-a89K.js";import"./date-DBq0jNr-.js";import"./_stringToArray-C8YK6iA-.js";import"./no-translate-bYI5yHAC.js";import"./dollar-icon-DpgOX2ZR.js";import"./stethoscope-icon-614zKxhZ.js";import"./CalendarTodayOutlined-zp_nYPTu.js";import"./RefreshIcon-BaR3w8rf.js";import"./CalendarToday-DaBkRoxk.js";import"./TimeSelect-bP0wfSX0.js";import"./TaskNoteForm-DCmDYxeR.js";import"./calendar-icon-V8ehviNz.js";import"./LocationOn-2HWJaYfE.js";import"./PersonIcon-BhQjueXj.js";import"./location-icon-DhlgNPaB.js";import"./notification-important-icon-DM1AZJfO.js";import"./GoUpButton-DY8AHF3P.js";import"./MedicalPractitionerSelect-CfTW1p_P.js";import"./EmailOutlined-3WzYBeFj.js";import"./person-icon-B9dIax0e.js";import"./accordion-summary-DrqT8wsO.js";import"./email-outline-icon-BH85_Sxm.js";import"./has-access-to-feature-xB3UAHmk.js";import"./PatientStatusLine-B3hrbjN-.js";import"./use-practice-enabled-notification-channels-for-patients-UHHKHHQT.js";import"./google-icon-BcF9AMOI.js";import"./EmailInput-11cfGnU_.js";import"./user-C4grDGuh.js";import"./medical-services-outlined-icon-Da9xhXmd.js";import"./CheckCircleOutline-CTZSKH2y.js";import"./ExpandMore-DLwNnmFq.js";import"./membership-ZPIxLcpC.js";import"./chevron-right-icon-ueXbUIGa.js";import"./person-add-alt-1-outlined-icon-BdnU54Cl.js";import"./useIsMutating-CuwuOdd-.js";import"./group-notification-channels-DjhicvdF.js";import"./withSafeExit-BMct2mfo.js";import"./use-derived-state-D13SbVqs.js";import"./use-deep-compare-effect.esm-CME5sE3K.js";import"./useIsFetching-oS8_LMp9.js";import"./AutoAwesome-aR0GZqs5.js";import"./calendar-picker-DlSB8Ln0.js";import"./index.esm-CjfieOVk.js";import"./utils-P4CHGnei.js";try{let t=typeof window!="undefined"?window:typeof global!="undefined"?global:typeof globalThis!="undefined"?globalThis:typeof self!="undefined"?self:{},e=new t.Error().stack;e&&(t._sentryDebugIds=t._sentryDebugIds||{},t._sentryDebugIds[e]="3c9106e9-5677-41cd-b891-eaf11b91553c",t._sentryDebugIdIdentifier="sentry-dbid-3c9106e9-5677-41cd-b891-eaf11b91553c")}catch(t){}const F=t=>i(Z,b(u({placeholder:gettext("Time")},t),{clearable:!1,matchPos:"start",inputStyle:{marginBottom:0}})),S={width:{xs:"100%",sm:"calc(50% - 8px)"},maxWidth:"none",flex:{xs:"1 1 100%",sm:"0 1 calc(50% - 8px)"},minWidth:0};function gt(t){return{notification_channels:t.notification_channels,notify_own_changes:t.notify_own_changes,notify_waitlist_appointments:t.notify_waitlist_appointments,alert_upcoming_appointment:t.alert_upcoming_appointment,alert_upcoming_appointment_offset:t.alert_upcoming_appointment_offset,alert_upcoming_appointment_sound:t.alert_upcoming_appointment_sound}}function bt(t){const e=t.instance.is_medical_provider?"patient-birthday-reminder-practitioner-web":"patient-birthday-reminder-staff-web",[n,h]=D.useState(u({},t.instance)),_=_t(),{mutate:d,isLoading:f}=J(t.instance.uid,{onSuccess:()=>{_.invalidateQueries(V.Practitioner.current.queryKey)}}),{data:m}=ft(e,t.instance.is_medical_provider?"api:practitioner-notification-channel-detail":"api:staff-notification-channel-detail"),{mutate:k}=ut("patient-birthday-reminder-staff-web"),{mutate:r}=ht("patient-birthday-reminder-practitioner-web"),w=o=>{o.preventDefault(),d(gt(n),{onSuccess:y=>{var g;(g=t.onSave)==null||g.call(t,y)}})},l=(o,y)=>{h(g=>b(u({},g),{[o]:y}))},N=t.instance.is_medical_provider?mt:st,c=t.disabled||f,C=n.notification_channels.includes(e),a=!!n.alert_upcoming_appointment,p=o=>{let y=n.notification_channels.includes(o)?n.notification_channels.filter(g=>g!=o):n.notification_channels.concat([o]);l("notification_channels",y)},O=o=>{k(o),r(o)};return i(at,{bsSize:"lg",show:t.visible,animation:!0,backdrop:"static",onHide:t.onCancel,children:s("form",{onSubmit:w,children:[i(M.Header,{closeButton:!0,children:s(M.Title,{children:[gettext("Edit staff notifications")," · ",i("small",{children:t.instance.full_name})]})}),s(M.Body,{children:[i(N,{disabled:t.disabled,value:n.notification_channels,errors:t.errors,onChange:o=>l("notification_channels",o)}),s(I,{mt:2,direction:"row",gap:2,flexWrap:"wrap",children:[i(v,{sx:S,children:i(x,{checked:!n.notify_own_changes,onChange:o=>
1l("notify_own_changes",!o),title:gettext("Hush own actions"),titleAdornment:i(B,{text:gethelp("settings.calendar.practitioner_notification_channels.notify_own_changes")}),disabled:c})}),i(v,{sx:S,children:i(x,{checked:!n.notify_waitlist_appointments,onChange:o=>l("notify_waitlist_appointments",!o),title:gettext("Hush waitlist"),titleAdornment:i(B,{text:gethelp("settings.calendar.practitioner_notification_channels.notify_waitlist_appointments")}),disabled:c})}),i(v,{sx:S,children:i(x,{checked:C,onChange:()=>p(e),title:gettext("Birthday reminder"),disabled:c,trailingContent:i(F,{"data-test-id":"patient-notifications-settings-offset-select",className:"form-control-static",noLabel:!0,required:!0,disabled:c||!(m!=null&&m.enabled&&C),value:(m==null?void 0:m.offset)||0,onChange:o=>{O({offset:o})},options:Choices.pairs("notificationchannel_offset").map(o=>b(u({},o),{label:interpolate(gettext("%s prior"),[o.label])})).filter(o=>Number(o.value)>=1440&&Number(o.value)!=2160||Number(o.value)===(m==null?void 0:m.offset))})})}),waffle.switch_is_active("feature-upcoming-appointments-popup")&&i(v,{sx:S,children:i(x,{checked:a,onChange:o=>l("alert_upcoming_appointment",o),title:gettext("Upcoming appointment alert"),disabled:c,trailingContent:i(F,{"data-test-id":"patient-notifications-settings-upcoming-appointment-offset-select",className:"form-control-static",noLabel:!0,required:!0,disabled:c||!a,value:(n==null?void 0:n.alert_upcoming_appointment_offset)||0,onChange:o=>{l("alert_upcoming_appointment_offset",o)},options:Choices.pairs("alert_upcoming_appointment_offset")})})}),waffle.switch_is_active("feature-upcoming-appointments-popup")&&i(v,{sx:S,children:i(x,{checked:!!n.alert_upcoming_appointment_sound,onChange:o=>l("alert_upcoming_appointment_sound",o),title:gettext("Alert sound"),disabled:c})})]})]}),i(Y,{children:s(I,{direction:"row",spacing:1,justifyContent:"flex-end",children:[i(E,{type:"submit",onClick:w,disabled:c,loading:t.loading||f,children:gettext("Save notifications")}),i(E,{variant:"text",color:"gray",disabled:c,onClick:t.onCancel,children:gettext("Close")})]})})]})})}function wt(t){return t.instance.is_medical_provider?i(pt,{instance:t.instance}):i(dt,{instance:t.instance})}function yt(t){const{item:e,birthdayNotificationActivated:n}=t,h=H(),_="notifications-".concat(e.uid);return s($,{children:[(!e.notify_own_changes||!e.notify_waitlist_appointments)&&s(z,{severity:"info",icon:!1,children:[!e.notify_own_changes&&i("div",{children:interpolate(t.isCurrentUser?gettext("You won't be notified of your own actions, you will be notified of other staff and %(PDN_SL)s actions."):gettext("%(full_name)s won't be notified of their own actions, will be notified of other staff and %(PDN_SL)s actions."),b(u({},PDN),{full_name:e.full_name}),!0)}),!e.notify_waitlist_appointments&&i("div",{children:t.isCurrentUser?gettext("You won't be notified of waitlisted appointments."):interpolate(gettext("%s won't be notified of waitlisted appointments."),[e.full_name])}),!n&&i("div",{children:interpolate(t.isCurrentUser?gettext("You won't be notified of %(PDN_PL)s birthdays."):gettext("%(full_name)s won't be notified of %(PDN_PL)s birthdays."),b(u({},PDN),{full_name:e.full_name}),!0)})]}),i("br",{}),s(tt,{anyOf:["practitioner::owner:".concat(t.item.uid,"::update")],children:[i(G,{startIcon:i(lt,{}),disabled:!t.item.uid,onClick:()=>h.push(_,t.item),children:gettext("Edit notifications")}),i("br",{}),i("br",{})]}),i(wt,{instance:e}),i(ot,{name:_,render:d=>i(bt,{visible:!0,instance:d.data,onSave:f=>{var m;(m=t.onChange)==null||m.call(t,f),d.cancel()},onCancel:d.cancel})})]})}function Wo(){const{data:t=[],isInitialLoading:e,setPractitioners:n}=X(),[h,_]=D.useState(!1),d=H(),[f,m]=D.useState(globalContext.user.uid),r=t.reduce((a,p)=>(a[p.uid]=p,a),{})[globalContext.user.uid],w=h?t:t.filter(a=>a.active),l="notifications-".concat(r==null?void 0:r.uid);nt(l,r,d,!!r);const N=a=>{m(a)},c=a=>a==null?void 0:a.notification_channels.some(p=>p.startsWith("patient-birthday-reminder")),C=(r==null?void 0:r.uid)===f;return s("div",{children:[i(it,{text:gethelp("settings.calendar.practitioner_notification_channels")}),globalContext.practice.debugMode&&i(ct,{}),e&&i(et,{text:gettext("Loading...")}),i(P.Container,{"data-test-id":"policies",activeKey:f,onSelect:N,children:s("div",{children:[s(I,{direction:"row",justifyContent:"space-between",children:[s(R,{bsStyle:"tabs",style:{borderBottom:0},children:[!!r&&i(A,{eventKey:r.uid,children:i(U,{when:!r.active,children:r.full_name})}),w.filter(a=>a.uid!==r.uid).map(a=>i(A,{eventKey:a.uid,children:i(U,{when:!a.active,children:a.full_name})},a.uid))]}),i(rt,{checked:h,onChange:_,label:gettext("Show inactive")})]}),i("br",{}),i(P.Content,{animation:!0,children:w.map(a=>i(P.Pane,{eventKey:a.uid,animation:!1,children:i(yt,{item:a,isCurrentUser:C,birthdayNotificationActivated:c(a),onChange:p=>n([p])})},a.uid))})]})})]})}export{Wo as default}; 2//# sourceMappingURL=staff-notifications-E9FyJamC.js.map
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.