search inputan + dropdown serta pagination

This commit is contained in:
sindhu
2024-05-18 21:23:07 +07:00
parent c4f5fa4545
commit 4db28f1a24
10 changed files with 139 additions and 348 deletions

View File

@@ -30,12 +30,11 @@ type MasterMenuUserService interface {
GetMasterMenus() ([]services.MasterMenu, error)
GetUserGroup() ([]models.UserGroup, error)
// try
GetListMasterUser() ([]models.MasterUser, error)
GetListMasterUser(searchDropdown string) ([]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)
GetListMasterUserPagination(search string, searchDropdown string, currentPage int, rowPerPage int) ([]models.MasterUser, error)
GetListMasterUserFilteredBySearch(search string, searchDropdown string) ([]models.MasterUser, error)
GetListMasterUserGroupSearch() ([]models.UserGroupV1, error)
}
@@ -113,7 +112,7 @@ func (lh *MasterMenuUserHandler) HandlerShowMasterMenuUserV1(c echo.Context) err
}
rowPerPage := 2
dataMasterUser, err := lh.MasterMenuUserService.GetListMasterUserPagination("", 1, rowPerPage)
dataMasterUser, err := lh.MasterMenuUserService.GetListMasterUserPagination("", "1", 1, rowPerPage)
fmt.Println(dataMasterUser)
fmt.Println(err)
if err != nil {
@@ -125,7 +124,7 @@ func (lh *MasterMenuUserHandler) HandlerShowMasterMenuUserV1(c echo.Context) err
return err
}
dataUserMasterAll, err := lh.MasterMenuUserService.GetListMasterUser()
dataUserMasterAll, err := lh.MasterMenuUserService.GetListMasterUser("1")
fmt.Println(dataUserMasterAll)
fmt.Println(err)
if err != nil {
@@ -201,13 +200,14 @@ func (lh *MasterMenuUserHandler) HandlerShowMasterMenuUserV1(c echo.Context) err
// inputansearchComponent := customtextfieldsearch.MainCustomTextFieldSearchV1("q", "Cari User Group", "text", "/dev/searchuserv1", "input changed delay:500ms, search", "#idbaru", "#indicator")
contentIDSearch := utils.GenerateRandomID("qsearch")
contentIDDropdown := utils.GenerateRandomID("qdropdown")
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)
inputansearchComponent := customtextfieldsearch.MainCustomTextFieldSearchV1("#"+contentIDSearch, "q", "Cari User Group", "text", "/dev/searchuserv1?"+link, "input changed delay:500ms, search", "#"+contentID, "#indicator", "", contentIDHtmxExtension, "[name='usergroup']")
listItemComponent := mastermenuuser.ItemDropdownV2(contentID, "#indicator", dataUserGroupAll)
dropdownComponent := customdropdown.MainCustomDropdownV2("User Group", "usergroup", "idusergroup", listItemComponent)
listItemComponent := mastermenuuser.ItemDropdown(dataUserGroupAll)
dropdownComponent := customdropdown.MainCustomDropdown("usergroup", "#"+contentIDDropdown, "#"+contentID, "/dev/searchuserv1?"+link, "#indicator", "change from:select[name='usergroup']", "[name='q']", listItemComponent)
// toast
// contentIDToast := utils.GenerateRandomID("toastmgu")
@@ -217,7 +217,7 @@ func (lh *MasterMenuUserHandler) HandlerShowMasterMenuUserV1(c echo.Context) err
searchQueryParam := "&q="
tabelusergroupComponent := tablecomponent.TableV2(
[]string{"USERNAME", "NAMA STAFF", "USER GROUP", "AKSI"},
[]string{"EMAIL", "NAMA STAFF", "USER GROUP", "AKSI"},
[]string{"20%", "40%", "20%", "20%"},
mastermenuuser.TableRowMasterUserV1(dataMasterUser),
pagination.PaginationV1(totalPages, 1, "/dev/userv1pagination", contentID, searchQueryParam),
@@ -249,6 +249,12 @@ func (lh *MasterMenuUserHandler) HandlerShowMasterMenuUserV1(c echo.Context) err
func (lh *MasterMenuUserHandler) HandlerShowMasterMenuUserSearchV1(c echo.Context) error {
search := c.QueryParam("q")
searchDropdownParam := c.QueryParam("usergroup")
var searchDropdown string = ""
if searchDropdownParam != "0" {
searchDropdown = searchDropdownParam
}
logger, _ := zap.NewProduction()
// dataUserMaster, err := lh.MasterMenuUserService.GetListMasterUserBySearch(search)
@@ -275,7 +281,7 @@ func (lh *MasterMenuUserHandler) HandlerShowMasterMenuUserSearchV1(c echo.Contex
return err
}
dataUserMaster, err := lh.MasterMenuUserService.GetListMasterUserPagination(search, currentPage, rowPerPage)
dataUserMaster, err := lh.MasterMenuUserService.GetListMasterUserPagination(search, searchDropdown, currentPage, rowPerPage)
fmt.Println(dataUserMaster)
fmt.Println(err)
if err != nil {
@@ -294,7 +300,7 @@ func (lh *MasterMenuUserHandler) HandlerShowMasterMenuUserSearchV1(c echo.Contex
)
// data user filtered
dataUserMasterFiltered, err := lh.MasterMenuUserService.GetListMasterUserFilteredBySearch(search)
dataUserMasterFiltered, err := lh.MasterMenuUserService.GetListMasterUserFilteredBySearch(search, searchDropdown)
fmt.Println(dataUserMasterFiltered)
fmt.Println(err)
if err != nil {
@@ -317,7 +323,7 @@ func (lh *MasterMenuUserHandler) HandlerShowMasterMenuUserSearchV1(c echo.Contex
// tabelusergroupComponent := mastermenuusergroup.TableRowV1(dataUserMaster)
totalPages := int(math.Ceil(float64(len(dataUserMasterFiltered)) / float64(rowPerPage)))
searchQueryParam := "&q=" + search
searchQueryParam := "&q=" + search + "&usergroup=" + searchDropdown
// contentIDSearch := utils.GenerateRandomID("qsearch")
// link := "currentPage=1&page=" + strconv.Itoa(totalPages) + "&contentID=" + contentID
@@ -327,7 +333,7 @@ func (lh *MasterMenuUserHandler) HandlerShowMasterMenuUserSearchV1(c echo.Contex
inputansearchComponent := tablecomponent.DivEmpty()
tabelusergroupComponent := tablecomponent.TableV2(
[]string{"USERNAME", "NAMA STAFF", "USER GROUP", "AKSI"},
[]string{"EMAIL", "NAMA STAFF", "USER GROUP", "AKSI"},
[]string{"20%", "40%", "20%", "20%"},
mastermenuuser.TableRowMasterUserV1(dataUserMaster),
pagination.PaginationV1(totalPages, 1, "/dev/userv1pagination", contentID, searchQueryParam),
@@ -345,6 +351,12 @@ func (lh *MasterMenuUserHandler) HandlerShowMasterMenuUserPaginationV1(c echo.Co
logger, _ := zap.NewProduction()
search := c.QueryParam("q")
searchDropdownParam := c.QueryParam("usergroup")
var searchDropdown string = ""
if searchDropdownParam != "0" {
searchDropdown = searchDropdownParam
}
pageparam := c.QueryParam("page")
page, err := strconv.Atoi(pageparam)
if err != nil {
@@ -356,7 +368,7 @@ func (lh *MasterMenuUserHandler) HandlerShowMasterMenuUserPaginationV1(c echo.Co
return err
}
dataUserMasterAll, err := lh.MasterMenuUserService.GetListMasterUser()
dataUserMasterAll, err := lh.MasterMenuUserService.GetListMasterUser(searchDropdown)
fmt.Println(dataUserMasterAll)
fmt.Println(err)
if err != nil {
@@ -380,7 +392,7 @@ func (lh *MasterMenuUserHandler) HandlerShowMasterMenuUserPaginationV1(c echo.Co
}
rowPerPage := 2
dataUserMaster, err := lh.MasterMenuUserService.GetListMasterUserPagination(search, currentPage, rowPerPage)
dataUserMaster, err := lh.MasterMenuUserService.GetListMasterUserPagination(search, searchDropdown, currentPage, rowPerPage)
fmt.Println(dataUserMaster)
fmt.Println(err)
if err != nil {
@@ -401,7 +413,7 @@ func (lh *MasterMenuUserHandler) HandlerShowMasterMenuUserPaginationV1(c echo.Co
)
// data user filtered
dataUserMasterFiltered, err := lh.MasterMenuUserService.GetListMasterUserFilteredBySearch(search)
dataUserMasterFiltered, err := lh.MasterMenuUserService.GetListMasterUserFilteredBySearch(search, searchDropdown)
fmt.Println(dataUserMasterFiltered)
fmt.Println(err)
if err != nil {
@@ -422,7 +434,7 @@ func (lh *MasterMenuUserHandler) HandlerShowMasterMenuUserPaginationV1(c echo.Co
contentID := utils.GenerateRandomID("tablebody")
// table user group
searchQueryParam := "&q=" + search
searchQueryParam := "&q=" + search + "&usergroup=" + searchDropdown
totalPages := int(math.Ceil(float64(len(dataUserMasterFiltered)) / float64(rowPerPage)))
// contentIDSearch := utils.GenerateRandomID("qsearch")
// link := "currentPage=1&page=" + strconv.Itoa(totalPages) + "&contentID=" + contentID
@@ -432,8 +444,8 @@ func (lh *MasterMenuUserHandler) HandlerShowMasterMenuUserPaginationV1(c echo.Co
inputansearchComponent := tablecomponent.DivEmpty()
tabelusergroupComponent := tablecomponent.TableV2(
[]string{"KODE", "USERGROUP", "AKSI"},
[]string{"40%", "40%", "20%"},
[]string{"EMAIL", "NAMA STAFF", "USER GROUP", "AKSI"},
[]string{"20%", "40%", "20%", "20%"},
mastermenuuser.TableRowMasterUserV1(dataUserMaster),
pagination.PaginationV1(totalPages, currentPage, "/dev/userv1pagination", contentID, searchQueryParam),
contentID,

View File

@@ -255,7 +255,7 @@ func (lh *MasterMenuUserGroupHandler) HandlerShowMasterMenuUserGroupV1(c echo.Co
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)
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)

View File

@@ -210,6 +210,6 @@ func SetupRoutesDev(app *echo.Echo, appStore db.AppStore) {
devUserhandlers := dev_handlers.NewMasterMenuUserHandler(devUserServices)
dev.GET("/userv1", devUserhandlers.HandlerShowMasterMenuUserV1)
dev.GET("/searchuserv1", devUserhandlers.HandlerShowMasterMenuUserSearchV1)
dev.GET("/userv1pagination/:idUserGroup", devUserhandlers.HandlerShowMasterMenuUserPaginationV1)
dev.GET("/userv1pagination", devUserhandlers.HandlerShowMasterMenuUserPaginationV1)
// dev.GET("/dropdownusergroupselected", )
}