From b379f5d6fa95c9c938c38ce592739ea732847821 Mon Sep 17 00:00:00 2001 From: ulrich Date: Sun, 04 Apr 2021 18:08:17 +0000 Subject: [PATCH] Durchstich Neuer Ablageort --- www/ui/js/app.js | 76 +++++++++++++++++++++++++++++++++++++ 1 files changed, 75 insertions(+), 1 deletions(-) diff --git a/www/ui/js/app.js b/www/ui/js/app.js index 4eaffef..f7cd6be 100644 --- a/www/ui/js/app.js +++ b/www/ui/js/app.js @@ -1,10 +1,84 @@ -function AppVorlage() { +function Ablageort(n, o, u) { + this.name = n; + this.ort = o; + this.url = u; +} + + + +function Mediazentrale() { var self = this; var appMenu; // var vorlagen; var cache; // mustache templates + + this.form_ablageort_neu = function() { + self.vorlage_laden_und_fuellen("data/tpl/form_ablageort.tpl", "", function(html) { + document.querySelector(".zentraler-inhalt").innerHTML = html; + self.addEvtListener('#ok-btn', 'click', function() { + // hier neuen Ablageort speichern + var a = new Ablageort( + document.querySelector('#ablageort-name').value, + document.querySelector('#ablageort-ort').value, + document.querySelector('#ablageort-url').value + ); + // {"name":"Katalog","ort":"/home/ulrich/Videos","url":"/media/test"} + //var daten = self.serialisieren(a); + var daten = JSON.stringify(a); + self.http_post('../api/store/Ablageort', daten, function(){ + // hier die Antwort verarbeiten + }); + }); + self.addEvtListener('#cancel-btn', 'click', function() { + // hier die Aktion abbrechen + }); + }); + }; + + this.addEvtListener = function(selector, eventName, func) { + var elems = document.querySelectorAll(selector); + var index; + for (index = 0; index < elems.length; index++) { + elems[index].addEventListener(eventName, func); + } + }; + + this.http_get = function(u, cb) { + self.http_call('GET', u, null, cb); + }; + + this.http_post = function(u, data, cb) { + self.http_call('POST', u, data, cb); + }; + + this.http_call = function (method, u, data, scallback) { + var xhr = new XMLHttpRequest(); + var url = u; + xhr.onreadystatechange = function() { + if (this.readyState === 4 && this.status === 200) { + scallback(this.responseText); + } + }; + xhr.open(method, url); + if(method === 'GET') { + xhr.send(); + } else if(method === 'POST' || method === 'PUT') { + xhr.setRequestHeader('Content-type', 'application/x-www-form-urlencoded'); + xhr.send(data); + } + }; + + this.serialisieren = function(obj) { + return '{"' + obj.constructor.name + '":' + JSON.stringify(obj) + '}'; + }; + + + + + /* ab hier aus App-Vorlage */ + this.init = function() { //self.vorlagen = new Vorlagen(); self.cache = new Array(); -- Gitblit v1.9.3