本文整理汇总了Golang中github.com/opesun/nocrud/frame/interfaces.Context.ViewContext方法的典型用法代码示例。如果您正苦于以下问题:Golang Context.ViewContext方法的具体用法?Golang Context.ViewContext怎么用?Golang Context.ViewContext使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类github.com/opesun/nocrud/frame/interfaces.Context
的用法示例。
在下文中一共展示了Context.ViewContext方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Golang代码示例。
示例1: builtins
// We must recreate this map each time because map write is not threadsafe.
// Write will happen when a hook modifies the map (hook call is not implemented yet).
func builtins(ctx iface.Context) map[string]interface{} {
viewCtx := ctx.ViewContext().Get()
user := ctx.User()
ret := map[string]interface{}{
"get": func(s ...string) interface{} {
return get(viewCtx, s...)
},
"date": date,
"is_stranger": func() bool {
return user.Level() == 0
},
"logged_in": func() bool {
return user.Level() > 0
},
"is_moderator": func() bool {
return user.Level() >= 200
},
"is_admin": func() bool {
return user.Level() >= 300
},
"is_map": isMap,
"eq": eq,
"html": html,
"format_float": formatFloat,
"fallback": fallback,
"type_of": typeOf,
"same_kind": sameKind,
"title": strings.Title,
"url": func(action_name string, i ...interface{}) string {
return _url(ctx, action_name, i...)
},
"form": func(action_name string) *Form {
return form(ctx, action_name)
},
"counter": newcounter,
"get_sub": func(str string, params ...interface{}) []interface{} {
return getSub(ctx, str, params...)
},
"get_list": func(str string, params ...interface{}) []interface{} {
return getList(ctx, str, params...)
},
"elem": elem,
"pager": func(pagesl []string, count, limited int) []paging.Pelem {
var pagestr string
if len(pagesl) == 0 {
pagestr = "1"
} else {
pagestr = pagesl[0]
}
return pager(ctx, pagestr, count, limited)
},
}
ctx.Conducting().Hooks().Select("AddTemplateBuiltin").Fire(ret)
return ret
}
示例2: builtins
// We must recreate this map each time because map write is not threadsafe.
// Write will happen when a hook modifies the map (hook call is not implemented yet).
func builtins(ctx iface.Context) map[string]interface{} {
viewCtx := ctx.ViewContext().Get()
user := ctx.User()
ret := map[string]interface{}{
"get": func(s ...string) interface{} {
return getMap(viewCtx, s...)
},
"getMap": getMap,
"date": date,
"isStranger": func() bool {
return user.Level() == 0
},
"loggedIn": func() bool {
return user.Level() > 0
},
"isModerator": func() bool {
return user.Level() >= 200
},
"isAdmin": func() bool {
return user.Level() >= 300
},
"isMap": isMap,
"eq": eq,
"html": html,
"formatFloat": formatFloat,
"newMap": newMap,
"newSlice": newSlice,
"fallback": fallback,
"typeOf": typeOf,
"sameKind": sameKind,
"title": strings.Title,
"url": func(action_name string, i ...interface{}) string {
return _url(ctx, action_name, i...)
},
"form": func(action_name string) *Form {
return form(ctx, action_name)
},
"counter": newcounter,
"getSub": func(str string, params ...interface{}) []interface{} {
return getSub(ctx, str, params...)
},
"getList": func(str string, params ...interface{}) []interface{} {
return getList(ctx, str, params...)
},
"concat": concat,
"index": index,
"pager": func(page interface{}, count, limited int) []paging.Pelem {
var pagestr string
if page == nil {
pagestr = "1"
} else {
pagestr = page.(string)
}
return pager(ctx, pagestr, count, limited)
},
"len": _len,
"setMap": setMap,
"inSlice": inSlice,
"hook": func(hookName string) *hook {
return selectHook(ctx, hookName)
},
"indentedJSON": indentedJSON,
}
ctx.Conducting().Hooks().Select("AddTemplateBuiltin").Fire(ret)
return ret
}