remove uselss dependencies and legacy code
This commit is contained in:
@@ -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);
|
||||
}
|
||||
});
|
||||
@@ -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
@@ -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));
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user