")
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
diff --git a/handlers/dev/mastermenuusergroup.handlers.go b/handlers/dev/mastermenuusergroup.handlers.go
index 9870d58..f64da4c 100644
--- a/handlers/dev/mastermenuusergroup.handlers.go
+++ b/handlers/dev/mastermenuusergroup.handlers.go
@@ -29,7 +29,6 @@ import (
)
type MasterMenuUserGroupService interface {
- GetMasterMenus() ([]services.MasterMenu, error)
GetUserGroup() ([]models.UserGroup, error)
GetUserGroupByID(id string) (models.UserGroup, error)
// try
@@ -38,10 +37,8 @@ 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)
GetListMasterUserGroupV2(search string, currentPage int, rowPerPage int) ([]models.UserGroupV1, int, error)
+ GetUserGroupByIDV1(id string) (models.UserGroupV1, error)
}
func NewMasterMenuUserGroupHandler(us MasterMenuUserGroupService) *MasterMenuUserGroupHandler {
@@ -55,7 +52,7 @@ type MasterMenuUserGroupHandler struct {
}
func (lh *MasterMenuUserGroupHandler) HandlerShowMasterMenuUserGroup(c echo.Context) error {
- dataMenu, err := lh.MasterMenuUserGroupService.GetMasterMenus()
+ dataMenu, err := globalservices.GetMenu()
fmt.Println(dataMenu)
fmt.Println(err)
if err != nil {
@@ -95,22 +92,9 @@ func (lh *MasterMenuUserGroupHandler) HandlerShowMasterMenuUserGroup(c echo.Cont
si := mastermenuusergroup.ContentMasterMenuUserGroup(dataUserGroup, contentID)
- return lh.View(c, si)
+ return utils.View(c, si)
}
-func (lh *MasterMenuUserGroupHandler) ChangeFormEdit(c echo.Context) error {
- id := c.QueryParam("id")
- dataUserGroup, err := lh.MasterMenuUserGroupService.GetUserGroupByID(id)
- fmt.Println(dataUserGroup)
- fmt.Println(err)
- if err != nil {
- fmt.Println(dataUserGroup)
- return err
- }
- vw := mastermenuusergroup.DialogEditForm(dataUserGroup.UserGroupKode, dataUserGroup.UserGroupName)
-
- return lh.View(c, vw)
-}
func (lh *MasterMenuUserGroupHandler) HandleChangePage(c echo.Context) error {
page := c.QueryParam("page")
currPage := c.QueryParam("currentPage")
@@ -146,13 +130,7 @@ func (lh *MasterMenuUserGroupHandler) HandleChangePage(c echo.Context) error {
contentID,
)
- return lh.View(c, vw)
-}
-
-func (uh *MasterMenuUserGroupHandler) 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)
+ return utils.View(c, vw)
}
// try
@@ -198,6 +176,12 @@ func (lh *MasterMenuUserGroupHandler) HandlerShowMasterMenuUserGroupV1(c echo.Co
tableID := utils.GenerateRandomID("tablebody")
paginationID := utils.GenerateRandomID("paginationid")
searchID := utils.GenerateRandomID("searchid")
+ dialogAddID := utils.GenerateRandomID("dialogaddID")
+ dialogAddBodyID := utils.GenerateRandomID("dialogaddbodyID")
+ dialogEditID := utils.GenerateRandomID("dialogEditID")
+ dialogEditBodyID := utils.GenerateRandomID("dialogEditbodyID")
+ dialogdeleteID := utils.GenerateRandomID("dialogdeleteID")
+ dialogdeleteBodyID := utils.GenerateRandomID("dialogdeletebodyID")
paramTitleBreadcrumbConvert := "Master User Group"
@@ -227,35 +211,130 @@ func (lh *MasterMenuUserGroupHandler) HandlerShowMasterMenuUserGroupV1(c echo.Co
// sidebar
sidebaruserprofileComponent := sidebaruserprofile.Navbaruserprofile(dataUser)
- // totalPages := int(math.Ceil(float64(len(dataUserGroupAll)) / float64(rowPerPage)))
+ //Component modal add usergroup
+ modaladdcomponent := mastermenuusergroup.UserGroupForm(models.UserGroupFormComponent{
+ IDComponent: "formusergroup",
+ Link: "/dev/usergroup/add",
+ HxTarget: "#" + dialogAddBodyID,
+ HxSwap: "outerHTML",
+ HxInclude: "#tableID, #paginationID, #searchID, #dialogAddBodyID, #dialogAddID, #dialogDeleteBodyID, #dialogDeleteID, #dialogEditBodyID, #dialogEditID, #" + searchID + ", #currpage" + paginationID,
+ ModalID: dialogAddID,
+ ModalTitle: "New-User Group",
+ DialogBody: mastermenuusergroup.DialogNewBodyV1(
+ models.CustomTextFieldv2Prm{
+ Label: "Kode User Group",
+ Name: "usergroupcode",
+ Placeholder: "Kode user group",
+ Type: "text", ID: "usergroupinputname"},
+ models.CustomTextFieldv2Prm{
+ Label: "Nama User Group",
+ Name: "usergroupname",
+ Placeholder: "Nama user group",
+ Type: "text", ID: "usergroupinputname"},
+ models.CustomTextFieldv2Prm{
+ Label: "Kode User Group",
+ Name: "usergroupid",
+ Placeholder: "Kode user group",
+ Type: "hidden", ID: "usergroupinputid"},
+ dialogAddBodyID, mastermenuusergroup.HandleJSModalAddUG("")),
+ DialogAction: mastermenuusergroup.DialogNewActionV1("/dev/usergrouphandlecloseform", "#"+dialogAddBodyID, "outerHTML", "#"+dialogAddID),
+ ButtonCLose: mastermenuusergroup.BtnCloseNewV1("/dev/usergrouphandlecloseform", "#"+dialogAddBodyID, "outerHTML", "#"+dialogAddID),
+ })
+
+ //Component modal edit usergroup
+ modalEditcomponent := mastermenuusergroup.UserGroupForm(models.UserGroupFormComponent{
+ IDComponent: "formusergroupedit",
+ Link: "/dev/usergroup/edit",
+ HxTarget: "#" + dialogEditBodyID,
+ HxSwap: "outerHTML",
+ HxInclude: "#tableID, #paginationID, #searchID, #dialogEditBodyID, #dialogEditID, #" + searchID + ", #currpage" + paginationID,
+ ModalID: dialogEditID,
+ ModalTitle: "Edit-User Group",
+ DialogBody: mastermenuusergroup.DialogNewBodyV1(
+ models.CustomTextFieldv2Prm{
+ Label: "Kode User Group",
+ Name: "usergroupcode",
+ Placeholder: "Kode user group",
+ Type: "text"},
+ models.CustomTextFieldv2Prm{
+ Label: "Nama User Group",
+ Name: "usergroupname",
+ Placeholder: "Nama user group",
+ Type: "text"},
+ models.CustomTextFieldv2Prm{
+ Label: "Kode User Group",
+ Name: "usergroupid",
+ Placeholder: "Kode user group",
+ Type: "hidden"},
+ dialogEditBodyID, mastermenuusergroup.HandleJSModalAddUG("")),
+ DialogAction: mastermenuusergroup.DialogNewActionV1("/dev/usergrouphandlecloseformedit", "#"+dialogEditBodyID, "outerHTML", "#"+dialogEditID),
+ ButtonCLose: mastermenuusergroup.BtnCloseNewV1("/dev/usergrouphandlecloseformedit", "#"+dialogEditBodyID, "outerHTML", "#"+dialogEditID),
+ })
+
+ //Component modal delete usergroup
+ modalDeletecomponent := mastermenuusergroup.UserGroupForm(models.UserGroupFormComponent{
+ IDComponent: "formusergroupdelete",
+ Link: "/dev/usergroup/delete",
+ HxTarget: "#" + dialogdeleteBodyID,
+ HxSwap: "outerHTML",
+ HxInclude: "#tableID, #paginationID, #searchID,#dialogDeleteBodyID, #dialogDeleteID, #" + searchID + ", #currpage" + paginationID,
+ ModalID: dialogdeleteID,
+ ModalTitle: "Delete-User Group",
+ DialogBody: mastermenuusergroup.DeleteConfirmationBody(
+ models.CustomTextFieldv2Prm{Type: "hidden", Value: "0", Name: "usergroupid"},
+ dialogdeleteBodyID, "Apakah anda yakin menghapus user group berikut ?",
+ []string{"Kode", "User Group"},
+ []string{"", ""},
+ mastermenuusergroup.HandleJSModalAddUG(""),
+ ),
+ DialogAction: mastermenuusergroup.DialogNewActionV1("/dev/usergrouphandlecloseformdelete", "#"+dialogdeleteBodyID, "outerHTML", "#"+dialogdeleteID),
+ ButtonCLose: mastermenuusergroup.BtnCloseNewV1("/dev/usergrouphandlecloseformdelete", "#"+dialogdeleteBodyID, "outerHTML", "#"+dialogdeleteID),
+ })
+
+ //table listing user group component
contentUserGroupComponent := mastermenuusergroup.TableUserGroup(
- dataUserGroup, tableID)
+ dataUserGroup, tableID,
+ "/dev/usergroupshoweditform",
+ "#"+dialogEditBodyID,
+ "outerHTML",
+ "#dialogEditBodyID, #dialogEditID, #dialogDeleteBodyID, #dialogDeleteID",
+ "/dev/usergroupshowdeleteform",
+ "#"+dialogdeleteBodyID,
+ "outerHTML",
+ "#dialogDeleteBodyID, #dialogDeleteID, #dialogEditBodyID, #dialogEditID")
+ //filter user group component
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")
+ "#"+paginationID, "", "", "outerHTML", "#tableID, #paginationID, #searchID, #dialogEditBodyID, #dialogEditID, #dialogDeleteBodyID, #dialogDeleteID")
+ // pagination usergroup component
userGroupPaginationComponent := pagination.PaginationV2(
totalpage,
1,
"/dev/usergroupv1pagination",
paginationID,
- "#tableID, #searchID, #paginationID", "#"+paginationID, "outerHTML", "",
+ "#tableID, #searchID, #"+searchID+", #paginationID, #dialogEditBodyID, #dialogEditID, #dialogDeleteBodyID, #dialogDeleteID",
+ "#"+paginationID,
+ "outerHTML", "", "",
)
+ //Show user group screen
si := mastermenuusergroup.ShowMasterMenuUserGroupV1x(
"Master Menu",
mastermenuusergroup.ContentMasterMenuUserGroupV1(
- tableID, paginationID, searchID,
+ tableID, paginationID, searchID, dialogAddID, dialogAddBodyID, dialogEditID, dialogEditBodyID, dialogdeleteID, dialogdeleteBodyID,
breadcrumbadmin.MainBreadcrumbAdminV1(dataBreadCrumb),
contentUserGroupComponent,
usergroupFilterComponent,
userGroupPaginationComponent,
+ modaladdcomponent,
+ modalEditcomponent,
+ modalDeletecomponent,
),
mastermenuusergroup.CssMasterMenuUserGroupV1x(),
@@ -300,32 +379,135 @@ func (lh *MasterMenuUserGroupHandler) HandlerShowBreadCrumbV1(c echo.Context) er
mastermenuusergroup.JsMasterMenuUserGroupV1(),
)
- return lh.View(c, si)
+ return utils.View(c, si)
}
func (lh *MasterMenuUserGroupHandler) AddUserGroup(c echo.Context) error {
-
logger, _ := zap.NewProduction()
defer logger.Sync()
+ //prm form addusergroup
code := c.FormValue("usergroupcode")
name := c.FormValue("usergroupname")
+ tableID := c.FormValue("tableID")
+ paginationID := c.FormValue("paginationID")
+ searchID := c.FormValue("searchID")
+ search := c.FormValue("search")
+ currPagePrm := c.FormValue("currpage" + paginationID)
+ // #dialogAddBodyID, #dialogAddID
+ dialogAddBodyID := c.FormValue("dialogAddBodyID")
+ dialogAddID := c.FormValue("dialogAddID")
+ dialogEditBodyID := c.FormValue("dialogEditBodyID")
+ // dialogEditID := c.FormValue("dialogEditID")
+ dialogDeleteBodyID := c.FormValue("dialogDeleteBodyID")
+ // dialogDeleteID := c.FormValue("dialogDeleteID")
+
+ currPage, err := strconv.Atoi(currPagePrm)
+
+ if err != nil {
+ return err
+ }
+ logger.Info("ADD USER GROUP PARAM",
+ zap.Any("code", code),
+ zap.Any("nama", name),
+ zap.Any("tableid", tableID),
+ zap.Any("search", search),
+ zap.Any("currpage", currPage),
+ )
+ //Form Validation
if strings.TrimSpace(code) == "" && strings.TrimSpace(name) == "" {
- test := mastermenuusergrouptryandy.CobaSwapOOB(code, name, "Code cannot empty", "Name cannot empty")
- return lh.View(c, test)
+ test := mastermenuusergroup.DialogNewBodyV1(
+ models.CustomTextFieldv2Prm{
+ Label: "Kode User Group",
+ Name: "usergroucode",
+ Placeholder: "Kode user group",
+ Type: "text",
+ Value: code,
+ ID: "usergroupinputname",
+ ErrorMsg: "Code cannot empty"},
+ models.CustomTextFieldv2Prm{
+ Label: "Nama User Group",
+ Name: "usergroupname",
+ Placeholder: "Nama user group",
+ Type: "text",
+ Value: name,
+ ID: "usergroupinputname",
+ ErrorMsg: "Name cannot empty"},
+ models.CustomTextFieldv2Prm{Label: "Kode User Group",
+ Name: "usergroupid",
+ Placeholder: "Kode user group",
+ Type: "hidden",
+ ID: "usergroupinputid"},
+ dialogAddBodyID, mastermenuusergroup.HandleJSModalAddUG(""))
+ coba := utils.ViewMulti(c, []templ.Component{
+ customtoastv2.CustomToastV2Show("Warning", "Code and name cannot empty", "warning"),
+ test})
+ return coba
}
if strings.TrimSpace(code) == "" {
- test := mastermenuusergrouptryandy.CobaSwapOOB(code, name, "Code cannot empty", "")
- return lh.View(c, test)
+ test := mastermenuusergroup.DialogNewBodyV1(
+ models.CustomTextFieldv2Prm{
+ Label: "Kode User Group",
+ Name: "usergroupcode",
+ Placeholder: "Kode user group",
+ Type: "text",
+ Value: code,
+ ID: "usergroupinputname",
+ ErrorMsg: "Code cannot empty"},
+ models.CustomTextFieldv2Prm{
+ Label: "Nama User Group",
+ Name: "usergroupname",
+ Placeholder: "Nama user group",
+ Type: "text",
+ Value: name,
+ ID: "usergroupinputname",
+ },
+ models.CustomTextFieldv2Prm{Label: "Kode User Group",
+ Name: "usergroupid",
+ Placeholder: "Kode user group",
+ Type: "hidden",
+ ID: "usergroupinputid"},
+ dialogAddBodyID, mastermenuusergroup.HandleJSModalAddUG(""))
+ coba := utils.ViewMulti(c, []templ.Component{
+ customtoastv2.CustomToastV2Show("Warning", "Code cannot empty", "warning"),
+ test})
+ return coba
}
if strings.TrimSpace(name) == "" {
- test := mastermenuusergrouptryandy.DialogNewBody(code, name, "", "Name cannot empty")
- return lh.View(c, test)
+ test := mastermenuusergroup.DialogNewBodyV1(
+ models.CustomTextFieldv2Prm{
+ Label: "Kode User Group",
+ Name: "usergroupcode",
+ Placeholder: "Kode user group",
+ Type: "text",
+ Value: code,
+ ID: "usergroupinputname",
+ },
+ models.CustomTextFieldv2Prm{
+ Label: "Nama User Group",
+ Name: "usergroupname",
+ Placeholder: "Nama user group",
+ Type: "text",
+ Value: name,
+ ID: "usergroupinputname",
+ ErrorMsg: "Name cannot empty",
+ },
+ models.CustomTextFieldv2Prm{Label: "Kode User Group",
+ Name: "usergroupid",
+ Placeholder: "Kode user group",
+ Type: "hidden",
+ ID: "usergroupinputid"},
+ dialogAddBodyID, mastermenuusergroup.HandleJSModalAddUG(""))
+ coba := utils.ViewMulti(c, []templ.Component{
+ customtoastv2.CustomToastV2Show("Warning", "Name cannot empty", "warning"),
+ test})
+ return coba
}
+ //Add user group service
dataUserGroup, err := lh.MasterMenuUserGroupService.AddUserGroup(code, name)
if err != nil {
@@ -335,60 +517,348 @@ func (lh *MasterMenuUserGroupHandler) AddUserGroup(c echo.Context) error {
zap.Any("name", name),
)
- test := mastermenuusergrouptryandy.CobaSwapOOB(code, name, err.Error(), err.Error())
- return lh.View(c, test)
+ test := mastermenuusergroup.DialogNewBodyV1(
+ models.CustomTextFieldv2Prm{
+ Label: "Kode User Group",
+ Name: "usergroupcode",
+ Placeholder: "Kode user group",
+ Type: "text",
+ Value: code,
+ ID: "usergroupinputname",
+ },
+ models.CustomTextFieldv2Prm{
+ Label: "Nama User Group",
+ Name: "usergroupname",
+ Placeholder: "Nama user group",
+ Type: "text",
+ Value: name,
+ ID: "usergroupinputname",
+ },
+ models.CustomTextFieldv2Prm{Label: "Kode User Group",
+ Name: "usergroupid",
+ Placeholder: "Kode user group",
+ Type: "hidden",
+ ID: "usergroupinputid"},
+ dialogAddBodyID, mastermenuusergroup.HandleJSModalAddUG(""))
+ coba := utils.ViewMulti(c, []templ.Component{
+ customtoastv2.CustomToastV2Show("Error", err.Error(), "danger"),
+ test})
+ return coba
}
logger.Info("ADD USER GROUP",
zap.Any("return", dataUserGroup),
zap.Any("code", code),
zap.Any("name", name),
)
- dataUserGroupvw, err := lh.MasterMenuUserGroupService.GetUserGroupByID("1")
- fmt.Println(dataUserGroup)
- fmt.Println(err)
+
+ //Get data table current page
+ dataUserGroupList, totalpage, err := lh.MasterMenuUserGroupService.GetListMasterUserGroupV2(search, currPage, 5)
if err != nil {
- fmt.Println(dataUserGroup)
+ defer logger.Sync()
+ logger.Info("ERROR GET USER GROUP",
+ zap.Any("error", err),
+ )
return err
}
- vw := mastermenuusergroup.DialogEditForm(dataUserGroupvw.UserGroupKode, dataUserGroupvw.UserGroupName)
- return lh.View(c, vw)
+ //New add form
+ newForm := mastermenuusergroup.DialogNewBodyV1(
+ models.CustomTextFieldv2Prm{
+ Label: "Kode User Group",
+ Name: "usergroupcode",
+ Placeholder: "Kode user group",
+ Type: "text",
+ Value: "",
+ ID: "usergroupinputname",
+ },
+ models.CustomTextFieldv2Prm{
+ Label: "Nama User Group",
+ Name: "usergroupname",
+ Placeholder: "Nama user group",
+ Type: "text",
+ Value: "",
+ ID: "usergroupinputname",
+ },
+ models.CustomTextFieldv2Prm{Label: "Kode User Group",
+ Name: "usergroupid",
+ Placeholder: "Kode user group",
+ Type: "hidden",
+ ID: "usergroupinputid"},
+ dialogAddBodyID, mastermenuusergroup.HandleJSModalAddUG("#"+dialogAddID))
+
+ //new table listing
+ contentUserGroupComponent := mastermenuusergroup.TableUserGroup(
+ dataUserGroupList, tableID,
+ "/dev/usergroupshoweditform",
+ "#"+dialogEditBodyID,
+ "outerHTML",
+ "#dialogEditBodyID, #dialogEditID, #dialogDeleteBodyID, #dialogDeleteID",
+ "/dev/usergroupshowdeleteform",
+ "#"+dialogDeleteBodyID,
+ "outerHTML",
+ "#dialogDeleteBodyID, #dialogDeleteID, #dialogEditBodyID, #dialogEditID")
+
+ //new pagination
+ userGroupPaginationComponent := pagination.PaginationV2(totalpage,
+ 1,
+ "/dev/usergroupv1pagination",
+ paginationID,
+ "#tableID, #searchID, #"+searchID+", #paginationID, #dialogEditBodyID, #dialogEditID, #dialogDeleteBodyID, #dialogDeleteID",
+ "#"+paginationID, "outerHTML", "", "true")
+
+ toastSuccess := customtoastv2.CustomToastV2Show("Success", "Success add user group "+name, "success")
+
+ retval := []templ.Component{toastSuccess, contentUserGroupComponent, userGroupPaginationComponent, newForm}
+
+ return utils.ViewMulti(c, retval)
}
func (lh *MasterMenuUserGroupHandler) EditUserGroup(c echo.Context) error {
- data := utils.GetJSONRawBody(c)
+
logger, _ := zap.NewProduction()
defer logger.Sync()
- dataUserGroup, err := lh.MasterMenuUserGroupService.EditUserGroup(data["id"].(string), data["code"].(string), data["name"].(string))
+ code := c.FormValue("usergroupcode")
+ name := c.FormValue("usergroupname")
+ id := c.FormValue("usergroupid")
+ tableID := c.FormValue("tableID")
+ paginationID := c.FormValue("paginationID")
+ searchID := c.FormValue("searchID")
+ search := c.FormValue("search")
+ dialogEditBodyID := c.FormValue("dialogEditBodyID")
+ dialogEditID := c.FormValue("dialogEditID")
+ dialogDeleteBodyID := c.FormValue("dialogDeleteBodyID")
+ currPagePrm := c.FormValue("currpage" + paginationID)
+
+ currPage, err := strconv.Atoi(currPagePrm)
+
+ if err != nil {
+ return err
+ }
+ logger.Info("Edit USER GROUP PARAM",
+ zap.Any("id", id),
+ zap.Any("code", code),
+ zap.Any("nama", name),
+ zap.Any("tableid", tableID),
+ zap.Any("search", search),
+ zap.Any("currpage", currPage),
+ )
+ if strings.TrimSpace(code) == "" && strings.TrimSpace(name) == "" {
+ test := mastermenuusergroup.DialogNewBodyV1(
+ models.CustomTextFieldv2Prm{
+ Label: "Kode User Group",
+ Name: "usergroucode",
+ Placeholder: "Kode user group",
+ Type: "text",
+ Value: code,
+ ID: "usergroupinputname",
+ ErrorMsg: "Code cannot empty"},
+ models.CustomTextFieldv2Prm{
+ Label: "Nama User Group",
+ Name: "usergroupname",
+ Placeholder: "Nama user group",
+ Type: "text",
+ Value: name,
+ ID: "usergroupinputname",
+ ErrorMsg: "Name cannot empty"},
+ models.CustomTextFieldv2Prm{Label: "Kode User Group",
+ Name: "usergroupid",
+ Placeholder: "Kode user group",
+ Type: "hidden",
+ Value: id,
+ ID: "usergroupinputid"},
+ dialogEditBodyID, mastermenuusergroup.HandleJSModalAddUG(""))
+ coba := utils.ViewMulti(c, []templ.Component{
+ customtoastv2.CustomToastV2Show("Warning", "Code and name cannot empty", "warning"),
+ test})
+ return coba
+
+ }
+ if strings.TrimSpace(code) == "" {
+ // test := mastermenuusergrouptryandy.CobaSwapOOB(code, name, "Code cannot empty", "")
+ test := mastermenuusergroup.DialogNewBodyV1(
+ models.CustomTextFieldv2Prm{
+ Label: "Kode User Group",
+ Name: "usergroupcode",
+ Placeholder: "Kode user group",
+ Type: "text",
+ Value: code,
+ ID: "usergroupinputname",
+ ErrorMsg: "Code cannot empty"},
+ models.CustomTextFieldv2Prm{
+ Label: "Nama User Group",
+ Name: "usergroupname",
+ Placeholder: "Nama user group",
+ Type: "text",
+ Value: name,
+ ID: "usergroupinputname",
+ },
+ models.CustomTextFieldv2Prm{Label: "Kode User Group",
+ Name: "usergroupid",
+ Placeholder: "Kode user group",
+ Type: "hidden",
+ Value: id,
+ ID: "usergroupinputid"},
+ dialogEditBodyID, mastermenuusergroup.HandleJSModalAddUG(""))
+ coba := utils.ViewMulti(c, []templ.Component{
+ customtoastv2.CustomToastV2Show("Warning", "Code cannot empty", "warning"),
+ test})
+ return coba
+
+ }
+
+ if strings.TrimSpace(name) == "" {
+ // test := mastermenuusergrouptryandy.DialogNewBody(code, name, "", "Name cannot empty")
+ test := mastermenuusergroup.DialogNewBodyV1(
+ models.CustomTextFieldv2Prm{
+ Label: "Kode User Group",
+ Name: "usergroupcode",
+ Placeholder: "Kode user group",
+ Type: "text",
+ Value: code,
+ ID: "usergroupinputname",
+ },
+ models.CustomTextFieldv2Prm{
+ Label: "Nama User Group",
+ Name: "usergroupname",
+ Placeholder: "Nama user group",
+ Type: "text",
+ Value: name,
+ ID: "usergroupinputname",
+ ErrorMsg: "Name cannot empty",
+ },
+ models.CustomTextFieldv2Prm{Label: "Kode User Group",
+ Name: "usergroupid",
+ Placeholder: "Kode user group",
+ Value: id,
+ Type: "hidden",
+ ID: "usergroupinputid"},
+ dialogEditBodyID, mastermenuusergroup.HandleJSModalAddUG(""))
+ coba := utils.ViewMulti(c, []templ.Component{
+ customtoastv2.CustomToastV2Show("Warning", "Name cannot empty", "warning"),
+ test})
+ return coba
+
+ }
+ dataUserGroup, err := lh.MasterMenuUserGroupService.EditUserGroup(id, code, name)
if err != nil {
logger.Info("Error",
zap.Any("Error", err),
- zap.Any("prm", data),
+ zap.Any("code", code),
+ zap.Any("name", name),
+ )
+
+ test := mastermenuusergroup.DialogNewBodyV1(
+ models.CustomTextFieldv2Prm{
+ Label: "Kode User Group",
+ Name: "usergroupcode",
+ Placeholder: "Kode user group",
+ Type: "text",
+ Value: code,
+ ID: "usergroupinputname",
+ },
+ models.CustomTextFieldv2Prm{
+ Label: "Nama User Group",
+ Name: "usergroupname",
+ Placeholder: "Nama user group",
+ Type: "text",
+ Value: name,
+ ID: "usergroupinputname",
+ },
+ models.CustomTextFieldv2Prm{Label: "Kode User Group",
+ Name: "usergroupid",
+ Placeholder: "Kode user group",
+ Type: "hidden",
+ Value: id,
+ ID: "usergroupinputid"},
+ dialogEditBodyID, mastermenuusergroup.HandleJSModalAddUG(""))
+ coba := utils.ViewMulti(c, []templ.Component{
+ customtoastv2.CustomToastV2Show("Error", err.Error(), "danger"),
+ test})
+ return coba
+ }
+ logger.Info("ADD USER GROUP",
+ zap.Any("return", dataUserGroup),
+ zap.Any("code", code),
+ zap.Any("name", name),
+ )
+ dataUserGroupList, totalpage, err := lh.MasterMenuUserGroupService.GetListMasterUserGroupV2(search, currPage, 5)
+ if err != nil {
+ defer logger.Sync()
+ logger.Info("ERROR GET USER GROUP",
+ zap.Any("error", err),
)
return err
}
- logger.Info("Edit USER GROUP handler",
- zap.Any("return", dataUserGroup),
- zap.Any("prm", data),
- )
- dataUserGroupvw, err := lh.MasterMenuUserGroupService.GetUserGroupByID("1")
- fmt.Println(dataUserGroup)
- fmt.Println(err)
- if err != nil {
- fmt.Println(dataUserGroup)
- return err
- }
- vw := mastermenuusergroup.DialogEditForm(dataUserGroupvw.UserGroupKode, dataUserGroupvw.UserGroupName)
- return lh.View(c, vw)
+ newForm := mastermenuusergroup.DialogNewBodyV1(
+ models.CustomTextFieldv2Prm{
+ Label: "Kode User Group",
+ Name: "usergroupcode",
+ Placeholder: "Kode user group",
+ Type: "text",
+ Value: "",
+ ID: "usergroupinputname",
+ },
+ models.CustomTextFieldv2Prm{
+ Label: "Nama User Group",
+ Name: "usergroupname",
+ Placeholder: "Nama user group",
+ Type: "text",
+ Value: "",
+ ID: "usergroupinputname",
+ },
+ models.CustomTextFieldv2Prm{Label: "Kode User Group",
+ Name: "usergroupid",
+ Placeholder: "Kode user group",
+ Type: "hidden",
+ ID: "usergroupinputid"},
+ dialogEditBodyID, mastermenuusergroup.HandleJSModalAddUG("#"+dialogEditID))
+
+ contentUserGroupComponent := mastermenuusergroup.TableUserGroup(
+ dataUserGroupList, tableID, "/dev/usergroupshoweditform",
+ "#"+dialogEditBodyID,
+ "outerHTML",
+ "#dialogEditBodyID, #dialogEditID, #dialogDeleteBodyID, #dialogDeleteID",
+ "/dev/usergroupshowdeleteform",
+ "#"+dialogDeleteBodyID,
+ "outerHTML",
+ "#dialogDeleteBodyID, #dialogDeleteID, #dialogEditBodyID, #dialogEditID")
+
+ userGroupPaginationComponent := pagination.PaginationV2(totalpage,
+ currPage,
+ "/dev/usergroupv1pagination",
+ paginationID,
+ "#tableID, #searchID, #"+searchID+", #paginationID, #dialogEditBodyID, #dialogEditID, #dialogDeleteBodyID, #dialogDeleteID",
+ "#"+paginationID, "outerHTML", "", "true")
+
+ toastSuccess := customtoastv2.CustomToastV2Show("Success", "Success edit user group "+name, "success")
+ retval := []templ.Component{toastSuccess, contentUserGroupComponent, userGroupPaginationComponent, newForm}
+ // time.Sleep(20 * time.Second)
+ return utils.ViewMulti(c, retval)
}
func (lh *MasterMenuUserGroupHandler) DeleteUserGroup(c echo.Context) error {
- id := c.Param("id")
logger, _ := zap.NewProduction()
defer logger.Sync()
+ id := c.FormValue("usergroupid")
+ tableID := c.FormValue("tableID")
+ paginationID := c.FormValue("paginationID")
+ searchID := c.FormValue("searchID")
+ search := c.FormValue("search")
+ currPagePrm := c.FormValue("currpage" + paginationID)
+ dialogDeleteID := c.FormValue("dialogDeleteID")
+ dialogDeleteBodyID := c.FormValue("dialogDeleteBodyID")
+ // dialogEditID := c.FormValue("dialogEditID")
+ dialogEditBodyID := c.FormValue("dialogEditBodyID")
+
+ currPage, err := strconv.Atoi(currPagePrm)
+
+ if err != nil {
+ return err
+ }
+
dataUserGroup, err := lh.MasterMenuUserGroupService.DeleteUserGroup(id)
if err != nil {
@@ -402,22 +872,66 @@ func (lh *MasterMenuUserGroupHandler) DeleteUserGroup(c echo.Context) error {
zap.Any("return", dataUserGroup),
zap.Any("prm", id),
)
- dataUserGroupvw, err := lh.MasterMenuUserGroupService.GetUserGroupByID("1")
- fmt.Println(dataUserGroup)
- fmt.Println(err)
+ dataUserGroupList, totalpage, err := lh.MasterMenuUserGroupService.GetListMasterUserGroupV2(search, currPage, 5)
if err != nil {
- fmt.Println(dataUserGroup)
+ defer logger.Sync()
+ logger.Info("ERROR GET USER GROUP",
+ zap.Any("error", err),
+ )
return err
}
- vw := mastermenuusergroup.DialogEditForm(dataUserGroupvw.UserGroupKode, dataUserGroupvw.UserGroupName)
+ newForm := mastermenuusergroup.DeleteConfirmationBody(
+ models.CustomTextFieldv2Prm{Type: "hidden", Value: "0", Name: "usergroupid"},
+ dialogDeleteBodyID, "Apakah anda yakin menghapus user group berikut ?",
+ []string{"Kode", "User Group"},
+ []string{"", ""},
+ mastermenuusergroup.HandleJSModalAddUG("#"+dialogDeleteID),
+ )
+ if len(dataUserGroupList) == 0 && totalpage > 1 {
+ currPage = currPage - 1
+ dataUserGroupList, _, err = lh.MasterMenuUserGroupService.GetListMasterUserGroupV2(search, currPage, 5)
+ if err != nil {
+ defer logger.Sync()
+ logger.Info("ERROR GET USER GROUP",
+ zap.Any("error", err),
+ )
+ return err
+ }
+ }
+ contentUserGroupComponent := mastermenuusergroup.TableUserGroup(
+ dataUserGroupList, tableID,
+ "/dev/usergroupshoweditform",
+ "#"+dialogEditBodyID,
+ "outerHTML",
+ "#dialogEditBodyID, #dialogEditID, #dialogDeleteBodyID, #dialogDeleteID",
+ "/dev/usergroupshowdeleteform",
+ "#"+dialogDeleteBodyID,
+ "outerHTML",
+ "#dialogDeleteBodyID, #dialogDeleteID, #dialogEditBodyID, #dialogEditID")
- return lh.View(c, vw)
+ userGroupPaginationComponent := pagination.PaginationV2(totalpage,
+ currPage,
+ "/dev/usergroupv1pagination",
+ paginationID,
+ "#tableID, #searchID, #"+searchID+", #paginationID, #dialogEditBodyID, #dialogEditID, #dialogDeleteBodyID, #dialogDeleteID",
+ "#"+paginationID, "outerHTML", "", "true")
+
+ toastSuccess := customtoastv2.CustomToastV2Show("Success", "Success delete user group ", "success")
+ retval := []templ.Component{toastSuccess, contentUserGroupComponent, userGroupPaginationComponent, newForm}
+ // time.Sleep(20 * time.Second)
+ return utils.ViewMulti(c, retval)
}
func (lh *MasterMenuUserGroupHandler) HandlerShowMasterMenuUserGroupSearchV1(c echo.Context) error {
search := c.QueryParam("search")
+ searchID := c.QueryParam("searchID")
tableID := c.QueryParam("tableID")
paginationID := c.QueryParam("paginationID")
+ dialogEditBodyID := c.QueryParam("dialogEditBodyID")
+ // dialogEditID := c.QueryParam("dialogEditID")
+ dialogDeleteBodyID := c.QueryParam("dialogDeleteBodyID")
+ // dialogDeleteID := c.QueryParam("dialogDeleteID")
+
logger, _ := zap.NewProduction()
dataUserGroup, totalpage, err := lh.MasterMenuUserGroupService.GetListMasterUserGroupV2(search, 1, 5)
@@ -433,27 +947,28 @@ func (lh *MasterMenuUserGroupHandler) HandlerShowMasterMenuUserGroupSearchV1(c e
// totalPages := int(math.Ceil(float64(len(dataUserGroupFiltered)) / float64(rowPerPage)))
contentUserGroupComponent := mastermenuusergroup.TableUserGroup(
- dataUserGroup, tableID)
- // userGroupPaginationComponent := pagination.PaginationV2(
- // totalpage,
- // 1,
- // "/dev/usergroupv1pagination",
- // paginationID,
- // "#tableID, #"+searchID, "#"+tableID, "outerHTML", "",
- // )
+ dataUserGroup, tableID, "/dev/usergroupshoweditform",
+ "#"+dialogEditBodyID,
+ "outerHTML",
+ "#dialogEditBodyID, #dialogEditID, #dialogDeleteBodyID, #dialogDeleteID",
+ "/dev/usergroupshowdeleteform",
+ "#"+dialogDeleteBodyID,
+ "outerHTML",
+ "#dialogDeleteBodyID, #dialogDeleteID, #dialogEditBodyID, #dialogEditID")
userGroupPaginationComponent := pagination.PaginationV2(totalpage,
1,
"/dev/usergroupv1pagination",
paginationID,
- "#tableID, #searchID, #paginationID", "#"+paginationID, "outerHTML", "")
+ "#tableID, #searchID, #"+searchID+", #paginationID, #dialogEditBodyID, #dialogEditID, #dialogDeleteBodyID, #dialogDeleteID",
+ "#"+paginationID, "outerHTML", "", "")
- swapTable :=
- mastermenuusergroup.SwapTableUserGroup(userGroupPaginationComponent, contentUserGroupComponent)
+ // swapTable :=
+ // mastermenuusergroup.SwapTableUserGroup(userGroupPaginationComponent, contentUserGroupComponent)
+ retval := []templ.Component{contentUserGroupComponent, userGroupPaginationComponent}
- si := swapTable
-
- return utils.View(c, si)
+ return utils.ViewMulti(c, retval)
+ // return utils.View(c, si)
}
func (lh *MasterMenuUserGroupHandler) HandlerShowMasterMenuUserGroupPaginationV1(c echo.Context) error {
@@ -462,8 +977,12 @@ func (lh *MasterMenuUserGroupHandler) HandlerShowMasterMenuUserGroupPaginationV1
search := c.QueryParam("search")
pageparam := c.QueryParam("page")
tableID := c.QueryParam("tableID")
- // searchID := c.QueryParam("searchID")
+ searchID := c.QueryParam("searchID")
paginationID := c.QueryParam("paginationID")
+ dialogEditBodyID := c.QueryParam("dialogEditBodyID")
+ // dialogEditID := c.QueryParam("dialogEditID")
+ dialogDeleteBodyID := c.QueryParam("dialogDeleteBodyID")
+ // dialogDeleteID := c.QueryParam("dialogDeleteID")
page, err := strconv.Atoi(pageparam)
if err != nil {
defer logger.Sync()
@@ -485,20 +1004,25 @@ func (lh *MasterMenuUserGroupHandler) HandlerShowMasterMenuUserGroupPaginationV1
}
contentUserGroupComponent := mastermenuusergroup.TableUserGroup(
- dataUserGroup, tableID)
+ dataUserGroup, tableID, "/dev/usergroupshoweditform",
+ "#"+dialogEditBodyID,
+ "outerHTML",
+ "#dialogEditBodyID, #dialogEditID, #dialogDeleteBodyID, #dialogDeleteID",
+ "/dev/usergroupshowdeleteform",
+ "#"+dialogDeleteBodyID,
+ "outerHTML",
+ "#dialogDeleteBodyID, #dialogDeleteID, #dialogEditBodyID, #dialogEditID")
userGroupPaginationComponent := pagination.PaginationV2(totalpage,
page,
"/dev/usergroupv1pagination",
paginationID,
- "#tableID, #searchID, #paginationID", "#"+paginationID, "outerHTML", "")
+ "#tableID, #searchID, #"+searchID+", #paginationID, #dialogEditBodyID, #dialogEditID, #dialogDeleteBodyID, #dialogDeleteID",
+ "#"+paginationID, "outerHTML", "", "")
- swapTable :=
- mastermenuusergroup.SwapTableUserGroup(userGroupPaginationComponent, contentUserGroupComponent)
+ retval := []templ.Component{contentUserGroupComponent, userGroupPaginationComponent}
- si := swapTable
-
- return utils.View(c, si)
+ return utils.ViewMulti(c, retval)
}
// Coba Anndy
@@ -617,3 +1141,155 @@ func (lh *MasterMenuUserGroupHandler) HandlerHideToast(c echo.Context) error {
return utils.View(c, si)
}
+
+func (lh *MasterMenuUserGroupHandler) HandleCloseForm(c echo.Context) error {
+ // #dialogAddBodyID, #dialogAddID
+ dialogAddBodyID := c.FormValue("dialogAddBodyID")
+ form := mastermenuusergroup.DialogNewBodyV1(
+ models.CustomTextFieldv2Prm{
+ Label: "Kode User Group",
+ Name: "usergroupcode",
+ Placeholder: "Kode user group",
+ Type: "text", ID: "usergroupinputname"},
+ models.CustomTextFieldv2Prm{
+ Label: "Nama User Group",
+ Name: "usergroupname",
+ Placeholder: "Nama user group",
+ Type: "text", ID: "usergroupinputname"},
+ models.CustomTextFieldv2Prm{
+ Label: "Kode User Group",
+ Name: "usergroupid",
+ Placeholder: "Kode user group",
+ Type: "hidden", ID: "usergroupinputid"},
+ dialogAddBodyID, mastermenuusergroup.HandleJSModalAddUG(""))
+ return utils.View(c, form)
+}
+func (lh *MasterMenuUserGroupHandler) HandleCloseFormEdit(c echo.Context) error {
+ dialogEditBodyID := c.FormValue("dialogEditBodyID")
+ form := mastermenuusergroup.DialogNewBodyV1(
+ models.CustomTextFieldv2Prm{
+ Label: "Kode User Group",
+ Name: "usergroupcode",
+ Placeholder: "Kode user group",
+ Type: "text", ID: "usergroupinputname"},
+ models.CustomTextFieldv2Prm{
+ Label: "Nama User Group",
+ Name: "usergroupname",
+ Placeholder: "Nama user group",
+ Type: "text", ID: "usergroupinputname"},
+ models.CustomTextFieldv2Prm{
+ Label: "Kode User Group",
+ Name: "usergroupid",
+ Placeholder: "Kode user group",
+ Type: "hidden", ID: "usergroupinputid"},
+ dialogEditBodyID, mastermenuusergroup.HandleJSModalAddUG(""))
+ return utils.View(c, form)
+}
+func (lh *MasterMenuUserGroupHandler) HandleEditForm(c echo.Context) error {
+ println("Masuk change edit form")
+
+ id := c.QueryParam("id")
+ dialogEditID := c.QueryParam("dialogEditID")
+ dialogEditBodyID := c.QueryParam("dialogEditBodyID")
+
+ dataUserGroup, err := lh.MasterMenuUserGroupService.GetUserGroupByIDV1(id)
+ if err != nil {
+ // test := mastermenuusergrouptryandy.DialogNewBody(code, name, "", "Name cannot empty")
+ test := mastermenuusergroup.DialogNewBodyV1(
+ models.CustomTextFieldv2Prm{
+ Label: "Kode User Group",
+ Name: "usergroupcode",
+ Placeholder: "Kode user group",
+ Type: "text",
+ Value: "",
+ ID: "usergroupinputname",
+ },
+ models.CustomTextFieldv2Prm{
+ Label: "Nama User Group",
+ Name: "usergroupname",
+ Placeholder: "Nama user group",
+ Type: "text",
+ Value: "",
+ ID: "usergroupinputname",
+ },
+ models.CustomTextFieldv2Prm{Label: "Kode User Group",
+ Name: "usergroupid",
+ Placeholder: "Kode user group",
+ Type: "hidden",
+ ID: "usergroupinputid"},
+ dialogEditBodyID, mastermenuusergroup.HandleJSModalAddUGShow("#"+dialogEditID))
+ coba := utils.ViewMulti(c, []templ.Component{
+ customtoastv2.CustomToastV2Show("Error", err.Error(), "danger"),
+ test})
+ return coba
+
+ }
+
+ form := mastermenuusergroup.DialogNewBodyV1(
+ models.CustomTextFieldv2Prm{
+ Label: "Kode User Group",
+ Name: "usergroupcode",
+ Placeholder: "Kode user group",
+ Type: "text",
+ Value: dataUserGroup.M_UserGroupCode,
+ },
+ models.CustomTextFieldv2Prm{
+ Label: "Nama User Group",
+ Name: "usergroupname",
+ Placeholder: "Nama user group",
+ Type: "text",
+ Value: dataUserGroup.M_UserGroupName,
+ },
+ models.CustomTextFieldv2Prm{Label: "Kode User Group",
+ Name: "usergroupid",
+ Placeholder: "Kode user group",
+ Type: "hidden",
+ Value: strconv.Itoa(dataUserGroup.M_UserGroupID),
+ ID: "usergroupinputid"},
+ dialogEditBodyID, mastermenuusergroup.HandleJSModalAddUGShow("#"+dialogEditID))
+ coba := utils.ViewMulti(c, []templ.Component{form})
+ return coba
+
+}
+func (lh *MasterMenuUserGroupHandler) HandleDeleteForm(c echo.Context) error {
+ id := c.QueryParam("id")
+ dialogDeleteID := c.QueryParam("dialogDeleteID")
+ dialogDeleteBodyID := c.QueryParam("dialogDeleteBodyID")
+ dataUserGroup, err := lh.MasterMenuUserGroupService.GetUserGroupByIDV1(id)
+ if err != nil {
+ // test := mastermenuusergrouptryandy.DialogNewBody(code, name, "", "Name cannot empty")
+ test := mastermenuusergroup.DeleteConfirmationBody(
+ models.CustomTextFieldv2Prm{Type: "hidden", Value: "0", Name: "usergroupid"},
+ dialogDeleteBodyID, "Apakah anda yakin menghapus user group berikut ?",
+ []string{"Kode", "User Group"},
+ []string{"", ""},
+ mastermenuusergroup.HandleJSModalAddUG(""),
+ )
+ coba := utils.ViewMulti(c, []templ.Component{
+ customtoastv2.CustomToastV2Show("Error", err.Error(), "danger"),
+ test})
+ return coba
+
+ }
+
+ form := mastermenuusergroup.DeleteConfirmationBody(
+ models.CustomTextFieldv2Prm{Type: "hidden", Value: strconv.Itoa(dataUserGroup.M_UserGroupID), Name: "usergroupid"},
+ dialogDeleteBodyID, "Apakah anda yakin menghapus user group berikut ?",
+ []string{"Kode", "User Group"},
+ []string{dataUserGroup.M_UserGroupCode, dataUserGroup.M_UserGroupName},
+ mastermenuusergroup.HandleJSModalAddUGShow("#"+dialogDeleteID),
+ )
+ coba := utils.ViewMulti(c, []templ.Component{form})
+ return coba
+}
+func (lh *MasterMenuUserGroupHandler) HandleCloseFormDelete(c echo.Context) error {
+ dialogDeleteID := c.FormValue("dialogDeleteID")
+ dialogDeleteBodyID := c.FormValue("dialogDeleteBodyID")
+ form := mastermenuusergroup.DeleteConfirmationBody(
+ models.CustomTextFieldv2Prm{Type: "hidden", Value: "0", Name: "usergroupid"},
+ dialogDeleteBodyID, "Apakah anda yakin menghapus user group berikut ?",
+ []string{"Kode", "User Group"},
+ []string{"", ""},
+ mastermenuusergroup.HandleJSModalAddUG("#"+dialogDeleteID))
+ return utils.View(c, form)
+}
diff --git a/handlers/public/tools.handler.go b/handlers/public/tools.handler.go
index 1633f9c..07f1673 100644
--- a/handlers/public/tools.handler.go
+++ b/handlers/public/tools.handler.go
@@ -54,7 +54,7 @@ func (lh *ToolsHandler) HandlerShowToast(c echo.Context) error {
tabelusergroupComponent := tablecomponent.TableV2(
[]string{"KODE", "USERGROUP", "AKSI"},
[]string{"40%", "40%", "20%"},
- mastermenuusergroup.TableRowV1(dummyData),
+ mastermenuusergroup.TableRowV1(dummyData, "", "", "", "", "", "", "", ""),
pagination,
"",
inputansearchComponent,
diff --git a/handlers/routes.go b/handlers/routes.go
index 4a6b965..7e23bcd 100644
--- a/handlers/routes.go
+++ b/handlers/routes.go
@@ -46,8 +46,6 @@ func SetupRoutesLandingPage(app *echo.Echo, h *dev_handlers.LandingPageHandler,
// autocomplete.GET("/autocomplete", mastermenuusergroupHandler.HandlerListAutoComplete)
// autocomplete.GET("/autoCompleteLoadMore/:pageOf/:searchParam/:limit", mastermenuusergroupHandler.HandlerListAutoCompleteLoadMore)
// autocomplete.GET("/autoCompleteSetValue/:setvalue", mastermenuusergroupHandler.HandlerListAutoCompleteAfterSelected)
- clientgroup.GET("/usergroup/edit", mastermenuusergroupHandler.ChangeFormEdit)
- clientgroup.GET("/usergroup/pagination", mastermenuusergroupHandler.HandleChangePage)
}
func SetupRoutesPieChart(app *echo.Echo, h *dev_handlers.PiechartHandler) {
@@ -187,17 +185,22 @@ func SetupRoutesDev(app *echo.Echo, appStore db.AppStore) {
//DEV USERGROUP
devUGServices := dev_services.NewServicesMasterMenuUserGroup(appStore)
devUGhandlers := dev_handlers.NewMasterMenuUserGroupHandler(devUGServices)
- dev.GET("/usergroup", devUGhandlers.HandlerShowMasterMenuUserGroup)
- dev.GET("/usergroup/pagination", devUGhandlers.HandleChangePage)
+ // dev.GET("/usergroup", devUGhandlers.HandlerShowMasterMenuUserGroup)
+ // dev.GET("/usergroup/pagination", devUGhandlers.HandleChangePage)
dev.POST("/usergroup/add", devUGhandlers.AddUserGroup)
dev.POST("/usergroup/edit", devUGhandlers.EditUserGroup)
- dev.GET("/usergroup/delete/:id", devUGhandlers.DeleteUserGroup)
+ dev.POST("/usergroup/delete", devUGhandlers.DeleteUserGroup)
// try
dev.GET("/usergroupv1", devUGhandlers.HandlerShowMasterMenuUserGroupV1)
dev.GET("/breadcrumbv1", devUGhandlers.HandlerShowBreadCrumbV1)
dev.GET("/searchusergroupv1", devUGhandlers.HandlerShowMasterMenuUserGroupSearchV1)
dev.GET("/usergroupv1pagination", devUGhandlers.HandlerShowMasterMenuUserGroupPaginationV1)
+ dev.POST("/usergrouphandlecloseform", devUGhandlers.HandleCloseForm)
+ dev.POST("/usergrouphandlecloseformedit", devUGhandlers.HandleCloseFormEdit)
+ dev.POST("/usergrouphandlecloseformdelete", devUGhandlers.HandleCloseFormDelete)
+ dev.GET("/usergroupshoweditform", devUGhandlers.HandleEditForm)
+ dev.GET("/usergroupshowdeleteform", devUGhandlers.HandleDeleteForm)
//ugcobanady
dev.GET("/usergrouptryandy", devUGhandlers.HandlerShowMasterMenuUserGroupTryAndy)
diff --git a/models/usergroup.models.go b/models/usergroup.models.go
index 7e78ad9..a2afb10 100644
--- a/models/usergroup.models.go
+++ b/models/usergroup.models.go
@@ -1,5 +1,7 @@
package models
+import "github.com/a-h/templ"
+
type UserGroup struct {
UserGroupID int `json:"user_group_id"`
UserGroupKode string `json:"user_group_kode"`
@@ -7,11 +9,43 @@ type UserGroup struct {
}
type UserGroupV1 struct {
- Nomor string `db:"nomor"`
- M_UserGroupID int `db:"M_UserGroupID"`
- M_UserGroupCode string `db:"M_UserGroupCode"`
- M_UserGroupName string `db:"M_UserGroupName"`
- M_UserGroupCreated string `db:"M_UserGroupCreated"`
- M_UserGroupLastUpdated string `db:"M_UserGroupLastUpdated"`
- M_UserGroupIsActive string `db:"M_UserGroupIsActive"`
+ Nomor string `db:"nomor"`
+ M_UserGroupID int `db:"M_UserGroupID"`
+ M_UserGroupCode string `db:"M_UserGroupCode"`
+ M_UserGroupName string `db:"M_UserGroupName"`
+ M_UserGroupCreated string `db:"M_UserGroupCreated"`
+ M_UserGroupLastUpdated string `db:"M_UserGroupLastUpdated"`
+ M_UserGroupIsActive string `db:"M_UserGroupIsActive"`
+ M_UserGroupCreatedUserID string `db:"M_UserGroupCreatedUserID"`
+ M_UserGroupLastUpdatedUserID string `db:"M_UserGroupLastUpdatedUserID"`
+ M_UserGroupDeleted string `db:"M_UserGroupDeleted"`
+ M_UserGroupDeletedUserID string `db:"M_UserGroupDeletedUserID"`
+}
+
+type UserGroupFormComponent struct {
+ IDComponent string
+ Link string
+ HxTarget string
+ HxSwap string
+ HxInclude string
+ ModalID string
+ ModalTitle string
+ InputName CustomTextFieldv2Prm
+ InputCode CustomTextFieldv2Prm
+ InputID CustomTextFieldv2Prm
+ DialogBody templ.Component
+ DialogAction templ.Component
+ ButtonCLose templ.Component
+}
+type UserGroupFormConfirmation struct {
+ IDComponent string
+ Link string
+ HxTarget string
+ HxSwap string
+ HxInclude string
+ ModalID string
+ ModalTitle string
+ DialogBody templ.Component
+ DialogAction templ.Component
+ ButtonCLose templ.Component
}
diff --git a/services/dev/mastermenuusergroup.services.go b/services/dev/mastermenuusergroup.services.go
index 3a411fc..82fd971 100644
--- a/services/dev/mastermenuusergroup.services.go
+++ b/services/dev/mastermenuusergroup.services.go
@@ -54,508 +54,6 @@ type AutoComplete struct {
Name string `json:"name"`
}
-func (su *ServicesMasterMenuUserGroup) GetMasterMenus() ([]MasterMenu, error) {
-
- // dummyBreadcrumb := []Breadcrumb{
- // {
- // Name: "Dashboard",
- // Url: "/client/dashboard",
- // },
- // {
- // Name: "Front Office",
- // Url: "/client/usermanagement",
- // },
- // }
-
- dummyMenu := []MasterMenu{
- // 1. Dashboard
- {
- ID: "1",
- ParentMenuID: "0",
- ParentMenuName: "Dashboard",
- ParentUrl: "/client/md/dashboard",
- ParentIcon: "",
- Children: []ChildrenMenu{
- {
- ChildrenParentID: "1",
- ChildrenMenuID: "1",
- ChildrenMenuName: "Master User",
- ChildrenMenuURL: "/client/md/user",
- // Breadcrumb: []Breadcrumb{
- // {
- // IDBreadcrumb: "1",
- // Title: "Dashboard",
- // IsActive: "Y",
- // },
- // },
- },
- },
- },
-
- // 2. Front Office
- {
- ID: "2",
- ParentMenuID: "1",
- ParentMenuName: "Front Office",
- ParentUrl: "#",
- ParentIcon: "",
- Children: []ChildrenMenu{
- {
- ChildrenParentID: "1",
- ChildrenMenuID: "1",
- ChildrenMenuName: "Registrasi",
- ChildrenMenuURL: "/fo/registrasi",
- // Breadcrumb: []Breadcrumb{
- // {
- // IDBreadcrumb: "1",
- // Title: "Dashboard",
- // IsActive: "N",
- // },
- // {
- // IDBreadcrumb: "2",
- // Title: "Master",
- // IsActive: "N",
- // },
- // {
- // IDBreadcrumb: "3",
- // Title: "User",
- // IsActive: "Y",
- // },
- // },
- },
- },
- },
-
- // 3. Station
- {
- ID: "3",
- ParentMenuID: "2",
- ParentMenuName: "Station",
- ParentUrl: "#",
- ParentIcon: "",
- Children: []ChildrenMenu{
- {
- ChildrenParentID: "2",
- ChildrenMenuID: "1",
- ChildrenMenuName: "Sample Station",
- ChildrenMenuURL: "/station/sample",
- // Breadcrumb: []Breadcrumb{
- // {
- // IDBreadcrumb: "1",
- // Title: "Dashboard",
- // IsActive: "N",
- // },
- // {
- // IDBreadcrumb: "2",
- // Title: "Master",
- // IsActive: "N",
- // },
- // {
- // IDBreadcrumb: "3",
- // Title: "User",
- // IsActive: "Y",
- // },
- // },
- },
- },
- },
-
- // 4. Management MCU
- {
- ID: "4",
- ParentMenuID: "3",
- ParentMenuName: "Management MCU",
- ParentUrl: "#",
- ParentIcon: "",
- Children: []ChildrenMenu{
- {
- ChildrenParentID: "3",
- ChildrenMenuID: "1",
- ChildrenMenuName: "Setup MCU",
- ChildrenMenuURL: "/mcu/setup",
- // Breadcrumb: []Breadcrumb{
- // {
- // IDBreadcrumb: "1",
- // Title: "Dashboard",
- // IsActive: "N",
- // },
- // {
- // IDBreadcrumb: "2",
- // Title: "Master",
- // IsActive: "N",
- // },
- // {
- // IDBreadcrumb: "3",
- // Title: "User",
- // IsActive: "Y",
- // },
- // },
- },
- {
- ChildrenParentID: "3",
- ChildrenMenuID: "2",
- ChildrenMenuName: "Pre-Registrasi",
- ChildrenMenuURL: "/mcu/preregister",
- // Breadcrumb: []Breadcrumb{
- // {
- // IDBreadcrumb: "1",
- // Title: "Dashboard",
- // IsActive: "N",
- // },
- // {
- // IDBreadcrumb: "2",
- // Title: "Master",
- // IsActive: "N",
- // },
- // {
- // IDBreadcrumb: "3",
- // Title: "User",
- // IsActive: "Y",
- // },
- // },
- },
- },
- },
-
- // 5. Master Data
- {
- ID: "5",
- ParentMenuID: "4",
- ParentMenuName: "Master Data",
- ParentUrl: "#",
- ParentIcon: "",
- Children: []ChildrenMenu{
- // * Master User
- {
- ChildrenParentID: "4",
- ChildrenMenuID: "1",
- ChildrenMenuName: "Master User",
- ChildrenMenuURL: "/client/md/user",
- // Breadcrumb: []Breadcrumb{
- // {
- // IDBreadcrumb: "1",
- // Title: "Dashboard",
- // IsActive: "N",
- // },
- // {
- // IDBreadcrumb: "2",
- // Title: "Master",
- // IsActive: "N",
- // },
- // {
- // IDBreadcrumb: "3",
- // Title: "User",
- // IsActive: "Y",
- // },
- // },
- },
-
- // * Master User Group
- {
- ChildrenParentID: "4",
- ChildrenMenuID: "2",
- ChildrenMenuName: "Master User Group",
- ChildrenMenuURL: "/client/md/usergroup",
- // Breadcrumb: []Breadcrumb{
- // {
- // IDBreadcrumb: "1",
- // Title: "Dashboard",
- // IsActive: "N",
- // },
- // {
- // IDBreadcrumb: "2",
- // Title: "Master",
- // IsActive: "N",
- // },
- // {
- // IDBreadcrumb: "3",
- // Title: "User Group",
- // IsActive: "Y",
- // },
- // },
- },
-
- // * Master Corporate
- {
- ChildrenParentID: "4",
- ChildrenMenuID: "3",
- ChildrenMenuName: "Corporate",
- ChildrenMenuURL: "/client/md/corp",
- // Breadcrumb: []Breadcrumb{
- // {
- // IDBreadcrumb: "1",
- // Title: "Dashboard",
- // IsActive: "N",
- // },
- // {
- // IDBreadcrumb: "2",
- // Title: "Master",
- // IsActive: "N",
- // },
- // {
- // IDBreadcrumb: "3",
- // Title: "User Group",
- // IsActive: "Y",
- // },
- // },
- },
-
- // * Test
- {
- ChildrenParentID: "4",
- ChildrenMenuID: "4",
- ChildrenMenuName: "Test",
- ChildrenMenuURL: "/client/md/test",
- // Breadcrumb: []Breadcrumb{
- // {
- // IDBreadcrumb: "1",
- // Title: "Dashboard",
- // IsActive: "N",
- // },
- // {
- // IDBreadcrumb: "2",
- // Title: "Master",
- // IsActive: "N",
- // },
- // {
- // IDBreadcrumb: "3",
- // Title: "User Group",
- // IsActive: "Y",
- // },
- // },
- },
-
- // * Bahan
- {
- ChildrenParentID: "4",
- ChildrenMenuID: "5",
- ChildrenMenuName: "Bahan",
- ChildrenMenuURL: "/client/md/bahan",
- // Breadcrumb: []Breadcrumb{
- // {
- // IDBreadcrumb: "1",
- // Title: "Dashboard",
- // IsActive: "N",
- // },
- // {
- // IDBreadcrumb: "2",
- // Title: "Master",
- // IsActive: "N",
- // },
- // {
- // IDBreadcrumb: "3",
- // Title: "User Group",
- // IsActive: "Y",
- // },
- // },
- },
-
- // * Sample Type
- {
- ChildrenParentID: "4",
- ChildrenMenuID: "6",
- ChildrenMenuName: "Sample Type",
- ChildrenMenuURL: "/client/sample/type",
- // Breadcrumb: []Breadcrumb{
- // {
- // IDBreadcrumb: "1",
- // Title: "Dashboard",
- // IsActive: "N",
- // },
- // {
- // IDBreadcrumb: "2",
- // Title: "Master",
- // IsActive: "N",
- // },
- // {
- // IDBreadcrumb: "3",
- // Title: "User Group",
- // IsActive: "Y",
- // },
- // },
- },
-
- // * Sample Station
- {
- ChildrenParentID: "4",
- ChildrenMenuID: "7",
- ChildrenMenuName: "Sample Station",
- ChildrenMenuURL: "/station/sample",
- // Breadcrumb: []Breadcrumb{
- // {
- // IDBreadcrumb: "1",
- // Title: "Dashboard",
- // IsActive: "N",
- // },
- // {
- // IDBreadcrumb: "2",
- // Title: "Master",
- // IsActive: "N",
- // },
- // {
- // IDBreadcrumb: "3",
- // Title: "User Group",
- // IsActive: "Y",
- // },
- // },
- },
-
- // * Result Non Lab
- {
- ChildrenParentID: "4",
- ChildrenMenuID: "8",
- ChildrenMenuName: "Result Non Lab",
- ChildrenMenuURL: "/client/md/resultnonlab",
- // Breadcrumb: []Breadcrumb{
- // {
- // IDBreadcrumb: "1",
- // Title: "Dashboard",
- // IsActive: "N",
- // },
- // {
- // IDBreadcrumb: "2",
- // Title: "Master",
- // IsActive: "N",
- // },
- // {
- // IDBreadcrumb: "3",
- // Title: "User Group",
- // IsActive: "Y",
- // },
- // },
- },
-
- // * Template Fisik
- {
- ChildrenParentID: "4",
- ChildrenMenuID: "9",
- ChildrenMenuName: "Template Fisik",
- ChildrenMenuURL: "/client/md/template-fisik",
- // Breadcrumb: []Breadcrumb{
- // {
- // IDBreadcrumb: "1",
- // Title: "Dashboard",
- // IsActive: "N",
- // },
- // {
- // IDBreadcrumb: "2",
- // Title: "Master",
- // IsActive: "N",
- // },
- // {
- // IDBreadcrumb: "3",
- // Title: "User Group",
- // IsActive: "Y",
- // },
- // },
- },
-
- // * Pasien
- {
- ChildrenParentID: "4",
- ChildrenMenuID: "10",
- ChildrenMenuName: "Pasien",
- ChildrenMenuURL: "/client/md/pasien",
- // Breadcrumb: []Breadcrumb{
- // {
- // IDBreadcrumb: "1",
- // Title: "Dashboard",
- // IsActive: "N",
- // },
- // {
- // IDBreadcrumb: "2",
- // Title: "Master",
- // IsActive: "N",
- // },
- // {
- // IDBreadcrumb: "3",
- // Title: "User Group",
- // IsActive: "Y",
- // },
- // },
- },
-
- // * Dokter
- {
- ChildrenParentID: "4",
- ChildrenMenuID: "11",
- ChildrenMenuName: "Dokter",
- ChildrenMenuURL: "/client/md/dokter",
- // Breadcrumb: []Breadcrumb{
- // {
- // IDBreadcrumb: "1",
- // Title: "Dashboard",
- // IsActive: "N",
- // },
- // {
- // IDBreadcrumb: "2",
- // Title: "Master",
- // IsActive: "N",
- // },
- // {
- // IDBreadcrumb: "3",
- // Title: "User Group",
- // IsActive: "Y",
- // },
- // },
- },
-
- // * Paket
- {
- ChildrenParentID: "4",
- ChildrenMenuID: "12",
- ChildrenMenuName: "Paket",
- ChildrenMenuURL: "/client/md/paket",
- // Breadcrumb: []Breadcrumb{
- // {
- // IDBreadcrumb: "1",
- // Title: "Dashboard",
- // IsActive: "N",
- // },
- // {
- // IDBreadcrumb: "2",
- // Title: "Master",
- // IsActive: "N",
- // },
- // {
- // IDBreadcrumb: "3",
- // Title: "User Group",
- // IsActive: "Y",
- // },
- // },
- },
-
- // * Harga Single
- {
- ChildrenParentID: "4",
- ChildrenMenuID: "13",
- ChildrenMenuName: "Harga Single",
- ChildrenMenuURL: "/client/md/hargasingle",
- // Breadcrumb: []Breadcrumb{
- // {
- // IDBreadcrumb: "1",
- // Title: "Dashboard",
- // IsActive: "N",
- // },
- // {
- // IDBreadcrumb: "2",
- // Title: "Master",
- // IsActive: "N",
- // },
- // {
- // IDBreadcrumb: "3",
- // Title: "User Group",
- // IsActive: "Y",
- // },
- // },
- },
- },
- },
- }
-
- return dummyMenu, nil
-}
-
func (ug *ServicesMasterMenuUserGroup) GetUserGroup() ([]models.UserGroup, error) {
data := []models.UserGroup{
{UserGroupID: 1, UserGroupKode: "A", UserGroupName: "UG1"},
@@ -677,6 +175,7 @@ func (ug *ServicesMasterMenuUserGroup) GetUserGroupByIDV1(id string) (models.Use
defer logger.Sync()
logger.Error("Error get data ug by id vs",
zap.String("ID", id),
+ zap.Error(err),
)
return data, fmt.Errorf("QUERY_FAILED")
}
@@ -735,13 +234,33 @@ func (ug *ServicesMasterMenuUserGroup) AddUserGroup(code string, name string) (m
func (ug *ServicesMasterMenuUserGroup) EditUserGroup(id string, code string, name string) (models.UserGroupV1, error) {
logger, _ := zap.NewProduction()
var data models.UserGroupV1
+ var datacek []models.UserGroupV1
+
+ qryCek := `SELECT M_UserGroupCode FROM m_usergroup WHERE M_UserGroupCode = ? AND M_UserGroupIsActive = 'Y' AND M_UserGroupID <> ?`
+ err := dbx.Handlex.Select(&datacek, qryCek, code, id)
+
+ if err != nil {
+ defer logger.Sync()
+ logger.Error("Error cek data by code",
+ zap.String("code", code),
+ zap.Any("datacek", datacek),
+ )
+ return data, fmt.Errorf("QUERY_FAILED")
+ }
+ if len(datacek) > 0 {
+ defer logger.Sync()
+ logger.Error("Code already taken by another data",
+ zap.String("code", code),
+ )
+ return data, fmt.Errorf("code sudah dipakai")
+ }
qry := `UPDATE m_usergroup
SET M_UserGroupCode = ?,
M_UserGroupName= ?
WHERE M_UserGroupID = ?;`
// time.Sleep(5 * time.Second)
rst := dbx.Handlex.MustExec(qry, code, name, id)
- _, err := rst.RowsAffected()
+ _, err = rst.RowsAffected()
if err != nil {
defer logger.Sync()
logger.Error("Error Update usergroup",
@@ -791,131 +310,6 @@ func (ug *ServicesMasterMenuUserGroup) DeleteUserGroup(id string) (models.UserGr
return data, nil
}
-func (su *ServicesMasterMenuUserGroup) GetListMasterUserGroupFilteredBySearch(search string) ([]models.UserGroupV1, error) {
- var userGroupList []models.UserGroupV1
-
- query := `
- SELECT
- ROW_NUMBER() OVER () AS nomor,
- M_UserGroupID,
- M_UserGroupCode,
- M_UserGroupName,
- M_UserGroupCreated,
- M_UserGroupLastUpdated,
- M_UserGroupIsActive
- FROM m_usergroup
- WHERE M_UserGroupIsActive = 'Y'
- `
-
- // check jika parameter search nya tidak kosong
- if search != "" {
- query += fmt.Sprintf(" AND (M_UserGroupName LIKE '%%%s%%' OR M_UserGroupCode LIKE '%%%s%%')", search, search)
- } else {
- search = "%%"
- }
-
- // query += " ORDER BY M_UserGroupID ASC"
- query += fmt.Sprintf(" ORDER BY M_UserGroupID ASC")
-
- logger, _ := zap.NewProduction()
- defer logger.Sync()
- logger.Info("QUERY SEARCH ONlY FOR COUNT TOTAL PAGES PAGINATION",
- zap.String("query search", query),
- )
-
- if err := dbx.Handlex.Select(&userGroupList, query); err != nil {
- return nil, fmt.Errorf("error querying database: %v", err)
- }
-
- return userGroupList, nil
-}
-
-func (su *ServicesMasterMenuUserGroup) GetListMasterUserGroupBySearch(search string) ([]models.UserGroupV1, error) {
- var userGroupList []models.UserGroupV1
-
- query := `
- SELECT
- ROW_NUMBER() OVER () AS nomor,
- M_UserGroupID,
- M_UserGroupCode,
- M_UserGroupName,
- M_UserGroupCreated,
- M_UserGroupLastUpdated,
- M_UserGroupIsActive
- FROM m_usergroup
- WHERE M_UserGroupIsActive = 'Y'
- `
-
- // fmt.Errorf(search)
- rowPerPage := 2
- offset := 0
-
- // check jika parameter search nya tidak kosong
- if search != "" {
- query += fmt.Sprintf(" AND (M_UserGroupName LIKE '%%%s%%' OR M_UserGroupCode LIKE '%%%s%%')", search, search)
- } else {
- search = "%%"
- }
-
- // query += " ORDER BY M_UserGroupID ASC"
- query += fmt.Sprintf(" ORDER BY M_UserGroupID ASC LIMIT %d OFFSET %d", rowPerPage, offset)
-
- logger, _ := zap.NewProduction()
- defer logger.Sync()
- logger.Info("QUERY SEARCH ONlY AND SETTING LIMIT",
- zap.String("query search", query),
- )
-
- if err := dbx.Handlex.Select(&userGroupList, query); err != nil {
- return nil, fmt.Errorf("error querying database: %v", err)
- }
-
- return userGroupList, nil
-}
-
-func (su *ServicesMasterMenuUserGroup) GetListMasterUserGroupPagination(search string, currentPage int, rowPerPage int) ([]models.UserGroupV1, error) {
- var userGroupList []models.UserGroupV1
-
- query := `
- SELECT
- ROW_NUMBER() OVER () AS nomor,
- M_UserGroupID,
- M_UserGroupCode,
- M_UserGroupName,
- M_UserGroupCreated,
- M_UserGroupLastUpdated,
- M_UserGroupIsActive
- FROM m_usergroup
- WHERE M_UserGroupIsActive = 'Y'
- `
-
- // rmaxPerPage := 2
- // rpage := (currentPage - 1) * rmaxPerPage
-
- offset := (currentPage - 1) * rowPerPage
- // offset := currentPage
-
- if search != "" {
- query += fmt.Sprintf(" AND (M_UserGroupName LIKE '%%%s%%' OR M_UserGroupCode LIKE '%%%s%%')", search, search)
- } else {
- search = "%%"
- }
-
- query += fmt.Sprintf(" ORDER BY M_UserGroupID ASC LIMIT %d OFFSET %d", rowPerPage, offset)
-
- logger, _ := zap.NewProduction()
- defer logger.Sync()
- logger.Info("QUERY SEARCH WITH PAGINATION",
- zap.String("query search", query),
- )
-
- if err := dbx.Handlex.Select(&userGroupList, query); err != nil {
- return nil, fmt.Errorf("error querying database: %v", err)
- }
-
- return userGroupList, nil
-}
-
func (su *ServicesMasterMenuUserGroup) GetListMasterUserGroupV2(search string, currentPage int, rowPerPage int) ([]models.UserGroupV1, int, error) {
var userGroupList []models.UserGroupV1
var totalData int
diff --git a/views/dev/mastermenuusergroup/mastermenuusergroupv1.templ b/views/dev/mastermenuusergroup/mastermenuusergroupv1.templ
index 76269ff..989bc07 100644
--- a/views/dev/mastermenuusergroup/mastermenuusergroupv1.templ
+++ b/views/dev/mastermenuusergroup/mastermenuusergroupv1.templ
@@ -14,10 +14,19 @@ templ ContentMasterMenuUserGroupV1(
tableID string,
paginationID string,
searchID string,
+ dialogAddID string,
+ dialogAddBodyID string,
+ dialogEditID string,
+ dialogEditBodyID string,
+ dialogDeleteID string,
+ dialogDeleteBodyID string,
breadcrumb templ.Component,
tablecontent templ.Component,
filterUserGroup templ.Component,
paginationUserGroup templ.Component,
+ modaladdform templ.Component,
+ modalEditform templ.Component,
+ modalDeleteform templ.Component,
) {
@customtextfield.CustomTextFieldv2(models.CustomTextFieldv2Prm{ID: "tableID",
@@ -32,6 +41,30 @@ templ ContentMasterMenuUserGroupV1(
Name: "searchID",
Type: "hidden",
Value: searchID})
+ @customtextfield.CustomTextFieldv2(models.CustomTextFieldv2Prm{ID: "dialogAddID",
+ Name: "dialogAddID",
+ Type: "hidden",
+ Value: dialogAddID})
+ @customtextfield.CustomTextFieldv2(models.CustomTextFieldv2Prm{ID: "dialogAddBodyID",
+ Name: "dialogAddBodyID",
+ Type: "hidden",
+ Value: dialogAddBodyID})
+ @customtextfield.CustomTextFieldv2(models.CustomTextFieldv2Prm{ID: "dialogEditID",
+ Name: "dialogEditID",
+ Type: "hidden",
+ Value: dialogEditID})
+ @customtextfield.CustomTextFieldv2(models.CustomTextFieldv2Prm{ID: "dialogEditBodyID",
+ Name: "dialogEditBodyID",
+ Type: "hidden",
+ Value: dialogEditBodyID})
+ @customtextfield.CustomTextFieldv2(models.CustomTextFieldv2Prm{ID: "dialogDeleteID",
+ Name: "dialogDeleteID",
+ Type: "hidden",
+ Value: dialogDeleteID})
+ @customtextfield.CustomTextFieldv2(models.CustomTextFieldv2Prm{ID: "dialogDeleteBodyID",
+ Name: "dialogDeleteBodyID",
+ Type: "hidden",
+ Value: dialogDeleteBodyID})
@breadcrumb
@@ -43,12 +76,17 @@ templ ContentMasterMenuUserGroupV1(
type="button"
class="btn btn-primary"
data-toggle="modal"
- data-target="#dialogNew"
+ data-target={ "#" + dialogAddID }
>Add New
-
+
@filterUserGroup
@@ -56,47 +94,30 @@ templ ContentMasterMenuUserGroupV1(
@tablecontent
@paginationUserGroup
-
// hx-on::after-request="showtoast()"
// hx-on::reponse-error="cobaerror()"
// hx-on::send-error="cobaerror()"
-
- @modalcomponent.Modal("dialogEdit", "Edit - User Group", DialogEditBody("", ""), DialogEditAction(), BtnCloseNew())
+ @modaladdform
+ @modalEditform
+ @modalDeleteform
+ // @modalcomponent.Modal("dialogEdit", "Edit - User Group", DialogEditBody("", ""), DialogEditAction(), BtnCloseNew())
@JSku()
}
-templ TableRowV1(data []models.UserGroupV1) {
- // /usergroup/edit
- //
- // Edit
- //
+templ TableRowV1(data []models.UserGroupV1,
+ hxGetEdit string,
+ hxTargetEdit string,
+ hxSwapEdit string,
+ hxIncludeEdit string,
+ hxGetDelete string,
+ hxTargetDelete string,
+ hxSwapDelete string,
+ hxIncludeDelete string) {
if len(data) == 0 {
| Data Tidak Ditemukan |
@@ -107,39 +128,55 @@ templ TableRowV1(data []models.UserGroupV1) {
{ v.M_UserGroupCode } |
{ v.M_UserGroupName } |
-
-
- Edit
-
- Hapus
- @modalcomponent.Modal("dialogEdit"+strconv.Itoa(v.M_UserGroupID),
- "Edit - User Group",
- DialogEditBody(v.M_UserGroupCode, v.M_UserGroupName),
- DialogEditAction(),
- BtnCloseNew())
- @modalcomponent.ModalConfirmation(
- "dialogDelete"+strconv.Itoa(v.M_UserGroupID),
- "Konfirmasi",
- "Apakah anda yakin menghapus user group berikut ?", BtnCloseDelete(),
- []string{"Kode", "User Group"}, []string{v.M_UserGroupCode, v.M_UserGroupName}, DialogDeleteAction())
-
+ @TableAction(v.M_UserGroupID, hxGetEdit, hxTargetEdit, hxSwapEdit, hxIncludeEdit, hxGetDelete, hxTargetDelete, hxSwapDelete, hxIncludeDelete)
|
}
}
+templ TableAction(
+ id int,
+ hxGetEdit string,
+ hxTargetEdit string,
+ hxSwapEdit string,
+ hxIncludeEdit string,
+ hxGetDelete string,
+ hxTargetDelete string,
+ hxSwapDelete string,
+ hxIncludeDelete string,
+) {
+
+}
+
templ DialogDeleteActionV1() {
Add New
")
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
@@ -90,23 +167,19 @@ func ContentMasterMenuUserGroupV1(
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
- _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("
")
+ templ_7745c5c3_Err = modalEditform.Render(ctx, templ_7745c5c3_Buffer)
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
- templ_7745c5c3_Err = modalcomponent.Modal("dialogEdit", "Edit - User Group", DialogEditBody("", ""), DialogEditAction(), BtnCloseNew()).Render(ctx, templ_7745c5c3_Buffer)
+ templ_7745c5c3_Err = modalDeleteform.Render(ctx, templ_7745c5c3_Buffer)
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
@@ -125,7 +198,15 @@ func ContentMasterMenuUserGroupV1(
})
}
-func TableRowV1(data []models.UserGroupV1) templ.Component {
+func TableRowV1(data []models.UserGroupV1,
+ hxGetEdit string,
+ hxTargetEdit string,
+ hxSwapEdit string,
+ hxIncludeEdit string,
+ hxGetDelete string,
+ hxTargetDelete string,
+ hxSwapDelete string,
+ hxIncludeDelete string) templ.Component {
return templ.ComponentFunc(func(ctx context.Context, templ_7745c5c3_W io.Writer) (templ_7745c5c3_Err error) {
templ_7745c5c3_Buffer, templ_7745c5c3_IsBuffer := templ_7745c5c3_W.(*bytes.Buffer)
if !templ_7745c5c3_IsBuffer {
@@ -133,9 +214,9 @@ func TableRowV1(data []models.UserGroupV1) templ.Component {
defer templ.ReleaseBuffer(templ_7745c5c3_Buffer)
}
ctx = templ.InitializeContext(ctx)
- templ_7745c5c3_Var2 := templ.GetChildren(ctx)
- if templ_7745c5c3_Var2 == nil {
- templ_7745c5c3_Var2 = templ.NopComponent
+ templ_7745c5c3_Var4 := templ.GetChildren(ctx)
+ if templ_7745c5c3_Var4 == nil {
+ templ_7745c5c3_Var4 = templ.NopComponent
}
ctx = templ.ClearChildren(ctx)
if len(data) == 0 {
@@ -149,12 +230,12 @@ func TableRowV1(data []models.UserGroupV1) templ.Component {
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
- var templ_7745c5c3_Var3 string
- templ_7745c5c3_Var3, templ_7745c5c3_Err = templ.JoinStringErrs(v.M_UserGroupCode)
+ var templ_7745c5c3_Var5 string
+ templ_7745c5c3_Var5, templ_7745c5c3_Err = templ.JoinStringErrs(v.M_UserGroupCode)
if templ_7745c5c3_Err != nil {
- return templ.Error{Err: templ_7745c5c3_Err, FileName: `views\dev\mastermenuusergroup\mastermenuusergroupv1.templ`, Line: 107, Col: 26}
+ return templ.Error{Err: templ_7745c5c3_Err, FileName: `views\dev\mastermenuusergroup\mastermenuusergroupv1.templ`, Line: 128, Col: 26}
}
- _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var3))
+ _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var5))
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
@@ -162,62 +243,24 @@ func TableRowV1(data []models.UserGroupV1) templ.Component {
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
- var templ_7745c5c3_Var4 string
- templ_7745c5c3_Var4, templ_7745c5c3_Err = templ.JoinStringErrs(v.M_UserGroupName)
- if templ_7745c5c3_Err != nil {
- return templ.Error{Err: templ_7745c5c3_Err, FileName: `views\dev\mastermenuusergroup\mastermenuusergroupv1.templ`, Line: 108, Col: 26}
- }
- _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var4))
- if templ_7745c5c3_Err != nil {
- return templ_7745c5c3_Err
- }
- _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("
")
+ _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("")
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
@@ -229,6 +272,144 @@ func TableRowV1(data []models.UserGroupV1) templ.Component {
})
}
+func TableAction(
+ id int,
+ hxGetEdit string,
+ hxTargetEdit string,
+ hxSwapEdit string,
+ hxIncludeEdit string,
+ hxGetDelete string,
+ hxTargetDelete string,
+ hxSwapDelete string,
+ hxIncludeDelete string,
+) templ.Component {
+ return templ.ComponentFunc(func(ctx context.Context, templ_7745c5c3_W io.Writer) (templ_7745c5c3_Err error) {
+ templ_7745c5c3_Buffer, templ_7745c5c3_IsBuffer := templ_7745c5c3_W.(*bytes.Buffer)
+ if !templ_7745c5c3_IsBuffer {
+ templ_7745c5c3_Buffer = templ.GetBuffer()
+ defer templ.ReleaseBuffer(templ_7745c5c3_Buffer)
+ }
+ ctx = templ.InitializeContext(ctx)
+ templ_7745c5c3_Var7 := templ.GetChildren(ctx)
+ if templ_7745c5c3_Var7 == nil {
+ templ_7745c5c3_Var7 = templ.NopComponent
+ }
+ ctx = templ.ClearChildren(ctx)
+ _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("
")
+ if templ_7745c5c3_Err != nil {
+ return templ_7745c5c3_Err
+ }
+ if !templ_7745c5c3_IsBuffer {
+ _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteTo(templ_7745c5c3_W)
+ }
+ return templ_7745c5c3_Err
+ })
+}
+
func DialogDeleteActionV1() templ.Component {
return templ.ComponentFunc(func(ctx context.Context, templ_7745c5c3_W io.Writer) (templ_7745c5c3_Err error) {
templ_7745c5c3_Buffer, templ_7745c5c3_IsBuffer := templ_7745c5c3_W.(*bytes.Buffer)
@@ -237,9 +418,9 @@ func DialogDeleteActionV1() templ.Component {
defer templ.ReleaseBuffer(templ_7745c5c3_Buffer)
}
ctx = templ.InitializeContext(ctx)
- templ_7745c5c3_Var7 := templ.GetChildren(ctx)
- if templ_7745c5c3_Var7 == nil {
- templ_7745c5c3_Var7 = templ.NopComponent
+ templ_7745c5c3_Var16 := templ.GetChildren(ctx)
+ if templ_7745c5c3_Var16 == nil {
+ templ_7745c5c3_Var16 = templ.NopComponent
}
ctx = templ.ClearChildren(ctx)
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("
")
@@ -261,9 +442,9 @@ func BtnCloseDeleteV1() templ.Component {
defer templ.ReleaseBuffer(templ_7745c5c3_Buffer)
}
ctx = templ.InitializeContext(ctx)
- templ_7745c5c3_Var8 := templ.GetChildren(ctx)
- if templ_7745c5c3_Var8 == nil {
- templ_7745c5c3_Var8 = templ.NopComponent
+ templ_7745c5c3_Var17 := templ.GetChildren(ctx)
+ if templ_7745c5c3_Var17 == nil {
+ templ_7745c5c3_Var17 = templ.NopComponent
}
ctx = templ.ClearChildren(ctx)
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("
")
@@ -285,9 +466,9 @@ func JSkuV1() templ.Component {
defer templ.ReleaseBuffer(templ_7745c5c3_Buffer)
}
ctx = templ.InitializeContext(ctx)
- templ_7745c5c3_Var9 := templ.GetChildren(ctx)
- if templ_7745c5c3_Var9 == nil {
- templ_7745c5c3_Var9 = templ.NopComponent
+ templ_7745c5c3_Var18 := templ.GetChildren(ctx)
+ if templ_7745c5c3_Var18 == nil {
+ templ_7745c5c3_Var18 = templ.NopComponent
}
ctx = templ.ClearChildren(ctx)
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("")
@@ -309,9 +490,9 @@ func CssMasterMenuUserGroupV1x() templ.Component {
defer templ.ReleaseBuffer(templ_7745c5c3_Buffer)
}
ctx = templ.InitializeContext(ctx)
- templ_7745c5c3_Var10 := templ.GetChildren(ctx)
- if templ_7745c5c3_Var10 == nil {
- templ_7745c5c3_Var10 = templ.NopComponent
+ templ_7745c5c3_Var19 := templ.GetChildren(ctx)
+ if templ_7745c5c3_Var19 == nil {
+ templ_7745c5c3_Var19 = templ.NopComponent
}
ctx = templ.ClearChildren(ctx)
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("
")
@@ -333,9 +514,9 @@ func JsMasterMenuUserGroupV1x() templ.Component {
defer templ.ReleaseBuffer(templ_7745c5c3_Buffer)
}
ctx = templ.InitializeContext(ctx)
- templ_7745c5c3_Var11 := templ.GetChildren(ctx)
- if templ_7745c5c3_Var11 == nil {
- templ_7745c5c3_Var11 = templ.NopComponent
+ templ_7745c5c3_Var20 := templ.GetChildren(ctx)
+ if templ_7745c5c3_Var20 == nil {
+ templ_7745c5c3_Var20 = templ.NopComponent
}
ctx = templ.ClearChildren(ctx)
if !templ_7745c5c3_IsBuffer {
@@ -356,12 +537,12 @@ func ShowMasterMenuUserGroupV1x(title string, cmp templ.Component, css templ.Com
defer templ.ReleaseBuffer(templ_7745c5c3_Buffer)
}
ctx = templ.InitializeContext(ctx)
- templ_7745c5c3_Var12 := templ.GetChildren(ctx)
- if templ_7745c5c3_Var12 == nil {
- templ_7745c5c3_Var12 = templ.NopComponent
+ templ_7745c5c3_Var21 := templ.GetChildren(ctx)
+ if templ_7745c5c3_Var21 == nil {
+ templ_7745c5c3_Var21 = templ.NopComponent
}
ctx = templ.ClearChildren(ctx)
- templ_7745c5c3_Var13 := templ.ComponentFunc(func(ctx context.Context, templ_7745c5c3_W io.Writer) (templ_7745c5c3_Err error) {
+ templ_7745c5c3_Var22 := templ.ComponentFunc(func(ctx context.Context, templ_7745c5c3_W io.Writer) (templ_7745c5c3_Err error) {
templ_7745c5c3_Buffer, templ_7745c5c3_IsBuffer := templ_7745c5c3_W.(*bytes.Buffer)
if !templ_7745c5c3_IsBuffer {
templ_7745c5c3_Buffer = templ.GetBuffer()
@@ -376,7 +557,7 @@ func ShowMasterMenuUserGroupV1x(title string, cmp templ.Component, css templ.Com
}
return templ_7745c5c3_Err
})
- templ_7745c5c3_Err = layout.CorporateLayout(title, css, js, navbarmenu, navbaruser, userprofile).Render(templ.WithChildren(ctx, templ_7745c5c3_Var13), templ_7745c5c3_Buffer)
+ templ_7745c5c3_Err = layout.CorporateLayout(title, css, js, navbarmenu, navbaruser, userprofile).Render(templ.WithChildren(ctx, templ_7745c5c3_Var22), templ_7745c5c3_Buffer)
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
@@ -387,10 +568,15 @@ func ShowMasterMenuUserGroupV1x(title string, cmp templ.Component, css templ.Com
})
}
-// []string{"KODE", "USERGROUP", "AKSI"},
-//
-// []string{"40%", "40%", "20%"},
-func TableUserGroup(data []models.UserGroupV1, tableID string) templ.Component {
+func TableUserGroup(data []models.UserGroupV1, tableID string,
+ hxGetEdit string,
+ hxTargetEdit string,
+ hxSwapEdit string,
+ hxIncludeEdit string,
+ hxGetDelete string,
+ hxTargetDelete string,
+ hxSwapDelete string,
+ hxIncludeDelete string) templ.Component {
return templ.ComponentFunc(func(ctx context.Context, templ_7745c5c3_W io.Writer) (templ_7745c5c3_Err error) {
templ_7745c5c3_Buffer, templ_7745c5c3_IsBuffer := templ_7745c5c3_W.(*bytes.Buffer)
if !templ_7745c5c3_IsBuffer {
@@ -398,44 +584,31 @@ func TableUserGroup(data []models.UserGroupV1, tableID string) templ.Component {
defer templ.ReleaseBuffer(templ_7745c5c3_Buffer)
}
ctx = templ.InitializeContext(ctx)
- templ_7745c5c3_Var14 := templ.GetChildren(ctx)
- if templ_7745c5c3_Var14 == nil {
- templ_7745c5c3_Var14 = templ.NopComponent
+ templ_7745c5c3_Var23 := templ.GetChildren(ctx)
+ if templ_7745c5c3_Var23 == nil {
+ templ_7745c5c3_Var23 = templ.NopComponent
}
ctx = templ.ClearChildren(ctx)
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("
}
+templ DialogNewBodyV1(inputId models.CustomTextFieldv2Prm,
+ inputCode models.CustomTextFieldv2Prm,
+ inputName models.CustomTextFieldv2Prm,
+ componentID string,
+ hxOnLoad templ.ComponentScript) {
+
+ @customtextfield.CustomTextFieldv2(
+ inputId)
+ @customtextfield.CustomTextFieldv2(
+ inputCode)
+ @customtextfield.CustomTextFieldv2(
+ inputName)
+
+}
+
+script HandleJSModalAddUG(modalID string) {
+ $(modalID).modal('hide')
+}
+
+script HandleJSModalAddUGShow(modalID string) {
+ $(modalID).modal('show')
+}
+
+templ DialogNewActionV1(LinkClose string, targetClose string, hxSwapClose string, modalID string) {
+