From d9ba1f3ce3b5d9a0f22e7816ad4b6204bdedff5c Mon Sep 17 00:00:00 2001 From: sindhu Date: Wed, 15 May 2024 13:18:23 +0700 Subject: [PATCH] user grup listing, search, pagination --- .../customtextfieldsearch.templ | 58 ++-- .../customtextfieldsearch_templ.go | 180 ++++++++++++- component/pagination/paginationv1.templ | 55 ++++ component/pagination/paginationv1_templ.go | 154 +++++++++++ component/table/tablev1.templ | 25 ++ component/table/tablev1_templ.go | 107 ++++++++ component/table/tablev2.templ | 27 ++ component/table/tablev2_templ.go | 115 ++++++++ component/toastbootstrap/customtoastv1.templ | 15 ++ .../toastbootstrap/customtoastv1_templ.go | 48 ++++ handlers/dev/mastermenuusergroup.handlers.go | 247 +++++++++++++++++- handlers/routes.go | 2 + services/dev/mastermenuusergroup.services.go | 149 +++++++++-- utils/generaterandomid.utils.go | 2 +- .../mastermenuusergroupv1.templ | 23 +- .../mastermenuusergroupv1_templ.go | 26 +- 16 files changed, 1152 insertions(+), 81 deletions(-) create mode 100644 component/pagination/paginationv1.templ create mode 100644 component/pagination/paginationv1_templ.go create mode 100644 component/table/tablev1.templ create mode 100644 component/table/tablev1_templ.go create mode 100644 component/table/tablev2.templ create mode 100644 component/table/tablev2_templ.go create mode 100644 component/toastbootstrap/customtoastv1.templ create mode 100644 component/toastbootstrap/customtoastv1_templ.go diff --git a/component/customtextfieldsearch/customtextfieldsearch.templ b/component/customtextfieldsearch/customtextfieldsearch.templ index 00acf9d..d80867d 100644 --- a/component/customtextfieldsearch/customtextfieldsearch.templ +++ b/component/customtextfieldsearch/customtextfieldsearch.templ @@ -4,20 +4,46 @@ templ MainCustomTextFieldSearch( inpName, inpPlaceHolder, inpType, - hxPost, - hxTrigger, - hxTarget, - hxIndicator string) { - + hxPost, + hxTrigger, + hxTarget, + hxIndicator string) { + +} + +templ MainCustomTextFieldSearchV1( + inpId, + inpName, + inpPlaceHolder, + inpType, + hxGet, + hxTrigger, + hxTarget, + hxIndicator, + value, + hxExt string) { + } \ No newline at end of file diff --git a/component/customtextfieldsearch/customtextfieldsearch_templ.go b/component/customtextfieldsearch/customtextfieldsearch_templ.go index bedafde..fc101e8 100644 --- a/component/customtextfieldsearch/customtextfieldsearch_templ.go +++ b/component/customtextfieldsearch/customtextfieldsearch_templ.go @@ -37,7 +37,7 @@ func MainCustomTextFieldSearch( var templ_7745c5c3_Var2 string templ_7745c5c3_Var2, templ_7745c5c3_Err = templ.JoinStringErrs(inpType) if templ_7745c5c3_Err != nil { - return templ.Error{Err: templ_7745c5c3_Err, FileName: `component\customtextfieldsearch\customtextfieldsearch.templ`, Line: 13, Col: 22} + return templ.Error{Err: templ_7745c5c3_Err, FileName: `component\customtextfieldsearch\customtextfieldsearch.templ`, Line: 13, Col: 16} } _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var2)) if templ_7745c5c3_Err != nil { @@ -50,7 +50,7 @@ func MainCustomTextFieldSearch( var templ_7745c5c3_Var3 string templ_7745c5c3_Var3, templ_7745c5c3_Err = templ.JoinStringErrs(inpName) if templ_7745c5c3_Err != nil { - return templ.Error{Err: templ_7745c5c3_Err, FileName: `component\customtextfieldsearch\customtextfieldsearch.templ`, Line: 14, Col: 22} + return templ.Error{Err: templ_7745c5c3_Err, FileName: `component\customtextfieldsearch\customtextfieldsearch.templ`, Line: 14, Col: 16} } _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var3)) if templ_7745c5c3_Err != nil { @@ -63,7 +63,7 @@ func MainCustomTextFieldSearch( var templ_7745c5c3_Var4 string templ_7745c5c3_Var4, templ_7745c5c3_Err = templ.JoinStringErrs(inpName) if templ_7745c5c3_Err != nil { - return templ.Error{Err: templ_7745c5c3_Err, FileName: `component\customtextfieldsearch\customtextfieldsearch.templ`, Line: 15, Col: 20} + return templ.Error{Err: templ_7745c5c3_Err, FileName: `component\customtextfieldsearch\customtextfieldsearch.templ`, Line: 15, Col: 14} } _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var4)) if templ_7745c5c3_Err != nil { @@ -76,7 +76,7 @@ func MainCustomTextFieldSearch( var templ_7745c5c3_Var5 string templ_7745c5c3_Var5, templ_7745c5c3_Err = templ.JoinStringErrs(inpPlaceHolder) if templ_7745c5c3_Err != nil { - return templ.Error{Err: templ_7745c5c3_Err, FileName: `component\customtextfieldsearch\customtextfieldsearch.templ`, Line: 16, Col: 36} + return templ.Error{Err: templ_7745c5c3_Err, FileName: `component\customtextfieldsearch\customtextfieldsearch.templ`, Line: 16, Col: 30} } _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var5)) if templ_7745c5c3_Err != nil { @@ -89,7 +89,7 @@ func MainCustomTextFieldSearch( var templ_7745c5c3_Var6 string templ_7745c5c3_Var6, templ_7745c5c3_Err = templ.JoinStringErrs(hxPost) if templ_7745c5c3_Err != nil { - return templ.Error{Err: templ_7745c5c3_Err, FileName: `component\customtextfieldsearch\customtextfieldsearch.templ`, Line: 17, Col: 24} + return templ.Error{Err: templ_7745c5c3_Err, FileName: `component\customtextfieldsearch\customtextfieldsearch.templ`, Line: 17, Col: 18} } _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var6)) if templ_7745c5c3_Err != nil { @@ -102,7 +102,7 @@ func MainCustomTextFieldSearch( var templ_7745c5c3_Var7 string templ_7745c5c3_Var7, templ_7745c5c3_Err = templ.JoinStringErrs(hxTrigger) if templ_7745c5c3_Err != nil { - return templ.Error{Err: templ_7745c5c3_Err, FileName: `component\customtextfieldsearch\customtextfieldsearch.templ`, Line: 18, Col: 30} + return templ.Error{Err: templ_7745c5c3_Err, FileName: `component\customtextfieldsearch\customtextfieldsearch.templ`, Line: 18, Col: 24} } _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var7)) if templ_7745c5c3_Err != nil { @@ -115,7 +115,7 @@ func MainCustomTextFieldSearch( var templ_7745c5c3_Var8 string templ_7745c5c3_Var8, templ_7745c5c3_Err = templ.JoinStringErrs(hxTarget) if templ_7745c5c3_Err != nil { - return templ.Error{Err: templ_7745c5c3_Err, FileName: `component\customtextfieldsearch\customtextfieldsearch.templ`, Line: 19, Col: 28} + return templ.Error{Err: templ_7745c5c3_Err, FileName: `component\customtextfieldsearch\customtextfieldsearch.templ`, Line: 19, Col: 22} } _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var8)) if templ_7745c5c3_Err != nil { @@ -128,7 +128,7 @@ func MainCustomTextFieldSearch( var templ_7745c5c3_Var9 string templ_7745c5c3_Var9, templ_7745c5c3_Err = templ.JoinStringErrs(hxIndicator) if templ_7745c5c3_Err != nil { - return templ.Error{Err: templ_7745c5c3_Err, FileName: `component\customtextfieldsearch\customtextfieldsearch.templ`, Line: 20, Col: 34} + return templ.Error{Err: templ_7745c5c3_Err, FileName: `component\customtextfieldsearch\customtextfieldsearch.templ`, Line: 20, Col: 28} } _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var9)) if templ_7745c5c3_Err != nil { @@ -144,3 +144,167 @@ func MainCustomTextFieldSearch( return templ_7745c5c3_Err }) } + +func MainCustomTextFieldSearchV1( + inpId, + inpName, + inpPlaceHolder, + inpType, + hxGet, + hxTrigger, + hxTarget, + hxIndicator, + value, + hxExt 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("") + 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 + }) +} diff --git a/component/pagination/paginationv1.templ b/component/pagination/paginationv1.templ new file mode 100644 index 0000000..db442af --- /dev/null +++ b/component/pagination/paginationv1.templ @@ -0,0 +1,55 @@ +package pagination + +import "strconv" + +templ PaginationV1(length int, currentPage int, link string, contentID string, searchQueryParam string) { + // hx-on::before-request={ HideContent(contentID) } + // hx-on::after-request="alert('Done making a request!')" +
+
+ for i:=0; i{ strconv.Itoa(i+1) } + } else { + { strconv.Itoa(i+1) } + } + } +
+
+} + +// script ShowContent(contentID string) { +// console.log("Show Content"); +// console.log(contentID); +// document.getElementById(contentID).setAttribute("visible",""); +// // document.querySelector('#'+contentID).style.display = 'block'; +// // document.querySelector('#'+contentID).setAttribute("visible",""); + +// } + +// script HideContent(contentID string) { +// console.log("Hide Content"); +// console.log(contentID); +// document.getElementById(contentID).setAttribute("hidden",""); +// // document.querySelector('#'+contentID).style.display = 'none'; +// // document.querySelector('#'+contentID).setAttribute("hidden",""); +// } + +// script CobaContent(contentID string) { +// console.log(contentID); + +// } diff --git a/component/pagination/paginationv1_templ.go b/component/pagination/paginationv1_templ.go new file mode 100644 index 0000000..cf717cc --- /dev/null +++ b/component/pagination/paginationv1_templ.go @@ -0,0 +1,154 @@ +// Code generated by templ - DO NOT EDIT. + +// templ: version: v0.2.663 +package pagination + +//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 "strconv" + +func PaginationV1(length int, currentPage int, link string, contentID string, searchQueryParam 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("
") + if templ_7745c5c3_Err != nil { + return templ_7745c5c3_Err + } + for i := 0; i < length; i++ { + if (i + 1) == currentPage { + _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("") + if templ_7745c5c3_Err != nil { + return templ_7745c5c3_Err + } + var templ_7745c5c3_Var4 string + templ_7745c5c3_Var4, templ_7745c5c3_Err = templ.JoinStringErrs(strconv.Itoa(i + 1)) + if templ_7745c5c3_Err != nil { + return templ.Error{Err: templ_7745c5c3_Err, FileName: `component\pagination\paginationv1.templ`, Line: 19, Col: 25} + } + _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var4)) + 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 + } + } else { + _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("") + if templ_7745c5c3_Err != nil { + return templ_7745c5c3_Err + } + var templ_7745c5c3_Var7 string + templ_7745c5c3_Var7, templ_7745c5c3_Err = templ.JoinStringErrs(strconv.Itoa(i + 1)) + if templ_7745c5c3_Err != nil { + return templ.Error{Err: templ_7745c5c3_Err, FileName: `component\pagination\paginationv1.templ`, Line: 28, Col: 25} + } + _, 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 + } + } + } + _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("
") + 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 + }) +} + +// script ShowContent(contentID string) { +// console.log("Show Content"); +// console.log(contentID); +// document.getElementById(contentID).setAttribute("visible",""); +// // document.querySelector('#'+contentID).style.display = 'block'; +// // document.querySelector('#'+contentID).setAttribute("visible",""); + +// } + +// script HideContent(contentID string) { +// console.log("Hide Content"); +// console.log(contentID); +// document.getElementById(contentID).setAttribute("hidden",""); +// // document.querySelector('#'+contentID).style.display = 'none'; +// // document.querySelector('#'+contentID).setAttribute("hidden",""); +// } + +// script CobaContent(contentID string) { +// console.log(contentID); + +// } diff --git a/component/table/tablev1.templ b/component/table/tablev1.templ new file mode 100644 index 0000000..dee84ad --- /dev/null +++ b/component/table/tablev1.templ @@ -0,0 +1,25 @@ +package tablecomponent + +templ TableV1(thName []string, thWidth []string, trComponent templ.Component, pagination templ.Component, idunique string) { + if len(thName) != len(thWidth) { +
length array thname berbeda dengan array thwidth
+ } else { +
+ + + + for i, item := range thName { + + } + + + + @trComponent + +
{ item }
+
+ @pagination +
+
+ } +} diff --git a/component/table/tablev1_templ.go b/component/table/tablev1_templ.go new file mode 100644 index 0000000..8be1de1 --- /dev/null +++ b/component/table/tablev1_templ.go @@ -0,0 +1,107 @@ +// Code generated by templ - DO NOT EDIT. + +// templ: version: v0.2.663 +package tablecomponent + +//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" + +func TableV1(thName []string, thWidth []string, trComponent templ.Component, pagination templ.Component, idunique 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) + if len(thName) != len(thWidth) { + _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("
length array thname berbeda dengan array thwidth
") + if templ_7745c5c3_Err != nil { + return templ_7745c5c3_Err + } + } else { + _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("
") + if templ_7745c5c3_Err != nil { + return templ_7745c5c3_Err + } + for i, item := range thName { + _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("") + 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 = trComponent.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 + } + var templ_7745c5c3_Var4 string + templ_7745c5c3_Var4, templ_7745c5c3_Err = templ.JoinStringErrs(item) + if templ_7745c5c3_Err != nil { + return templ.Error{Err: templ_7745c5c3_Err, FileName: `component\table\tablev1.templ`, Line: 12, Col: 50} + } + _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var4)) + 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 = pagination.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 + } + } + if !templ_7745c5c3_IsBuffer { + _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteTo(templ_7745c5c3_W) + } + return templ_7745c5c3_Err + }) +} diff --git a/component/table/tablev2.templ b/component/table/tablev2.templ new file mode 100644 index 0000000..e72aa52 --- /dev/null +++ b/component/table/tablev2.templ @@ -0,0 +1,27 @@ +package tablecomponent + +templ TableV2(thName []string, thWidth []string, trComponent templ.Component, pagination templ.Component, idunique string, inputanSearch templ.Component) { + if len(thName) != len(thWidth) { +
length array thname berbeda dengan array thwidth
+ } else { +
+ @inputanSearch +
+ + + + for i, item := range thName { + + } + + + + @trComponent + +
{ item }
+
+ @pagination +
+
+ } +} diff --git a/component/table/tablev2_templ.go b/component/table/tablev2_templ.go new file mode 100644 index 0000000..1941684 --- /dev/null +++ b/component/table/tablev2_templ.go @@ -0,0 +1,115 @@ +// Code generated by templ - DO NOT EDIT. + +// templ: version: v0.2.663 +package tablecomponent + +//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" + +func TableV2(thName []string, thWidth []string, trComponent templ.Component, pagination templ.Component, idunique string, 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 { + 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) + if len(thName) != len(thWidth) { + _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("
length array thname berbeda dengan array thwidth
") + if templ_7745c5c3_Err != nil { + return templ_7745c5c3_Err + } + } else { + _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("
") + 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 + } + for i, item := range thName { + _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("") + 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 = trComponent.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 + } + var templ_7745c5c3_Var4 string + templ_7745c5c3_Var4, templ_7745c5c3_Err = templ.JoinStringErrs(item) + if templ_7745c5c3_Err != nil { + return templ.Error{Err: templ_7745c5c3_Err, FileName: `component\table\tablev2.templ`, Line: 14, Col: 50} + } + _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var4)) + 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 = pagination.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 + } + } + if !templ_7745c5c3_IsBuffer { + _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteTo(templ_7745c5c3_W) + } + return templ_7745c5c3_Err + }) +} diff --git a/component/toastbootstrap/customtoastv1.templ b/component/toastbootstrap/customtoastv1.templ new file mode 100644 index 0000000..85379df --- /dev/null +++ b/component/toastbootstrap/customtoastv1.templ @@ -0,0 +1,15 @@ +package customtoastv1 + +templ CustomToastV1(message string, idUniqueCustomToast string) { +
+ +
+} diff --git a/component/toastbootstrap/customtoastv1_templ.go b/component/toastbootstrap/customtoastv1_templ.go new file mode 100644 index 0000000..d854f36 --- /dev/null +++ b/component/toastbootstrap/customtoastv1_templ.go @@ -0,0 +1,48 @@ +// Code generated by templ - DO NOT EDIT. + +// templ: version: v0.2.663 +package customtoastv1 + +//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" + +func CustomToastV1(message string, idUniqueCustomToast 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("
Pemberitahuan
") + if templ_7745c5c3_Err != nil { + return templ_7745c5c3_Err + } + var templ_7745c5c3_Var2 string + templ_7745c5c3_Var2, templ_7745c5c3_Err = templ.JoinStringErrs(message) + if templ_7745c5c3_Err != nil { + return templ.Error{Err: templ_7745c5c3_Err, FileName: `component\toastbootstrap\customtoastv1.templ`, Line: 11, Col: 25} + } + _, 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("
") + 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 + }) +} diff --git a/handlers/dev/mastermenuusergroup.handlers.go b/handlers/dev/mastermenuusergroup.handlers.go index cd163c8..c1d6838 100644 --- a/handlers/dev/mastermenuusergroup.handlers.go +++ b/handlers/dev/mastermenuusergroup.handlers.go @@ -2,6 +2,7 @@ package dev_handlers import ( "fmt" + "math" "strconv" "time" @@ -34,6 +35,9 @@ type MasterMenuUserGroupService interface { AddUserGroup(code string, name string) (models.UserGroupV1, error) EditUserGroup(id string, code string, name string) (models.UserGroupV1, error) DeleteUserGroup(id string) (models.UserGroupV1, error) + GetListMasterUserGroupBySearch(search string) ([]models.UserGroupV1, error) + GetListMasterUserGroupPagination(search string, currentPage int, rowPerPage int) ([]models.UserGroupV1, error) + GetListMasterUserGroupFilteredBySearch(search string) ([]models.UserGroupV1, error) } func NewMasterMenuUserGroupHandler(us MasterMenuUserGroupService) *MasterMenuUserGroupHandler { @@ -131,10 +135,12 @@ func (lh *MasterMenuUserGroupHandler) HandleChangePage(c echo.Context) error { ) time.Sleep(3 * time.Second) // time.Sleep(5 * time.Second) - vw := tablecomponent.Table([]string{"KODE", "USERGROUP", "AKSI"}, + vw := tablecomponent.TableV1([]string{"KODE", "USERGROUP", "AKSI"}, []string{"40%", "40%", "20%"}, mastermenuusergroup.TableRow(dataUserGroup), - pagination.Pagination(pageInt, currPageInt, "dev/usergroup/pagination", contentID)) + pagination.Pagination(pageInt, currPageInt, "dev/usergroup/pagination", contentID), + contentID, + ) return lh.View(c, vw) } @@ -147,6 +153,9 @@ func (uh *MasterMenuUserGroupHandler) View(c echo.Context, cmp templ.Component) // try func (lh *MasterMenuUserGroupHandler) HandlerShowMasterMenuUserGroupV1(c echo.Context) error { + // var toastComponent templ.Component + contentIDHtmxExtension := utils.GenerateRandomID("htmxExtmgu") + logger, _ := zap.NewProduction() dataMenu, err := lh.MasterMenuUserGroupService.GetMasterMenus() fmt.Println(dataMenu) @@ -164,7 +173,8 @@ func (lh *MasterMenuUserGroupHandler) HandlerShowMasterMenuUserGroupV1(c echo.Co return err } - dataUserGroup, err := lh.MasterMenuUserGroupService.GetListMasterUserGroup() + rowPerPage := 2 + dataUserGroup, err := lh.MasterMenuUserGroupService.GetListMasterUserGroupPagination("", 1, rowPerPage) fmt.Println(dataUserGroup) fmt.Println(err) if err != nil { @@ -176,6 +186,18 @@ func (lh *MasterMenuUserGroupHandler) HandlerShowMasterMenuUserGroupV1(c echo.Co return err } + dataUserGroupAll, err := lh.MasterMenuUserGroupService.GetListMasterUserGroup() + fmt.Println(dataUserGroupAll) + fmt.Println(err) + if err != nil { + defer logger.Sync() + logger.Info("ERROR LIST USER GROUP ALL DEV", + zap.Any("error", err), + ) + fmt.Println(dataUserGroupAll) + return err + } + // si := mastermenuusergroup.ListMasterUserGroupInitial(dataUserGroup) defer logger.Sync() @@ -225,14 +247,28 @@ func (lh *MasterMenuUserGroupHandler) HandlerShowMasterMenuUserGroupV1(c echo.Co sidebaruserprofileComponent := sidebaruserprofile.Navbaruserprofile(dataUser) // inputan search - inputansearchComponent := customtextfieldsearch.MainCustomTextFieldSearch("q", "Cari User Group", "text", "", "", "", "") + // inputansearchComponent := customtextfieldsearch.MainCustomTextFieldSearchV1("q", "Cari User Group", "text", "/dev/searchusergroupv1", "input changed delay:500ms, search", "#idbaru", "#indicator") + + contentIDSearch := utils.GenerateRandomID("qsearch") + totalPages := int(math.Ceil(float64(len(dataUserGroupAll)) / float64(rowPerPage))) + link := "currentPage=1&page=" + strconv.Itoa(totalPages) + "&contentID=" + contentID + + inputansearchComponent := customtextfieldsearch.MainCustomTextFieldSearchV1("#"+contentIDSearch, "q", "Cari User Group", "text", "/dev/searchusergroupv1?"+link, "input changed delay:500ms, search", "#"+contentID, "#indicator", "", contentIDHtmxExtension) + + // toast + // contentIDToast := utils.GenerateRandomID("toastmgu") + // toastComponent = customtoast.CustomToastV1("", contentIDHtmxExtension) // table user group - tabelusergroupComponent := tablecomponent.Table( + + searchQueryParam := "&q=" + tabelusergroupComponent := tablecomponent.TableV2( []string{"KODE", "USERGROUP", "AKSI"}, []string{"40%", "40%", "20%"}, mastermenuusergroup.TableRowV1(dataUserGroup), - pagination.Pagination(20, 1, "", contentID), + pagination.PaginationV1(totalPages, 1, "/dev/usergroupv1pagination", contentID, searchQueryParam), + contentID, + inputansearchComponent, ) si := mastermenuusergroup.ShowMasterMenuUserGroupV1x( @@ -242,6 +278,8 @@ func (lh *MasterMenuUserGroupHandler) HandlerShowMasterMenuUserGroupV1(c echo.Co breadcrumbadmin.MainBreadcrumbAdminV1(dataBreadCrumb), tabelusergroupComponent, inputansearchComponent, + // toastComponent, + // contentIDToast, ), mastermenuusergroup.CssMasterMenuUserGroupV1x(), @@ -376,3 +414,200 @@ func (lh *MasterMenuUserGroupHandler) DeleteUserGroup(c echo.Context) error { return lh.View(c, vw) } + +func (lh *MasterMenuUserGroupHandler) HandlerShowMasterMenuUserGroupSearchV1(c echo.Context) error { + search := c.QueryParam("q") + logger, _ := zap.NewProduction() + + // dataUserGroup, err := lh.MasterMenuUserGroupService.GetListMasterUserGroupBySearch(search) + rowPerPage := 2 + pageparam := c.QueryParam("page") + page, err := strconv.Atoi(pageparam) + if err != nil { + defer logger.Sync() + logger.Info("ERROR CONVERT PAGE PARAM", + zap.Any("page", page), + zap.Any("error ", err), + ) + return err + } + + currentPageParam := c.QueryParam("currentPage") + currentPage, err := strconv.Atoi(currentPageParam) + if err != nil { + defer logger.Sync() + logger.Info("ERROR CONVERT CURRENT PAGE PARAM", + zap.Any("page", page), + zap.Any("error ", err), + ) + return err + } + + dataUserGroup, err := lh.MasterMenuUserGroupService.GetListMasterUserGroupPagination(search, currentPage, rowPerPage) + fmt.Println(dataUserGroup) + fmt.Println(err) + if err != nil { + defer logger.Sync() + logger.Info("ERROR SEARCH USER GROUP DEV", + zap.Any("error", err), + zap.Any("search param", search), + ) + fmt.Println(dataUserGroup) + return err + } + + defer logger.Sync() + logger.Info("LOAD USER GROUP DEV BY SEARCH", + zap.Any("data", dataUserGroup), + ) + + // data user filtered + dataUserGroupFiltered, err := lh.MasterMenuUserGroupService.GetListMasterUserGroupFilteredBySearch(search) + fmt.Println(dataUserGroupFiltered) + fmt.Println(err) + if err != nil { + defer logger.Sync() + logger.Info("ERROR SEARCH USER GROUP FILTERED BY SEARCH DEV", + zap.Any("error", err), + zap.Any("search param", search), + ) + fmt.Println(dataUserGroupFiltered) + return err + } + + defer logger.Sync() + logger.Info("LOAD SEARCH USER GROUP FILTERED BY SEARCH DEV", + zap.Any("data", dataUserGroupFiltered), + ) + // si := mastermenuusergroup.ListMasterUserGroupInitial(dataUserGroup) + + contentID := utils.GenerateRandomID("tablebody") + + // tabelusergroupComponent := mastermenuusergroup.TableRowV1(dataUserGroup) + totalPages := int(math.Ceil(float64(len(dataUserGroupFiltered)) / float64(rowPerPage))) + searchQueryParam := "&q=" + search + + contentIDSearch := utils.GenerateRandomID("qsearch") + link := "currentPage=1&page=" + strconv.Itoa(totalPages) + "&contentID=" + contentID + + contentIDHtmxExtension := utils.GenerateRandomID("htmxExtmgu") + inputansearchComponent := customtextfieldsearch.MainCustomTextFieldSearchV1("#"+contentIDSearch, "q", "Cari User Group", "text", "/dev/searchusergroupv1?"+link, "input changed delay:500ms, search", "#"+contentID, "#indicator", search, contentIDHtmxExtension) + + tabelusergroupComponent := tablecomponent.TableV2( + []string{"KODE", "USERGROUP", "AKSI"}, + []string{"40%", "40%", "20%"}, + mastermenuusergroup.TableRowV1(dataUserGroup), + pagination.PaginationV1(totalPages, 1, "/dev/usergroupv1pagination", contentID, searchQueryParam), + contentID, + inputansearchComponent, + ) + + si := tabelusergroupComponent + + return utils.View(c, si) +} + +func (lh *MasterMenuUserGroupHandler) HandlerShowMasterMenuUserGroupPaginationV1(c echo.Context) error { + logger, _ := zap.NewProduction() + + search := c.QueryParam("q") + pageparam := c.QueryParam("page") + page, err := strconv.Atoi(pageparam) + if err != nil { + defer logger.Sync() + logger.Info("ERROR CONVERT PAGE PARAM", + zap.Any("page", page), + zap.Any("error ", err), + ) + return err + } + + dataUserGroupAll, err := lh.MasterMenuUserGroupService.GetListMasterUserGroup() + fmt.Println(dataUserGroupAll) + fmt.Println(err) + if err != nil { + defer logger.Sync() + logger.Info("ERROR LIST USER GROUP ALL DEV", + zap.Any("error", err), + ) + fmt.Println(dataUserGroupAll) + return err + } + + currentPageParam := c.QueryParam("currentPage") + currentPage, err := strconv.Atoi(currentPageParam) + if err != nil { + defer logger.Sync() + logger.Info("ERROR CONVERT CURRENT PAGE PARAM", + zap.Any("page", page), + zap.Any("error ", err), + ) + return err + } + + rowPerPage := 2 + dataUserGroup, err := lh.MasterMenuUserGroupService.GetListMasterUserGroupPagination(search, currentPage, rowPerPage) + fmt.Println(dataUserGroup) + fmt.Println(err) + if err != nil { + defer logger.Sync() + logger.Info("ERROR SEARCH USER GROUP DEV", + zap.Any("error", err), + zap.Any("search param", search), + ) + fmt.Println(dataUserGroup) + return err + } + + // si := mastermenuusergroup.ListMasterUserGroupInitial(dataUserGroup) + + defer logger.Sync() + logger.Info("LOAD USER GROUP DEV BY SEARCH", + zap.Any("data", dataUserGroup), + ) + + // data user filtered + dataUserGroupFiltered, err := lh.MasterMenuUserGroupService.GetListMasterUserGroupFilteredBySearch(search) + fmt.Println(dataUserGroupFiltered) + fmt.Println(err) + if err != nil { + defer logger.Sync() + logger.Info("ERROR SEARCH USER GROUP FILTERED BY SEARCH DEV", + zap.Any("error", err), + zap.Any("search param", search), + ) + fmt.Println(dataUserGroupFiltered) + return err + } + + defer logger.Sync() + logger.Info("LOAD SEARCH USER GROUP FILTERED BY SEARCH DEV", + zap.Any("data", dataUserGroupFiltered), + ) + + contentID := utils.GenerateRandomID("tablebody") + + // table user group + searchQueryParam := "&q=" + search + totalPages := int(math.Ceil(float64(len(dataUserGroupFiltered)) / float64(rowPerPage))) + contentIDSearch := utils.GenerateRandomID("qsearch") + link := "currentPage=1&page=" + strconv.Itoa(totalPages) + "&contentID=" + contentID + + contentIDHtmxExtension := utils.GenerateRandomID("htmxExtmgu") + inputansearchComponent := customtextfieldsearch.MainCustomTextFieldSearchV1("#"+contentIDSearch, "q", "Cari User Group", "text", "/dev/searchusergroupv1?"+link, "input changed delay:500ms, search", "#"+contentID, "#indicator", search, contentIDHtmxExtension) + + tabelusergroupComponent := tablecomponent.TableV2( + []string{"KODE", "USERGROUP", "AKSI"}, + []string{"40%", "40%", "20%"}, + mastermenuusergroup.TableRowV1(dataUserGroup), + pagination.PaginationV1(totalPages, currentPage, "/dev/usergroupv1pagination", contentID, searchQueryParam), + contentID, + inputansearchComponent, + ) + + // tabelusergroupComponent := mastermenuusergroup.TableRowV1(dataUserGroup) + + si := tabelusergroupComponent + + return utils.View(c, si) +} diff --git a/handlers/routes.go b/handlers/routes.go index fc0e844..78539ad 100644 --- a/handlers/routes.go +++ b/handlers/routes.go @@ -196,6 +196,8 @@ func SetupRoutesDev(app *echo.Echo, appStore db.AppStore) { // try dev.GET("/usergroupv1", devUGhandlers.HandlerShowMasterMenuUserGroupV1) dev.GET("/breadcrumbv1", devUGhandlers.HandlerShowBreadCrumbV1) + dev.GET("/searchusergroupv1", devUGhandlers.HandlerShowMasterMenuUserGroupSearchV1) + dev.GET("/usergroupv1pagination", devUGhandlers.HandlerShowMasterMenuUserGroupPaginationV1) // clientgroup.GET("/usergroup/edit", mastermenuusergroupHandler.ChangeFormEdit) // clientgroup.GET("/usergroup/pagination", mastermenuusergroupHandler.HandleChangePage) diff --git a/services/dev/mastermenuusergroup.services.go b/services/dev/mastermenuusergroup.services.go index f09285c..8c1260d 100644 --- a/services/dev/mastermenuusergroup.services.go +++ b/services/dev/mastermenuusergroup.services.go @@ -664,30 +664,6 @@ 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 -} func (ug *ServicesMasterMenuUserGroup) GetUserGroupByIDV1(id string) (models.UserGroupV1, error) { logger, _ := zap.NewProduction() @@ -812,3 +788,128 @@ func (ug *ServicesMasterMenuUserGroup) DeleteUserGroup(id string) (models.UserGr } return data, nil } + +func (su *ServicesMasterMenuUserGroup) GetListMasterUserGroupFilteredBySearch(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' + ` + + // check jika parameter search nya tidak kosong + if search != "" { + query += fmt.Sprintf(" AND (M_UserGroupName LIKE '%%%s%%' OR M_UserGroupCode LIKE '%%%s%%')", search, search) + } else { + search = "%%" + } + + // query += " ORDER BY M_UserGroupID ASC" + query += fmt.Sprintf(" ORDER BY M_UserGroupID ASC") + + logger, _ := zap.NewProduction() + defer logger.Sync() + logger.Info("QUERY SEARCH ONlY FOR COUNT TOTAL PAGES PAGINATION", + zap.String("query search", query), + ) + + if err := dbx.Handlex.Select(&userGroupList, query); err != nil { + return nil, fmt.Errorf("error querying database: %v", err) + } + + return userGroupList, 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' + ` + + // fmt.Errorf(search) + rowPerPage := 2 + offset := 0 + + // check jika parameter search nya tidak kosong + if search != "" { + query += fmt.Sprintf(" AND (M_UserGroupName LIKE '%%%s%%' OR M_UserGroupCode LIKE '%%%s%%')", search, search) + } else { + search = "%%" + } + + // query += " ORDER BY M_UserGroupID ASC" + query += fmt.Sprintf(" ORDER BY M_UserGroupID ASC LIMIT %d OFFSET %d", rowPerPage, offset) + + logger, _ := zap.NewProduction() + defer logger.Sync() + logger.Info("QUERY SEARCH ONlY AND SETTING LIMIT", + zap.String("query search", query), + ) + + if err := dbx.Handlex.Select(&userGroupList, query); err != nil { + return nil, fmt.Errorf("error querying database: %v", err) + } + + return userGroupList, nil +} + +func (su *ServicesMasterMenuUserGroup) GetListMasterUserGroupPagination(search string, currentPage int, rowPerPage int) ([]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' + ` + + // rmaxPerPage := 2 + // rpage := (currentPage - 1) * rmaxPerPage + + offset := (currentPage - 1) * rowPerPage + // offset := currentPage + + if search != "" { + query += fmt.Sprintf(" AND (M_UserGroupName LIKE '%%%s%%' OR M_UserGroupCode LIKE '%%%s%%')", search, search) + } else { + search = "%%" + } + + query += fmt.Sprintf(" ORDER BY M_UserGroupID ASC LIMIT %d OFFSET %d", rowPerPage, offset) + + logger, _ := zap.NewProduction() + defer logger.Sync() + logger.Info("QUERY SEARCH WITH PAGINATION", + zap.String("query search", query), + ) + + if err := dbx.Handlex.Select(&userGroupList, query); err != nil { + return nil, fmt.Errorf("error querying database: %v", err) + } + + return userGroupList, nil +} diff --git a/utils/generaterandomid.utils.go b/utils/generaterandomid.utils.go index 5b69c70..1c337dc 100644 --- a/utils/generaterandomid.utils.go +++ b/utils/generaterandomid.utils.go @@ -12,5 +12,5 @@ func GenerateRandomID(text string) string { hash := md5.Sum([]byte(seed)) randomID := hex.EncodeToString(hash[:]) randomID = strings.ReplaceAll(randomID, "-", "") - return randomID + return "sas" + randomID } diff --git a/views/dev/mastermenuusergroup/mastermenuusergroupv1.templ b/views/dev/mastermenuusergroup/mastermenuusergroupv1.templ index ec81d7a..c1dbd05 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, inputansearch templ.Component) { +templ ContentMasterMenuUserGroupV1(contentID string, breadcrumb templ.Component, tablecontent templ.Component, inputanSearch templ.Component) {
@@ -29,11 +29,7 @@ templ ContentMasterMenuUserGroupV1(contentID string, breadcrumb templ.Component,
- // inputan - @inputansearch -
-
- // table content + // table content @tablecontent
@@ -63,6 +59,11 @@ templ TableRowV1(data []models.UserGroupV1) { // > // Edit // + if len(data) == 0 { + + Data Tidak Ditemukan + + } for _, v := range data { { v.M_UserGroupCode } @@ -148,8 +149,6 @@ templ JSkuV1() { .getElementById("modalbdyEdit") .setAttribute("style", "display:block !important;;"); } - - } @@ -209,10 +208,10 @@ templ CssMasterMenuUserGroupV1x() { templ JsMasterMenuUserGroupV1x() { } -templ ShowMasterMenuUserGroupV1x(title string, cmp templ.Component, css templ.Component, js templ.Component, - navbarmenu templ.Component, - navbaruser templ.Component, - userprofile templ.Component) { +templ ShowMasterMenuUserGroupV1x(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 } diff --git a/views/dev/mastermenuusergroup/mastermenuusergroupv1_templ.go b/views/dev/mastermenuusergroup/mastermenuusergroupv1_templ.go index 920b445..adee32d 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, inputansearch 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,14 +43,6 @@ 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 @@ -95,6 +87,12 @@ func TableRowV1(data []models.UserGroupV1) templ.Component { templ_7745c5c3_Var2 = templ.NopComponent } ctx = templ.ClearChildren(ctx) + if len(data) == 0 { + _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("Data Tidak Ditemukan") + if templ_7745c5c3_Err != nil { + return templ_7745c5c3_Err + } + } for _, v := range data { _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("") if templ_7745c5c3_Err != nil { @@ -103,7 +101,7 @@ func TableRowV1(data []models.UserGroupV1) templ.Component { var templ_7745c5c3_Var3 string 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: 68, Col: 26} + 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_Var3)) if templ_7745c5c3_Err != nil { @@ -116,7 +114,7 @@ func TableRowV1(data []models.UserGroupV1) templ.Component { var templ_7745c5c3_Var4 string 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: 69, Col: 26} + return templ.Error{Err: templ_7745c5c3_Err, FileName: `views\dev\mastermenuusergroup\mastermenuusergroupv1.templ`, Line: 70, Col: 26} } _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var4)) if templ_7745c5c3_Err != nil { @@ -129,7 +127,7 @@ func TableRowV1(data []models.UserGroupV1) templ.Component { var templ_7745c5c3_Var5 string 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: 77, Col: 65} + return templ.Error{Err: templ_7745c5c3_Err, FileName: `views\dev\mastermenuusergroup\mastermenuusergroupv1.templ`, Line: 78, Col: 65} } _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var5)) if templ_7745c5c3_Err != nil { @@ -142,7 +140,7 @@ func TableRowV1(data []models.UserGroupV1) templ.Component { var templ_7745c5c3_Var6 string 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: 85, Col: 67} + return templ.Error{Err: templ_7745c5c3_Err, FileName: `views\dev\mastermenuusergroup\mastermenuusergroupv1.templ`, Line: 86, Col: 67} } _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var6)) if templ_7745c5c3_Err != nil { @@ -241,7 +239,7 @@ func JSkuV1() templ.Component { templ_7745c5c3_Var9 = templ.NopComponent } ctx = templ.ClearChildren(ctx) - _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("") + _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("") if templ_7745c5c3_Err != nil { return templ_7745c5c3_Err }