feature edit master kelainan
This commit is contained in:
@@ -25,6 +25,7 @@ type MasterKelainanService interface {
|
||||
GetListMasterKelainan(search string, currentPage int, rowPerPage int) ([]models.Kelainan, int, error)
|
||||
GetKelainanByID(id string) (models.Kelainan, error)
|
||||
AddKelainan(name string) (models.Kelainan, error)
|
||||
EditKelainan(id string, name string) (models.Kelainan, error)
|
||||
}
|
||||
|
||||
func NewMasterKelainanHandler(us MasterKelainanService) *MasterKelainanHandler {
|
||||
@@ -85,8 +86,8 @@ func (lh *MasterKelainanHandler) HandlerShowMasterKelainan(c echo.Context) error
|
||||
searchID := utils.GenerateRandomID("searchid")
|
||||
dialogAddID := utils.GenerateRandomID("dialogaddID")
|
||||
dialogAddBodyID := utils.GenerateRandomID("dialogaddbodyID")
|
||||
// dialogEditID := utils.GenerateRandomID("dialogEditID")
|
||||
// dialogEditBodyID := utils.GenerateRandomID("dialogEditBodyID")
|
||||
dialogEditID := utils.GenerateRandomID("dialogEditID")
|
||||
dialogEditBodyID := utils.GenerateRandomID("dialogEditBodyID")
|
||||
// dialogdeleteID := utils.GenerateRandomID("dialogdeleteID")
|
||||
// dialogdeleteBodyID := utils.GenerateRandomID("dialogdeleteBodyID")
|
||||
|
||||
@@ -159,7 +160,11 @@ func (lh *MasterKelainanHandler) HandlerShowMasterKelainan(c echo.Context) error
|
||||
|
||||
// component table listing kelainan
|
||||
contentKelainanComponent := masterkelainan.TableKelainan(
|
||||
dataKelainan, tableID)
|
||||
dataKelainan, tableID,
|
||||
"/dev/kelainan/openedit",
|
||||
"#"+dialogEditBodyID,
|
||||
"outerHTML",
|
||||
"#dialogEditBodyID, #dialogEditID")
|
||||
|
||||
// filter kelainan component
|
||||
kelainanFilterComponent := customtextfieldsearch.MainCustomTextFieldSearchV2(searchID,
|
||||
@@ -181,13 +186,55 @@ func (lh *MasterKelainanHandler) HandlerShowMasterKelainan(c echo.Context) error
|
||||
"outerHTML", "", "",
|
||||
)
|
||||
|
||||
// modal edit form
|
||||
dialogEditBodyComponent := masterkelainan.BodyFormKelainan(
|
||||
models.CustomTextFieldv2Prm{
|
||||
Label: "Nama Grup Kelainan",
|
||||
Name: "kelainanname",
|
||||
Placeholder: "Nama Grup Kelainan",
|
||||
Type: "text", ID: "kelainaninputname"},
|
||||
models.CustomTextFieldv2Prm{
|
||||
Label: "Nama Grup Kelainan",
|
||||
Name: "kelainanid",
|
||||
Placeholder: "Nama Grup Kelainan",
|
||||
Type: "hidden", ID: "kelainaninputid"},
|
||||
dialogEditBodyID, masterkelainan.JsHideModal(""))
|
||||
modalActioEditComponent := masterkelainan.ActionFormKelainan(
|
||||
"/dev/kelainan/closeeditform",
|
||||
"#"+dialogEditBodyID,
|
||||
"outerHTML",
|
||||
"#"+dialogEditID)
|
||||
btnCloaseModalEdit := masterkelainan.BtnCloseFormKelainan(
|
||||
"/dev/kelainan/closeeditform",
|
||||
"#"+dialogEditBodyID,
|
||||
"outerHTML",
|
||||
"#"+dialogEditID)
|
||||
modalEditFormComponent := masterkelainan.KelainanForm(
|
||||
models.KelainanFormComponent{
|
||||
IDComponent: "formkelainan",
|
||||
Link: "/dev/kelainan/edit",
|
||||
HxTarget: "#" + dialogEditBodyID,
|
||||
HxSwap: "outerHTML",
|
||||
HxInclude: "#tableID, #paginationID, #searchID, #dialogEditBodyID, #dialogEditID, #" + searchID + ", #currpage" + paginationID,
|
||||
ModalID: dialogEditID,
|
||||
ModalTitle: "New - Grup Kelainan",
|
||||
DialogBody: dialogEditBodyComponent,
|
||||
DialogAction: modalActioEditComponent,
|
||||
ButtonCLose: btnCloaseModalEdit,
|
||||
},
|
||||
)
|
||||
|
||||
// content, css, js
|
||||
content := masterkelainan.ContentMasterKelainan(
|
||||
tableID, paginationID, searchID, dialogAddID, dialogAddBodyID,
|
||||
dialogEditID,
|
||||
dialogEditBodyID,
|
||||
breadcrumbComponent,
|
||||
contentKelainanComponent,
|
||||
kelainanFilterComponent,
|
||||
kelainanPaginationComponent,
|
||||
modaladdcomponent)
|
||||
modaladdcomponent,
|
||||
modalEditFormComponent)
|
||||
css := masterkelainan.CssKelainan()
|
||||
js := masterkelainan.JsMdKelainan()
|
||||
|
||||
@@ -209,7 +256,7 @@ func (lh *MasterKelainanHandler) HandlerShowMasterKelainanSearch(c echo.Context)
|
||||
searchID := c.QueryParam("searchID")
|
||||
tableID := c.QueryParam("tableID")
|
||||
paginationID := c.QueryParam("paginationID")
|
||||
// dialogEditBodyID := c.QueryParam("dialogEditBodyID")
|
||||
dialogEditBodyID := c.QueryParam("dialogEditBodyID")
|
||||
// dialogDeleteBodyID := c.QueryParam("dialogDeleteBodyID")
|
||||
logger, _ := zap.NewProduction()
|
||||
|
||||
@@ -224,7 +271,11 @@ func (lh *MasterKelainanHandler) HandlerShowMasterKelainanSearch(c echo.Context)
|
||||
}
|
||||
|
||||
contentKelainanComponent := masterkelainan.TableKelainan(
|
||||
dataKelainan, tableID)
|
||||
dataKelainan, tableID,
|
||||
"/dev/kelainan/openedit",
|
||||
"#"+dialogEditBodyID,
|
||||
"outerHTML",
|
||||
"#dialogEditBodyID, #dialogEditID")
|
||||
|
||||
kelainanPaginationComponent := pagination.PaginationV2(totalpage,
|
||||
1,
|
||||
@@ -246,7 +297,7 @@ func (lh *MasterKelainanHandler) HandlerShowMasterKelainanPagination(c echo.Cont
|
||||
tableID := c.QueryParam("tableID")
|
||||
searchID := c.QueryParam("searchID")
|
||||
paginationID := c.QueryParam("paginationID")
|
||||
// dialogEditBodyID := c.QueryParam("dialogEditBodyID")
|
||||
dialogEditBodyID := c.QueryParam("dialogEditBodyID")
|
||||
// dialogDeleteBodyID := c.QueryParam("dialogDeleteBodyID")
|
||||
page, err := strconv.Atoi(pageparam)
|
||||
if err != nil {
|
||||
@@ -269,7 +320,11 @@ func (lh *MasterKelainanHandler) HandlerShowMasterKelainanPagination(c echo.Cont
|
||||
}
|
||||
|
||||
contentKelainanComponent := masterkelainan.TableKelainan(
|
||||
dataKelainan, tableID)
|
||||
dataKelainan, tableID,
|
||||
"/dev/kelainan/openedit",
|
||||
"#"+dialogEditBodyID,
|
||||
"outerHTML",
|
||||
"#dialogEditBodyID, #dialogEditID")
|
||||
|
||||
kelainanPaginationComponent := pagination.PaginationV2(totalpage,
|
||||
page,
|
||||
@@ -295,7 +350,7 @@ func (lh *MasterKelainanHandler) AddKelainan(c echo.Context) error {
|
||||
currPagePrm := c.FormValue("currpage" + paginationID)
|
||||
dialogAddBodyID := c.FormValue("dialogAddBodyID")
|
||||
dialogAddID := c.FormValue("dialogAddID")
|
||||
// dialogEditBodyID := c.FormValue("dialogEditBodyID")
|
||||
dialogEditBodyID := c.FormValue("dialogEditBodyID")
|
||||
// dialogDeleteBodyID := c.FormValue("dialogDeleteBodyID")
|
||||
|
||||
currPage, err := strconv.Atoi(currPagePrm)
|
||||
@@ -398,7 +453,11 @@ func (lh *MasterKelainanHandler) AddKelainan(c echo.Context) error {
|
||||
|
||||
// New table listing
|
||||
contentKelainanComponent := masterkelainan.TableKelainan(
|
||||
dataKelainanList, tableID)
|
||||
dataKelainanList, tableID,
|
||||
"",
|
||||
"#"+dialogEditBodyID,
|
||||
"outerHTML",
|
||||
"#dialogEditBodyID, #dialogEditID")
|
||||
|
||||
// New pagination
|
||||
kelainanPaginationComponent := pagination.PaginationV2(totalpage,
|
||||
@@ -432,3 +491,197 @@ func (lh *MasterKelainanHandler) HandleCloseFormAdd(c echo.Context) error {
|
||||
dialogAddBodyID, masterkelainan.JsHideModal(""))
|
||||
return utils.View(c, newForm)
|
||||
}
|
||||
|
||||
func (lh *MasterKelainanHandler) HandleOpenEditForm(c echo.Context) error {
|
||||
id := c.QueryParam("id")
|
||||
dialogEditID := c.QueryParam("dialogEditID")
|
||||
dialogEditBodyID := c.QueryParam("dialogEditBodyID")
|
||||
|
||||
dataKelainan, err := lh.MasterKelainanService.GetKelainanByID(id)
|
||||
if err != nil {
|
||||
newForm := masterkelainan.BodyFormKelainan(
|
||||
models.CustomTextFieldv2Prm{
|
||||
Label: "Nama Grup Kelainan",
|
||||
Name: "kelainanname",
|
||||
Placeholder: "Nama Grup Kelainan",
|
||||
Type: "text",
|
||||
ID: "kelainaninputname"},
|
||||
models.CustomTextFieldv2Prm{Label: "Nama Grup Kelainan",
|
||||
Name: "kelainanid",
|
||||
Placeholder: "Nama Grup Kelainan",
|
||||
Type: "hidden",
|
||||
ID: "kelainaninputid"},
|
||||
dialogEditBodyID, masterkelainan.JsHideModal(""))
|
||||
return utils.ViewMulti(c, []templ.Component{customtoastv2.CustomToastV2Show("Error", "Get kelainan grup error", "danger"), newForm})
|
||||
}
|
||||
newForm := masterkelainan.BodyFormKelainan(
|
||||
models.CustomTextFieldv2Prm{
|
||||
Label: "Nama Grup Kelainan",
|
||||
Name: "kelainanname",
|
||||
Placeholder: "Nama Grup Kelainan",
|
||||
Value: dataKelainan.Mcu_KelainanGroupName,
|
||||
Type: "text",
|
||||
ID: "kelainaninputname"},
|
||||
models.CustomTextFieldv2Prm{Label: "Nama Grup Kelainan",
|
||||
Name: "kelainanid",
|
||||
Placeholder: "Nama Grup Kelainan",
|
||||
Value: strconv.Itoa(dataKelainan.Mcu_KelainanGroupID),
|
||||
Type: "hidden",
|
||||
ID: "kelainaninputid"},
|
||||
dialogEditBodyID, masterkelainan.JsShowModal("#"+dialogEditID))
|
||||
return utils.View(c, newForm)
|
||||
}
|
||||
|
||||
func (lh *MasterKelainanHandler) HandleCloseFormEdit(c echo.Context) error {
|
||||
dialogEditBodyID := c.FormValue("dialogEditBodyID")
|
||||
newForm := masterkelainan.BodyFormKelainan(
|
||||
models.CustomTextFieldv2Prm{
|
||||
Label: "Nama Grup Kelainan",
|
||||
Name: "kelainanname",
|
||||
Placeholder: "Nama Grup Kelainan",
|
||||
Type: "text",
|
||||
ID: "kelainaninputname"},
|
||||
models.CustomTextFieldv2Prm{Label: "Nama Grup Kelainan",
|
||||
Name: "kelainanid",
|
||||
Placeholder: "Nama Grup Kelainan",
|
||||
Type: "hidden",
|
||||
ID: "kelainaninputid"},
|
||||
dialogEditBodyID, masterkelainan.JsHideModal(""))
|
||||
return utils.View(c, newForm)
|
||||
}
|
||||
|
||||
func (lh *MasterKelainanHandler) HandleEditKelainan(c echo.Context) error {
|
||||
|
||||
logger, _ := zap.NewProduction()
|
||||
defer logger.Sync()
|
||||
|
||||
//prm form editkelainan
|
||||
name := c.FormValue("kelainanname")
|
||||
id := c.FormValue("kelainanid")
|
||||
tableID := c.FormValue("tableID")
|
||||
paginationID := c.FormValue("paginationID")
|
||||
searchID := c.FormValue("searchID")
|
||||
search := c.FormValue("search")
|
||||
currPagePrm := c.FormValue("currpage" + paginationID)
|
||||
dialogEditID := c.FormValue("dialogEditID")
|
||||
dialogEditBodyID := c.FormValue("dialogEditBodyID")
|
||||
|
||||
currPage, err := strconv.Atoi(currPagePrm)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
logger.Info("EDIT KELAINAN",
|
||||
zap.Any("nama", name),
|
||||
zap.Any("tableid", tableID),
|
||||
zap.Any("search", search),
|
||||
zap.Any("currpage", currPage),
|
||||
)
|
||||
|
||||
// form validation
|
||||
nameValidation := ""
|
||||
if strings.TrimSpace(name) == "" {
|
||||
nameValidation = "Nama grup kelainan tidak boleh kosong"
|
||||
}
|
||||
if nameValidation != "" {
|
||||
newForm := masterkelainan.BodyFormKelainan(
|
||||
models.CustomTextFieldv2Prm{
|
||||
Label: "Nama Grup Kelainan",
|
||||
Name: "kelainanname",
|
||||
Placeholder: "Nama Grup Kelainan",
|
||||
Type: "text",
|
||||
Value: name,
|
||||
ID: "kelainaninputname",
|
||||
ErrorMsg: nameValidation},
|
||||
models.CustomTextFieldv2Prm{Label: "Nama Grup Kelainan",
|
||||
Name: "kelainanid",
|
||||
Placeholder: "Nama Grup Kelainan",
|
||||
Type: "hidden",
|
||||
ID: "kelainaninputid"},
|
||||
dialogEditBodyID, masterkelainan.JsHideModal(""))
|
||||
|
||||
return utils.ViewMulti(c, []templ.Component{
|
||||
customtoastv2.CustomToastV2Show("Warning", nameValidation, "warning"), newForm})
|
||||
|
||||
}
|
||||
|
||||
// edit kelainan service
|
||||
dataKelainan, err := lh.MasterKelainanService.EditKelainan(id, name)
|
||||
|
||||
if err != nil {
|
||||
logger.Info("Error",
|
||||
zap.Any("Error", err),
|
||||
zap.Any("name", name),
|
||||
)
|
||||
|
||||
newForm := masterkelainan.BodyFormKelainan(
|
||||
models.CustomTextFieldv2Prm{
|
||||
Label: "Nama Grup Kelainan",
|
||||
Name: "kelainanname",
|
||||
Placeholder: "Nama Grup Kelainan",
|
||||
Type: "text",
|
||||
Value: name,
|
||||
ID: "kelainaninputname",
|
||||
},
|
||||
models.CustomTextFieldv2Prm{Label: "Nama Grup Kelainan",
|
||||
Name: "kelainanid",
|
||||
Placeholder: "Nama Grup Kelainan",
|
||||
Type: "hidden",
|
||||
ID: "kelainaninputid"},
|
||||
dialogEditBodyID, masterkelainan.JsHideModal(""))
|
||||
return utils.ViewMulti(c, []templ.Component{
|
||||
customtoastv2.CustomToastV2Show("Error", err.Error(), "danger"), newForm})
|
||||
}
|
||||
logger.Info("EDIT KELAINAN",
|
||||
zap.Any("reutn", dataKelainan),
|
||||
zap.Any("name", name),
|
||||
)
|
||||
|
||||
// get list kelainan for table
|
||||
dataKelainanList, totalPage, err := lh.MasterKelainanService.GetListMasterKelainan(search, currPage, 5)
|
||||
if err != nil {
|
||||
defer logger.Sync()
|
||||
logger.Info("ERROR GET KELAINAN",
|
||||
zap.Any("error", err),
|
||||
)
|
||||
fmt.Println(dataKelainan)
|
||||
return err
|
||||
}
|
||||
|
||||
// Table component
|
||||
tableComponent := masterkelainan.TableKelainan(dataKelainanList,
|
||||
tableID,
|
||||
"/dev/kelainan/openedit",
|
||||
"#"+dialogEditBodyID,
|
||||
"outerHTML",
|
||||
"#dialogEditBodyID, #dialogEditID")
|
||||
|
||||
// pagination component
|
||||
kelainanPaginationComponent := pagination.PaginationV2(
|
||||
totalPage,
|
||||
currPage,
|
||||
"/dev/kelainanpagination",
|
||||
paginationID,
|
||||
"#tableID, #searchID, #"+searchID+", #paginationID, #dialogEditBodyID, #dialogEditID",
|
||||
"#"+paginationID,
|
||||
"outerHTML", "", "true",
|
||||
)
|
||||
|
||||
newForm := masterkelainan.BodyFormKelainan(
|
||||
models.CustomTextFieldv2Prm{
|
||||
Label: "Nama Grup Kelainan",
|
||||
Name: "kelainanname",
|
||||
Placeholder: "Nama Grup Kelainan",
|
||||
ErrorMsg: nameValidation,
|
||||
Type: "text"},
|
||||
models.CustomTextFieldv2Prm{
|
||||
Label: "Nama Grup Kelainan",
|
||||
Name: "kelainanid",
|
||||
Placeholder: "Nama Grup Kelainan",
|
||||
Type: "hidden", ID: "kelainaninputid"},
|
||||
dialogEditBodyID, masterkelainan.JsHideModal("#"+dialogEditID))
|
||||
toastSuccess := customtoastv2.CustomToastV2Show("Success", "Berhasil edit Kelainan Grup "+name, "success")
|
||||
|
||||
retval := []templ.Component{toastSuccess, tableComponent, kelainanPaginationComponent, newForm}
|
||||
|
||||
return utils.ViewMulti(c, retval)
|
||||
}
|
||||
|
||||
@@ -220,4 +220,7 @@ func SetupRoutesDev(app *echo.Echo, appStore db.AppStore) {
|
||||
dev.GET("/kelainanpagination", devKLhandlers.HandlerShowMasterKelainanPagination)
|
||||
dev.POST("/kelainan/closeaddform", devKLhandlers.HandleCloseFormAdd)
|
||||
dev.POST("/kelainan/add", devKLhandlers.AddKelainan)
|
||||
dev.GET("/kelainan/openedit", devKLhandlers.HandleOpenEditForm)
|
||||
dev.POST("/kelainan/closeeditform", devKLhandlers.HandleCloseFormEdit)
|
||||
dev.POST("/kelainan/edit", devKLhandlers.HandleEditKelainan)
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user