@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
JavaScript
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;
;