feature edit master kelainan

This commit is contained in:
Hanan Askarim
2024-05-24 14:37:58 +07:00
parent 904279a048
commit 2c62f8fbf7
10 changed files with 546 additions and 38 deletions

View File

@@ -27,6 +27,7 @@ templ PaginationV2(length int,
hx-trigger="click"
hx-target={ hxTarget }
hx-include={ hxInclude }
hx-disabled-elt=".btneditug, .btndeleteug"
>{ strconv.Itoa(i+1) }</a>
} else {
<a
@@ -37,6 +38,7 @@ templ PaginationV2(length int,
hx-trigger="click"
hx-target={ hxTarget }
hx-include={ hxInclude }
hx-disabled-elt=".btneditug, .btndeleteug"
>{ strconv.Itoa(i+1) }</a>
}
}

View File

@@ -132,14 +132,14 @@ func PaginationV2(length int,
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("\">")
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("\" hx-disabled-elt=\".btneditug, .btndeleteug\">")
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
var templ_7745c5c3_Var9 string
templ_7745c5c3_Var9, templ_7745c5c3_Err = templ.JoinStringErrs(strconv.Itoa(i + 1))
if templ_7745c5c3_Err != nil {
return templ.Error{Err: templ_7745c5c3_Err, FileName: `component\pagination\paginationv2.templ`, Line: 30, Col: 25}
return templ.Error{Err: templ_7745c5c3_Err, FileName: `component\pagination\paginationv2.templ`, Line: 31, Col: 25}
}
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var9))
if templ_7745c5c3_Err != nil {
@@ -157,7 +157,7 @@ func PaginationV2(length int,
var templ_7745c5c3_Var10 string
templ_7745c5c3_Var10, templ_7745c5c3_Err = templ.JoinStringErrs(link + "?" + "page=" + strconv.Itoa(i+1))
if templ_7745c5c3_Err != nil {
return templ.Error{Err: templ_7745c5c3_Err, FileName: `component\pagination\paginationv2.templ`, Line: 33, Col: 55}
return templ.Error{Err: templ_7745c5c3_Err, FileName: `component\pagination\paginationv2.templ`, Line: 34, Col: 55}
}
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var10))
if templ_7745c5c3_Err != nil {
@@ -170,7 +170,7 @@ func PaginationV2(length int,
var templ_7745c5c3_Var11 string
templ_7745c5c3_Var11, templ_7745c5c3_Err = templ.JoinStringErrs(hxSwap)
if templ_7745c5c3_Err != nil {
return templ.Error{Err: templ_7745c5c3_Err, FileName: `component\pagination\paginationv2.templ`, Line: 35, Col: 22}
return templ.Error{Err: templ_7745c5c3_Err, FileName: `component\pagination\paginationv2.templ`, Line: 36, Col: 22}
}
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var11))
if templ_7745c5c3_Err != nil {
@@ -183,7 +183,7 @@ func PaginationV2(length int,
var templ_7745c5c3_Var12 string
templ_7745c5c3_Var12, templ_7745c5c3_Err = templ.JoinStringErrs(hxIndicator)
if templ_7745c5c3_Err != nil {
return templ.Error{Err: templ_7745c5c3_Err, FileName: `component\pagination\paginationv2.templ`, Line: 36, Col: 32}
return templ.Error{Err: templ_7745c5c3_Err, FileName: `component\pagination\paginationv2.templ`, Line: 37, Col: 32}
}
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var12))
if templ_7745c5c3_Err != nil {
@@ -196,7 +196,7 @@ func PaginationV2(length int,
var templ_7745c5c3_Var13 string
templ_7745c5c3_Var13, templ_7745c5c3_Err = templ.JoinStringErrs(hxTarget)
if templ_7745c5c3_Err != nil {
return templ.Error{Err: templ_7745c5c3_Err, FileName: `component\pagination\paginationv2.templ`, Line: 38, Col: 26}
return templ.Error{Err: templ_7745c5c3_Err, FileName: `component\pagination\paginationv2.templ`, Line: 39, Col: 26}
}
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var13))
if templ_7745c5c3_Err != nil {
@@ -209,20 +209,20 @@ func PaginationV2(length int,
var templ_7745c5c3_Var14 string
templ_7745c5c3_Var14, templ_7745c5c3_Err = templ.JoinStringErrs(hxInclude)
if templ_7745c5c3_Err != nil {
return templ.Error{Err: templ_7745c5c3_Err, FileName: `component\pagination\paginationv2.templ`, Line: 39, Col: 28}
return templ.Error{Err: templ_7745c5c3_Err, FileName: `component\pagination\paginationv2.templ`, Line: 40, Col: 28}
}
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var14))
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("\">")
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("\" hx-disabled-elt=\".btneditug, .btndeleteug\">")
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
var templ_7745c5c3_Var15 string
templ_7745c5c3_Var15, templ_7745c5c3_Err = templ.JoinStringErrs(strconv.Itoa(i + 1))
if templ_7745c5c3_Err != nil {
return templ.Error{Err: templ_7745c5c3_Err, FileName: `component\pagination\paginationv2.templ`, Line: 40, Col: 25}
return templ.Error{Err: templ_7745c5c3_Err, FileName: `component\pagination\paginationv2.templ`, Line: 42, Col: 25}
}
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var15))
if templ_7745c5c3_Err != nil {

View File

@@ -25,6 +25,7 @@ type MasterKelainanService interface {
GetListMasterKelainan(search string, currentPage int, rowPerPage int) ([]models.Kelainan, int, error)
GetKelainanByID(id string) (models.Kelainan, error)
AddKelainan(name string) (models.Kelainan, error)
EditKelainan(id string, name string) (models.Kelainan, error)
}
func NewMasterKelainanHandler(us MasterKelainanService) *MasterKelainanHandler {
@@ -85,8 +86,8 @@ func (lh *MasterKelainanHandler) HandlerShowMasterKelainan(c echo.Context) error
searchID := utils.GenerateRandomID("searchid")
dialogAddID := utils.GenerateRandomID("dialogaddID")
dialogAddBodyID := utils.GenerateRandomID("dialogaddbodyID")
// dialogEditID := utils.GenerateRandomID("dialogEditID")
// dialogEditBodyID := utils.GenerateRandomID("dialogEditBodyID")
dialogEditID := utils.GenerateRandomID("dialogEditID")
dialogEditBodyID := utils.GenerateRandomID("dialogEditBodyID")
// dialogdeleteID := utils.GenerateRandomID("dialogdeleteID")
// dialogdeleteBodyID := utils.GenerateRandomID("dialogdeleteBodyID")
@@ -159,7 +160,11 @@ func (lh *MasterKelainanHandler) HandlerShowMasterKelainan(c echo.Context) error
// component table listing kelainan
contentKelainanComponent := masterkelainan.TableKelainan(
dataKelainan, tableID)
dataKelainan, tableID,
"/dev/kelainan/openedit",
"#"+dialogEditBodyID,
"outerHTML",
"#dialogEditBodyID, #dialogEditID")
// filter kelainan component
kelainanFilterComponent := customtextfieldsearch.MainCustomTextFieldSearchV2(searchID,
@@ -181,13 +186,55 @@ func (lh *MasterKelainanHandler) HandlerShowMasterKelainan(c echo.Context) error
"outerHTML", "", "",
)
// modal edit form
dialogEditBodyComponent := masterkelainan.BodyFormKelainan(
models.CustomTextFieldv2Prm{
Label: "Nama Grup Kelainan",
Name: "kelainanname",
Placeholder: "Nama Grup Kelainan",
Type: "text", ID: "kelainaninputname"},
models.CustomTextFieldv2Prm{
Label: "Nama Grup Kelainan",
Name: "kelainanid",
Placeholder: "Nama Grup Kelainan",
Type: "hidden", ID: "kelainaninputid"},
dialogEditBodyID, masterkelainan.JsHideModal(""))
modalActioEditComponent := masterkelainan.ActionFormKelainan(
"/dev/kelainan/closeeditform",
"#"+dialogEditBodyID,
"outerHTML",
"#"+dialogEditID)
btnCloaseModalEdit := masterkelainan.BtnCloseFormKelainan(
"/dev/kelainan/closeeditform",
"#"+dialogEditBodyID,
"outerHTML",
"#"+dialogEditID)
modalEditFormComponent := masterkelainan.KelainanForm(
models.KelainanFormComponent{
IDComponent: "formkelainan",
Link: "/dev/kelainan/edit",
HxTarget: "#" + dialogEditBodyID,
HxSwap: "outerHTML",
HxInclude: "#tableID, #paginationID, #searchID, #dialogEditBodyID, #dialogEditID, #" + searchID + ", #currpage" + paginationID,
ModalID: dialogEditID,
ModalTitle: "New - Grup Kelainan",
DialogBody: dialogEditBodyComponent,
DialogAction: modalActioEditComponent,
ButtonCLose: btnCloaseModalEdit,
},
)
// content, css, js
content := masterkelainan.ContentMasterKelainan(
tableID, paginationID, searchID, dialogAddID, dialogAddBodyID,
dialogEditID,
dialogEditBodyID,
breadcrumbComponent,
contentKelainanComponent,
kelainanFilterComponent,
kelainanPaginationComponent,
modaladdcomponent)
modaladdcomponent,
modalEditFormComponent)
css := masterkelainan.CssKelainan()
js := masterkelainan.JsMdKelainan()
@@ -209,7 +256,7 @@ func (lh *MasterKelainanHandler) HandlerShowMasterKelainanSearch(c echo.Context)
searchID := c.QueryParam("searchID")
tableID := c.QueryParam("tableID")
paginationID := c.QueryParam("paginationID")
// dialogEditBodyID := c.QueryParam("dialogEditBodyID")
dialogEditBodyID := c.QueryParam("dialogEditBodyID")
// dialogDeleteBodyID := c.QueryParam("dialogDeleteBodyID")
logger, _ := zap.NewProduction()
@@ -224,7 +271,11 @@ func (lh *MasterKelainanHandler) HandlerShowMasterKelainanSearch(c echo.Context)
}
contentKelainanComponent := masterkelainan.TableKelainan(
dataKelainan, tableID)
dataKelainan, tableID,
"/dev/kelainan/openedit",
"#"+dialogEditBodyID,
"outerHTML",
"#dialogEditBodyID, #dialogEditID")
kelainanPaginationComponent := pagination.PaginationV2(totalpage,
1,
@@ -246,7 +297,7 @@ func (lh *MasterKelainanHandler) HandlerShowMasterKelainanPagination(c echo.Cont
tableID := c.QueryParam("tableID")
searchID := c.QueryParam("searchID")
paginationID := c.QueryParam("paginationID")
// dialogEditBodyID := c.QueryParam("dialogEditBodyID")
dialogEditBodyID := c.QueryParam("dialogEditBodyID")
// dialogDeleteBodyID := c.QueryParam("dialogDeleteBodyID")
page, err := strconv.Atoi(pageparam)
if err != nil {
@@ -269,7 +320,11 @@ func (lh *MasterKelainanHandler) HandlerShowMasterKelainanPagination(c echo.Cont
}
contentKelainanComponent := masterkelainan.TableKelainan(
dataKelainan, tableID)
dataKelainan, tableID,
"/dev/kelainan/openedit",
"#"+dialogEditBodyID,
"outerHTML",
"#dialogEditBodyID, #dialogEditID")
kelainanPaginationComponent := pagination.PaginationV2(totalpage,
page,
@@ -295,7 +350,7 @@ func (lh *MasterKelainanHandler) AddKelainan(c echo.Context) error {
currPagePrm := c.FormValue("currpage" + paginationID)
dialogAddBodyID := c.FormValue("dialogAddBodyID")
dialogAddID := c.FormValue("dialogAddID")
// dialogEditBodyID := c.FormValue("dialogEditBodyID")
dialogEditBodyID := c.FormValue("dialogEditBodyID")
// dialogDeleteBodyID := c.FormValue("dialogDeleteBodyID")
currPage, err := strconv.Atoi(currPagePrm)
@@ -398,7 +453,11 @@ func (lh *MasterKelainanHandler) AddKelainan(c echo.Context) error {
// New table listing
contentKelainanComponent := masterkelainan.TableKelainan(
dataKelainanList, tableID)
dataKelainanList, tableID,
"",
"#"+dialogEditBodyID,
"outerHTML",
"#dialogEditBodyID, #dialogEditID")
// New pagination
kelainanPaginationComponent := pagination.PaginationV2(totalpage,
@@ -432,3 +491,197 @@ func (lh *MasterKelainanHandler) HandleCloseFormAdd(c echo.Context) error {
dialogAddBodyID, masterkelainan.JsHideModal(""))
return utils.View(c, newForm)
}
func (lh *MasterKelainanHandler) HandleOpenEditForm(c echo.Context) error {
id := c.QueryParam("id")
dialogEditID := c.QueryParam("dialogEditID")
dialogEditBodyID := c.QueryParam("dialogEditBodyID")
dataKelainan, err := lh.MasterKelainanService.GetKelainanByID(id)
if err != nil {
newForm := masterkelainan.BodyFormKelainan(
models.CustomTextFieldv2Prm{
Label: "Nama Grup Kelainan",
Name: "kelainanname",
Placeholder: "Nama Grup Kelainan",
Type: "text",
ID: "kelainaninputname"},
models.CustomTextFieldv2Prm{Label: "Nama Grup Kelainan",
Name: "kelainanid",
Placeholder: "Nama Grup Kelainan",
Type: "hidden",
ID: "kelainaninputid"},
dialogEditBodyID, masterkelainan.JsHideModal(""))
return utils.ViewMulti(c, []templ.Component{customtoastv2.CustomToastV2Show("Error", "Get kelainan grup error", "danger"), newForm})
}
newForm := masterkelainan.BodyFormKelainan(
models.CustomTextFieldv2Prm{
Label: "Nama Grup Kelainan",
Name: "kelainanname",
Placeholder: "Nama Grup Kelainan",
Value: dataKelainan.Mcu_KelainanGroupName,
Type: "text",
ID: "kelainaninputname"},
models.CustomTextFieldv2Prm{Label: "Nama Grup Kelainan",
Name: "kelainanid",
Placeholder: "Nama Grup Kelainan",
Value: strconv.Itoa(dataKelainan.Mcu_KelainanGroupID),
Type: "hidden",
ID: "kelainaninputid"},
dialogEditBodyID, masterkelainan.JsShowModal("#"+dialogEditID))
return utils.View(c, newForm)
}
func (lh *MasterKelainanHandler) HandleCloseFormEdit(c echo.Context) error {
dialogEditBodyID := c.FormValue("dialogEditBodyID")
newForm := masterkelainan.BodyFormKelainan(
models.CustomTextFieldv2Prm{
Label: "Nama Grup Kelainan",
Name: "kelainanname",
Placeholder: "Nama Grup Kelainan",
Type: "text",
ID: "kelainaninputname"},
models.CustomTextFieldv2Prm{Label: "Nama Grup Kelainan",
Name: "kelainanid",
Placeholder: "Nama Grup Kelainan",
Type: "hidden",
ID: "kelainaninputid"},
dialogEditBodyID, masterkelainan.JsHideModal(""))
return utils.View(c, newForm)
}
func (lh *MasterKelainanHandler) HandleEditKelainan(c echo.Context) error {
logger, _ := zap.NewProduction()
defer logger.Sync()
//prm form editkelainan
name := c.FormValue("kelainanname")
id := c.FormValue("kelainanid")
tableID := c.FormValue("tableID")
paginationID := c.FormValue("paginationID")
searchID := c.FormValue("searchID")
search := c.FormValue("search")
currPagePrm := c.FormValue("currpage" + paginationID)
dialogEditID := c.FormValue("dialogEditID")
dialogEditBodyID := c.FormValue("dialogEditBodyID")
currPage, err := strconv.Atoi(currPagePrm)
if err != nil {
return err
}
logger.Info("EDIT KELAINAN",
zap.Any("nama", name),
zap.Any("tableid", tableID),
zap.Any("search", search),
zap.Any("currpage", currPage),
)
// form validation
nameValidation := ""
if strings.TrimSpace(name) == "" {
nameValidation = "Nama grup kelainan tidak boleh kosong"
}
if nameValidation != "" {
newForm := masterkelainan.BodyFormKelainan(
models.CustomTextFieldv2Prm{
Label: "Nama Grup Kelainan",
Name: "kelainanname",
Placeholder: "Nama Grup Kelainan",
Type: "text",
Value: name,
ID: "kelainaninputname",
ErrorMsg: nameValidation},
models.CustomTextFieldv2Prm{Label: "Nama Grup Kelainan",
Name: "kelainanid",
Placeholder: "Nama Grup Kelainan",
Type: "hidden",
ID: "kelainaninputid"},
dialogEditBodyID, masterkelainan.JsHideModal(""))
return utils.ViewMulti(c, []templ.Component{
customtoastv2.CustomToastV2Show("Warning", nameValidation, "warning"), newForm})
}
// edit kelainan service
dataKelainan, err := lh.MasterKelainanService.EditKelainan(id, name)
if err != nil {
logger.Info("Error",
zap.Any("Error", err),
zap.Any("name", name),
)
newForm := masterkelainan.BodyFormKelainan(
models.CustomTextFieldv2Prm{
Label: "Nama Grup Kelainan",
Name: "kelainanname",
Placeholder: "Nama Grup Kelainan",
Type: "text",
Value: name,
ID: "kelainaninputname",
},
models.CustomTextFieldv2Prm{Label: "Nama Grup Kelainan",
Name: "kelainanid",
Placeholder: "Nama Grup Kelainan",
Type: "hidden",
ID: "kelainaninputid"},
dialogEditBodyID, masterkelainan.JsHideModal(""))
return utils.ViewMulti(c, []templ.Component{
customtoastv2.CustomToastV2Show("Error", err.Error(), "danger"), newForm})
}
logger.Info("EDIT KELAINAN",
zap.Any("reutn", dataKelainan),
zap.Any("name", name),
)
// get list kelainan for table
dataKelainanList, totalPage, err := lh.MasterKelainanService.GetListMasterKelainan(search, currPage, 5)
if err != nil {
defer logger.Sync()
logger.Info("ERROR GET KELAINAN",
zap.Any("error", err),
)
fmt.Println(dataKelainan)
return err
}
// Table component
tableComponent := masterkelainan.TableKelainan(dataKelainanList,
tableID,
"/dev/kelainan/openedit",
"#"+dialogEditBodyID,
"outerHTML",
"#dialogEditBodyID, #dialogEditID")
// pagination component
kelainanPaginationComponent := pagination.PaginationV2(
totalPage,
currPage,
"/dev/kelainanpagination",
paginationID,
"#tableID, #searchID, #"+searchID+", #paginationID, #dialogEditBodyID, #dialogEditID",
"#"+paginationID,
"outerHTML", "", "true",
)
newForm := masterkelainan.BodyFormKelainan(
models.CustomTextFieldv2Prm{
Label: "Nama Grup Kelainan",
Name: "kelainanname",
Placeholder: "Nama Grup Kelainan",
ErrorMsg: nameValidation,
Type: "text"},
models.CustomTextFieldv2Prm{
Label: "Nama Grup Kelainan",
Name: "kelainanid",
Placeholder: "Nama Grup Kelainan",
Type: "hidden", ID: "kelainaninputid"},
dialogEditBodyID, masterkelainan.JsHideModal("#"+dialogEditID))
toastSuccess := customtoastv2.CustomToastV2Show("Success", "Berhasil edit Kelainan Grup "+name, "success")
retval := []templ.Component{toastSuccess, tableComponent, kelainanPaginationComponent, newForm}
return utils.ViewMulti(c, retval)
}

View File

@@ -220,4 +220,7 @@ func SetupRoutesDev(app *echo.Echo, appStore db.AppStore) {
dev.GET("/kelainanpagination", devKLhandlers.HandlerShowMasterKelainanPagination)
dev.POST("/kelainan/closeaddform", devKLhandlers.HandleCloseFormAdd)
dev.POST("/kelainan/add", devKLhandlers.AddKelainan)
dev.GET("/kelainan/openedit", devKLhandlers.HandleOpenEditForm)
dev.POST("/kelainan/closeeditform", devKLhandlers.HandleCloseFormEdit)
dev.POST("/kelainan/edit", devKLhandlers.HandleEditKelainan)
}

View File

@@ -3,12 +3,16 @@ package models
import "github.com/a-h/templ"
type Kelainan struct {
Nomor string `db:"nomor"`
Mcu_KelainanGroupID int `db:"Mcu_KelainanGroupID"`
Mcu_KelainanGroupName string `db:"Mcu_KelainanGroupName"`
Mcu_KelainanGroupIsActive string `db:"Mcu_KelainanGroupIsActive"`
Mcu_KelainanGroupCreated string `db:"Mcu_KelainanGroupCreated"`
Mcu_KelainanGroupLastUpdated string `db:"Mcu_KelainanGroupLastUpdated"`
Nomor string `db:"nomor"`
Mcu_KelainanGroupID int `db:"Mcu_KelainanGroupID"`
Mcu_KelainanGroupName string `db:"Mcu_KelainanGroupName"`
Mcu_KelainanGroupIsActive string `db:"Mcu_KelainanGroupIsActive"`
Mcu_KelainanGroupCreated string `db:"Mcu_KelainanGroupCreated"`
Mcu_KelainanGroupCreatedUserID string `db:"Mcu_KelainanGroupCreatedUserID"`
Mcu_KelainanGroupLastUpdated string `db:"Mcu_KelainanGroupLastUpdated"`
Mcu_KelainanGroupLastUpdatedUserID string `db:"Mcu_KelainanGroupLastUpdatedUserID"`
Mcu_KelainanGroupDeleted string `db:"Mcu_KelainanGroupDeleted"`
Mcu_KelainanGroupDeletedUserID string `db:"Mcu_KelainanGroupDeletedUserID"`
}
type KelainanFormComponent struct {

View File

@@ -155,3 +155,53 @@ func (su *ServicesMasterKelainan) AddKelainan(name string) (models.Kelainan, err
return data, nil
}
func (su *ServicesMasterKelainan) EditKelainan(id string, name string) (models.Kelainan, error) {
logger, _ := zap.NewProduction()
var data models.Kelainan
var datacek []models.Kelainan
qryCek := `SELECT Mcu_KelainanGroupName FROM mcu_kelainangroup
WHERE Mcu_KelainanGroupName = ? AND Mcu_KelainanGroupIsActive = 'Y'
AND Mcu_KelainanGroupID <> ?`
err := dbx.Handlex.Select(&datacek, qryCek, name, id)
if err != nil {
defer logger.Sync()
logger.Error("Error cek data by name",
zap.Any("datacek", datacek),
)
return data, fmt.Errorf("QUERY_FAILED")
}
if len(datacek) > 0 {
defer logger.Sync()
logger.Error("Name already taken by another data",
zap.String("name", name),
)
return data, fmt.Errorf("name sudah dipakai")
}
qry := `UPDATE mcu_kelainangroup
SET Mcu_KelainanGroupName = ?,
Mcu_KelainanGroupLastUpdated = NOW()
WHERE Mcu_KelainanGroupID = ?`
rst := dbx.Handlex.MustExec(qry, name, id)
_, err = rst.RowsAffected()
if err != nil {
defer logger.Sync()
logger.Error("Error Update Kelainan",
zap.String("name", name),
)
return data, fmt.Errorf("QUERY_FAILED")
}
data, err = su.GetKelainanByID(id)
if err != nil {
defer logger.Sync()
logger.Error("Error get kelainan by id",
zap.String("name", name),
)
return data, fmt.Errorf("QUERY_FAILED")
}
return data, nil
}

View File

@@ -12,11 +12,14 @@ templ ContentMasterKelainan(
searchID string,
dialogAddID string,
dialogAddBodyID string,
dialogEditID string,
dialogEditBodyID string,
breadcrumb templ.Component,
tablecontent templ.Component,
filterComponent templ.Component,
paginationComponent templ.Component,
modalAddform templ.Component,
modalEditForm templ.Component,
) {
<div class="container-fluid">
@customtextfield.CustomTextFieldv2(models.CustomTextFieldv2Prm{ID: "tableID",
@@ -39,6 +42,14 @@ templ ContentMasterKelainan(
Name: "dialogAddBodyID",
Type: "hidden",
Value: dialogAddBodyID})
@customtextfield.CustomTextFieldv2(models.CustomTextFieldv2Prm{ID: "dialogEditID",
Name: "dialogEditID",
Type: "hidden",
Value: dialogEditID})
@customtextfield.CustomTextFieldv2(models.CustomTextFieldv2Prm{ID: "dialogEditBodyID",
Name: "dialogEditBodyID",
Type: "hidden",
Value: dialogEditBodyID})
<div class="row align-items-center mb-10">
<div class="col-md-10 col-sm-12 p-0 ">
@breadcrumb
@@ -66,6 +77,7 @@ templ ContentMasterKelainan(
@tablecontent
@paginationComponent
@modalAddform
@modalEditForm
</div>
}

View File

@@ -22,11 +22,14 @@ func ContentMasterKelainan(
searchID string,
dialogAddID string,
dialogAddBodyID string,
dialogEditID string,
dialogEditBodyID string,
breadcrumb templ.Component,
tablecontent templ.Component,
filterComponent templ.Component,
paginationComponent templ.Component,
modalAddform templ.Component,
modalEditForm 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)
@@ -79,6 +82,20 @@ func ContentMasterKelainan(
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
templ_7745c5c3_Err = customtextfield.CustomTextFieldv2(models.CustomTextFieldv2Prm{ID: "dialogEditID",
Name: "dialogEditID",
Type: "hidden",
Value: dialogEditID}).Render(ctx, templ_7745c5c3_Buffer)
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
templ_7745c5c3_Err = customtextfield.CustomTextFieldv2(models.CustomTextFieldv2Prm{ID: "dialogEditBodyID",
Name: "dialogEditBodyID",
Type: "hidden",
Value: dialogEditBodyID}).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
@@ -94,7 +111,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: 52, Col: 37}
return templ.Error{Err: templ_7745c5c3_Err, FileName: `views\dev\masterkelainan\masterkelainan.templ`, Line: 63, Col: 37}
}
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var2))
if templ_7745c5c3_Err != nil {
@@ -107,7 +124,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: 61, Col: 36}
return templ.Error{Err: templ_7745c5c3_Err, FileName: `views\dev\masterkelainan\masterkelainan.templ`, Line: 72, Col: 36}
}
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var3))
if templ_7745c5c3_Err != nil {
@@ -133,6 +150,10 @@ func ContentMasterKelainan(
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
templ_7745c5c3_Err = modalEditForm.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

View File

@@ -3,17 +3,34 @@ package masterkelainan
import (
"cpone/component/table"
"cpone/models"
"strconv"
)
templ TableKelainan(data []models.Kelainan, tableID string) {
templ TableKelainan(data []models.Kelainan,
tableID string,
hxGetEdit string,
hxTargetEdit string,
hxSwapEdit string,
hxIncludeEdit string,
) {
<div id={ tableID } hx-swap-oob="true">
@tablecomponent.TableV3([]string{"NO", "GRUP KELAINAN", "AKSI"},
[]string{"10%", "70%", "20%"},
TableRow(data))
TableRow(data,
hxGetEdit,
hxTargetEdit,
hxSwapEdit,
hxIncludeEdit,
))
</div>
}
templ TableRow(data []models.Kelainan) {
templ TableRow(data []models.Kelainan,
hxGetEdit string,
hxTargetEdit string,
hxSwapEdit string,
hxIncludeEdit string,
) {
if len(data) == 0 {
<tr>
<td colspan="3" class="text-center">Data Tidak Ditemukan</td>
@@ -24,8 +41,42 @@ templ TableRow(data []models.Kelainan) {
<td>{ v.Nomor }</td>
<td>{ v.Mcu_KelainanGroupName }</td>
<td>
action
@TableAction(v.Mcu_KelainanGroupID,
hxGetEdit,
hxTargetEdit,
hxSwapEdit,
hxIncludeEdit,
)
</td>
</tr>
}
}
templ TableAction(
id int,
hxGetEdit string,
hxTargetEdit string,
hxSwapEdit string,
hxIncludeEdit string,
) {
<div class="row px-5 d-flex justify-content-around">
<a
id="btneditug"
type="button"
class="btneditug col-12 col-sm-12 col-md-12 col-lg-5 col-xl-5 col-xxl-5 btn btn-light-tosca mb-2"
hx-get={ hxGetEdit + "?id=" + strconv.Itoa(id) }
hx-target={ hxTargetEdit }
hx-swap={ hxSwapEdit }
hx-include={ hxIncludeEdit }
>
Edit
</a>
<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"
>
Hapus
</a>
</div>
}

View File

@@ -13,9 +13,16 @@ import "bytes"
import (
"cpone/component/table"
"cpone/models"
"strconv"
)
func TableKelainan(data []models.Kelainan, tableID string) templ.Component {
func TableKelainan(data []models.Kelainan,
tableID string,
hxGetEdit string,
hxTargetEdit string,
hxSwapEdit string,
hxIncludeEdit 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 {
@@ -35,7 +42,7 @@ func TableKelainan(data []models.Kelainan, tableID string) templ.Component {
var templ_7745c5c3_Var2 string
templ_7745c5c3_Var2, templ_7745c5c3_Err = templ.JoinStringErrs(tableID)
if templ_7745c5c3_Err != nil {
return templ.Error{Err: templ_7745c5c3_Err, FileName: `views\dev\masterkelainan\mdkelainantable.templ`, Line: 9, Col: 18}
return templ.Error{Err: templ_7745c5c3_Err, FileName: `views\dev\masterkelainan\mdkelainantable.templ`, Line: 16, Col: 18}
}
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var2))
if templ_7745c5c3_Err != nil {
@@ -47,7 +54,12 @@ func TableKelainan(data []models.Kelainan, tableID string) templ.Component {
}
templ_7745c5c3_Err = tablecomponent.TableV3([]string{"NO", "GRUP KELAINAN", "AKSI"},
[]string{"10%", "70%", "20%"},
TableRow(data)).Render(ctx, templ_7745c5c3_Buffer)
TableRow(data,
hxGetEdit,
hxTargetEdit,
hxSwapEdit,
hxIncludeEdit,
)).Render(ctx, templ_7745c5c3_Buffer)
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
@@ -62,7 +74,12 @@ func TableKelainan(data []models.Kelainan, tableID string) templ.Component {
})
}
func TableRow(data []models.Kelainan) templ.Component {
func TableRow(data []models.Kelainan,
hxGetEdit string,
hxTargetEdit string,
hxSwapEdit string,
hxIncludeEdit 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 +106,7 @@ func TableRow(data []models.Kelainan) 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\mdkelainantable.templ`, Line: 24, Col: 16}
return templ.Error{Err: templ_7745c5c3_Err, FileName: `views\dev\masterkelainan\mdkelainantable.templ`, Line: 41, Col: 16}
}
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var4))
if templ_7745c5c3_Err != nil {
@@ -102,13 +119,26 @@ func TableRow(data []models.Kelainan) templ.Component {
var templ_7745c5c3_Var5 string
templ_7745c5c3_Var5, templ_7745c5c3_Err = templ.JoinStringErrs(v.Mcu_KelainanGroupName)
if templ_7745c5c3_Err != nil {
return templ.Error{Err: templ_7745c5c3_Err, FileName: `views\dev\masterkelainan\mdkelainantable.templ`, Line: 25, Col: 32}
return templ.Error{Err: templ_7745c5c3_Err, FileName: `views\dev\masterkelainan\mdkelainantable.templ`, Line: 42, Col: 32}
}
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var5))
if templ_7745c5c3_Err != nil {
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 = TableAction(v.Mcu_KelainanGroupID,
hxGetEdit,
hxTargetEdit,
hxSwapEdit,
hxIncludeEdit,
).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
}
@@ -119,3 +149,85 @@ func TableRow(data []models.Kelainan) templ.Component {
return templ_7745c5c3_Err
})
}
func TableAction(
id int,
hxGetEdit string,
hxTargetEdit string,
hxSwapEdit string,
hxIncludeEdit 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_Var6 := templ.GetChildren(ctx)
if templ_7745c5c3_Var6 == nil {
templ_7745c5c3_Var6 = templ.NopComponent
}
ctx = templ.ClearChildren(ctx)
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("<div class=\"row px-5 d-flex justify-content-around\"><a id=\"btneditug\" type=\"button\" class=\"btneditug col-12 col-sm-12 col-md-12 col-lg-5 col-xl-5 col-xxl-5 btn btn-light-tosca mb-2\" hx-get=\"")
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
var templ_7745c5c3_Var7 string
templ_7745c5c3_Var7, templ_7745c5c3_Err = templ.JoinStringErrs(hxGetEdit + "?id=" + strconv.Itoa(id))
if templ_7745c5c3_Err != nil {
return templ.Error{Err: templ_7745c5c3_Err, FileName: `views\dev\masterkelainan\mdkelainantable.templ`, Line: 67, Col: 49}
}
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var7))
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_Var8 string
templ_7745c5c3_Var8, templ_7745c5c3_Err = templ.JoinStringErrs(hxTargetEdit)
if templ_7745c5c3_Err != nil {
return templ.Error{Err: templ_7745c5c3_Err, FileName: `views\dev\masterkelainan\mdkelainantable.templ`, Line: 68, Col: 27}
}
_, 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-swap=\"")
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
var templ_7745c5c3_Var9 string
templ_7745c5c3_Var9, templ_7745c5c3_Err = templ.JoinStringErrs(hxSwapEdit)
if templ_7745c5c3_Err != nil {
return templ.Error{Err: templ_7745c5c3_Err, FileName: `views\dev\masterkelainan\mdkelainantable.templ`, Line: 69, Col: 23}
}
_, 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-include=\"")
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
var templ_7745c5c3_Var10 string
templ_7745c5c3_Var10, templ_7745c5c3_Err = templ.JoinStringErrs(hxIncludeEdit)
if templ_7745c5c3_Err != nil {
return templ.Error{Err: templ_7745c5c3_Err, FileName: `views\dev\masterkelainan\mdkelainantable.templ`, Line: 70, Col: 29}
}
_, 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("\">Edit\r</a> <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\">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
})
}