delete kelainan detail
This commit is contained in:
@@ -29,6 +29,8 @@ type MasterKelainanService interface {
|
||||
DeleteKelainan(id string) (models.Kelainan, error)
|
||||
GetListMasterKelainanDetail(id string, searchdetail string, currentPage int, rowPerPage int) ([]models.KelainanDetail, int, error)
|
||||
AddKelainanDetail(name string, nameclassification string, selectedid string) (models.KelainanDetail, error)
|
||||
GetKelainanDetailByID(id string) (models.KelainanDetail, error)
|
||||
DeleteKelainanDetail(id string) (models.KelainanDetail, error)
|
||||
}
|
||||
|
||||
func NewMasterKelainanHandler(us MasterKelainanService) *MasterKelainanHandler {
|
||||
@@ -57,6 +59,8 @@ func (lh *MasterKelainanHandler) HandlerShowMasterKelainan(c echo.Context) error
|
||||
searchDetailID := utils.GenerateRandomID("searchdetailid")
|
||||
dialogDetailAddID := utils.GenerateRandomID("dialogdetailaddid")
|
||||
dialogDetailAddBodyID := utils.GenerateRandomID("dialogdetailaddbodyid")
|
||||
dialogDetailDeleteID := utils.GenerateRandomID("dialogDetailDeleteID")
|
||||
dialogDetailDeleteBodyID := utils.GenerateRandomID("dialogDetailDeletebodyID")
|
||||
|
||||
// println("cek id param", id)
|
||||
|
||||
@@ -294,9 +298,18 @@ func (lh *MasterKelainanHandler) HandlerShowMasterKelainan(c echo.Context) error
|
||||
},
|
||||
)
|
||||
|
||||
defer logger.Sync()
|
||||
logger.Info("CEK HandlerShowMdKelainanDetailPagination",
|
||||
zap.Any("dialogDetailDeleteBodyID", dialogDetailDeleteBodyID),
|
||||
)
|
||||
|
||||
// component listing table listing kelainan detail
|
||||
contentKelainanDetailCmp := masterkelainan.TableKelainanDetail(
|
||||
dataKelainanDetail, tableDetailID,
|
||||
"/dev/kelainandetail/opendelete",
|
||||
"#"+dialogDetailDeleteBodyID,
|
||||
"outerHTML",
|
||||
"#dialogDetailDeleteBodyID, #dialogDetailDeleteID, #tableDetailID",
|
||||
)
|
||||
|
||||
// filter kelainan detail component
|
||||
@@ -306,7 +319,7 @@ func (lh *MasterKelainanHandler) HandlerShowMasterKelainan(c echo.Context) error
|
||||
"text",
|
||||
"/dev/searchkelainandetail",
|
||||
"input changed delay:500ms, searchdetail",
|
||||
"#"+paginationDetailID, "", "", "none", "#tableDetailID, #paginationDetailID, #searchDetailID, #selectedID")
|
||||
"#"+paginationDetailID, "", "", "none", "#tableDetailID, #paginationDetailID, #searchDetailID, #selectedID, #dialogDetailDeleteBodyID, #dialogDetailDeleteID")
|
||||
|
||||
// pagination kelainan detail component
|
||||
kelainanDetailPaginationCmp := pagination.PaginationV2(
|
||||
@@ -314,7 +327,7 @@ func (lh *MasterKelainanHandler) HandlerShowMasterKelainan(c echo.Context) error
|
||||
1,
|
||||
"/dev/kelainandetailpagination",
|
||||
paginationDetailID,
|
||||
"#tableDetailID, #searchDetailID, #"+searchDetailID+", #paginationDetailID",
|
||||
"#tableDetailID, #searchDetailID, #dialogDetailDeleteBodyID, #dialogDetailDeleteID, #"+searchDetailID+", #paginationDetailID",
|
||||
"#"+paginationDetailID,
|
||||
"outerHTML", "", "",
|
||||
)
|
||||
@@ -359,7 +372,7 @@ func (lh *MasterKelainanHandler) HandlerShowMasterKelainan(c echo.Context) error
|
||||
Link: "/dev/kelainandetail/add",
|
||||
HxTarget: "#" + dialogDetailAddBodyID,
|
||||
HxSwap: "outerHTML",
|
||||
HxInclude: "#selectedID, #tableDetailID, #paginationDetailID, #searchDetailID, #dialogDetailAddBodyID, #dialogDetailAddID, #selectedID #" + searchDetailID + ", #currpage" + paginationDetailID,
|
||||
HxInclude: "#selectedID, #tableDetailID, #paginationDetailID, #searchDetailID, #dialogDetailAddBodyID, #dialogDetailAddID, #selectedID, #dialogDetailDeleteBodyID, #dialogDetailDeleteID, #" + searchDetailID + ", #currpage" + paginationDetailID,
|
||||
ModalID: dialogDetailAddID,
|
||||
ModalTitle: "New - Kelainan",
|
||||
DialogBody: dialogDetailAddBodyCmp,
|
||||
@@ -367,6 +380,55 @@ func (lh *MasterKelainanHandler) HandlerShowMasterKelainan(c echo.Context) error
|
||||
ButtonCLose: dialogDetailAddCloseCmp,
|
||||
})
|
||||
|
||||
// modal delete kelainan detail form
|
||||
dialogDetailDeleteCmp := masterkelainan.BodyFormKelainanDetail(
|
||||
models.CustomTextFieldv2Prm{
|
||||
Label: "Nama Kelainan",
|
||||
Name: "kelainandetailid",
|
||||
Placeholder: "Nama Kelainan",
|
||||
Type: "hidden", ID: "kelainandetailid"},
|
||||
models.CustomTextFieldv2Prm{
|
||||
Label: "Nama Kelainan",
|
||||
Name: "kelainandetailname",
|
||||
Placeholder: "Nama Kelainan",
|
||||
Type: "text", ID: "kelainandetailinputname"},
|
||||
models.SwitchclassPrm{
|
||||
Label: "Dengan Klasifikasi",
|
||||
Type: "checkbox",
|
||||
Checked: "true ",
|
||||
Name: "select",
|
||||
ID: "switchname"},
|
||||
models.CustomTextFieldv2Prm{
|
||||
Label: "Nama Klasifikasi",
|
||||
Name: "classificationname",
|
||||
Placeholder: "Nama Klasifikasi",
|
||||
Type: "text", ID: "classificationinputname"},
|
||||
dialogDetailDeleteBodyID, masterkelainan.JsHideModalDetail(""))
|
||||
modalActionDetailDeleteCmp := masterkelainan.ActionFormKelainanDelete(
|
||||
"/dev/kelainandetail/closedeleteform",
|
||||
"#"+dialogDetailDeleteBodyID,
|
||||
"outerHTML",
|
||||
"#"+dialogDetailDeleteID)
|
||||
btnCloseModalDeleteDetail := masterkelainan.BtnCloseFormKelainanDetail(
|
||||
"/dev/kelainandetail/closedeleteform",
|
||||
"#"+dialogDetailDeleteBodyID,
|
||||
"outerHTML",
|
||||
"#"+dialogDetailDeleteID)
|
||||
modalDetailDeleteFormCmp := masterkelainan.KelainanDetailForm(
|
||||
models.KelainanDetailFormComponent{
|
||||
IDComponent: "formkelainandetail",
|
||||
Link: "/dev/kelainandetail/delete",
|
||||
HxTarget: "#" + dialogDetailDeleteBodyID,
|
||||
HxSwap: "outerHTML",
|
||||
HxInclude: "#tableDetailID, #paginationDetailID, #searchDetail, #dialogDetailDeleteBodyID, #dialogDetailDeleteID, #" + searchDetailID + ", #currpage" + paginationDetailID,
|
||||
ModalID: dialogDetailDeleteID,
|
||||
ModalTitle: "Konfirmasi",
|
||||
DialogBody: dialogDetailDeleteCmp,
|
||||
DialogAction: modalActionDetailDeleteCmp,
|
||||
ButtonCLose: btnCloseModalDeleteDetail,
|
||||
},
|
||||
)
|
||||
|
||||
// content, css, js
|
||||
content := masterkelainan.ContentMasterKelainan(
|
||||
tableID, paginationID, searchID, dialogAddID, dialogAddBodyID,
|
||||
@@ -379,6 +441,8 @@ func (lh *MasterKelainanHandler) HandlerShowMasterKelainan(c echo.Context) error
|
||||
searchDetailID,
|
||||
dialogDetailAddID,
|
||||
dialogDetailAddBodyID,
|
||||
dialogDetailDeleteID,
|
||||
dialogDetailDeleteBodyID,
|
||||
breadcrumbComponent,
|
||||
contentKelainanComponent,
|
||||
kelainanFilterComponent,
|
||||
@@ -389,7 +453,8 @@ func (lh *MasterKelainanHandler) HandlerShowMasterKelainan(c echo.Context) error
|
||||
contentKelainanDetailCmp,
|
||||
kelainanDetailFilterCmp,
|
||||
kelainanDetailPaginationCmp,
|
||||
modaldetailaddcomponent)
|
||||
modaldetailaddcomponent,
|
||||
modalDetailDeleteFormCmp)
|
||||
css := masterkelainan.CssKelainan()
|
||||
js := masterkelainan.JsMdKelainan()
|
||||
|
||||
@@ -1045,6 +1110,8 @@ func (lh *MasterKelainanHandler) HandlerShowMasterKelainanDetail(c echo.Context)
|
||||
tableDetailID := c.QueryParam("tableDetailID")
|
||||
paginationDetailID := c.QueryParam("paginationDetailID")
|
||||
searchDetailID := c.QueryParam("searchDetailID")
|
||||
// dialogDetailDeleteID := c.QueryParam("dialogDetailDeleteID")
|
||||
dialogDetailDeleteBodyID := c.QueryParam("dialogDetailDeleteBodyID")
|
||||
|
||||
logger.Info("tabel paginationDetailID",
|
||||
zap.Any("tabel paginationDetailID", paginationDetailID))
|
||||
@@ -1062,6 +1129,10 @@ func (lh *MasterKelainanHandler) HandlerShowMasterKelainanDetail(c echo.Context)
|
||||
// component listing table listing kelainan detail
|
||||
contentKelainanDetailCmp := masterkelainan.TableKelainanDetail(
|
||||
dataKelainanDetail, tableDetailID,
|
||||
"/dev/kelainandetail/opendelete",
|
||||
"#"+dialogDetailDeleteBodyID,
|
||||
"outerHTML",
|
||||
"#dialogDetailDeleteBodyID, #dialogDetailDeleteID, #tableDetailID",
|
||||
)
|
||||
|
||||
// pagination kelainan detail component
|
||||
@@ -1070,7 +1141,7 @@ func (lh *MasterKelainanHandler) HandlerShowMasterKelainanDetail(c echo.Context)
|
||||
1,
|
||||
"/dev/kelainandetailpagination",
|
||||
paginationDetailID,
|
||||
"#selectedID, #tableDetailID, #searchDetailID, #"+searchDetailID+", #paginationDetailID",
|
||||
"#selectedID, #tableDetailID, #searchDetailID, #dialogDetailDeleteBodyID, #dialogDetailDeleteID, #"+searchDetailID+", #paginationDetailID",
|
||||
"#"+paginationDetailID,
|
||||
"outerHTML", "", "true",
|
||||
)
|
||||
@@ -1086,6 +1157,7 @@ func (lh *MasterKelainanHandler) HandlerShowMdKelainanDetailSearch(c echo.Contex
|
||||
searchDetailID := c.QueryParam("searchDetailID")
|
||||
tableDetailID := c.QueryParam("tableDetailID")
|
||||
paginationDetailID := c.QueryParam("paginationDetailID")
|
||||
dialogDetailDeleteBodyID := c.QueryParam("dialogDetailDeleteBodyID")
|
||||
|
||||
dataKelainanDetail, totalpagedetail, err := lh.MasterKelainanService.GetListMasterKelainanDetail(selectedID, searchdetail, 1, 5)
|
||||
if err != nil {
|
||||
@@ -1103,6 +1175,10 @@ func (lh *MasterKelainanHandler) HandlerShowMdKelainanDetailSearch(c echo.Contex
|
||||
contentKelainanDetailCmp := masterkelainan.TableKelainanDetail(
|
||||
dataKelainanDetail,
|
||||
tableDetailID,
|
||||
"/dev/kelainandetail/opendelete",
|
||||
"#"+dialogDetailDeleteBodyID,
|
||||
"outerHTML",
|
||||
"#dialogDetailDeleteBodyID, #dialogDetailDeleteID, #tableDetailID",
|
||||
)
|
||||
|
||||
kelainanDetailPaginationCmp := pagination.PaginationV2(
|
||||
@@ -1110,7 +1186,7 @@ func (lh *MasterKelainanHandler) HandlerShowMdKelainanDetailSearch(c echo.Contex
|
||||
1,
|
||||
"/dev/kelainandetailpagination",
|
||||
paginationDetailID,
|
||||
"#selectedID, #tableDetailID, #searchDetailID, #"+searchDetailID+", #paginationDetailID",
|
||||
"#selectedID, #tableDetailID, #searchDetailID, #dialogDetailDeleteBodyID, #dialogDetailDeleteID, #"+searchDetailID+", #paginationDetailID",
|
||||
"#"+paginationDetailID, "outerHTML", "", "true",
|
||||
)
|
||||
|
||||
@@ -1128,6 +1204,13 @@ func (lh *MasterKelainanHandler) HandlerShowMdKelainanDetailPagination(c echo.Co
|
||||
searchDetailID := c.QueryParam("searchDetailID")
|
||||
tableDetailID := c.QueryParam("tableDetailID")
|
||||
paginationDetailID := c.QueryParam("paginationDetailID")
|
||||
dialogDetailDeleteBodyID := c.QueryParam("dialogDetailDeleteBodyID")
|
||||
// dialogDetailDeleteID := c.QueryParam("dialogDetailDeleteID")
|
||||
|
||||
// defer logger.Sync()
|
||||
// logger.Info("CEK HandlerShowMdKelainanDetailPagination",
|
||||
// zap.Any("dialogDetailDeleteBodyID", dialogDetailDeleteBodyID),
|
||||
// )
|
||||
|
||||
page, err := strconv.Atoi(pageparamdetail)
|
||||
if err != nil {
|
||||
@@ -1151,13 +1234,17 @@ func (lh *MasterKelainanHandler) HandlerShowMdKelainanDetailPagination(c echo.Co
|
||||
contentKelainanDetailCmp := masterkelainan.TableKelainanDetail(
|
||||
dataKelainanDetail,
|
||||
tableDetailID,
|
||||
"/dev/kelainandetail/opendelete",
|
||||
"#"+dialogDetailDeleteBodyID,
|
||||
"outerHTML",
|
||||
"#dialogDetailDeleteBodyID, #dialogDetailDeleteID, #tableDetailID",
|
||||
)
|
||||
|
||||
kelainanPaginationCmp := pagination.PaginationV2(totalpgaedetail,
|
||||
page,
|
||||
"/dev/kelainandetailpagination",
|
||||
paginationDetailID,
|
||||
"#selectedID, #tableDetailID, #searchDetailID, #"+searchDetailID+", #paginationDetailID",
|
||||
"#selectedID, #tableDetailID, #searchDetailID, #dialogDetailDeleteBodyID, #dialogDetailDeleteID, #"+searchDetailID+", #paginationDetailID",
|
||||
"#"+paginationDetailID, "outerHTML", "", "",
|
||||
)
|
||||
|
||||
@@ -1181,6 +1268,7 @@ func (lh *MasterKelainanHandler) HandlerAddKelainanDetail(c echo.Context) error
|
||||
currPagePrmDetail := c.FormValue("currpage" + paginationDetailID)
|
||||
dialogDetailAddBodyID := c.FormValue("dialogDetailAddBodyID")
|
||||
dialogDetailAddID := c.FormValue("dialogDetailAddID")
|
||||
dialogDetailDeleteBodyID := c.FormValue("dialogDetailDeleteBodyID")
|
||||
|
||||
currPage, err := strconv.Atoi(currPagePrmDetail)
|
||||
|
||||
@@ -1285,11 +1373,11 @@ func (lh *MasterKelainanHandler) HandlerAddKelainanDetail(c echo.Context) error
|
||||
return utils.ViewMulti(c, []templ.Component{
|
||||
customtoastv2.CustomToastV2Show("Error", err.Error(), "danger"), newForm})
|
||||
}
|
||||
logger.Info("ADD KELAINAN DETAIL",
|
||||
zap.Any("return", dataKelainanDetail),
|
||||
zap.Any("name", nameKelainanDetail),
|
||||
zap.Any("name klasifikasi", nameClassification),
|
||||
logger.Info("PARAMETER LIST",
|
||||
zap.Any("selectedid", selectedID),
|
||||
zap.Any("searchdetail", searchdetail),
|
||||
zap.Any("currPage", currPage),
|
||||
zap.Any("dataKelainanDetail", dataKelainanDetail),
|
||||
)
|
||||
|
||||
// get data table current page
|
||||
@@ -1301,6 +1389,10 @@ func (lh *MasterKelainanHandler) HandlerAddKelainanDetail(c echo.Context) error
|
||||
)
|
||||
}
|
||||
|
||||
logger.Info("list kelainan detail add",
|
||||
zap.Any("return", dataKelainanDetailList),
|
||||
)
|
||||
|
||||
// new add form
|
||||
newForm := masterkelainan.BodyFormKelainanDetail(
|
||||
models.CustomTextFieldv2Prm{
|
||||
@@ -1333,6 +1425,10 @@ func (lh *MasterKelainanHandler) HandlerAddKelainanDetail(c echo.Context) error
|
||||
// new table listing
|
||||
contentKelainanDetailComponent := masterkelainan.TableKelainanDetail(
|
||||
dataKelainanDetailList, tableDetailID,
|
||||
"/dev/kelainandetail/opendelete",
|
||||
"#"+dialogDetailDeleteBodyID,
|
||||
"outerHTML",
|
||||
"#dialogDetailDeleteBodyID, #dialogDetailDeleteID, #tableDetailID",
|
||||
)
|
||||
|
||||
// new pagination
|
||||
@@ -1340,7 +1436,7 @@ func (lh *MasterKelainanHandler) HandlerAddKelainanDetail(c echo.Context) error
|
||||
currPage,
|
||||
"/dev/kelainandetailpagination",
|
||||
paginationDetailID,
|
||||
"#tableDetailID, #searchDetailID, #"+searchDetailID+", #paginationDetailID",
|
||||
"#tableDetailID, #searchDetailID, #dialogDetailDeleteBodyID, #dialogDetailDeleteID, #"+searchDetailID+", #paginationDetailID",
|
||||
"#"+paginationDetailID, "outerHTML", "", "true")
|
||||
|
||||
toastSuccess := customtoastv2.CustomToastV2Show("Success", "Success add kelainan "+nameKelainanDetail, "success")
|
||||
@@ -1384,3 +1480,150 @@ func (lh *MasterKelainanHandler) HandlerCloseFormAddDetail(c echo.Context) error
|
||||
dialogDetailAddBodyID, masterkelainan.JsHideModalDetail(""))
|
||||
return utils.View(c, newForm)
|
||||
}
|
||||
|
||||
func (lh *MasterKelainanHandler) HandlerOpenDeleteFormDetail(c echo.Context) error {
|
||||
id := c.QueryParam("id")
|
||||
dialogDetailDeleteID := c.QueryParam("dialogDetailDeleteID")
|
||||
dialogDetailDeleteBodyID := c.QueryParam("dialogDetailDeleteBodyID")
|
||||
|
||||
logger, _ := zap.NewProduction()
|
||||
defer logger.Sync()
|
||||
logger.Info("CEK dialogDetailDeleteBodyID",
|
||||
zap.Any("dialogDetailDeleteBodyID", dialogDetailDeleteBodyID),
|
||||
)
|
||||
|
||||
dataKelainanDetail, err := lh.MasterKelainanService.GetKelainanDetailByID(id)
|
||||
|
||||
if err != nil {
|
||||
newForm := masterkelainan.DeleteConfirmationBodyDetail(
|
||||
models.CustomTextFieldv2Prm{Name: "kelainandetailid", Type: "hidden", Value: strconv.Itoa(dataKelainanDetail.Mcu_KelainanID)},
|
||||
dialogDetailDeleteBodyID,
|
||||
"Apakah anda yakin menghapus kelainan berikut ?",
|
||||
[]string{"Nama Kelainan", "Nama Klasifikasi"},
|
||||
[]string{"", ""},
|
||||
masterkelainan.JsShowModalDetail(""))
|
||||
return utils.ViewMulti(c, []templ.Component{customtoastv2.CustomToastV2Show("Error", "Get kelainan error", "danger"), newForm})
|
||||
}
|
||||
newForm := masterkelainan.DeleteConfirmationBodyDetail(
|
||||
models.CustomTextFieldv2Prm{Name: "kelainandetailid", Type: "hidden", Value: strconv.Itoa(dataKelainanDetail.Mcu_KelainanID)},
|
||||
dialogDetailDeleteBodyID,
|
||||
"Apakah anda yakin menghapus kelainan berikut ?",
|
||||
[]string{"Nama Kelainan", "Nama Klasifikasi"},
|
||||
[]string{dataKelainanDetail.Mcu_KelainanName, dataKelainanDetail.Mcu_KelainanClasification},
|
||||
masterkelainan.JsShowModalDetail("#"+dialogDetailDeleteID))
|
||||
|
||||
return utils.View(c, newForm)
|
||||
}
|
||||
|
||||
func (lh *MasterKelainanHandler) HandlerCloseDeleteFormDetail(c echo.Context) error {
|
||||
dialogDetailDeleteBodyID := c.FormValue("dialogDetailDeleteBodyID")
|
||||
newForm := masterkelainan.DeleteConfirmationBodyDetail(
|
||||
models.CustomTextFieldv2Prm{Name: "kelainandetailid", Type: "hidden", Value: ""},
|
||||
dialogDetailDeleteBodyID,
|
||||
"Apakah anda yakin menghapus kelainan berikut ?",
|
||||
[]string{"Nama Kelainan", "Nama Klasifikasi"},
|
||||
[]string{"", ""},
|
||||
masterkelainan.JsShowModalDetail(""))
|
||||
return utils.View(c, newForm)
|
||||
}
|
||||
|
||||
func (lh *MasterKelainanHandler) HandlerDeleteKelainanDetail(c echo.Context) error {
|
||||
logger, _ := zap.NewProduction()
|
||||
defer logger.Sync()
|
||||
|
||||
// prm form kelainan
|
||||
id := c.FormValue("kelainandetailid")
|
||||
tableDetailID := c.FormValue("tableDetailID")
|
||||
paginationDetailID := c.FormValue("paginationDetailID")
|
||||
searchDetailID := c.FormValue("searchDetailID")
|
||||
searchdetail := c.FormValue("searchdetail")
|
||||
currPagePrm := c.FormValue("currpage" + paginationDetailID)
|
||||
dialogDetailDeleteID := c.FormValue("dialogDetailDeleteID")
|
||||
dialogDetailDeleteBodyID := c.FormValue("dialogDetailDeleteBodyID")
|
||||
|
||||
currPage, err := strconv.Atoi(currPagePrm)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
logger.Info("PARAMETER LIST",
|
||||
zap.Any("selectedid", id),
|
||||
zap.Any("searchdetail", searchdetail),
|
||||
zap.Any("currPage", currPage),
|
||||
)
|
||||
|
||||
dataKelainanDetail, err := lh.MasterKelainanService.DeleteKelainanDetail(id)
|
||||
if err != nil {
|
||||
logger.Info("Error",
|
||||
zap.Any("Error", err),
|
||||
)
|
||||
newForm := masterkelainan.DeleteConfirmationBodyDetail(
|
||||
models.CustomTextFieldv2Prm{Name: "kelainandetailid", Type: "hidden", Value: ""},
|
||||
dialogDetailDeleteBodyID,
|
||||
"Apakah anda yakin menghapus kelainan berikut ?",
|
||||
[]string{"Nama Kelainan", "Nama Klasifikasi"},
|
||||
[]string{"", ""},
|
||||
masterkelainan.JsShowModalDetail(""))
|
||||
return utils.ViewMulti(c, []templ.Component{customtoastv2.CustomToastV2Show("Error", err.Error(), "danger"), newForm})
|
||||
}
|
||||
logger.Info("Kelainan",
|
||||
zap.Any("return", dataKelainanDetail),
|
||||
)
|
||||
|
||||
//get list kelainan for table
|
||||
// kelainanDetailList, totalpage, err := lh.MasterKelainanService.GetListMasterKelainanDetail(id, searchdetail, currPage, 5)
|
||||
kelainanDetailList, totalpage, err := lh.MasterKelainanService.GetListMasterKelainanDetail(id, searchdetail, currPage, 5)
|
||||
logger.Info("list kelainan detail delete",
|
||||
zap.Any("return", kelainanDetailList),
|
||||
)
|
||||
if err != nil {
|
||||
defer logger.Sync()
|
||||
logger.Info("ERROR GET KELAINAN",
|
||||
zap.Any("error", err),
|
||||
)
|
||||
fmt.Println(dataKelainanDetail)
|
||||
return err
|
||||
}
|
||||
if len(kelainanDetailList) == 0 && totalpage > 1 {
|
||||
currPage = currPage - 1
|
||||
kelainanDetailList, _, err = lh.MasterKelainanService.GetListMasterKelainanDetail(id, searchdetail, currPage, 5)
|
||||
if err != nil {
|
||||
defer logger.Sync()
|
||||
logger.Info("ERROR GET KELAINAN",
|
||||
zap.Any("error", err),
|
||||
)
|
||||
return err
|
||||
}
|
||||
}
|
||||
|
||||
tablecomponent := masterkelainan.TableKelainanDetail(kelainanDetailList,
|
||||
tableDetailID,
|
||||
"/dev/kelainandetail/opendelete",
|
||||
"#"+dialogDetailDeleteBodyID,
|
||||
"outerHTML",
|
||||
"#dialogDetailDeleteBodyID, #dialogDetailDeleteID, #tableDetailID",
|
||||
)
|
||||
|
||||
kelainanDetailPaginationCmp := pagination.PaginationV2(
|
||||
totalpage,
|
||||
currPage,
|
||||
"/dev/kelainandetailpagination",
|
||||
paginationDetailID,
|
||||
"#tableDetailID, #searchDetailID, #"+searchDetailID+", #paginationDetailID, #dialogDetailDeleteBodyID, #dialogDetailDeleteID",
|
||||
"#"+paginationDetailID,
|
||||
"outerHTML", "", "true",
|
||||
)
|
||||
|
||||
newForm := masterkelainan.DeleteConfirmationBodyDetail(
|
||||
models.CustomTextFieldv2Prm{Name: "kelainandetailid", Type: "hidden", Value: ""},
|
||||
dialogDetailDeleteBodyID,
|
||||
"Apakah anda yakin menghapus kelainan berikut ?",
|
||||
[]string{"Nama Kelainan", "Nama Klasifikasi"},
|
||||
[]string{""},
|
||||
masterkelainan.JsHideModalDetail("#"+dialogDetailDeleteID))
|
||||
toastSuccess := customtoastv2.CustomToastV2Show("Success", "Berhasil delete Kelainan ", "success")
|
||||
|
||||
retVal := []templ.Component{toastSuccess, tablecomponent, kelainanDetailPaginationCmp, newForm}
|
||||
|
||||
return utils.ViewMulti(c, retVal)
|
||||
}
|
||||
|
||||
@@ -231,4 +231,7 @@ func SetupRoutesDev(app *echo.Echo, appStore db.AppStore) {
|
||||
dev.GET("/kelainandetailpagination", devKLhandlers.HandlerShowMdKelainanDetailPagination)
|
||||
dev.POST("/kelainandetail/closeaddform", devKLhandlers.HandlerCloseFormAddDetail)
|
||||
dev.POST("/kelainandetail/add", devKLhandlers.HandlerAddKelainanDetail)
|
||||
dev.GET("/kelainandetail/opendelete", devKLhandlers.HandlerOpenDeleteFormDetail)
|
||||
dev.POST("/kelainandetail/closedeleteform", devKLhandlers.HandlerCloseDeleteFormDetail)
|
||||
dev.POST("/kelainandetail/delete", devKLhandlers.HandlerDeleteKelainanDetail)
|
||||
}
|
||||
|
||||
@@ -357,3 +357,35 @@ func (su *ServicesMasterKelainan) AddKelainanDetail(name string, nameclassificat
|
||||
|
||||
return data, nil
|
||||
}
|
||||
|
||||
func (su *ServicesMasterKelainan) DeleteKelainanDetail(id string) (models.KelainanDetail, error) {
|
||||
logger, _ := zap.NewProduction()
|
||||
var data models.KelainanDetail
|
||||
|
||||
qry := `UPDATE mcu_kelainan
|
||||
SET Mcu_KelainanIsActive = 'N',
|
||||
Mcu_KelainanLastUpdated = NOW()
|
||||
WHERE Mcu_KelainanID = ?`
|
||||
|
||||
rst := dbx.Handlex.MustExec(qry, id)
|
||||
_, err := rst.RowsAffected()
|
||||
|
||||
if err != nil {
|
||||
defer logger.Sync()
|
||||
logger.Error("Error delete kelainan",
|
||||
zap.String("id", id),
|
||||
)
|
||||
return data, fmt.Errorf("QUERY_FAILED")
|
||||
}
|
||||
|
||||
data, err = su.GetKelainanDetailByID(id)
|
||||
if err != nil {
|
||||
defer logger.Sync()
|
||||
logger.Error("Error get kelainan by id",
|
||||
zap.String("id", id),
|
||||
)
|
||||
return data, fmt.Errorf("QUERY_FAILED")
|
||||
}
|
||||
|
||||
return data, nil
|
||||
}
|
||||
|
||||
@@ -21,6 +21,8 @@ templ ContentMasterKelainan(
|
||||
searchDetailID string,
|
||||
dialogDetailAddID string,
|
||||
dialogDetailAddBodyID string,
|
||||
dialogDetailDeleteID string,
|
||||
dialogDetailDeleteBodyID string,
|
||||
breadcrumb templ.Component,
|
||||
tablecontent templ.Component,
|
||||
filterComponent templ.Component,
|
||||
@@ -32,6 +34,7 @@ templ ContentMasterKelainan(
|
||||
filterDetailComponent templ.Component,
|
||||
paginationDetailComponent templ.Component,
|
||||
modalDetailAddForm templ.Component,
|
||||
modalDetailForm templ.Component,
|
||||
) {
|
||||
<div class="container-fluid">
|
||||
@customtextfield.CustomTextFieldv2(models.CustomTextFieldv2Prm{ID: "tableID",
|
||||
@@ -95,6 +98,14 @@ templ ContentMasterKelainan(
|
||||
Name: "dialogDetailAddBodyID",
|
||||
Type: "hidden",
|
||||
Value: dialogDetailAddBodyID})
|
||||
@customtextfield.CustomTextFieldv2(models.CustomTextFieldv2Prm{ID: "dialogDetailDeleteID",
|
||||
Name: "dialogDetailDeleteID",
|
||||
Type: "hidden",
|
||||
Value: dialogDetailDeleteID})
|
||||
@customtextfield.CustomTextFieldv2(models.CustomTextFieldv2Prm{ID: "dialogDetailDeleteBodyID",
|
||||
Name: "dialogDetailDeleteBodyID",
|
||||
Type: "hidden",
|
||||
Value: dialogDetailDeleteBodyID})
|
||||
<div class="row align-items-center mb-10">
|
||||
<div class="col-md-10 col-sm-12 p-0 ">
|
||||
@breadcrumb
|
||||
@@ -158,6 +169,7 @@ templ ContentMasterKelainan(
|
||||
@tabledetailcontent
|
||||
@paginationDetailComponent
|
||||
@modalDetailAddForm
|
||||
@modalDetailForm
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@@ -31,6 +31,8 @@ func ContentMasterKelainan(
|
||||
searchDetailID string,
|
||||
dialogDetailAddID string,
|
||||
dialogDetailAddBodyID string,
|
||||
dialogDetailDeleteID string,
|
||||
dialogDetailDeleteBodyID string,
|
||||
breadcrumb templ.Component,
|
||||
tablecontent templ.Component,
|
||||
filterComponent templ.Component,
|
||||
@@ -42,6 +44,7 @@ func ContentMasterKelainan(
|
||||
filterDetailComponent templ.Component,
|
||||
paginationDetailComponent templ.Component,
|
||||
modalDetailAddForm templ.Component,
|
||||
modalDetailForm templ.Component,
|
||||
) templ.Component {
|
||||
return templ.ComponentFunc(func(ctx context.Context, templ_7745c5c3_W io.Writer) (templ_7745c5c3_Err error) {
|
||||
templ_7745c5c3_Buffer, templ_7745c5c3_IsBuffer := templ_7745c5c3_W.(*bytes.Buffer)
|
||||
@@ -165,6 +168,20 @@ func ContentMasterKelainan(
|
||||
if templ_7745c5c3_Err != nil {
|
||||
return templ_7745c5c3_Err
|
||||
}
|
||||
templ_7745c5c3_Err = customtextfield.CustomTextFieldv2(models.CustomTextFieldv2Prm{ID: "dialogDetailDeleteID",
|
||||
Name: "dialogDetailDeleteID",
|
||||
Type: "hidden",
|
||||
Value: dialogDetailDeleteID}).Render(ctx, templ_7745c5c3_Buffer)
|
||||
if templ_7745c5c3_Err != nil {
|
||||
return templ_7745c5c3_Err
|
||||
}
|
||||
templ_7745c5c3_Err = customtextfield.CustomTextFieldv2(models.CustomTextFieldv2Prm{ID: "dialogDetailDeleteBodyID",
|
||||
Name: "dialogDetailDeleteBodyID",
|
||||
Type: "hidden",
|
||||
Value: dialogDetailDeleteBodyID}).Render(ctx, templ_7745c5c3_Buffer)
|
||||
if templ_7745c5c3_Err != nil {
|
||||
return templ_7745c5c3_Err
|
||||
}
|
||||
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("<div class=\"row align-items-center mb-10\"><div class=\"col-md-10 col-sm-12 p-0 \">")
|
||||
if templ_7745c5c3_Err != nil {
|
||||
return templ_7745c5c3_Err
|
||||
@@ -188,7 +205,7 @@ func ContentMasterKelainan(
|
||||
var templ_7745c5c3_Var2 string
|
||||
templ_7745c5c3_Var2, templ_7745c5c3_Err = templ.JoinStringErrs("#" + dialogAddID)
|
||||
if templ_7745c5c3_Err != nil {
|
||||
return templ.Error{Err: templ_7745c5c3_Err, FileName: `views\dev\masterkelainan\masterkelainan.templ`, Line: 115, Col: 39}
|
||||
return templ.Error{Err: templ_7745c5c3_Err, FileName: `views\dev\masterkelainan\masterkelainan.templ`, Line: 126, Col: 39}
|
||||
}
|
||||
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var2))
|
||||
if templ_7745c5c3_Err != nil {
|
||||
@@ -201,7 +218,7 @@ func ContentMasterKelainan(
|
||||
var templ_7745c5c3_Var3 string
|
||||
templ_7745c5c3_Var3, templ_7745c5c3_Err = templ.JoinStringErrs("#" + dialogAddID)
|
||||
if templ_7745c5c3_Err != nil {
|
||||
return templ.Error{Err: templ_7745c5c3_Err, FileName: `views\dev\masterkelainan\masterkelainan.templ`, Line: 124, Col: 38}
|
||||
return templ.Error{Err: templ_7745c5c3_Err, FileName: `views\dev\masterkelainan\masterkelainan.templ`, Line: 135, Col: 38}
|
||||
}
|
||||
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var3))
|
||||
if templ_7745c5c3_Err != nil {
|
||||
@@ -246,7 +263,7 @@ func ContentMasterKelainan(
|
||||
var templ_7745c5c3_Var4 string
|
||||
templ_7745c5c3_Var4, templ_7745c5c3_Err = templ.JoinStringErrs("#" + dialogDetailAddID)
|
||||
if templ_7745c5c3_Err != nil {
|
||||
return templ.Error{Err: templ_7745c5c3_Err, FileName: `views\dev\masterkelainan\masterkelainan.templ`, Line: 145, Col: 45}
|
||||
return templ.Error{Err: templ_7745c5c3_Err, FileName: `views\dev\masterkelainan\masterkelainan.templ`, Line: 156, Col: 45}
|
||||
}
|
||||
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var4))
|
||||
if templ_7745c5c3_Err != nil {
|
||||
@@ -259,7 +276,7 @@ func ContentMasterKelainan(
|
||||
var templ_7745c5c3_Var5 string
|
||||
templ_7745c5c3_Var5, templ_7745c5c3_Err = templ.JoinStringErrs("#" + dialogDetailAddID)
|
||||
if templ_7745c5c3_Err != nil {
|
||||
return templ.Error{Err: templ_7745c5c3_Err, FileName: `views\dev\masterkelainan\masterkelainan.templ`, Line: 154, Col: 44}
|
||||
return templ.Error{Err: templ_7745c5c3_Err, FileName: `views\dev\masterkelainan\masterkelainan.templ`, Line: 165, Col: 44}
|
||||
}
|
||||
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var5))
|
||||
if templ_7745c5c3_Err != nil {
|
||||
@@ -281,6 +298,10 @@ func ContentMasterKelainan(
|
||||
if templ_7745c5c3_Err != nil {
|
||||
return templ_7745c5c3_Err
|
||||
}
|
||||
templ_7745c5c3_Err = modalDetailForm.Render(ctx, templ_7745c5c3_Buffer)
|
||||
if templ_7745c5c3_Err != nil {
|
||||
return templ_7745c5c3_Err
|
||||
}
|
||||
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("</div></div></div>")
|
||||
if templ_7745c5c3_Err != nil {
|
||||
return templ_7745c5c3_Err
|
||||
|
||||
@@ -143,3 +143,53 @@ templ BtnCloseFormKelainanDetail(LinkClose string, targetClose string, hxSwapClo
|
||||
<i aria-hidden="true" class="ki ki-close"></i>
|
||||
</button>
|
||||
}
|
||||
|
||||
templ DeleteConfirmationBodyDetail(inputId models.CustomTextFieldv2Prm,
|
||||
componentID string,
|
||||
message string,
|
||||
datHeader []string,
|
||||
dataText []string,
|
||||
hxOnLoad templ.ComponentScript) {
|
||||
<div id={ componentID } hx-on::load={ hxOnLoad }>
|
||||
<p>{ message }</p>
|
||||
<div class="card rounded-lg">
|
||||
<div class="card-body d-flex flex-row">
|
||||
<div class="d-flex flex-column">
|
||||
for _, v := range datHeader {
|
||||
<div class="mb-1 mt-1 text-disabled font-weight-bold mr-5">{ v }</div>
|
||||
}
|
||||
</div>
|
||||
<div class="d-flex flex-column ">
|
||||
for _, v := range dataText {
|
||||
<div class="mb-1 mt-1 font-weight-bold">
|
||||
{ v }
|
||||
</div>
|
||||
}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@customtextfield.CustomTextFieldv2(inputId)
|
||||
</div>
|
||||
}
|
||||
|
||||
templ ActionFormKelainanDetailDelete(LinkClose string, targetClose string, hxSwapClose string, modalID string) {
|
||||
<div>
|
||||
<button
|
||||
hx-on::after-request={ JsHideModalDetail(modalID) }
|
||||
hx-post={ LinkClose }
|
||||
hx-target={ targetClose }
|
||||
hx-swap={ hxSwapClose }
|
||||
type="button"
|
||||
class="btn btn-outline-secondary font-weight-bolder rounded-lg mr-4 btnaddact"
|
||||
data-dismiss="modal"
|
||||
>
|
||||
Batal
|
||||
</button>
|
||||
<button
|
||||
type="submit"
|
||||
class="btn btn-primary btn-shadow font-weight-bold rounded-lg btnaddact"
|
||||
>
|
||||
Yakin
|
||||
</button>
|
||||
</div>
|
||||
}
|
||||
|
||||
@@ -559,3 +559,205 @@ func BtnCloseFormKelainanDetail(LinkClose string, targetClose string, hxSwapClos
|
||||
return templ_7745c5c3_Err
|
||||
})
|
||||
}
|
||||
|
||||
func DeleteConfirmationBodyDetail(inputId models.CustomTextFieldv2Prm,
|
||||
componentID string,
|
||||
message string,
|
||||
datHeader []string,
|
||||
dataText []string,
|
||||
hxOnLoad templ.ComponentScript) templ.Component {
|
||||
return templ.ComponentFunc(func(ctx context.Context, templ_7745c5c3_W io.Writer) (templ_7745c5c3_Err error) {
|
||||
templ_7745c5c3_Buffer, templ_7745c5c3_IsBuffer := templ_7745c5c3_W.(*bytes.Buffer)
|
||||
if !templ_7745c5c3_IsBuffer {
|
||||
templ_7745c5c3_Buffer = templ.GetBuffer()
|
||||
defer templ.ReleaseBuffer(templ_7745c5c3_Buffer)
|
||||
}
|
||||
ctx = templ.InitializeContext(ctx)
|
||||
templ_7745c5c3_Var29 := templ.GetChildren(ctx)
|
||||
if templ_7745c5c3_Var29 == nil {
|
||||
templ_7745c5c3_Var29 = templ.NopComponent
|
||||
}
|
||||
ctx = templ.ClearChildren(ctx)
|
||||
templ_7745c5c3_Err = templ.RenderScriptItems(ctx, templ_7745c5c3_Buffer, hxOnLoad)
|
||||
if templ_7745c5c3_Err != nil {
|
||||
return templ_7745c5c3_Err
|
||||
}
|
||||
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("<div id=\"")
|
||||
if templ_7745c5c3_Err != nil {
|
||||
return templ_7745c5c3_Err
|
||||
}
|
||||
var templ_7745c5c3_Var30 string
|
||||
templ_7745c5c3_Var30, templ_7745c5c3_Err = templ.JoinStringErrs(componentID)
|
||||
if templ_7745c5c3_Err != nil {
|
||||
return templ.Error{Err: templ_7745c5c3_Err, FileName: `views\dev\masterkelainan\mdkelainandetailformmodal.templ`, Line: 153, Col: 22}
|
||||
}
|
||||
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var30))
|
||||
if templ_7745c5c3_Err != nil {
|
||||
return templ_7745c5c3_Err
|
||||
}
|
||||
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("\" hx-on::load=\"")
|
||||
if templ_7745c5c3_Err != nil {
|
||||
return templ_7745c5c3_Err
|
||||
}
|
||||
var templ_7745c5c3_Var31 templ.ComponentScript = hxOnLoad
|
||||
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ_7745c5c3_Var31.Call)
|
||||
if templ_7745c5c3_Err != nil {
|
||||
return templ_7745c5c3_Err
|
||||
}
|
||||
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("\"><p>")
|
||||
if templ_7745c5c3_Err != nil {
|
||||
return templ_7745c5c3_Err
|
||||
}
|
||||
var templ_7745c5c3_Var32 string
|
||||
templ_7745c5c3_Var32, templ_7745c5c3_Err = templ.JoinStringErrs(message)
|
||||
if templ_7745c5c3_Err != nil {
|
||||
return templ.Error{Err: templ_7745c5c3_Err, FileName: `views\dev\masterkelainan\mdkelainandetailformmodal.templ`, Line: 154, Col: 14}
|
||||
}
|
||||
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var32))
|
||||
if templ_7745c5c3_Err != nil {
|
||||
return templ_7745c5c3_Err
|
||||
}
|
||||
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("</p><div class=\"card rounded-lg\"><div class=\"card-body d-flex flex-row\"><div class=\"d-flex flex-column\">")
|
||||
if templ_7745c5c3_Err != nil {
|
||||
return templ_7745c5c3_Err
|
||||
}
|
||||
for _, v := range datHeader {
|
||||
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("<div class=\"mb-1 mt-1 text-disabled font-weight-bold mr-5\">")
|
||||
if templ_7745c5c3_Err != nil {
|
||||
return templ_7745c5c3_Err
|
||||
}
|
||||
var templ_7745c5c3_Var33 string
|
||||
templ_7745c5c3_Var33, templ_7745c5c3_Err = templ.JoinStringErrs(v)
|
||||
if templ_7745c5c3_Err != nil {
|
||||
return templ.Error{Err: templ_7745c5c3_Err, FileName: `views\dev\masterkelainan\mdkelainandetailformmodal.templ`, Line: 159, Col: 68}
|
||||
}
|
||||
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var33))
|
||||
if templ_7745c5c3_Err != nil {
|
||||
return templ_7745c5c3_Err
|
||||
}
|
||||
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("</div>")
|
||||
if templ_7745c5c3_Err != nil {
|
||||
return templ_7745c5c3_Err
|
||||
}
|
||||
}
|
||||
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("</div><div class=\"d-flex flex-column \">")
|
||||
if templ_7745c5c3_Err != nil {
|
||||
return templ_7745c5c3_Err
|
||||
}
|
||||
for _, v := range dataText {
|
||||
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("<div class=\"mb-1 mt-1 font-weight-bold\">")
|
||||
if templ_7745c5c3_Err != nil {
|
||||
return templ_7745c5c3_Err
|
||||
}
|
||||
var templ_7745c5c3_Var34 string
|
||||
templ_7745c5c3_Var34, templ_7745c5c3_Err = templ.JoinStringErrs(v)
|
||||
if templ_7745c5c3_Err != nil {
|
||||
return templ.Error{Err: templ_7745c5c3_Err, FileName: `views\dev\masterkelainan\mdkelainandetailformmodal.templ`, Line: 165, Col: 10}
|
||||
}
|
||||
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var34))
|
||||
if templ_7745c5c3_Err != nil {
|
||||
return templ_7745c5c3_Err
|
||||
}
|
||||
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("</div>")
|
||||
if templ_7745c5c3_Err != nil {
|
||||
return templ_7745c5c3_Err
|
||||
}
|
||||
}
|
||||
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("</div></div></div>")
|
||||
if templ_7745c5c3_Err != nil {
|
||||
return templ_7745c5c3_Err
|
||||
}
|
||||
templ_7745c5c3_Err = customtextfield.CustomTextFieldv2(inputId).Render(ctx, templ_7745c5c3_Buffer)
|
||||
if templ_7745c5c3_Err != nil {
|
||||
return templ_7745c5c3_Err
|
||||
}
|
||||
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("</div>")
|
||||
if templ_7745c5c3_Err != nil {
|
||||
return templ_7745c5c3_Err
|
||||
}
|
||||
if !templ_7745c5c3_IsBuffer {
|
||||
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteTo(templ_7745c5c3_W)
|
||||
}
|
||||
return templ_7745c5c3_Err
|
||||
})
|
||||
}
|
||||
|
||||
func ActionFormKelainanDetailDelete(LinkClose string, targetClose string, hxSwapClose string, modalID string) templ.Component {
|
||||
return templ.ComponentFunc(func(ctx context.Context, templ_7745c5c3_W io.Writer) (templ_7745c5c3_Err error) {
|
||||
templ_7745c5c3_Buffer, templ_7745c5c3_IsBuffer := templ_7745c5c3_W.(*bytes.Buffer)
|
||||
if !templ_7745c5c3_IsBuffer {
|
||||
templ_7745c5c3_Buffer = templ.GetBuffer()
|
||||
defer templ.ReleaseBuffer(templ_7745c5c3_Buffer)
|
||||
}
|
||||
ctx = templ.InitializeContext(ctx)
|
||||
templ_7745c5c3_Var35 := templ.GetChildren(ctx)
|
||||
if templ_7745c5c3_Var35 == nil {
|
||||
templ_7745c5c3_Var35 = templ.NopComponent
|
||||
}
|
||||
ctx = templ.ClearChildren(ctx)
|
||||
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("<div>")
|
||||
if templ_7745c5c3_Err != nil {
|
||||
return templ_7745c5c3_Err
|
||||
}
|
||||
templ_7745c5c3_Err = templ.RenderScriptItems(ctx, templ_7745c5c3_Buffer, JsHideModalDetail(modalID))
|
||||
if templ_7745c5c3_Err != nil {
|
||||
return templ_7745c5c3_Err
|
||||
}
|
||||
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("<button hx-on::after-request=\"")
|
||||
if templ_7745c5c3_Err != nil {
|
||||
return templ_7745c5c3_Err
|
||||
}
|
||||
var templ_7745c5c3_Var36 templ.ComponentScript = JsHideModalDetail(modalID)
|
||||
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ_7745c5c3_Var36.Call)
|
||||
if templ_7745c5c3_Err != nil {
|
||||
return templ_7745c5c3_Err
|
||||
}
|
||||
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("\" hx-post=\"")
|
||||
if templ_7745c5c3_Err != nil {
|
||||
return templ_7745c5c3_Err
|
||||
}
|
||||
var templ_7745c5c3_Var37 string
|
||||
templ_7745c5c3_Var37, templ_7745c5c3_Err = templ.JoinStringErrs(LinkClose)
|
||||
if templ_7745c5c3_Err != nil {
|
||||
return templ.Error{Err: templ_7745c5c3_Err, FileName: `views\dev\masterkelainan\mdkelainandetailformmodal.templ`, Line: 179, Col: 22}
|
||||
}
|
||||
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var37))
|
||||
if templ_7745c5c3_Err != nil {
|
||||
return templ_7745c5c3_Err
|
||||
}
|
||||
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("\" hx-target=\"")
|
||||
if templ_7745c5c3_Err != nil {
|
||||
return templ_7745c5c3_Err
|
||||
}
|
||||
var templ_7745c5c3_Var38 string
|
||||
templ_7745c5c3_Var38, templ_7745c5c3_Err = templ.JoinStringErrs(targetClose)
|
||||
if templ_7745c5c3_Err != nil {
|
||||
return templ.Error{Err: templ_7745c5c3_Err, FileName: `views\dev\masterkelainan\mdkelainandetailformmodal.templ`, Line: 180, Col: 26}
|
||||
}
|
||||
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var38))
|
||||
if templ_7745c5c3_Err != nil {
|
||||
return templ_7745c5c3_Err
|
||||
}
|
||||
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("\" hx-swap=\"")
|
||||
if templ_7745c5c3_Err != nil {
|
||||
return templ_7745c5c3_Err
|
||||
}
|
||||
var templ_7745c5c3_Var39 string
|
||||
templ_7745c5c3_Var39, templ_7745c5c3_Err = templ.JoinStringErrs(hxSwapClose)
|
||||
if templ_7745c5c3_Err != nil {
|
||||
return templ.Error{Err: templ_7745c5c3_Err, FileName: `views\dev\masterkelainan\mdkelainandetailformmodal.templ`, Line: 181, Col: 24}
|
||||
}
|
||||
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var39))
|
||||
if templ_7745c5c3_Err != nil {
|
||||
return templ_7745c5c3_Err
|
||||
}
|
||||
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("\" type=\"button\" class=\"btn btn-outline-secondary font-weight-bolder rounded-lg mr-4 btnaddact\" data-dismiss=\"modal\">Batal\r</button> <button type=\"submit\" class=\"btn btn-primary btn-shadow font-weight-bold rounded-lg btnaddact\">Yakin\r</button></div>")
|
||||
if templ_7745c5c3_Err != nil {
|
||||
return templ_7745c5c3_Err
|
||||
}
|
||||
if !templ_7745c5c3_IsBuffer {
|
||||
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteTo(templ_7745c5c3_W)
|
||||
}
|
||||
return templ_7745c5c3_Err
|
||||
})
|
||||
}
|
||||
|
||||
@@ -2,18 +2,33 @@ package masterkelainan
|
||||
|
||||
import "cpone/models"
|
||||
import "cpone/component/table"
|
||||
import "strconv"
|
||||
|
||||
templ TableKelainanDetail(data []models.KelainanDetail,
|
||||
tableDetailID string,
|
||||
hxGetDelete string,
|
||||
hxTargetDelete string,
|
||||
hxSwapDelete string,
|
||||
hxIncludeDelete string,
|
||||
) {
|
||||
<div id={ tableDetailID } hx-swap-oob="true">
|
||||
@tablecomponent.TableV3([]string{"NO", "KELAINAN", "AKSI"},
|
||||
[]string{"10%", "60%", "30%"},
|
||||
TableDetailRow(data))
|
||||
TableDetailRow(data,
|
||||
hxGetDelete,
|
||||
hxTargetDelete,
|
||||
hxSwapDelete,
|
||||
hxIncludeDelete,
|
||||
))
|
||||
</div>
|
||||
}
|
||||
|
||||
templ TableDetailRow(data []models.KelainanDetail) {
|
||||
templ TableDetailRow(data []models.KelainanDetail,
|
||||
hxGetDelete string,
|
||||
hxTargetDelete string,
|
||||
hxSwapDelete string,
|
||||
hxIncludeDelete string,
|
||||
) {
|
||||
if len(data) == 0 {
|
||||
<tr>
|
||||
<td colspan="3" class="text-center">Data Tidak Ditemukan</td>
|
||||
@@ -29,8 +44,39 @@ templ TableDetailRow(data []models.KelainanDetail) {
|
||||
}
|
||||
</td>
|
||||
<td>
|
||||
action
|
||||
@TableDetailAction(v.Mcu_KelainanID,
|
||||
hxGetDelete,
|
||||
hxTargetDelete,
|
||||
hxSwapDelete,
|
||||
hxIncludeDelete,
|
||||
)
|
||||
</td>
|
||||
</tr>
|
||||
}
|
||||
}
|
||||
|
||||
templ TableDetailAction(
|
||||
id int,
|
||||
hxGetDelete string,
|
||||
hxTargetDelete string,
|
||||
hxSwapDelete string,
|
||||
hxIncludeDelete string,
|
||||
) {
|
||||
<div class="row px-5 d-flex justify-content-around">
|
||||
<label class="checkbox">
|
||||
<input type="checkbox" name="Checkboxes1"/>
|
||||
<span></span>
|
||||
</label>
|
||||
<a
|
||||
id="btndeleteug"
|
||||
type="button"
|
||||
class=" btndeleteug col-12 col-sm-12 col-md-12 col-lg-5 col-xl-5 col-xxl-5 btn btn-light-danger mb-2"
|
||||
hx-get={ hxGetDelete + "?id=" + strconv.Itoa(id) }
|
||||
hx-target={ hxTargetDelete }
|
||||
hx-swap={ hxSwapDelete }
|
||||
hx-include={ hxIncludeDelete }
|
||||
>
|
||||
Hapus
|
||||
</a>
|
||||
</div>
|
||||
}
|
||||
|
||||
@@ -12,9 +12,14 @@ import "bytes"
|
||||
|
||||
import "cpone/models"
|
||||
import "cpone/component/table"
|
||||
import "strconv"
|
||||
|
||||
func TableKelainanDetail(data []models.KelainanDetail,
|
||||
tableDetailID string,
|
||||
hxGetDelete string,
|
||||
hxTargetDelete string,
|
||||
hxSwapDelete string,
|
||||
hxIncludeDelete string,
|
||||
) templ.Component {
|
||||
return templ.ComponentFunc(func(ctx context.Context, templ_7745c5c3_W io.Writer) (templ_7745c5c3_Err error) {
|
||||
templ_7745c5c3_Buffer, templ_7745c5c3_IsBuffer := templ_7745c5c3_W.(*bytes.Buffer)
|
||||
@@ -35,7 +40,7 @@ func TableKelainanDetail(data []models.KelainanDetail,
|
||||
var templ_7745c5c3_Var2 string
|
||||
templ_7745c5c3_Var2, templ_7745c5c3_Err = templ.JoinStringErrs(tableDetailID)
|
||||
if templ_7745c5c3_Err != nil {
|
||||
return templ.Error{Err: templ_7745c5c3_Err, FileName: `views\dev\masterkelainan\mdkelainandetailtable.templ`, Line: 9, Col: 24}
|
||||
return templ.Error{Err: templ_7745c5c3_Err, FileName: `views\dev\masterkelainan\mdkelainandetailtable.templ`, Line: 14, Col: 24}
|
||||
}
|
||||
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var2))
|
||||
if templ_7745c5c3_Err != nil {
|
||||
@@ -47,7 +52,12 @@ func TableKelainanDetail(data []models.KelainanDetail,
|
||||
}
|
||||
templ_7745c5c3_Err = tablecomponent.TableV3([]string{"NO", "KELAINAN", "AKSI"},
|
||||
[]string{"10%", "60%", "30%"},
|
||||
TableDetailRow(data)).Render(ctx, templ_7745c5c3_Buffer)
|
||||
TableDetailRow(data,
|
||||
hxGetDelete,
|
||||
hxTargetDelete,
|
||||
hxSwapDelete,
|
||||
hxIncludeDelete,
|
||||
)).Render(ctx, templ_7745c5c3_Buffer)
|
||||
if templ_7745c5c3_Err != nil {
|
||||
return templ_7745c5c3_Err
|
||||
}
|
||||
@@ -62,7 +72,12 @@ func TableKelainanDetail(data []models.KelainanDetail,
|
||||
})
|
||||
}
|
||||
|
||||
func TableDetailRow(data []models.KelainanDetail) templ.Component {
|
||||
func TableDetailRow(data []models.KelainanDetail,
|
||||
hxGetDelete string,
|
||||
hxTargetDelete string,
|
||||
hxSwapDelete string,
|
||||
hxIncludeDelete string,
|
||||
) templ.Component {
|
||||
return templ.ComponentFunc(func(ctx context.Context, templ_7745c5c3_W io.Writer) (templ_7745c5c3_Err error) {
|
||||
templ_7745c5c3_Buffer, templ_7745c5c3_IsBuffer := templ_7745c5c3_W.(*bytes.Buffer)
|
||||
if !templ_7745c5c3_IsBuffer {
|
||||
@@ -89,7 +104,7 @@ func TableDetailRow(data []models.KelainanDetail) templ.Component {
|
||||
var templ_7745c5c3_Var4 string
|
||||
templ_7745c5c3_Var4, templ_7745c5c3_Err = templ.JoinStringErrs(v.Nomor)
|
||||
if templ_7745c5c3_Err != nil {
|
||||
return templ.Error{Err: templ_7745c5c3_Err, FileName: `views\dev\masterkelainan\mdkelainandetailtable.templ`, Line: 24, Col: 16}
|
||||
return templ.Error{Err: templ_7745c5c3_Err, FileName: `views\dev\masterkelainan\mdkelainandetailtable.templ`, Line: 39, Col: 16}
|
||||
}
|
||||
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var4))
|
||||
if templ_7745c5c3_Err != nil {
|
||||
@@ -102,7 +117,7 @@ func TableDetailRow(data []models.KelainanDetail) templ.Component {
|
||||
var templ_7745c5c3_Var5 string
|
||||
templ_7745c5c3_Var5, templ_7745c5c3_Err = templ.JoinStringErrs(v.Mcu_KelainanName)
|
||||
if templ_7745c5c3_Err != nil {
|
||||
return templ.Error{Err: templ_7745c5c3_Err, FileName: `views\dev\masterkelainan\mdkelainandetailtable.templ`, Line: 26, Col: 24}
|
||||
return templ.Error{Err: templ_7745c5c3_Err, FileName: `views\dev\masterkelainan\mdkelainandetailtable.templ`, Line: 41, Col: 24}
|
||||
}
|
||||
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var5))
|
||||
if templ_7745c5c3_Err != nil {
|
||||
@@ -120,7 +135,7 @@ func TableDetailRow(data []models.KelainanDetail) templ.Component {
|
||||
var templ_7745c5c3_Var6 string
|
||||
templ_7745c5c3_Var6, templ_7745c5c3_Err = templ.JoinStringErrs(v.Mcu_KelainanClasification)
|
||||
if templ_7745c5c3_Err != nil {
|
||||
return templ.Error{Err: templ_7745c5c3_Err, FileName: `views\dev\masterkelainan\mdkelainandetailtable.templ`, Line: 28, Col: 54}
|
||||
return templ.Error{Err: templ_7745c5c3_Err, FileName: `views\dev\masterkelainan\mdkelainandetailtable.templ`, Line: 43, Col: 54}
|
||||
}
|
||||
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var6))
|
||||
if templ_7745c5c3_Err != nil {
|
||||
@@ -131,7 +146,20 @@ func TableDetailRow(data []models.KelainanDetail) templ.Component {
|
||||
return templ_7745c5c3_Err
|
||||
}
|
||||
}
|
||||
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("</td><td>action\r</td></tr>")
|
||||
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("</td><td>")
|
||||
if templ_7745c5c3_Err != nil {
|
||||
return templ_7745c5c3_Err
|
||||
}
|
||||
templ_7745c5c3_Err = TableDetailAction(v.Mcu_KelainanID,
|
||||
hxGetDelete,
|
||||
hxTargetDelete,
|
||||
hxSwapDelete,
|
||||
hxIncludeDelete,
|
||||
).Render(ctx, templ_7745c5c3_Buffer)
|
||||
if templ_7745c5c3_Err != nil {
|
||||
return templ_7745c5c3_Err
|
||||
}
|
||||
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("</td></tr>")
|
||||
if templ_7745c5c3_Err != nil {
|
||||
return templ_7745c5c3_Err
|
||||
}
|
||||
@@ -142,3 +170,85 @@ func TableDetailRow(data []models.KelainanDetail) templ.Component {
|
||||
return templ_7745c5c3_Err
|
||||
})
|
||||
}
|
||||
|
||||
func TableDetailAction(
|
||||
id int,
|
||||
hxGetDelete string,
|
||||
hxTargetDelete string,
|
||||
hxSwapDelete string,
|
||||
hxIncludeDelete string,
|
||||
) templ.Component {
|
||||
return templ.ComponentFunc(func(ctx context.Context, templ_7745c5c3_W io.Writer) (templ_7745c5c3_Err error) {
|
||||
templ_7745c5c3_Buffer, templ_7745c5c3_IsBuffer := templ_7745c5c3_W.(*bytes.Buffer)
|
||||
if !templ_7745c5c3_IsBuffer {
|
||||
templ_7745c5c3_Buffer = templ.GetBuffer()
|
||||
defer templ.ReleaseBuffer(templ_7745c5c3_Buffer)
|
||||
}
|
||||
ctx = templ.InitializeContext(ctx)
|
||||
templ_7745c5c3_Var7 := templ.GetChildren(ctx)
|
||||
if templ_7745c5c3_Var7 == nil {
|
||||
templ_7745c5c3_Var7 = templ.NopComponent
|
||||
}
|
||||
ctx = templ.ClearChildren(ctx)
|
||||
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("<div class=\"row px-5 d-flex justify-content-around\"><label class=\"checkbox\"><input type=\"checkbox\" name=\"Checkboxes1\"> <span></span></label> <a id=\"btndeleteug\" type=\"button\" class=\" btndeleteug col-12 col-sm-12 col-md-12 col-lg-5 col-xl-5 col-xxl-5 btn btn-light-danger mb-2\" hx-get=\"")
|
||||
if templ_7745c5c3_Err != nil {
|
||||
return templ_7745c5c3_Err
|
||||
}
|
||||
var templ_7745c5c3_Var8 string
|
||||
templ_7745c5c3_Var8, templ_7745c5c3_Err = templ.JoinStringErrs(hxGetDelete + "?id=" + strconv.Itoa(id))
|
||||
if templ_7745c5c3_Err != nil {
|
||||
return templ.Error{Err: templ_7745c5c3_Err, FileName: `views\dev\masterkelainan\mdkelainandetailtable.templ`, Line: 74, Col: 51}
|
||||
}
|
||||
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var8))
|
||||
if templ_7745c5c3_Err != nil {
|
||||
return templ_7745c5c3_Err
|
||||
}
|
||||
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("\" hx-target=\"")
|
||||
if templ_7745c5c3_Err != nil {
|
||||
return templ_7745c5c3_Err
|
||||
}
|
||||
var templ_7745c5c3_Var9 string
|
||||
templ_7745c5c3_Var9, templ_7745c5c3_Err = templ.JoinStringErrs(hxTargetDelete)
|
||||
if templ_7745c5c3_Err != nil {
|
||||
return templ.Error{Err: templ_7745c5c3_Err, FileName: `views\dev\masterkelainan\mdkelainandetailtable.templ`, Line: 75, Col: 29}
|
||||
}
|
||||
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var9))
|
||||
if templ_7745c5c3_Err != nil {
|
||||
return templ_7745c5c3_Err
|
||||
}
|
||||
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("\" hx-swap=\"")
|
||||
if templ_7745c5c3_Err != nil {
|
||||
return templ_7745c5c3_Err
|
||||
}
|
||||
var templ_7745c5c3_Var10 string
|
||||
templ_7745c5c3_Var10, templ_7745c5c3_Err = templ.JoinStringErrs(hxSwapDelete)
|
||||
if templ_7745c5c3_Err != nil {
|
||||
return templ.Error{Err: templ_7745c5c3_Err, FileName: `views\dev\masterkelainan\mdkelainandetailtable.templ`, Line: 76, Col: 25}
|
||||
}
|
||||
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var10))
|
||||
if templ_7745c5c3_Err != nil {
|
||||
return templ_7745c5c3_Err
|
||||
}
|
||||
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("\" hx-include=\"")
|
||||
if templ_7745c5c3_Err != nil {
|
||||
return templ_7745c5c3_Err
|
||||
}
|
||||
var templ_7745c5c3_Var11 string
|
||||
templ_7745c5c3_Var11, templ_7745c5c3_Err = templ.JoinStringErrs(hxIncludeDelete)
|
||||
if templ_7745c5c3_Err != nil {
|
||||
return templ.Error{Err: templ_7745c5c3_Err, FileName: `views\dev\masterkelainan\mdkelainandetailtable.templ`, Line: 77, Col: 31}
|
||||
}
|
||||
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var11))
|
||||
if templ_7745c5c3_Err != nil {
|
||||
return templ_7745c5c3_Err
|
||||
}
|
||||
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("\">Hapus\r</a></div>")
|
||||
if templ_7745c5c3_Err != nil {
|
||||
return templ_7745c5c3_Err
|
||||
}
|
||||
if !templ_7745c5c3_IsBuffer {
|
||||
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteTo(templ_7745c5c3_W)
|
||||
}
|
||||
return templ_7745c5c3_Err
|
||||
})
|
||||
}
|
||||
|
||||
@@ -72,7 +72,7 @@ templ TableRow(data []models.Kelainan,
|
||||
id={ "sas" + strconv.Itoa(v.Mcu_KelainanGroupID) }
|
||||
hx-get={ hxGetSelected + "?id=" + strconv.Itoa(v.Mcu_KelainanGroupID) }
|
||||
hx-trigger="click"
|
||||
hx-include={ "#selectedID, #paginationID, #dialogEditBodyID, #dialogEditID, #dialogDeleteBodyID, #dialogDeleteID, #tableID, #tableDetailID, #paginationDetailID, #searchDetailID, #sas" + strconv.Itoa(v.Mcu_KelainanGroupID) }
|
||||
hx-include={ "#selectedID, #paginationID, #dialogEditBodyID, #dialogEditID, #dialogDeleteBodyID, #dialogDeleteID, #tableID, #tableDetailID, #paginationDetailID, #searchDetailID, #dialogDetailDeleteBodyID, #dialogDetailDeleteID, #sas" + strconv.Itoa(v.Mcu_KelainanGroupID) }
|
||||
onclick={ clickHandler(strconv.Itoa(v.Mcu_KelainanGroupID)) }
|
||||
hx-target={ hxTargetSelected }
|
||||
hx-on::after-request={ HandleAfterRequesX(strconv.Itoa(v.Mcu_KelainanGroupID)) }
|
||||
|
||||
@@ -177,9 +177,9 @@ func TableRow(data []models.Kelainan,
|
||||
return templ_7745c5c3_Err
|
||||
}
|
||||
var templ_7745c5c3_Var6 string
|
||||
templ_7745c5c3_Var6, templ_7745c5c3_Err = templ.JoinStringErrs("#selectedID, #paginationID, #dialogEditBodyID, #dialogEditID, #dialogDeleteBodyID, #dialogDeleteID, #tableID, #tableDetailID, #paginationDetailID, #searchDetailID, #sas" + strconv.Itoa(v.Mcu_KelainanGroupID))
|
||||
templ_7745c5c3_Var6, templ_7745c5c3_Err = templ.JoinStringErrs("#selectedID, #paginationID, #dialogEditBodyID, #dialogEditID, #dialogDeleteBodyID, #dialogDeleteID, #tableID, #tableDetailID, #paginationDetailID, #searchDetailID, #dialogDetailDeleteBodyID, #dialogDetailDeleteID, #sas" + strconv.Itoa(v.Mcu_KelainanGroupID))
|
||||
if templ_7745c5c3_Err != nil {
|
||||
return templ.Error{Err: templ_7745c5c3_Err, FileName: `views\dev\masterkelainan\mdkelainantable.templ`, Line: 75, Col: 224}
|
||||
return templ.Error{Err: templ_7745c5c3_Err, FileName: `views\dev\masterkelainan\mdkelainantable.templ`, Line: 75, Col: 274}
|
||||
}
|
||||
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var6))
|
||||
if templ_7745c5c3_Err != nil {
|
||||
|
||||
Reference in New Issue
Block a user