Files
racalmas/website/agenda/planung/js/select-event.js
Milan b4da29dd36 default.js: add parseUrl
Users were seeing outdated content due to browser caching. To resolve
this issue, a unique random value is now added to the end of each URL
every time the page is loaded, forcing the browser to retrieve the
latest version of the page from the server.  By implementing this
solution, users will be able to see the most recent content without any
delay caused by outdated cache files.
2023-03-23 22:15:12 +01:00

134 lines
4.0 KiB
JavaScript

function updateProjectStudioId(){
var elem=$('#selectEvent #selectProjectStudio');
if (elem.length==0)return;
var fields=elem.val().split("_");
if (fields.length !=2) return;
var projectId = fields[0];
var studioId = fields[1];
$('#selectEvent #projectId').attr('value', projectId);
$('#selectEvent #studioId').attr('value', studioId);
}
function updateSeriesId(){
var elem=$('#selectEvent #selectSeries');
if (elem.length==0)return;
var seriesId = elem.val();
$('#selectEvent #seriesId').attr('value', seriesId);
}
function updateDateRange(){
var elem=$('#selectEvent #year');
if (elem.length==0)return;
var year=$(elem).val();
var fromDate=year+'-01-01';
var tillDate=year+'-12-31';
if((year<1900)||(year>2100)){
fromDate='';
tillDate='';
}
$('#selectEvent #fromDate').attr('value', fromDate);
$('#selectEvent #tillDate').attr('value', tillDate);
}
function updateEventSelection(resultElemId){
updateProjectStudioId();
updateSeriesId();
updateDateRange();
var projectId = $('#selectEvent #projectId').val();
var studioId = $('#selectEvent #studioId').val();
var seriesId = $('#selectEvent #seriesId').val();
var eventId = $('#selectEvent #eventId').val();
var from_date = $('#selectEvent #fromDate').val();
var till_date = $('#selectEvent #tillDate').val();
if (projectId == null) return;
if (studioId == null) return;
if (seriesId == null) return;
if (year == null) return;
var url="select-event.cgi";
url+="?project_id=" + getProjectId();
url+="&studio_id=" + getStudioId();
url+="&p_id=" + projectId;
url+="&s_id=" + studioId;
url+="&series_id=" + seriesId;
url+="&resultElemId=" + encodeURIComponent(resultElemId);
if (from_date !=""){
url+="&from_date=" +encodeURIComponent(from_date);
}
if (till_date != ""){
url+="&till_date=" +encodeURIComponent(till_date);
}
var elem=$('#selectEvent #selectProjectStudio');
if (elem.length!=0){
url+="&selectProjectStudio=1";
}
var elem=$('#selectEvent #selectSeries');
if (elem.length!=0){
url+="&selectSeries=1";
}
var elem=$('#selectEvent #year');
if (elem.length!=0){
url+="&selectRange=1";
}
var elem=$("#selectEvent").parent();
url = parseUrl(url);
console.log(url);
$(elem).load(url);
}
// set selected eventId at external result selector
function selectEventAction(resultElemId){
var projectId = $('#selectEvent #projectId').val();
var studioId = $('#selectEvent #studioId').val();
var seriesId = $('#selectEvent #seriesId').val();
var eventId = $('#selectEvent #eventId').val();
if (eventId<=0) return;
var filterProjectStudio = $('#selectEvent #selectProjectStudio').length!=0 ? 1:0;
var filterSeries = $('#selectEvent #selectSeries').length!=0 ? 1:0;
var url = "user-selected-event.cgi";
url += "?project_id=" + getProjectId();
url += "&studio_id=" + getStudioId();
url += "&series_id=" + getUrlParameter("series_id");
url += "&filter_project_studio=" + filterProjectStudio;
url += "&filter_series=" + filterSeries;
url += "&selected_project=" + projectId;
url += "&selected_studio=" + studioId;
url += "&selected_series=" + seriesId;
url += "&selected_event=" + eventId;
$.get(url).done(function() {
console.log("success: "+url)
}).fail(function(jqXHR, textStatus) {
console.log("failed: "+url, "status:" + textStatus)
});
console.log(`set: "${resultElemId}"="${eventId}"`)
// set the result value
$('#'+resultElemId).val( eventId );
// trigger the change event for invisble form elements
$('#'+resultElemId).trigger('change');
return 1;
}
$(document).ready(
function(){
updateProjectStudioId();
updateSeriesId();
updateDateRange();
}
);