Balada Programmer Galau

Banyak hal dari yang penting sampai yang nggak penting yang sering digalauin programmer. Kalo dari pengalaman saya pribadi yang sekalian curhat, ini dia hal yang mustahil bikin programmer nggak galau.

  1. Coding supaya bisa sama penampakannya dan functionnya di beberapa browser.
    Permintaan user buat compatible di all browser itu cukup bisa bikin galau para web developer. Apalagi kalo mintanya compatible ke Interet Explore yang versi lama. Itu perjuangannya bisa sampe bikin begadang. Bahkan lebih >_<
    Yang satu ada border yang satu nggak.. yang satu tempel menempel yang satu jadi jauh-jauhan.. yang satu function javascriptnya jalan yang satu nggak.. dan aneka hal lainnya.
    iedog
  2. Ngira-ngira user bakal bikin kesalahan di bagian mana dari aplikasi yang udah dibikin.
    Tuuuhh .. pengertian banget kan kami programmer ini.. :3
    User aja kita ngertiin. Apalagi kaammuu.. *rayuan gombal*
    Pola berpikir programmer itu mesti memandang dari banyak hal. Dia nggak bisa cuma mikir dari sisi pandang dirinya supaya dapet gampangnya. Tapi juga mikirin gimana pola berpikir user. Mulai dari gimana user bisa cepet ngertiin aplikasinya, gimana nanti kemungkinan user bakalan bikin kesalahan, dan lain sebagainya. Nggak usah ragu deh buat milih programmer jadi pasangan hidup 😉 *mata genit*
    salahdimana Continue reading “Balada Programmer Galau”

How To Create CheckedAll Function Based On AngularJS Model

In this case I want to create select all method using angular model. I have list of object and show it on my jsp on table. Here is snap of my jsp code.

<div ng-controller="historyController">
	<div style="margin-bottom: 10px;vertical-align: middle">
		<input ng-click="selectAllAct()" type="checkbox" /> &nbsp;Select All Transactions
	</div>
	<table cellpadding="0" cellspacing="0" border="0" class="table table-striped table-bordered" id="exampleone">
		<thead>
			<tr>
				<th width="10%">Transaction Time</th>
				<th width="10%">Debit</th>
				<th width="10%">Credit</th>
				<th width="10%">Description</th>
				<th width="5%">Action</th>
			</tr>
		</thead>
		<tbody>
			<tr ng-repeat="trx in $parent.trxListFilter = (hisTrxList|filter:trxFilter) | startFrom:$parent.currentPage * $parent.dataPerPage | limitTo:$parent.dataPerPage | orderBy: trxTime" repeat-done="numberOfPages()">
				<td width="10%">{{trx.trxTime| date: "dd MMMM yyyy HH:mm:ss"}}</td>
				<td width="10%">{{trx.dbAmount| currency:"Rp "}}</td>
				<td width="10%">{{trx.crAmount| currency:"Rp "}}</td>
				<td width="10%">{{trx.txDesc}}</td>
				<td width="5%"><input type="checkbox" class="checkbox" ng-model="trx.isProcess" ng-true-value="T" ng-false-value="F"/></td>
			</tr>
		</tbody>
	</table>
</div>

Here is my javascript code.

showApp.controller('historyController', ['$scope', '$http', 'localStorageService', function($scope, $http, localStorageService) {
        $scope.hisTrxList = null;
        $scope.selectAll = false;

        $scope.getHistoryList = function() {
            //some method to get list of history trx
        };

        $scope.selectAllAct = function() {
            $scope.selectAll = !$scope.selectAll;
            console.log($scope.selectAll);
            if ($scope.hisTrxList != null && $scope.hisTrxList.length > 0) {                
                angular.forEach($scope.hisTrxList, function(trx, Key) {
                    trx.isProcess = $scope.selectAll?"T":"F";  
                });
            }
        };
        
        $scope.getHistoryList();

    }]);

Hope this simple article can help 🙂