From 42192049ce893dcbf822dd8774e491e70b019c4a Mon Sep 17 00:00:00 2001 From: Hanan Askarim Date: Thu, 30 May 2024 16:42:58 +0700 Subject: [PATCH] menambahkan listing kelainan detail kanan --- handlers/dev/masterkelainan.handlers.go | 259 ++++++++++++++---- handlers/routes.go | 4 +- models/kelainan.models.go | 28 ++ services/dev/masterkelainan.services.go | 49 +++- .../custometextfieldselected.templ | 32 +++ .../custometextfieldselected_templ.go | 158 +++++++++++ views/dev/masterkelainan/masterkelainan.templ | 112 ++++++-- .../masterkelainan/masterkelainan_templ.go | 67 ++++- .../mdkelainandetailtable.templ | 36 +++ .../mdkelainandetailtable_templ.go | 144 ++++++++++ .../dev/masterkelainan/mdkelainantable.templ | 39 +-- .../masterkelainan/mdkelainantable_templ.go | 128 +++++---- 12 files changed, 895 insertions(+), 161 deletions(-) create mode 100644 views/dev/masterkelainan/custometextfieldselected.templ create mode 100644 views/dev/masterkelainan/custometextfieldselected_templ.go create mode 100644 views/dev/masterkelainan/mdkelainandetailtable.templ create mode 100644 views/dev/masterkelainan/mdkelainandetailtable_templ.go diff --git a/handlers/dev/masterkelainan.handlers.go b/handlers/dev/masterkelainan.handlers.go index 5728ece..c174ad2 100644 --- a/handlers/dev/masterkelainan.handlers.go +++ b/handlers/dev/masterkelainan.handlers.go @@ -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) } diff --git a/handlers/routes.go b/handlers/routes.go index 93f1dda..27d89e5 100644 --- a/handlers/routes.go +++ b/handlers/routes.go @@ -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) } diff --git a/models/kelainan.models.go b/models/kelainan.models.go index cb89e55..b9b2b71 100644 --- a/models/kelainan.models.go +++ b/models/kelainan.models.go @@ -31,3 +31,31 @@ type KelainanFormComponent struct { DialogAction templ.Component ButtonCLose templ.Component } + +type KelainanDetail struct { + Nomor string `db:"nomor"` + Mcu_KelainanID int `db:"Mcu_KelainanID"` + Mcu_KelainanName string `db:"Mcu_KelainanName"` + Mcu_KelainanClasification string `db:"Mcu_KelainanClasification"` + Mcu_KelainanMcu_KelainanGroupID string `db:"Mcu_KelainanMcu_KelainanGroupID"` + Mcu_KelainanFlagActive string `db:"Mcu_KelainanFlagActive"` + Mcu_KelainanIsActive string `db:"Mcu_KelainanIsActive"` + Mcu_KelainanUserID string `db:"Mcu_KelainanUserID"` + Mcu_KelainanCreated string `db:"Mcu_KelainanCreated"` + Mcu_KelainanCreatedUserID string `db:"Mcu_KelainanCreatedUserID"` + Mcu_KelainanLastUpdated string `db:"Mcu_KelainanLastUpdated"` + Mcu_KelainanLastUpdatedUserID string `db:"Mcu_KelainanLastUpdatedUserID"` + Mcu_KelainanDeleted string `db:"Mcu_KelainanDeleted"` + Mcu_KelainanDeletedUserID string `db:"Mcu_KelainanDeletedUserID"` +} + +type CustomTextFieldSelected struct { + SwapOob string `default:"swapOob"` + Label string `default:"Label"` + Name string `default:"name"` + Placeholder string `default:"Placeholder"` + Type string `default:"text"` + Value string `default:""` + ErrorMsg string `default:""` + ID string +} diff --git a/services/dev/masterkelainan.services.go b/services/dev/masterkelainan.services.go index 945b387..90b73eb 100644 --- a/services/dev/masterkelainan.services.go +++ b/services/dev/masterkelainan.services.go @@ -29,7 +29,7 @@ func (su *ServicesMasterKelainan) GetListBreadCrumb(title string) (models.BreadC dummyBreadcrumb := []models.BreadCrumbV1{ { - Title: "Master Kelainan", + Title: "Master Pola Kelainan", Item: []models.ItemBreadCrumbV1{ { Item: "Dashboard", @@ -40,7 +40,7 @@ func (su *ServicesMasterKelainan) GetListBreadCrumb(title string) (models.BreadC Url: "/dev/master", }, { - Item: "Kelainan", + Item: "Pola Kelainan", Url: "", }, }, @@ -79,6 +79,7 @@ func (su *ServicesMasterKelainan) GetListBreadCrumb(title string) (models.BreadC return ret, nil } +// master group kelainan func (su *ServicesMasterKelainan) GetListMasterKelainan(search string, currentPage int, rowPerPage int) ([]models.Kelainan, int, error) { var kelainanList []models.Kelainan var totalData int @@ -269,3 +270,47 @@ func (su *ServicesMasterKelainan) DeleteKelainan(id string) (models.Kelainan, er return data, nil } + +// end master group kelainan + +// master kelainan detail +func (su *ServicesMasterKelainan) GetListMasterKelainanDetail(id string, searchdetail string, currentPage int, rowPerPage int) ([]models.KelainanDetail, int, error) { + var KelainanDetailList []models.KelainanDetail + var totalData int + offset := (currentPage - 1) * rowPerPage + prm := "%" + strings.TrimSpace(searchdetail) + "%" + + querytotal := `SELECT COUNT(*) + FROM mcu_kelainan + WHERE Mcu_KelainanIsActive = 'Y' + AND Mcu_KelainanMcu_KelainanGroupID = ? + AND (Mcu_KelainanName LIKE ? OR Mcu_KelainanClasification LIKE ?)` + + if err := dbx.Handlex.Get(&totalData, querytotal, id, prm, prm); err != nil { + return nil, 0, fmt.Errorf("error query database: %v", err) + } + + query := `SELECT + ROW_NUMBER() OVER (ORDER BY Mcu_KelainanID DESC) AS nomor, + Mcu_KelainanID, + Mcu_KelainanName, + Mcu_KelainanClasification, + Mcu_KelainanMcu_KelainanGroupID, + Mcu_KelainanFlagActive, + Mcu_KelainanUserID, + Mcu_KelainanCreated, + Mcu_KelainanLastUpdated + FROM mcu_kelainan + WHERE Mcu_KelainanIsActive = 'Y' + AND Mcu_KelainanMcu_KelainanGroupID = ? + AND (Mcu_KelainanName LIKE ? OR Mcu_KelainanClasification LIKE ?) + ORDER BY Mcu_KelainanID DESC + LIMIT ? OFFSET ?` + + if err := dbx.Handlex.Select(&KelainanDetailList, query, id, prm, prm, rowPerPage, offset); err != nil { + return nil, 0, fmt.Errorf("error query database: %v", err) + } + totalPage := int(math.Ceil(float64(totalData) / float64(rowPerPage))) + + return KelainanDetailList, totalPage, nil +} diff --git a/views/dev/masterkelainan/custometextfieldselected.templ b/views/dev/masterkelainan/custometextfieldselected.templ new file mode 100644 index 0000000..9668eec --- /dev/null +++ b/views/dev/masterkelainan/custometextfieldselected.templ @@ -0,0 +1,32 @@ +package masterkelainan + +import "cpone/models" + +templ CustomTextFieldSelected(inp models.CustomTextFieldSelected) { +
+ + +
+ { inp.ErrorMsg } +
+
+} diff --git a/views/dev/masterkelainan/custometextfieldselected_templ.go b/views/dev/masterkelainan/custometextfieldselected_templ.go new file mode 100644 index 0000000..a85d74c --- /dev/null +++ b/views/dev/masterkelainan/custometextfieldselected_templ.go @@ -0,0 +1,158 @@ +// Code generated by templ - DO NOT EDIT. + +// templ: version: v0.2.663 +package masterkelainan + +//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" + +func CustomTextFieldSelected(inp models.CustomTextFieldSelected) 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 + } + var templ_7745c5c3_Var2 string + templ_7745c5c3_Var2, templ_7745c5c3_Err = templ.JoinStringErrs(inp.Label) + if templ_7745c5c3_Err != nil { + return templ.Error{Err: templ_7745c5c3_Err, FileName: `views\dev\masterkelainan\custometextfieldselected.templ`, Line: 14, Col: 14} + } + _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var2)) + 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_Var8 string + templ_7745c5c3_Var8, templ_7745c5c3_Err = templ.JoinStringErrs(inp.ErrorMsg) + if templ_7745c5c3_Err != nil { + return templ.Error{Err: templ_7745c5c3_Err, FileName: `views\dev\masterkelainan\custometextfieldselected.templ`, Line: 29, Col: 17} + } + _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var8)) + 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/masterkelainan/masterkelainan.templ b/views/dev/masterkelainan/masterkelainan.templ index b8939f0..1b4251e 100644 --- a/views/dev/masterkelainan/masterkelainan.templ +++ b/views/dev/masterkelainan/masterkelainan.templ @@ -16,6 +16,9 @@ templ ContentMasterKelainan( dialogEditBodyID string, dialogDeleteID string, dialogDeleteBodyID string, + tableDetailID string, + paginationDetailID string, + searchDetailID string, breadcrumb templ.Component, tablecontent templ.Component, filterComponent templ.Component, @@ -23,6 +26,9 @@ templ ContentMasterKelainan( modalAddform templ.Component, modalEditForm templ.Component, modalDeleteForm templ.Component, + tabledetailcontent templ.Component, + filterDetailComponent templ.Component, + paginationDetailComponent templ.Component, ) {
@customtextfield.CustomTextFieldv2(models.CustomTextFieldv2Prm{ID: "tableID", @@ -61,39 +67,85 @@ templ ContentMasterKelainan( Name: "dialogDeleteBodyID", Type: "hidden", Value: dialogDeleteBodyID}) + @customtextfield.CustomTextFieldv2(models.CustomTextFieldv2Prm{ID: "tableDetailID", + Name: "tableDetailID", + Type: "hidden", + Value: tableDetailID}) + @customtextfield.CustomTextFieldv2(models.CustomTextFieldv2Prm{ID: "paginationDetailID", + Name: "paginationDetailID", + Type: "hidden", + Value: paginationDetailID}) + @customtextfield.CustomTextFieldv2(models.CustomTextFieldv2Prm{ID: "searchDetailID", + Name: "searchDetailID", + Type: "hidden", + Value: searchDetailID}) + @CustomTextFieldSelected(models.CustomTextFieldSelected{ + ID: "selectedID", + Name: "selectedID", + Type: "hidden", + Value: "0"})
@breadcrumb
-
- @filterComponent -
-
-
- +
+
+
+ @filterComponent +
+
+
+ +
+
+
+ +
+ @tablecontent + @paginationComponent + @modalAddform + @modalEditForm + @modalDeleteForm
-
- +
+
+
+ @filterDetailComponent +
+
+
+ +
+
+
+ +
+
+ @tabledetailcontent + @paginationDetailComponent
- @tablecontent - @paginationComponent - @modalAddform - @modalEditForm - @modalDeleteForm
} @@ -128,7 +180,19 @@ templ CssKelainan() { font-weight: 600; } .selected { - background-color: yellow; /* Atur sesuai kebutuhan Anda */ + background-color: #dfe3e8; + } + .dot-text { + position: relative; + padding-left: 1.5em; /* Menambahkan padding untuk memberi ruang pada titik */ + } + + .dot-text::before { + content: '•'; /* Menambahkan titik di depan teks */ + position: absolute; + left: 1em; /* Atur posisi titik */ + top: 0; + transform: translateX(-100%); } } diff --git a/views/dev/masterkelainan/masterkelainan_templ.go b/views/dev/masterkelainan/masterkelainan_templ.go index 4eb2551..d4887b1 100644 --- a/views/dev/masterkelainan/masterkelainan_templ.go +++ b/views/dev/masterkelainan/masterkelainan_templ.go @@ -26,6 +26,9 @@ func ContentMasterKelainan( dialogEditBodyID string, dialogDeleteID string, dialogDeleteBodyID string, + tableDetailID string, + paginationDetailID string, + searchDetailID string, breadcrumb templ.Component, tablecontent templ.Component, filterComponent templ.Component, @@ -33,6 +36,9 @@ func ContentMasterKelainan( modalAddform templ.Component, modalEditForm templ.Component, modalDeleteForm templ.Component, + tabledetailcontent templ.Component, + filterDetailComponent templ.Component, + paginationDetailComponent 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) @@ -113,6 +119,35 @@ func ContentMasterKelainan( if templ_7745c5c3_Err != nil { return templ_7745c5c3_Err } + templ_7745c5c3_Err = customtextfield.CustomTextFieldv2(models.CustomTextFieldv2Prm{ID: "tableDetailID", + Name: "tableDetailID", + Type: "hidden", + Value: tableDetailID}).Render(ctx, templ_7745c5c3_Buffer) + if templ_7745c5c3_Err != nil { + return templ_7745c5c3_Err + } + templ_7745c5c3_Err = customtextfield.CustomTextFieldv2(models.CustomTextFieldv2Prm{ID: "paginationDetailID", + Name: "paginationDetailID", + Type: "hidden", + Value: paginationDetailID}).Render(ctx, templ_7745c5c3_Buffer) + if templ_7745c5c3_Err != nil { + return templ_7745c5c3_Err + } + templ_7745c5c3_Err = customtextfield.CustomTextFieldv2(models.CustomTextFieldv2Prm{ID: "searchDetailID", + Name: "searchDetailID", + Type: "hidden", + Value: searchDetailID}).Render(ctx, templ_7745c5c3_Buffer) + if templ_7745c5c3_Err != nil { + return templ_7745c5c3_Err + } + templ_7745c5c3_Err = CustomTextFieldSelected(models.CustomTextFieldSelected{ + ID: "selectedID", + Name: "selectedID", + Type: "hidden", + Value: "0"}).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 @@ -121,7 +156,7 @@ func ContentMasterKelainan( if templ_7745c5c3_Err != nil { return templ_7745c5c3_Err } - _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("
") + _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("
") if templ_7745c5c3_Err != nil { return templ_7745c5c3_Err } @@ -129,14 +164,14 @@ func ContentMasterKelainan( 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 = filterDetailComponent.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 = tabledetailcontent.Render(ctx, templ_7745c5c3_Buffer) + if templ_7745c5c3_Err != nil { + return templ_7745c5c3_Err + } + templ_7745c5c3_Err = paginationDetailComponent.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 } @@ -203,7 +258,7 @@ func CssKelainan() templ.Component { templ_7745c5c3_Var4 = templ.NopComponent } ctx = templ.ClearChildren(ctx) - _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("") + _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("") if templ_7745c5c3_Err != nil { return templ_7745c5c3_Err } diff --git a/views/dev/masterkelainan/mdkelainandetailtable.templ b/views/dev/masterkelainan/mdkelainandetailtable.templ new file mode 100644 index 0000000..0d34d22 --- /dev/null +++ b/views/dev/masterkelainan/mdkelainandetailtable.templ @@ -0,0 +1,36 @@ +package masterkelainan + +import "cpone/models" +import "cpone/component/table" + +templ TableKelainanDetail(data []models.KelainanDetail, + tableDetailID string, +) { +
+ @tablecomponent.TableV3([]string{"NO", "KELAINAN", "AKSI"}, + []string{"10%", "60%", "30%"}, + TableDetailRow(data)) +
+} + +templ TableDetailRow(data []models.KelainanDetail) { + if len(data) == 0 { + + Data Tidak Ditemukan + + } + for _, v := range data { + + { v.Nomor } + + { v.Mcu_KelainanName } + if v.Mcu_KelainanClasification != "" { +

{ v.Mcu_KelainanClasification }

+ } + + + action + + + } +} diff --git a/views/dev/masterkelainan/mdkelainandetailtable_templ.go b/views/dev/masterkelainan/mdkelainandetailtable_templ.go new file mode 100644 index 0000000..31ba18d --- /dev/null +++ b/views/dev/masterkelainan/mdkelainandetailtable_templ.go @@ -0,0 +1,144 @@ +// Code generated by templ - DO NOT EDIT. + +// templ: version: v0.2.663 +package masterkelainan + +//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/table" + +func TableKelainanDetail(data []models.KelainanDetail, + tableDetailID 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_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 = tablecomponent.TableV3([]string{"NO", "KELAINAN", "AKSI"}, + []string{"10%", "60%", "30%"}, + TableDetailRow(data)).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 TableDetailRow(data []models.KelainanDetail) 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_Var3 := templ.GetChildren(ctx) + if templ_7745c5c3_Var3 == nil { + templ_7745c5c3_Var3 = templ.NopComponent + } + ctx = templ.ClearChildren(ctx) + if len(data) == 0 { + _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("Data Tidak Ditemukan") + if templ_7745c5c3_Err != nil { + return templ_7745c5c3_Err + } + } + for _, v := range data { + _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("") + if templ_7745c5c3_Err != nil { + return templ_7745c5c3_Err + } + var templ_7745c5c3_Var4 string + templ_7745c5c3_Var4, templ_7745c5c3_Err = templ.JoinStringErrs(v.Nomor) + if templ_7745c5c3_Err != nil { + return templ.Error{Err: templ_7745c5c3_Err, FileName: `views\dev\masterkelainan\mdkelainandetailtable.templ`, Line: 24, Col: 16} + } + _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var4)) + 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_Var5 string + templ_7745c5c3_Var5, templ_7745c5c3_Err = templ.JoinStringErrs(v.Mcu_KelainanName) + if templ_7745c5c3_Err != nil { + return templ.Error{Err: templ_7745c5c3_Err, FileName: `views\dev\masterkelainan\mdkelainandetailtable.templ`, Line: 26, Col: 24} + } + _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var5)) + 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 v.Mcu_KelainanClasification != "" { + _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("

") + if templ_7745c5c3_Err != nil { + return templ_7745c5c3_Err + } + var templ_7745c5c3_Var6 string + templ_7745c5c3_Var6, templ_7745c5c3_Err = templ.JoinStringErrs(v.Mcu_KelainanClasification) + if templ_7745c5c3_Err != nil { + return templ.Error{Err: templ_7745c5c3_Err, FileName: `views\dev\masterkelainan\mdkelainandetailtable.templ`, Line: 28, Col: 54} + } + _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var6)) + 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("action\r") + 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/masterkelainan/mdkelainantable.templ b/views/dev/masterkelainan/mdkelainantable.templ index c031a19..dd0e21c 100644 --- a/views/dev/masterkelainan/mdkelainantable.templ +++ b/views/dev/masterkelainan/mdkelainantable.templ @@ -17,30 +17,29 @@ templ TableKelainan(data []models.Kelainan, hxSwapDelete string, hxIncludeDelete string, hxGetSelected string, + hxTargetSelected string, ) { -
-
- @tablecomponent.TableV3([]string{"NO", "GRUP KELAINAN", "AKSI"}, - []string{"10%", "60%", "30%"}, - TableRow(data, - hxGetEdit, - hxTargetEdit, - hxSwapEdit, - hxIncludeEdit, - hxGetDelete, - hxTargetDelete, - hxSwapDelete, - hxIncludeDelete, - hxGetSelected, - )) -
-
+
+ @tablecomponent.TableV3([]string{"NO", "GRUP KELAINAN", "AKSI"}, + []string{"10%", "60%", "30%"}, + TableRow(data, + hxGetEdit, + hxTargetEdit, + hxSwapEdit, + hxIncludeEdit, + hxGetDelete, + hxTargetDelete, + hxSwapDelete, + hxIncludeDelete, + hxGetSelected, + hxTargetSelected, + ))
} script clickHandler(id string) { document.getElementById("sas"+id).classList.add("selected"); - // console.log(id); + console.log(id); } script HandleAfterRequesX(idx string) { @@ -61,6 +60,7 @@ templ TableRow(data []models.Kelainan, hxSwapDelete string, hxIncludeDelete string, hxGetSelected string, + hxTargetSelected string, ) { if len(data) == 0 { @@ -72,8 +72,9 @@ templ TableRow(data []models.Kelainan, id={ "sas" + strconv.Itoa(v.Mcu_KelainanGroupID) } hx-get={ hxGetSelected + "?id=" + strconv.Itoa(v.Mcu_KelainanGroupID) } hx-trigger="click" - hx-include={ "#paginationID, #dialogEditBodyID, #dialogEditID, #dialogDeleteBodyID, #dialogDeleteID,#tableID, #sas" + strconv.Itoa(v.Mcu_KelainanGroupID) } + hx-include={ "#selectedID, #paginationID, #dialogEditBodyID, #dialogEditID, #dialogDeleteBodyID, #dialogDeleteID, #tableID, #tableDetailID, #paginationDetailID, #searchDetailID, #sas" + strconv.Itoa(v.Mcu_KelainanGroupID) } onclick={ clickHandler(strconv.Itoa(v.Mcu_KelainanGroupID)) } + hx-target={ hxTargetSelected } hx-on::after-request={ HandleAfterRequesX(strconv.Itoa(v.Mcu_KelainanGroupID)) } hx-swap="none" > diff --git a/views/dev/masterkelainan/mdkelainantable_templ.go b/views/dev/masterkelainan/mdkelainantable_templ.go index b80c251..cc7a75f 100644 --- a/views/dev/masterkelainan/mdkelainantable_templ.go +++ b/views/dev/masterkelainan/mdkelainantable_templ.go @@ -27,6 +27,7 @@ func TableKelainan(data []models.Kelainan, hxSwapDelete string, hxIncludeDelete string, hxGetSelected string, + hxTargetSelected 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) @@ -40,20 +41,20 @@ func TableKelainan(data []models.Kelainan, templ_7745c5c3_Var1 = templ.NopComponent } ctx = templ.ClearChildren(ctx) - _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("
") + _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("\" hx-swap-oob=\"true\">") if templ_7745c5c3_Err != nil { return templ_7745c5c3_Err } @@ -69,11 +70,12 @@ func TableKelainan(data []models.Kelainan, hxSwapDelete, hxIncludeDelete, hxGetSelected, + hxTargetSelected, )).Render(ctx, templ_7745c5c3_Buffer) if templ_7745c5c3_Err != nil { return templ_7745c5c3_Err } - _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("
") + _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("
") if templ_7745c5c3_Err != nil { return templ_7745c5c3_Err } @@ -86,12 +88,12 @@ func TableKelainan(data []models.Kelainan, func clickHandler(id string) templ.ComponentScript { return templ.ComponentScript{ - Name: `__templ_clickHandler_c9e6`, - Function: `function __templ_clickHandler_c9e6(id){document.getElementById("sas"+id).classList.add("selected"); - // console.log(id); + Name: `__templ_clickHandler_9b32`, + Function: `function __templ_clickHandler_9b32(id){document.getElementById("sas"+id).classList.add("selected"); + console.log(id); }`, - Call: templ.SafeScript(`__templ_clickHandler_c9e6`, id), - CallInline: templ.SafeScriptInline(`__templ_clickHandler_c9e6`, id), + Call: templ.SafeScript(`__templ_clickHandler_9b32`, id), + CallInline: templ.SafeScriptInline(`__templ_clickHandler_9b32`, id), } } @@ -119,6 +121,7 @@ func TableRow(data []models.Kelainan, hxSwapDelete string, hxIncludeDelete string, hxGetSelected string, + hxTargetSelected 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) @@ -174,9 +177,9 @@ func TableRow(data []models.Kelainan, return templ_7745c5c3_Err } var templ_7745c5c3_Var6 string - templ_7745c5c3_Var6, templ_7745c5c3_Err = templ.JoinStringErrs("#paginationID, #dialogEditBodyID, #dialogEditID, #dialogDeleteBodyID, #dialogDeleteID,#tableID, #sas" + strconv.Itoa(v.Mcu_KelainanGroupID)) + templ_7745c5c3_Var6, templ_7745c5c3_Err = templ.JoinStringErrs("#selectedID, #paginationID, #dialogEditBodyID, #dialogEditID, #dialogDeleteBodyID, #dialogDeleteID, #tableID, #tableDetailID, #paginationDetailID, #searchDetailID, #sas" + strconv.Itoa(v.Mcu_KelainanGroupID)) if templ_7745c5c3_Err != nil { - return templ.Error{Err: templ_7745c5c3_Err, FileName: `views\dev\masterkelainan\mdkelainantable.templ`, Line: 75, Col: 156} + return templ.Error{Err: templ_7745c5c3_Err, FileName: `views\dev\masterkelainan\mdkelainantable.templ`, Line: 75, Col: 224} } _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var6)) if templ_7745c5c3_Err != nil { @@ -191,12 +194,25 @@ func TableRow(data []models.Kelainan, if templ_7745c5c3_Err != nil { return templ_7745c5c3_Err } + _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("\" hx-target=\"") + if templ_7745c5c3_Err != nil { + return templ_7745c5c3_Err + } + var templ_7745c5c3_Var8 string + templ_7745c5c3_Var8, templ_7745c5c3_Err = templ.JoinStringErrs(hxTargetSelected) + if templ_7745c5c3_Err != nil { + return templ.Error{Err: templ_7745c5c3_Err, FileName: `views\dev\masterkelainan\mdkelainantable.templ`, Line: 77, Col: 31} + } + _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var8)) + if templ_7745c5c3_Err != nil { + return templ_7745c5c3_Err + } _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("\" hx-on::after-request=\"") if templ_7745c5c3_Err != nil { return templ_7745c5c3_Err } - var templ_7745c5c3_Var8 templ.ComponentScript = HandleAfterRequesX(strconv.Itoa(v.Mcu_KelainanGroupID)) - _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ_7745c5c3_Var8.Call) + var templ_7745c5c3_Var9 templ.ComponentScript = HandleAfterRequesX(strconv.Itoa(v.Mcu_KelainanGroupID)) + _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ_7745c5c3_Var9.Call) if templ_7745c5c3_Err != nil { return templ_7745c5c3_Err } @@ -204,12 +220,12 @@ func TableRow(data []models.Kelainan, if templ_7745c5c3_Err != nil { return templ_7745c5c3_Err } - var templ_7745c5c3_Var9 string - templ_7745c5c3_Var9, templ_7745c5c3_Err = templ.JoinStringErrs(v.Nomor) + var templ_7745c5c3_Var10 string + templ_7745c5c3_Var10, templ_7745c5c3_Err = templ.JoinStringErrs(v.Nomor) if templ_7745c5c3_Err != nil { - return templ.Error{Err: templ_7745c5c3_Err, FileName: `views\dev\masterkelainan\mdkelainantable.templ`, Line: 80, Col: 16} + return templ.Error{Err: templ_7745c5c3_Err, FileName: `views\dev\masterkelainan\mdkelainantable.templ`, Line: 81, Col: 16} } - _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var9)) + _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var10)) if templ_7745c5c3_Err != nil { return templ_7745c5c3_Err } @@ -217,12 +233,12 @@ func TableRow(data []models.Kelainan, if templ_7745c5c3_Err != nil { return templ_7745c5c3_Err } - var templ_7745c5c3_Var10 string - templ_7745c5c3_Var10, templ_7745c5c3_Err = templ.JoinStringErrs(v.Mcu_KelainanGroupName) + var templ_7745c5c3_Var11 string + templ_7745c5c3_Var11, templ_7745c5c3_Err = templ.JoinStringErrs(v.Mcu_KelainanGroupName) if templ_7745c5c3_Err != nil { - return templ.Error{Err: templ_7745c5c3_Err, FileName: `views\dev\masterkelainan\mdkelainantable.templ`, Line: 81, Col: 32} + return templ.Error{Err: templ_7745c5c3_Err, FileName: `views\dev\masterkelainan\mdkelainantable.templ`, Line: 82, Col: 32} } - _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var10)) + _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var11)) if templ_7745c5c3_Err != nil { return templ_7745c5c3_Err } @@ -273,21 +289,21 @@ func TableAction( defer templ.ReleaseBuffer(templ_7745c5c3_Buffer) } ctx = templ.InitializeContext(ctx) - templ_7745c5c3_Var11 := templ.GetChildren(ctx) - if templ_7745c5c3_Var11 == nil { - templ_7745c5c3_Var11 = templ.NopComponent + 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("