0.1.0 • Published 8 years ago

a1-redux v0.1.0

Weekly downloads
2
License
BSD
Repository
-
Last release
8 years ago

a1-redux

Angular 1.x with redux the right way.

TODO

  • add unit test on browser.
  • support register library with propTypes checking.
  • unit test for store.register and handle action.
  • container directive
  • example todo

How to use the library? Where is the document?

For now, please check the unit test in the test directory.

Container directive

The goal is separating between the presentation and the state/logic control.

Potential setup

app.directive('directiveUI', () => ({link: () => {}, template: '<div>ui directive</div>'}));
app.directive('directiveContainerUI', connect({mapStateToScope, mapDispatchToScope}, () => ({template: '<directiveUI />'})));

Is it too cumbersome? and duplicated?

OR we can do the following:

Start with presentation: file directive-present.js:

export default const directiveFactory = ['$service1', '$service2', ($service1, $service2) => {
  return {
    _propTypes_: {
      hello: PropTypes.string,
    },
    link: ($scope, $element, $attrs) {
      // link implementation...
    },
    template: '<div>present directive {{hello}}</div>',
  };
}];

Then the container: file directive-container.js

import directivePresent from './directive-present';
import actions from './actions';
import {connect} from 'a1-redux';

const mapStateToScope = (getState) => ({
  attr1: () => getState().attr1,
  attr2: () => getState().attr2,
});

const mapDispatchToScope = (dispatch, getState) => ({
  dispatch1: (var1, var2) =>  dispatch(actions.forDispatch1({var1, var2})),
})

export default connect({mapStateToScope, mapDispatchToScope}, directivePresent);

Then put in the application: file app.js

import {setup} from 'a1-redux';
import directiveABC from './directive-container';


let app = setup(angular.module('myapp', []));
app.directive('directiveABC', directiveABC);
//... more ...
0.1.0

8 years ago

0.0.9

8 years ago

0.0.8

8 years ago

0.0.7

8 years ago

0.0.6

8 years ago

0.0.5

8 years ago

0.0.4

8 years ago

0.0.3

8 years ago

0.0.2

8 years ago

0.0.1

8 years ago