Skip to content
Snippets Groups Projects
Commit cbeff88e authored by Aggarwal Himanshu's avatar Aggarwal Himanshu
Browse files

Merge branch 'dropdown_enhancement' into 'develop'

Dropdown Enhancements

See merge request !13
parents 003ebad9 6372817f
No related branches found
No related tags found
2 merge requests!17Merge develop into main,!13Dropdown Enhancements
import React, { useState, useEffect } from "react"; import React, { useState, useEffect, useRef, useCallback } from "react";
import classNames from "classnames"; import classNames from "classnames";
import { ChevronDownIcon } from "@heroicons/react/outline"; import { ChevronDownIcon } from "@heroicons/react/outline";
import { useOnClickOutside } from "../../hooks";
function getCoin(list, id) { function getCoin(list, id) {
for (let i = 0; i < list.length; i++) { for (let i = 0; i < list.length; i++) {
...@@ -13,13 +14,16 @@ function getCoin(list, id) { ...@@ -13,13 +14,16 @@ function getCoin(list, id) {
function Dropdown({ list, value, setValue, disabled }) { function Dropdown({ list, value, setValue, disabled }) {
const [open, setOpen] = useState(false); const [open, setOpen] = useState(false);
const ref = useRef(null);
const callbackDropdownClose = useCallback(() => setOpen(false), []);
useOnClickOutside(ref, callbackDropdownClose);
useEffect(() => { useEffect(() => {
setOpen(false); setOpen(false);
}, [value]); }, [value]);
return ( return (
<div className="relative"> <div className="relative" ref={ref}>
<button <button
className={classNames(" px-3 py-2 rounded-md font-light", { className={classNames(" px-3 py-2 rounded-md font-light", {
"dark:bg-white dark:text-gray-800": false, "dark:bg-white dark:text-gray-800": false,
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment