Neon Papier Mâché

    angular-ujs

    0.4.8 • Public • Published

    angular-ujs

    Distributed via

    Gem Version NPM version

    Unobtrusive scripting for AngularJS ( without jQuery dependency )

    Build Status Coverage Status Code Climate Dependency Status

    Project philosophy

    Develop in LiveScript

    LiveScript is a compile-to-js language, which provides us more robust way to write JavaScript.
    It also has great readibility and lots of syntax sugar just like you're writting python/ruby.

    Native, lightweight directives

    Unobtrusive scripting in jquery_ujs provides the same interface with angular directives.
    We use the similarity between them and provides seamless intergration with jquery_ujs.

    Spec / Scenario coverage

    We use krama to run unit test against angular-ujs.spec.ls and use protractor to run intergration test via angular-ujs.scenario.ls.

    Installation

    We follow DRY and has one dependency only on angularjs.
    However, we recommend you add ng-rails-csrf into your project. As it name suggests, ng-rails-csrf automatically resolves CSRF in angularjs environment without jquery_ujs.

    Just use it

    Then include them through script tag in your HTML.

    Rails projects (Only support 3.1+)

    Add this line to your application's Gemfile:

    gem 'ng-rails-csrf' # Optional 
    gem 'angular-ujs'

    And then execute:

    $ bundle
    

    Then add these lines to the top of your app/assets/javascripts/application.js file:

    //= require angular
    //= require ng-rails-csrf (Optional)
    //= require angular-ujs

    And include in your angular module definition:

    /* 'angular.ujs' DO NOT depend on 'ng-rails-csrf' module.
     * You need to include it yourself.
     */    
    var module = angular.module('my-awesome-project', ['angular.ujs']).
    

    Usage

    "data-confirm": Confirmation dialogs for links and forms

    <form data-confirm="Are you sure you want to submit?">...</form>

    "data-method": Links that result in POST, PUT, or DELETE requests

    <a href="..." data-method="delete" rel="nofollow">Delete this entry</a>

    "data-remote": Make links and forms submit asynchronously with Ajax

    ** Notice : API changed **

    For angularjs apps, ONLY those items with ng-model will be submitted with data-remote

    <form data-remote="true" action="...">
      <input type="text" name="name" ng-model="name">
    </form>

    You can specify the model name via data-remote :

    <form data-remote="user" action="...">
      <input type="text" name="name" ng-model="user.name">
      <input type="email" name="email" ng-model="user.email">
    </form>

    Use them all together :

    <a href="..." data-method="delete" data-remote="true" data-confirm="Are you sure you want to delete?" rel="nofollow">Delete this entry</a>

    Contributing

    devDependency Status Bitdeli Badge

    1. Fork it ( http://github.com/tomchentw/angular-ujs/fork )
    2. Create your feature branch (git checkout -b my-new-feature)
    3. Commit your changes (git commit -am 'Add some feature')
    4. Push to the branch (git push origin my-new-feature)
    5. Create new Pull Request

    Keywords

    none

    Install

    npm i angular-ujs

    DownloadsWeekly Downloads

    17

    Version

    0.4.8

    License

    MIT

    Last publish

    Collaborators

    • tomchentw