Compare commits

..

4 Commits

Author SHA1 Message Date
Sas Andy
0af34a2e33 coba pagination 2024-05-14 09:01:27 +07:00
Sas Andy
49c80c912b Merge branch 'andy/table' of https://devone.aplikasi.web.id/gitea/andy/corporate_portal_westerindo into andy/table 2024-05-13 14:41:22 +07:00
Sas Andy
65d54eb7a1 coba pagination 2024-05-13 14:39:06 +07:00
Sas Andy
b24623668e coba pagination 2024-05-13 09:00:21 +07:00
13 changed files with 665 additions and 502 deletions

View File

@@ -5168,15 +5168,6 @@ a.text-hover-tosca:hover .svg-icon svg:hover g [fill],
transition: fill 0.3s ease;
}
.htmx-indicator {
display: none;
}
.htmx-request .htmx-indicator {
display: inline;
}
.htmx-request.htmx-indicator {
display: inline;
}
/* ### BUTTON HOVER TEXT */
/* ### */
/* ## PRIMARY */

View File

@@ -2,7 +2,7 @@ package customtextfieldautocomplete;
import (
"cpone/layout"
"cpone/models"
services "cpone/services/dev"
)
templ MainCustomAutoComplete(value string) {
@@ -32,7 +32,7 @@ templ ListCustomAutoCompleteHide() {
<div id="hasilAutoComplete"></div>
}
templ ListCustomAutoComplete(limit string, param string, totalDataInt int, foundCount int, pageOf string, textFound string, data []models.AutoComplete) {
templ ListCustomAutoComplete(limit string, param string, totalDataInt int, foundCount int, pageOf string, textFound string, data []services.AutoComplete) {
<div id="contentList" class="bootstrap-autocomplete dropdown-menu-custom bg-white show">
if len(data) == 0 {
<a class="dropdown-item" href="#" style="overflow: hidden; text-overflow: ellipsis;">Data Tidak Ditemukan</a>

View File

@@ -12,7 +12,7 @@ import "bytes"
import (
"cpone/layout"
"cpone/models"
services "cpone/services/dev"
)
func MainCustomAutoComplete(value string) templ.Component {
@@ -76,7 +76,7 @@ func ListCustomAutoCompleteHide() templ.Component {
})
}
func ListCustomAutoComplete(limit string, param string, totalDataInt int, foundCount int, pageOf string, textFound string, data []models.AutoComplete) templ.Component {
func ListCustomAutoComplete(limit string, param string, totalDataInt int, foundCount int, pageOf string, textFound string, data []services.AutoComplete) 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 {

View File

@@ -2,16 +2,58 @@ package pagination
import "strconv"
templ Pagination(length int, currentPage int) {
templ Pagination(length int, currentPage int, link string, contentID string) {
// hx-on::before-request={ HideContent(contentID) }
// hx-on::after-request="alert('Done making a request!')"
<div class="d-flex justify-content-between align-items-center flex-wrap">
<div class="d-flex flex-wrap py-2 mr-3">
for i:=0; i<length; i++ {
if (i+1) == currentPage {
<a href="#" class="btn btn-icon btn-sm border-0 btn-light btn-hover-primary active mr-2 my-1">{ strconv.Itoa(i+1) }</a>
<a
hx-get={ link + "?" + "currentPage=" + strconv.Itoa(i+1) + "&page=" + strconv.Itoa(length) + "&contentID=" + contentID }
class="btn btn-icon btn-sm border-0 btn-light btn-hover-primary active mr-2 my-1"
hx-swap="outerHTML"
hx-indicator="#indicator"
hx-trigger="click"
hx-on::before-request={ HideContent(contentID) }
hx-on::after-request={ ShowContent(contentID) }
hx-target={ "#" + contentID }
>{ strconv.Itoa(i+1) }</a>
} else {
<a href="#" class="btn btn-icon btn-sm border-0 btn-light mr-2 my-1">{ strconv.Itoa(i+1) }</a>
<a
hx-get={ link + "?" + "currentPage=" + strconv.Itoa(i+1) + "&page=" + strconv.Itoa(length) + "&contentID=" + contentID }
class="btn btn-icon btn-sm border-0 btn-light mr-2 my-1"
hx-swap="outerHTML"
hx-indicator="#indicator"
hx-trigger="click"
hx-on::before-request={ HideContent(contentID) }
hx-on::after-request={ ShowContent(contentID) }
hx-target={ "#" + contentID }
>{ strconv.Itoa(i+1) }</a>
}
}
</div>
</div>
}
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);
}

View File

@@ -12,7 +12,7 @@ import "bytes"
import "strconv"
func Pagination(length int, currentPage int) templ.Component {
func Pagination(length int, currentPage int, link string, contentID 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 {
@@ -31,34 +31,130 @@ func Pagination(length int, currentPage int) templ.Component {
}
for i := 0; i < length; i++ {
if (i + 1) == currentPage {
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("<a href=\"#\" class=\"btn btn-icon btn-sm border-0 btn-light btn-hover-primary active mr-2 my-1\">")
templ_7745c5c3_Err = templ.RenderScriptItems(ctx, templ_7745c5c3_Buffer, HideContent(contentID), ShowContent(contentID))
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("<a hx-get=\"")
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
var templ_7745c5c3_Var2 string
templ_7745c5c3_Var2, templ_7745c5c3_Err = templ.JoinStringErrs(strconv.Itoa(i + 1))
templ_7745c5c3_Var2, templ_7745c5c3_Err = templ.JoinStringErrs(link + "?" + "currentPage=" + strconv.Itoa(i+1) + "&page=" + strconv.Itoa(length) + "&contentID=" + contentID)
if templ_7745c5c3_Err != nil {
return templ.Error{Err: templ_7745c5c3_Err, FileName: `component\pagination\pagination.templ`, Line: 10, Col: 118}
return templ.Error{Err: templ_7745c5c3_Err, FileName: `component\pagination\pagination.templ`, Line: 13, Col: 124}
}
_, 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("\" class=\"btn btn-icon btn-sm border-0 btn-light btn-hover-primary active mr-2 my-1\" hx-swap=\"outerHTML\" hx-indicator=\"#indicator\" hx-trigger=\"click\" hx-on::before-request=\"")
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
var templ_7745c5c3_Var3 templ.ComponentScript = HideContent(contentID)
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ_7745c5c3_Var3.Call)
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("\" hx-on::after-request=\"")
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
var templ_7745c5c3_Var4 templ.ComponentScript = ShowContent(contentID)
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ_7745c5c3_Var4.Call)
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("\" hx-target=\"")
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
var templ_7745c5c3_Var5 string
templ_7745c5c3_Var5, templ_7745c5c3_Err = templ.JoinStringErrs("#" + contentID)
if templ_7745c5c3_Err != nil {
return templ.Error{Err: templ_7745c5c3_Err, FileName: `component\pagination\pagination.templ`, Line: 20, Col: 33}
}
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var5))
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_Var6 string
templ_7745c5c3_Var6, templ_7745c5c3_Err = templ.JoinStringErrs(strconv.Itoa(i + 1))
if templ_7745c5c3_Err != nil {
return templ.Error{Err: templ_7745c5c3_Err, FileName: `component\pagination\pagination.templ`, Line: 21, Col: 25}
}
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var6))
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("</a>")
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
} else {
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("<a href=\"#\" class=\"btn btn-icon btn-sm border-0 btn-light mr-2 my-1\">")
templ_7745c5c3_Err = templ.RenderScriptItems(ctx, templ_7745c5c3_Buffer, HideContent(contentID), ShowContent(contentID))
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
var templ_7745c5c3_Var3 string
templ_7745c5c3_Var3, templ_7745c5c3_Err = templ.JoinStringErrs(strconv.Itoa(i + 1))
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("<a hx-get=\"")
if templ_7745c5c3_Err != nil {
return templ.Error{Err: templ_7745c5c3_Err, FileName: `component\pagination\pagination.templ`, Line: 12, Col: 93}
return templ_7745c5c3_Err
}
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var3))
var templ_7745c5c3_Var7 string
templ_7745c5c3_Var7, templ_7745c5c3_Err = templ.JoinStringErrs(link + "?" + "currentPage=" + strconv.Itoa(i+1) + "&page=" + strconv.Itoa(length) + "&contentID=" + contentID)
if templ_7745c5c3_Err != nil {
return templ.Error{Err: templ_7745c5c3_Err, FileName: `component\pagination\pagination.templ`, Line: 24, Col: 124}
}
_, 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("\" class=\"btn btn-icon btn-sm border-0 btn-light mr-2 my-1\" hx-swap=\"outerHTML\" hx-indicator=\"#indicator\" hx-trigger=\"click\" hx-on::before-request=\"")
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
var templ_7745c5c3_Var8 templ.ComponentScript = HideContent(contentID)
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ_7745c5c3_Var8.Call)
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("\" hx-on::after-request=\"")
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
var templ_7745c5c3_Var9 templ.ComponentScript = ShowContent(contentID)
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ_7745c5c3_Var9.Call)
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("\" hx-target=\"")
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
var templ_7745c5c3_Var10 string
templ_7745c5c3_Var10, templ_7745c5c3_Err = templ.JoinStringErrs("#" + contentID)
if templ_7745c5c3_Err != nil {
return templ.Error{Err: templ_7745c5c3_Err, FileName: `component\pagination\pagination.templ`, Line: 31, Col: 33}
}
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var10))
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_Var11 string
templ_7745c5c3_Var11, templ_7745c5c3_Err = templ.JoinStringErrs(strconv.Itoa(i + 1))
if templ_7745c5c3_Err != nil {
return templ.Error{Err: templ_7745c5c3_Err, FileName: `component\pagination\pagination.templ`, Line: 32, Col: 25}
}
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var11))
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
@@ -78,3 +174,43 @@ func Pagination(length int, currentPage int) templ.Component {
return templ_7745c5c3_Err
})
}
func ShowContent(contentID string) templ.ComponentScript {
return templ.ComponentScript{
Name: `__templ_ShowContent_cf70`,
Function: `function __templ_ShowContent_cf70(contentID){console.log("Show Content");
console.log(contentID);
document.getElementById(contentID).setAttribute("visible","");
// document.querySelector('#'+contentID).style.display = 'block';
// document.querySelector('#'+contentID).setAttribute("visible","");
}`,
Call: templ.SafeScript(`__templ_ShowContent_cf70`, contentID),
CallInline: templ.SafeScriptInline(`__templ_ShowContent_cf70`, contentID),
}
}
func HideContent(contentID string) templ.ComponentScript {
return templ.ComponentScript{
Name: `__templ_HideContent_0799`,
Function: `function __templ_HideContent_0799(contentID){console.log("Hide Content");
console.log(contentID);
document.getElementById(contentID).setAttribute("hidden","");
// document.querySelector('#'+contentID).style.display = 'none';
// document.querySelector('#'+contentID).setAttribute("hidden","");
}`,
Call: templ.SafeScript(`__templ_HideContent_0799`, contentID),
CallInline: templ.SafeScriptInline(`__templ_HideContent_0799`, contentID),
}
}
func CobaContent(contentID string) templ.ComponentScript {
return templ.ComponentScript{
Name: `__templ_CobaContent_ef1c`,
Function: `function __templ_CobaContent_ef1c(contentID){console.log(contentID);
}`,
Call: templ.SafeScript(`__templ_CobaContent_ef1c`, contentID),
CallInline: templ.SafeScriptInline(`__templ_CobaContent_ef1c`, contentID),
}
}

View File

@@ -1,195 +0,0 @@
package dev_handlers
import (
"cpone/component/customtextfieldautocomplete"
"cpone/models"
"cpone/utils"
"fmt"
"net/url"
"strconv"
"github.com/a-h/templ"
"github.com/labstack/echo/v4"
)
type AutoCompleteService interface {
GetAutoComplete(param string, pageOf string, limit string) (string, string, string, []models.AutoComplete, error)
}
func NewAutoCompleteHandler(us AutoCompleteService) *AutoCompleteHandler {
return &AutoCompleteHandler{
AutoCompleteService: us,
}
}
type AutoCompleteHandler struct {
AutoCompleteService AutoCompleteService
}
// initial
func (lh *AutoCompleteHandler) HandlerListAutoComplete(c echo.Context) error {
// param := c.Param("p")
param := c.QueryParam("searchAutocomplete")
pageOf := "1"
limit := "3"
pageOfBefore, _ := strconv.Atoi(c.Param("pageOf"))
limitBefore, _ := strconv.Atoi(c.Param("limit"))
if pageOfBefore > 1 {
pageCurrent := pageOfBefore + 1
pageOf = strconv.Itoa(pageCurrent)
limitCurrent := limitBefore
limit = strconv.Itoa(limitCurrent)
}
// urlCustomAutoComplete := "/client/autoCompleteLoadMore/"+ strconv.Itoa(pageOf)
var si templ.Component
if param != "" {
totalData, foundCount, textFound, dataAutoComplete, err := lh.AutoCompleteService.GetAutoComplete(param, pageOf, limit)
fmt.Println(param)
// fmt.Println(err)
if err != nil {
fmt.Println(dataAutoComplete)
return err
}
foundCountInt, err := strconv.Atoi(foundCount)
if err != nil {
return err
}
totalDataInt, err := strconv.Atoi(totalData)
if err != nil {
return err
}
// si := customtextfieldautocomplete.ListCustomAutoComplete(dataAutoComplete)
si = customtextfieldautocomplete.ListCustomAutoComplete(limit, param, totalDataInt, foundCountInt, pageOf, textFound, dataAutoComplete)
} else {
si = customtextfieldautocomplete.ListCustomAutoCompleteHide()
}
return utils.View(c, si)
}
// after selected
func (lh *AutoCompleteHandler) HandlerListAutoCompleteAfterSelected(c echo.Context) error {
// param := c.QueryParam("searchAutocomplete")
setvalue := c.Param("setvalue")
setvalue, err := url.PathUnescape(setvalue)
if err != nil {
return err
}
si := customtextfieldautocomplete.MainCustomAutoComplete(setvalue)
return utils.View(c, si)
}
// load more autocomplete
func (lh *AutoCompleteHandler) HandlerListAutoCompleteLoadMore(c echo.Context) error {
// param := c.QueryParam("searchAutocomplete")
var totalPerPage int = 3
paramSearch := c.Param("searchParam")
searchParam, err := url.PathUnescape(paramSearch)
if err != nil {
return err
}
pageOfStr := c.Param("pageOf")
pageOfInt, err := strconv.Atoi(pageOfStr)
if err != nil {
return err
}
pageOfInt++
pageOf := strconv.Itoa(pageOfInt)
limitOfStr := c.Param("limit")
limitOfInt, err := strconv.Atoi(limitOfStr)
if err != nil {
return err
}
limitOfX := limitOfInt + totalPerPage
limitOf := strconv.Itoa(limitOfX)
var si templ.Component
totalData, foundCount, textFound, dataAutoComplete, err := lh.AutoCompleteService.GetAutoComplete(searchParam, pageOf, limitOf)
// fmt.Println(param)
// fmt.Println(err)
if err != nil {
fmt.Println(dataAutoComplete)
return err
}
foundCountInt, err := strconv.Atoi(foundCount)
if err != nil {
return err
}
totalDataInt, err := strconv.Atoi(totalData)
if err != nil {
return err
}
// si := customtextfieldautocomplete.ListCustomAutoComplete(dataAutoComplete)
si = customtextfieldautocomplete.ListCustomAutoComplete(limitOf, searchParam, totalDataInt, foundCountInt, pageOf, textFound, dataAutoComplete)
// if param != "" {
// textFound, dataAutoComplete, err := lh.AutoCompleteService.GetAutoComplete(param, pageOf)
// fmt.Println(param)
// // fmt.Println(err)
// if err != nil {
// fmt.Println(dataAutoComplete)
// return err
// }
// // si := customtextfieldautocomplete.ListCustomAutoComplete(dataAutoComplete)
// si = customtextfieldautocomplete.ListCustomAutoComplete(pageOf, textFound, dataAutoComplete)
// } else {
// si = customtextfieldautocomplete.ListCustomAutoCompleteHide()
// }
return utils.View(c, si)
}
func (lh *AutoCompleteHandler) HandlerAutoCompleteExample(c echo.Context) error {
// dataAutoComplete, err := lh.AutoCompleteService.GetAutoCompleteExample()
// fmt.Println(dataAutoComplete)
// fmt.Println(err)
// if err != nil {
// fmt.Println(dataAutoComplete)
// return err
// }
// fmt.Printf("%+v\n", dataMenu)
// si := mastermenu.ShowMasterMenu("Master Menu",
// mastermenu.MainMasterMenu(dataMenu),
// mastermenu.CssMasterMenu(),
// mastermenu.JsMasterMenu(),
// )
// si := mastermenuusergroup.ShowAutoComplete(
// "Master Menu",
// mastermenuusergroup.MainAutoComplete(dataMenu),
// mastermenuusergroup.CssAutoComplete(),
// mastermenuusergroup.JsAutoComplete(),
// )
si := customtextfieldautocomplete.ShowCustomAutoComplete("",
customtextfieldautocomplete.MainCustomAutoComplete(""),
customtextfieldautocomplete.CssCustomAutoComplete(),
customtextfieldautocomplete.JsCustomAutoComplete(),
)
return utils.View(c, si)
}

View File

@@ -1,17 +1,23 @@
package dev_handlers
import (
"fmt"
"net/url"
"strconv"
"time"
"cpone/component/customtextfieldautocomplete"
"cpone/component/pagination"
tablecomponent "cpone/component/table"
"cpone/models"
"cpone/utils"
mastermenuusergroup "cpone/views/dev/mastermenuusergroup"
"fmt"
"strconv"
services "cpone/services/dev"
"github.com/a-h/templ"
"github.com/labstack/echo/v4"
"go.uber.org/zap"
)
type MasterMenuUserGroupService interface {
@@ -47,16 +53,24 @@ func (lh *MasterMenuUserGroupHandler) HandlerShowMasterMenuUserGroup(c echo.Cont
return err
}
dataUserGroup, err := lh.MasterMenuUserGroupService.GetUserGroup()
fmt.Println(dataUserGroup)
fmt.Println(err)
if err != nil {
fmt.Println(dataUserGroup)
return err
}
contentID := utils.GenerateRandomID("tablebody")
logger, _ := zap.NewProduction()
defer logger.Sync()
logger.Info("LOAD USER GROUP DEV",
zap.String("id", contentID),
zap.Any("data", dataUserGroup),
)
si := mastermenuusergroup.ShowMasterMenuUserGroup(
"Master Menu",
mastermenuusergroup.ContentMasterMenuUserGroup(dataUserGroup),
mastermenuusergroup.ContentMasterMenuUserGroup(dataUserGroup, contentID),
mastermenuusergroup.CssMasterMenuUserGroup(),
mastermenuusergroup.JsMasterMenuUserGroup(),
dataMenu,
@@ -66,6 +80,173 @@ func (lh *MasterMenuUserGroupHandler) HandlerShowMasterMenuUserGroup(c echo.Cont
return lh.View(c, si)
}
// initial
func (lh *MasterMenuUserGroupHandler) HandlerListAutoComplete(c echo.Context) error {
// param := c.Param("p")
param := c.QueryParam("searchAutocomplete")
pageOf := "1"
limit := "3"
pageOfBefore, _ := strconv.Atoi(c.Param("pageOf"))
limitBefore, _ := strconv.Atoi(c.Param("limit"))
if pageOfBefore > 1 {
pageCurrent := pageOfBefore + 1
pageOf = strconv.Itoa(pageCurrent)
limitCurrent := limitBefore
limit = strconv.Itoa(limitCurrent)
}
// urlCustomAutoComplete := "/client/autoCompleteLoadMore/"+ strconv.Itoa(pageOf)
var si templ.Component
if param != "" {
totalData, foundCount, textFound, dataAutoComplete, err := lh.MasterMenuUserGroupService.GetAutoComplete(param, pageOf, limit)
fmt.Println(param)
// fmt.Println(err)
if err != nil {
fmt.Println(dataAutoComplete)
return err
}
foundCountInt, err := strconv.Atoi(foundCount)
if err != nil {
return err
}
totalDataInt, err := strconv.Atoi(totalData)
if err != nil {
return err
}
// si := customtextfieldautocomplete.ListCustomAutoComplete(dataAutoComplete)
si = customtextfieldautocomplete.ListCustomAutoComplete(limit, param, totalDataInt, foundCountInt, pageOf, textFound, dataAutoComplete)
} else {
si = customtextfieldautocomplete.ListCustomAutoCompleteHide()
}
return lh.View(c, si)
}
// after selected
func (lh *MasterMenuUserGroupHandler) HandlerListAutoCompleteAfterSelected(c echo.Context) error {
// param := c.QueryParam("searchAutocomplete")
setvalue := c.Param("setvalue")
setvalue, err := url.PathUnescape(setvalue)
if err != nil {
return err
}
si := customtextfieldautocomplete.MainCustomAutoComplete(setvalue)
return lh.View(c, si)
}
// load more autocomplete
func (lh *MasterMenuUserGroupHandler) HandlerListAutoCompleteLoadMore(c echo.Context) error {
// param := c.QueryParam("searchAutocomplete")
var totalPerPage int = 3
paramSearch := c.Param("searchParam")
searchParam, err := url.PathUnescape(paramSearch)
if err != nil {
return err
}
pageOfStr := c.Param("pageOf")
pageOfInt, err := strconv.Atoi(pageOfStr)
if err != nil {
return err
}
pageOfInt++
pageOf := strconv.Itoa(pageOfInt)
limitOfStr := c.Param("limit")
limitOfInt, err := strconv.Atoi(limitOfStr)
if err != nil {
return err
}
limitOfX := limitOfInt + totalPerPage
limitOf := strconv.Itoa(limitOfX)
var si templ.Component
totalData, foundCount, textFound, dataAutoComplete, err := lh.MasterMenuUserGroupService.GetAutoComplete(searchParam, pageOf, limitOf)
// fmt.Println(param)
// fmt.Println(err)
if err != nil {
fmt.Println(dataAutoComplete)
return err
}
foundCountInt, err := strconv.Atoi(foundCount)
if err != nil {
return err
}
totalDataInt, err := strconv.Atoi(totalData)
if err != nil {
return err
}
// si := customtextfieldautocomplete.ListCustomAutoComplete(dataAutoComplete)
si = customtextfieldautocomplete.ListCustomAutoComplete(limitOf, searchParam, totalDataInt, foundCountInt, pageOf, textFound, dataAutoComplete)
// if param != "" {
// textFound, dataAutoComplete, err := lh.MasterMenuUserGroupService.GetAutoComplete(param, pageOf)
// fmt.Println(param)
// // fmt.Println(err)
// if err != nil {
// fmt.Println(dataAutoComplete)
// return err
// }
// // si := customtextfieldautocomplete.ListCustomAutoComplete(dataAutoComplete)
// si = customtextfieldautocomplete.ListCustomAutoComplete(pageOf, textFound, dataAutoComplete)
// } else {
// si = customtextfieldautocomplete.ListCustomAutoCompleteHide()
// }
return lh.View(c, si)
}
func (lh *MasterMenuUserGroupHandler) HandlerAutoCompleteExample(c echo.Context) error {
// dataAutoComplete, err := lh.MasterMenuUserGroupService.GetAutoCompleteExample()
// fmt.Println(dataAutoComplete)
// fmt.Println(err)
// if err != nil {
// fmt.Println(dataAutoComplete)
// return err
// }
// fmt.Printf("%+v\n", dataMenu)
// si := mastermenu.ShowMasterMenu("Master Menu",
// mastermenu.MainMasterMenu(dataMenu),
// mastermenu.CssMasterMenu(),
// mastermenu.JsMasterMenu(),
// )
// si := mastermenuusergroup.ShowMasterMenuUserGroup(
// "Master Menu",
// mastermenuusergroup.MainMasterMenuUserGroup(dataMenu),
// mastermenuusergroup.CssMasterMenuUserGroup(),
// mastermenuusergroup.JsMasterMenuUserGroup(),
// )
si := customtextfieldautocomplete.ShowCustomAutoComplete("",
customtextfieldautocomplete.MainCustomAutoComplete(""),
customtextfieldautocomplete.CssCustomAutoComplete(),
customtextfieldautocomplete.JsCustomAutoComplete(),
)
return lh.View(c, si)
}
func (lh *MasterMenuUserGroupHandler) ChangeFormEdit(c echo.Context) error {
id := c.QueryParam("id")
dataUserGroup, err := lh.MasterMenuUserGroupService.GetUserGroupByID(id)
@@ -82,6 +263,7 @@ func (lh *MasterMenuUserGroupHandler) ChangeFormEdit(c echo.Context) error {
func (lh *MasterMenuUserGroupHandler) HandleChangePage(c echo.Context) error {
page := c.QueryParam("page")
currPage := c.QueryParam("currentPage")
contentID := c.QueryParam("contentID")
dataUserGroup, err := lh.MasterMenuUserGroupService.GetUserGroup()
if err != nil {
@@ -98,7 +280,18 @@ func (lh *MasterMenuUserGroupHandler) HandleChangePage(c echo.Context) error {
fmt.Println("currpage err")
return err
}
vw := tablecomponent.Table([]string{"KODE", "USERGROUP", "AKSI"}, []string{"40%", "40%", "20%"}, mastermenuusergroup.TableRow(dataUserGroup), pagination.Pagination(pageInt, currPageInt))
logger, _ := zap.NewProduction()
defer logger.Sync()
logger.Info("CHANGE PAGE USER GROUP DEV",
zap.String("id", contentID),
zap.Any("data", dataUserGroup),
)
time.Sleep(3 * time.Second)
// time.Sleep(5 * time.Second)
vw := tablecomponent.Table([]string{"KODE", "USERGROUP", "AKSI"},
[]string{"40%", "40%", "20%"},
mastermenuusergroup.TableRow(dataUserGroup),
pagination.Pagination(pageInt, currPageInt, "dev/usergroup/pagination", contentID))
return lh.View(c, vw)
}

View File

@@ -42,10 +42,10 @@ func SetupRoutesLandingPage(app *echo.Echo, h *dev_handlers.LandingPageHandler,
// mdgroup := clientgroup.Group("/md")
// clientusergroup.GET("/md", mastermenuusergroupHandler.HandlerShowMasterMenuUserGroup)
clientgroup.GET("/usergroup", mastermenuusergroupHandler.HandlerShowMasterMenuUserGroup)
// autocomplete := app.Group("/client")
// autocomplete.GET("/autocomplete", mastermenuusergroupHandler.HandlerListAutoComplete)
// autocomplete.GET("/autoCompleteLoadMore/:pageOf/:searchParam/:limit", mastermenuusergroupHandler.HandlerListAutoCompleteLoadMore)
// autocomplete.GET("/autoCompleteSetValue/:setvalue", mastermenuusergroupHandler.HandlerListAutoCompleteAfterSelected)
autocomplete := app.Group("/client")
autocomplete.GET("/autocomplete", mastermenuusergroupHandler.HandlerListAutoComplete)
autocomplete.GET("/autoCompleteLoadMore/:pageOf/:searchParam/:limit", mastermenuusergroupHandler.HandlerListAutoCompleteLoadMore)
autocomplete.GET("/autoCompleteSetValue/:setvalue", mastermenuusergroupHandler.HandlerListAutoCompleteAfterSelected)
clientgroup.GET("/usergroup/edit", mastermenuusergroupHandler.ChangeFormEdit)
clientgroup.GET("/usergroup/pagination", mastermenuusergroupHandler.HandleChangePage)
@@ -183,4 +183,13 @@ func SetupRoutesDev(app *echo.Echo, appStore db.AppStore) {
dvlpserv := dev_services.NewServicesLandingPage(appStore)
devlphan := dev_handlers.NewLandingPageHandler(dvlpserv)
dev.GET("/landingpage", devlphan.ShowLandingPage)
//DEV USERGROUP
devUGServices := dev_services.NewServicesMasterMenuUserGroup(appStore)
devUGhandlers := dev_handlers.NewMasterMenuUserGroupHandler(devUGServices)
dev.GET("/usergroup", devUGhandlers.HandlerShowMasterMenuUserGroup)
dev.GET("/usergroup/pagination", devUGhandlers.HandleChangePage)
// clientgroup.GET("/usergroup/edit", mastermenuusergroupHandler.ChangeFormEdit)
// clientgroup.GET("/usergroup/pagination", mastermenuusergroupHandler.HandleChangePage)
}

View File

@@ -1,5 +0,0 @@
package models
type AutoComplete struct {
Name string `json:"name"`
}

View File

@@ -1,206 +0,0 @@
package dev_services
import (
"cpone/db"
"cpone/utils"
"fmt"
"strconv"
)
func NewServicesAutoComplete(uStore db.AppStore) *ServicesAutoComplete {
return &ServicesAutoComplete{
AutoCompleteStore: uStore,
}
}
type ServicesAutoComplete struct {
AutoCompleteStore db.AppStore
}
// example autocomplete
func (su *ServicesAutoComplete) GetAutoComplete(param string, pageOfParam string, limitOfStr string) (string, string, string, []AutoComplete, error) {
// fmt.Println("ini param : ", param)
dummyAutoComplete := []AutoComplete{
{
Name: "Google",
},
{
Name: "Google 1",
},
{
Name: "Google 2",
},
{
Name: "Google 3",
},
{
Name: "Google 4",
},
{
Name: "Google 5",
},
{
Name: "Google 6",
},
{
Name: "Gojek",
},
{
Name: "Mozilla Firefox",
},
{
Name: "Apple",
},
{
Name: "Microsoft",
},
{
Name: "Facebook",
},
{
Name: "Amazon",
},
{
Name: "Twitter",
},
{
Name: "Instagram",
},
{
Name: "Snapchat",
},
{
Name: "LinkedIn",
},
{
Name: "Netflix",
},
{
Name: "YouTube",
},
{
Name: "Reddit",
},
{
Name: "WhatsApp",
},
{
Name: "Pinterest",
},
{
Name: "TikTok",
},
{
Name: "Spotify",
},
{
Name: "Zoom",
},
}
var textFound string
var results []AutoComplete
// var currentRes []AutoComplete
// var oldResults []AutoComplete
// var limit int = 3
var count int = 0
var foundCount int = 0
var totalData int = 0
var startIndex int = 0
var endIndex int = 3
if len(dummyAutoComplete) > 0 {
totalData = len(dummyAutoComplete)
}
// pageOf, err := strconv.Atoi(pageOfParam)
// if err != nil {
// return "", "", "", nil, err
// }
limit, err := strconv.Atoi(limitOfStr)
if err != nil {
return "", "", "", nil, err
}
// find data search
if pageOfParam == "1" {
count = 0
// for _, item := range dummyAutoComplete {
// if utils.Contains(item.Name, param) {
// results = append(results, item)
// count++
// if count == limit {
// break
// }
// }
// }
for _, item := range dummyAutoComplete {
if utils.Contains(item.Name, param) {
// Check if the item is already in results
found := false
for _, res := range results {
if res.Name == item.Name {
found = true
break
}
}
// If not found, append it
if !found {
results = append(results, item)
count++
if count == limit {
break
}
}
}
}
} else {
// ketika klik load more
// count = 0
for _, item := range dummyAutoComplete {
if utils.Contains(item.Name, param) {
results = append(results, item)
count++
if count == limit {
break
}
}
}
startIndex = 0
endIndex = limit
if startIndex >= len(dummyAutoComplete) {
return "", "max", "", nil, nil
}
if endIndex > len(dummyAutoComplete) {
endIndex = len(dummyAutoComplete)
}
for _, item := range dummyAutoComplete[startIndex:endIndex] {
found := false
for _, res := range results {
if res.Name == item.Name {
found = true
break
}
}
// If not found, append it
if !found {
results = append(results, item)
}
}
}
foundCount = len(results)
totalCount := len(dummyAutoComplete)
textFound = fmt.Sprintf("Ditemukan %d dari %d", foundCount, totalCount)
return strconv.Itoa(totalData), strconv.Itoa(foundCount), textFound, results, nil
}

View File

@@ -6,12 +6,13 @@ import (
"cpone/db"
"cpone/models"
"cpone/utils"
)
func NewServicesMasterMenuUserGroup(u MasterMenu, uStore db.AppStore) *ServicesMasterMenuUserGroup {
func NewServicesMasterMenuUserGroup(uStore db.AppStore) *ServicesMasterMenuUserGroup {
return &ServicesMasterMenuUserGroup{
MasterMenu: u,
MasterMenuUserGroupStore: uStore,
}
}
@@ -41,7 +42,6 @@ type MasterMenu struct {
}
type ServicesMasterMenuUserGroup struct {
MasterMenu MasterMenu
MasterMenuUserGroupStore db.AppStore
}
@@ -551,6 +551,192 @@ func (su *ServicesMasterMenuUserGroup) GetMasterMenus() ([]MasterMenu, error) {
return dummyMenu, nil
}
// example autocomplete
func (su *ServicesMasterMenuUserGroup) GetAutoComplete(param string, pageOfParam string, limitOfStr string) (string, string, string, []AutoComplete, error) {
// fmt.Println("ini param : ", param)
dummyAutoComplete := []AutoComplete{
{
Name: "Google",
},
{
Name: "Google 1",
},
{
Name: "Google 2",
},
{
Name: "Google 3",
},
{
Name: "Google 4",
},
{
Name: "Google 5",
},
{
Name: "Google 6",
},
{
Name: "Gojek",
},
{
Name: "Mozilla Firefox",
},
{
Name: "Apple",
},
{
Name: "Microsoft",
},
{
Name: "Facebook",
},
{
Name: "Amazon",
},
{
Name: "Twitter",
},
{
Name: "Instagram",
},
{
Name: "Snapchat",
},
{
Name: "LinkedIn",
},
{
Name: "Netflix",
},
{
Name: "YouTube",
},
{
Name: "Reddit",
},
{
Name: "WhatsApp",
},
{
Name: "Pinterest",
},
{
Name: "TikTok",
},
{
Name: "Spotify",
},
{
Name: "Zoom",
},
}
var textFound string
var results []AutoComplete
// var currentRes []AutoComplete
// var oldResults []AutoComplete
// var limit int = 3
var count int = 0
var foundCount int = 0
var totalData int = 0
var startIndex int = 0
var endIndex int = 3
if len(dummyAutoComplete) > 0 {
totalData = len(dummyAutoComplete)
}
// pageOf, err := strconv.Atoi(pageOfParam)
// if err != nil {
// return "", "", "", nil, err
// }
limit, err := strconv.Atoi(limitOfStr)
if err != nil {
return "", "", "", nil, err
}
// find data search
if pageOfParam == "1" {
count = 0
// for _, item := range dummyAutoComplete {
// if utils.Contains(item.Name, param) {
// results = append(results, item)
// count++
// if count == limit {
// break
// }
// }
// }
for _, item := range dummyAutoComplete {
if utils.Contains(item.Name, param) {
// Check if the item is already in results
found := false
for _, res := range results {
if res.Name == item.Name {
found = true
break
}
}
// If not found, append it
if !found {
results = append(results, item)
count++
if count == limit {
break
}
}
}
}
} else {
// ketika klik load more
// count = 0
for _, item := range dummyAutoComplete {
if utils.Contains(item.Name, param) {
results = append(results, item)
count++
if count == limit {
break
}
}
}
startIndex = 0
endIndex = limit
if startIndex >= len(dummyAutoComplete) {
return "", "max", "", nil, nil
}
if endIndex > len(dummyAutoComplete) {
endIndex = len(dummyAutoComplete)
}
for _, item := range dummyAutoComplete[startIndex:endIndex] {
found := false
for _, res := range results {
if res.Name == item.Name {
found = true
break
}
}
// If not found, append it
if !found {
results = append(results, item)
}
}
}
foundCount = len(results)
totalCount := len(dummyAutoComplete)
textFound = fmt.Sprintf("Ditemukan %d dari %d", foundCount, totalCount)
return strconv.Itoa(totalData), strconv.Itoa(foundCount), textFound, results, nil
}
func (ug *ServicesMasterMenuUserGroup) GetUserGroup() ([]models.UserGroup, error) {
data := []models.UserGroup{
{UserGroupID: 1, UserGroupKode: "A", UserGroupName: "UG1"},

View File

@@ -12,7 +12,7 @@ import (
)
// "cpone/component/sidebar_user_profile"
templ ContentMasterMenuUserGroup(ugData []models.UserGroup) {
templ ContentMasterMenuUserGroup(ugData []models.UserGroup, contentID string) {
<div class="container-fluid">
<div class="row align-items-center mb-10">
<div class="col-md-10 col-sm-12 p-0 ">
@@ -33,8 +33,13 @@ templ ContentMasterMenuUserGroup(ugData []models.UserGroup) {
<button type="button" class="btn btn-primary btn-block">Add New</button>
</div>
</div>
<div id="tabledata">
@tablecomponent.Table([]string{"KODE", "USERGROUP", "AKSI"}, []string{"40%", "40%", "20%"}, TableRow(ugData), pagination.Pagination(20, 1))
<div id={ contentID }>
@tablecomponent.Table([]string{"KODE", "USERGROUP", "AKSI"}, []string{"40%", "40%", "20%"}, TableRow(ugData), pagination.Pagination(20, 1, "dev/usergroup/pagination", contentID))
</div>
<div class="d-flex justify-content-center text-primary">
<div class="htmx-indicator spinner-border" role="status" id="indicator">
<span class="sr-only"></span>
</div>
</div>
@modalcomponent.Modal("dialogNew", "New - User Group", DialogNewBody("", ""), DialogNewAction(), BtnCloseNew())
@modalcomponent.Modal("dialogEdit", "Edit - User Group", DialogEditBody("", ""), DialogEditAction(), BtnCloseNew())
@@ -144,14 +149,8 @@ templ JSku() {
.getElementById("modalbdyEdit")
.setAttribute("style", "display:block !important;;");
}
function ShowForm() {
document
.getElementById("modalLoadEdit")
.setAttribute("style", "display:none !important;");
document
.getElementById("modalbdyEdit")
.setAttribute("style", "display:block !important;;");
}
</script>
}

View File

@@ -22,7 +22,7 @@ import (
)
// "cpone/component/sidebar_user_profile"
func ContentMasterMenuUserGroup(ugData []models.UserGroup) templ.Component {
func ContentMasterMenuUserGroup(ugData []models.UserGroup, contentID 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 {
@@ -43,15 +43,28 @@ func ContentMasterMenuUserGroup(ugData []models.UserGroup) templ.Component {
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("</div><div class=\"col-md-2 d-none d-lg-block d-xl-block d-md-block d-sm-none\"><div class=\"d-flex justify-content-end\"><button type=\"button\" class=\"btn btn-primary\" data-toggle=\"modal\" data-target=\"#dialogNew\">Add New</button></div></div><div class=\"col-md-2 d-block d-lg-none d-xl-none d-md-none d-sm-block justify-content-center px-5\"><button type=\"button\" class=\"btn btn-primary btn-block\">Add New</button></div></div><div id=\"tabledata\">")
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("</div><div class=\"col-md-2 d-none d-lg-block d-xl-block d-md-block d-sm-none\"><div class=\"d-flex justify-content-end\"><button type=\"button\" class=\"btn btn-primary\" data-toggle=\"modal\" data-target=\"#dialogNew\">Add New</button></div></div><div class=\"col-md-2 d-block d-lg-none d-xl-none d-md-none d-sm-block justify-content-center px-5\"><button type=\"button\" class=\"btn btn-primary btn-block\">Add New</button></div></div><div id=\"")
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
templ_7745c5c3_Err = tablecomponent.Table([]string{"KODE", "USERGROUP", "AKSI"}, []string{"40%", "40%", "20%"}, TableRow(ugData), pagination.Pagination(20, 1)).Render(ctx, templ_7745c5c3_Buffer)
var templ_7745c5c3_Var2 string
templ_7745c5c3_Var2, templ_7745c5c3_Err = templ.JoinStringErrs(contentID)
if templ_7745c5c3_Err != nil {
return templ.Error{Err: templ_7745c5c3_Err, FileName: `views\dev\mastermenuusergroup\mastermenuusergroup.templ`, Line: 36, Col: 21}
}
_, 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("</div>")
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("\">")
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
templ_7745c5c3_Err = tablecomponent.Table([]string{"KODE", "USERGROUP", "AKSI"}, []string{"40%", "40%", "20%"}, TableRow(ugData), pagination.Pagination(20, 1, "dev/usergroup/pagination", contentID)).Render(ctx, templ_7745c5c3_Buffer)
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("</div><div class=\"d-flex justify-content-center text-primary\"><div class=\"htmx-indicator spinner-border\" role=\"status\" id=\"indicator\"><span class=\"sr-only\"></span></div></div>")
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
@@ -86,9 +99,9 @@ func TableRow(data []models.UserGroup) templ.Component {
defer templ.ReleaseBuffer(templ_7745c5c3_Buffer)
}
ctx = templ.InitializeContext(ctx)
templ_7745c5c3_Var2 := templ.GetChildren(ctx)
if templ_7745c5c3_Var2 == nil {
templ_7745c5c3_Var2 = templ.NopComponent
templ_7745c5c3_Var3 := templ.GetChildren(ctx)
if templ_7745c5c3_Var3 == nil {
templ_7745c5c3_Var3 = templ.NopComponent
}
ctx = templ.ClearChildren(ctx)
for _, v := range data {
@@ -96,12 +109,12 @@ func TableRow(data []models.UserGroup) templ.Component {
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
var templ_7745c5c3_Var3 string
templ_7745c5c3_Var3, templ_7745c5c3_Err = templ.JoinStringErrs(v.UserGroupKode)
var templ_7745c5c3_Var4 string
templ_7745c5c3_Var4, templ_7745c5c3_Err = templ.JoinStringErrs(v.UserGroupKode)
if templ_7745c5c3_Err != nil {
return templ.Error{Err: templ_7745c5c3_Err, FileName: `views\dev\mastermenuusergroup\mastermenuusergroup.templ`, Line: 64, Col: 24}
return templ.Error{Err: templ_7745c5c3_Err, FileName: `views\dev\mastermenuusergroup\mastermenuusergroup.templ`, Line: 69, Col: 24}
}
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var3))
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var4))
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
@@ -109,12 +122,12 @@ func TableRow(data []models.UserGroup) templ.Component {
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
var templ_7745c5c3_Var4 string
templ_7745c5c3_Var4, templ_7745c5c3_Err = templ.JoinStringErrs(v.UserGroupName)
var templ_7745c5c3_Var5 string
templ_7745c5c3_Var5, templ_7745c5c3_Err = templ.JoinStringErrs(v.UserGroupName)
if templ_7745c5c3_Err != nil {
return templ.Error{Err: templ_7745c5c3_Err, FileName: `views\dev\mastermenuusergroup\mastermenuusergroup.templ`, Line: 65, Col: 24}
return templ.Error{Err: templ_7745c5c3_Err, FileName: `views\dev\mastermenuusergroup\mastermenuusergroup.templ`, Line: 70, Col: 24}
}
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var4))
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var5))
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
@@ -122,12 +135,12 @@ func TableRow(data []models.UserGroup) templ.Component {
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
var templ_7745c5c3_Var5 string
templ_7745c5c3_Var5, templ_7745c5c3_Err = templ.JoinStringErrs("#dialogEdit" + strconv.Itoa(v.UserGroupID))
var templ_7745c5c3_Var6 string
templ_7745c5c3_Var6, templ_7745c5c3_Err = templ.JoinStringErrs("#dialogEdit" + strconv.Itoa(v.UserGroupID))
if templ_7745c5c3_Err != nil {
return templ.Error{Err: templ_7745c5c3_Err, FileName: `views\dev\mastermenuusergroup\mastermenuusergroup.templ`, Line: 73, Col: 63}
return templ.Error{Err: templ_7745c5c3_Err, FileName: `views\dev\mastermenuusergroup\mastermenuusergroup.templ`, Line: 78, Col: 63}
}
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var5))
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var6))
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
@@ -135,12 +148,12 @@ func TableRow(data []models.UserGroup) templ.Component {
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
var templ_7745c5c3_Var6 string
templ_7745c5c3_Var6, templ_7745c5c3_Err = templ.JoinStringErrs("#dialogDelete" + strconv.Itoa(v.UserGroupID))
var templ_7745c5c3_Var7 string
templ_7745c5c3_Var7, templ_7745c5c3_Err = templ.JoinStringErrs("#dialogDelete" + strconv.Itoa(v.UserGroupID))
if templ_7745c5c3_Err != nil {
return templ.Error{Err: templ_7745c5c3_Err, FileName: `views\dev\mastermenuusergroup\mastermenuusergroup.templ`, Line: 81, Col: 65}
return templ.Error{Err: templ_7745c5c3_Err, FileName: `views\dev\mastermenuusergroup\mastermenuusergroup.templ`, Line: 86, Col: 65}
}
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var6))
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var7))
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
@@ -184,9 +197,9 @@ func DialogDeleteAction() templ.Component {
defer templ.ReleaseBuffer(templ_7745c5c3_Buffer)
}
ctx = templ.InitializeContext(ctx)
templ_7745c5c3_Var7 := templ.GetChildren(ctx)
if templ_7745c5c3_Var7 == nil {
templ_7745c5c3_Var7 = templ.NopComponent
templ_7745c5c3_Var8 := templ.GetChildren(ctx)
if templ_7745c5c3_Var8 == nil {
templ_7745c5c3_Var8 = templ.NopComponent
}
ctx = templ.ClearChildren(ctx)
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("<div><button type=\"button\" class=\"btn btn-outline-secondary font-weight-bolder rounded-lg mr-4\" data-dismiss=\"modal\">Batal\r</button> <button type=\"button\" class=\"btn btn-primary btn-shadow font-weight-bold rounded-lg\">Yakin\r</button></div>")
@@ -208,9 +221,9 @@ func BtnCloseDelete() templ.Component {
defer templ.ReleaseBuffer(templ_7745c5c3_Buffer)
}
ctx = templ.InitializeContext(ctx)
templ_7745c5c3_Var8 := templ.GetChildren(ctx)
if templ_7745c5c3_Var8 == nil {
templ_7745c5c3_Var8 = templ.NopComponent
templ_7745c5c3_Var9 := templ.GetChildren(ctx)
if templ_7745c5c3_Var9 == nil {
templ_7745c5c3_Var9 = templ.NopComponent
}
ctx = templ.ClearChildren(ctx)
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("<button type=\"button\" class=\"close\" data-dismiss=\"modal\" aria-label=\"Close\"><i aria-hidden=\"true\" class=\"ki ki-close\"></i></button>")
@@ -232,12 +245,12 @@ func JSku() templ.Component {
defer templ.ReleaseBuffer(templ_7745c5c3_Buffer)
}
ctx = templ.InitializeContext(ctx)
templ_7745c5c3_Var9 := templ.GetChildren(ctx)
if templ_7745c5c3_Var9 == nil {
templ_7745c5c3_Var9 = templ.NopComponent
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("<script>\r\n\t\t function ShowLoading(evt) {\r\n document\r\n .getElementById(\"modalLoadEdit\")\r\n .setAttribute(\"style\", \"display:block !important;\");\r\n document\r\n .getElementById(\"modalbdyEdit\")\r\n .setAttribute(\"style\", \"display:none !important;\");\r\n\t\t console.log(evt);\r\n }\r\n function ShowForm() {\r\n document\r\n .getElementById(\"modalLoadEdit\")\r\n .setAttribute(\"style\", \"display:none !important;\");\r\n document\r\n .getElementById(\"modalbdyEdit\")\r\n .setAttribute(\"style\", \"display:block !important;;\");\r\n }\r\n function ShowForm() {\r\n document\r\n .getElementById(\"modalLoadEdit\")\r\n .setAttribute(\"style\", \"display:none !important;\");\r\n document\r\n .getElementById(\"modalbdyEdit\")\r\n .setAttribute(\"style\", \"display:block !important;;\");\r\n }\r\n\t</script>")
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("<script>\r\n\t\t function ShowLoading(evt) {\r\n document\r\n .getElementById(\"modalLoadEdit\")\r\n .setAttribute(\"style\", \"display:block !important;\");\r\n document\r\n .getElementById(\"modalbdyEdit\")\r\n .setAttribute(\"style\", \"display:none !important;\");\r\n\t\t console.log(evt);\r\n }\r\n function ShowForm() {\r\n document\r\n .getElementById(\"modalLoadEdit\")\r\n .setAttribute(\"style\", \"display:none !important;\");\r\n document\r\n .getElementById(\"modalbdyEdit\")\r\n .setAttribute(\"style\", \"display:block !important;;\");\r\n }\r\n \r\n \r\n\t</script>")
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
@@ -256,9 +269,9 @@ func Pagination() templ.Component {
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
templ_7745c5c3_Var11 := templ.GetChildren(ctx)
if templ_7745c5c3_Var11 == nil {
templ_7745c5c3_Var11 = templ.NopComponent
}
ctx = templ.ClearChildren(ctx)
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("<div class=\"d-flex justify-content-between align-items-center flex-wrap\"><div class=\"d-flex flex-wrap py-2 mr-3\"><a href=\"#\" class=\"btn btn-icon btn-sm btn-light mr-2 my-1\"><i class=\"ki ki-bold-double-arrow-back icon-xs\"></i></a> <a href=\"#\" class=\"btn btn-icon btn-sm btn-light mr-2 my-1\"><i class=\"ki ki-bold-arrow-back icon-xs\"></i></a> <a href=\"#\" class=\"btn btn-icon btn-sm border-0 btn-light mr-2 my-1\">...</a> <a href=\"#\" class=\"btn btn-icon btn-sm border-0 btn-light mr-2 my-1\">23</a> <a href=\"#\" class=\"btn btn-icon btn-sm border-0 btn-light btn-hover-primary active mr-2 my-1\">24</a> <a href=\"#\" class=\"btn btn-icon btn-sm border-0 btn-light mr-2 my-1\">25</a> <a href=\"#\" class=\"btn btn-icon btn-sm border-0 btn-light mr-2 my-1\">26</a> <a href=\"#\" class=\"btn btn-icon btn-sm border-0 btn-light mr-2 my-1\">27</a> <a href=\"#\" class=\"btn btn-icon btn-sm border-0 btn-light mr-2 my-1\">28</a> <a href=\"#\" class=\"btn btn-icon btn-sm border-0 btn-light mr-2 my-1\">...</a> <a href=\"#\" class=\"btn btn-icon btn-sm btn-light mr-2 my-1\"><i class=\"ki ki-bold-arrow-next icon-xs\"></i></a> <a href=\"#\" class=\"btn btn-icon btn-sm btn-light mr-2 my-1\"><i class=\"ki ki-bold-double-arrow-next icon-xs\"></i></a></div></div>")
@@ -280,9 +293,9 @@ func CssMasterMenuUserGroup() templ.Component {
defer templ.ReleaseBuffer(templ_7745c5c3_Buffer)
}
ctx = templ.InitializeContext(ctx)
templ_7745c5c3_Var11 := templ.GetChildren(ctx)
if templ_7745c5c3_Var11 == nil {
templ_7745c5c3_Var11 = templ.NopComponent
templ_7745c5c3_Var12 := templ.GetChildren(ctx)
if templ_7745c5c3_Var12 == nil {
templ_7745c5c3_Var12 = templ.NopComponent
}
ctx = templ.ClearChildren(ctx)
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("<link rel=\"stylesheet\" href=\"assets/css/googlefont/poppins.css\"><link rel=\"stylesheet\" href=\"assets/css/googlefont/publicsans.css\"><link rel=\"stylesheet\" href=\"assets/css/googlefont/roboto.css\"><style>\r\n body {\r\n background-color: white;\r\n /* padding-right: 100px;\r\n padding-left: 100px; */\r\n }\r\n #div-chart {\r\n /* overflow-x: scroll; */\r\n margin: 40px 10vw 40px 10vw;\r\n }\r\n .title {\r\n font-size:20px;\r\n font-weight: bold;\r\n }\r\n #title {\r\n font-weight: 600;\r\n }\r\n \r\n</style>")
@@ -304,9 +317,9 @@ func JsMasterMenuUserGroup() templ.Component {
defer templ.ReleaseBuffer(templ_7745c5c3_Buffer)
}
ctx = templ.InitializeContext(ctx)
templ_7745c5c3_Var12 := templ.GetChildren(ctx)
if templ_7745c5c3_Var12 == nil {
templ_7745c5c3_Var12 = templ.NopComponent
templ_7745c5c3_Var13 := templ.GetChildren(ctx)
if templ_7745c5c3_Var13 == nil {
templ_7745c5c3_Var13 = templ.NopComponent
}
ctx = templ.ClearChildren(ctx)
if !templ_7745c5c3_IsBuffer {
@@ -324,12 +337,12 @@ func ShowMasterMenuUserGroup(title string, cmp templ.Component, css templ.Compon
defer templ.ReleaseBuffer(templ_7745c5c3_Buffer)
}
ctx = templ.InitializeContext(ctx)
templ_7745c5c3_Var13 := templ.GetChildren(ctx)
if templ_7745c5c3_Var13 == nil {
templ_7745c5c3_Var13 = templ.NopComponent
templ_7745c5c3_Var14 := templ.GetChildren(ctx)
if templ_7745c5c3_Var14 == nil {
templ_7745c5c3_Var14 = templ.NopComponent
}
ctx = templ.ClearChildren(ctx)
templ_7745c5c3_Var14 := templ.ComponentFunc(func(ctx context.Context, templ_7745c5c3_W io.Writer) (templ_7745c5c3_Err error) {
templ_7745c5c3_Var15 := 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()
@@ -344,7 +357,7 @@ func ShowMasterMenuUserGroup(title string, cmp templ.Component, css templ.Compon
}
return templ_7745c5c3_Err
})
templ_7745c5c3_Err = layout.CorporateLayout(title, css, js, dataMenu, dataUser).Render(templ.WithChildren(ctx, templ_7745c5c3_Var14), templ_7745c5c3_Buffer)
templ_7745c5c3_Err = layout.CorporateLayout(title, css, js, dataMenu, dataUser).Render(templ.WithChildren(ctx, templ_7745c5c3_Var15), templ_7745c5c3_Buffer)
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}