Socket
Socket
Sign inDemoInstall

flux-easy

Package Overview
Dependencies
Maintainers
2
Versions
3
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

flux-easy

Transpiler for use flux with simplicity


Version published
Weekly downloads
12
increased by50%
Maintainers
2
Weekly downloads
 
Created
Source

flux-easy

Flux applications have a beautiful architecture but a ugly code. This project propose a transpiler write a better and simple code that generate it. additionally flux-easy facilities using of multiple references to Stores/Views.

Install flux-easy

$ npm install flux-easy

Enabling flux-easy

import FluxEasy from 'flux-easy';  // fake module that define Store and View fake classes

Defining Stores


class STORE_NAME extends FluxEasy.Store {

    constructor () {
        this.prop1 = null; // Store state
        this.prop2 = 0;
    }

    getProp1() {
        return this.prop1; // You can you getState or add specific get methods
    }

    action1(p1,p2) { // automatic creation of dispatcher and callbacks for actions
        this.prop1 = p1;
        this.prop2 = p2;
        this.emit('YourChange'); //write any name changes
    }
}

Defining Views

class VIEW_NAME extends FluxEasy.View {  // will define a React.Class

  constructor(){
    this.store_ref= STORE_NAME.createStoreReference(); // automatic reference to stores/views
    this.prop3=''; // view state
    this.store_ref.addChangeListenner('YourChange'); // simplification of listenners from this.emit('YourChange')
                                                     // in the store
  }

  render() {
    var prop1=this.store_ref.getProp1();  // getting partial store state with specific method 
    var prop2=this.store_ref.getState().prop2; // get full store state with getState()
    var prop3=this.state.prop3; // get view state, attention to valueLink automation
    return (<div>
               <div>prop1 {prop1}</div>
               <div>prop2 {prop2}</div>
               <div>prop3 {prop3}</div>
               <input type="text" placeholder="prop3"
                   valueLink={this.state.prop3} /> //edit value in input update in this.state.prop3 automatic
                   
               <button onClick={this.dispatch_action}>Dispatch action1</button>
            </div>
    );
  }
}

Transpiling

  flux-easy src/file.jsx bin/file.jsx

Use automation tools like grunt, gulp, webpack...

See sample project at https://github.com/thr0w/flux-easy-loader-test

Using generated code

var dispatcher=new Flux.Dispatcher();
var view_ref = VIEW_NAME.createViewReference(dispatcher); // you just need call once
var View_Class = view_ref.Class;

React.render(<View_Class />, document.getElementById('app') );

Keywords

FAQs

Package last updated on 02 Jul 2015

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc