remove uselss dependencies and legacy code

This commit is contained in:
2026-04-26 00:41:27 +02:00
parent b339d6d068
commit dc411cc532
6 changed files with 11 additions and 1945 deletions

View File

@@ -1,14 +0,0 @@
/* Additional Leaflet functions */
L.Map.include({
setOffsetView: function (iOffsetRatioX, oCenter, iZoomLevel) {
var oCenter = (typeof oCenter == 'object')?$.extend({}, oCenter):this.getCenter();
iZoomLevel = iZoomLevel || this.getZoom();
var oBounds = this.getBounds();
var iOffsetX = (oBounds.getEast() - oBounds.getWest()) * iOffsetRatioX / ( 2 * Math.pow(2, iZoomLevel - this.getZoom()));
oCenter.lng = oCenter.lng - iOffsetX;
this.setView(oCenter, iZoomLevel);
}
});

View File

@@ -1,165 +0,0 @@
export default class Admin {
constructor(oSpot) {
this.spot = oSpot;
}
pageInit(asHash) {
this.spot.get('admin_get', (asElemTypes) => {this.setProjects(asElemTypes);});
$('#new').addButton('new', this.spot.lang('new_project'), 'new', () => {this.createProject();});
$('#toolbox').addButton('refresh', this.spot.lang('update_project'), 'refresh', () => {this.updateProject();});
}
onFeedback(sType, sMsg, asContext) {
delete asContext.a;
delete asContext.t;
sMsg += ' (';
$.each(asContext, function(sKey, sElem) {
sMsg += sKey+'='+sElem+' / ' ;
});
sMsg = sMsg.slice(0, -3)+')';
$('#feedback').append($('<p>', {'class': sType}).text(sMsg));
}
setProjects(asElemTypes) {
let aoEvents = [
{
on:'change',
callback: (oEvent) => {this.commit(oEvent);}
},
{
on:'keyup',
callback: (oEvent) => {this.waitAndCommit(oEvent);}
}
];
let aoChangeEvent = [aoEvents[0]];
$.each(asElemTypes, (sElemType, aoElems) => {
$.each(aoElems, (iKey, oElem) => {
var sElemId = sElemType+'_'+oElem.id;
var bNew = ($('#'+sElemId).length == 0);
var $Elem = (bNew?$('<tr>', {'id': sElemId}):$('#'+sElemId))
.data('type', sElemType)
.data('id', oElem.id);
if(oElem.del) $Elem.remove();
else if(!bNew) {
$Elem.find('input').each((iKey, oInput) => {
var $Input = $(oInput);
if($Input.attr('name') in oElem && $Input.attr('type')!='date') $Input.val(oElem[$Input.attr('name')]);
});
}
else {
$Elem.append($('<td>').text(oElem.id || ''));
switch(sElemType) {
case 'project':
$Elem
.append($('<td>').addInput('text', 'name', oElem.name, aoEvents))
.append($('<td>', {'class': 'mode'}).text(oElem.mode))
.append($('<td>').addInput('text', 'codename', oElem.codename, aoEvents))
.append($('<td>').addInput('date', 'active_from', oElem.active_from, aoChangeEvent))
.append($('<td>').addInput('date', 'active_to', oElem.active_to, aoChangeEvent))
.append($('<td>').addButton('close fa-lg', '', 'del_proj', (oEvent)=>{this.del(oEvent);}));
break;
case 'feed':
$Elem
.append($('<td>').addInput('text', 'ref_feed_id', oElem.ref_feed_id, aoEvents))
.append($('<td>').addInput('number', 'id_spot', oElem.id_spot, aoEvents))
.append($('<td>').addInput('number', 'id_project', oElem.id_project, aoEvents))
.append($('<td>').text(oElem.name))
.append($('<td>').text(oElem.status))
.append($('<td>').text(oElem.last_update))
.append($('<td>').addButton('close fa-lg', '', 'del_feed', (oEvent)=>{this.del(oEvent);}));
break;
case 'spot':
$Elem
.append($('<td>').text(oElem.ref_spot_id))
.append($('<td>').text(oElem.name))
.append($('<td>').text(oElem.model))
break;
case 'user':
$Elem
.append($('<td>').text(oElem.name))
.append($('<td>').text(oElem.language))
.append($('<td>').text(oElem.timezone))
.append($('<td>').addInput('number', 'clearance', oElem.clearance, aoEvents))
break;
}
$Elem.appendTo($('#'+sElemType+'_section').find('table tbody'));
}
});
});
}
createProject() {
this.spot.get('admin_new', this.setProjects);
}
updateProject() {
this.spot.get(
'update_project',
(asData, sMsg) => {this.spot.onFeedback('success', sMsg, {'update':'project'});},
{},
(sMsg) => {this.spot.onFeedback('error', sMsg, {'update':'project'});}
);
}
commit(oEvent) {
let $Elem = $(oEvent.currentTarget);
if(typeof this.spot.tmp('wait') != 'undefined') clearTimeout(this.spot.tmp('wait'));
var sOldVal = $Elem.data('old_value');
var sNewVal = $Elem.val();
if(sOldVal != sNewVal) {
$Elem.data('old_value', sNewVal);
var $Record = $Elem.closest('tr');
var asInputs = {
type: $Record.data('type'),
id: $Record.data('id'),
field: $Elem.attr('name'),
value: sNewVal
};
this.spot.get(
'admin_set',
(asData) => {
this.spot.onFeedback('success', this.spot.lang('admin_save_success'), asInputs);
this.setProjects(asData);
},
asInputs,
(sError) => {
$Elem.data('old_value', sOldVal);
this.spot.onFeedback('error', sError, asInputs);
}
);
}
}
waitAndCommit(oEvent) {
if(typeof this.spot.tmp('wait') != 'undefined') clearTimeout(this.spot.tmp('wait'));
this.spot.tmp('wait', setTimeout(() => {this.commit(oEvent);}, 2000));
}
del(oEvent) {
var $Record = $(oEvent.currentTarget).closest('tr');
var asInputs = {
type: $Record.data('type'),
id: $Record.data('id')
};
this.spot.get(
'admin_del',
(asData) => {
this.spot.onFeedback('success', this.spot.lang('admin_save_success'), asInputs);
this.setProjects(asData);
},
asInputs,
(sError) => {
this.spot.onFeedback('error', sError, asInputs);
}
);
}
}

File diff suppressed because it is too large Load Diff

View File

@@ -1,77 +0,0 @@
import "blueimp-file-upload/js/vendor/jquery.ui.widget.js";
import "blueimp-file-upload/js/jquery.iframe-transport.js";
import "blueimp-file-upload/js/jquery.fileupload.js";
//import "blueimp-file-upload/js/jquery.fileupload-image.js";
export default class Upload {
constructor(oSpot) {
this.spot = oSpot;
}
pageInit(asHash) {
let asProject = this.spot.vars(['projects', this.spot.vars('default_project_codename')]);
this.spot.tmp('status-box', $('#status'));
if(asProject.editable) {
$('#fileupload')
.attr('data-url', this.spot.getActionLink('upload'))
.fileupload({
dataType: 'json',
formData: {t: this.spot.consts.timezone},
acceptFileTypes: /(\.|\/)(gif|jpe?g|png|mov)$/i,
done: (e, asData) => {
$.each(asData.result.files, (iKey, oFile) => {
let bError = ('error' in oFile);
//Feedback
this.addStatus(bError?oFile.error:(this.spot.lang('upload_success', [oFile.name])));
//Comments
if(!bError) this.addCommentBox(oFile.id, oFile.thumbnail);
});
},
progressall: (e, data) => {
let progress = parseInt(data.loaded / data.total * 100, 10);
$('#progress .bar').css('width', progress+'%');
}
});
}
else this.addStatus(this.spot.lang('upload_mode_archived', [asProject.name]), true);
}
addCommentBox(iMediaId, sThumbnailPath) {
$('#comments').append($('<div>', {'class':'comment'})
.append($('<img>', {'class':'thumb', 'src':sThumbnailPath}))
.append($('<form>')
.append($('<input>', {'class':'content', 'name':'content', 'type':'text'}))
.append($('<input>', {'class':'id', 'name':'id', 'type':'hidden', 'value':iMediaId}))
.append($('<button>', {'class':'save', 'type':'button'})
.on('click', (oEvent) => {
var $Form = $(oEvent.currentTarget).parent();
this.spot.get(
'add_comment',
(asData) => {
this.addStatus(this.spot.lang('media_comment_update', asData.filename));
},
{
id: $Form.find('.id').val(),
content: $Form.find('.content').val()
},
(sMsgId) => {
this.addStatus(this.spot.lang(sMsgId));
}
);
})
.text(this.spot.lang('save'))
)
)
)
}
addStatus(sMsg, bClear) {
bClear = bClear || false;
if(bClear) this.spot.tmp('status-box').empty();
this.spot.tmp('status-box').append($('<p>').text(sMsg));
}
}