This commit is contained in:
@@ -911,7 +911,12 @@ const EventsCalendar = () => {
|
||||
}
|
||||
}
|
||||
|
||||
const dismissEventModal = () => {
|
||||
const dismissEventModal = (e) => {
|
||||
e?.preventDefault?.();
|
||||
e?.stopPropagation?.();
|
||||
try {
|
||||
eventModalService?.close?.();
|
||||
} catch (_e) {}
|
||||
try {
|
||||
calendar?.config?.plugins?.eventModal?.close();
|
||||
} catch (e) {
|
||||
@@ -933,13 +938,20 @@ const EventsCalendar = () => {
|
||||
style={{
|
||||
border: 'none',
|
||||
background: 'transparent',
|
||||
padding: 0,
|
||||
padding: '8px',
|
||||
marginTop: '4px',
|
||||
marginRight: '4px',
|
||||
cursor: 'pointer',
|
||||
lineHeight: 1,
|
||||
color: '#666'
|
||||
color: '#666',
|
||||
minWidth: '36px',
|
||||
minHeight: '36px',
|
||||
display: 'inline-flex',
|
||||
alignItems: 'center',
|
||||
justifyContent: 'center'
|
||||
}}
|
||||
>
|
||||
<X size={18} />
|
||||
<X size={24} />
|
||||
</button>
|
||||
</div>
|
||||
{calendarEvent?.doctor && <div className="sx__event-modal__time">{`${calendarEvent?.doctor}`}</div>}
|
||||
|
||||
@@ -29,7 +29,7 @@ import { Spinner, Breadcrumb, BreadcrumbItem, Tabs, Tab, Dropdown, Modal } from
|
||||
import { Columns, Download, Filter, PencilSquare, PersonSquare, Plus } from "react-bootstrap-icons";
|
||||
|
||||
const DashboardCustomersList = ({ additionalButtons, showBreadcrumb = false, title = null }) => {
|
||||
const HIDDEN_CUSTOMER_TYPE_FILTER_VALUES = [CUSTOMER_TYPE.TRANSFERRED, CUSTOMER_TYPE.DECEASED, CUSTOMER_TYPE.DISCHARGED];
|
||||
const HIDDEN_CUSTOMER_TYPE_FILTER_VALUES = [CUSTOMER_TYPE.SELF_PAY, CUSTOMER_TYPE.TRANSFERRED, CUSTOMER_TYPE.DECEASED, CUSTOMER_TYPE.DISCHARGED];
|
||||
const DISCHARGE_ONLY_COLUMN_KEYS = new Set(['discharge_date', 'discharge_by', 'discharge_reason']);
|
||||
const CUSTOMER_COLUMNS = [
|
||||
{ key: 'customer_name', label: 'Customer Name', show: true },
|
||||
|
||||
@@ -317,7 +317,12 @@ const EventsCalendar = () => {
|
||||
setSelectedColorFilters([]);
|
||||
}
|
||||
|
||||
const dismissEventModal = () => {
|
||||
const dismissEventModal = (e) => {
|
||||
e?.preventDefault?.();
|
||||
e?.stopPropagation?.();
|
||||
try {
|
||||
eventModalService?.close?.();
|
||||
} catch (_e) {}
|
||||
try {
|
||||
calendar?.config?.plugins?.eventModal?.close();
|
||||
} catch (e) {
|
||||
@@ -338,13 +343,20 @@ const EventsCalendar = () => {
|
||||
style={{
|
||||
border: 'none',
|
||||
background: 'transparent',
|
||||
padding: 0,
|
||||
padding: '8px',
|
||||
marginTop: '4px',
|
||||
marginRight: '4px',
|
||||
cursor: 'pointer',
|
||||
lineHeight: 1,
|
||||
color: '#666'
|
||||
color: '#666',
|
||||
minWidth: '36px',
|
||||
minHeight: '36px',
|
||||
display: 'inline-flex',
|
||||
alignItems: 'center',
|
||||
justifyContent: 'center'
|
||||
}}
|
||||
>
|
||||
<X size={18} />
|
||||
<X size={24} />
|
||||
</button>
|
||||
</div>
|
||||
{calendarEvent?.doctor && <div className="sx__event-modal__time">{`${calendarEvent?.doctor}`}</div>}
|
||||
|
||||
@@ -32,6 +32,17 @@ const Export = ({ columns, data, filename = "export", customActions = [], show,
|
||||
handleToggle(false);
|
||||
};
|
||||
|
||||
const handleDeselectAll = () => {
|
||||
scrollTopRef.current = scrollContainerRef.current?.scrollTop || 0;
|
||||
const updatedColumns = exportColumns.map((col) => ({ ...col, show: false }));
|
||||
setExportColumns(updatedColumns);
|
||||
requestAnimationFrame(() => {
|
||||
if (scrollContainerRef.current) {
|
||||
scrollContainerRef.current.scrollTop = scrollTopRef.current;
|
||||
}
|
||||
});
|
||||
};
|
||||
|
||||
const generateCSV = () => {
|
||||
const visibleColumns = exportColumns.filter(col => col.show);
|
||||
const headers = visibleColumns.map(col => col.label).join(',');
|
||||
@@ -145,7 +156,16 @@ const Export = ({ columns, data, filename = "export", customActions = [], show,
|
||||
</>
|
||||
)}
|
||||
<div style={{ maxHeight: '200px', overflowY: 'auto', marginBottom: '15px' }} ref={scrollContainerRef}>
|
||||
<h6 style={{ fontSize: '14px', marginBottom: '10px' }}>Select Columns:</h6>
|
||||
<div style={{ display: 'flex', justifyContent: 'space-between', alignItems: 'center', marginBottom: '10px' }}>
|
||||
<h6 style={{ fontSize: '14px', marginBottom: 0 }}>Select Columns:</h6>
|
||||
<button
|
||||
type="button"
|
||||
className="btn btn-link btn-sm p-0"
|
||||
onClick={handleDeselectAll}
|
||||
>
|
||||
Deselect All
|
||||
</button>
|
||||
</div>
|
||||
{exportColumns.map((column) => (
|
||||
<div key={column.key} style={{ marginBottom: '8px' }}>
|
||||
<input
|
||||
|
||||
@@ -47,6 +47,17 @@ const ManageTable = ({ columns, onColumnsChange, show, onToggle }) => {
|
||||
}
|
||||
};
|
||||
|
||||
const handleDeselectAll = () => {
|
||||
scrollTopRef.current = scrollContainerRef.current?.scrollTop || 0;
|
||||
const updatedColumns = tempColumns.map((col) => ({ ...col, show: false }));
|
||||
setTempColumns(updatedColumns);
|
||||
requestAnimationFrame(() => {
|
||||
if (scrollContainerRef.current) {
|
||||
scrollContainerRef.current.scrollTop = scrollTopRef.current;
|
||||
}
|
||||
});
|
||||
};
|
||||
|
||||
const customManageTableMenu = React.forwardRef(
|
||||
({ children, style, className, 'aria-labelledby': labeledBy }, ref) => {
|
||||
return (
|
||||
@@ -57,6 +68,15 @@ const ManageTable = ({ columns, onColumnsChange, show, onToggle }) => {
|
||||
aria-labelledby={labeledBy}
|
||||
>
|
||||
<h6>Manage Table Columns</h6>
|
||||
<div style={{ marginBottom: '8px' }}>
|
||||
<button
|
||||
type="button"
|
||||
className="btn btn-link btn-sm p-0"
|
||||
onClick={handleDeselectAll}
|
||||
>
|
||||
Deselect All
|
||||
</button>
|
||||
</div>
|
||||
<div className="app-main-content-fields-section margin-sm dropdown-container">
|
||||
<div className="manage-table-columns-wrapper">
|
||||
<div className="manage-table-columns-scroll" ref={scrollContainerRef}>
|
||||
|
||||
Reference in New Issue
Block a user