search & oagination md pasien
This commit is contained in:
255
handlers/dev/md.pasien.handlers.go
Normal file
255
handlers/dev/md.pasien.handlers.go
Normal file
@@ -0,0 +1,255 @@
|
||||
package dev_handlers
|
||||
|
||||
import (
|
||||
breadcrumadmin "cpone/component/breadcrumbadmin"
|
||||
"cpone/component/customtextfieldsearch"
|
||||
navbarmenu "cpone/component/navbar"
|
||||
"cpone/component/pagination"
|
||||
sidebaruserprofile "cpone/component/sidebar_user_profile"
|
||||
"cpone/models"
|
||||
"cpone/services"
|
||||
"cpone/utils"
|
||||
dev_mdpasienview "cpone/views/dev/mdpasien"
|
||||
"strconv"
|
||||
|
||||
"github.com/a-h/templ"
|
||||
"github.com/labstack/echo/v4"
|
||||
"go.uber.org/zap"
|
||||
)
|
||||
|
||||
type MdPasienServices interface {
|
||||
GetListMdPasien(
|
||||
search string,
|
||||
currentPage int,
|
||||
rowPerPage int) ([]models.Pasien, int, error)
|
||||
GetMdPasienBreadCrumb(title string) (models.BreadCrumbV1, error)
|
||||
}
|
||||
|
||||
func NewMdPasienHandler(us MdPasienServices) *MdPasienHandler {
|
||||
return &MdPasienHandler{
|
||||
MdPasienServices: us,
|
||||
}
|
||||
}
|
||||
|
||||
type MdPasienHandler struct {
|
||||
MdPasienServices MdPasienServices
|
||||
}
|
||||
|
||||
func (lh *MdPasienHandler) HandleShowMdPasienScreen(c echo.Context) error {
|
||||
logger, _ := zap.NewProduction()
|
||||
dataMenu, err := services.GetMenu()
|
||||
if err != nil {
|
||||
defer logger.Sync()
|
||||
logger.Info("ERROR BREADCRUMB DEV",
|
||||
zap.Any("error", err),
|
||||
)
|
||||
return err
|
||||
}
|
||||
paginationID := utils.GenerateRandomID("paginationID")
|
||||
dialogAddID := utils.GenerateRandomID("dialogAdd")
|
||||
dialogAddBodyID := utils.GenerateRandomID("dialogAddbody")
|
||||
dialogEditID := utils.GenerateRandomID("dialogEdit")
|
||||
dialogEditBodyID := utils.GenerateRandomID("dialogEditbody")
|
||||
dialogDeleteID := utils.GenerateRandomID("dialogDelete")
|
||||
dialogDeleteBodyID := utils.GenerateRandomID("dialogDeletebody")
|
||||
tablePasienID := utils.GenerateRandomID("PasienID")
|
||||
dataBreadCrumb, err := lh.MdPasienServices.GetMdPasienBreadCrumb("l")
|
||||
|
||||
if err != nil {
|
||||
defer logger.Sync()
|
||||
logger.Info("ERROR BREADCRUMB DEV",
|
||||
zap.Any("error", err),
|
||||
)
|
||||
return err
|
||||
}
|
||||
//get user login
|
||||
dataUser, err := services.GetUserLogin()
|
||||
|
||||
if err != nil {
|
||||
defer logger.Sync()
|
||||
logger.Info("ERROR BREADCRUMB DEV",
|
||||
zap.Any("error", err),
|
||||
)
|
||||
return err
|
||||
}
|
||||
//Breadcrumb component
|
||||
breadcrumbComponent := breadcrumadmin.MainBreadcrumbAdminV1(dataBreadCrumb)
|
||||
// navbar menu
|
||||
navbarmenuComponent := navbarmenu.NavbarMenu(dataMenu)
|
||||
|
||||
// navbar user
|
||||
navbaruserComponent := navbarmenu.Navbar(dataUser)
|
||||
|
||||
// sidebar
|
||||
sidebaruserprofileComponent := sidebaruserprofile.Navbaruserprofile(dataUser)
|
||||
|
||||
//filter pasien component
|
||||
filterPasien := customtextfieldsearch.MainCustomTextFieldSearchV3(
|
||||
"filtersearch",
|
||||
"search",
|
||||
"PID/Nama",
|
||||
"text",
|
||||
"/dev/md/pasien/filter",
|
||||
"input changed delay:500ms",
|
||||
"#"+paginationID,
|
||||
"indicator",
|
||||
"",
|
||||
"outerHTML",
|
||||
"#filtersearch, #tableID, #paginationID, #dialogAddID, #dialogAddBodyID, #dialogEditID, #dialogEditBodyID, #dialogDeleteBodyID, #dialogDeleteID, #currpage"+paginationID,
|
||||
dev_mdpasienview.BeforeRequestContent(),
|
||||
dev_mdpasienview.AfterRequestContent(),
|
||||
)
|
||||
|
||||
//table component
|
||||
pasienlist, totalPage, err := lh.MdPasienServices.GetListMdPasien("", 1, 5)
|
||||
if err != nil {
|
||||
defer logger.Sync()
|
||||
logger.Info("ERRO GET DATA PASIEN",
|
||||
zap.Any("error", err),
|
||||
)
|
||||
return err
|
||||
}
|
||||
|
||||
tablePasien := dev_mdpasienview.TablePasien(pasienlist, tablePasienID,
|
||||
"getEdit",
|
||||
"trgtedt",
|
||||
"swpedt",
|
||||
"#filtersearch, #tableID, #paginationID, #dialogAddID, #dialogAddBodyID, #dialogEditID, #dialogEditBodyID, #dialogDeleteBodyID, #dialogDeleteID, #currpage"+paginationID,
|
||||
"getdlt",
|
||||
"trgtdlt",
|
||||
"swpdlt",
|
||||
"#filtersearch, #tableID, #paginationID, #dialogAddID, #dialogAddBodyID, #dialogEditID, #dialogEditBodyID, #dialogDeleteBodyID, #dialogDeleteID, #currpage"+paginationID)
|
||||
|
||||
//Pagination
|
||||
paginationPasien := pagination.PaginationV3(totalPage, 1,
|
||||
"/dev/md/pasien/pagination",
|
||||
paginationID,
|
||||
"#filtersearch, #tableID, #paginationID, #dialogAddID, #dialogAddBodyID, #dialogEditID, #dialogEditBodyID, #dialogDeleteBodyID, #dialogDeleteID, #currpage"+paginationID,
|
||||
"#"+paginationID,
|
||||
"outerHTML",
|
||||
"",
|
||||
"",
|
||||
dev_mdpasienview.BeforeRequestContent(),
|
||||
dev_mdpasienview.AfterRequestContent())
|
||||
|
||||
//Pasien Screen
|
||||
cmpPasienContent := dev_mdpasienview.MdPasienScreen(
|
||||
tablePasienID,
|
||||
paginationID,
|
||||
dialogAddID,
|
||||
dialogAddBodyID,
|
||||
dialogEditID,
|
||||
dialogEditBodyID,
|
||||
dialogDeleteID,
|
||||
dialogDeleteBodyID,
|
||||
breadcrumbComponent,
|
||||
tablePasien,
|
||||
filterPasien,
|
||||
paginationPasien,
|
||||
breadcrumbComponent,
|
||||
breadcrumbComponent,
|
||||
breadcrumbComponent)
|
||||
jsMDpasien := dev_mdpasienview.JsMdPasien()
|
||||
cssMdPasien := dev_mdpasienview.CssMdPasien()
|
||||
viewMdPasienScreen := dev_mdpasienview.ShowMdPasienScreen("Master Pasien",
|
||||
cmpPasienContent,
|
||||
cssMdPasien,
|
||||
jsMDpasien, navbarmenuComponent, navbaruserComponent, sidebaruserprofileComponent)
|
||||
|
||||
return utils.View(c, viewMdPasienScreen)
|
||||
}
|
||||
|
||||
func (lh *MdPasienHandler) HandleSearchMdPasien(c echo.Context) error {
|
||||
logger, _ := zap.NewProduction()
|
||||
var retval []templ.Component
|
||||
search := c.QueryParam("search")
|
||||
// dialogEditBodyID := c.QueryParam("dialogEditBodyID")
|
||||
// dialogDeleteBodyID := c.QueryParam("dialogDeleteBodyID")
|
||||
tableID := c.QueryParam("tableID")
|
||||
paginationID := c.QueryParam("paginationID")
|
||||
|
||||
pasienList, totalPage, err := lh.MdPasienServices.GetListMdPasien(search, 1, 5)
|
||||
defer logger.Sync()
|
||||
logger.Info("GET DATA BAHAN",
|
||||
zap.Any("data", pasienList),
|
||||
zap.Any("err", err),
|
||||
zap.Any("totalPage", totalPage),
|
||||
)
|
||||
//Bahan Table
|
||||
|
||||
tablePasien := dev_mdpasienview.TablePasien(pasienList, tableID,
|
||||
"getEdit",
|
||||
"trgtedt",
|
||||
"swpedt",
|
||||
"#filtersearch, #tableID, #paginationID, #dialogAddID, #dialogAddBodyID, #dialogEditID, #dialogEditBodyID, #dialogDeleteBodyID, #dialogDeleteID, #currpage"+paginationID,
|
||||
"getdlt",
|
||||
"trgtdlt",
|
||||
"swpdlt",
|
||||
"#filtersearch, #tableID, #paginationID, #dialogAddID, #dialogAddBodyID, #dialogEditID, #dialogEditBodyID, #dialogDeleteBodyID, #dialogDeleteID, #currpage"+paginationID)
|
||||
|
||||
//Pagination
|
||||
paginationPasien := pagination.PaginationV3(totalPage, 1,
|
||||
"/dev/md/pasien/pagination",
|
||||
paginationID,
|
||||
"#filtersearch, #tableID, #paginationID, #dialogAddID, #dialogAddBodyID, #dialogEditID, #dialogEditBodyID, #dialogDeleteBodyID, #dialogDeleteID, #currpage"+paginationID,
|
||||
"#"+paginationID,
|
||||
"outerHTML",
|
||||
"",
|
||||
"",
|
||||
dev_mdpasienview.BeforeRequestContent(),
|
||||
dev_mdpasienview.AfterRequestContent())
|
||||
retval = append(retval, tablePasien)
|
||||
retval = append(retval, paginationPasien)
|
||||
return utils.ViewMulti(c, retval)
|
||||
}
|
||||
func (lh *MdPasienHandler) HandlePaginationMdPasien(c echo.Context) error {
|
||||
logger, _ := zap.NewProduction()
|
||||
var retval []templ.Component
|
||||
search := c.QueryParam("search")
|
||||
// dialogEditBodyID := c.QueryParam("dialogEditBodyID")
|
||||
// dialogDeleteBodyID := c.QueryParam("dialogDeleteBodyID")
|
||||
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
|
||||
}
|
||||
|
||||
pasienList, totalPage, err := lh.MdPasienServices.GetListMdPasien(search, page, 5)
|
||||
defer logger.Sync()
|
||||
logger.Info("GET DATA BAHAN",
|
||||
zap.Any("data", pasienList),
|
||||
zap.Any("err", err),
|
||||
zap.Any("totalPage", totalPage),
|
||||
)
|
||||
tablePasien := dev_mdpasienview.TablePasien(pasienList, tableID,
|
||||
"getEdit",
|
||||
"trgtedt",
|
||||
"swpedt",
|
||||
"#filtersearch, #tableID, #paginationID, #dialogAddID, #dialogAddBodyID, #dialogEditID, #dialogEditBodyID, #dialogDeleteBodyID, #dialogDeleteID, #currpage"+paginationID,
|
||||
"getdlt",
|
||||
"trgtdlt",
|
||||
"swpdlt",
|
||||
"#filtersearch, #tableID, #paginationID, #dialogAddID, #dialogAddBodyID, #dialogEditID, #dialogEditBodyID, #dialogDeleteBodyID, #dialogDeleteID, #currpage"+paginationID)
|
||||
|
||||
//Pagination
|
||||
paginationPasien := pagination.PaginationV3(totalPage, page,
|
||||
"/dev/md/pasien/pagination",
|
||||
paginationID,
|
||||
"#filtersearch, #tableID, #paginationID, #dialogAddID, #dialogAddBodyID, #dialogEditID, #dialogEditBodyID, #dialogDeleteBodyID, #dialogDeleteID, #currpage"+paginationID,
|
||||
"#"+paginationID,
|
||||
"outerHTML",
|
||||
"",
|
||||
"",
|
||||
dev_mdpasienview.BeforeRequestContent(),
|
||||
dev_mdpasienview.AfterRequestContent())
|
||||
retval = append(retval, tablePasien)
|
||||
retval = append(retval, paginationPasien)
|
||||
return utils.ViewMulti(c, retval)
|
||||
}
|
||||
@@ -305,4 +305,12 @@ func SetupRoutesDev(app *echo.Echo, appStore db.AppStore) {
|
||||
dev.GET("/md/bahan/opendelete", devMdBahanHandlers.HandleOpenDeleteMdBahan)
|
||||
dev.POST("/md/bahan/closedeleteform", devMdBahanHandlers.HandleCloseDeleteMdBahan)
|
||||
dev.POST("/md/bahan/delete", devMdBahanHandlers.HandleDeleteMdBahan)
|
||||
|
||||
//MD Pasien
|
||||
devMdPasienServices := dev_services.NewMdPasienServices(appStore)
|
||||
devMdPasienHandlers := dev_handlers.NewMdPasienHandler(devMdPasienServices)
|
||||
dev.GET("/md/pasien", devMdPasienHandlers.HandleShowMdPasienScreen)
|
||||
dev.GET("/md/pasien/filter", devMdPasienHandlers.HandleSearchMdPasien)
|
||||
dev.GET("/md/pasien/pagination", devMdPasienHandlers.HandlePaginationMdPasien)
|
||||
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user