Javascript beliebte Fehler

17.01.2018 - Lesezeit: 2 Minuten

Der verwöhnte Delphi-Programmierer hat unter Javascript zu leiden.

In dieser Tabelle (kontostand.component.html) wurde nichts angezeigt

<h2>Kontostand</h2>
<table class="kontostandRecords">
  <tr>
    <th>Datum</th>
    <th>Bezeichnung</th>
    <th>Betrag</th>
  </tr>
  <tr *ngFor="let konto of kontostandRecords"
    [class.selected]="konto === selectedKonto">
    <td>{{konto.datum | date: 'dd.MM.yy'}}</td>
    <td><a routerLink="/kubea/detail/{{konto.id}}">{{konto.kurz}}</a></td>
    <td class="wnfDM">{{konto.betrag}}</td>
  </tr>
</table>

weil in der Datei (kontostand.component.ts) ein falscher Name für kontostandRecords verwendet wurde:

export class KontostandComponent implements OnInit {
  kontenRecords: KontoRecord[];
  ...
  getKontostand(): void {
    this.kubeaService.getKontostand()
        .subscribe(konto => this.kontenRecords = konto);
  ...
  }

nach der Korrektur von kontenRecords auf kontostandRecords

export class KontostandComponent implements OnInit {
  kontostandRecords: KontoRecord[];
  ...
  getKontostand(): void {
    this.kubeaService.getKontostand()
        .subscribe(konto => this.kontostandRecords = konto);
  }
}

funktioniert die Anzeige des Kontostandes.

Tags: Javascript

Radicale auf BBB

12.01.2018 - Lesezeit: 2 Minuten

Die Installation von Radicale als CalDav und CardDav Server auf meinem BBB war erfolgreich. Radicale kommt mit einem eigenen Http-Server daher und muss deshalb nicht in nginx eingebunden werden.

Leider hatte Thunderbird/Lightning bei der ganzen Probiererei die Zusammenarbeit mit meinem CalDav-Kalender eingestellt. Es gab nur das gelbe Warndreieck: "Der Kalender ist nicht verfügbar". Wie "hier (Kalender syncronisiert nicht - DAV_NOT_DAV - gelbes Warndreieck)": https://www.thunderbird-mail.de/forum/thread/75059-kalender-syncronisiert-nicht-dav-not-dav-gelbes-warndreieck/ zu lesen ist, liegt das daran, dass Thunderbird die Passwörter nur einmal pro Server speichern kann. Deshalb habe ich

  • die Passwörter für den Radicale-Server in Thunderbird gelöscht.
  • Den Radicale-Kalender in Thunderbird abgemeldet
  • Thunderbird neu gestartet
  • Den Radicale-Kalender neu erstellt (mit der kompletten Pfadangabe, wie Radicale sie anzeigt.)
    https://radicale.fritz.box:5232/user/xxxa40a-84cb-b167-4d4c-06f92db7xxx/
  • Es wird erneut nach User und Passwort gefragt, dann sollte der Radicale Kalender auch unter Thunderbird funktionieren.

Literatur

Tags: beaglebone Radicale

Nextcloud auf BBB

06.01.2018 - Lesezeit: ~1 Minute

Trotz (oder gerade wegen) vieler Anleitungen habe ich die Installation von Nextcloud unter nginx auf meinem BBB erfolglos abgebrochen.

Tags: beaglebone Nextcloud

wnfPortal mit angular

02.01.2018 - Lesezeit: 3 Minuten

Erzeuge Projekt wnfPortal

Web-Oberfläche für wnfKontakt und wnfKuB

$ ng new wnfportal
$ cd wnfportal
$ ng serve

NG Live Development Server is listening on localhost:4200, open your browser on http://localhost:4200/

Projekt in Github eintragen

Dazu auf Github ein leeres Repository anlegen (ohne .gitignore, ohné Readme und ohne Lizenz, sonst gibt es Ärger mit den folgenden Befehlen.)

$ cd wnfportal/
$ git init
$ git add .
$ git commit -m "First commit"
$ git remote add orign https://github.com/wnf58/wnfportal
$ git remote -v
$ git push orign master

Erzeugen der Komponente und des Service kubea

$ cd wnfportal
$ ng generate component kubea
$ ng generate component kubea-detail
$ ng generate component kubea-search
$ ng generate component dashboard
$ ng generate service kubea --module=app
$ ng generate service message --module=app
$ ng generate module app-routing --flat --module=app

angular httpclient

Der httpclient holt die anzuzeigenden Daten von meinem CherryPy-Server. Dabei kommt es zu dem beliebten Fehler No 'Access-Control-Allow-Origin' header is present. Wie in [Stackoverflow](https://stackoverflow.com/questions/27141122/no-access-control-allow-origin-header-is-present-error-with-cherrypy beschrieben muss der Cherrypy-Server folgendermaßen gestartet werden:)

def server_dict():
    '''Erstellung der Konfiguration für CherryPy'''
    g={}
    g['tools.staticdir.root']=os.path.dirname(os.path.abspath(__file__))
    g['server.socket_port']=8081
    g['server.socket_host']='0.0.0.0'
    g['tools.sessions.on']=True
    g['tools.sessions.timeout'] =1000
    g['tools.sessions.name']="wnfportal8081id"
    g['tools.CORS.on'] = True
    c={'global': g}
    c['/']={'tools.staticdir.on':True,'tools.staticdir.dir':"www",'tools.staticdir.index' : "index.html"}
    return c

def CORS():
    cherrypy.response.headers["Access-Control-Allow-Origin"] = "*"    

def main():
    cherrypy.tools.CORS = cherrypy.Tool('before_handler', CORS)
    cherrypy.quickstart(wnfPortal(),config=server_dict())

Eine Kopie für den Verkauf erstellen

Tags: angular

nodejs

21.12.2017 - Lesezeit: ~1 Minute

Da nodejs in Kubuntu 16.04 nur in veralteten Paketen zu finden ist, hier die neueste Version holen:

https://nodejs.org/en/download/package-manager/#debian-and-ubuntu-based-linux-distributions

curl -sL https://deb.nodesource.com/setup_9.x | sudo -E bash -
sudo apt-get install -y nodejs

Zugriff über node-firebird auf die Datenbanken

sudo npm install node-firebird a

Literatur

Tags: nodejs

Z21 und Fritzbox

13.12.2017 - Lesezeit: ~1 Minute

Im Rahmen der Nachbarschaftshilfe galt es folgendes Problem zu lösen:

Die [Modellbahnsteuerung z21](http://www.z21.eu soll an die vorhandene Fritzbox angeschlossen werden. Dazu muss man wissen, dass die z21 unbedingt die IP-Adresse 192.168.0.2 benutzen möchte. Deshalb muss die Fritzbox so konfiguriert werden, dass diese Adresse der z21 zugeteilt wird.)

Tags: Fritzbox z21