Pagerの作成 (未完)

ページャーの作成に取り掛かっているので、その記録をします。 まだ途中で、無駄な処理が多いですが、ご容赦下さい。

JavaのSelectData


/** 現在のページの年 */ private ALDateTimeField viewYear; /** 現在の年 */ private ALDateTimeField currentYear; /** 前の年 */ private ALDateTimeField prevYear; /** 次の年 */ private ALDateTimeField nextYear; /** 今日 */ private ALDateTimeField today; public void init(ALAction action, RunData rundata, Context context) throws ALPageNotFoundException { Calendar cal = Calendar.getInstance(); // 今年 currentYear = new ALDateTimeField("yyyy"); // 今日 today = new ALDateTimeField("yyyy"); // 前の年 次の年 prevYear = new ALDateTimeField("yyyy"); nextYear = new ALDateTimeField("yyyy"); holiday_date = new ALDateField(); holiday_date.setValue(cal.getTime()); // 現在のページの年 viewYear = new ALDateTimeField("yyyy"); viewYear.setNotNull(true); Calendar to = Calendar.getInstance(); today.setValue(to.getTime()); viewYear.setValue(cal.getTime()); if (!viewYear.validate(new ArrayList<String>())) { ALEipUtils.removeTemp(rundata, context, "view_month"); throw new ALPageNotFoundException(); } if (Integer.parseInt(today.getMonth()) == Integer.parseInt(viewYear.getMonth().toString())) { currentYear.setValue(to.getTime()); } Calendar cal2 = Calendar.getInstance(); cal2.setTime(viewYear.getValue()); cal2.add(Calendar.YEAR, 1); nextYear.setValue(cal2.getTime()); cal2.add(Calendar.YEAR, -2); prevYear.setValue(cal2.getTime()); } } /** * 前の年を取得します。 * * @return */ public ALDateTimeField getPrevYear() { return prevYear; } /** * 次の年を取得します。 * * @return */ public ALDateTimeField getNextYear() { return nextYear; } /** * 今年を取得します。 * * @return */ public ALDateTimeField getCurrentYear() { return currentYear; } /** * 今日を取得します。 * * @return */ public ALDateTimeField getToday() { return today; } getResultDate()

Javascriptのform.js

aipo.system.pagerHolidayList = function(jslink, year) {
    aipo.system.jslink = null;
    aipo.system.year = null;
    aipo.system.jslink = jslink;
    aipo.system.year = year;
    var screen = aipo.system.jslink + "?template=SystemHolidaySettingListScreen&view_year=" + aipo.system.year;
    aipo.system.holidayListPane.viewPage(screen);
}

vmファイル

<li><a href="javascript:void(0);" onclick="aipo.system.pagerHolidayList('$!jslink.getPortletById($!portlet.ID)', $!result.PrevYear);" title="$l10n.HOLIDAY_SETTING_PREV_YEAR" class="first arrow"><i class="icon-caret-left"></i></a></li>
 <li><a href="javascript:void(0);" onclick="aipo.system.pagerHolidayList('$!jslink.getPortletById($!portlet.ID)', $!result.NextYear);" title="$l10n.HOLIDAY_SETTING_NEXT_YEAR" class="last arrow"><i class="icon-caret-right"></i></a></li>