// JavaScript source code // Piter Gavrinev 31.03.2021 Reginfo_v2.js version (v2.0) //ref "~/js/moment-with-locales.min.js" //ref = "~/js/AICPrototypeControlsLib.js"; //const RegCodes = 'EK,XA'; //var Parts = [ // { Name: "1", Title: "Новости", EngTitle: "News", urlPrefix: "/press/regevent/" }, // { Name: "2", Title: "Материалы по инфляции", EngTitle: "Inflation documents", urlPrefix: "/press/reginfl/" } //]; // intenal const _DatesSource = "/Queries/AjaxDataSource/116158"; const _EventSourceURL = "/Queries/AjaxDataSource/116159"; //const _imagePath = "/Queries/XsltBlock/File/115943/"; let _PageLoadding = false; let _PageSize = 10; let from_date_val = ''; let to_date_val = ''; let last_big = true; let pageCounter = 0; let tab_id; let IsEng = 0; let News_last_day; let DatesControl; let CurrentSearch = ''; let urlPrefix; $(function () { CreateMainPoint(); }); function RestartTab() { from_date_val = ''; to_date_val = ''; LoadTab(from_date_val, to_date_val, true); AjustDates(); $.cookie("SelectedTab", tab_id, { expires: 1 }); } function CreateMainPoint() { urlPrefix = Parts[0].urlPrefix; tab_id = Parts[0].Name; const lang = $("meta[name='zoom:lang']").attr("content"); moment.locale(lang); IsEng = 0; if (lang === 'en') { IsEng = 1; } const rootPoint = $("#mainPoint"); const rp = $("
"); rootPoint.append(rp); const search_subblock = div("mb-16 mt-40"); var searchTextControl = new AIC_SearchTextField(IsEng, "Поиск по новостям"); searchTextControl.click(function (text_fnd) { CurrentSearch = text_fnd; RestartTab(); }); searchTextControl.AppendTo(search_subblock); rp.append(search_subblock); const frm = $("
"); rp.append(frm); const df = div("", "DatesFilterRange"); frm.append(df); const div_d = $("
"); const news_page_row = div("news-speeches_wrap"); const content = div("", "events_tab1"); news_page_row.append(content); div_d.append(news_page_row); rootPoint.append(div_d); rp.trigger('new-html'); if (!AutoTabSelect()) { LoadTab('', '', false); AjustDates(); } } function AutoTabSelect() { if ($.cookie("SelectedTab") !== undefined) { const tabidSelect = $.cookie("SelectedTab"); const tabObj = $("a[data-tabs-tab='" + tabidSelect + "']"); if (tabObj.length !== 0) { tab_id = tabidSelect; tabObj.click(); return true; } } return false; } function AjustDates() { $.ajax({ url: _DatesSource, data: { Type: tab_id, RegCodes: RegCodes }, cache: false }).done(function (data) { from_date_val = data[0].DTMin; to_date_val = data[0].DTMax; const pu = $(".page-info_last-update"); if (pu.length !== 0) { pu.text(IsEng ? "Last updated on: " + moment(to_date_val).format("DD/MM/YYYY") : "Последнее обновление страницы: " + moment(to_date_val).format("DD.MM.YYYY")); } DatesControl = new AIC_TwoDateControlEXT(IsEng); const dateRangeObj = $("#DatesFilterRange"); dateRangeObj.empty(); DatesControl.AppendTo(dateRangeObj); DatesControl.SetDatesRange(from_date_val, to_date_val); DatesControl.click(function (fdate, tdate) { if (fdate !== null && tdate !== null) { from_date_val = fdate; to_date_val = tdate; LoadTab(from_date_val, to_date_val, true); } else { from_date_val = ''; to_date_val = ''; LoadTab(from_date_val, to_date_val, true); } }); }); } function LoadTab(dateFrom, dateTo, reset) { const lang = $("meta[name='zoom:lang']").attr("content"); moment.locale(lang); pageCounter = 0; let loadPageText = 'Загрузить еще'; IsEng = 0; if (lang === 'en') { loadPageText = 'Load more'; IsEng = 1; } const idiv = $("#events_tab1"); // contend div const vrap = idiv.parent(); if (vrap.children(".more-button").length > 0 && reset === false) return; idiv.empty(); if (reset) { News_last_day = null; } if (vrap.children(".more-button").length === 0) { const nexButton = $(''); vrap.append(nexButton); nexButton.click(function () { if (_PageLoadding) return; _PageLoadding = true; pageCounter++; EPLoadPage(idiv, pageCounter, IsEng, tab_id, from_date_val, to_date_val); }); } EPLoadPage(idiv, 0, IsEng, tab_id, dateFrom, dateTo); } function EPLoadPage(idiv, page, IsEng, tab_id, dateFrom, dateTo) { const nexButton = idiv.parent().children(".more-button"); nexButton.addClass("_loading"); $.ajax({ url: _EventSourceURL, data: { page: page, Type: tab_id, dateFrom: dateFrom, dateTo: dateTo, RegCodes: RegCodes, SearchStr: CurrentSearch, pageSize: _PageSize }, cache: false }).done(function (data) { _PageLoadding = false; nexButton.removeClass("_loading"); if (data.length !== _PageSize) { nexButton.hide(); } else { nexButton.show(); } $.each(data, function (index, k) { idiv.append(MakeEventRow(k)); }); idiv.trigger('new-html'); // $("#mainPoint").trigger('new-html'); }).fail(function () { alert("Error load data"); _PageLoadding = false; }); } function MakeEventRow(k) { let dtm = moment(k.DT).format("DD MMMM YYYY"); if (moment(k.DT).format("DD.MM.YYYY") === moment().format("DD.MM.YYYY")) { dtm = IsEng === 1 ? "Today" : "Сегодня"; } //let tpName = decodeType(k.TBLType, IsEng); let _link; _link = urlPrefix + '?id=' + k.id; _link = (IsEng ? '/eng' + _link : _link); //let press_root = $('
'); let press_root = $('
'); let bkgimg = ''; const news_inner = $('
'); const rtp = $('
'); //rtp.append($('
' + dtm + '
' + tpName + '
')); rtp.append($('
' + dtm + '
')); rtp.append($('' + k.Title + '')); //if (k.RegionName !== null) rtp.append($("
" + k.RegionName + "
")); news_inner.append(rtp); if (k.ImageId > 0) { news_inner.append(''); } // } press_root.append(news_inner); return press_root; }