Angular - Module
Module with controller, filter, and directive.
HTML
<script src="http://code.angularjs.org/angular-1.0.1.js"></script>
<body ng-app="myApp" ng-controller="myCtrl">
<input ng-model="msg" />
<p my-dctv >
{{msg | myUpperFilter }}
</p>
<table style="border-collapse: collapse; width: 50px">
<tr ng-repeat="product in foos | partition:2">
<td style="border: 1px Dashed #bfbfbf; width: 20px;" ng-repeat="item in product">{{item.id}}
</td></tr></table>
<button ng-click="change()" value="Change"> Change</button>
</body>
JavaScript
// the main (app) module
var myApp = angular.module("myApp", []);
// add a controller
myApp.controller("myCtrl", function($scope) {
$scope.fus=[{"id":"12"}];
$scope.msg = "hello world";
$scope.foos=[{"id":"10","name":"name 10","description":"description 1","field3":"field3 10","field4":"field4 10","field5 ":"field5 10"},
{"id":"11","name":"name 11","description":"description 1","field3":"field3 11","field4":"field4 11","field5 ":"field5 11"},
{"id":"12","name":"name 12","description":"description 1","field3":"field3 12","field4":"field4 12","field5 ":"field5 12"},
{"id":"13","name":"name 13","description":"description 1","field3":"field3 13","field4":"field4 13","field5 ":"field5 13"},
{"id":"14","name":"name 14","description":"description 1","field3":"field3 14","field4":"field4 14","field5 ":"field5 14"},
{"id":"15","name":"name 15","description":"description 1","field3":"field3 15","field4":"field4 15","field5 ":"field5 15"},
{"id":"16","name":"name 16","description":"description 1","field3":"field3 16","field4":"field4 16","field5 ":"field5 16"}];
$scope.foos_=angular.copy($scope.foos);
$scope.change=function(){
if($scope.foos.toString()==$scope.fus.toString())
{
$scope.foos=$scope.foos_;
}
else
{
$scope.foos=$scope.fus
}
};
});
// add a filter
myApp.filter("myUpperFilter", function() {
return function(input) {
return input.toUpperCase();
}
});
myApp.filter('partition', function() {
var cache = {};
var filter = function(arr, size) {
if (!arr) { return; }
var newArr = [];
for (var i=0; i<arr.length; i+=size) {
newArr.push(arr.slice(i, i+size));
}
var arrString = JSON.stringify(arr);
var fromCache = cache[arrString+size];
if (JSON.stringify(fromCache) === JSON.stringify(newArr)) {
return fromCache;
}
...