UNPKG

@reginaldo-marinho/rucula-js

Version:

Crie telas em Minutos! 🚀

61 lines (47 loc) • 2.19 kB
import { Button } from "../../buttons/Button"; import { frame } from "../../entities/form/frame"; import { ManagmentObject } from "../../object/ObjectManagment"; import { Field } from "../form/Field"; import { FieldMenuContext } from "../form/Field/fieldMenuContext"; import { FrameElement } from "./FrameElement"; import { FrameEvent } from "./FrameEvent"; export class FrameElementBlock extends FrameElement{ constructor(managmentObject:ManagmentObject,field:Field, frameEvent:FrameEvent, button:Button, fieldMenuContext:FieldMenuContext) { super(managmentObject,field,frameEvent,button, fieldMenuContext); } create(frame:frame){ const frameElement = this.createbase(frame) const div = document.createElement("div"); div.classList.add("r-q-i") if(frame.vertical){ div.style.flexDirection = "column" } frame.fields?.forEach(field => { if(field?.button){ let buttonElement = this.button.createButtonOrLink(field.button) let groupElement = this.field.createGroupOfButton(buttonElement as HTMLButtonElement|HTMLAnchorElement) as HTMLDivElement div.appendChild(groupElement) return } let fieldElement = this.field.create(field) let groupElement = this.field.createGroupOfInput(field, fieldElement) as HTMLDivElement div.appendChild(groupElement) this.fieldMenuContext.infoSet({ identity: field.identity, field: field }) this.inputValueSnapshot.push({ element: fieldElement, value:fieldElement.value }) }) this.setValuesDefined(frame, div); frameElement.appendChild(div) if(frame.requerid == false){ this.managmentObject.tableDependency.moveNotResolvedToImbernate(frame.alias) this.frameEvent.managedFrame(div) this.frameEvent.cleanRequeridDependency(div) } return frameElement } }