menambahkan listing kelainan detail kanan

This commit is contained in:
Hanan Askarim
2024-05-30 16:42:58 +07:00
parent 2a0e92e119
commit 42192049ce
12 changed files with 895 additions and 161 deletions

View File

@@ -27,6 +27,7 @@ type MasterKelainanService interface {
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)
}
func NewMasterKelainanHandler(us MasterKelainanService) *MasterKelainanHandler {
@@ -49,6 +50,12 @@ func (lh *MasterKelainanHandler) HandlerShowMasterKelainan(c echo.Context) error
logger, _ := zap.NewProduction()
//get sidebarmenu
id := c.QueryParam("id")
tableDetailID := utils.GenerateRandomID("tablebodydetail")
paginationDetailID := utils.GenerateRandomID("paginationdetailid")
searchDetailID := utils.GenerateRandomID("searchdetailid")
// println("cek id param", id)
dataMenu, err := globalservices.GetMenu()
fmt.Println(dataMenu)
@@ -82,6 +89,20 @@ func (lh *MasterKelainanHandler) HandlerShowMasterKelainan(c echo.Context) error
zap.Any("data", dataKelainan),
)
dataKelainanDetail, totalPageDetail, err := lh.MasterKelainanService.GetListMasterKelainanDetail(id, "", 1, 5)
if err != nil {
defer logger.Sync()
logger.Info("ERROR GET KELAINAN DETAIL",
zap.Any("error", err),
)
return err
}
defer logger.Sync()
logger.Info("LOAD KELAINAN DETAIL",
zap.Any("data detail", dataKelainanDetail),
)
tableID := utils.GenerateRandomID("tablebody")
paginationID := utils.GenerateRandomID("paginationid")
searchID := utils.GenerateRandomID("searchid")
@@ -92,7 +113,7 @@ func (lh *MasterKelainanHandler) HandlerShowMasterKelainan(c echo.Context) error
dialogDeleteID := utils.GenerateRandomID("dialogDeleteID")
dialogDeleteBodyID := utils.GenerateRandomID("dialogDeletebodyID")
title := "Master Kelainan"
title := "Master Pola Kelainan"
dataBreadCrumb, err := lh.MasterKelainanService.GetListBreadCrumb(title)
fmt.Println(dataBreadCrumb)
@@ -165,12 +186,13 @@ func (lh *MasterKelainanHandler) HandlerShowMasterKelainan(c echo.Context) error
"/dev/kelainan/openedit",
"#"+dialogEditBodyID,
"outerHTML",
"#dialogEditBodyID, #dialogEditID, #dialogDeleteBodyID, #dialogDeleteID",
"#dialogEditBodyID, #dialogEditID, #dialogDeleteBodyID, #dialogDeleteID, #tableDetailID",
"/dev/kelainan/opendelete",
"#"+dialogDeleteBodyID,
"outerHTML",
"#dialogEditBodyID, #dialogEditID, #dialogDeleteBodyID, #dialogDeleteID",
"#dialogEditBodyID, #dialogEditID, #dialogDeleteBodyID, #dialogDeleteID, #tableDetailID",
"/dev/kelainan/selected",
"#"+tableDetailID,
)
// filter kelainan component
@@ -188,7 +210,7 @@ func (lh *MasterKelainanHandler) HandlerShowMasterKelainan(c echo.Context) error
1,
"/dev/kelainanpagination",
paginationID,
"#tableID, #searchID, #"+searchID+", #paginationID, #dialogEditBodyID, #dialogEditID, #dialogDeleteBodyID, #dialogDeleteID",
"#tableID, #searchID, #"+searchID+", #paginationID, #dialogEditBodyID, #dialogEditID, #dialogDeleteBodyID, #dialogDeleteID, #tableDetailID",
"#"+paginationID,
"outerHTML", "", "",
)
@@ -269,6 +291,31 @@ func (lh *MasterKelainanHandler) HandlerShowMasterKelainan(c echo.Context) error
},
)
// component listing table listing kelainan detail
contentKelainanDetailCmp := masterkelainan.TableKelainanDetail(
dataKelainanDetail, tableDetailID,
)
// filter kelainan detail component
kelainanDetailFilterCmp := customtextfieldsearch.MainCustomTextFieldSearchV2(searchDetailID,
"searchdetail",
"Cari Kelainan/Klasifikasi",
"text",
"/dev/searchkelainandetail",
"input changed delay:500ms, searchdetail",
"#"+paginationDetailID, "", "", "none", "#tableDetailID, #paginationDetailID, #searchDetailID, #selectedID")
// pagination kelainan detail component
kelainanDetailPaginationCmp := pagination.PaginationV2(
totalPageDetail,
1,
"/dev/kelainandetailpagination",
paginationDetailID,
"#tableDetailID, #searchDetailID, #"+searchDetailID+", #paginationDetailID",
"#"+paginationDetailID,
"outerHTML", "", "",
)
// content, css, js
content := masterkelainan.ContentMasterKelainan(
tableID, paginationID, searchID, dialogAddID, dialogAddBodyID,
@@ -276,13 +323,19 @@ func (lh *MasterKelainanHandler) HandlerShowMasterKelainan(c echo.Context) error
dialogEditBodyID,
dialogDeleteID,
dialogDeleteBodyID,
tableDetailID,
paginationDetailID,
searchDetailID,
breadcrumbComponent,
contentKelainanComponent,
kelainanFilterComponent,
kelainanPaginationComponent,
modaladdcomponent,
modalEditFormComponent,
modalDeleteFormComponent)
modalDeleteFormComponent,
contentKelainanDetailCmp,
kelainanDetailFilterCmp,
kelainanDetailPaginationCmp)
css := masterkelainan.CssKelainan()
js := masterkelainan.JsMdKelainan()
@@ -303,6 +356,7 @@ func (lh *MasterKelainanHandler) HandlerShowMasterKelainanSearch(c echo.Context)
search := c.QueryParam("search")
searchID := c.QueryParam("searchID")
tableID := c.QueryParam("tableID")
tableDetailID := c.QueryParam("tableDetailID")
paginationID := c.QueryParam("paginationID")
dialogEditBodyID := c.QueryParam("dialogEditBodyID")
dialogDeleteBodyID := c.QueryParam("dialogDeleteBodyID")
@@ -323,19 +377,20 @@ func (lh *MasterKelainanHandler) HandlerShowMasterKelainanSearch(c echo.Context)
"/dev/kelainan/openedit",
"#"+dialogEditBodyID,
"outerHTML",
"#dialogEditBodyID, #dialogEditID, #dialogDeleteBodyID, #dialogDeleteID",
"#dialogEditBodyID, #dialogEditID, #dialogDeleteBodyID, #dialogDeleteID, #tableDetailID",
"/dev/kelainan/opendelete",
"#"+dialogDeleteBodyID,
"outerHTML",
"#dialogEditBodyID, #dialogEditID, #dialogDeleteBodyID, #dialogDeleteID",
"#dialogEditBodyID, #dialogEditID, #dialogDeleteBodyID, #dialogDeleteID, #tableDetailID",
"/dev/kelainan/selected",
"#"+tableDetailID,
)
kelainanPaginationComponent := pagination.PaginationV2(totalpage,
1,
"/dev/kelainanpagination",
paginationID,
"#tableID, #searchID, #"+searchID+", #paginationID, #dialogEditBodyID, #dialogEditID, #dialogDeleteBodyID, #dialogDeleteID",
"#tableID, #searchID, #"+searchID+", #paginationID, #dialogEditBodyID, #dialogEditID, #dialogDeleteBodyID, #dialogDeleteID, #tableDetailID",
"#"+paginationID, "outerHTML", "", "")
retval := []templ.Component{contentKelainanComponent, kelainanPaginationComponent}
@@ -349,6 +404,7 @@ func (lh *MasterKelainanHandler) HandlerShowMasterKelainanPagination(c echo.Cont
search := c.QueryParam("search")
pageparam := c.QueryParam("page")
tableID := c.QueryParam("tableID")
tableDetailID := c.QueryParam("tableDetailID")
searchID := c.QueryParam("searchID")
paginationID := c.QueryParam("paginationID")
dialogEditBodyID := c.QueryParam("dialogEditBodyID")
@@ -378,19 +434,20 @@ func (lh *MasterKelainanHandler) HandlerShowMasterKelainanPagination(c echo.Cont
"/dev/kelainan/openedit",
"#"+dialogEditBodyID,
"outerHTML",
"#dialogEditBodyID, #dialogEditID, #dialogDeleteBodyID, #dialogDeleteID",
"#dialogEditBodyID, #dialogEditID, #dialogDeleteBodyID, #dialogDeleteID, #tableDetailID",
"/dev/kelainan/opendelete",
"#"+dialogDeleteBodyID,
"outerHTML",
"#dialogEditBodyID, #dialogEditID, #dialogDeleteBodyID, #dialogDeleteID",
"#dialogEditBodyID, #dialogEditID, #dialogDeleteBodyID, #dialogDeleteID, #tableDetailID",
"/dev/kelainan/selected",
"#"+tableDetailID,
)
kelainanPaginationComponent := pagination.PaginationV2(totalpage,
page,
"/dev/kelainanpagination",
paginationID,
"#tableID, #searchID, #"+searchID+", #paginationID, #dialogEditBodyID, #dialogEditID, #dialogDeleteBodyID, #dialogDeleteID",
"#tableID, #searchID, #"+searchID+", #paginationID, #dialogEditBodyID, #dialogEditID, #dialogDeleteBodyID, #dialogDeleteID, #tableDetailID",
"#"+paginationID, "outerHTML", "", "")
retval := []templ.Component{contentKelainanComponent, kelainanPaginationComponent}
@@ -404,6 +461,7 @@ func (lh *MasterKelainanHandler) AddKelainan(c echo.Context) error {
name := c.FormValue("kelainanname")
tableID := c.FormValue("tableID")
tableDetailID := c.FormValue("tableDetailID")
paginationID := c.FormValue("paginationID")
searchID := c.FormValue("searchID")
search := c.FormValue("search")
@@ -517,12 +575,13 @@ func (lh *MasterKelainanHandler) AddKelainan(c echo.Context) error {
"/dev/kelainan/openedit",
"#"+dialogEditBodyID,
"outerHTML",
"#dialogEditBodyID, #dialogEditID, #dialogDeleteBodyID, #dialogDeleteID",
"#dialogEditBodyID, #dialogEditID, #dialogDeleteBodyID, #dialogDeleteID, #tableDetailID",
"/dev/kelainan/opendelete",
"#"+dialogDeleteBodyID,
"outerHTML",
"#dialogEditBodyID, #dialogEditID, #dialogDeleteBodyID, #dialogDeleteID",
"#dialogEditBodyID, #dialogEditID, #dialogDeleteBodyID, #dialogDeleteID, #tableDetailID",
"/dev/kelainan/selected",
"#"+tableDetailID,
)
// New pagination
@@ -530,7 +589,7 @@ func (lh *MasterKelainanHandler) AddKelainan(c echo.Context) error {
currPage,
"/dev/kelainanpagination",
paginationID,
"#tableID, #searchID, #"+searchID+", #paginationID, #dialogEditBodyID, #dialogEditID, #dialogDeleteBodyID, #dialogDeleteID",
"#tableID, #searchID, #"+searchID+", #paginationID, #dialogEditBodyID, #dialogEditID, #dialogDeleteBodyID, #dialogDeleteID, #tableDetailID",
"#"+paginationID, "outerHTML", "", "true")
toastSuccess := customtoastv2.CustomToastV2Show("Success", "Success add kelainan "+name, "success")
@@ -625,6 +684,7 @@ func (lh *MasterKelainanHandler) HandleEditKelainan(c echo.Context) error {
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")
@@ -721,12 +781,13 @@ func (lh *MasterKelainanHandler) HandleEditKelainan(c echo.Context) error {
"/dev/kelainan/openedit",
"#"+dialogEditBodyID,
"outerHTML",
"#dialogEditBodyID, #dialogEditID, #dialogDeleteBodyID, #dialogDeleteID",
"#dialogEditBodyID, #dialogEditID, #dialogDeleteBodyID, #dialogDeleteID, #tableDetailID",
"/dev/kelainan/opendelete",
"#"+dialogDeleteBodyID,
"outerHTML",
"#dialogEditBodyID, #dialogEditID, #dialogDeleteBodyID, #dialogDeleteID",
"#dialogEditBodyID, #dialogEditID, #dialogDeleteBodyID, #dialogDeleteID, #tableDetailID",
"/dev/kelainan/selected",
"#"+tableDetailID,
)
// pagination component
@@ -735,7 +796,7 @@ func (lh *MasterKelainanHandler) HandleEditKelainan(c echo.Context) error {
currPage,
"/dev/kelainanpagination",
paginationID,
"#tableID, #searchID, #"+searchID+", #paginationID, #dialogEditBodyID, #dialogEditID, #dialogDeleteBodyID, #dialogDeleteID",
"#tableID, #searchID, #"+searchID+", #paginationID, #dialogEditBodyID, #dialogEditID, #dialogDeleteBodyID, #dialogDeleteID, #tableDetailID",
"#"+paginationID,
"outerHTML", "", "true",
)
@@ -806,6 +867,7 @@ func (lh *MasterKelainanHandler) HandleDeleteKelainan(c echo.Context) error {
//prm form kelainan
id := c.FormValue("kelainanid")
tableID := c.FormValue("tableID")
tableDetailID := c.FormValue("tableDetailID")
paginationID := c.FormValue("paginationID")
searchID := c.FormValue("searchID")
search := c.FormValue("search")
@@ -873,12 +935,13 @@ func (lh *MasterKelainanHandler) HandleDeleteKelainan(c echo.Context) error {
"/dev/kelainan/openedit",
"#"+dialogEditBodyID,
"outerHTML",
"#dialogEditBodyID, #dialogEditID, #dialogDeleteBodyID, #dialogDeleteID",
"#dialogEditBodyID, #dialogEditID, #dialogDeleteBodyID, #dialogDeleteID, #tableDetailID",
"/dev/kelainan/opendelete",
"#"+dialogDeleteBodyID,
"outerHTML",
"#dialogEditBodyID, #dialogEditID, #dialogDeleteBodyID, #dialogDeleteID",
"#dialogEditBodyID, #dialogEditID, #dialogDeleteBodyID, #dialogDeleteID, #tableDetailID",
"/dev/kelainan/selected",
"#"+tableDetailID,
)
//pagination component
@@ -887,7 +950,7 @@ func (lh *MasterKelainanHandler) HandleDeleteKelainan(c echo.Context) error {
currPage,
"/dev/kelainanpagination",
paginationID,
"#tableID, #searchID, #"+searchID+", #paginationID, #dialogEditBodyID, #dialogEditID, #dialogDeleteBodyID, #dialogDeleteID",
"#tableID, #searchID, #"+searchID+", #paginationID, #dialogEditBodyID, #dialogEditID, #dialogDeleteBodyID, #dialogDeleteID, #tableDetailID",
"#"+paginationID,
"outerHTML", "", "true",
)
@@ -906,55 +969,145 @@ func (lh *MasterKelainanHandler) HandleDeleteKelainan(c echo.Context) error {
return utils.ViewMulti(c, retVal)
}
func (lh *MasterKelainanHandler) HandleSelected(c echo.Context) error {
id := c.QueryParam("id")
search := c.QueryParam("search")
searchID := c.QueryParam("searchID")
tableID := c.QueryParam("tableID") + "1ppp"
paginationID := c.QueryParam("paginationID")
dialogEditBodyID := c.QueryParam("dialogEditBodyID")
dialogDeleteBodyID := c.QueryParam("dialogDeleteBodyID")
// master kelainan detail
func (lh *MasterKelainanHandler) HandlerShowMasterKelainanDetail(c echo.Context) error {
logger, _ := zap.NewProduction()
id := c.QueryParam("id")
println("id selected", id)
dataKelainan, totalpage, err := lh.MasterKelainanService.GetListMasterKelainan(search, 1, 5)
dataKelainanDetail, totalPageDetail, err := lh.MasterKelainanService.GetListMasterKelainanDetail(id, "", 1, 5)
if err != nil {
defer logger.Sync()
logger.Info("ERROR GET KELAINAN",
logger.Info("ERROR GET KELAINAN DETAIL",
zap.Any("error", err),
)
fmt.Println(dataKelainan)
return err
}
defer logger.Sync()
logger.Info("LOAD KELAINAN",
zap.Any("data", dataKelainan),
logger.Info("LOAD KELAINAN DETAIL",
zap.Any("data detail", dataKelainanDetail),
)
contentKelainanComponent := masterkelainan.TableKelainan(
dataKelainan,
tableID,
"/dev/kelainan/openedit",
"#"+dialogEditBodyID,
"outerHTML",
"#dialogEditBodyID, #dialogEditID, #dialogDeleteBodyID, #dialogDeleteID",
"/dev/kelainan/opendelete",
"#"+dialogDeleteBodyID,
"outerHTML",
"#dialogEditBodyID, #dialogEditID, #dialogDeleteBodyID, #dialogDeleteID",
"/dev/kelainan/selected",
tableDetailID := c.QueryParam("tableDetailID")
paginationDetailID := c.QueryParam("paginationDetailID")
searchDetailID := c.QueryParam("searchDetailID")
logger.Info("tabel paginationDetailID",
zap.Any("tabel paginationDetailID", paginationDetailID))
// component selected id
selectid := masterkelainan.CustomTextFieldSelected(
models.CustomTextFieldSelected{
Name: "selectedID",
Type: "hidden",
Value: id,
ID: "selectedID",
},
)
kelainanPaginationComponent := pagination.PaginationV2(totalpage,
// component listing table listing kelainan detail
contentKelainanDetailCmp := masterkelainan.TableKelainanDetail(
dataKelainanDetail, tableDetailID,
)
// pagination kelainan detail component
kelainanDetailPaginationCmp := pagination.PaginationV2(
totalPageDetail,
1,
"/dev/kelainanpagination",
paginationID,
"#tableID, #searchID, #"+searchID+", #paginationID, #dialogEditBodyID, #dialogEditID, #dialogDeleteBodyID, #dialogDeleteID",
"#"+paginationID, "outerHTML", "", "")
"/dev/kelainandetailpagination",
paginationDetailID,
"#selectedID, #tableDetailID, #searchDetailID, #"+searchDetailID+", #paginationDetailID",
"#"+paginationDetailID,
"outerHTML", "", "true",
)
retval := []templ.Component{contentKelainanComponent, kelainanPaginationComponent}
return utils.ViewMulti(c, []templ.Component{selectid, contentKelainanDetailCmp, kelainanDetailPaginationCmp})
}
func (lh *MasterKelainanHandler) HandlerShowMdKelainanDetailSearch(c echo.Context) error {
logger, _ := zap.NewProduction()
selectedID := c.QueryParam("selectedID")
searchdetail := c.QueryParam("searchdetail")
searchDetailID := c.QueryParam("searchDetailID")
tableDetailID := c.QueryParam("tableDetailID")
paginationDetailID := c.QueryParam("paginationDetailID")
dataKelainanDetail, totalpagedetail, err := lh.MasterKelainanService.GetListMasterKelainanDetail(selectedID, searchdetail, 1, 5)
if err != nil {
defer logger.Sync()
logger.Info("ERROR GET KELAINAN DETAIL",
zap.Any("error", err),
)
return err
}
logger.Info("dataKelainanDetail",
zap.Any("cek id", selectedID),
zap.Any("dataKelainanDetail", dataKelainanDetail))
contentKelainanDetailCmp := masterkelainan.TableKelainanDetail(
dataKelainanDetail,
tableDetailID,
)
kelainanDetailPaginationCmp := pagination.PaginationV2(
totalpagedetail,
1,
"/dev/kelainandetailpagination",
paginationDetailID,
"#selectedID, #tableDetailID, #searchDetailID, #"+searchDetailID+", #paginationDetailID",
"#"+paginationDetailID, "outerHTML", "", "true",
)
retVal := []templ.Component{contentKelainanDetailCmp, kelainanDetailPaginationCmp}
return utils.ViewMulti(c, retVal)
}
func (lh *MasterKelainanHandler) HandlerShowMdKelainanDetailPagination(c echo.Context) error {
logger, _ := zap.NewProduction()
selectedID := c.QueryParam("selectedID")
searchdetail := c.QueryParam("searchdetail")
pageparamdetail := c.QueryParam("page")
searchDetailID := c.QueryParam("searchDetailID")
tableDetailID := c.QueryParam("tableDetailID")
paginationDetailID := c.QueryParam("paginationDetailID")
page, err := strconv.Atoi(pageparamdetail)
if err != nil {
defer logger.Sync()
logger.Info("ERROR CONVERT PAGE PARAM DETAIL",
zap.Any("page", page),
zap.Any("error", err),
)
return err
}
dataKelainanDetail, totalpgaedetail, err := lh.MasterKelainanService.GetListMasterKelainanDetail(selectedID, searchdetail, page, 5)
if err != nil {
defer logger.Sync()
logger.Info("ERROR GET KELAINAN DETAIL",
zap.Any("error", err),
)
return err
}
contentKelainanDetailCmp := masterkelainan.TableKelainanDetail(
dataKelainanDetail,
tableDetailID,
)
kelainanPaginationCmp := pagination.PaginationV2(totalpgaedetail,
page,
"/dev/kelainandetailpagination",
paginationDetailID,
"#selectedID, #tableDetailID, #searchDetailID, #"+searchDetailID+", #paginationDetailID",
"#"+paginationDetailID, "outerHTML", "", "",
)
retval := []templ.Component{contentKelainanDetailCmp, kelainanPaginationCmp}
return utils.ViewMulti(c, retval)
}

View File

@@ -226,5 +226,7 @@ func SetupRoutesDev(app *echo.Echo, appStore db.AppStore) {
dev.GET("/kelainan/opendelete", devKLhandlers.HandleOpenDeleteForm)
dev.POST("/kelainan/closedeleteform", devKLhandlers.HandleCloseFormDelete)
dev.POST("/kelainan/delete", devKLhandlers.HandleDeleteKelainan)
dev.GET("/kelainan/selected", devKLhandlers.HandleSelected)
dev.GET("/kelainan/selected", devKLhandlers.HandlerShowMasterKelainanDetail)
dev.GET("/searchkelainandetail", devKLhandlers.HandlerShowMdKelainanDetailSearch)
dev.GET("/kelainandetailpagination", devKLhandlers.HandlerShowMdKelainanDetailPagination)
}