Skip to content

Commit

Permalink
Merge pull request #17 from greenpart/immutable
Browse files Browse the repository at this point in the history
Add ImmutableLoadingBar for immutable top level store
  • Loading branch information
mironov committed Dec 2, 2016
2 parents d9dbf67 + af1d9c2 commit dddca18
Show file tree
Hide file tree
Showing 5 changed files with 43 additions and 1 deletion.
10 changes: 10 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -126,6 +126,16 @@ export function* fetchData() {
}
```

## Usage with `immutable-js`

You can change component import line if your top level redux store object is `immutable`.

```jsx
import { ImmutableLoadingBar as LoadingBar } from 'react-redux-loading-bar'

// Use LoadingBar component as usual
```

## Usage with jQuery Ajax Requests

If you happen to use jQuery for Ajax requests, you can dispatch `SHOW`/`HIDE` actions on `ajaxStart`/`ajaxStop` global events:
Expand Down
17 changes: 17 additions & 0 deletions build/immutable.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
'use strict';

Object.defineProperty(exports, "__esModule", {
value: true
});

var _reactRedux = require('react-redux');

var _loading_bar = require('./loading_bar');

var mapImmutableStateToProps = function mapImmutableStateToProps(state) {
return {
loading: state.get('loadingBar')
};
};

exports.default = (0, _reactRedux.connect)(mapImmutableStateToProps)(_loading_bar.LoadingBar);
7 changes: 6 additions & 1 deletion build/index.js
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.LoadingBar = exports.hideLoading = exports.showLoading = exports.loadingBarReducer = exports.loadingBarMiddleware = undefined;
exports.ImmutableLoadingBar = exports.LoadingBar = exports.hideLoading = exports.showLoading = exports.loadingBarReducer = exports.loadingBarMiddleware = undefined;

var _loading_bar = require('./loading_bar');

Expand All @@ -15,11 +15,16 @@ var _loading_bar_middleware2 = _interopRequireDefault(_loading_bar_middleware);

var _loading_bar_ducks = require('./loading_bar_ducks');

var _immutable = require('./immutable');

var _immutable2 = _interopRequireDefault(_immutable);

function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }

exports.loadingBarMiddleware = _loading_bar_middleware2.default;
exports.loadingBarReducer = _loading_bar_ducks.loadingBarReducer;
exports.showLoading = _loading_bar_ducks.showLoading;
exports.hideLoading = _loading_bar_ducks.hideLoading;
exports.LoadingBar = _loading_bar.LoadingBar;
exports.ImmutableLoadingBar = _immutable2.default;
exports.default = _loading_bar2.default;
8 changes: 8 additions & 0 deletions src/immutable.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
import { connect } from 'react-redux'
import { LoadingBar } from './loading_bar'

const mapImmutableStateToProps = (state) => ({
loading: state.get('loadingBar'),
})

export default connect(mapImmutableStateToProps)(LoadingBar)
2 changes: 2 additions & 0 deletions src/index.js
Original file line number Diff line number Diff line change
Expand Up @@ -5,12 +5,14 @@ import {
showLoading,
hideLoading,
} from './loading_bar_ducks'
import ImmutableLoadingBar from './immutable'

export {
loadingBarMiddleware,
loadingBarReducer,
showLoading,
hideLoading,
LoadingBar,
ImmutableLoadingBar,
}
export default LoadingBarContainer

0 comments on commit dddca18

Please sign in to comment.