// @hash v3-B3BA06D6751C1E13817A67F3F7BD38CBA39A0FF3 // Automatically generated by ReactJS.NET. Do not edit, your changes will be overridden. // Version: 5.2.12 (build 29c76c8) with Babel 7.8.7 // Generated at: 9/6/2026 9:40:18 PM /////////////////////////////////////////////////////////////////////////////// class AppointmentsCalendarView extends React.Component { render() { return React.createElement(React.Fragment, null, React.createElement("h1", { className: "nsw-h2" }, "Appointments"), React.createElement(OptionsProvider, { value: this.props.options }, React.createElement(StatusProvider, { options: this.props.calendar.statusOptions }, React.createElement(Appointments, { view: this.props.view, calendar: this.props.calendar, urgentAction: { url: this.props.urgentActionListTabs[0].ajaxUrl, data: { page: 0, tab: this.props.urgentActionListTabs[0].name, metaConfiguration: this.props.urgentActionStructure.metaConfiguration } }, aboveList: ({ gap, fetchUrgentActions }) => React.createElement(React.Fragment, null, React.createElement("h3", null, "Urgent Action"), React.createElement("hr", { className: "mt-2 mb-2" }), React.createElement(Table, { trackLinks: row => ({ event: 'table_appointment_click', appointment_id: row.data.id, client_id: row.data.attendeeProviderClients.map(client => client.userId).join(','), date_start: new Date(row.data.occurrenceTime) }), unique: "urgent", filters: { gap }, structure: this.props.urgentActionStructure, commands: this.props.urgentActionStructure.commands, customTypes: { seriesInfo: args => React.createElement(EventSeriesIcon, { event: args['event'], mobile: args['mobile'] }), status: args => React.createElement(EventStatusSelect, { event: args['event'], data: args['data'], readonly: gap == 'all' || !!this.props.options.gaps?.find(g => g.id == gap)?.isLegacy || args['printing'], onOpenClose: args['onOpenClose'], onChange: args['onChange'] }) }, actions: { fetchUrgentActions }, above: ({ setTab }) => React.createElement(React.Fragment, null, React.createElement(TabButtons, { title: "Urgent Action", tabs: this.props.urgentActionListTabs, onChange: setTab }), React.createElement("div", { className: "flex justify-end mt-4" }, React.createElement(ClearFilters, null))) })), list: ({ gap, rememberView, setGapChangeAction }) => React.createElement(React.Fragment, null, React.createElement("h3", null, "Appointment list"), React.createElement("hr", { className: "mt-2 mb-2" }), React.createElement(Table, { trackLinks: row => ({ event: 'table_appointment_click', appointment_id: row.data.event.id, client_id: row.data.attendeeProviderClients.map(client => client.userId).join(','), date_start: new Date(row.data.event.time) }), unique: "list", onInit: ({ reset }) => { setGapChangeAction(() => reset); }, structure: this.props.structure, customTypes: { seriesInfo: args => React.createElement(EventSeriesIcon, { event: args['event'], mobile: args['mobile'] }), status: args => React.createElement(EventStatusSelect, { event: args['event'], data: args['data'], readonly: gap == 'all' || !!this.props.options.gaps?.find(g => g.id == gap)?.isLegacy || args['printing'], onOpenClose: args['onOpenClose'], onChange: args['onChange'] }) }, filters: { gap }, above: ({ info, applyFilter, setTab, refresh }) => React.createElement(React.Fragment, null, React.createElement("div", { className: "relative mt-4" }, React.createElement(TabButtons, { title: "Appointment list", current: info.tab, tabs: this.props.tabs, onChange: setTab }), React.createElement(Button, { theme: "danger", text: "+ Add appointment", className: "max-lg:mt-4 max-lg:w-full lg:absolute bottom-2 right-0", disabled: gap == 'all' || !!this.props.options.gaps?.find(g => g.id == gap)?.isLegacy, modal: { name: 'addAppointment', data: { gap: info.filter.gap, callback: () => { refresh(); return Promise.resolve(); } } } })), React.createElement("div", { className: "flex justify-between max-md:items-start md:items-center max-md:flex-col mt-4" }, info.tab && React.createElement(TimeFilter, { nothingBefore: info.tab == 'upcoming' ? new Date(new Date().toDateString()) : undefined, monthsLimit: 3, onChange: timeFilter => { applyFilter('timeFilter', timeFilter); } }), React.createElement("div", { className: "md:hidden h-4" }), React.createElement(ClearFilters, null))) })) })))); } }