tabel user grup dan inputan search

This commit is contained in:
sindhu
2024-05-14 15:28:40 +07:00
parent f6d04cdd62
commit 5dce26caeb
7 changed files with 81 additions and 28 deletions

3
.gitignore vendored
View File

@@ -1,3 +1,4 @@
tmp
bin
config.yaml
config.yaml
restapi.rest

View File

@@ -18,5 +18,6 @@ templ MainCustomTextFieldSearch(
hx-trigger={ hxTrigger }
hx-target={ hxTarget }
hx-indicator={ hxIndicator }
autocomplete="off"
/>
}

View File

@@ -134,7 +134,7 @@ func MainCustomTextFieldSearch(
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("\">")
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("\" autocomplete=\"off\">")
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}

View File

@@ -8,7 +8,6 @@ import (
"cpone/component/pagination"
tablecomponent "cpone/component/table"
"cpone/component/under_development"
"cpone/models"
"cpone/utils"
mastermenuusergroup "cpone/views/dev/mastermenuusergroup"
@@ -20,6 +19,7 @@ import (
"go.uber.org/zap"
breadcrumbadmin "cpone/component/breadcrumbadmin"
customtextfieldsearch "cpone/component/customtextfieldsearch"
navbarmenu "cpone/component/navbar"
sidebaruserprofile "cpone/component/sidebar_user_profile"
)
@@ -221,12 +221,24 @@ func (lh *MasterMenuUserGroupHandler) HandlerShowMasterMenuUserGroupV1(c echo.Co
// sidebar
sidebaruserprofileComponent := sidebaruserprofile.Navbaruserprofile(dataUser)
// inputan search
inputansearchComponent := customtextfieldsearch.MainCustomTextFieldSearch("q", "Cari User Group", "text", "", "", "", "")
// table user group
tabelusergroupComponent := tablecomponent.Table(
[]string{"KODE", "USERGROUP", "AKSI"},
[]string{"40%", "40%", "20%"},
mastermenuusergroup.TableRowV1(dataUserGroup),
pagination.Pagination(20, 1, "", contentID),
)
si := mastermenuusergroup.ShowMasterMenuUserGroupV1x(
"Master Menu",
mastermenuusergroup.ContentMasterMenuUserGroupV1(
contentID,
breadcrumbadmin.MainBreadcrumbAdminV1(dataBreadCrumb),
under_development.UnderDevelopment(),
tabelusergroupComponent,
inputansearchComponent,
),
mastermenuusergroup.CssMasterMenuUserGroupV1x(),

View File

@@ -596,6 +596,7 @@ func (su *ServicesMasterMenuUserGroup) GetListMasterUserGroup() ([]models.UserGr
M_UserGroupIsActive
FROM m_usergroup
WHERE M_UserGroupIsActive = 'Y'
order by M_UserGroupID ASC
`
if err := dbx.Handlex.Select(&userGroupList, query); err != nil {
@@ -659,3 +660,28 @@ func (su *ServicesMasterMenuUserGroup) GetListBreadCrumb(title string) (models.B
return ret, nil
}
func (su *ServicesMasterMenuUserGroup) GetListMasterUserGroupBySearch(search *string) ([]models.UserGroupV1, error) {
var userGroupList []models.UserGroupV1
query := `
SELECT
ROW_NUMBER() OVER () AS nomor,
M_UserGroupID,
M_UserGroupCode,
M_UserGroupName,
M_UserGroupCreated,
M_UserGroupLastUpdated,
M_UserGroupIsActive
FROM m_usergroup
WHERE M_UserGroupIsActive = 'Y'
AND
order by M_UserGroupID ASC
`
if err := dbx.Handlex.Get(&userGroupList, query); err != nil {
return nil, fmt.Errorf("error querying database: %v", err)
}
return userGroupList, nil
}

View File

@@ -8,7 +8,7 @@ import (
)
// "cpone/component/sidebar_user_profile"
templ ContentMasterMenuUserGroupV1(contentID string, breadcrumb templ.Component, tablecontent templ.Component) {
templ ContentMasterMenuUserGroupV1(contentID string, breadcrumb templ.Component, tablecontent templ.Component, inputansearch templ.Component) {
<div class="container-fluid">
<div class="row align-items-center mb-10">
<div class="col-md-10 col-sm-12 p-0 ">
@@ -29,6 +29,11 @@ templ ContentMasterMenuUserGroupV1(contentID string, breadcrumb templ.Component,
<button type="button" class="btn btn-primary btn-block">Add New</button>
</div>
</div>
// inputan
@inputansearch
<div class="mt-7">
</div>
// table content
@tablecontent
<div class="d-flex justify-content-center text-primary">
<div class="htmx-indicator spinner-border" role="status" id="indicator">
@@ -41,7 +46,7 @@ templ ContentMasterMenuUserGroupV1(contentID string, breadcrumb templ.Component,
</div>
}
templ TableRowV1(data []models.UserGroup) {
templ TableRowV1(data []models.UserGroupV1) {
// /usergroup/edit
// <a
// id="btneditug"
@@ -60,8 +65,8 @@ templ TableRowV1(data []models.UserGroup) {
// </a>
for _, v := range data {
<tr>
<td>{ v.UserGroupKode }</td>
<td>{ v.UserGroupName }</td>
<td>{ v.M_UserGroupCode }</td>
<td>{ v.M_UserGroupName }</td>
<td>
<div class="row px-5 d-flex justify-content-around">
<a
@@ -69,7 +74,7 @@ templ TableRowV1(data []models.UserGroup) {
type="button"
class="btneditusgp col-12 col-sm-12 col-md-12 col-lg-5 col-xl-5 col-xxl-5 btn btn-light-tosca mb-2"
data-toggle="modal"
data-target={ "#dialogEdit" + strconv.Itoa(v.UserGroupID) }
data-target={ "#dialogEdit" + strconv.Itoa(v.M_UserGroupID) }
>
Edit
</a>
@@ -77,18 +82,18 @@ templ TableRowV1(data []models.UserGroup) {
type="button"
class="col-12 col-sm-12 col-md-12 col-lg-5 col-xl-5 col-xxl-5 btn btn-light-danger mb-2"
data-toggle="modal"
data-target={ "#dialogDelete" + strconv.Itoa(v.UserGroupID) }
data-target={ "#dialogDelete" + strconv.Itoa(v.M_UserGroupID) }
>Hapus</a>
@modalcomponent.Modal("dialogEdit"+strconv.Itoa(v.UserGroupID),
@modalcomponent.Modal("dialogEdit"+strconv.Itoa(v.M_UserGroupID),
"Edit - User Group",
DialogEditBody(v.UserGroupKode, v.UserGroupName),
DialogEditBody(v.M_UserGroupCode, v.M_UserGroupName),
DialogEditAction(),
BtnCloseNew())
@modalcomponent.ModalConfirmation(
"dialogDelete"+strconv.Itoa(v.UserGroupID),
"dialogDelete"+strconv.Itoa(v.M_UserGroupID),
"Konfirmasi",
"Apakah anda yakin menghapus user group berikut ?", BtnCloseDelete(),
[]string{"Kode", "User Group"}, []string{v.UserGroupKode, v.UserGroupName}, DialogDeleteAction())
[]string{"Kode", "User Group"}, []string{v.M_UserGroupCode, v.M_UserGroupName}, DialogDeleteAction())
</div>
</td>
</tr>

View File

@@ -18,7 +18,7 @@ import (
)
// "cpone/component/sidebar_user_profile"
func ContentMasterMenuUserGroupV1(contentID string, breadcrumb templ.Component, tablecontent templ.Component) templ.Component {
func ContentMasterMenuUserGroupV1(contentID string, breadcrumb templ.Component, tablecontent templ.Component, inputansearch 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 {
@@ -43,6 +43,14 @@ func ContentMasterMenuUserGroupV1(contentID string, breadcrumb templ.Component,
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
templ_7745c5c3_Err = inputansearch.Render(ctx, templ_7745c5c3_Buffer)
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("<div class=\"mt-7\"></div>")
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
@@ -74,7 +82,7 @@ func ContentMasterMenuUserGroupV1(contentID string, breadcrumb templ.Component,
})
}
func TableRowV1(data []models.UserGroup) templ.Component {
func TableRowV1(data []models.UserGroupV1) 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 {
@@ -93,9 +101,9 @@ func TableRowV1(data []models.UserGroup) templ.Component {
return templ_7745c5c3_Err
}
var templ_7745c5c3_Var3 string
templ_7745c5c3_Var3, templ_7745c5c3_Err = templ.JoinStringErrs(v.UserGroupKode)
templ_7745c5c3_Var3, templ_7745c5c3_Err = templ.JoinStringErrs(v.M_UserGroupCode)
if templ_7745c5c3_Err != nil {
return templ.Error{Err: templ_7745c5c3_Err, FileName: `views\dev\mastermenuusergroup\mastermenuusergroupv1.templ`, Line: 63, Col: 24}
return templ.Error{Err: templ_7745c5c3_Err, FileName: `views\dev\mastermenuusergroup\mastermenuusergroupv1.templ`, Line: 68, Col: 26}
}
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var3))
if templ_7745c5c3_Err != nil {
@@ -106,9 +114,9 @@ func TableRowV1(data []models.UserGroup) templ.Component {
return templ_7745c5c3_Err
}
var templ_7745c5c3_Var4 string
templ_7745c5c3_Var4, templ_7745c5c3_Err = templ.JoinStringErrs(v.UserGroupName)
templ_7745c5c3_Var4, templ_7745c5c3_Err = templ.JoinStringErrs(v.M_UserGroupName)
if templ_7745c5c3_Err != nil {
return templ.Error{Err: templ_7745c5c3_Err, FileName: `views\dev\mastermenuusergroup\mastermenuusergroupv1.templ`, Line: 64, Col: 24}
return templ.Error{Err: templ_7745c5c3_Err, FileName: `views\dev\mastermenuusergroup\mastermenuusergroupv1.templ`, Line: 69, Col: 26}
}
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var4))
if templ_7745c5c3_Err != nil {
@@ -119,9 +127,9 @@ func TableRowV1(data []models.UserGroup) templ.Component {
return templ_7745c5c3_Err
}
var templ_7745c5c3_Var5 string
templ_7745c5c3_Var5, templ_7745c5c3_Err = templ.JoinStringErrs("#dialogEdit" + strconv.Itoa(v.UserGroupID))
templ_7745c5c3_Var5, templ_7745c5c3_Err = templ.JoinStringErrs("#dialogEdit" + strconv.Itoa(v.M_UserGroupID))
if templ_7745c5c3_Err != nil {
return templ.Error{Err: templ_7745c5c3_Err, FileName: `views\dev\mastermenuusergroup\mastermenuusergroupv1.templ`, Line: 72, Col: 63}
return templ.Error{Err: templ_7745c5c3_Err, FileName: `views\dev\mastermenuusergroup\mastermenuusergroupv1.templ`, Line: 77, Col: 65}
}
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var5))
if templ_7745c5c3_Err != nil {
@@ -132,9 +140,9 @@ func TableRowV1(data []models.UserGroup) templ.Component {
return templ_7745c5c3_Err
}
var templ_7745c5c3_Var6 string
templ_7745c5c3_Var6, templ_7745c5c3_Err = templ.JoinStringErrs("#dialogDelete" + strconv.Itoa(v.UserGroupID))
templ_7745c5c3_Var6, templ_7745c5c3_Err = templ.JoinStringErrs("#dialogDelete" + strconv.Itoa(v.M_UserGroupID))
if templ_7745c5c3_Err != nil {
return templ.Error{Err: templ_7745c5c3_Err, FileName: `views\dev\mastermenuusergroup\mastermenuusergroupv1.templ`, Line: 80, Col: 65}
return templ.Error{Err: templ_7745c5c3_Err, FileName: `views\dev\mastermenuusergroup\mastermenuusergroupv1.templ`, Line: 85, Col: 67}
}
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var6))
if templ_7745c5c3_Err != nil {
@@ -144,19 +152,19 @@ func TableRowV1(data []models.UserGroup) templ.Component {
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
templ_7745c5c3_Err = modalcomponent.Modal("dialogEdit"+strconv.Itoa(v.UserGroupID),
templ_7745c5c3_Err = modalcomponent.Modal("dialogEdit"+strconv.Itoa(v.M_UserGroupID),
"Edit - User Group",
DialogEditBody(v.UserGroupKode, v.UserGroupName),
DialogEditBody(v.M_UserGroupCode, v.M_UserGroupName),
DialogEditAction(),
BtnCloseNew()).Render(ctx, templ_7745c5c3_Buffer)
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
templ_7745c5c3_Err = modalcomponent.ModalConfirmation(
"dialogDelete"+strconv.Itoa(v.UserGroupID),
"dialogDelete"+strconv.Itoa(v.M_UserGroupID),
"Konfirmasi",
"Apakah anda yakin menghapus user group berikut ?", BtnCloseDelete(),
[]string{"Kode", "User Group"}, []string{v.UserGroupKode, v.UserGroupName}, DialogDeleteAction()).Render(ctx, templ_7745c5c3_Buffer)
[]string{"Kode", "User Group"}, []string{v.M_UserGroupCode, v.M_UserGroupName}, DialogDeleteAction()).Render(ctx, templ_7745c5c3_Buffer)
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}