Skip to content

Commit 8be7e55

Browse files
authored
feat(ontology): display description for default and existing props (DSP-1154) (#475)
* feat(ontology): display description for default and existing props (DSP-1154) * chore(ontology): disable the checkboxes and radio inputs * test(ontology): bug fix in tests * chore(deps): update package-lock after running `npm i` * chore(ontology): better description for short text * chore(ontology): better descriptions in default props * chore(ontology): better description for short text
1 parent 927237d commit 8be7e55

5 files changed

Lines changed: 87 additions & 52 deletions

File tree

‎package-lock.json‎

Lines changed: 38 additions & 19 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

‎src/app/project/ontology/default-data/default-properties.ts‎

Lines changed: 40 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,7 @@ export interface PropertyCategory {
2525
export interface DefaultProperty {
2626
icon: string;
2727
label: string;
28+
description: string;
2829
subPropOf: string;
2930
objectType?: string;
3031
guiEle: string;
@@ -39,6 +40,7 @@ export class DefaultProperties {
3940
{
4041
icon: 'short_text',
4142
label: 'Short',
43+
description: 'Short text such as title or name',
4244
subPropOf: Constants.HasValue,
4345
objectType: Constants.TextValue,
4446
guiEle: Constants.SalsahGui + Constants.HashDelimiter + 'SimpleText', // 'Input',
@@ -47,14 +49,16 @@ export class DefaultProperties {
4749
{
4850
icon: 'subject',
4951
label: 'Paragraph',
52+
description: 'Long text such as description; could have line breaks',
5053
subPropOf: Constants.HasValue,
5154
objectType: Constants.TextValue,
5255
guiEle: Constants.SalsahGui + Constants.HashDelimiter + 'Textarea',
5356
group: 'Text'
5457
},
5558
{
5659
icon: 'line_style',
57-
label: 'Editor',
60+
label: 'Rich Text',
61+
description: 'A rich text editor with formatting options',
5862
subPropOf: Constants.HasValue,
5963
objectType: Constants.TextValue,
6064
guiEle: Constants.SalsahGui + Constants.HashDelimiter + 'Richtext',
@@ -68,39 +72,43 @@ export class DefaultProperties {
6872
{
6973
icon: 'arrow_drop_down_circle',
7074
label: 'Dropdown',
75+
description: 'Dropdown menu with values from predefined list',
7176
subPropOf: Constants.HasValue,
7277
objectType: Constants.ListValue,
7378
guiEle: Constants.SalsahGui + Constants.HashDelimiter + 'List', // 'Pulldown'
7479
group: 'List'
75-
},
76-
{
77-
icon: 'check_box',
78-
label: 'Checkboxes',
79-
subPropOf: Constants.HasValue,
80-
objectType: Constants.ListValue,
81-
guiEle: Constants.SalsahGui + Constants.HashDelimiter + 'Checkbox',
82-
group: 'List'
83-
},
84-
{
85-
icon: 'radio_button_checked',
86-
label: 'Multiple choice',
87-
subPropOf: Constants.HasValue,
88-
objectType: Constants.ListValue,
89-
guiEle: Constants.SalsahGui + Constants.HashDelimiter + 'Radio',
90-
group: 'List'
9180
}
81+
// {
82+
// icon: 'check_box',
83+
// label: 'Checkboxes',
84+
// description: 'Select multiple values from predefined short list',
85+
// subPropOf: Constants.HasValue,
86+
// objectType: Constants.ListValue,
87+
// guiEle: Constants.SalsahGui + Constants.HashDelimiter + 'Checkbox',
88+
// group: 'List'
89+
// },
90+
// {
91+
// icon: 'radio_button_checked',
92+
// label: 'Multiple choice',
93+
// description: 'Select only one value from predefined short list',
94+
// subPropOf: Constants.HasValue,
95+
// objectType: Constants.ListValue,
96+
// guiEle: Constants.SalsahGui + Constants.HashDelimiter + 'Radio',
97+
// group: 'List'
98+
// }
9299
]
93100
},
94101
{
95-
group: 'Selection (boolean)',
102+
group: 'Boolean',
96103
elements: [
97104
{
98105
icon: 'toggle_off',
99106
label: 'Yes / No',
107+
description: 'Yes or no, 1 or 0, true or false',
100108
subPropOf: Constants.HasValue,
101109
objectType: Constants.BooleanValue,
102110
guiEle: Constants.SalsahGui + Constants.HashDelimiter + 'Checkbox', // should be 'Toggle' but it's not supported in DSP-Tangoh,
103-
group: 'Selection (boolean)'
111+
group: 'Boolean'
104112
}
105113
]
106114
},
@@ -110,6 +118,7 @@ export class DefaultProperties {
110118
{
111119
icon: 'calendar_today',
112120
label: 'Date',
121+
description: 'A date picker with day, month and year',
113122
subPropOf: Constants.HasValue,
114123
objectType: Constants.DateValue,
115124
guiEle: Constants.SalsahGui + Constants.HashDelimiter + 'Date',
@@ -118,6 +127,7 @@ export class DefaultProperties {
118127
{
119128
icon: 'date_range',
120129
label: 'Period',
130+
description: 'A period of time between two dates',
121131
subPropOf: Constants.HasValue,
122132
objectType: Constants.DateValue,
123133
guiEle: Constants.SalsahGui + Constants.HashDelimiter + 'Date',
@@ -126,14 +136,16 @@ export class DefaultProperties {
126136
{
127137
icon: 'access_time',
128138
label: 'Timestamp',
139+
description: 'A single timestamp on a timeline',
129140
subPropOf: Constants.HasValue,
130141
objectType: Constants.TimeValue,
131142
guiEle: Constants.SalsahGui + Constants.HashDelimiter + 'TimeStamp',
132143
group: 'Date / Time'
133144
},
134145
{
135146
icon: 'timelapse',
136-
label: 'Duration',
147+
label: 'Time sequence',
148+
description: 'A time sequence with start and end point on a timeline',
137149
subPropOf: Constants.HasValue,
138150
objectType: Constants.TimeValue,
139151
guiEle: Constants.SalsahGui + Constants.HashDelimiter + 'Interval',
@@ -147,6 +159,7 @@ export class DefaultProperties {
147159
{
148160
icon: 'money',
149161
label: 'Integer',
162+
description: 'Integer value',
150163
subPropOf: Constants.HasValue,
151164
objectType: Constants.IntValue,
152165
guiEle: Constants.SalsahGui + Constants.HashDelimiter + 'Spinbox', // 'Number',
@@ -155,6 +168,7 @@ export class DefaultProperties {
155168
{
156169
icon: 'functions',
157170
label: 'Decimal',
171+
description: 'Decimal value',
158172
subPropOf: Constants.HasValue,
159173
objectType: Constants.DecimalValue,
160174
guiEle: Constants.SalsahGui + Constants.HashDelimiter + 'Spinbox', // 'Number',
@@ -163,15 +177,16 @@ export class DefaultProperties {
163177
]
164178
},
165179
{
166-
group: 'Link',
180+
group: 'Link / Relation',
167181
elements: [
168182
{
169183
icon: 'link',
170184
label: 'Resource class',
185+
description: 'Refers to a resource class',
171186
subPropOf: Constants.HasLinkTo,
172187
objectType: Constants.LinkValue,
173188
guiEle: Constants.SalsahGui + Constants.HashDelimiter + 'Searchbox', // 'Autocomplete',
174-
group: 'Link'
189+
group: 'Link / Relation'
175190
},
176191
// {
177192
// icon: 'picture_in_picture',
@@ -192,6 +207,7 @@ export class DefaultProperties {
192207
{
193208
icon: 'language',
194209
label: 'External URL',
210+
description: 'Link to an external website',
195211
subPropOf: Constants.HasValue,
196212
objectType: Constants.UriValue,
197213
guiEle: Constants.SalsahGui + Constants.HashDelimiter + 'SimpleText',
@@ -205,6 +221,7 @@ export class DefaultProperties {
205221
{
206222
icon: 'place',
207223
label: 'Place',
224+
description: 'Geographical location',
208225
subPropOf: Constants.HasValue,
209226
objectType: Constants.GeonameValue,
210227
guiEle: Constants.SalsahGui + Constants.HashDelimiter + 'Geonames',
@@ -218,18 +235,11 @@ export class DefaultProperties {
218235
{
219236
icon: 'palette',
220237
label: 'Color',
238+
description: 'A simple color value',
221239
subPropOf: Constants.HasValue,
222240
objectType: Constants.ColorValue,
223241
guiEle: Constants.SalsahGui + Constants.HashDelimiter + 'Colorpicker',
224242
group: 'Shape'
225-
},
226-
{
227-
icon: 'format_shapes',
228-
label: 'Geometry',
229-
subPropOf: Constants.HasValue,
230-
objectType: Constants.GeomValue,
231-
guiEle: Constants.SalsahGui + Constants.HashDelimiter + 'Geometry',
232-
group: 'Shape'
233243
}
234244
]
235245
}

‎src/app/project/ontology/ontology.component.html‎

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -165,6 +165,7 @@ <h2 class="mat-title">
165165
<mat-menu #sub_menu="matMenu" class="switch-nested-sub-menu">
166166
<!-- <button *ngFor="let subItem of my_menu[mainItem]" mat-menu-item>{{ subItem }}</button> -->
167167
<button mat-menu-item *ngFor="let ele of type.elements" [value]="ele"
168+
[matTooltip]="ele.description" matTooltipPosition="before"
168169
(click)="openPropertyForm('createProperty', {propType: ele})">
169170
<mat-icon>{{ele.icon}}</mat-icon> {{ele.label}}
170171
</button>

0 commit comments

Comments
 (0)