diff --git a/.gitignore b/.gitignore index edafdc4..232d914 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1,4 @@ tmp bin -config.yaml \ No newline at end of file +config.yaml +restapi.rest \ No newline at end of file diff --git a/component/customtextfieldsearch/customtextfieldsearch.templ b/component/customtextfieldsearch/customtextfieldsearch.templ index a7c860f..00acf9d 100644 --- a/component/customtextfieldsearch/customtextfieldsearch.templ +++ b/component/customtextfieldsearch/customtextfieldsearch.templ @@ -18,5 +18,6 @@ templ MainCustomTextFieldSearch( hx-trigger={ hxTrigger } hx-target={ hxTarget } hx-indicator={ hxIndicator } + autocomplete="off" /> } \ No newline at end of file diff --git a/component/customtextfieldsearch/customtextfieldsearch_templ.go b/component/customtextfieldsearch/customtextfieldsearch_templ.go index 6fdae54..bedafde 100644 --- a/component/customtextfieldsearch/customtextfieldsearch_templ.go +++ b/component/customtextfieldsearch/customtextfieldsearch_templ.go @@ -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 } diff --git a/handlers/dev/mastermenuusergroup.handlers.go b/handlers/dev/mastermenuusergroup.handlers.go index 121f6d8..ab15762 100644 --- a/handlers/dev/mastermenuusergroup.handlers.go +++ b/handlers/dev/mastermenuusergroup.handlers.go @@ -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(), diff --git a/services/dev/mastermenuusergroup.services.go b/services/dev/mastermenuusergroup.services.go index 212ec3c..8cb486a 100644 --- a/services/dev/mastermenuusergroup.services.go +++ b/services/dev/mastermenuusergroup.services.go @@ -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 +} diff --git a/views/dev/mastermenuusergroup/mastermenuusergroupv1.templ b/views/dev/mastermenuusergroup/mastermenuusergroupv1.templ index 7c318e3..ec81d7a 100644 --- a/views/dev/mastermenuusergroup/mastermenuusergroupv1.templ +++ b/views/dev/mastermenuusergroup/mastermenuusergroupv1.templ @@ -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) {
@@ -29,6 +29,11 @@ templ ContentMasterMenuUserGroupV1(contentID string, breadcrumb templ.Component,
+ // inputan + @inputansearch +
+
+ // table content @tablecontent
@@ -41,7 +46,7 @@ templ ContentMasterMenuUserGroupV1(contentID string, breadcrumb templ.Component,
} -templ TableRowV1(data []models.UserGroup) { +templ TableRowV1(data []models.UserGroupV1) { // /usergroup/edit // for _, v := range data { - { v.UserGroupKode } - { v.UserGroupName } + { v.M_UserGroupCode } + { v.M_UserGroupName }
Edit @@ -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 - @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())
diff --git a/views/dev/mastermenuusergroup/mastermenuusergroupv1_templ.go b/views/dev/mastermenuusergroup/mastermenuusergroupv1_templ.go index 19cfde1..920b445 100644 --- a/views/dev/mastermenuusergroup/mastermenuusergroupv1_templ.go +++ b/views/dev/mastermenuusergroup/mastermenuusergroupv1_templ.go @@ -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("
") + 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 }