listing data minus pagination + bug dislpay group name

This commit is contained in:
2024-05-26 14:00:03 +07:00
parent 05e2298c6a
commit 9d18eff0c3
8 changed files with 242 additions and 14 deletions

View File

@@ -3,18 +3,23 @@ package dev_handlers
import (
breadcrumbadmin "cpone/component/breadcrumbadmin"
navbarmenu "cpone/component/navbar"
"cpone/component/pagination"
sidebaruserprofile "cpone/component/sidebar_user_profile"
"cpone/models"
"cpone/services"
"cpone/utils"
dev_mdsamplestationview "cpone/views/dev/mdsamplestation"
"fmt"
"strconv"
"github.com/a-h/templ"
"github.com/labstack/echo/v4"
"go.uber.org/zap"
)
type MDSampleStationServices interface {
GetMDSampleStationBreadcrumb() (models.BreadCrumbV1, error)
GetListSampleStation(search string, currentPage int, rowPerPage int) ([]models.MDSampleStation, int, error)
}
func NewMDSampleStationHandler(ss MDSampleStationServices) *MDSampleStationHandler {
@@ -31,7 +36,13 @@ func (mdss *MDSampleStationHandler) HandleShowMDSampleStationScreen(c echo.Conte
logger, _ := zap.NewProduction()
title := "Master Sample Station"
dialogAddID := utils.GenerateRandomID("dialogaddID")
tableID := utils.GenerateRandomID("tableID")
paginationID := utils.GenerateRandomID("paginationID")
dialogAddID := utils.GenerateRandomID("dialogAddID")
// dialogEditID := utils.GenerateRandomID("dialogEditID")
// dialogEditBodyID := utils.GenerateRandomID("dialogEditBodyID")
// dialogDeleteID := utils.GenerateRandomID("dialogDeleteID")
// dialogDeleteBodyID := utils.GenerateRandomID("dialogDeleteBodyID")
dataMenu, err := services.GetMenu()
if err != nil {
@@ -56,9 +67,35 @@ func (mdss *MDSampleStationHandler) HandleShowMDSampleStationScreen(c echo.Conte
breadcrumbComp := breadcrumbadmin.MainBreadcrumbAdminV1(dataBreadcrumb)
sidebaruserprofilceComp := sidebaruserprofile.Navbaruserprofile(dataUser)
// table content
dataTable, totalPage, err := mdss.MDSampleStationServices.GetListSampleStation("", 1, 5)
if err != nil {
defer logger.Sync()
logger.Info("ERROR GET LIST SAMPLE STATION", zap.Any("error", err))
return err
}
fmt.Println("data sample station", dataTable)
tableComponent := dev_mdsamplestationview.TableSampleStation(dataTable, tableID)
// pagination table
paginationTable := pagination.PaginationV2(
totalPage,
1,
"/dev/md/samplestation/changepage",
paginationID,
"#tableID, #paginationID",
"#"+paginationID,
"outerHTML", "", "",
)
content := dev_mdsamplestationview.ContentMDSampleStation(
tableID,
dialogAddID,
paginationID,
breadcrumbComp,
tableComponent,
paginationTable,
)
css := dev_mdsamplestationview.CSSMDSampleStation()
js := dev_mdsamplestationview.JSMDSampleStation()
@@ -66,3 +103,39 @@ func (mdss *MDSampleStationHandler) HandleShowMDSampleStationScreen(c echo.Conte
view := dev_mdsamplestationview.ShowMDSampleStation(title, content, css, js, navbarmenuComp, navbaruserComp, sidebaruserprofilceComp)
return utils.View(c, view)
}
func (mdss *MDSampleStationHandler) HandleChangePageSampleStation(c echo.Context) error {
pageparam := c.QueryParam("page")
tableID := c.QueryParam("tableID")
paginationID := c.QueryParam("paginationID")
var retval []templ.Component
logger, _ := zap.NewProduction()
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
}
dataSS, totalPage, err := mdss.MDSampleStationServices.GetListSampleStation("", page, 5)
if err != nil {
defer logger.Sync()
logger.Info("ERROR GET DATA", zap.Any("error", err))
return err
}
tableComp := dev_mdsamplestationview.TableSampleStation(dataSS, tableID)
paginationComp := pagination.PaginationV2(
totalPage,
page,
"/dev/md/samplestation/changepage",
paginationID,
"#tableID, #paginationID",
"#"+paginationID,
"outerHTML", "", "")
retval = append(retval, tableComp)
retval = append(retval, paginationComp)
return utils.ViewMulti(c, retval)
}

View File

@@ -250,5 +250,6 @@ func SetupRoutesDev(app *echo.Echo, appStore db.AppStore) {
// md sample station
devMDSampleStationServices := dev_services.NewMDSampleStationServices(appStore)
devMDSampleStationHandlers := dev_handlers.NewMDSampleStationHandler(devMDSampleStationServices)
dev.GET("/samplestation", devMDSampleStationHandlers.HandleShowMDSampleStationScreen)
dev.GET("/md/samplestation", devMDSampleStationHandlers.HandleShowMDSampleStationScreen)
dev.GET("/md/samplestation/changepage", devMDSampleStationHandlers.HandleChangePageSampleStation)
}