package models

import "github.com/a-h/templ"

type Kelainan struct {
	Nomor                              string `db:"nomor"`
	Mcu_KelainanGroupID                int    `db:"Mcu_KelainanGroupID"`
	Mcu_KelainanGroupName              string `db:"Mcu_KelainanGroupName"`
	Mcu_KelainanGroupFlagActive        string `db:"Mcu_KelainanGroupFlagActive"`
	Mcu_KelainanGroupIsActive          string `db:"Mcu_KelainanGroupIsActive"`
	Mcu_KelainanGroupCreated           string `db:"Mcu_KelainanGroupCreated"`
	Mcu_KelainanGroupCreatedUserID     string `db:"Mcu_KelainanGroupCreatedUserID"`
	Mcu_KelainanGroupLastUpdated       string `db:"Mcu_KelainanGroupLastUpdated"`
	Mcu_KelainanGroupLastUpdatedUserID string `db:"Mcu_KelainanGroupLastUpdatedUserID"`
	Mcu_KelainanGroupDeleted           string `db:"Mcu_KelainanGroupDeleted"`
	Mcu_KelainanGroupDeletedUserID     string `db:"Mcu_KelainanGroupDeletedUserID"`
}

type KelainanFormComponent struct {
	IDComponent  string
	Link         string
	HxTarget     string
	HxSwap       string
	HxInclude    string
	ModalID      string
	ModalTitle   string
	InputName    CustomTextFieldv2Prm
	InputCode    CustomTextFieldv2Prm
	InputID      CustomTextFieldv2Prm
	DialogBody   templ.Component
	DialogAction templ.Component
	ButtonCLose  templ.Component
}

type KelainanDetail struct {
	Nomor                           string `db:"nomor"`
	Mcu_KelainanID                  int    `db:"Mcu_KelainanID"`
	Mcu_KelainanName                string `db:"Mcu_KelainanName"`
	Mcu_KelainanClasification       string `db:"Mcu_KelainanClasification"`
	Mcu_KelainanMcu_KelainanGroupID string `db:"Mcu_KelainanMcu_KelainanGroupID"`
	Mcu_KelainanFlagActive          string `db:"Mcu_KelainanFlagActive"`
	Mcu_KelainanIsActive            string `db:"Mcu_KelainanIsActive"`
	Mcu_KelainanUserID              string `db:"Mcu_KelainanUserID"`
	Mcu_KelainanCreated             string `db:"Mcu_KelainanCreated"`
	Mcu_KelainanCreatedUserID       string `db:"Mcu_KelainanCreatedUserID"`
	Mcu_KelainanLastUpdated         string `db:"Mcu_KelainanLastUpdated"`
	Mcu_KelainanLastUpdatedUserID   string `db:"Mcu_KelainanLastUpdatedUserID"`
	Mcu_KelainanDeleted             string `db:"Mcu_KelainanDeleted"`
	Mcu_KelainanDeletedUserID       string `db:"Mcu_KelainanDeletedUserID"`
}

type CustomTextFieldSelected struct {
	SwapOob     string `default:"swapOob"`
	Label       string `default:"Label"`
	Name        string `default:"name"`
	Placeholder string `default:"Placeholder"`
	Type        string `default:"text"`
	Value       string `default:""`
	ErrorMsg    string `default:""`
	ID          string
}

type KelainanDetailFormComponent struct {
	IDComponent         string
	Link                string
	HxTarget            string
	HxSwap              string
	HxInclude           string
	ModalID             string
	ModalTitle          string
	InputName           CustomTextFieldv2Prm
	InputClassification CustomTextFieldv2Prm
	InputID             CustomTextFieldv2Prm
	DialogBody          templ.Component
	DialogAction        templ.Component
	ButtonCLose         templ.Component
}

type SwitchclassPrm struct {
	Label   string `default:"label"`
	Type    string `default:"type"`
	Checked string `default:"Checked"`
	Name    string `default:"name"`
	ID      string
}

type ButtonPrm struct {
	ID        string
	Label     string `default:"default"`
	Type      string `default:"type"`
	Class     string `default:"class"`
	Color     string `default:"color"`
	HxGet     string
	HxTarget  string
	HxSwap    string
	HxInclude string
}
