|
|
module.exports = class { onCreate() { this.state = { filters: [], filtered: false, } }
onInput(input) { if (!input.filter) { this.state.filters = [] this.state.filtered = false return }
const filters = [] const {characters, channels, events, search} = input.filter
if (search != null) { filters.push({ type: "search", key: "search", icon: "T", color: "color-text", text: search, }) }
for (const character of (characters || [])) { filters.push({ type: "characters", key: character, icon: "C", color: "color-tag-character", id: character, text: (input.characters.find(c => c.id === character) || {name: "Unknown ("+character+")"}).name, }) }
for (const channel of (channels || [])) { filters.push({ type: "channels", key: channel.replace(/'/g, "__"), icon: "#", color: "color-tag-location", id: channel, text: channel, }) }
for (const event of (events || [])) { filters.push({ type: "events", key: event.replace(/['\s\.]/g, "__"), icon: "E", color: "color-tag-event", id: event, text: event, }) }
this.state.filters = filters this.state.filtered = (filters.length > 0) }
select(value) { this.emit("select", value) } }
|