add search dan pagination
This commit is contained in:
@@ -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)
|
||||
}
|
||||
|
||||
@@ -216,4 +216,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)
|
||||
}
|
||||
|
||||
@@ -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,
|
||||
|
||||
@@ -177,7 +177,12 @@ templ ShowKelainan(
|
||||
templ TableKelainan(data []models.Kelainan, tableID string) {
|
||||
<div id={ tableID } hx-swap-oob={ "#" + tableID }>
|
||||
@tablecomponent.TableV3([]string{"NO", "GRUP KELAINAN", "AKSI"},
|
||||
[]string{"15%", "65%", "20%"},
|
||||
[]string{"10%", "70%", "20%"},
|
||||
TableRowV1(data))
|
||||
</div>
|
||||
}
|
||||
|
||||
templ SwapTableKelainan(pagination templ.Component, table templ.Component) {
|
||||
@pagination
|
||||
@table
|
||||
}
|
||||
|
||||
@@ -329,7 +329,7 @@ func TableKelainan(data []models.Kelainan, tableID string) templ.Component {
|
||||
return templ_7745c5c3_Err
|
||||
}
|
||||
templ_7745c5c3_Err = tablecomponent.TableV3([]string{"NO", "GRUP KELAINAN", "AKSI"},
|
||||
[]string{"15%", "65%", "20%"},
|
||||
[]string{"10%", "70%", "20%"},
|
||||
TableRowV1(data)).Render(ctx, templ_7745c5c3_Buffer)
|
||||
if templ_7745c5c3_Err != nil {
|
||||
return templ_7745c5c3_Err
|
||||
@@ -344,3 +344,31 @@ func TableKelainan(data []models.Kelainan, tableID string) templ.Component {
|
||||
return templ_7745c5c3_Err
|
||||
})
|
||||
}
|
||||
|
||||
func SwapTableKelainan(pagination templ.Component, table 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)
|
||||
if !templ_7745c5c3_IsBuffer {
|
||||
templ_7745c5c3_Buffer = templ.GetBuffer()
|
||||
defer templ.ReleaseBuffer(templ_7745c5c3_Buffer)
|
||||
}
|
||||
ctx = templ.InitializeContext(ctx)
|
||||
templ_7745c5c3_Var14 := templ.GetChildren(ctx)
|
||||
if templ_7745c5c3_Var14 == nil {
|
||||
templ_7745c5c3_Var14 = templ.NopComponent
|
||||
}
|
||||
ctx = templ.ClearChildren(ctx)
|
||||
templ_7745c5c3_Err = pagination.Render(ctx, templ_7745c5c3_Buffer)
|
||||
if templ_7745c5c3_Err != nil {
|
||||
return templ_7745c5c3_Err
|
||||
}
|
||||
templ_7745c5c3_Err = table.Render(ctx, templ_7745c5c3_Buffer)
|
||||
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
|
||||
})
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user