Skip to content

Commit

Permalink
Merge branch 'develop' into fix-flaky-user
Browse files Browse the repository at this point in the history
  • Loading branch information
nihal467 authored Nov 10, 2023
2 parents 352f326 + 8e2148f commit c7cf117
Show file tree
Hide file tree
Showing 3 changed files with 13 additions and 92 deletions.
18 changes: 6 additions & 12 deletions src/Components/Facility/CentralNursingStation.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -168,28 +168,22 @@ export default function CentralNursingStation({ facilityId }: Props) {
<FieldLabel className="text-sm">
Filter by Location
</FieldLabel>
<div className="flex w-full items-center gap-2">
<div>
<LocationSelect
key={qParams.location}
name="Facilities"
setSelected={(location) => updateQuery({ location })}
setSelected={(location) => {
location
? updateQuery({ location })
: removeFilter("location");
}}
selected={qParams.location}
showAll={false}
multiple={false}
facilityId={facilityId}
errors=""
errorClassName="hidden"
/>
{qParams.location && (
<ButtonV2
variant="secondary"
circle
border
onClick={() => removeFilter("location")}
>
Clear
</ButtonV2>
)}
</div>
</div>
<SelectFormField
Expand Down
2 changes: 1 addition & 1 deletion src/Components/Facility/FacilityCard.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -167,7 +167,7 @@ export const FacilityCard = (props: { facility: any; userType: any }) => {
: "button-primary-border bg-primary-100"
}`}
>
<span className="tooltip-text tooltip-bottom md:tooltip-right -translate-y-2">
<span className="tooltip-text tooltip-top">
Live Patients / Total beds
</span>{" "}
<CareIcon
Expand Down
85 changes: 6 additions & 79 deletions src/Components/Facility/LiveFeedScreen.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -14,55 +14,18 @@ import { AssetData } from "../Assets/AssetTypes";
import { Popover, Transition } from "@headlessui/react";
import { FieldLabel } from "../Form/FormFields/FormField";
import CheckBoxFormField from "../Form/FormFields/CheckBoxFormField";
import { useTranslation } from "react-i18next";
import { SortOption } from "../Common/SortDropdown";
import { SelectFormField } from "../Form/FormFields/SelectFormField";
import LiveFeedTile from "./LiveFeedTile";
import { getCameraConfig } from "../../Utils/transformUtils";
import { getPermittedFacility, listAssets } from "../../Redux/actions";
import { useDispatch } from "react-redux";

const PER_PAGE_LIMIT = 6;

const SORT_OPTIONS: SortOption[] = [
{ isAscending: true, value: "bed__name" },
{ isAscending: false, value: "-bed__name" },
{ isAscending: false, value: "-created_date" },
{ isAscending: true, value: "created_date" },
];

interface Props {
facilityId: string;
}

const getOrderingList = async (
facilityId: string,
setOrdering: (order: string) => void
) => {
const orderData = localStorage.getItem("live-feed-order");
if (orderData) {
const order = JSON.parse(orderData);
const orderValue = order.find((item: any) => item.facility === facilityId);
setOrdering(orderValue.order);
}
};

const setOrderingList = async (facilityId: string, order: string) => {
const orderData = localStorage.getItem("live-feed-order") || "[]";
const orderList = JSON.parse(orderData);
const index = orderList.findIndex(
(item: any) => item.facility === facilityId
);
if (index !== -1) {
orderList[index].order = order;
} else {
orderList.push({ facility: facilityId, order });
}
localStorage.setItem("live-feed-order", JSON.stringify(orderList));
};

export default function LiveFeedScreen({ facilityId }: Props) {
const { t } = useTranslation();
const dispatch = useDispatch<any>();
const [isFullscreen, setFullscreen] = useFullscreen();
const sidebar = useContext(SidebarShrinkContext);
Expand All @@ -73,7 +36,6 @@ export default function LiveFeedScreen({ facilityId }: Props) {
const { qParams, updateQuery, removeFilter, updatePage } = useFilters({
limit: PER_PAGE_LIMIT,
});
const [ordering, setOrdering] = useState<string>("bed__name");

const [refresh_presets_hash, setRefreshPresetsHash] = useState<number>(
Number(new Date())
Expand All @@ -88,10 +50,6 @@ export default function LiveFeedScreen({ facilityId }: Props) {
};
}, []);

useEffect(() => {
getOrderingList(facilityId, setOrdering);
}, [facilityId]);

useEffect(() => {
async function fetchFacilityOrObject() {
if (facility) return facility;
Expand All @@ -112,7 +70,6 @@ export default function LiveFeedScreen({ facilityId }: Props) {
asset_class: "ONVIF",
facility: facilityId || "",
location: qParams.location,
ordering: qParams.ordering || ordering,
bed_is_occupied: qParams.bed_is_occupied,
};

Expand Down Expand Up @@ -180,54 +137,24 @@ export default function LiveFeedScreen({ facilityId }: Props) {
<FieldLabel className="text-sm">
Filter by Location
</FieldLabel>
<div className="flex w-full items-center gap-2">
<div>
<LocationSelect
key={qParams.location}
name="Facilities"
setSelected={(location) => updateQuery({ location })}
setSelected={(location) => {
location
? updateQuery({ location })
: removeFilter("location");
}}
selected={qParams.location}
showAll={false}
multiple={false}
facilityId={facilityId}
errors=""
errorClassName="hidden"
/>
{qParams.location && (
<ButtonV2
variant="secondary"
circle
border
onClick={() => removeFilter("location")}
>
Clear
</ButtonV2>
)}
</div>
</div>
<SelectFormField
name="ordering"
label={t("sort_by")}
required
value={qParams.ordering || ordering}
onChange={({ value }) => {
updateQuery({ ordering: value });
setOrderingList(facilityId, value);
}}
options={SORT_OPTIONS}
optionLabel={({ value }) => t("SortOptions." + value)}
optionIcon={({ isAscending }) => (
<CareIcon
className={
isAscending
? "care-l-sort-amount-up"
: "care-l-sort-amount-down"
}
/>
)}
optionValue={({ value }) => value}
labelClassName="text-sm"
errorClassName="hidden"
/>
<CheckBoxFormField
name="bed_is_occupied"
label="Hide Cameras without Patient"
Expand Down

0 comments on commit c7cf117

Please sign in to comment.