Browse Source

그리드 스크롤 체크

isna 2 years ago
parent
commit
98d216847c
1 changed files with 40 additions and 12 deletions
  1. 40 12
      src/main/webapp/js/app/config.js

+ 40 - 12
src/main/webapp/js/app/config.js

@@ -1802,8 +1802,7 @@ function itp_fn_grid_load_complete(data, gridId, paging, rn, menuId, isSrh, empt
1802
 			$('#ITP_' + menuId + '_jqGridEmpty').addClass('itp_noSrh');
1802
 			$('#ITP_' + menuId + '_jqGridEmpty').addClass('itp_noSrh');
1803
 		} else {
1803
 		} else {
1804
 			$('#ITP_' + menuId + '_jqGridEmpty').removeClass('itp_noSrh');
1804
 			$('#ITP_' + menuId + '_jqGridEmpty').removeClass('itp_noSrh');
1805
-		}
1806
-
1805
+		} 
1807
 		if (rowCnt == 0) {
1806
 		if (rowCnt == 0) {
1808
 			$(gridId + '_list').find('.ui-jqgrid-bdiv').css('min-height', '100px');
1807
 			$(gridId + '_list').find('.ui-jqgrid-bdiv').css('min-height', '100px');
1809
 			$('#ITP_' + menuId + '_jqGridEmpty').html(emptyMsg);
1808
 			$('#ITP_' + menuId + '_jqGridEmpty').html(emptyMsg);
@@ -1818,8 +1817,7 @@ function itp_fn_grid_load_complete(data, gridId, paging, rn, menuId, isSrh, empt
1818
 			$(gridId + '_list').find('.ui-jqgrid .ui-jqgrid-bdiv').css('overflow-x', 'auto');
1817
 			$(gridId + '_list').find('.ui-jqgrid .ui-jqgrid-bdiv').css('overflow-x', 'auto');
1819
 		} else {
1818
 		} else {
1820
 			$(gridId + '_list').find('.ui-jqgrid .ui-jqgrid-bdiv').css('overflow-x', 'auto');
1819
 			$(gridId + '_list').find('.ui-jqgrid .ui-jqgrid-bdiv').css('overflow-x', 'auto');
1821
-		}
1822
-
1820
+		} 
1823
 		if (paging) {
1821
 		if (paging) {
1824
 			$(gridId + 'Pager_center').show();
1822
 			$(gridId + 'Pager_center').show();
1825
 			if (!totPage) {
1823
 			if (!totPage) {
@@ -2118,19 +2116,49 @@ function itp_fn_check_grid_is_writing(gridId) {
2118
 	return isWriting;
2116
 	return isWriting;
2119
 };
2117
 };
2120
 
2118
 
2121
-function itp_fn_jqgrid_resize(grid_id, parent_id, size) {
2119
+function itp_fn_jqgrid_resize(grid_id, parent_id, size) { 
2120
+	var leftDist=0, prevWidth=0;
2121
+	const setGridCellWidth=function(cellIndex, cellWidth) {
2122
+		var idx=0;
2123
+		$(parent_id+' table').each(function() {
2124
+			if(idx++==0)
2125
+				$(this).find('th:eq('+cellIndex+')').each(function(){$(this).css('width',cellWidth);});
2126
+			else
2127
+				$(this).find('td:eq('+cellIndex+')').each(function(){$(this).css('width',cellWidth);});
2128
+		}); 
2129
+	}
2122
 	$(window).on('resize', function(e) {
2130
 	$(window).on('resize', function(e) {
2123
-		//window.resizeEvt;
2124
-		//clearTimeout(window.resizeEvt);
2125
-		window.resizeEvt = setTimeout(function() {
2126
-			$(grid_id).setGridWidth(782);
2131
+		/*na 그리드 수평스크롤 체크 */ 
2132
+		setTimeout(function() {
2127
 			var outerwidth = $(parent_id).width();
2133
 			var outerwidth = $(parent_id).width();
2128
 			if ($(window).width() < 1301 && size == 'sm') {
2134
 			if ($(window).width() < 1301 && size == 'sm') {
2129
 				outerwidth = 782;
2135
 				outerwidth = 782;
2130
 			}
2136
 			}
2131
-			$(grid_id).setGridWidth(outerwidth);
2132
-		}, 250);
2133
-	});
2137
+			if(outerwidth==100) return;
2138
+			if(leftDist==0) {
2139
+				leftDist= $(window).width() - outerwidth;
2140
+			}
2141
+			if( leftDist>0 && outerwidth>($(window).width()- leftDist) ) {
2142
+				outerwidth=$(window).width() - leftDist;
2143
+			}
2144
+			if(size && outerwidth < 780 ) outerwidth=782;
2145
+			$(grid_id).setGridWidth(outerwidth, true); 
2146
+			var cols = $(grid_id).getGridParam('colModel');
2147
+
2148
+			if( Array.isArray(cols) && cols.length>1 ) {
2149
+				var idx=0, last=cols.length-1;
2150
+				for(var idx=0;idx<cols.length; idx++  ) {
2151
+					var c=cols[idx];
2152
+					if(c.hidden) continue;
2153
+					if(c.minwidth && c.minwidth>c.width ) {
2154
+						setGridCellWidth(idx, c.minwidth);
2155
+					} else if(last==idx) {
2156
+						setGridCellWidth(idx, c.width-2);
2157
+					}
2158
+				}
2159
+			}
2160
+		}, 250); 
2161
+	}); 
2134
 };
2162
 };
2135
 
2163
 
2136
 function itp_fn_make_set_combine(gridId, label, width, cols, hideCols) {
2164
 function itp_fn_make_set_combine(gridId, label, width, cols, hideCols) {