add pic tab daftar peserta + pagination

This commit is contained in:
2024-06-14 16:51:16 +07:00
parent b279a942dd
commit 3bc13d64bc
9 changed files with 433 additions and 73 deletions

View File

@@ -1,13 +1,18 @@
package mcu_corporate_handlers
import (
"cpone/component/pagination"
"cpone/models"
"cpone/utils"
corporate_mcudetail "cpone/views/corporate/mcu/mcutab"
"strconv"
"github.com/labstack/echo/v4"
"go.uber.org/zap"
)
type TabDaftarPesertaServices interface {
GetListMcuDaftarPeserta(id string, currentpage int, rowperpage int) ([]models.ModelMcuDaftarPeserta, int, error)
}
type TabDaftarPesertaHandlers struct {
@@ -21,21 +26,93 @@ func NewTabDaftarPesertaHandlers(tdp TabDaftarPesertaServices) *TabDaftarPeserta
}
func (tdp *TabDaftarPesertaHandlers) HandleShowTabDaftarPeserta(c echo.Context) error {
title := "Daftar Peserta"
logger, _ := zap.NewProduction()
// title := "Daftar Peserta"
tableID := utils.GenerateRandomID("tableid")
paginationID := utils.GenerateRandomID("paginationID")
data := []string{"Ananda Mara", "Nanda Arisu"}
table := corporate_mcudetail.TableDaftarPeserta(data, "sas012")
id := c.Param("id")
logger.Info("Params", zap.Any("id", id))
content := corporate_mcudetail.TabDaftarPesertaScreen(table)
css := corporate_mcudetail.CSSTabDaftarPeserta()
js := corporate_mcudetail.JsTabDaftarPeserta()
dataTable, totalPage, err := tdp.TabDaftarPesertaServices.GetListMcuDaftarPeserta(id, 1, 5)
if err != nil {
return err
}
logger.Info("totalPage", zap.Any("total", totalPage))
view := corporate_mcudetail.ShowTabDafterPeserta(
title,
content,
css,
js,
table := corporate_mcudetail.TableDaftarPeserta(
dataTable,
tableID,
)
return utils.View(c, view)
pagination := pagination.PaginationV3(
totalPage,
1,
"/corp/dashboard_pic/detail/"+id+"/tabdaftarpeserta/changepage",
paginationID,
"#tableID, #paginationID, #loading-parent, #loading-child, #loading-spinner, #loadingcontent",
"#contentlayout",
"outerHTML", "", "",
corporate_mcudetail.BeforeRequestContent(),
corporate_mcudetail.AfterRequestContent(),
)
clayout := corporate_mcudetail.ContentLayout(
table,
pagination,
)
content := corporate_mcudetail.TabDaftarPesertaScreen(tableID, paginationID, clayout)
// css := corporate_mcudetail.CSSTabDaftarPeserta()
// js := corporate_mcudetail.JsTabDaftarPeserta()
// view := corporate_mcudetail.ShowTabDafterPeserta(
// title,
// content,
// css,
// js,
// )
return utils.View(c, content)
}
func (tdp *TabDaftarPesertaHandlers) HandlePagination(c echo.Context) error {
pageparam := c.QueryParam("page")
tableID := c.QueryParam("tableID")
paginationID := c.QueryParam("paginationID")
id := c.Param("id")
// var retval []templ.Component
page, err := strconv.Atoi(pageparam)
if err != nil {
return err
}
tableData, totalPage, err := tdp.TabDaftarPesertaServices.GetListMcuDaftarPeserta(id, page, 5)
if err != nil {
return err
}
table := corporate_mcudetail.TableDaftarPeserta(tableData, tableID)
pagination := pagination.PaginationV3(
totalPage,
page,
"/corp/dashboard_pic/detail/"+id+"/tabdaftarpeserta/changepage",
paginationID,
"#tableID, #paginationID, #loading-parent, #loading-child, #loading-spinner, #loadingcontent",
"#contentlayout",
"outerHTML", "", "",
corporate_mcudetail.BeforeRequestContent(),
corporate_mcudetail.AfterRequestContent(),
)
// content := corporate_mcudetail.TabDaftarPesertaScreen(tableID, paginationID, table, pagination)
// retval = append(retval, table)
// retval = append(retval, pagination)
// return utils.ViewMulti(c, retval)
// return utils.View(c, content)
clayout := corporate_mcudetail.ContentLayout(table, pagination)
return utils.View(c, clayout)
}

View File

@@ -124,6 +124,7 @@ func SetupRoutesCorporate(app *echo.Echo, appStore db.AppStore) {
daftarpesertaServ := mcu_corporate_services.NewTabDaftarPesertaServices(appStore)
daftarpesertaHandl := mcu_corporate_handlers.NewTabDaftarPesertaHandlers(daftarpesertaServ)
corp.GET("/dashboard_pic/detail/:id/tabdaftarpeserta", daftarpesertaHandl.HandleShowTabDaftarPeserta)
corp.GET("/dashboard_pic/detail/:id/tabdaftarpeserta/changepage", daftarpesertaHandl.HandlePagination)
patientHandler := corporate_handlers.NewPatientHandler(l)
corp.GET("/patient", patientHandler.ShowPatient)