diff --git a/src/webcomponents/commons/forms/data-form.js b/src/webcomponents/commons/forms/data-form.js index 7177f8905..0af472e5b 100644 --- a/src/webcomponents/commons/forms/data-form.js +++ b/src/webcomponents/commons/forms/data-form.js @@ -807,7 +807,7 @@ export default class DataForm extends LitElement { } return html` -
+
${contentHtml}
@@ -815,7 +815,7 @@ export default class DataForm extends LitElement {
${helpMessage}
` : nothing} ${hasErrorMessages ? html` -
+
diff --git a/src/webcomponents/commons/forms/select-field-filter.js b/src/webcomponents/commons/forms/select-field-filter.js index 1b67ae6ed..bdc57aed7 100644 --- a/src/webcomponents/commons/forms/select-field-filter.js +++ b/src/webcomponents/commons/forms/select-field-filter.js @@ -357,7 +357,6 @@ export default class SelectFieldFilter extends LitElement { .select-field-filter .select2-results__options { max-height: 600px !important; } - .select-field-filter .select2-results__option--selected { background-color: #fff !important; color: #000 !important; @@ -379,7 +378,7 @@ export default class SelectFieldFilter extends LitElement { render() { return html` ${this.renderStyle()} -
+
-
- `} -
`; +
+ + ${variable.variableSet.map(v => this.renderVariable(v, variableSet))} +
+ ` : html` +
+ + +
+ `} +
+ `; break; case "MAP_STRING": - // copy of MAP_INTEGER without operator select + // TODO Vero 20241017: Find an example and test content = html` - ${variable?.allowedKeys?.length ? html`
+ .config="${{multiple: true, liveSearch: false}}" + @filterChange="${e => this.changeMap(e, variableSet.id, variable.id, e.detail.value)}">
- ${this.variableMap?.[variableSet.id]?.[variable.id]?.map(key => { - return html` -
- - -
- `; - }) - } + ${this.variableMap?.[variableSet.id]?.[variable.id]?.map(key => html` +
+ + +
+ `)}
` : html`
- -
`} - `; + aria-describedby="basic-addon1" + .value="${this.selectedVariables?.[variableSet.id]?.[variable.id]?.value || ""}" + @input="${this.addInputFilter}"/> +
+ `} + `; break; case "MAP_DOUBLE": case "MAP_INTEGER": content = html` - ${variable?.allowedKeys?.length ? html`
+ .config="${{multiple: true, liveSearch: false}}" + @filterChange="${e => this.changeMap(e, variableSet.id, variable.id, e.detail.value)}">
- ${this.variableMap?.[variableSet.id]?.[variable.id]?.map(key => { - return html` -
- -
-
- -
-
- + ${ + this.variableMap?.[variableSet.id]?.[variable.id]?.map(key => { + const operator = this.selectedVariables?.[variableSet.id]?.[variable.id + "." + key]?.operator || ">"; + const value = this.selectedVariables?.[variableSet.id]?.[variable.id + "." + key]?.value || ""; + return html` +
+ +
+
+ +
+
+ +
-
`; }) } @@ -360,17 +390,23 @@ export default class OpencgaAnnotationFilterModal extends LitElement {
- -
`} - + - `; +
+ `} + `; break; case "TEXT": case "STRING": @@ -378,14 +414,22 @@ export default class OpencgaAnnotationFilterModal extends LitElement {
- -
`; + +
+ `; break; case "NUMERIC": case "INTEGER": @@ -394,32 +438,56 @@ export default class OpencgaAnnotationFilterModal extends LitElement {
- + + + + +
- +
-
`; +
+ `; break; case "CATEGORICAL": content = html` - `; +
+ + + +
+ `; break; case "BOOLEAN": content = html` @@ -427,20 +495,35 @@ export default class OpencgaAnnotationFilterModal extends LitElement {
- + True - + False
-
`; +
+ `; break; default: throw new Error("Type not recognized " + variable.type + "(" + variable.id + ")"); @@ -448,68 +531,63 @@ export default class OpencgaAnnotationFilterModal extends LitElement { return html`${content}`; } - filterChange() { - - } - showModal() { - const annotationModal = new bootstrap.Modal(`#${this._prefix}annotation-modal`); + const annotationModal = new bootstrap.Modal(`#${this._prefix}AnnotationFilterModal`); annotationModal.show(); UtilsNew.initTooltip(this); } - getDefaultConfig() { - return { - - }; - } - - render() { + renderBody() { return html` - ${this.variableSets?.length ? html` - - -