add search dan pagination

This commit is contained in:
Hanan Askarim
2024-05-20 17:27:54 +07:00
parent 13aa1c21a6
commit 035b4aa430
5 changed files with 114 additions and 3 deletions

View File

@@ -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)
}

View File

@@ -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)
}