From b68a2ed2ec140f6201680f1012c14a41c331ecca Mon Sep 17 00:00:00 2001 From: Hanan Askarim Date: Mon, 27 May 2024 16:44:06 +0700 Subject: [PATCH] add feature delete --- handlers/dev/md.natunit.handlers.go | 251 +++++++++++++++++- handlers/routes.go | 3 + services/dev/md.natunit.services.go | 28 ++ views/dev/mdnatunit/mdnatunit.templ | 14 +- views/dev/mdnatunit/mdnatunit_templ.go | 27 +- views/dev/mdnatunit/mdnatunitformmodal.templ | 53 ++++ .../dev/mdnatunit/mdnatunitformmodal_templ.go | 202 ++++++++++++++ views/dev/mdnatunit/mdnatunittable.templ | 27 ++ views/dev/mdnatunit/mdnatunittable_templ.go | 135 +++++++++- 9 files changed, 710 insertions(+), 30 deletions(-) diff --git a/handlers/dev/md.natunit.handlers.go b/handlers/dev/md.natunit.handlers.go index e6a245b..4df537b 100644 --- a/handlers/dev/md.natunit.handlers.go +++ b/handlers/dev/md.natunit.handlers.go @@ -26,6 +26,7 @@ type MdNatUnitServices interface { AddMdNatUnit(code string, name string) (models.NatUnit, error) GetMdNatUnitByID(id string) (models.NatUnit, error) EditMdNatUnit(id string, code string, name string) (models.NatUnit, error) + DeleteMdNatUnit(id string) (models.NatUnit, error) } func NeWMdNatUnitHandler(nu MdNatUnitServices) *MdNatUnitHandler { @@ -48,6 +49,8 @@ func (nh *MdNatUnitHandler) HandleShowMdNatUnitScreen(c echo.Context) error { dialogAddBodyID := utils.GenerateRandomID("dialogaddbodyID") dialogEditID := utils.GenerateRandomID("dialogEditID") dialogEditBodyID := utils.GenerateRandomID("dialogEditbodyID") + dialogDeleteID := utils.GenerateRandomID("dialogDeleteID") + dialogDeleteBodyID := utils.GenerateRandomID("dialogDeletebodyID") dataMenu, err := services.GetMenu() fmt.Println(dataMenu) fmt.Println(err) @@ -114,7 +117,11 @@ func (nh *MdNatUnitHandler) HandleShowMdNatUnitScreen(c echo.Context) error { "/dev/md/natunit/openedit", "#"+dialogEditBodyID, "outerHTML", - "#dialogEditBodyID, #dialogEditID", + "#dialogEditBodyID, #dialogEditID, #dialogDeleteBodyID, #dialogDeleteID", + "/dev/md/natunit/opendelete", + "#"+dialogDeleteBodyID, + "outerHTML", + "#dialogEditBodyID, #dialogEditID, #dialogDeleteBodyID, #dialogDeleteID", ) //filter nat unit component @@ -124,7 +131,7 @@ func (nh *MdNatUnitHandler) HandleShowMdNatUnitScreen(c echo.Context) error { "text", "/dev/md/natunit/filter", "input changed delay:500ms, search", - "#"+paginationID, "#loadingcontent", "", "outerHTML", "#tableID, #paginationID, #searchID", + "#"+paginationID, "#loadingcontent", "", "outerHTML", "#tableID, #paginationID, #searchID, #dialogEditBodyID, #dialogEditID, #dialogDeleteBodyID, #dialogDeleteID", dev_mdnatunitview.BeforeRequestContent(), dev_mdnatunitview.AfterRequestContent()) @@ -134,7 +141,7 @@ func (nh *MdNatUnitHandler) HandleShowMdNatUnitScreen(c echo.Context) error { 1, "/dev/md/natunit/changepage", paginationID, - "#tableID, #searchID, #"+searchID+", #paginationID", + "#tableID, #searchID, #"+searchID+", #paginationID, #dialogEditBodyID, #dialogEditID, #dialogDeleteBodyID, #dialogDeleteID", "#"+paginationID, "outerHTML", "", "", dev_mdnatunitview.BeforeRequestContent(), @@ -181,7 +188,7 @@ func (nh *MdNatUnitHandler) HandleShowMdNatUnitScreen(c echo.Context) error { Link: "/dev/md/natunit/add", HxTarget: "#" + dialogAddBodyID, HxSwap: "outerHTML", - HxInclude: "#tableID, #paginationID, #searchID, #dialogAddBodyID, #dialogAddID, #" + searchID + ", #currpage" + paginationID, + HxInclude: "#tableID, #paginationID, #searchID, #dialogAddBodyID, #dialogAddID, #dialogDeleteBodyID, #dialogEditBodyID, #" + searchID + ", #currpage" + paginationID, ModalID: dialogAddID, ModalTitle: "New - Unit", DialogBody: dialogAddBodyCmp, @@ -230,7 +237,7 @@ func (nh *MdNatUnitHandler) HandleShowMdNatUnitScreen(c echo.Context) error { Link: "dev/md/natunit/edit", HxTarget: "#" + dialogEditBodyID, HxSwap: "outerHTML", - HxInclude: "#tableID, #paginationID, #searchID, #dialogEditBodyID, #dialogEditID, #" + searchID + ", #currpage" + paginationID, + HxInclude: "#tableID, #paginationID, #searchID, #dialogDeleteBodyID, #dialogEditBodyID, #dialogEditID, #" + searchID + ", #currpage" + paginationID, ModalID: dialogEditID, ModalTitle: "New - Unit", DialogBody: dialogEditBodyCmp, @@ -239,6 +246,49 @@ func (nh *MdNatUnitHandler) HandleShowMdNatUnitScreen(c echo.Context) error { }, ) + // modal delete form + dialogDeleteBodyCmp := dev_mdnatunitview.BodyFormNatUnit( + models.CustomTextFieldv2Prm{ + Label: "Kode Unit", + Name: "natunitcode", + Placeholder: "Kode Unit", + Type: "text", ID: "natunitinputname"}, + models.CustomTextFieldv2Prm{ + Label: "Nama Unit", + Name: "natunitname", + Placeholder: "Nama Unit", + Type: "text", ID: "natunitinputname"}, + models.CustomTextFieldv2Prm{ + Label: "Kode Unit", + Name: "natunitid", + Placeholder: "Kode Unit", + Type: "hidden", ID: "natunitinputid"}, + dialogDeleteBodyID, dev_mdnatunitview.JsHideModal("")) + modalActionDeleteCmp := dev_mdnatunitview.ActionFormNatUnit( + "/dev/md/natunit/closedeleteform", + "#"+dialogDeleteBodyID, + "outerHTML", + "#"+dialogDeleteID) + btnCloaseModalDelete := dev_mdnatunitview.BtnCloseFormNatUnit( + "/dev/md/natunit/closedeleteform", + "#"+dialogDeleteBodyID, + "outerHTML", + "#"+dialogDeleteID) + modalDeleteFormComponent := dev_mdnatunitview.NatUnitForm( + models.NatUnitFormComponent{ + IDComponent: "formnatunit", + Link: "/dev/md/natunit/delete", + HxTarget: "#" + dialogDeleteBodyID, + HxSwap: "outerHTML", + HxInclude: "#tableID, #paginationID, #searchID, #dialogDeleteBodyID, #dialogDeleteID, #dialogEditBodyID, #" + searchID + ", #currpage" + paginationID, + ModalID: dialogDeleteID, + ModalTitle: "New - Unit", + DialogBody: dialogDeleteBodyCmp, + DialogAction: modalActionDeleteCmp, + ButtonCLose: btnCloaseModalDelete, + }, + ) + // content, css, js content := dev_mdnatunitview.MdNatUnitScreen( tableID, @@ -248,12 +298,15 @@ func (nh *MdNatUnitHandler) HandleShowMdNatUnitScreen(c echo.Context) error { dialogAddBodyID, dialogEditID, dialogEditBodyID, + dialogDeleteID, + dialogDeleteBodyID, breadcrumbComponent, tableComponent, natUnitFilterComponent, natUnitPaginationComponent, modalAddFormComponent, modalEditFormComponent, + modalDeleteFormComponent, ) css := dev_mdnatunitview.CssMdNatUnit() js := dev_mdnatunitview.JsMdNatUnit() @@ -277,6 +330,7 @@ func (nh *MdNatUnitHandler) HandleFilterMdNatUnit(c echo.Context) error { tableID := c.QueryParam("tableID") paginationID := c.QueryParam("paginationID") dialogEditBodyID := c.QueryParam("dialogEditBodyID") + dialogDeleteBodyID := c.QueryParam("dialogDeleteBodyID") var retval []templ.Component logger, _ := zap.NewProduction() @@ -294,13 +348,17 @@ func (nh *MdNatUnitHandler) HandleFilterMdNatUnit(c echo.Context) error { "/dev/md/natunit/openedit", "#"+dialogEditBodyID, "outerHTML", - "#dialogEditBodyID, #dialogEditID") + "#dialogEditBodyID, #dialogEditID, #dialogDeleteBodyID, #dialogDeleteID", + "/dev/md/natunit/opendelete", + "#"+dialogDeleteBodyID, + "outerHTML", + "#dialogEditBodyID, #dialogEditID, #dialogDeleteBodyID, #dialogDeleteID") natUnitPaginationComponent := pagination.PaginationV3( totalpage, 1, "/dev/md/natunit/changepage", paginationID, - "#tableID, #searchID, #"+searchID+", #paginationID", + "#tableID, #searchID, #"+searchID+", #paginationID, #dialogEditBodyID, #dialogEditID, #dialogDeleteBodyID, #dialogDeleteID", "#"+paginationID, "outerHTML", "", "", dev_mdnatunitview.BeforeRequestContent(), @@ -318,6 +376,7 @@ func (nh *MdNatUnitHandler) HandlerChangePageMdNatUnit(c echo.Context) error { searchID := c.QueryParam("searchID") paginationID := c.QueryParam("paginationID") dialogEditBodyID := c.QueryParam("dialogEditBodyID") + dialogDeleteBodyID := c.QueryParam("dialogDeleteBodyID") var retval []templ.Component logger, _ := zap.NewProduction() @@ -345,14 +404,18 @@ func (nh *MdNatUnitHandler) HandlerChangePageMdNatUnit(c echo.Context) error { "/dev/md/natunit/openedit", "#"+dialogEditBodyID, "outerHTML", - "#dialogEditBodyID, #dialogEditID", + "#dialogEditBodyID, #dialogEditID, #dialogDeleteBodyID, #dialogDeleteID", + "/dev/md/natunit/opendelete", + "#"+dialogDeleteBodyID, + "outerHTML", + "#dialogEditBodyID, #dialogEditID, #dialogDeleteBodyID, #dialogDeleteID", ) natUnitPaginationComponent := pagination.PaginationV3( totalpage, page, "/dev/md/natunit/changepage", paginationID, - "#tableID, #searchID, #"+searchID+", #paginationID", + "#tableID, #searchID, #"+searchID+", #paginationID, #dialogEditBodyID, #dialogEditID, #dialogDeleteBodyID, #dialogDeleteID", "#"+paginationID, "outerHTML", "", "", dev_mdnatunitview.BeforeRequestContent(), @@ -400,6 +463,7 @@ func (nh *MdNatUnitHandler) HandlerAddNatUnit(c echo.Context) error { dialogAddBodyID := c.FormValue("dialogAddBodyID") dialogAddID := c.FormValue("dialogAddID") dialogEditBodyID := c.FormValue("dialogEditBodyID") + dialogDeleteBodyID := c.FormValue("dialogDeleteBodyID") currPage, err := strconv.Atoi(currPagePrm) if err != nil { @@ -515,7 +579,11 @@ func (nh *MdNatUnitHandler) HandlerAddNatUnit(c echo.Context) error { "/dev/md/natunit/openedit", "#"+dialogEditBodyID, "outerHTML", - "#dialogEditBodyID, #dialogEditID", + "#dialogEditBodyID, #dialogEditID, #dialogDeleteBodyID, #dialogDeleteID", + "/dev/md/natunit/opendelete", + "#"+dialogDeleteBodyID, + "outerHTML", + "#dialogEditBodyID, #dialogEditID, #dialogDeleteBodyID, #dialogDeleteID", ) // pagination component @@ -524,7 +592,7 @@ func (nh *MdNatUnitHandler) HandlerAddNatUnit(c echo.Context) error { currPage, "/dev/md/natunit/changepage", paginationID, - "#tableID, #searchID, #"+searchID+", #paginationID", + "#tableID, #searchID, #"+searchID+", #paginationID, #dialogEditBodyID, #dialogEditID, #dialogDeleteBodyID, #dialogDeleteID", "#"+paginationID, "outerHTML", "", "true", dev_mdnatunitview.BeforeRequestContent(), @@ -652,7 +720,7 @@ func (nh *MdNatUnitHandler) HandlerEditNatUnit(c echo.Context) error { // dialogAddBodyID := c.FormValue("dialogAddBodyID") dialogEditID := c.FormValue("dialogEditID") dialogEditBodyID := c.FormValue("dialogEditBodyID") - // dialogDeleteBodyID := c.FormValue("dialogDeleteBodyID") + dialogDeleteBodyID := c.FormValue("dialogDeleteBodyID") currPage, err := strconv.Atoi(currPagePrm) if err != nil { @@ -768,7 +836,11 @@ func (nh *MdNatUnitHandler) HandlerEditNatUnit(c echo.Context) error { "/dev/md/natunit/openedit", "#"+dialogEditBodyID, "outerHTML", - "#dialogEditBodyID, #dialogEditID", + "#dialogEditBodyID, #dialogEditID, #dialogDeleteBodyID, #dialogDeleteID", + "/dev/md/natunit/opendelete", + "#"+dialogDeleteBodyID, + "outerHTML", + "#dialogEditBodyID, #dialogEditID, #dialogDeleteBodyID, #dialogDeleteID", ) // pagination component @@ -777,7 +849,7 @@ func (nh *MdNatUnitHandler) HandlerEditNatUnit(c echo.Context) error { currPage, "/dev/md/natunit/changepage", paginationID, - "#tableID, #searchID, #"+searchID+", #paginationID, #dialogEditBodyID, #dialogEditID", + "#tableID, #searchID, #"+searchID+", #paginationID, #dialogEditBodyID, #dialogEditID, #dialogDeleteBodyID, #dialogDeleteID", "#"+paginationID, "outerHTML", "", "true", dev_mdnatunitview.BeforeRequestContent(), @@ -811,3 +883,154 @@ func (nh *MdNatUnitHandler) HandlerEditNatUnit(c echo.Context) error { retVal = append(retVal, newForm) return utils.ViewMulti(c, retVal) } + +func (nh *MdNatUnitHandler) HandlerOpenDeleteForm(c echo.Context) error { + id := c.QueryParam("id") + dialogDeleteID := c.QueryParam("dialogDeleteID") + dialogDeleteBodyID := c.QueryParam("dialogDeleteBodyID") + + dataNatUnit, err := nh.MdNatUnitServices.GetMdNatUnitByID(id) + if err != nil { + newForm := dev_mdnatunitview.DeleteConfirmationBody( + models.CustomTextFieldv2Prm{Name: "natunitid", Type: "hidden", Value: strconv.Itoa(dataNatUnit.Nat_UnitID)}, + dialogDeleteBodyID, + "Apakah anda yakin menghapus unit berikut ?", + []string{"Kode", "Unit"}, + []string{"", ""}, + dev_mdnatunitview.JsShowModal("")) + return utils.ViewMulti(c, []templ.Component{customtoastv2.CustomToastV2Show("Error", "Get unit error", "danger"), newForm}) + } + newForm := dev_mdnatunitview.DeleteConfirmationBody( + models.CustomTextFieldv2Prm{Name: "natunitid", Type: "hidden", Value: strconv.Itoa(dataNatUnit.Nat_UnitID)}, + dialogDeleteBodyID, + "Apakah anda yakin menghapus unit berikut ?", + []string{"Kode", "Unit"}, + []string{dataNatUnit.Nat_UnitCode, dataNatUnit.Nat_UnitName}, + dev_mdnatunitview.JsShowModal("#"+dialogDeleteID)) + return utils.View(c, newForm) +} + +func (nh *MdNatUnitHandler) HandlerCloseFormDelete(c echo.Context) error { + dialogDeleteBodyID := c.FormValue("dialogDeleteBodyID") + newForm := dev_mdnatunitview.DeleteConfirmationBody( + models.CustomTextFieldv2Prm{Name: "natunitid", Type: "hidden", Value: ""}, + dialogDeleteBodyID, + "Apakah anda yakin menghapus unit berikut ?", + []string{"Kode", "Unit"}, + []string{"", ""}, + dev_mdnatunitview.JsShowModal("")) + return utils.View(c, newForm) +} + +func (nh *MdNatUnitHandler) HandlerDeleteNatUnit(c echo.Context) error { + logger, _ := zap.NewProduction() + defer logger.Sync() + + // prm form addnatunit + id := c.FormValue("natunitid") + 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 NAT UNIT PARAM", + + zap.Any("tableid", tableID), + zap.Any("search", search), + zap.Any("currpage", currPage), + ) + + // edit nat unit service + dataNatUnit, err := nh.MdNatUnitServices.DeleteMdNatUnit(id) + if err != nil { + logger.Info("Error", + zap.Any("Error", err), + ) + newForm := dev_mdnatunitview.DeleteConfirmationBody( + models.CustomTextFieldv2Prm{Name: "natunitid", Type: "hidden", Value: ""}, + dialogDeleteBodyID, + "Apakah anda yakin menghapus unit berikut ?", + []string{"Kode", "Unit"}, + []string{"", ""}, + dev_mdnatunitview.JsShowModal("")) + return utils.ViewMulti(c, []templ.Component{ + customtoastv2.CustomToastV2Show("Error", err.Error(), "danger"), + newForm}) + } + logger.Info("ADD Unit", + zap.Any("return", dataNatUnit), + ) + + // get list nat unit fo table + dataNatUnitList, totalPage, err := nh.MdNatUnitServices.GetListMdNatUnit(search, currPage, 5) + if err != nil { + defer logger.Sync() + logger.Info("ERROR GET Unit", + zap.Any("error", err), + ) + fmt.Println(dataNatUnit) + return err + } + if len(dataNatUnitList) == 0 && totalPage > 1 { + currPage = currPage - 1 + dataNatUnitList, _, err = nh.MdNatUnitServices.GetListMdNatUnit(search, currPage, 5) + if err != nil { + defer logger.Sync() + logger.Info("ERROR GET UNIT", + zap.Any("error", err), + ) + return err + } + } + + // table component + tableComponent := dev_mdnatunitview.TableNatUnit( + dataNatUnitList, + tableID, + "/dev/md/natunit/openedit", + "#"+dialogEditBodyID, + "outerHTML", + "#dialogEditBodyID, #dialogEditID, #dialogDeleteBodyID, #dialogDeleteID", + "/dev/md/natunit/opendelete", + "#"+dialogDeleteBodyID, + "outerHTML", + "#dialogEditBodyID, #dialogEditID, #dialogDeleteBodyID, #dialogDeleteID", + ) + + // pagination component + natUnitPaginationComponent := pagination.PaginationV3( + totalPage, + currPage, + "/dev/md/natunit/changepage", + paginationID, + "#tableID, #searchID, #"+searchID+", #paginationID, #dialogEditBodyID, #dialogEditID, #dialogDeleteBodyID, #dialogDeleteID", + "#"+paginationID, + "outerHTML", "", "true", + dev_mdnatunitview.BeforeRequestContent(), + dev_mdnatunitview.AfterRequestContent(), + ) + + var retVal []templ.Component + newForm := dev_mdnatunitview.DeleteConfirmationBody( + models.CustomTextFieldv2Prm{Name: "natunitid", Type: "hidden", Value: ""}, + dialogDeleteBodyID, + "Apakah anda yakin menghapus unit berikut ?", + []string{"Kode", "Unit"}, + []string{"", ""}, + dev_mdnatunitview.JsHideModal("#"+dialogDeleteID)) + toastSuccess := customtoastv2.CustomToastV2Show("Success", "Berhasil delete Unit ", "success") + retVal = append(retVal, toastSuccess) + retVal = append(retVal, tableComponent) + retVal = append(retVal, natUnitPaginationComponent) + retVal = append(retVal, newForm) + return utils.ViewMulti(c, retVal) +} diff --git a/handlers/routes.go b/handlers/routes.go index d4929b0..7b37a85 100644 --- a/handlers/routes.go +++ b/handlers/routes.go @@ -258,4 +258,7 @@ func SetupRoutesDev(app *echo.Echo, appStore db.AppStore) { dev.GET("/md/natunit/openedit", devMdNatUnitHandlers.HandlerOpenEditForm) dev.POST("/md/natunit/closeeditform", devMdNatUnitHandlers.HandlerCloseFormEdit) dev.POST("/md/natunit/edit", devMdNatUnitHandlers.HandlerEditNatUnit) + dev.GET("/md/natunit/opendelete", devMdNatUnitHandlers.HandlerOpenDeleteForm) + dev.POST("/md/natunit/closedeleteform", devMdNatUnitHandlers.HandlerCloseFormDelete) + dev.POST("/md/natunit/delete", devMdNatUnitHandlers.HandlerDeleteNatUnit) } diff --git a/services/dev/md.natunit.services.go b/services/dev/md.natunit.services.go index 2ccdb79..94fc76d 100644 --- a/services/dev/md.natunit.services.go +++ b/services/dev/md.natunit.services.go @@ -232,3 +232,31 @@ func (nu *MdNatUnitServices) EditMdNatUnit(id string, code string, name string) } return data, nil } + +func (nu *MdNatUnitServices) DeleteMdNatUnit(id string) (models.NatUnit, error) { + logger, _ := zap.NewProduction() + var data models.NatUnit + qry := `UPDATE nat_unit + SET Nat_UnitLastUpdated = NOW(), + Nat_UnitIsActive = 'N' + WHERE Nat_UnitID = ?` + rst := dbx.Handlex.MustExec(qry, id) + _, err := rst.RowsAffected() + if err != nil { + defer logger.Sync() + logger.Error("Error delete nat unit", + zap.String("id", id), + ) + return data, fmt.Errorf("QUERY_FAILED") + } + + data, err = nu.GetMdNatUnitByID(id) + if err != nil { + defer logger.Sync() + logger.Error("Error get nat unit by id", + zap.String("id", id), + ) + return data, fmt.Errorf("QUERY_FAILED") + } + return data, nil +} diff --git a/views/dev/mdnatunit/mdnatunit.templ b/views/dev/mdnatunit/mdnatunit.templ index ea20950..8553193 100644 --- a/views/dev/mdnatunit/mdnatunit.templ +++ b/views/dev/mdnatunit/mdnatunit.templ @@ -14,12 +14,15 @@ templ MdNatUnitScreen( dialogAddBodyID string, dialogEditID string, dialogEditBodyID string, + dialogDeleteID string, + dialogDeleteBodyID string, breadcrumb templ.Component, tablecontent templ.Component, filterComponent templ.Component, paginationComponent templ.Component, modalAddForm templ.Component, - modalEditForm templ.Component) { + modalEditForm templ.Component, + modalDeleteForm templ.Component) {
@customtextfield.CustomTextFieldv2(models.CustomTextFieldv2Prm{ID: "tableID", Name: "tableID", @@ -49,6 +52,14 @@ templ MdNatUnitScreen( Name: "dialogEditBodyID", Type: "hidden", Value: dialogEditBodyID}) + @customtextfield.CustomTextFieldv2(models.CustomTextFieldv2Prm{ID: "dialogDeleteID", + Name: "dialogDeleteID", + Type: "hidden", + Value: dialogDeleteID}) + @customtextfield.CustomTextFieldv2(models.CustomTextFieldv2Prm{ID: "dialogDeleteBodyID", + Name: "dialogDeleteBodyID", + Type: "hidden", + Value: dialogDeleteBodyID})
@breadcrumb @@ -79,6 +90,7 @@ templ MdNatUnitScreen( @paginationComponent @modalAddForm @modalEditForm + @modalDeleteForm
//
diff --git a/views/dev/mdnatunit/mdnatunit_templ.go b/views/dev/mdnatunit/mdnatunit_templ.go index 4582648..0cd19d8 100644 --- a/views/dev/mdnatunit/mdnatunit_templ.go +++ b/views/dev/mdnatunit/mdnatunit_templ.go @@ -24,12 +24,15 @@ func MdNatUnitScreen( dialogAddBodyID string, dialogEditID string, dialogEditBodyID string, + dialogDeleteID string, + dialogDeleteBodyID string, breadcrumb templ.Component, tablecontent templ.Component, filterComponent templ.Component, paginationComponent templ.Component, modalAddForm templ.Component, - modalEditForm templ.Component) templ.Component { + modalEditForm 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) if !templ_7745c5c3_IsBuffer { @@ -95,6 +98,20 @@ func MdNatUnitScreen( if templ_7745c5c3_Err != nil { return templ_7745c5c3_Err } + templ_7745c5c3_Err = customtextfield.CustomTextFieldv2(models.CustomTextFieldv2Prm{ID: "dialogDeleteID", + Name: "dialogDeleteID", + Type: "hidden", + Value: dialogDeleteID}).Render(ctx, templ_7745c5c3_Buffer) + if templ_7745c5c3_Err != nil { + return templ_7745c5c3_Err + } + templ_7745c5c3_Err = customtextfield.CustomTextFieldv2(models.CustomTextFieldv2Prm{ID: "dialogDeleteBodyID", + Name: "dialogDeleteBodyID", + Type: "hidden", + Value: dialogDeleteBodyID}).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 @@ -110,7 +127,7 @@ func MdNatUnitScreen( 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\mdnatunit\mdnatunit.templ`, Line: 63, Col: 37} + return templ.Error{Err: templ_7745c5c3_Err, FileName: `views\dev\mdnatunit\mdnatunit.templ`, Line: 74, Col: 37} } _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var2)) if templ_7745c5c3_Err != nil { @@ -123,7 +140,7 @@ func MdNatUnitScreen( 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\mdnatunit\mdnatunit.templ`, Line: 72, Col: 36} + return templ.Error{Err: templ_7745c5c3_Err, FileName: `views\dev\mdnatunit\mdnatunit.templ`, Line: 83, Col: 36} } _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var3)) if templ_7745c5c3_Err != nil { @@ -157,6 +174,10 @@ func MdNatUnitScreen( 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/mdnatunit/mdnatunitformmodal.templ b/views/dev/mdnatunit/mdnatunitformmodal.templ index 2422185..f0d47b0 100644 --- a/views/dev/mdnatunit/mdnatunitformmodal.templ +++ b/views/dev/mdnatunit/mdnatunitformmodal.templ @@ -132,3 +132,56 @@ templ BtnCloseFormNatUnit(LinkClose string, targetClose string, hxSwapClose stri } + +templ DeleteConfirmationBody(inputId models.CustomTextFieldv2Prm, + componentID string, + message string, + datHeader []string, + dataText []string, + hxOnLoad templ.ComponentScript) { +
+

{ message }

+
+
+
+ for _, v := range datHeader { +
{ v }
+ } +
+
+ for _, v := range dataText { +
+ { v } +
+ } +
+
+
+ @customtextfield.CustomTextFieldv2(inputId) +
+} + +templ ActionFormUserGroupDelete(LinkClose string, targetClose string, hxSwapClose string, modalID string) { +
+ + +
+} diff --git a/views/dev/mdnatunit/mdnatunitformmodal_templ.go b/views/dev/mdnatunit/mdnatunitformmodal_templ.go index 03ba642..3e93fcd 100644 --- a/views/dev/mdnatunit/mdnatunitformmodal_templ.go +++ b/views/dev/mdnatunit/mdnatunitformmodal_templ.go @@ -445,3 +445,205 @@ func BtnCloseFormNatUnit(LinkClose string, targetClose string, hxSwapClose strin return templ_7745c5c3_Err }) } + +func DeleteConfirmationBody(inputId models.CustomTextFieldv2Prm, + componentID string, + message string, + datHeader []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\mdnatunit\mdnatunitformmodal.templ`, Line: 143, Col: 14} + } + _, 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 datHeader { + _, 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\mdnatunit\mdnatunitformmodal.templ`, Line: 148, Col: 68} + } + _, 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\mdnatunit\mdnatunitformmodal.templ`, Line: 154, Col: 10} + } + _, 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 ActionFormUserGroupDelete(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 + }) +} diff --git a/views/dev/mdnatunit/mdnatunittable.templ b/views/dev/mdnatunit/mdnatunittable.templ index 7f86cf4..ef93b98 100644 --- a/views/dev/mdnatunit/mdnatunittable.templ +++ b/views/dev/mdnatunit/mdnatunittable.templ @@ -12,6 +12,10 @@ templ TableNatUnit(data []models.NatUnit, hxTargetEdit string, hxSwapEdit string, hxIncludeEdit string, + hxGetDelete string, + hxTargetDelete string, + hxSwapDelete string, + hxIncludeDelete string, ) {
@tablecomponent.TableV3([]string{"KODE", "UNIT", "AKSI"}, @@ -21,6 +25,10 @@ templ TableNatUnit(data []models.NatUnit, hxTargetEdit, hxSwapEdit, hxIncludeEdit, + hxGetDelete, + hxTargetDelete, + hxSwapDelete, + hxIncludeDelete, ))
} @@ -30,6 +38,10 @@ templ RowNatUnit(data []models.NatUnit, hxTargetEdit string, hxSwapEdit string, hxIncludeEdit string, + hxGetDelete string, + hxTargetDelete string, + hxSwapDelete string, + hxIncludeDelete string, ) { if len(data) == 0 { @@ -46,6 +58,10 @@ templ RowNatUnit(data []models.NatUnit, hxTargetEdit, hxSwapEdit, hxIncludeEdit, + hxGetDelete, + hxTargetDelete, + hxSwapDelete, + hxIncludeDelete, ) @@ -58,6 +74,10 @@ templ TableAction( hxTargetEdit string, hxSwapEdit string, hxIncludeEdit string, + hxGetDelete string, + hxTargetDelete string, + hxSwapDelete string, + hxIncludeDelete string, ) {
Hapus diff --git a/views/dev/mdnatunit/mdnatunittable_templ.go b/views/dev/mdnatunit/mdnatunittable_templ.go index 9f9d167..e0eaa9b 100644 --- a/views/dev/mdnatunit/mdnatunittable_templ.go +++ b/views/dev/mdnatunit/mdnatunittable_templ.go @@ -22,6 +22,10 @@ func TableNatUnit(data []models.NatUnit, hxTargetEdit string, hxSwapEdit string, hxIncludeEdit string, + hxGetDelete string, + hxTargetDelete string, + hxSwapDelete string, + hxIncludeDelete 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) @@ -42,7 +46,7 @@ func TableNatUnit(data []models.NatUnit, var templ_7745c5c3_Var2 string templ_7745c5c3_Var2, templ_7745c5c3_Err = templ.JoinStringErrs(tableID) if templ_7745c5c3_Err != nil { - return templ.Error{Err: templ_7745c5c3_Err, FileName: `views\dev\mdnatunit\mdnatunittable.templ`, Line: 16, Col: 18} + return templ.Error{Err: templ_7745c5c3_Err, FileName: `views\dev\mdnatunit\mdnatunittable.templ`, Line: 20, Col: 18} } _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var2)) if templ_7745c5c3_Err != nil { @@ -59,6 +63,10 @@ func TableNatUnit(data []models.NatUnit, hxTargetEdit, hxSwapEdit, hxIncludeEdit, + hxGetDelete, + hxTargetDelete, + hxSwapDelete, + hxIncludeDelete, )).Render(ctx, templ_7745c5c3_Buffer) if templ_7745c5c3_Err != nil { return templ_7745c5c3_Err @@ -79,6 +87,10 @@ func RowNatUnit(data []models.NatUnit, hxTargetEdit string, hxSwapEdit string, hxIncludeEdit string, + hxGetDelete string, + hxTargetDelete string, + hxSwapDelete string, + hxIncludeDelete 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) @@ -106,7 +118,7 @@ func RowNatUnit(data []models.NatUnit, var templ_7745c5c3_Var4 string templ_7745c5c3_Var4, templ_7745c5c3_Err = templ.JoinStringErrs(v.Nat_UnitCode) if templ_7745c5c3_Err != nil { - return templ.Error{Err: templ_7745c5c3_Err, FileName: `views\dev\mdnatunit\mdnatunittable.templ`, Line: 41, Col: 23} + return templ.Error{Err: templ_7745c5c3_Err, FileName: `views\dev\mdnatunit\mdnatunittable.templ`, Line: 53, Col: 23} } _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var4)) if templ_7745c5c3_Err != nil { @@ -119,7 +131,7 @@ func RowNatUnit(data []models.NatUnit, var templ_7745c5c3_Var5 string templ_7745c5c3_Var5, templ_7745c5c3_Err = templ.JoinStringErrs(v.Nat_UnitName) if templ_7745c5c3_Err != nil { - return templ.Error{Err: templ_7745c5c3_Err, FileName: `views\dev\mdnatunit\mdnatunittable.templ`, Line: 42, Col: 23} + return templ.Error{Err: templ_7745c5c3_Err, FileName: `views\dev\mdnatunit\mdnatunittable.templ`, Line: 54, Col: 23} } _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var5)) if templ_7745c5c3_Err != nil { @@ -134,6 +146,10 @@ func RowNatUnit(data []models.NatUnit, hxTargetEdit, hxSwapEdit, hxIncludeEdit, + hxGetDelete, + hxTargetDelete, + hxSwapDelete, + hxIncludeDelete, ).Render(ctx, templ_7745c5c3_Buffer) if templ_7745c5c3_Err != nil { return templ_7745c5c3_Err @@ -156,6 +172,10 @@ func TableAction( hxTargetEdit string, hxSwapEdit string, hxIncludeEdit string, + hxGetDelete string, + hxTargetDelete string, + hxSwapDelete string, + hxIncludeDelete 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) @@ -184,7 +204,7 @@ func TableAction( var templ_7745c5c3_Var7 string templ_7745c5c3_Var7, templ_7745c5c3_Err = templ.JoinStringErrs(hxGetEdit + "?id=" + strconv.Itoa(id)) if templ_7745c5c3_Err != nil { - return templ.Error{Err: templ_7745c5c3_Err, FileName: `views\dev\mdnatunit\mdnatunittable.templ`, Line: 66, Col: 49} + return templ.Error{Err: templ_7745c5c3_Err, FileName: `views\dev\mdnatunit\mdnatunittable.templ`, Line: 86, Col: 49} } _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var7)) if templ_7745c5c3_Err != nil { @@ -197,7 +217,7 @@ func TableAction( var templ_7745c5c3_Var8 string templ_7745c5c3_Var8, templ_7745c5c3_Err = templ.JoinStringErrs(hxTargetEdit) if templ_7745c5c3_Err != nil { - return templ.Error{Err: templ_7745c5c3_Err, FileName: `views\dev\mdnatunit\mdnatunittable.templ`, Line: 67, Col: 27} + return templ.Error{Err: templ_7745c5c3_Err, FileName: `views\dev\mdnatunit\mdnatunittable.templ`, Line: 87, Col: 27} } _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var8)) if templ_7745c5c3_Err != nil { @@ -210,7 +230,7 @@ func TableAction( var templ_7745c5c3_Var9 string templ_7745c5c3_Var9, templ_7745c5c3_Err = templ.JoinStringErrs(hxSwapEdit) if templ_7745c5c3_Err != nil { - return templ.Error{Err: templ_7745c5c3_Err, FileName: `views\dev\mdnatunit\mdnatunittable.templ`, Line: 68, Col: 23} + return templ.Error{Err: templ_7745c5c3_Err, FileName: `views\dev\mdnatunit\mdnatunittable.templ`, Line: 88, Col: 23} } _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var9)) if templ_7745c5c3_Err != nil { @@ -223,7 +243,7 @@ func TableAction( var templ_7745c5c3_Var10 string templ_7745c5c3_Var10, templ_7745c5c3_Err = templ.JoinStringErrs(hxIncludeEdit) if templ_7745c5c3_Err != nil { - return templ.Error{Err: templ_7745c5c3_Err, FileName: `views\dev\mdnatunit\mdnatunittable.templ`, Line: 69, Col: 29} + return templ.Error{Err: templ_7745c5c3_Err, FileName: `views\dev\mdnatunit\mdnatunittable.templ`, Line: 89, Col: 29} } _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var10)) if templ_7745c5c3_Err != nil { @@ -236,7 +256,7 @@ func TableAction( var templ_7745c5c3_Var11 string templ_7745c5c3_Var11, templ_7745c5c3_Err = templ.JoinStringErrs("#spnredt" + strconv.Itoa(id)) if templ_7745c5c3_Err != nil { - return templ.Error{Err: templ_7745c5c3_Err, FileName: `views\dev\mdnatunit\mdnatunittable.templ`, Line: 70, Col: 47} + return templ.Error{Err: templ_7745c5c3_Err, FileName: `views\dev\mdnatunit\mdnatunittable.templ`, Line: 90, Col: 47} } _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var11)) if templ_7745c5c3_Err != nil { @@ -267,25 +287,116 @@ func TableAction( var templ_7745c5c3_Var14 string templ_7745c5c3_Var14, templ_7745c5c3_Err = templ.JoinStringErrs("spnredt" + strconv.Itoa(id)) if templ_7745c5c3_Err != nil { - return templ.Error{Err: templ_7745c5c3_Err, FileName: `views\dev\mdnatunit\mdnatunittable.templ`, Line: 74, Col: 42} + return templ.Error{Err: templ_7745c5c3_Err, FileName: `views\dev\mdnatunit\mdnatunittable.templ`, Line: 94, Col: 42} } _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var14)) if templ_7745c5c3_Err != nil { return templ_7745c5c3_Err } - _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("\" class=\"htmx-indicator spinner-border spinner-border-sm\" role=\"status\" aria-hidden=\"true\"> Edit\r Edit\r ") + if templ_7745c5c3_Err != nil { + return templ_7745c5c3_Err + } + templ_7745c5c3_Err = templ.RenderScriptItems(ctx, templ_7745c5c3_Buffer, HandleBeforeRequestRow(strconv.Itoa(id)), HandleAfterRequestRow(strconv.Itoa(id))) + if templ_7745c5c3_Err != nil { + return templ_7745c5c3_Err + } + _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(" Hapus\r
") if templ_7745c5c3_Err != nil { return templ_7745c5c3_Err