add feature edit
This commit is contained in:
@@ -11,7 +11,6 @@ import (
|
||||
"cpone/services"
|
||||
"cpone/utils"
|
||||
dev_mdnatunitview "cpone/views/dev/mdnatunit"
|
||||
dev_mdusergroupview "cpone/views/dev/mdusergroup"
|
||||
"fmt"
|
||||
"strconv"
|
||||
"strings"
|
||||
@@ -25,6 +24,8 @@ type MdNatUnitServices interface {
|
||||
GetListMdNatUnit(search string, currentPage int, rowPerPage int) ([]models.NatUnit, int, error)
|
||||
GetMdNatUnitBreadCrumb(title string) (models.BreadCrumbV1, error)
|
||||
AddMdNatUnit(code string, name string) (models.NatUnit, error)
|
||||
GetMdNatUnitByID(id string) (models.NatUnit, error)
|
||||
EditMdNatUnit(id string, code string, name string) (models.NatUnit, error)
|
||||
}
|
||||
|
||||
func NeWMdNatUnitHandler(nu MdNatUnitServices) *MdNatUnitHandler {
|
||||
@@ -45,6 +46,8 @@ func (nh *MdNatUnitHandler) HandleShowMdNatUnitScreen(c echo.Context) error {
|
||||
searchID := utils.GenerateRandomID("searchid")
|
||||
dialogAddID := utils.GenerateRandomID("dialogaddID")
|
||||
dialogAddBodyID := utils.GenerateRandomID("dialogaddbodyID")
|
||||
dialogEditID := utils.GenerateRandomID("dialogEditID")
|
||||
dialogEditBodyID := utils.GenerateRandomID("dialogEditbodyID")
|
||||
dataMenu, err := services.GetMenu()
|
||||
fmt.Println(dataMenu)
|
||||
fmt.Println(err)
|
||||
@@ -108,9 +111,13 @@ func (nh *MdNatUnitHandler) HandleShowMdNatUnitScreen(c echo.Context) error {
|
||||
|
||||
tableComponent := dev_mdnatunitview.TableNatUnit(dataNatUnit,
|
||||
tableID,
|
||||
"/dev/md/natunit/openedit",
|
||||
"#"+dialogEditBodyID,
|
||||
"outerHTML",
|
||||
"#dialogEditBodyID, #dialogEditID",
|
||||
)
|
||||
|
||||
//filter user group component
|
||||
//filter nat unit component
|
||||
natUnitFilterComponent := customtextfieldsearch.MainCustomTextFieldSearchV3(searchID,
|
||||
"search",
|
||||
"Cari Kode/Nama",
|
||||
@@ -183,6 +190,55 @@ func (nh *MdNatUnitHandler) HandleShowMdNatUnitScreen(c echo.Context) error {
|
||||
},
|
||||
)
|
||||
|
||||
// modal edit form
|
||||
dialogEditBodyCmp := dev_mdnatunitview.BodyFormNatUnit(
|
||||
models.CustomTextFieldv2Prm{
|
||||
Label: "Kode Unit",
|
||||
Name: "natunitcode",
|
||||
Placeholder: "Kode Unit",
|
||||
Type: "text", ID: "natunitinputname"},
|
||||
models.CustomTextFieldv2Prm{
|
||||
Label: "Nama Unit",
|
||||
Name: "natunitname",
|
||||
Placeholder: "Nama Unit",
|
||||
Type: "text", ID: "natunitinputname"},
|
||||
models.CustomTextFieldv2Prm{
|
||||
Label: "Kode Unit",
|
||||
Name: "natunitid",
|
||||
Placeholder: "Kode Unit",
|
||||
Type: "hidden", ID: "natunitinputid"},
|
||||
dialogEditBodyID, dev_mdnatunitview.JsHideModal(""),
|
||||
)
|
||||
|
||||
modalActionEditCmp := dev_mdnatunitview.ActionFormNatUnit(
|
||||
"/dev/md/natunit/closeeditform",
|
||||
"#"+dialogEditBodyID,
|
||||
"outerHTML",
|
||||
"#"+dialogEditID,
|
||||
)
|
||||
|
||||
btnCloseModalEdit := dev_mdnatunitview.BtnCloseFormNatUnit(
|
||||
"/dev/md/natunit/closeeditform",
|
||||
"#"+dialogEditBodyID,
|
||||
"outerHTML",
|
||||
"#"+dialogEditID,
|
||||
)
|
||||
|
||||
modalEditFormComponent := dev_mdnatunitview.NatUnitForm(
|
||||
models.NatUnitFormComponent{
|
||||
IDComponent: "formnatunit",
|
||||
Link: "dev/md/natunit/edit",
|
||||
HxTarget: "#" + dialogEditBodyID,
|
||||
HxSwap: "outerHTML",
|
||||
HxInclude: "#tableID, #paginationID, #searchID, #dialogEditBodyID, #dialogEditID, #" + searchID + ", #currpage" + paginationID,
|
||||
ModalID: dialogEditID,
|
||||
ModalTitle: "New - Unit",
|
||||
DialogBody: dialogEditBodyCmp,
|
||||
DialogAction: modalActionEditCmp,
|
||||
ButtonCLose: btnCloseModalEdit,
|
||||
},
|
||||
)
|
||||
|
||||
// content, css, js
|
||||
content := dev_mdnatunitview.MdNatUnitScreen(
|
||||
tableID,
|
||||
@@ -190,11 +246,14 @@ func (nh *MdNatUnitHandler) HandleShowMdNatUnitScreen(c echo.Context) error {
|
||||
searchID,
|
||||
dialogAddID,
|
||||
dialogAddBodyID,
|
||||
dialogEditID,
|
||||
dialogEditBodyID,
|
||||
breadcrumbComponent,
|
||||
tableComponent,
|
||||
natUnitFilterComponent,
|
||||
natUnitPaginationComponent,
|
||||
modalAddFormComponent,
|
||||
modalEditFormComponent,
|
||||
)
|
||||
css := dev_mdnatunitview.CssMdNatUnit()
|
||||
js := dev_mdnatunitview.JsMdNatUnit()
|
||||
@@ -217,6 +276,7 @@ func (nh *MdNatUnitHandler) HandleFilterMdNatUnit(c echo.Context) error {
|
||||
searchID := c.QueryParam("searchID")
|
||||
tableID := c.QueryParam("tableID")
|
||||
paginationID := c.QueryParam("paginationID")
|
||||
dialogEditBodyID := c.QueryParam("dialogEditBodyID")
|
||||
var retval []templ.Component
|
||||
logger, _ := zap.NewProduction()
|
||||
|
||||
@@ -230,7 +290,11 @@ func (nh *MdNatUnitHandler) HandleFilterMdNatUnit(c echo.Context) error {
|
||||
return err
|
||||
}
|
||||
tableComponent := dev_mdnatunitview.TableNatUnit(dataNatUnit,
|
||||
tableID)
|
||||
tableID,
|
||||
"/dev/md/natunit/openedit",
|
||||
"#"+dialogEditBodyID,
|
||||
"outerHTML",
|
||||
"#dialogEditBodyID, #dialogEditID")
|
||||
natUnitPaginationComponent := pagination.PaginationV3(
|
||||
totalpage,
|
||||
1,
|
||||
@@ -253,6 +317,7 @@ func (nh *MdNatUnitHandler) HandlerChangePageMdNatUnit(c echo.Context) error {
|
||||
tableID := c.QueryParam("tableID")
|
||||
searchID := c.QueryParam("searchID")
|
||||
paginationID := c.QueryParam("paginationID")
|
||||
dialogEditBodyID := c.QueryParam("dialogEditBodyID")
|
||||
|
||||
var retval []templ.Component
|
||||
logger, _ := zap.NewProduction()
|
||||
@@ -276,7 +341,12 @@ func (nh *MdNatUnitHandler) HandlerChangePageMdNatUnit(c echo.Context) error {
|
||||
return err
|
||||
}
|
||||
tableComponent := dev_mdnatunitview.TableNatUnit(dataNatUnit,
|
||||
tableID)
|
||||
tableID,
|
||||
"/dev/md/natunit/openedit",
|
||||
"#"+dialogEditBodyID,
|
||||
"outerHTML",
|
||||
"#dialogEditBodyID, #dialogEditID",
|
||||
)
|
||||
natUnitPaginationComponent := pagination.PaginationV3(
|
||||
totalpage,
|
||||
page,
|
||||
@@ -311,7 +381,7 @@ func (nh *MdNatUnitHandler) HandlerCloseFormAdd(c echo.Context) error {
|
||||
Name: "natunitid",
|
||||
Placeholder: "Kode Unit",
|
||||
Type: "hidden", ID: "natunitinputid"},
|
||||
dialogAddBodyID, dev_mdusergroupview.JsHideModal(""))
|
||||
dialogAddBodyID, dev_mdnatunitview.JsHideModal(""))
|
||||
return utils.View(c, newForm)
|
||||
}
|
||||
|
||||
@@ -329,6 +399,7 @@ func (nh *MdNatUnitHandler) HandlerAddNatUnit(c echo.Context) error {
|
||||
currPagePrm := c.FormValue("currpage" + paginationID)
|
||||
dialogAddBodyID := c.FormValue("dialogAddBodyID")
|
||||
dialogAddID := c.FormValue("dialogAddID")
|
||||
dialogEditBodyID := c.FormValue("dialogEditBodyID")
|
||||
|
||||
currPage, err := strconv.Atoi(currPagePrm)
|
||||
if err != nil {
|
||||
@@ -441,6 +512,10 @@ func (nh *MdNatUnitHandler) HandlerAddNatUnit(c echo.Context) error {
|
||||
tableComponent := dev_mdnatunitview.TableNatUnit(
|
||||
dataNatUnitList,
|
||||
tableID,
|
||||
"/dev/md/natunit/openedit",
|
||||
"#"+dialogEditBodyID,
|
||||
"outerHTML",
|
||||
"#dialogEditBodyID, #dialogEditID",
|
||||
)
|
||||
|
||||
// pagination component
|
||||
@@ -484,3 +559,255 @@ func (nh *MdNatUnitHandler) HandlerAddNatUnit(c echo.Context) error {
|
||||
newForm,
|
||||
})
|
||||
}
|
||||
|
||||
func (nh *MdNatUnitHandler) HandlerOpenEditForm(c echo.Context) error {
|
||||
id := c.QueryParam("id")
|
||||
dialogEditID := c.QueryParam("dialogEditID")
|
||||
dialogEditBodyID := c.QueryParam("dialogEditBodyID")
|
||||
|
||||
dataNatUnit, err := nh.MdNatUnitServices.GetMdNatUnitByID(id)
|
||||
if err != nil {
|
||||
newForm := dev_mdnatunitview.BodyFormNatUnit(
|
||||
models.CustomTextFieldv2Prm{
|
||||
Label: "Kode Unit",
|
||||
Name: "natunitcode",
|
||||
Placeholder: "Kode Unit",
|
||||
Type: "text", ID: "natunitinputname"},
|
||||
models.CustomTextFieldv2Prm{
|
||||
Label: "Nama Unit",
|
||||
Name: "natunitname",
|
||||
Placeholder: "Nama Unit",
|
||||
Type: "text", ID: "natunitinputname"},
|
||||
models.CustomTextFieldv2Prm{
|
||||
Label: "Kode Unit",
|
||||
Name: "natunitid",
|
||||
Placeholder: "Kode Unit",
|
||||
Type: "hidden", ID: "natunitinputid"},
|
||||
dialogEditBodyID, dev_mdnatunitview.JsHideModal(""))
|
||||
return utils.ViewMulti(c, []templ.Component{customtoastv2.CustomToastV2Show("Error", "Get unit error", "danger"), newForm})
|
||||
}
|
||||
newForm := dev_mdnatunitview.BodyFormNatUnit(
|
||||
models.CustomTextFieldv2Prm{
|
||||
Label: "Kode Unit",
|
||||
Name: "natunitcode",
|
||||
Placeholder: "Kode Unit",
|
||||
Value: dataNatUnit.Nat_UnitCode,
|
||||
Type: "text",
|
||||
ID: "natunitinputname"},
|
||||
models.CustomTextFieldv2Prm{
|
||||
Label: "Kode Unit",
|
||||
Name: "natunitname",
|
||||
Placeholder: "Kode Unit",
|
||||
Value: dataNatUnit.Nat_UnitName,
|
||||
Type: "text",
|
||||
ID: "natunitinputname"},
|
||||
models.CustomTextFieldv2Prm{
|
||||
Label: "Kode Unit",
|
||||
Name: "natunitid",
|
||||
Placeholder: "Kode Unit",
|
||||
Value: strconv.Itoa(dataNatUnit.Nat_UnitID),
|
||||
Type: "hidden",
|
||||
ID: "natunitinputid"},
|
||||
|
||||
dialogEditBodyID, dev_mdnatunitview.JsShowModal("#"+dialogEditID))
|
||||
|
||||
return utils.View(c, newForm)
|
||||
}
|
||||
|
||||
func (nh *MdNatUnitHandler) HandlerCloseFormEdit(c echo.Context) error {
|
||||
dialogEditBodyID := c.FormValue("dialogEditBodyID")
|
||||
newForm := dev_mdnatunitview.BodyFormNatUnit(
|
||||
models.CustomTextFieldv2Prm{
|
||||
Label: "Kode Unit",
|
||||
Name: "natunitcode",
|
||||
Placeholder: "Kode Unit",
|
||||
Type: "text", ID: "natunitinputname"},
|
||||
models.CustomTextFieldv2Prm{
|
||||
Label: "Nama Unit",
|
||||
Name: "natunitname",
|
||||
Placeholder: "Nama Unit",
|
||||
Type: "text", ID: "natunitinputname"},
|
||||
models.CustomTextFieldv2Prm{
|
||||
Label: "Kode Unit",
|
||||
Name: "natunitid",
|
||||
Placeholder: "Kode Unit",
|
||||
Type: "hidden", ID: "natunitinputid"},
|
||||
dialogEditBodyID, dev_mdnatunitview.JsHideModal(""))
|
||||
return utils.View(c, newForm)
|
||||
}
|
||||
|
||||
func (nh *MdNatUnitHandler) HandlerEditNatUnit(c echo.Context) error {
|
||||
logger, _ := zap.NewProduction()
|
||||
defer logger.Sync()
|
||||
|
||||
// prm form addnatunit
|
||||
code := c.FormValue("natunitcode")
|
||||
name := c.FormValue("natunitname")
|
||||
id := c.FormValue("natunitid")
|
||||
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")
|
||||
dialogEditID := c.FormValue("dialogEditID")
|
||||
dialogEditBodyID := c.FormValue("dialogEditBodyID")
|
||||
// dialogDeleteBodyID := c.FormValue("dialogDeleteBodyID")
|
||||
|
||||
currPage, err := strconv.Atoi(currPagePrm)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
logger.Info("ADD NAT UNIT PARAM",
|
||||
zap.Any("code", code),
|
||||
zap.Any("nama", name),
|
||||
zap.Any("tableid", tableID),
|
||||
zap.Any("search", search),
|
||||
zap.Any("currpage", currPage),
|
||||
)
|
||||
|
||||
formValidation := ""
|
||||
codeValidation := ""
|
||||
nameValidation := ""
|
||||
if strings.TrimSpace(code) == "" {
|
||||
formValidation = "Code unit tidak boleh kosong"
|
||||
codeValidation = "Code unit tidak boleh kosong"
|
||||
nameValidation = ""
|
||||
}
|
||||
if strings.TrimSpace(name) == "" {
|
||||
formValidation = "Nama unit tidak boleh kosong"
|
||||
codeValidation = ""
|
||||
nameValidation = "Nama unit tidak boleh kosong"
|
||||
}
|
||||
if strings.TrimSpace(code) == "" && strings.TrimSpace(name) == "" {
|
||||
formValidation = "Code dan nama unit tidak boleh kosong"
|
||||
codeValidation = "Code unit tidak boleh kosong"
|
||||
nameValidation = "Nama unit tidak boleh kosong"
|
||||
|
||||
}
|
||||
|
||||
if formValidation != "" || codeValidation != "" || nameValidation != "" {
|
||||
newForm := dev_mdnatunitview.BodyFormNatUnit(
|
||||
models.CustomTextFieldv2Prm{
|
||||
Label: "Kode Unit",
|
||||
Name: "natunitcode",
|
||||
Placeholder: "Kode Unit",
|
||||
ErrorMsg: codeValidation,
|
||||
Value: code,
|
||||
Type: "text"},
|
||||
models.CustomTextFieldv2Prm{
|
||||
Label: "Nama Unit",
|
||||
Name: "natunitname",
|
||||
Placeholder: "Nama Unit",
|
||||
ErrorMsg: nameValidation,
|
||||
Value: name,
|
||||
Type: "text"},
|
||||
models.CustomTextFieldv2Prm{
|
||||
Label: "Kode Unit",
|
||||
Name: "natunitid",
|
||||
Placeholder: "Kode Unit",
|
||||
Type: "hidden", ID: "natunitinputid"},
|
||||
dialogEditBodyID, dev_mdnatunitview.JsHideModal(""))
|
||||
return utils.ViewMulti(c, []templ.Component{customtoastv2.CustomToastV2Show("Warning", formValidation, "warning"), newForm})
|
||||
}
|
||||
|
||||
// edit nat unit service
|
||||
dataNatUnit, err := nh.MdNatUnitServices.EditMdNatUnit(id, code, name)
|
||||
if err != nil {
|
||||
logger.Info("Error",
|
||||
zap.Any("Error", err),
|
||||
zap.Any("code", code),
|
||||
zap.Any("name", name),
|
||||
)
|
||||
newForm := dev_mdnatunitview.BodyFormNatUnit(
|
||||
models.CustomTextFieldv2Prm{
|
||||
Label: "Kode Unit",
|
||||
Name: "natunitcode",
|
||||
Placeholder: "Kode Unit",
|
||||
ErrorMsg: codeValidation,
|
||||
Value: code,
|
||||
Type: "text"},
|
||||
models.CustomTextFieldv2Prm{
|
||||
Label: "Nama Unit",
|
||||
Name: "natunitname",
|
||||
Placeholder: "Nama Unit",
|
||||
ErrorMsg: nameValidation,
|
||||
Value: name,
|
||||
Type: "text"},
|
||||
models.CustomTextFieldv2Prm{
|
||||
Label: "Kode Unit",
|
||||
Name: "natunitid",
|
||||
Placeholder: "Kode Unit",
|
||||
Type: "hidden", ID: "natunitinputid"},
|
||||
dialogEditBodyID, dev_mdnatunitview.JsHideModal(""))
|
||||
return utils.ViewMulti(c, []templ.Component{
|
||||
customtoastv2.CustomToastV2Show("Error", err.Error(), "danger"), newForm})
|
||||
}
|
||||
|
||||
logger.Info("ADD NAT UNIT",
|
||||
zap.Any("return", dataNatUnit),
|
||||
zap.Any("code", code),
|
||||
zap.Any("name", name),
|
||||
)
|
||||
|
||||
// get list nat unit for table
|
||||
dataNatUnitList, totalPage, err := nh.MdNatUnitServices.GetListMdNatUnit(search, currPage, 5)
|
||||
if err != nil {
|
||||
defer logger.Sync()
|
||||
logger.Info("ERROR GET NAT UNIT",
|
||||
zap.Any("error", err),
|
||||
)
|
||||
fmt.Println(dataNatUnit)
|
||||
return err
|
||||
}
|
||||
|
||||
// table component
|
||||
tableComponent := dev_mdnatunitview.TableNatUnit(
|
||||
dataNatUnitList,
|
||||
tableID,
|
||||
"/dev/md/natunit/openedit",
|
||||
"#"+dialogEditBodyID,
|
||||
"outerHTML",
|
||||
"#dialogEditBodyID, #dialogEditID",
|
||||
)
|
||||
|
||||
// pagination component
|
||||
natUnitPaginationComponent := pagination.PaginationV3(
|
||||
totalPage,
|
||||
currPage,
|
||||
"/dev/md/natunit/changepage",
|
||||
paginationID,
|
||||
"#tableID, #searchID, #"+searchID+", #paginationID, #dialogEditBodyID, #dialogEditID",
|
||||
"#"+paginationID,
|
||||
"outerHTML", "", "true",
|
||||
dev_mdnatunitview.BeforeRequestContent(),
|
||||
dev_mdnatunitview.AfterRequestContent(),
|
||||
)
|
||||
|
||||
var retVal []templ.Component
|
||||
newForm := dev_mdnatunitview.BodyFormNatUnit(
|
||||
models.CustomTextFieldv2Prm{
|
||||
Label: "Kode Unit",
|
||||
Name: "natunitcode",
|
||||
Placeholder: "Kode Unit",
|
||||
ErrorMsg: codeValidation,
|
||||
Type: "text"},
|
||||
models.CustomTextFieldv2Prm{
|
||||
Label: "Nama Unit",
|
||||
Name: "natunitname",
|
||||
Placeholder: "Nama Unit",
|
||||
ErrorMsg: nameValidation,
|
||||
Type: "text"},
|
||||
models.CustomTextFieldv2Prm{
|
||||
Label: "Kode Unit",
|
||||
Name: "natunitid",
|
||||
Placeholder: "Kode Unit",
|
||||
Type: "hidden", ID: "natunitinputid"},
|
||||
dialogEditBodyID, dev_mdnatunitview.JsHideModal("#"+dialogEditID))
|
||||
toastSuccess := customtoastv2.CustomToastV2Show("Success", "Berhasil edit Unit "+name, "success")
|
||||
retVal = append(retVal, toastSuccess)
|
||||
retVal = append(retVal, tableComponent)
|
||||
retVal = append(retVal, natUnitPaginationComponent)
|
||||
retVal = append(retVal, newForm)
|
||||
return utils.ViewMulti(c, retVal)
|
||||
}
|
||||
|
||||
@@ -255,4 +255,7 @@ func SetupRoutesDev(app *echo.Echo, appStore db.AppStore) {
|
||||
dev.GET("/md/natunit/changepage", devMdNatUnitHandlers.HandlerChangePageMdNatUnit)
|
||||
dev.POST("/md/natunit/closeaddform", devMdNatUnitHandlers.HandlerCloseFormAdd)
|
||||
dev.POST("/md/natunit/add", devMdNatUnitHandlers.HandlerAddNatUnit)
|
||||
dev.GET("/md/natunit/openedit", devMdNatUnitHandlers.HandlerOpenEditForm)
|
||||
dev.POST("/md/natunit/closeeditform", devMdNatUnitHandlers.HandlerCloseFormEdit)
|
||||
dev.POST("/md/natunit/edit", devMdNatUnitHandlers.HandlerEditNatUnit)
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user