1function getPager(pageIndex, totalPage, gap) { 2 var result = []; 3 var i = 0; 4 if (totalPage > 0) { 5 var space = gap * 2 + 5; 6 if (totalPage > space) { 7 var s = (space + 1) / 2; 8 var f = ((pageIndex - s) <= 0) ? 2 : 0; 9 var l = (pageIndex > (totalPage - s)) ? (totalPage - 1) : 0; 10 var sP = 0, eP = 0; 11 if (f === 0) { 12 if (l === 0) { 13 sP = pageIndex - gap; 14 eP = pageIndex + gap; 15 } else { 16 sP = totalPage - ((gap + 1) * 2); 17 eP = sP + (2 * gap); 18 } 19 } else { 20 if (l === 0) { 21 sP = 3; 22 eP = sP + (2 * gap); 23 } else { 24 //impossiable 25 } 26 } 27 result.push(1); 28 result.push(f === 0 ? "." : f); 29 for (i = sP; i <= eP; i++) { 30 result.push(i); 31 } 32 result.push(l === 0 ? "." : l); 33 result.push(totalPage); 34 } else { 35 for (i = 1; i <= totalPage; i++) { 36 result.push(i); 37 } 38 } 39 } 40 return result; 41} 42 43function setPager(pageIdx, totalPage) { 44 var $pager = $("#pager"); 45 var prevPage = pageIdx - 1; 46 var nextPage = pageIdx + 1; 47 var $prev = $pager.find(".m-pagination-prev"); 48 var $next = $pager.find(".m-pagination-next"); 49 50 if (pageIdx <= prevPage || prevPage < 1) { 51 $prev.addClass("disabled"); 52 } else { 53 $prev.removeClass("disabled").data("page", prevPage); 54 } 55 if (pageIdx >= nextPage || nextPage > totalPage) { 56 $next.addClass("disabled"); 57 } else { 58 $next.removeClass("disabled").data("page", nextPage); 59 } 60 var pager = getPager(pageIdx, totalPage, 1); 61 var pagerHtml = $.map(pager, 62 function (v) { 63 var result; 64 if (v === ".") { 65 result = '<li class="m-pagination-item"><em>...</em >'; 66 } else { 67 var active = (v === pageIdx) ? " active" : ""; 68 result = '<li class="m-pagination-item' + active + '" data-page="' + v + '"><a href="javascript:;">' + v + '</a></li>'; 69 } 70 return result; 71 }); 72 $pager.find("ol.m-pagination-number").empty().html(pagerHtml.join("")); 73} 74 75function getCtNewsByPage(pageIndex) { 76 return makeApiCall("../api/News/GetCtNewsByPage", { PageSize: 10, PageIndex: pageIndex }); 77} 78 79function getCtNewsList(pageIndex) { 80 getCtNewsByPage(pageIndex).then(data => { 81 if (data.NewsList && data.NewsList.length) { 82 var items = $.map(data.NewsList, 83 function (v) { 84 var url = "../News/nContent.aspx?" + $.param({ NewsDate: v.NewsDate, CSeqNO: v.CSeqNO }); 85 var time = ((v.NewsTime || "").length === 17) ? v.NewsTime.substr(4, 10) : v.NewsTime; 86 time = (time.length === 10) ? (time.substring(0, 2) + "/" + time.substring(2)) : time; 87 return getNewsItem(url, v.Title, time); 88 }); 89 $("#newsList").empty().append(items.join("")); 90 setPager(data.PageIndex, data.TotalPage); 91 } else { 92 alertMsg({ content: "ç®åç¡ãæ°èç´æãè³æ!" }); 93 } 94 }).fail(() => { 95 alertMsg({ content: "ç¡æ³åå¾ãæ°èç´æãè³æ!" }); 96 }); 97} 98 99function getNewsItem(url, title, time, target) { 100 var t = target || "_self"; 101 var pattern = '' + 102 '<li class="m-timeline-item">\n' + 103 ' <div class="m-timeline-title">\n' + 104 ' <a href="Url" class="m-timeline-link text-x3 hover:text-x094e">\n' + 105 ' <h3 class="$after:bg-x094e pt:text-18 m:text-16">Title</h3>\n' + 106 ' </a>' + 107 ' </div>' + 108 ' <time class="m-timeline-time text-x8 pt:text-18 m:text-14">Time</time>' + 109 '</li>'; 110 return $(pattern).find("a.m-timeline-link").attr("href", url).attr("target",t).find("h3").text(title).end().end().find("time").text(time).end().prop("outerHTML"); 111} 112
113function getCtNewsDetailsData(newsDate, cSeqNo) { 114 return makeApiCall("../api/News/GetCtNewsDetails", { NewsDate: newsDate, CSeqNO: cSeqNo }); 115} 116 117function getCtNewsDetails(newsDate, cSeqNo) { 118 getCtNewsDetailsData(newsDate, cSeqNo).then((data) => { 119 if (data) { 120 var time = data.NewsTime.substr(0, 4) + "-" + data.NewsTime.substr(4, 2) + "-" + data.NewsTime.substring(6); 121 var newsContent = (data.Source === "T" ? "ãå ¬éè³è¨è§æ¸¬ç«ã<br/>" : "") + (data.NewsContent || "").replace(/\n/g, "<br/>"); 122 $("#title").text(data.Title); 123 $("#time").text(time); 124 $("#reporter").text(data.Reporter); 125 $("#newsContent").html(newsContent); 126 if (data.PrvNewsDate && data.PrvCSeqNo) { 127 $("#prev").removeClass("disabled").one("click", function () { 128 window.location.href = window.location.pathname + "?NewsDate=" + data.PrvNewsDate + "&CSeqNO=" + data.PrvCSeqNo; 129 }); 130 } else { 131 $("#prev").addClass("disabled"); 132 } 133 if (data.NxtNewsDate && data.NxtCSeqNo) { 134 $("#next").removeClass("disabled").one("click", function () { 135 window.location.href = window.location.pathname + "?NewsDate=" + data.NxtNewsDate + "&CSeqNO=" + data.NxtCSeqNo; 136 }); 137 } else { 138 $("#next").addClass("disabled"); 139 } 140 window.scrollTo(0, 0); 141 } else { 142 alertMsg({ content: "æ¨ææ¥è©¢çæ°èå·²éæ!<br/> [SeqNo:" + htmlEncode(newsDate + "_" + cSeqNo) + "]" }); 143 } 144 }); 145} 146 147function getCcNewsByPage(pageIndex) { 148 return makeApiCall("../api/News/GetCcNewsByPage", { PageSize: 10, PageIndex: pageIndex }); 149} 150 151function getCcNewsList(pageIndex) { 152 getCcNewsByPage(pageIndex).then(data => { 153 if (data.NewsList && data.NewsList.length) { 154 var items = $.map(data.NewsList, 155 function (v) { 156 var url = v.IsOpen === "Y" ? v.OpenUrl : "../Bulletin/bContent.aspx?" + $.param({ NewsId: v.NewsId }); 157 var target = v.IsOpen === "Y" ? "_blank" : ""; 158 var date = v.NewsDate ? new Date(v.NewsDate) : null; 159 var time = date ? date.format("yyyy-MM-dd") : ""; 160 return getNewsItem(url, v.NewsTitle, time, target); 161 }); 162 $("#newsList").empty().append(items.join("")); 163 setPager(data.PageIndex, data.TotalPage); 164 } else { 165 alertMsg({ content: "ç®åç¡ãéè¦å ¬åãè³æ!" }); 166 } 167 }).fail(() => { 168 alertMsg({ content: "ç¡æ³åå¾ãéè¦å ¬åãè³æ!" }); 169 }); 170} 171 172function getCcNewsDetailsData(newsId) { 173 return makeApiCall("../api/News/GetCcNewsDetails", { NewsId: newsId }); 174} 175 176function getCcNewsDetails(newsId) { 177 getCcNewsDetailsData(newsId).then((data) => { 178 if (data) { 179 var $prev = $("#prev"); 180 var $next = $("#next"); 181 var title = data.NewsTitle; 182 var date = data.NewsDate ? new Date(data.NewsDate) : ""; 183 var time = date ? date.format("yyyy-MM-dd hh:mm:ss") : ""; 184 var newsContent = data.NewsContent; 185 $("#title").text(title); 186 $("#time").text("ç¼è¡¨æé: " + time); 187 $("#newsContent").html(newsContent); 188 $prev.data("newsId", data.PrvNewsId); 189 $next.data("newsId", data.NxtNewsId); 190 191 if (data.PrvNewsId) { 192 $prev.removeClass("disabled"); 193 } else { 194 $prev.addClass("disabled"); 195 } 196 if (data.NxtNewsId) { 197 $next.removeClass("disabled"); 198 } else { 199 $next.addClass("disabled"); 200 } 201 history.replaceState(data, "", location.pathname + location.search.replace(/(NewsId)=\d+/i, "$1=" + data.NewsId)); 202 window.scrollTo(0, 0); 203 } else { 204 alertMsg({ content: "æ¨ææ¥è©¢çãéè¦å ¬åãä¸å卿已éæ!<br/> [NewsId:" + htmlEncode(newsId) + "]" });
205 } 206 }); 207} 208 209 210function getCathaySecNewsByPage(pageIndex) { 211 return makeApiCall("../api/News/GetCathaySecNewsByPage", { PageSize: 10, PageIndex: pageIndex }); 212} 213 214function getCathaySecNewsList(pageIndex) { 215 getCathaySecNewsByPage(pageIndex).then(data => { 216 if (data.NewsList && data.NewsList.length) { 217 var items = $.map(data.NewsList, 218 function (v) { 219 var url = v.IsOpen === "Y" ? v.OpenUrl : "../CathaySecNews/cContent.aspx?" + $.param({ NewsId: v.NewsId }); 220 var target = v.IsOpen === "Y" ? "_blank" : ""; 221 var date = v.NewsDate ? new Date(v.NewsDate) : null; 222 var time = date ? date.format("yyyy-MM-dd") : ""; 223 return getNewsItem(url, v.NewsTitle, time, target); 224 }); 225 $("#newsList").empty().append(items.join("")); 226 setPager(data.PageIndex, data.TotalPage); 227 } else { 228 alertMsg({ content: "ç®åç¡ãåèæ°èãè³æ!" }); 229 } 230 }).fail(() => { 231 alertMsg({ content: "ç¡æ³åå¾ãåèæ°èãè³æ!" }); 232 }); 233} 234 235 236function getCathaySecNewsDetailsData(newsId) { 237 return makeApiCall("../api/News/GetCathaySecNewsDetails", { NewsId: newsId }); 238} 239 240function getCathaySecNewsDetails(newsId) { 241 getCathaySecNewsDetailsData(newsId).then((data) => { 242 if (data) { 243 var $prev = $("#prev"); 244 var $next = $("#next"); 245 var title = data.NewsTitle; 246 var date = data.NewsDate ? new Date(data.NewsDate) : ""; 247 var time = date ? date.format("yyyy-MM-dd hh:mm:ss") : ""; 248 var newsContent = data.NewsContent.replace(/(<(strong|h2|p)>)(\s* \s*){5,}([\s\S]+?<\/\2>)/g, "$1$4"); 249 $("#title").text(title); 250 $("#time").text("ç¼è¡¨æé: " + time); 251 $("#newsContent").html(newsContent); 252 $prev.data("newsId", data.PrvNewsId); 253 $next.data("newsId", data.NxtNewsId); 254 255 if (data.PrvNewsId) { 256 $prev.removeClass("disabled"); 257 } else { 258 $prev.addClass("disabled"); 259 } 260 if (data.NxtNewsId) { 261 $next.removeClass("disabled"); 262 } else { 263 $next.addClass("disabled"); 264 } 265 history.replaceState(data, "", location.pathname + location.search.replace(/(NewsId)=\d+/i, "$1=" + data.NewsId)); 266 window.scrollTo(0, 0); 267 } else { 268 alertMsg({ content: "æ¨ææ¥è©¢çãåèæ°èãä¸å卿已éæ!<br/> [NewsId:" + htmlEncode(newsId) + "]" }); 269 } 270 }); 271}
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.