feature delete kelainan
This commit is contained in:
@@ -26,6 +26,7 @@ type MasterKelainanService interface {
|
||||
GetKelainanByID(id string) (models.Kelainan, error)
|
||||
AddKelainan(name string) (models.Kelainan, error)
|
||||
EditKelainan(id string, name string) (models.Kelainan, error)
|
||||
DeleteKelainan(id string) (models.Kelainan, error)
|
||||
}
|
||||
|
||||
func NewMasterKelainanHandler(us MasterKelainanService) *MasterKelainanHandler {
|
||||
@@ -88,8 +89,8 @@ func (lh *MasterKelainanHandler) HandlerShowMasterKelainan(c echo.Context) error
|
||||
dialogAddBodyID := utils.GenerateRandomID("dialogaddbodyID")
|
||||
dialogEditID := utils.GenerateRandomID("dialogEditID")
|
||||
dialogEditBodyID := utils.GenerateRandomID("dialogEditBodyID")
|
||||
// dialogdeleteID := utils.GenerateRandomID("dialogdeleteID")
|
||||
// dialogdeleteBodyID := utils.GenerateRandomID("dialogdeleteBodyID")
|
||||
dialogDeleteID := utils.GenerateRandomID("dialogDeleteID")
|
||||
dialogDeleteBodyID := utils.GenerateRandomID("dialogDeletebodyID")
|
||||
|
||||
title := "Master Kelainan"
|
||||
|
||||
@@ -150,7 +151,7 @@ func (lh *MasterKelainanHandler) HandlerShowMasterKelainan(c echo.Context) error
|
||||
Link: "/dev/kelainan/add",
|
||||
HxTarget: "#" + dialogAddBodyID,
|
||||
HxSwap: "outerHTML",
|
||||
HxInclude: "#tableID, #paginationID, #searchID, #dialogAddBodyID, #dialogAddID, #dialogDeleteBodyID, #dialogDeleteID, #dialogEditBodyID, #dialogEditID, #" + searchID + ", #currpage" + paginationID,
|
||||
HxInclude: "#tableID, #paginationID, #searchID, #dialogAddBodyID, #dialogAddID, #" + searchID + ", #currpage" + paginationID,
|
||||
ModalID: dialogAddID,
|
||||
ModalTitle: "New - Grup Kelainan",
|
||||
DialogBody: dialogAddBodyCmp,
|
||||
@@ -164,7 +165,11 @@ func (lh *MasterKelainanHandler) HandlerShowMasterKelainan(c echo.Context) error
|
||||
"/dev/kelainan/openedit",
|
||||
"#"+dialogEditBodyID,
|
||||
"outerHTML",
|
||||
"#dialogEditBodyID, #dialogEditID")
|
||||
"#dialogEditBodyID, #dialogEditID, #dialogDeleteBodyID, #dialogDeleteID",
|
||||
"/dev/kelainan/opendelete",
|
||||
"#"+dialogDeleteBodyID,
|
||||
"outerHTML",
|
||||
"#dialogEditBodyID, #dialogEditID, #dialogDeleteBodyID, #dialogDeleteID")
|
||||
|
||||
// filter kelainan component
|
||||
kelainanFilterComponent := customtextfieldsearch.MainCustomTextFieldSearchV2(searchID,
|
||||
@@ -224,17 +229,58 @@ func (lh *MasterKelainanHandler) HandlerShowMasterKelainan(c echo.Context) error
|
||||
},
|
||||
)
|
||||
|
||||
// modal delete form
|
||||
dialogDeleteBodyComponent := masterkelainan.BodyFormKelainan(
|
||||
models.CustomTextFieldv2Prm{
|
||||
Label: "Nama Grup Kelainan",
|
||||
Name: "kelainanname",
|
||||
Placeholder: "Nama Grup Kelainan",
|
||||
Type: "text", ID: "kelainaninputname"},
|
||||
models.CustomTextFieldv2Prm{
|
||||
Label: "Nama Grup Kelainan",
|
||||
Name: "kelainanid",
|
||||
Placeholder: "Nama Grup Kelainan",
|
||||
Type: "hidden", ID: "kelainaninputid"},
|
||||
dialogDeleteBodyID, masterkelainan.JsHideModal(""))
|
||||
modalActioDeleteComponent := masterkelainan.ActionFormKelainanDelete(
|
||||
"/dev/kelainan/closedeleteform",
|
||||
"#"+dialogDeleteBodyID,
|
||||
"outerHTML",
|
||||
"#"+dialogDeleteID)
|
||||
btnCloaseModalDelete := masterkelainan.BtnCloseFormKelainan(
|
||||
"/dev/kelainan/closedeleteform",
|
||||
"#"+dialogDeleteBodyID,
|
||||
"outerHTML",
|
||||
"#"+dialogDeleteID)
|
||||
modalDeleteFormComponent := masterkelainan.KelainanForm(
|
||||
models.KelainanFormComponent{
|
||||
IDComponent: "formkelainan",
|
||||
Link: "/dev/kelainan/delete",
|
||||
HxTarget: "#" + dialogDeleteBodyID,
|
||||
HxSwap: "outerHTML",
|
||||
HxInclude: "#tableID, #paginationID, #searchID, #dialogDeleteBodyID, #dialogDeleteID, #" + searchID + ", #currpage" + paginationID,
|
||||
ModalID: dialogDeleteID,
|
||||
ModalTitle: "Konfirmasi",
|
||||
DialogBody: dialogDeleteBodyComponent,
|
||||
DialogAction: modalActioDeleteComponent,
|
||||
ButtonCLose: btnCloaseModalDelete,
|
||||
},
|
||||
)
|
||||
|
||||
// content, css, js
|
||||
content := masterkelainan.ContentMasterKelainan(
|
||||
tableID, paginationID, searchID, dialogAddID, dialogAddBodyID,
|
||||
dialogEditID,
|
||||
dialogEditBodyID,
|
||||
dialogDeleteID,
|
||||
dialogDeleteBodyID,
|
||||
breadcrumbComponent,
|
||||
contentKelainanComponent,
|
||||
kelainanFilterComponent,
|
||||
kelainanPaginationComponent,
|
||||
modaladdcomponent,
|
||||
modalEditFormComponent)
|
||||
modalEditFormComponent,
|
||||
modalDeleteFormComponent)
|
||||
css := masterkelainan.CssKelainan()
|
||||
js := masterkelainan.JsMdKelainan()
|
||||
|
||||
@@ -257,7 +303,7 @@ func (lh *MasterKelainanHandler) HandlerShowMasterKelainanSearch(c echo.Context)
|
||||
tableID := c.QueryParam("tableID")
|
||||
paginationID := c.QueryParam("paginationID")
|
||||
dialogEditBodyID := c.QueryParam("dialogEditBodyID")
|
||||
// dialogDeleteBodyID := c.QueryParam("dialogDeleteBodyID")
|
||||
dialogDeleteBodyID := c.QueryParam("dialogDeleteBodyID")
|
||||
logger, _ := zap.NewProduction()
|
||||
|
||||
dataKelainan, totalpage, err := lh.MasterKelainanService.GetListMasterKelainan(search, 1, 5)
|
||||
@@ -275,7 +321,11 @@ func (lh *MasterKelainanHandler) HandlerShowMasterKelainanSearch(c echo.Context)
|
||||
"/dev/kelainan/openedit",
|
||||
"#"+dialogEditBodyID,
|
||||
"outerHTML",
|
||||
"#dialogEditBodyID, #dialogEditID")
|
||||
"#dialogEditBodyID, #dialogEditID, #dialogDeleteBodyID, #dialogDeleteID",
|
||||
"/dev/kelainan/opendelete",
|
||||
"#"+dialogDeleteBodyID,
|
||||
"outerHTML",
|
||||
"#dialogEditBodyID, #dialogEditID, #dialogDeleteBodyID, #dialogDeleteID")
|
||||
|
||||
kelainanPaginationComponent := pagination.PaginationV2(totalpage,
|
||||
1,
|
||||
@@ -298,7 +348,7 @@ func (lh *MasterKelainanHandler) HandlerShowMasterKelainanPagination(c echo.Cont
|
||||
searchID := c.QueryParam("searchID")
|
||||
paginationID := c.QueryParam("paginationID")
|
||||
dialogEditBodyID := c.QueryParam("dialogEditBodyID")
|
||||
// dialogDeleteBodyID := c.QueryParam("dialogDeleteBodyID")
|
||||
dialogDeleteBodyID := c.QueryParam("dialogDeleteBodyID")
|
||||
page, err := strconv.Atoi(pageparam)
|
||||
if err != nil {
|
||||
defer logger.Sync()
|
||||
@@ -324,7 +374,12 @@ func (lh *MasterKelainanHandler) HandlerShowMasterKelainanPagination(c echo.Cont
|
||||
"/dev/kelainan/openedit",
|
||||
"#"+dialogEditBodyID,
|
||||
"outerHTML",
|
||||
"#dialogEditBodyID, #dialogEditID")
|
||||
"#dialogEditBodyID, #dialogEditID, #dialogDeleteBodyID, #dialogDeleteID",
|
||||
"/dev/kelainan/opendelete",
|
||||
"#"+dialogDeleteBodyID,
|
||||
"outerHTML",
|
||||
"#dialogEditBodyID, #dialogEditID, #dialogDeleteBodyID, #dialogDeleteID",
|
||||
)
|
||||
|
||||
kelainanPaginationComponent := pagination.PaginationV2(totalpage,
|
||||
page,
|
||||
@@ -351,7 +406,7 @@ func (lh *MasterKelainanHandler) AddKelainan(c echo.Context) error {
|
||||
dialogAddBodyID := c.FormValue("dialogAddBodyID")
|
||||
dialogAddID := c.FormValue("dialogAddID")
|
||||
dialogEditBodyID := c.FormValue("dialogEditBodyID")
|
||||
// dialogDeleteBodyID := c.FormValue("dialogDeleteBodyID")
|
||||
dialogDeleteBodyID := c.FormValue("dialogDeleteBodyID")
|
||||
|
||||
currPage, err := strconv.Atoi(currPagePrm)
|
||||
|
||||
@@ -454,10 +509,14 @@ func (lh *MasterKelainanHandler) AddKelainan(c echo.Context) error {
|
||||
// New table listing
|
||||
contentKelainanComponent := masterkelainan.TableKelainan(
|
||||
dataKelainanList, tableID,
|
||||
"",
|
||||
"/dev/kelainan/openedit",
|
||||
"#"+dialogEditBodyID,
|
||||
"outerHTML",
|
||||
"#dialogEditBodyID, #dialogEditID")
|
||||
"#dialogEditBodyID, #dialogEditID, #dialogDeleteBodyID, #dialogDeleteID",
|
||||
"/dev/kelainan/opendelete",
|
||||
"#"+dialogDeleteBodyID,
|
||||
"outerHTML",
|
||||
"#dialogEditBodyID, #dialogEditID, #dialogDeleteBodyID, #dialogDeleteID")
|
||||
|
||||
// New pagination
|
||||
kelainanPaginationComponent := pagination.PaginationV2(totalpage,
|
||||
@@ -565,6 +624,7 @@ func (lh *MasterKelainanHandler) HandleEditKelainan(c echo.Context) error {
|
||||
currPagePrm := c.FormValue("currpage" + paginationID)
|
||||
dialogEditID := c.FormValue("dialogEditID")
|
||||
dialogEditBodyID := c.FormValue("dialogEditBodyID")
|
||||
dialogDeleteBodyID := c.FormValue("dialogDeleteBodyID")
|
||||
|
||||
currPage, err := strconv.Atoi(currPagePrm)
|
||||
if err != nil {
|
||||
@@ -648,12 +708,17 @@ func (lh *MasterKelainanHandler) HandleEditKelainan(c echo.Context) error {
|
||||
}
|
||||
|
||||
// Table component
|
||||
tableComponent := masterkelainan.TableKelainan(dataKelainanList,
|
||||
tableComponent := masterkelainan.TableKelainan(
|
||||
dataKelainanList,
|
||||
tableID,
|
||||
"/dev/kelainan/openedit",
|
||||
"#"+dialogEditBodyID,
|
||||
"outerHTML",
|
||||
"#dialogEditBodyID, #dialogEditID")
|
||||
"#dialogEditBodyID, #dialogEditID, #dialogDeleteBodyID, #dialogDeleteID",
|
||||
"/dev/kelainan/opendelete",
|
||||
"#"+dialogDeleteBodyID,
|
||||
"outerHTML",
|
||||
"#dialogEditBodyID, #dialogEditID, #dialogDeleteBodyID, #dialogDeleteID")
|
||||
|
||||
// pagination component
|
||||
kelainanPaginationComponent := pagination.PaginationV2(
|
||||
@@ -661,7 +726,7 @@ func (lh *MasterKelainanHandler) HandleEditKelainan(c echo.Context) error {
|
||||
currPage,
|
||||
"/dev/kelainanpagination",
|
||||
paginationID,
|
||||
"#tableID, #searchID, #"+searchID+", #paginationID, #dialogEditBodyID, #dialogEditID",
|
||||
"#tableID, #searchID, #"+searchID+", #paginationID, #dialogEditBodyID, #dialogEditID, #dialogDeleteBodyID, #dialogDeleteID",
|
||||
"#"+paginationID,
|
||||
"outerHTML", "", "true",
|
||||
)
|
||||
@@ -685,3 +750,147 @@ func (lh *MasterKelainanHandler) HandleEditKelainan(c echo.Context) error {
|
||||
|
||||
return utils.ViewMulti(c, retval)
|
||||
}
|
||||
|
||||
func (lh *MasterKelainanHandler) HandleOpenDeleteForm(c echo.Context) error {
|
||||
id := c.QueryParam("id")
|
||||
dialogDeleteID := c.QueryParam("dialogDeleteID")
|
||||
dialogDeleteBodyID := c.QueryParam("dialogDeleteBodyID")
|
||||
|
||||
dataKelainan, err := lh.MasterKelainanService.GetKelainanByID(id)
|
||||
if err != nil {
|
||||
newForm := masterkelainan.DeleteConfirmationBody(
|
||||
models.CustomTextFieldv2Prm{Name: "kelainanid", Type: "hidden", Value: strconv.Itoa(dataKelainan.Mcu_KelainanGroupID)},
|
||||
dialogDeleteBodyID,
|
||||
"Apakah anda yakin menghapus grup kelainan berikut ?",
|
||||
[]string{"Kelainan Grup"},
|
||||
[]string{""},
|
||||
masterkelainan.JsShowModal(""))
|
||||
return utils.ViewMulti(c, []templ.Component{customtoastv2.CustomToastV2Show("Error", "Get kelainan grup error", "danger"), newForm})
|
||||
}
|
||||
newForm := masterkelainan.DeleteConfirmationBody(
|
||||
models.CustomTextFieldv2Prm{Name: "kelainanid", Type: "hidden", Value: strconv.Itoa(dataKelainan.Mcu_KelainanGroupID)},
|
||||
dialogDeleteBodyID,
|
||||
"Apakah anda yakin menghapus grup kelainan berikut ?",
|
||||
[]string{"Nama Grup"},
|
||||
[]string{dataKelainan.Mcu_KelainanGroupName},
|
||||
masterkelainan.JsShowModal("#"+dialogDeleteID))
|
||||
return utils.View(c, newForm)
|
||||
}
|
||||
|
||||
func (lh *MasterKelainanHandler) HandleCloseFormDelete(c echo.Context) error {
|
||||
dialogDeleteBodyID := c.FormValue("dialogDeleteBodyID")
|
||||
newForm := masterkelainan.DeleteConfirmationBody(
|
||||
models.CustomTextFieldv2Prm{Name: "kelainanid", Type: "hidden", Value: ""},
|
||||
dialogDeleteBodyID,
|
||||
"Apakah anda yakin menghapus grup kelainan berikut ?",
|
||||
[]string{"Grup Kelainan"},
|
||||
[]string{""},
|
||||
masterkelainan.JsShowModal(""))
|
||||
return utils.View(c, newForm)
|
||||
}
|
||||
|
||||
func (lh *MasterKelainanHandler) HandleDeleteKelainan(c echo.Context) error {
|
||||
|
||||
logger, _ := zap.NewProduction()
|
||||
defer logger.Sync()
|
||||
|
||||
//prm form kelainan
|
||||
id := c.FormValue("kelainanid")
|
||||
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 KELAINAN PARAM",
|
||||
zap.Any("tableid", tableID),
|
||||
zap.Any("search", search),
|
||||
zap.Any("currpage", currPage),
|
||||
)
|
||||
|
||||
//edit user group service
|
||||
dataKelainan, err := lh.MasterKelainanService.DeleteKelainan(id)
|
||||
if err != nil {
|
||||
logger.Info("Error",
|
||||
zap.Any("Error", err),
|
||||
)
|
||||
newForm := masterkelainan.DeleteConfirmationBody(
|
||||
models.CustomTextFieldv2Prm{Name: "kelainanid", Type: "hidden", Value: ""},
|
||||
dialogDeleteBodyID,
|
||||
"Apakah anda yakin menghapus grup kelaian berikut ?",
|
||||
[]string{"Nama Grup"},
|
||||
[]string{""},
|
||||
masterkelainan.JsShowModal(""))
|
||||
return utils.ViewMulti(c, []templ.Component{
|
||||
customtoastv2.CustomToastV2Show("Error", err.Error(), "danger"),
|
||||
newForm})
|
||||
|
||||
}
|
||||
logger.Info("ADD KELAINAN",
|
||||
zap.Any("return", dataKelainan),
|
||||
)
|
||||
//get list user group for table
|
||||
dataKelainanList, totalPage, err := lh.MasterKelainanService.GetListMasterKelainan(search, currPage, 5)
|
||||
if err != nil {
|
||||
defer logger.Sync()
|
||||
logger.Info("ERROR GET KELAINAN",
|
||||
zap.Any("error", err),
|
||||
)
|
||||
fmt.Println(dataKelainan)
|
||||
return err
|
||||
}
|
||||
if len(dataKelainanList) == 0 && totalPage > 1 {
|
||||
currPage = currPage - 1
|
||||
dataKelainanList, _, err = lh.MasterKelainanService.GetListMasterKelainan(search, currPage, 5)
|
||||
if err != nil {
|
||||
defer logger.Sync()
|
||||
logger.Info("ERROR GET KELAINAN",
|
||||
zap.Any("error", err),
|
||||
)
|
||||
return err
|
||||
}
|
||||
}
|
||||
//table component
|
||||
tableComponent := masterkelainan.TableKelainan(dataKelainanList,
|
||||
tableID,
|
||||
"/dev/kelainan/openedit",
|
||||
"#"+dialogEditBodyID,
|
||||
"outerHTML",
|
||||
"#dialogEditBodyID, #dialogEditID, #dialogDeleteBodyID, #dialogDeleteID",
|
||||
"/dev/kelainan/opendelete",
|
||||
"#"+dialogDeleteBodyID,
|
||||
"outerHTML",
|
||||
"#dialogEditBodyID, #dialogEditID, #dialogDeleteBodyID, #dialogDeleteID")
|
||||
|
||||
//pagination component
|
||||
kelainanPaginationComponent := pagination.PaginationV2(
|
||||
totalPage,
|
||||
currPage,
|
||||
"/dev/kelainanpagination",
|
||||
paginationID,
|
||||
"#tableID, #searchID, #"+searchID+", #paginationID, #dialogEditBodyID, #dialogEditID, #dialogDeleteBodyID, #dialogDeleteID",
|
||||
"#"+paginationID,
|
||||
"outerHTML", "", "true",
|
||||
)
|
||||
|
||||
newForm := masterkelainan.DeleteConfirmationBody(
|
||||
models.CustomTextFieldv2Prm{Name: "kelainanid", Type: "hidden", Value: ""},
|
||||
dialogDeleteBodyID,
|
||||
"Apakah anda yakin menghapus grup kelainan berikut ?",
|
||||
[]string{"Grup Kelainan"},
|
||||
[]string{""},
|
||||
masterkelainan.JsHideModal("#"+dialogDeleteID))
|
||||
toastSuccess := customtoastv2.CustomToastV2Show("Success", "Berhasil delete Grup Kelainan ", "success")
|
||||
|
||||
retVal := []templ.Component{toastSuccess, tableComponent, kelainanPaginationComponent, newForm}
|
||||
|
||||
return utils.ViewMulti(c, retVal)
|
||||
}
|
||||
|
||||
@@ -223,4 +223,7 @@ func SetupRoutesDev(app *echo.Echo, appStore db.AppStore) {
|
||||
dev.GET("/kelainan/openedit", devKLhandlers.HandleOpenEditForm)
|
||||
dev.POST("/kelainan/closeeditform", devKLhandlers.HandleCloseFormEdit)
|
||||
dev.POST("/kelainan/edit", devKLhandlers.HandleEditKelainan)
|
||||
dev.GET("/kelainan/opendelete", devKLhandlers.HandleOpenDeleteForm)
|
||||
dev.POST("/kelainan/closedeleteform", devKLhandlers.HandleCloseFormDelete)
|
||||
dev.POST("/kelainan/delete", devKLhandlers.HandleDeleteKelainan)
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user