mirror of
https://github.com/zadam/trilium.git
synced 2025-03-01 14:22:32 +01:00
Merge pull request #4280 from rauenzi/promoted-alias
Add option for promoted aliases
This commit is contained in:
commit
4ac609ff57
@ -17,6 +17,11 @@ function parse(value) {
|
||||
|
||||
defObj.numberPrecision = parseInt(chunks[1]);
|
||||
}
|
||||
else if (token.startsWith('alias')) {
|
||||
const chunks = token.split('=');
|
||||
|
||||
defObj.promotedAlias = chunks[1];
|
||||
}
|
||||
else if (token.startsWith('inverse')) {
|
||||
const chunks = token.split('=');
|
||||
|
||||
|
@ -98,6 +98,14 @@ const TPL = `
|
||||
<th>Promoted:</th>
|
||||
<td><input type="checkbox" class="attr-input-promoted form-control form-control-sm" /></td>
|
||||
</tr>
|
||||
<tr class="attr-row-promoted-alias">
|
||||
<th title="The name to be displayed in the promoted attributes UI.">Alias:</th>
|
||||
<td>
|
||||
<div class="input-group">
|
||||
<input type="text" class="attr-input-promoted-alias form-control" />
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr class="attr-row-multiplicity">
|
||||
<th title="Multiplicity defines how many attributes of the same name can be created - at max 1 or more than 1.">Multiplicity:</th>
|
||||
<td>
|
||||
@ -323,6 +331,10 @@ export default class AttributeDetailWidget extends NoteContextAwareWidget {
|
||||
this.$inputPromoted = this.$widget.find('.attr-input-promoted');
|
||||
this.$inputPromoted.on('change', () => this.userEditedAttribute());
|
||||
|
||||
this.$rowPromotedAlias = this.$widget.find('.attr-row-promoted-alias');
|
||||
this.$inputPromotedAlias = this.$widget.find('.attr-input-promoted-alias');
|
||||
this.$inputPromotedAlias.on('change', () => this.userEditedAttribute());
|
||||
|
||||
this.$rowMultiplicity = this.$widget.find('.attr-row-multiplicity');
|
||||
this.$inputMultiplicity = this.$widget.find('.attr-input-multiplicity');
|
||||
this.$inputMultiplicity.on('change', () => this.userEditedAttribute());
|
||||
@ -453,6 +465,11 @@ export default class AttributeDetailWidget extends NoteContextAwareWidget {
|
||||
.prop("checked", !!definition.isPromoted)
|
||||
.attr('disabled', () => !isOwned);
|
||||
|
||||
this.$rowPromotedAlias.toggle(!!definition.isPromoted);
|
||||
this.$inputPromotedAlias
|
||||
.val(definition.promotedAlias)
|
||||
.attr('disabled', () => !isOwned);
|
||||
|
||||
this.$rowMultiplicity.toggle(['label-definition', 'relation-definition'].includes(this.attrType));
|
||||
this.$inputMultiplicity
|
||||
.val(definition.multiplicity)
|
||||
@ -673,6 +690,10 @@ export default class AttributeDetailWidget extends NoteContextAwareWidget {
|
||||
|
||||
if (this.$inputPromoted.is(":checked")) {
|
||||
props.push("promoted");
|
||||
|
||||
if (this.$inputPromotedAlias.val() !== '') {
|
||||
props.push(`alias=${this.$inputPromotedAlias.val()}`);
|
||||
}
|
||||
}
|
||||
|
||||
props.push(this.$inputMultiplicity.val());
|
||||
@ -693,6 +714,8 @@ export default class AttributeDetailWidget extends NoteContextAwareWidget {
|
||||
this.attrType === 'label-definition'
|
||||
&& this.$inputLabelType.val() === 'number');
|
||||
|
||||
this.$rowPromotedAlias.toggle(this.$inputPromoted.is(":checked"));
|
||||
|
||||
return props.join(",");
|
||||
}
|
||||
|
||||
|
@ -32,6 +32,7 @@ const TPL = `
|
||||
}
|
||||
.promoted-attribute-cell strong {
|
||||
word-break:keep-all;
|
||||
white-space: nowrap;
|
||||
}
|
||||
</style>
|
||||
|
||||
@ -137,7 +138,7 @@ export default class PromotedAttributesWidget extends NoteContextAwareWidget {
|
||||
.attr("nowrap", true);
|
||||
|
||||
const $wrapper = $('<div class="promoted-attribute-cell">')
|
||||
.append($("<strong>").text(valueName))
|
||||
.append($("<strong>").text(definition.promotedAlias ?? valueName))
|
||||
.append($("<div>").addClass("input-group").append($input))
|
||||
.append($actionCell)
|
||||
.append($multiplicityCell);
|
||||
|
@ -17,6 +17,11 @@ function parse(value) {
|
||||
|
||||
defObj.numberPrecision = parseInt(chunks[1]);
|
||||
}
|
||||
else if (token.startsWith('alias')) {
|
||||
const chunks = token.split('=');
|
||||
|
||||
defObj.promotedAlias = chunks[1];
|
||||
}
|
||||
else if (token.startsWith('inverse')) {
|
||||
const chunks = token.split('=');
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user