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)
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user