open and close edit form

This commit is contained in:
Sas Andy
2024-05-22 14:00:17 +07:00
parent fd3609f82f
commit 4c12c45aa8
6 changed files with 385 additions and 36 deletions

View File

@@ -48,6 +48,10 @@ func (lh *MdUserGroupHandler) HandleShowMdUserGroupScreen(c echo.Context) error
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")
dataMenu, err := services.GetMenu()
fmt.Println(dataMenu)
fmt.Println(err)
@@ -108,21 +112,28 @@ func (lh *MdUserGroupHandler) HandleShowMdUserGroupScreen(c echo.Context) error
fmt.Println(dataUserGroup)
return err
}
tableComponent := dev_mdusergroupview.TableUserGroup(dataUserGroup, tableID)
tableComponent := dev_mdusergroupview.TableUserGroup(dataUserGroup,
tableID,
"/dev/md/usergroupv2/openedit",
"#"+dialogEditBodyID,
"outerHTML",
"#dialogEditBodyID, #dialogEditID",
)
//filter user group component
usergroupFilterComponent := customtextfieldsearch.MainCustomTextFieldSearchV2(searchID,
"search",
"Cari Kode/Nama",
"text",
"/dev/usergroupv2/filter",
"/dev/md/usergroupv2/filter",
"input changed delay:500ms, search",
"#"+paginationID, "", "", "outerHTML", "#tableID, #paginationID, #searchID")
//Pagination
userGroupPaginationComponent := pagination.PaginationV2(
totalPage,
1,
"/dev/usergroupv2/changepage",
"/dev/md/usergroupv2/changepage",
paginationID,
"#tableID, #searchID, #"+searchID+", #paginationID",
"#"+paginationID,
@@ -148,19 +159,19 @@ func (lh *MdUserGroupHandler) HandleShowMdUserGroupScreen(c echo.Context) error
Type: "hidden", ID: "usergroupinputid"},
dialogAddBodyID, dev_mdusergroupview.JsHideModal(""))
modalActioAddCmp := dev_mdusergroupview.ActionFormUserGroup(
"/dev/usergroupv2/closeaddform",
"/dev/md/usergroupv2/closeaddform",
"#"+dialogAddBodyID,
"outerHTML",
"#"+dialogAddID)
btnCloaseModalAdd := dev_mdusergroupview.BtnCloseFormUserGroup(
"/dev/usergroupv2/closeaddform",
"/dev/md/usergroupv2/closeaddform",
"#"+dialogAddBodyID,
"outerHTML",
"#"+dialogAddID)
modalAddFormComponent := dev_mdusergroupview.UserGroupForm(
models.UserGroupFormComponent{
IDComponent: "formusergroup",
Link: "/dev/usergroupv2/add",
Link: "/dev/md/usergroupv2/add",
HxTarget: "#" + dialogAddBodyID,
HxSwap: "outerHTML",
HxInclude: "#tableID, #paginationID, #searchID, #dialogAddBodyID, #dialogAddID, #" + searchID + ", #currpage" + paginationID,
@@ -172,6 +183,49 @@ func (lh *MdUserGroupHandler) HandleShowMdUserGroupScreen(c echo.Context) error
},
)
//modal edit form
dialogEditBodyCmp := dev_mdusergroupview.BodyFormUserGroup(
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, dev_mdusergroupview.JsHideModal(""))
modalActioEditCmp := dev_mdusergroupview.ActionFormUserGroup(
"/dev/md/usergroupv2/closeeditform",
"#"+dialogEditBodyID,
"outerHTML",
"#"+dialogEditID)
btnCloaseModalEdit := dev_mdusergroupview.BtnCloseFormUserGroup(
"/dev/md/usergroupv2/closeeditform",
"#"+dialogEditBodyID,
"outerHTML",
"#"+dialogEditID)
modalEditFormComponent := dev_mdusergroupview.UserGroupForm(
models.UserGroupFormComponent{
IDComponent: "formusergroup",
Link: "",
HxTarget: "#" + dialogEditBodyID,
HxSwap: "outerHTML",
HxInclude: "#tableID, #paginationID, #searchID, #dialogEditBodyID, #dialogEditID, #" + searchID + ", #currpage" + paginationID,
ModalID: dialogEditID,
ModalTitle: "New-User Group",
DialogBody: dialogEditBodyCmp,
DialogAction: modalActioEditCmp,
ButtonCLose: btnCloaseModalEdit,
},
)
//content js & css
content := dev_mdusergroupview.MdUserGroupScreen(
tableID,
@@ -179,15 +233,24 @@ func (lh *MdUserGroupHandler) HandleShowMdUserGroupScreen(c echo.Context) error
searchID,
dialogAddID,
dialogAddBodyID,
dialogEditID,
dialogEditBodyID,
breadcrumbComponent,
tableComponent,
usergroupFilterComponent,
userGroupPaginationComponent,
modalAddFormComponent)
modalAddFormComponent,
modalEditFormComponent)
css := dev_mdusergroupview.CssMdUserGroup()
js := dev_mdusergroupview.JsMdUserGroup()
view := dev_mdusergroupview.ShowMdUserGroupScreen(title, content, css, js, navbarmenuComponent, navbaruserComponent, sidebaruserprofileComponent)
view := dev_mdusergroupview.ShowMdUserGroupScreen(title,
content,
css,
js,
navbarmenuComponent,
navbaruserComponent,
sidebaruserprofileComponent)
return utils.View(c, view)
}
func (lh *MdUserGroupHandler) HandleFilterMdUserGroup(c echo.Context) error {
@@ -195,6 +258,7 @@ func (lh *MdUserGroupHandler) HandleFilterMdUserGroup(c echo.Context) error {
searchID := c.QueryParam("searchID")
tableID := c.QueryParam("tableID")
paginationID := c.QueryParam("paginationID")
dialogEditBodyID := c.QueryParam("dialogEditBodyID")
var retval []templ.Component
logger, _ := zap.NewProduction()
@@ -207,11 +271,16 @@ func (lh *MdUserGroupHandler) HandleFilterMdUserGroup(c echo.Context) error {
fmt.Println(dataUserGroup)
return err
}
tableComponent := dev_mdusergroupview.TableUserGroup(dataUserGroup, tableID)
tableComponent := dev_mdusergroupview.TableUserGroup(dataUserGroup,
tableID,
"",
"#"+dialogEditBodyID,
"outerHTML",
"#dialogEditBodyID, #dialogEditID")
userGroupPaginationComponent := pagination.PaginationV2(
totalpage,
1,
"/dev/usergroupv2/changepage",
"/dev/md/usergroupv2/changepage",
paginationID,
"#tableID, #searchID, #"+searchID+", #paginationID",
"#"+paginationID,
@@ -227,6 +296,7 @@ func (lh *MdUserGroupHandler) HandleChangePageMdUserGroup(c echo.Context) error
tableID := c.QueryParam("tableID")
searchID := c.QueryParam("searchID")
paginationID := c.QueryParam("paginationID")
dialogEditBodyID := c.QueryParam("dialogEditBodyID")
var retval []templ.Component
logger, _ := zap.NewProduction()
page, err := strconv.Atoi(pageparam)
@@ -247,11 +317,17 @@ func (lh *MdUserGroupHandler) HandleChangePageMdUserGroup(c echo.Context) error
fmt.Println(dataUserGroup)
return err
}
tableComponent := dev_mdusergroupview.TableUserGroup(dataUserGroup, tableID)
tableComponent := dev_mdusergroupview.TableUserGroup(dataUserGroup,
tableID,
"",
"#"+dialogEditBodyID,
"outerHTML",
"#dialogEditBodyID, #dialogEditID",
)
userGroupPaginationComponent := pagination.PaginationV2(
totalpage,
page,
"/dev/usergroupv2/changepage",
"/dev/md/usergroupv2/changepage",
paginationID,
"#tableID, #searchID, #"+searchID+", #paginationID",
"#"+paginationID,
@@ -297,6 +373,7 @@ func (lh *MdUserGroupHandler) HandleAddUserGroup(c echo.Context) error {
currPagePrm := c.FormValue("currpage" + paginationID)
dialogAddBodyID := c.FormValue("dialogAddBodyID")
dialogAddID := c.FormValue("dialogAddID")
dialogEditBodyID := c.FormValue("dialogEditBodyID")
currPage, err := strconv.Atoi(currPagePrm)
if err != nil {
@@ -403,14 +480,19 @@ func (lh *MdUserGroupHandler) HandleAddUserGroup(c echo.Context) error {
return err
}
//table component
tableComponent := dev_mdusergroupview.TableUserGroup(dataUserGroupList, tableID)
tableComponent := dev_mdusergroupview.TableUserGroup(dataUserGroupList,
tableID,
"",
"#"+dialogEditBodyID,
"outerHTML",
"#dialogEditBodyID, #dialogEditID")
//pagination component
//Pagination
userGroupPaginationComponent := pagination.PaginationV2(
totalPage,
currPage,
"/dev/usergroupv2/changepage",
"/dev/md/usergroupv2/changepage",
paginationID,
"#tableID, #searchID, #"+searchID+", #paginationID",
"#"+paginationID,
@@ -444,3 +526,72 @@ func (lh *MdUserGroupHandler) HandleAddUserGroup(c echo.Context) error {
userGroupPaginationComponent,
newForm})
}
func (lh *MdUserGroupHandler) HandleOpenEditForm(c echo.Context) error {
id := c.QueryParam("id")
dialogEditID := c.QueryParam("dialogEditID")
dialogEditBodyID := c.QueryParam("dialogEditBodyID")
dataUserGroup, err := lh.MdUserGroupServices.GetMdUserGroupByID(id)
if err != nil {
newForm := dev_mdusergroupview.BodyFormUserGroup(
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, dev_mdusergroupview.JsHideModal(""))
return utils.ViewMulti(c, []templ.Component{customtoastv2.CustomToastV2Show("Error", "Get user group error", "danger"), newForm})
}
newForm := dev_mdusergroupview.BodyFormUserGroup(
models.CustomTextFieldv2Prm{
Label: "Kode User Group",
Name: "usergroupcode",
Placeholder: "Kode user group",
Value: dataUserGroup.M_UserGroupCode,
Type: "text", ID: "usergroupinputname"},
models.CustomTextFieldv2Prm{
Label: "Nama User Group",
Name: "usergroupname",
Placeholder: "Nama user group",
Value: dataUserGroup.M_UserGroupName,
Type: "text", ID: "usergroupinputname"},
models.CustomTextFieldv2Prm{
Label: "Kode User Group",
Name: "usergroupid",
Placeholder: "Kode user group",
Value: id,
Type: "hidden", ID: "usergroupinputid"},
dialogEditBodyID, dev_mdusergroupview.JsShowModal("#"+dialogEditID))
return utils.View(c, newForm)
}
func (lh *MdUserGroupHandler) HandleCloseFormEdit(c echo.Context) error {
dialogEditBodyID := c.FormValue("dialogEditBodyID")
newForm := dev_mdusergroupview.BodyFormUserGroup(
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, dev_mdusergroupview.JsHideModal(""))
return utils.View(c, newForm)
}

View File

@@ -215,10 +215,12 @@ func SetupRoutesDev(app *echo.Echo, appStore db.AppStore) {
//New User Group
devMdUserGroupServices := dev_services.NewMdUserGroupServices(appStore)
devMdUserGroupHandlers := dev_handlers.NewMdUserGroupHandler(devMdUserGroupServices)
dev.GET("/usergroupv2", devMdUserGroupHandlers.HandleShowMdUserGroupScreen)
dev.GET("/usergroupv2/filter", devMdUserGroupHandlers.HandleFilterMdUserGroup)
dev.GET("/usergroupv2/changepage", devMdUserGroupHandlers.HandleChangePageMdUserGroup)
dev.POST("/usergroupv2/closeaddform", devMdUserGroupHandlers.HandleCloseFormAdd)
dev.POST("/usergroupv2/add", devMdUserGroupHandlers.HandleAddUserGroup)
dev.GET("/md/usergroupv2", devMdUserGroupHandlers.HandleShowMdUserGroupScreen)
dev.GET("/md/usergroupv2/filter", devMdUserGroupHandlers.HandleFilterMdUserGroup)
dev.GET("/md/usergroupv2/changepage", devMdUserGroupHandlers.HandleChangePageMdUserGroup)
dev.POST("/md/usergroupv2/closeaddform", devMdUserGroupHandlers.HandleCloseFormAdd)
dev.POST("/md/usergroupv2/closeeditform", devMdUserGroupHandlers.HandleCloseFormEdit)
dev.POST("/md/usergroupv2/add", devMdUserGroupHandlers.HandleAddUserGroup)
dev.GET("/md/usergroupv2/openedit", devMdUserGroupHandlers.HandleOpenEditForm)
}