My mistake

by Dominic Myers

HTML

<script src="//cdnjs.cloudflare.com/ajax/libs/underscore.js/1.7.0/underscore.js"></script>
<script src="//cdnjs.cloudflare.com/ajax/libs/moment.js/2.8.4/moment.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/crypto-js/3.1.2/rollups/aes.js"></script>
<!-- <div ng-controller="myCtrl">
    <div ng-repeat="usr in usersArray | orderBy:'old' ">
        <input type="checkbox" id="chkUsr{{usr.Id}}" ng-model="usr.Checked">
        <label for="chkUsr{{usr.Id}}">{{usr.Name}} : {{usr.Checked}} : {{usr.DOB | encrypt}}</label>
    </div>
</div> -->
<!-- <div ng-controller="myCtrl">
    <div ng-repeat="usr in usersArray | orderBy:('DOB' | decrypt:pin) ">
        <input type="checkbox" id="chkUsr{{usr.Id}}" ng-model="usr.Checked">
        <label for="chkUsr{{usr.Id}}">{{usr.Name}} : {{usr.Checked}} : {{usr.DOB | decrypt:pin}}</label>
    </div>
</div>
 -->
<div ng-controller="myCtrl">
    <div ng-repeat="usr in usersObject | toArray | orderBy:myDecyptedDateFunction:true ">
        <input type="checkbox" id="chkUsr{{usr.Id}}" ng-model="usr.Checked">
        <label for="chkUsr{{usr.Id}}" ng-click="getKey(usr);">{{usr.Name}} : {{usr.Checked}} : {{usr.DOB | decrypt:pin}}</label>
    </div>
</div>

JavaScript

var app = angular.module('myApp', []);

function myCtrl($scope) {
    $scope.pin = "1234";
    $scope.usersObject = {
        "4ra7lhTMkhhf2v3Gg3zZ": {
            "Checked": false,
            "Id": 5,
            "Name": "First User",
            "old": "17/08/1972",
            "DOB": "U2FsdGVkX1+0pnL9uwjrmSG0kuDcMyp3iIbI2PC+5Pw="
        },
        "IfNiv4Hokow1fNf7BdJT": {
            "Checked": true,
            "Id": 6,
            "Name": "Second User",
            "old": "05/01/1971",
            "DOB": "U2FsdGVkX18xW33oKiY0Q+UhIMozmekeDjoDNifp3ww="
        },
        "5YHYJ801pByWfPuo8xji": {
            "Checked": false,
            "Id": 7,
            "Name": "Third User",
            "old": "18/07/1972",
            "DOB": "U2FsdGVkX19IZvKe7MzntOVfB//6VfEQRWM/Xa/YUE0="
        },
        "mfizsp7lUwAaT0ywp89O": {
            "Checked": false,
            "Id": 8,
            "Name": "Forth User",
            "old": "04/01/1971",
            "DOB": "U2FsdGVkX18ZNtTcztQcjat+Z5CqqzqUthqDsszRKW0="
        },
        "aJKPGKY0aLbhUgrmbXKC": {
            "Checked": false,
            "Id": 9,
            "Name": "Fifth User",
            "old": "06/01/1971",
            "DOB": "U2FsdGVkX1+QKWaBCkm4ZNSBqyiEzJ2yZ7ysOpNfWhc="
        },
        "hiE4tmkz0lMIPgFZEGBY": {
            "Checked": false,
            "Id": 10,
            "Name": "Sixth User",
            "old": "16/08/1972",
            "DOB": "U2FsdGVkX19M2xrW3tnJykge/yOsF15WeAWfgjlMGyo="
        }
    };
    $scope.usersArray = [{
        "Checked": false,
        "Id": 5,
        "Name": "First User",
        "old": "17/08/1972",
        "DOB": "U2FsdGVkX1+0pnL9uwjrmSG0kuDcMyp3iIbI2PC+5Pw="
    }, {
        "Checked": true,
        "Id": 6,
        "Name": "Second User",
        "old": "05/01/1971",
        "DOB": "U2FsdGVkX18xW33oKiY0Q+UhIMozmekeDjoDNifp3ww="
    }, {
        "Checked": false,
        "Id": 7,
        "Name": "Third User",
        "old": "18/07/1972",
        "DOB":...