You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
26 lines
679 B
26 lines
679 B
import * as style from './styles';
|
|
import {BoxModel, RenderContext} from 'app/client/components/Forms/Model';
|
|
import {dom} from 'grainjs';
|
|
|
|
/**
|
|
* Component that renders a section of the form.
|
|
*/
|
|
export class SectionModel extends BoxModel {
|
|
public render(context: RenderContext) {
|
|
const children = this.children;
|
|
context.overlay.set(false);
|
|
const view = this.view;
|
|
const box = this;
|
|
|
|
const element = style.cssSection(
|
|
style.cssDrag(),
|
|
dom.forEach(children, (child) =>
|
|
child ? view.renderBox(children, child) : dom('div', 'Empty')
|
|
),
|
|
view.buildDropzone(children, box.placeAfterListChild()),
|
|
);
|
|
|
|
return element;
|
|
}
|
|
}
|