Hallo,
ich habe nun meine Hikvision Cam konfiguriert. Um nun auf die Bilder des Archives per Visu zugreifen zu können, bin ich gerade dabei, ein Bilderarchiv-Plugin zu erstellen.
Im Verlaufe des Programmierens dachte ich mir, dass ich ja zusätzlich auch meinen ekey Fingerprint integrieren könnte. Jeglicher Fehlversuch wird nun mittels Snapshot dokumentiert.
Da ich aber nicht immer auf die Seite navigieren möchte um zu schauen, ob da ein neuer Fehlversuch war, habe ich ein neues Widget erstellt, das mir ähnlich wie beim iPhone die Anzahl neuer Events über dem Icon darstellt.
Das Widget dazu ist eigentlich ganz einfach:
1) item.conf: Ich errechne mir die Anzahl an neuen Events in einem Dict, letztendlich funktioniert der Code mit jedem Item, aufgrund der Badge-Darstellung (runder Kreis) sollte es aber nicht zu lang sein.
2) Neues Widget erstellen, bspw folgende Datei erstellen: /pages/{design}/widgets/widget_notification_badge.html
3) In Eure visu.js folgenden Code hinzufügen:
4) In Eure visu.css folgenden Code hinzufügen (ohne dieses CSS geht's nicht):
5) In jeder HTML Datei, in der Ihr das nutzen wollt, folgenden Import durchführen
und dann mit
darstellen.
Vielleicht gefällts ja jemandem...
Beste Grüsse aus Snowtown...
hhhc
ich habe nun meine Hikvision Cam konfiguriert. Um nun auf die Bilder des Archives per Visu zugreifen zu können, bin ich gerade dabei, ein Bilderarchiv-Plugin zu erstellen.
Im Verlaufe des Programmierens dachte ich mir, dass ich ja zusätzlich auch meinen ekey Fingerprint integrieren könnte. Jeglicher Fehlversuch wird nun mittels Snapshot dokumentiert.
Da ich aber nicht immer auf die Seite navigieren möchte um zu schauen, ob da ein neuer Fehlversuch war, habe ich ein neues Widget erstellt, das mir ähnlich wie beim iPhone die Anzahl neuer Events über dem Icon darstellt.
Das Widget dazu ist eigentlich ganz einfach:
1) item.conf: Ich errechne mir die Anzahl an neuen Events in einem Dict, letztendlich funktioniert der Code mit jedem Item, aufgrund der Badge-Darstellung (runder Kreis) sollte es aber nicht zu lang sein.
Code:
[Fingerprint] [[events]] type = dict [[[anzahl]]] type = num eval = len(sh.Fingerprint.events().get("last24h")) eval_trigger = Fingerprint.events
Code:
/** * Widget for displaying notification badges * * @id unique id for this widget * @gad a gad/item */ {% macro badge(id, gad) %} <span id="{{ uid(page, id) }}" data-widget="notification.badge" data-item="{{ gad }}" > </span> {% endmacro %}
Code:
// ----- notification.badge ------------------------------------------------------- $(document).delegate('span[data-widget="notification.badge"]', { 'update': function (event, response) { $('#' + this.id).attr('data-notifications', response); }, 'change': function (event) { $('#' + this.id).attr('data-notifications', response); } });
Code:
/* make sure the element has position: relative */ [data-notifications] { position: relative; } /* append the notification badge after it */ [data-notifications]:after { /* the burger */ content: attr(data-notifications); /* the fries */ position: absolute; display: inline-block; height:1.5rem; right: 0px; top: -15px; width:1.5rem; text-align: center; line-height: 1.5rem;; font-size: 1rem; border-radius: 50%; /* the menu */ /* TODO: make it customizable */ border:1px solid red; background: red; color:white; }
Code:
{% import "widgets/widget_notification_badge.html" as notification %}
Code:
{{ notification.badge('Fingerprint_events', 'Fingerprint.events.anzahl') }}
Vielleicht gefällts ja jemandem...
Beste Grüsse aus Snowtown...
hhhc
Kommentar