GitHub_angular.js: 10692

Illustration of comment to https://github.com/angular/angular.js/issues/10692.

by ExpertSystem

HTML

<script src="http://code.angularjs.org/1.3.8/angular.min.js"></script>
<script src="http://code.angularjs.org/1.3.8/angular-resource.min.js"></script>
<div></div>

<!-- -=-=-=-=- -=[IGNORE BELOW THIS LINE]=- -=-=-=-=- -->
<!-- Page Footer -->
<small class="footer" ng-non-bindable="">
    <div ng-app="footerApp" ng-controller="FooterCtrl as footer">
        <span class="left">
            <b>Angular v{{footer.version.full}}</b>
            ({{footer.version.codeName}})
        </span>
        <span class="right">
            &copy;
            <a ng-href="{{footer.author.url}}" target="_blank">
                {{footer.author.name}}
            </a>
        </span>
    </div>
</small>

CSS

/* -=-=-=-=- -=[IGNORE BELOW THIS LINE]=- -=-=-=-=- */
/* Page Footer */
body { padding-bottom: 2em; }
.footer { background-color: White; border-top: 1px solid rgba(100, 100, 100, 0.33); bottom: 0; display: block; font-size: 0.75em; height: 1.5em; left: 0; margin: 0 5px; overflow: auto; padding: 5px; position: fixed; right: 0; }
.footer > div { display: flex; flex-direction: row; }
.footer .left { flex-grow: 2; text-align: left; }
.footer .right { flex-grow: 1; text-align: right; }

JavaScript

(function () {'use strict';
              
angular.
    module('myApp', ['ngResource']).
    controller('AppCtrl', AppCtrl).
    factory('User', UserResource);

function AppCtrl(User) {
  var user = new User({username: 'ES'});
  user.testLocal();
  user.$test();
}

function UserResource($resource) {
  var User = $resource('http://example.com/users/:userId', {
    userId: '@_id'
  }, {
    test: {
      url: 'http://example.com/users/test-username/',
      method: 'POST'
    }
  });

  User.prototype.testLocal = function () {
    if (this.username && (this.username.length < 5)) {
      alert('Too short username !');
    }
  };

  return User;
}

}());

/* -=-=-=-=- -=[IGNORE BELOW THIS LINE]=- -=-=-=-=- */
/* Page Footer */
(function () {'use strict';
var app = 'footerApp';
angular.module(app, []).controller('FooterCtrl', FooterCtrl);
angular.bootstrap(document.querySelector('[ng-app="' + app + '"]'), [app]);
function FooterCtrl() {
  this.version = angular.version;
  this.author = {name: 'GKalpak', url: '//github.com/gkalpak'};
}
}());