Skip to content
Snippets Groups Projects
  • Eugen Rochko's avatar
    f5bf5ebb
    Replace sprockets/browserify with Webpack (#2617) · f5bf5ebb
    Eugen Rochko authored
    * Replace browserify with webpack
    
    * Add react-intl-translations-manager
    
    * Do not minify in development, add offline-plugin for ServiceWorker background cache updates
    
    * Adjust tests and dependencies
    
    * Fix production deployments
    
    * Fix tests
    
    * More optimizations
    
    * Improve travis cache for npm stuff
    
    * Re-run travis
    
    * Add back support for custom.scss as before
    
    * Remove offline-plugin and babili
    
    * Fix issue with Immutable.List().unshift(...values) not working as expected
    
    * Make travis load schema instead of running all migrations in sequence
    
    * Fix missing React import in WarningContainer. Optimize rendering performance by using ImmutablePureComponent instead of
    React.PureComponent. ImmutablePureComponent uses Immutable.is() to compare props. Replace dynamic callback bindings in
    <UI />
    
    * Add react definitions to places that use JSX
    
    * Add Procfile.dev for running rails, webpack and streaming API at the same time
    f5bf5ebb
    History
    Replace sprockets/browserify with Webpack (#2617)
    Eugen Rochko authored
    * Replace browserify with webpack
    
    * Add react-intl-translations-manager
    
    * Do not minify in development, add offline-plugin for ServiceWorker background cache updates
    
    * Adjust tests and dependencies
    
    * Fix production deployments
    
    * Fix tests
    
    * More optimizations
    
    * Improve travis cache for npm stuff
    
    * Re-run travis
    
    * Add back support for custom.scss as before
    
    * Remove offline-plugin and babili
    
    * Fix issue with Immutable.List().unshift(...values) not working as expected
    
    * Make travis load schema instead of running all migrations in sequence
    
    * Fix missing React import in WarningContainer. Optimize rendering performance by using ImmutablePureComponent instead of
    React.PureComponent. ImmutablePureComponent uses Immutable.is() to compare props. Replace dynamic callback bindings in
    <UI />
    
    * Add react definitions to places that use JSX
    
    * Add Procfile.dev for running rails, webpack and streaming API at the same time
loading_bar.js 855 B
import { showLoading, hideLoading } from 'react-redux-loading-bar';

const defaultTypeSuffixes = ['PENDING', 'FULFILLED', 'REJECTED'];

export default function loadingBarMiddleware(config = {}) {
  const promiseTypeSuffixes = config.promiseTypeSuffixes || defaultTypeSuffixes;

  return ({ dispatch }) => next => (action) => {
    if (action.type && !action.skipLoading) {
      const [PENDING, FULFILLED, REJECTED] = promiseTypeSuffixes;

      const isPending = new RegExp(`${PENDING}$`, 'g');
      const isFulfilled = new RegExp(`${FULFILLED}$`, 'g');
      const isRejected = new RegExp(`${REJECTED}$`, 'g');

      if (action.type.match(isPending)) {
        dispatch(showLoading());
      } else if (action.type.match(isFulfilled) || action.type.match(isRejected)) {
        dispatch(hideLoading());
      }
    }

    return next(action);
  };
};