diff --git a/handlers/dev/md.nonlabtemplate.handlers.go b/handlers/dev/md.nonlabtemplate.handlers.go index 386cfd8..4fdee8c 100644 --- a/handlers/dev/md.nonlabtemplate.handlers.go +++ b/handlers/dev/md.nonlabtemplate.handlers.go @@ -124,29 +124,69 @@ func (nlt *MDNonlabTemplateHandler) HandleShowNonlabTemplateScreen(c echo.Contex dev_mdnonlabtemplateview.AfterRequestContent(), ) - // dialog delete - dialogDeleteCmp := dev_mdnonlabtemplateview.BodyFormMDNonlabTemplate( - dialogDeleteBodyID, + // dialog add + dialogAddBody := dev_mdnonlabtemplateview.BodyFormMDNonlabTemplate( + dialogAddBodyID, models.CustomTextFieldv2Prm{ - Label: "ID Nonlab Template", - Name: "nonlabtemplateid", - Placeholder: "ID Nonlab Template", - Type: "hidden", - ID: "nonlabtemplateinputid", + Name: "nonlabtemplateid", + ID: "nonlabtemplateinputid", + Type: "hidden", + Value: dialogAddBodyID, }, models.CustomTextFieldv2Prm{ - Label: "Name Nonlab Template", - Name: "nonlabtemplatename", - Placeholder: "Nama Nonlab Template", - Type: "text", - ID: "nonlabtemplateinputname", + Label: "Nama Template", + Name: "nonlabtemplatename", + ID: "nonlabtemplateinputname", + Type: "text", }, models.CustomCheckboxv1Prm{ - Name: "nonlabtemplateflag", - ID: "nonlabtemplateinputname", Text: "Template Fisik", + Name: "nonlabtemplatefisik", + ID: "nonlabtemplateinputname", Value: "N", }, + dev_mdnonlabtemplateview.BtnSimpanNama( + "/dev/md/nonlabtemplate/simpanama", + "#"+dialogAddBodyID, + "outerHTML", + "#"+dialogAddID, + "#tableID, #paginationID, #searchID, #dialogDeleteBodyID, #dialogDeleteID, #dialogEditBodyID, #"+searchID+", #currpage"+paginationID, + ), + dev_mdnonlabtemplateview.JSShowModal(""), + ) + dialogAddBtn := dev_mdnonlabtemplateview.ActionFormMDNonlabTmplt( + "/dev/md/nonlabtemplate/closeaddform", + "#"+dialogAddBodyID, + "outerHTML", + "#"+dialogAddID, + ) + dialogAddCls := dev_mdnonlabtemplateview.BtnCloseFormMDNonlabTmplt( + "/dev/md/nonlabtemplate/closeaddform", + "#"+dialogAddBodyID, + "innerHTML", + "#"+dialogAddID, + ) + + modalAddFormComponent := dev_mdnonlabtemplateview.MDNonlabTmpltForm(models.MDNonlabTemplateForm{ + IDComponent: "test1", + Link: "/dev/md/nonlabtemplate/add", + HxTarget: "#" + dialogAddBodyID, + HxSwap: "outerHTML", + HxInclude: "#tableID, #paginationID, #searchID, #dialogDeleteBodyID, #dialogDeleteID, #dialogEditBodyID, #" + searchID + ", #currpage" + paginationID, + ModalID: dialogAddID, + ModalTitle: "New - Nonlab Template", + DialogBody: dialogAddBody, + DialogAction: dialogAddBtn, + ButtonClose: dialogAddCls, + }) + + // dialog delete + dialogDeleteCmp := dev_mdnonlabtemplateview.DeleteKonfirmasiBody( + models.CustomTextFieldv2Prm{Name: "nonlabtemplateid", Type: "hidden", Value: "0"}, + dialogDeleteBodyID, + "Apakah anda yakin menghapus non lab template berikut ?", + []string{"NAME"}, + []string{""}, dev_mdnonlabtemplateview.JSHideModal(""), ) @@ -172,7 +212,7 @@ func (nlt *MDNonlabTemplateHandler) HandleShowNonlabTemplateScreen(c echo.Contex HxSwap: "outerHTML", HxInclude: "#tableID, #paginationID, #searchID, #dialogDeleteBodyID, #dialogDeleteID, #dialogEditBodyID, #" + searchID + ", #currpage" + paginationID, ModalID: dialogDeleteID, - ModalTitle: "Delete - Non Lab Template", + ModalTitle: "Delete - Nonlab Template", DialogBody: dialogDeleteCmp, DialogAction: modalActionDeleteComp, ButtonClose: btnCloseModalDelete, @@ -193,6 +233,7 @@ func (nlt *MDNonlabTemplateHandler) HandleShowNonlabTemplateScreen(c echo.Contex tableFilter, tableComp, tablePagination, + modalAddFormComponent, modalDeleteFormComponent, ) @@ -438,3 +479,88 @@ func (nlt *MDNonlabTemplateHandler) HandleDelete(c echo.Context) error { return utils.ViewMulti(c, retVal) } + +func (nlt *MDNonlabTemplateHandler) HandleCloseFormAdd(c echo.Context) error { + logger, _ := zap.NewProduction() + defer logger.Sync() + + dialogAddBodyID := c.FormValue("dialogAddBodyID") + dialogAddID := c.FormValue("dialogAddID") + searchID := c.FormValue("searchID") + paginationID := c.FormValue("paginationID") + + dialogAddBody := dev_mdnonlabtemplateview.BodyFormMDNonlabTemplate( + dialogAddBodyID, + models.CustomTextFieldv2Prm{ + Name: "nonlabtemplateid", + ID: "nonlabtemplateinputid", + Type: "hidden", + }, + models.CustomTextFieldv2Prm{ + Label: "Nama Template", + Name: "nonlabtemplatename", + ID: "nonlabtemplateinputname", + Type: "text", + }, + models.CustomCheckboxv1Prm{ + Text: "Template Fisik", + Name: "nonlabtemplatefisik", + ID: "nonlabtemplateinputname", + Value: "N", + }, + dev_mdnonlabtemplateview.BtnSimpanNama( + "/dev/md/nonlabtemplate/simpanama", + "#"+dialogAddBodyID, + "outerHTML", + "#"+dialogAddID, + "#tableID, #paginationID, #searchID, #dialogDeleteBodyID, #dialogDeleteID, #dialogEditBodyID, #"+searchID+", #currpage"+paginationID, + ), + dev_mdnonlabtemplateview.JSHideModal("#"+dialogAddID), + ) + return utils.View(c, dialogAddBody) +} + +func (nlt *MDNonlabTemplateHandler) HandleSimpanNama(c echo.Context) error { + logger, _ := zap.NewProduction() + dialogAddBodyID := c.FormValue("dialogAddBodyID") + dialogAddID := c.FormValue("dialogAddID") + searchID := c.FormValue("searchID") + paginationID := c.FormValue("paginationID") + logger.Info("Test Button") + + fisik := c.FormValue("nonlabtemplatefisik") + name := c.FormValue("nonlabtemplatename") + id := c.FormValue("nonlabtemplateid") + logger.Info("Component ID", zap.Any("ID", id)) + + dialogAddBody := dev_mdnonlabtemplateview.BodyFormMDNonlabTemplate( + dialogAddBodyID, + models.CustomTextFieldv2Prm{ + Name: "nonlabtemplateid", + ID: "nonlabtemplateinputid", + Type: "hidden", + }, + models.CustomTextFieldv2Prm{ + Label: "Nama Template", + Name: "nonlabtemplatename", + ID: "nonlabtemplateinputname", + Type: "text", + Value: name, + }, + models.CustomCheckboxv1Prm{ + Text: "Template Fisik", + Name: "nonlabtemplatefisik", + ID: "nonlabtemplateinputname", + Value: fisik, + }, + dev_mdnonlabtemplateview.BtnSimpanNama( + "/dev/md/nonlabtemplate/simpanama", + "#"+dialogAddBodyID, + "outerHTML", + "#"+dialogAddID, + "#tableID, #paginationID, #searchID, #dialogDeleteBodyID, #dialogDeleteID, #dialogEditBodyID, #"+searchID+", #currpage"+paginationID, + ), + dev_mdnonlabtemplateview.JSShowModal(""), + ) + return utils.View(c, dialogAddBody) +} diff --git a/handlers/routes.go b/handlers/routes.go index 07f1c02..8620177 100644 --- a/handlers/routes.go +++ b/handlers/routes.go @@ -287,6 +287,8 @@ func SetupRoutesDev(app *echo.Echo, appStore db.AppStore) { dev.GET("/md/nonlabtemplate/opendelete", devMDNonlabTemplateHandlers.HandleOpenFormDelete) dev.POST("/md/nonlabtemplate/closedeleteform", devMDNonlabTemplateHandlers.HandleCloseFormDelete) dev.POST("/md/nonlabtemplate/delete", devMDNonlabTemplateHandlers.HandleDelete) + dev.POST("/md/nonlabtemplate/simpanama", devMDNonlabTemplateHandlers.HandleSimpanNama) + dev.POST("/md/nonlabtemplate/closeaddform", devMDNonlabTemplateHandlers.HandleCloseFormAdd) // masterdata nat unit devMdNatUnitServices := dev_services.NewMdNatUnitServices(appStore) diff --git a/views/dev/mdnonlabtemplate/mdnonlabtemplate.templ b/views/dev/mdnonlabtemplate/mdnonlabtemplate.templ index b4d8453..f4f6ebb 100644 --- a/views/dev/mdnonlabtemplate/mdnonlabtemplate.templ +++ b/views/dev/mdnonlabtemplate/mdnonlabtemplate.templ @@ -18,7 +18,7 @@ templ MdNonlabTemplateScreen( filtercomponent templ.Component, tablecontent templ.Component, paginationtable templ.Component, - // modalAddForm templ.Component, + modalAddForm templ.Component, // modalEditForm templ.Component, modalDeleteForm templ.Component, ) { @@ -97,7 +97,7 @@ templ MdNonlabTemplateScreen(
- // @modalAddForm + @modalAddForm // @modalEditForm @modalDeleteForm diff --git a/views/dev/mdnonlabtemplate/mdnonlabtemplate_templ.go b/views/dev/mdnonlabtemplate/mdnonlabtemplate_templ.go index cb49a66..23ed9a0 100644 --- a/views/dev/mdnonlabtemplate/mdnonlabtemplate_templ.go +++ b/views/dev/mdnonlabtemplate/mdnonlabtemplate_templ.go @@ -28,7 +28,7 @@ func MdNonlabTemplateScreen( filtercomponent templ.Component, tablecontent templ.Component, paginationtable templ.Component, - // modalAddForm templ.Component, + modalAddForm templ.Component, // modalEditForm templ.Component, modalDeleteForm templ.Component, ) templ.Component { @@ -165,6 +165,10 @@ func MdNonlabTemplateScreen( if templ_7745c5c3_Err != nil { return templ_7745c5c3_Err } + templ_7745c5c3_Err = modalAddForm.Render(ctx, templ_7745c5c3_Buffer) + if templ_7745c5c3_Err != nil { + return templ_7745c5c3_Err + } templ_7745c5c3_Err = modalDeleteForm.Render(ctx, templ_7745c5c3_Buffer) if templ_7745c5c3_Err != nil { return templ_7745c5c3_Err diff --git a/views/dev/mdnonlabtemplate/mdnonlabtmptmodal.templ b/views/dev/mdnonlabtemplate/mdnonlabtmptmodal.templ index 5681aeb..f72f252 100644 --- a/views/dev/mdnonlabtemplate/mdnonlabtmptmodal.templ +++ b/views/dev/mdnonlabtemplate/mdnonlabtmptmodal.templ @@ -18,7 +18,7 @@ templ MDNonlabTmpltForm(data models.MDNonlabTemplateForm) { hx-on::before-request={ HandleFormBeforeRequest() } hx-on::after-request={ HandleFormAfterRequest() } > - @modalcomponent.Modal(data.ModalID, + @modalcomponent.ModalXL(data.ModalID, data.ModalTitle, data.DialogBody, data.DialogAction, @@ -57,17 +57,25 @@ templ BodyFormMDNonlabTemplate( inputID models.CustomTextFieldv2Prm, inputName models.CustomTextFieldv2Prm, inputFlag models.CustomCheckboxv1Prm, + btnSimpan templ.Component, hxOnLoad templ.ComponentScript, ) {