fredyounan
2/20/2016 - 9:33 AM

Laravel: Ajax Pagination Presenter

Laravel: Ajax Pagination Presenter

<?php

namespace App\Presenters;

use Illuminate\Pagination\BootstrapThreePresenter;

/**
 * 
 * To use: 
 * 
 * $data = $query->paginate(...); // Paginate the query
 * $data->setPath(action(...)); // Set the page callback
 * $data->render(new \App\Presenters\AjaxPaginationPresenter($data)); // Render the page list
 * 
 */

class AjaxPaginationPresenter extends BootstrapThreePresenter {

	/**
	 * Get HTML wrapper for an available page link.
	 *
	 * @param  string  $url
	 * @param  int  $page
	 * @param  string|null  $rel
	 * @return string
	 */
	protected function getAvailablePageWrapper($url, $page, $rel = null)
	{
		$rel = is_null($rel) ? '' : ' rel="'.$rel.'"';
		return '<li><a href="'.htmlentities($url).'"'.$rel.' onclick="return paginate(this)">'.$page.'</a></li>';
	}
	
}
?>