Loading src/components/ApplicationProfiles/PropertyDefinition.vue +22 −29 Original line number Diff line number Diff line Loading @@ -45,6 +45,19 @@ @updateDefinition="updateDefinition" @updateProperty="updateProperty" /> <b-collapse id="collapse-qualified" v-model="qualifiedVisible" class="mt-2"> <PropertyRenderer v-for="entry in qualifiedProperties" :key="entry.predicate.value" :application-profile="applicationProfile" :definition="definition" :entry="entry" :readonly="readonlyComputed" :selected-property="selectedProperty" @updateDefinition="updateDefinition" @updateProperty="updateProperty" /> </b-collapse> <b-button block :class="(stringVisible ? null : 'collapsed') + ' collapseButton'" Loading Loading @@ -149,34 +162,6 @@ /> </b-card> </b-collapse> <b-button block :class="(qualifiedVisible ? null : 'collapsed') + ' collapseButton'" :aria-expanded="qualifiedVisible ? 'true' : 'false'" aria-controls="collapse-value" @click="qualifiedVisible = !qualifiedVisible" > {{ $t("qualifiedVisible") }} </b-button> <b-collapse id="collapse-administrative" v-model="qualifiedVisible" class="mt-2" > <b-card> <PropertyRenderer v-for="entry in qualifiedProperties" :key="entry.predicate.value" :application-profile="applicationProfile" :definition="definition" :entry="entry" :readonly="readonlyComputed" :selected-property="selectedProperty" @updateDefinition="updateDefinition" @updateProperty="updateProperty" /> </b-card> </b-collapse> </div> </template> Loading Loading @@ -238,7 +223,6 @@ export default defineComponent({ propertyPairProperties: propertyPairProperties, propertyPairVisible: false, qualifiedProperties: qualifiedProperties, qualifiedVisible: false, selectedTypePredicate: shaclDatatypeProperty.predicate, stringProperties: stringShaclProperties, stringVisible: false, Loading @@ -248,6 +232,15 @@ export default defineComponent({ }; }, computed: { qualifiedVisible(): boolean { if (this.selectedType) { return ( this.selectedType.predicate.value === prefixes.sh + "qualifiedValueShape" ); } return false; }, readonlyComputed(): boolean { return ( this.readonly || this.definition.match(this.selectedProperty).size === 0 Loading src/locale/de.ts +11 −8 Original line number Diff line number Diff line Loading @@ -58,7 +58,7 @@ export default { availableapplicationprofiles: "Verfügbare @:(ApplicationProfile)e", vocabulary: "Vokabularterme", detailview: "Detailansicht", detailview: "Detailansicht (Felder)", properties: "Feld Eigenschaften", searchAP: "Suche @:(ApplicationProfile)e", Loading Loading @@ -286,7 +286,7 @@ export default { description: "Anzeigename des Feldes (sh:name)", }, node: { label: "Node", label: "Erfüllt Profil (immer) (node)", description: "Zeigt auf ein anderes validierendes @:(ApplicationProfile), z.B. https://purl.org/coscine/ap/engmeta (sh:node)", }, Loading @@ -308,21 +308,24 @@ export default { description: "Regex Pattern zur Überprüfung des Wertes (sh:pattern)", }, qualifiedMaxCount: { label: "Maximale Anzahl bedingter @:(ApplicationProfile)e", description: "SHACL sh:qualifiedMaxCount", label: "Maximales Vorkommen des bedingten @:(ApplicationProfile)s", description: "Angabe des maximal gestatteten Vorkommen des bedingten @:(ApplicationProfile)s (sh:qualifiedMaxCount)", }, qualifiedMinCount: { label: "Minimale Anzahl bedingter @:(ApplicationProfile)e", description: "SHACL sh:qualifiedMinCount", label: "Minimales Vorkommen des bedingten @:(ApplicationProfile)s", description: "Angabe des minimal gestatteten Vorkommen des bedingten @:(ApplicationProfile)s (sh:qualifiedMinCount)", }, qualifiedValueShape: { label: "Bedingtes @:(ApplicationProfile)", label: "Erfüllt Profil (m-n Mal) (bedingt)", description: "URL/Definition eines bedingten @:(ApplicationProfile)s (sh:qualifiedValueShape)", }, qualifiedValueShapesDisjoint: { label: "Bedingte @:(ApplicationProfile)e können disjunkt sein", description: "SHACL sh:qualifiedValueShapesDisjoint", description: "Ein-/Ausschalten ob @:(ApplicationProfile)e disjunkt sein können (sh:qualifiedValueShapesDisjoint)", }, severity: { label: "Fehler-Schwere", Loading src/locale/en.ts +11 −8 Original line number Diff line number Diff line Loading @@ -57,7 +57,7 @@ export default { availableapplicationprofiles: "Available @:(ApplicationProfile)s", vocabulary: "Vocabulary Terms", detailview: "Detail View", detailview: "Detail View (Fields)", properties: "Field Properties", searchAP: "Search @:(ApplicationProfile)s", Loading Loading @@ -283,7 +283,7 @@ export default { description: "Display name of the field (sh:name)", }, node: { label: "Node", label: "Satisfies Profile (always) (node)", description: "Points to another validating @.lower:(ApplicationProfile), e.g. https://purl.org/coscine/ap/engmeta (sh:node)", }, Loading @@ -305,21 +305,24 @@ export default { description: "Regex Pattern for the validation of the value (sh:pattern)", }, qualifiedMaxCount: { label: "Qualified Max Count", description: "SHACL sh:qualifiedMaxCount", label: "Max Count of Qualified @:(ApplicationProfile)", description: "Set the maximum amount of the @.lower:(ApplicationProfile) occurring (sh:qualifiedMaxCount)", }, qualifiedMinCount: { label: "Qualified Min Count", description: "SHACL sh:qualifiedMinCount", label: "Min Count of Qualified @:(ApplicationProfile)", description: "Set the minimum amount of the @.lower:(ApplicationProfile) occurring (sh:qualifiedMinCount)", }, qualifiedValueShape: { label: "Qualified Value Shape", label: "Satisfies Profile (m-n times) (qualified)", description: "URL/Definition of a conforming qualifying @.lower:(ApplicationProfile) (sh:qualifiedValueShape)", }, qualifiedValueShapesDisjoint: { label: "Qualified Value Shapes Disjoint", description: "SHACL sh:qualifiedValueShapesDisjoint", description: "Turn on/off whether qualified value shapes are allowed to be disjoint (sh:qualifiedValueShapesDisjoint)", }, severity: { label: "Severity", Loading src/util/shaclProperties.ts +10 −10 Original line number Diff line number Diff line Loading @@ -74,6 +74,16 @@ export const shaclPropertyTypes: ShaclProperty[] = [ searchType: "node", type: "url", }, { predicate: factory.namedNode( prefixes.sh + "qualifiedValueShape", ) as Quad_Predicate, labelKey: "shacl.qualifiedValueShape.label", descriptionKey: "shacl.qualifiedValueShape.description", localized: false, searchType: "node", type: "url", }, { predicate: factory.namedNode(prefixes.sh + "in") as Quad_Predicate, labelKey: "shacl.in.label", Loading Loading @@ -255,16 +265,6 @@ export const propertyPairProperties: ShaclProperty[] = [ ]; export const qualifiedProperties: ShaclProperty[] = [ { predicate: factory.namedNode( prefixes.sh + "qualifiedValueShape", ) as Quad_Predicate, labelKey: "shacl.qualifiedValueShape.label", descriptionKey: "shacl.qualifiedValueShape.description", localized: false, searchType: "node", type: "url", }, { predicate: factory.namedNode( prefixes.sh + "qualifiedMinCount", Loading src/views/Graph.vue +16 −1 Original line number Diff line number Diff line Loading @@ -17,7 +17,11 @@ <AimsCollapsibleColumn :is-collapsed="collapsedList.includes(1)" :size="columnSizes[1]" :title="$t('Graph').toString()" :title=" applicationProfileLabel !== '' ? applicationProfileLabel : $t('noNameSet').toString() " @isCollapsing="handleCollapse(1)" > <graph-layout Loading Loading @@ -94,6 +98,10 @@ export default defineComponent({ >; }>, }, definition: { required: true, type: Object as PropType<Dataset>, }, sessionStoredApplicationProfiles: { required: false, default: 0, Loading Loading @@ -129,6 +137,13 @@ export default defineComponent({ }; }, computed: { applicationProfileLabel(): string { return getApplicationProfileLabelValue( this.applicationProfile, this.definition, this.$root.$i18n.locale, ); }, completeDefinition(): Dataset { let definition = factory.dataset() as unknown as DatasetExt; definition = definition.merge(this.inheritedDataset); Loading Loading
src/components/ApplicationProfiles/PropertyDefinition.vue +22 −29 Original line number Diff line number Diff line Loading @@ -45,6 +45,19 @@ @updateDefinition="updateDefinition" @updateProperty="updateProperty" /> <b-collapse id="collapse-qualified" v-model="qualifiedVisible" class="mt-2"> <PropertyRenderer v-for="entry in qualifiedProperties" :key="entry.predicate.value" :application-profile="applicationProfile" :definition="definition" :entry="entry" :readonly="readonlyComputed" :selected-property="selectedProperty" @updateDefinition="updateDefinition" @updateProperty="updateProperty" /> </b-collapse> <b-button block :class="(stringVisible ? null : 'collapsed') + ' collapseButton'" Loading Loading @@ -149,34 +162,6 @@ /> </b-card> </b-collapse> <b-button block :class="(qualifiedVisible ? null : 'collapsed') + ' collapseButton'" :aria-expanded="qualifiedVisible ? 'true' : 'false'" aria-controls="collapse-value" @click="qualifiedVisible = !qualifiedVisible" > {{ $t("qualifiedVisible") }} </b-button> <b-collapse id="collapse-administrative" v-model="qualifiedVisible" class="mt-2" > <b-card> <PropertyRenderer v-for="entry in qualifiedProperties" :key="entry.predicate.value" :application-profile="applicationProfile" :definition="definition" :entry="entry" :readonly="readonlyComputed" :selected-property="selectedProperty" @updateDefinition="updateDefinition" @updateProperty="updateProperty" /> </b-card> </b-collapse> </div> </template> Loading Loading @@ -238,7 +223,6 @@ export default defineComponent({ propertyPairProperties: propertyPairProperties, propertyPairVisible: false, qualifiedProperties: qualifiedProperties, qualifiedVisible: false, selectedTypePredicate: shaclDatatypeProperty.predicate, stringProperties: stringShaclProperties, stringVisible: false, Loading @@ -248,6 +232,15 @@ export default defineComponent({ }; }, computed: { qualifiedVisible(): boolean { if (this.selectedType) { return ( this.selectedType.predicate.value === prefixes.sh + "qualifiedValueShape" ); } return false; }, readonlyComputed(): boolean { return ( this.readonly || this.definition.match(this.selectedProperty).size === 0 Loading
src/locale/de.ts +11 −8 Original line number Diff line number Diff line Loading @@ -58,7 +58,7 @@ export default { availableapplicationprofiles: "Verfügbare @:(ApplicationProfile)e", vocabulary: "Vokabularterme", detailview: "Detailansicht", detailview: "Detailansicht (Felder)", properties: "Feld Eigenschaften", searchAP: "Suche @:(ApplicationProfile)e", Loading Loading @@ -286,7 +286,7 @@ export default { description: "Anzeigename des Feldes (sh:name)", }, node: { label: "Node", label: "Erfüllt Profil (immer) (node)", description: "Zeigt auf ein anderes validierendes @:(ApplicationProfile), z.B. https://purl.org/coscine/ap/engmeta (sh:node)", }, Loading @@ -308,21 +308,24 @@ export default { description: "Regex Pattern zur Überprüfung des Wertes (sh:pattern)", }, qualifiedMaxCount: { label: "Maximale Anzahl bedingter @:(ApplicationProfile)e", description: "SHACL sh:qualifiedMaxCount", label: "Maximales Vorkommen des bedingten @:(ApplicationProfile)s", description: "Angabe des maximal gestatteten Vorkommen des bedingten @:(ApplicationProfile)s (sh:qualifiedMaxCount)", }, qualifiedMinCount: { label: "Minimale Anzahl bedingter @:(ApplicationProfile)e", description: "SHACL sh:qualifiedMinCount", label: "Minimales Vorkommen des bedingten @:(ApplicationProfile)s", description: "Angabe des minimal gestatteten Vorkommen des bedingten @:(ApplicationProfile)s (sh:qualifiedMinCount)", }, qualifiedValueShape: { label: "Bedingtes @:(ApplicationProfile)", label: "Erfüllt Profil (m-n Mal) (bedingt)", description: "URL/Definition eines bedingten @:(ApplicationProfile)s (sh:qualifiedValueShape)", }, qualifiedValueShapesDisjoint: { label: "Bedingte @:(ApplicationProfile)e können disjunkt sein", description: "SHACL sh:qualifiedValueShapesDisjoint", description: "Ein-/Ausschalten ob @:(ApplicationProfile)e disjunkt sein können (sh:qualifiedValueShapesDisjoint)", }, severity: { label: "Fehler-Schwere", Loading
src/locale/en.ts +11 −8 Original line number Diff line number Diff line Loading @@ -57,7 +57,7 @@ export default { availableapplicationprofiles: "Available @:(ApplicationProfile)s", vocabulary: "Vocabulary Terms", detailview: "Detail View", detailview: "Detail View (Fields)", properties: "Field Properties", searchAP: "Search @:(ApplicationProfile)s", Loading Loading @@ -283,7 +283,7 @@ export default { description: "Display name of the field (sh:name)", }, node: { label: "Node", label: "Satisfies Profile (always) (node)", description: "Points to another validating @.lower:(ApplicationProfile), e.g. https://purl.org/coscine/ap/engmeta (sh:node)", }, Loading @@ -305,21 +305,24 @@ export default { description: "Regex Pattern for the validation of the value (sh:pattern)", }, qualifiedMaxCount: { label: "Qualified Max Count", description: "SHACL sh:qualifiedMaxCount", label: "Max Count of Qualified @:(ApplicationProfile)", description: "Set the maximum amount of the @.lower:(ApplicationProfile) occurring (sh:qualifiedMaxCount)", }, qualifiedMinCount: { label: "Qualified Min Count", description: "SHACL sh:qualifiedMinCount", label: "Min Count of Qualified @:(ApplicationProfile)", description: "Set the minimum amount of the @.lower:(ApplicationProfile) occurring (sh:qualifiedMinCount)", }, qualifiedValueShape: { label: "Qualified Value Shape", label: "Satisfies Profile (m-n times) (qualified)", description: "URL/Definition of a conforming qualifying @.lower:(ApplicationProfile) (sh:qualifiedValueShape)", }, qualifiedValueShapesDisjoint: { label: "Qualified Value Shapes Disjoint", description: "SHACL sh:qualifiedValueShapesDisjoint", description: "Turn on/off whether qualified value shapes are allowed to be disjoint (sh:qualifiedValueShapesDisjoint)", }, severity: { label: "Severity", Loading
src/util/shaclProperties.ts +10 −10 Original line number Diff line number Diff line Loading @@ -74,6 +74,16 @@ export const shaclPropertyTypes: ShaclProperty[] = [ searchType: "node", type: "url", }, { predicate: factory.namedNode( prefixes.sh + "qualifiedValueShape", ) as Quad_Predicate, labelKey: "shacl.qualifiedValueShape.label", descriptionKey: "shacl.qualifiedValueShape.description", localized: false, searchType: "node", type: "url", }, { predicate: factory.namedNode(prefixes.sh + "in") as Quad_Predicate, labelKey: "shacl.in.label", Loading Loading @@ -255,16 +265,6 @@ export const propertyPairProperties: ShaclProperty[] = [ ]; export const qualifiedProperties: ShaclProperty[] = [ { predicate: factory.namedNode( prefixes.sh + "qualifiedValueShape", ) as Quad_Predicate, labelKey: "shacl.qualifiedValueShape.label", descriptionKey: "shacl.qualifiedValueShape.description", localized: false, searchType: "node", type: "url", }, { predicate: factory.namedNode( prefixes.sh + "qualifiedMinCount", Loading
src/views/Graph.vue +16 −1 Original line number Diff line number Diff line Loading @@ -17,7 +17,11 @@ <AimsCollapsibleColumn :is-collapsed="collapsedList.includes(1)" :size="columnSizes[1]" :title="$t('Graph').toString()" :title=" applicationProfileLabel !== '' ? applicationProfileLabel : $t('noNameSet').toString() " @isCollapsing="handleCollapse(1)" > <graph-layout Loading Loading @@ -94,6 +98,10 @@ export default defineComponent({ >; }>, }, definition: { required: true, type: Object as PropType<Dataset>, }, sessionStoredApplicationProfiles: { required: false, default: 0, Loading Loading @@ -129,6 +137,13 @@ export default defineComponent({ }; }, computed: { applicationProfileLabel(): string { return getApplicationProfileLabelValue( this.applicationProfile, this.definition, this.$root.$i18n.locale, ); }, completeDefinition(): Dataset { let definition = factory.dataset() as unknown as DatasetExt; definition = definition.merge(this.inheritedDataset); Loading