UNPKG

@paraboly/pwc-multi-filter

Version:

A wrapper over pwc-tabview and pwc-filter. Provides means of dynamically managing multiple filters via a single component.

63 lines (58 loc) 1.96 kB
'use strict'; Object.defineProperty(exports, '__esModule', { value: true }); const core = require('./core-d69cee64.js'); const PwcDynamicForm = class { constructor(hostRef) { core.registerInstance(this, hostRef); this.formChanged = core.createEvent(this, "formChanged", 7); } handleFieldChanged(fieldChangedEventPayload) { const rootElement = this.rootElement; this.getFieldValues().then(v => { const formChangedEventPayload = { type: "change", fieldChangedEventPayload, formResetEvent: null, formValues: v, formElement: rootElement }; this.formChanged.emit(formChangedEventPayload); }); } handleFormReset(formResetEvent) { const rootElement = this.rootElement; this.getFieldValues().then(v => { const formChangedEventPayload = { type: "reset", fieldChangedEventPayload: null, formResetEvent, formValues: v, formElement: rootElement }; this.formChanged.emit(formChangedEventPayload); }); } async getFieldValues() { if (!this.contentRef) { return {}; } else { const fieldRefs = await this.contentRef.getFieldRefs(); const vals = {}; for (const field of fieldRefs) { const val = await field.getValue(); vals[field.config.name] = val; } return vals; } } componentDidRender() { this.contentRef = this.rootElement.querySelector("pwc-dynamic-form-content"); } render() { return (core.h("form", null, core.h("slot", null))); } get rootElement() { return core.getElement(this); } static get style() { return ""; } }; exports.pwc_dynamic_form = PwcDynamicForm;