add delete & pilih detail + bug target item row di modal

This commit is contained in:
2024-06-07 08:23:31 +07:00
parent 709fcb316d
commit 7f32ac1c1c
9 changed files with 820 additions and 84 deletions

View File

@@ -28,9 +28,10 @@ type MDNonlabTemplateServices interface {
AddNonlabTemplate(nama string, fisik string) (models.MDNonlabTemplate, error)
UpdateNonlabTemplate(id string, nama string, fisik string) (models.MDNonlabTemplate, error)
GetIDNonlabTemplate(name string) (int, error)
GetDetailByIDNonlabTemplate(id string) (models.NonlabTemplateDetail, error)
GetDetailByID(id string) (models.NonlabTemplateDetail, error)
ListDetailByIDNonlabTemplate(id string) ([]models.NonlabTemplateDetail, error)
AddDetailNonlabTemplate(idnonlab string, kode string, name string, flagActive string) (models.NonlabTemplateDetail, error)
AddDetailNonlabTemplate(idnonlab string, kode string, name string, flagActive string) ([]models.NonlabTemplateDetail, error)
DeleteDetailNonlabTemplate(id string) ([]models.NonlabTemplateDetail, error)
}
type MDNonlabTemplateHandler struct {
@@ -56,6 +57,10 @@ func (nlt *MDNonlabTemplateHandler) HandleShowNonlabTemplateScreen(c echo.Contex
dialogDeleteID := utils.GenerateRandomID("dialogdeleteid")
dialogDeleteBodyID := utils.GenerateRandomID("dialogdeletebodyid")
tableDetailID := utils.GenerateRandomID("tabledetailid")
detailEditID := utils.GenerateRandomID("detaileditid")
detailDeleteID := utils.GenerateRandomID("detaildeleteid")
dataMenu, err := services.GetMenu()
if err != nil {
fmt.Println(dataMenu)
@@ -132,6 +137,19 @@ func (nlt *MDNonlabTemplateHandler) HandleShowNonlabTemplateScreen(c echo.Contex
)
// dialog add
var detailData []models.NonlabTemplateDetail
tableDetail := dev_mdnonlabtemplateview.TableDetail(detailData,
tableDetailID,
"/dev/md/nonlabtemplate/pilihdetail",
"#"+detailEditID,
"outerHTML",
"#detailEditID, #detailDeleteID",
"/dev/md/nonlabtemplate/deletedetail",
"#"+detailDeleteID,
"outerHTML",
"#detailEditID, #detailDeleteID",
)
dialogAddBody := dev_mdnonlabtemplateview.BodyFormMDNonlabTemplate(
dialogAddBodyID,
models.CustomTextFieldv2Prm{
@@ -167,16 +185,17 @@ func (nlt *MDNonlabTemplateHandler) HandleShowNonlabTemplateScreen(c echo.Contex
"/dev/md/nonlabtemplate/simpanama",
"#"+dialogAddBodyID,
"outerHTML",
"#"+dialogAddID,
"#tableID, #paginationID, #searchID, #dialogAddBodyID, #dialogAddID, #dialogDeleteBodyID, #dialogDeleteID, #dialogEditBodyID, #"+searchID+", #currpage"+paginationID,
false,
"#tableID, #paginationID, #searchID, #tableDetailID, #detailEditID, #detailDeleteID, #dialogAddBodyID, #dialogAddID, #dialogDeleteBodyID, #dialogDeleteID, #dialogEditBodyID, #"+searchID+", #currpage"+paginationID,
),
dev_mdnonlabtemplateview.BtnAddDetail(
"/dev/md/nonlabtemplate/adddetail",
"#"+dialogAddBodyID,
"outerHTML",
"#"+dialogAddID,
"#tableID, #paginationID, #searchID, #dialogAddBodyID, #dialogAddID, #dialogDeleteBodyID, #dialogDeleteID, #dialogEditBodyID, #"+searchID+", #currpage"+paginationID,
"#tableID, #paginationID, #searchID, #tableDetailID, #detailEditID, #detailDeleteID, #dialogAddBodyID, #dialogAddID, #dialogDeleteBodyID, #dialogDeleteID, #dialogEditBodyID, #"+searchID+", #currpage"+paginationID,
),
tableDetail,
dev_mdnonlabtemplateview.JSShowModal(""),
)
dialogAddBtn := dev_mdnonlabtemplateview.ActionFormMDNonlabTmplt(
@@ -197,7 +216,7 @@ func (nlt *MDNonlabTemplateHandler) HandleShowNonlabTemplateScreen(c echo.Contex
Link: "/dev/md/nonlabtemplate/add",
HxTarget: "#" + dialogAddBodyID,
HxSwap: "outerHTML",
HxInclude: "#tableID, #paginationID, #searchID, #dialogDeleteBodyID, #dialogDeleteID, #dialogEditBodyID, #" + searchID + ", #currpage" + paginationID,
HxInclude: "#tableID, #paginationID, #searchID, #tableDetailID, #detailEditID, #detailDeleteID, #dialogAddBodyID, #dialogAddID, #dialogDeleteBodyID, #dialogDeleteID, #dialogEditBodyID, #" + searchID + ", #currpage" + paginationID,
ModalID: dialogAddID,
ModalTitle: "New - Nonlab Template",
DialogBody: dialogAddBody,
@@ -254,6 +273,9 @@ func (nlt *MDNonlabTemplateHandler) HandleShowNonlabTemplateScreen(c echo.Contex
dialogEditBodyID,
dialogDeleteID,
dialogDeleteBodyID,
tableDetailID,
detailEditID,
detailDeleteID,
breadcrumbComp,
tableFilter,
tableComp,
@@ -513,6 +535,22 @@ func (nlt *MDNonlabTemplateHandler) HandleCloseFormAdd(c echo.Context) error {
dialogAddID := c.FormValue("dialogAddID")
searchID := c.FormValue("searchID")
paginationID := c.FormValue("paginationID")
tableDetailID := c.FormValue("tableDetailID")
detailEditID := c.FormValue("detailEditID")
detailDeleteID := c.FormValue("detailDeleteID")
var detailData []models.NonlabTemplateDetail
tableDetail := dev_mdnonlabtemplateview.TableDetail(detailData,
tableDetailID,
"/dev/md/nonlabtemplate/pilihdetail",
"#"+detailEditID,
"outerHTML",
"#detailEditID, #detailDeleteID",
"/dev/md/nonlabtemplate/deletedetail",
"#"+detailDeleteID,
"outerHTML",
"#detailEditID, #detailDeleteID",
)
dialogAddBody := dev_mdnonlabtemplateview.BodyFormMDNonlabTemplate(
dialogAddBodyID,
@@ -549,16 +587,17 @@ func (nlt *MDNonlabTemplateHandler) HandleCloseFormAdd(c echo.Context) error {
"/dev/md/nonlabtemplate/simpanama",
"#"+dialogAddBodyID,
"outerHTML",
"#"+dialogAddID,
"#tableID, #paginationID, #searchID, #dialogAddBodyID, #dialogAddID, #dialogDeleteBodyID, #dialogDeleteID, #dialogEditBodyID, #"+searchID+", #currpage"+paginationID,
false,
"#tableID, #paginationID, #searchID, #tableDetailID, #detailEditID, #detailDeleteID, #dialogAddBodyID, #dialogAddID, #dialogDeleteBodyID, #dialogDeleteID, #dialogEditBodyID, #"+searchID+", #currpage"+paginationID,
),
dev_mdnonlabtemplateview.BtnAddDetail(
"/dev/md/nonlabtemplate/adddetail",
"#"+dialogAddBodyID,
"outerHTML",
"#"+dialogAddID,
"#tableID, #paginationID, #searchID, #dialogAddBodyID, #dialogAddID, #dialogDeleteBodyID, #dialogDeleteID, #dialogEditBodyID, #"+searchID+", #currpage"+paginationID,
"#tableID, #paginationID, #searchID, #tableDetailID, #detailEditID, #detailDeleteID, #dialogAddBodyID, #dialogAddID, #dialogDeleteBodyID, #dialogDeleteID, #dialogEditBodyID, #"+searchID+", #currpage"+paginationID,
),
tableDetail,
dev_mdnonlabtemplateview.JSHideModal("#"+dialogAddID),
)
return utils.View(c, dialogAddBody)
@@ -570,10 +609,21 @@ func (nlt *MDNonlabTemplateHandler) HandleSimpanNama(c echo.Context) error {
dialogAddID := c.FormValue("dialogAddID")
searchID := c.FormValue("searchID")
paginationID := c.FormValue("paginationID")
tableDetailID := c.FormValue("tableDetailID")
detailEditID := c.FormValue("detailEditID")
detailDeleteID := c.FormValue("detailDeleteID")
fisik := c.FormValue("nonlabtemplatefisik")
name := c.FormValue("nonlabtemplatename")
id := c.FormValue("nonlabtemplateid")
var detailData []models.NonlabTemplateDetail
var respAdd models.MDNonlabTemplate
var err error
if id != "" {
detailData, err = nlt.MDNonlabTemplateServices.ListDetailByIDNonlabTemplate(id)
logger.Info("error get id", zap.Any("err", err))
}
flagFisik := "N"
if fisik == "on" {
@@ -589,6 +639,17 @@ func (nlt *MDNonlabTemplateHandler) HandleSimpanNama(c echo.Context) error {
}
if formValidation != "" || namaValidation != "" {
tableDetail := dev_mdnonlabtemplateview.TableDetail(detailData,
tableDetailID,
"/dev/md/nonlabtemplate/pilihdetail",
"#"+detailEditID,
"outerHTML",
"#detailEditID, #detailDeleteID",
"/dev/md/nonlabtemplate/deletedetail",
"#"+detailDeleteID,
"outerHTML",
"#detailEditID, #detailDeleteID",
)
nf := dev_mdnonlabtemplateview.BodyFormMDNonlabTemplate(
dialogAddBodyID,
models.CustomTextFieldv2Prm{
@@ -627,25 +688,23 @@ func (nlt *MDNonlabTemplateHandler) HandleSimpanNama(c echo.Context) error {
"/dev/md/nonlabtemplate/simpanama",
"#"+dialogAddBodyID,
"outerHTML",
"#"+dialogAddID,
"#tableID, #paginationID, #searchID, #dialogAddBodyID, #dialogAddID, #dialogDeleteBodyID, #dialogDeleteID, #dialogEditBodyID, #"+searchID+", #currpage"+paginationID,
false,
"#tableID, #paginationID, #searchID, #tableDetailID, #detailEditID, #detailDeleteID, #dialogAddBodyID, #dialogAddID, #dialogDeleteBodyID, #dialogDeleteID, #dialogEditBodyID, #"+searchID+", #currpage"+paginationID,
),
dev_mdnonlabtemplateview.BtnAddDetail(
"/dev/md/nonlabtemplate/adddetail",
"#"+dialogAddBodyID,
"outerHTML",
"#"+dialogAddID,
"#tableID, #paginationID, #searchID, #dialogAddBodyID, #dialogAddID, #dialogDeleteBodyID, #dialogDeleteID, #dialogEditBodyID, #"+searchID+", #currpage"+paginationID,
"#tableID, #paginationID, #searchID, #tableDetailID, #detailEditID, #detailDeleteID, #dialogAddBodyID, #dialogAddID, #dialogDeleteBodyID, #dialogDeleteID, #dialogEditBodyID, #"+searchID+", #currpage"+paginationID,
),
tableDetail,
dev_mdnonlabtemplateview.JSShowModal(""),
)
toast := customtoastv2.CustomToastV2Show("Warning", formValidation, "warning")
return utils.ViewMulti(c, []templ.Component{toast, nf})
}
var respAdd models.MDNonlabTemplate
var err error
if id != "" {
respAdd, err = nlt.MDNonlabTemplateServices.UpdateNonlabTemplate(id, name, flagFisik)
} else {
@@ -692,15 +751,26 @@ func (nlt *MDNonlabTemplateHandler) HandleSimpanNama(c echo.Context) error {
"/dev/md/nonlabtemplate/simpanama",
"#"+dialogAddBodyID,
"outerHTML",
"#"+dialogAddID,
"#tableID, #paginationID, #searchID, #dialogAddBodyID, #dialogAddID, #dialogDeleteBodyID, #dialogDeleteID, #dialogEditBodyID, #"+searchID+", #currpage"+paginationID,
false,
"#tableID, #paginationID, #searchID, #tableDetailID, #detailEditID, #detailDeleteID, #dialogAddBodyID, #dialogAddID, #dialogDeleteBodyID, #dialogDeleteID, #dialogEditBodyID, #"+searchID+", #currpage"+paginationID,
),
dev_mdnonlabtemplateview.BtnAddDetail(
"/dev/md/nonlabtemplate/adddetail",
"#"+dialogAddBodyID,
"outerHTML",
"#"+dialogAddID,
"#tableID, #paginationID, #searchID, #dialogAddBodyID, #dialogAddID, #dialogDeleteBodyID, #dialogDeleteID, #dialogEditBodyID, #"+searchID+", #currpage"+paginationID,
"#tableID, #paginationID, #searchID, #tableDetailID, #detailEditID, #detailDeleteID, #dialogAddBodyID, #dialogAddID, #dialogDeleteBodyID, #dialogDeleteID, #dialogEditBodyID, #"+searchID+", #currpage"+paginationID,
),
dev_mdnonlabtemplateview.TableDetail(detailData,
tableDetailID,
"/dev/md/nonlabtemplate/pilihdetail",
"#"+detailEditID,
"outerHTML",
"#detailEditID, #detailDeleteID",
"/dev/md/nonlabtemplate/deletedetail",
"#"+detailDeleteID,
"outerHTML",
"#detailEditID, #detailDeleteID",
),
dev_mdnonlabtemplateview.JSShowModal(""),
)
@@ -746,15 +816,26 @@ func (nlt *MDNonlabTemplateHandler) HandleSimpanNama(c echo.Context) error {
"/dev/md/nonlabtemplate/simpanama",
"#"+dialogAddBodyID,
"outerHTML",
"#"+dialogAddID,
"#tableID, #paginationID, #searchID, #dialogAddBodyID, #dialogAddID, #dialogDeleteBodyID, #dialogDeleteID, #dialogEditBodyID, #"+searchID+", #currpage"+paginationID,
true,
"#tableID, #paginationID, #searchID, #tableDetailID, #detailEditID, #detailDeleteID, #dialogAddBodyID, #dialogAddID, #dialogDeleteBodyID, #dialogDeleteID, #dialogEditBodyID, #"+searchID+", #currpage"+paginationID,
),
dev_mdnonlabtemplateview.BtnAddDetail(
"/dev/md/nonlabtemplate/adddetail",
"#"+dialogAddBodyID,
"outerHTML",
"#"+dialogAddID,
"#tableID, #paginationID, #searchID, #dialogAddBodyID, #dialogAddID, #dialogDeleteBodyID, #dialogDeleteID, #dialogEditBodyID, #"+searchID+", #currpage"+paginationID,
"#tableID, #paginationID, #searchID, #tableDetailID, #detailEditID, #detailDeleteID, #dialogAddBodyID, #dialogAddID, #dialogDeleteBodyID, #dialogDeleteID, #dialogEditBodyID, #"+searchID+", #currpage"+paginationID,
),
dev_mdnonlabtemplateview.TableDetail(detailData,
tableDetailID,
"/dev/md/nonlabtemplate/pilihdetail",
"#"+detailEditID,
"outerHTML",
"#detailEditID, #detailDeleteID",
"/dev/md/nonlabtemplate/deletedetail",
"#"+detailDeleteID,
"outerHTML",
"#detailEditID, #detailDeleteID",
),
dev_mdnonlabtemplateview.JSShowModal(""),
)
@@ -777,6 +858,9 @@ func (nlt *MDNonlabTemplateHandler) HandleAddDetail(c echo.Context) error {
dialogAddID := c.FormValue("dialogAddID")
searchID := c.FormValue("searchID")
paginationID := c.FormValue("paginationID")
tableDetailID := c.FormValue("tableDetailID")
detailEditID := c.FormValue("detailEditID")
detailDeleteID := c.FormValue("detailDeleteID")
id := c.FormValue("nonlabtemplateid")
template := c.FormValue("nonlabtemplatename")
@@ -785,6 +869,9 @@ func (nlt *MDNonlabTemplateHandler) HandleAddDetail(c echo.Context) error {
kode := c.FormValue("nltdetailkode")
name := c.FormValue("nltdetailname")
var detailData []models.NonlabTemplateDetail
var err error
if fisik == "Y" {
fisik = "on"
} else {
@@ -855,15 +942,26 @@ func (nlt *MDNonlabTemplateHandler) HandleAddDetail(c echo.Context) error {
"/dev/md/nonlabtemplate/simpanama",
"#"+dialogAddBodyID,
"outerHTML",
"#"+dialogAddID,
"#tableID, #paginationID, #searchID, #dialogAddBodyID, #dialogAddID, #dialogDeleteBodyID, #dialogDeleteID, #dialogEditBodyID, #"+searchID+", #currpage"+paginationID,
true,
"#tableID, #paginationID, #searchID, #tableDetailID, #detailEditID, #detailDeleteID, #dialogAddBodyID, #dialogAddID, #dialogDeleteBodyID, #dialogDeleteID, #dialogEditBodyID, #"+searchID+", #currpage"+paginationID,
),
dev_mdnonlabtemplateview.BtnAddDetail(
"/dev/md/nonlabtemplate/adddetail",
"#"+dialogAddBodyID,
"outerHTML",
"#"+dialogAddID,
"#tableID, #paginationID, #searchID, #dialogAddBodyID, #dialogAddID, #dialogDeleteBodyID, #dialogDeleteID, #dialogEditBodyID, #"+searchID+", #currpage"+paginationID,
"#tableID, #paginationID, #searchID, #tableDetailID, #detailEditID, #detailDeleteID, #dialogAddBodyID, #dialogAddID, #dialogDeleteBodyID, #dialogDeleteID, #dialogEditBodyID, #"+searchID+", #currpage"+paginationID,
),
dev_mdnonlabtemplateview.TableDetail(detailData,
tableDetailID,
"/dev/md/nonlabtemplate/pilihdetail",
"#"+detailEditID,
"outerHTML",
"#detailEditID, #detailDeleteID",
"/dev/md/nonlabtemplate/deletedetail",
"#"+detailDeleteID,
"outerHTML",
"#detailEditID, #detailDeleteID",
),
dev_mdnonlabtemplateview.JSShowModal(""),
)
@@ -914,15 +1012,26 @@ func (nlt *MDNonlabTemplateHandler) HandleAddDetail(c echo.Context) error {
"/dev/md/nonlabtemplate/simpanama",
"#"+dialogAddBodyID,
"outerHTML",
"#"+dialogAddID,
"#tableID, #paginationID, #searchID, #dialogAddBodyID, #dialogAddID, #dialogDeleteBodyID, #dialogDeleteID, #dialogEditBodyID, #"+searchID+", #currpage"+paginationID,
true,
"#tableID, #paginationID, #searchID, #tableDetailID, #detailEditID, #detailDeleteID, #dialogAddBodyID, #dialogAddID, #dialogDeleteBodyID, #dialogDeleteID, #dialogEditBodyID, #"+searchID+", #currpage"+paginationID,
),
dev_mdnonlabtemplateview.BtnAddDetail(
"/dev/md/nonlabtemplate/adddetail",
"#"+dialogAddBodyID,
"outerHTML",
"#"+dialogAddID,
"#tableID, #paginationID, #searchID, #dialogAddBodyID, #dialogAddID, #dialogDeleteBodyID, #dialogDeleteID, #dialogEditBodyID, #"+searchID+", #currpage"+paginationID,
"#tableID, #paginationID, #searchID, #tableDetailID, #detailEditID, #detailDeleteID, #dialogAddBodyID, #dialogAddID, #dialogDeleteBodyID, #dialogDeleteID, #dialogEditBodyID, #"+searchID+", #currpage"+paginationID,
),
dev_mdnonlabtemplateview.TableDetail(detailData,
tableDetailID,
"/dev/md/nonlabtemplate/pilihdetail",
"#"+detailEditID,
"outerHTML",
"#detailEditID, #detailDeleteID",
"/dev/md/nonlabtemplate/deletedetail",
"#"+detailDeleteID,
"outerHTML",
"#detailEditID, #detailDeleteID",
),
dev_mdnonlabtemplateview.JSShowModal(""),
)
@@ -968,18 +1077,119 @@ func (nlt *MDNonlabTemplateHandler) HandleAddDetail(c echo.Context) error {
"/dev/md/nonlabtemplate/simpanama",
"#"+dialogAddBodyID,
"outerHTML",
"#"+dialogAddID,
"#tableID, #paginationID, #searchID, #dialogAddBodyID, #dialogAddID, #dialogDeleteBodyID, #dialogDeleteID, #dialogEditBodyID, #"+searchID+", #currpage"+paginationID,
true,
"#tableID, #paginationID, #searchID, #tableDetailID, #detailEditID, #detailDeleteID, #dialogAddBodyID, #dialogAddID, #dialogDeleteBodyID, #dialogDeleteID, #dialogEditBodyID, #"+searchID+", #currpage"+paginationID,
),
dev_mdnonlabtemplateview.BtnAddDetail(
"/dev/md/nonlabtemplate/adddetail",
"#"+dialogAddBodyID,
"outerHTML",
"#"+dialogAddID,
"#tableID, #paginationID, #searchID, #dialogAddBodyID, #dialogAddID, #dialogDeleteBodyID, #dialogDeleteID, #dialogEditBodyID, #"+searchID+", #currpage"+paginationID,
"#tableID, #paginationID, #searchID, #tableDetailID, #detailEditID, #detailDeleteID, #dialogAddBodyID, #dialogAddID, #dialogDeleteBodyID, #dialogDeleteID, #dialogEditBodyID, #"+searchID+", #currpage"+paginationID,
),
dev_mdnonlabtemplateview.TableDetail(resp,
tableDetailID,
"/dev/md/nonlabtemplate/pilihdetail",
"#"+detailEditID,
"outerHTML",
"#detailEditID, #detailDeleteID",
"/dev/md/nonlabtemplate/deletedetail",
"#"+detailDeleteID,
"outerHTML",
"#detailEditID, #detailDeleteID",
),
dev_mdnonlabtemplateview.JSShowModal(""),
)
toast := customtoastv2.CustomToastV2Show("Success", "success insert detail "+name, "success")
return utils.ViewMulti(c, []templ.Component{toast, returnBody})
}
func (nlt *MDNonlabTemplateHandler) HandleDeleteDetail(c echo.Context) error {
logger, _ := zap.NewProduction()
defer logger.Sync()
dialogAddBodyID := c.FormValue("dialogAddBodyID")
dialogAddID := c.FormValue("dialogAddID")
searchID := c.FormValue("searchID")
paginationID := c.FormValue("paginationID")
tableDetailID := c.FormValue("tableDetailID")
detailEditID := c.FormValue("detailEditID")
detailDeleteID := c.FormValue("detailDeleteID")
id := c.QueryParam("id")
logger.Info("ID Selected", zap.Any("ID", id))
fisik := c.FormValue("nonlabtemplatefisik")
name := c.FormValue("nonlabtemplatename")
idTemplate := c.FormValue("nonlabtemplateid")
respDel, err := nlt.MDNonlabTemplateServices.DeleteDetailNonlabTemplate(id)
if err != nil {
logger.Error("Error", zap.Any("error", err))
}
logger.Info("Resp Delete", zap.Any("resp", respDel))
nf := dev_mdnonlabtemplateview.BodyFormMDNonlabTemplate(
dialogAddBodyID,
models.CustomTextFieldv2Prm{
Name: "nonlabtemplateid",
ID: "nonlabtemplateinputid",
Type: "hidden",
Value: idTemplate,
},
models.CustomTextFieldv2Prm{
Placeholder: "Nama Template",
Name: "nonlabtemplatename",
ID: "nonlabtemplateinputname",
Type: "text",
Value: name,
},
models.CustomCheckboxv1Prm{
Text: "Template Fisik",
Name: "nonlabtemplatefisik",
ID: "nonlabtemplateinputname",
Value: fisik,
},
models.CustomTextFieldv2Prm{
Placeholder: "Kode",
Name: "nltdetailkode",
ID: "nltdetailinputkode",
Type: "text",
},
models.CustomTextFieldv2Prm{
Placeholder: "Nama Detail",
Name: "nltdetailname",
ID: "nltdetailinputkode",
Type: "text",
},
dev_mdnonlabtemplateview.BtnSimpanNama(
"/dev/md/nonlabtemplate/simpanama",
"#"+dialogAddBodyID,
"outerHTML",
true,
"#tableID, #paginationID, #searchID, #tableDetailID, #detailEditID, #detailDeleteID, #dialogAddBodyID, #dialogAddID, #dialogDeleteBodyID, #dialogDeleteID, #dialogEditBodyID, #"+searchID+", #currpage"+paginationID,
),
dev_mdnonlabtemplateview.BtnAddDetail(
"/dev/md/nonlabtemplate/adddetail",
"#"+dialogAddBodyID,
"outerHTML",
"#"+dialogAddID,
"#tableID, #paginationID, #searchID, #tableDetailID, #detailEditID, #detailDeleteID, #dialogAddBodyID, #dialogAddID, #dialogDeleteBodyID, #dialogDeleteID, #dialogEditBodyID, #"+searchID+", #currpage"+paginationID,
),
dev_mdnonlabtemplateview.TableDetail(respDel,
tableDetailID,
"/dev/md/nonlabtemplate/pilihdetail",
"#"+detailEditID,
"outerHTML",
"#detailEditID, #detailDeleteID",
"/dev/md/nonlabtemplate/deletedetail",
"#"+detailDeleteID,
"outerHTML",
"#detailEditID, #detailDeleteID",
),
dev_mdnonlabtemplateview.JSShowModal(""),
)
toast := customtoastv2.CustomToastV2Show("Success", "Success delete detail", "success")
return utils.ViewMulti(c, []templ.Component{toast, nf})
}

View File

@@ -290,6 +290,7 @@ func SetupRoutesDev(app *echo.Echo, appStore db.AppStore) {
dev.POST("/md/nonlabtemplate/simpanama", devMDNonlabTemplateHandlers.HandleSimpanNama)
dev.POST("/md/nonlabtemplate/closeaddform", devMDNonlabTemplateHandlers.HandleCloseFormAdd)
dev.POST("/md/nonlabtemplate/adddetail", devMDNonlabTemplateHandlers.HandleAddDetail)
dev.POST("/md/nonlabtemplate/deletedetail", devMDNonlabTemplateHandlers.HandleDeleteDetail)
// masterdata nat unit
devMdNatUnitServices := dev_services.NewMdNatUnitServices(appStore)