Explorar el Código

페이징 수정

eskim hace 5 años
padre
commit
92e8df65c6
Se han modificado 1 ficheros con 35 adiciones y 27 borrados
  1. 35 27
      src/main/webapp/ux/plugins/gaga/gaga.paging.js

+ 35 - 27
src/main/webapp/ux/plugins/gaga/gaga.paging.js

@@ -71,8 +71,13 @@ var gagaPaging = {
 	 */
 	createPagination : function(pageable) {
 		// Generate pagination
-		$('#' + oPaginationId).html(pageable.generatedPagination);
-		
+		var html;
+		if (gagajf.isNull(pageable.generatedPagination)) {
+			html = gagaPaging.generatedPagination(pageable);
+		} else {
+			html = pageable.generatedPagination;
+		}
+		$('#' + oPaginationId).html(html);
 		// Bind event
 		gagaPaging.bind();
 	},
@@ -154,59 +159,61 @@ var gagaPaging = {
 				mcxDialog.alert('오류로 인해 처리되지 않았습니다.');
 			}
 		});
-	},
-
+	} ,
 	generatedPagination : function (pageable) {
 		let pageNo = pageable.pageNo;
 		let pageSize = pageable.pageSize;
 		let pageUnit = pageable.pageUnit;
-		let totalCount = 0;
-
-		let firstCount = (getPageGroup()- 1) * pageable.pageUnit + 1;
+		let totalCount = pageable.totalCount;
+		let firstCount = (getPageGroup() - 1) * pageable.pageUnit + 1;
 		let loopCount = firstCount + pageUnit;
 		if (loopCount > getTotalPage()) {
-			loopCount = getTotalPage() + 1;
+			loopCount = Number(getTotalPage() + 1);
 		}
-
+		
 		var pageTag = '';
-		if (!(firstCount === 1 && loopCount === 1)) {
-			if (pageNo === 1) {
+		if (!(firstCount == 1 && loopCount == 1)) {
+			if (pageNo == 1) {
 				pageTag += "<a class=\"arrow\" href=\"#\"><i class=\"fa fa-angle-double-left\" alt=\"맨처음\"></i></a>\n";
 			} else {
 				pageTag += "<a class=\"arrow\" href=\"#pageNo=1\"><i class=\"fa fa-angle-double-left\" alt=\"맨처음\"></i></a>\n";
 			}
 
-			if (getPageGroup() === 1) {
+			if (getPageGroup() == 1) {
 				pageTag += "<a class=\"arrow\" href=\"#\"><i class=\"fa fa-angle-left\" alt=\"이전페이지\"></i></a>\n";
 			} else {
-				pageTag += "<a class=\"arrow\" href=\"#pageNo="+(getPageGroup()-1) * pageUnit+"\"><i class=\"fa fa-angle-left\" alt=\"이전페이지\"></i></a>\n"
+				pageTag += "<a class=\"arrow\" href=\"#pageNo="+ (getPageGroup()-1) * pageUnit + "\"><i class=\"fa fa-angle-left\" alt=\"이전페이지\"></i></a>\n"
 			}
 
 			for (let i = firstCount; i < loopCount; i++) {
-				if (pageNo === i) {
+				if (pageNo == i) {
 					pageTag += "<a class=\"num on\" href=\"#\">"+ i + "</a>\n";
 				} else {
-					pageTag += "<a class=\"num\" href=\"#pageNo=" + i + "\"></a>\n"
+					pageTag += "<a class=\"num\" href=\"#pageNo=" + i + "\">" + i +"</a>\n"
 				}
 			}
-
-			if (loopCount <= (getTotalPage() + 1)) {
-				if (pageNo === getTotalPage()) {
-					pageTag += "<a class=\"arrow\" href=\"#\"><i class=\"fa fa-angle-right\" alt=\"다음페이지\"></i></a>\n";
-					pageTag += "<a class=\"arrow\" href=\"#\"><i class=\"fa fa-angle-double-right\" alt=\"맨마지막\"></i></a>\n";
-				} else {
-					pageTag += "<a class=\"arrow\" href=\"#pageNo=" + (getPageGroup() * pageUnit + 1) + "\"><i class=\"fa fa-angle-right\" alt=\"다음페이지\"></i></a>\n";
+			
+			if (loopCount <= (Number(getTotalPage() + 1))) {
+				//if (getTotalPage() <= pageUnit) {
+				//	pageTag += "<a class=\"arrow\" href=\"#\"><i class=\"fa fa-angle-right\" alt=\"다음페이지\"></i></a>\n";
+				//	pageTag += "<a class=\"arrow\" href=\"#\"><i class=\"fa fa-angle-double-right\" alt=\"맨마지막\"></i></a>\n";
+				//} else {
+					if (getTotalPage() > loopCount){
+						pageTag += "<a class=\"arrow\" href=\"#pageNo=" + (getPageGroup() * pageUnit + 1) + "\"><i class=\"fa fa-angle-right\" alt=\"다음페이지\"></i></a>\n";	
+					}else{
+						pageTag += "<a class=\"arrow\" href=\"#pageNo=" + getTotalPage() + "\"><i class=\"fa fa-angle-right\" alt=\"다음페이지\"></i></a>\n";
+					}
 					pageTag += "<a class=\"arrow\" href=\"#pageNo=" + getTotalPage() + "\"><i class=\"fa fa-angle-double-right\" alt=\"맨마지막\"></i></a>\n";
-				}
+				//}
 			}
 		}
 
 		function getPageGroup() {
-			return pageNo / pageUnit + 1;
+			return parseInt((pageNo-1) / pageUnit + 1 );
 		}
 
-		function  getTotalPage() {
-			let totalPage = totalCount / pageSize;
+		function getTotalPage() {
+			let totalPage = parseInt(totalCount / pageSize);
 			if (totalCount % pageSize > 0) {
 				totalPage++;
 			}
@@ -215,5 +222,6 @@ var gagaPaging = {
 
 		return pageTag;
 	}
-	
+
 }
+