import {et2_INextmatchHeader} from "../../et2_extension_nextmatch"; import {FilterMixin} from "./FilterMixin"; import {Et2LinkEntry} from "../../Et2Link/Et2LinkEntry"; /** * Filter using a selected entry */ export class Et2EntryFilterHeader extends FilterMixin(Et2LinkEntry) implements et2_INextmatchHeader { /** * Override to always return a string appname:id (or just id) for simple (one real selection) * cases, parent returns an object. If multiple are selected, or anything other than app and * id, the original parent value is returned. */ get value() { let value = super.value; if(typeof value == "object" && value != null) { if(!value.app || !value.id) { return null; } // If simple value, format it legacy string style, otherwise // we return full value if(typeof value.id == 'string') { value = value.app + ":" + value.id; } } return value; } set value(new_value) { super.value = new_value; } } customElements.define("et2-nextmatch-header-entry", Et2EntryFilterHeader);