How to use the react-loadable.Map function in react-loadable

To help you get started, we’ve selected a few react-loadable 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 buildkite / frontend / app / components / shared / FormYAMLEditorField / index.js View on Github external
const lines = props.value.split("\n").length;
    const height = CODEMIRROR_BUFFER + (lines * CODEMIRROR_LINE_HEIGHT);

    return (
      <div height="" style="{{">
        {contents}
      </div>
    );
  };

  ApproximateHeightLoader.propTypes = {
    value: PropTypes.string
  };

  // This loads Codemirror and all of its addons.
  const LoadableCodeMirror = Loadable.Map({
    loader: {
      CodeMirror: () =&gt; (
        import('./codemirror').then((module) =&gt; (
          // HACK: Add a "zero" delay after the module has
          // loaded, to allow their styles to take effect
          new Promise((resolve) =&gt; {
            setTimeout(() =&gt; resolve(module.default), 0);
          })
        ))
      )
    },

    loading() {
      return (
        
      );
github nusmodifications / nusmods / website / src / views / contribute / ContributorList.tsx View on Github external
))}
    
  );
}

// Wrapper around ContributorList that loads contributor data
type Props = {
  size?: number;
};

type Export = {
  contributors: Contributor[];
};

const ContributorList = Loadable.Map({
  loader: {
    contributors: () =&gt; getContributors(),
  },
  loading: (props: LoadingComponentProps) =&gt; {
    if (props.error) {
      return ;
    }
    if (props.pastDelay) {
      return ;
    }

    return null;
  },

  // This is not a proper render function, so prop validation doesn't work
  /* eslint-disable react/prop-types */
github nusmodifications / nusmods / website / src / views / venues / VenuesContainer.tsx View on Github external
this.renderSelectedVenue(matchedVenues)
                )}
              
              
            
          )}
        
      
    );
  }
}

// Explicitly declare top level components for React hot reloading to work.
const ResponsiveVenuesContainer = makeResponsive(VenuesContainerComponent, breakpointDown('sm'));
const RoutedVenuesContainer = withRouter(ResponsiveVenuesContainer);
const AsyncVenuesContainer = Loadable.Map({
  loader: {
    venues: () =&gt; axios.get(nusmods.venuesUrl(config.semester)),
  },
  loading: (props: LoadingComponentProps) =&gt; {
    if (props.error) {
      return ;
    }

    if (props.pastDelay) {
      return ;
    }

    return null;
  },
  render(loaded, props) {
    return ;
github buildkite / frontend / app / components / user / graphql / GraphQLExplorerConsoleResultsViewer.js View on Github external
this.codeMirrorInstance.setValue(this.props.results);
    }
  }

  render() {
    return (
      <div> this.resultsElement = el} className={this.props.className} style={this.props.style} /&gt;
    );
  }
}

// Instead of exporting the viewer directly, we'll export a `Loadable`
// Component that will allow us to load in dependencies and render the editor
// until then.
/* eslint-disable react/prop-types */
export default Loadable.Map({
  loader: {
    CodeMirror: () =&gt; (
      import('./codemirror').then((module) =&gt; (
        // Add a "zero" delay after the module has loaded, to allow their
        // styles to take effect.
        new Promise((resolve) =&gt; {
          setTimeout(() =&gt; resolve(module.default), 0);
        })
      ))
    )
  },

  loading(props: ReactLoadableLoadingProps) {
    if (props.error) {
      return (
        <div>{props.error}</div></div>
github mpigsley / sectors-without-number / src / components / game-routes / index.js View on Github external
import React from 'react';
import Loadable from 'react-loadable';

const LoadableGameRoutes = Loadable.Map({
  delay: 400,
  loading: () =&gt; &lt;&gt;,
  loader: {
    Component: () =&gt;
      import(
        /* webpackChunkName: "game-routes" */ 'components/game-routes/routes'
      ),
  },
  render: (loaded, props) =&gt; {
    const Routes = loaded.Component.default;
    return ;
  },
});

export default function GameRoutes() {
  return ;
github apache / incubator-superset / superset / assets / src / visualizations / core / components / createLoadableRenderer.js View on Github external
export default function createLoadableRenderer(options) {
  const LoadableRenderer = Loadable.Map(options);

  // Extends the behavior of LoadableComponent
  // generated by react-loadable
  // to provide post-render listeners
  class CustomLoadableRenderer extends LoadableRenderer {
    componentDidMount() {
      this.afterRender();
    }

    componentDidUpdate() {
      this.afterRender();
    }

    afterRender() {
      const { loaded, loading, error } = this.state;
      if (!loading) {
github lennerd / git-for-beginners / src / components / common / Loadable.js View on Github external
Loadable.Map = (options) => {
  return BaseLoadable.Map({
    loading: LoadingSpinner,
    ...options,
  });
};
github ruby97 / dva-ssr / src / routes.js View on Github external
component: (app) =&gt; {
      return Loadable.Map({
        loader: {
          Grid: () =&gt; import('./routes/Grid.js'),
          grid: () =&gt; import('./models/grid.js'),
        },
        delay: 200,
        timeout: 1000,
        loading: Loading,
        render(loaded, props) {
          let Grid = loaded["Grid"].default;
          let grid = loaded["grid"].default;
          registerModel(app, grid);
          return ;
        },
      });
    }
github gql-dal / greldal / src / docs / pages / playground.js View on Github external
import Knex from "knex";
import { useState, useRef } from "react";
import SQLJSClient from "../utils/SQLJSClient";
import * as greldal from "../../../lib/universal";
import * as graphql from "graphql";
import Loadable from "react-loadable";
import SplitPane from "react-split-pane";
import styled from "styled-components";
import logo from "../assets/logo.png";

import "../styles/split-pane.css";

const Loading = () =&gt; <div>Loading...</div>;

const CodeMirror = Loadable.Map({
    loader: {
        ReactCodeMirror: () =&gt; import("react-codemirror"),
        resources: () =&gt;
            Promise.all([
                import("codemirror/lib/codemirror.css"),
                import("codemirror/mode/javascript/javascript"),
                import("codemirror/theme/monokai.css"),
                import("codemirror/addon/hint/show-hint"),
                import("codemirror/addon/lint/lint"),
                import("codemirror-graphql/hint"),
                import("codemirror-graphql/lint"),
                import("codemirror-graphql/mode"),
            ]),
    },
    render(loaded, { innerRef, ...props }) {
        let ReactCodeMirror = loaded.ReactCodeMirror.default;
github ZhongAnTech / zarm / site / demo / components / App / index.jsx View on Github external
const LoadableComponent = (component) =&gt; {
  const loader = { page: component.module };
  const compName = ChangeCase.pascalCase(component.key);

  if (component.style) {
    loader.style = () =&gt; import(`@site/demo/styles/${compName}Page`);
  }

  return Loadable.Map({
    loader,
    render: (loaded, props) =&gt; {
      return (
        
      );
    },
    loading: () =&gt; ,
  });
};