step 1 : initial doctor list
This commit is contained in:
380
handlers/dev/md.doctor.handlers.go
Normal file
380
handlers/dev/md.doctor.handlers.go
Normal file
@@ -0,0 +1,380 @@
|
||||
package dev_handlers
|
||||
|
||||
import (
|
||||
breadcrumadmin "cpone/component/breadcrumbadmin"
|
||||
customtextfieldsearch "cpone/component/customtextfieldsearch"
|
||||
navbarmenu "cpone/component/navbar"
|
||||
"cpone/component/pagination"
|
||||
sidebaruserprofile "cpone/component/sidebar_user_profile"
|
||||
"cpone/models"
|
||||
"cpone/services"
|
||||
"cpone/utils"
|
||||
"fmt"
|
||||
|
||||
dev_mddoctorview "cpone/views/dev/mddoctor"
|
||||
|
||||
"github.com/labstack/echo/v4"
|
||||
"go.uber.org/zap"
|
||||
)
|
||||
|
||||
type MdDoctorServices interface {
|
||||
GetListMdDoctor(search string, currentPage int, rowPerPage int) ([]models.DoctorV1, int, error)
|
||||
// GetMdGroupResultByID(id string) (models.DoctorV1, error)
|
||||
// AddMdGroupResult(groupresultname string, groupresultflagpertest string, groupresultflagnonlab string, groupresultresumemcu string) (models.DoctorV1, error)
|
||||
// EditMdGroupResult(id string, groupresultname string, groupresultflagpertest string, groupresultflagnonlab string, groupresultresumemcu string) (models.DoctorV1, error)
|
||||
// DeleteMdGroupResult(id string) (models.DoctorV1, error)
|
||||
GetMdDoctorBreadcrumb(title string) (models.BreadCrumbV1, error)
|
||||
// GetMdGroupResultResumeMcu() ([]models.GroupResultResumeMcu, error)
|
||||
}
|
||||
|
||||
func NewMdDoctorHandler(us MdDoctorServices) *MdDoctorHandler {
|
||||
return &MdDoctorHandler{
|
||||
MdDoctorServices: us,
|
||||
}
|
||||
}
|
||||
|
||||
type MdDoctorHandler struct {
|
||||
MdDoctorServices MdDoctorServices
|
||||
}
|
||||
|
||||
// INITIAL
|
||||
func (lh *MdDoctorHandler) HandleShowMdDoctorScreen(c echo.Context) error {
|
||||
logger, _ := zap.NewProduction()
|
||||
//get sidebarmenu
|
||||
tableID := utils.GenerateRandomID("tablebody")
|
||||
paginationID := utils.GenerateRandomID("paginationid")
|
||||
searchID := utils.GenerateRandomID("searchid")
|
||||
dialogAddID := utils.GenerateRandomID("dialogaddID")
|
||||
dialogAddBodyID := utils.GenerateRandomID("dialogaddbodyID")
|
||||
dialogEditID := utils.GenerateRandomID("dialogEditID")
|
||||
dialogEditBodyID := utils.GenerateRandomID("dialogEditbodyID")
|
||||
dialogDeleteID := utils.GenerateRandomID("dialogDeleteID")
|
||||
dialogDeleteBodyID := utils.GenerateRandomID("dialogDeletebodyID")
|
||||
dataMenu, err := services.GetMenu()
|
||||
fmt.Println(dataMenu)
|
||||
fmt.Println(err)
|
||||
if err != nil {
|
||||
fmt.Println(dataMenu)
|
||||
return err
|
||||
}
|
||||
|
||||
//get user login
|
||||
dataUser, err := services.GetUserLogin()
|
||||
fmt.Println(dataUser)
|
||||
fmt.Println(err)
|
||||
if err != nil {
|
||||
fmt.Println(dataUser)
|
||||
return err
|
||||
}
|
||||
defer logger.Sync()
|
||||
logger.Info("LOAD USER DEV",
|
||||
zap.Any("data", dataUser),
|
||||
)
|
||||
|
||||
title := "Master Group Result"
|
||||
|
||||
dataBreadCrumb, err := lh.MdDoctorServices.GetMdDoctorBreadcrumb(title)
|
||||
fmt.Println(dataBreadCrumb)
|
||||
fmt.Println(err)
|
||||
if err != nil {
|
||||
defer logger.Sync()
|
||||
logger.Info("ERROR BREADCRUMB DEV",
|
||||
zap.Any("error", err),
|
||||
)
|
||||
fmt.Println(dataBreadCrumb)
|
||||
return err
|
||||
}
|
||||
|
||||
defer logger.Sync()
|
||||
logger.Info("LOAD BREADCRUMB DEV",
|
||||
zap.Any("data", dataBreadCrumb),
|
||||
)
|
||||
//Breadcrumb component
|
||||
breadcrumbComponent := breadcrumadmin.MainBreadcrumbAdminV1(dataBreadCrumb)
|
||||
// navbar menu
|
||||
navbarmenuComponent := navbarmenu.NavbarMenu(dataMenu)
|
||||
|
||||
// navbar user
|
||||
navbaruserComponent := navbarmenu.Navbar(dataUser)
|
||||
|
||||
// sidebar
|
||||
sidebaruserprofileComponent := sidebaruserprofile.Navbaruserprofile(dataUser)
|
||||
|
||||
//Table component
|
||||
dataGroupResult, totalPage, err := lh.MdDoctorServices.GetListMdDoctor("", 1, 5)
|
||||
if err != nil {
|
||||
defer logger.Sync()
|
||||
logger.Info("ERROR GET GROUP RESULT",
|
||||
zap.Any("error", err),
|
||||
)
|
||||
fmt.Println(dataGroupResult)
|
||||
return err
|
||||
}
|
||||
|
||||
tableComponent := dev_mddoctorview.TableDoctor(dataGroupResult,
|
||||
tableID,
|
||||
"/dev/md/doctorv2/openedit",
|
||||
"#"+dialogEditBodyID,
|
||||
"outerHTML",
|
||||
"#dialogEditBodyID, #dialogEditID, #dialogDeleteBodyID, #dialogDeleteID",
|
||||
"/dev/md/doctorv2/opendelete",
|
||||
"#"+dialogDeleteBodyID,
|
||||
"outerHTML",
|
||||
"#dialogEditBodyID, #dialogEditID, #dialogDeleteBodyID, #dialogDeleteID",
|
||||
)
|
||||
|
||||
//filter user group component
|
||||
usergroupFilterComponent := customtextfieldsearch.MainCustomTextFieldSearchV3(searchID,
|
||||
"search",
|
||||
"Cari Nama / Doctor Code / Specialist",
|
||||
"text",
|
||||
"/dev/md/doctorv2/filter",
|
||||
"input changed delay:500ms, search",
|
||||
"#"+paginationID, "#loadingcontent", "", "outerHTML", "#tableID, #paginationID, #searchID,#dialogEditBodyID, #dialogEditID, #dialogDeleteBodyID, #dialogDeleteID",
|
||||
dev_mddoctorview.BeforeRequestContentMdDoctor(),
|
||||
dev_mddoctorview.AfterRequestContentMdDoctor())
|
||||
//Pagination
|
||||
userGroupPaginationComponent := pagination.PaginationV3(
|
||||
totalPage,
|
||||
1,
|
||||
"/dev/md/doctorv2/changepage",
|
||||
paginationID,
|
||||
"#tableID, #searchID, #"+searchID+", #paginationID, #dialogEditBodyID, #dialogEditID, #dialogDeleteBodyID, #dialogDeleteID",
|
||||
"#"+paginationID,
|
||||
"outerHTML", "", "",
|
||||
dev_mddoctorview.BeforeRequestContentMdDoctor(),
|
||||
dev_mddoctorview.AfterRequestContentMdDoctor(),
|
||||
)
|
||||
|
||||
// // listItem
|
||||
// dataResultMcu, err := lh.MdDoctorServices.GetMdGroupResultResumeMcu()
|
||||
// fmt.Println(dataResultMcu)
|
||||
// fmt.Println(err)
|
||||
// if err != nil {
|
||||
// defer logger.Sync()
|
||||
// logger.Info("ERROR BREADCRUMB DEV",
|
||||
// zap.Any("error", err),
|
||||
// )
|
||||
// fmt.Println(dataResultMcu)
|
||||
// return err
|
||||
// }
|
||||
|
||||
// defer logger.Sync()
|
||||
// logger.Info("LOAD BREADCRUMB DEV",
|
||||
// zap.Any("data", dataBreadCrumb),
|
||||
// )
|
||||
|
||||
// // Component Dropdown MCU
|
||||
// listItemResultMcuComponent := dev_mddoctorview.ItemDropdown(dataResultMcu, 0)
|
||||
|
||||
//modal add form
|
||||
// dialogAddBodyCmp := dev_mddoctorview.BodyFormGroupResult(
|
||||
// models.CustomTextFieldv2Prm{
|
||||
// Label: "Group Result name",
|
||||
// Name: "groupresultid",
|
||||
// Placeholder: "Group Result name",
|
||||
// Type: "hidden",
|
||||
// ID: "groupresultid",
|
||||
// },
|
||||
// models.CustomTextFieldv2Prm{
|
||||
// Label: "Group Result Name",
|
||||
// Name: "groupresultname",
|
||||
// Placeholder: "Group Result Name",
|
||||
// Type: "text", ID: "groupresultname"},
|
||||
// models.CustomCheckboxv1Prm{
|
||||
// Label: "Group Result Flag Per Test (Dicentang Maka Ya)",
|
||||
// Name: "groupresultflagpertest",
|
||||
// ID: "groupresultflagpertest",
|
||||
// Value: "N",
|
||||
// },
|
||||
// models.CustomCheckboxv1Prm{
|
||||
// Label: "Group Result Flag Non Lab (Dicentang Maka Ya)",
|
||||
// Name: "groupresultflagnonlab",
|
||||
// ID: "groupresultflagnonlab",
|
||||
// Value: "N",
|
||||
// },
|
||||
// models.CustomDropdownv1Prm{
|
||||
// Label: "Group Result Resume MCU",
|
||||
// Name: "groupresultresumemcu",
|
||||
// ID: "groupresultresumemcu",
|
||||
// },
|
||||
// listItemResultMcuComponent,
|
||||
// dialogAddBodyID, dev_mddoctorview.JsHideModalGroupResult(""))
|
||||
|
||||
// modalActioAddCmp := dev_mddoctorview.ActionFormGroupResult(
|
||||
// "/dev/md/doctorv2/closeaddform",
|
||||
// "#"+dialogAddBodyID,
|
||||
// "outerHTML",
|
||||
// "#"+dialogAddID)
|
||||
// btnCloaseModalAdd := dev_mddoctorview.BtnCloseFormGroupResult(
|
||||
// "/dev/md/doctorv2/closeaddform",
|
||||
// "#"+dialogAddBodyID,
|
||||
// "outerHTML",
|
||||
// "#"+dialogAddID)
|
||||
|
||||
// // add
|
||||
// modalAddFormComponent := dev_mddoctorview.GroupResultForm(
|
||||
// models.GroupResultFormComponent{
|
||||
// IDComponent: "formgroupresult",
|
||||
// Link: "/dev/md/doctorv2/add",
|
||||
// HxTarget: "#" + dialogAddBodyID,
|
||||
// HxSwap: "outerHTML",
|
||||
// HxInclude: "#tableID, #paginationID, #searchID, #dialogAddBodyID, #dialogAddID, #dialogDeleteBodyID, #dialogEditBodyID, #" + searchID + ", #currpage" + paginationID,
|
||||
// ModalID: dialogAddID,
|
||||
// ModalTitle: "New-Group Result",
|
||||
// DialogBody: dialogAddBodyCmp,
|
||||
// DialogAction: modalActioAddCmp,
|
||||
// ButtonCLose: btnCloaseModalAdd,
|
||||
// },
|
||||
// )
|
||||
|
||||
// //modal edit form
|
||||
// dialogEditBodyCmp := dev_mddoctorview.BodyFormGroupResult(
|
||||
// models.CustomTextFieldv2Prm{
|
||||
// Label: "Group Result name",
|
||||
// Name: "groupresultid",
|
||||
// Placeholder: "Group Result name",
|
||||
// Type: "hidden",
|
||||
// ID: "groupresultid",
|
||||
// },
|
||||
// models.CustomTextFieldv2Prm{
|
||||
// Label: "Group Result Name",
|
||||
// Name: "groupresultname",
|
||||
// Placeholder: "Group Result Name",
|
||||
// Type: "text", ID: "groupresultname"},
|
||||
// models.CustomCheckboxv1Prm{
|
||||
// Label: "Group Result Flag Per Test (Dicentang Maka Ya)",
|
||||
// Name: "groupresultflagpertest",
|
||||
// ID: "groupresultflagpertest",
|
||||
// Value: "N",
|
||||
// },
|
||||
// models.CustomCheckboxv1Prm{
|
||||
// Label: "Group Result Flag Non Lab (Dicentang Maka Ya)",
|
||||
// Name: "groupresultflagnonlab",
|
||||
// ID: "groupresultflagnonlab",
|
||||
// Value: "N",
|
||||
// },
|
||||
// models.CustomDropdownv1Prm{
|
||||
// Label: "Group Result Resume MCU",
|
||||
// Name: "groupresultresumemcu",
|
||||
// ID: "groupresultresumemcu",
|
||||
// },
|
||||
// listItemResultMcuComponent,
|
||||
// dialogEditBodyID, dev_mddoctorview.JsHideModalGroupResult(""))
|
||||
// modalActioEditCmp := dev_mddoctorview.ActionFormGroupResult(
|
||||
// "/dev/md/doctorv2/closeeditform",
|
||||
// "#"+dialogEditBodyID,
|
||||
// "outerHTML",
|
||||
// "#"+dialogEditID)
|
||||
// btnCloaseModalEdit := dev_mddoctorview.BtnCloseFormGroupResult(
|
||||
// "/dev/md/doctorv2/closeeditform",
|
||||
// "#"+dialogEditBodyID,
|
||||
// "outerHTML",
|
||||
// "#"+dialogEditID)
|
||||
|
||||
// modalEditFormComponent := dev_mddoctorview.GroupResultForm(
|
||||
// models.GroupResultFormComponent{
|
||||
// IDComponent: "formgroupresult",
|
||||
// Link: "/dev/md/doctorv2/edit",
|
||||
// HxTarget: "#" + dialogEditBodyID,
|
||||
// HxSwap: "outerHTML",
|
||||
// HxInclude: "#tableID, #paginationID, #searchID, #dialogDeleteBodyID, #dialogEditBodyID, #dialogEditID, #" + searchID + ", #currpage" + paginationID,
|
||||
// ModalID: dialogEditID,
|
||||
// ModalTitle: "New-Group Result",
|
||||
// DialogBody: dialogEditBodyCmp,
|
||||
// DialogAction: modalActioEditCmp,
|
||||
// ButtonCLose: btnCloaseModalEdit,
|
||||
// },
|
||||
// )
|
||||
// //modal delete form
|
||||
// dialogDeleteBodyCmp := dev_mddoctorview.BodyFormGroupResult(
|
||||
// models.CustomTextFieldv2Prm{
|
||||
// Label: "Group Result name",
|
||||
// Name: "groupresultid",
|
||||
// Placeholder: "Group Result name",
|
||||
// Type: "hidden",
|
||||
// ID: "groupresultid",
|
||||
// },
|
||||
// models.CustomTextFieldv2Prm{
|
||||
// Label: "Group Result Name",
|
||||
// Name: "groupresultname",
|
||||
// Placeholder: "Group Result Name",
|
||||
// Type: "text", ID: "groupresultname"},
|
||||
// models.CustomCheckboxv1Prm{
|
||||
// Label: "Group Result Flag Per Test (Dicentang Maka Ya)",
|
||||
// Name: "groupresultflagpertest",
|
||||
// ID: "groupresultflagpertest",
|
||||
// Value: "N",
|
||||
// },
|
||||
// models.CustomCheckboxv1Prm{
|
||||
// Label: "Group Result Flag Non Lab (Dicentang Maka Ya)",
|
||||
// Name: "groupresultflagnonlab",
|
||||
// ID: "groupresultflagnonlab",
|
||||
// Value: "N",
|
||||
// },
|
||||
// models.CustomDropdownv1Prm{
|
||||
// Label: "Group Result Resume MCU",
|
||||
// Name: "groupresultresumemcu",
|
||||
// ID: "groupresultresumemcu",
|
||||
// },
|
||||
// listItemResultMcuComponent,
|
||||
// dialogDeleteBodyID, dev_mddoctorview.JsHideModalGroupResult(""))
|
||||
// modalActioDeleteCmp := dev_mddoctorview.ActionFormGroupResultDelete(
|
||||
// "/dev/md/doctorv2/closedeleteform",
|
||||
// "#"+dialogDeleteBodyID,
|
||||
// "outerHTML",
|
||||
// "#"+dialogDeleteID)
|
||||
// btnCloaseModalDelete := dev_mddoctorview.BtnCloseFormGroupResult(
|
||||
// "/dev/md/doctorv2/closedeleteform",
|
||||
// "#"+dialogDeleteBodyID,
|
||||
// "outerHTML",
|
||||
// "#"+dialogDeleteID)
|
||||
// modalDeleteFormComponent := dev_mddoctorview.GroupResultForm(
|
||||
// models.GroupResultFormComponent{
|
||||
// IDComponent: "formgroupresult",
|
||||
// Link: "/dev/md/doctorv2/delete",
|
||||
// HxTarget: "#" + dialogDeleteBodyID,
|
||||
// HxSwap: "outerHTML",
|
||||
// HxInclude: "#tableID, #paginationID, #searchID, #dialogDeleteBodyID, #dialogDeleteID, #dialogEditBodyID, #" + searchID + ", #currpage" + paginationID,
|
||||
// ModalID: dialogDeleteID,
|
||||
// ModalTitle: "New-Group Result",
|
||||
// DialogBody: dialogDeleteBodyCmp,
|
||||
// DialogAction: modalActioDeleteCmp,
|
||||
// ButtonCLose: btnCloaseModalDelete,
|
||||
// },
|
||||
// )
|
||||
|
||||
modalAddFormComponent := dev_mddoctorview.EmptyDiv1()
|
||||
modalEditFormComponent := dev_mddoctorview.EmptyDiv1()
|
||||
modalDeleteFormComponent := dev_mddoctorview.EmptyDiv1()
|
||||
|
||||
//content js & css
|
||||
content := dev_mddoctorview.MdDoctorScreen(
|
||||
tableID,
|
||||
paginationID,
|
||||
searchID,
|
||||
dialogAddID,
|
||||
dialogAddBodyID,
|
||||
dialogEditID,
|
||||
dialogEditBodyID,
|
||||
dialogDeleteID,
|
||||
dialogDeleteBodyID,
|
||||
breadcrumbComponent,
|
||||
tableComponent,
|
||||
usergroupFilterComponent,
|
||||
userGroupPaginationComponent,
|
||||
modalAddFormComponent,
|
||||
modalEditFormComponent,
|
||||
modalDeleteFormComponent)
|
||||
css := dev_mddoctorview.CssMdDoctor()
|
||||
js := dev_mddoctorview.JsMdDoctor()
|
||||
|
||||
view := dev_mddoctorview.ShowMdDoctorScreen(title,
|
||||
content,
|
||||
css,
|
||||
js,
|
||||
navbarmenuComponent,
|
||||
navbaruserComponent,
|
||||
sidebaruserprofileComponent)
|
||||
return utils.View(c, view)
|
||||
}
|
||||
@@ -291,4 +291,9 @@ func SetupRoutesDev(app *echo.Echo, appStore db.AppStore) {
|
||||
dev.GET("/md/groupresultv2/opendelete", devMdGRhandlers.HandleOpenDeleteForm)
|
||||
dev.POST("/md/groupresultv2/closedeleteform", devMdGRhandlers.HandleCloseFormDelete)
|
||||
dev.POST("/md/groupresultv2/delete", devMdGRhandlers.HandleDeleteUserGroup)
|
||||
|
||||
// doctor v2
|
||||
devMdDCServices := dev_services.NewServicesMdDoctor(appStore)
|
||||
devMdDChandlers := dev_handlers.NewMdDoctorHandler(devMdDCServices)
|
||||
dev.GET("/md/doctorv2", devMdDChandlers.HandleShowMdDoctorScreen)
|
||||
}
|
||||
|
||||
43
models/doctor.models.go
Normal file
43
models/doctor.models.go
Normal file
@@ -0,0 +1,43 @@
|
||||
package models
|
||||
|
||||
type DoctorV1 struct {
|
||||
Nomor string `db:"nomor"`
|
||||
M_DoctorID int `db:"M_DoctorID"`
|
||||
M_DoctorCode string `db:"M_DoctorCode"`
|
||||
M_DoctorPrefix string `db:"M_DoctorPrefix"`
|
||||
M_DoctorPrefix2 string `db:"M_DoctorPrefix2"`
|
||||
M_DoctorName string `db:"M_DoctorName"`
|
||||
M_DoctorSuffix string `db:"M_DoctorSuffix"`
|
||||
M_DoctorSuffix2 string `db:"M_DoctorSuffix2"`
|
||||
M_DoctorGender string `db:"M_DoctorGender"`
|
||||
M_DoctorDOB string `db:"M_DoctorDOB"`
|
||||
M_DoctorReligionCode string `db:"M_DoctorReligionCode"`
|
||||
M_DoctorReligionSystem string `db:"M_DoctorReligionSystem"`
|
||||
M_DoctorBloodTypeCode string `db:"M_DoctorBloodTypeCode"`
|
||||
M_DoctorBloodTypeSystem string `db:"M_DoctorBloodTypeSystem"`
|
||||
M_DoctorBloodRhCode string `db:"M_DoctorBloodRhCode"`
|
||||
M_DoctorBloodRhSystem string `db:"M_DoctorBloodRhSystem"`
|
||||
M_DoctorEducationCode string `db:"M_DoctorEducationCode"`
|
||||
M_DoctorEducationSystem string `db:"M_DoctorEducationSystem"`
|
||||
M_DoctorCitizenship string `db:"M_DoctorCitizenship"`
|
||||
M_DoctorEtnicCode string `db:"M_DoctorEtnicCode"`
|
||||
M_DoctorEtnicSystem string `db:"M_DoctorEtnicSystem"`
|
||||
M_DoctorIdentifierValue string `db:"M_DoctorIdentifierValue"`
|
||||
M_DoctorHp string `db:"M_DoctorHp"`
|
||||
M_DoctorEmail string `db:"M_DoctorEmail"`
|
||||
M_DoctorM_SpecialistID string `db:"M_DoctorM_SpecialistID"`
|
||||
M_SpecialistID string `db:"M_SpecialistID"`
|
||||
M_SpecialistName string `db:"M_SpecialistName"`
|
||||
M_DoctorAddress string `db:"M_DoctorAddress"`
|
||||
M_DoctorAddressRegionalCd string `db:"M_DoctorAddressRegionalCd"`
|
||||
M_DoctorAddressCity string `db:"M_DoctorAddressCity"`
|
||||
M_DoctorAddressDistrict string `db:"M_DoctorAddressDistrict"`
|
||||
M_DoctorAddressState string `db:"M_DoctorAddressState"`
|
||||
M_DoctorAddressCountry string `db:"M_DoctorAddressCountry"`
|
||||
M_DoctorCreated string `db:"M_DoctorCreated"`
|
||||
M_DoctorCreatedUserID string `db:"M_DoctorCreatedUserID"`
|
||||
M_DoctorLastUpdated string `db:"M_DoctorLastUpdated"`
|
||||
M_DoctorLastUpdatedUserID string `db:"M_DoctorLastUpdatedUserID"`
|
||||
M_DoctorDeletedUserID string `db:"M_DoctorDeletedUserID"`
|
||||
M_DoctorDeleted string `db:"M_DoctorDeleted"`
|
||||
}
|
||||
772
services/dev/md.doctor.services.go
Normal file
772
services/dev/md.doctor.services.go
Normal file
@@ -0,0 +1,772 @@
|
||||
package dev_services
|
||||
|
||||
import (
|
||||
"cpone/db"
|
||||
"cpone/models"
|
||||
dbx "cpone/package/database"
|
||||
"fmt"
|
||||
"math"
|
||||
"strings"
|
||||
|
||||
"go.uber.org/zap"
|
||||
)
|
||||
|
||||
func NewServicesMdDoctor(uStore db.AppStore) *ServicesMdDoctor {
|
||||
|
||||
return &ServicesMdDoctor{
|
||||
MdDoctorStore: uStore,
|
||||
}
|
||||
}
|
||||
|
||||
type ServicesMdDoctor struct {
|
||||
MdDoctorStore db.AppStore
|
||||
}
|
||||
|
||||
func (su *ServicesMdDoctor) GetMasterMenus() ([]MasterMenu, error) {
|
||||
|
||||
// dummyBreadcrumb := []Breadcrumb{
|
||||
// {
|
||||
// Name: "Dashboard",
|
||||
// Url: "/client/dashboard",
|
||||
// },
|
||||
// {
|
||||
// Name: "Front Office",
|
||||
// Url: "/client/usermanagement",
|
||||
// },
|
||||
// }
|
||||
|
||||
dummyMenu := []MasterMenu{
|
||||
// 1. Dashboard
|
||||
{
|
||||
ID: "1",
|
||||
ParentMenuID: "0",
|
||||
ParentMenuName: "Dashboard",
|
||||
ParentUrl: "/client/md/dashboard",
|
||||
ParentIcon: "",
|
||||
Children: []ChildrenMenu{
|
||||
{
|
||||
ChildrenParentID: "1",
|
||||
ChildrenMenuID: "1",
|
||||
ChildrenMenuName: "Master User",
|
||||
ChildrenMenuURL: "/client/md/user",
|
||||
// Breadcrumb: []Breadcrumb{
|
||||
// {
|
||||
// IDBreadcrumb: "1",
|
||||
// Title: "Dashboard",
|
||||
// IsActive: "Y",
|
||||
// },
|
||||
// },
|
||||
},
|
||||
},
|
||||
},
|
||||
|
||||
// 2. Front Office
|
||||
{
|
||||
ID: "2",
|
||||
ParentMenuID: "1",
|
||||
ParentMenuName: "Front Office",
|
||||
ParentUrl: "#",
|
||||
ParentIcon: "",
|
||||
Children: []ChildrenMenu{
|
||||
{
|
||||
ChildrenParentID: "1",
|
||||
ChildrenMenuID: "1",
|
||||
ChildrenMenuName: "Registrasi",
|
||||
ChildrenMenuURL: "/fo/registrasi",
|
||||
// Breadcrumb: []Breadcrumb{
|
||||
// {
|
||||
// IDBreadcrumb: "1",
|
||||
// Title: "Dashboard",
|
||||
// IsActive: "N",
|
||||
// },
|
||||
// {
|
||||
// IDBreadcrumb: "2",
|
||||
// Title: "Master",
|
||||
// IsActive: "N",
|
||||
// },
|
||||
// {
|
||||
// IDBreadcrumb: "3",
|
||||
// Title: "User",
|
||||
// IsActive: "Y",
|
||||
// },
|
||||
// },
|
||||
},
|
||||
},
|
||||
},
|
||||
|
||||
// 3. Station
|
||||
{
|
||||
ID: "3",
|
||||
ParentMenuID: "2",
|
||||
ParentMenuName: "Station",
|
||||
ParentUrl: "#",
|
||||
ParentIcon: "",
|
||||
Children: []ChildrenMenu{
|
||||
{
|
||||
ChildrenParentID: "2",
|
||||
ChildrenMenuID: "1",
|
||||
ChildrenMenuName: "Sample Station",
|
||||
ChildrenMenuURL: "/station/sample",
|
||||
// Breadcrumb: []Breadcrumb{
|
||||
// {
|
||||
// IDBreadcrumb: "1",
|
||||
// Title: "Dashboard",
|
||||
// IsActive: "N",
|
||||
// },
|
||||
// {
|
||||
// IDBreadcrumb: "2",
|
||||
// Title: "Master",
|
||||
// IsActive: "N",
|
||||
// },
|
||||
// {
|
||||
// IDBreadcrumb: "3",
|
||||
// Title: "User",
|
||||
// IsActive: "Y",
|
||||
// },
|
||||
// },
|
||||
},
|
||||
},
|
||||
},
|
||||
|
||||
// 4. Management MCU
|
||||
{
|
||||
ID: "4",
|
||||
ParentMenuID: "3",
|
||||
ParentMenuName: "Management MCU",
|
||||
ParentUrl: "#",
|
||||
ParentIcon: "",
|
||||
Children: []ChildrenMenu{
|
||||
{
|
||||
ChildrenParentID: "3",
|
||||
ChildrenMenuID: "1",
|
||||
ChildrenMenuName: "Setup MCU",
|
||||
ChildrenMenuURL: "/mcu/setup",
|
||||
// Breadcrumb: []Breadcrumb{
|
||||
// {
|
||||
// IDBreadcrumb: "1",
|
||||
// Title: "Dashboard",
|
||||
// IsActive: "N",
|
||||
// },
|
||||
// {
|
||||
// IDBreadcrumb: "2",
|
||||
// Title: "Master",
|
||||
// IsActive: "N",
|
||||
// },
|
||||
// {
|
||||
// IDBreadcrumb: "3",
|
||||
// Title: "User",
|
||||
// IsActive: "Y",
|
||||
// },
|
||||
// },
|
||||
},
|
||||
{
|
||||
ChildrenParentID: "3",
|
||||
ChildrenMenuID: "2",
|
||||
ChildrenMenuName: "Pre-Registrasi",
|
||||
ChildrenMenuURL: "/mcu/preregister",
|
||||
// Breadcrumb: []Breadcrumb{
|
||||
// {
|
||||
// IDBreadcrumb: "1",
|
||||
// Title: "Dashboard",
|
||||
// IsActive: "N",
|
||||
// },
|
||||
// {
|
||||
// IDBreadcrumb: "2",
|
||||
// Title: "Master",
|
||||
// IsActive: "N",
|
||||
// },
|
||||
// {
|
||||
// IDBreadcrumb: "3",
|
||||
// Title: "User",
|
||||
// IsActive: "Y",
|
||||
// },
|
||||
// },
|
||||
},
|
||||
},
|
||||
},
|
||||
|
||||
// 5. Master Data
|
||||
{
|
||||
ID: "5",
|
||||
ParentMenuID: "4",
|
||||
ParentMenuName: "Master Data",
|
||||
ParentUrl: "#",
|
||||
ParentIcon: "",
|
||||
Children: []ChildrenMenu{
|
||||
// * Master User
|
||||
{
|
||||
ChildrenParentID: "4",
|
||||
ChildrenMenuID: "1",
|
||||
ChildrenMenuName: "Master User",
|
||||
ChildrenMenuURL: "/client/md/user",
|
||||
// Breadcrumb: []Breadcrumb{
|
||||
// {
|
||||
// IDBreadcrumb: "1",
|
||||
// Title: "Dashboard",
|
||||
// IsActive: "N",
|
||||
// },
|
||||
// {
|
||||
// IDBreadcrumb: "2",
|
||||
// Title: "Master",
|
||||
// IsActive: "N",
|
||||
// },
|
||||
// {
|
||||
// IDBreadcrumb: "3",
|
||||
// Title: "User",
|
||||
// IsActive: "Y",
|
||||
// },
|
||||
// },
|
||||
},
|
||||
|
||||
// * Master User Group
|
||||
{
|
||||
ChildrenParentID: "4",
|
||||
ChildrenMenuID: "2",
|
||||
ChildrenMenuName: "Master User Group",
|
||||
ChildrenMenuURL: "/client/md/usergroup",
|
||||
// Breadcrumb: []Breadcrumb{
|
||||
// {
|
||||
// IDBreadcrumb: "1",
|
||||
// Title: "Dashboard",
|
||||
// IsActive: "N",
|
||||
// },
|
||||
// {
|
||||
// IDBreadcrumb: "2",
|
||||
// Title: "Master",
|
||||
// IsActive: "N",
|
||||
// },
|
||||
// {
|
||||
// IDBreadcrumb: "3",
|
||||
// Title: "User Group",
|
||||
// IsActive: "Y",
|
||||
// },
|
||||
// },
|
||||
},
|
||||
|
||||
// * Master Corporate
|
||||
{
|
||||
ChildrenParentID: "4",
|
||||
ChildrenMenuID: "3",
|
||||
ChildrenMenuName: "Corporate",
|
||||
ChildrenMenuURL: "/client/md/corp",
|
||||
// Breadcrumb: []Breadcrumb{
|
||||
// {
|
||||
// IDBreadcrumb: "1",
|
||||
// Title: "Dashboard",
|
||||
// IsActive: "N",
|
||||
// },
|
||||
// {
|
||||
// IDBreadcrumb: "2",
|
||||
// Title: "Master",
|
||||
// IsActive: "N",
|
||||
// },
|
||||
// {
|
||||
// IDBreadcrumb: "3",
|
||||
// Title: "User Group",
|
||||
// IsActive: "Y",
|
||||
// },
|
||||
// },
|
||||
},
|
||||
|
||||
// * Test
|
||||
{
|
||||
ChildrenParentID: "4",
|
||||
ChildrenMenuID: "4",
|
||||
ChildrenMenuName: "Test",
|
||||
ChildrenMenuURL: "/client/md/test",
|
||||
// Breadcrumb: []Breadcrumb{
|
||||
// {
|
||||
// IDBreadcrumb: "1",
|
||||
// Title: "Dashboard",
|
||||
// IsActive: "N",
|
||||
// },
|
||||
// {
|
||||
// IDBreadcrumb: "2",
|
||||
// Title: "Master",
|
||||
// IsActive: "N",
|
||||
// },
|
||||
// {
|
||||
// IDBreadcrumb: "3",
|
||||
// Title: "User Group",
|
||||
// IsActive: "Y",
|
||||
// },
|
||||
// },
|
||||
},
|
||||
|
||||
// * Bahan
|
||||
{
|
||||
ChildrenParentID: "4",
|
||||
ChildrenMenuID: "5",
|
||||
ChildrenMenuName: "Bahan",
|
||||
ChildrenMenuURL: "/client/md/bahan",
|
||||
// Breadcrumb: []Breadcrumb{
|
||||
// {
|
||||
// IDBreadcrumb: "1",
|
||||
// Title: "Dashboard",
|
||||
// IsActive: "N",
|
||||
// },
|
||||
// {
|
||||
// IDBreadcrumb: "2",
|
||||
// Title: "Master",
|
||||
// IsActive: "N",
|
||||
// },
|
||||
// {
|
||||
// IDBreadcrumb: "3",
|
||||
// Title: "User Group",
|
||||
// IsActive: "Y",
|
||||
// },
|
||||
// },
|
||||
},
|
||||
|
||||
// * Sample Type
|
||||
{
|
||||
ChildrenParentID: "4",
|
||||
ChildrenMenuID: "6",
|
||||
ChildrenMenuName: "Sample Type",
|
||||
ChildrenMenuURL: "/client/sample/type",
|
||||
// Breadcrumb: []Breadcrumb{
|
||||
// {
|
||||
// IDBreadcrumb: "1",
|
||||
// Title: "Dashboard",
|
||||
// IsActive: "N",
|
||||
// },
|
||||
// {
|
||||
// IDBreadcrumb: "2",
|
||||
// Title: "Master",
|
||||
// IsActive: "N",
|
||||
// },
|
||||
// {
|
||||
// IDBreadcrumb: "3",
|
||||
// Title: "User Group",
|
||||
// IsActive: "Y",
|
||||
// },
|
||||
// },
|
||||
},
|
||||
|
||||
// * Sample Station
|
||||
{
|
||||
ChildrenParentID: "4",
|
||||
ChildrenMenuID: "7",
|
||||
ChildrenMenuName: "Sample Station",
|
||||
ChildrenMenuURL: "/station/sample",
|
||||
// Breadcrumb: []Breadcrumb{
|
||||
// {
|
||||
// IDBreadcrumb: "1",
|
||||
// Title: "Dashboard",
|
||||
// IsActive: "N",
|
||||
// },
|
||||
// {
|
||||
// IDBreadcrumb: "2",
|
||||
// Title: "Master",
|
||||
// IsActive: "N",
|
||||
// },
|
||||
// {
|
||||
// IDBreadcrumb: "3",
|
||||
// Title: "User Group",
|
||||
// IsActive: "Y",
|
||||
// },
|
||||
// },
|
||||
},
|
||||
|
||||
// * Result Non Lab
|
||||
{
|
||||
ChildrenParentID: "4",
|
||||
ChildrenMenuID: "8",
|
||||
ChildrenMenuName: "Result Non Lab",
|
||||
ChildrenMenuURL: "/client/md/resultnonlab",
|
||||
// Breadcrumb: []Breadcrumb{
|
||||
// {
|
||||
// IDBreadcrumb: "1",
|
||||
// Title: "Dashboard",
|
||||
// IsActive: "N",
|
||||
// },
|
||||
// {
|
||||
// IDBreadcrumb: "2",
|
||||
// Title: "Master",
|
||||
// IsActive: "N",
|
||||
// },
|
||||
// {
|
||||
// IDBreadcrumb: "3",
|
||||
// Title: "User Group",
|
||||
// IsActive: "Y",
|
||||
// },
|
||||
// },
|
||||
},
|
||||
|
||||
// * Template Fisik
|
||||
{
|
||||
ChildrenParentID: "4",
|
||||
ChildrenMenuID: "9",
|
||||
ChildrenMenuName: "Template Fisik",
|
||||
ChildrenMenuURL: "/client/md/template-fisik",
|
||||
// Breadcrumb: []Breadcrumb{
|
||||
// {
|
||||
// IDBreadcrumb: "1",
|
||||
// Title: "Dashboard",
|
||||
// IsActive: "N",
|
||||
// },
|
||||
// {
|
||||
// IDBreadcrumb: "2",
|
||||
// Title: "Master",
|
||||
// IsActive: "N",
|
||||
// },
|
||||
// {
|
||||
// IDBreadcrumb: "3",
|
||||
// Title: "User Group",
|
||||
// IsActive: "Y",
|
||||
// },
|
||||
// },
|
||||
},
|
||||
|
||||
// * Pasien
|
||||
{
|
||||
ChildrenParentID: "4",
|
||||
ChildrenMenuID: "10",
|
||||
ChildrenMenuName: "Pasien",
|
||||
ChildrenMenuURL: "/client/md/pasien",
|
||||
// Breadcrumb: []Breadcrumb{
|
||||
// {
|
||||
// IDBreadcrumb: "1",
|
||||
// Title: "Dashboard",
|
||||
// IsActive: "N",
|
||||
// },
|
||||
// {
|
||||
// IDBreadcrumb: "2",
|
||||
// Title: "Master",
|
||||
// IsActive: "N",
|
||||
// },
|
||||
// {
|
||||
// IDBreadcrumb: "3",
|
||||
// Title: "User Group",
|
||||
// IsActive: "Y",
|
||||
// },
|
||||
// },
|
||||
},
|
||||
|
||||
// * Dokter
|
||||
{
|
||||
ChildrenParentID: "4",
|
||||
ChildrenMenuID: "11",
|
||||
ChildrenMenuName: "Dokter",
|
||||
ChildrenMenuURL: "/client/md/dokter",
|
||||
// Breadcrumb: []Breadcrumb{
|
||||
// {
|
||||
// IDBreadcrumb: "1",
|
||||
// Title: "Dashboard",
|
||||
// IsActive: "N",
|
||||
// },
|
||||
// {
|
||||
// IDBreadcrumb: "2",
|
||||
// Title: "Master",
|
||||
// IsActive: "N",
|
||||
// },
|
||||
// {
|
||||
// IDBreadcrumb: "3",
|
||||
// Title: "User Group",
|
||||
// IsActive: "Y",
|
||||
// },
|
||||
// },
|
||||
},
|
||||
|
||||
// * Paket
|
||||
{
|
||||
ChildrenParentID: "4",
|
||||
ChildrenMenuID: "12",
|
||||
ChildrenMenuName: "Paket",
|
||||
ChildrenMenuURL: "/client/md/paket",
|
||||
// Breadcrumb: []Breadcrumb{
|
||||
// {
|
||||
// IDBreadcrumb: "1",
|
||||
// Title: "Dashboard",
|
||||
// IsActive: "N",
|
||||
// },
|
||||
// {
|
||||
// IDBreadcrumb: "2",
|
||||
// Title: "Master",
|
||||
// IsActive: "N",
|
||||
// },
|
||||
// {
|
||||
// IDBreadcrumb: "3",
|
||||
// Title: "User Group",
|
||||
// IsActive: "Y",
|
||||
// },
|
||||
// },
|
||||
},
|
||||
|
||||
// * Harga Single
|
||||
{
|
||||
ChildrenParentID: "4",
|
||||
ChildrenMenuID: "13",
|
||||
ChildrenMenuName: "Harga Single",
|
||||
ChildrenMenuURL: "/client/md/hargasingle",
|
||||
// Breadcrumb: []Breadcrumb{
|
||||
// {
|
||||
// IDBreadcrumb: "1",
|
||||
// Title: "Dashboard",
|
||||
// IsActive: "N",
|
||||
// },
|
||||
// {
|
||||
// IDBreadcrumb: "2",
|
||||
// Title: "Master",
|
||||
// IsActive: "N",
|
||||
// },
|
||||
// {
|
||||
// IDBreadcrumb: "3",
|
||||
// Title: "User Group",
|
||||
// IsActive: "Y",
|
||||
// },
|
||||
// },
|
||||
},
|
||||
},
|
||||
},
|
||||
}
|
||||
|
||||
return dummyMenu, nil
|
||||
}
|
||||
|
||||
func (ug *ServicesMdDoctor) GetUserGroup() ([]models.UserGroup, error) {
|
||||
data := []models.UserGroup{
|
||||
{UserGroupID: 1, UserGroupKode: "A", UserGroupName: "UG1"},
|
||||
{UserGroupID: 2, UserGroupKode: "B", UserGroupName: "UG2"},
|
||||
{UserGroupID: 3, UserGroupKode: "C", UserGroupName: "UG3"},
|
||||
}
|
||||
return data, nil
|
||||
}
|
||||
|
||||
func (su *ServicesMdDoctor) GetMdDoctorBreadcrumb(title string) (models.BreadCrumbV1, error) {
|
||||
var ret models.BreadCrumbV1
|
||||
|
||||
dummyBreadcrumb := []models.BreadCrumbV1{
|
||||
{
|
||||
Title: "Master User Group",
|
||||
Item: []models.ItemBreadCrumbV1{
|
||||
{
|
||||
Item: "Dashboard",
|
||||
Url: "/dev/dashboard",
|
||||
},
|
||||
{
|
||||
Item: "Master",
|
||||
Url: "/dev/master",
|
||||
},
|
||||
{
|
||||
Item: "User Group",
|
||||
Url: "",
|
||||
},
|
||||
},
|
||||
},
|
||||
|
||||
{
|
||||
Title: "Master User",
|
||||
Item: []models.ItemBreadCrumbV1{
|
||||
{
|
||||
Item: "Dashboard",
|
||||
Url: "/dev/dashboard",
|
||||
},
|
||||
{
|
||||
Item: "Master",
|
||||
Url: "/dev/master",
|
||||
},
|
||||
{
|
||||
Item: "User",
|
||||
Url: "",
|
||||
},
|
||||
},
|
||||
},
|
||||
|
||||
{
|
||||
Title: "Master Doctor",
|
||||
Item: []models.ItemBreadCrumbV1{
|
||||
{
|
||||
Item: "Dashboard",
|
||||
Url: "/dev/dashboard",
|
||||
},
|
||||
{
|
||||
Item: "Master",
|
||||
Url: "/dev/master",
|
||||
},
|
||||
{
|
||||
Item: "Doctor",
|
||||
Url: "",
|
||||
},
|
||||
},
|
||||
},
|
||||
}
|
||||
|
||||
for _, breadcrumb := range dummyBreadcrumb {
|
||||
// if utils.Contains(breadcrumb.Title, title) {
|
||||
// ret = breadcrumb
|
||||
// return ret, nil
|
||||
// }
|
||||
if breadcrumb.Title == title {
|
||||
ret = breadcrumb
|
||||
return ret, nil
|
||||
}
|
||||
}
|
||||
|
||||
return ret, nil
|
||||
}
|
||||
|
||||
// LISTING, SEARCH, PAGINATION
|
||||
func (su *ServicesMdDoctor) GetListMdDoctor(search string, currentPage int, rowPerPage int) ([]models.DoctorV1, int, error) {
|
||||
var doctorList []models.DoctorV1
|
||||
|
||||
logger, _ := zap.NewProduction()
|
||||
defer logger.Sync()
|
||||
|
||||
var totalData int
|
||||
offset := (currentPage - 1) * rowPerPage
|
||||
|
||||
prm := "%" + strings.TrimSpace(search) + "%"
|
||||
querytotal := `
|
||||
SELECT COUNT(*)
|
||||
FROM m_doctor as d
|
||||
-- join terminology religion
|
||||
JOIN terminology as religion
|
||||
ON d.M_DoctorReligionCode = religion.code
|
||||
AND d.M_DoctorReligionSystem = religion.code_system
|
||||
AND religion.status_cd = 'normal'
|
||||
-- join terminology blood type
|
||||
JOIN terminology as bloodType
|
||||
ON d.M_DoctorBloodTypeCode = bloodType.code
|
||||
AND d.M_DoctorBloodTypeSystem = bloodType.code_system
|
||||
AND bloodType.status_cd = 'normal'
|
||||
-- join terminology blood rhesus
|
||||
JOIN terminology as bloodRh
|
||||
ON d.M_DoctorBloodRhCode = bloodRh.code
|
||||
AND d.M_DoctorBloodRhSystem = bloodRh.code_system
|
||||
AND bloodRh.status_cd = 'normal'
|
||||
-- join terminology education
|
||||
JOIN terminology as education
|
||||
ON d.M_DoctorEducationCode = education.code
|
||||
AND d.M_DoctorEducationSystem = education.code_system
|
||||
AND education.status_cd = 'normal'
|
||||
-- join terminology ethnic
|
||||
JOIN terminology as ethnic
|
||||
ON d.M_DoctorEtnicCode = ethnic.code
|
||||
AND d.M_DoctorEtnicSystem = ethnic.code_system
|
||||
AND ethnic.status_cd = 'normal'
|
||||
-- join terminology identifier
|
||||
JOIN terminology as identifier
|
||||
ON d.M_DoctorIdentifierCode = identifier.code
|
||||
AND d.M_DoctorIdentifierSystem = identifier.code_system
|
||||
AND identifier.status_cd = 'normal'
|
||||
-- join m_specialist
|
||||
JOIN m_specialist as spesialis
|
||||
ON d.M_DoctorM_SpecialistID = spesialis.M_SpecialistID
|
||||
AND spesialis.M_SpecialistIsActive = 'Y'
|
||||
WHERE d.M_DoctorIsActive = 'Y' AND
|
||||
(
|
||||
d.M_DoctorCode LIKE ?
|
||||
OR d.M_DoctorName LIKE ?
|
||||
OR spesialis.M_SpecialistName LIKE ?
|
||||
)
|
||||
`
|
||||
|
||||
logger.Info("QUERY SEARCH INITIAL TOTAL COUNT",
|
||||
zap.String("query search", querytotal),
|
||||
)
|
||||
|
||||
if err := dbx.Handlex.Get(&totalData, querytotal,
|
||||
prm,
|
||||
prm,
|
||||
prm,
|
||||
); err != nil {
|
||||
return nil, 0, fmt.Errorf("error querying database: %v", err)
|
||||
}
|
||||
|
||||
query := `
|
||||
SELECT
|
||||
ROW_NUMBER() OVER () AS nomor,
|
||||
d.M_DoctorID,
|
||||
ifnull(d.M_DoctorCode,'') as M_DoctorCode,
|
||||
ifnull(d.M_DoctorPrefix,'') as M_DoctorPrefix,
|
||||
ifnull(d.M_DoctorPrefix2,'') as M_DoctorPrefix2,
|
||||
ifnull(d.M_DoctorName,'') as M_DoctorName,
|
||||
ifnull(d.M_DoctorSuffix,'') as M_DoctorSuffix,
|
||||
ifnull(d.M_DoctorSuffix2,'') as M_DoctorSuffix2,
|
||||
d.M_DoctorGender,
|
||||
d.M_DoctorDOB,
|
||||
d.M_DoctorReligionCode,
|
||||
d.M_DoctorReligionSystem,
|
||||
d.M_DoctorBloodTypeCode,
|
||||
d.M_DoctorBloodTypeSystem,
|
||||
d.M_DoctorBloodRhCode,
|
||||
d.M_DoctorBloodRhSystem,
|
||||
d.M_DoctorEducationCode,
|
||||
d.M_DoctorEducationSystem,
|
||||
d.M_DoctorCitizenship,
|
||||
d.M_DoctorEtnicCode,
|
||||
d.M_DoctorEtnicSystem,
|
||||
d.M_DoctorIdentifierValue,
|
||||
d.M_DoctorHp,
|
||||
d.M_DoctorEmail,
|
||||
d.M_DoctorM_SpecialistID,
|
||||
spesialis.M_SpecialistID,
|
||||
spesialis.M_SpecialistName,
|
||||
d.M_DoctorCreated,
|
||||
d.M_DoctorCreatedUserID,
|
||||
d.M_DoctorLastUpdated,
|
||||
d.M_DoctorLastUpdatedUserID,
|
||||
d.M_DoctorDeletedUserID,
|
||||
d.M_DoctorDeleted
|
||||
FROM m_doctor as d
|
||||
-- join terminology religion
|
||||
JOIN terminology as religion
|
||||
ON d.M_DoctorReligionCode = religion.code
|
||||
AND d.M_DoctorReligionSystem = religion.code_system
|
||||
AND religion.status_cd = 'normal'
|
||||
-- join terminology blood type
|
||||
JOIN terminology as bloodType
|
||||
ON d.M_DoctorBloodTypeCode = bloodType.code
|
||||
AND d.M_DoctorBloodTypeSystem = bloodType.code_system
|
||||
AND bloodType.status_cd = 'normal'
|
||||
-- join terminology blood rhesus
|
||||
JOIN terminology as bloodRh
|
||||
ON d.M_DoctorBloodRhCode = bloodRh.code
|
||||
AND d.M_DoctorBloodRhSystem = bloodRh.code_system
|
||||
AND bloodRh.status_cd = 'normal'
|
||||
-- join terminology education
|
||||
JOIN terminology as education
|
||||
ON d.M_DoctorEducationCode = education.code
|
||||
AND d.M_DoctorEducationSystem = education.code_system
|
||||
AND education.status_cd = 'normal'
|
||||
-- join terminology ethnic
|
||||
JOIN terminology as ethnic
|
||||
ON d.M_DoctorEtnicCode = ethnic.code
|
||||
AND d.M_DoctorEtnicSystem = ethnic.code_system
|
||||
AND ethnic.status_cd = 'normal'
|
||||
-- join terminology identifier
|
||||
JOIN terminology as identifier
|
||||
ON d.M_DoctorIdentifierCode = identifier.code
|
||||
AND d.M_DoctorIdentifierSystem = identifier.code_system
|
||||
AND identifier.status_cd = 'normal'
|
||||
-- join m_specialist
|
||||
JOIN m_specialist as spesialis
|
||||
ON d.M_DoctorM_SpecialistID = spesialis.M_SpecialistID
|
||||
AND spesialis.M_SpecialistIsActive = 'Y'
|
||||
WHERE d.M_DoctorIsActive = 'Y' AND
|
||||
(
|
||||
d.M_DoctorCode LIKE ?
|
||||
OR d.M_DoctorName LIKE ?
|
||||
OR spesialis.M_SpecialistName LIKE ?
|
||||
)
|
||||
ORDER BY M_DoctorID ASC
|
||||
LIMIT ? OFFSET ?
|
||||
`
|
||||
|
||||
logger.Info("QUERY SEARCH INITIAL",
|
||||
zap.String("query search", query),
|
||||
)
|
||||
|
||||
if err := dbx.Handlex.Select(&doctorList, query,
|
||||
prm,
|
||||
prm,
|
||||
prm,
|
||||
rowPerPage, offset); err != nil {
|
||||
return nil, 0, fmt.Errorf("error querying database: %v", err)
|
||||
}
|
||||
|
||||
totalPage := int(math.Ceil(float64(totalData) / float64(rowPerPage)))
|
||||
|
||||
return doctorList, totalPage, nil
|
||||
}
|
||||
237
views/dev/mddoctor/mddoctor.templ
Normal file
237
views/dev/mddoctor/mddoctor.templ
Normal file
@@ -0,0 +1,237 @@
|
||||
package dev_mddoctorview
|
||||
|
||||
import (
|
||||
"cpone/layout"
|
||||
"cpone/component/customtextfield"
|
||||
"cpone/models"
|
||||
"strconv"
|
||||
)
|
||||
|
||||
templ MdDoctorScreen(
|
||||
tableID string,
|
||||
paginationID string,
|
||||
searchID string,
|
||||
dialogAddID string,
|
||||
dialogAddBodyID string,
|
||||
dialogEditID string,
|
||||
dialogEditBodyID string,
|
||||
dialogDeleteID string,
|
||||
dialogDeleteBodyID string,
|
||||
breadcrumb templ.Component,
|
||||
tablecontent templ.Component,
|
||||
filterComponent templ.Component,
|
||||
paginationComponent templ.Component,
|
||||
modalAddForm templ.Component,
|
||||
modalEditForm templ.Component,
|
||||
modalDeleteForm templ.Component) {
|
||||
<div class="container-fluid">
|
||||
@customtextfield.CustomTextFieldv2(models.CustomTextFieldv2Prm{ID: "tableID",
|
||||
Name: "tableID",
|
||||
Type: "hidden",
|
||||
Value: tableID})
|
||||
@customtextfield.CustomTextFieldv2(models.CustomTextFieldv2Prm{ID: "paginationID",
|
||||
Name: "paginationID",
|
||||
Type: "hidden",
|
||||
Value: paginationID})
|
||||
@customtextfield.CustomTextFieldv2(models.CustomTextFieldv2Prm{ID: "searchID",
|
||||
Name: "searchID",
|
||||
Type: "hidden",
|
||||
Value: searchID})
|
||||
@customtextfield.CustomTextFieldv2(models.CustomTextFieldv2Prm{ID: "dialogAddID",
|
||||
Name: "dialogAddID",
|
||||
Type: "hidden",
|
||||
Value: dialogAddID})
|
||||
@customtextfield.CustomTextFieldv2(models.CustomTextFieldv2Prm{ID: "dialogAddBodyID",
|
||||
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})
|
||||
@customtextfield.CustomTextFieldv2(models.CustomTextFieldv2Prm{ID: "dialogDeleteID",
|
||||
Name: "dialogDeleteID",
|
||||
Type: "hidden",
|
||||
Value: dialogDeleteID})
|
||||
@customtextfield.CustomTextFieldv2(models.CustomTextFieldv2Prm{ID: "dialogDeleteBodyID",
|
||||
Name: "dialogDeleteBodyID",
|
||||
Type: "hidden",
|
||||
Value: dialogDeleteBodyID})
|
||||
<div class="row align-items-center mb-10">
|
||||
<div class="col-md-10 col-sm-12 p-0 ">
|
||||
@breadcrumb
|
||||
</div>
|
||||
<div class="col-md-2 d-none d-lg-block d-xl-block d-md-block d-sm-none">
|
||||
// <div class="d-block align-items-center">
|
||||
<div class="d-flex justify-content-end">
|
||||
<button
|
||||
type="button"
|
||||
class="btn btn-primary"
|
||||
data-toggle="modal"
|
||||
data-target={ "#" + dialogAddID }
|
||||
>Add New</button>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md-2 d-block d-lg-none d-xl-none d-md-none d-sm-block justify-content-center px-5">
|
||||
<button
|
||||
type="button"
|
||||
class="btn btn-primary btn-block"
|
||||
data-toggle="modal"
|
||||
data-target={ "#" + dialogAddID }
|
||||
>Add New</button>
|
||||
</div>
|
||||
</div>
|
||||
@filterComponent
|
||||
<div id="loading-parent" class=" rounded">
|
||||
@tablecontent
|
||||
@paginationComponent
|
||||
@modalAddForm
|
||||
@modalEditForm
|
||||
@modalDeleteForm
|
||||
<div id="loading-child" class=" rounded bg-transparent">
|
||||
// <div class="spinner spinner-lg spinner-primary"></div>
|
||||
<div id="loading-spinner" class="spinner-border text-primary d-none" style="width: 3rem; height: 3rem;" role="status">
|
||||
<span class="sr-only">Loading...</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div id="loadingcontent"></div>
|
||||
</div>
|
||||
}
|
||||
|
||||
// for item dropdown
|
||||
templ ItemDropdown(dataDropdown []models.GroupResultResumeMcu, selectedId int) {
|
||||
if len(dataDropdown) == 0 {
|
||||
<option value="0" disabled selected>Tidak Ada Data</option>
|
||||
} else {
|
||||
for _, v := range dataDropdown {
|
||||
if (selectedId == v.ID) {
|
||||
<option value={ strconv.Itoa(v.ID) } selected>{ v.Text }</option>
|
||||
} else {
|
||||
<option value={ strconv.Itoa(v.ID) }>{ v.Text }</option>
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// for empty div
|
||||
templ EmptyDiv1() {
|
||||
<div></div>
|
||||
}
|
||||
|
||||
templ CssMdDoctor() {
|
||||
<link
|
||||
rel="stylesheet"
|
||||
href="assets/css/googlefont/poppins.css"
|
||||
/>
|
||||
<link
|
||||
rel="stylesheet"
|
||||
href="assets/css/googlefont/publicsans.css"
|
||||
/>
|
||||
<link
|
||||
rel="stylesheet"
|
||||
href="assets/css/googlefont/roboto.css"
|
||||
/>
|
||||
<style>
|
||||
body {
|
||||
background-color: white;
|
||||
/* padding-right: 100px;
|
||||
padding-left: 100px; */
|
||||
}
|
||||
#div-chart {
|
||||
/* overflow-x: scroll; */
|
||||
margin: 40px 10vw 40px 10vw;
|
||||
}
|
||||
.title {
|
||||
font-size:20px;
|
||||
font-weight: bold;
|
||||
}
|
||||
#title {
|
||||
font-weight: 600;
|
||||
}
|
||||
.dropdown-menu{
|
||||
transform: translate3d(0px, 35px, 0px)!important;
|
||||
}
|
||||
|
||||
</style>
|
||||
}
|
||||
|
||||
templ JsMdDoctor() {
|
||||
<script>
|
||||
function onLoadingStart() {
|
||||
// const loadingParent = document.getElementById("loading-parent");
|
||||
// const loadingChild = document.getElementById("loading-child");
|
||||
// const loadingSpinner = document.getElementById("loading-spinner");
|
||||
|
||||
// loadingParent.classList.add("overlay");
|
||||
// loadingParent.classList.add("overlay-block");
|
||||
// loadingChild.classList.add("overlay-layer");
|
||||
// loadingSpinner.classList.remove("d-none");
|
||||
|
||||
// Additional logic when loading starts
|
||||
}
|
||||
|
||||
function onLoadingEnd() {
|
||||
console.log('Loading ended');
|
||||
// const loadingParent = document.getElementById("loading-parent");
|
||||
// const loadingChild = document.getElementById("loading-child");
|
||||
// const loadingSpinner = document.getElementById("loading-spinner");
|
||||
|
||||
// loadingParent.classList.remove("overlay");
|
||||
// loadingParent.classList.remove("overlay-block");
|
||||
// loadingChild.classList.remove("overlay-layer");
|
||||
// loadingSpinner.classList.add("d-none");
|
||||
}
|
||||
|
||||
document.addEventListener('htmx:beforeRequest', function(event) {
|
||||
var indicator = document.querySelector('#loadingcontent');
|
||||
console.log(event.detail.xhr)
|
||||
console.log(event.detail.elt)
|
||||
if (indicator) {
|
||||
onLoadingStart();
|
||||
}
|
||||
});
|
||||
|
||||
document.addEventListener('htmx:afterRequest', function(event) {
|
||||
var indicator = document.querySelector('#loadingcontent');
|
||||
if (indicator) {
|
||||
onLoadingEnd();
|
||||
}
|
||||
});
|
||||
</script>
|
||||
}
|
||||
|
||||
script BeforeRequestContentMdDoctor() {
|
||||
const loadingParent = document.getElementById("loading-parent");
|
||||
const loadingChild = document.getElementById("loading-child");
|
||||
const loadingSpinner = document.getElementById("loading-spinner");
|
||||
|
||||
loadingParent.classList.add("overlay");
|
||||
loadingParent.classList.add("overlay-block");
|
||||
loadingChild.classList.add("overlay-layer");
|
||||
loadingSpinner.classList.remove("d-none");
|
||||
}
|
||||
|
||||
script AfterRequestContentMdDoctor() {
|
||||
const loadingParent = document.getElementById("loading-parent");
|
||||
const loadingChild = document.getElementById("loading-child");
|
||||
const loadingSpinner = document.getElementById("loading-spinner");
|
||||
|
||||
loadingParent.classList.remove("overlay");
|
||||
loadingParent.classList.remove("overlay-block");
|
||||
loadingChild.classList.remove("overlay-layer");
|
||||
loadingSpinner.classList.add("d-none");
|
||||
}
|
||||
|
||||
templ ShowMdDoctorScreen(title string, cmp templ.Component, css templ.Component, js templ.Component,
|
||||
navbarmenu templ.Component,
|
||||
navbaruser templ.Component,
|
||||
userprofile templ.Component) {
|
||||
@layout.CorporateLayout(title, css, js, navbarmenu, navbaruser, userprofile) {
|
||||
@cmp
|
||||
}
|
||||
}
|
||||
433
views/dev/mddoctor/mddoctor_templ.go
Normal file
433
views/dev/mddoctor/mddoctor_templ.go
Normal file
@@ -0,0 +1,433 @@
|
||||
// Code generated by templ - DO NOT EDIT.
|
||||
|
||||
// templ: version: v0.2.663
|
||||
package dev_mddoctorview
|
||||
|
||||
//lint:file-ignore SA4006 This context is only used if a nested component is present.
|
||||
|
||||
import "github.com/a-h/templ"
|
||||
import "context"
|
||||
import "io"
|
||||
import "bytes"
|
||||
|
||||
import (
|
||||
"cpone/component/customtextfield"
|
||||
"cpone/layout"
|
||||
"cpone/models"
|
||||
"strconv"
|
||||
)
|
||||
|
||||
func MdDoctorScreen(
|
||||
tableID string,
|
||||
paginationID string,
|
||||
searchID string,
|
||||
dialogAddID string,
|
||||
dialogAddBodyID string,
|
||||
dialogEditID string,
|
||||
dialogEditBodyID string,
|
||||
dialogDeleteID string,
|
||||
dialogDeleteBodyID string,
|
||||
breadcrumb templ.Component,
|
||||
tablecontent templ.Component,
|
||||
filterComponent templ.Component,
|
||||
paginationComponent templ.Component,
|
||||
modalAddForm templ.Component,
|
||||
modalEditForm templ.Component,
|
||||
modalDeleteForm 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)
|
||||
if !templ_7745c5c3_IsBuffer {
|
||||
templ_7745c5c3_Buffer = templ.GetBuffer()
|
||||
defer templ.ReleaseBuffer(templ_7745c5c3_Buffer)
|
||||
}
|
||||
ctx = templ.InitializeContext(ctx)
|
||||
templ_7745c5c3_Var1 := templ.GetChildren(ctx)
|
||||
if templ_7745c5c3_Var1 == nil {
|
||||
templ_7745c5c3_Var1 = templ.NopComponent
|
||||
}
|
||||
ctx = templ.ClearChildren(ctx)
|
||||
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("<div class=\"container-fluid\">")
|
||||
if templ_7745c5c3_Err != nil {
|
||||
return templ_7745c5c3_Err
|
||||
}
|
||||
templ_7745c5c3_Err = customtextfield.CustomTextFieldv2(models.CustomTextFieldv2Prm{ID: "tableID",
|
||||
Name: "tableID",
|
||||
Type: "hidden",
|
||||
Value: tableID}).Render(ctx, templ_7745c5c3_Buffer)
|
||||
if templ_7745c5c3_Err != nil {
|
||||
return templ_7745c5c3_Err
|
||||
}
|
||||
templ_7745c5c3_Err = customtextfield.CustomTextFieldv2(models.CustomTextFieldv2Prm{ID: "paginationID",
|
||||
Name: "paginationID",
|
||||
Type: "hidden",
|
||||
Value: paginationID}).Render(ctx, templ_7745c5c3_Buffer)
|
||||
if templ_7745c5c3_Err != nil {
|
||||
return templ_7745c5c3_Err
|
||||
}
|
||||
templ_7745c5c3_Err = customtextfield.CustomTextFieldv2(models.CustomTextFieldv2Prm{ID: "searchID",
|
||||
Name: "searchID",
|
||||
Type: "hidden",
|
||||
Value: searchID}).Render(ctx, templ_7745c5c3_Buffer)
|
||||
if templ_7745c5c3_Err != nil {
|
||||
return templ_7745c5c3_Err
|
||||
}
|
||||
templ_7745c5c3_Err = customtextfield.CustomTextFieldv2(models.CustomTextFieldv2Prm{ID: "dialogAddID",
|
||||
Name: "dialogAddID",
|
||||
Type: "hidden",
|
||||
Value: dialogAddID}).Render(ctx, templ_7745c5c3_Buffer)
|
||||
if templ_7745c5c3_Err != nil {
|
||||
return templ_7745c5c3_Err
|
||||
}
|
||||
templ_7745c5c3_Err = customtextfield.CustomTextFieldv2(models.CustomTextFieldv2Prm{ID: "dialogAddBodyID",
|
||||
Name: "dialogAddBodyID",
|
||||
Type: "hidden",
|
||||
Value: dialogAddBodyID}).Render(ctx, templ_7745c5c3_Buffer)
|
||||
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 = customtextfield.CustomTextFieldv2(models.CustomTextFieldv2Prm{ID: "dialogDeleteID",
|
||||
Name: "dialogDeleteID",
|
||||
Type: "hidden",
|
||||
Value: dialogDeleteID}).Render(ctx, templ_7745c5c3_Buffer)
|
||||
if templ_7745c5c3_Err != nil {
|
||||
return templ_7745c5c3_Err
|
||||
}
|
||||
templ_7745c5c3_Err = customtextfield.CustomTextFieldv2(models.CustomTextFieldv2Prm{ID: "dialogDeleteBodyID",
|
||||
Name: "dialogDeleteBodyID",
|
||||
Type: "hidden",
|
||||
Value: dialogDeleteBodyID}).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
|
||||
}
|
||||
templ_7745c5c3_Err = breadcrumb.Render(ctx, templ_7745c5c3_Buffer)
|
||||
if templ_7745c5c3_Err != nil {
|
||||
return templ_7745c5c3_Err
|
||||
}
|
||||
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("</div><div class=\"col-md-2 d-none d-lg-block d-xl-block d-md-block d-sm-none\"><div class=\"d-flex justify-content-end\"><button type=\"button\" class=\"btn btn-primary\" data-toggle=\"modal\" data-target=\"")
|
||||
if templ_7745c5c3_Err != nil {
|
||||
return templ_7745c5c3_Err
|
||||
}
|
||||
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\mddoctor\mddoctor.templ`, Line: 75, Col: 37}
|
||||
}
|
||||
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var2))
|
||||
if templ_7745c5c3_Err != nil {
|
||||
return templ_7745c5c3_Err
|
||||
}
|
||||
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("\">Add New</button></div></div><div class=\"col-md-2 d-block d-lg-none d-xl-none d-md-none d-sm-block justify-content-center px-5\"><button type=\"button\" class=\"btn btn-primary btn-block\" data-toggle=\"modal\" data-target=\"")
|
||||
if templ_7745c5c3_Err != nil {
|
||||
return templ_7745c5c3_Err
|
||||
}
|
||||
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\mddoctor\mddoctor.templ`, Line: 84, Col: 36}
|
||||
}
|
||||
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var3))
|
||||
if templ_7745c5c3_Err != nil {
|
||||
return templ_7745c5c3_Err
|
||||
}
|
||||
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("\">Add New</button></div></div>")
|
||||
if templ_7745c5c3_Err != nil {
|
||||
return templ_7745c5c3_Err
|
||||
}
|
||||
templ_7745c5c3_Err = filterComponent.Render(ctx, templ_7745c5c3_Buffer)
|
||||
if templ_7745c5c3_Err != nil {
|
||||
return templ_7745c5c3_Err
|
||||
}
|
||||
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("<div id=\"loading-parent\" class=\" rounded\">")
|
||||
if templ_7745c5c3_Err != nil {
|
||||
return templ_7745c5c3_Err
|
||||
}
|
||||
templ_7745c5c3_Err = tablecontent.Render(ctx, templ_7745c5c3_Buffer)
|
||||
if templ_7745c5c3_Err != nil {
|
||||
return templ_7745c5c3_Err
|
||||
}
|
||||
templ_7745c5c3_Err = paginationComponent.Render(ctx, templ_7745c5c3_Buffer)
|
||||
if templ_7745c5c3_Err != nil {
|
||||
return templ_7745c5c3_Err
|
||||
}
|
||||
templ_7745c5c3_Err = modalAddForm.Render(ctx, templ_7745c5c3_Buffer)
|
||||
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 = modalDeleteForm.Render(ctx, templ_7745c5c3_Buffer)
|
||||
if templ_7745c5c3_Err != nil {
|
||||
return templ_7745c5c3_Err
|
||||
}
|
||||
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("<div id=\"loading-child\" class=\" rounded bg-transparent\"><div id=\"loading-spinner\" class=\"spinner-border text-primary d-none\" style=\"width: 3rem; height: 3rem;\" role=\"status\"><span class=\"sr-only\">Loading...</span></div></div></div><div id=\"loadingcontent\"></div></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
|
||||
})
|
||||
}
|
||||
|
||||
// for item dropdown
|
||||
func ItemDropdown(dataDropdown []models.GroupResultResumeMcu, selectedId int) 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_Var4 := templ.GetChildren(ctx)
|
||||
if templ_7745c5c3_Var4 == nil {
|
||||
templ_7745c5c3_Var4 = templ.NopComponent
|
||||
}
|
||||
ctx = templ.ClearChildren(ctx)
|
||||
if len(dataDropdown) == 0 {
|
||||
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("<option value=\"0\" disabled selected>Tidak Ada Data</option>")
|
||||
if templ_7745c5c3_Err != nil {
|
||||
return templ_7745c5c3_Err
|
||||
}
|
||||
} else {
|
||||
for _, v := range dataDropdown {
|
||||
if selectedId == v.ID {
|
||||
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("<option value=\"")
|
||||
if templ_7745c5c3_Err != nil {
|
||||
return templ_7745c5c3_Err
|
||||
}
|
||||
var templ_7745c5c3_Var5 string
|
||||
templ_7745c5c3_Var5, templ_7745c5c3_Err = templ.JoinStringErrs(strconv.Itoa(v.ID))
|
||||
if templ_7745c5c3_Err != nil {
|
||||
return templ.Error{Err: templ_7745c5c3_Err, FileName: `views\dev\mddoctor\mddoctor.templ`, Line: 113, Col: 38}
|
||||
}
|
||||
_, 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("\" selected>")
|
||||
if templ_7745c5c3_Err != nil {
|
||||
return templ_7745c5c3_Err
|
||||
}
|
||||
var templ_7745c5c3_Var6 string
|
||||
templ_7745c5c3_Var6, templ_7745c5c3_Err = templ.JoinStringErrs(v.Text)
|
||||
if templ_7745c5c3_Err != nil {
|
||||
return templ.Error{Err: templ_7745c5c3_Err, FileName: `views\dev\mddoctor\mddoctor.templ`, Line: 113, Col: 58}
|
||||
}
|
||||
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var6))
|
||||
if templ_7745c5c3_Err != nil {
|
||||
return templ_7745c5c3_Err
|
||||
}
|
||||
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("</option>")
|
||||
if templ_7745c5c3_Err != nil {
|
||||
return templ_7745c5c3_Err
|
||||
}
|
||||
} else {
|
||||
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("<option value=\"")
|
||||
if templ_7745c5c3_Err != nil {
|
||||
return templ_7745c5c3_Err
|
||||
}
|
||||
var templ_7745c5c3_Var7 string
|
||||
templ_7745c5c3_Var7, templ_7745c5c3_Err = templ.JoinStringErrs(strconv.Itoa(v.ID))
|
||||
if templ_7745c5c3_Err != nil {
|
||||
return templ.Error{Err: templ_7745c5c3_Err, FileName: `views\dev\mddoctor\mddoctor.templ`, Line: 115, Col: 38}
|
||||
}
|
||||
_, 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("\">")
|
||||
if templ_7745c5c3_Err != nil {
|
||||
return templ_7745c5c3_Err
|
||||
}
|
||||
var templ_7745c5c3_Var8 string
|
||||
templ_7745c5c3_Var8, templ_7745c5c3_Err = templ.JoinStringErrs(v.Text)
|
||||
if templ_7745c5c3_Err != nil {
|
||||
return templ.Error{Err: templ_7745c5c3_Err, FileName: `views\dev\mddoctor\mddoctor.templ`, Line: 115, Col: 49}
|
||||
}
|
||||
_, 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("</option>")
|
||||
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
|
||||
})
|
||||
}
|
||||
|
||||
// for empty div
|
||||
func EmptyDiv1() 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_Var9 := templ.GetChildren(ctx)
|
||||
if templ_7745c5c3_Var9 == nil {
|
||||
templ_7745c5c3_Var9 = templ.NopComponent
|
||||
}
|
||||
ctx = templ.ClearChildren(ctx)
|
||||
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("<div></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 CssMdDoctor() 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_Var10 := templ.GetChildren(ctx)
|
||||
if templ_7745c5c3_Var10 == nil {
|
||||
templ_7745c5c3_Var10 = templ.NopComponent
|
||||
}
|
||||
ctx = templ.ClearChildren(ctx)
|
||||
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("<link rel=\"stylesheet\" href=\"assets/css/googlefont/poppins.css\"><link rel=\"stylesheet\" href=\"assets/css/googlefont/publicsans.css\"><link rel=\"stylesheet\" href=\"assets/css/googlefont/roboto.css\"><style>\r\n body {\r\n background-color: white;\r\n /* padding-right: 100px;\r\n padding-left: 100px; */\r\n }\r\n #div-chart {\r\n /* overflow-x: scroll; */\r\n margin: 40px 10vw 40px 10vw;\r\n }\r\n .title {\r\n font-size:20px;\r\n font-weight: bold;\r\n }\r\n #title {\r\n font-weight: 600;\r\n }\r\n .dropdown-menu{\r\n\t\ttransform: translate3d(0px, 35px, 0px)!important;\r\n\t}\r\n \r\n</style>")
|
||||
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 JsMdDoctor() 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_Var11 := templ.GetChildren(ctx)
|
||||
if templ_7745c5c3_Var11 == nil {
|
||||
templ_7745c5c3_Var11 = templ.NopComponent
|
||||
}
|
||||
ctx = templ.ClearChildren(ctx)
|
||||
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("<script>\r\n function onLoadingStart() {\r\n // const loadingParent = document.getElementById(\"loading-parent\");\r\n\t\t\t// const loadingChild = document.getElementById(\"loading-child\");\r\n\t\t\t// const loadingSpinner = document.getElementById(\"loading-spinner\");\r\n\r\n\t\t\t// loadingParent.classList.add(\"overlay\");\r\n\t\t\t// loadingParent.classList.add(\"overlay-block\");\r\n\t\t\t// loadingChild.classList.add(\"overlay-layer\");\r\n\t\t\t// loadingSpinner.classList.remove(\"d-none\");\r\n\r\n // Additional logic when loading starts\r\n }\r\n\r\n function onLoadingEnd() {\r\n console.log('Loading ended');\r\n // const loadingParent = document.getElementById(\"loading-parent\");\r\n\t\t\t// const loadingChild = document.getElementById(\"loading-child\");\r\n\t\t\t// const loadingSpinner = document.getElementById(\"loading-spinner\");\r\n\r\n\t\t\t// loadingParent.classList.remove(\"overlay\");\r\n\t\t\t// loadingParent.classList.remove(\"overlay-block\");\r\n\t\t\t// loadingChild.classList.remove(\"overlay-layer\");\r\n\t\t\t// loadingSpinner.classList.add(\"d-none\");\r\n }\r\n\r\n document.addEventListener('htmx:beforeRequest', function(event) {\r\n var indicator = document.querySelector('#loadingcontent');\r\n\t\t\tconsole.log(event.detail.xhr)\r\n\t\t\tconsole.log(event.detail.elt)\r\n if (indicator) {\r\n onLoadingStart();\r\n }\r\n });\r\n\r\n document.addEventListener('htmx:afterRequest', function(event) {\r\n var indicator = document.querySelector('#loadingcontent');\r\n if (indicator) {\r\n onLoadingEnd();\r\n }\r\n });\r\n </script>")
|
||||
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 BeforeRequestContentMdDoctor() templ.ComponentScript {
|
||||
return templ.ComponentScript{
|
||||
Name: `__templ_BeforeRequestContentMdDoctor_911f`,
|
||||
Function: `function __templ_BeforeRequestContentMdDoctor_911f(){const loadingParent = document.getElementById("loading-parent");
|
||||
const loadingChild = document.getElementById("loading-child");
|
||||
const loadingSpinner = document.getElementById("loading-spinner");
|
||||
|
||||
loadingParent.classList.add("overlay");
|
||||
loadingParent.classList.add("overlay-block");
|
||||
loadingChild.classList.add("overlay-layer");
|
||||
loadingSpinner.classList.remove("d-none");
|
||||
}`,
|
||||
Call: templ.SafeScript(`__templ_BeforeRequestContentMdDoctor_911f`),
|
||||
CallInline: templ.SafeScriptInline(`__templ_BeforeRequestContentMdDoctor_911f`),
|
||||
}
|
||||
}
|
||||
|
||||
func AfterRequestContentMdDoctor() templ.ComponentScript {
|
||||
return templ.ComponentScript{
|
||||
Name: `__templ_AfterRequestContentMdDoctor_6cc0`,
|
||||
Function: `function __templ_AfterRequestContentMdDoctor_6cc0(){const loadingParent = document.getElementById("loading-parent");
|
||||
const loadingChild = document.getElementById("loading-child");
|
||||
const loadingSpinner = document.getElementById("loading-spinner");
|
||||
|
||||
loadingParent.classList.remove("overlay");
|
||||
loadingParent.classList.remove("overlay-block");
|
||||
loadingChild.classList.remove("overlay-layer");
|
||||
loadingSpinner.classList.add("d-none");
|
||||
}`,
|
||||
Call: templ.SafeScript(`__templ_AfterRequestContentMdDoctor_6cc0`),
|
||||
CallInline: templ.SafeScriptInline(`__templ_AfterRequestContentMdDoctor_6cc0`),
|
||||
}
|
||||
}
|
||||
|
||||
func ShowMdDoctorScreen(title string, cmp templ.Component, css templ.Component, js templ.Component,
|
||||
navbarmenu templ.Component,
|
||||
navbaruser templ.Component,
|
||||
userprofile 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)
|
||||
if !templ_7745c5c3_IsBuffer {
|
||||
templ_7745c5c3_Buffer = templ.GetBuffer()
|
||||
defer templ.ReleaseBuffer(templ_7745c5c3_Buffer)
|
||||
}
|
||||
ctx = templ.InitializeContext(ctx)
|
||||
templ_7745c5c3_Var12 := templ.GetChildren(ctx)
|
||||
if templ_7745c5c3_Var12 == nil {
|
||||
templ_7745c5c3_Var12 = templ.NopComponent
|
||||
}
|
||||
ctx = templ.ClearChildren(ctx)
|
||||
templ_7745c5c3_Var13 := 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)
|
||||
}
|
||||
templ_7745c5c3_Err = cmp.Render(ctx, templ_7745c5c3_Buffer)
|
||||
if templ_7745c5c3_Err != nil {
|
||||
return templ_7745c5c3_Err
|
||||
}
|
||||
if !templ_7745c5c3_IsBuffer {
|
||||
_, templ_7745c5c3_Err = io.Copy(templ_7745c5c3_W, templ_7745c5c3_Buffer)
|
||||
}
|
||||
return templ_7745c5c3_Err
|
||||
})
|
||||
templ_7745c5c3_Err = layout.CorporateLayout(title, css, js, navbarmenu, navbaruser, userprofile).Render(templ.WithChildren(ctx, templ_7745c5c3_Var13), templ_7745c5c3_Buffer)
|
||||
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
|
||||
})
|
||||
}
|
||||
136
views/dev/mddoctor/mddoctortable.templ
Normal file
136
views/dev/mddoctor/mddoctortable.templ
Normal file
@@ -0,0 +1,136 @@
|
||||
package dev_mddoctorview
|
||||
|
||||
import "cpone/component/table"
|
||||
import "cpone/models"
|
||||
import "strconv"
|
||||
|
||||
templ TableDoctor(data []models.DoctorV1,
|
||||
tableID string,
|
||||
hxGetEdit string,
|
||||
hxTargetEdit string,
|
||||
hxSwapEdit string,
|
||||
hxIncludeEdit string,
|
||||
hxGetDelete string,
|
||||
hxTargetDelete string,
|
||||
hxSwapDelete string,
|
||||
hxIncludeDelete string,
|
||||
) {
|
||||
<div id={ tableID } hx-swap-oob="true">
|
||||
@tablecomponent.TableV3([]string{"DOCTOR CODE", "NAMA", "ALAMAT", "NO HP", "SPESIALIS", "AKSI"},
|
||||
[]string{"15%", "20%", "25%", "5%", "15%", "20%"},
|
||||
RowDoctor(data,
|
||||
hxGetEdit,
|
||||
hxTargetEdit,
|
||||
hxSwapEdit,
|
||||
hxIncludeEdit,
|
||||
hxGetDelete,
|
||||
hxTargetDelete,
|
||||
hxSwapDelete,
|
||||
hxIncludeDelete,
|
||||
))
|
||||
</div>
|
||||
}
|
||||
|
||||
templ EmptyDivDoctor() {
|
||||
<div></div>
|
||||
}
|
||||
|
||||
templ RowDoctor(data []models.DoctorV1,
|
||||
hxGetEdit string,
|
||||
hxTargetEdit string,
|
||||
hxSwapEdit string,
|
||||
hxIncludeEdit string,
|
||||
hxGetDelete string,
|
||||
hxTargetDelete string,
|
||||
hxSwapDelete string,
|
||||
hxIncludeDelete string,
|
||||
) {
|
||||
if len(data) == 0 {
|
||||
<tr>
|
||||
<td colspan="3" class="text-center">Data Tidak Ditemukan</td>
|
||||
</tr>
|
||||
}
|
||||
for _, v := range data {
|
||||
<tr>
|
||||
<td>{ v.M_DoctorCode }</td>
|
||||
<td>{ v.M_DoctorName }</td>
|
||||
<td>{ v.M_DoctorAddress }</td>
|
||||
<td>{ v.M_DoctorHp }</td>
|
||||
<td>{ v.M_SpecialistName }</td>
|
||||
<td>
|
||||
@TableAction(v.M_DoctorID,
|
||||
hxGetEdit,
|
||||
hxTargetEdit,
|
||||
hxSwapEdit,
|
||||
hxIncludeEdit,
|
||||
hxGetDelete,
|
||||
hxTargetDelete,
|
||||
hxSwapDelete,
|
||||
hxIncludeDelete,
|
||||
)
|
||||
</td>
|
||||
</tr>
|
||||
}
|
||||
}
|
||||
|
||||
templ TableAction(
|
||||
id int,
|
||||
hxGetEdit string,
|
||||
hxTargetEdit string,
|
||||
hxSwapEdit string,
|
||||
hxIncludeEdit string,
|
||||
hxGetDelete string,
|
||||
hxTargetDelete string,
|
||||
hxSwapDelete string,
|
||||
hxIncludeDelete string,
|
||||
|
||||
) {
|
||||
<div class="row px-5 d-flex justify-content-around">
|
||||
<a
|
||||
type="button"
|
||||
class="btnactiondc col-12 col-sm-12 col-md-12 col-lg-5 col-xl-5 col-xxl-5 btn btn-light-tosca mb-2 btn-sm"
|
||||
hx-get={ hxGetEdit + "?id=" + strconv.Itoa(id) }
|
||||
hx-target={ hxTargetEdit }
|
||||
hx-swap={ hxSwapEdit }
|
||||
hx-include={ hxIncludeEdit }
|
||||
hx-indicator={ "#spnredt" + strconv.Itoa(id) }
|
||||
hx-on::before-request={ HandleBeforeRequestRow(strconv.Itoa(id)) }
|
||||
hx-on::after-request={ HandleAfterRequestRow(strconv.Itoa(id)) }
|
||||
>
|
||||
<span id={ "spnredt" + strconv.Itoa(id) } class="htmx-indicator spinner-border spinner-border-sm" role="status" aria-hidden="true"></span>
|
||||
Edit
|
||||
</a>
|
||||
<a
|
||||
type="button"
|
||||
class=" btnactiondc col-12 col-sm-12 col-md-12 col-lg-5 col-xl-5 col-xxl-5 btn btn-light-danger mb-2 btn-sm"
|
||||
hx-get={ hxGetDelete + "?id=" + strconv.Itoa(id) }
|
||||
hx-target={ hxTargetDelete }
|
||||
hx-swap={ hxSwapDelete }
|
||||
hx-include={ hxIncludeDelete }
|
||||
hx-indicator={ "#spnrdel" + strconv.Itoa(id) }
|
||||
hx-on::before-request={ HandleBeforeRequestRow(strconv.Itoa(id)) }
|
||||
hx-on::after-request={ HandleAfterRequestRow(strconv.Itoa(id)) }
|
||||
>
|
||||
<span id={ "spnrdel" + strconv.Itoa(id) } class="htmx-indicator spinner-border spinner-border-sm" role="status" aria-hidden="true"></span>
|
||||
Hapus
|
||||
</a>
|
||||
</div>
|
||||
}
|
||||
|
||||
script HandleBeforeRequestRow(id string) {
|
||||
var cusid_ele = document.getElementsByClassName('btnactiondc');
|
||||
for (var i = 0; i < cusid_ele.length; ++i) {
|
||||
var item = cusid_ele[i];
|
||||
item.classList.add('disabled');
|
||||
}
|
||||
console.log(id)
|
||||
}
|
||||
|
||||
script HandleAfterRequestRow(id string) {
|
||||
var cusid_ele = document.getElementsByClassName('btnactiondc');
|
||||
for (var i = 0; i < cusid_ele.length; ++i) {
|
||||
var item = cusid_ele[i];
|
||||
item.classList.remove('disabled');
|
||||
}
|
||||
console.log(id)
|
||||
}
|
||||
501
views/dev/mddoctor/mddoctortable_templ.go
Normal file
501
views/dev/mddoctor/mddoctortable_templ.go
Normal file
@@ -0,0 +1,501 @@
|
||||
// Code generated by templ - DO NOT EDIT.
|
||||
|
||||
// templ: version: v0.2.663
|
||||
package dev_mddoctorview
|
||||
|
||||
//lint:file-ignore SA4006 This context is only used if a nested component is present.
|
||||
|
||||
import "github.com/a-h/templ"
|
||||
import "context"
|
||||
import "io"
|
||||
import "bytes"
|
||||
|
||||
import "cpone/component/table"
|
||||
import "cpone/models"
|
||||
import "strconv"
|
||||
|
||||
func TableDoctor(data []models.DoctorV1,
|
||||
tableID string,
|
||||
hxGetEdit string,
|
||||
hxTargetEdit string,
|
||||
hxSwapEdit string,
|
||||
hxIncludeEdit 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)
|
||||
if !templ_7745c5c3_IsBuffer {
|
||||
templ_7745c5c3_Buffer = templ.GetBuffer()
|
||||
defer templ.ReleaseBuffer(templ_7745c5c3_Buffer)
|
||||
}
|
||||
ctx = templ.InitializeContext(ctx)
|
||||
templ_7745c5c3_Var1 := templ.GetChildren(ctx)
|
||||
if templ_7745c5c3_Var1 == nil {
|
||||
templ_7745c5c3_Var1 = templ.NopComponent
|
||||
}
|
||||
ctx = templ.ClearChildren(ctx)
|
||||
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("<div id=\"")
|
||||
if templ_7745c5c3_Err != nil {
|
||||
return templ_7745c5c3_Err
|
||||
}
|
||||
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\mddoctor\mddoctortable.templ`, Line: 18, Col: 18}
|
||||
}
|
||||
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var2))
|
||||
if templ_7745c5c3_Err != nil {
|
||||
return templ_7745c5c3_Err
|
||||
}
|
||||
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("\" hx-swap-oob=\"true\">")
|
||||
if templ_7745c5c3_Err != nil {
|
||||
return templ_7745c5c3_Err
|
||||
}
|
||||
templ_7745c5c3_Err = tablecomponent.TableV3([]string{"DOCTOR CODE", "NAMA", "ALAMAT", "NO HP", "SPESIALIS", "AKSI"},
|
||||
[]string{"15%", "20%", "25%", "5%", "15%", "20%"},
|
||||
RowDoctor(data,
|
||||
hxGetEdit,
|
||||
hxTargetEdit,
|
||||
hxSwapEdit,
|
||||
hxIncludeEdit,
|
||||
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("</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 EmptyDivDoctor() 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_Var3 := templ.GetChildren(ctx)
|
||||
if templ_7745c5c3_Var3 == nil {
|
||||
templ_7745c5c3_Var3 = templ.NopComponent
|
||||
}
|
||||
ctx = templ.ClearChildren(ctx)
|
||||
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("<div></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 RowDoctor(data []models.DoctorV1,
|
||||
hxGetEdit string,
|
||||
hxTargetEdit string,
|
||||
hxSwapEdit string,
|
||||
hxIncludeEdit 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)
|
||||
if !templ_7745c5c3_IsBuffer {
|
||||
templ_7745c5c3_Buffer = templ.GetBuffer()
|
||||
defer templ.ReleaseBuffer(templ_7745c5c3_Buffer)
|
||||
}
|
||||
ctx = templ.InitializeContext(ctx)
|
||||
templ_7745c5c3_Var4 := templ.GetChildren(ctx)
|
||||
if templ_7745c5c3_Var4 == nil {
|
||||
templ_7745c5c3_Var4 = templ.NopComponent
|
||||
}
|
||||
ctx = templ.ClearChildren(ctx)
|
||||
if len(data) == 0 {
|
||||
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("<tr><td colspan=\"3\" class=\"text-center\">Data Tidak Ditemukan</td></tr>")
|
||||
if templ_7745c5c3_Err != nil {
|
||||
return templ_7745c5c3_Err
|
||||
}
|
||||
}
|
||||
for _, v := range data {
|
||||
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("<tr><td>")
|
||||
if templ_7745c5c3_Err != nil {
|
||||
return templ_7745c5c3_Err
|
||||
}
|
||||
var templ_7745c5c3_Var5 string
|
||||
templ_7745c5c3_Var5, templ_7745c5c3_Err = templ.JoinStringErrs(v.M_DoctorCode)
|
||||
if templ_7745c5c3_Err != nil {
|
||||
return templ.Error{Err: templ_7745c5c3_Err, FileName: `views\dev\mddoctor\mddoctortable.templ`, Line: 55, Col: 23}
|
||||
}
|
||||
_, 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>")
|
||||
if templ_7745c5c3_Err != nil {
|
||||
return templ_7745c5c3_Err
|
||||
}
|
||||
var templ_7745c5c3_Var6 string
|
||||
templ_7745c5c3_Var6, templ_7745c5c3_Err = templ.JoinStringErrs(v.M_DoctorName)
|
||||
if templ_7745c5c3_Err != nil {
|
||||
return templ.Error{Err: templ_7745c5c3_Err, FileName: `views\dev\mddoctor\mddoctortable.templ`, Line: 56, Col: 23}
|
||||
}
|
||||
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var6))
|
||||
if templ_7745c5c3_Err != nil {
|
||||
return templ_7745c5c3_Err
|
||||
}
|
||||
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("</td><td>")
|
||||
if templ_7745c5c3_Err != nil {
|
||||
return templ_7745c5c3_Err
|
||||
}
|
||||
var templ_7745c5c3_Var7 string
|
||||
templ_7745c5c3_Var7, templ_7745c5c3_Err = templ.JoinStringErrs(v.M_DoctorAddress)
|
||||
if templ_7745c5c3_Err != nil {
|
||||
return templ.Error{Err: templ_7745c5c3_Err, FileName: `views\dev\mddoctor\mddoctortable.templ`, Line: 57, Col: 26}
|
||||
}
|
||||
_, 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("</td><td>")
|
||||
if templ_7745c5c3_Err != nil {
|
||||
return templ_7745c5c3_Err
|
||||
}
|
||||
var templ_7745c5c3_Var8 string
|
||||
templ_7745c5c3_Var8, templ_7745c5c3_Err = templ.JoinStringErrs(v.M_DoctorHp)
|
||||
if templ_7745c5c3_Err != nil {
|
||||
return templ.Error{Err: templ_7745c5c3_Err, FileName: `views\dev\mddoctor\mddoctortable.templ`, Line: 58, Col: 21}
|
||||
}
|
||||
_, 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("</td><td>")
|
||||
if templ_7745c5c3_Err != nil {
|
||||
return templ_7745c5c3_Err
|
||||
}
|
||||
var templ_7745c5c3_Var9 string
|
||||
templ_7745c5c3_Var9, templ_7745c5c3_Err = templ.JoinStringErrs(v.M_SpecialistName)
|
||||
if templ_7745c5c3_Err != nil {
|
||||
return templ.Error{Err: templ_7745c5c3_Err, FileName: `views\dev\mddoctor\mddoctortable.templ`, Line: 59, Col: 27}
|
||||
}
|
||||
_, 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("</td><td>")
|
||||
if templ_7745c5c3_Err != nil {
|
||||
return templ_7745c5c3_Err
|
||||
}
|
||||
templ_7745c5c3_Err = TableAction(v.M_DoctorID,
|
||||
hxGetEdit,
|
||||
hxTargetEdit,
|
||||
hxSwapEdit,
|
||||
hxIncludeEdit,
|
||||
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
|
||||
}
|
||||
}
|
||||
if !templ_7745c5c3_IsBuffer {
|
||||
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteTo(templ_7745c5c3_W)
|
||||
}
|
||||
return templ_7745c5c3_Err
|
||||
})
|
||||
}
|
||||
|
||||
func TableAction(
|
||||
id int,
|
||||
hxGetEdit string,
|
||||
hxTargetEdit string,
|
||||
hxSwapEdit string,
|
||||
hxIncludeEdit 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)
|
||||
if !templ_7745c5c3_IsBuffer {
|
||||
templ_7745c5c3_Buffer = templ.GetBuffer()
|
||||
defer templ.ReleaseBuffer(templ_7745c5c3_Buffer)
|
||||
}
|
||||
ctx = templ.InitializeContext(ctx)
|
||||
templ_7745c5c3_Var10 := templ.GetChildren(ctx)
|
||||
if templ_7745c5c3_Var10 == nil {
|
||||
templ_7745c5c3_Var10 = templ.NopComponent
|
||||
}
|
||||
ctx = templ.ClearChildren(ctx)
|
||||
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("<div class=\"row px-5 d-flex justify-content-around\">")
|
||||
if templ_7745c5c3_Err != nil {
|
||||
return templ_7745c5c3_Err
|
||||
}
|
||||
templ_7745c5c3_Err = templ.RenderScriptItems(ctx, templ_7745c5c3_Buffer, HandleBeforeRequestRow(strconv.Itoa(id)), HandleAfterRequestRow(strconv.Itoa(id)))
|
||||
if templ_7745c5c3_Err != nil {
|
||||
return templ_7745c5c3_Err
|
||||
}
|
||||
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("<a type=\"button\" class=\"btnactiondc col-12 col-sm-12 col-md-12 col-lg-5 col-xl-5 col-xxl-5 btn btn-light-tosca mb-2 btn-sm\" hx-get=\"")
|
||||
if templ_7745c5c3_Err != nil {
|
||||
return templ_7745c5c3_Err
|
||||
}
|
||||
var templ_7745c5c3_Var11 string
|
||||
templ_7745c5c3_Var11, 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\mddoctor\mddoctortable.templ`, Line: 92, Col: 49}
|
||||
}
|
||||
_, 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("\" hx-target=\"")
|
||||
if templ_7745c5c3_Err != nil {
|
||||
return templ_7745c5c3_Err
|
||||
}
|
||||
var templ_7745c5c3_Var12 string
|
||||
templ_7745c5c3_Var12, templ_7745c5c3_Err = templ.JoinStringErrs(hxTargetEdit)
|
||||
if templ_7745c5c3_Err != nil {
|
||||
return templ.Error{Err: templ_7745c5c3_Err, FileName: `views\dev\mddoctor\mddoctortable.templ`, Line: 93, Col: 27}
|
||||
}
|
||||
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var12))
|
||||
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_Var13 string
|
||||
templ_7745c5c3_Var13, templ_7745c5c3_Err = templ.JoinStringErrs(hxSwapEdit)
|
||||
if templ_7745c5c3_Err != nil {
|
||||
return templ.Error{Err: templ_7745c5c3_Err, FileName: `views\dev\mddoctor\mddoctortable.templ`, Line: 94, Col: 23}
|
||||
}
|
||||
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var13))
|
||||
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_Var14 string
|
||||
templ_7745c5c3_Var14, templ_7745c5c3_Err = templ.JoinStringErrs(hxIncludeEdit)
|
||||
if templ_7745c5c3_Err != nil {
|
||||
return templ.Error{Err: templ_7745c5c3_Err, FileName: `views\dev\mddoctor\mddoctortable.templ`, Line: 95, Col: 29}
|
||||
}
|
||||
_, 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("\" hx-indicator=\"")
|
||||
if templ_7745c5c3_Err != nil {
|
||||
return templ_7745c5c3_Err
|
||||
}
|
||||
var templ_7745c5c3_Var15 string
|
||||
templ_7745c5c3_Var15, templ_7745c5c3_Err = templ.JoinStringErrs("#spnredt" + strconv.Itoa(id))
|
||||
if templ_7745c5c3_Err != nil {
|
||||
return templ.Error{Err: templ_7745c5c3_Err, FileName: `views\dev\mddoctor\mddoctortable.templ`, Line: 96, Col: 47}
|
||||
}
|
||||
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var15))
|
||||
if templ_7745c5c3_Err != nil {
|
||||
return templ_7745c5c3_Err
|
||||
}
|
||||
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("\" hx-on::before-request=\"")
|
||||
if templ_7745c5c3_Err != nil {
|
||||
return templ_7745c5c3_Err
|
||||
}
|
||||
var templ_7745c5c3_Var16 templ.ComponentScript = HandleBeforeRequestRow(strconv.Itoa(id))
|
||||
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ_7745c5c3_Var16.Call)
|
||||
if templ_7745c5c3_Err != nil {
|
||||
return templ_7745c5c3_Err
|
||||
}
|
||||
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("\" hx-on::after-request=\"")
|
||||
if templ_7745c5c3_Err != nil {
|
||||
return templ_7745c5c3_Err
|
||||
}
|
||||
var templ_7745c5c3_Var17 templ.ComponentScript = HandleAfterRequestRow(strconv.Itoa(id))
|
||||
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ_7745c5c3_Var17.Call)
|
||||
if templ_7745c5c3_Err != nil {
|
||||
return templ_7745c5c3_Err
|
||||
}
|
||||
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("\"><span id=\"")
|
||||
if templ_7745c5c3_Err != nil {
|
||||
return templ_7745c5c3_Err
|
||||
}
|
||||
var templ_7745c5c3_Var18 string
|
||||
templ_7745c5c3_Var18, templ_7745c5c3_Err = templ.JoinStringErrs("spnredt" + strconv.Itoa(id))
|
||||
if templ_7745c5c3_Err != nil {
|
||||
return templ.Error{Err: templ_7745c5c3_Err, FileName: `views\dev\mddoctor\mddoctortable.templ`, Line: 100, Col: 42}
|
||||
}
|
||||
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var18))
|
||||
if templ_7745c5c3_Err != nil {
|
||||
return templ_7745c5c3_Err
|
||||
}
|
||||
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("\" class=\"htmx-indicator spinner-border spinner-border-sm\" role=\"status\" aria-hidden=\"true\"></span> Edit\r</a> ")
|
||||
if templ_7745c5c3_Err != nil {
|
||||
return templ_7745c5c3_Err
|
||||
}
|
||||
templ_7745c5c3_Err = templ.RenderScriptItems(ctx, templ_7745c5c3_Buffer, HandleBeforeRequestRow(strconv.Itoa(id)), HandleAfterRequestRow(strconv.Itoa(id)))
|
||||
if templ_7745c5c3_Err != nil {
|
||||
return templ_7745c5c3_Err
|
||||
}
|
||||
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("<a type=\"button\" class=\" btnactiondc col-12 col-sm-12 col-md-12 col-lg-5 col-xl-5 col-xxl-5 btn btn-light-danger mb-2 btn-sm\" hx-get=\"")
|
||||
if templ_7745c5c3_Err != nil {
|
||||
return templ_7745c5c3_Err
|
||||
}
|
||||
var templ_7745c5c3_Var19 string
|
||||
templ_7745c5c3_Var19, 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\mddoctor\mddoctortable.templ`, Line: 106, Col: 51}
|
||||
}
|
||||
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var19))
|
||||
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_Var20 string
|
||||
templ_7745c5c3_Var20, templ_7745c5c3_Err = templ.JoinStringErrs(hxTargetDelete)
|
||||
if templ_7745c5c3_Err != nil {
|
||||
return templ.Error{Err: templ_7745c5c3_Err, FileName: `views\dev\mddoctor\mddoctortable.templ`, Line: 107, Col: 29}
|
||||
}
|
||||
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var20))
|
||||
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_Var21 string
|
||||
templ_7745c5c3_Var21, templ_7745c5c3_Err = templ.JoinStringErrs(hxSwapDelete)
|
||||
if templ_7745c5c3_Err != nil {
|
||||
return templ.Error{Err: templ_7745c5c3_Err, FileName: `views\dev\mddoctor\mddoctortable.templ`, Line: 108, Col: 25}
|
||||
}
|
||||
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var21))
|
||||
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_Var22 string
|
||||
templ_7745c5c3_Var22, templ_7745c5c3_Err = templ.JoinStringErrs(hxIncludeDelete)
|
||||
if templ_7745c5c3_Err != nil {
|
||||
return templ.Error{Err: templ_7745c5c3_Err, FileName: `views\dev\mddoctor\mddoctortable.templ`, Line: 109, Col: 31}
|
||||
}
|
||||
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var22))
|
||||
if templ_7745c5c3_Err != nil {
|
||||
return templ_7745c5c3_Err
|
||||
}
|
||||
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("\" hx-indicator=\"")
|
||||
if templ_7745c5c3_Err != nil {
|
||||
return templ_7745c5c3_Err
|
||||
}
|
||||
var templ_7745c5c3_Var23 string
|
||||
templ_7745c5c3_Var23, templ_7745c5c3_Err = templ.JoinStringErrs("#spnrdel" + strconv.Itoa(id))
|
||||
if templ_7745c5c3_Err != nil {
|
||||
return templ.Error{Err: templ_7745c5c3_Err, FileName: `views\dev\mddoctor\mddoctortable.templ`, Line: 110, Col: 47}
|
||||
}
|
||||
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var23))
|
||||
if templ_7745c5c3_Err != nil {
|
||||
return templ_7745c5c3_Err
|
||||
}
|
||||
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("\" hx-on::before-request=\"")
|
||||
if templ_7745c5c3_Err != nil {
|
||||
return templ_7745c5c3_Err
|
||||
}
|
||||
var templ_7745c5c3_Var24 templ.ComponentScript = HandleBeforeRequestRow(strconv.Itoa(id))
|
||||
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ_7745c5c3_Var24.Call)
|
||||
if templ_7745c5c3_Err != nil {
|
||||
return templ_7745c5c3_Err
|
||||
}
|
||||
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("\" hx-on::after-request=\"")
|
||||
if templ_7745c5c3_Err != nil {
|
||||
return templ_7745c5c3_Err
|
||||
}
|
||||
var templ_7745c5c3_Var25 templ.ComponentScript = HandleAfterRequestRow(strconv.Itoa(id))
|
||||
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ_7745c5c3_Var25.Call)
|
||||
if templ_7745c5c3_Err != nil {
|
||||
return templ_7745c5c3_Err
|
||||
}
|
||||
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("\"><span id=\"")
|
||||
if templ_7745c5c3_Err != nil {
|
||||
return templ_7745c5c3_Err
|
||||
}
|
||||
var templ_7745c5c3_Var26 string
|
||||
templ_7745c5c3_Var26, templ_7745c5c3_Err = templ.JoinStringErrs("spnrdel" + strconv.Itoa(id))
|
||||
if templ_7745c5c3_Err != nil {
|
||||
return templ.Error{Err: templ_7745c5c3_Err, FileName: `views\dev\mddoctor\mddoctortable.templ`, Line: 114, Col: 42}
|
||||
}
|
||||
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var26))
|
||||
if templ_7745c5c3_Err != nil {
|
||||
return templ_7745c5c3_Err
|
||||
}
|
||||
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("\" class=\"htmx-indicator spinner-border spinner-border-sm\" role=\"status\" aria-hidden=\"true\"></span> 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
|
||||
})
|
||||
}
|
||||
|
||||
func HandleBeforeRequestRow(id string) templ.ComponentScript {
|
||||
return templ.ComponentScript{
|
||||
Name: `__templ_HandleBeforeRequestRow_4c34`,
|
||||
Function: `function __templ_HandleBeforeRequestRow_4c34(id){var cusid_ele = document.getElementsByClassName('btnactiondc');
|
||||
for (var i = 0; i < cusid_ele.length; ++i) {
|
||||
var item = cusid_ele[i];
|
||||
item.classList.add('disabled');
|
||||
}
|
||||
console.log(id)
|
||||
}`,
|
||||
Call: templ.SafeScript(`__templ_HandleBeforeRequestRow_4c34`, id),
|
||||
CallInline: templ.SafeScriptInline(`__templ_HandleBeforeRequestRow_4c34`, id),
|
||||
}
|
||||
}
|
||||
|
||||
func HandleAfterRequestRow(id string) templ.ComponentScript {
|
||||
return templ.ComponentScript{
|
||||
Name: `__templ_HandleAfterRequestRow_9aec`,
|
||||
Function: `function __templ_HandleAfterRequestRow_9aec(id){var cusid_ele = document.getElementsByClassName('btnactiondc');
|
||||
for (var i = 0; i < cusid_ele.length; ++i) {
|
||||
var item = cusid_ele[i];
|
||||
item.classList.remove('disabled');
|
||||
}
|
||||
console.log(id)
|
||||
}`,
|
||||
Call: templ.SafeScript(`__templ_HandleAfterRequestRow_9aec`, id),
|
||||
CallInline: templ.SafeScriptInline(`__templ_HandleAfterRequestRow_9aec`, id),
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user