feature add master kelainan
This commit is contained in:
@@ -6,6 +6,7 @@ import (
|
||||
navbarmenu "cpone/component/navbar"
|
||||
"cpone/component/pagination"
|
||||
sidebaruserprofile "cpone/component/sidebar_user_profile"
|
||||
customtoastv2 "cpone/component/toastbootstrap"
|
||||
"cpone/models"
|
||||
globalservices "cpone/services"
|
||||
"cpone/utils"
|
||||
@@ -82,10 +83,16 @@ func (lh *MasterKelainanHandler) HandlerShowMasterKelainan(c echo.Context) error
|
||||
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 Kelainan"
|
||||
title := "Master Kelainan"
|
||||
|
||||
dataBreadCrumb, err := lh.MasterKelainanService.GetListBreadCrumb(paramTitleBreadcrumbConvert)
|
||||
dataBreadCrumb, err := lh.MasterKelainanService.GetListBreadCrumb(title)
|
||||
fmt.Println(dataBreadCrumb)
|
||||
fmt.Println(err)
|
||||
if err != nil {
|
||||
@@ -102,6 +109,9 @@ func (lh *MasterKelainanHandler) HandlerShowMasterKelainan(c echo.Context) error
|
||||
zap.Any("data", dataBreadCrumb),
|
||||
)
|
||||
|
||||
// breadcrumadmin
|
||||
breadcrumbComponent := breadcrumadmin.MainBreadcrumbAdminV1(dataBreadCrumb)
|
||||
|
||||
// navbar menu
|
||||
navbarmenuComponent := navbarmenu.NavbarMenu(dataMenu)
|
||||
|
||||
@@ -111,49 +121,96 @@ func (lh *MasterKelainanHandler) HandlerShowMasterKelainan(c echo.Context) error
|
||||
// sidebar
|
||||
sidebaruserprofileComponent := sidebaruserprofile.Navbaruserprofile(dataUser)
|
||||
|
||||
// component modal add kelainan
|
||||
dialogAddBodyCmp := 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"},
|
||||
dialogAddBodyID, masterkelainan.JsHideModal(""))
|
||||
dialogAddActionCmp := masterkelainan.ActionFormKelainan(
|
||||
"/dev/kelainan/closeaddform",
|
||||
"#"+dialogAddBodyID,
|
||||
"outerHTML",
|
||||
"#"+dialogAddID)
|
||||
dialogAddCloseCmp := masterkelainan.BtnCloseFormKelainan(
|
||||
"/dev/kelainan/closeaddform",
|
||||
"#"+dialogAddBodyID,
|
||||
"outerHTML",
|
||||
"#"+dialogAddID)
|
||||
modaladdcomponent := masterkelainan.KelainanForm(models.KelainanFormComponent{
|
||||
IDComponent: "formkelainan",
|
||||
Link: "/dev/kelainan/add",
|
||||
HxTarget: "#" + dialogAddBodyID,
|
||||
HxSwap: "outerHTML",
|
||||
HxInclude: "#tableID, #paginationID, #searchID, #dialogAddBodyID, #dialogAddID, #dialogDeleteBodyID, #dialogDeleteID, #dialogEditBodyID, #dialogEditID, #" + searchID + ", #currpage" + paginationID,
|
||||
ModalID: dialogAddID,
|
||||
ModalTitle: "New - Grup Kelainan",
|
||||
DialogBody: dialogAddBodyCmp,
|
||||
DialogAction: dialogAddActionCmp,
|
||||
ButtonCLose: dialogAddCloseCmp,
|
||||
})
|
||||
|
||||
// component table listing kelainan
|
||||
contentKelainanComponent := masterkelainan.TableKelainan(
|
||||
dataKelainan, tableID)
|
||||
|
||||
// filter kelainan component
|
||||
kelainanFilterComponent := customtextfieldsearch.MainCustomTextFieldSearchV2(searchID,
|
||||
"search",
|
||||
"Cari Grup Kelainan",
|
||||
"text",
|
||||
"/dev/searchkelainan",
|
||||
"input changed delay:500ms, search",
|
||||
"#"+paginationID, "", "", "outerHTML", "#tableID, #paginationID")
|
||||
"#"+paginationID, "", "", "outerHTML", "#tableID, #paginationID, #searchID, #dialogEditBodyID, #dialogEditID, #dialogDeleteBodyID, #dialogDeleteID")
|
||||
|
||||
// pagination kelainan component
|
||||
kelainanPaginationComponent := pagination.PaginationV2(
|
||||
totalpage,
|
||||
1,
|
||||
"/dev/kelainanpagination",
|
||||
paginationID,
|
||||
"#tableID, #searchID, #paginationID", "#"+paginationID, "outerHTML", "",
|
||||
"#tableID, #searchID, #"+searchID+", #paginationID, #dialogEditBodyID, #dialogEditID, #dialogDeleteBodyID, #dialogDeleteID",
|
||||
"#"+paginationID,
|
||||
"outerHTML", "", "",
|
||||
)
|
||||
|
||||
si := masterkelainan.ShowKelainan(
|
||||
"Master Kelainan",
|
||||
masterkelainan.ContentMasterKelainan(
|
||||
tableID, paginationID, searchID,
|
||||
breadcrumadmin.MainBreadcrumbAdminV1(dataBreadCrumb),
|
||||
contentKelainanComponent,
|
||||
kelainanFilterComponent,
|
||||
kelainanPaginationComponent,
|
||||
),
|
||||
content := masterkelainan.ContentMasterKelainan(
|
||||
tableID, paginationID, searchID, dialogAddID, dialogAddBodyID,
|
||||
breadcrumbComponent,
|
||||
contentKelainanComponent,
|
||||
kelainanFilterComponent,
|
||||
kelainanPaginationComponent,
|
||||
modaladdcomponent)
|
||||
css := masterkelainan.CssKelainan()
|
||||
js := masterkelainan.JsMdKelainan()
|
||||
|
||||
masterkelainan.CssKelainan(),
|
||||
masterkelainan.JSku(),
|
||||
// show kelainan screen
|
||||
view := masterkelainan.ShowKelainan(
|
||||
title,
|
||||
content,
|
||||
css,
|
||||
js,
|
||||
navbarmenuComponent,
|
||||
navbaruserComponent,
|
||||
sidebaruserprofileComponent,
|
||||
)
|
||||
sidebaruserprofileComponent)
|
||||
|
||||
return utils.View(c, si)
|
||||
return utils.View(c, view)
|
||||
}
|
||||
|
||||
func (lh *MasterKelainanHandler) HandlerShowMasterKelainanSearch(c echo.Context) error {
|
||||
search := c.QueryParam("search")
|
||||
searchID := c.QueryParam("searchID")
|
||||
tableID := c.QueryParam("tableID")
|
||||
paginationID := c.QueryParam("paginationID")
|
||||
// dialogEditBodyID := c.QueryParam("dialogEditBodyID")
|
||||
// dialogDeleteBodyID := c.QueryParam("dialogDeleteBodyID")
|
||||
logger, _ := zap.NewProduction()
|
||||
|
||||
dataKelainan, totalpage, err := lh.MasterKelainanService.GetListMasterKelainan(search, 1, 5)
|
||||
@@ -173,13 +230,12 @@ func (lh *MasterKelainanHandler) HandlerShowMasterKelainanSearch(c echo.Context)
|
||||
1,
|
||||
"/dev/kelainanpagination",
|
||||
paginationID,
|
||||
"#tableID, #searchID, #paginationID", "#"+paginationID, "outerHTML", "")
|
||||
"#tableID, #searchID, #"+searchID+", #paginationID, #dialogEditBodyID, #dialogEditID, #dialogDeleteBodyID, #dialogDeleteID",
|
||||
"#"+paginationID, "outerHTML", "", "")
|
||||
|
||||
swapTable := masterkelainan.SwapTableKelainan(kelainanPaginationComponent, contentKelainanComponent)
|
||||
retval := []templ.Component{contentKelainanComponent, kelainanPaginationComponent}
|
||||
|
||||
si := swapTable
|
||||
|
||||
return utils.View(c, si)
|
||||
return utils.ViewMulti(c, retval)
|
||||
}
|
||||
|
||||
func (lh *MasterKelainanHandler) HandlerShowMasterKelainanPagination(c echo.Context) error {
|
||||
@@ -188,7 +244,10 @@ func (lh *MasterKelainanHandler) HandlerShowMasterKelainanPagination(c echo.Cont
|
||||
search := c.QueryParam("search")
|
||||
pageparam := c.QueryParam("page")
|
||||
tableID := c.QueryParam("tableID")
|
||||
searchID := c.QueryParam("searchID")
|
||||
paginationID := c.QueryParam("paginationID")
|
||||
// dialogEditBodyID := c.QueryParam("dialogEditBodyID")
|
||||
// dialogDeleteBodyID := c.QueryParam("dialogDeleteBodyID")
|
||||
page, err := strconv.Atoi(pageparam)
|
||||
if err != nil {
|
||||
defer logger.Sync()
|
||||
@@ -216,13 +275,12 @@ func (lh *MasterKelainanHandler) HandlerShowMasterKelainanPagination(c echo.Cont
|
||||
page,
|
||||
"/dev/kelainanpagination",
|
||||
paginationID,
|
||||
"#tableID, #searchID, #paginationID", "#"+paginationID, "outerHTML", "")
|
||||
"#tableID, #searchID, #"+searchID+", #paginationID, #dialogEditBodyID, #dialogEditID, #dialogDeleteBodyID, #dialogDeleteID",
|
||||
"#"+paginationID, "outerHTML", "", "")
|
||||
|
||||
swapTable := masterkelainan.SwapTableKelainan(kelainanPaginationComponent, contentKelainanComponent)
|
||||
retval := []templ.Component{contentKelainanComponent, kelainanPaginationComponent}
|
||||
|
||||
si := swapTable
|
||||
|
||||
return utils.View(c, si)
|
||||
return utils.ViewMulti(c, retval)
|
||||
}
|
||||
|
||||
func (lh *MasterKelainanHandler) AddKelainan(c echo.Context) error {
|
||||
@@ -230,15 +288,56 @@ func (lh *MasterKelainanHandler) AddKelainan(c echo.Context) error {
|
||||
defer logger.Sync()
|
||||
|
||||
name := c.FormValue("kelainanname")
|
||||
// if strings.TrimSpace(name) == "" {
|
||||
// test := masterkelainan.KelainanSwapOOB(name, "Name cannot empty")
|
||||
// return lh.View(c, test)
|
||||
// }
|
||||
tableID := c.FormValue("tableID")
|
||||
paginationID := c.FormValue("paginationID")
|
||||
searchID := c.FormValue("searchID")
|
||||
search := c.FormValue("search")
|
||||
currPagePrm := c.FormValue("currpage" + paginationID)
|
||||
dialogAddBodyID := c.FormValue("dialogAddBodyID")
|
||||
dialogAddID := c.FormValue("dialogAddID")
|
||||
// dialogEditBodyID := c.FormValue("dialogEditBodyID")
|
||||
// dialogDeleteBodyID := c.FormValue("dialogDeleteBodyID")
|
||||
|
||||
currPage, err := strconv.Atoi(currPagePrm)
|
||||
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
logger.Info("ADD KELAINAN",
|
||||
zap.Any("nama", name),
|
||||
zap.Any("tableid", tableID),
|
||||
zap.Any("search", search),
|
||||
zap.Any("currpage", currPage),
|
||||
)
|
||||
|
||||
// form validation
|
||||
nameValidation := ""
|
||||
if strings.TrimSpace(name) == "" {
|
||||
test := masterkelainan.DialogNewBody(name, "", "Name cannot empty")
|
||||
return lh.View(c, test)
|
||||
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"},
|
||||
dialogAddBodyID, masterkelainan.JsHideModal(""))
|
||||
|
||||
return utils.ViewMulti(c, []templ.Component{
|
||||
customtoastv2.CustomToastV2Show("Warning", nameValidation, "warning"), newForm})
|
||||
|
||||
}
|
||||
|
||||
// Add kelainan service
|
||||
dataKelainan, err := lh.MasterKelainanService.AddKelainan(name)
|
||||
|
||||
if err != nil {
|
||||
@@ -247,23 +346,89 @@ func (lh *MasterKelainanHandler) AddKelainan(c echo.Context) error {
|
||||
zap.Any("name", name),
|
||||
)
|
||||
|
||||
// test := masterkelainan.KelainanSwapOOB(name, err.Error())
|
||||
// return lh.View(c, test)
|
||||
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"},
|
||||
dialogAddBodyID, masterkelainan.JsHideModal(""))
|
||||
return utils.ViewMulti(c, []templ.Component{
|
||||
customtoastv2.CustomToastV2Show("Error", err.Error(), "danger"), newForm})
|
||||
}
|
||||
logger.Info("ADD KELAINAN",
|
||||
zap.Any("reutn", dataKelainan),
|
||||
zap.Any("name", name),
|
||||
)
|
||||
dataKelainanGet, err := lh.MasterKelainanService.GetKelainanByID("1")
|
||||
fmt.Println(dataKelainan)
|
||||
fmt.Println(err)
|
||||
|
||||
// Get data table current page
|
||||
dataKelainanList, totalpage, err := lh.MasterKelainanService.GetListMasterKelainan(search, currPage, 5)
|
||||
if err != nil {
|
||||
fmt.Println(dataKelainan)
|
||||
defer logger.Sync()
|
||||
logger.Info("ERROR GET KELAINAN",
|
||||
zap.Any("error", err),
|
||||
)
|
||||
return err
|
||||
}
|
||||
|
||||
v := masterkelainan.DialogEditForm(dataKelainanGet.Mcu_KelainanGroupName)
|
||||
// New add form
|
||||
newForm := masterkelainan.BodyFormKelainan(
|
||||
models.CustomTextFieldv2Prm{
|
||||
Label: "Nama Grup Kelainan",
|
||||
Name: "kelainanname",
|
||||
Placeholder: "Nama Grup Kelainan",
|
||||
Type: "text",
|
||||
Value: "",
|
||||
ID: "kelainaninputname",
|
||||
},
|
||||
models.CustomTextFieldv2Prm{Label: "Nama Grup Kelainan",
|
||||
Name: "kelainanid",
|
||||
Placeholder: "Nama Grup Kelainan",
|
||||
Type: "hidden",
|
||||
ID: "kelainaninputid"},
|
||||
dialogAddBodyID, masterkelainan.JsHideModal("#"+dialogAddID))
|
||||
|
||||
return lh.View(c, v)
|
||||
// New table listing
|
||||
contentKelainanComponent := masterkelainan.TableKelainan(
|
||||
dataKelainanList, tableID)
|
||||
|
||||
// New pagination
|
||||
kelainanPaginationComponent := pagination.PaginationV2(totalpage,
|
||||
currPage,
|
||||
"/dev/kelainanpagination",
|
||||
paginationID,
|
||||
"#tableID, #searchID, #"+searchID+", #paginationID, #dialogEditBodyID, #dialogEditID, #dialogDeleteBodyID, #dialogDeleteID",
|
||||
"#"+paginationID, "outerHTML", "", "true")
|
||||
|
||||
toastSuccess := customtoastv2.CustomToastV2Show("Success", "Success add kelainan "+name, "success")
|
||||
|
||||
retval := []templ.Component{toastSuccess, contentKelainanComponent, kelainanPaginationComponent, newForm}
|
||||
|
||||
return utils.ViewMulti(c, retval)
|
||||
}
|
||||
|
||||
func (lh *MasterKelainanHandler) HandleCloseFormAdd(c echo.Context) error {
|
||||
dialogAddBodyID := c.FormValue("dialogAddBodyID")
|
||||
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"},
|
||||
dialogAddBodyID, masterkelainan.JsHideModal(""))
|
||||
return utils.View(c, newForm)
|
||||
}
|
||||
|
||||
@@ -218,5 +218,6 @@ func SetupRoutesDev(app *echo.Echo, appStore db.AppStore) {
|
||||
dev.GET("/kelainan", devKLhandlers.HandlerShowMasterKelainan)
|
||||
dev.GET("/searchkelainan", devKLhandlers.HandlerShowMasterKelainanSearch)
|
||||
dev.GET("/kelainanpagination", devKLhandlers.HandlerShowMasterKelainanPagination)
|
||||
dev.POST("/kelainan/closeaddform", devKLhandlers.HandleCloseFormAdd)
|
||||
dev.POST("/kelainan/add", devKLhandlers.AddKelainan)
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user