@ulb-darmstadt/shacl-form 1.6.5 → 1.6.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -19,6 +19,7 @@ export declare class ShaclPropertyTemplate {
19
19
  minExclusive: number | undefined;
20
20
  maxExclusive: number | undefined;
21
21
  singleLine: boolean | undefined;
22
+ readonly: boolean | undefined;
22
23
  cssClass: string | undefined;
23
24
  defaultValue: Term | undefined;
24
25
  pattern: string | undefined;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ulb-darmstadt/shacl-form",
3
- "version": "1.6.5",
3
+ "version": "1.6.7",
4
4
  "description": "SHACL form generator",
5
5
  "main": "dist/form-default.js",
6
6
  "module": "dist/form-default.js",
@@ -23,6 +23,7 @@ const mappers: Record<string, (template: ShaclPropertyTemplate, term: Term) => v
23
23
  [`${PREFIX_SHACL}pattern`]: (template, term) => { template.pattern = term.value },
24
24
  [`${PREFIX_SHACL}order`]: (template, term) => { template.order = parseInt(term.value) },
25
25
  [`${PREFIX_DASH}singleLine`]: (template, term) => { template.singleLine = term.value === 'true' },
26
+ [`${PREFIX_DASH}readonly`]: (template, term) => { template.readonly = term.value === 'true' },
26
27
  [`${PREFIX_OA}styleClass`]: (template, term) => { template.cssClass = term.value },
27
28
  [`${PREFIX_SHACL}and`]: (template, term) => { template.shaclAnd = term.value },
28
29
  [`${PREFIX_SHACL}in`]: (template, term) => { template.shaclIn = term.value },
@@ -66,6 +67,7 @@ export class ShaclPropertyTemplate {
66
67
  minExclusive: number | undefined
67
68
  maxExclusive: number | undefined
68
69
  singleLine: boolean | undefined
70
+ readonly: boolean | undefined
69
71
  cssClass: string | undefined
70
72
  defaultValue: Term | undefined
71
73
  pattern: string | undefined
package/src/property.ts CHANGED
@@ -126,10 +126,11 @@ export class ShaclProperty extends HTMLElement {
126
126
  const shapeSubject = instance.firstChild.toRDF(graph)
127
127
  graph.addQuad(subject, pathNode, shapeSubject, this.template.config.valuesGraph)
128
128
  } else {
129
- const editor = instance.querySelector('.editor') as Editor
130
- const value = toRDF(editor)
131
- if (value) {
132
- graph.addQuad(subject, pathNode, value, this.template.config.valuesGraph)
129
+ for (const editor of instance.querySelectorAll<Editor>('.editor')) {
130
+ const value = toRDF(editor)
131
+ if (value) {
132
+ graph.addQuad(subject, pathNode, value, this.template.config.valuesGraph)
133
+ }
133
134
  }
134
135
  }
135
136
  }
@@ -28,7 +28,7 @@ export class DefaultTheme extends Theme {
28
28
  if (template?.nodeKind) {
29
29
  editor.dataset.nodeKind = template.nodeKind.value
30
30
  }
31
- if (template?.hasValue) {
31
+ if (template?.hasValue || template?.readonly) {
32
32
  editor.disabled = true
33
33
  }
34
34
  editor.value = value?.value || template?.defaultValue?.value || ''
@@ -27,7 +27,7 @@ export class MaterialTheme extends Theme {
27
27
  if (template?.nodeKind) {
28
28
  editor.dataset.nodeKind = template.nodeKind.value
29
29
  }
30
- if (template?.hasValue) {
30
+ if (template?.hasValue || template?.readonly) {
31
31
  editor.disabled = true
32
32
  }
33
33
  editor.value = value?.value || template?.defaultValue?.value || ''