calcms.js: use fetch api for updateContainer

This commit is contained in:
Milan
2020-05-23 23:04:42 +02:00
parent 6a8ca64c80
commit ab0902a9b3
2 changed files with 25 additions and 17 deletions

View File

@@ -97,7 +97,7 @@ var calcms_settings = new Array();
if (element.css('display') == 'none') { if (element.css('display') == 'none') {
url = calcms.get('series_name_url'); url = calcms.get('series_name_url');
calcms.updateContainer('calcms_series_names', url, 1, function() { calcms.updateContainer('calcms_series_names', url, function() {
calcms.selectProject(); calcms.selectProject();
loadedSearchComponents++; loadedSearchComponents++;
if (loadedSearchComponents == 2) { if (loadedSearchComponents == 2) {
@@ -113,13 +113,13 @@ var calcms_settings = new Array();
calcms.insertDeskNextShows = function insertDeskNextShows(desk) { calcms.insertDeskNextShows = function insertDeskNextShows(desk) {
var url = '/agenda/suche/all/' + desk + '/kommende/'; var url = '/agenda/suche/all/' + desk + '/kommende/';
calcms.updateContainer('showDesk', url, 1); calcms.updateContainer('showDesk', url);
return false; return false;
} }
calcms.insertDeskPrevShows = function insertDeskPrevShows(desk) { calcms.insertDeskPrevShows = function insertDeskPrevShows(desk) {
var url = '/agenda/suche/all/' + desk + '/vergangene/'; var url = '/agenda/suche/all/' + desk + '/vergangene/';
calcms.updateContainer('showDesk', url, 1); calcms.updateContainer('showDesk', url);
return false; return false;
} }
@@ -141,7 +141,7 @@ var calcms_settings = new Array();
if ((matchs != null) && (matchs.length > 0)) { if ((matchs != null) && (matchs.length > 0)) {
console.log("matchs " + url) console.log("matchs " + url)
$('div.entry-content').append('<div id="result"> </div>') $('div.entry-content').append('<div id="result"> </div>')
$("#result").load(editorsUrl) calcms.updateContainer("#result", editorsUrl);
} }
} }
} }

View File

@@ -3,10 +3,19 @@ var calcms = (function($) {
var my = {}; var my = {};
// calcms base functions // calcms base functions
my.updateContainer = function updateContainer(id, url, onLoading, callback) { my.updateContainer = function updateContainer(id, url, callback) {
if (id == null) return; if (id == null) return;
if (document.querySelector('#' + id).length == 0) return; var elem = document.querySelector('#' + id);
$("#" + id).load(url, null, callback); 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) { my.load = function load(url) {
@@ -240,7 +249,7 @@ var calcms = (function($) {
if (value != '' && value != null) url += escape(value) + '/'; if (value != '' && value != null) url += escape(value) + '/';
if (archive != null && archive == 0) url += 'kommende/'; if (archive != null && archive == 0) url += 'kommende/';
if (archive != null && archive == 1) url += 'vergangene/'; 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) + '/'; url += escape(seriesName) + '/';
if (archive != null && archive == 0) url += 'kommende/'; if (archive != null && archive == 0) url += 'kommende/';
if (archive != null && archive == 1) url += 'vergangene/'; 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) { my.showEventsBySeriesName = function showEventsBySeriesName(value) {
if (value != '' && value != null) { if (value != '' && value != null) {
my.updateContainer('calcms_list', my.get('search_series_name_url') 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 events_url = my.get('events_url');
var url = my.setAndGetUrlParameters('program', value); var url = my.setAndGetUrlParameters('program', value);
if (value != '' && value != null) { 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') { if (target == 'window') {
window.location.href = events_url + url; window.location.href = events_url + url;
} else { } 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') { if (event_id != '' && event_id != null && Number(event_id) != 'NaN') {
// load list selected by url // load list selected by url
@@ -306,7 +315,7 @@ var calcms = (function($) {
my.set('event_id', ''); my.set('event_id', '');
} else { } else {
// load event list // 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); my.set('last_list_url', events_url + url);
} }
@@ -319,7 +328,7 @@ var calcms = (function($) {
if (view == null || view == '') view = 'list_url'; if (view == null || view == '') view = 'list_url';
if (event_id != '') { if (event_id != '') {
var url = my.get(view) + '/' + event_id + '/'; var url = my.get(view) + '/' + event_id + '/';
my.updateContainer('calcms_list', url, 1); my.updateContainer('calcms_list', url);
} else { } else {
document.getElementById('calcms_list').innerHTML = 'keine Sendung gefunden...'; document.getElementById('calcms_list').innerHTML = 'keine Sendung gefunden...';
} }
@@ -335,7 +344,6 @@ var calcms = (function($) {
.updateContainer( .updateContainer(
'calcms_list', 'calcms_list',
url, url,
1,
function(responseText, textStatus, XMLHttpRequest) { function(responseText, textStatus, XMLHttpRequest) {
var back_link = '<a href="#" onclick="updateContainer(\'calcms_list\',\'' var back_link = '<a href="#" onclick="updateContainer(\'calcms_list\',\''
+ old_url + old_url
@@ -508,9 +516,9 @@ var calcms = (function($) {
var debug = my.get('debug'); var debug = my.get('debug');
if (program_url != null && program_url != '') if (program_url != null && program_url != '')
my.updateContainer('calcms_programs', program_url, 1); my.updateContainer('calcms_programs', program_url);
if (series_name_url != null && series_name_url != '') if (series_name_url != null && series_name_url != '')
my.updateContainer('calcms_series_names', series_name_url, 1); my.updateContainer('calcms_series_names', series_name_url);
} }
return false; return false;
} }