user grup listing, search, pagination
This commit is contained in:
@@ -2,6 +2,7 @@ package dev_handlers
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
"math"
|
||||
|
||||
"strconv"
|
||||
"time"
|
||||
@@ -34,6 +35,9 @@ type MasterMenuUserGroupService interface {
|
||||
AddUserGroup(code string, name string) (models.UserGroupV1, error)
|
||||
EditUserGroup(id string, code string, name string) (models.UserGroupV1, error)
|
||||
DeleteUserGroup(id string) (models.UserGroupV1, error)
|
||||
GetListMasterUserGroupBySearch(search string) ([]models.UserGroupV1, error)
|
||||
GetListMasterUserGroupPagination(search string, currentPage int, rowPerPage int) ([]models.UserGroupV1, error)
|
||||
GetListMasterUserGroupFilteredBySearch(search string) ([]models.UserGroupV1, error)
|
||||
}
|
||||
|
||||
func NewMasterMenuUserGroupHandler(us MasterMenuUserGroupService) *MasterMenuUserGroupHandler {
|
||||
@@ -131,10 +135,12 @@ func (lh *MasterMenuUserGroupHandler) HandleChangePage(c echo.Context) error {
|
||||
)
|
||||
time.Sleep(3 * time.Second)
|
||||
// time.Sleep(5 * time.Second)
|
||||
vw := tablecomponent.Table([]string{"KODE", "USERGROUP", "AKSI"},
|
||||
vw := tablecomponent.TableV1([]string{"KODE", "USERGROUP", "AKSI"},
|
||||
[]string{"40%", "40%", "20%"},
|
||||
mastermenuusergroup.TableRow(dataUserGroup),
|
||||
pagination.Pagination(pageInt, currPageInt, "dev/usergroup/pagination", contentID))
|
||||
pagination.Pagination(pageInt, currPageInt, "dev/usergroup/pagination", contentID),
|
||||
contentID,
|
||||
)
|
||||
|
||||
return lh.View(c, vw)
|
||||
}
|
||||
@@ -147,6 +153,9 @@ func (uh *MasterMenuUserGroupHandler) View(c echo.Context, cmp templ.Component)
|
||||
|
||||
// try
|
||||
func (lh *MasterMenuUserGroupHandler) HandlerShowMasterMenuUserGroupV1(c echo.Context) error {
|
||||
// var toastComponent templ.Component
|
||||
contentIDHtmxExtension := utils.GenerateRandomID("htmxExtmgu")
|
||||
|
||||
logger, _ := zap.NewProduction()
|
||||
dataMenu, err := lh.MasterMenuUserGroupService.GetMasterMenus()
|
||||
fmt.Println(dataMenu)
|
||||
@@ -164,7 +173,8 @@ func (lh *MasterMenuUserGroupHandler) HandlerShowMasterMenuUserGroupV1(c echo.Co
|
||||
return err
|
||||
}
|
||||
|
||||
dataUserGroup, err := lh.MasterMenuUserGroupService.GetListMasterUserGroup()
|
||||
rowPerPage := 2
|
||||
dataUserGroup, err := lh.MasterMenuUserGroupService.GetListMasterUserGroupPagination("", 1, rowPerPage)
|
||||
fmt.Println(dataUserGroup)
|
||||
fmt.Println(err)
|
||||
if err != nil {
|
||||
@@ -176,6 +186,18 @@ func (lh *MasterMenuUserGroupHandler) HandlerShowMasterMenuUserGroupV1(c echo.Co
|
||||
return err
|
||||
}
|
||||
|
||||
dataUserGroupAll, err := lh.MasterMenuUserGroupService.GetListMasterUserGroup()
|
||||
fmt.Println(dataUserGroupAll)
|
||||
fmt.Println(err)
|
||||
if err != nil {
|
||||
defer logger.Sync()
|
||||
logger.Info("ERROR LIST USER GROUP ALL DEV",
|
||||
zap.Any("error", err),
|
||||
)
|
||||
fmt.Println(dataUserGroupAll)
|
||||
return err
|
||||
}
|
||||
|
||||
// si := mastermenuusergroup.ListMasterUserGroupInitial(dataUserGroup)
|
||||
|
||||
defer logger.Sync()
|
||||
@@ -225,14 +247,28 @@ func (lh *MasterMenuUserGroupHandler) HandlerShowMasterMenuUserGroupV1(c echo.Co
|
||||
sidebaruserprofileComponent := sidebaruserprofile.Navbaruserprofile(dataUser)
|
||||
|
||||
// inputan search
|
||||
inputansearchComponent := customtextfieldsearch.MainCustomTextFieldSearch("q", "Cari User Group", "text", "", "", "", "")
|
||||
// inputansearchComponent := customtextfieldsearch.MainCustomTextFieldSearchV1("q", "Cari User Group", "text", "/dev/searchusergroupv1", "input changed delay:500ms, search", "#idbaru", "#indicator")
|
||||
|
||||
contentIDSearch := utils.GenerateRandomID("qsearch")
|
||||
totalPages := int(math.Ceil(float64(len(dataUserGroupAll)) / float64(rowPerPage)))
|
||||
link := "currentPage=1&page=" + strconv.Itoa(totalPages) + "&contentID=" + contentID
|
||||
|
||||
inputansearchComponent := customtextfieldsearch.MainCustomTextFieldSearchV1("#"+contentIDSearch, "q", "Cari User Group", "text", "/dev/searchusergroupv1?"+link, "input changed delay:500ms, search", "#"+contentID, "#indicator", "", contentIDHtmxExtension)
|
||||
|
||||
// toast
|
||||
// contentIDToast := utils.GenerateRandomID("toastmgu")
|
||||
// toastComponent = customtoast.CustomToastV1("", contentIDHtmxExtension)
|
||||
|
||||
// table user group
|
||||
tabelusergroupComponent := tablecomponent.Table(
|
||||
|
||||
searchQueryParam := "&q="
|
||||
tabelusergroupComponent := tablecomponent.TableV2(
|
||||
[]string{"KODE", "USERGROUP", "AKSI"},
|
||||
[]string{"40%", "40%", "20%"},
|
||||
mastermenuusergroup.TableRowV1(dataUserGroup),
|
||||
pagination.Pagination(20, 1, "", contentID),
|
||||
pagination.PaginationV1(totalPages, 1, "/dev/usergroupv1pagination", contentID, searchQueryParam),
|
||||
contentID,
|
||||
inputansearchComponent,
|
||||
)
|
||||
|
||||
si := mastermenuusergroup.ShowMasterMenuUserGroupV1x(
|
||||
@@ -242,6 +278,8 @@ func (lh *MasterMenuUserGroupHandler) HandlerShowMasterMenuUserGroupV1(c echo.Co
|
||||
breadcrumbadmin.MainBreadcrumbAdminV1(dataBreadCrumb),
|
||||
tabelusergroupComponent,
|
||||
inputansearchComponent,
|
||||
// toastComponent,
|
||||
// contentIDToast,
|
||||
),
|
||||
|
||||
mastermenuusergroup.CssMasterMenuUserGroupV1x(),
|
||||
@@ -376,3 +414,200 @@ func (lh *MasterMenuUserGroupHandler) DeleteUserGroup(c echo.Context) error {
|
||||
|
||||
return lh.View(c, vw)
|
||||
}
|
||||
|
||||
func (lh *MasterMenuUserGroupHandler) HandlerShowMasterMenuUserGroupSearchV1(c echo.Context) error {
|
||||
search := c.QueryParam("q")
|
||||
logger, _ := zap.NewProduction()
|
||||
|
||||
// dataUserGroup, err := lh.MasterMenuUserGroupService.GetListMasterUserGroupBySearch(search)
|
||||
rowPerPage := 2
|
||||
pageparam := c.QueryParam("page")
|
||||
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
|
||||
}
|
||||
|
||||
currentPageParam := c.QueryParam("currentPage")
|
||||
currentPage, err := strconv.Atoi(currentPageParam)
|
||||
if err != nil {
|
||||
defer logger.Sync()
|
||||
logger.Info("ERROR CONVERT CURRENT PAGE PARAM",
|
||||
zap.Any("page", page),
|
||||
zap.Any("error ", err),
|
||||
)
|
||||
return err
|
||||
}
|
||||
|
||||
dataUserGroup, err := lh.MasterMenuUserGroupService.GetListMasterUserGroupPagination(search, currentPage, rowPerPage)
|
||||
fmt.Println(dataUserGroup)
|
||||
fmt.Println(err)
|
||||
if err != nil {
|
||||
defer logger.Sync()
|
||||
logger.Info("ERROR SEARCH USER GROUP DEV",
|
||||
zap.Any("error", err),
|
||||
zap.Any("search param", search),
|
||||
)
|
||||
fmt.Println(dataUserGroup)
|
||||
return err
|
||||
}
|
||||
|
||||
defer logger.Sync()
|
||||
logger.Info("LOAD USER GROUP DEV BY SEARCH",
|
||||
zap.Any("data", dataUserGroup),
|
||||
)
|
||||
|
||||
// data user filtered
|
||||
dataUserGroupFiltered, err := lh.MasterMenuUserGroupService.GetListMasterUserGroupFilteredBySearch(search)
|
||||
fmt.Println(dataUserGroupFiltered)
|
||||
fmt.Println(err)
|
||||
if err != nil {
|
||||
defer logger.Sync()
|
||||
logger.Info("ERROR SEARCH USER GROUP FILTERED BY SEARCH DEV",
|
||||
zap.Any("error", err),
|
||||
zap.Any("search param", search),
|
||||
)
|
||||
fmt.Println(dataUserGroupFiltered)
|
||||
return err
|
||||
}
|
||||
|
||||
defer logger.Sync()
|
||||
logger.Info("LOAD SEARCH USER GROUP FILTERED BY SEARCH DEV",
|
||||
zap.Any("data", dataUserGroupFiltered),
|
||||
)
|
||||
// si := mastermenuusergroup.ListMasterUserGroupInitial(dataUserGroup)
|
||||
|
||||
contentID := utils.GenerateRandomID("tablebody")
|
||||
|
||||
// tabelusergroupComponent := mastermenuusergroup.TableRowV1(dataUserGroup)
|
||||
totalPages := int(math.Ceil(float64(len(dataUserGroupFiltered)) / float64(rowPerPage)))
|
||||
searchQueryParam := "&q=" + search
|
||||
|
||||
contentIDSearch := utils.GenerateRandomID("qsearch")
|
||||
link := "currentPage=1&page=" + strconv.Itoa(totalPages) + "&contentID=" + contentID
|
||||
|
||||
contentIDHtmxExtension := utils.GenerateRandomID("htmxExtmgu")
|
||||
inputansearchComponent := customtextfieldsearch.MainCustomTextFieldSearchV1("#"+contentIDSearch, "q", "Cari User Group", "text", "/dev/searchusergroupv1?"+link, "input changed delay:500ms, search", "#"+contentID, "#indicator", search, contentIDHtmxExtension)
|
||||
|
||||
tabelusergroupComponent := tablecomponent.TableV2(
|
||||
[]string{"KODE", "USERGROUP", "AKSI"},
|
||||
[]string{"40%", "40%", "20%"},
|
||||
mastermenuusergroup.TableRowV1(dataUserGroup),
|
||||
pagination.PaginationV1(totalPages, 1, "/dev/usergroupv1pagination", contentID, searchQueryParam),
|
||||
contentID,
|
||||
inputansearchComponent,
|
||||
)
|
||||
|
||||
si := tabelusergroupComponent
|
||||
|
||||
return utils.View(c, si)
|
||||
}
|
||||
|
||||
func (lh *MasterMenuUserGroupHandler) HandlerShowMasterMenuUserGroupPaginationV1(c echo.Context) error {
|
||||
logger, _ := zap.NewProduction()
|
||||
|
||||
search := c.QueryParam("q")
|
||||
pageparam := c.QueryParam("page")
|
||||
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
|
||||
}
|
||||
|
||||
dataUserGroupAll, err := lh.MasterMenuUserGroupService.GetListMasterUserGroup()
|
||||
fmt.Println(dataUserGroupAll)
|
||||
fmt.Println(err)
|
||||
if err != nil {
|
||||
defer logger.Sync()
|
||||
logger.Info("ERROR LIST USER GROUP ALL DEV",
|
||||
zap.Any("error", err),
|
||||
)
|
||||
fmt.Println(dataUserGroupAll)
|
||||
return err
|
||||
}
|
||||
|
||||
currentPageParam := c.QueryParam("currentPage")
|
||||
currentPage, err := strconv.Atoi(currentPageParam)
|
||||
if err != nil {
|
||||
defer logger.Sync()
|
||||
logger.Info("ERROR CONVERT CURRENT PAGE PARAM",
|
||||
zap.Any("page", page),
|
||||
zap.Any("error ", err),
|
||||
)
|
||||
return err
|
||||
}
|
||||
|
||||
rowPerPage := 2
|
||||
dataUserGroup, err := lh.MasterMenuUserGroupService.GetListMasterUserGroupPagination(search, currentPage, rowPerPage)
|
||||
fmt.Println(dataUserGroup)
|
||||
fmt.Println(err)
|
||||
if err != nil {
|
||||
defer logger.Sync()
|
||||
logger.Info("ERROR SEARCH USER GROUP DEV",
|
||||
zap.Any("error", err),
|
||||
zap.Any("search param", search),
|
||||
)
|
||||
fmt.Println(dataUserGroup)
|
||||
return err
|
||||
}
|
||||
|
||||
// si := mastermenuusergroup.ListMasterUserGroupInitial(dataUserGroup)
|
||||
|
||||
defer logger.Sync()
|
||||
logger.Info("LOAD USER GROUP DEV BY SEARCH",
|
||||
zap.Any("data", dataUserGroup),
|
||||
)
|
||||
|
||||
// data user filtered
|
||||
dataUserGroupFiltered, err := lh.MasterMenuUserGroupService.GetListMasterUserGroupFilteredBySearch(search)
|
||||
fmt.Println(dataUserGroupFiltered)
|
||||
fmt.Println(err)
|
||||
if err != nil {
|
||||
defer logger.Sync()
|
||||
logger.Info("ERROR SEARCH USER GROUP FILTERED BY SEARCH DEV",
|
||||
zap.Any("error", err),
|
||||
zap.Any("search param", search),
|
||||
)
|
||||
fmt.Println(dataUserGroupFiltered)
|
||||
return err
|
||||
}
|
||||
|
||||
defer logger.Sync()
|
||||
logger.Info("LOAD SEARCH USER GROUP FILTERED BY SEARCH DEV",
|
||||
zap.Any("data", dataUserGroupFiltered),
|
||||
)
|
||||
|
||||
contentID := utils.GenerateRandomID("tablebody")
|
||||
|
||||
// table user group
|
||||
searchQueryParam := "&q=" + search
|
||||
totalPages := int(math.Ceil(float64(len(dataUserGroupFiltered)) / float64(rowPerPage)))
|
||||
contentIDSearch := utils.GenerateRandomID("qsearch")
|
||||
link := "currentPage=1&page=" + strconv.Itoa(totalPages) + "&contentID=" + contentID
|
||||
|
||||
contentIDHtmxExtension := utils.GenerateRandomID("htmxExtmgu")
|
||||
inputansearchComponent := customtextfieldsearch.MainCustomTextFieldSearchV1("#"+contentIDSearch, "q", "Cari User Group", "text", "/dev/searchusergroupv1?"+link, "input changed delay:500ms, search", "#"+contentID, "#indicator", search, contentIDHtmxExtension)
|
||||
|
||||
tabelusergroupComponent := tablecomponent.TableV2(
|
||||
[]string{"KODE", "USERGROUP", "AKSI"},
|
||||
[]string{"40%", "40%", "20%"},
|
||||
mastermenuusergroup.TableRowV1(dataUserGroup),
|
||||
pagination.PaginationV1(totalPages, currentPage, "/dev/usergroupv1pagination", contentID, searchQueryParam),
|
||||
contentID,
|
||||
inputansearchComponent,
|
||||
)
|
||||
|
||||
// tabelusergroupComponent := mastermenuusergroup.TableRowV1(dataUserGroup)
|
||||
|
||||
si := tabelusergroupComponent
|
||||
|
||||
return utils.View(c, si)
|
||||
}
|
||||
|
||||
@@ -196,6 +196,8 @@ func SetupRoutesDev(app *echo.Echo, appStore db.AppStore) {
|
||||
// try
|
||||
dev.GET("/usergroupv1", devUGhandlers.HandlerShowMasterMenuUserGroupV1)
|
||||
dev.GET("/breadcrumbv1", devUGhandlers.HandlerShowBreadCrumbV1)
|
||||
dev.GET("/searchusergroupv1", devUGhandlers.HandlerShowMasterMenuUserGroupSearchV1)
|
||||
dev.GET("/usergroupv1pagination", devUGhandlers.HandlerShowMasterMenuUserGroupPaginationV1)
|
||||
|
||||
// clientgroup.GET("/usergroup/edit", mastermenuusergroupHandler.ChangeFormEdit)
|
||||
// clientgroup.GET("/usergroup/pagination", mastermenuusergroupHandler.HandleChangePage)
|
||||
|
||||
Reference in New Issue
Block a user