annotate service/rfid_pn532_py/rfid-console.html @ 1462:2b29f14eb6bd

try new graph+view widget Ignore-this: d5f9c5dc52f04324368716ba2f604fdb darcs-hash:44e85a5c075ef73c34a58deaa3a3c1e8390dae52
author drewp <drewp@bigasterisk.com>
date Sun, 24 Nov 2019 00:01:00 -0800
parents d8aa414f21d9
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
1218
c571a45c944f split console web component
drewp <drewp@bigasterisk.com>
parents:
diff changeset
1 <link rel="import" href="/lib/polymer/1.0.9/iron-ajax/iron-ajax.html">
c571a45c944f split console web component
drewp <drewp@bigasterisk.com>
parents:
diff changeset
2 <link rel="import" href="/lib/polymer/1.0.9/polymer/polymer.html">
c571a45c944f split console web component
drewp <drewp@bigasterisk.com>
parents:
diff changeset
3 <link rel="import" href="/rdf/rdf-oneshot.html">
c571a45c944f split console web component
drewp <drewp@bigasterisk.com>
parents:
diff changeset
4 <link rel="import" href="/rdf/rdf-uri.html">
c571a45c944f split console web component
drewp <drewp@bigasterisk.com>
parents:
diff changeset
5 <link rel="import" href="/rdf/streamed-graph.html">
c571a45c944f split console web component
drewp <drewp@bigasterisk.com>
parents:
diff changeset
6
1235
d8aa414f21d9 py3, rfid-console rename
drewp <drewp@bigasterisk.com>
parents: 1218
diff changeset
7 <dom-module id="rfid-console">
1218
c571a45c944f split console web component
drewp <drewp@bigasterisk.com>
parents:
diff changeset
8 <style>
c571a45c944f split console web component
drewp <drewp@bigasterisk.com>
parents:
diff changeset
9 button {
c571a45c944f split console web component
drewp <drewp@bigasterisk.com>
parents:
diff changeset
10 min-width: 60px;
c571a45c944f split console web component
drewp <drewp@bigasterisk.com>
parents:
diff changeset
11 min-height: 40px;
c571a45c944f split console web component
drewp <drewp@bigasterisk.com>
parents:
diff changeset
12 }
c571a45c944f split console web component
drewp <drewp@bigasterisk.com>
parents:
diff changeset
13 table {
c571a45c944f split console web component
drewp <drewp@bigasterisk.com>
parents:
diff changeset
14 border-collapse: collapse;
c571a45c944f split console web component
drewp <drewp@bigasterisk.com>
parents:
diff changeset
15 }
c571a45c944f split console web component
drewp <drewp@bigasterisk.com>
parents:
diff changeset
16
c571a45c944f split console web component
drewp <drewp@bigasterisk.com>
parents:
diff changeset
17 td, th {
c571a45c944f split console web component
drewp <drewp@bigasterisk.com>
parents:
diff changeset
18 border: 1px solid gray;
c571a45c944f split console web component
drewp <drewp@bigasterisk.com>
parents:
diff changeset
19 }
c571a45c944f split console web component
drewp <drewp@bigasterisk.com>
parents:
diff changeset
20 </style>
c571a45c944f split console web component
drewp <drewp@bigasterisk.com>
parents:
diff changeset
21 <template>
c571a45c944f split console web component
drewp <drewp@bigasterisk.com>
parents:
diff changeset
22
c571a45c944f split console web component
drewp <drewp@bigasterisk.com>
parents:
diff changeset
23 <iron-ajax id="rewrite" url="rewrite" method="POST"></iron-ajax>
c571a45c944f split console web component
drewp <drewp@bigasterisk.com>
parents:
diff changeset
24
1235
d8aa414f21d9 py3, rfid-console rename
drewp <drewp@bigasterisk.com>
parents: 1218
diff changeset
25 Current RFID reads:
1218
c571a45c944f split console web component
drewp <drewp@bigasterisk.com>
parents:
diff changeset
26 <table>
c571a45c944f split console web component
drewp <drewp@bigasterisk.com>
parents:
diff changeset
27 <tr><th>Card UID</th><th>Card text</th><th></th></tr>
c571a45c944f split console web component
drewp <drewp@bigasterisk.com>
parents:
diff changeset
28 <template is="dom-repeat" items="{{currentReads}}">
c571a45c944f split console web component
drewp <drewp@bigasterisk.com>
parents:
diff changeset
29 <tr>
c571a45c944f split console web component
drewp <drewp@bigasterisk.com>
parents:
diff changeset
30 <td>{{item.uidDisplay}}</td>
c571a45c944f split console web component
drewp <drewp@bigasterisk.com>
parents:
diff changeset
31 <td>{{item.text}}</td>
c571a45c944f split console web component
drewp <drewp@bigasterisk.com>
parents:
diff changeset
32 <td>
c571a45c944f split console web component
drewp <drewp@bigasterisk.com>
parents:
diff changeset
33 <div id="form">
c571a45c944f split console web component
drewp <drewp@bigasterisk.com>
parents:
diff changeset
34 <button on-click="rewrite">Rewrite</button>
c571a45c944f split console web component
drewp <drewp@bigasterisk.com>
parents:
diff changeset
35 </div>
c571a45c944f split console web component
drewp <drewp@bigasterisk.com>
parents:
diff changeset
36 </td>
c571a45c944f split console web component
drewp <drewp@bigasterisk.com>
parents:
diff changeset
37 </tr>
c571a45c944f split console web component
drewp <drewp@bigasterisk.com>
parents:
diff changeset
38 </template>
c571a45c944f split console web component
drewp <drewp@bigasterisk.com>
parents:
diff changeset
39 </table>
1235
d8aa414f21d9 py3, rfid-console rename
drewp <drewp@bigasterisk.com>
parents: 1218
diff changeset
40
d8aa414f21d9 py3, rfid-console rename
drewp <drewp@bigasterisk.com>
parents: 1218
diff changeset
41 <div>
d8aa414f21d9 py3, rfid-console rename
drewp <drewp@bigasterisk.com>
parents: 1218
diff changeset
42 <streamed-graph url="graph/events" graph="{{graph}}"></streamed-graph>
d8aa414f21d9 py3, rfid-console rename
drewp <drewp@bigasterisk.com>
parents: 1218
diff changeset
43 <!-- also get a graph of users so we can look up cards -->
d8aa414f21d9 py3, rfid-console rename
drewp <drewp@bigasterisk.com>
parents: 1218
diff changeset
44 </div>
1218
c571a45c944f split console web component
drewp <drewp@bigasterisk.com>
parents:
diff changeset
45 </template>
c571a45c944f split console web component
drewp <drewp@bigasterisk.com>
parents:
diff changeset
46 <script>
c571a45c944f split console web component
drewp <drewp@bigasterisk.com>
parents:
diff changeset
47 Polymer({
1235
d8aa414f21d9 py3, rfid-console rename
drewp <drewp@bigasterisk.com>
parents: 1218
diff changeset
48 is: 'rfid-console',
1218
c571a45c944f split console web component
drewp <drewp@bigasterisk.com>
parents:
diff changeset
49 properties: {
c571a45c944f split console web component
drewp <drewp@bigasterisk.com>
parents:
diff changeset
50 graph: { type: Object, notify: true, observer: "_onGraph" },
c571a45c944f split console web component
drewp <drewp@bigasterisk.com>
parents:
diff changeset
51 currentReads: { type: Array, value: [] },
c571a45c944f split console web component
drewp <drewp@bigasterisk.com>
parents:
diff changeset
52 },
c571a45c944f split console web component
drewp <drewp@bigasterisk.com>
parents:
diff changeset
53 behaviors: [BigastUri],
c571a45c944f split console web component
drewp <drewp@bigasterisk.com>
parents:
diff changeset
54 _onGraph: function(graph) {
c571a45c944f split console web component
drewp <drewp@bigasterisk.com>
parents:
diff changeset
55 if (!graph.graph) return;
c571a45c944f split console web component
drewp <drewp@bigasterisk.com>
parents:
diff changeset
56 const env = graph.graph.store.rdf;
c571a45c944f split console web component
drewp <drewp@bigasterisk.com>
parents:
diff changeset
57
c571a45c944f split console web component
drewp <drewp@bigasterisk.com>
parents:
diff changeset
58 this.splice('currentReads', 0, this.currentReads.length);
c571a45c944f split console web component
drewp <drewp@bigasterisk.com>
parents:
diff changeset
59 graph.graph.quadStore.quads(
c571a45c944f split console web component
drewp <drewp@bigasterisk.com>
parents:
diff changeset
60 {subject: env.createNamedNode('room:frontDoorWindowRfid'),
c571a45c944f split console web component
drewp <drewp@bigasterisk.com>
parents:
diff changeset
61 predicate: env.createNamedNode('room:reading'),
c571a45c944f split console web component
drewp <drewp@bigasterisk.com>
parents:
diff changeset
62 },
c571a45c944f split console web component
drewp <drewp@bigasterisk.com>
parents:
diff changeset
63 (q) => {
c571a45c944f split console web component
drewp <drewp@bigasterisk.com>
parents:
diff changeset
64 graph.graph.quadStore.quads(
c571a45c944f split console web component
drewp <drewp@bigasterisk.com>
parents:
diff changeset
65 {subject: q.object,
c571a45c944f split console web component
drewp <drewp@bigasterisk.com>
parents:
diff changeset
66 predicate: env.createNamedNode('room:cardText'),
c571a45c944f split console web component
drewp <drewp@bigasterisk.com>
parents:
diff changeset
67 },
c571a45c944f split console web component
drewp <drewp@bigasterisk.com>
parents:
diff changeset
68 (q2) => {
c571a45c944f split console web component
drewp <drewp@bigasterisk.com>
parents:
diff changeset
69 this.push(
c571a45c944f split console web component
drewp <drewp@bigasterisk.com>
parents:
diff changeset
70 'currentReads', {
c571a45c944f split console web component
drewp <drewp@bigasterisk.com>
parents:
diff changeset
71 'cardUid': q.object,
c571a45c944f split console web component
drewp <drewp@bigasterisk.com>
parents:
diff changeset
72 'uidDisplay': q.object.toString().replace(/.*\//, ""),
c571a45c944f split console web component
drewp <drewp@bigasterisk.com>
parents:
diff changeset
73 'text': q2.object.toString()
c571a45c944f split console web component
drewp <drewp@bigasterisk.com>
parents:
diff changeset
74 });
c571a45c944f split console web component
drewp <drewp@bigasterisk.com>
parents:
diff changeset
75 });
c571a45c944f split console web component
drewp <drewp@bigasterisk.com>
parents:
diff changeset
76 });
c571a45c944f split console web component
drewp <drewp@bigasterisk.com>
parents:
diff changeset
77 },
c571a45c944f split console web component
drewp <drewp@bigasterisk.com>
parents:
diff changeset
78 rewrite: function(ev) {
c571a45c944f split console web component
drewp <drewp@bigasterisk.com>
parents:
diff changeset
79 const cardUid = ev.model.item.cardUid;
c571a45c944f split console web component
drewp <drewp@bigasterisk.com>
parents:
diff changeset
80
c571a45c944f split console web component
drewp <drewp@bigasterisk.com>
parents:
diff changeset
81 // ask for user first
c571a45c944f split console web component
drewp <drewp@bigasterisk.com>
parents:
diff changeset
82
c571a45c944f split console web component
drewp <drewp@bigasterisk.com>
parents:
diff changeset
83 this.$.rewrite.contentType = "application/json";
c571a45c944f split console web component
drewp <drewp@bigasterisk.com>
parents:
diff changeset
84 this.$.rewrite.body = {'cardUid': cardUid.toString(),
c571a45c944f split console web component
drewp <drewp@bigasterisk.com>
parents:
diff changeset
85 'user': "some foaf"};
c571a45c944f split console web component
drewp <drewp@bigasterisk.com>
parents:
diff changeset
86 this.$.rewrite.generateRequest();
c571a45c944f split console web component
drewp <drewp@bigasterisk.com>
parents:
diff changeset
87 }
c571a45c944f split console web component
drewp <drewp@bigasterisk.com>
parents:
diff changeset
88 });
c571a45c944f split console web component
drewp <drewp@bigasterisk.com>
parents:
diff changeset
89 </script>
c571a45c944f split console web component
drewp <drewp@bigasterisk.com>
parents:
diff changeset
90 </dom-module>