ulrich
2016-12-20 546fbca7602e2a4aa8224a3e93e707d888e359a2
web/ui/ui.js
@@ -1,49 +1,122 @@
/*
  Beispiel aus Spot fuer den Post eines Coordinates-Objektes
    var coord = new Coordinates(
                    c.latitude,
                    c.longitude,
                    self.nummer(c.altitude),
                    self.nummer(c.accuracy),
                    self.nummer(c.altitudeAccuracy),
                    self.nummer(c.heading),
                    self.nummer(c.speed));
            var cObj = self.serialisieren(coord);
            $.ajax({
              url: '../rpc?c=de.uhilger.spot.api.NutzerApi&m=ortSpeichern',
              data: {
                p: cObj
              },
              type: "POST",
              dataType : "html",
              //success: function( resp ) {
                //$('#fehler').html('Antwort: ' + resp);
              //},
              error: function( xhr, status, errorThrown ) {
                $('#fehler').html("Error: " + errorThrown + " Status: " + status);
              },
              complete: function( xhr, status ) {
                //alert( "The request is complete!" );
              }
            });
            usw.
  function Coordinates(la, lo, al, ac, aa, hd, sp) {
   this.latitude = la;
   this.longitude = lo;
   this.altitude = al;
   this.accuracy = ac;
   this.altitudeAccuracy = aa;
   this.heading = hd;
   this.speed = sp;
function um_init() {
  $('.user-save-btn').click(um_user_save);
  $('#nutzerliste').click(um_user_list_click);
  $('#nutzerLoeschen').click(um_del_user);
  $('#nutzerNeu').click(um_new_user);
  $('#nutzerLoeschen').prop( "disabled", true );
}
 */
/* ----- user functions ------ */
function um_user_save() {
  var user = um_user_form_lesen();
  var kww = $('#kennwortw').val();
  if(user.pw != kww) {
    alert('Kennworte stimmen nicht ueberein.');
  } else {
    alert('user-save ' + user.id);
    um_apicall(self.serialisieren(user));
  }
}
function um_del_user(user_name) {
  alert('delete user ' + user_name);
}
function um_new_user() {
  alert('show form to enter new user');
}
/* ----------- ui interaction ------------ */
function um_user_list_click() {
  //var user_name = 'noch aus liste ermitteln..';
  //alert('user list click, user: ' + user_name);
  um_get_user_list();
}
/* ------- ui i/o ------ */
function um_user_form_lesen() {
  var userId = $('#anmeldename').val();
  var kw = $('#kennwort').val();
  var user = new User(userId, kw, '-', '-', '-');
  return user;
}
function um_show_user_list(resp) {
  var users = resp.List[0];
  for(var i = 0; i < users.List.length; i++) {
    var user = users.List[i];
    $("#nutzerliste").append('<option value=' + user.String + '>' + user.String + '</option>');
  }
  //var user1 = users.List[1];
  //var username = user1.String;
  //alert(username);
  //$("#nutzerliste").append('<option value=' + UpdateItem + '>' + UpdateItem + '</option>');
}
/* ---- api calls ----- */
function um_apicall(obj) {
  var c = 'de.uhilger.um.api.UserMgr';
  var m = 'createUser';
  var u = '../api?c=' + c + '&m=' + m;
  $.ajax({
    url: u,
    data: {
      p: obj
    },
    type: "POST",
    dataType : "html",
    //success: function( resp ) {
      //$('#fehler').html('Antwort: ' + resp);
    //},
    error: function( xhr, status, errorThrown ) {
      $('#fehler').html("Error: " + errorThrown + " Status: " + status);
    },
    complete: function( xhr, status ) {
      //alert( "The request is complete!" );
    }
  });
}
function um_get_user_list() {
  var c = 'de.uhilger.um.api.UserMgr';
  var m = 'getUserNameList';
  var u = '../svc/' + m;
  $.ajax({
    url: u,
    type: "GET",
    dataType : "json",
    success: function( resp ) {
      //$('#fehler').html('Antwort: ' + resp);
      um_show_user_list(resp);
    },
    error: function( xhr, status, errorThrown ) {
      $('#fehler').html("Error: " + errorThrown + " Status: " + status);
    },
    complete: function( xhr, status ) {
      //alert( "The request is complete!" );
    }
  });
}
/* ----- Hilfsfunktionen ----- */
function serialisieren(obj) {
  return '{"' + obj.constructor.name + '":' + JSON.stringify(obj) + '}';
};
/* ----- Objekte ----- */
function User(i, p, fn, ln, em) {
  this.id = i;
  this.pw = p;
  this.firstName = fn;
  this.lastName = ln;
  this.email = em;
}