diff --git a/handlers/dev/masterkelainan.handlers.go b/handlers/dev/masterkelainan.handlers.go index 4811c89..01557e1 100644 --- a/handlers/dev/masterkelainan.handlers.go +++ b/handlers/dev/masterkelainan.handlers.go @@ -11,6 +11,7 @@ import ( "cpone/utils" "cpone/views/dev/masterkelainan" "fmt" + "strconv" "github.com/a-h/templ" "github.com/labstack/echo/v4" @@ -145,3 +146,78 @@ func (lh *MasterKelainanHandler) HandlerShowMasterKelainan(c echo.Context) error return utils.View(c, si) } + +func (lh *MasterKelainanHandler) HandlerShowMasterKelainanSearch(c echo.Context) error { + search := c.QueryParam("search") + tableID := c.QueryParam("tableID") + paginationID := c.QueryParam("paginationID") + logger, _ := zap.NewProduction() + + dataKelainan, totalpage, err := lh.MasterKelainanService.GetListMasterKelainan(search, 1, 5) + if err != nil { + defer logger.Sync() + logger.Info("ERROR GET KELAINAN", + zap.Any("error", err), + ) + fmt.Println(dataKelainan) + return err + } + + contentKelainanComponent := masterkelainan.TableKelainan( + dataKelainan, tableID) + + kelainanPaginationComponent := pagination.PaginationV2(totalpage, + 1, + "/dev/kelainanpagination", + paginationID, + "#tableID, #searchID, #paginationID", "#"+paginationID, "outerHTML", "") + + swapTable := masterkelainan.SwapTableKelainan(kelainanPaginationComponent, contentKelainanComponent) + + si := swapTable + + return utils.View(c, si) +} + +func (lh *MasterKelainanHandler) HandlerShowMasterKelainanPagination(c echo.Context) error { + logger, _ := zap.NewProduction() + + search := c.QueryParam("search") + pageparam := c.QueryParam("page") + tableID := c.QueryParam("tableID") + paginationID := c.QueryParam("paginationID") + page, err := strconv.Atoi(pageparam) + if err != nil { + defer logger.Sync() + logger.Info("ERROR CONVERT PAGE PARAM", + zap.Any("page", page), + zap.Any("error ", err), + ) + return err + } + + dataKelainan, totalpage, err := lh.MasterKelainanService.GetListMasterKelainan(search, page, 5) + if err != nil { + defer logger.Sync() + logger.Info("ERROR GET KELAINAN", + zap.Any("error", err), + ) + fmt.Println(dataKelainan) + return err + } + + contentKelainanComponent := masterkelainan.TableKelainan( + dataKelainan, tableID) + + kelainanPaginationComponent := pagination.PaginationV2(totalpage, + page, + "/dev/kelainanpagination", + paginationID, + "#tableID, #searchID, #paginationID", "#"+paginationID, "outerHTML", "") + + swapTable := masterkelainan.SwapTableKelainan(kelainanPaginationComponent, contentKelainanComponent) + + si := swapTable + + return utils.View(c, si) +} diff --git a/handlers/routes.go b/handlers/routes.go index 65f2541..61e0466 100644 --- a/handlers/routes.go +++ b/handlers/routes.go @@ -213,4 +213,6 @@ func SetupRoutesDev(app *echo.Echo, appStore db.AppStore) { devKLServices := dev_services.NewServicesMasterKelainan(appStore) devKLhandlers := dev_handlers.NewMasterKelainanHandler(devKLServices) dev.GET("/kelainan", devKLhandlers.HandlerShowMasterKelainan) + dev.GET("/searchkelainan", devKLhandlers.HandlerShowMasterKelainanSearch) + dev.GET("/kelainanpagination", devKLhandlers.HandlerShowMasterKelainanPagination) } diff --git a/services/dev/masterkelainan.services.go b/services/dev/masterkelainan.services.go index ae50d5d..3811a5e 100644 --- a/services/dev/masterkelainan.services.go +++ b/services/dev/masterkelainan.services.go @@ -94,7 +94,7 @@ func (su *ServicesMasterKelainan) GetListMasterKelainan(search string, currentPa query := ` SELECT - ROW_NUMBER() OVER () AS nomor, + ROW_NUMBER() OVER (ORDER BY Mcu_KelainanGroupID ASC) AS nomor, Mcu_KelainanGroupID, Mcu_KelainanGroupName, Mcu_KelainanGroupIsActive, diff --git a/views/dev/masterkelainan/masterkelainan.templ b/views/dev/masterkelainan/masterkelainan.templ index 484bc7a..0fe1ac4 100644 --- a/views/dev/masterkelainan/masterkelainan.templ +++ b/views/dev/masterkelainan/masterkelainan.templ @@ -177,7 +177,12 @@ templ ShowKelainan( templ TableKelainan(data []models.Kelainan, tableID string) {