hapus edit

This commit is contained in:
Hanan Askarim
2024-06-03 15:36:53 +07:00
parent aea6e5e60b
commit 7a3c7e41f2
7 changed files with 33 additions and 494 deletions

View File

@@ -25,7 +25,6 @@ type MasterKelainanService interface {
GetListMasterKelainan(search string, currentPage int, rowPerPage int) ([]models.Kelainan, int, error)
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)
GetListMasterKelainanDetail(id string, searchdetail string, currentPage int, rowPerPage int) ([]models.KelainanDetail, int, error)
AddKelainanDetail(name string, nameclassification string, selectedid string) (models.KelainanDetail, error)
@@ -115,8 +114,6 @@ func (lh *MasterKelainanHandler) HandlerShowMasterKelainan(c echo.Context) error
searchID := utils.GenerateRandomID("searchid")
dialogAddID := utils.GenerateRandomID("dialogaddID")
dialogAddBodyID := utils.GenerateRandomID("dialogaddbodyID")
dialogEditID := utils.GenerateRandomID("dialogEditID")
dialogEditBodyID := utils.GenerateRandomID("dialogEditBodyID")
dialogDeleteID := utils.GenerateRandomID("dialogDeleteID")
dialogDeleteBodyID := utils.GenerateRandomID("dialogDeletebodyID")
@@ -179,7 +176,7 @@ func (lh *MasterKelainanHandler) HandlerShowMasterKelainan(c echo.Context) error
Link: "/dev/kelainan/add",
HxTarget: "#" + dialogAddBodyID,
HxSwap: "outerHTML",
HxInclude: "#tableID, #paginationID, #searchID, #dialogAddBodyID, #dialogAddID, #" + searchID + ", #currpage" + paginationID + ",#dialogDeleteBodyID, #dialogDeleteID, #dialogEditBodyID, #dialogEditID",
HxInclude: "#tableID, #paginationID, #searchID, #dialogAddBodyID, #dialogAddID, #" + searchID + ", #currpage" + paginationID + ",#dialogDeleteBodyID, #dialogDeleteID, #dialogEditID",
ModalID: dialogAddID,
ModalTitle: "New - Grup Kelainan",
DialogBody: dialogAddBodyCmp,
@@ -190,14 +187,10 @@ func (lh *MasterKelainanHandler) HandlerShowMasterKelainan(c echo.Context) error
// component table listing kelainan
contentKelainanComponent := masterkelainan.TableKelainan(
dataKelainan, tableID,
"/dev/kelainan/openedit",
"#"+dialogEditBodyID,
"outerHTML",
"#dialogEditBodyID, #dialogEditID, #dialogDeleteBodyID, #dialogDeleteID, #tableDetailID",
"/dev/kelainan/opendelete",
"#"+dialogDeleteBodyID,
"outerHTML",
"#dialogEditBodyID, #dialogEditID, #dialogDeleteBodyID, #dialogDeleteID, #tableDetailID",
"#dialogDeleteBodyID, #dialogDeleteID, #tableDetailID",
"/dev/kelainan/selected",
"#"+tableDetailID,
)
@@ -209,7 +202,7 @@ func (lh *MasterKelainanHandler) HandlerShowMasterKelainan(c echo.Context) error
"text",
"/dev/searchkelainan",
"input changed delay:500ms, search",
"#"+paginationID, "", "", "outerHTML", "#tableID, #paginationID, #searchID, #dialogEditBodyID, #dialogEditID, #dialogDeleteBodyID, #dialogDeleteID")
"#"+paginationID, "", "", "outerHTML", "#tableID, #paginationID, #searchID, #dialogDeleteBodyID, #dialogDeleteID")
// pagination kelainan component
kelainanPaginationComponent := pagination.PaginationV2(
@@ -217,49 +210,11 @@ func (lh *MasterKelainanHandler) HandlerShowMasterKelainan(c echo.Context) error
1,
"/dev/kelainanpagination",
paginationID,
"#tableID, #searchID, #"+searchID+", #paginationID, #dialogEditBodyID, #dialogEditID, #dialogDeleteBodyID, #dialogDeleteID, #tableDetailID",
"#tableID, #searchID, #"+searchID+", #paginationID, #dialogDeleteBodyID, #dialogDeleteID, #tableDetailID",
"#"+paginationID,
"outerHTML", "", "",
)
// modal edit form
dialogEditBodyComponent := 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"},
dialogEditBodyID, masterkelainan.JsHideModal(""))
modalActioEditComponent := masterkelainan.ActionFormKelainan(
"/dev/kelainan/closeeditform",
"#"+dialogEditBodyID,
"outerHTML",
"#"+dialogEditID)
btnCloaseModalEdit := masterkelainan.BtnCloseFormKelainan(
"/dev/kelainan/closeeditform",
"#"+dialogEditBodyID,
"outerHTML",
"#"+dialogEditID)
modalEditFormComponent := masterkelainan.KelainanForm(
models.KelainanFormComponent{
IDComponent: "formkelainan",
Link: "/dev/kelainan/edit",
HxTarget: "#" + dialogEditBodyID,
HxSwap: "outerHTML",
HxInclude: "#tableID, #paginationID, #searchID, #dialogEditBodyID, #dialogEditID, #" + searchID + ", #currpage" + paginationID + ",#dialogDeleteBodyID, #dialogDeleteID",
ModalID: dialogEditID,
ModalTitle: "New - Grup Kelainan",
DialogBody: dialogEditBodyComponent,
DialogAction: modalActioEditComponent,
ButtonCLose: btnCloaseModalEdit,
},
)
// modal delete form
dialogDeleteBodyComponent := masterkelainan.BodyFormKelainan(
models.CustomTextFieldv2Prm{
@@ -289,7 +244,7 @@ func (lh *MasterKelainanHandler) HandlerShowMasterKelainan(c echo.Context) error
Link: "/dev/kelainan/delete",
HxTarget: "#" + dialogDeleteBodyID,
HxSwap: "outerHTML",
HxInclude: "#tableID, #paginationID, #searchID, #dialogDeleteBodyID, #dialogDeleteID, #" + searchID + ", #currpage" + paginationID + ",#dialogEditBodyID, #dialogEditID",
HxInclude: "#tableID, #paginationID, #searchID, #dialogDeleteBodyID, #dialogDeleteID, #" + searchID + ", #currpage" + paginationID,
ModalID: dialogDeleteID,
ModalTitle: "Konfirmasi",
DialogBody: dialogDeleteBodyComponent,
@@ -432,8 +387,6 @@ func (lh *MasterKelainanHandler) HandlerShowMasterKelainan(c echo.Context) error
// content, css, js
content := masterkelainan.ContentMasterKelainan(
tableID, paginationID, searchID, dialogAddID, dialogAddBodyID,
dialogEditID,
dialogEditBodyID,
dialogDeleteID,
dialogDeleteBodyID,
tableDetailID,
@@ -448,7 +401,6 @@ func (lh *MasterKelainanHandler) HandlerShowMasterKelainan(c echo.Context) error
kelainanFilterComponent,
kelainanPaginationComponent,
modaladdcomponent,
modalEditFormComponent,
modalDeleteFormComponent,
contentKelainanDetailCmp,
kelainanDetailFilterCmp,
@@ -477,7 +429,6 @@ func (lh *MasterKelainanHandler) HandlerShowMasterKelainanSearch(c echo.Context)
tableID := c.QueryParam("tableID")
tableDetailID := c.QueryParam("tableDetailID")
paginationID := c.QueryParam("paginationID")
dialogEditBodyID := c.QueryParam("dialogEditBodyID")
dialogDeleteBodyID := c.QueryParam("dialogDeleteBodyID")
logger, _ := zap.NewProduction()
@@ -493,14 +444,10 @@ func (lh *MasterKelainanHandler) HandlerShowMasterKelainanSearch(c echo.Context)
contentKelainanComponent := masterkelainan.TableKelainan(
dataKelainan, tableID,
"/dev/kelainan/openedit",
"#"+dialogEditBodyID,
"outerHTML",
"#dialogEditBodyID, #dialogEditID, #dialogDeleteBodyID, #dialogDeleteID, #tableDetailID",
"/dev/kelainan/opendelete",
"#"+dialogDeleteBodyID,
"outerHTML",
"#dialogEditBodyID, #dialogEditID, #dialogDeleteBodyID, #dialogDeleteID, #tableDetailID",
"#dialogDeleteBodyID, #dialogDeleteID, #tableDetailID",
"/dev/kelainan/selected",
"#"+tableDetailID,
)
@@ -509,7 +456,7 @@ func (lh *MasterKelainanHandler) HandlerShowMasterKelainanSearch(c echo.Context)
1,
"/dev/kelainanpagination",
paginationID,
"#tableID, #searchID, #"+searchID+", #paginationID, #dialogEditBodyID, #dialogEditID, #dialogDeleteBodyID, #dialogDeleteID, #tableDetailID",
"#tableID, #searchID, #"+searchID+", #paginationID, #dialogDeleteBodyID, #dialogDeleteID, #tableDetailID",
"#"+paginationID, "outerHTML", "", "")
retval := []templ.Component{contentKelainanComponent, kelainanPaginationComponent}
@@ -526,7 +473,6 @@ func (lh *MasterKelainanHandler) HandlerShowMasterKelainanPagination(c echo.Cont
tableDetailID := c.QueryParam("tableDetailID")
searchID := c.QueryParam("searchID")
paginationID := c.QueryParam("paginationID")
dialogEditBodyID := c.QueryParam("dialogEditBodyID")
dialogDeleteBodyID := c.QueryParam("dialogDeleteBodyID")
page, err := strconv.Atoi(pageparam)
if err != nil {
@@ -550,14 +496,10 @@ func (lh *MasterKelainanHandler) HandlerShowMasterKelainanPagination(c echo.Cont
contentKelainanComponent := masterkelainan.TableKelainan(
dataKelainan, tableID,
"/dev/kelainan/openedit",
"#"+dialogEditBodyID,
"outerHTML",
"#dialogEditBodyID, #dialogEditID, #dialogDeleteBodyID, #dialogDeleteID, #tableDetailID",
"/dev/kelainan/opendelete",
"#"+dialogDeleteBodyID,
"outerHTML",
"#dialogEditBodyID, #dialogEditID, #dialogDeleteBodyID, #dialogDeleteID, #tableDetailID",
"#dialogDeleteBodyID, #dialogDeleteID, #tableDetailID",
"/dev/kelainan/selected",
"#"+tableDetailID,
)
@@ -566,7 +508,7 @@ func (lh *MasterKelainanHandler) HandlerShowMasterKelainanPagination(c echo.Cont
page,
"/dev/kelainanpagination",
paginationID,
"#tableID, #searchID, #"+searchID+", #paginationID, #dialogEditBodyID, #dialogEditID, #dialogDeleteBodyID, #dialogDeleteID, #tableDetailID",
"#tableID, #searchID, #"+searchID+", #paginationID, #dialogDeleteBodyID, #dialogDeleteID, #tableDetailID",
"#"+paginationID, "outerHTML", "", "")
retval := []templ.Component{contentKelainanComponent, kelainanPaginationComponent}
@@ -587,7 +529,6 @@ func (lh *MasterKelainanHandler) AddKelainan(c echo.Context) error {
currPagePrm := c.FormValue("currpage" + paginationID)
dialogAddBodyID := c.FormValue("dialogAddBodyID")
dialogAddID := c.FormValue("dialogAddID")
dialogEditBodyID := c.FormValue("dialogEditBodyID")
dialogDeleteBodyID := c.FormValue("dialogDeleteBodyID")
currPage, err := strconv.Atoi(currPagePrm)
@@ -691,14 +632,10 @@ func (lh *MasterKelainanHandler) AddKelainan(c echo.Context) error {
// New table listing
contentKelainanComponent := masterkelainan.TableKelainan(
dataKelainanList, tableID,
"/dev/kelainan/openedit",
"#"+dialogEditBodyID,
"outerHTML",
"#dialogEditBodyID, #dialogEditID, #dialogDeleteBodyID, #dialogDeleteID, #tableDetailID",
"/dev/kelainan/opendelete",
"#"+dialogDeleteBodyID,
"outerHTML",
"#dialogEditBodyID, #dialogEditID, #dialogDeleteBodyID, #dialogDeleteID, #tableDetailID",
"#dialogDeleteBodyID, #dialogDeleteID, #tableDetailID",
"/dev/kelainan/selected",
"#"+tableDetailID,
)
@@ -708,7 +645,7 @@ func (lh *MasterKelainanHandler) AddKelainan(c echo.Context) error {
currPage,
"/dev/kelainanpagination",
paginationID,
"#tableID, #searchID, #"+searchID+", #paginationID, #dialogEditBodyID, #dialogEditID, #dialogDeleteBodyID, #dialogDeleteID, #tableDetailID",
"#tableID, #searchID, #"+searchID+", #paginationID, #dialogDeleteBodyID, #dialogDeleteID, #tableDetailID",
"#"+paginationID, "outerHTML", "", "true")
toastSuccess := customtoastv2.CustomToastV2Show("Success", "Success add kelainan "+name, "success")
@@ -736,210 +673,6 @@ func (lh *MasterKelainanHandler) HandleCloseFormAdd(c echo.Context) error {
return utils.View(c, newForm)
}
func (lh *MasterKelainanHandler) HandleOpenEditForm(c echo.Context) error {
id := c.QueryParam("id")
dialogEditID := c.QueryParam("dialogEditID")
dialogEditBodyID := c.QueryParam("dialogEditBodyID")
dataKelainan, err := lh.MasterKelainanService.GetKelainanByID(id)
if err != nil {
newForm := 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"},
dialogEditBodyID, masterkelainan.JsHideModal(""))
return utils.ViewMulti(c, []templ.Component{customtoastv2.CustomToastV2Show("Error", "Get kelainan grup error", "danger"), newForm})
}
newForm := masterkelainan.BodyFormKelainan(
models.CustomTextFieldv2Prm{
Label: "Nama Grup Kelainan",
Name: "kelainanname",
Placeholder: "Nama Grup Kelainan",
Value: dataKelainan.Mcu_KelainanGroupName,
Type: "text",
ID: "kelainaninputname"},
models.CustomTextFieldv2Prm{Label: "Nama Grup Kelainan",
Name: "kelainanid",
Placeholder: "Nama Grup Kelainan",
Value: strconv.Itoa(dataKelainan.Mcu_KelainanGroupID),
Type: "hidden",
ID: "kelainaninputid"},
dialogEditBodyID, masterkelainan.JsShowModal("#"+dialogEditID))
return utils.View(c, newForm)
}
func (lh *MasterKelainanHandler) HandleCloseFormEdit(c echo.Context) error {
dialogEditBodyID := c.FormValue("dialogEditBodyID")
newForm := 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"},
dialogEditBodyID, masterkelainan.JsHideModal(""))
return utils.View(c, newForm)
}
func (lh *MasterKelainanHandler) HandleEditKelainan(c echo.Context) error {
logger, _ := zap.NewProduction()
defer logger.Sync()
//prm form editkelainan
name := c.FormValue("kelainanname")
id := c.FormValue("kelainanid")
tableID := c.FormValue("tableID")
tableDetailID := c.FormValue("tableDetailID")
paginationID := c.FormValue("paginationID")
searchID := c.FormValue("searchID")
search := c.FormValue("search")
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 {
return err
}
logger.Info("EDIT KELAINAN",
zap.Any("nama", name),
zap.Any("tableid", tableID),
zap.Any("search", search),
zap.Any("currpage", currPage),
)
// form validation
nameValidation := ""
if strings.TrimSpace(name) == "" {
nameValidation = "Nama grup kelainan tidak boleh kosong"
}
if nameValidation != "" {
newForm := masterkelainan.BodyFormKelainan(
models.CustomTextFieldv2Prm{
Label: "Nama Grup Kelainan",
Name: "kelainanname",
Placeholder: "Nama Grup Kelainan",
Type: "text",
Value: name,
ID: "kelainaninputname",
ErrorMsg: nameValidation},
models.CustomTextFieldv2Prm{Label: "Nama Grup Kelainan",
Name: "kelainanid",
Placeholder: "Nama Grup Kelainan",
Type: "hidden",
ID: "kelainaninputid"},
dialogEditBodyID, masterkelainan.JsHideModal(""))
return utils.ViewMulti(c, []templ.Component{
customtoastv2.CustomToastV2Show("Warning", nameValidation, "warning"), newForm})
}
// edit kelainan service
dataKelainan, err := lh.MasterKelainanService.EditKelainan(id, name)
if err != nil {
logger.Info("Error",
zap.Any("Error", err),
zap.Any("name", name),
)
newForm := masterkelainan.BodyFormKelainan(
models.CustomTextFieldv2Prm{
Label: "Nama Grup Kelainan",
Name: "kelainanname",
Placeholder: "Nama Grup Kelainan",
Type: "text",
Value: name,
ID: "kelainaninputname",
},
models.CustomTextFieldv2Prm{Label: "Nama Grup Kelainan",
Name: "kelainanid",
Placeholder: "Nama Grup Kelainan",
Type: "hidden",
ID: "kelainaninputid"},
dialogEditBodyID, masterkelainan.JsHideModal(""))
return utils.ViewMulti(c, []templ.Component{
customtoastv2.CustomToastV2Show("Error", err.Error(), "danger"), newForm})
}
logger.Info("EDIT KELAINAN",
zap.Any("reutn", dataKelainan),
zap.Any("name", name),
)
// get list kelainan 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
}
// Table component
tableComponent := masterkelainan.TableKelainan(
dataKelainanList,
tableID,
"/dev/kelainan/openedit",
"#"+dialogEditBodyID,
"outerHTML",
"#dialogEditBodyID, #dialogEditID, #dialogDeleteBodyID, #dialogDeleteID, #tableDetailID",
"/dev/kelainan/opendelete",
"#"+dialogDeleteBodyID,
"outerHTML",
"#dialogEditBodyID, #dialogEditID, #dialogDeleteBodyID, #dialogDeleteID, #tableDetailID",
"/dev/kelainan/selected",
"#"+tableDetailID,
)
// pagination component
kelainanPaginationComponent := pagination.PaginationV2(
totalPage,
currPage,
"/dev/kelainanpagination",
paginationID,
"#tableID, #searchID, #"+searchID+", #paginationID, #dialogEditBodyID, #dialogEditID, #dialogDeleteBodyID, #dialogDeleteID, #tableDetailID",
"#"+paginationID,
"outerHTML", "", "true",
)
newForm := masterkelainan.BodyFormKelainan(
models.CustomTextFieldv2Prm{
Label: "Nama Grup Kelainan",
Name: "kelainanname",
Placeholder: "Nama Grup Kelainan",
ErrorMsg: nameValidation,
Type: "text"},
models.CustomTextFieldv2Prm{
Label: "Nama Grup Kelainan",
Name: "kelainanid",
Placeholder: "Nama Grup Kelainan",
Type: "hidden", ID: "kelainaninputid"},
dialogEditBodyID, masterkelainan.JsHideModal("#"+dialogEditID))
toastSuccess := customtoastv2.CustomToastV2Show("Success", "Berhasil edit Kelainan Grup "+name, "success")
retval := []templ.Component{toastSuccess, tableComponent, kelainanPaginationComponent, newForm}
return utils.ViewMulti(c, retval)
}
func (lh *MasterKelainanHandler) HandleOpenDeleteForm(c echo.Context) error {
id := c.QueryParam("id")
dialogDeleteID := c.QueryParam("dialogDeleteID")
@@ -993,7 +726,6 @@ func (lh *MasterKelainanHandler) HandleDeleteKelainan(c echo.Context) error {
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)
@@ -1051,14 +783,10 @@ func (lh *MasterKelainanHandler) HandleDeleteKelainan(c echo.Context) error {
//table component
tableComponent := masterkelainan.TableKelainan(dataKelainanList,
tableID,
"/dev/kelainan/openedit",
"#"+dialogEditBodyID,
"outerHTML",
"#dialogEditBodyID, #dialogEditID, #dialogDeleteBodyID, #dialogDeleteID, #tableDetailID",
"/dev/kelainan/opendelete",
"#"+dialogDeleteBodyID,
"outerHTML",
"#dialogEditBodyID, #dialogEditID, #dialogDeleteBodyID, #dialogDeleteID, #tableDetailID",
"#dialogDeleteBodyID, #dialogDeleteID, #tableDetailID",
"/dev/kelainan/selected",
"#"+tableDetailID,
)
@@ -1069,7 +797,7 @@ func (lh *MasterKelainanHandler) HandleDeleteKelainan(c echo.Context) error {
currPage,
"/dev/kelainanpagination",
paginationID,
"#tableID, #searchID, #"+searchID+", #paginationID, #dialogEditBodyID, #dialogEditID, #dialogDeleteBodyID, #dialogDeleteID, #tableDetailID",
"#tableID, #searchID, #"+searchID+", #paginationID, #dialogDeleteBodyID, #dialogDeleteID, #tableDetailID",
"#"+paginationID,
"outerHTML", "", "true",
)

View File

@@ -220,9 +220,6 @@ func SetupRoutesDev(app *echo.Echo, appStore db.AppStore) {
dev.GET("/kelainanpagination", devKLhandlers.HandlerShowMasterKelainanPagination)
dev.POST("/kelainan/closeaddform", devKLhandlers.HandleCloseFormAdd)
dev.POST("/kelainan/add", devKLhandlers.AddKelainan)
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)