JSFiddle - React, Tailwind, and code Playground
by st3fan
HTML
<div ng-app="demoApp">
<div ng-controller="demoController">
<h2>{{heading}}</h2>
Cart: {{currentCart.name}}
</div>
</div>
JavaScript
(function() {
var app = angular.module('demoApp', []);
// Controllers
app.controller('demoController', function($scope, Cart) {
$scope.heading = "DemoController";
//$scope.currentCart = Cart.build({ name: "Cart A" });
});
// Models
app.factory('Cart', function() {
// Constructor
function Cart(name, lines) {
this.name = name;
this.lines = lines || [];
}
// Public method
Cart.prototype.isEmpty = function () {
return !this.lines.length;
};
// Static method
Cart.build = function(data) {
return new Cart(data.name, data.lines);
};
Cart.apiResponseTransformer = function (responseData) {
if (angular.isArray(responseData)) {
return responseData
.map(Cart.build)
.filter(Boolean);
}
return Cart.build(responseData);
};
return Cart;
});
// Services
})();