Remove priority

This commit is contained in:
Pieter Vander Vennet 2020-10-25 20:50:29 +01:00
parent 72416deff4
commit 0ceeaf82b2
2 changed files with 29 additions and 8 deletions

View file

@ -23,7 +23,7 @@ export class TagRendering extends UIElement implements TagDependantUIElement {
private readonly _question: string | Translation; private readonly _question: string | Translation;
private readonly _mapping: { k: TagsFilter, txt: string | Translation, priority?: number }[]; private readonly _mapping: { k: TagsFilter, txt: string | Translation }[];
private readonly currentTags: UIEventSource<any>; private readonly currentTags: UIEventSource<any>;
@ -68,12 +68,17 @@ export class TagRendering extends UIElement implements TagDependantUIElement {
}, },
tagsPreprocessor?: ((tags: any) => any), tagsPreprocessor?: ((tags: any) => any),
multiAnswer?: boolean, multiAnswer?: boolean,
mappings?: { k: TagsFilter, txt: string | Translation, priority?: number, substitute?: boolean, hideInAnswer?: boolean }[] mappings?: { k: TagsFilter, txt: string | Translation, substitute?: boolean, hideInAnswer?: boolean }[]
}) { }) {
super(tags); super(tags);
if (tags === undefined) { if (tags === undefined) {
throw "No tags given for a tagrendering..." throw "No tags given for a tagrendering..."
} }
if (options.question !== undefined) {
if ((options.mappings?.length ?? 0) === 0 && options.freeform.key === undefined) {
throw "Error: question without mappings or key"
}
}
this.ListenTo(Locale.language); this.ListenTo(Locale.language);
this.ListenTo(this._editMode); this.ListenTo(this._editMode);
this.ListenTo(this._questionSkipped); this.ListenTo(this._questionSkipped);
@ -83,7 +88,7 @@ export class TagRendering extends UIElement implements TagDependantUIElement {
this.currentTags = tags.map(tags => { this.currentTags = tags.map(tags => {
if (options.tagsPreprocessor === undefined) { if (options.tagsPreprocessor === undefined) {
return tags; return tags;
} }
// we clone the tags... // we clone the tags...
@ -111,7 +116,6 @@ export class TagRendering extends UIElement implements TagDependantUIElement {
let choiceSubbed = { let choiceSubbed = {
k: choice.k?.substituteValues(this.currentTags.data), k: choice.k?.substituteValues(this.currentTags.data),
txt: choice.txt, txt: choice.txt,
priority: choice.priority
} }
@ -202,7 +206,7 @@ export class TagRendering extends UIElement implements TagDependantUIElement {
extraTags?: TagsFilter, extraTags?: TagsFilter,
}, },
multiAnswer?: boolean, multiAnswer?: boolean,
mappings?: { k: TagsFilter, txt: string | Translation, priority?: number, substitute?: boolean, hideInAnswer?: boolean }[] mappings?: { k: TagsFilter, txt: string | Translation, substitute?: boolean, hideInAnswer?: boolean }[]
}): }):
InputElement<TagsFilter> { InputElement<TagsFilter> {

23
test.ts
View file

@ -1,15 +1,32 @@
//* //*
import OpeningHoursPickerTable from "./UI/Input/OpeningHours/OpeningHoursPickerTable"; import OpeningHoursPickerTable from "./UI/Input/OpeningHours/OpeningHoursPickerTable";
import {UIElement} from "./UI/UIElement"; import {UIElement} from "./UI/UIElement";
import {UIEventSource} from "./Logic/UIEventSource"; import {UIEventSource} from "./Logic/UIEventSource";
import {OpeningHour} from "./Logic/OpeningHours"; import {OpeningHour} from "./Logic/OpeningHours";
import {TagRendering} from "./UI/Popup/TagRendering";
import {Tag} from "./Logic/Tags";
new OpeningHoursPickerTable(new UIEventSource<UIElement[]>([]), new UIEventSource<OpeningHour[]>([]))
.AttachTo("maindiv")
const tr = new TagRendering(
new UIEventSource<any>({
id: "node/-1",
amenity: "bench"
}),
{
question: "Does this bench have a backrest?",
mappings: [{
k: new Tag("backrest", "yes"),
txt: "Has backrest"
},
{
k: new Tag("backrest", "no"),
txt: "Has no backrest"
}]
}
)
tr.AttachTo("maindiv")
/*/ /*/