From ab0902a9b378924aec52e0831e1c6ec825d45400 Mon Sep 17 00:00:00 2001 From: Milan Date: Sat, 23 May 2020 23:04:42 +0200 Subject: [PATCH] calcms.js: use fetch api for updateContainer --- website/agenda/js/calcms.cust.js | 8 ++++---- website/agenda/js/calcms.js | 34 ++++++++++++++++++++------------ 2 files changed, 25 insertions(+), 17 deletions(-) diff --git a/website/agenda/js/calcms.cust.js b/website/agenda/js/calcms.cust.js index 3e3e656..cc25187 100644 --- a/website/agenda/js/calcms.cust.js +++ b/website/agenda/js/calcms.cust.js @@ -97,7 +97,7 @@ var calcms_settings = new Array(); if (element.css('display') == 'none') { url = calcms.get('series_name_url'); - calcms.updateContainer('calcms_series_names', url, 1, function() { + calcms.updateContainer('calcms_series_names', url, function() { calcms.selectProject(); loadedSearchComponents++; if (loadedSearchComponents == 2) { @@ -113,13 +113,13 @@ var calcms_settings = new Array(); calcms.insertDeskNextShows = function insertDeskNextShows(desk) { var url = '/agenda/suche/all/' + desk + '/kommende/'; - calcms.updateContainer('showDesk', url, 1); + calcms.updateContainer('showDesk', url); return false; } calcms.insertDeskPrevShows = function insertDeskPrevShows(desk) { var url = '/agenda/suche/all/' + desk + '/vergangene/'; - calcms.updateContainer('showDesk', url, 1); + calcms.updateContainer('showDesk', url); return false; } @@ -141,7 +141,7 @@ var calcms_settings = new Array(); if ((matchs != null) && (matchs.length > 0)) { console.log("matchs " + url) $('div.entry-content').append('
') - $("#result").load(editorsUrl) + calcms.updateContainer("#result", editorsUrl); } } } diff --git a/website/agenda/js/calcms.js b/website/agenda/js/calcms.js index 5998922..e936459 100644 --- a/website/agenda/js/calcms.js +++ b/website/agenda/js/calcms.js @@ -3,10 +3,19 @@ var calcms = (function($) { var my = {}; // calcms base functions - my.updateContainer = function updateContainer(id, url, onLoading, callback) { + my.updateContainer = function updateContainer(id, url, callback) { if (id == null) return; - if (document.querySelector('#' + id).length == 0) return; - $("#" + id).load(url, null, callback); + var elem = document.querySelector('#' + id); + if (elem == null) return; + fetch( url ) + .then( response => response.text()) + .then( text => { + elem.innerHTML = text; + if (callback != null) callback(); + }) + .catch( error => { + console.error('Error:', error); + }); } my.load = function load(url) { @@ -240,7 +249,7 @@ var calcms = (function($) { if (value != '' && value != null) url += escape(value) + '/'; if (archive != null && archive == 0) url += 'kommende/'; if (archive != null && archive == 1) url += 'vergangene/'; - my.updateContainer('calcms_list', url, 1); + my.updateContainer('calcms_list', url); } } @@ -254,7 +263,7 @@ var calcms = (function($) { url += escape(seriesName) + '/'; if (archive != null && archive == 0) url += 'kommende/'; if (archive != null && archive == 1) url += 'vergangene/'; - my.updateContainer('calcms_list', url, 1); + my.updateContainer('calcms_list', url); } } @@ -262,7 +271,7 @@ var calcms = (function($) { my.showEventsBySeriesName = function showEventsBySeriesName(value) { if (value != '' && value != null) { my.updateContainer('calcms_list', my.get('search_series_name_url') - + escape(value) + '/', 1); + + escape(value) + '/'); } } @@ -271,7 +280,7 @@ var calcms = (function($) { var events_url = my.get('events_url'); var url = my.setAndGetUrlParameters('program', value); if (value != '' && value != null) { - my.updateContainer('calcms_list', url, 1); + my.updateContainer('calcms_list', url); } } @@ -298,7 +307,7 @@ var calcms = (function($) { if (target == 'window') { window.location.href = events_url + url; } else { - my.updateContainer('calcms_menu', menu_url + url, 1); + my.updateContainer('calcms_menu', menu_url + url); if (event_id != '' && event_id != null && Number(event_id) != 'NaN') { // load list selected by url @@ -306,7 +315,7 @@ var calcms = (function($) { my.set('event_id', ''); } else { // load event list - my.updateContainer('calcms_list', events_url + url, 1); + my.updateContainer('calcms_list', events_url + url); my.set('last_list_url', events_url + url); } @@ -319,7 +328,7 @@ var calcms = (function($) { if (view == null || view == '') view = 'list_url'; if (event_id != '') { var url = my.get(view) + '/' + event_id + '/'; - my.updateContainer('calcms_list', url, 1); + my.updateContainer('calcms_list', url); } else { document.getElementById('calcms_list').innerHTML = 'keine Sendung gefunden...'; } @@ -335,7 +344,6 @@ var calcms = (function($) { .updateContainer( 'calcms_list', url, - 1, function(responseText, textStatus, XMLHttpRequest) { var back_link = '