Mercurial > code > home > repos > light9
annotate web/ResourceDisplay.ts @ 2405:69ca2b2fc133
overcomplicated attempt at persisting the pane layout in the rdf graph
this was hard because we have to somehow wait for the graph to load before config'ing the panes
author | drewp@bigasterisk.com |
---|---|
date | Fri, 17 May 2024 16:58:26 -0700 |
parents | 4556eebe5d73 |
children |
rev | line source |
---|---|
2295
d18586476827
redo resource-display, fixing the rename button
drewp@bigasterisk.com
parents:
2294
diff
changeset
|
1 import { TextField } from "@material/mwc-textfield"; |
2074
1a96f8647126
big graph & autodep porting to make collector display labels from a syncedgraph
drewp@bigasterisk.com
parents:
1796
diff
changeset
|
2 import debug from "debug"; |
1a96f8647126
big graph & autodep porting to make collector display labels from a syncedgraph
drewp@bigasterisk.com
parents:
1796
diff
changeset
|
3 import { css, html, LitElement, PropertyValues } from "lit"; |
1a96f8647126
big graph & autodep porting to make collector display labels from a syncedgraph
drewp@bigasterisk.com
parents:
1796
diff
changeset
|
4 import { customElement, property, state } from "lit/decorators.js"; |
1a96f8647126
big graph & autodep porting to make collector display labels from a syncedgraph
drewp@bigasterisk.com
parents:
1796
diff
changeset
|
5 import { NamedNode } from "n3"; |
1a96f8647126
big graph & autodep porting to make collector display labels from a syncedgraph
drewp@bigasterisk.com
parents:
1796
diff
changeset
|
6 import { getTopGraph } from "./RdfdbSyncedGraph"; |
1a96f8647126
big graph & autodep porting to make collector display labels from a syncedgraph
drewp@bigasterisk.com
parents:
1796
diff
changeset
|
7 import { SyncedGraph } from "./SyncedGraph"; |
2295
d18586476827
redo resource-display, fixing the rename button
drewp@bigasterisk.com
parents:
2294
diff
changeset
|
8 export { Button } from "@material/mwc-button"; |
d18586476827
redo resource-display, fixing the rename button
drewp@bigasterisk.com
parents:
2294
diff
changeset
|
9 export { Dialog } from "@material/mwc-dialog"; |
d18586476827
redo resource-display, fixing the rename button
drewp@bigasterisk.com
parents:
2294
diff
changeset
|
10 export { TextField } from "@material/mwc-textfield"; |
d18586476827
redo resource-display, fixing the rename button
drewp@bigasterisk.com
parents:
2294
diff
changeset
|
11 |
d18586476827
redo resource-display, fixing the rename button
drewp@bigasterisk.com
parents:
2294
diff
changeset
|
12 const log = debug("rdisplay"); |
1589
21a52ce16954
new effects2.html polymer port
Drew Perttula <drewp@bigasterisk.com>
parents:
diff
changeset
|
13 |
2074
1a96f8647126
big graph & autodep porting to make collector display labels from a syncedgraph
drewp@bigasterisk.com
parents:
1796
diff
changeset
|
14 @customElement("resource-display") |
1a96f8647126
big graph & autodep porting to make collector display labels from a syncedgraph
drewp@bigasterisk.com
parents:
1796
diff
changeset
|
15 export class ResourceDisplay extends LitElement { |
1a96f8647126
big graph & autodep porting to make collector display labels from a syncedgraph
drewp@bigasterisk.com
parents:
1796
diff
changeset
|
16 graph!: SyncedGraph; |
1a96f8647126
big graph & autodep porting to make collector display labels from a syncedgraph
drewp@bigasterisk.com
parents:
1796
diff
changeset
|
17 static styles = [ |
1a96f8647126
big graph & autodep porting to make collector display labels from a syncedgraph
drewp@bigasterisk.com
parents:
1796
diff
changeset
|
18 css` |
1a96f8647126
big graph & autodep porting to make collector display labels from a syncedgraph
drewp@bigasterisk.com
parents:
1796
diff
changeset
|
19 :host { |
1a96f8647126
big graph & autodep porting to make collector display labels from a syncedgraph
drewp@bigasterisk.com
parents:
1796
diff
changeset
|
20 display: inline-block; |
1a96f8647126
big graph & autodep porting to make collector display labels from a syncedgraph
drewp@bigasterisk.com
parents:
1796
diff
changeset
|
21 } |
1a96f8647126
big graph & autodep porting to make collector display labels from a syncedgraph
drewp@bigasterisk.com
parents:
1796
diff
changeset
|
22 |
1a96f8647126
big graph & autodep porting to make collector display labels from a syncedgraph
drewp@bigasterisk.com
parents:
1796
diff
changeset
|
23 a.resource { |
1a96f8647126
big graph & autodep porting to make collector display labels from a syncedgraph
drewp@bigasterisk.com
parents:
1796
diff
changeset
|
24 color: inherit; |
1a96f8647126
big graph & autodep porting to make collector display labels from a syncedgraph
drewp@bigasterisk.com
parents:
1796
diff
changeset
|
25 text-decoration: none; |
1a96f8647126
big graph & autodep porting to make collector display labels from a syncedgraph
drewp@bigasterisk.com
parents:
1796
diff
changeset
|
26 } |
1714
f2265601ead6
edit-choice/etc fixes and tests
Drew Perttula <drewp@bigasterisk.com>
parents:
1710
diff
changeset
|
27 |
2074
1a96f8647126
big graph & autodep porting to make collector display labels from a syncedgraph
drewp@bigasterisk.com
parents:
1796
diff
changeset
|
28 .resource { |
1a96f8647126
big graph & autodep porting to make collector display labels from a syncedgraph
drewp@bigasterisk.com
parents:
1796
diff
changeset
|
29 border: 1px solid #545454; |
1a96f8647126
big graph & autodep porting to make collector display labels from a syncedgraph
drewp@bigasterisk.com
parents:
1796
diff
changeset
|
30 border-radius: 5px; |
1a96f8647126
big graph & autodep porting to make collector display labels from a syncedgraph
drewp@bigasterisk.com
parents:
1796
diff
changeset
|
31 padding: 1px; |
1a96f8647126
big graph & autodep porting to make collector display labels from a syncedgraph
drewp@bigasterisk.com
parents:
1796
diff
changeset
|
32 margin: 2px; |
1a96f8647126
big graph & autodep porting to make collector display labels from a syncedgraph
drewp@bigasterisk.com
parents:
1796
diff
changeset
|
33 background: rgb(49, 49, 49); |
1a96f8647126
big graph & autodep porting to make collector display labels from a syncedgraph
drewp@bigasterisk.com
parents:
1796
diff
changeset
|
34 display: inline-block; |
1a96f8647126
big graph & autodep porting to make collector display labels from a syncedgraph
drewp@bigasterisk.com
parents:
1796
diff
changeset
|
35 text-shadow: 1px 1px 2px black; |
1a96f8647126
big graph & autodep porting to make collector display labels from a syncedgraph
drewp@bigasterisk.com
parents:
1796
diff
changeset
|
36 } |
1a96f8647126
big graph & autodep porting to make collector display labels from a syncedgraph
drewp@bigasterisk.com
parents:
1796
diff
changeset
|
37 .resource.minor { |
1a96f8647126
big graph & autodep porting to make collector display labels from a syncedgraph
drewp@bigasterisk.com
parents:
1796
diff
changeset
|
38 background: none; |
1a96f8647126
big graph & autodep porting to make collector display labels from a syncedgraph
drewp@bigasterisk.com
parents:
1796
diff
changeset
|
39 border: none; |
1a96f8647126
big graph & autodep porting to make collector display labels from a syncedgraph
drewp@bigasterisk.com
parents:
1796
diff
changeset
|
40 } |
1a96f8647126
big graph & autodep porting to make collector display labels from a syncedgraph
drewp@bigasterisk.com
parents:
1796
diff
changeset
|
41 .resource a { |
1a96f8647126
big graph & autodep porting to make collector display labels from a syncedgraph
drewp@bigasterisk.com
parents:
1796
diff
changeset
|
42 color: rgb(150, 150, 255); |
1a96f8647126
big graph & autodep porting to make collector display labels from a syncedgraph
drewp@bigasterisk.com
parents:
1796
diff
changeset
|
43 padding: 1px; |
1a96f8647126
big graph & autodep porting to make collector display labels from a syncedgraph
drewp@bigasterisk.com
parents:
1796
diff
changeset
|
44 display: inline-block; |
1a96f8647126
big graph & autodep porting to make collector display labels from a syncedgraph
drewp@bigasterisk.com
parents:
1796
diff
changeset
|
45 } |
1a96f8647126
big graph & autodep porting to make collector display labels from a syncedgraph
drewp@bigasterisk.com
parents:
1796
diff
changeset
|
46 .resource.minor a { |
1a96f8647126
big graph & autodep porting to make collector display labels from a syncedgraph
drewp@bigasterisk.com
parents:
1796
diff
changeset
|
47 text-decoration: none; |
1a96f8647126
big graph & autodep porting to make collector display labels from a syncedgraph
drewp@bigasterisk.com
parents:
1796
diff
changeset
|
48 color: rgb(155, 155, 193); |
1a96f8647126
big graph & autodep porting to make collector display labels from a syncedgraph
drewp@bigasterisk.com
parents:
1796
diff
changeset
|
49 padding: 0; |
1a96f8647126
big graph & autodep porting to make collector display labels from a syncedgraph
drewp@bigasterisk.com
parents:
1796
diff
changeset
|
50 } |
1a96f8647126
big graph & autodep porting to make collector display labels from a syncedgraph
drewp@bigasterisk.com
parents:
1796
diff
changeset
|
51 `, |
1a96f8647126
big graph & autodep porting to make collector display labels from a syncedgraph
drewp@bigasterisk.com
parents:
1796
diff
changeset
|
52 ]; |
1714
f2265601ead6
edit-choice/etc fixes and tests
Drew Perttula <drewp@bigasterisk.com>
parents:
1710
diff
changeset
|
53 |
2074
1a96f8647126
big graph & autodep porting to make collector display labels from a syncedgraph
drewp@bigasterisk.com
parents:
1796
diff
changeset
|
54 render() { |
2295
d18586476827
redo resource-display, fixing the rename button
drewp@bigasterisk.com
parents:
2294
diff
changeset
|
55 let renameDialog = html``; |
d18586476827
redo resource-display, fixing the rename button
drewp@bigasterisk.com
parents:
2294
diff
changeset
|
56 if (this.renameDialogOpen) { |
d18586476827
redo resource-display, fixing the rename button
drewp@bigasterisk.com
parents:
2294
diff
changeset
|
57 renameDialog = html` <mwc-dialog id="renameDialog" open @closing=${this.onRenameClosing} @closed=${this.onRenameClosed}> |
d18586476827
redo resource-display, fixing the rename button
drewp@bigasterisk.com
parents:
2294
diff
changeset
|
58 <p> |
d18586476827
redo resource-display, fixing the rename button
drewp@bigasterisk.com
parents:
2294
diff
changeset
|
59 New label: |
d18586476827
redo resource-display, fixing the rename button
drewp@bigasterisk.com
parents:
2294
diff
changeset
|
60 <mwc-textfield id="renameField" dialogInitialFocus .value=${this.renameTo}></mwc-textfield> |
d18586476827
redo resource-display, fixing the rename button
drewp@bigasterisk.com
parents:
2294
diff
changeset
|
61 </p> |
d18586476827
redo resource-display, fixing the rename button
drewp@bigasterisk.com
parents:
2294
diff
changeset
|
62 <mwc-button dialogAction="cancel" slot="secondaryAction">Cancel</mwc-button> |
d18586476827
redo resource-display, fixing the rename button
drewp@bigasterisk.com
parents:
2294
diff
changeset
|
63 <mwc-button dialogAction="ok" slot="primaryAction">OK</mwc-button> |
d18586476827
redo resource-display, fixing the rename button
drewp@bigasterisk.com
parents:
2294
diff
changeset
|
64 </mwc-dialog>`; |
d18586476827
redo resource-display, fixing the rename button
drewp@bigasterisk.com
parents:
2294
diff
changeset
|
65 } |
2074
1a96f8647126
big graph & autodep porting to make collector display labels from a syncedgraph
drewp@bigasterisk.com
parents:
1796
diff
changeset
|
66 |
2295
d18586476827
redo resource-display, fixing the rename button
drewp@bigasterisk.com
parents:
2294
diff
changeset
|
67 return html` <span class="${this.resClasses()}"> |
d18586476827
redo resource-display, fixing the rename button
drewp@bigasterisk.com
parents:
2294
diff
changeset
|
68 <a href="${this.href()}" id="uri"> <!-- type icon goes here -->${this.label}</a> |
d18586476827
redo resource-display, fixing the rename button
drewp@bigasterisk.com
parents:
2294
diff
changeset
|
69 ${this.rename ? html`<button @click=${this.onRename}>Rename</button>` : ""} </span |
d18586476827
redo resource-display, fixing the rename button
drewp@bigasterisk.com
parents:
2294
diff
changeset
|
70 >${renameDialog}`; |
d18586476827
redo resource-display, fixing the rename button
drewp@bigasterisk.com
parents:
2294
diff
changeset
|
71 // |
2074
1a96f8647126
big graph & autodep porting to make collector display labels from a syncedgraph
drewp@bigasterisk.com
parents:
1796
diff
changeset
|
72 } |
2294
4031e511bca9
resource-display uri can no longer be a string
drewp@bigasterisk.com
parents:
2292
diff
changeset
|
73 @property() uri?: NamedNode; |
2074
1a96f8647126
big graph & autodep porting to make collector display labels from a syncedgraph
drewp@bigasterisk.com
parents:
1796
diff
changeset
|
74 |
1a96f8647126
big graph & autodep porting to make collector display labels from a syncedgraph
drewp@bigasterisk.com
parents:
1796
diff
changeset
|
75 @state() label: string = ""; |
2295
d18586476827
redo resource-display, fixing the rename button
drewp@bigasterisk.com
parents:
2294
diff
changeset
|
76 @state() renameDialogOpen = false; |
d18586476827
redo resource-display, fixing the rename button
drewp@bigasterisk.com
parents:
2294
diff
changeset
|
77 @state() renameTo = ""; |
d18586476827
redo resource-display, fixing the rename button
drewp@bigasterisk.com
parents:
2294
diff
changeset
|
78 |
d18586476827
redo resource-display, fixing the rename button
drewp@bigasterisk.com
parents:
2294
diff
changeset
|
79 @property({ type: Boolean }) rename: boolean = false; |
2312
3f0b889c8fa9
don't let phone users click on song uris by mistake
drewp@bigasterisk.com
parents:
2295
diff
changeset
|
80 @property({ type: Boolean }) noclick: boolean = false; |
2295
d18586476827
redo resource-display, fixing the rename button
drewp@bigasterisk.com
parents:
2294
diff
changeset
|
81 @property({ type: Boolean }) minor: boolean = false; |
1591
2713d2f7a0fc
resource-display can have a rename button for editing rdfs:label
Drew Perttula <drewp@bigasterisk.com>
parents:
1589
diff
changeset
|
82 |
2074
1a96f8647126
big graph & autodep porting to make collector display labels from a syncedgraph
drewp@bigasterisk.com
parents:
1796
diff
changeset
|
83 constructor() { |
1a96f8647126
big graph & autodep porting to make collector display labels from a syncedgraph
drewp@bigasterisk.com
parents:
1796
diff
changeset
|
84 super(); |
1a96f8647126
big graph & autodep porting to make collector display labels from a syncedgraph
drewp@bigasterisk.com
parents:
1796
diff
changeset
|
85 getTopGraph().then((g) => { |
1a96f8647126
big graph & autodep porting to make collector display labels from a syncedgraph
drewp@bigasterisk.com
parents:
1796
diff
changeset
|
86 this.graph = g; |
2295
d18586476827
redo resource-display, fixing the rename button
drewp@bigasterisk.com
parents:
2294
diff
changeset
|
87 this.onUri(); |
2074
1a96f8647126
big graph & autodep porting to make collector display labels from a syncedgraph
drewp@bigasterisk.com
parents:
1796
diff
changeset
|
88 }); |
1a96f8647126
big graph & autodep porting to make collector display labels from a syncedgraph
drewp@bigasterisk.com
parents:
1796
diff
changeset
|
89 } |
1a96f8647126
big graph & autodep porting to make collector display labels from a syncedgraph
drewp@bigasterisk.com
parents:
1796
diff
changeset
|
90 |
1a96f8647126
big graph & autodep porting to make collector display labels from a syncedgraph
drewp@bigasterisk.com
parents:
1796
diff
changeset
|
91 updated(changedProperties: PropertyValues) { |
1a96f8647126
big graph & autodep porting to make collector display labels from a syncedgraph
drewp@bigasterisk.com
parents:
1796
diff
changeset
|
92 if (changedProperties.has("uri")) { |
2295
d18586476827
redo resource-display, fixing the rename button
drewp@bigasterisk.com
parents:
2294
diff
changeset
|
93 this.onUri(); |
2074
1a96f8647126
big graph & autodep porting to make collector display labels from a syncedgraph
drewp@bigasterisk.com
parents:
1796
diff
changeset
|
94 } |
1a96f8647126
big graph & autodep porting to make collector display labels from a syncedgraph
drewp@bigasterisk.com
parents:
1796
diff
changeset
|
95 } |
1a96f8647126
big graph & autodep porting to make collector display labels from a syncedgraph
drewp@bigasterisk.com
parents:
1796
diff
changeset
|
96 |
2295
d18586476827
redo resource-display, fixing the rename button
drewp@bigasterisk.com
parents:
2294
diff
changeset
|
97 private onUri() { |
d18586476827
redo resource-display, fixing the rename button
drewp@bigasterisk.com
parents:
2294
diff
changeset
|
98 if (!this.graph) { |
d18586476827
redo resource-display, fixing the rename button
drewp@bigasterisk.com
parents:
2294
diff
changeset
|
99 return; /*too soon, but getTopGraph will call us again*/ |
d18586476827
redo resource-display, fixing the rename button
drewp@bigasterisk.com
parents:
2294
diff
changeset
|
100 } |
2321
ed0db55f604c
use undefined for 'nothing selected' insetad of null
drewp@bigasterisk.com
parents:
2312
diff
changeset
|
101 |
2295
d18586476827
redo resource-display, fixing the rename button
drewp@bigasterisk.com
parents:
2294
diff
changeset
|
102 if (this.uri === undefined) { |
d18586476827
redo resource-display, fixing the rename button
drewp@bigasterisk.com
parents:
2294
diff
changeset
|
103 this.label = "(unset)"; |
2321
ed0db55f604c
use undefined for 'nothing selected' insetad of null
drewp@bigasterisk.com
parents:
2312
diff
changeset
|
104 } else if (this.uri === null) { |
ed0db55f604c
use undefined for 'nothing selected' insetad of null
drewp@bigasterisk.com
parents:
2312
diff
changeset
|
105 throw 'use undefined please' |
2295
d18586476827
redo resource-display, fixing the rename button
drewp@bigasterisk.com
parents:
2294
diff
changeset
|
106 } else { |
d18586476827
redo resource-display, fixing the rename button
drewp@bigasterisk.com
parents:
2294
diff
changeset
|
107 this.graph.runHandler(this.compile.bind(this, this.graph), `label for ${this.uri.id}`); |
d18586476827
redo resource-display, fixing the rename button
drewp@bigasterisk.com
parents:
2294
diff
changeset
|
108 } |
d18586476827
redo resource-display, fixing the rename button
drewp@bigasterisk.com
parents:
2294
diff
changeset
|
109 } |
d18586476827
redo resource-display, fixing the rename button
drewp@bigasterisk.com
parents:
2294
diff
changeset
|
110 private compile(graph: SyncedGraph) { |
d18586476827
redo resource-display, fixing the rename button
drewp@bigasterisk.com
parents:
2294
diff
changeset
|
111 if (this.uri === undefined) { |
d18586476827
redo resource-display, fixing the rename button
drewp@bigasterisk.com
parents:
2294
diff
changeset
|
112 return; |
d18586476827
redo resource-display, fixing the rename button
drewp@bigasterisk.com
parents:
2294
diff
changeset
|
113 } else { |
d18586476827
redo resource-display, fixing the rename button
drewp@bigasterisk.com
parents:
2294
diff
changeset
|
114 this.label = this.graph.labelOrTail(this.uri); |
d18586476827
redo resource-display, fixing the rename button
drewp@bigasterisk.com
parents:
2294
diff
changeset
|
115 } |
d18586476827
redo resource-display, fixing the rename button
drewp@bigasterisk.com
parents:
2294
diff
changeset
|
116 } |
d18586476827
redo resource-display, fixing the rename button
drewp@bigasterisk.com
parents:
2294
diff
changeset
|
117 |
d18586476827
redo resource-display, fixing the rename button
drewp@bigasterisk.com
parents:
2294
diff
changeset
|
118 private href(): string { |
2312
3f0b889c8fa9
don't let phone users click on song uris by mistake
drewp@bigasterisk.com
parents:
2295
diff
changeset
|
119 if (!this.uri || this.noclick) { |
2295
d18586476827
redo resource-display, fixing the rename button
drewp@bigasterisk.com
parents:
2294
diff
changeset
|
120 return "javascript:;"; |
d18586476827
redo resource-display, fixing the rename button
drewp@bigasterisk.com
parents:
2294
diff
changeset
|
121 } |
d18586476827
redo resource-display, fixing the rename button
drewp@bigasterisk.com
parents:
2294
diff
changeset
|
122 return this.uri.value; |
d18586476827
redo resource-display, fixing the rename button
drewp@bigasterisk.com
parents:
2294
diff
changeset
|
123 } |
d18586476827
redo resource-display, fixing the rename button
drewp@bigasterisk.com
parents:
2294
diff
changeset
|
124 |
d18586476827
redo resource-display, fixing the rename button
drewp@bigasterisk.com
parents:
2294
diff
changeset
|
125 private resClasses() { |
2074
1a96f8647126
big graph & autodep porting to make collector display labels from a syncedgraph
drewp@bigasterisk.com
parents:
1796
diff
changeset
|
126 return this.minor ? "resource minor" : "resource"; |
1a96f8647126
big graph & autodep porting to make collector display labels from a syncedgraph
drewp@bigasterisk.com
parents:
1796
diff
changeset
|
127 } |
1a96f8647126
big graph & autodep porting to make collector display labels from a syncedgraph
drewp@bigasterisk.com
parents:
1796
diff
changeset
|
128 |
2295
d18586476827
redo resource-display, fixing the rename button
drewp@bigasterisk.com
parents:
2294
diff
changeset
|
129 private onRename() { |
d18586476827
redo resource-display, fixing the rename button
drewp@bigasterisk.com
parents:
2294
diff
changeset
|
130 this.renameTo = this.label; |
d18586476827
redo resource-display, fixing the rename button
drewp@bigasterisk.com
parents:
2294
diff
changeset
|
131 this.renameDialogOpen = true; |
d18586476827
redo resource-display, fixing the rename button
drewp@bigasterisk.com
parents:
2294
diff
changeset
|
132 setTimeout(() => { |
d18586476827
redo resource-display, fixing the rename button
drewp@bigasterisk.com
parents:
2294
diff
changeset
|
133 // I! 👏 know! 👏 the! 👏 element! 👏 I! 👏 want! |
d18586476827
redo resource-display, fixing the rename button
drewp@bigasterisk.com
parents:
2294
diff
changeset
|
134 const inputEl = this.shadowRoot!.querySelector("#renameField")!.shadowRoot!.querySelector("input")! as HTMLInputElement; |
d18586476827
redo resource-display, fixing the rename button
drewp@bigasterisk.com
parents:
2294
diff
changeset
|
135 inputEl.setSelectionRange(0, -1); |
d18586476827
redo resource-display, fixing the rename button
drewp@bigasterisk.com
parents:
2294
diff
changeset
|
136 }, 100); |
2074
1a96f8647126
big graph & autodep porting to make collector display labels from a syncedgraph
drewp@bigasterisk.com
parents:
1796
diff
changeset
|
137 } |
1a96f8647126
big graph & autodep porting to make collector display labels from a syncedgraph
drewp@bigasterisk.com
parents:
1796
diff
changeset
|
138 |
2295
d18586476827
redo resource-display, fixing the rename button
drewp@bigasterisk.com
parents:
2294
diff
changeset
|
139 // move to SyncedGraph |
d18586476827
redo resource-display, fixing the rename button
drewp@bigasterisk.com
parents:
2294
diff
changeset
|
140 private whatCtxHeldTheObj(subj: NamedNode, pred: NamedNode): NamedNode { |
d18586476827
redo resource-display, fixing the rename button
drewp@bigasterisk.com
parents:
2294
diff
changeset
|
141 var ctxs = this.graph.contextsWithPattern(subj, pred, null); |
d18586476827
redo resource-display, fixing the rename button
drewp@bigasterisk.com
parents:
2294
diff
changeset
|
142 if (ctxs.length != 1) { |
d18586476827
redo resource-display, fixing the rename button
drewp@bigasterisk.com
parents:
2294
diff
changeset
|
143 throw new Error(`${ctxs.length} ${pred.id} stmts for ${subj.id}`); |
d18586476827
redo resource-display, fixing the rename button
drewp@bigasterisk.com
parents:
2294
diff
changeset
|
144 } |
d18586476827
redo resource-display, fixing the rename button
drewp@bigasterisk.com
parents:
2294
diff
changeset
|
145 return ctxs[0]; |
d18586476827
redo resource-display, fixing the rename button
drewp@bigasterisk.com
parents:
2294
diff
changeset
|
146 } |
d18586476827
redo resource-display, fixing the rename button
drewp@bigasterisk.com
parents:
2294
diff
changeset
|
147 |
d18586476827
redo resource-display, fixing the rename button
drewp@bigasterisk.com
parents:
2294
diff
changeset
|
148 private onRenameClosing(ev: CustomEvent) { |
d18586476827
redo resource-display, fixing the rename button
drewp@bigasterisk.com
parents:
2294
diff
changeset
|
149 this.renameTo = (this.shadowRoot!.querySelector("#renameField")! as TextField).value; |
2074
1a96f8647126
big graph & autodep porting to make collector display labels from a syncedgraph
drewp@bigasterisk.com
parents:
1796
diff
changeset
|
150 } |
1a96f8647126
big graph & autodep porting to make collector display labels from a syncedgraph
drewp@bigasterisk.com
parents:
1796
diff
changeset
|
151 |
2295
d18586476827
redo resource-display, fixing the rename button
drewp@bigasterisk.com
parents:
2294
diff
changeset
|
152 private onRenameClosed(ev: CustomEvent) { |
d18586476827
redo resource-display, fixing the rename button
drewp@bigasterisk.com
parents:
2294
diff
changeset
|
153 this.renameDialogOpen = false; |
d18586476827
redo resource-display, fixing the rename button
drewp@bigasterisk.com
parents:
2294
diff
changeset
|
154 if (ev.detail.action == "ok") { |
d18586476827
redo resource-display, fixing the rename button
drewp@bigasterisk.com
parents:
2294
diff
changeset
|
155 var label = this.graph.Uri("rdfs:label"); |
d18586476827
redo resource-display, fixing the rename button
drewp@bigasterisk.com
parents:
2294
diff
changeset
|
156 if (this.uri === undefined) { |
d18586476827
redo resource-display, fixing the rename button
drewp@bigasterisk.com
parents:
2294
diff
changeset
|
157 throw "lost uri"; |
d18586476827
redo resource-display, fixing the rename button
drewp@bigasterisk.com
parents:
2294
diff
changeset
|
158 } |
d18586476827
redo resource-display, fixing the rename button
drewp@bigasterisk.com
parents:
2294
diff
changeset
|
159 const ctx = this.whatCtxHeldTheObj(this.uri, label); |
d18586476827
redo resource-display, fixing the rename button
drewp@bigasterisk.com
parents:
2294
diff
changeset
|
160 this.graph.patchObject(this.uri, label, this.graph.Literal(this.renameTo), ctx); |
d18586476827
redo resource-display, fixing the rename button
drewp@bigasterisk.com
parents:
2294
diff
changeset
|
161 } |
d18586476827
redo resource-display, fixing the rename button
drewp@bigasterisk.com
parents:
2294
diff
changeset
|
162 this.renameTo = ""; |
2074
1a96f8647126
big graph & autodep porting to make collector display labels from a syncedgraph
drewp@bigasterisk.com
parents:
1796
diff
changeset
|
163 } |
1a96f8647126
big graph & autodep porting to make collector display labels from a syncedgraph
drewp@bigasterisk.com
parents:
1796
diff
changeset
|
164 } |