refractor user group

This commit is contained in:
Sas Andy
2024-05-17 10:50:58 +07:00
parent 9ab0c7b6f4
commit c66e8f5720
29 changed files with 1729 additions and 357 deletions

View File

@@ -2,7 +2,6 @@ package dev_handlers
import (
"fmt"
"math"
"strings"
"strconv"
@@ -15,6 +14,7 @@ import (
mastermenuusergroup "cpone/views/dev/mastermenuusergroup"
"cpone/views/dev/mastermenuusergrouptryandy"
globalservices "cpone/services"
services "cpone/services/dev"
"github.com/a-h/templ"
@@ -40,6 +40,7 @@ type MasterMenuUserGroupService interface {
GetListMasterUserGroupBySearch(search string) ([]models.UserGroupV1, error)
GetListMasterUserGroupPagination(search string, currentPage int, rowPerPage int) ([]models.UserGroupV1, error)
GetListMasterUserGroupFilteredBySearch(search string) ([]models.UserGroupV1, error)
GetListMasterUserGroupV2(search string, currentPage int, rowPerPage int) ([]models.UserGroupV1, int, error)
}
func NewMasterMenuUserGroupHandler(us MasterMenuUserGroupService) *MasterMenuUserGroupHandler {
@@ -155,11 +156,11 @@ 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()
//get sidebarmenu
dataMenu, err := globalservices.GetMenu()
fmt.Println(dataMenu)
fmt.Println(err)
if err != nil {
@@ -167,7 +168,8 @@ func (lh *MasterMenuUserGroupHandler) HandlerShowMasterMenuUserGroupV1(c echo.Co
return err
}
dataUser, err := services.GetUser()
//get user login
dataUser, err := globalservices.GetUserLogin()
fmt.Println(dataUser)
fmt.Println(err)
if err != nil {
@@ -175,31 +177,16 @@ func (lh *MasterMenuUserGroupHandler) HandlerShowMasterMenuUserGroupV1(c echo.Co
return err
}
rowPerPage := 2
dataUserGroup, err := lh.MasterMenuUserGroupService.GetListMasterUserGroupPagination("", 1, rowPerPage)
fmt.Println(dataUserGroup)
fmt.Println(err)
dataUserGroup, totalpage, err := lh.MasterMenuUserGroupService.GetListMasterUserGroupV2("", 1, 5)
if err != nil {
defer logger.Sync()
logger.Info("ERROR LIST USER GROUP DEV",
logger.Info("ERROR GET USER GROUP",
zap.Any("error", err),
)
fmt.Println(dataUserGroup)
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()
@@ -207,16 +194,9 @@ func (lh *MasterMenuUserGroupHandler) HandlerShowMasterMenuUserGroupV1(c echo.Co
zap.Any("data", dataUserGroup),
)
// si := mastermenuusergroup.ListMasterUserGroupInitial(dataUserGroup)
// si := mastermenuusergroup.ShowMasterMenuUserGroupV1(
// "Master Menu",
// mastermenuusergroup.ListMasterUserGroupInitial(dataUserGroup),
// mastermenuusergroup.CssMasterMenuUserGroupV1(),
// mastermenuusergroup.JsMasterMenuUserGroupV1(),
// )
contentID := utils.GenerateRandomID("tablebody")
tableID := utils.GenerateRandomID("tablebody")
paginationID := utils.GenerateRandomID("paginationid")
searchID := utils.GenerateRandomID("searchid")
paramTitleBreadcrumbConvert := "Master User Group"
@@ -232,8 +212,6 @@ func (lh *MasterMenuUserGroupHandler) HandlerShowMasterMenuUserGroupV1(c echo.Co
return err
}
// si := mastermenuusergroup.ListMasterUserGroupInitial(dataBreadCrumb)
defer logger.Sync()
logger.Info("LOAD BREADCRUMB DEV",
zap.Any("data", dataBreadCrumb),
@@ -248,40 +226,35 @@ func (lh *MasterMenuUserGroupHandler) HandlerShowMasterMenuUserGroupV1(c echo.Co
// sidebar
sidebaruserprofileComponent := sidebaruserprofile.Navbaruserprofile(dataUser)
// inputan search
// inputansearchComponent := customtextfieldsearch.MainCustomTextFieldSearchV1("q", "Cari User Group", "text", "/dev/searchusergroupv1", "input changed delay:500ms, search", "#idbaru", "#indicator")
// totalPages := int(math.Ceil(float64(len(dataUserGroupAll)) / float64(rowPerPage)))
contentIDSearch := utils.GenerateRandomID("qsearch")
totalPages := int(math.Ceil(float64(len(dataUserGroupAll)) / float64(rowPerPage)))
link := "currentPage=1&page=" + strconv.Itoa(totalPages) + "&contentID=" + contentID
contentUserGroupComponent := mastermenuusergroup.TableUserGroup(
dataUserGroup, tableID)
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
searchQueryParam := "&q="
tabelusergroupComponent := tablecomponent.TableV2(
[]string{"KODE", "USERGROUP", "AKSI"},
[]string{"40%", "40%", "20%"},
mastermenuusergroup.TableRowV1(dataUserGroup),
pagination.PaginationV1(totalPages, 1, "/dev/usergroupv1pagination", contentID, searchQueryParam),
contentID,
inputansearchComponent,
usergroupFilterComponent := customtextfieldsearch.MainCustomTextFieldSearchV2(searchID,
"search",
"Cari Kode/Nama",
"text",
"/dev/searchusergroupv1",
"input changed delay:500ms, search",
"#"+paginationID, "", "", "outerHTML", "#tableID, #paginationID")
// @pagination.PaginationV2(pageLength, 1, paginationLink, contentId, "#search"+contentId+", #contentID")
userGroupPaginationComponent := pagination.PaginationV2(
totalpage,
1,
"/dev/usergroupv1pagination",
paginationID,
"#tableID, #searchID, #paginationID", "#"+paginationID, "outerHTML", "",
)
si := mastermenuusergroup.ShowMasterMenuUserGroupV1x(
"Master Menu",
mastermenuusergroup.ContentMasterMenuUserGroupV1(
contentID,
tableID, paginationID, searchID,
breadcrumbadmin.MainBreadcrumbAdminV1(dataBreadCrumb),
tabelusergroupComponent,
inputansearchComponent,
// toastComponent,
// contentIDToast,
contentUserGroupComponent,
usergroupFilterComponent,
userGroupPaginationComponent,
),
mastermenuusergroup.CssMasterMenuUserGroupV1x(),
@@ -441,94 +414,43 @@ func (lh *MasterMenuUserGroupHandler) DeleteUserGroup(c echo.Context) error {
}
func (lh *MasterMenuUserGroupHandler) HandlerShowMasterMenuUserGroupSearchV1(c echo.Context) error {
search := c.QueryParam("q")
search := c.QueryParam("search")
tableID := c.QueryParam("tableID")
paginationID := c.QueryParam("paginationID")
logger, _ := zap.NewProduction()
// dataUserGroup, err := lh.MasterMenuUserGroupService.GetListMasterUserGroupBySearch(search)
rowPerPage := 2
pageparam := c.QueryParam("page")
page, err := strconv.Atoi(pageparam)
dataUserGroup, totalpage, err := lh.MasterMenuUserGroupService.GetListMasterUserGroupV2(search, 1, 5)
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",
logger.Info("ERROR GET USER GROUP",
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),
)
// totalPages := int(math.Ceil(float64(len(dataUserGroupFiltered)) / float64(rowPerPage)))
// 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
}
contentUserGroupComponent := mastermenuusergroup.TableUserGroup(
dataUserGroup, tableID)
// userGroupPaginationComponent := pagination.PaginationV2(
// totalpage,
// 1,
// "/dev/usergroupv1pagination",
// paginationID,
// "#tableID, #"+searchID, "#"+tableID, "outerHTML", "",
// )
defer logger.Sync()
logger.Info("LOAD SEARCH USER GROUP FILTERED BY SEARCH DEV",
zap.Any("data", dataUserGroupFiltered),
)
// si := mastermenuusergroup.ListMasterUserGroupInitial(dataUserGroup)
userGroupPaginationComponent := pagination.PaginationV2(totalpage,
1,
"/dev/usergroupv1pagination",
paginationID,
"#tableID, #searchID, #paginationID", "#"+paginationID, "outerHTML", "")
contentID := utils.GenerateRandomID("tablebody")
swapTable :=
mastermenuusergroup.SwapTableUserGroup(userGroupPaginationComponent, contentUserGroupComponent)
// 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)
inputansearchComponent := tablecomponent.DivEmpty()
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
si := swapTable
return utils.View(c, si)
}
@@ -536,8 +458,11 @@ func (lh *MasterMenuUserGroupHandler) HandlerShowMasterMenuUserGroupSearchV1(c e
func (lh *MasterMenuUserGroupHandler) HandlerShowMasterMenuUserGroupPaginationV1(c echo.Context) error {
logger, _ := zap.NewProduction()
search := c.QueryParam("q")
search := c.QueryParam("search")
pageparam := c.QueryParam("page")
tableID := c.QueryParam("tableID")
// searchID := c.QueryParam("searchID")
paginationID := c.QueryParam("paginationID")
page, err := strconv.Atoi(pageparam)
if err != nil {
defer logger.Sync()
@@ -548,93 +473,29 @@ func (lh *MasterMenuUserGroupHandler) HandlerShowMasterMenuUserGroupPaginationV1
return err
}
dataUserGroupAll, err := lh.MasterMenuUserGroupService.GetListMasterUserGroup()
fmt.Println(dataUserGroupAll)
fmt.Println(err)
dataUserGroup, totalpage, err := lh.MasterMenuUserGroupService.GetListMasterUserGroupV2(search, page, 5)
if err != nil {
defer logger.Sync()
logger.Info("ERROR LIST USER GROUP ALL DEV",
logger.Info("ERROR GET USER GROUP",
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)
contentUserGroupComponent := mastermenuusergroup.TableUserGroup(
dataUserGroup, tableID)
defer logger.Sync()
logger.Info("LOAD USER GROUP DEV BY SEARCH",
zap.Any("data", dataUserGroup),
)
userGroupPaginationComponent := pagination.PaginationV2(totalpage,
page,
"/dev/usergroupv1pagination",
paginationID,
"#tableID, #searchID, #paginationID", "#"+paginationID, "outerHTML", "")
// 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
}
swapTable :=
mastermenuusergroup.SwapTableUserGroup(userGroupPaginationComponent, contentUserGroupComponent)
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)
inputansearchComponent := tablecomponent.DivEmpty()
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
si := swapTable
return utils.View(c, si)
}
@@ -642,7 +503,7 @@ func (lh *MasterMenuUserGroupHandler) HandlerShowMasterMenuUserGroupPaginationV1
// Coba Anndy
func (lh *MasterMenuUserGroupHandler) HandlerShowMasterMenuUserGroupTryAndy(c echo.Context) error {
logger, _ := zap.NewProduction()
dataMenu, err := lh.MasterMenuUserGroupService.GetMasterMenus()
dataMenu, err := globalservices.GetMenu()
fmt.Println(dataMenu)
fmt.Println(err)
if err != nil {