add delete func + dialog
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"
|
||||
"cpone/services"
|
||||
"cpone/utils"
|
||||
@@ -21,6 +22,8 @@ import (
|
||||
type MDNonlabTemplateServices interface {
|
||||
GetMDNonLabTemplateBreadcrumb() (models.BreadCrumbV1, error)
|
||||
GetListNonlabTemplate(search string, currentPage int, rowPerPage int) ([]models.MDNonlabTemplate, int, error)
|
||||
GetMDNonlabTemplateByID(id string) (models.MDNonlabTemplate, error)
|
||||
DeleteDataNonlabTemplate(id string) (models.MDNonlabTemplate, error)
|
||||
}
|
||||
|
||||
type MDNonlabTemplateHandler struct {
|
||||
@@ -122,6 +125,59 @@ func (nlt *MDNonlabTemplateHandler) HandleShowNonlabTemplateScreen(c echo.Contex
|
||||
)
|
||||
|
||||
// dialog delete
|
||||
dialogDeleteCmp := dev_mdnonlabtemplateview.BodyFormMDNonlabTemplate(
|
||||
dialogDeleteBodyID,
|
||||
models.CustomTextFieldv2Prm{
|
||||
Label: "ID Nonlab Template",
|
||||
Name: "nonlabtemplateid",
|
||||
Placeholder: "ID Nonlab Template",
|
||||
Type: "hidden",
|
||||
ID: "nonlabtemplateinputid",
|
||||
},
|
||||
models.CustomTextFieldv2Prm{
|
||||
Label: "Name Nonlab Template",
|
||||
Name: "nonlabtemplatename",
|
||||
Placeholder: "Nama Nonlab Template",
|
||||
Type: "text",
|
||||
ID: "nonlabtemplateinputname",
|
||||
},
|
||||
models.CustomCheckboxv1Prm{
|
||||
Name: "nonlabtemplateflag",
|
||||
ID: "nonlabtemplateinputname",
|
||||
Text: "Template Fisik",
|
||||
Value: "N",
|
||||
},
|
||||
dev_mdnonlabtemplateview.JSHideModal(""),
|
||||
)
|
||||
|
||||
modalActionDeleteComp := dev_mdnonlabtemplateview.ActionFormNonlabTemplateDelete(
|
||||
"/dev/md/nonlabtemplate/closedeleteform",
|
||||
"#"+dialogDeleteBodyID,
|
||||
"outerHTML",
|
||||
"#"+dialogDeleteID,
|
||||
)
|
||||
|
||||
btnCloseModalDelete := dev_mdnonlabtemplateview.BtnCloseFormMDNonlabTmplt(
|
||||
"/dev/md/nonlabtemplate/closedeleteform",
|
||||
"#"+dialogDeleteBodyID,
|
||||
"outerHTML",
|
||||
"#"+dialogDeleteID,
|
||||
)
|
||||
|
||||
modalDeleteFormComponent := dev_mdnonlabtemplateview.MDNonlabTmpltForm(
|
||||
models.MDNonlabTemplateForm{
|
||||
IDComponent: "formnonlabtemplate",
|
||||
Link: "/dev/md/nonlabtemplate/delete",
|
||||
HxTarget: "#" + dialogDeleteBodyID,
|
||||
HxSwap: "outerHTML",
|
||||
HxInclude: "#tableID, #paginationID, #searchID, #dialogDeleteBodyID, #dialogDeleteID, #dialogEditBodyID, #" + searchID + ", #currpage" + paginationID,
|
||||
ModalID: dialogDeleteID,
|
||||
ModalTitle: "Delete - Non Lab Template",
|
||||
DialogBody: dialogDeleteCmp,
|
||||
DialogAction: modalActionDeleteComp,
|
||||
ButtonClose: btnCloseModalDelete,
|
||||
},
|
||||
)
|
||||
|
||||
content := dev_mdnonlabtemplateview.MdNonlabTemplateScreen(
|
||||
tableID,
|
||||
@@ -137,6 +193,7 @@ func (nlt *MDNonlabTemplateHandler) HandleShowNonlabTemplateScreen(c echo.Contex
|
||||
tableFilter,
|
||||
tableComp,
|
||||
tablePagination,
|
||||
modalDeleteFormComponent,
|
||||
)
|
||||
|
||||
css := dev_mdnonlabtemplateview.CSSmdnontemplate()
|
||||
@@ -253,3 +310,131 @@ func (nlt *MDNonlabTemplateHandler) HandleNonlabTempltPagination(c echo.Context)
|
||||
retval = append(retval, tablePagination)
|
||||
return utils.ViewMulti(c, retval)
|
||||
}
|
||||
|
||||
func (nlt *MDNonlabTemplateHandler) HandleOpenFormDelete(c echo.Context) error {
|
||||
id := c.QueryParam("id")
|
||||
dialogDeleteID := c.QueryParam("dialogDeleteID")
|
||||
dialogDeleteBodyID := c.QueryParam("dialogDeleteBodyID")
|
||||
|
||||
dataMDNLT, err := nlt.MDNonlabTemplateServices.GetMDNonlabTemplateByID(id)
|
||||
if err != nil {
|
||||
newForm := dev_mdnonlabtemplateview.DeleteKonfirmasiBody(
|
||||
models.CustomTextFieldv2Prm{Name: "nonlabtemplateid", Type: "hidden", Value: "0"},
|
||||
dialogDeleteBodyID,
|
||||
"Apakah anda yakin menghapus non lab template berikut ?",
|
||||
[]string{"NAME"},
|
||||
[]string{""},
|
||||
dev_mdnonlabtemplateview.JSHideModal(""),
|
||||
)
|
||||
return utils.ViewMulti(c, []templ.Component{customtoastv2.CustomToastV2Show("Error", err.Error(), "danger"), newForm})
|
||||
}
|
||||
|
||||
newForm := dev_mdnonlabtemplateview.DeleteKonfirmasiBody(
|
||||
models.CustomTextFieldv2Prm{Name: "nonlabtemplateid", Type: "hidden", Value: strconv.Itoa(dataMDNLT.NonlabTemplateID)},
|
||||
dialogDeleteBodyID,
|
||||
"Apakah anda yakin menghapus non lab template berikut ?",
|
||||
[]string{"NAME"},
|
||||
[]string{dataMDNLT.NonlabTemplateName},
|
||||
dev_mdnonlabtemplateview.JSShowModal("#"+dialogDeleteID),
|
||||
)
|
||||
return utils.View(c, newForm)
|
||||
}
|
||||
|
||||
func (nlt *MDNonlabTemplateHandler) HandleCloseFormDelete(c echo.Context) error {
|
||||
dialogDeleteBodyID := c.FormValue("dialogDeleteBodyID")
|
||||
newForm := dev_mdnonlabtemplateview.DeleteKonfirmasiBody(
|
||||
models.CustomTextFieldv2Prm{Type: "hidden", Value: "0", Name: "nonlabtemplateid"},
|
||||
dialogDeleteBodyID,
|
||||
"Apakah anda yakin menghapus non lab template berikut ?",
|
||||
[]string{"NAME"},
|
||||
[]string{""},
|
||||
dev_mdnonlabtemplateview.JSHideModal(""),
|
||||
)
|
||||
return utils.View(c, newForm)
|
||||
}
|
||||
|
||||
func (nlt *MDNonlabTemplateHandler) HandleDelete(c echo.Context) error {
|
||||
logger, _ := zap.NewProduction()
|
||||
defer logger.Sync()
|
||||
|
||||
id := c.FormValue("nonlabtemplateid")
|
||||
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")
|
||||
dialogDeleteID := c.FormValue("dialogDeleteID")
|
||||
dialogEditBodyID := c.FormValue("dialogEditBodyID")
|
||||
dialogDeleteBodyID := c.FormValue("dialogDeleteBodyID")
|
||||
|
||||
currPage, err := strconv.Atoi(currPagePrm)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
logger.Info("ADD NON LAB TEMPLATE PARAM", zap.Any("tableid", tableID), zap.Any("search", search), zap.Any("currPage", currPage))
|
||||
|
||||
// delete data from db
|
||||
respDel, err := nlt.MDNonlabTemplateServices.DeleteDataNonlabTemplate(id)
|
||||
if err != nil {
|
||||
logger.Info("Error", zap.Any("error", err))
|
||||
newForm := dev_mdnonlabtemplateview.DeleteKonfirmasiBody(
|
||||
models.CustomTextFieldv2Prm{Name: "nonlabtemplateid", Type: "hidden", Value: ""},
|
||||
dialogDeleteBodyID,
|
||||
"Apakah anda yakin menghapus non lab template berikut ?",
|
||||
[]string{"NAME"},
|
||||
[]string{""},
|
||||
dev_mdnonlabtemplateview.JSHideModal(""),
|
||||
)
|
||||
return utils.ViewMulti(c, []templ.Component{customtoastv2.CustomToastV2Show("Error", err.Error(), "danger"), newForm})
|
||||
}
|
||||
logger.Info("Response Delete", zap.Any("Resp", respDel))
|
||||
|
||||
dataNLTList, totalPage, err := nlt.MDNonlabTemplateServices.GetListNonlabTemplate(search, currPage, 5)
|
||||
if err != nil {
|
||||
defer logger.Sync()
|
||||
logger.Info("Error get list data non lab template", zap.Any("error", err))
|
||||
return err
|
||||
}
|
||||
|
||||
tableComp := dev_mdnonlabtemplateview.TableNonlabTmplt(dataNLTList,
|
||||
tableID,
|
||||
"/dev/md/nonlabtemplate/openedit",
|
||||
"#"+dialogEditBodyID,
|
||||
"outerHTML",
|
||||
"#dialogEditBodyID, #dialogEditID, #dialogDeleteBodyID, #dialogDeleteID",
|
||||
"/dev/md/nonlabtemplate/opendelete",
|
||||
"#"+dialogDeleteBodyID,
|
||||
"outerHTML",
|
||||
"#dialogEditBodyID, #dialogEditID, #dialogDeleteBodyID, #dialogDeleteID",
|
||||
)
|
||||
|
||||
paginationTable := pagination.PaginationV3(
|
||||
totalPage,
|
||||
currPage,
|
||||
"/dev/md/nonlabtemplate/changepage",
|
||||
paginationID,
|
||||
"#tableID, #searchID, #"+searchID+", #paginationID, #dialogEditBodyID, #dialogEditID, #dialogDeleteBodyID, #dialogDeleteID",
|
||||
"#"+paginationID,
|
||||
"outerHTML", "", "true",
|
||||
dev_mdnonlabtemplateview.BeforeRequestContent(),
|
||||
dev_mdnonlabtemplateview.AfterRequestContent(),
|
||||
)
|
||||
|
||||
var retVal []templ.Component
|
||||
newForm := dev_mdnonlabtemplateview.DeleteKonfirmasiBody(
|
||||
models.CustomTextFieldv2Prm{Name: "nonlabtemplateid", Type: "hidden", Value: ""},
|
||||
dialogDeleteBodyID,
|
||||
"Apakah anda yakin menghapus non lab template berikut ?",
|
||||
[]string{"NAME"},
|
||||
[]string{""},
|
||||
dev_mdnonlabtemplateview.JSHideModal("#"+dialogDeleteID),
|
||||
)
|
||||
toastSuccess := customtoastv2.CustomToastV2Show("Success", "Berhasil delete non lab template ", "success")
|
||||
retVal = append(retVal, toastSuccess)
|
||||
retVal = append(retVal, tableComp)
|
||||
retVal = append(retVal, paginationTable)
|
||||
retVal = append(retVal, newForm)
|
||||
|
||||
return utils.ViewMulti(c, retVal)
|
||||
}
|
||||
|
||||
@@ -284,6 +284,9 @@ func SetupRoutesDev(app *echo.Echo, appStore db.AppStore) {
|
||||
dev.GET("/md/nonlabtemplate", devMDNonlabTemplateHandlers.HandleShowNonlabTemplateScreen)
|
||||
dev.GET("/md/nonlabtemplate/filter", devMDNonlabTemplateHandlers.HandleFilterNonlabTemplate)
|
||||
dev.GET("/md/nonlabtemplate/changepage", devMDNonlabTemplateHandlers.HandleNonlabTempltPagination)
|
||||
dev.GET("/md/nonlabtemplate/opendelete", devMDNonlabTemplateHandlers.HandleOpenFormDelete)
|
||||
dev.POST("/md/nonlabtemplate/closedeleteform", devMDNonlabTemplateHandlers.HandleCloseFormDelete)
|
||||
dev.POST("/md/nonlabtemplate/delete", devMDNonlabTemplateHandlers.HandleDelete)
|
||||
|
||||
// masterdata nat unit
|
||||
devMdNatUnitServices := dev_services.NewMdNatUnitServices(appStore)
|
||||
|
||||
Reference in New Issue
Block a user