user commit1
This commit is contained in:
429
handlers/dev/mastermenuuser.handlers.go
Normal file
429
handlers/dev/mastermenuuser.handlers.go
Normal file
@@ -0,0 +1,429 @@
|
||||
package dev_handlers
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
"math"
|
||||
|
||||
"strconv"
|
||||
|
||||
"cpone/component/pagination"
|
||||
tablecomponent "cpone/component/table"
|
||||
"cpone/models"
|
||||
"cpone/utils"
|
||||
mastermenuuser "cpone/views/dev/mastermenuuser"
|
||||
mastermenuusergroup "cpone/views/dev/mastermenuusergroup"
|
||||
|
||||
services "cpone/services/dev"
|
||||
|
||||
"github.com/a-h/templ"
|
||||
"github.com/labstack/echo/v4"
|
||||
"go.uber.org/zap"
|
||||
|
||||
breadcrumbadmin "cpone/component/breadcrumbadmin"
|
||||
customtextfieldsearch "cpone/component/customtextfieldsearch"
|
||||
navbarmenu "cpone/component/navbar"
|
||||
sidebaruserprofile "cpone/component/sidebar_user_profile"
|
||||
)
|
||||
|
||||
type MasterMenuUserService interface {
|
||||
GetMasterMenus() ([]services.MasterMenu, error)
|
||||
GetUserGroup() ([]models.UserGroup, error)
|
||||
// try
|
||||
GetListMasterUser() ([]models.MasterUser, error)
|
||||
GetListBreadCrumb(title string) (models.BreadCrumbV1, error)
|
||||
|
||||
GetListMasterUserBySearch(search string) ([]models.MasterUser, error)
|
||||
GetListMasterUserPagination(search string, currentPage int, rowPerPage int) ([]models.MasterUser, error)
|
||||
GetListMasterUserFilteredBySearch(search string) ([]models.MasterUser, error)
|
||||
}
|
||||
|
||||
func NewMasterMenuUserHandler(us MasterMenuUserService) *MasterMenuUserHandler {
|
||||
return &MasterMenuUserHandler{
|
||||
MasterMenuUserService: us,
|
||||
}
|
||||
}
|
||||
|
||||
type MasterMenuUserHandler struct {
|
||||
MasterMenuUserService MasterMenuUserService
|
||||
}
|
||||
|
||||
func (uh *MasterMenuUserHandler) View(c echo.Context, cmp templ.Component) error {
|
||||
c.Response().Header().Set(echo.HeaderContentType, echo.MIMETextHTML)
|
||||
|
||||
return cmp.Render(c.Request().Context(), c.Response().Writer)
|
||||
}
|
||||
|
||||
func (lh *MasterMenuUserHandler) HandlerShowBreadCrumbV1(c echo.Context) error {
|
||||
logger, _ := zap.NewProduction()
|
||||
paramTitleBreadcrumbConvert := "Master User"
|
||||
|
||||
dataBreadCrumb, err := lh.MasterMenuUserService.GetListBreadCrumb(paramTitleBreadcrumbConvert)
|
||||
fmt.Println(dataBreadCrumb)
|
||||
fmt.Println(err)
|
||||
if err != nil {
|
||||
defer logger.Sync()
|
||||
logger.Info("ERROR BREADCRUMB DEV",
|
||||
zap.Any("error", err),
|
||||
)
|
||||
fmt.Println(dataBreadCrumb)
|
||||
return err
|
||||
}
|
||||
|
||||
// si := mastermenuusergroup.ListMasterUserGroupInitial(dataBreadCrumb)
|
||||
|
||||
defer logger.Sync()
|
||||
logger.Info("LOAD BREADCRUMB DEV",
|
||||
zap.Any("data", dataBreadCrumb),
|
||||
)
|
||||
|
||||
// si := breadcrumbadmin.MainBreadcrumbAdminV1(dataBreadCrumb)
|
||||
|
||||
si := mastermenuusergroup.ShowMasterMenuUserGroupV1(
|
||||
"Master Menu",
|
||||
breadcrumbadmin.MainBreadcrumbAdminV1(dataBreadCrumb),
|
||||
mastermenuusergroup.CssMasterMenuUserGroupV1(),
|
||||
mastermenuusergroup.JsMasterMenuUserGroupV1(),
|
||||
)
|
||||
|
||||
return lh.View(c, si)
|
||||
}
|
||||
|
||||
// try
|
||||
func (lh *MasterMenuUserHandler) HandlerShowMasterMenuUserV1(c echo.Context) error {
|
||||
// var toastComponent templ.Component
|
||||
contentIDHtmxExtension := utils.GenerateRandomID("htmxExtmgu")
|
||||
|
||||
logger, _ := zap.NewProduction()
|
||||
dataMenu, err := lh.MasterMenuUserService.GetMasterMenus()
|
||||
fmt.Println(dataMenu)
|
||||
fmt.Println(err)
|
||||
if err != nil {
|
||||
fmt.Println(dataMenu)
|
||||
return err
|
||||
}
|
||||
|
||||
dataUser, err := services.GetUser()
|
||||
fmt.Println(dataUser)
|
||||
fmt.Println(err)
|
||||
if err != nil {
|
||||
fmt.Println(dataUser)
|
||||
return err
|
||||
}
|
||||
|
||||
rowPerPage := 2
|
||||
dataMasterUser, err := lh.MasterMenuUserService.GetListMasterUserPagination("", 1, rowPerPage)
|
||||
fmt.Println(dataMasterUser)
|
||||
fmt.Println(err)
|
||||
if err != nil {
|
||||
defer logger.Sync()
|
||||
logger.Info("ERROR LIST USER MASTER DEV",
|
||||
zap.Any("error", err),
|
||||
)
|
||||
fmt.Println(dataMasterUser)
|
||||
return err
|
||||
}
|
||||
|
||||
dataUserMasterAll, err := lh.MasterMenuUserService.GetListMasterUser()
|
||||
fmt.Println(dataUserMasterAll)
|
||||
fmt.Println(err)
|
||||
if err != nil {
|
||||
defer logger.Sync()
|
||||
logger.Info("ERROR LIST USER MASTER ALL DEV",
|
||||
zap.Any("error", err),
|
||||
)
|
||||
fmt.Println(dataUserMasterAll)
|
||||
return err
|
||||
}
|
||||
|
||||
// si := mastermenuusergroup.ListMasterUserGroupInitial(dataMasterUser)
|
||||
|
||||
defer logger.Sync()
|
||||
logger.Info("LOAD USER GROUP DEV",
|
||||
zap.Any("data", dataMasterUser),
|
||||
)
|
||||
|
||||
// si := mastermenuusergroup.ListMasterUserGroupInitial(dataMasterUser)
|
||||
|
||||
// si := mastermenuusergroup.ShowMasterMenuUserGroupV1(
|
||||
// "Master Menu",
|
||||
// mastermenuusergroup.ListMasterUserGroupInitial(dataMasterUser),
|
||||
// mastermenuusergroup.CssMasterMenuUserGroupV1(),
|
||||
// mastermenuusergroup.JsMasterMenuUserGroupV1(),
|
||||
// )
|
||||
|
||||
contentID := utils.GenerateRandomID("tablebody")
|
||||
|
||||
paramTitleBreadcrumbConvert := "Master User"
|
||||
|
||||
dataBreadCrumb, err := lh.MasterMenuUserService.GetListBreadCrumb(paramTitleBreadcrumbConvert)
|
||||
fmt.Println(dataBreadCrumb)
|
||||
fmt.Println(err)
|
||||
if err != nil {
|
||||
defer logger.Sync()
|
||||
logger.Info("ERROR BREADCRUMB DEV",
|
||||
zap.Any("error", err),
|
||||
)
|
||||
fmt.Println(dataBreadCrumb)
|
||||
return err
|
||||
}
|
||||
|
||||
// si := mastermenuusergroup.ListMasterUserGroupInitial(dataBreadCrumb)
|
||||
|
||||
defer logger.Sync()
|
||||
logger.Info("LOAD BREADCRUMB DEV",
|
||||
zap.Any("data", dataBreadCrumb),
|
||||
)
|
||||
|
||||
// navbar menu
|
||||
navbarmenuComponent := navbarmenu.NavbarMenu(dataMenu)
|
||||
|
||||
// navbar user
|
||||
navbaruserComponent := navbarmenu.Navbar(dataUser)
|
||||
|
||||
// sidebar
|
||||
sidebaruserprofileComponent := sidebaruserprofile.Navbaruserprofile(dataUser)
|
||||
|
||||
// inputan search
|
||||
// inputansearchComponent := customtextfieldsearch.MainCustomTextFieldSearchV1("q", "Cari User Group", "text", "/dev/searchuserv1", "input changed delay:500ms, search", "#idbaru", "#indicator")
|
||||
|
||||
contentIDSearch := utils.GenerateRandomID("qsearch")
|
||||
totalPages := int(math.Ceil(float64(len(dataUserMasterAll)) / float64(rowPerPage)))
|
||||
link := "currentPage=1&page=" + strconv.Itoa(totalPages) + "&contentID=" + contentID
|
||||
|
||||
inputansearchComponent := customtextfieldsearch.MainCustomTextFieldSearchV1("#"+contentIDSearch, "q", "Cari User Group", "text", "/dev/searchuserv1?"+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{"USERNAME", "NAMA STAFF", "USER GROUP", "AKSI"},
|
||||
[]string{"20%", "40%", "20%", "20%"},
|
||||
mastermenuuser.TableRowMasterUserV1(dataMasterUser),
|
||||
pagination.PaginationV1(totalPages, 1, "/dev/userv1pagination", contentID, searchQueryParam),
|
||||
contentID,
|
||||
inputansearchComponent,
|
||||
)
|
||||
|
||||
si := mastermenuusergroup.ShowMasterMenuUserGroupV1x(
|
||||
"Master Menu",
|
||||
mastermenuusergroup.ContentMasterMenuUserGroupV1(
|
||||
contentID,
|
||||
breadcrumbadmin.MainBreadcrumbAdminV1(dataBreadCrumb),
|
||||
tabelusergroupComponent,
|
||||
inputansearchComponent,
|
||||
// toastComponent,
|
||||
// contentIDToast,
|
||||
),
|
||||
|
||||
mastermenuusergroup.CssMasterMenuUserGroupV1x(),
|
||||
mastermenuusergroup.JSkuV1(),
|
||||
navbarmenuComponent,
|
||||
navbaruserComponent,
|
||||
sidebaruserprofileComponent,
|
||||
)
|
||||
|
||||
return utils.View(c, si)
|
||||
}
|
||||
|
||||
func (lh *MasterMenuUserHandler) HandlerShowMasterMenuUserSearchV1(c echo.Context) error {
|
||||
search := c.QueryParam("q")
|
||||
logger, _ := zap.NewProduction()
|
||||
|
||||
// dataUserMaster, err := lh.MasterMenuUserService.GetListMasterUserBySearch(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
|
||||
}
|
||||
|
||||
dataUserMaster, err := lh.MasterMenuUserService.GetListMasterUserPagination(search, currentPage, rowPerPage)
|
||||
fmt.Println(dataUserMaster)
|
||||
fmt.Println(err)
|
||||
if err != nil {
|
||||
defer logger.Sync()
|
||||
logger.Info("ERROR SEARCH USER MASTER DEV",
|
||||
zap.Any("error", err),
|
||||
zap.Any("search param", search),
|
||||
)
|
||||
fmt.Println(dataUserMaster)
|
||||
return err
|
||||
}
|
||||
|
||||
defer logger.Sync()
|
||||
logger.Info("LOAD USER MASTER DEV BY SEARCH",
|
||||
zap.Any("data", dataUserMaster),
|
||||
)
|
||||
|
||||
// data user filtered
|
||||
dataUserMasterFiltered, err := lh.MasterMenuUserService.GetListMasterUserFilteredBySearch(search)
|
||||
fmt.Println(dataUserMasterFiltered)
|
||||
fmt.Println(err)
|
||||
if err != nil {
|
||||
defer logger.Sync()
|
||||
logger.Info("ERROR SEARCH USER MASTER FILTERED BY SEARCH DEV",
|
||||
zap.Any("error", err),
|
||||
zap.Any("search param", search),
|
||||
)
|
||||
fmt.Println(dataUserMasterFiltered)
|
||||
return err
|
||||
}
|
||||
|
||||
defer logger.Sync()
|
||||
logger.Info("LOAD SEARCH USER MASTER FILTERED BY SEARCH DEV",
|
||||
zap.Any("data", dataUserMasterFiltered),
|
||||
)
|
||||
// si := mastermenuusergroup.ListMasterUserGroupInitial(dataUserMaster)
|
||||
|
||||
contentID := utils.GenerateRandomID("tablebody")
|
||||
|
||||
// tabelusergroupComponent := mastermenuusergroup.TableRowV1(dataUserMaster)
|
||||
totalPages := int(math.Ceil(float64(len(dataUserMasterFiltered)) / 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/searchuserv1?"+link, "input changed delay:500ms, search", "#"+contentID, "#indicator", search, contentIDHtmxExtension)
|
||||
|
||||
inputansearchComponent := tablecomponent.DivEmpty()
|
||||
tabelusergroupComponent := tablecomponent.TableV2(
|
||||
[]string{"USERNAME", "NAMA STAFF", "USER GROUP", "AKSI"},
|
||||
[]string{"20%", "40%", "20%", "20%"},
|
||||
mastermenuuser.TableRowMasterUserV1(dataUserMaster),
|
||||
pagination.PaginationV1(totalPages, 1, "/dev/userv1pagination", contentID, searchQueryParam),
|
||||
contentID,
|
||||
inputansearchComponent,
|
||||
)
|
||||
|
||||
si := tabelusergroupComponent
|
||||
|
||||
return utils.View(c, si)
|
||||
}
|
||||
|
||||
func (lh *MasterMenuUserHandler) HandlerShowMasterMenuUserPaginationV1(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
|
||||
}
|
||||
|
||||
dataUserMasterAll, err := lh.MasterMenuUserService.GetListMasterUser()
|
||||
fmt.Println(dataUserMasterAll)
|
||||
fmt.Println(err)
|
||||
if err != nil {
|
||||
defer logger.Sync()
|
||||
logger.Info("ERROR LIST USER MASTER ALL DEV",
|
||||
zap.Any("error", err),
|
||||
)
|
||||
fmt.Println(dataUserMasterAll)
|
||||
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
|
||||
dataUserMaster, err := lh.MasterMenuUserService.GetListMasterUserPagination(search, currentPage, rowPerPage)
|
||||
fmt.Println(dataUserMaster)
|
||||
fmt.Println(err)
|
||||
if err != nil {
|
||||
defer logger.Sync()
|
||||
logger.Info("ERROR SEARCH USER MASTER DEV",
|
||||
zap.Any("error", err),
|
||||
zap.Any("search param", search),
|
||||
)
|
||||
fmt.Println(dataUserMaster)
|
||||
return err
|
||||
}
|
||||
|
||||
// si := mastermenuusergroup.ListMasterUserGroupInitial(dataUserMaster)
|
||||
|
||||
defer logger.Sync()
|
||||
logger.Info("LOAD USER MASTER DEV BY SEARCH",
|
||||
zap.Any("data", dataUserMaster),
|
||||
)
|
||||
|
||||
// data user filtered
|
||||
dataUserMasterFiltered, err := lh.MasterMenuUserService.GetListMasterUserFilteredBySearch(search)
|
||||
fmt.Println(dataUserMasterFiltered)
|
||||
fmt.Println(err)
|
||||
if err != nil {
|
||||
defer logger.Sync()
|
||||
logger.Info("ERROR SEARCH USER MASTER FILTERED BY SEARCH DEV",
|
||||
zap.Any("error", err),
|
||||
zap.Any("search param", search),
|
||||
)
|
||||
fmt.Println(dataUserMasterFiltered)
|
||||
return err
|
||||
}
|
||||
|
||||
defer logger.Sync()
|
||||
logger.Info("LOAD SEARCH USER MASTER FILTERED BY SEARCH DEV",
|
||||
zap.Any("data", dataUserMasterFiltered),
|
||||
)
|
||||
|
||||
contentID := utils.GenerateRandomID("tablebody")
|
||||
|
||||
// table user group
|
||||
searchQueryParam := "&q=" + search
|
||||
totalPages := int(math.Ceil(float64(len(dataUserMasterFiltered)) / 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/searchuserv1?"+link, "input changed delay:500ms, search", "#"+contentID, "#indicator", search, contentIDHtmxExtension)
|
||||
|
||||
inputansearchComponent := tablecomponent.DivEmpty()
|
||||
tabelusergroupComponent := tablecomponent.TableV2(
|
||||
[]string{"KODE", "USERGROUP", "AKSI"},
|
||||
[]string{"40%", "40%", "20%"},
|
||||
mastermenuuser.TableRowMasterUserV1(dataUserMaster),
|
||||
pagination.PaginationV1(totalPages, currentPage, "/dev/userv1pagination", contentID, searchQueryParam),
|
||||
contentID,
|
||||
inputansearchComponent,
|
||||
)
|
||||
|
||||
// tabelusergroupComponent := mastermenuusergroup.TableRowV1(dataUserMaster)
|
||||
|
||||
si := tabelusergroupComponent
|
||||
|
||||
return utils.View(c, si)
|
||||
}
|
||||
@@ -204,4 +204,11 @@ func SetupRoutesDev(app *echo.Echo, appStore db.AppStore) {
|
||||
|
||||
// clientgroup.GET("/usergroup/edit", mastermenuusergroupHandler.ChangeFormEdit)
|
||||
// clientgroup.GET("/usergroup/pagination", mastermenuusergroupHandler.HandleChangePage)
|
||||
|
||||
// master user
|
||||
devUserServices := dev_services.NewServicesMasterMenuUser(appStore)
|
||||
devUserhandlers := dev_handlers.NewMasterMenuUserHandler(devUserServices)
|
||||
dev.GET("/userv1", devUserhandlers.HandlerShowMasterMenuUserV1)
|
||||
dev.GET("/searchuserv1", devUserhandlers.HandlerShowMasterMenuUserSearchV1)
|
||||
dev.GET("/userv1pagination", devUserhandlers.HandlerShowMasterMenuUserPaginationV1)
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user