Convert admin.js to ES5 syntax to support legacy gulp uglify
This commit is contained in:
@@ -2,7 +2,6 @@ $(document).ready(function() {
|
||||
// Check if admin
|
||||
$.get('/api/auth/me')
|
||||
.done(function(user) {
|
||||
console.log("Logged in:", user);
|
||||
if(user.role !== 'admin') {
|
||||
alert("Kein Zugriff!");
|
||||
window.location.href = '/';
|
||||
@@ -25,23 +24,23 @@ $(document).ready(function() {
|
||||
$.get('/api/admin/users').done(function(users) {
|
||||
$('#users-tbody').empty();
|
||||
$('#user-select').html('<option value="">Nutzer wählen...</option>');
|
||||
users.forEach(u => {
|
||||
$('#users-tbody').append(`
|
||||
<tr>
|
||||
<td>${u.id}</td>
|
||||
<td>${u.username} ${u.role==='admin'?'(Admin)':''}</td>
|
||||
<td>${u.id !== 1 ? `<button onclick="deleteUser(${u.id})">Löschen</button>` : ''}</td>
|
||||
</tr>
|
||||
`);
|
||||
users.forEach(function(u) {
|
||||
$('#users-tbody').append(
|
||||
'<tr>' +
|
||||
'<td>' + u.id + '</td>' +
|
||||
'<td>' + u.username + ' ' + (u.role === 'admin' ? '(Admin)' : '') + '</td>' +
|
||||
'<td>' + (u.id !== 1 ? '<button onclick="deleteUser(' + u.id + ')">Löschen</button>' : '') + '</td>' +
|
||||
'</tr>'
|
||||
);
|
||||
if(u.role !== 'admin') {
|
||||
$('#user-select').append(`<option value="${u.id}">${u.username}</option>`);
|
||||
$('#user-select').append('<option value="' + u.id + '">' + u.username + '</option>');
|
||||
}
|
||||
});
|
||||
});
|
||||
}
|
||||
|
||||
window.deleteUser = function(id) {
|
||||
if(confirm("Nutzer löschen?")) {
|
||||
if(confirm("Nutzer loeschen?")) {
|
||||
$.ajax({url: '/api/admin/users/'+id, type: 'DELETE'}).done(loadUsers);
|
||||
}
|
||||
};
|
||||
@@ -56,37 +55,35 @@ $(document).ready(function() {
|
||||
}).fail(function(err) { alert("Fehler: " + err.responseJSON.error); });
|
||||
});
|
||||
|
||||
let allImages = [];
|
||||
function loadAssignmentImages() {
|
||||
$.get('/images/fulls/').done(function(files) {
|
||||
allImages = files;
|
||||
$('#image-checkboxes').empty();
|
||||
files.forEach(f => {
|
||||
$('#image-checkboxes').append(`
|
||||
<label class="img-check">
|
||||
<img src="/images/thumbs/${encodeURIComponent(f.name)}" />
|
||||
<br/><input type="checkbox" value="${f.name}" class="img-cb"/>
|
||||
</label>
|
||||
`);
|
||||
files.forEach(function(f) {
|
||||
$('#image-checkboxes').append(
|
||||
'<label class="img-check">' +
|
||||
'<img src="/images/thumbs/' + encodeURIComponent(f.name) + '" />' +
|
||||
'<br/><input type="checkbox" value="' + f.name + '" class="img-cb"/>' +
|
||||
'</label>'
|
||||
);
|
||||
});
|
||||
});
|
||||
}
|
||||
|
||||
$('#user-select').change(function() {
|
||||
const uid = $(this).val();
|
||||
var uid = $(this).val();
|
||||
$('.img-cb').prop('checked', false);
|
||||
if(!uid) return;
|
||||
$.get('/api/admin/assign').done(function(assignments) {
|
||||
assignments.filter(a => a.user_id == uid).forEach(a => {
|
||||
$(`.img-cb[value="${a.image_name}"]`).prop('checked', true);
|
||||
assignments.filter(function(a) { return a.user_id == uid; }).forEach(function(a) {
|
||||
$('.img-cb[value="' + a.image_name + '"]').prop('checked', true);
|
||||
});
|
||||
});
|
||||
});
|
||||
|
||||
$('#save-assignments').click(function() {
|
||||
const uid = $('#user-select').val();
|
||||
if(!uid) return alert('Bitte Nutzer wählen');
|
||||
const selected = [];
|
||||
var uid = $('#user-select').val();
|
||||
if(!uid) return alert('Bitte Nutzer waehlen');
|
||||
var selected = [];
|
||||
$('.img-cb:checked').each(function() { selected.push($(this).val()); });
|
||||
|
||||
$.post('/api/admin/assign', { user_id: uid, image_names: selected })
|
||||
@@ -94,11 +91,11 @@ $(document).ready(function() {
|
||||
});
|
||||
|
||||
$('#update-btn').click(function() {
|
||||
if(!confirm("Achtung: Dies startet den Server neu. Fortfahren?")) return;
|
||||
$('#update-status').text('Update läuft...');
|
||||
if(!confirm("Achtung: Dies startet den Server auf dem NAS neu. Fortfahren?")) return;
|
||||
$('#update-status').text('Update laeuft...');
|
||||
$.post('/api/admin/update').done(function(res) {
|
||||
$('#update-status').text(res.message);
|
||||
setTimeout(() => { window.location.reload(); }, 5000);
|
||||
setTimeout(function() { window.location.reload(); }, 5000);
|
||||
});
|
||||
});
|
||||
});
|
||||
|
||||
1
assets/js/admin.min.js
vendored
Normal file
1
assets/js/admin.min.js
vendored
Normal file
@@ -0,0 +1 @@
|
||||
$(document).ready(function(){function e(){$.get("/api/admin/users").done(function(e){$("#users-tbody").empty(),$("#user-select").html('<option value="">Nutzer wählen...</option>'),e.forEach(function(e){$("#users-tbody").append("<tr><td>"+e.id+"</td><td>"+e.username+" "+("admin"===e.role?"(Admin)":"")+"</td><td>"+(1!==e.id?'<button onclick="deleteUser('+e.id+')">Löschen</button>':"")+"</td></tr>"),"admin"!==e.role&&$("#user-select").append('<option value="'+e.id+'">'+e.username+"</option>")})})}$.get("/api/auth/me").done(function(n){"admin"!==n.role?(alert("Kein Zugriff!"),window.location.href="/"):(e(),$.get("/images/fulls/").done(function(e){$("#image-checkboxes").empty(),e.forEach(function(e){$("#image-checkboxes").append('<label class="img-check"><img src="/images/thumbs/'+encodeURIComponent(e.name)+'" /><br/><input type="checkbox" value="'+e.name+'" class="img-cb"/></label>')})}),$("body").removeClass("is-preload"))}).fail(function(){window.location.href="/"}),$("#logout-btn").click(function(e){e.preventDefault(),$.post("/api/auth/logout").done(function(){window.location.href="/"})}),window.deleteUser=function(n){confirm("Nutzer loeschen?")&&$.ajax({url:"/api/admin/users/"+n,type:"DELETE"}).done(e)},$("#create-user-form").submit(function(n){n.preventDefault(),$.post("/api/admin/users",{username:$("#new-username").val(),password:$("#new-password").val(),role:"user"}).done(function(){$("#new-username").val(""),$("#new-password").val(""),e()}).fail(function(e){alert("Fehler: "+e.responseJSON.error)})}),$("#user-select").change(function(){var e=$(this).val();$(".img-cb").prop("checked",!1),e&&$.get("/api/admin/assign").done(function(n){n.filter(function(n){return n.user_id==e}).forEach(function(e){$('.img-cb[value="'+e.image_name+'"]').prop("checked",!0)})})}),$("#save-assignments").click(function(){var e=$("#user-select").val();if(!e)return alert("Bitte Nutzer waehlen");var n=[];$(".img-cb:checked").each(function(){n.push($(this).val())}),$.post("/api/admin/assign",{user_id:e,image_names:n}).done(function(){alert("Zuweisung gespeichert!")})}),$("#update-btn").click(function(){confirm("Achtung: Dies startet den Server auf dem NAS neu. Fortfahren?")&&($("#update-status").text("Update laeuft..."),$.post("/api/admin/update").done(function(e){$("#update-status").text(e.message),setTimeout(function(){window.location.reload()},5e3)}))})});
|
||||
2
assets/js/main.min.js
vendored
2
assets/js/main.min.js
vendored
@@ -1 +1 @@
|
||||
!function(e){var n,a=e(window),o=e("body");e("#wrapper");(breakpoints({xlarge:["1281px","1680px"],large:["981px","1280px"],medium:["737px","980px"],small:["481px","736px"],xsmall:[null,"480px"]}),"ie"==browser.name&&o.addClass("ie"),browser.mobile&&o.addClass("touch"),browser.canUse("transition"))&&(a.on("load",function(){window.setTimeout(function(){o.removeClass("is-preload")},100)}),a.on("resize",function(){window.clearTimeout(n),o.addClass("is-resizing"),n=window.setTimeout(function(){o.removeClass("is-resizing")},100)}));a.scrollTop(0);var t=e(".panel");t.each(function(){var n=e(this),a=e('[href="#'+n.attr("id")+'"]');e('<div class="closer" />').appendTo(n).on("click",function(e){n.trigger("---hide")}),n.on("click",function(e){e.stopPropagation()}).on("---toggle",function(){n.hasClass("active")?n.triggerHandler("---hide"):n.triggerHandler("---show")}).on("---show",function(){o.hasClass("content-active")&&t.trigger("---hide"),n.addClass("active"),a.addClass("active"),o.addClass("content-active")}).on("---hide",function(){n.removeClass("active"),a.removeClass("active"),o.removeClass("content-active")}),a.removeAttr("href").css("cursor","pointer").on("click",function(e){e.preventDefault(),e.stopPropagation(),n.trigger("---toggle")})}),o.on("click",function(e){o.hasClass("content-active")&&(e.preventDefault(),e.stopPropagation(),t.trigger("---hide"))}),a.on("keyup",function(e){27==e.keyCode&&o.hasClass("content-active")&&(e.preventDefault(),e.stopPropagation(),t.trigger("---hide"))}),e("#header").find("a").each(function(){var n=e(this),a=n.attr("href");a&&"#"!=a.charAt(0)&&n.removeAttr("href").css("cursor","pointer").on("click",function(e){e.preventDefault(),e.stopPropagation(),window.location.href=a})}),e("#footer").find(".copyright").each(function(){var n=e(this),a=n.parent(),o=a.parent().children().last();breakpoints.on("<=medium",function(){n.appendTo(o)}),breakpoints.on(">medium",function(){n.appendTo(a)})});var i=e("#main"),r={},s=["jpg","jpeg","png","gif","webp"];function p(n){var a=e("#main").data("exif"),o="";for(var t in a){var i=a[t],r=EXIF.getTag(n,i.tag);void 0!==r&&(o+='<i class="'+i.icon+'" aria-hidden="true"></i> '+r+" ")}return o}e.ajax({url:"/images/fulls/",dataType:"json",cache:!1,success:function(n){var a=n.filter(function(e){if("file"!==e.type)return!1;var n=e.name.split(".").pop().toLowerCase();return-1!==s.indexOf(n)});0!==a.length?(a.sort(function(e,n){return e.name.localeCompare(n.name)}),a.forEach(function(n){var a=e('<article class="thumb"></article>'),o=e('<a class="image" href="/images/fulls/'+encodeURIComponent(n.name)+'"></a>'),t=e('<img src="/images/thumbs/'+encodeURIComponent(n.name)+'" alt="" data-name="'+n.name.replace(/"/g,""")+'" />');o.append(t),a.append(o),i.append(a)}),i.children(".thumb").each(function(){var n,a=e(this),o=a.find(".image"),t=o.children("img");0!=o.length&&(o.css("background-image","url("+t.attr("src")+")"),(n=t.data("position"))&&o.css("background-position",n),t.hide(),t[0].addEventListener("load",function(){EXIF.getData(t[0],function(){r[t.data("name")]=p(this)})}))}),i.poptrox({baseZIndex:2e4,caption:function(e){var n=e.children("img"),a=r[n.data("name")];return void 0===a&&EXIF.getData(n[0],function(){a=r[n.data("name")]=p(this)}),void 0!==a?"<p>"+a+"</p>":" "},fadeSpeed:300,onPopupClose:function(){o.removeClass("modal-active")},onPopupOpen:function(){o.addClass("modal-active")},overlayOpacity:0,popupCloserText:"",popupHeight:150,popupLoaderText:"",popupSpeed:300,popupWidth:150,selector:".thumb > a.image",usePopupCaption:!0,usePopupCloser:!0,usePopupDefaultStyling:!1,usePopupForceClose:!0,usePopupLoader:!0,usePopupNav:!0,windowMargin:50}),breakpoints.on("<=xsmall",function(){i[0]._poptrox.windowMargin=0}),breakpoints.on(">xsmall",function(){i[0]._poptrox.windowMargin=50})):i.html('<p style="text-align:center;color:#fff;padding:2em;">JSON Array from Nginx was loaded, but 0 images matched!<br/>Raw files: '+JSON.stringify(n)+"</p>")},error:function(){i.html('<p style="text-align:center;color:#fff;padding:2em;">Keine Bilder gefunden. Lade Bilder in deinen Nextcloud-Ordner hoch.</p>')}})}(jQuery);
|
||||
!function(n){var e,o=n(window),t=n("body");n("#wrapper");(breakpoints({xlarge:["1281px","1680px"],large:["981px","1280px"],medium:["737px","980px"],small:["481px","736px"],xsmall:[null,"480px"]}),"ie"==browser.name&&t.addClass("ie"),browser.mobile&&t.addClass("touch"),browser.canUse("transition"))&&(o.on("load",function(){window.setTimeout(function(){t.removeClass("is-preload")},100)}),o.on("resize",function(){window.clearTimeout(e),t.addClass("is-resizing"),e=window.setTimeout(function(){t.removeClass("is-resizing")},100)}));o.scrollTop(0);var i=n(".panel");i.each(function(){var e=n(this),o=n('[href="#'+e.attr("id")+'"]');n('<div class="closer" />').appendTo(e).on("click",function(n){e.trigger("---hide")}),e.on("click",function(n){n.stopPropagation()}).on("---toggle",function(){e.hasClass("active")?e.triggerHandler("---hide"):e.triggerHandler("---show")}).on("---show",function(){t.hasClass("content-active")&&i.trigger("---hide"),e.addClass("active"),o.addClass("active"),t.addClass("content-active")}).on("---hide",function(){e.removeClass("active"),o.removeClass("active"),t.removeClass("content-active")}),o.removeAttr("href").css("cursor","pointer").on("click",function(n){n.preventDefault(),n.stopPropagation(),e.trigger("---toggle")})}),t.on("click",function(n){t.hasClass("content-active")&&(n.preventDefault(),n.stopPropagation(),i.trigger("---hide"))}),o.on("keyup",function(n){27==n.keyCode&&t.hasClass("content-active")&&(n.preventDefault(),n.stopPropagation(),i.trigger("---hide"))}),n("#header").find("a").each(function(){var e=n(this),o=e.attr("href");o&&"#"!=o.charAt(0)&&e.removeAttr("href").css("cursor","pointer").on("click",function(n){n.preventDefault(),n.stopPropagation(),window.location.href=o})}),n("#footer").find(".copyright").each(function(){var e=n(this),o=e.parent(),t=o.parent().children().last();breakpoints.on("<=medium",function(){e.appendTo(t)}),breakpoints.on(">medium",function(){e.appendTo(o)})});n("#main");n.get("/api/auth/me").done(function(e){n("#login-username, #login-password, #login-submit").hide(),n("#logout-btn").show().css("display","inline-block"),"admin"===e.role&&n("#admin-link").html('<a href="/admin.html" class="button">Admin-Dashboard</a>'),n("#login-nav").html('Account <i class="fa fa-user"></i>')}),n("#login-form").submit(function(e){e.preventDefault(),n.post("/api/auth/login",{username:n("#login-username").val(),password:n("#login-password").val()}).done(function(){window.location.reload()}).fail(function(n){alert("Login fehlgeschlagen. Bitte Zugangsdaten ueberpruefen.")})}),n("#logout-btn").click(function(e){e.preventDefault(),n.post("/api/auth/logout").done(function(){window.location.reload()})})}(jQuery);
|
||||
Reference in New Issue
Block a user