Skip to content

BoltForm

Utility component to be used instead of a bunch of <c-bolt-input>.

Usage

<template>
<c-bolt-form record={record} mode="edit" >
</c-bolt-form>
</template>

Attributes

record : FormRecordRef

records : FormRecordRef[]

mode : 'edit' | 'insert'

Defaulted to edit

Public getters

validity : boolean

Returns true if all inputs of the form are valid, else report validity.

Slots

<default>

Accepts any other content

Styles

:host {
display: grid;
grid-template-columns: 1fr 1fr;
}

Examples

Single SObject
import { mix, useForm, useDML, BoltElement } from 'c/bolt';
import fields from './caseFields.js';
export default class myLwc extends mix(
[useForm, fields],
[useDML],
BoltElement
) {
async handleSave() {
if(this.refs.form.validity)
await this.saveRecord(this.Case);
}
}
<template>
<c-bolt-form record={$Case} lwc:ref="form" >
</c-bolt-form>
<lightning-button label="Save the record" onclick={handleSave}>
</lightning-button>
</template>
Multiple SObjects
import { mix, useForm, useDML, BoltElement } from 'c/bolt';
import caseFields from './caseFields.js';
import quoteFields from './quoteFields.js';
export default class myLwc extends mix(
[useForm, [caseFields, quoteFields]],
[useDML],
BoltElement
) {
async handleSave() {
if(this.refs.form.validity)
await this.saveRecords([this.Case, this.Quote]);
}
get records() {
return [this.$Case, this.$Quote];
}
}
<template>
<c-bolt-form records={records} lwc:ref="form" >
</c-bolt-form>
<lightning-button label="Save the record" onclick={handleSave}>
</lightning-button>
</template>
Insert Mode
import { mix, useForm, BoltElement } from 'c/bolt';
import fields from './caseFields.js';
export default class myLwc extends mix(
[useForm, fields],
[useDML],
BoltElement
) {
async handleSave() {
if(this.refs.form.validity)
await this.saveRecord(this.Case, 'Case');
}
}
<template>
<c-bolt-form record={$Case} mode="insert" lwc:ref="form" >
</c-bolt-form>
<lightning-button label="Save the record" onclick={handleSave}>
</lightning-button>
</template>