diff --git a/handlers/dev/md.nonlabtemplate.handlers.go b/handlers/dev/md.nonlabtemplate.handlers.go index 1b88a8d..2ee0a8b 100644 --- a/handlers/dev/md.nonlabtemplate.handlers.go +++ b/handlers/dev/md.nonlabtemplate.handlers.go @@ -6,6 +6,7 @@ import ( navbarmenu "cpone/component/navbar" "cpone/component/pagination" sidebaruserprofile "cpone/component/sidebar_user_profile" + customtoastv2 "cpone/component/toastbootstrap" "cpone/models" "cpone/services" "cpone/utils" @@ -21,6 +22,8 @@ import ( type MDNonLabTemplateServices interface { GetMDNonLabTemplateBreadcrumb() (models.BreadCrumbV1, error) GetMDNonLabTemplateData(search string, currentPage int, rowPerPage int) ([]models.MDNonLabTemplate, int, error) + DeleteDataMDNLT(id string) (models.MDNonLabTemplate, error) + GetMDNonLabTemplateByID(id string) (models.MDNonLabTemplate, error) } type MDNonLabTemplateHandler struct { @@ -120,6 +123,61 @@ func (mdnlt *MDNonLabTemplateHandler) HandleShowMDNonLabTemplateScreen(c echo.Co dev_mdnonlabtemplateview.AfterRequestContent(), ) + // modal delete form + dialogDeleteComp := dev_mdnonlabtemplateview.BodyFormMDNonlabTemplate( + dialogDeleteBodyID, + models.CustomTextFieldv2Prm{ + Label: "Non Lab Template Name", + Name: "nonlabtemplateid", + Placeholder: "Non Lab Template Name", + Type: "hidden", + ID: "nonlabtemplateid", + }, + models.CustomTextFieldv2Prm{ + Label: "Non Lab Template Name", + Name: "nonlabtemplatename", + Placeholder: "Non Lab Template Name", + Type: "text", + ID: "nonlabtemplatename", + }, + models.CustomCheckboxv1Prm{ + Label: "Non Lab Template Flag Fisik", + Name: "nonlabtemplateflag", + ID: "nonlabtemplateflag", + Value: "N", + }, + dev_mdnonlabtemplateview.JSHideModal(""), + ) + + modalActionDeleteComp := dev_mdnonlabtemplateview.ActionFormMDNLTDelete( + "/dev/md/nonlabtemplate/closedeleteform", + "#"+dialogDeleteBodyID, + "outerHTML", + "#"+dialogDeleteID, + ) + + btnCloseModalDelete := dev_mdnonlabtemplateview.BtnCloseFormMDNLT( + "/dev/md/nonlabtemplate/closedeleteform", + "#"+dialogDeleteBodyID, + "outerHTML", + "#"+dialogDeleteID, + ) + + modalDeleteFormComponent := dev_mdnonlabtemplateview.NonLabTemplateModalForm( + models.MDNonLabTemplateForm{ + IDComponent: "formnonlabtemplate", + Link: "/dev/md/nonlabtemplate/delete", + HxTarget: "#" + dialogDeleteBodyID, + HxSwap: "outerHTML", + HxInclude: "#tableID, #paginationID, #searchID, #dialogDeleteBodyID, #dialogDeleteID, #dialogEditBodyID, #" + searchID + ", #currpage" + paginationID, + ModalID: dialogDeleteID, + ModalTitle: "Delete - Non Lab Template", + DialogBody: dialogDeleteComp, + DialogAction: modalActionDeleteComp, + ButtonCLose: btnCloseModalDelete, + }, + ) + content := dev_mdnonlabtemplateview.MDNonLabTemplateScreen( tableID, paginationID, @@ -134,6 +192,7 @@ func (mdnlt *MDNonLabTemplateHandler) HandleShowMDNonLabTemplateScreen(c echo.Co tableFilter, tableComp, tablePagination, + modalDeleteFormComponent, ) css := dev_mdnonlabtemplateview.CSSMDNonLabTemplate() js := dev_mdnonlabtemplateview.JSSMDNonLabTemplate() @@ -250,3 +309,132 @@ func (mdnlt *MDNonLabTemplateHandler) HandleChangePageMDNonLabTemplate(c echo.Co retval = append(retval, tablePagination) return utils.ViewMulti(c, retval) } + +// handle delete +func (mdnlt *MDNonLabTemplateHandler) HandleOpenFormDelete(c echo.Context) error { + id := c.QueryParam("id") + dialogDeleteID := c.QueryParam("dialogDeleteID") + dialogDeleteBodyID := c.QueryParam("dialogDeleteBodyID") + + dataMDNLT, err := mdnlt.MDNonLabTemplateServices.GetMDNonLabTemplateByID(id) + if err != nil { + newForm := dev_mdnonlabtemplateview.DeleteConfirmBody( + models.CustomTextFieldv2Prm{Name: "nonlabtemplateid", Type: "hidden", Value: "0"}, + dialogDeleteBodyID, + "Apakah anda yakin menghapus non lab template berikut ?", + []string{"NAME"}, + []string{""}, + dev_mdnonlabtemplateview.JSHideModal(""), + ) + return utils.ViewMulti(c, []templ.Component{customtoastv2.CustomToastV2Show("Error", err.Error(), "danger"), newForm}) + } + + newForm := dev_mdnonlabtemplateview.DeleteConfirmBody( + models.CustomTextFieldv2Prm{Name: "nonlabtemplateid", Type: "hidden", Value: strconv.Itoa(dataMDNLT.NonLabTemplateID)}, + dialogDeleteBodyID, + "Apakah anda yakin menghapus non lab template berikut ?", + []string{"NAME"}, + []string{dataMDNLT.NonLabTemplateName}, + dev_mdnonlabtemplateview.JSShowModal("#"+dialogDeleteID), + ) + return utils.View(c, newForm) +} + +func (mdnlt *MDNonLabTemplateHandler) HandleCloseFormDelete(c echo.Context) error { + dialogDeleteBodyID := c.FormValue("dialogDeleteBodyID") + newForm := dev_mdnonlabtemplateview.DeleteConfirmBody( + models.CustomTextFieldv2Prm{Type: "hidden", Value: "0", Name: "nonlabtemplateid"}, + dialogDeleteBodyID, + "Apakah anda yakin menghapus non lab template berikut ?", + []string{"NAME"}, + []string{""}, + dev_mdnonlabtemplateview.JSHideModal(""), + ) + return utils.View(c, newForm) +} + +func (mdnlt *MDNonLabTemplateHandler) HandleDeleteMDNLT(c echo.Context) error { + logger, _ := zap.NewProduction() + defer logger.Sync() + + id := c.FormValue("nonlabtemplateid") + tableID := c.FormValue("tableID") + paginationID := c.FormValue("paginationID") + searchID := c.FormValue("searchID") + search := c.FormValue("search") + currPagePrm := c.FormValue("currpage" + paginationID) + // dialogAddBodyID := c.FormValue("dialogAddBodyID") + dialogDeleteID := c.FormValue("dialogDeleteID") + dialogEditBodyID := c.FormValue("dialogEditBodyID") + dialogDeleteBodyID := c.FormValue("dialogDeleteBodyID") + + currPage, err := strconv.Atoi(currPagePrm) + if err != nil { + return err + } + logger.Info("ADD NON LAB TEMPLATE PARAM", zap.Any("tableid", tableID), zap.Any("search", search), zap.Any("currPage", currPage)) + + // delete data from db + respDel, err := mdnlt.MDNonLabTemplateServices.DeleteDataMDNLT(id) + if err != nil { + logger.Info("Error", zap.Any("error", err)) + newForm := dev_mdnonlabtemplateview.DeleteConfirmBody( + models.CustomTextFieldv2Prm{Name: "nonlabtemplateid", Type: "hidden", Value: ""}, + dialogDeleteBodyID, + "Apakah anda yakin menghapus non lab template berikut ?", + []string{"NAME"}, + []string{""}, + dev_mdnonlabtemplateview.JSHideModal(""), + ) + return utils.ViewMulti(c, []templ.Component{customtoastv2.CustomToastV2Show("Error", err.Error(), "danger"), newForm}) + } + logger.Info("Response Delete", zap.Any("Resp", respDel)) + + dataNLTList, totalPage, err := mdnlt.MDNonLabTemplateServices.GetMDNonLabTemplateData(search, currPage, 5) + if err != nil { + defer logger.Sync() + logger.Info("Error get list data non lab template", zap.Any("error", err)) + return err + } + + tableComp := dev_mdnonlabtemplateview.TableNonLabTemplate(dataNLTList, + tableID, + "/dev/md/nonlabtemplate/openedit", + "#"+dialogEditBodyID, + "outerHTML", + "#dialogEditBodyID, #dialogEditID, #dialogDeleteBodyID, #dialogDeleteID", + "/dev/md/nonlabtemplate/opendelete", + "#"+dialogDeleteBodyID, + "outerHTML", + "#dialogEditBodyID, #dialogEditID, #dialogDeleteBodyID, #dialogDeleteID", + ) + + paginationTable := pagination.PaginationV3( + totalPage, + currPage, + "/dev/md/nonlabtemplate/changepage", + paginationID, + "#tableID, #searchID, #"+searchID+", #paginationID, #dialogEditBodyID, #dialogEditID, #dialogDeleteBodyID, #dialogDeleteID", + "#"+paginationID, + "outerHTML", "", "true", + dev_mdnonlabtemplateview.BeforeRequestContent(), + dev_mdnonlabtemplateview.AfterRequestContent(), + ) + + var retVal []templ.Component + newForm := dev_mdnonlabtemplateview.DeleteConfirmBody( + models.CustomTextFieldv2Prm{Name: "nonlabtemplateid", Type: "hidden", Value: ""}, + dialogDeleteBodyID, + "Apakah anda yakin menghapus non lab template berikut ?", + []string{"NAME"}, + []string{""}, + dev_mdnonlabtemplateview.JSHideModal("#"+dialogDeleteID), + ) + toastSuccess := customtoastv2.CustomToastV2Show("Success", "Berhasil delete non lab template ", "success") + retVal = append(retVal, toastSuccess) + retVal = append(retVal, tableComp) + retVal = append(retVal, paginationTable) + retVal = append(retVal, newForm) + + return utils.ViewMulti(c, retVal) +} diff --git a/handlers/routes.go b/handlers/routes.go index 879d118..e91cb46 100644 --- a/handlers/routes.go +++ b/handlers/routes.go @@ -284,6 +284,9 @@ func SetupRoutesDev(app *echo.Echo, appStore db.AppStore) { dev.GET("/md/nonlabtemplate", devMDMRNonLabTemplateHandler.HandleShowMDNonLabTemplateScreen) dev.GET("/md/nonlabtemplate/filter", devMDMRNonLabTemplateHandler.HandleFilterMDNonLabTemplate) dev.GET("/md/nonlabtemplate/changepage", devMDMRNonLabTemplateHandler.HandleChangePageMDNonLabTemplate) + dev.GET("/md/nonlabtemplate/opendelete", devMDMRNonLabTemplateHandler.HandleOpenFormDelete) + dev.POST("/md/nonlabtemplate/closedeleteform", devMDMRNonLabTemplateHandler.HandleCloseFormDelete) + dev.POST("/md/nonlabtemplate/delete", devMDMRNonLabTemplateHandler.HandleDeleteMDNLT) // masterdata nat unit devMdNatUnitServices := dev_services.NewMdNatUnitServices(appStore) diff --git a/models/mdnonlabtemplate.models.go b/models/mdnonlabtemplate.models.go index 85d6aac..09df2ad 100644 --- a/models/mdnonlabtemplate.models.go +++ b/models/mdnonlabtemplate.models.go @@ -26,8 +26,7 @@ type MDNonLabTemplateForm struct { InputID CustomTextFieldv2Prm InputNama CustomTextFieldv2Prm CheckboxFlagFisik CustomCheckboxv1Prm - - DialogBody templ.Component - DialogAction templ.Component - ButtonCLose templ.Component + DialogBody templ.Component + DialogAction templ.Component + ButtonCLose templ.Component } diff --git a/services/dev/md.nonlabtemplate.services.go b/services/dev/md.nonlabtemplate.services.go index e04509d..282a03e 100644 --- a/services/dev/md.nonlabtemplate.services.go +++ b/services/dev/md.nonlabtemplate.services.go @@ -7,6 +7,8 @@ import ( "fmt" "math" "strings" + + "go.uber.org/zap" ) type MDNonLabTemplateServices struct { @@ -82,3 +84,52 @@ func (mdnlt *MDNonLabTemplateServices) GetMDNonLabTemplateData(search string, cu return ret, totalPage, nil } + +func (mdnlt *MDNonLabTemplateServices) GetMDNonLabTemplateByID(id string) (models.MDNonLabTemplate, error) { + logger, _ := zap.NewProduction() + var ret models.MDNonLabTemplate + + q := ` + SELECT + NonlabTemplateID, + NonlabTemplateName, + NonlabTemplateFlagFisik, + NonlabTemplateIsActive, + NonlabTemplateCreated, + NonlabTemplateLastUpdated + FROM nonlab_template + WHERE NonlabTemplateID = ? + ` + err := dbx.Handlex.Get(&ret, q, id) + if err != nil { + defer logger.Sync() + logger.Error("Error get data non lab template by id vs", + zap.String("ID", id), + zap.Error(err), + ) + return ret, fmt.Errorf("QUERY FAILED GET DATA BY ID") + } + return ret, nil +} + +func (mdnlt *MDNonLabTemplateServices) DeleteDataMDNLT(id string) (models.MDNonLabTemplate, error) { + logger, _ := zap.NewProduction() + var ret models.MDNonLabTemplate + + q := ` + UPDATE nonlab_template + SET + NonlabTemplateIsActive = 'N', + NonlabTemplateLastUpdated = NOW() + WHERE NonlabTemplateID = ? + ` + dlt := dbx.Handlex.MustExec(q, id) + _, err := dlt.RowsAffected() + if err != nil { + defer logger.Sync() + logger.Error("Error delete sample station", zap.String("id", id)) + return ret, fmt.Errorf("query failed delete non lab template") + } + + return mdnlt.GetMDNonLabTemplateByID(id) +} diff --git a/views/dev/mdnonlabtemplate/mdnonlabtemplate.templ b/views/dev/mdnonlabtemplate/mdnonlabtemplate.templ index dba7988..f56f6c9 100644 --- a/views/dev/mdnonlabtemplate/mdnonlabtemplate.templ +++ b/views/dev/mdnonlabtemplate/mdnonlabtemplate.templ @@ -18,6 +18,7 @@ templ MDNonLabTemplateScreen( filterComponent templ.Component, tableComponent templ.Component, paginationComponent templ.Component, + modalDeleteForm templ.Component, ) {
@customtextfield.CustomTextFieldv2(models.CustomTextFieldv2Prm{ID: "tableID", @@ -83,6 +84,7 @@ templ MDNonLabTemplateScreen(
@tableComponent @paginationComponent + @modalDeleteForm
Loading... diff --git a/views/dev/mdnonlabtemplate/mdnonlabtemplate_templ.go b/views/dev/mdnonlabtemplate/mdnonlabtemplate_templ.go index 38383b0..5b21c4b 100644 --- a/views/dev/mdnonlabtemplate/mdnonlabtemplate_templ.go +++ b/views/dev/mdnonlabtemplate/mdnonlabtemplate_templ.go @@ -28,6 +28,7 @@ func MDNonLabTemplateScreen( filterComponent templ.Component, tableComponent templ.Component, paginationComponent templ.Component, + modalDeleteForm templ.Component, ) templ.Component { return templ.ComponentFunc(func(ctx context.Context, templ_7745c5c3_W io.Writer) (templ_7745c5c3_Err error) { templ_7745c5c3_Buffer, templ_7745c5c3_IsBuffer := templ_7745c5c3_W.(*bytes.Buffer) @@ -123,7 +124,7 @@ func MDNonLabTemplateScreen( var templ_7745c5c3_Var2 string templ_7745c5c3_Var2, templ_7745c5c3_Err = templ.JoinStringErrs("#" + dialogAddID) if templ_7745c5c3_Err != nil { - return templ.Error{Err: templ_7745c5c3_Err, FileName: `views\dev\mdnonlabtemplate\mdnonlabtemplate.templ`, Line: 69, Col: 55} + return templ.Error{Err: templ_7745c5c3_Err, FileName: `views\dev\mdnonlabtemplate\mdnonlabtemplate.templ`, Line: 70, Col: 55} } _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var2)) if templ_7745c5c3_Err != nil { @@ -136,7 +137,7 @@ func MDNonLabTemplateScreen( var templ_7745c5c3_Var3 string templ_7745c5c3_Var3, templ_7745c5c3_Err = templ.JoinStringErrs("#" + dialogAddID) if templ_7745c5c3_Err != nil { - return templ.Error{Err: templ_7745c5c3_Err, FileName: `views\dev\mdnonlabtemplate\mdnonlabtemplate.templ`, Line: 78, Col: 51} + return templ.Error{Err: templ_7745c5c3_Err, FileName: `views\dev\mdnonlabtemplate\mdnonlabtemplate.templ`, Line: 79, Col: 51} } _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var3)) if templ_7745c5c3_Err != nil { @@ -162,6 +163,10 @@ func MDNonLabTemplateScreen( 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 + } _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("
Loading...
") if templ_7745c5c3_Err != nil { return templ_7745c5c3_Err diff --git a/views/dev/mdnonlabtemplate/mdnonlabtemplatemodal.templ b/views/dev/mdnonlabtemplate/mdnonlabtemplatemodal.templ index 8e0701b..f3f1305 100644 --- a/views/dev/mdnonlabtemplate/mdnonlabtemplatemodal.templ +++ b/views/dev/mdnonlabtemplate/mdnonlabtemplatemodal.templ @@ -1,2 +1,190 @@ package dev_mdnonlabtemplateview +import "cpone/models" +import "cpone/component/modal" +import "cpone/component/customtextfield" +import "cpone/component/customcheckbox" + +templ NonLabTemplateModalForm(data models.MDNonLabTemplateForm) { +
+
+ if data.ModalTitle == "Delete - Non Lab Template" { + @modalcomponent.Modal(data.ModalID, + data.ModalTitle, + data.DialogBody, + data.DialogAction, + data.ButtonCLose, + ) + } + @modalcomponent.ModalXL(data.ModalID, + data.ModalTitle, + data.DialogBody, + data.DialogAction, + data.ButtonCLose, + ) +
+
+} + +script HandleFormBeforeRequest() { + const btnActCancel = document.querySelectorAll('.btnactcancel'); + const btnActSaveData = document.querySelectorAll('.btnactsavedata'); + + for (let i=0; i < btnActCancel.length; i++) { + btnActCancel[i].setAttribute('disabled', 'true'); + } + for (let i=0; i < btnActSaveData.length; i++) { + btnActSaveData[i].setAttribute('disabled', 'true'); + } +} + +script HandleFormAfterRequest() { + const btnActCancel = document.querySelectorAll('.btnactcancel'); + const btnActSaveData = document.querySelectorAll('.btnactsavedata'); + + for (let i=0; i < btnActCancel.length; i++) { + btnActCancel[i].removeAttribute('disabled'); + } + for (let i=0; i < btnActSaveData.length; i++) { + btnActSaveData[i].removeAttribute('disabled'); + } +} + +templ BodyFormMDNonlabTemplate( + componentID string, + inputID models.CustomTextFieldv2Prm, + inputName models.CustomTextFieldv2Prm, + flagFisik models.CustomCheckboxv1Prm, + hxOnLoad templ.ComponentScript, +) { +
+ @customtextfield.CustomTextFieldv2(inputID) +
+ @customtextfield.CustomTextFieldv2(inputName) +
+
+ @customcheckbox.MainCustomCheckboxInput(flagFisik) +
+
+} + +script JSHideModal(modalID string) { + $(modalID).modal('hide') +} + +script JSShowModal(modalID string) { + $(modalID).modal('show') + const btnActCancel = document.querySelectorAll('.btnactcancel'); + const btnActSaveData = document.querySelectorAll('.btnactsavedata'); + + for (let i = 0; i < btnActCancel.length; i++) { + btnActCancel[i].removeAttribute('disabled'); + + } + for (let i = 0; i < btnActSaveData.length; i++) { + btnActSaveData[i].removeAttribute('disabled'); + } +} + +templ ActionFormMDNLT(LinkClose string, targetClose string, hxSwapClose string, modalID string) { +
+ + +
+} + +templ BtnCloseFormMDNLT(LinkClose string, targetClose string, hxSwapClose string, modalID string) { + +} + +templ DeleteConfirmBody( + inputID models.CustomTextFieldv2Prm, + componentID string, + message string, + dataHeader []string, + dataText []string, + hxOnLoad templ.ComponentScript, +) { +
+

{ message }

+
+
+
+ for _, v := range dataHeader { +
{ v }
+ } +
+
+ for _, v := range dataText { +
{ v }
+ } +
+
+
+ @customtextfield.CustomTextFieldv2(inputID) +
+} + +templ ActionFormMDNLTDelete(LinkClose string, targetClose string, hxSwapClose string, modalID string) { +
+ + +
+} \ No newline at end of file diff --git a/views/dev/mdnonlabtemplate/mdnonlabtemplatemodal_templ.go b/views/dev/mdnonlabtemplate/mdnonlabtemplatemodal_templ.go new file mode 100644 index 0000000..0abee9a --- /dev/null +++ b/views/dev/mdnonlabtemplate/mdnonlabtemplatemodal_templ.go @@ -0,0 +1,661 @@ +// Code generated by templ - DO NOT EDIT. + +// templ: version: v0.2.663 +package dev_mdnonlabtemplateview + +//lint:file-ignore SA4006 This context is only used if a nested component is present. + +import "github.com/a-h/templ" +import "context" +import "io" +import "bytes" + +import "cpone/models" +import "cpone/component/modal" +import "cpone/component/customtextfield" +import "cpone/component/customcheckbox" + +func NonLabTemplateModalForm(data models.MDNonLabTemplateForm) templ.Component { + return templ.ComponentFunc(func(ctx context.Context, templ_7745c5c3_W io.Writer) (templ_7745c5c3_Err error) { + templ_7745c5c3_Buffer, templ_7745c5c3_IsBuffer := templ_7745c5c3_W.(*bytes.Buffer) + if !templ_7745c5c3_IsBuffer { + templ_7745c5c3_Buffer = templ.GetBuffer() + defer templ.ReleaseBuffer(templ_7745c5c3_Buffer) + } + ctx = templ.InitializeContext(ctx) + templ_7745c5c3_Var1 := templ.GetChildren(ctx) + if templ_7745c5c3_Var1 == nil { + templ_7745c5c3_Var1 = templ.NopComponent + } + ctx = templ.ClearChildren(ctx) + _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("
") + if templ_7745c5c3_Err != nil { + return templ_7745c5c3_Err + } + templ_7745c5c3_Err = templ.RenderScriptItems(ctx, templ_7745c5c3_Buffer, HandleFormBeforeRequest(), HandleFormAfterRequest()) + if templ_7745c5c3_Err != nil { + return templ_7745c5c3_Err + } + _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("
") + if templ_7745c5c3_Err != nil { + return templ_7745c5c3_Err + } + if data.ModalTitle == "Delete - Non Lab Template" { + templ_7745c5c3_Err = modalcomponent.Modal(data.ModalID, + data.ModalTitle, + data.DialogBody, + data.DialogAction, + data.ButtonCLose, + ).Render(ctx, templ_7745c5c3_Buffer) + if templ_7745c5c3_Err != nil { + return templ_7745c5c3_Err + } + } + templ_7745c5c3_Err = modalcomponent.ModalXL(data.ModalID, + data.ModalTitle, + data.DialogBody, + data.DialogAction, + data.ButtonCLose, + ).Render(ctx, templ_7745c5c3_Buffer) + if templ_7745c5c3_Err != nil { + return templ_7745c5c3_Err + } + _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("
") + if templ_7745c5c3_Err != nil { + return templ_7745c5c3_Err + } + if !templ_7745c5c3_IsBuffer { + _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteTo(templ_7745c5c3_W) + } + return templ_7745c5c3_Err + }) +} + +func HandleFormBeforeRequest() templ.ComponentScript { + return templ.ComponentScript{ + Name: `__templ_HandleFormBeforeRequest_5ffd`, + Function: `function __templ_HandleFormBeforeRequest_5ffd(){const btnActCancel = document.querySelectorAll('.btnactcancel'); + const btnActSaveData = document.querySelectorAll('.btnactsavedata'); + + for (let i=0; i < btnActCancel.length; i++) { + btnActCancel[i].setAttribute('disabled', 'true'); + } + for (let i=0; i < btnActSaveData.length; i++) { + btnActSaveData[i].setAttribute('disabled', 'true'); + } +}`, + Call: templ.SafeScript(`__templ_HandleFormBeforeRequest_5ffd`), + CallInline: templ.SafeScriptInline(`__templ_HandleFormBeforeRequest_5ffd`), + } +} + +func HandleFormAfterRequest() templ.ComponentScript { + return templ.ComponentScript{ + Name: `__templ_HandleFormAfterRequest_a7c5`, + Function: `function __templ_HandleFormAfterRequest_a7c5(){const btnActCancel = document.querySelectorAll('.btnactcancel'); + const btnActSaveData = document.querySelectorAll('.btnactsavedata'); + + for (let i=0; i < btnActCancel.length; i++) { + btnActCancel[i].removeAttribute('disabled'); + } + for (let i=0; i < btnActSaveData.length; i++) { + btnActSaveData[i].removeAttribute('disabled'); + } +}`, + Call: templ.SafeScript(`__templ_HandleFormAfterRequest_a7c5`), + CallInline: templ.SafeScriptInline(`__templ_HandleFormAfterRequest_a7c5`), + } +} + +func BodyFormMDNonlabTemplate( + componentID string, + inputID models.CustomTextFieldv2Prm, + inputName models.CustomTextFieldv2Prm, + flagFisik models.CustomCheckboxv1Prm, + hxOnLoad templ.ComponentScript, +) templ.Component { + return templ.ComponentFunc(func(ctx context.Context, templ_7745c5c3_W io.Writer) (templ_7745c5c3_Err error) { + templ_7745c5c3_Buffer, templ_7745c5c3_IsBuffer := templ_7745c5c3_W.(*bytes.Buffer) + if !templ_7745c5c3_IsBuffer { + templ_7745c5c3_Buffer = templ.GetBuffer() + defer templ.ReleaseBuffer(templ_7745c5c3_Buffer) + } + ctx = templ.InitializeContext(ctx) + templ_7745c5c3_Var9 := templ.GetChildren(ctx) + if templ_7745c5c3_Var9 == nil { + templ_7745c5c3_Var9 = templ.NopComponent + } + ctx = templ.ClearChildren(ctx) + templ_7745c5c3_Err = templ.RenderScriptItems(ctx, templ_7745c5c3_Buffer, hxOnLoad) + if templ_7745c5c3_Err != nil { + return templ_7745c5c3_Err + } + _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("
") + if templ_7745c5c3_Err != nil { + return templ_7745c5c3_Err + } + templ_7745c5c3_Err = customtextfield.CustomTextFieldv2(inputID).Render(ctx, templ_7745c5c3_Buffer) + if templ_7745c5c3_Err != nil { + return templ_7745c5c3_Err + } + _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("
") + if templ_7745c5c3_Err != nil { + return templ_7745c5c3_Err + } + templ_7745c5c3_Err = customtextfield.CustomTextFieldv2(inputName).Render(ctx, templ_7745c5c3_Buffer) + if templ_7745c5c3_Err != nil { + return templ_7745c5c3_Err + } + _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("
") + if templ_7745c5c3_Err != nil { + return templ_7745c5c3_Err + } + templ_7745c5c3_Err = customcheckbox.MainCustomCheckboxInput(flagFisik).Render(ctx, templ_7745c5c3_Buffer) + if templ_7745c5c3_Err != nil { + return templ_7745c5c3_Err + } + _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("
") + if templ_7745c5c3_Err != nil { + return templ_7745c5c3_Err + } + if !templ_7745c5c3_IsBuffer { + _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteTo(templ_7745c5c3_W) + } + return templ_7745c5c3_Err + }) +} + +func JSHideModal(modalID string) templ.ComponentScript { + return templ.ComponentScript{ + Name: `__templ_JSHideModal_4530`, + Function: `function __templ_JSHideModal_4530(modalID){$(modalID).modal('hide') +}`, + Call: templ.SafeScript(`__templ_JSHideModal_4530`, modalID), + CallInline: templ.SafeScriptInline(`__templ_JSHideModal_4530`, modalID), + } +} + +func JSShowModal(modalID string) templ.ComponentScript { + return templ.ComponentScript{ + Name: `__templ_JSShowModal_0500`, + Function: `function __templ_JSShowModal_0500(modalID){$(modalID).modal('show') + const btnActCancel = document.querySelectorAll('.btnactcancel'); + const btnActSaveData = document.querySelectorAll('.btnactsavedata'); + + for (let i = 0; i < btnActCancel.length; i++) { + btnActCancel[i].removeAttribute('disabled'); + + } + for (let i = 0; i < btnActSaveData.length; i++) { + btnActSaveData[i].removeAttribute('disabled'); + } +}`, + Call: templ.SafeScript(`__templ_JSShowModal_0500`, modalID), + CallInline: templ.SafeScriptInline(`__templ_JSShowModal_0500`, modalID), + } +} + +func ActionFormMDNLT(LinkClose string, targetClose string, hxSwapClose string, modalID string) templ.Component { + return templ.ComponentFunc(func(ctx context.Context, templ_7745c5c3_W io.Writer) (templ_7745c5c3_Err error) { + templ_7745c5c3_Buffer, templ_7745c5c3_IsBuffer := templ_7745c5c3_W.(*bytes.Buffer) + if !templ_7745c5c3_IsBuffer { + templ_7745c5c3_Buffer = templ.GetBuffer() + defer templ.ReleaseBuffer(templ_7745c5c3_Buffer) + } + ctx = templ.InitializeContext(ctx) + templ_7745c5c3_Var12 := templ.GetChildren(ctx) + if templ_7745c5c3_Var12 == nil { + templ_7745c5c3_Var12 = templ.NopComponent + } + ctx = templ.ClearChildren(ctx) + _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("
") + if templ_7745c5c3_Err != nil { + return templ_7745c5c3_Err + } + templ_7745c5c3_Err = templ.RenderScriptItems(ctx, templ_7745c5c3_Buffer, JSHideModal(modalID)) + if templ_7745c5c3_Err != nil { + return templ_7745c5c3_Err + } + _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("
") + if templ_7745c5c3_Err != nil { + return templ_7745c5c3_Err + } + if !templ_7745c5c3_IsBuffer { + _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteTo(templ_7745c5c3_W) + } + return templ_7745c5c3_Err + }) +} + +func BtnCloseFormMDNLT(LinkClose string, targetClose string, hxSwapClose string, modalID string) templ.Component { + return templ.ComponentFunc(func(ctx context.Context, templ_7745c5c3_W io.Writer) (templ_7745c5c3_Err error) { + templ_7745c5c3_Buffer, templ_7745c5c3_IsBuffer := templ_7745c5c3_W.(*bytes.Buffer) + if !templ_7745c5c3_IsBuffer { + templ_7745c5c3_Buffer = templ.GetBuffer() + defer templ.ReleaseBuffer(templ_7745c5c3_Buffer) + } + ctx = templ.InitializeContext(ctx) + templ_7745c5c3_Var17 := templ.GetChildren(ctx) + if templ_7745c5c3_Var17 == nil { + templ_7745c5c3_Var17 = templ.NopComponent + } + ctx = templ.ClearChildren(ctx) + templ_7745c5c3_Err = templ.RenderScriptItems(ctx, templ_7745c5c3_Buffer, JSHideModal(modalID)) + if templ_7745c5c3_Err != nil { + return templ_7745c5c3_Err + } + _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("") + if templ_7745c5c3_Err != nil { + return templ_7745c5c3_Err + } + if !templ_7745c5c3_IsBuffer { + _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteTo(templ_7745c5c3_W) + } + return templ_7745c5c3_Err + }) +} + +func DeleteConfirmBody( + inputID models.CustomTextFieldv2Prm, + componentID string, + message string, + dataHeader []string, + dataText []string, + hxOnLoad templ.ComponentScript, +) templ.Component { + return templ.ComponentFunc(func(ctx context.Context, templ_7745c5c3_W io.Writer) (templ_7745c5c3_Err error) { + templ_7745c5c3_Buffer, templ_7745c5c3_IsBuffer := templ_7745c5c3_W.(*bytes.Buffer) + if !templ_7745c5c3_IsBuffer { + templ_7745c5c3_Buffer = templ.GetBuffer() + defer templ.ReleaseBuffer(templ_7745c5c3_Buffer) + } + ctx = templ.InitializeContext(ctx) + templ_7745c5c3_Var22 := templ.GetChildren(ctx) + if templ_7745c5c3_Var22 == nil { + templ_7745c5c3_Var22 = templ.NopComponent + } + ctx = templ.ClearChildren(ctx) + templ_7745c5c3_Err = templ.RenderScriptItems(ctx, templ_7745c5c3_Buffer, hxOnLoad) + if templ_7745c5c3_Err != nil { + return templ_7745c5c3_Err + } + _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("

") + if templ_7745c5c3_Err != nil { + return templ_7745c5c3_Err + } + var templ_7745c5c3_Var25 string + templ_7745c5c3_Var25, templ_7745c5c3_Err = templ.JoinStringErrs(message) + if templ_7745c5c3_Err != nil { + return templ.Error{Err: templ_7745c5c3_Err, FileName: `views\dev\mdnonlabtemplate\mdnonlabtemplatemodal.templ`, Line: 148, Col: 20} + } + _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var25)) + if templ_7745c5c3_Err != nil { + return templ_7745c5c3_Err + } + _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("

") + if templ_7745c5c3_Err != nil { + return templ_7745c5c3_Err + } + for _, v := range dataHeader { + _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("
") + if templ_7745c5c3_Err != nil { + return templ_7745c5c3_Err + } + var templ_7745c5c3_Var26 string + templ_7745c5c3_Var26, templ_7745c5c3_Err = templ.JoinStringErrs(v) + if templ_7745c5c3_Err != nil { + return templ.Error{Err: templ_7745c5c3_Err, FileName: `views\dev\mdnonlabtemplate\mdnonlabtemplatemodal.templ`, Line: 153, Col: 86} + } + _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var26)) + if templ_7745c5c3_Err != nil { + return templ_7745c5c3_Err + } + _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("
") + if templ_7745c5c3_Err != nil { + return templ_7745c5c3_Err + } + } + _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("
") + if templ_7745c5c3_Err != nil { + return templ_7745c5c3_Err + } + for _, v := range dataText { + _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("
") + if templ_7745c5c3_Err != nil { + return templ_7745c5c3_Err + } + var templ_7745c5c3_Var27 string + templ_7745c5c3_Var27, templ_7745c5c3_Err = templ.JoinStringErrs(v) + if templ_7745c5c3_Err != nil { + return templ.Error{Err: templ_7745c5c3_Err, FileName: `views\dev\mdnonlabtemplate\mdnonlabtemplatemodal.templ`, Line: 158, Col: 67} + } + _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var27)) + if templ_7745c5c3_Err != nil { + return templ_7745c5c3_Err + } + _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("
") + if templ_7745c5c3_Err != nil { + return templ_7745c5c3_Err + } + } + _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("
") + if templ_7745c5c3_Err != nil { + return templ_7745c5c3_Err + } + templ_7745c5c3_Err = customtextfield.CustomTextFieldv2(inputID).Render(ctx, templ_7745c5c3_Buffer) + if templ_7745c5c3_Err != nil { + return templ_7745c5c3_Err + } + _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("
") + if templ_7745c5c3_Err != nil { + return templ_7745c5c3_Err + } + if !templ_7745c5c3_IsBuffer { + _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteTo(templ_7745c5c3_W) + } + return templ_7745c5c3_Err + }) +} + +func ActionFormMDNLTDelete(LinkClose string, targetClose string, hxSwapClose string, modalID string) templ.Component { + return templ.ComponentFunc(func(ctx context.Context, templ_7745c5c3_W io.Writer) (templ_7745c5c3_Err error) { + templ_7745c5c3_Buffer, templ_7745c5c3_IsBuffer := templ_7745c5c3_W.(*bytes.Buffer) + if !templ_7745c5c3_IsBuffer { + templ_7745c5c3_Buffer = templ.GetBuffer() + defer templ.ReleaseBuffer(templ_7745c5c3_Buffer) + } + ctx = templ.InitializeContext(ctx) + templ_7745c5c3_Var28 := templ.GetChildren(ctx) + if templ_7745c5c3_Var28 == nil { + templ_7745c5c3_Var28 = templ.NopComponent + } + ctx = templ.ClearChildren(ctx) + _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("
") + if templ_7745c5c3_Err != nil { + return templ_7745c5c3_Err + } + templ_7745c5c3_Err = templ.RenderScriptItems(ctx, templ_7745c5c3_Buffer, JSHideModal(modalID)) + if templ_7745c5c3_Err != nil { + return templ_7745c5c3_Err + } + _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("
") + if templ_7745c5c3_Err != nil { + return templ_7745c5c3_Err + } + if !templ_7745c5c3_IsBuffer { + _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteTo(templ_7745c5c3_W) + } + return templ_7745c5c3_Err + }) +}