How to use the @uifabric/react-hooks.useConstCallback function in @uifabric/react-hooks

To help you get started, we’ve selected a few @uifabric/react-hooks examples, based on popular ways it is used in public projects.

Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.

github OfficeDev / office-ui-fabric-react / packages / office-ui-fabric-react / src / components / Panel / examples / Panel.HandleDismissTarget.Example.tsx View on Github external
export const PanelHandleDismissTargetExample: React.FunctionComponent = () => {
  const [isOpen, setIsOpen] = React.useState(false);

  const openPanel = useConstCallback(() => setIsOpen(true));
  const dismissPanel = useConstCallback(() => setIsOpen(false));

  const onDismiss = useConstCallback((ev?: React.SyntheticEvent) => {
    if (!ev) {
      console.log('Panel dismissed.');
      return;
    }

    // Demonstrates how to do different things depending on how which element dismissed the panel
    console.log('Close button clicked or light dismissed.');
    const srcElement = ev.nativeEvent.srcElement as Element | null;
    if (srcElement && srcElement.className.indexOf('ms-Button-icon') !== -1) {
      console.log('Close button clicked.');
    }
    if (srcElement && srcElement.className.indexOf('ms-Overlay') !== -1) {
      console.log('Light dismissed.');
    }
    dismissPanel();
  });
github OfficeDev / office-ui-fabric-react / packages / office-ui-fabric-react / src / components / Panel / examples / Panel.Footer.Example.tsx View on Github external
export const PanelFooterExample: React.FunctionComponent = () => {
  const [isOpen, setIsOpen] = React.useState(false);

  const openPanel = useConstCallback(() => setIsOpen(true));
  const dismissPanel = useConstCallback(() => setIsOpen(false));

  // This panel doesn't actually save anything; the buttons are just an example of what
  // someone might want to render in a panel footer.
  const onRenderFooterContent = useConstCallback(() => (
    <div>
      
        Save
      
      Cancel
    </div>
  ));

  return (
    <div>
      </div>
github OfficeDev / office-ui-fabric-react / packages / office-ui-fabric-react / src / components / Panel / examples / Panel.LightDismissCustom.Example.tsx View on Github external
export const PanelLightDismissCustomExample: React.FunctionComponent = () =&gt; {
  const [isPanelOpen, setIsPanelOpen] = React.useState(false);
  const [isDialogVisible, setIsDialogVisible] = React.useState(false);

  const openPanel = useConstCallback(() =&gt; setIsPanelOpen(true));
  const dismissPanel = useConstCallback(() =&gt; setIsPanelOpen(false));
  const showDialog = useConstCallback(() =&gt; setIsDialogVisible(true));
  const hideDialog = useConstCallback(ev =&gt; {
    ev.preventDefault();
    setIsDialogVisible(false);
  });
  const hideDialogAndPanel = useConstCallback(() =&gt; {
    setIsPanelOpen(false);
    setIsDialogVisible(false);
  });

  return (
    <div>
      {explanation}
      <br>
      <br>
      
      </div>
github OfficeDev / office-ui-fabric-react / packages / office-ui-fabric-react / src / components / Panel / examples / Panel.Controlled.Example.tsx View on Github external
export const PanelControlledExample: React.FunctionComponent = () =&gt; {
  const [isOpen, setIsOpen] = React.useState(false);

  const openPanel = useConstCallback(() =&gt; setIsOpen(true));
  const dismissPanel = useConstCallback(() =&gt; setIsOpen(false));

  return (
    <div>
      This panel can only be closed by clicking a button inside the panel content. (Don't use this behavior unless absolutely necessary.)
      <br>
      <br>
      
      
        <p>This panel can only be closed by clicking the button below.</p></div>
github OfficeDev / office-ui-fabric-react / packages / office-ui-fabric-react / src / components / Panel / examples / Panel.Navigation.Example.tsx View on Github external
export const PanelNavigationExample: React.FunctionComponent = () =&gt; {
  const [isOpen, setIsOpen] = React.useState(false);

  const openPanel = useConstCallback(() =&gt; setIsOpen(true));
  const dismissPanel = useConstCallback(() =&gt; setIsOpen(false));

  const onRenderNavigationContent: IRenderFunction = useConstCallback((props, defaultRender) =&gt; (
    &lt;&gt;
      
      {// This custom navigation still renders the close button (defaultRender).
      // If you don't use defaultRender, be sure to provide some other way to close the panel.
      defaultRender!(props)}
    
  ));

  return (
    <div>
      {explanation}
      <br>
      <br>
      </div>
github eGust / epub-reader / app / renderer / components / Reader.tsx View on Github external
const Reader: FC = ({ bookData, bookFiles, match }: Props): React.ReactElement =&gt; {
  const { bookId, fileId, path = '' } = match.params as ReaderRouteParams;
  const fileInfo = bookFiles[fileId];
  const bookInfo = bookData[bookId];
  const nav = fileInfo.nav.length ? fileInfo.nav : convertToc(bookInfo);

  const history = useHistory();
  const [isOpen, setIsOpen] = useState(false);

  const onOpenPanel = useConstCallback(() =&gt; setIsOpen(true));
  const onClosePanel = useConstCallback(() =&gt; setIsOpen(false));

  const onClickLink = useConstCallback((ev?: MouseEvent, item?: INavLink) =&gt; {
    ev!.preventDefault();
    console.log(item);
    history.push(`/read/${fileId}/${bookId}/${item!.url}`);
  });

  const onLinkExpandClick = useConstCallback((ev?: MouseEvent, item?: INavLink) =&gt; {
    console.log('onLinkExpandClick', item);
  });

  const commandItems = useMemo(() =&gt; [
    {
      key: 'toggle',
      text: '',
      iconProps: { iconName: 'ContextMenu' },
      onClick: onOpenPanel,
    },
github eGust / epub-reader / app / renderer / components / Reader.tsx View on Github external
const Reader: FC = ({ bookData, bookFiles, match }: Props): React.ReactElement =&gt; {
  const { bookId, fileId, path = '' } = match.params as ReaderRouteParams;
  const fileInfo = bookFiles[fileId];
  const bookInfo = bookData[bookId];
  const nav = fileInfo.nav.length ? fileInfo.nav : convertToc(bookInfo);

  const history = useHistory();
  const [isOpen, setIsOpen] = useState(false);

  const onOpenPanel = useConstCallback(() =&gt; setIsOpen(true));
  const onClosePanel = useConstCallback(() =&gt; setIsOpen(false));

  const onClickLink = useConstCallback((ev?: MouseEvent, item?: INavLink) =&gt; {
    ev!.preventDefault();
    console.log(item);
    history.push(`/read/${fileId}/${bookId}/${item!.url}`);
  });

  const onLinkExpandClick = useConstCallback((ev?: MouseEvent, item?: INavLink) =&gt; {
    console.log('onLinkExpandClick', item);
  });

  const commandItems = useMemo(() =&gt; [
    {
      key: 'toggle',
      text: '',
      iconProps: { iconName: 'ContextMenu' },
github OfficeDev / office-ui-fabric-react / packages / office-ui-fabric-react / src / components / Panel / examples / Panel.LightDismissCustom.Example.tsx View on Github external
export const PanelLightDismissCustomExample: React.FunctionComponent = () =&gt; {
  const [isPanelOpen, setIsPanelOpen] = React.useState(false);
  const [isDialogVisible, setIsDialogVisible] = React.useState(false);

  const openPanel = useConstCallback(() =&gt; setIsPanelOpen(true));
  const dismissPanel = useConstCallback(() =&gt; setIsPanelOpen(false));
  const showDialog = useConstCallback(() =&gt; setIsDialogVisible(true));
  const hideDialog = useConstCallback(ev =&gt; {
    ev.preventDefault();
    setIsDialogVisible(false);
  });
  const hideDialogAndPanel = useConstCallback(() =&gt; {
    setIsPanelOpen(false);
    setIsDialogVisible(false);
  });

  return (
    <div>
      {explanation}
      <br>
      <br>
      </div>
github OfficeDev / office-ui-fabric-react / packages / office-ui-fabric-react / src / components / Panel / examples / Panel.LightDismiss.Example.tsx View on Github external
export const PanelLightDismissExample: React.FunctionComponent = () =&gt; {
  const [isOpen, setIsOpen] = React.useState(false);

  const openPanel = useConstCallback(() =&gt; setIsOpen(true));
  const dismissPanel = useConstCallback(() =&gt; setIsOpen(false));

  return (
    <div>
      {explanation}
      <br>
      <br>
      
      
        <span>{explanation}</span>
      
    </div>
  );
};
github OfficeDev / office-ui-fabric-react / packages / office-ui-fabric-react / src / components / ContextualMenu / examples / ContextualMenu.Basic.Example.tsx View on Github external
export const ContextualMenuBasicExample: React.FunctionComponent = () =&gt; {
  const linkRef = React.useRef(null);
  const [showContextualMenu, setShowContextualMenu] = React.useState(false);
  const onShowContextualMenu = useConstCallback(() =&gt; setShowContextualMenu(true));
  const onHideContextualMenu = useConstCallback(() =&gt; setShowContextualMenu(false));

  return (
    <div>
      This example directly uses ContextualMenu to show how it can be attached to arbitrary elements. The remaining examples use
      ContextualMenu through Fabric Button components.
      <p>
        <b>
          <a>
            Click for ContextualMenu
          </a>
        </b>
      </p>
      </div>

@uifabric/react-hooks

Fluent UI React hooks.

MIT
Latest version published 2 years ago

Package Health Score

75 / 100
Full package analysis