diff --git a/assets/asset-corporate-portal/css/sas.bundle.css b/assets/asset-corporate-portal/css/sas.bundle.css index 5c2272c..6896ce4 100644 --- a/assets/asset-corporate-portal/css/sas.bundle.css +++ b/assets/asset-corporate-portal/css/sas.bundle.css @@ -616,7 +616,7 @@ a.text-white:focus { } .btn-outline-secondary.disabled, .btn-outline-secondary:disabled { - color: var(--secondary) !important; + color: var(--text-black) !important; background-color: transparent; } .btn-outline-secondary:not(:disabled):not(.disabled):active, @@ -5195,7 +5195,7 @@ a.text-hover-tosca:hover .svg-icon svg:hover g [fill], position: fixed; top: 0vh; right: 0vh; - z-index: 9998; + z-index: 99999999999 !important; width: 350px; height: auto; } @@ -5239,6 +5239,41 @@ a.text-hover-tosca:hover .svg-icon svg:hover g [fill], cursor: wait !important; } +/* ### PROGRESS BAR HOVER TEXT */ +/* ## PRIMARY */ +.progress-bar { + height: 4px !important; + background-color: var(--primary) !important; + width: 100% !important; + overflow: hidden !important; +} + +.progress-bar-value { + width: 100% !important; + height: 100% !important; + background-color: var(--primarybg) !important; + animation: indeterminateAnimation 1s infinite linear !important; + transform-origin: 0% 50% !important; +} + +@keyframes indeterminateAnimation { + 0% { + transform: translateX(0) scaleX(0); + } + 40% { + transform: translateX(0) scaleX(0.4); + } + 100% { + transform: translateX(100%) scaleX(0.5); + } +} +/* ## SECONDARY */ + +/* ## SUCCESS */ +/* ## INFO */ +/* ## WARNING */ +/* ## DANGER */ + /* ### BUTTON HOVER TEXT */ /* ### */ /* ## PRIMARY */ diff --git a/component/modal/modal_confirmation.templ b/component/modal/modal_confirmation.templ index 3e3503b..499dd66 100644 --- a/component/modal/modal_confirmation.templ +++ b/component/modal/modal_confirmation.templ @@ -28,14 +28,14 @@ templ ModalConfirmation(

{ message }

-
+
for _, v := range datHeader { -
{ v }
+
{ v }
}
for _, v := range dataText { -
+
{ v }
} diff --git a/component/modal/modal_confirmation_templ.go b/component/modal/modal_confirmation_templ.go index 0c18d87..dbe44d5 100644 --- a/component/modal/modal_confirmation_templ.go +++ b/component/modal/modal_confirmation_templ.go @@ -77,19 +77,19 @@ func ModalConfirmation( 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 } for _, v := range datHeader { - _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("
") + _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("
") if templ_7745c5c3_Err != nil { return templ_7745c5c3_Err } var templ_7745c5c3_Var5 string templ_7745c5c3_Var5, templ_7745c5c3_Err = templ.JoinStringErrs(v) if templ_7745c5c3_Err != nil { - return templ.Error{Err: templ_7745c5c3_Err, FileName: `component\modal\modal_confirmation.templ`, Line: 33, Col: 66} + return templ.Error{Err: templ_7745c5c3_Err, FileName: `component\modal\modal_confirmation.templ`, Line: 33, Col: 71} } _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var5)) if templ_7745c5c3_Err != nil { @@ -105,7 +105,7 @@ func ModalConfirmation( return templ_7745c5c3_Err } for _, v := range dataText { - _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("
") + _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("
") 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("dialogNew", - "New - User Group", - DialogNewBody("", "", "New", "", ""), - DialogNewAction(), - BtnCloseNew()) -
- @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() {
") + _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("
") 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 = templ_7745c5c3_Buffer.WriteString("
") if templ_7745c5c3_Err != nil { return templ_7745c5c3_Err } - templ_7745c5c3_Err = modalcomponent.Modal("dialogNew", - "New - User Group", - DialogNewBody("", "", "New", "", ""), - DialogNewAction(), - BtnCloseNew()).Render(ctx, templ_7745c5c3_Buffer) + templ_7745c5c3_Err = modaladdform.Render(ctx, templ_7745c5c3_Buffer) 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("
Edit\r Hapus") + _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("") if templ_7745c5c3_Err != nil { return templ_7745c5c3_Err } - templ_7745c5c3_Err = modalcomponent.Modal("dialogEdit"+strconv.Itoa(v.M_UserGroupID), - "Edit - User Group", - DialogEditBody(v.M_UserGroupCode, v.M_UserGroupName), - DialogEditAction(), - BtnCloseNew()).Render(ctx, templ_7745c5c3_Buffer) + templ_7745c5c3_Err = TableAction(v.M_UserGroupID, hxGetEdit, hxTargetEdit, hxSwapEdit, hxIncludeEdit, hxGetDelete, hxTargetDelete, hxSwapDelete, hxIncludeDelete).Render(ctx, templ_7745c5c3_Buffer) if templ_7745c5c3_Err != nil { return templ_7745c5c3_Err } - templ_7745c5c3_Err = 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()).Render(ctx, templ_7745c5c3_Buffer) - 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_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("\" hx-swap-oob=\"true\">") if templ_7745c5c3_Err != nil { return templ_7745c5c3_Err } templ_7745c5c3_Err = tablecomponent.TableV3([]string{"KODE", "USERGROUP", "AKSI"}, []string{"40%", "40%", "20%"}, - TableRowV1(data)).Render(ctx, templ_7745c5c3_Buffer) + TableRowV1(data, hxGetEdit, hxTargetEdit, hxSwapEdit, hxIncludeEdit, hxGetDelete, hxTargetDelete, hxSwapDelete, hxIncludeDelete)).Render(ctx, templ_7745c5c3_Buffer) if templ_7745c5c3_Err != nil { return templ_7745c5c3_Err } @@ -458,9 +631,9 @@ func SwapTableUserGroup(pagination templ.Component, table templ.Component) templ defer templ.ReleaseBuffer(templ_7745c5c3_Buffer) } ctx = templ.InitializeContext(ctx) - templ_7745c5c3_Var17 := templ.GetChildren(ctx) - if templ_7745c5c3_Var17 == nil { - templ_7745c5c3_Var17 = templ.NopComponent + templ_7745c5c3_Var25 := templ.GetChildren(ctx) + if templ_7745c5c3_Var25 == nil { + templ_7745c5c3_Var25 = templ.NopComponent } ctx = templ.ClearChildren(ctx) templ_7745c5c3_Err = pagination.Render(ctx, templ_7745c5c3_Buffer) @@ -477,3 +650,285 @@ func SwapTableUserGroup(pagination templ.Component, table templ.Component) templ return templ_7745c5c3_Err }) } + +func UserGroupForm(data models.UserGroupFormComponent) 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_Var26 := templ.GetChildren(ctx) + if templ_7745c5c3_Var26 == nil { + templ_7745c5c3_Var26 = templ.NopComponent + } + ctx = templ.ClearChildren(ctx) + _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("
") + if templ_7745c5c3_Err != nil { + return templ_7745c5c3_Err + } + templ_7745c5c3_Err = templ.RenderScriptItems(ctx, templ_7745c5c3_Buffer, HandleFormBeforeRequest(), HandleFormAfterRequest()) + if templ_7745c5c3_Err != nil { + return templ_7745c5c3_Err + } + _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("
") + if templ_7745c5c3_Err != nil { + return templ_7745c5c3_Err + } + templ_7745c5c3_Err = modalcomponent.Modal(data.ModalID, + data.ModalTitle, + data.DialogBody, + data.DialogAction, + data.ButtonCLose).Render(ctx, templ_7745c5c3_Buffer) + if templ_7745c5c3_Err != nil { + return templ_7745c5c3_Err + } + _, 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 HandleFormBeforeRequest() templ.ComponentScript { + return templ.ComponentScript{ + Name: `__templ_HandleFormBeforeRequest_1e3f`, + Function: `function __templ_HandleFormBeforeRequest_1e3f(){console.log("handle disable btn add"); + const boxes = document.querySelectorAll('.btnaddact'); + + for (let i = 0; i < boxes.length; i++) { + boxes[i].setAttribute('disabled', 'true'); + + } +}`, + Call: templ.SafeScript(`__templ_HandleFormBeforeRequest_1e3f`), + CallInline: templ.SafeScriptInline(`__templ_HandleFormBeforeRequest_1e3f`), + } +} + +func HandleFormAfterRequest() templ.ComponentScript { + return templ.ComponentScript{ + Name: `__templ_HandleFormAfterRequest_ee07`, + Function: `function __templ_HandleFormAfterRequest_ee07(){console.log("handle enable btn add"); + + const boxes = document.querySelectorAll('.btnaddact'); + + for (let i = 0; i < boxes.length; i++) { + boxes[i].removeAttribute('disabled'); + + } +}`, + Call: templ.SafeScript(`__templ_HandleFormAfterRequest_ee07`), + CallInline: templ.SafeScriptInline(`__templ_HandleFormAfterRequest_ee07`), + } +} + +func DeleteConfirmationBody(inputId models.CustomTextFieldv2Prm, + componentID string, + message string, + datHeader []string, + dataText []string, + hxOnLoad templ.ComponentScript) 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_Var34 := templ.GetChildren(ctx) + if templ_7745c5c3_Var34 == nil { + templ_7745c5c3_Var34 = templ.NopComponent + } + ctx = templ.ClearChildren(ctx) + templ_7745c5c3_Err = templ.RenderScriptItems(ctx, templ_7745c5c3_Buffer, hxOnLoad) + if templ_7745c5c3_Err != nil { + return templ_7745c5c3_Err + } + _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("

") + if templ_7745c5c3_Err != nil { + return templ_7745c5c3_Err + } + var templ_7745c5c3_Var37 string + templ_7745c5c3_Var37, templ_7745c5c3_Err = templ.JoinStringErrs(message) + if templ_7745c5c3_Err != nil { + return templ.Error{Err: templ_7745c5c3_Err, FileName: `views\dev\mastermenuusergroup\mastermenuusergroupv1.templ`, Line: 347, Col: 14} + } + _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var37)) + if templ_7745c5c3_Err != nil { + return templ_7745c5c3_Err + } + _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("

") + if templ_7745c5c3_Err != nil { + return templ_7745c5c3_Err + } + for _, v := range datHeader { + _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("
") + if templ_7745c5c3_Err != nil { + return templ_7745c5c3_Err + } + var templ_7745c5c3_Var38 string + templ_7745c5c3_Var38, templ_7745c5c3_Err = templ.JoinStringErrs(v) + if templ_7745c5c3_Err != nil { + return templ.Error{Err: templ_7745c5c3_Err, FileName: `views\dev\mastermenuusergroup\mastermenuusergroupv1.templ`, Line: 352, Col: 68} + } + _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var38)) + if templ_7745c5c3_Err != nil { + return templ_7745c5c3_Err + } + _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("
") + if templ_7745c5c3_Err != nil { + return templ_7745c5c3_Err + } + } + _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("
") + if templ_7745c5c3_Err != nil { + return templ_7745c5c3_Err + } + for _, v := range dataText { + _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("
") + if templ_7745c5c3_Err != nil { + return templ_7745c5c3_Err + } + var templ_7745c5c3_Var39 string + templ_7745c5c3_Var39, templ_7745c5c3_Err = templ.JoinStringErrs(v) + if templ_7745c5c3_Err != nil { + return templ.Error{Err: templ_7745c5c3_Err, FileName: `views\dev\mastermenuusergroup\mastermenuusergroupv1.templ`, Line: 358, Col: 10} + } + _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var39)) + if templ_7745c5c3_Err != nil { + return templ_7745c5c3_Err + } + _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("
") + if templ_7745c5c3_Err != nil { + return templ_7745c5c3_Err + } + } + _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("
") + if templ_7745c5c3_Err != nil { + return templ_7745c5c3_Err + } + templ_7745c5c3_Err = customtextfield.CustomTextFieldv2(inputId).Render(ctx, templ_7745c5c3_Buffer) + if templ_7745c5c3_Err != nil { + return templ_7745c5c3_Err + } + _, 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 + }) +} diff --git a/views/dev/mastermenuusergroup/modaladdusergroup.templ b/views/dev/mastermenuusergroup/modaladdusergroup.templ index e40ef90..b20c75e 100644 --- a/views/dev/mastermenuusergroup/modaladdusergroup.templ +++ b/views/dev/mastermenuusergroup/modaladdusergroup.templ @@ -37,6 +37,51 @@ templ DialogNewBody(code string, name string, id string, codeErrorMsg string, na
} +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) { +
+ + +
+} + templ DialogNewAction() {
} + +templ BtnCloseNewV1(LinkClose string, targetClose string, hxSwapClose string, modalID string) { + +} diff --git a/views/dev/mastermenuusergroup/modaladdusergroup_templ.go b/views/dev/mastermenuusergroup/modaladdusergroup_templ.go index 58b2061..1620ab1 100644 --- a/views/dev/mastermenuusergroup/modaladdusergroup_templ.go +++ b/views/dev/mastermenuusergroup/modaladdusergroup_templ.go @@ -79,7 +79,11 @@ func DialogNewBody(code string, name string, id string, codeErrorMsg string, nam }) } -func DialogNewAction() templ.Component { +func DialogNewBodyV1(inputId models.CustomTextFieldv2Prm, + inputCode models.CustomTextFieldv2Prm, + inputName models.CustomTextFieldv2Prm, + componentID string, + hxOnLoad templ.ComponentScript) 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 { @@ -92,7 +96,176 @@ func DialogNewAction() templ.Component { templ_7745c5c3_Var2 = templ.NopComponent } ctx = templ.ClearChildren(ctx) - _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("
") + templ_7745c5c3_Err = templ.RenderScriptItems(ctx, templ_7745c5c3_Buffer, hxOnLoad) + if templ_7745c5c3_Err != nil { + return templ_7745c5c3_Err + } + _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("
") + if templ_7745c5c3_Err != nil { + return templ_7745c5c3_Err + } + templ_7745c5c3_Err = customtextfield.CustomTextFieldv2( + inputId).Render(ctx, templ_7745c5c3_Buffer) + if templ_7745c5c3_Err != nil { + return templ_7745c5c3_Err + } + templ_7745c5c3_Err = customtextfield.CustomTextFieldv2( + inputCode).Render(ctx, templ_7745c5c3_Buffer) + if templ_7745c5c3_Err != nil { + return templ_7745c5c3_Err + } + templ_7745c5c3_Err = customtextfield.CustomTextFieldv2( + inputName).Render(ctx, templ_7745c5c3_Buffer) + if templ_7745c5c3_Err != nil { + return templ_7745c5c3_Err + } + _, 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 HandleJSModalAddUG(modalID string) templ.ComponentScript { + return templ.ComponentScript{ + Name: `__templ_HandleJSModalAddUG_da6c`, + Function: `function __templ_HandleJSModalAddUG_da6c(modalID){$(modalID).modal('hide') +}`, + Call: templ.SafeScript(`__templ_HandleJSModalAddUG_da6c`, modalID), + CallInline: templ.SafeScriptInline(`__templ_HandleJSModalAddUG_da6c`, modalID), + } +} + +func HandleJSModalAddUGShow(modalID string) templ.ComponentScript { + return templ.ComponentScript{ + Name: `__templ_HandleJSModalAddUGShow_3147`, + Function: `function __templ_HandleJSModalAddUGShow_3147(modalID){$(modalID).modal('show') +}`, + Call: templ.SafeScript(`__templ_HandleJSModalAddUGShow_3147`, modalID), + CallInline: templ.SafeScriptInline(`__templ_HandleJSModalAddUGShow_3147`, modalID), + } +} + +func DialogNewActionV1(LinkClose string, targetClose string, hxSwapClose string, modalID 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_Var5 := templ.GetChildren(ctx) + if templ_7745c5c3_Var5 == nil { + templ_7745c5c3_Var5 = templ.NopComponent + } + ctx = templ.ClearChildren(ctx) + _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("
") + if templ_7745c5c3_Err != nil { + return templ_7745c5c3_Err + } + templ_7745c5c3_Err = templ.RenderScriptItems(ctx, templ_7745c5c3_Buffer, HandleJSModalAddUG(modalID)) + if templ_7745c5c3_Err != nil { + return templ_7745c5c3_Err + } + _, 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 DialogNewAction() 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_Var10 := templ.GetChildren(ctx) + if templ_7745c5c3_Var10 == nil { + templ_7745c5c3_Var10 = templ.NopComponent + } + ctx = templ.ClearChildren(ctx) + _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("
") if templ_7745c5c3_Err != nil { return templ_7745c5c3_Err } @@ -111,9 +284,9 @@ func BtnCloseNew() templ.Component { defer templ.ReleaseBuffer(templ_7745c5c3_Buffer) } ctx = templ.InitializeContext(ctx) - templ_7745c5c3_Var3 := templ.GetChildren(ctx) - if templ_7745c5c3_Var3 == nil { - templ_7745c5c3_Var3 = templ.NopComponent + templ_7745c5c3_Var11 := templ.GetChildren(ctx) + if templ_7745c5c3_Var11 == nil { + templ_7745c5c3_Var11 = templ.NopComponent } ctx = templ.ClearChildren(ctx) _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("") @@ -126,3 +299,79 @@ func BtnCloseNew() templ.Component { return templ_7745c5c3_Err }) } + +func BtnCloseNewV1(LinkClose string, targetClose string, hxSwapClose string, modalID 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_Var12 := templ.GetChildren(ctx) + if templ_7745c5c3_Var12 == nil { + templ_7745c5c3_Var12 = templ.NopComponent + } + ctx = templ.ClearChildren(ctx) + templ_7745c5c3_Err = templ.RenderScriptItems(ctx, templ_7745c5c3_Buffer, HandleJSModalAddUG(modalID)) + if templ_7745c5c3_Err != nil { + return templ_7745c5c3_Err + } + _, 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 + }) +}