Showing preview only (3,849K chars total). Download the full file or copy to clipboard to get everything.
Repository: CrazyRocks/goadmin
Branch: master
Commit: 49f7fb610c73
Files: 196
Total size: 3.6 MB
Directory structure:
gitextract_q1xzow4c/
├── .gitattributes
├── .idea/
│ ├── .gitignore
│ ├── goadmin.iml
│ ├── misc.xml
│ └── modules.xml
├── License
├── README.en.md
├── README.md
├── boot/
│ ├── boot.go
│ └── module.go
├── config/
│ └── config.toml
├── go.mod
├── go.sum
├── main.go
├── middleware/
│ └── rtoken/
│ ├── rtoken.go
│ ├── rtoken_cache.go
│ └── rtoken_resp.go
├── module/
│ ├── home/
│ │ ├── config/
│ │ │ └── router.go
│ │ ├── controller/
│ │ │ └── dashboard_controller.go
│ │ └── module.go
│ ├── public/
│ │ ├── config/
│ │ │ └── router.go
│ │ ├── controller/
│ │ │ └── login_controller.go
│ │ ├── model/
│ │ │ └── sys_login_user_model.go
│ │ └── module.go
│ └── sys/
│ ├── config/
│ │ └── router.go
│ ├── controller/
│ │ ├── sys_config_controller.go
│ │ ├── sys_oss_controller.go
│ │ └── sys_user_controller.go
│ ├── model/
│ │ ├── sys_config_model.go
│ │ ├── sys_oss_cloud.go
│ │ ├── sys_oss_model.go
│ │ └── sys_user_model.go
│ └── module.go
├── public/
│ ├── modules/
│ │ ├── common.js
│ │ └── sys/
│ │ ├── config.js
│ │ ├── oss.js
│ │ └── user.js
│ ├── plugins/
│ │ ├── ajaxupload/
│ │ │ └── ajaxupload.js
│ │ └── table/
│ │ ├── bootstrap-table-locale-all.js
│ │ ├── bootstrap-table-vue.esm.js
│ │ ├── bootstrap-table-vue.js
│ │ ├── bootstrap-table.css
│ │ ├── bootstrap-table.js
│ │ ├── extensions/
│ │ │ ├── accent-neutralise/
│ │ │ │ └── bootstrap-table-accent-neutralise.js
│ │ │ ├── addrbar/
│ │ │ │ └── bootstrap-table-addrbar.js
│ │ │ ├── auto-refresh/
│ │ │ │ └── bootstrap-table-auto-refresh.js
│ │ │ ├── cell-input/
│ │ │ │ ├── bootstrap-table-cell-input.css
│ │ │ │ └── bootstrap-table-cell-input.js
│ │ │ ├── cookie/
│ │ │ │ └── bootstrap-table-cookie.js
│ │ │ ├── copy-rows/
│ │ │ │ └── bootstrap-table-copy-rows.js
│ │ │ ├── defer-url/
│ │ │ │ └── bootstrap-table-defer-url.js
│ │ │ ├── editable/
│ │ │ │ └── bootstrap-table-editable.js
│ │ │ ├── export/
│ │ │ │ └── bootstrap-table-export.js
│ │ │ ├── filter-control/
│ │ │ │ ├── bootstrap-table-filter-control.css
│ │ │ │ └── bootstrap-table-filter-control.js
│ │ │ ├── fixed-columns/
│ │ │ │ ├── bootstrap-table-fixed-columns.css
│ │ │ │ └── bootstrap-table-fixed-columns.js
│ │ │ ├── group-by-v2/
│ │ │ │ ├── bootstrap-table-group-by.css
│ │ │ │ └── bootstrap-table-group-by.js
│ │ │ ├── i18n-enhance/
│ │ │ │ └── bootstrap-table-i18n-enhance.js
│ │ │ ├── key-events/
│ │ │ │ └── bootstrap-table-key-events.js
│ │ │ ├── mobile/
│ │ │ │ └── bootstrap-table-mobile.js
│ │ │ ├── multiple-sort/
│ │ │ │ └── bootstrap-table-multiple-sort.js
│ │ │ ├── natural-sorting/
│ │ │ │ └── bootstrap-table-natural-sorting.js
│ │ │ ├── page-jump-to/
│ │ │ │ ├── bootstrap-table-page-jump-to.css
│ │ │ │ └── bootstrap-table-page-jump-to.js
│ │ │ ├── pipeline/
│ │ │ │ └── bootstrap-table-pipeline.js
│ │ │ ├── print/
│ │ │ │ └── bootstrap-table-print.js
│ │ │ ├── reorder-columns/
│ │ │ │ └── bootstrap-table-reorder-columns.js
│ │ │ ├── reorder-rows/
│ │ │ │ ├── bootstrap-table-reorder-rows.css
│ │ │ │ └── bootstrap-table-reorder-rows.js
│ │ │ ├── resizable/
│ │ │ │ └── bootstrap-table-resizable.js
│ │ │ ├── sticky-header/
│ │ │ │ ├── bootstrap-table-sticky-header.css
│ │ │ │ └── bootstrap-table-sticky-header.js
│ │ │ ├── toolbar/
│ │ │ │ └── bootstrap-table-toolbar.js
│ │ │ └── treegrid/
│ │ │ └── bootstrap-table-treegrid.js
│ │ ├── locale/
│ │ │ ├── bootstrap-table-af-ZA.js
│ │ │ ├── bootstrap-table-ar-SA.js
│ │ │ ├── bootstrap-table-ca-ES.js
│ │ │ ├── bootstrap-table-cs-CZ.js
│ │ │ ├── bootstrap-table-da-DK.js
│ │ │ ├── bootstrap-table-de-DE.js
│ │ │ ├── bootstrap-table-el-GR.js
│ │ │ ├── bootstrap-table-en-US.js
│ │ │ ├── bootstrap-table-es-AR.js
│ │ │ ├── bootstrap-table-es-CL.js
│ │ │ ├── bootstrap-table-es-CR.js
│ │ │ ├── bootstrap-table-es-ES.js
│ │ │ ├── bootstrap-table-es-MX.js
│ │ │ ├── bootstrap-table-es-NI.js
│ │ │ ├── bootstrap-table-es-SP.js
│ │ │ ├── bootstrap-table-et-EE.js
│ │ │ ├── bootstrap-table-eu-EU.js
│ │ │ ├── bootstrap-table-fa-IR.js
│ │ │ ├── bootstrap-table-fi-FI.js
│ │ │ ├── bootstrap-table-fr-BE.js
│ │ │ ├── bootstrap-table-fr-CH.js
│ │ │ ├── bootstrap-table-fr-FR.js
│ │ │ ├── bootstrap-table-fr-LU.js
│ │ │ ├── bootstrap-table-he-IL.js
│ │ │ ├── bootstrap-table-hr-HR.js
│ │ │ ├── bootstrap-table-hu-HU.js
│ │ │ ├── bootstrap-table-id-ID.js
│ │ │ ├── bootstrap-table-it-IT.js
│ │ │ ├── bootstrap-table-ja-JP.js
│ │ │ ├── bootstrap-table-ka-GE.js
│ │ │ ├── bootstrap-table-ko-KR.js
│ │ │ ├── bootstrap-table-ms-MY.js
│ │ │ ├── bootstrap-table-nb-NO.js
│ │ │ ├── bootstrap-table-nl-BE.js
│ │ │ ├── bootstrap-table-nl-NL.js
│ │ │ ├── bootstrap-table-pl-PL.js
│ │ │ ├── bootstrap-table-pt-BR.js
│ │ │ ├── bootstrap-table-pt-PT.js
│ │ │ ├── bootstrap-table-ro-RO.js
│ │ │ ├── bootstrap-table-ru-RU.js
│ │ │ ├── bootstrap-table-sk-SK.js
│ │ │ ├── bootstrap-table-sr-Cyrl-RS.js
│ │ │ ├── bootstrap-table-sr-Latn-RS.js
│ │ │ ├── bootstrap-table-sv-SE.js
│ │ │ ├── bootstrap-table-th-TH.js
│ │ │ ├── bootstrap-table-tr-TR.js
│ │ │ ├── bootstrap-table-uk-UA.js
│ │ │ ├── bootstrap-table-ur-PK.js
│ │ │ ├── bootstrap-table-uz-Latn-UZ.js
│ │ │ ├── bootstrap-table-vi-VN.js
│ │ │ ├── bootstrap-table-zh-CN.js
│ │ │ └── bootstrap-table-zh-TW.js
│ │ └── themes/
│ │ ├── bulma/
│ │ │ ├── bootstrap-table-bulma.css
│ │ │ └── bootstrap-table-bulma.js
│ │ ├── foundation/
│ │ │ ├── bootstrap-table-foundation.css
│ │ │ └── bootstrap-table-foundation.js
│ │ ├── materialize/
│ │ │ ├── bootstrap-table-materialize.css
│ │ │ └── bootstrap-table-materialize.js
│ │ └── semantic/
│ │ ├── bootstrap-table-semantic.css
│ │ └── bootstrap-table-semantic.js
│ └── stisla/
│ ├── css/
│ │ ├── components.css
│ │ ├── custom.css
│ │ ├── reverse.css
│ │ ├── rtl.css
│ │ ├── skins/
│ │ │ └── reverse.css
│ │ └── style.css
│ ├── fonts/
│ │ └── vazir/
│ │ ├── LICENSE
│ │ └── font-face.css
│ └── js/
│ ├── custom.js
│ ├── page/
│ │ ├── auth-register.js
│ │ ├── bootstrap-modal.js
│ │ ├── components-chat-box.js
│ │ ├── components-multiple-upload.js
│ │ ├── components-statistic.js
│ │ ├── components-table.js
│ │ ├── components-user.js
│ │ ├── features-post-create.js
│ │ ├── features-posts.js
│ │ ├── features-setting-detail.js
│ │ ├── forms-advanced-forms.js
│ │ ├── gmaps-advanced-route.js
│ │ ├── gmaps-draggable-marker.js
│ │ ├── gmaps-geocoding.js
│ │ ├── gmaps-geolocation.js
│ │ ├── gmaps-marker.js
│ │ ├── gmaps-multiple-marker.js
│ │ ├── gmaps-route.js
│ │ ├── gmaps-simple.js
│ │ ├── index-0.js
│ │ ├── index.js
│ │ ├── modules-calendar.js
│ │ ├── modules-chartjs.js
│ │ ├── modules-datatables.js
│ │ ├── modules-ion-icons.js
│ │ ├── modules-slider.js
│ │ ├── modules-sparkline.js
│ │ ├── modules-sweetalert.js
│ │ ├── modules-toastr.js
│ │ ├── modules-vector-map.js
│ │ └── utilities-contact.js
│ ├── scripts.js
│ └── stisla.js
├── sql/
│ └── goadmin.sql
├── template/
│ ├── home/
│ │ └── index.html
│ ├── layout/
│ │ ├── footer.html
│ │ ├── header.html
│ │ └── nav.html
│ ├── public/
│ │ └── login.html
│ └── sys/
│ ├── config.html
│ ├── oss.html
│ └── user.html
└── utils/
├── base/
│ ├── baseForm.go
│ ├── baseModel.go
│ └── baseRouter.go
├── bean/
│ └── SessionUser.go
├── cloud/
│ └── oss.go
├── resp/
│ └── resp.go
├── time.go
└── tools/
├── gid.go
└── redis.go
================================================
FILE CONTENTS
================================================
================================================
FILE: .gitattributes
================================================
*.js linguist-language=GO
*.css linguist-language=GO
*.html linguist-language=GO
================================================
FILE: .idea/.gitignore
================================================
# Default ignored files
/workspace.xml
================================================
FILE: .idea/goadmin.iml
================================================
<?xml version="1.0" encoding="UTF-8"?>
<module type="WEB_MODULE" version="4">
<component name="Go" enabled="true" />
<component name="NewModuleRootManager">
<content url="file://$MODULE_DIR$" />
<orderEntry type="inheritedJdk" />
<orderEntry type="sourceFolder" forTests="false" />
</component>
</module>
================================================
FILE: .idea/misc.xml
================================================
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="JavaScriptSettings">
<option name="languageLevel" value="ES6" />
</component>
</project>
================================================
FILE: .idea/modules.xml
================================================
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="ProjectModuleManager">
<modules>
<module fileurl="file://$PROJECT_DIR$/.idea/goadmin.iml" filepath="$PROJECT_DIR$/.idea/goadmin.iml" />
</modules>
</component>
</project>
================================================
FILE: License
================================================
MIT License
Copyright (c) 2020 CrazyRocks
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
================================================
FILE: README.en.md
================================================
================================================
FILE: README.md
================================================
# GoAdim
底层框架:GF<br/>
前端模板:stisla<br/>
数据库:mysql<br/>
缓存:redis<br/>
权限:token<br/>
安装:<br/>
1:数据库在:sql文件夹下<br/>
2:修改config文件下的config<br/>
3:请打开redis<br/>
4: go run main.go<br/>
5:账号:admin 密码:admin#1314<br/>
打包等细节:查看gf手册<br/>
配套工具
全自动生成脚手架:https://github.com/CrazyRocks/autocreate<br/>
1: 生成了model<br/>
2: 生成了controller<br/>
3: 生成了router<br/>
4: 生成了moudle<br/>
5: 生成了html模式下的模板(html,js)<br/>
6: 生成了vue模式下的vue<br/>
7: 自动生成了权限menu.sql<br/>
原来需要写一天,现在只需1分钟搞定<br/>
<br/>
项目说明:
1: 底层使用超级爽的:gf框架(爽到爆)<br/>
2: 该系统是一个golang admin(就是为了快)<br/>
3: 系统采用了token验证,所以全端一键生成API<br/>
5: 碾压的超级美观界面<br/>
<br/>
<br/>
<br/>
**关注我,带你们技术搞流量,技术搞流量,轻松百万流量**<br/>
1:独家分享独立开发者1000万用户的操作<br/>
2:独家分享日活20万用户的全套代码<br/>
3:独家分享如果用技术短时间获取百万用户 <br/>
开源:<br/>
1:全套视频APP,上线3个月日活5万+ [https://gitee.com/rocks/zhanglubao](https://gitee.com/rocks/zhanglubao)<br/>
2: 全自动全栈代码生成器:[https://gitee.com/crazyrocks/goadmin](https://gitee.com/crazyrocks/goadmin)<br/>
3: 即将分享1个月打造日活10万+微信小程序<br/>
4: 关于安卓市场,快速上榜工具<br/>
**全是野路子** <br/>
<br/>
关于百度:<br/>
1:如何做到1个月百度流量破万<br/>
2:如何做到1个月小程序日活20万<br/>
<br/>
关于Google,直接上图<br/>
<br/>
<br/>
感谢大佬<br/>
| Name | Channel | Amount | Comment<br/>
|---|---|--- | ---<br/>
|李超|wechat|¥66.00 |<br/>
================================================
FILE: boot/boot.go
================================================
package boot
import (
"github.com/gogf/gf/frame/g"
"github.com/gogf/gf/os/glog"
"github.com/gogf/gf/os/gsession"
"goadmin/middleware/rtoken"
"goadmin/module/public/controller"
"goadmin/utils/base"
"time"
)
func init() {
InitConfig()
InitModules()
// 启动rtoken
base.Token = &rtoken.RfToken{
Timeout: 100 * 1000,
CacheMode: 2,
LoginPath: "/login/submit",
LoginBeforeFunc: controller.LoginSubmit,
LoginAfterFunc: controller.LoginAfter,
LogoutPath: "/user/logout",
LogoutBeforeFunc: controller.LogoutBefore,
AuthPaths: g.SliceStr{"/dashboard", "/sys/*"},
}
base.Token.Start()
}
// 用于应用初始化。
func InitConfig() {
c := g.Config()
s := g.Server()
v := g.View()
//session存内存
_ = s.SetConfigWithMap(g.Map{
"SessionMaxAge": time.Minute,
"SessionStorage": gsession.NewStorageMemory(),
})
// 配置对象及视图对象配置
_ = c.AddPath("config")
v.SetDelimiters("${", "}")
_ = v.AddPath("template")
s.SetServerRoot("public")
// glog配置
logpath := c.GetString("setting.logpath")
_ = glog.SetPath(logpath)
glog.SetStdoutPrint(true)
s.SetLogPath(logpath)
s.SetErrorLogEnabled(true)
s.SetAccessLogEnabled(false)
s.EnableAdmin()
s.SetPort(8192)
}
================================================
FILE: boot/module.go
================================================
package boot
import (
"goadmin/module/home"
"goadmin/module/public"
"goadmin/module/sys"
)
func InitModules() {
public.InitModule()
home.InitModule()
sys.InitModule()
}
================================================
FILE: config/config.toml
================================================
url-path = ""
# 应用系统设置
[setting]
logpath = "/logs"
assest=""
domain=""
# 数据库连接
[database]
[[database.center]]
host = "localhost"
port = "3306"
user = "root"
pass = ""
name = "goadmin"
type = "mysql"
role = "master"
charset = "utf8"
priority = "1"
debug = "false"
# 缓存模式 1 gcache 2 gredis
cache-mode = 2
# Redis数据库配置
[redis]
default = "127.0.0.1:6379,0"
cache = "127.0.0.1:6379,1?idleTimeout=600"
================================================
FILE: go.mod
================================================
module goadmin
require github.com/gogf/gf v1.10.0
require (
github.com/aliyun/aliyun-oss-go-sdk v2.0.4+incompatible
github.com/baiyubin/aliyun-sts-go-sdk v0.0.0-20180326062324-cfa1a18b161f // indirect
github.com/kr/pretty v0.1.0 // indirect
github.com/satori/go.uuid v1.2.0 // indirect
golang.org/x/time v0.0.0-20191024005414-555d28b269f0 // indirect
google.golang.org/appengine v1.6.5 // indirect
gopkg.in/check.v1 v1.0.0-20190902080502-41f04d3bba15 // indirect
)
go 1.13
================================================
FILE: go.sum
================================================
github.com/BurntSushi/toml v0.3.1 h1:WXkYYl6Yr3qBf1K79EBnL4mak0OimBfB0XUf9Vl28OQ=
github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03qcyfWMU=
github.com/aliyun/aliyun-oss-go-sdk v2.0.4+incompatible h1:EaK5256H3ELiyaq5O/Zwd6fnghD6DqmZDQmmzzJklUU=
github.com/aliyun/aliyun-oss-go-sdk v2.0.4+incompatible/go.mod h1:T/Aws4fEfogEE9v+HPhhw+CntffsBHJ8nXQCwKr0/g8=
github.com/baiyubin/aliyun-sts-go-sdk v0.0.0-20180326062324-cfa1a18b161f h1:ZNv7On9kyUzm7fvRZumSyy/IUiSC7AzL0I1jKKtwooA=
github.com/baiyubin/aliyun-sts-go-sdk v0.0.0-20180326062324-cfa1a18b161f/go.mod h1:AuiFmCCPBSrqvVMvuqFuk0qogytodnVFVSN5CeJB8Gc=
github.com/clbanning/mxj v1.8.4 h1:HuhwZtbyvyOw+3Z1AowPkU87JkJUSv751ELWaiTpj8I=
github.com/clbanning/mxj v1.8.4/go.mod h1:BVjHeAH+rl9rs6f+QIpeRl0tfu10SXn1pUSa5PVGJng=
github.com/fatih/structs v1.1.0 h1:Q7juDM0QtcnhCpeyLGQKyg4TOIghuNXrkL32pHAUMxo=
github.com/fatih/structs v1.1.0/go.mod h1:9NiDSp5zOcgEDl+j00MP/WkGVPOlPRLejGD8Ga6PJ7M=
github.com/fsnotify/fsnotify v1.4.7 h1:IXs+QLmnXW2CcXuY+8Mzv/fWEsPGWxqefPtCP5CnV9I=
github.com/fsnotify/fsnotify v1.4.7/go.mod h1:jwhsz4b93w/PPRr/qN1Yymfu8t87LnFCMoQvtojpjFo=
github.com/gf-third/mysql v1.4.2 h1:f1M5CNFUG3WkE07UOomtu4o0n/KJKeuUUf5Nc9ZFXs4=
github.com/gf-third/mysql v1.4.2/go.mod h1:+dd90V663ppI2fV5uQ6+rHk0u8KCyU6FkG8Um8Cx3ms=
github.com/gf-third/yaml v1.0.1 h1:pqD4ix+65DqGphU1MDnToPZfGYk0tuuwRzuTSl3g0d0=
github.com/gf-third/yaml v1.0.1/go.mod h1:t443vj0txEw3+E0MOtkr83kt+PrZg2I8SRuYfn85NM0=
github.com/gogf/gf v1.10.0 h1:O6QwrdlQ06Nq/mp3EMwGckPA6xnWg2L+k5u+mYCiges=
github.com/gogf/gf v1.10.0/go.mod h1:/37gncPmuM06D4YSqiDze9GsasDtF2QnWkUfKeiGW/Q=
github.com/golang/protobuf v1.3.1/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U=
github.com/gomodule/redigo v2.0.0+incompatible h1:K/R+8tc58AaqLkqG2Ol3Qk+DR/TlNuhuh457pBFPtt0=
github.com/gomodule/redigo v2.0.0+incompatible/go.mod h1:B4C85qUVwatsJoIUNIfCRsp7qO0iAmpGFZ4EELWSbC4=
github.com/google/uuid v1.1.1 h1:Gkbcsh/GbpXz7lPftLA3P6TYMwjCLYm83jiFQZF/3gY=
github.com/google/uuid v1.1.1/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo=
github.com/gorilla/websocket v1.4.1 h1:q7AeDBpnBk8AogcD4DSag/Ukw/KV+YhzLj2bP5HvKCM=
github.com/gorilla/websocket v1.4.1/go.mod h1:YR8l580nyteQvAITg2hZ9XVh4b55+EU/adAjf1fMHhE=
github.com/grokify/html-strip-tags-go v0.0.0-20190921062105-daaa06bf1aaf h1:wIOAyJMMen0ELGiFzlmqxdcV1yGbkyHBAB6PolcNbLA=
github.com/grokify/html-strip-tags-go v0.0.0-20190921062105-daaa06bf1aaf/go.mod h1:2Su6romC5/1VXOQMaWL2yb618ARB8iVo6/DR99A6d78=
github.com/kr/pretty v0.1.0 h1:L/CwN0zerZDmRFUapSPitk6f+Q3+0za1rQkzVuMiMFI=
github.com/kr/pretty v0.1.0/go.mod h1:dAy3ld7l9f0ibDNOQOHHMYYIIbhfbHSm3C4ZsoJORNo=
github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ=
github.com/kr/text v0.1.0 h1:45sCR5RtlFHMR4UwH9sdQ5TC8v0qDQCHnXt+kaKSTVE=
github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI=
github.com/mattn/go-runewidth v0.0.7 h1:Ei8KR0497xHyKJPAv59M1dkC+rOZCMBJ+t3fZ+twI54=
github.com/mattn/go-runewidth v0.0.7/go.mod h1:H031xJmbD/WCDINGzjvQ9THkh0rPKHF+m2gUSrubnMI=
github.com/olekukonko/tablewriter v0.0.1 h1:b3iUnf1v+ppJiOfNX4yxxqfWKMQPZR5yoh8urCTFX88=
github.com/olekukonko/tablewriter v0.0.1/go.mod h1:vsDQFd/mU46D+Z4whnwzcISnGGzXWMclvtLoiIKAKIo=
github.com/satori/go.uuid v1.2.0 h1:0uYX9dsZ2yD7q2RtLRtPSdGDWzjeM3TbMJP9utgA0ww=
github.com/satori/go.uuid v1.2.0/go.mod h1:dA0hQrYB0VpLJoorglMZABFdXlWrHn1NEOzdhQKdks0=
golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w=
golang.org/x/net v0.0.0-20190603091049-60506f45cf65/go.mod h1:HSz+uSET+XFnRR8LxR5pz3Of3rY3CfYBVs4xY44aLks=
golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
golang.org/x/sys v0.0.0-20191204072324-ce4227a45e2e h1:9vRrk9YW2BTzLP0VCB9ZDjU4cPqkg+IDWL7XgxA1yxQ=
golang.org/x/sys v0.0.0-20191204072324-ce4227a45e2e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
golang.org/x/text v0.3.2 h1:tW2bmiBqwgJj/UpqtC8EpXEZVYOwU0yG4iWbprSVAcs=
golang.org/x/text v0.3.2/go.mod h1:bEr9sfX3Q8Zfm5fL9x+3itogRgK3+ptLWKqgva+5dAk=
golang.org/x/time v0.0.0-20191024005414-555d28b269f0 h1:/5xXl8Y5W96D+TtHSlonuFqGHIWVuyCkGJLwGh9JJFs=
golang.org/x/time v0.0.0-20191024005414-555d28b269f0/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ=
golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
google.golang.org/appengine v1.6.5 h1:tycE03LOZYQNhDpS27tcQdAzLCVMaj7QT2SXxebnpCM=
google.golang.org/appengine v1.6.5/go.mod h1:8WjMMxjGQR8xUklV/ARdw2HLXBOI7O7uCIDZVag1xfc=
gopkg.in/check.v1 v1.0.0-20190902080502-41f04d3bba15 h1:YR8cESwS4TdDjEe65xsg0ogRM/Nc3DYOhEAlW+xobZo=
gopkg.in/check.v1 v1.0.0-20190902080502-41f04d3bba15/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
================================================
FILE: main.go
================================================
package main
import (
"github.com/gogf/gf/frame/g"
_ "goadmin/boot"
)
func main() {
g.Server().Run()
}
================================================
FILE: middleware/rtoken/rtoken.go
================================================
package rtoken
import (
"fmt"
"github.com/gogf/gf/crypto/gaes"
"github.com/gogf/gf/crypto/gmd5"
"github.com/gogf/gf/encoding/gbase64"
"github.com/gogf/gf/frame/g"
"github.com/gogf/gf/net/ghttp"
"github.com/gogf/gf/os/glog"
"github.com/gogf/gf/os/gtime"
"github.com/gogf/gf/text/gstr"
"github.com/gogf/gf/util/gconv"
"github.com/gogf/gf/util/grand"
"strings"
)
const (
CacheModeCache = 1
CacheModeRedis = 2
)
// RfToken rtoken结构体
type RfToken struct {
// 缓存模式 1 gcache 2 gredis 默认1
CacheMode int8
// 缓存key
CacheKey string
// 超时时间 默认10天
Timeout int
// 缓存刷新时间 默认为超时时间的一半
MaxRefresh int
// Token分隔符
TokenDelimiter string
// Token加密key
EncryptKey []byte
// 认证失败中文提示
AuthFailMsg string
// 登录路径
LoginPath string
// 登录验证方法 return userKey 用户标识 如果userKey为空,结束执行
LoginBeforeFunc func(r *ghttp.Request) (string, interface{})
// 登录返回方法
LoginAfterFunc func(r *ghttp.Request, respData Resp)
// 登出地址
LogoutPath string
// 登出验证方法 return true 继续执行,否则结束执行
LogoutBeforeFunc func(r *ghttp.Request) bool
// 登出返回方法
LogoutAfterFunc func(r *ghttp.Request, respData Resp)
// 拦截地址
AuthPaths g.SliceStr
// 认证验证方法 return true 继续执行,否则结束执行
AuthBeforeFunc func(r *ghttp.Request) bool
// 认证返回方法
AuthAfterFunc func(r *ghttp.Request, respData Resp)
}
// Init 初始化
func (m *RfToken) Init() bool {
if m.CacheMode == 0 {
m.CacheMode = CacheModeCache
}
if m.CacheKey == "" {
m.CacheKey = "RToken:"
}
if m.Timeout == 0 {
m.Timeout = 10 * 24 * 60 * 60 * 1000
}
if m.MaxRefresh == 0 {
m.MaxRefresh = m.Timeout / 2
}
if m.TokenDelimiter == "" {
m.TokenDelimiter = "_"
}
if len(m.EncryptKey) == 0 {
m.EncryptKey = []byte("12345678912345678912345678912345")
}
if m.AuthFailMsg == "" {
m.AuthFailMsg = "请求错误或登录超时"
}
if m.LoginAfterFunc == nil {
m.LoginAfterFunc = func(r *ghttp.Request, respData Resp) {
if !respData.Success() {
r.Response.WriteJson(respData)
} else {
r.Response.WriteJson(Succ(g.Map{
"token": respData.GetString("token"),
}))
}
}
}
if m.LogoutBeforeFunc == nil {
m.LogoutBeforeFunc = func(r *ghttp.Request) bool {
return true
}
}
if m.LogoutAfterFunc == nil {
m.LogoutAfterFunc = func(r *ghttp.Request, respData Resp) {
if respData.Success() {
r.Response.WriteJson(Succ("Logout success"))
} else {
r.Response.WriteJson(respData)
}
}
}
if m.AuthBeforeFunc == nil {
m.AuthBeforeFunc = func(r *ghttp.Request) bool {
// 静态页面不拦截
if r.IsFileRequest() {
return false
}
return true
}
}
if m.AuthAfterFunc == nil {
m.AuthAfterFunc = func(r *ghttp.Request, respData Resp) {
if respData.Success() {
r.Middleware.Next()
} else {
var params map[string]interface{}
if r.Method == "GET" {
params = r.GetQueryMap()
} else if r.Method == "POST" {
params = r.GetPostMap()
} else {
r.Response.Writeln("Request Method is ERROR! ")
return
}
no := gconv.String(gtime.Millisecond())
glog.Info(fmt.Sprintf("[AUTH_%s][url:%s][params:%s][data:%s]",
no, r.URL.Path, params, respData.Json()))
respData.Msg = m.AuthFailMsg
r.Response.WriteJson(respData)
r.ExitAll()
}
}
}
return true
}
// Start 启动
func (m *RfToken) Start() bool {
if !m.Init() {
return false
}
glog.Info("[RToken][params:" + m.String() + "]start... ")
s := g.Server()
// 缓存模式
if m.CacheMode > CacheModeRedis {
glog.Error("[RToken]CacheMode set error")
return false
}
// 认证拦截器
if m.AuthPaths == nil {
glog.Error("[RToken]HookPathList not set")
return false
}
for _, authPath := range m.AuthPaths {
if strings.HasSuffix(authPath, "/*") {
s.BindMiddleware(authPath, m.AuthMiddleware)
} else {
s.BindMiddleware(authPath+"/*", m.AuthMiddleware)
}
}
// 登录
if m.LoginPath == "" || m.LoginBeforeFunc == nil {
glog.Error("[RToken]LoginPath or LoginBeforeFunc not set")
return false
}
s.BindHandler(m.LoginPath, m.Login)
// 登出
if m.LogoutPath == "" {
glog.Error("[RToken]LogoutPath or LogoutFunc not set")
return false
}
s.BindHandler(m.LogoutPath, m.Logout)
return true
}
// Start 结束
func (m *RfToken) Stop() bool {
glog.Info("[RToken]stop. ")
return true
}
// GetTokenData 通过token获取对象
func (m *RfToken) GetTokenData(r *ghttp.Request) Resp {
respData := m.getRequestToken(r)
if respData.Success() {
// 验证token
respData = m.validToken(respData.DataString())
}
return respData
}
// Login 登录
func (m *RfToken) Login(r *ghttp.Request) {
userKey, data := m.LoginBeforeFunc(r)
if userKey != "" {
// 生成token
respToken := m.genToken(userKey, data)
m.LoginAfterFunc(r, respToken)
}
}
// Logout 登出
func (m *RfToken) Logout(r *ghttp.Request) {
if m.LogoutBeforeFunc(r) {
// 获取请求token
respData := m.getRequestToken(r)
if respData.Success() {
// 删除token
m.removeToken(respData.DataString())
}
m.LogoutAfterFunc(r, respData)
}
}
// AuthMiddleware 认证拦截
func (m *RfToken) AuthMiddleware(r *ghttp.Request) {
// 不需要认证,直接下一步
if !m.AuthBeforeFunc(r) {
r.Middleware.Next()
return
}
// 获取请求token
tokenResp := m.getRequestToken(r)
if tokenResp.Success() {
// 验证token
tokenResp = m.validToken(tokenResp.DataString())
}
m.AuthAfterFunc(r, tokenResp)
}
// getRequestToken 返回请求Token
func (m *RfToken) getRequestToken(r *ghttp.Request) Resp {
authHeader := r.Header.Get("Authorization")
if authHeader != "" {
parts := strings.SplitN(authHeader, " ", 2)
if !(len(parts) == 2 && parts[0] == "Bearer") {
glog.Warning("[RToken]authHeader:" + authHeader + " get token key fail")
return Unauthorized("get token key fail", "")
} else if parts[1] == "" {
glog.Warning("[RToken]authHeader:" + authHeader + " get token fail")
return Unauthorized("get token fail", "")
}
return Succ(parts[1])
}
token := r.Cookie.Get("token", "")
if token != "" {
return Succ(token)
}
authHeader = r.GetPostString("token")
if authHeader == "" {
return Unauthorized("query token fail", "")
}
return Succ(authHeader)
}
// genToken 生成Token
func (m *RfToken) genToken(userKey string, data interface{}) Resp {
token := m.EncryptToken(userKey)
if !token.Success() {
return token
}
cacheKey := m.CacheKey + userKey
userCache := g.Map{
"userKey": userKey,
"uuid": token.GetString("uuid"),
"data": data,
"createTime": gtime.Now().Millisecond(),
"refreshTime": gtime.Now().Millisecond() + gconv.Int64(m.MaxRefresh),
}
cacheResp := m.setCache(cacheKey, userCache)
if !cacheResp.Success() {
return cacheResp
}
return token
}
// validToken 验证Token
func (m *RfToken) validToken(token string) Resp {
if token == "" {
return Unauthorized("valid token empty", "")
}
decryptToken := m.DecryptToken(token)
if !decryptToken.Success() {
return decryptToken
}
userKey := decryptToken.GetString("userKey")
uuid := decryptToken.GetString("uuid")
cacheKey := m.CacheKey + userKey
userCacheResp := m.getCache(cacheKey)
if !userCacheResp.Success() {
return userCacheResp
}
userCache := gconv.Map(userCacheResp.Data)
if uuid != userCache["uuid"] {
glog.Error("[RToken]user auth error, decryptToken:" + decryptToken.Json() + " cacheValue:" + gconv.String(userCache))
return Unauthorized("user auth error", "")
}
nowTime := gtime.Now().Millisecond()
refreshTime := userCache["refreshTime"]
// 需要进行缓存超时时间刷新
if gconv.Int64(refreshTime) == 0 || nowTime > gconv.Int64(refreshTime) {
userCache["createTime"] = gtime.Now().Millisecond()
userCache["refreshTime"] = gtime.Now().Millisecond() + gconv.Int64(m.MaxRefresh)
glog.Debug("[RToken]refreshToken:" + gconv.String(userCache))
return m.setCache(cacheKey, userCache)
}
return Succ(userCache)
}
// removeToken 删除Token
func (m *RfToken) removeToken(token string) Resp {
decryptToken := m.DecryptToken(token)
if !decryptToken.Success() {
return decryptToken
}
cacheKey := m.CacheKey + decryptToken.GetString("userKey")
return m.removeCache(cacheKey)
}
// EncryptToken token加密方法
func (m *RfToken) EncryptToken(userKey string) Resp {
if userKey == "" {
return Fail("encrypt userKey empty")
}
uuid, err := gmd5.Encrypt(grand.Str(10))
if err != nil {
glog.Error("[RToken]uuid error", err)
return Error("uuid error")
}
tokenStr := userKey + m.TokenDelimiter + uuid
token, err := gaes.Encrypt([]byte(tokenStr), m.EncryptKey)
if err != nil {
glog.Error("[RToken]encrypt error", err)
return Error("encrypt error")
}
return Succ(g.Map{
"userKey": userKey,
"uuid": uuid,
"token": gbase64.Encode(token),
})
}
// DecryptToken token解密方法
func (m *RfToken) DecryptToken(token string) Resp {
if token == "" {
return Fail("decrypt token empty")
}
token64, err := gbase64.Decode([]byte(token))
if err != nil {
glog.Error("[RToken]decode error", err)
return Error("decode error")
}
decryptToken, err2 := gaes.Decrypt([]byte(token64), m.EncryptKey)
if err2 != nil {
glog.Error("[RToken]decrypt error", err2)
return Error("decrypt error")
}
tokenArray := gstr.Split(string(decryptToken), m.TokenDelimiter)
if len(tokenArray) < 2 {
glog.Error("[RToken]token len error")
return Error("token len error")
}
return Succ(g.Map{
"userKey": tokenArray[0],
"uuid": tokenArray[1],
})
}
// String token解密方法
func (m *RfToken) String() string {
return gconv.String(g.Map{
// 缓存模式 1 gcache 2 gredis 默认1
"CacheMode": m.CacheMode,
"CacheKey": m.CacheKey,
"Timeout": m.Timeout,
"TokenDelimiter": m.TokenDelimiter,
"EncryptKey": string(m.EncryptKey),
"LoginPath": m.LoginPath,
"LogoutPath": m.LogoutPath,
"AuthPaths": gconv.String(m.AuthPaths),
})
}
================================================
FILE: middleware/rtoken/rtoken_cache.go
================================================
package rtoken
import (
"github.com/gogf/gf/encoding/gjson"
"github.com/gogf/gf/frame/g"
"github.com/gogf/gf/os/gcache"
"github.com/gogf/gf/os/glog"
"github.com/gogf/gf/util/gconv"
"time"
)
// setCache 设置缓存
func (m *RfToken) setCache(cacheKey string, userCache g.Map) Resp {
switch m.CacheMode {
case CacheModeCache:
gcache.Set(cacheKey, userCache, gconv.Duration(m.Timeout)*time.Millisecond)
case CacheModeRedis:
cacheValueJson, err1 := gjson.Encode(userCache)
if err1 != nil {
glog.Error("[GToken]cache json encode error", err1)
return Error("cache json encode error")
}
_, err := g.Redis().Do("SETEX", cacheKey, m.Timeout, cacheValueJson)
if err != nil {
glog.Error("[GToken]cache set error", err)
return Error("cache set error")
}
default:
return Error("cache model error")
}
return Succ(userCache)
}
// getCache 获取缓存
func (m *RfToken) getCache(cacheKey string) Resp {
var userCache g.Map
switch m.CacheMode {
case CacheModeCache:
userCacheValue := gcache.Get(cacheKey)
if userCacheValue == nil {
return Unauthorized("login timeout or not login", "")
}
userCache = gconv.Map(userCacheValue)
case CacheModeRedis:
userCacheJson, err := g.Redis().Do("GET", cacheKey)
if err != nil {
glog.Error("[GToken]cache get error", err)
return Error("cache get error")
}
if userCacheJson == nil {
return Unauthorized("login timeout or not login", "")
}
err = gjson.DecodeTo(userCacheJson, &userCache)
if err != nil {
glog.Error("[GToken]cache get json error", err)
return Error("cache get json error")
}
default:
return Error("cache model error")
}
return Succ(userCache)
}
// removeCache 删除缓存
func (m *RfToken) removeCache(cacheKey string) Resp {
switch m.CacheMode {
case CacheModeCache:
gcache.Remove(cacheKey)
case CacheModeRedis:
var err error
_, err = g.Redis().Do("DEL", cacheKey)
if err != nil {
glog.Error("[GToken]cache remove error", err)
return Error("cache remove error")
}
default:
return Error("cache model error")
}
return Succ("")
}
================================================
FILE: middleware/rtoken/rtoken_resp.go
================================================
package rtoken
import (
"encoding/json"
"github.com/gogf/gf/util/gconv"
)
const (
SUCCESS = 0
FAIL = -1
ERROR = -99
UNAUTHORIZED = -401
//配置
TypeConfig = 1
// 字典
TypeDict = 2
)
type Resp struct {
Code int `json:"code"`
Msg string `json:"msg"`
Data interface{} `json:"data"`
}
// 获取Data值转字符串
func (resp Resp) Success() bool {
return resp.Code == SUCCESS
}
// 获取Data转字符串
func (resp Resp) DataString() string {
return gconv.String(resp.Data)
}
// 获取Data转Int
func (resp Resp) DataInt() int {
return gconv.Int(resp.Data)
}
// 获取Data值转字符串
func (resp Resp) GetString(key string) string {
return gconv.String(resp.Get(key))
}
// 获取Data值转Int
func (resp Resp) GetInt(key string) int {
return gconv.Int(resp.Get(key))
}
// 获取Data值
func (resp Resp) Get(key string) interface{} {
m := gconv.Map(resp.Data)
if m == nil {
return ""
}
return m[key]
}
func (resp Resp) Json() string {
str, _ := json.Marshal(resp)
return string(str)
}
// 成功
func Succ(data interface{}) Resp {
return Resp{SUCCESS, "success", data}
}
// 失败
func Fail(msg string) Resp {
return Resp{FAIL, msg, ""}
}
// 失败设置Data
func FailData(msg string, data interface{}) Resp {
return Resp{FAIL, msg, data}
}
// 错误
func Error(msg string) Resp {
return Resp{ERROR, msg, ""}
}
// 错误设置Data
func ErrorData(msg string, data interface{}) Resp {
return Resp{ERROR, msg, data}
}
// 认证失败
func Unauthorized(msg string, data interface{}) Resp {
return Resp{UNAUTHORIZED, msg, data}
}
================================================
FILE: module/home/config/router.go
================================================
package config
import (
"github.com/gogf/gf/frame/g"
"github.com/gogf/gf/net/ghttp"
"goadmin/module/home/controller"
)
func InitRouter() {
urlPath := g.Config().GetString("url-path")
s := g.Server()
s.Group(urlPath+"/dashboard", func(g *ghttp.RouterGroup) {
// 首页展示
dashboardController := new(controller.DashboardController)
g.ALL("dashboard", dashboardController)
g.GET("/", dashboardController.Index)
})
}
================================================
FILE: module/home/controller/dashboard_controller.go
================================================
package controller
import (
"github.com/gogf/gf/frame/g"
"github.com/gogf/gf/net/ghttp"
"goadmin/utils/base"
)
type DashboardController struct {
base.BaseRouter
}
func (controller *DashboardController) Index(r *ghttp.Request) {
base.WriteTpl(r, "home/index.html", g.Map{})
}
================================================
FILE: module/home/module.go
================================================
package home
import "goadmin/module/home/config"
func InitModule() {
config.InitRouter()
}
================================================
FILE: module/public/config/router.go
================================================
package config
import (
"github.com/gogf/gf/frame/g"
"goadmin/module/public/controller"
)
func InitRouter() {
urlPath := g.Config().GetString("url-path")
s := g.Server()
// 首页
s.BindHandler(urlPath+"/", controller.Login)
}
================================================
FILE: module/public/controller/login_controller.go
================================================
package controller
import (
"github.com/gogf/gf/crypto/gmd5"
"github.com/gogf/gf/frame/g"
"github.com/gogf/gf/net/ghttp"
"github.com/gogf/gf/os/glog"
"goadmin/middleware/rtoken"
"goadmin/module/public/model"
"goadmin/utils/base"
"goadmin/utils/bean"
)
// Login 登录页面
func Login(r *ghttp.Request) {
err := r.Response.WriteTpl("public/login.html", g.Map{})
if err != nil {
glog.Error(err)
}
}
// LoginSubmit 登录认证
func LoginSubmit(r *ghttp.Request) (string, interface{}) {
mobile := r.GetString("mobile")
password := r.GetString("password")
if mobile == "" || password == "" {
base.Fail(r, "手机号或者密码错误")
}
sysLoginUser := model.SysLoginUser{Mobile: mobile}.GetUserByMobile()
if sysLoginUser.Id <= 0 {
base.Fail(r, "手机号或者密码错误:"+mobile)
}
if sysLoginUser.Status <= 0 {
base.Fail(r, "账号状态异常,请联系管理员")
}
reqPassword, err := gmd5.Encrypt(password + sysLoginUser.Salt)
if err != nil {
glog.Error("login password encrypt error", err)
base.Error(r, "login password encrypt error")
}
if reqPassword != sysLoginUser.Password {
base.Fail(r, "用户名或者密码错误:"+mobile)
}
sessionUser := bean.SessionUser{
Id: sysLoginUser.Id,
Username: sysLoginUser.Username,
Mobile: sysLoginUser.Mobile,
}
return mobile, sessionUser
}
func LoginAfter(r *ghttp.Request, respData rtoken.Resp) {
r.Cookie.Set("token", respData.GetString("token"))
if !respData.Success() {
r.Response.WriteJson(respData)
} else {
r.Response.WriteJson(rtoken.Succ(g.Map{
"token": respData.GetString("token"),
}))
}
}
// 登出
func LogoutBefore(r *ghttp.Request) bool {
mobile := base.GetUser(r).Mobile
sysLoginUser := model.SysLoginUser{Mobile: mobile}.GetUserByMobile()
if sysLoginUser.Mobile != mobile {
// 登出用户不存在
glog.Warning("logout mobile error", mobile)
return false
}
r.Cookie.Remove("token")
return true
}
================================================
FILE: module/public/model/sys_login_user_model.go
================================================
/**
* @Author: Rocks
* @Email: 451360994@qq.com
* @Description:
* @File: sys_user_model
* @Version: 1.0.0
* @Date: 2019-11-04
*/
package model
import (
"github.com/gogf/gf/database/gdb"
"github.com/gogf/gf/frame/g"
"github.com/gogf/gf/os/glog"
)
import (
"github.com/gogf/gf/os/gtime"
)
type SysLoginUser struct {
Id int `orm:"id,primary" json:"Id" gconv:"Id,omitempty"`
Username string `orm:"username,unique" json:"Username" gconv:"Username,omitempty"`
Password string `orm:"password" json:"Password" gconv:"Password,omitempty"`
Salt string `orm:"salt" json:"Salt" gconv:"Salt,omitempty"`
Mobile string `orm:"mobile" json:"Mobile" gconv:"Mobile,omitempty"`
CreateTime *gtime.Time `orm:"create_time" json:"CreateTime" gconv:"CreateTime,omitempty"`
UpdateTime *gtime.Time `orm:"update_time" json:"UpdateTime" gconv:"UpdateTime,omitempty"`
Status int `orm:"status" json:"Status" gconv:"Status,omitempty"`
}
//根据手机号查询系统用户
func (model SysLoginUser) GetUserByMobile() SysLoginUser {
var resData SysLoginUser
err := model.dbModel("t").Where("mobile = ?", model.Mobile).Fields(model.columns()).Struct(&resData)
if err != nil {
glog.Error(model.TableName()+" get one error", err)
return SysLoginUser{}
}
return resData
}
//返回数据库SysUser
func (model SysLoginUser) dbModel(alias ...string) *gdb.Model {
var tmpAlias string
if len(alias) > 0 {
tmpAlias = " " + alias[0]
}
tableModel := g.DB("center").Table(model.TableName() + tmpAlias).Safe()
return tableModel
}
//返回主键SysUser
func (model SysLoginUser) PkVal() int {
return model.Id
}
//表名SysUser
func (model SysLoginUser) TableName() string {
return "sys_user"
}
//列名SysUser
func (model SysLoginUser) columns() string {
sqlColumns := "t.id as Id,t.username as Username,t.password as Password,t.salt as Salt,t.mobile as Mobile,t.create_time as CreateTime,t.update_time as UpdateTime,t.status as Status"
return sqlColumns
}
================================================
FILE: module/public/module.go
================================================
package public
import "goadmin/module/public/config"
func InitModule() {
config.InitRouter()
}
================================================
FILE: module/sys/config/router.go
================================================
/**
* @Author: Rocks
* @Email: 451360994@qq.com
* @Description:
* @File: router
* @Version: 1.0.0
* @Date: 2019-11-17
*/
package config
import (
"github.com/gogf/gf/frame/g"
"github.com/gogf/gf/net/ghttp"
"goadmin/module/sys/controller"
)
func InitRouter() {
urlPath := g.Config().GetString("url-path")
s := g.Server()
s.Group(urlPath+"/sys", func(g *ghttp.RouterGroup) {
sysConfigController := new(controller.SysConfigController)
g.ALL("/config", sysConfigController)
g.POST("/config/page", sysConfigController.Page)
g.GET("/config/get/{id}", sysConfigController.Get)
g.POST("/config/save", sysConfigController.Save)
g.POST("/config/update", sysConfigController.Update)
g.POST("/config/delete", sysConfigController.Delete)
sysOssController := new(controller.SysOssController)
g.ALL("/oss", sysOssController)
g.POST("/oss/page", sysOssController.Page)
g.GET("/oss/get/{id}", sysOssController.Get)
g.POST("/oss/save", sysOssController.Save)
g.POST("/oss/update", sysOssController.Update)
g.POST("/oss/delete", sysOssController.Delete)
g.GET("/oss/config/get", sysOssController.GetConfig)
g.POST("/oss/config/save", sysOssController.SaveConfig)
g.GET("/oss/upload", sysOssController.Upload)
sysUserController := new(controller.SysUserController)
g.ALL("/user", sysUserController)
g.POST("/user/page", sysUserController.Page)
g.GET("/user/get/{id}", sysUserController.Get)
g.POST("/user/save", sysUserController.Save)
g.POST("/user/update", sysUserController.Update)
g.POST("/user/delete", sysUserController.Delete)
})
}
================================================
FILE: module/sys/controller/sys_config_controller.go
================================================
/**
* @Author: Rocks
* @Email: 451360994@qq.com
* @Description:
* @File: sys_config_controller
* @Version: 1.0.0
* @Date: 2019-11-17
*/
package controller
import (
"github.com/gogf/gf/frame/g"
"github.com/gogf/gf/net/ghttp"
"github.com/gogf/gf/os/glog"
"github.com/gogf/gf/util/gconv"
"goadmin/module/sys/model"
"goadmin/utils/base"
)
type SysConfigController struct {
base.BaseRouter
}
var (
controllerNameSysConfig = "SysConfigController"
)
//SysConfig页面信息
func (controller *SysConfigController) Index(r *ghttp.Request) {
base.WriteTpl(r, "sys/config.html", g.Map{})
}
//获取SysConfig单条信息
func (controller *SysConfigController) Get(r *ghttp.Request) {
id := r.GetInt("id")
model := model.SysConfig{Id: id}.Get()
if model.Id <= 0 {
base.Fail(r, controllerNameSysConfig+" get fail")
}
base.Succ(r, model)
}
//根据id或者ids删除{.TplModelName}
func (controller *SysConfigController) Delete(r *ghttp.Request) {
ids := r.GetInts("ids")
for _, id := range ids {
model := model.SysConfig{Id: id}
model.Delete()
}
base.Succ(r, "")
}
//创建一条{.TplModelName}
func (controller *SysConfigController) Save(r *ghttp.Request) {
model := model.SysConfig{}
err := gconv.Struct(r.GetPostMap(), &model)
if err != nil {
glog.Error(controllerNameSysConfig+" save struct error", err)
base.Error(r, "save error")
}
var num int64
if model.Id <= 0 {
num = model.Insert()
} else {
num = model.Update()
}
if num <= 0 {
base.Fail(r, controllerNameSysConfig+" save fail")
}
base.Succ(r, "")
}
//更新一条{.TplModelName}
func (controller *SysConfigController) Update(r *ghttp.Request) {
model := model.SysConfig{}
err := gconv.Struct(r.GetPostMap(), &model)
if err != nil {
glog.Error(controllerNameSysConfig+" save struct error", err)
base.Error(r, "save error")
}
var num int64
if model.Id <= 0 {
num = model.Insert()
} else {
num = model.Update()
}
if num <= 0 {
base.Fail(r, controllerNameSysConfig+" save fail")
}
base.Succ(r, "")
}
//分页列表{.TplModelName}
func (controller *SysConfigController) Page(r *ghttp.Request) {
form := base.NewForm(r.GetQueryMap())
model := model.SysConfig{}
page := model.Page(&form)
base.Succ(r, g.Map{"list": page, "form": form})
}
================================================
FILE: module/sys/controller/sys_oss_controller.go
================================================
/**
* @Author: Rocks
* @Email: 451360994@qq.com
* @Description:
* @File: sys_oss_controller
* @Version: 1.0.0
* @Date: 2019-11-17
*/
package controller
import (
"github.com/aliyun/aliyun-oss-go-sdk/oss"
"github.com/gogf/gf/encoding/gjson"
"github.com/gogf/gf/frame/g"
"github.com/gogf/gf/net/ghttp"
"github.com/gogf/gf/os/gfile"
"github.com/gogf/gf/os/glog"
"github.com/gogf/gf/util/gconv"
"goadmin/module/sys/model"
"goadmin/utils/base"
"goadmin/utils/tools"
)
type SysOssController struct {
base.BaseRouter
}
var (
controllerNameSysOss = "SysOssController"
ossConfigKey = "CLOUD_STORAGE_CONFIG_KEY"
)
//SysOss页面信息
func (controller *SysOssController) Index(r *ghttp.Request) {
base.WriteTpl(r, "sys/oss.html", g.Map{})
}
//获取SysOss单条信息
func (controller *SysOssController) Get(r *ghttp.Request) {
id := r.GetInt("id")
model := model.SysOss{Id: id}.Get()
if model.Id <= 0 {
base.Fail(r, controllerNameSysOss+" get fail")
}
base.Succ(r, model)
}
//根据id或者ids删除{.TplModelName}
func (controller *SysOssController) Delete(r *ghttp.Request) {
ids := r.GetInts("ids")
for _, id := range ids {
model := model.SysOss{Id: id}
model.Delete()
}
base.Succ(r, "")
}
//创建一条{.TplModelName}
func (controller *SysOssController) Save(r *ghttp.Request) {
model := model.SysOss{}
err := gconv.Struct(r.GetPostMap(), &model)
if err != nil {
glog.Error(controllerNameSysOss+" save struct error", err)
base.Error(r, "save error")
}
var num int64
if model.Id <= 0 {
num = model.Insert()
} else {
num = model.Update()
}
if num <= 0 {
base.Fail(r, controllerNameSysOss+" save fail")
}
base.Succ(r, "")
}
//更新一条{.TplModelName}
func (controller *SysOssController) Update(r *ghttp.Request) {
model := model.SysOss{}
err := gconv.Struct(r.GetPostMap(), &model)
if err != nil {
glog.Error(controllerNameSysOss+" save struct error", err)
base.Error(r, "save error")
}
var num int64
if model.Id <= 0 {
num = model.Insert()
} else {
num = model.Update()
}
if num <= 0 {
base.Fail(r, controllerNameSysOss+" save fail")
}
base.Succ(r, "")
}
//分页列表{.TplModelName}
func (controller *SysOssController) Page(r *ghttp.Request) {
form := base.NewForm(r.GetQueryMap())
model := model.SysOss{}
page := model.Page(&form)
base.Succ(r, g.Map{"list": page, "form": form})
}
//获取OSS的Config
func (controller *SysOssController) GetConfig(r *ghttp.Request) {
model := model.SysConfig{ParamKey: ossConfigKey}.GetByKey()
if model.Id <= 0 {
base.Fail(r, controllerNameSysConfig+" get fail")
}
base.Succ(r, model)
}
//保存OSS的Config
func (controller *SysOssController) SaveConfig(r *ghttp.Request) {
model := model.SysConfig{}
err := gconv.Struct(r.GetPostMap(), &model)
if err != nil {
glog.Error(controllerNameSysOss+" save struct error", err)
base.Error(r, "save error")
}
model.ParamKey = ossConfigKey
model.Remark = "云存储配置信息"
model.Status = 0
var num int64
if model.Id <= 0 {
num = model.Insert()
} else {
num = model.UpdateByKey()
}
if num <= 0 {
base.Fail(r, controllerNameSysConfig+" save fail")
}
base.Succ(r, "")
}
//上传文件
func (controller *SysOssController) Upload(r *ghttp.Request) {
if f, h, e := r.FormFile("upload-file"); e == nil {
defer f.Close()
ossConfig := tools.GetCache(ossConfigKey)
if ossConfig == nil || ossConfig == "" {
model := model.SysConfig{ParamKey: ossConfigKey}.GetByKey()
if model.Id <= 0 {
base.Fail(r, controllerNameSysConfig+" get fail")
}
ossConfig = model.ParamValue
}
configModel := model.SysOssCloud{}
err := gjson.DecodeTo(ossConfig, &configModel)
if err != nil {
base.Fail(r, "解析错误")
}
client, err := oss.New(configModel.AliyunEndPoint, configModel.AliyunAccessKeyId, configModel.AliyunAccessKeySecret)
if err != nil {
base.Fail(r, "上传配置错误")
}
bucket, err := client.Bucket(configModel.AliyunBucketName)
if err != nil {
base.Fail(r, "选择bucket错误")
}
name := "file" + gfile.Separator + gconv.String(tools.GetId(2)) + "." + gfile.ExtName(h.Filename)
err = bucket.PutObject(name, f)
if err != nil {
base.Fail(r, "存储错误")
}
model := model.SysOss{}
model.Url = g.Config().GetString("setting.cdn") + name
var num int64
num = model.Insert()
if num <= 0 {
base.Fail(r, "存入数据库失败")
}
base.Succ(r, model)
} else {
r.Response.Write(e.Error())
}
}
================================================
FILE: module/sys/controller/sys_user_controller.go
================================================
/**
* @Author: Rocks
* @Email: 451360994@qq.com
* @Description:
* @File: sys_user_controller
* @Version: 1.0.0
* @Date: 2019-11-17
*/
package controller
import (
"github.com/gogf/gf/crypto/gmd5"
"github.com/gogf/gf/frame/g"
"github.com/gogf/gf/net/ghttp"
"github.com/gogf/gf/os/glog"
"github.com/gogf/gf/util/gconv"
"goadmin/module/sys/model"
"goadmin/utils/base"
"goadmin/utils/tools"
)
type SysUserController struct {
base.BaseRouter
}
var (
controllerNameSysUser = "SysUserController"
)
//SysUser页面信息
func (controller *SysUserController) Index(r *ghttp.Request) {
base.WriteTpl(r, "sys/user.html", g.Map{})
}
//获取SysUser单条信息
func (controller *SysUserController) Get(r *ghttp.Request) {
id := r.GetInt("id")
model := model.SysUser{Id: id}.Get()
if model.Id <= 0 {
base.Fail(r, controllerNameSysUser+" get fail")
}
base.Succ(r, model)
}
//根据id或者ids删除{.TplModelName}
func (controller *SysUserController) Delete(r *ghttp.Request) {
ids := r.GetInts("ids")
for _, id := range ids {
model := model.SysUser{Id: id}
model.Delete()
}
base.Succ(r, "")
}
//创建一条{.TplModelName}
func (controller *SysUserController) Save(r *ghttp.Request) {
model := model.SysUser{}
err := gconv.Struct(r.GetPostMap(), &model)
if err != nil {
glog.Error(controllerNameSysUser+" save struct error", err)
base.Error(r, "save error")
}
model.Salt = gconv.String(tools.GetId(1))
if model.Password == "" {
base.Error(r, "请输入密码")
}
model.Password, err = gmd5.Encrypt(model.Password + model.Salt)
if err != nil {
glog.Error(controllerNameSysUser+" save struct error", err)
base.Error(r, "加密错误")
}
var num int64
if model.Id <= 0 {
num = model.Insert()
} else {
num = model.Update()
}
if num <= 0 {
base.Fail(r, controllerNameSysUser+" save fail")
}
base.Succ(r, "")
}
//更新一条{.TplModelName}
func (controller *SysUserController) Update(r *ghttp.Request) {
model := model.SysUser{}
err := gconv.Struct(r.GetPostMap(), &model)
if err != nil {
glog.Error(controllerNameSysUser+" save struct error", err)
base.Error(r, "save error")
}
model.Salt = gconv.String(tools.GetId(1))
if model.Password == "" {
base.Error(r, "请输入密码")
}
model.Password, err = gmd5.Encrypt(model.Password + model.Salt)
if err != nil {
glog.Error(controllerNameSysUser+" save struct error", err)
base.Error(r, "加密错误")
}
var num int64
if model.Id <= 0 {
num = model.Insert()
} else {
num = model.Update()
}
if num <= 0 {
base.Fail(r, controllerNameSysUser+" save fail")
}
base.Succ(r, "")
}
//分页列表{.TplModelName}
func (controller *SysUserController) Page(r *ghttp.Request) {
form := base.NewForm(r.GetQueryMap())
model := model.SysUser{}
page := model.Page(&form)
base.Succ(r, g.Map{"list": page, "form": form})
}
================================================
FILE: module/sys/model/sys_config_model.go
================================================
/**
* @Author: Rocks
* @Email: 451360994@qq.com
* @Description:
* @File: sys_config_model
* @Version: 1.0.0
* @Date: 2019-11-17
*/
package model
import (
"github.com/gogf/gf/database/gdb"
"github.com/gogf/gf/frame/g"
"github.com/gogf/gf/os/glog"
"github.com/gogf/gf/util/gconv"
"goadmin/utils/base"
"goadmin/utils/tools"
)
import (
"github.com/gogf/gf/os/gtime"
)
type SysConfig struct {
Id int `orm:"id,primary" json:"Id" gconv:"Id,omitempty"`
ParamKey string `orm:"param_key,unique" json:"ParamKey" gconv:"ParamKey,omitempty"`
ParamValue string `orm:"param_value" json:"ParamValue" gconv:"ParamValue,omitempty"`
Remark string `orm:"remark" json:"Remark" gconv:"Remark,omitempty"`
CreateTime *gtime.Time `orm:"create_time" json:"CreateTime" gconv:"CreateTime,omitempty"`
UpdateTime *gtime.Time `orm:"update_time" json:"UpdateTime" gconv:"UpdateTime,omitempty"`
Status int `orm:"status" json:"Status" gconv:"Status,omitempty"`
}
//创建mSysConfig
func (model *SysConfig) Insert() int64 {
model.CreateTime = gtime.Now()
model.UpdateTime = gtime.Now()
model.Status = 1
r, err := model.dbModel().Data(model).Insert()
if err != nil {
glog.Error(model.TableName()+" insert error", err)
return 0
}
res, err2 := r.RowsAffected()
if err2 != nil {
glog.Error(model.TableName()+" insert res error", err2)
return 0
} else if res > 0 {
lastId, err2 := r.LastInsertId()
if err2 != nil {
glog.Error(model.TableName()+" LastInsertId res error", err2)
return 0
} else {
model.Id = gconv.Int(lastId)
}
}
tools.SetCache(model.ParamKey, model.ParamValue)
return res
}
//删除SysConfig
func (model SysConfig) Delete() int64 {
if model.Id <= 0 {
glog.Error(model.TableName() + " delete id error")
return 0
}
r, err := model.dbModel().Where(" id = ?", model.Id).Delete()
if err != nil {
glog.Error(model.TableName()+" delete error", err)
return 0
}
res, err2 := r.RowsAffected()
if err2 != nil {
glog.Error(model.TableName()+" delete res error", err2)
return 0
}
tools.DelCache(model.ParamKey)
return res
}
//更新SysConfig
func (model *SysConfig) Update() int64 {
model.UpdateTime = gtime.Now()
r, err := model.dbModel().Data(model).Where(" id = ?", model.Id).Update()
if err != nil {
glog.Error(model.TableName()+" update error", err)
return 0
}
res, err2 := r.RowsAffected()
if err2 != nil {
glog.Error(model.TableName()+" update res error", err2)
return 0
}
tools.SetCache(model.ParamKey, model.ParamValue)
return res
}
func (model *SysConfig) UpdateByKey() int64 {
model.UpdateTime = gtime.Now()
r, err := model.dbModel().Data(model).Where(" param_key = ?", model.ParamKey).Update()
if err != nil {
glog.Error(model.TableName()+" update error", err)
return 0
}
res, err2 := r.RowsAffected()
if err2 != nil {
glog.Error(model.TableName()+" update res error", err2)
return 0
}
tools.SetCache(model.ParamKey, model.ParamValue)
return res
}
//根据Key查询SysConfig
func (model SysConfig) GetByKey() SysConfig {
if model.ParamKey == "" {
glog.Error("根据KEY获取配置失败")
return SysConfig{}
}
var resData SysConfig
err := model.dbModel("t").Where(" param_key = ?", model.ParamKey).Fields(model.columns()).Struct(&resData)
if err != nil {
glog.Error(model.TableName()+" get one error", err)
return SysConfig{}
}
return resData
}
//根据ID查询SysConfig
func (model SysConfig) Get() SysConfig {
if model.Id <= 0 {
glog.Error(model.TableName() + " get id error")
return SysConfig{}
}
var resData SysConfig
err := model.dbModel("t").Where(" id = ? and status=1", model.Id).Fields(model.columns()).Struct(&resData)
if err != nil {
glog.Error(model.TableName()+" get one error", err)
return SysConfig{}
}
return resData
}
//分页查询SysConfig
func (model SysConfig) Page(form *base.BaseForm) []SysConfig {
if form.Page <= 0 || form.Rows <= 0 {
glog.Error(model.TableName()+" page param error", form.Page, form.Rows)
return []SysConfig{}
}
where := " status = 1 "
var params []interface{}
if form.Params != nil && form.Params["name"] != "" {
where += " and name like ? "
params = append(params, "%"+form.Params["name"]+"%")
}
num, err := model.dbModel("t").Where(where, params).Count()
form.TotalSize = num
form.TotalPage = num / form.Rows
// 没有数据直接返回
if num == 0 {
form.TotalPage = 0
form.TotalSize = 0
return []SysConfig{}
}
var resData []SysConfig
pageNum, pageSize := (form.Page-1)*form.Rows, form.Rows
dbModel := model.dbModel("t").Fields(model.columns()).Fields(model.columns())
err = dbModel.Where(where, params).Limit(pageNum, pageSize).OrderBy(form.OrderBy).Structs(&resData)
if err != nil {
glog.Error(model.TableName()+" page list error", err)
return []SysConfig{}
}
return resData
}
//返回数据库SysConfig
func (model SysConfig) dbModel(alias ...string) *gdb.Model {
var tmpAlias string
if len(alias) > 0 {
tmpAlias = " " + alias[0]
}
tableModel := g.DB("center").Table(model.TableName() + tmpAlias).Safe()
return tableModel
}
//返回主键SysConfig
func (model SysConfig) PkVal() int {
return model.Id
}
//表名SysConfig
func (model SysConfig) TableName() string {
return "sys_config"
}
//列名SysConfig
func (model SysConfig) columns() string {
sqlColumns := "t.create_time as CreateTime,t.update_time as UpdateTime,t.status as Status,t.id as Id,t.param_key as ParamKey,t.param_value as ParamValue,t.remark as Remark"
return sqlColumns
}
================================================
FILE: module/sys/model/sys_oss_cloud.go
================================================
package model
type SysOssCloud struct {
AliyunDomain string `json:"aliyunDomain" gconv:"AliyunDomain,omitempty"`
AliyunEndPoint string `json:"aliyunEndPoint" gconv:"AliyunEndPoint,omitempty"`
AliyunAccessKeyId string `json:"aliyunAccessKeyId" gconv:"AliyunAccessKeyId,omitempty"`
AliyunAccessKeySecret string `json:"aliyunAccessKeySecret" gconv:"AliyunAccessKeySecret,omitempty"`
AliyunBucketName string `json:"aliyunBucketName" gconv:"AliyunBucketName,omitempty"`
}
================================================
FILE: module/sys/model/sys_oss_model.go
================================================
/**
* @Author: Rocks
* @Email: 451360994@qq.com
* @Description:
* @File: sys_oss_model
* @Version: 1.0.0
* @Date: 2019-11-17
*/
package model
import (
"github.com/gogf/gf/database/gdb"
"github.com/gogf/gf/frame/g"
"github.com/gogf/gf/os/glog"
"github.com/gogf/gf/util/gconv"
"goadmin/utils/base"
)
import (
"github.com/gogf/gf/os/gtime"
)
type SysOss struct {
Id int `orm:"id,primary" json:"Id" gconv:"Id,omitempty"`
Url string `orm:"url" json:"Url" gconv:"Url,omitempty"`
CreateTime *gtime.Time `orm:"create_time" json:"CreateTime" gconv:"CreateTime,omitempty"`
UpdateTime *gtime.Time `orm:"update_time" json:"UpdateTime" gconv:"UpdateTime,omitempty"`
Status int `orm:"status" json:"Status" gconv:"Status,omitempty"`
}
//创建mSysOss
func (model *SysOss) Insert() int64 {
model.CreateTime = gtime.Now()
model.UpdateTime = gtime.Now()
model.Status = 1
r, err := model.dbModel().Data(model).Insert()
if err != nil {
glog.Error(model.TableName()+" insert error", err)
return 0
}
res, err2 := r.RowsAffected()
if err2 != nil {
glog.Error(model.TableName()+" insert res error", err2)
return 0
} else if res > 0 {
lastId, err2 := r.LastInsertId()
if err2 != nil {
glog.Error(model.TableName()+" LastInsertId res error", err2)
return 0
} else {
model.Id = gconv.Int(lastId)
}
}
return res
}
//删除SysOss
func (model SysOss) Delete() int64 {
if model.Id <= 0 {
glog.Error(model.TableName() + " delete id error")
return 0
}
r, err := model.dbModel().Where(" id = ?", model.Id).Delete()
if err != nil {
glog.Error(model.TableName()+" delete error", err)
return 0
}
res, err2 := r.RowsAffected()
if err2 != nil {
glog.Error(model.TableName()+" delete res error", err2)
return 0
}
return res
}
//更新SysOss
func (model *SysOss) Update() int64 {
model.UpdateTime = gtime.Now()
r, err := model.dbModel().Data(model).Where(" id = ?", model.Id).Update()
if err != nil {
glog.Error(model.TableName()+" update error", err)
return 0
}
res, err2 := r.RowsAffected()
if err2 != nil {
glog.Error(model.TableName()+" update res error", err2)
return 0
}
return res
}
//根据ID查询SysOss
func (model SysOss) Get() SysOss {
if model.Id <= 0 {
glog.Error(model.TableName() + " get id error")
return SysOss{}
}
var resData SysOss
err := model.dbModel("t").Where(" id = ? and status=1", model.Id).Fields(model.columns()).Struct(&resData)
if err != nil {
glog.Error(model.TableName()+" get one error", err)
return SysOss{}
}
return resData
}
//分页查询SysOss
func (model SysOss) Page(form *base.BaseForm) []SysOss {
if form.Page <= 0 || form.Rows <= 0 {
glog.Error(model.TableName()+" page param error", form.Page, form.Rows)
return []SysOss{}
}
where := " status= 1 "
var params []interface{}
if form.Params != nil && form.Params["name"] != "" {
where += " and name like ? "
params = append(params, "%"+form.Params["name"]+"%")
}
num, err := model.dbModel("t").Where(where, params).Count()
form.TotalSize = num
form.TotalPage = num / form.Rows
// 没有数据直接返回
if num == 0 {
form.TotalPage = 0
form.TotalSize = 0
return []SysOss{}
}
var resData []SysOss
pageNum, pageSize := (form.Page-1)*form.Rows, form.Rows
dbModel := model.dbModel("t").Fields(model.columns()).Fields(model.columns())
err = dbModel.Where(where, params).Limit(pageNum, pageSize).OrderBy(form.OrderBy).Structs(&resData)
if err != nil {
glog.Error(model.TableName()+" page list error", err)
return []SysOss{}
}
return resData
}
//返回数据库SysOss
func (model SysOss) dbModel(alias ...string) *gdb.Model {
var tmpAlias string
if len(alias) > 0 {
tmpAlias = " " + alias[0]
}
tableModel := g.DB("center").Table(model.TableName() + tmpAlias).Safe()
return tableModel
}
//返回主键SysOss
func (model SysOss) PkVal() int {
return model.Id
}
//表名SysOss
func (model SysOss) TableName() string {
return "sys_oss"
}
//列名SysOss
func (model SysOss) columns() string {
sqlColumns := "t.id as Id,t.url as Url,t.create_time as CreateTime,t.update_time as UpdateTime,t.status as Status"
return sqlColumns
}
================================================
FILE: module/sys/model/sys_user_model.go
================================================
/**
* @Author: Rocks
* @Email: 451360994@qq.com
* @Description:
* @File: sys_user_model
* @Version: 1.0.0
* @Date: 2019-11-17
*/
package model
import (
"fmt"
"github.com/gogf/gf/database/gdb"
"github.com/gogf/gf/frame/g"
"github.com/gogf/gf/os/glog"
"github.com/gogf/gf/util/gconv"
"goadmin/utils/base"
)
import (
"github.com/gogf/gf/os/gtime"
)
type SysUser struct {
Id int `orm:"id,primary" json:"Id" gconv:"Id,omitempty"`
Username string `orm:"username,unique" json:"Username" gconv:"Username,omitempty"`
Password string `orm:"password" json:"Password" gconv:"Password,omitempty"`
Salt string `orm:"salt" json:"Salt" gconv:"Salt,omitempty"`
Mobile string `orm:"mobile" json:"Mobile" gconv:"Mobile,omitempty"`
CreateTime *gtime.Time `orm:"create_time" json:"CreateTime" gconv:"CreateTime,omitempty"`
UpdateTime *gtime.Time `orm:"update_time" json:"UpdateTime" gconv:"UpdateTime,omitempty"`
Status int `orm:"status" json:"Status" gconv:"Status,omitempty"`
}
//创建mSysUser
func (model *SysUser) Insert() int64 {
model.CreateTime = gtime.Now()
model.UpdateTime = gtime.Now()
model.Status = 1
r, err := model.dbModel().Data(model).Insert()
if err != nil {
glog.Error(model.TableName()+" insert error", err)
return 0
}
res, err2 := r.RowsAffected()
if err2 != nil {
glog.Error(model.TableName()+" insert res error", err2)
return 0
} else if res > 0 {
lastId, err2 := r.LastInsertId()
if err2 != nil {
glog.Error(model.TableName()+" LastInsertId res error", err2)
return 0
} else {
model.Id = gconv.Int(lastId)
}
}
return res
}
//删除SysUser
func (model SysUser) Delete() int64 {
if model.Id <= 0 {
glog.Error(model.TableName() + " delete id error")
return 0
}
r, err := model.dbModel().Where(" id = ?", model.Id).Delete()
if err != nil {
glog.Error(model.TableName()+" delete error", err)
return 0
}
res, err2 := r.RowsAffected()
if err2 != nil {
glog.Error(model.TableName()+" delete res error", err2)
return 0
}
return res
}
//更新SysUser
func (model *SysUser) Update() int64 {
model.UpdateTime = gtime.Now()
r, err := model.dbModel().Data(model).Where(" id = ?", model.Id).Update()
if err != nil {
glog.Error(model.TableName()+" update error", err)
return 0
}
res, err2 := r.RowsAffected()
if err2 != nil {
glog.Error(model.TableName()+" update res error", err2)
return 0
}
return res
}
//根据ID查询SysUser
func (model SysUser) Get() SysUser {
if model.Id <= 0 {
glog.Error(model.TableName() + " get id error")
return SysUser{}
}
var resData SysUser
err := model.dbModel("t").Where(" id = ? and status=1", model.Id).Fields(model.columns()).Struct(&resData)
if err != nil {
glog.Error(model.TableName()+" get one error", err)
return SysUser{}
}
return resData
}
//分页查询SysUser
func (model SysUser) Page(form *base.BaseForm) []SysUser {
if form.Page <= 0 || form.Rows <= 0 {
glog.Error(model.TableName()+" page param error", form.Page, form.Rows)
return []SysUser{}
}
where := " status = 1 "
var params []interface{}
if form.Params != nil && form.Params["name"] != "" {
where += " and name like ? "
params = append(params, "%"+form.Params["name"]+"%")
}
num, err := model.dbModel("t").Where(where, params).Count()
form.TotalSize = num
form.TotalPage = num / form.Rows
// 没有数据直接返回
if num == 0 {
form.TotalPage = 0
form.TotalSize = 0
return []SysUser{}
}
var resData []SysUser
fmt.Println("当前排序:%s", form.OrderBy)
pageNum, pageSize := (form.Page-1)*form.Rows, form.Rows
dbModel := model.dbModel("t").Fields(model.columns()).Fields(model.columns())
err = dbModel.Where(where, params).Limit(pageNum, pageSize).OrderBy(form.OrderBy).Structs(&resData)
if err != nil {
glog.Error(model.TableName()+" page list error", err)
return []SysUser{}
}
return resData
}
//返回数据库SysUser
func (model SysUser) dbModel(alias ...string) *gdb.Model {
var tmpAlias string
if len(alias) > 0 {
tmpAlias = " " + alias[0]
}
tableModel := g.DB("center").Table(model.TableName() + tmpAlias).Safe()
return tableModel
}
//返回主键SysUser
func (model SysUser) PkVal() int {
return model.Id
}
//表名SysUser
func (model SysUser) TableName() string {
return "sys_user"
}
//列名SysUser
func (model SysUser) columns() string {
sqlColumns := "t.id as Id,t.username as Username,t.password as Password,t.salt as Salt,t.mobile as Mobile,t.create_time as CreateTime,t.update_time as UpdateTime,t.status as Status"
return sqlColumns
}
================================================
FILE: module/sys/module.go
================================================
/**
* @Author: Rocks
* @Email: 451360994@qq.com
* @Description:
* @File: module
* @Version: 1.0.0
* @Date: 2019-11-17
*/
package sys
import "goadmin/module/sys/config"
func InitModule() {
config.InitRouter()
}
================================================
FILE: public/modules/common.js
================================================
//bootstrap-table配置
var baseURL = "http://localhost:8192/";
//工具集合Tools
window.T = {};
// 获取请求参数
// 使用示例
// location.href = http://localhost:8080/index.html?id=123
// T.p('id') --> 123;
var url = function (name) {
var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)");
var r = window.location.search.substr(1).match(reg);
if (r != null) return unescape(r[2]);
return null;
};
T.p = url;
//全局配置
$.ajaxSetup({
dataType: "json",
cache: false
});
//重写alert
window.alert = function (msg, callback) {
top.swal({
text: msg,
icon: "error",
buttons: false,
timer:2000,
}).then((isConfirm) => {
if (isConfirm) {
if (typeof (callback) === "function") {
callback("ok");
}
}
});
}
//重写confirm式样框
window.confirm = function (msg, callback) {
top.swal({
text: msg,
icon: "warning",
buttons: ["取消", "确定"],
closeModal: true,
}).then((isConfirm) => {
if (isConfirm) {
if (typeof (callback) === "function") {
callback("ok");
}
}
});
}
//选择一条记录
function getSelectedRow() {
var grid = $("#table");
var rowKey = grid.getGridParam("selrow");
if (!rowKey) {
alert("请选择一条记录");
return;
}
var selectedIDs = grid.getGridParam("selarrrow");
if (selectedIDs.length > 1) {
alert("只能选择一条记录");
return;
}
return selectedIDs[0];
}
//选择多条记录
//选择多条记录
function getSelectedRows() {
var selected = $("#table").bootstrapTable('getSelections');
var ids = new Array();
for (var i = 0; i < selected.length; i++) {
ids[i] = selected[i].Id;
}
if (ids.length == 0) {
alert("请选择记录");
}
console.log(ids);
return ids;
}
//判断是否为空
function isBlank(value) {
return !value || !/\S/.test(value)
}
================================================
FILE: public/modules/sys/config.js
================================================
$(function () {
function addButtonFunc(value, row, index) {
return [
'<div id="editButton" class="badge badge-success m-1"><i class="far fa-edit mr-1"></i>编辑</div>',
'<div id="deleteButton" class="badge badge-danger m-1"> <i class="fas fa-times mr-1"></i>删除</div>',
].join('');
}
window.operateEvents = {
'click #editButton': function (e, value, row, index) {
vm.update(row.Id);
}, 'click #deleteButton': function (e, value, row, index) {
vm.del(row.Id);
}
};
$('#table').bootstrapTable({
url: baseURL + 'sys/config/page',
method: "GET",
striped: true,
cache: false,
pagination: true,
pageList: [20, 40, 60, 100],
pageSize: 20,
pageNumber: 1,
sortName: "id",
sortOrder: "desc",
sidePagination: 'server',
search: false,
uniqueId: "Id",
silent: true,
classes: "table table-hover",
paginationHAlign: "left",
paginationDetailHAlign: "right",
queryParams: queryParams,
responseHandler: function (res) {
return {
"total": res.data.form.TotalSize,
"rows": res.data.list
};
},
onLoadSuccess: function () {
},
onLoadError: function () {
alert("数据加载失败!");
},
columns: [{
checkbox: true,
visible: true
},
{
field: 'Id',
title: 'ID'
},
{
field: 'ParamKey',
title: '参数名'
},
{
field: 'ParamValue',
title: '参数值'
},
{
field: 'Remark',
title: '备注'
},
{
field: 'operate',
title: '操作',
events: operateEvents,
formatter: addButtonFunc
}
]
});
function queryParams(params) {
var temp = {
offset: params.offset,
limit: params.limit,
search: $(".search-input").val(),
rows: params.limit,
page: (params.offset / params.limit) + 1,
sort: params.sort,
sortOrder: params.order
};
return temp;
};
$("#search-btn").click(function () {
$('#table').bootstrapTable('refresh');
});
});
var vm = new Vue({
el: '#rrapp',
data: {
showList: true,
title: null,
sysconfig:{
}
},
methods: {
query: function () {
vm.reload();
},
add: function () {
vm.showList = false;
vm.title = "新增";
vm.sysconfig= {};
},
update: function (Id) {
if (Id == null) {
return;
}
vm.showList = false;
vm.title = "修改";
vm.getInfo(Id)
},
saveOrUpdate: function (event) {
$('#btnSaveOrUpdate').button('loading').delay(1000).queue(function () {
var url = vm.sysconfig.Id ==null ? "sys/config/save" : "sys/config/update";
$.ajax({
type: "POST",
url: baseURL + url,
data: vm.sysconfig,
success: function (r) {
if (r.code === 0) {
swal({
text: "操作成功",
icon: "success",
buttons: false,
timer: 2000,
});
vm.reload();
$('#btnSaveOrUpdate').button('reset');
$('#btnSaveOrUpdate').dequeue();
} else {
swal({
text: r.msg,
icon: "error",
buttons: false,
timer: 2000,
});
$('#btnSaveOrUpdate').button('reset');
$('#btnSaveOrUpdate').dequeue();
}
}
})
;
});
},
del: function (Id) {
var Ids = [Id];
var lock = false;
top.swal({
title: "确定要删除该记录?",
icon: "warning",
buttons: ["取消", "确定"],
closeModal: true,
}).then((isConfirm) => {
if (isConfirm) {
top.swal.close();
if (!lock) {
lock = true;
$.ajax({
type: "POST",
url: baseURL + "sys/config/delete",
data: {ids: Ids},
success: function (r) {
if (r.code == 0) {
swal({
text: "删除成功",
icon: "success",
buttons: false,
timer: 2000,
});
$('#table').bootstrapTable('refresh');
} else {
swal({
text: r.msg,
icon: "error",
buttons: false,
timer: 2000,
});
}
}
});
}
}else {
top.swal.close();
}
});
},
bulkdel: function (event) {
var Ids = getSelectedRows();
if (Ids == null || Ids.length == 0) {
return;
}
var lock = false;
top.swal({
title: "确定要删除该记录?",
icon: "warning",
buttons: ["取消", "确定"],
closeModal: true,
}).then((isConfirm) => {
if (isConfirm) {
top.swal.close();
if (!lock) {
lock = true;
$.ajax({
type: "POST",
url: baseURL + "sys/config/delete",
data: {ids: Ids},
success: function (r) {
if (r.code == 0) {
swal({
text: "删除成功",
icon: "success",
buttons: false,
timer: 2000,
});
$('#table').bootstrapTable('refresh');
} else {
swal({
text: r.msg,
icon: "error",
buttons: false,
timer: 2000,
});
}
}
});
}
}else {
top.swal.close();
}
});
},
getInfo: function (Id) {
$.get(baseURL + "sys/config/get/" +Id, function (r) {
vm.sysconfig= r.data;
});
},
reload: function (event) {
vm.showList = true;
$('#table').bootstrapTable('refresh');
}
}
})
;
================================================
FILE: public/modules/sys/oss.js
================================================
$(function () {
function addButtonFunc(value, row, index) {
return '<div id="deleteButton" class="badge badge-danger m-1"> <i class="fas fa-times mr-1"></i>删除</div>';
}
window.operateEvents = {
'click #deleteButton': function (e, value, row, index) {
vm.del(row.Id);
}
};
$('#table').bootstrapTable({
url: baseURL + 'sys/oss/page',
method: "GET",
striped: true,
cache: false,
pagination: true,
pageList: [20, 40, 60, 100],
pageSize: 20,
pageNumber: 1,
sortName: "id",
sortOrder: "desc",
sidePagination: 'server',
search: false,
uniqueId: "Id",
silent: true,
classes: "table table-hover",
paginationHAlign: "left",
paginationDetailHAlign: "right",
queryParams: queryParams,
responseHandler: function (res) {
return {
"total": res.data.form.TotalSize,
"rows": res.data.list
};
},
onLoadSuccess: function () {
},
onLoadError: function () {
alert("数据加载失败!");
},
columns: [{
checkbox: true,
visible: true
},
{
field: 'Id',
title: 'ID'
},
{
field: 'Url',
title: '地址'
},
{
field: 'operate',
title: '操作',
events: operateEvents,
formatter: addButtonFunc
}
]
});
function queryParams(params) {
var temp = {
offset: params.offset,
limit: params.limit,
search: $(".search-input").val(),
rows: params.limit,
page: (params.offset / params.limit) + 1,
sort: params.sort,
sortOrder: params.order
};
return temp;
};
$("#search-btn").click(function () {
$('#table').bootstrapTable('refresh');
});
new AjaxUpload('#upload', {
action: baseURL + "sys/oss/upload",
name: 'upload-file',
autoSubmit: true,
responseType: "json",
onSubmit: function (file, extension) {
if (vm.ParamValue == null) {
alert("云存储配置未配置");
return false;
}
if (!(extension && /^(jpg|jpeg|png|gif)$/.test(extension.toLowerCase()))) {
alert('只支持jpg、png、gif格式的图片!');
return false;
}
},
onComplete: function (file, r) {
if (r.code == 0) {
vm.reload();
} else {
alert(r.msg);
}
}
});
});
var vm = new Vue({
el: '#rrapp',
data: {
showList: true,
title: null,
sysoss: {},
config: {
ParamValue: {},
},
ParamValue: {}
},
created: function () {
this.getConfig();
},
methods: {
query: function () {
vm.reload();
},
edit: function () {
vm.showList = false;
vm.title = "修改配置";
vm.config = {};
vm.getConfig()
},
upload: function () {
vm.title = "修改配置";
},
saveConfig: function (event) {
$('#btnSaveOrUpdate').button('loading').delay(1000).queue(function () {
var url = "sys/oss/config/save";
vm.config.ParamValue = JSON.stringify(vm.ParamValue)
$.ajax({
type: "POST",
url: baseURL + url,
data: vm.config,
success: function (r) {
if (r.code === 0) {
swal({
text: "操作成功",
icon: "success",
buttons: false,
timer: 2000,
});
vm.reload();
$('#btnSaveOrUpdate').button('reset');
$('#btnSaveOrUpdate').dequeue();
} else {
swal({
text: r.msg,
icon: "error",
buttons: false,
timer: 2000,
});
$('#btnSaveOrUpdate').button('reset');
$('#btnSaveOrUpdate').dequeue();
}
}
})
;
});
},
del: function (Id) {
var Ids = [Id];
var lock = false;
top.swal({
title: "确定要删除该记录?",
icon: "warning",
buttons: ["取消", "确定"],
closeModal: true,
}).then((isConfirm) => {
if (isConfirm) {
top.swal.close();
if (!lock) {
lock = true;
$.ajax({
type: "POST",
url: baseURL + "sys/oss/delete",
data: {ids: Ids},
success: function (r) {
if (r.code == 0) {
swal({
text: "删除成功",
icon: "success",
buttons: false,
timer: 2000,
});
$('#table').bootstrapTable('refresh');
} else {
swal({
text: r.msg,
icon: "error",
buttons: false,
timer: 2000,
});
}
}
});
}
} else {
top.swal.close();
}
});
},
bulkdel: function (event) {
var Ids = getSelectedRows();
if (Ids == null || Ids.length == 0) {
return;
}
var lock = false;
top.swal({
title: "确定要删除该记录?",
icon: "warning",
buttons: ["取消", "确定"],
closeModal: true,
}).then((isConfirm) => {
if (isConfirm) {
top.swal.close();
if (!lock) {
lock = true;
$.ajax({
type: "POST",
url: baseURL + "sys/oss/delete",
data: {ids: Ids},
success: function (r) {
if (r.code == 0) {
swal({
text: "删除成功",
icon: "success",
buttons: false,
timer: 2000,
});
$('#table').bootstrapTable('refresh');
} else {
swal({
text: r.msg,
icon: "error",
buttons: false,
timer: 2000,
});
}
}
});
}
} else {
top.swal.close();
}
});
},
getConfig: function () {
$.get(baseURL + "sys/oss/config/get", function (r) {
vm.config = r.data
vm.ParamValue = JSON.parse(r.data.ParamValue);
});
},
reload: function (event) {
vm.showList = true;
$('#table').bootstrapTable('refresh');
}
}
})
;
================================================
FILE: public/modules/sys/user.js
================================================
$(function () {
function addButtonFunc(value, row, index) {
return [
'<div id="editButton" class="badge badge-success m-1"><i class="far fa-edit mr-1"></i>编辑</div>',
'<div id="deleteButton" class="badge badge-danger m-1"> <i class="fas fa-times mr-1"></i>删除</div>',
].join('');
}
window.operateEvents = {
'click #editButton': function (e, value, row, index) {
vm.update(row.Id);
}, 'click #deleteButton': function (e, value, row, index) {
vm.del(row.Id);
}
};
$('#table').bootstrapTable({
url: baseURL + 'sys/user/page',
method: "GET",
striped: true,
cache: false,
pagination: true,
pageList: [20, 40, 60, 100],
pageSize: 20,
pageNumber: 1,
sortName: "id",
sortOrder: "desc",
sidePagination: 'server',
search: false,
uniqueId: "Id",
silent: true,
classes: "table table-hover",
paginationHAlign: "left",
paginationDetailHAlign: "right",
queryParams: queryParams,
responseHandler: function (res) {
return {
"total": res.data.form.TotalSize,
"rows": res.data.list
};
},
onLoadSuccess: function () {
},
onLoadError: function () {
alert("数据加载失败!");
},
columns: [{
checkbox: true,
visible: true
},
{
field: 'Id',
title: 'ID'
},
{
field: 'Username',
title: '用户名'
},
{
field: 'Mobile',
title: '手机号'
},
{
field: 'operate',
title: '操作',
events: operateEvents,
formatter: addButtonFunc
}
]
});
function queryParams(params) {
var temp = {
offset: params.offset,
limit: params.limit,
search: $(".search-input").val(),
rows: params.limit,
page: (params.offset / params.limit) + 1,
sort: params.sort,
sortOrder: params.order
};
return temp;
};
$("#search-btn").click(function () {
$('#table').bootstrapTable('refresh');
});
});
var vm = new Vue({
el: '#rrapp',
data: {
showList: true,
title: null,
sysuser:{
}
},
methods: {
query: function () {
vm.reload();
},
add: function () {
vm.showList = false;
vm.title = "新增";
vm.sysuser= {};
},
update: function (Id) {
if (Id == null) {
return;
}
vm.showList = false;
vm.title = "修改";
vm.getInfo(Id)
},
saveOrUpdate: function (event) {
$('#btnSaveOrUpdate').button('loading').delay(1000).queue(function () {
var url = vm.sysuser.Id ==null ? "sys/user/save" : "sys/user/update";
$.ajax({
type: "POST",
url: baseURL + url,
data: vm.sysuser,
success: function (r) {
if (r.code === 0) {
swal({
text: "操作成功",
icon: "success",
buttons: false,
timer: 2000,
});
vm.reload();
$('#btnSaveOrUpdate').button('reset');
$('#btnSaveOrUpdate').dequeue();
} else {
swal({
text: r.msg,
icon: "error",
buttons: false,
timer: 2000,
});
$('#btnSaveOrUpdate').button('reset');
$('#btnSaveOrUpdate').dequeue();
}
}
})
;
});
},
del: function (Id) {
var Ids = [Id];
var lock = false;
top.swal({
title: "确定要删除该记录?",
icon: "warning",
buttons: ["取消", "确定"],
closeModal: true,
}).then((isConfirm) => {
if (isConfirm) {
top.swal.close();
if (!lock) {
lock = true;
$.ajax({
type: "POST",
url: baseURL + "sys/user/delete",
data: {ids: Ids},
success: function (r) {
if (r.code == 0) {
swal({
text: "删除成功",
icon: "success",
buttons: false,
timer: 2000,
});
$('#table').bootstrapTable('refresh');
} else {
swal({
text: r.msg,
icon: "error",
buttons: false,
timer: 2000,
});
}
}
});
}
}else {
top.swal.close();
}
});
},
bulkdel: function (event) {
var Ids = getSelectedRows();
if (Ids == null || Ids.length == 0) {
return;
}
var lock = false;
top.swal({
title: "确定要删除该记录?",
icon: "warning",
buttons: ["取消", "确定"],
closeModal: true,
}).then((isConfirm) => {
if (isConfirm) {
top.swal.close();
if (!lock) {
lock = true;
$.ajax({
type: "POST",
url: baseURL + "sys/user/delete",
data: {ids: Ids},
success: function (r) {
if (r.code == 0) {
swal({
text: "删除成功",
icon: "success",
buttons: false,
timer: 2000,
});
$('#table').bootstrapTable('refresh');
} else {
swal({
text: r.msg,
icon: "error",
buttons: false,
timer: 2000,
});
}
}
});
}
}else {
top.swal.close();
}
});
},
getInfo: function (Id) {
$.get(baseURL + "sys/user/get/" +Id, function (r) {
vm.sysuser= r.data;
vm.sysuser.Password = null;
});
},
reload: function (event) {
vm.showList = true;
$('#table').bootstrapTable('refresh');
}
}
})
;
================================================
FILE: public/plugins/ajaxupload/ajaxupload.js
================================================
/**
* AJAX Upload ( http://valums.com/ajax-upload/ )
* Copyright (c) Andris Valums
* Licensed under the MIT license ( http://valums.com/mit-license/ )
* Thanks to Gary Haran, David Mark, Corey Burns and others for contributions
*/
(function () {
/* global window */
/* jslint browser: true, devel: true, undef: true, nomen: true, bitwise: true, regexp: true, newcap: true, immed: true */
/**
* Wrapper for FireBug's console.log
*/
function log(){
if (typeof(console) != 'undefined' && typeof(console.log) == 'function'){
Array.prototype.unshift.call(arguments, '[Ajax Upload]');
console.log( Array.prototype.join.call(arguments, ' '));
}
}
/**
* Attaches event to a dom element.
* @param {Element} el
* @param type event name
* @param fn callback This refers to the passed element
*/
function addEvent(el, type, fn){
if (el.addEventListener) {
el.addEventListener(type, fn, false);
} else if (el.attachEvent) {
el.attachEvent('on' + type, function(){
fn.call(el);
});
} else {
throw new Error('not supported or DOM not loaded');
}
}
/**
* Attaches resize event to a window, limiting
* number of event fired. Fires only when encounteres
* delay of 100 after series of events.
*
* Some browsers fire event multiple times when resizing
* http://www.quirksmode.org/dom/events/resize.html
*
* @param fn callback This refers to the passed element
*/
function addResizeEvent(fn){
var timeout;
addEvent(window, 'resize', function(){
if (timeout){
clearTimeout(timeout);
}
timeout = setTimeout(fn, 100);
});
}
// Needs more testing, will be rewriten for next version
// getOffset function copied from jQuery lib (http://jquery.com/)
if (document.documentElement.getBoundingClientRect){
// Get Offset using getBoundingClientRect
// http://ejohn.org/blog/getboundingclientrect-is-awesome/
var getOffset = function(el){
var box = el.getBoundingClientRect();
var doc = el.ownerDocument;
var body = doc.body;
var docElem = doc.documentElement; // for ie
var clientTop = docElem.clientTop || body.clientTop || 0;
var clientLeft = docElem.clientLeft || body.clientLeft || 0;
// In Internet Explorer 7 getBoundingClientRect property is treated as physical,
// while others are logical. Make all logical, like in IE8.
var zoom = 1;
if (body.getBoundingClientRect) {
var bound = body.getBoundingClientRect();
zoom = (bound.right - bound.left) / body.clientWidth;
}
if (zoom > 1) {
clientTop = 0;
clientLeft = 0;
}
var top = box.top / zoom + (window.pageYOffset || docElem && docElem.scrollTop / zoom || body.scrollTop / zoom) - clientTop, left = box.left / zoom + (window.pageXOffset || docElem && docElem.scrollLeft / zoom || body.scrollLeft / zoom) - clientLeft;
return {
top: top,
left: left
};
};
} else {
// Get offset adding all offsets
var getOffset = function(el){
var top = 0, left = 0;
do {
top += el.offsetTop || 0;
left += el.offsetLeft || 0;
el = el.offsetParent;
} while (el);
return {
left: left,
top: top
};
};
}
/**
* Returns left, top, right and bottom properties describing the border-box,
* in pixels, with the top-left relative to the body
* @param {Element} el
* @return {Object} Contains left, top, right,bottom
*/
function getBox(el){
var left, right, top, bottom;
var offset = getOffset(el);
left = offset.left;
top = offset.top;
right = left + el.offsetWidth;
bottom = top + el.offsetHeight;
return {
left: left,
right: right,
top: top,
bottom: bottom
};
}
/**
* Helper that takes object literal
* and add all properties to element.style
* @param {Element} el
* @param {Object} styles
*/
function addStyles(el, styles){
for (var name in styles) {
if (styles.hasOwnProperty(name)) {
el.style[name] = styles[name];
}
}
}
/**
* Function places an absolutely positioned
* element on top of the specified element
* copying position and dimentions.
* @param {Element} from
* @param {Element} to
*/
function copyLayout(from, to){
var box = getBox(from);
addStyles(to, {
position: 'absolute',
left : box.left + 'px',
top : box.top + 'px',
width : from.offsetWidth + 'px',
height : from.offsetHeight + 'px'
});
}
/**
* Creates and returns element from html chunk
* Uses innerHTML to create an element
*/
var toElement = (function(){
var div = document.createElement('div');
return function(html){
div.innerHTML = html;
var el = div.firstChild;
return div.removeChild(el);
};
})();
/**
* Function generates unique id
* @return unique id
*/
var getUID = (function(){
var id = 0;
return function(){
return 'ValumsAjaxUpload' + id++;
};
})();
/**
* Get file name from path
* @param {String} file path to file
* @return filename
*/
function fileFromPath(file){
return file.replace(/.*(\/|\\)/, "");
}
/**
* Get file extension lowercase
* @param {String} file name
* @return file extenstion
*/
function getExt(file){
return (-1 !== file.indexOf('.')) ? file.replace(/.*[.]/, '') : '';
}
function hasClass(el, name){
var re = new RegExp('\\b' + name + '\\b');
return re.test(el.className);
}
function addClass(el, name){
if ( ! hasClass(el, name)){
el.className += ' ' + name;
}
}
function removeClass(el, name){
var re = new RegExp('\\b' + name + '\\b');
el.className = el.className.replace(re, '');
}
function removeNode(el){
el.parentNode.removeChild(el);
}
/**
* Easy styling and uploading
* @constructor
* @param button An element you want convert to
* upload button. Tested dimentions up to 500x500px
* @param {Object} options See defaults below.
*/
window.AjaxUpload = function(button, options){
this._settings = {
// Location of the server-side upload script
action: 'upload.php',
// File upload name
name: 'userfile',
// Additional data to send
data: {},
// Submit file as soon as it's selected
autoSubmit: true,
// The type of data that you're expecting back from the server.
// html and xml are detected automatically.
// Only useful when you are using json data as a response.
// Set to "json" in that case.
responseType: false,
// Class applied to button when mouse is hovered
hoverClass: 'hover',
// Class applied to button when AU is disabled
disabledClass: 'disabled',
// When user selects a file, useful with autoSubmit disabled
// You can return false to cancel upload
onChange: function(file, extension){
},
// Callback to fire before file is uploaded
// You can return false to cancel upload
onSubmit: function(file, extension){
},
// Fired when file upload is completed
// WARNING! DO NOT USE "FALSE" STRING AS A RESPONSE!
onComplete: function(file, response){
}
};
// Merge the users options with our defaults
for (var i in options) {
if (options.hasOwnProperty(i)){
this._settings[i] = options[i];
}
}
// button isn't necessary a dom element
if (button.jquery){
// jQuery object was passed
button = button[0];
} else if (typeof button == "string") {
if (/^#.*/.test(button)){
// If jQuery user passes #elementId don't break it
button = button.slice(1);
}
button = document.getElementById(button);
}
if ( ! button || button.nodeType !== 1){
throw new Error("Please make sure that you're passing a valid element");
}
if ( button.nodeName.toUpperCase() == 'A'){
// disable link
addEvent(button, 'click', function(e){
if (e && e.preventDefault){
e.preventDefault();
} else if (window.event){
window.event.returnValue = false;
}
});
}
// DOM element
this._button = button;
// DOM element
this._input = null;
// If disabled clicking on button won't do anything
this._disabled = false;
// if the button was disabled before refresh if will remain
// disabled in FireFox, let's fix it
this.enable();
this._rerouteClicks();
};
// assigning methods to our class
AjaxUpload.prototype = {
setData: function(data){
this._settings.data = data;
},
disable: function(){
addClass(this._button, this._settings.disabledClass);
this._disabled = true;
var nodeName = this._button.nodeName.toUpperCase();
if (nodeName == 'INPUT' || nodeName == 'BUTTON'){
this._button.setAttribute('disabled', 'disabled');
}
// hide input
if (this._input){
// We use visibility instead of display to fix problem with Safari 4
// The problem is that the value of input doesn't change if it
// has display none when user selects a file
this._input.parentNode.style.visibility = 'hidden';
}
},
enable: function(){
removeClass(this._button, this._settings.disabledClass);
this._button.removeAttribute('disabled');
this._disabled = false;
},
/**
* Creates invisible file input
* that will hover above the button
* <div><input type='file' /></div>
*/
_createInput: function(){
var self = this;
var input = document.createElement("input");
input.setAttribute('type', 'file');
input.setAttribute('name', this._settings.name);
addStyles(input, {
'position' : 'absolute',
// in Opera only 'browse' button
// is clickable and it is located at
// the right side of the input
'right' : 0,
'margin' : 0,
'padding' : 0,
'fontSize' : '480px',
'cursor' : 'pointer'
});
var div = document.createElement("div");
addStyles(div, {
'display' : 'block',
'position' : 'absolute',
'overflow' : 'hidden',
'margin' : 0,
'padding' : 0,
'opacity' : 0,
// Make sure browse button is in the right side
// in Internet Explorer
'direction' : 'ltr',
//Max zIndex supported by Opera 9.0-9.2
'zIndex': 2147483583
});
// Make sure that element opacity exists.
// Otherwise use IE filter
if ( div.style.opacity !== "0") {
if (typeof(div.filters) == 'undefined'){
throw new Error('Opacity not supported by the browser');
}
div.style.filter = "alpha(opacity=0)";
}
addEvent(input, 'change', function(){
if ( ! input || input.value === ''){
return;
}
// Get filename from input, required
// as some browsers have path instead of it
var file = fileFromPath(input.value);
if (false === self._settings.onChange.call(self, file, getExt(file))){
self._clearInput();
return;
}
// Submit form when value is changed
if (self._settings.autoSubmit) {
self.submit();
}
});
addEvent(input, 'mouseover', function(){
addClass(self._button, self._settings.hoverClass);
});
addEvent(input, 'mouseout', function(){
removeClass(self._button, self._settings.hoverClass);
// We use visibility instead of display to fix problem with Safari 4
// The problem is that the value of input doesn't change if it
// has display none when user selects a file
input.parentNode.style.visibility = 'hidden';
});
div.appendChild(input);
document.body.appendChild(div);
this._input = input;
},
_clearInput : function(){
if (!this._input){
return;
}
// this._input.value = ''; Doesn't work in IE6
removeNode(this._input.parentNode);
this._input = null;
this._createInput();
removeClass(this._button, this._settings.hoverClass);
},
/**
* Function makes sure that when user clicks upload button,
* the this._input is clicked instead
*/
_rerouteClicks: function(){
var self = this;
// IE will later display 'access denied' error
// if you use using self._input.click()
// other browsers just ignore click()
addEvent(self._button, 'mouseover', function(){
if (self._disabled){
return;
}
if ( ! self._input){
self._createInput();
}
var div = self._input.parentNode;
copyLayout(self._button, div);
div.style.visibility = 'visible';
});
// commented because we now hide input on mouseleave
/**
* When the window is resized the elements
* can be misaligned if button position depends
* on window size
*/
//addResizeEvent(function(){
// if (self._input){
// copyLayout(self._button, self._input.parentNode);
// }
//});
},
/**
* Creates iframe with unique name
* @return {Element} iframe
*/
_createIframe: function(){
// We can't use getTime, because it sometimes return
// same value in safari :(
var id = getUID();
// We can't use following code as the name attribute
// won't be properly registered in IE6, and new window
// on form submit will open
// var iframe = document.createElement('iframe');
// iframe.setAttribute('name', id);
var iframe = toElement('<iframe src="javascript:false;" name="' + id + '" />');
// src="javascript:false; was added
// because it possibly removes ie6 prompt
// "This page contains both secure and nonsecure items"
// Anyway, it doesn't do any harm.
iframe.setAttribute('id', id);
iframe.style.display = 'none';
document.body.appendChild(iframe);
return iframe;
},
/**
* Creates form, that will be submitted to iframe
* @param {Element} iframe Where to submit
* @return {Element} form
*/
_createForm: function(iframe){
var settings = this._settings;
// We can't use the following code in IE6
// var form = document.createElement('form');
// form.setAttribute('method', 'post');
// form.setAttribute('enctype', 'multipart/form-data');
// Because in this case file won't be attached to request
var form = toElement('<form method="post" enctype="multipart/form-data"></form>');
form.setAttribute('action', settings.action);
form.setAttribute('target', iframe.name);
form.style.display = 'none';
document.body.appendChild(form);
// Create hidden input element for each data key
for (var prop in settings.data) {
if (settings.data.hasOwnProperty(prop)){
var el = document.createElement("input");
el.setAttribute('type', 'hidden');
el.setAttribute('name', prop);
el.setAttribute('value', settings.data[prop]);
form.appendChild(el);
}
}
return form;
},
/**
* Gets response from iframe and fires onComplete event when ready
* @param iframe
* @param file Filename to use in onComplete callback
*/
_getResponse : function(iframe, file){
// getting response
var toDeleteFlag = false, self = this, settings = this._settings;
addEvent(iframe, 'load', function(){
if (// For Safari
iframe.src == "javascript:'%3Chtml%3E%3C/html%3E';" ||
// For FF, IE
iframe.src == "javascript:'<html></html>';"){
// First time around, do not delete.
// We reload to blank page, so that reloading main page
// does not re-submit the post.
if (toDeleteFlag) {
// Fix busy state in FF3
setTimeout(function(){
removeNode(iframe);
}, 0);
}
return;
}
var doc = iframe.contentDocument ? iframe.contentDocument : window.frames[iframe.id].document;
// fixing Opera 9.26,10.00
if (doc.readyState && doc.readyState != 'complete') {
// Opera fires load event multiple times
// Even when the DOM is not ready yet
// this fix should not affect other browsers
return;
}
// fixing Opera 9.64
if (doc.body && doc.body.innerHTML == "false") {
// In Opera 9.64 event was fired second time
// when body.innerHTML changed from false
// to server response approx. after 1 sec
return;
}
var response;
if (doc.XMLDocument) {
// response is a xml document Internet Explorer property
response = doc.XMLDocument;
} else if (doc.body){
// response is html document or plain text
response = doc.body.innerHTML;
if (settings.responseType && settings.responseType.toLowerCase() == 'json') {
// If the document was sent as 'application/javascript' or
// 'text/javascript', then the browser wraps the text in a <pre>
// tag and performs html encoding on the contents. In this case,
// we need to pull the original text content from the text node's
// nodeValue property to retrieve the unmangled content.
// Note that IE6 only understands text/html
if (doc.body.firstChild && doc.body.firstChild.nodeName.toUpperCase() == 'PRE') {
response = doc.body.firstChild.firstChild.nodeValue;
}
if (response) {
response = eval("(" + response + ")");
} else {
response = {};
}
}
} else {
// response is a xml document
response = doc;
}
settings.onComplete.call(self, file, response);
// Reload blank page, so that reloading main page
// does not re-submit the post. Also, remember to
// delete the frame
toDeleteFlag = true;
// Fix IE mixed content issue
iframe.src = "javascript:'<html></html>';";
});
},
/**
* Upload file contained in this._input
*/
submit: function(){
var self = this, settings = this._settings;
if ( ! this._input || this._input.value === ''){
return;
}
var file = fileFromPath(this._input.value);
// user returned false to cancel upload
if (false === settings.onSubmit.call(this, file, getExt(file))){
this._clearInput();
return;
}
// sending request
var iframe = this._createIframe();
var form = this._createForm(iframe);
// assuming following structure
// div -> input type='file'
removeNode(this._input.parentNode);
removeClass(self._button, self._settings.hoverClass);
form.appendChild(this._input);
form.submit();
// request set, clean up
removeNode(form); form = null;
removeNode(this._input); this._input = null;
// Get response from iframe and fire onComplete event when ready
this._getResponse(iframe, file);
// get ready for next request
this._createInput();
}
};
})();
================================================
FILE: public/plugins/table/bootstrap-table-locale-all.js
================================================
(function (global, factory) {
typeof exports === 'object' && typeof module !== 'undefined' ? factory(require('jquery')) :
typeof define === 'function' && define.amd ? define(['jquery'], factory) :
(global = global || self, factory(global.jQuery));
}(this, function ($) { 'use strict';
$ = $ && $.hasOwnProperty('default') ? $['default'] : $;
var commonjsGlobal = typeof globalThis !== 'undefined' ? globalThis : typeof window !== 'undefined' ? window : typeof global !== 'undefined' ? global : typeof self !== 'undefined' ? self : {};
function createCommonjsModule(fn, module) {
return module = { exports: {} }, fn(module, module.exports), module.exports;
}
var O = 'object';
var check = function (it) {
return it && it.Math == Math && it;
};
// https://github.com/zloirock/core-js/issues/86#issuecomment-115759028
var global_1 =
// eslint-disable-next-line no-undef
check(typeof globalThis == O && globalThis) ||
check(typeof window == O && window) ||
check(typeof self == O && self) ||
check(typeof commonjsGlobal == O && commonjsGlobal) ||
// eslint-disable-next-line no-new-func
Function('return this')();
var fails = function (exec) {
try {
return !!exec();
} catch (error) {
return true;
}
};
// Thank's IE8 for his funny defineProperty
var descriptors = !fails(function () {
return Object.defineProperty({}, 'a', { get: function () { return 7; } }).a != 7;
});
var nativePropertyIsEnumerable = {}.propertyIsEnumerable;
var getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;
// Nashorn ~ JDK8 bug
var NASHORN_BUG = getOwnPropertyDescriptor && !nativePropertyIsEnumerable.call({ 1: 2 }, 1);
// `Object.prototype.propertyIsEnumerable` method implementation
// https://tc39.github.io/ecma262/#sec-object.prototype.propertyisenumerable
var f = NASHORN_BUG ? function propertyIsEnumerable(V) {
var descriptor = getOwnPropertyDescriptor(this, V);
return !!descriptor && descriptor.enumerable;
} : nativePropertyIsEnumerable;
var objectPropertyIsEnumerable = {
f: f
};
var createPropertyDescriptor = function (bitmap, value) {
return {
enumerable: !(bitmap & 1),
configurable: !(bitmap & 2),
writable: !(bitmap & 4),
value: value
};
};
var toString = {}.toString;
var classofRaw = function (it) {
return toString.call(it).slice(8, -1);
};
var split = ''.split;
// fallback for non-array-like ES3 and non-enumerable old V8 strings
var indexedObject = fails(function () {
// throws an error in rhino, see https://github.com/mozilla/rhino/issues/346
// eslint-disable-next-line no-prototype-builtins
return !Object('z').propertyIsEnumerable(0);
}) ? function (it) {
return classofRaw(it) == 'String' ? split.call(it, '') : Object(it);
} : Object;
// `RequireObjectCoercible` abstract operation
// https://tc39.github.io/ecma262/#sec-requireobjectcoercible
var requireObjectCoercible = function (it) {
if (it == undefined) throw TypeError("Can't call method on " + it);
return it;
};
// toObject with fallback for non-array-like ES3 strings
var toIndexedObject = function (it) {
return indexedObject(requireObjectCoercible(it));
};
var isObject = function (it) {
return typeof it === 'object' ? it !== null : typeof it === 'function';
};
// `ToPrimitive` abstract operation
// https://tc39.github.io/ecma262/#sec-toprimitive
// instead of the ES6 spec version, we didn't implement @@toPrimitive case
// and the second argument - flag - preferred type is a string
var toPrimitive = function (input, PREFERRED_STRING) {
if (!isObject(input)) return input;
var fn, val;
if (PREFERRED_STRING && typeof (fn = input.toString) == 'function' && !isObject(val = fn.call(input))) return val;
if (typeof (fn = input.valueOf) == 'function' && !isObject(val = fn.call(input))) return val;
if (!PREFERRED_STRING && typeof (fn = input.toString) == 'function' && !isObject(val = fn.call(input))) return val;
throw TypeError("Can't convert object to primitive value");
};
var hasOwnProperty = {}.hasOwnProperty;
var has = function (it, key) {
return hasOwnProperty.call(it, key);
};
var document = global_1.document;
// typeof document.createElement is 'object' in old IE
var EXISTS = isObject(document) && isObject(document.createElement);
var documentCreateElement = function (it) {
return EXISTS ? document.createElement(it) : {};
};
// Thank's IE8 for his funny defineProperty
var ie8DomDefine = !descriptors && !fails(function () {
return Object.defineProperty(documentCreateElement('div'), 'a', {
get: function () { return 7; }
}).a != 7;
});
var nativeGetOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;
// `Object.getOwnPropertyDescriptor` method
// https://tc39.github.io/ecma262/#sec-object.getownpropertydescriptor
var f$1 = descriptors ? nativeGetOwnPropertyDescriptor : function getOwnPropertyDescriptor(O, P) {
O = toIndexedObject(O);
P = toPrimitive(P, true);
if (ie8DomDefine) try {
return nativeGetOwnPropertyDescriptor(O, P);
} catch (error) { /* empty */ }
if (has(O, P)) return createPropertyDescriptor(!objectPropertyIsEnumerable.f.call(O, P), O[P]);
};
var objectGetOwnPropertyDescriptor = {
f: f$1
};
var anObject = function (it) {
if (!isObject(it)) {
throw TypeError(String(it) + ' is not an object');
} return it;
};
var nativeDefineProperty = Object.defineProperty;
// `Object.defineProperty` method
// https://tc39.github.io/ecma262/#sec-object.defineproperty
var f$2 = descriptors ? nativeDefineProperty : function defineProperty(O, P, Attributes) {
anObject(O);
P = toPrimitive(P, true);
anObject(Attributes);
if (ie8DomDefine) try {
return nativeDefineProperty(O, P, Attributes);
} catch (error) { /* empty */ }
if ('get' in Attributes || 'set' in Attributes) throw TypeError('Accessors not supported');
if ('value' in Attributes) O[P] = Attributes.value;
return O;
};
var objectDefineProperty = {
f: f$2
};
var hide = descriptors ? function (object, key, value) {
return objectDefineProperty.f(object, key, createPropertyDescriptor(1, value));
} : function (object, key, value) {
object[key] = value;
return object;
};
var setGlobal = function (key, value) {
try {
hide(global_1, key, value);
} catch (error) {
global_1[key] = value;
} return value;
};
var shared = createCommonjsModule(function (module) {
var SHARED = '__core-js_shared__';
var store = global_1[SHARED] || setGlobal(SHARED, {});
(module.exports = function (key, value) {
return store[key] || (store[key] = value !== undefined ? value : {});
})('versions', []).push({
version: '3.1.3',
mode: 'global',
copyright: '© 2019 Denis Pushkarev (zloirock.ru)'
});
});
var functionToString = shared('native-function-to-string', Function.toString);
var WeakMap = global_1.WeakMap;
var nativeWeakMap = typeof WeakMap === 'function' && /native code/.test(functionToString.call(WeakMap));
var id = 0;
var postfix = Math.random();
var uid = function (key) {
return 'Symbol(' + String(key === undefined ? '' : key) + ')_' + (++id + postfix).toString(36);
};
var keys = shared('keys');
var sharedKey = function (key) {
return keys[key] || (keys[key] = uid(key));
};
var hiddenKeys = {};
var WeakMap$1 = global_1.WeakMap;
var set, get, has$1;
var enforce = function (it) {
return has$1(it) ? get(it) : set(it, {});
};
var getterFor = function (TYPE) {
return function (it) {
var state;
if (!isObject(it) || (state = get(it)).type !== TYPE) {
throw TypeError('Incompatible receiver, ' + TYPE + ' required');
} return state;
};
};
if (nativeWeakMap) {
var store = new WeakMap$1();
var wmget = store.get;
var wmhas = store.has;
var wmset = store.set;
set = function (it, metadata) {
wmset.call(store, it, metadata);
return metadata;
};
get = function (it) {
return wmget.call(store, it) || {};
};
has$1 = function (it) {
return wmhas.call(store, it);
};
} else {
var STATE = sharedKey('state');
hiddenKeys[STATE] = true;
set = function (it, metadata) {
hide(it, STATE, metadata);
return metadata;
};
get = function (it) {
return has(it, STATE) ? it[STATE] : {};
};
has$1 = function (it) {
return has(it, STATE);
};
}
var internalState = {
set: set,
get: get,
has: has$1,
enforce: enforce,
getterFor: getterFor
};
var redefine = createCommonjsModule(function (module) {
var getInternalState = internalState.get;
var enforceInternalState = internalState.enforce;
var TEMPLATE = String(functionToString).split('toString');
shared('inspectSource', function (it) {
return functionToString.call(it);
});
(module.exports = function (O, key, value, options) {
var unsafe = options ? !!options.unsafe : false;
var simple = options ? !!options.enumerable : false;
var noTargetGet = options ? !!options.noTargetGet : false;
if (typeof value == 'function') {
if (typeof key == 'string' && !has(value, 'name')) hide(value, 'name', key);
enforceInternalState(value).source = TEMPLATE.join(typeof key == 'string' ? key : '');
}
if (O === global_1) {
if (simple) O[key] = value;
else setGlobal(key, value);
return;
} else if (!unsafe) {
delete O[key];
} else if (!noTargetGet && O[key]) {
simple = true;
}
if (simple) O[key] = value;
else hide(O, key, value);
// add fake Function#toString for correct work wrapped methods / constructors with methods like LoDash isNative
})(Function.prototype, 'toString', function toString() {
return typeof this == 'function' && getInternalState(this).source || functionToString.call(this);
});
});
var path = global_1;
var aFunction = function (variable) {
return typeof variable == 'function' ? variable : undefined;
};
var getBuiltIn = function (namespace, method) {
return arguments.length < 2 ? aFunction(path[namespace]) || aFunction(global_1[namespace])
: path[namespace] && path[namespace][method] || global_1[namespace] && global_1[namespace][method];
};
var ceil = Math.ceil;
var floor = Math.floor;
// `ToInteger` abstract operation
// https://tc39.github.io/ecma262/#sec-tointeger
var toInteger = function (argument) {
return isNaN(argument = +argument) ? 0 : (argument > 0 ? floor : ceil)(argument);
};
var min = Math.min;
// `ToLength` abstract operation
// https://tc39.github.io/ecma262/#sec-tolength
var toLength = function (argument) {
return argument > 0 ? min(toInteger(argument), 0x1FFFFFFFFFFFFF) : 0; // 2 ** 53 - 1 == 9007199254740991
};
var max = Math.max;
var min$1 = Math.min;
// Helper for a popular repeating case of the spec:
// Let integer be ? ToInteger(index).
// If integer < 0, let result be max((length + integer), 0); else let result be min(length, length).
var toAbsoluteIndex = function (index, length) {
var integer = toInteger(index);
return integer < 0 ? max(integer + length, 0) : min$1(integer, length);
};
// `Array.prototype.{ indexOf, includes }` methods implementation
var createMethod = function (IS_INCLUDES) {
return function ($this, el, fromIndex) {
var O = toIndexedObject($this);
var length = toLength(O.length);
var index = toAbsoluteIndex(fromIndex, length);
var value;
// Array#includes uses SameValueZero equality algorithm
// eslint-disable-next-line no-self-compare
if (IS_INCLUDES && el != el) while (length > index) {
value = O[index++];
// eslint-disable-next-line no-self-compare
if (value != value) return true;
// Array#indexOf ignores holes, Array#includes - not
} else for (;length > index; index++) {
if ((IS_INCLUDES || index in O) && O[index] === el) return IS_INCLUDES || index || 0;
} return !IS_INCLUDES && -1;
};
};
var arrayIncludes = {
// `Array.prototype.includes` method
// https://tc39.github.io/ecma262/#sec-array.prototype.includes
includes: createMethod(true),
// `Array.prototype.indexOf` method
// https://tc39.github.io/ecma262/#sec-array.prototype.indexof
indexOf: createMethod(false)
};
var indexOf = arrayIncludes.indexOf;
var objectKeysInternal = function (object, names) {
var O = toIndexedObject(object);
var i = 0;
var result = [];
var key;
for (key in O) !has(hiddenKeys, key) && has(O, key) && result.push(key);
// Don't enum bug & hidden keys
while (names.length > i) if (has(O, key = names[i++])) {
~indexOf(result, key) || result.push(key);
}
return result;
};
// IE8- don't enum bug keys
var enumBugKeys = [
'constructor',
'hasOwnProperty',
'isPrototypeOf',
'propertyIsEnumerable',
'toLocaleString',
'toString',
'valueOf'
];
var hiddenKeys$1 = enumBugKeys.concat('length', 'prototype');
// `Object.getOwnPropertyNames` method
// https://tc39.github.io/ecma262/#sec-object.getownpropertynames
var f$3 = Object.getOwnPropertyNames || function getOwnPropertyNames(O) {
return objectKeysInternal(O, hiddenKeys$1);
};
var objectGetOwnPropertyNames = {
f: f$3
};
var f$4 = Object.getOwnPropertySymbols;
var objectGetOwnPropertySymbols = {
f: f$4
};
// all object keys, includes non-enumerable and symbols
var ownKeys = getBuiltIn('Reflect', 'ownKeys') || function ownKeys(it) {
var keys = objectGetOwnPropertyNames.f(anObject(it));
var getOwnPropertySymbols = objectGetOwnPropertySymbols.f;
return getOwnPropertySymbols ? keys.concat(getOwnPropertySymbols(it)) : keys;
};
var copyConstructorProperties = function (target, source) {
var keys = ownKeys(source);
var defineProperty = objectDefineProperty.f;
var getOwnPropertyDescriptor = objectGetOwnPropertyDescriptor.f;
for (var i = 0; i < keys.length; i++) {
var key = keys[i];
if (!has(target, key)) defineProperty(target, key, getOwnPropertyDescriptor(source, key));
}
};
var replacement = /#|\.prototype\./;
var isForced = function (feature, detection) {
var value = data[normalize(feature)];
return value == POLYFILL ? true
: value == NATIVE ? false
: typeof detection == 'function' ? fails(detection)
: !!detection;
};
var normalize = isForced.normalize = function (string) {
return String(string).replace(replacement, '.').toLowerCase();
};
var data = isForced.data = {};
var NATIVE = isForced.NATIVE = 'N';
var POLYFILL = isForced.POLYFILL = 'P';
var isForced_1 = isForced;
var getOwnPropertyDescriptor$1 = objectGetOwnPropertyDescriptor.f;
/*
options.target - name of the target object
options.global - target is the global object
options.stat - export as static methods of target
options.proto - export as prototype methods of target
options.real - real prototype method for the `pure` version
options.forced - export even if the native feature is available
options.bind - bind methods to the target, required for the `pure` version
options.wrap - wrap constructors to preventing global pollution, required for the `pure` version
options.unsafe - use the simple assignment of property instead of delete + defineProperty
options.sham - add a flag to not completely full polyfills
options.enumerable - export as enumerable property
options.noTargetGet - prevent calling a getter on target
*/
var _export = function (options, source) {
var TARGET = options.target;
var GLOBAL = options.global;
var STATIC = options.stat;
var FORCED, target, key, targetProperty, sourceProperty, descriptor;
if (GLOBAL) {
target = global_1;
} else if (STATIC) {
target = global_1[TARGET] || setGlobal(TARGET, {});
} else {
target = (global_1[TARGET] || {}).prototype;
}
if (target) for (key in source) {
sourceProperty = source[key];
if (options.noTargetGet) {
descriptor = getOwnPropertyDescriptor$1(target, key);
targetProperty = descriptor && descriptor.value;
} else targetProperty = target[key];
FORCED = isForced_1(GLOBAL ? key : TARGET + (STATIC ? '.' : '#') + key, options.forced);
// contained in target
if (!FORCED && targetProperty !== undefined) {
if (typeof sourceProperty === typeof targetProperty) continue;
copyConstructorProperties(sourceProperty, targetProperty);
}
// add a flag to not completely full polyfills
if (options.sham || (targetProperty && targetProperty.sham)) {
hide(sourceProperty, 'sham', true);
}
// extend global
redefine(target, key, sourceProperty, options);
}
};
// `IsArray` abstract operation
// https://tc39.github.io/ecma262/#sec-isarray
var isArray = Array.isArray || function isArray(arg) {
return classofRaw(arg) == 'Array';
};
// `ToObject` abstract operation
// https://tc39.github.io/ecma262/#sec-toobject
var toObject = function (argument) {
return Object(requireObjectCoercible(argument));
};
var createProperty = function (object, key, value) {
var propertyKey = toPrimitive(key);
if (propertyKey in object) objectDefineProperty.f(object, propertyKey, createPropertyDescriptor(0, value));
else object[propertyKey] = value;
};
var nativeSymbol = !!Object.getOwnPropertySymbols && !fails(function () {
// Chrome 38 Symbol has incorrect toString conversion
// eslint-disable-next-line no-undef
return !String(Symbol());
});
var Symbol$1 = global_1.Symbol;
var store$1 = shared('wks');
var wellKnownSymbol = function (name) {
return store$1[name] || (store$1[name] = nativeSymbol && Symbol$1[name]
|| (nativeSymbol ? Symbol$1 : uid)('Symbol.' + name));
};
var SPECIES = wellKnownSymbol('species');
// `ArraySpeciesCreate` abstract operation
// https://tc39.github.io/ecma262/#sec-arrayspeciescreate
var arraySpeciesCreate = function (originalArray, length) {
var C;
if (isArray(originalArray)) {
C = originalArray.constructor;
// cross-realm fallback
if (typeof C == 'function' && (C === Array || isArray(C.prototype))) C = undefined;
else if (isObject(C)) {
C = C[SPECIES];
if (C === null) C = undefined;
}
} return new (C === undefined ? Array : C)(length === 0 ? 0 : length);
};
var SPECIES$1 = wellKnownSymbol('species');
var arrayMethodHasSpeciesSupport = function (METHOD_NAME) {
return !fails(function () {
var array = [];
var constructor = array.constructor = {};
constructor[SPECIES$1] = function () {
return { foo: 1 };
};
return array[METHOD_NAME](Boolean).foo !== 1;
});
};
var IS_CONCAT_SPREADABLE = wellKnownSymbol('isConcatSpreadable');
var MAX_SAFE_INTEGER = 0x1FFFFFFFFFFFFF;
var MAXIMUM_ALLOWED_INDEX_EXCEEDED = 'Maximum allowed index exceeded';
var IS_CONCAT_SPREADABLE_SUPPORT = !fails(function () {
var array = [];
array[IS_CONCAT_SPREADABLE] = false;
return array.concat()[0] !== array;
});
var SPECIES_SUPPORT = arrayMethodHasSpeciesSupport('concat');
var isConcatSpreadable = function (O) {
if (!isObject(O)) return false;
var spreadable = O[IS_CONCAT_SPREADABLE];
return spreadable !== undefined ? !!spreadable : isArray(O);
};
var FORCED = !IS_CONCAT_SPREADABLE_SUPPORT || !SPECIES_SUPPORT;
// `Array.prototype.concat` method
// https://tc39.github.io/ecma262/#sec-array.prototype.concat
// with adding support of @@isConcatSpreadable and @@species
_export({ target: 'Array', proto: true, forced: FORCED }, {
concat: function concat(arg) { // eslint-disable-line no-unused-vars
var O = toObject(this);
var A = arraySpeciesCreate(O, 0);
var n = 0;
var i, k, length, len, E;
for (i = -1, length = arguments.length; i < length; i++) {
E = i === -1 ? O : arguments[i];
if (isConcatSpreadable(E)) {
len = toLength(E.length);
if (n + len > MAX_SAFE_INTEGER) throw TypeError(MAXIMUM_ALLOWED_INDEX_EXCEEDED);
for (k = 0; k < len; k++, n++) if (k in E) createProperty(A, n, E[k]);
} else {
if (n >= MAX_SAFE_INTEGER) throw TypeError(MAXIMUM_ALLOWED_INDEX_EXCEEDED);
createProperty(A, n++, E);
}
}
A.length = n;
return A;
}
});
/**
* Bootstrap Table Afrikaans translation
* Author: Phillip Kruger <phillip.kruger@gmail.com>
*/
$.fn.bootstrapTable.locales['af-ZA'] = {
formatLoadingMessage: function formatLoadingMessage() {
return 'Besig om te laai, wag asseblief';
},
formatRecordsPerPage: function formatRecordsPerPage(pageNumber) {
return "".concat(pageNumber, " rekords per bladsy");
},
formatShowingRows: function formatShowingRows(pageFrom, pageTo, totalRows, totalNotFiltered) {
if (totalNotFiltered !== undefined && totalNotFiltered > 0 && totalNotFiltered > totalRows) {
return "Resultate ".concat(pageFrom, " tot ").concat(pageTo, " van ").concat(totalRows, " rye (filtered from ").concat(totalNotFiltered, " total rows)");
}
return "Resultate ".concat(pageFrom, " tot ").concat(pageTo, " van ").concat(totalRows, " rye");
},
formatSRPaginationPreText: function formatSRPaginationPreText() {
return 'previous page';
},
formatSRPaginationPageText: function formatSRPaginationPageText(page) {
return "to page ".concat(page);
},
formatSRPaginationNextText: function formatSRPaginationNextText() {
return 'next page';
},
formatDetailPagination: function formatDetailPagination(totalRows) {
return "Showing ".concat(totalRows, " rows");
},
formatClearSearch: function formatClearSearch() {
return 'Clear Search';
},
formatSearch: function formatSearch() {
return 'Soek';
},
formatNoMatches: function formatNoMatches() {
return 'Geen rekords gevind nie';
},
formatPaginationSwitch: function formatPaginationSwitch() {
return 'Wys/verberg bladsy nummering';
},
formatPaginationSwitchDown: function formatPaginationSwitchDown() {
return 'Show pagination';
},
formatPaginationSwitchUp: function formatPaginationSwitchUp() {
return 'Hide pagination';
},
formatRefresh: function formatRefresh() {
return 'Herlaai';
},
formatToggle: function formatToggle() {
return 'Wissel';
},
formatToggleOn: function formatToggleOn() {
return 'Show card view';
},
formatToggleOff: function formatToggleOff() {
return 'Hide card view';
},
formatColumns: function formatColumns() {
return 'Kolomme';
},
formatColumnsToggleAll: function formatColumnsToggleAll() {
return 'Toggle all';
},
formatFullscreen: function formatFullscreen() {
return 'Fullscreen';
},
formatAllRows: function formatAllRows() {
return 'All';
},
formatAutoRefresh: function formatAutoRefresh() {
return 'Auto Refresh';
},
formatExport: function formatExport() {
return 'Export data';
},
formatJumpTo: function formatJumpTo() {
return 'GO';
},
formatAdvancedSearch: function formatAdvancedSearch() {
return 'Advanced search';
},
formatAdvancedCloseButton: function formatAdvancedCloseButton() {
return 'Close';
}
};
$.extend($.fn.bootstrapTable.defaults, $.fn.bootstrapTable.locales['af-ZA']);
/**
* Bootstrap Table English translation
* Author: Zhixin Wen<wenzhixin2010@gmail.com>
*/
$.fn.bootstrapTable.locales['ar-SA'] = {
formatLoadingMessage: function formatLoadingMessage() {
return 'جاري التحميل, يرجى الإنتظار';
},
formatRecordsPerPage: function formatRecordsPerPage(pageNumber) {
return "".concat(pageNumber, " \u0633\u062C\u0644 \u0644\u0643\u0644 \u0635\u0641\u062D\u0629");
},
formatShowingRows: function formatShowingRows(pageFrom, pageTo, totalRows, totalNotFiltered) {
if (totalNotFiltered !== undefined && totalNotFiltered > 0 && totalNotFiltered > totalRows) {
return "\u0627\u0644\u0638\u0627\u0647\u0631 ".concat(pageFrom, " \u0625\u0644\u0649 ").concat(pageTo, " \u0645\u0646 ").concat(totalRows, " \u0633\u062C\u0644 ").concat(totalNotFiltered, " total rows)");
}
return "\u0627\u0644\u0638\u0627\u0647\u0631 ".concat(pageFrom, " \u0625\u0644\u0649 ").concat(pageTo, " \u0645\u0646 ").concat(totalRows, " \u0633\u062C\u0644");
},
formatSRPaginationPreText: function formatSRPaginationPreText() {
return 'previous page';
},
formatSRPaginationPageText: function formatSRPaginationPageText(page) {
return "to page ".concat(page);
},
formatSRPaginationNextText: function formatSRPaginationNextText() {
return 'next page';
},
formatDetailPagination: function formatDetailPagination(totalRows) {
return "Showing ".concat(totalRows, " rows");
},
formatClearSearch: function formatClearSearch() {
return 'Clear Search';
},
formatSearch: function formatSearch() {
return 'بحث';
},
formatNoMatches: function formatNoMatches() {
return 'لا توجد نتائج مطابقة للبحث';
},
formatPaginationSwitch: function formatPaginationSwitch() {
/* eslint-disable no-useless-escape */
return 'إخفاء\إظهار ترقيم الصفحات';
},
formatPaginationSwitchDown: function formatPaginationSwitchDown() {
return 'Show pagination';
},
formatPaginationSwitchUp: function formatPaginationSwitchUp() {
return 'Hide pagination';
},
formatRefresh: function formatRefresh() {
return 'تحديث';
},
formatToggle: function formatToggle() {
return 'تغيير';
},
formatToggleOn: function formatToggleOn() {
return 'Show card view';
},
formatToggleOff: function formatToggleOff() {
return 'Hide card view';
},
formatColumns: function formatColumns() {
return 'أعمدة';
},
formatColumnsToggleAll: function formatColumnsToggleAll() {
return 'Toggle all';
},
formatFullscreen: function formatFullscreen() {
return 'Fullscreen';
},
formatAllRows: function formatAllRows() {
return 'All';
},
formatAutoRefresh: function formatAutoRefresh() {
return 'Auto Refresh';
},
formatExport: function formatExport() {
return 'Export data';
},
formatJumpTo: function formatJumpTo() {
return 'GO';
},
formatAdvancedSearch: function formatAdvancedSearch() {
return 'Advanced search';
},
formatAdvancedCloseButton: function formatAdvancedCloseButton() {
return 'Close';
}
};
$.extend($.fn.bootstrapTable.defaults, $.fn.bootstrapTable.locales['ar-SA']);
/**
* Bootstrap Table Catalan translation
* Authors: Marc Pina<iwalkalone69@gmail.com>
* Claudi Martinez<claudix.kernel@gmail.com>
*/
$.fn.bootstrapTable.locales['ca-ES'] = {
formatLoadingMessage: function formatLoadingMessage() {
return 'Espereu, si us plau';
},
formatRecordsPerPage: function formatRecordsPerPage(pageNumber) {
return "".concat(pageNumber, " resultats per p\xE0gina");
},
formatShowingRows: function formatShowingRows(pageFrom, pageTo, totalRows, totalNotFiltered) {
if (totalNotFiltered !== undefined && totalNotFiltered > 0 && totalNotFiltered > totalRows) {
return "Mostrant de ".concat(pageFrom, " fins ").concat(pageTo, " - total ").concat(totalRows, " resultats (filtered from ").concat(totalNotFiltered, " total rows)");
}
return "Mostrant de ".concat(pageFrom, " fins ").concat(pageTo, " - total ").concat(totalRows, " resultats");
},
formatSRPaginationPreText: function formatSRPaginationPreText() {
return 'previous page';
},
formatSRPaginationPageText: function formatSRPaginationPageText(page) {
return "to page ".concat(page);
},
formatSRPaginationNextText: function formatSRPaginationNextText() {
return 'next page';
},
formatDetailPagination: function formatDetailPagination(totalRows) {
return "Showing ".concat(totalRows, " rows");
},
formatClearSearch: function formatClearSearch() {
return 'Clear Search';
},
formatSearch: function formatSearch() {
return 'Cerca';
},
formatNoMatches: function formatNoMatches() {
return 'No s\'han trobat resultats';
},
formatPaginationSwitch: function formatPaginationSwitch() {
return 'Amaga/Mostra paginació';
},
formatPaginationSwitchDown: function formatPaginationSwitchDown() {
return 'Show pagination';
},
formatPaginationSwitchUp: function formatPaginationSwitchUp() {
return 'Hide pagination';
},
formatRefresh: function formatRefresh() {
return 'Refresca';
},
formatToggle: function formatToggle() {
return 'Alterna formatació';
},
formatToggleOn: function formatToggleOn() {
return 'Show card view';
},
formatToggleOff: function formatToggleOff() {
return 'Hide card view';
},
formatColumns: function formatColumns() {
return 'Columnes';
},
formatColumnsToggleAll: function formatColumnsToggleAll() {
return 'Toggle all';
},
formatFullscreen: function formatFullscreen() {
return 'Fullscreen';
},
formatAllRows: function formatAllRows() {
return 'Tots';
},
formatAutoRefresh: function formatAutoRefresh() {
return 'Auto Refresh';
},
formatExport: function formatExport() {
return 'Export data';
},
formatJumpTo: function formatJumpTo() {
return 'GO';
},
formatAdvancedSearch: function formatAdvancedSearch() {
return 'Advanced search';
},
formatAdvancedCloseButton: function formatAdvancedCloseButton() {
return 'Close';
}
};
$.extend($.fn.bootstrapTable.defaults, $.fn.bootstrapTable.locales['ca-ES']);
/**
* Bootstrap Table Czech translation
* Author: Lukas Kral (monarcha@seznam.cz)
* Author: Jakub Svestka <svestka1999@gmail.com>
*/
$.fn.bootstrapTable.locales['cs-CZ'] = {
formatLoadingMessage: function formatLoadingMessage() {
return 'Čekejte, prosím';
},
formatRecordsPerPage: function formatRecordsPerPage(pageNumber) {
return "".concat(pageNumber, " polo\u017Eek na str\xE1nku");
},
formatShowingRows: function formatShowingRows(pageFrom, pageTo, totalRows, totalNotFiltered) {
if (totalNotFiltered !== undefined && totalNotFiltered > 0 && totalNotFiltered > totalRows) {
return "Zobrazena ".concat(pageFrom, ". - ").concat(pageTo, " . polo\u017Eka z celkov\xFDch ").concat(totalRows, " (filtered from ").concat(totalNotFiltered, " total rows)");
}
return "Zobrazena ".concat(pageFrom, ". - ").concat(pageTo, " . polo\u017Eka z celkov\xFDch ").concat(totalRows);
},
formatSRPaginationPreText: function formatSRPaginationPreText() {
return 'previous page';
},
formatSRPaginationPageText: function formatSRPaginationPageText(page) {
return "to page ".concat(page);
},
formatSRPaginationNextText: function formatSRPaginationNextText() {
return 'next page';
},
formatDetailPagination: function formatDetailPagination(totalRows) {
return "Showing ".concat(totalRows, " rows");
},
formatClearSearch: function formatClearSearch() {
return 'Clear Search';
},
formatSearch: function formatSearch() {
return 'Vyhledávání';
},
formatNoMatches: function formatNoMatches() {
return 'Nenalezena žádná vyhovující položka';
},
formatPaginationSwitch: function formatPaginationSwitch() {
return 'Skrýt/Zobrazit stránkování';
},
formatPaginationSwitchDown: function formatPaginationSwitchDown() {
return 'Show pagination';
},
formatPaginationSwitchUp: function formatPaginationSwitchUp() {
return 'Hide pagination';
},
formatRefresh: function formatRefresh() {
return 'Aktualizovat';
},
formatToggle: function formatToggle() {
return 'Přepni';
},
formatToggleOn: function formatToggleOn() {
return 'Show card view';
},
formatToggleOff: function formatToggleOff() {
return 'Hide card view';
},
formatColumns: function formatColumns() {
return 'Sloupce';
},
formatColumnsToggleAll: function formatColumnsToggleAll() {
return 'Toggle all';
},
formatFullscreen: function formatFullscreen() {
return 'Fullscreen';
},
formatAllRows: function formatAllRows() {
return 'Vše';
},
formatAutoRefresh: function formatAutoRefresh() {
return 'Auto Refresh';
},
formatExport: function formatExport() {
return 'Export data';
},
formatJumpTo: function formatJumpTo() {
return 'GO';
},
formatAdvancedSearch: function formatAdvancedSearch() {
return 'Advanced search';
},
formatAdvancedCloseButton: function formatAdvancedCloseButton() {
return 'Close';
}
};
$.extend($.fn.bootstrapTable.defaults, $.fn.bootstrapTable.locales['cs-CZ']);
/**
* Bootstrap Table danish translation
* Author: Your Name Jan Borup Coyle, github@coyle.dk
*/
$.fn.bootstrapTable.locales['da-DK'] = {
formatLoadingMessage: function formatLoadingMessage() {
return 'Indlæser, vent venligst';
},
formatRecordsPerPage: function formatRecordsPerPage(pageNumber) {
return "".concat(pageNumber, " poster pr side");
},
formatShowingRows: function formatShowingRows(pageFrom, pageTo, totalRows, totalNotFiltered) {
if (totalNotFiltered !== undefined && totalNotFiltered > 0 && totalNotFiltered > totalRows) {
return "Viser ".concat(pageFrom, " til ").concat(pageTo, " af ").concat(totalRows, " r\xE6kke").concat(totalRows > 1 ? 'r' : '', " (filtered from ").concat(totalNotFiltered, " total rows)");
}
return "Viser ".concat(pageFrom, " til ").concat(pageTo, " af ").concat(totalRows, " r\xE6kke").concat(totalRows > 1 ? 'r' : '');
},
formatSRPaginationPreText: function formatSRPaginationPreText() {
return 'previous page';
},
formatSRPaginationPageText: function formatSRPaginationPageText(page) {
return "to page ".concat(page);
},
formatSRPaginationNextText: function formatSRPaginationNextText() {
return 'next page';
},
formatDetailPagination: function formatDetailPagination(totalRows) {
return "Viser ".concat(totalRows, " r\xE6kke").concat(totalRows > 1 ? 'r' : '');
},
formatClearSearch: function formatClearSearch() {
return 'Ryd filtre';
},
formatSearch: function formatSearch() {
return 'Søg';
},
formatNoMatches: function formatNoMatches() {
return 'Ingen poster fundet';
},
formatPaginationSwitch: function formatPaginationSwitch() {
return 'Skjul/vis nummerering';
},
formatPaginationSwitchDown: function formatPaginationSwitchDown() {
return 'Show pagination';
},
formatPaginationSwitchUp: function formatPaginationSwitchUp() {
return 'Hide pagination';
},
formatRefresh: function formatRefresh() {
return 'Opdater';
},
formatToggle: function formatToggle() {
return 'Skift';
},
formatToggleOn: function formatToggleOn() {
return 'Show card view';
},
formatToggleOff: function formatToggleOff() {
return 'Hide card view';
},
formatColumns: function formatColumns() {
return 'Kolonner';
},
formatColumnsToggleAll: function formatColumnsToggleAll() {
return 'Toggle all';
},
formatFullscreen: function formatFullscreen() {
return 'Fullscreen';
},
formatAllRows: function formatAllRows() {
return 'Alle';
},
formatAutoRefresh: function formatAutoRefresh() {
return 'Auto Refresh';
},
formatExport: function formatExport() {
return 'Eksporter';
},
formatJumpTo: function formatJumpTo() {
return 'GO';
},
formatAdvancedSearch: function formatAdvancedSearch() {
return 'Advanced search';
},
formatAdvancedCloseButton: function formatAdvancedCloseButton() {
return 'Close';
}
};
$.extend($.fn.bootstrapTable.defaults, $.fn.bootstrapTable.locales['da-DK']);
/**
* Bootstrap Table German translation
* Author: Paul Mohr - Sopamo<p.mohr@sopamo.de>
*/
$.fn.bootstrapTable.locales['de-DE'] = {
formatLoadingMessage: function formatLoadingMessage() {
return 'Lade, bitte warten';
},
formatRecordsPerPage: function formatRecordsPerPage(pageNumber) {
return "".concat(pageNumber, " Zeilen pro Seite.");
},
formatShowingRows: function formatShowingRows(pageFrom, pageTo, totalRows, totalNotFiltered) {
if (totalNotFiltered !== undefined && totalNotFiltered > 0 && totalNotFiltered > totalRows) {
return "Zeige Zeile ".concat(pageFrom, " bis ").concat(pageTo, " von ").concat(totalRows, " Zeile").concat(totalRows > 1 ? 'n' : '', " (Gefiltert von ").concat(totalNotFiltered, " Zeile").concat(totalNotFiltered > 1 ? 'n' : '', ")");
}
return "Zeige Zeile ".concat(pageFrom, " bis ").concat(pageTo, " von ").concat(totalRows, " Zeile").concat(totalRows > 1 ? 'n' : '', ".");
},
formatSRPaginationPreText: function formatSRPaginationPreText() {
return 'Vorherige Seite';
},
formatSRPaginationPageText: function formatSRPaginationPageText(page) {
return "Zu Seite ".concat(page);
},
formatSRPaginationNextText: function formatSRPaginationNextText() {
return 'Nächste Seite';
},
formatDetailPagination: function formatDetailPagination(totalRows) {
return "Zeige ".concat(totalRows, " Zeile").concat(totalRows > 1 ? 'n' : '', ".");
},
formatClearSearch: function formatClearSearch() {
return 'Lösche Filter';
},
formatSearch: function formatSearch() {
return 'Suchen';
},
formatNoMatches: function formatNoMatches() {
return 'Keine passenden Ergebnisse gefunden';
},
formatPaginationSwitch: function formatPaginationSwitch() {
return 'Verstecke/Zeige Nummerierung';
},
formatPaginationSwitchDown: function formatPaginationSwitchDown() {
return 'Zeige Nummerierung';
},
formatPaginationSwitchUp: function formatPaginationSwitchUp() {
return 'Verstecke Nummerierung';
},
formatRefresh: function formatRefresh() {
return 'Neu laden';
},
formatToggle: function formatToggle() {
return 'Umschalten';
},
formatToggleOn: function formatToggleOn() {
return 'Normale Ansicht';
},
formatToggleOff: function formatToggleOff() {
return 'Kartenansicht';
},
formatColumns: function formatColumns() {
return 'Spalten';
},
formatColumnsToggleAll: function formatColumnsToggleAll() {
return 'Alle umschalten';
},
formatFullscreen: function formatFullscreen() {
return 'Vollbild';
},
formatAllRows: function formatAllRows() {
return 'Alle';
},
formatAutoRefresh: function formatAutoRefresh() {
return 'Automatisches Neuladen';
},
formatExport: function formatExport() {
return 'Datenexport';
},
formatJumpTo: function formatJumpTo() {
return 'GO';
},
formatAdvancedSearch: function formatAdvancedSearch() {
return 'Erweiterte Suche';
},
formatAdvancedCloseButton: function formatAdvancedCloseButton() {
return 'Schließen';
}
};
$.extend($.fn.bootstrapTable.defaults, $.fn.bootstrapTable.locales['de-DE']);
/**
* Bootstrap Table Greek translation
* Author: giannisdallas
*/
$.fn.bootstrapTable.locales['el-GR'] = {
formatLoadingMessage: function formatLoadingMessage() {
return 'Φορτώνει, παρακαλώ περιμένετε';
},
formatRecordsPerPage: function formatRecordsPerPage(pageNumber) {
return "".concat(pageNumber, " \u03B1\u03C0\u03BF\u03C4\u03B5\u03BB\u03AD\u03C3\u03BC\u03B1\u03C4\u03B1 \u03B1\u03BD\u03AC \u03C3\u03B5\u03BB\u03AF\u03B4\u03B1");
},
formatShowingRows: function formatShowingRows(pageFrom, pageTo, totalRows, totalNotFiltered) {
if (totalNotFiltered !== undefined && totalNotFiltered > 0 && totalNotFiltered > totalRows) {
return "\u0395\u03BC\u03C6\u03B1\u03BD\u03AF\u03B6\u03BF\u03BD\u03C4\u03B1\u03B9 \u03B1\u03C0\u03CC \u03C4\u03B7\u03BD ".concat(pageFrom, " \u03C9\u03C2 \u03C4\u03B7\u03BD ").concat(pageTo, " \u03B1\u03C0\u03CC \u03C3\u03CD\u03BD\u03BF\u03BB\u03BF ").concat(totalRows, " \u03C3\u03B5\u03B9\u03C1\u03CE\u03BD (filtered from ").concat(totalNotFiltered, " total rows)");
}
return "\u0395\u03BC\u03C6\u03B1\u03BD\u03AF\u03B6\u03BF\u03BD\u03C4\u03B1\u03B9 \u03B1\u03C0\u03CC \u03C4\u03B7\u03BD ".concat(pageFrom, " \u03C9\u03C2 \u03C4\u03B7\u03BD ").concat(pageTo, " \u03B1\u03C0\u03CC \u03C3\u03CD\u03BD\u03BF\u03BB\u03BF ").concat(totalRows, " \u03C3\u03B5\u03B9\u03C1\u03CE\u03BD");
},
formatSRPaginationPreText: function formatSRPaginationPreText() {
return 'previous page';
},
formatSRPaginationPageText: function formatSRPaginationPageText(page) {
return "to page ".concat(page);
},
formatSRPaginationNextText: function formatSRPaginationNextText() {
return 'next page';
},
formatDetailPagination: function formatDetailPagination(totalRows) {
return "Showing ".concat(totalRows, " rows");
},
formatClearSearch: function formatClearSearch() {
return 'Clear Search';
},
formatSearch: function formatSearch() {
return 'Αναζητήστε';
},
formatNoMatches: function formatNoMatches() {
return 'Δεν βρέθηκαν αποτελέσματα';
},
formatPaginationSwitch: function formatPaginationSwitch() {
return 'Hide/Show pagination';
},
formatPaginationSwitchDown: function formatPaginationSwitchDown() {
return 'Show pagination';
},
formatPaginationSwitchUp: function formatPaginationSwitchUp() {
return 'Hide pagination';
},
formatRefresh: function formatRefresh() {
return 'Refresh';
},
formatToggle: function formatToggle() {
return 'Toggle';
},
formatToggleOn: function formatToggleOn() {
return 'Show card view';
},
formatToggleOff: function formatToggleOff() {
return 'Hide card view';
},
formatColumns: function formatColumns() {
return 'Columns';
},
formatColumnsToggleAll: function formatColumnsToggleAll() {
return 'Toggle all';
},
formatFullscreen: function formatFullscreen() {
return 'Fullscreen';
},
formatAllRows: function formatAllRows() {
return 'All';
},
formatAutoRefresh: function formatAutoRefresh() {
return 'Auto Refresh';
},
formatExport: function formatExport() {
return 'Export data';
},
formatJumpTo: function formatJumpTo() {
return 'GO';
},
formatAdvancedSearch: function formatAdvancedSearch() {
return 'Advanced search';
},
formatAdvancedCloseButton: function formatAdvancedCloseButton() {
return 'Close';
}
};
$.extend($.fn.bootstrapTable.defaults, $.fn.bootstrapTable.locales['el-GR']);
/**
* Bootstrap Table English translation
* Author: Zhixin Wen<wenzhixin2010@gmail.com>
*/
$.fn.bootstrapTable.locales['en-US'] = {
formatLoadingMessage: function formatLoadingMessage() {
return 'Loading, please wait';
},
formatRecordsPerPage: function formatRecordsPerPage(pageNumber) {
return "".concat(pageNumber, " rows per page");
},
formatShowingRows: function formatShowingRows(pageFrom, pageTo, totalRows, totalNotFiltered) {
if (totalNotFiltered !== undefined && totalNotFiltered > 0 && totalNotFiltered > totalRows) {
return "Showing ".concat(pageFrom, " to ").concat(pageTo, " of ").concat(totalRows, " rows (filtered from ").concat(totalNotFiltered, " total rows)");
}
return "Showing ".concat(pageFrom, " to ").concat(pageTo, " of ").concat(totalRows, " rows");
},
formatSRPaginationPreText: function formatSRPaginationPreText() {
return 'previous page';
},
formatSRPaginationPageText: function formatSRPaginationPageText(page) {
return "to page ".concat(page);
},
formatSRPaginationNextText: function formatSRPaginationNextText() {
return 'next page';
},
formatDetailPagination: function formatDetailPagination(totalRows) {
return "Showing ".concat(totalRows, " rows");
},
formatClearSearch: function formatClearSearch() {
return 'Clear Search';
},
formatSearch: function formatSearch() {
return 'Search';
},
formatNoMatches: function formatNoMatches() {
return 'No matching records found';
},
formatPaginationSwitch: function formatPaginationSwitch() {
return 'Hide/Show pagination';
},
formatPaginationSwitchDown: function formatPaginationSwitchDown() {
return 'Show pagination';
},
formatPaginationSwitchUp: function formatPaginationSwitchUp() {
return 'Hide pagination';
},
formatRefresh: function formatRefresh() {
return 'Refresh';
},
formatToggle: function formatToggle() {
return 'Toggle';
},
formatToggleOn: function formatToggleOn() {
return 'Show card view';
},
formatToggleOff: function formatToggleOff() {
return 'Hide card view';
},
formatColumns: function formatColumns() {
return 'Columns';
},
formatColumnsToggleAll: function formatColumnsToggleAll() {
return 'Toggle all';
},
formatFullscreen: function formatFullscreen() {
return 'Fullscreen';
},
formatAllRows: function formatAllRows() {
return 'All';
},
formatAutoRefresh: function formatAutoRefresh() {
return 'Auto Refresh';
},
formatExport: function formatExport() {
return 'Export data';
},
formatJumpTo: function formatJumpTo() {
return 'GO';
},
formatAdvancedSearch: function formatAdvancedSearch() {
return 'Advanced search';
},
formatAdvancedCloseButton: function formatAdvancedCloseButton() {
return 'Close';
}
};
$.extend($.fn.bootstrapTable.defaults, $.fn.bootstrapTable.locales['en-US']);
/**
* Bootstrap Table Spanish (Argentina) translation
* Author: Felix Vera (felix.vera@gmail.com)
*/
$.fn.bootstrapTable.locales['es-AR'] = {
formatLoadingMessage: function formatLoadingMessage() {
return 'Cargando, espere por favor';
},
formatRecordsPerPage: function formatRecordsPerPage(pageNumber) {
return "".concat(pageNumber, " registros por p\xE1gina");
},
formatShowingRows: function formatShowingRows(pageFrom, pageTo, totalRows, totalNotFiltered) {
if (totalNotFiltered !== undefined && totalNotFiltered > 0 && totalNotFiltered > totalRows) {
return "Mostrando ".concat(pageFrom, " a ").concat(pageTo, " de ").concat(totalRows, " filas (filtered from ").concat(totalNotFiltered, " total rows)");
}
return "Mostrando ".concat(pageFrom, " a ").concat(pageTo, " de ").concat(totalRows, " filas");
},
formatSRPaginationPreText: function formatSRPaginationPreText() {
return 'previous page';
},
formatSRPaginationPageText: function formatSRPaginationPageText(page) {
return "to page ".concat(page);
},
formatSRPaginationNextText: function formatSRPaginationNextText() {
return 'next page';
},
formatDetailPagination: function formatDetailPagination(totalRows) {
return "Showing ".concat(totalRows, " rows");
},
formatClearSearch: function formatClearSearch() {
return 'Limpiar búsqueda';
},
formatSearch: function formatSearch() {
return 'Buscar';
},
formatNoMatches: function formatNoMatches() {
return 'No se encontraron registros';
},
formatPaginationSwitch: function formatPaginationSwitch() {
return 'Hide/Show pagination';
},
formatPaginationSwitchDown: function formatPaginationSwitchDown() {
return 'Show pagination';
},
formatPaginationSwitchUp: function formatPaginationSwitchUp() {
return 'Hide pagination';
},
formatRefresh: function formatRefresh() {
return 'Refresh';
},
formatToggle: function formatToggle() {
return 'Toggle';
},
formatToggleOn: function formatToggleOn() {
return 'Show card view';
},
formatToggleOff: function formatToggleOff() {
return 'Hide card view';
},
formatColumns: function formatColumns() {
return 'Columns';
},
formatColumnsToggleAll: function formatColumnsToggleAll() {
return 'Toggle all';
},
formatFullscreen: function formatFullscreen() {
return 'Fullscreen';
},
formatAllRows: function formatAllRows() {
return 'Todo';
},
formatAutoRefresh: function formatAutoRefresh() {
return 'Auto Refresh';
},
formatExport: function formatExport() {
return 'Export data';
},
formatJumpTo: function formatJumpTo() {
return 'GO';
},
formatAdvancedSearch: function formatAdvancedSearch() {
return 'Advanced search';
},
formatAdvancedCloseButton: function formatAdvancedCloseButton() {
return 'Close';
}
};
$.extend($.fn.bootstrapTable.defaults, $.fn.bootstrapTable.locales['es-AR']);
/**
* Traducción de librería Bootstrap Table a Español (Chile)
* @author Brian Álvarez Azócar
* email brianalvarezazocar@gmail.com
*/
$.fn.bootstrapTable.locales['es-CL'] = {
formatLoadingMessage: function formatLoadingMessage() {
return 'Cargando, espere por favor';
},
formatRecordsPerPage: function formatRecordsPerPage(pageNumber) {
return "".concat(pageNumber, " filas por p\xE1gina");
},
formatShowingRows: function formatShowingRows(pageFrom, pageTo, totalRows, totalNotFiltered) {
if (totalNotFiltered !== undefined && totalNotFiltered > 0 && totalNotFiltered > totalRows) {
return "Mostrando ".concat(pageFrom, " a ").concat(pageTo, " de ").concat(totalRows, " filas (filtered from ").concat(totalNotFiltered, " total rows)");
}
return "Mostrando ".concat(pageFrom, " a ").concat(pageTo, " de ").concat(totalRows, " filas");
},
formatSRPaginationPreText: function formatSRPaginationPreText() {
return 'previous page';
},
formatSRPaginationPageText: function formatSRPaginationPageText(page) {
return "to page ".concat(page);
},
formatSRPaginationNextText: function formatSRPaginationNextText() {
return 'next page';
},
formatDetailPagination: function formatDetailPagination(totalRows) {
return "Showing ".concat(totalRows, " rows");
},
formatClearSearch: function formatClearSearch() {
return 'Limpiar búsqueda';
},
formatSearch: function formatSearch() {
return 'Buscar';
},
formatNoMatches: function formatNoMatches() {
return 'No se encontraron registros';
},
formatPaginationSwitch: function formatPaginationSwitch() {
return "Ocultar/Mostrar paginaci\xF3n";
},
formatPaginationSwitchDown: function formatPaginationSwitchDown() {
return 'Show pagination';
},
formatPaginationSwitchUp: function formatPaginationSwitchUp() {
return 'Hide pagination';
},
formatRefresh: function formatRefresh() {
return 'Refrescar';
},
formatToggle: function formatToggle() {
return 'Cambiar';
},
formatToggleOn: function formatToggleOn() {
return 'Show card view';
},
formatToggleOff: function formatToggleOff() {
return 'Hide card view';
},
formatColumns: function formatColumns() {
return 'Columnas';
},
formatColumnsToggleAll: function formatColumnsToggleAll() {
return 'Toggle all';
},
formatFullscreen: function formatFullscreen() {
return 'Fullscreen';
},
formatAllRows: function formatAllRows() {
return 'Todo';
},
formatAutoRefresh: function formatAutoRefresh() {
return 'Auto Refresh';
},
formatExport: function formatExport() {
return 'Export data';
},
formatJumpTo: function formatJumpTo() {
return 'GO';
},
formatAdvancedSearch: function formatAdvancedSearch() {
return 'Advanced search';
},
formatAdvancedCloseButton: function formatAdvancedCloseButton() {
return 'Close';
}
};
$.extend($.fn.bootstrapTable.defaults, $.fn.bootstrapTable.locales['es-CL']);
/**
* Bootstrap Table Spanish (Costa Rica) translation
* Author: Dennis Hernández (http://djhvscf.github.io/Blog/)
*/
$.fn.bootstrapTable.locales['es-CR'] = {
formatLoadingMessage: function formatLoadingMessage() {
return 'Cargando, por favor espere';
},
formatRecordsPerPage: function formatRecordsPerPage(pageNumber) {
return "".concat(pageNumber, " registros por p\xE1gina");
},
formatShowingRows: function formatShowingRows(pageFrom, pageTo, totalRows, totalNotFiltered) {
if (totalNotFiltered !== undefined && totalNotFiltered > 0 && totalNotFiltered > totalRows) {
return "Mostrando de ".concat(pageFrom, " a ").concat(pageTo, " registros de ").concat(totalRows, " registros en total (filtered from ").concat(totalNotFiltered, " total rows)");
}
return "Mostrando de ".concat(pageFrom, " a ").concat(pageTo, " registros de ").concat(totalRows, " registros en total");
},
formatSRPaginationPreText: function formatSRPaginationPreText() {
return 'previous page';
},
formatSRPaginationPageText: function formatSRPaginationPageText(page) {
return "to page ".concat(page);
},
formatSRPaginationNextText: function formatSRPaginationNextText() {
return 'next page';
},
formatDetailPagination: function formatDetailPagination(totalRows) {
return "Showing ".concat(totalRows, " rows");
},
formatClearSearch: function formatClearSearch() {
return 'Limpiar búsqueda';
},
formatSearch: function formatSearch() {
return 'Buscar';
},
formatNoMatches: function formatNoMatches() {
return 'No se encontraron registros';
},
formatPaginationSwitch: function formatPaginationSwitch() {
return 'Hide/Show pagination';
},
formatPaginationSwitchDown: function formatPaginationSwitchDown() {
return 'Show pagination';
},
formatPaginationSwitchUp: function formatPaginationSwitchUp() {
return 'Hide pagination';
},
formatRefresh: function formatRefresh() {
return 'Refrescar';
},
formatToggle: function formatToggle() {
return 'Alternar';
},
formatToggleOn: function formatToggleOn() {
return 'Show card view';
},
formatToggleOff: function formatToggleOff() {
return 'Hide card view';
},
formatColumns: function formatColumns() {
return 'Columnas';
},
formatColumnsToggleAll: function formatColumnsToggleAll() {
return 'Toggle all';
},
formatFullscreen: function formatFullscreen() {
return 'Fullscreen';
},
formatAllRows: function formatAllRows() {
return 'Todo';
},
formatAutoRefresh: function formatAutoRefresh() {
return 'Auto Refresh';
},
formatExport: function formatExport() {
return 'Export data';
},
formatJumpTo: function formatJumpTo() {
return 'GO';
},
formatAdvancedSearch: function formatAdvancedSearch() {
return 'Advanced search';
},
formatAdvancedCloseButton: function formatAdvancedCloseButton() {
return 'Close';
}
};
$.extend($.fn.bootstrapTable.defaults, $.fn.bootstrapTable.locales['es-CR']);
/**
* Bootstrap Table Spanish Spain translation
* Author: Marc Pina<iwalkalone69@gmail.com>
*/
$.fn.bootstrapTable.locales['es-ES'] = {
formatLoadingMessage: function formatLoadingMessage() {
return 'Por favor espere';
},
formatRecordsPerPage: function formatRecordsPerPage(pageNumber) {
return "".concat(pageNumber, " resultados por p\xE1gina");
},
formatShowingRows: function formatShowingRows(pageFrom, pageTo, totalRows, totalNotFiltered) {
if (totalNotFiltered !== undefined && totalNotFiltered > 0 && totalNotFiltered > totalRows) {
return "Mostrando desde ".concat(pageFrom, " hasta ").concat(pageTo, " - En total ").concat(totalRows, " resultados (filtered from ").concat(totalNotFiltered, " total rows)");
}
return "Mostrando desde ".concat(pageFrom, " hasta ").concat(pageTo, " - En total ").concat(totalRows, " resultados");
},
formatSRPaginationPreText: function formatSRPaginationPreText() {
return 'previous page';
},
formatSRPaginationPageText: function formatSRPaginationPageText(page) {
return "to page ".concat(page);
},
formatSRPaginationNextText: function formatSRPaginationNextText() {
return 'next page';
},
formatDetailPagination: function formatDetailPagination(totalRows) {
return "Showing ".concat(totalRows, " rows");
},
formatClearSearch: function formatClearSearch() {
return 'Limpiar búsqueda';
},
formatSearch: function formatSearch() {
return 'Buscar';
},
formatNoMatches: function formatNoMatches() {
return 'No se encontraron resultados';
},
formatPaginationSwitch: function formatPaginationSwitch() {
return 'Ocultar/Mostrar paginación';
},
formatPaginationSwitchDown: function formatPaginationSwitchDown() {
return 'Show pagination';
},
formatPaginationSwitchUp: function formatPaginationSwitchUp() {
return 'Hide pagination';
},
formatRefresh: function formatRefresh() {
return 'Refrescar';
},
formatToggle: function formatToggle() {
return 'Ocultar/Mostrar';
},
formatToggleOn: function formatToggleOn() {
return 'Show card view';
},
formatToggleOff: function formatToggleOff() {
return 'Hide card view';
},
formatColumns: function formatColumns() {
return 'Columnas';
},
formatColumnsToggleAll: function formatColumnsToggleAll() {
return 'Toggle all';
},
formatFullscreen: function formatFullscreen() {
return 'Fullscreen';
},
formatAllRows: function formatAllRows() {
return 'Todos';
},
formatAutoRefresh: function formatAutoRefresh() {
return 'Auto Refresh';
},
formatExport: function formatExport() {
return 'Exportar los datos';
},
formatJumpTo: function formatJumpTo() {
return 'GO';
},
formatAdvancedSearch: function formatAdvancedSearch() {
return 'Búsqueda avanzada';
},
formatAdvancedCloseButton: function formatAdvancedCloseButton() {
return 'Cerrar';
}
};
$.extend($.fn.bootstrapTable.defaults, $.fn.bootstrapTable.locales['es-ES']);
/**
* Bootstrap Table Spanish (México) translation (Obtenido de traducción de Argentina)
* Author: Felix Vera (felix.vera@gmail.com)
* Copiado: Mauricio Vera (mauricioa.vera@gmail.com)
* Revisión: J Manuel Corona (jmcg92@gmail.com) (13/Feb/2018).
*/
$.fn.bootstrapTable.locales['es-MX'] = {
formatLoadingMessage: function formatLoadingMessage() {
return 'Cargando, espere por favor';
},
formatRecordsPerPage: function formatRecordsPerPage(pageNumber) {
return "".concat(pageNumber, " registros por p\xE1gina");
},
formatShowingRows: function formatShowingRows(pageFrom, pageTo, totalRows, totalNotFiltered) {
if (totalNotFiltered !== undefined && totalNotFiltered > 0 && totalNotFiltered > totalRows) {
return "Mostrando ".concat(pageFrom, " a ").concat(pageTo, " de ").concat(totalRows, " filas (filtered from ").concat(totalNotFiltered, " total rows)");
}
return "Mostrando ".concat(pageFrom, " a ").concat(pageTo, " de ").concat(totalRows, " filas");
},
formatSRPaginationPreText: function formatSRPaginationPreText() {
return 'previous page';
},
formatSRPaginationPageText: function formatSRPaginationPageText(page) {
return "to page ".concat(page);
},
formatSRPaginationNextText: function formatSRPaginationNextText() {
return 'next page';
},
formatDetailPagination: function formatDetailPagination(totalRows) {
return "Mostrando ".concat(totalRows, " filas");
},
formatClearSearch: function formatClearSearch() {
return 'Limpiar búsqueda';
},
formatSearch: function formatSearch() {
return 'Buscar';
},
formatNoMatches: function formatNoMatches() {
return 'No se encontraron registros que coincidan';
},
formatPaginationSwitch: function formatPaginationSwitch() {
return 'Mostrar/ocultar paginación';
},
formatPaginationSwitchDown: function formatPaginationSwitchDown() {
return 'Show pagination';
},
formatPaginationSwitchUp: function formatPaginationSwitchUp() {
return 'Hide pagination';
},
formatRefresh: function formatRefresh() {
return 'Actualizar';
},
formatToggle: function formatToggle() {
return 'Cambiar vista';
},
formatToggleOn: function formatToggleOn() {
return 'Show card view';
},
formatToggleOff: function formatToggleOff() {
return 'Hide card view';
},
formatColumns: function formatColumns() {
return 'Columnas';
},
formatColumnsToggleAll: function formatColumnsToggleAll() {
return 'Toggle all';
},
formatFullscreen: function formatFullscreen() {
return 'Pantalla completa';
},
formatAllRows: function formatAllRows() {
return 'Todo';
},
formatAutoRefresh: function formatAutoRefresh() {
return 'Auto Refresh';
},
formatExport: function formatExport() {
return 'Export data';
},
formatJumpTo: function formatJumpTo() {
return 'GO';
},
formatAdvancedSearch: function formatAdvancedSearch() {
return 'Advanced search';
},
formatAdvancedCloseButton: function formatAdvancedCloseButton() {
return 'Close';
}
};
$.extend($.fn.bootstrapTable.defaults, $.fn.bootstrapTable.locales['es-MX']);
/**
* Bootstrap Table Spanish (Nicaragua) translation
* Author: Dennis Hernández (http://djhvscf.github.io/Blog/)
*/
$.fn.bootstrapTable.locales['es-NI'] = {
formatLoadingMessage: function formatLoadingMessage() {
return 'Cargando, por favor espere';
},
formatRecordsPerPage: function formatRecordsPerPage(pageNumber) {
return "".concat(pageNumber, " registros por p\xE1gina");
},
formatShowingRows: function formatShowingRows(pageFrom, pageTo, totalRows, totalNotFiltered) {
if (totalNotFiltered !== undefined && totalNotFiltered > 0 && totalNotFiltered > totalRows) {
return "Mostrando de ".concat(pageFrom, " a ").concat(pageTo, " registros de ").concat(totalRows, " registros en total (filtered from ").concat(totalNotFiltered, " total rows)");
}
return "Mostrando de ".concat(pageFrom, " a ").concat(pageTo, " registros de ").concat(totalRows, " registros en total");
},
formatSRPaginationPreText: function formatSRPaginationPreText() {
return 'previous page';
},
formatSRPaginationPageText: function formatSRPaginationPageText(page) {
return "to page ".concat(page);
},
formatSRPaginationNextText: function formatSRPaginationNextText() {
return 'next page';
},
formatDetailPagination: function formatDetailPagination(totalRows) {
return "Showing ".concat(totalRows, " rows");
},
formatClearSearch: function formatClearSearch() {
return 'Limpiar búsqueda';
},
formatSearch: function formatSearch() {
return 'Buscar';
},
formatNoMatches: function formatNoMatches() {
return 'No se encontraron registros';
},
formatPaginationSwitch: function formatPaginationSwitch() {
return 'Hide/Show pagination';
},
formatPaginationSwitchDown: function formatPaginationSwitchDown() {
return 'Show pagination';
},
formatPaginationSwitchUp: function formatPaginationSwitchUp() {
return 'Hide pagination';
},
formatRefresh: function formatRefresh() {
return 'Refrescar';
},
formatToggle: function formatToggle() {
return 'Alternar';
},
formatToggleOn: function formatToggleOn() {
return 'Show card view';
},
formatToggleOff: function formatToggleOff() {
return 'Hide card view';
},
formatColumns: function formatColumns() {
return 'Columnas';
},
formatColumnsToggleAll: function formatColumnsToggleAll() {
return 'Toggle all';
},
formatFullscreen: function formatFullscreen() {
return 'Fullscreen';
},
formatAllRows: function formatAllRows() {
return 'Todo';
},
formatAutoRefresh: function formatAutoRefresh() {
return 'Auto Refresh';
},
formatExport: function formatExport() {
return 'Export data';
},
formatJumpTo: function formatJumpTo() {
return 'GO';
},
formatAdvancedSearch: function formatAdvancedSearch() {
return 'Advanced search';
},
formatAdvancedCloseButton: function formatAdvancedCloseButton() {
return 'Close';
}
};
$.extend($.fn.bootstrapTable.defaults, $.fn.bootstrapTable.locales['es-NI']);
/**
* Bootstrap Table Spanish (España) translation
* Author: Antonio Pérez <anpegar@gmail.com>
*/
$.fn.bootstrapTable.locales['es-SP'] = {
formatLoadingMessage: function formatLoadingMessage() {
return 'Cargando, por favor espera';
},
formatRecordsPerPage: function formatRecordsPerPage(pageNumber) {
return "".concat(pageNumber, " registros por página.");
},
formatShowingRows: function formatShowingRows(pageFrom, pageTo, totalRows, totalNotFiltered) {
if (totalNotFiltered !== undefined && totalNotFiltered > 0 && totalNotFiltered > totalRows) {
return "".concat(pageFrom, " - ").concat(pageTo, " de ").concat(totalRows, " registros (filtered from ").concat(totalNotFiltered, " total rows)");
}
return "".concat(pageFrom, " - ").concat(pageTo, " de ").concat(totalRows, " registros.");
},
formatSRPaginationPreText: function formatSRPaginationPreText() {
return 'previous page';
},
formatSRPaginationPageText: function formatSRPaginationPageText(page) {
return "to page ".concat(page);
},
formatSRPaginationNextText: function formatSRPaginationNextText() {
return 'next page';
},
formatDetailPagination: function formatDetailPagination(totalRows) {
return "Showing ".concat(totalRows, " rows");
},
formatClearSearch: function formatClearSearch() {
return 'Limpiar búsqueda';
},
formatSearch: function formatSearch() {
return 'Buscar';
},
formatNoMatches: function formatNoMatches() {
return 'No se han encontrado registros.';
},
formatPaginationSwitch: function formatPaginationSwitch() {
return 'Hide/Show pagination';
},
formatPaginationSwitchDown: function formatPaginationSwitchDown() {
return 'Show pagination';
},
formatPaginationSwitchUp: function formatPaginationSwitchUp() {
return 'Hide pagination';
},
formatRefresh: function formatRefresh() {
return 'Actualizar';
},
formatToggle: function formatToggle() {
return 'Alternar';
},
formatToggleOn: function formatToggleOn() {
return 'Show card view';
},
formatToggleOff: function formatToggleOff() {
return 'Hide card view';
},
formatColumns: function formatColumns() {
return 'Columnas';
},
formatColumnsToggleAll: function formatColumnsToggleAll() {
return 'Toggle all';
},
formatFullscreen: function formatFullscreen() {
return 'Fullscreen';
},
formatAllRows: function formatAllRows() {
return 'Todo';
},
formatAutoRefresh: function formatAutoRefresh() {
return 'Auto Refresh';
},
formatExport: function formatExport() {
return 'Export data';
},
formatJumpTo: function formatJumpTo() {
return 'GO';
},
formatAdvancedSearch: function formatAdvancedSearch() {
return 'Advanced search';
},
formatAdvancedCloseButton: function formatAdvancedCloseButton() {
return 'Close';
}
};
$.extend($.fn.bootstrapTable.defaults, $.fn.bootstrapTable.locales['es-SP']);
/**
* Bootstrap Table Estonian translation
* Author: kristjan@logist.it>
*/
$.fn.bootstrapTable.locales['et-EE'] = {
formatLoadingMessage: function formatLoadingMessage() {
return 'Päring käib, palun oota';
},
formatRecordsPerPage: function formatRecordsPerPage(pageNumber) {
return "".concat(pageNumber, " rida lehe kohta");
},
formatShowingRows: function formatShowingRows(pageFrom, pageTo, totalRows, totalNotFiltered) {
if (totalNotFiltered !== undefined && totalNotFiltered > 0 && totalNotFiltered > totalRows) {
return "N\xE4itan tulemusi ".concat(pageFrom, " kuni ").concat(pageTo, " - kokku ").concat(totalRows, " tulemust (filtered from ").concat(totalNotFiltered, " total rows)");
}
return "N\xE4itan tulemusi ".concat(pageFrom, " kuni ").concat(pageTo, " - kokku ").concat(totalRows, " tulemust");
},
formatSRPaginationPreText: function formatSRPaginationPreText() {
return 'previous page';
},
formatSRPaginationPageText: function formatSRPaginationPageText(page) {
return "to page ".concat(page);
},
formatSRPaginationNextText: function formatSRPaginationNextText() {
return 'next page';
},
formatDetailPagination: function formatDetailPagination(totalRows) {
return "Showing ".concat(totalRows, " rows");
},
formatClearSearch: function formatClearSearch() {
return 'Clear Search';
},
formatSearch: function formatSearch() {
return 'Otsi';
},
formatNoMatches: function formatNoMatches() {
return 'Päringu tingimustele ei vastanud ühtegi tulemust';
},
formatPaginationSwitch: function formatPaginationSwitch() {
return 'Näita/Peida lehtedeks jagamine';
},
formatPaginationSwitchDown: function formatPaginationSwitchDown() {
return 'Show pagination';
},
formatPaginationSwitchUp: function formatPaginationSwitchUp() {
return 'Hide pagination';
},
formatRefresh: function formatRefresh() {
return 'Värskenda';
},
formatToggle: function formatToggle() {
return 'Lülita';
},
formatToggleOn: function formatToggleOn() {
return 'Show card view';
},
formatToggleOff: function formatToggleOff() {
return 'Hide card view';
},
formatColumns: function formatColumns() {
return 'Veerud';
},
formatColumnsToggleAll: function formatColumnsToggleAll() {
return 'Toggle all';
},
formatFullscreen: function formatFullscreen() {
return 'Fullscreen';
},
formatAllRows: function formatAllRows() {
return 'Kõik';
},
formatAutoRefresh: function formatAutoRefresh() {
return 'Auto Refresh';
},
formatExport: function formatExport() {
return 'Export data';
},
formatJumpTo: function formatJumpTo() {
return 'GO';
},
formatAdvancedSearch: function formatAdvancedSearch() {
return 'Advanced search';
},
formatAdvancedCloseButton: function formatAdvancedCloseButton() {
return 'Close';
}
};
$.extend($.fn.bootstrapTable.defaults, $.fn.bootstrapTable.locales['et-EE']);
/**
* Bootstrap Table Basque (Basque Country) translation
* Author: Iker Ibarguren Berasaluze<ikerib@gmail.com>
*/
$.fn.bootstrapTable.locales['eu-EU'] = {
formatLoadingMessage: function formatLoadingMessage() {
return 'Itxaron mesedez';
},
formatRecordsPerPage: function formatRecordsPerPage(pageNumber) {
return "".concat(pageNumber, " emaitza orriko.");
},
formatShowingRows: function formatShowingRows(pageFrom, pageTo, totalRows, totalNotFiltered) {
if (totalNotFiltered !== undefined && totalNotFiltered > 0 && totalNotFiltered > totalRows) {
return "".concat(totalRows, " erregistroetatik ").concat(pageFrom, "etik ").concat(pageTo, "erakoak erakusten (filtered from ").concat(totalNotFiltered, " total rows)");
}
return "".concat(totalRows, " erregistroetatik ").concat(pageFrom, "etik ").concat(pageTo, "erakoak erakusten.");
},
formatSRPaginationPreText: function formatSRPaginationPreText() {
return 'previous page';
},
formatSRPaginationPageText: function formatSRPaginationPageText(page) {
return "to page ".concat(page);
},
formatSRPaginationNextText: function formatSRPaginationNextText() {
return 'next page';
},
formatDetailPagination: function formatDetailPagination(totalRows) {
return "Showing ".concat(totalRows, " rows");
},
formatClearSearch: function formatClearSearch() {
return 'Clear Search';
},
formatSearch: function formatSearch() {
return 'Bilatu';
},
formatNoMatches: function formatNoMatches() {
return 'Ez da emaitzarik aurkitu';
},
formatPaginationSwitch: function formatPaginationSwitch() {
return 'Ezkutatu/Erakutsi orrikatzea';
},
formatPaginationSwitchDown: function formatPaginationSwitchDown() {
return 'Show pagination';
},
formatPaginationSwitchUp: function formatPaginationSwitchUp() {
return 'Hide pagination';
},
formatRefresh: function formatRefresh() {
return 'Eguneratu';
},
formatToggle: function formatToggle() {
return 'Ezkutatu/Erakutsi';
},
formatToggleOn: function formatToggleOn() {
return 'Show card view';
},
formatToggleOff: function formatToggleOff() {
return 'Hide card view';
},
formatColumns: function formatColumns() {
return 'Zutabeak';
},
formatColumnsToggleAll: function formatColumnsToggleAll() {
return 'Toggle all';
},
formatFullscreen: function formatFullscreen() {
return 'Fullscreen';
},
formatAllRows: function formatAllRows() {
return 'Guztiak';
},
formatAutoRefresh: function formatAutoRefresh() {
return 'Auto Refresh';
},
formatExport: function formatExport() {
return 'Export data';
},
formatJumpTo: function formatJumpTo() {
return 'GO';
},
formatAdvancedSearch: function formatAdvancedSearch() {
return 'Advanced search';
},
formatAdvancedCloseButton: function formatAdvancedCloseButton() {
return 'Close';
}
};
$.extend($.fn.bootstrapTable.defaults, $.fn.bootstrapTable.locales['eu-EU']);
/**
* Bootstrap Table Persian translation
* Author: MJ Vakili <mjv.1989@Gmail.com>
*/
$.fn.bootstrapTable.locales['fa-IR'] = {
formatLoadingMessage: function formatLoadingMessage() {
return 'در حال بارگذاری, لطفا صبر کنید';
},
formatRecordsPerPage: function formatRecordsPerPage(pageNumber) {
return "".concat(pageNumber, " \u0631\u06A9\u0648\u0631\u062F \u062F\u0631 \u0635\u0641\u062D\u0647");
},
formatShowingRows: function formatShowingRows(pageFrom, pageTo, totalRows, totalNotFiltered) {
if (totalNotFiltered !== undefined && totalNotFiltered > 0 && totalNotFiltered > totalRows) {
return "\u0646\u0645\u0627\u06CC\u0634 ".concat(pageFrom, " \u062A\u0627 ").concat(pageTo, " \u0627\u0632 ").concat(totalRows, " \u0631\u062F\u06CC\u0641 (filtered from ").concat(totalNotFiltered, " total rows)");
}
return "\u0646\u0645\u0627\u06CC\u0634 ".concat(pageFrom, " \u062A\u0627 ").concat(pageTo, " \u0627\u0632 ").concat(totalRows, " \u0631\u062F\u06CC\u0641");
},
formatSRPaginationPreText: function formatSRPaginationPreText() {
return 'previous page';
},
formatSRPaginationPageText: function formatSRPaginationPageText(page) {
return "to page ".concat(page);
},
formatSRPaginationNextText: function formatSRPaginationNextText() {
return 'next page';
},
formatDetailPagination: function formatDetailPagination(totalRows) {
return "Showing ".concat(totalRows, " rows");
},
formatClearSearch: function formatClearSearch() {
return 'Clear Search';
},
formatSearch: function formatSearch() {
return 'جستجو';
},
formatNoMatches: function formatNoMatches() {
return 'رکوردی یافت نشد.';
},
formatPaginationSwitch: function formatPaginationSwitch() {
return 'نمایش/مخفی صفحه بندی';
},
formatPaginationSwitchDown: function formatPaginationSwitchDown() {
return 'Show pagination';
},
formatPaginationSwitchUp: function formatPaginationSwitchUp() {
return 'Hide pagination';
},
formatRefresh: function formatRefresh() {
return 'به روز رسانی';
},
formatToggle: function formatToggle() {
return 'تغییر نمایش';
},
formatToggleOn: function formatToggleOn() {
return 'Show card view';
},
formatToggleOff: function formatToggleOff() {
return 'Hide card view';
},
formatColumns: function formatColumns() {
return 'سطر ها';
},
formatColumnsToggleAll: function formatColumnsToggleAll() {
return 'Toggle all';
},
formatFullscreen: function formatFullscreen() {
return 'Fullscreen';
},
formatAllRows: function formatAllRows() {
return 'همه';
},
formatAutoRefresh: function formatAutoRefresh() {
return 'Auto Refresh';
},
formatExport: function formatExport() {
return 'Export data';
},
formatJumpTo: function formatJumpTo() {
return 'GO';
},
formatAdvancedSearch: function formatAdvancedSearch() {
return 'Advanced search';
},
formatAdvancedCloseButton: function formatAdvancedCloseButton() {
return 'Close';
}
};
$.extend($.fn.bootstrapTable.defaults, $.fn.bootstrapTable.locales['fa-IR']);
/**
* Bootstrap Table Finnish translations
* Author: Minna Lehtomäki <minna.j.lehtomaki@gmail.com>
*/
$.fn.bootstrapTable.locales['fi-FI'] = {
formatLoadingMessage: function formatLoadingMessage() {
return 'Ladataan, ole hyvä ja odota';
},
formatRecordsPerPage: function formatRecordsPerPage(pageNumber) {
return "".concat(pageNumber, " rivi\xE4 sivulla");
},
formatShowingRows: function formatShowingRows(pageFrom, pageTo, totalRows, totalNotFiltered) {
if (totalNotFiltered !== undefined && totalNotFiltered > 0 && totalNotFiltered > totalRows) {
return "N\xE4ytet\xE4\xE4n rivit ".concat(pageFrom, " - ").concat(pageTo, " / ").concat(totalRows, " (filtered from ").concat(totalNotFiltered, " total rows)");
}
return "N\xE4ytet\xE4\xE4n rivit ".concat(pageFrom, " - ").concat(pageTo, " / ").concat(totalRows);
},
formatSRPaginationPreText: function formatSRPaginationPreText() {
return 'previous page';
},
formatSRPaginationPageText: function formatSRPaginationPageText(page) {
return "to page ".concat(page);
},
formatSRPaginationNextText: function formatSRPaginationNextText() {
return 'next page';
},
formatDetailPagination: function formatDetailPagination(totalRows) {
return "Showing ".concat(totalRows, " rows");
},
formatClearSearch: function formatClearSearch() {
return 'Poista suodattimet';
},
formatSearch: function formatSearch() {
return 'Hae';
},
formatNoMatches: function formatNoMatches() {
return 'Hakuehtoja vastaavia tuloksia ei löytynyt';
},
formatPaginationSwitch: function formatPaginationSwitch() {
return 'Näytä/Piilota sivutus';
},
formatPaginationSwitchDown: function formatPaginationSwitchDown() {
return 'Show pagination';
},
formatPaginationSwitchUp: function formatPaginationSwitchUp() {
return 'Hide pagination';
},
formatRefresh: function formatRefresh() {
return 'Päivitä';
},
formatToggle: function formatToggle() {
return 'Valitse';
},
formatToggleOn: function formatToggleOn() {
return 'Show card view';
},
formatToggleOff: function formatToggleOff() {
return 'Hide card view';
},
formatColumns: function formatColumns() {
return 'Sarakkeet';
},
formatColumnsToggleAll: function formatColumnsToggleAll() {
return 'Toggle all';
},
formatFullscreen: function formatFullscreen() {
return 'Fullscreen';
},
formatAllRows: function formatAllRows() {
return 'Kaikki';
},
formatAutoRefresh: function formatAutoRefresh() {
return 'Auto Refresh';
},
formatExport: function formatExport() {
return 'Vie tiedot';
},
formatJumpTo: function formatJumpTo() {
return 'GO';
},
formatAdvancedSearch: function formatAdvancedSearch() {
return 'Advanced search';
},
formatAdvancedCloseButton: function formatAdvancedCloseButton() {
return 'Close';
}
};
$.extend($.fn.bootstrapTable.defaults, $.fn.bootstrapTable.locales['fi-FI']);
/**
* Bootstrap Table French (Belgium) translation
* Author: Julien Bisconti (julien.bisconti@gmail.com)
* Nevets82 <Nevets82@gmail.com>
*/
$.fn.bootstrapTable.locales['fr-BE'] = {
formatLoadingMessage: function formatLoadingMessage() {
return 'Chargement en cours';
},
formatRecordsPerPage: function formatRecordsPerPage(pageNumber) {
return "".concat(pageNumber, " lignes par page");
},
formatShowingRows: function formatShowingRows(pageFrom, pageTo, totalRows, totalNotFiltered) {
if (totalNotFiltered !== undefined && totalNotFiltered > 0 && totalNotFiltered > totalRows) {
return "Affiche de ".concat(pageFrom, " \xE0 ").concat(pageTo, " sur ").concat(totalRows, " lignes (filtr\xE9s \xE0 partir de ").concat(totalNotFiltered, " lignes)");
}
return "Affiche de ".concat(pageFrom, " \xE0 ").concat(pageTo, " sur ").concat(totalRows, " lignes");
},
formatSRPaginationPreText: function formatSRPaginationPreText() {
return 'page précédente';
},
formatSRPaginationPageText: function formatSRPaginationPageText(page) {
return "vers la page ".concat(page);
},
formatSRPaginationNextText: function formatSRPaginationNextText() {
return 'page suivante';
},
formatDetailPagination: function formatDetailPagination(totalRows) {
return "Affiche ".concat(totalRows, " lignes");
},
formatClearSearch: function formatClearSearch() {
return 'Effacer la recherche';
},
formatSearch: function formatSearch() {
return 'Recherche';
},
formatNoMatches: function formatNoMatches() {
return 'Pas de lignes trouvés';
},
formatPaginationSwitch: function formatPaginationSwitch() {
return 'Cacher/Afficher pagination';
},
formatPaginationSwitchDown: function formatPaginationSwitchDown() {
return 'Afficher pagination';
},
formatPaginationSwitchUp: function formatPaginationSwitchUp() {
return 'Cacher pagination';
},
formatRefresh: function formatRefresh() {
return 'Rafraichir';
},
formatToggle: function formatToggle() {
return 'Basculer';
},
formatToggleOn: function formatToggleOn() {
return 'Afficher vue carte';
},
formatToggleOff: function formatToggleOff() {
return 'Cacher vue carte';
},
formatColumns: function formatColumns() {
return 'Colonnes';
},
formatColumnsToggleAll: function formatColumnsToggleAll() {
return 'Tout basculer';
},
formatFullscreen: function formatFullscreen() {
return 'Plein écran';
},
formatAllRows: function formatAllRows() {
return 'Tout';
},
formatAutoRefresh: function formatAutoRefresh() {
return 'Rafraîchissement automatique';
},
formatExport: function formatExport() {
return 'Exporter les données';
},
formatJumpTo: function formatJumpTo() {
return 'Aller à';
},
formatAdvancedSearch: function formatAdvancedSearch() {
return 'Recherche avancée';
},
formatAdvancedCloseButton: function formatAdvancedCloseButton() {
return 'Fermer';
}
};
$.extend($.fn.bootstrapTable.defaults, $.fn.bootstrapTable.locales['fr-BE']);
/**
* Bootstrap Table French (Suisse) translation
* Author: Nevets82 <Nevets82@gmail.com>
*/
$.fn.bootstrapTable.locales['fr-CH'] = {
formatLoadingMessage: function formatLoadingMessage() {
return 'Chargement en cours';
},
formatRecordsPerPage: function formatRecordsPerPage(pageNumber) {
return "".concat(pageNumber, " lignes par page");
},
formatShowingRows: function formatShowingRows(pageFrom, pageTo, totalRows, totalNotFiltered) {
if (totalNotFiltered !== undefined && totalNotFiltered > 0 && totalNotFiltered > totalRows) {
return "Affiche de ".concat(pageFrom, " \xE0 ").concat(pageTo, " sur ").concat(totalRows, " lignes (filtr\xE9s \xE0 partir de ").concat(totalNotFiltered, " lignes)");
}
return "Affiche de ".concat(pageFrom, " \xE0 ").concat(pageTo, " sur ").concat(totalRows, " lignes");
},
formatSRPaginationPreText: function formatSRPaginationPreText() {
return 'page précédente';
},
formatSRPaginationPageText: function formatSRPaginationPageText(page) {
return "vers la page ".concat(page);
},
formatSRPaginationNextText: function formatSRPaginationNextText() {
return 'page suivante';
},
formatDetailPagination: function formatDetailPagination(totalRows) {
return "Affiche ".concat(totalRows, " lignes");
},
formatClearSearch: function formatClearSearch() {
return 'Effacer la recherche';
},
formatSearch: function formatSearch() {
return 'Recherche';
},
formatNoMatches: function formatNoMatches() {
return 'Pas de lignes trouvés';
},
formatPaginationSwitch: function formatPaginationSwitch() {
return 'Cacher/Afficher pagination';
},
formatPaginationSwitchDown: function formatPaginationSwitchDown() {
return 'Afficher pagination';
},
formatPaginationSwitchUp: function formatPaginationSwitchUp() {
return 'Cacher pagination';
},
formatRefresh: function formatRefresh() {
return 'Rafraichir';
},
formatToggle: function formatToggle() {
return 'Basculer';
},
formatToggleOn: function formatToggleOn() {
return 'Afficher vue carte';
},
formatToggleOff: function formatToggleOff() {
return 'Cacher vue carte';
},
formatColumns: function formatColumns() {
return 'Colonnes';
},
formatColumnsToggleAll: function formatColumnsToggleAll() {
return 'Tout basculer';
},
formatFullscreen: function formatFullscreen() {
return 'Plein écran';
},
formatAllRows: function formatAllRows() {
return 'Tout';
},
formatAutoRefresh: function formatAutoRefresh() {
return 'Rafraîchissement automatique';
},
formatExport: function formatExport() {
return 'Exporter les données';
},
formatJumpTo: function formatJumpTo() {
return 'Aller à';
},
formatAdvancedSearch: function formatAdvancedSearch() {
return 'Recherche avancée';
},
formatAdvancedCloseButton: function formatAdvancedCloseButton() {
return 'Fermer';
}
};
$.extend($.fn.bootstrapTable.defaults, $.fn.bootstrapTable.locales['fr-CH']);
/**
* Bootstrap Table French (France) translation
* Author: Dennis Hernández (http://djhvscf.github.io/Blog/)
* Tidalf (https://github.com/TidalfFR)
* Nevets82 <Nevets82@gmail.com>
*/
$.fn.bootstrapTable.locales['fr-FR'] = {
formatLoadingMessage: function formatLoadingMessage() {
return 'Chargement en cours';
},
formatRecordsPerPage: function formatRecordsPerPage(pageNumber) {
return "".concat(pageNumber, " lignes par page");
},
formatShowingRows: function formatShowingRows(pageFrom, pageTo, totalRows, totalNotFiltered) {
if (totalNotFiltered !== undefined && totalNotFiltered > 0 && totalNotFiltered > totalRows) {
return "Affiche de ".concat(pageFrom, " \xE0 ").concat(pageTo, " sur ").concat(totalRows, " lignes (filtr\xE9s \xE0 partir de ").concat(totalNotFiltered, " lignes)");
}
return "Affiche de ".concat(pageFrom, " \xE0 ").concat(pageTo, " sur ").concat(totalRows, " lignes");
},
formatSRPaginationPreText: function formatSRPaginationPreText() {
return 'page précédente';
},
formatSRPaginationPageText: function formatSRPaginationPageText(page) {
return "vers la page ".concat(page);
},
formatSRPaginationNextText: function formatSRPaginationNextText() {
return 'page suivante';
},
formatDetailPagination: function formatDetailPagination(totalRows) {
return "Affiche ".concat(totalRows, " lignes");
},
formatClearSearch: function formatClearSearch() {
return 'Effacer la recherche';
},
formatSearch: function formatSearch() {
return 'Recherche';
},
formatNoMatches: function formatNoMatches() {
return 'Pas de lignes trouvés';
},
formatPaginationSwitch: function formatPaginationSwitch() {
return 'Cacher/Afficher pagination';
},
formatPaginationSwitchDown: function formatPaginationSwitchDown() {
return 'Afficher pagination';
},
formatPaginationSwitchUp: function formatPaginationSwitchUp() {
return 'Cach
gitextract_q1xzow4c/
├── .gitattributes
├── .idea/
│ ├── .gitignore
│ ├── goadmin.iml
│ ├── misc.xml
│ └── modules.xml
├── License
├── README.en.md
├── README.md
├── boot/
│ ├── boot.go
│ └── module.go
├── config/
│ └── config.toml
├── go.mod
├── go.sum
├── main.go
├── middleware/
│ └── rtoken/
│ ├── rtoken.go
│ ├── rtoken_cache.go
│ └── rtoken_resp.go
├── module/
│ ├── home/
│ │ ├── config/
│ │ │ └── router.go
│ │ ├── controller/
│ │ │ └── dashboard_controller.go
│ │ └── module.go
│ ├── public/
│ │ ├── config/
│ │ │ └── router.go
│ │ ├── controller/
│ │ │ └── login_controller.go
│ │ ├── model/
│ │ │ └── sys_login_user_model.go
│ │ └── module.go
│ └── sys/
│ ├── config/
│ │ └── router.go
│ ├── controller/
│ │ ├── sys_config_controller.go
│ │ ├── sys_oss_controller.go
│ │ └── sys_user_controller.go
│ ├── model/
│ │ ├── sys_config_model.go
│ │ ├── sys_oss_cloud.go
│ │ ├── sys_oss_model.go
│ │ └── sys_user_model.go
│ └── module.go
├── public/
│ ├── modules/
│ │ ├── common.js
│ │ └── sys/
│ │ ├── config.js
│ │ ├── oss.js
│ │ └── user.js
│ ├── plugins/
│ │ ├── ajaxupload/
│ │ │ └── ajaxupload.js
│ │ └── table/
│ │ ├── bootstrap-table-locale-all.js
│ │ ├── bootstrap-table-vue.esm.js
│ │ ├── bootstrap-table-vue.js
│ │ ├── bootstrap-table.css
│ │ ├── bootstrap-table.js
│ │ ├── extensions/
│ │ │ ├── accent-neutralise/
│ │ │ │ └── bootstrap-table-accent-neutralise.js
│ │ │ ├── addrbar/
│ │ │ │ └── bootstrap-table-addrbar.js
│ │ │ ├── auto-refresh/
│ │ │ │ └── bootstrap-table-auto-refresh.js
│ │ │ ├── cell-input/
│ │ │ │ ├── bootstrap-table-cell-input.css
│ │ │ │ └── bootstrap-table-cell-input.js
│ │ │ ├── cookie/
│ │ │ │ └── bootstrap-table-cookie.js
│ │ │ ├── copy-rows/
│ │ │ │ └── bootstrap-table-copy-rows.js
│ │ │ ├── defer-url/
│ │ │ │ └── bootstrap-table-defer-url.js
│ │ │ ├── editable/
│ │ │ │ └── bootstrap-table-editable.js
│ │ │ ├── export/
│ │ │ │ └── bootstrap-table-export.js
│ │ │ ├── filter-control/
│ │ │ │ ├── bootstrap-table-filter-control.css
│ │ │ │ └── bootstrap-table-filter-control.js
│ │ │ ├── fixed-columns/
│ │ │ │ ├── bootstrap-table-fixed-columns.css
│ │ │ │ └── bootstrap-table-fixed-columns.js
│ │ │ ├── group-by-v2/
│ │ │ │ ├── bootstrap-table-group-by.css
│ │ │ │ └── bootstrap-table-group-by.js
│ │ │ ├── i18n-enhance/
│ │ │ │ └── bootstrap-table-i18n-enhance.js
│ │ │ ├── key-events/
│ │ │ │ └── bootstrap-table-key-events.js
│ │ │ ├── mobile/
│ │ │ │ └── bootstrap-table-mobile.js
│ │ │ ├── multiple-sort/
│ │ │ │ └── bootstrap-table-multiple-sort.js
│ │ │ ├── natural-sorting/
│ │ │ │ └── bootstrap-table-natural-sorting.js
│ │ │ ├── page-jump-to/
│ │ │ │ ├── bootstrap-table-page-jump-to.css
│ │ │ │ └── bootstrap-table-page-jump-to.js
│ │ │ ├── pipeline/
│ │ │ │ └── bootstrap-table-pipeline.js
│ │ │ ├── print/
│ │ │ │ └── bootstrap-table-print.js
│ │ │ ├── reorder-columns/
│ │ │ │ └── bootstrap-table-reorder-columns.js
│ │ │ ├── reorder-rows/
│ │ │ │ ├── bootstrap-table-reorder-rows.css
│ │ │ │ └── bootstrap-table-reorder-rows.js
│ │ │ ├── resizable/
│ │ │ │ └── bootstrap-table-resizable.js
│ │ │ ├── sticky-header/
│ │ │ │ ├── bootstrap-table-sticky-header.css
│ │ │ │ └── bootstrap-table-sticky-header.js
│ │ │ ├── toolbar/
│ │ │ │ └── bootstrap-table-toolbar.js
│ │ │ └── treegrid/
│ │ │ └── bootstrap-table-treegrid.js
│ │ ├── locale/
│ │ │ ├── bootstrap-table-af-ZA.js
│ │ │ ├── bootstrap-table-ar-SA.js
│ │ │ ├── bootstrap-table-ca-ES.js
│ │ │ ├── bootstrap-table-cs-CZ.js
│ │ │ ├── bootstrap-table-da-DK.js
│ │ │ ├── bootstrap-table-de-DE.js
│ │ │ ├── bootstrap-table-el-GR.js
│ │ │ ├── bootstrap-table-en-US.js
│ │ │ ├── bootstrap-table-es-AR.js
│ │ │ ├── bootstrap-table-es-CL.js
│ │ │ ├── bootstrap-table-es-CR.js
│ │ │ ├── bootstrap-table-es-ES.js
│ │ │ ├── bootstrap-table-es-MX.js
│ │ │ ├── bootstrap-table-es-NI.js
│ │ │ ├── bootstrap-table-es-SP.js
│ │ │ ├── bootstrap-table-et-EE.js
│ │ │ ├── bootstrap-table-eu-EU.js
│ │ │ ├── bootstrap-table-fa-IR.js
│ │ │ ├── bootstrap-table-fi-FI.js
│ │ │ ├── bootstrap-table-fr-BE.js
│ │ │ ├── bootstrap-table-fr-CH.js
│ │ │ ├── bootstrap-table-fr-FR.js
│ │ │ ├── bootstrap-table-fr-LU.js
│ │ │ ├── bootstrap-table-he-IL.js
│ │ │ ├── bootstrap-table-hr-HR.js
│ │ │ ├── bootstrap-table-hu-HU.js
│ │ │ ├── bootstrap-table-id-ID.js
│ │ │ ├── bootstrap-table-it-IT.js
│ │ │ ├── bootstrap-table-ja-JP.js
│ │ │ ├── bootstrap-table-ka-GE.js
│ │ │ ├── bootstrap-table-ko-KR.js
│ │ │ ├── bootstrap-table-ms-MY.js
│ │ │ ├── bootstrap-table-nb-NO.js
│ │ │ ├── bootstrap-table-nl-BE.js
│ │ │ ├── bootstrap-table-nl-NL.js
│ │ │ ├── bootstrap-table-pl-PL.js
│ │ │ ├── bootstrap-table-pt-BR.js
│ │ │ ├── bootstrap-table-pt-PT.js
│ │ │ ├── bootstrap-table-ro-RO.js
│ │ │ ├── bootstrap-table-ru-RU.js
│ │ │ ├── bootstrap-table-sk-SK.js
│ │ │ ├── bootstrap-table-sr-Cyrl-RS.js
│ │ │ ├── bootstrap-table-sr-Latn-RS.js
│ │ │ ├── bootstrap-table-sv-SE.js
│ │ │ ├── bootstrap-table-th-TH.js
│ │ │ ├── bootstrap-table-tr-TR.js
│ │ │ ├── bootstrap-table-uk-UA.js
│ │ │ ├── bootstrap-table-ur-PK.js
│ │ │ ├── bootstrap-table-uz-Latn-UZ.js
│ │ │ ├── bootstrap-table-vi-VN.js
│ │ │ ├── bootstrap-table-zh-CN.js
│ │ │ └── bootstrap-table-zh-TW.js
│ │ └── themes/
│ │ ├── bulma/
│ │ │ ├── bootstrap-table-bulma.css
│ │ │ └── bootstrap-table-bulma.js
│ │ ├── foundation/
│ │ │ ├── bootstrap-table-foundation.css
│ │ │ └── bootstrap-table-foundation.js
│ │ ├── materialize/
│ │ │ ├── bootstrap-table-materialize.css
│ │ │ └── bootstrap-table-materialize.js
│ │ └── semantic/
│ │ ├── bootstrap-table-semantic.css
│ │ └── bootstrap-table-semantic.js
│ └── stisla/
│ ├── css/
│ │ ├── components.css
│ │ ├── custom.css
│ │ ├── reverse.css
│ │ ├── rtl.css
│ │ ├── skins/
│ │ │ └── reverse.css
│ │ └── style.css
│ ├── fonts/
│ │ └── vazir/
│ │ ├── LICENSE
│ │ └── font-face.css
│ └── js/
│ ├── custom.js
│ ├── page/
│ │ ├── auth-register.js
│ │ ├── bootstrap-modal.js
│ │ ├── components-chat-box.js
│ │ ├── components-multiple-upload.js
│ │ ├── components-statistic.js
│ │ ├── components-table.js
│ │ ├── components-user.js
│ │ ├── features-post-create.js
│ │ ├── features-posts.js
│ │ ├── features-setting-detail.js
│ │ ├── forms-advanced-forms.js
│ │ ├── gmaps-advanced-route.js
│ │ ├── gmaps-draggable-marker.js
│ │ ├── gmaps-geocoding.js
│ │ ├── gmaps-geolocation.js
│ │ ├── gmaps-marker.js
│ │ ├── gmaps-multiple-marker.js
│ │ ├── gmaps-route.js
│ │ ├── gmaps-simple.js
│ │ ├── index-0.js
│ │ ├── index.js
│ │ ├── modules-calendar.js
│ │ ├── modules-chartjs.js
│ │ ├── modules-datatables.js
│ │ ├── modules-ion-icons.js
│ │ ├── modules-slider.js
│ │ ├── modules-sparkline.js
│ │ ├── modules-sweetalert.js
│ │ ├── modules-toastr.js
│ │ ├── modules-vector-map.js
│ │ └── utilities-contact.js
│ ├── scripts.js
│ └── stisla.js
├── sql/
│ └── goadmin.sql
├── template/
│ ├── home/
│ │ └── index.html
│ ├── layout/
│ │ ├── footer.html
│ │ ├── header.html
│ │ └── nav.html
│ ├── public/
│ │ └── login.html
│ └── sys/
│ ├── config.html
│ ├── oss.html
│ └── user.html
└── utils/
├── base/
│ ├── baseForm.go
│ ├── baseModel.go
│ └── baseRouter.go
├── bean/
│ └── SessionUser.go
├── cloud/
│ └── oss.go
├── resp/
│ └── resp.go
├── time.go
└── tools/
├── gid.go
└── redis.go
SYMBOL INDEX (582 symbols across 124 files)
FILE: boot/boot.go
function init (line 13) | func init() {
function InitConfig (line 31) | func InitConfig() {
FILE: boot/module.go
function InitModules (line 9) | func InitModules() {
FILE: main.go
function main (line 8) | func main() {
FILE: middleware/rtoken/rtoken.go
constant CacheModeCache (line 19) | CacheModeCache = 1
constant CacheModeRedis (line 20) | CacheModeRedis = 2
type RfToken (line 24) | type RfToken struct
method Init (line 62) | func (m *RfToken) Init() bool {
method Start (line 159) | func (m *RfToken) Start() bool {
method Stop (line 204) | func (m *RfToken) Stop() bool {
method GetTokenData (line 210) | func (m *RfToken) GetTokenData(r *ghttp.Request) Resp {
method Login (line 221) | func (m *RfToken) Login(r *ghttp.Request) {
method Logout (line 232) | func (m *RfToken) Logout(r *ghttp.Request) {
method AuthMiddleware (line 246) | func (m *RfToken) AuthMiddleware(r *ghttp.Request) {
method getRequestToken (line 265) | func (m *RfToken) getRequestToken(r *ghttp.Request) Resp {
method genToken (line 293) | func (m *RfToken) genToken(userKey string, data interface{}) Resp {
method validToken (line 317) | func (m *RfToken) validToken(token string) Resp {
method removeToken (line 357) | func (m *RfToken) removeToken(token string) Resp {
method EncryptToken (line 368) | func (m *RfToken) EncryptToken(userKey string) Resp {
method DecryptToken (line 394) | func (m *RfToken) DecryptToken(token string) Resp {
method String (line 422) | func (m *RfToken) String() string {
FILE: middleware/rtoken/rtoken_cache.go
method setCache (line 13) | func (m *RfToken) setCache(cacheKey string, userCache g.Map) Resp {
method getCache (line 36) | func (m *RfToken) getCache(cacheKey string) Resp {
method removeCache (line 68) | func (m *RfToken) removeCache(cacheKey string) Resp {
FILE: middleware/rtoken/rtoken_resp.go
constant SUCCESS (line 9) | SUCCESS = 0
constant FAIL (line 10) | FAIL = -1
constant ERROR (line 11) | ERROR = -99
constant UNAUTHORIZED (line 12) | UNAUTHORIZED = -401
constant TypeConfig (line 14) | TypeConfig = 1
constant TypeDict (line 16) | TypeDict = 2
type Resp (line 19) | type Resp struct
method Success (line 26) | func (resp Resp) Success() bool {
method DataString (line 31) | func (resp Resp) DataString() string {
method DataInt (line 36) | func (resp Resp) DataInt() int {
method GetString (line 41) | func (resp Resp) GetString(key string) string {
method GetInt (line 46) | func (resp Resp) GetInt(key string) int {
method Get (line 51) | func (resp Resp) Get(key string) interface{} {
method Json (line 59) | func (resp Resp) Json() string {
function Succ (line 65) | func Succ(data interface{}) Resp {
function Fail (line 70) | func Fail(msg string) Resp {
function FailData (line 75) | func FailData(msg string, data interface{}) Resp {
function Error (line 80) | func Error(msg string) Resp {
function ErrorData (line 85) | func ErrorData(msg string, data interface{}) Resp {
function Unauthorized (line 90) | func Unauthorized(msg string, data interface{}) Resp {
FILE: module/home/config/router.go
function InitRouter (line 9) | func InitRouter() {
FILE: module/home/controller/dashboard_controller.go
type DashboardController (line 9) | type DashboardController struct
method Index (line 13) | func (controller *DashboardController) Index(r *ghttp.Request) {
FILE: module/home/module.go
function InitModule (line 5) | func InitModule() {
FILE: module/public/config/router.go
function InitRouter (line 8) | func InitRouter() {
FILE: module/public/controller/login_controller.go
function Login (line 15) | func Login(r *ghttp.Request) {
function LoginSubmit (line 24) | func LoginSubmit(r *ghttp.Request) (string, interface{}) {
function LoginAfter (line 55) | func LoginAfter(r *ghttp.Request, respData rtoken.Resp) {
function LogoutBefore (line 67) | func LogoutBefore(r *ghttp.Request) bool {
FILE: module/public/model/sys_login_user_model.go
type SysLoginUser (line 21) | type SysLoginUser struct
method GetUserByMobile (line 33) | func (model SysLoginUser) GetUserByMobile() SysLoginUser {
method dbModel (line 45) | func (model SysLoginUser) dbModel(alias ...string) *gdb.Model {
method PkVal (line 55) | func (model SysLoginUser) PkVal() int {
method TableName (line 60) | func (model SysLoginUser) TableName() string {
method columns (line 65) | func (model SysLoginUser) columns() string {
FILE: module/public/module.go
function InitModule (line 5) | func InitModule() {
FILE: module/sys/config/router.go
function InitRouter (line 17) | func InitRouter() {
FILE: module/sys/controller/sys_config_controller.go
type SysConfigController (line 21) | type SysConfigController struct
method Index (line 30) | func (controller *SysConfigController) Index(r *ghttp.Request) {
method Get (line 35) | func (controller *SysConfigController) Get(r *ghttp.Request) {
method Delete (line 45) | func (controller *SysConfigController) Delete(r *ghttp.Request) {
method Save (line 55) | func (controller *SysConfigController) Save(r *ghttp.Request) {
method Update (line 77) | func (controller *SysConfigController) Update(r *ghttp.Request) {
method Page (line 99) | func (controller *SysConfigController) Page(r *ghttp.Request) {
FILE: module/sys/controller/sys_oss_controller.go
type SysOssController (line 25) | type SysOssController struct
method Index (line 35) | func (controller *SysOssController) Index(r *ghttp.Request) {
method Get (line 40) | func (controller *SysOssController) Get(r *ghttp.Request) {
method Delete (line 50) | func (controller *SysOssController) Delete(r *ghttp.Request) {
method Save (line 60) | func (controller *SysOssController) Save(r *ghttp.Request) {
method Update (line 82) | func (controller *SysOssController) Update(r *ghttp.Request) {
method Page (line 104) | func (controller *SysOssController) Page(r *ghttp.Request) {
method GetConfig (line 112) | func (controller *SysOssController) GetConfig(r *ghttp.Request) {
method SaveConfig (line 121) | func (controller *SysOssController) SaveConfig(r *ghttp.Request) {
method Upload (line 146) | func (controller *SysOssController) Upload(r *ghttp.Request) {
FILE: module/sys/controller/sys_user_controller.go
type SysUserController (line 23) | type SysUserController struct
method Index (line 32) | func (controller *SysUserController) Index(r *ghttp.Request) {
method Get (line 37) | func (controller *SysUserController) Get(r *ghttp.Request) {
method Delete (line 47) | func (controller *SysUserController) Delete(r *ghttp.Request) {
method Save (line 57) | func (controller *SysUserController) Save(r *ghttp.Request) {
method Update (line 88) | func (controller *SysUserController) Update(r *ghttp.Request) {
method Page (line 119) | func (controller *SysUserController) Page(r *ghttp.Request) {
FILE: module/sys/model/sys_config_model.go
type SysConfig (line 24) | type SysConfig struct
method Insert (line 35) | func (model *SysConfig) Insert() int64 {
method Delete (line 63) | func (model SysConfig) Delete() int64 {
method Update (line 83) | func (model *SysConfig) Update() int64 {
method UpdateByKey (line 99) | func (model *SysConfig) UpdateByKey() int64 {
method GetByKey (line 116) | func (model SysConfig) GetByKey() SysConfig {
method Get (line 132) | func (model SysConfig) Get() SysConfig {
method Page (line 147) | func (model SysConfig) Page(form *base.BaseForm) []SysConfig {
method dbModel (line 182) | func (model SysConfig) dbModel(alias ...string) *gdb.Model {
method PkVal (line 192) | func (model SysConfig) PkVal() int {
method TableName (line 197) | func (model SysConfig) TableName() string {
method columns (line 202) | func (model SysConfig) columns() string {
FILE: module/sys/model/sys_oss_cloud.go
type SysOssCloud (line 3) | type SysOssCloud struct
FILE: module/sys/model/sys_oss_model.go
type SysOss (line 23) | type SysOss struct
method Insert (line 32) | func (model *SysOss) Insert() int64 {
method Delete (line 59) | func (model SysOss) Delete() int64 {
method Update (line 78) | func (model *SysOss) Update() int64 {
method Get (line 94) | func (model SysOss) Get() SysOss {
method Page (line 109) | func (model SysOss) Page(form *base.BaseForm) []SysOss {
method dbModel (line 144) | func (model SysOss) dbModel(alias ...string) *gdb.Model {
method PkVal (line 154) | func (model SysOss) PkVal() int {
method TableName (line 159) | func (model SysOss) TableName() string {
method columns (line 164) | func (model SysOss) columns() string {
FILE: module/sys/model/sys_user_model.go
type SysUser (line 24) | type SysUser struct
method Insert (line 36) | func (model *SysUser) Insert() int64 {
method Delete (line 63) | func (model SysUser) Delete() int64 {
method Update (line 82) | func (model *SysUser) Update() int64 {
method Get (line 98) | func (model SysUser) Get() SysUser {
method Page (line 113) | func (model SysUser) Page(form *base.BaseForm) []SysUser {
method dbModel (line 149) | func (model SysUser) dbModel(alias ...string) *gdb.Model {
method PkVal (line 159) | func (model SysUser) PkVal() int {
method TableName (line 164) | func (model SysUser) TableName() string {
method columns (line 169) | func (model SysUser) columns() string {
FILE: module/sys/module.go
function InitModule (line 13) | func InitModule() {
FILE: public/modules/common.js
function getSelectedRow (line 59) | function getSelectedRow() {
function getSelectedRows (line 78) | function getSelectedRows() {
function isBlank (line 94) | function isBlank(value) {
FILE: public/modules/sys/config.js
function addButtonFunc (line 3) | function addButtonFunc(value, row, index) {
function queryParams (line 79) | function queryParams(params) {
FILE: public/modules/sys/oss.js
function addButtonFunc (line 3) | function addButtonFunc(value, row, index) {
function queryParams (line 66) | function queryParams(params) {
FILE: public/modules/sys/user.js
function addButtonFunc (line 3) | function addButtonFunc(value, row, index) {
function queryParams (line 75) | function queryParams(params) {
FILE: public/plugins/ajaxupload/ajaxupload.js
function log (line 14) | function log(){
function addEvent (line 27) | function addEvent(el, type, fn){
function addResizeEvent (line 49) | function addResizeEvent(fn){
function getBox (line 116) | function getBox(el){
function addStyles (line 139) | function addStyles(el, styles){
function copyLayout (line 154) | function copyLayout(from, to){
function fileFromPath (line 195) | function fileFromPath(file){
function getExt (line 204) | function getExt(file){
function hasClass (line 208) | function hasClass(el, name){
function addClass (line 212) | function addClass(el, name){
function removeClass (line 217) | function removeClass(el, name){
function removeNode (line 222) | function removeNode(el){
FILE: public/plugins/table/bootstrap-table-locale-all.js
function createCommonjsModule (line 11) | function createCommonjsModule(fn, module) {
FILE: public/plugins/table/bootstrap-table-vue.esm.js
function createCommonjsModule (line 3) | function createCommonjsModule(fn, module) {
function F (line 1155) | function F() { /* empty */ }
function _defineProperty (line 1515) | function _defineProperty(obj, key, value) {
function _objectSpread (line 1530) | function _objectSpread(target) {
function _toConsumableArray (line 1549) | function _toConsumableArray(arr) {
function _arrayWithoutHoles (line 1553) | function _arrayWithoutHoles(arr) {
function _iterableToArray (line 1561) | function _iterableToArray(iter) {
function _nonIterableSpread (line 1565) | function _nonIterableSpread() {
function normalizeComponent (line 1686) | function normalizeComponent(template, style, script, scopeId, isFunction...
FILE: public/plugins/table/bootstrap-table-vue.js
function createCommonjsModule (line 9) | function createCommonjsModule(fn, module) {
function F (line 1161) | function F() { /* empty */ }
function _defineProperty (line 1521) | function _defineProperty(obj, key, value) {
function _objectSpread (line 1536) | function _objectSpread(target) {
function _toConsumableArray (line 1555) | function _toConsumableArray(arr) {
function _arrayWithoutHoles (line 1559) | function _arrayWithoutHoles(arr) {
function _iterableToArray (line 1567) | function _iterableToArray(iter) {
function _nonIterableSpread (line 1571) | function _nonIterableSpread() {
function normalizeComponent (line 1692) | function normalizeComponent(template, style, script, scopeId, isFunction...
FILE: public/plugins/table/bootstrap-table.js
function createCommonjsModule (line 11) | function createCommonjsModule(fn, module) {
function F (line 1256) | function F() { /* empty */ }
function getSubstitution (line 2238) | function getSubstitution(matched, str, position, captures, namedCaptures...
function _typeof (line 2543) | function _typeof(obj) {
function _classCallCheck (line 2557) | function _classCallCheck(instance, Constructor) {
function _defineProperties (line 2563) | function _defineProperties(target, props) {
function _createClass (line 2573) | function _createClass(Constructor, protoProps, staticProps) {
function _slicedToArray (line 2579) | function _slicedToArray(arr, i) {
function _toConsumableArray (line 2583) | function _toConsumableArray(arr) {
function _arrayWithoutHoles (line 2587) | function _arrayWithoutHoles(arr) {
function _arrayWithHoles (line 2595) | function _arrayWithHoles(arr) {
function _iterableToArray (line 2599) | function _iterableToArray(iter) {
function _iterableToArrayLimit (line 2603) | function _iterableToArrayLimit(arr, i) {
function _nonIterableSpread (line 2629) | function _nonIterableSpread() {
function _nonIterableRest (line 2633) | function _nonIterableRest() {
function VirtualScroll (line 3660) | function VirtualScroll(options) {
function BootstrapTable (line 3809) | function BootstrapTable(el, options) {
FILE: public/plugins/table/extensions/accent-neutralise/bootstrap-table-accent-neutralise.js
function createCommonjsModule (line 11) | function createCommonjsModule(fn, module) {
function getSubstitution (line 1214) | function getSubstitution(matched, str, position, captures, namedCaptures...
function _classCallCheck (line 1248) | function _classCallCheck(instance, Constructor) {
function _defineProperties (line 1254) | function _defineProperties(target, props) {
function _createClass (line 1264) | function _createClass(Constructor, protoProps, staticProps) {
function _inherits (line 1270) | function _inherits(subClass, superClass) {
function _getPrototypeOf (line 1285) | function _getPrototypeOf(o) {
function _setPrototypeOf (line 1292) | function _setPrototypeOf(o, p) {
function _assertThisInitialized (line 1301) | function _assertThisInitialized(self) {
function _possibleConstructorReturn (line 1309) | function _possibleConstructorReturn(self, call) {
function _superPropBase (line 1317) | function _superPropBase(object, property) {
function _get (line 1326) | function _get(target, property, receiver) {
function _slicedToArray (line 1347) | function _slicedToArray(arr, i) {
function _arrayWithHoles (line 1351) | function _arrayWithHoles(arr) {
function _iterableToArrayLimit (line 1355) | function _iterableToArrayLimit(arr, i) {
function _nonIterableRest (line 1381) | function _nonIterableRest() {
function _class (line 1680) | function _class() {
FILE: public/plugins/table/extensions/addrbar/bootstrap-table-addrbar.js
function createCommonjsModule (line 11) | function createCommonjsModule(fn, module) {
function getSubstitution (line 1144) | function getSubstitution(matched, str, position, captures, namedCaptures...
function _classCallCheck (line 1213) | function _classCallCheck(instance, Constructor) {
function _defineProperties (line 1219) | function _defineProperties(target, props) {
function _createClass (line 1229) | function _createClass(Constructor, protoProps, staticProps) {
function _inherits (line 1235) | function _inherits(subClass, superClass) {
function _getPrototypeOf (line 1250) | function _getPrototypeOf(o) {
function _setPrototypeOf (line 1257) | function _setPrototypeOf(o, p) {
function _assertThisInitialized (line 1266) | function _assertThisInitialized(self) {
function _possibleConstructorReturn (line 1274) | function _possibleConstructorReturn(self, call) {
function _superPropBase (line 1282) | function _superPropBase(object, property) {
function _get (line 1291) | function _get(target, property, receiver) {
function _slicedToArray (line 1312) | function _slicedToArray(arr, i) {
function _arrayWithHoles (line 1316) | function _arrayWithHoles(arr) {
function _iterableToArrayLimit (line 1320) | function _iterableToArrayLimit(arr, i) {
function _nonIterableRest (line 1346) | function _nonIterableRest() {
function _GET (line 1364) | function _GET(key) {
function _buildUrl (line 1395) | function _buildUrl(dict) {
function _class (line 1432) | function _class() {
FILE: public/plugins/table/extensions/auto-refresh/bootstrap-table-auto-refresh.js
function createCommonjsModule (line 11) | function createCommonjsModule(fn, module) {
function _classCallCheck (line 816) | function _classCallCheck(instance, Constructor) {
function _defineProperties (line 822) | function _defineProperties(target, props) {
function _createClass (line 832) | function _createClass(Constructor, protoProps, staticProps) {
function _inherits (line 838) | function _inherits(subClass, superClass) {
function _getPrototypeOf (line 853) | function _getPrototypeOf(o) {
function _setPrototypeOf (line 860) | function _setPrototypeOf(o, p) {
function _assertThisInitialized (line 869) | function _assertThisInitialized(self) {
function _possibleConstructorReturn (line 877) | function _possibleConstructorReturn(self, call) {
function _superPropBase (line 885) | function _superPropBase(object, property) {
function _get (line 894) | function _get(target, property, receiver) {
function _class (line 947) | function _class() {
FILE: public/plugins/table/extensions/cell-input/bootstrap-table-cell-input.js
function createCommonjsModule (line 11) | function createCommonjsModule(fn, module) {
function F (line 1183) | function F() { /* empty */ }
function getSubstitution (line 1800) | function getSubstitution(matched, str, position, captures, namedCaptures...
FILE: public/plugins/table/extensions/cookie/bootstrap-table-cookie.js
function createCommonjsModule (line 11) | function createCommonjsModule(fn, module) {
function getSubstitution (line 1137) | function getSubstitution(matched, str, position, captures, namedCaptures...
function _classCallCheck (line 1348) | function _classCallCheck(instance, Constructor) {
function _defineProperties (line 1354) | function _defineProperties(target, props) {
function _createClass (line 1364) | function _createClass(Constructor, protoProps, staticProps) {
function _inherits (line 1370) | function _inherits(subClass, superClass) {
function _getPrototypeOf (line 1385) | function _getPrototypeOf(o) {
function _setPrototypeOf (line 1392) | function _setPrototypeOf(o, p) {
function _assertThisInitialized (line 1401) | function _assertThisInitialized(self) {
function _possibleConstructorReturn (line 1409) | function _possibleConstructorReturn(self, call) {
function _superPropBase (line 1417) | function _superPropBase(object, property) {
function _get (line 1426) | function _get(target, property, receiver) {
function _class (line 1677) | function _class() {
FILE: public/plugins/table/extensions/copy-rows/bootstrap-table-copy-rows.js
function createCommonjsModule (line 11) | function createCommonjsModule(fn, module) {
function _classCallCheck (line 837) | function _classCallCheck(instance, Constructor) {
function _defineProperties (line 843) | function _defineProperties(target, props) {
function _createClass (line 853) | function _createClass(Constructor, protoProps, staticProps) {
function _inherits (line 859) | function _inherits(subClass, superClass) {
function _getPrototypeOf (line 874) | function _getPrototypeOf(o) {
function _setPrototypeOf (line 881) | function _setPrototypeOf(o, p) {
function _assertThisInitialized (line 890) | function _assertThisInitialized(self) {
function _possibleConstructorReturn (line 898) | function _possibleConstructorReturn(self, call) {
function _superPropBase (line 906) | function _superPropBase(object, property) {
function _get (line 915) | function _get(target, property, receiver) {
function _class (line 977) | function _class() {
FILE: public/plugins/table/extensions/defer-url/bootstrap-table-defer-url.js
function createCommonjsModule (line 11) | function createCommonjsModule(fn, module) {
function _classCallCheck (line 630) | function _classCallCheck(instance, Constructor) {
function _defineProperties (line 636) | function _defineProperties(target, props) {
function _createClass (line 646) | function _createClass(Constructor, protoProps, staticProps) {
function _inherits (line 652) | function _inherits(subClass, superClass) {
function _getPrototypeOf (line 667) | function _getPrototypeOf(o) {
function _setPrototypeOf (line 674) | function _setPrototypeOf(o, p) {
function _assertThisInitialized (line 683) | function _assertThisInitialized(self) {
function _possibleConstructorReturn (line 691) | function _possibleConstructorReturn(self, call) {
function _superPropBase (line 699) | function _superPropBase(object, property) {
function _get (line 708) | function _get(target, property, receiver) {
function _class (line 753) | function _class() {
FILE: public/plugins/table/extensions/editable/bootstrap-table-editable.js
function createCommonjsModule (line 11) | function createCommonjsModule(fn, module) {
function getSubstitution (line 1144) | function getSubstitution(matched, str, position, captures, namedCaptures...
function _classCallCheck (line 1178) | function _classCallCheck(instance, Constructor) {
function _defineProperties (line 1184) | function _defineProperties(target, props) {
function _createClass (line 1194) | function _createClass(Constructor, protoProps, staticProps) {
function _inherits (line 1200) | function _inherits(subClass, superClass) {
function _getPrototypeOf (line 1215) | function _getPrototypeOf(o) {
function _setPrototypeOf (line 1222) | function _setPrototypeOf(o, p) {
function _assertThisInitialized (line 1231) | function _assertThisInitialized(self) {
function _possibleConstructorReturn (line 1239) | function _possibleConstructorReturn(self, call) {
function _superPropBase (line 1247) | function _superPropBase(object, property) {
function _get (line 1256) | function _get(target, property, receiver) {
function _class (line 1310) | function _class() {
FILE: public/plugins/table/extensions/export/bootstrap-table-export.js
function createCommonjsModule (line 11) | function createCommonjsModule(fn, module) {
function F (line 1183) | function F() { /* empty */ }
function getSubstitution (line 1812) | function getSubstitution(matched, str, position, captures, namedCaptures...
function _classCallCheck (line 2070) | function _classCallCheck(instance, Constructor) {
function _defineProperties (line 2076) | function _defineProperties(target, props) {
function _createClass (line 2086) | function _createClass(Constructor, protoProps, staticProps) {
function _defineProperty (line 2092) | function _defineProperty(obj, key, value) {
function _inherits (line 2107) | function _inherits(subClass, superClass) {
function _getPrototypeOf (line 2122) | function _getPrototypeOf(o) {
function _setPrototypeOf (line 2129) | function _setPrototypeOf(o, p) {
function _assertThisInitialized (line 2138) | function _assertThisInitialized(self) {
function _possibleConstructorReturn (line 2146) | function _possibleConstructorReturn(self, call) {
function _superPropBase (line 2154) | function _superPropBase(object, property) {
function _get (line 2163) | function _get(target, property, receiver) {
function _class (line 2249) | function _class() {
FILE: public/plugins/table/extensions/filter-control/bootstrap-table-filter-control.js
function createCommonjsModule (line 11) | function createCommonjsModule(fn, module) {
function getSubstitution (line 1292) | function getSubstitution(matched, str, position, captures, namedCaptures...
function _typeof (line 1566) | function _typeof(obj) {
function _classCallCheck (line 1580) | function _classCallCheck(instance, Constructor) {
function _defineProperties (line 1586) | function _defineProperties(target, props) {
function _createClass (line 1596) | function _createClass(Constructor, protoProps, staticProps) {
function _inherits (line 1602) | function _inherits(subClass, superClass) {
function _getPrototypeOf (line 1617) | function _getPrototypeOf(o) {
function _setPrototypeOf (line 1624) | function _setPrototypeOf(o, p) {
function _assertThisInitialized (line 1633) | function _assertThisInitialized(self) {
function _possibleConstructorReturn (line 1641) | function _possibleConstructorReturn(self, call) {
function _superPropBase (line 1649) | function _superPropBase(object, property) {
function _get (line 1658) | function _get(target, property, receiver) {
function _class (line 2228) | function _class() {
FILE: public/plugins/table/extensions/fixed-columns/bootstrap-table-fixed-columns.js
function createCommonjsModule (line 11) | function createCommonjsModule(fn, module) {
function getSubstitution (line 1104) | function getSubstitution(matched, str, position, captures, namedCaptures...
function _classCallCheck (line 1138) | function _classCallCheck(instance, Constructor) {
function _defineProperties (line 1144) | function _defineProperties(target, props) {
function _createClass (line 1154) | function _createClass(Constructor, protoProps, staticProps) {
function _inherits (line 1160) | function _inherits(subClass, superClass) {
function _getPrototypeOf (line 1175) | function _getPrototypeOf(o) {
function _setPrototypeOf (line 1182) | function _setPrototypeOf(o, p) {
function _assertThisInitialized (line 1191) | function _assertThisInitialized(self) {
function _possibleConstructorReturn (line 1199) | function _possibleConstructorReturn(self, call) {
function _superPropBase (line 1207) | function _superPropBase(object, property) {
function _get (line 1216) | function _get(target, property, receiver) {
function _class (line 1251) | function _class() {
FILE: public/plugins/table/extensions/group-by-v2/bootstrap-table-group-by.js
function createCommonjsModule (line 11) | function createCommonjsModule(fn, module) {
function getSubstitution (line 1175) | function getSubstitution(matched, str, position, captures, namedCaptures...
FILE: public/plugins/table/extensions/i18n-enhance/bootstrap-table-i18n-enhance.js
function _classCallCheck (line 9) | function _classCallCheck(instance, Constructor) {
function _defineProperties (line 15) | function _defineProperties(target, props) {
function _createClass (line 25) | function _createClass(Constructor, protoProps, staticProps) {
function _inherits (line 31) | function _inherits(subClass, superClass) {
function _getPrototypeOf (line 46) | function _getPrototypeOf(o) {
function _setPrototypeOf (line 53) | function _setPrototypeOf(o, p) {
function _assertThisInitialized (line 62) | function _assertThisInitialized(self) {
function _possibleConstructorReturn (line 70) | function _possibleConstructorReturn(self, call) {
function _class (line 91) | function _class() {
FILE: public/plugins/table/extensions/key-events/bootstrap-table-key-events.js
function createCommonjsModule (line 11) | function createCommonjsModule(fn, module) {
function _classCallCheck (line 1023) | function _classCallCheck(instance, Constructor) {
function _defineProperties (line 1029) | function _defineProperties(target, props) {
function _createClass (line 1039) | function _createClass(Constructor, protoProps, staticProps) {
function _inherits (line 1045) | function _inherits(subClass, superClass) {
function _getPrototypeOf (line 1060) | function _getPrototypeOf(o) {
function _setPrototypeOf (line 1067) | function _setPrototypeOf(o, p) {
function _assertThisInitialized (line 1076) | function _assertThisInitialized(self) {
function _possibleConstructorReturn (line 1084) | function _possibleConstructorReturn(self, call) {
function _superPropBase (line 1092) | function _superPropBase(object, property) {
function _get (line 1101) | function _get(target, property, receiver) {
function _class (line 1137) | function _class() {
FILE: public/plugins/table/extensions/mobile/bootstrap-table-mobile.js
function createCommonjsModule (line 11) | function createCommonjsModule(fn, module) {
function _classCallCheck (line 912) | function _classCallCheck(instance, Constructor) {
function _defineProperties (line 918) | function _defineProperties(target, props) {
function _createClass (line 928) | function _createClass(Constructor, protoProps, staticProps) {
function _inherits (line 934) | function _inherits(subClass, superClass) {
function _getPrototypeOf (line 949) | function _getPrototypeOf(o) {
function _setPrototypeOf (line 956) | function _setPrototypeOf(o, p) {
function _assertThisInitialized (line 965) | function _assertThisInitialized(self) {
function _possibleConstructorReturn (line 973) | function _possibleConstructorReturn(self, call) {
function _superPropBase (line 981) | function _superPropBase(object, property) {
function _get (line 990) | function _get(target, property, receiver) {
function _class (line 1049) | function _class() {
FILE: public/plugins/table/extensions/multiple-sort/bootstrap-table-multiple-sort.js
function createCommonjsModule (line 11) | function createCommonjsModule(fn, module) {
function _typeof (line 1426) | function _typeof(obj) {
FILE: public/plugins/table/extensions/natural-sorting/bootstrap-table-natural-sorting.js
function createCommonjsModule (line 22) | function createCommonjsModule(fn, module) {
function getSubstitution (line 1153) | function getSubstitution(matched, str, position, captures, namedCaptures...
function alphanum (line 1196) | function alphanum(a, b) {
function numericOnly (line 1249) | function numericOnly(a, b) {
FILE: public/plugins/table/extensions/page-jump-to/bootstrap-table-page-jump-to.js
function createCommonjsModule (line 11) | function createCommonjsModule(fn, module) {
function _classCallCheck (line 816) | function _classCallCheck(instance, Constructor) {
function _defineProperties (line 822) | function _defineProperties(target, props) {
function _createClass (line 832) | function _createClass(Constructor, protoProps, staticProps) {
function _inherits (line 838) | function _inherits(subClass, superClass) {
function _getPrototypeOf (line 853) | function _getPrototypeOf(o) {
function _setPrototypeOf (line 860) | function _setPrototypeOf(o, p) {
function _assertThisInitialized (line 869) | function _assertThisInitialized(self) {
function _possibleConstructorReturn (line 877) | function _possibleConstructorReturn(self, call) {
function _superPropBase (line 885) | function _superPropBase(object, property) {
function _get (line 894) | function _get(target, property, receiver) {
function _class (line 936) | function _class() {
FILE: public/plugins/table/extensions/pipeline/bootstrap-table-pipeline.js
function createCommonjsModule (line 11) | function createCommonjsModule(fn, module) {
FILE: public/plugins/table/extensions/print/bootstrap-table-print.js
function createCommonjsModule (line 11) | function createCommonjsModule(fn, module) {
function F (line 1195) | function F() { /* empty */ }
function _classCallCheck (line 1649) | function _classCallCheck(instance, Constructor) {
function _defineProperties (line 1655) | function _defineProperties(target, props) {
function _createClass (line 1665) | function _createClass(Constructor, protoProps, staticProps) {
function _inherits (line 1671) | function _inherits(subClass, superClass) {
function _getPrototypeOf (line 1686) | function _getPrototypeOf(o) {
function _setPrototypeOf (line 1693) | function _setPrototypeOf(o, p) {
function _assertThisInitialized (line 1702) | function _assertThisInitialized(self) {
function _possibleConstructorReturn (line 1710) | function _possibleConstructorReturn(self, call) {
function _superPropBase (line 1718) | function _superPropBase(object, property) {
function _get (line 1727) | function _get(target, property, receiver) {
function printPageBuilderDefault (line 1754) | function printPageBuilderDefault(table) {
function _class (line 1783) | function _class() {
FILE: public/plugins/table/extensions/reorder-columns/bootstrap-table-reorder-columns.js
function createCommonjsModule (line 11) | function createCommonjsModule(fn, module) {
FILE: public/plugins/table/extensions/reorder-rows/bootstrap-table-reorder-rows.js
function createCommonjsModule (line 11) | function createCommonjsModule(fn, module) {
FILE: public/plugins/table/extensions/resizable/bootstrap-table-resizable.js
function createCommonjsModule (line 11) | function createCommonjsModule(fn, module) {
FILE: public/plugins/table/extensions/sticky-header/bootstrap-table-sticky-header.js
function createCommonjsModule (line 11) | function createCommonjsModule(fn, module) {
function _classCallCheck (line 816) | function _classCallCheck(instance, Constructor) {
function _defineProperties (line 822) | function _defineProperties(target, props) {
function _createClass (line 832) | function _createClass(Constructor, protoProps, staticProps) {
function _inherits (line 838) | function _inherits(subClass, superClass) {
function _getPrototypeOf (line 853) | function _getPrototypeOf(o) {
function _setPrototypeOf (line 860) | function _setPrototypeOf(o, p) {
function _assertThisInitialized (line 869) | function _assertThisInitialized(self) {
function _possibleConstructorReturn (line 877) | function _possibleConstructorReturn(self, call) {
function _superPropBase (line 885) | function _superPropBase(object, property) {
function _get (line 894) | function _get(target, property, receiver) {
function _class (line 937) | function _class() {
FILE: public/plugins/table/extensions/toolbar/bootstrap-table-toolbar.js
function createCommonjsModule (line 11) | function createCommonjsModule(fn, module) {
function F (line 1236) | function F() { /* empty */ }
function _classCallCheck (line 1945) | function _classCallCheck(instance, Constructor) {
function _defineProperties (line 1951) | function _defineProperties(target, props) {
function _createClass (line 1961) | function _createClass(Constructor, protoProps, staticProps) {
function _inherits (line 1967) | function _inherits(subClass, superClass) {
function _getPrototypeOf (line 1982) | function _getPrototypeOf(o) {
function _setPrototypeOf (line 1989) | function _setPrototypeOf(o, p) {
function _assertThisInitialized (line 1998) | function _assertThisInitialized(self) {
function _possibleConstructorReturn (line 2006) | function _possibleConstructorReturn(self, call) {
function _superPropBase (line 2014) | function _superPropBase(object, property) {
function _get (line 2023) | function _get(target, property, receiver) {
function _slicedToArray (line 2044) | function _slicedToArray(arr, i) {
function _arrayWithHoles (line 2048) | function _arrayWithHoles(arr) {
function _iterableToArrayLimit (line 2052) | function _iterableToArrayLimit(arr, i) {
function _nonIterableRest (line 2078) | function _nonIterableRest() {
function _class (line 2139) | function _class() {
FILE: public/plugins/table/extensions/treegrid/bootstrap-table-treegrid.js
function createCommonjsModule (line 11) | function createCommonjsModule(fn, module) {
function F (line 1175) | function F() { /* empty */ }
function _classCallCheck (line 1556) | function _classCallCheck(instance, Constructor) {
function _defineProperties (line 1562) | function _defineProperties(target, props) {
function _createClass (line 1572) | function _createClass(Constructor, protoProps, staticProps) {
function _inherits (line 1578) | function _inherits(subClass, superClass) {
function _getPrototypeOf (line 1593) | function _getPrototypeOf(o) {
function _setPrototypeOf (line 1600) | function _setPrototypeOf(o, p) {
function _assertThisInitialized (line 1609) | function _assertThisInitialized(self) {
function _possibleConstructorReturn (line 1617) | function _possibleConstructorReturn(self, call) {
function _superPropBase (line 1625) | function _superPropBase(object, property) {
function _get (line 1634) | function _get(target, property, receiver) {
function _class (line 1673) | function _class() {
FILE: public/plugins/table/locale/bootstrap-table-af-ZA.js
function createCommonjsModule (line 11) | function createCommonjsModule(fn, module) {
FILE: public/plugins/table/locale/bootstrap-table-ar-SA.js
function createCommonjsModule (line 11) | function createCommonjsModule(fn, module) {
FILE: public/plugins/table/locale/bootstrap-table-ca-ES.js
function createCommonjsModule (line 11) | function createCommonjsModule(fn, module) {
FILE: public/plugins/table/locale/bootstrap-table-cs-CZ.js
function createCommonjsModule (line 11) | function createCommonjsModule(fn, module) {
FILE: public/plugins/table/locale/bootstrap-table-da-DK.js
function createCommonjsModule (line 11) | function createCommonjsModule(fn, module) {
FILE: public/plugins/table/locale/bootstrap-table-de-DE.js
function createCommonjsModule (line 11) | function createCommonjsModule(fn, module) {
FILE: public/plugins/table/locale/bootstrap-table-el-GR.js
function createCommonjsModule (line 11) | function createCommonjsModule(fn, module) {
FILE: public/plugins/table/locale/bootstrap-table-en-US.js
function createCommonjsModule (line 11) | function createCommonjsModule(fn, module) {
FILE: public/plugins/table/locale/bootstrap-table-es-AR.js
function createCommonjsModule (line 11) | function createCommonjsModule(fn, module) {
FILE: public/plugins/table/locale/bootstrap-table-es-CL.js
function createCommonjsModule (line 11) | function createCommonjsModule(fn, module) {
FILE: public/plugins/table/locale/bootstrap-table-es-CR.js
function createCommonjsModule (line 11) | function createCommonjsModule(fn, module) {
FILE: public/plugins/table/locale/bootstrap-table-es-ES.js
function createCommonjsModule (line 11) | function createCommonjsModule(fn, module) {
FILE: public/plugins/table/locale/bootstrap-table-es-MX.js
function createCommonjsModule (line 11) | function createCommonjsModule(fn, module) {
FILE: public/plugins/table/locale/bootstrap-table-es-NI.js
function createCommonjsModule (line 11) | function createCommonjsModule(fn, module) {
FILE: public/plugins/table/locale/bootstrap-table-es-SP.js
function createCommonjsModule (line 11) | function createCommonjsModule(fn, module) {
FILE: public/plugins/table/locale/bootstrap-table-et-EE.js
function createCommonjsModule (line 11) | function createCommonjsModule(fn, module) {
FILE: public/plugins/table/locale/bootstrap-table-eu-EU.js
function createCommonjsModule (line 11) | function createCommonjsModule(fn, module) {
FILE: public/plugins/table/locale/bootstrap-table-fa-IR.js
function createCommonjsModule (line 11) | function createCommonjsModule(fn, module) {
FILE: public/plugins/table/locale/bootstrap-table-fi-FI.js
function createCommonjsModule (line 11) | function createCommonjsModule(fn, module) {
FILE: public/plugins/table/locale/bootstrap-table-fr-BE.js
function createCommonjsModule (line 11) | function createCommonjsModule(fn, module) {
FILE: public/plugins/table/locale/bootstrap-table-fr-CH.js
function createCommonjsModule (line 11) | function createCommonjsModule(fn, module) {
FILE: public/plugins/table/locale/bootstrap-table-fr-FR.js
function createCommonjsModule (line 11) | function createCommonjsModule(fn, module) {
FILE: public/plugins/table/locale/bootstrap-table-fr-LU.js
function createCommonjsModule (line 11) | function createCommonjsModule(fn, module) {
FILE: public/plugins/table/locale/bootstrap-table-he-IL.js
function createCommonjsModule (line 11) | function createCommonjsModule(fn, module) {
FILE: public/plugins/table/locale/bootstrap-table-hr-HR.js
function createCommonjsModule (line 11) | function createCommonjsModule(fn, module) {
FILE: public/plugins/table/locale/bootstrap-table-hu-HU.js
function createCommonjsModule (line 11) | function createCommonjsModule(fn, module) {
FILE: public/plugins/table/locale/bootstrap-table-id-ID.js
function createCommonjsModule (line 11) | function createCommonjsModule(fn, module) {
FILE: public/plugins/table/locale/bootstrap-table-it-IT.js
function createCommonjsModule (line 11) | function createCommonjsModule(fn, module) {
FILE: public/plugins/table/locale/bootstrap-table-ja-JP.js
function createCommonjsModule (line 11) | function createCommonjsModule(fn, module) {
FILE: public/plugins/table/locale/bootstrap-table-ka-GE.js
function createCommonjsModule (line 11) | function createCommonjsModule(fn, module) {
FILE: public/plugins/table/locale/bootstrap-table-ko-KR.js
function createCommonjsModule (line 11) | function createCommonjsModule(fn, module) {
FILE: public/plugins/table/locale/bootstrap-table-ms-MY.js
function createCommonjsModule (line 11) | function createCommonjsModule(fn, module) {
FILE: public/plugins/table/locale/bootstrap-table-nb-NO.js
function createCommonjsModule (line 11) | function createCommonjsModule(fn, module) {
FILE: public/plugins/table/locale/bootstrap-table-nl-BE.js
function createCommonjsModule (line 11) | function createCommonjsModule(fn, module) {
FILE: public/plugins/table/locale/bootstrap-table-nl-NL.js
function createCommonjsModule (line 11) | function createCommonjsModule(fn, module) {
FILE: public/plugins/table/locale/bootstrap-table-pl-PL.js
function createCommonjsModule (line 11) | function createCommonjsModule(fn, module) {
FILE: public/plugins/table/locale/bootstrap-table-pt-BR.js
function createCommonjsModule (line 11) | function createCommonjsModule(fn, module) {
FILE: public/plugins/table/locale/bootstrap-table-pt-PT.js
function createCommonjsModule (line 11) | function createCommonjsModule(fn, module) {
FILE: public/plugins/table/locale/bootstrap-table-ro-RO.js
function createCommonjsModule (line 11) | function createCommonjsModule(fn, module) {
FILE: public/plugins/table/locale/bootstrap-table-ru-RU.js
function createCommonjsModule (line 11) | function createCommonjsModule(fn, module) {
FILE: public/plugins/table/locale/bootstrap-table-sk-SK.js
function createCommonjsModule (line 11) | function createCommonjsModule(fn, module) {
FILE: public/plugins/table/locale/bootstrap-table-sr-Cyrl-RS.js
function createCommonjsModule (line 11) | function createCommonjsModule(fn, module) {
FILE: public/plugins/table/locale/bootstrap-table-sr-Latn-RS.js
function createCommonjsModule (line 11) | function createCommonjsModule(fn, module) {
FILE: public/plugins/table/locale/bootstrap-table-sv-SE.js
function createCommonjsModule (line 11) | function createCommonjsModule(fn, module) {
FILE: public/plugins/table/locale/bootstrap-table-th-TH.js
function createCommonjsModule (line 11) | function createCommonjsModule(fn, module) {
FILE: public/plugins/table/locale/bootstrap-table-tr-TR.js
function createCommonjsModule (line 11) | function createCommonjsModule(fn, module) {
FILE: public/plugins/table/locale/bootstrap-table-uk-UA.js
function createCommonjsModule (line 11) | function createCommonjsModule(fn, module) {
FILE: public/plugins/table/locale/bootstrap-table-ur-PK.js
function createCommonjsModule (line 11) | function createCommonjsModule(fn, module) {
FILE: public/plugins/table/locale/bootstrap-table-uz-Latn-UZ.js
function createCommonjsModule (line 11) | function createCommonjsModule(fn, module) {
FILE: public/plugins/table/locale/bootstrap-table-vi-VN.js
function createCommonjsModule (line 11) | function createCommonjsModule(fn, module) {
FILE: public/plugins/table/locale/bootstrap-table-zh-CN.js
function createCommonjsModule (line 11) | function createCommonjsModule(fn, module) {
FILE: public/plugins/table/locale/bootstrap-table-zh-TW.js
function createCommonjsModule (line 11) | function createCommonjsModule(fn, module) {
FILE: public/plugins/table/themes/bulma/bootstrap-table-bulma.js
function createCommonjsModule (line 11) | function createCommonjsModule(fn, module) {
function _classCallCheck (line 752) | function _classCallCheck(instance, Constructor) {
function _defineProperties (line 758) | function _defineProperties(target, props) {
function _createClass (line 768) | function _createClass(Constructor, protoProps, staticProps) {
function _inherits (line 774) | function _inherits(subClass, superClass) {
function _getPrototypeOf (line 789) | function _getPrototypeOf(o) {
function _setPrototypeOf (line 796) | function _setPrototypeOf(o, p) {
function _assertThisInitialized (line 805) | function _assertThisInitialized(self) {
function _possibleConstructorReturn (line 813) | function _possibleConstructorReturn(self, call) {
function _superPropBase (line 821) | function _superPropBase(object, property) {
function _get (line 830) | function _get(target, property, receiver) {
function _class (line 869) | function _class() {
FILE: public/plugins/table/themes/foundation/bootstrap-table-foundation.js
function createCommonjsModule (line 11) | function createCommonjsModule(fn, module) {
function _classCallCheck (line 752) | function _classCallCheck(instance, Constructor) {
function _defineProperties (line 758) | function _defineProperties(target, props) {
function _createClass (line 768) | function _createClass(Constructor, protoProps, staticProps) {
function _inherits (line 774) | function _inherits(subClass, superClass) {
function _getPrototypeOf (line 789) | function _getPrototypeOf(o) {
function _setPrototypeOf (line 796) | function _setPrototypeOf(o, p) {
function _assertThisInitialized (line 805) | function _assertThisInitialized(self) {
function _possibleConstructorReturn (line 813) | function _possibleConstructorReturn(self, call) {
function _superPropBase (line 821) | function _superPropBase(object, property) {
function _get (line 830) | function _get(target, property, receiver) {
function _class (line 869) | function _class() {
FILE: public/plugins/table/themes/materialize/bootstrap-table-materialize.js
function createCommonjsModule (line 11) | function createCommonjsModule(fn, module) {
function _classCallCheck (line 752) | function _classCallCheck(instance, Constructor) {
function _defineProperties (line 758) | function _defineProperties(target, props) {
function _createClass (line 768) | function _createClass(Constructor, protoProps, staticProps) {
function _inherits (line 774) | function _inherits(subClass, superClass) {
function _getPrototypeOf (line 789) | function _getPrototypeOf(o) {
function _setPrototypeOf (line 796) | function _setPrototypeOf(o, p) {
function _assertThisInitialized (line 805) | function _assertThisInitialized(self) {
function _possibleConstructorReturn (line 813) | function _possibleConstructorReturn(self, call) {
function _superPropBase (line 821) | function _superPropBase(object, property) {
function _get (line 830) | function _get(target, property, receiver) {
function _class (line 884) | function _class() {
FILE: public/plugins/table/themes/semantic/bootstrap-table-semantic.js
function createCommonjsModule (line 11) | function createCommonjsModule(fn, module) {
function _classCallCheck (line 752) | function _classCallCheck(instance, Constructor) {
function _defineProperties (line 758) | function _defineProperties(target, props) {
function _createClass (line 768) | function _createClass(Constructor, protoProps, staticProps) {
function _inherits (line 774) | function _inherits(subClass, superClass) {
function _getPrototypeOf (line 789) | function _getPrototypeOf(o) {
function _setPrototypeOf (line 796) | function _setPrototypeOf(o, p) {
function _assertThisInitialized (line 805) | function _assertThisInitialized(self) {
function _possibleConstructorReturn (line 813) | function _possibleConstructorReturn(self, call) {
function _superPropBase (line 821) | function _superPropBase(object, property) {
function _get (line 830) | function _get(target, property, receiver) {
function _class (line 869) | function _class() {
FILE: public/stisla/js/page/gmaps-draggable-marker.js
function update_position (line 38) | function update_position() {
FILE: public/stisla/js/page/index-0.js
function getWeather (line 79) | function getWeather() {
FILE: sql/goadmin.sql
type `sys_config` (line 25) | CREATE TABLE `sys_config` (
type `sys_oss` (line 54) | CREATE TABLE `sys_oss` (
type `sys_user` (line 80) | CREATE TABLE `sys_user` (
FILE: utils/base/baseForm.go
type BaseForm (line 7) | type BaseForm struct
method SetParam (line 46) | func (form *BaseForm) SetParam(key string, value string) {
method SetParams (line 50) | func (form *BaseForm) SetParams(params map[string]string) {
method SetObject (line 57) | func (form *BaseForm) SetObject(object interface{}) {
function NewForm (line 17) | func NewForm(params map[string]interface{}) BaseForm {
FILE: utils/base/baseModel.go
type IModel (line 5) | type IModel interface
FILE: utils/base/baseRouter.go
type BaseRouter (line 16) | type BaseRouter struct
function GetUser (line 19) | func GetUser(r *ghttp.Request) bean.SessionUser {
function Succ (line 34) | func Succ(r *ghttp.Request, data interface{}) {
function Fail (line 39) | func Fail(r *ghttp.Request, msg string) {
function Error (line 44) | func Error(r *ghttp.Request, msg string) {
function Resp (line 48) | func Resp(r *ghttp.Request, code int, msg string, data interface{}) {
function WriteTpl (line 58) | func WriteTpl(r *ghttp.Request, tpl string, params g.Map) error {
FILE: utils/bean/SessionUser.go
type SessionUser (line 3) | type SessionUser struct
FILE: utils/resp/resp.go
constant SUCCESS (line 9) | SUCCESS = 0
constant FAIL (line 10) | FAIL = -1
constant ERROR (line 11) | ERROR = -99
constant UNAUTHORIZED (line 12) | UNAUTHORIZED = -401
constant TypeConfig (line 14) | TypeConfig = 1
constant TypeDict (line 16) | TypeDict = 2
type Resp (line 19) | type Resp struct
method Success (line 26) | func (resp Resp) Success() bool {
method DataString (line 31) | func (resp Resp) DataString() string {
method DataInt (line 36) | func (resp Resp) DataInt() int {
method GetString (line 41) | func (resp Resp) GetString(key string) string {
method GetInt (line 46) | func (resp Resp) GetInt(key string) int {
method Get (line 51) | func (resp Resp) Get(key string) interface{} {
method Json (line 59) | func (resp Resp) Json() string {
function Succ (line 65) | func Succ(data interface{}) Resp {
function Fail (line 70) | func Fail(msg string) Resp {
function FailData (line 75) | func FailData(msg string, data interface{}) Resp {
function Error (line 80) | func Error(msg string) Resp {
function ErrorData (line 85) | func ErrorData(msg string, data interface{}) Resp {
function Unauthorized (line 90) | func Unauthorized(msg string, data interface{}) Resp {
FILE: utils/time.go
function GetNow (line 5) | func GetNow() string {
FILE: utils/tools/gid.go
function GetId (line 10) | func GetId(datacenterId int64) int64 {
type IdWorker (line 17) | type IdWorker struct
method InitIdWorker (line 36) | func (this *IdWorker) InitIdWorker(workerId, datacenterId int64) error {
method NextId (line 66) | func (this *IdWorker) NextId() (int64, error) {
method tilNextMillis (line 99) | func (this *IdWorker) tilNextMillis() int64 {
FILE: utils/tools/redis.go
function SetCache (line 9) | func SetCache(key string, value interface{}) {
function GetCache (line 13) | func GetCache(key string) interface{} {
function DelCache (line 21) | func DelCache(key string) {
function Publish (line 25) | func Publish(key string, value interface{}) {
function Subscribe (line 33) | func Subscribe(key string) interface{} {
Condensed preview — 196 files, each showing path, character count, and a content snippet. Download the .json file or copy for the full structured content (4,025K chars).
[
{
"path": ".gitattributes",
"chars": 81,
"preview": "*.js linguist-language=GO\n*.css linguist-language=GO\n*.html linguist-language=GO\n"
},
{
"path": ".idea/.gitignore",
"chars": 38,
"preview": "# Default ignored files\n/workspace.xml"
},
{
"path": ".idea/goadmin.iml",
"chars": 322,
"preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<module type=\"WEB_MODULE\" version=\"4\">\n <component name=\"Go\" enabled=\"true\" />\n "
},
{
"path": ".idea/misc.xml",
"chars": 174,
"preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<project version=\"4\">\n <component name=\"JavaScriptSettings\">\n <option name=\"l"
},
{
"path": ".idea/modules.xml",
"chars": 266,
"preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<project version=\"4\">\n <component name=\"ProjectModuleManager\">\n <modules>\n "
},
{
"path": "License",
"chars": 1067,
"preview": "MIT License\n\nCopyright (c) 2020 CrazyRocks\n\nPermission is hereby granted, free of charge, to any person obtaining a copy"
},
{
"path": "README.en.md",
"chars": 0,
"preview": ""
},
{
"path": "README.md",
"chars": 1901,
"preview": "# GoAdim\n\n底层框架:GF<br/>\n前端模板:stisla<br/>\n数据库:mysql<br/>\n缓存:redis<br/>\n权限:token<br/>\n\n安装:<br/>\n1:数据库在:sql文件夹下<br/>\n2:修改con"
},
{
"path": "boot/boot.go",
"chars": 1207,
"preview": "package boot\n\nimport (\n\t\"github.com/gogf/gf/frame/g\"\n\t\"github.com/gogf/gf/os/glog\"\n\t\"github.com/gogf/gf/os/gsession\"\n\t\"g"
},
{
"path": "boot/module.go",
"chars": 177,
"preview": "package boot\n\nimport (\n\t\"goadmin/module/home\"\n\t\"goadmin/module/public\"\n\t\"goadmin/module/sys\"\n)\n\nfunc InitModules() {\n\tpu"
},
{
"path": "config/config.toml",
"chars": 533,
"preview": "url-path = \"\"\n\n# 应用系统设置\n[setting]\n logpath = \"/logs\"\n assest=\"\"\n domain=\"\"\n\n\n# 数据库连接\n[database]\n [[database.c"
},
{
"path": "go.mod",
"chars": 483,
"preview": "module goadmin\n\nrequire github.com/gogf/gf v1.10.0\n\nrequire (\n\tgithub.com/aliyun/aliyun-oss-go-sdk v2.0.4+incompatible\n\t"
},
{
"path": "go.sum",
"chars": 4899,
"preview": "github.com/BurntSushi/toml v0.3.1 h1:WXkYYl6Yr3qBf1K79EBnL4mak0OimBfB0XUf9Vl28OQ=\ngithub.com/BurntSushi/toml v0.3.1/go.m"
},
{
"path": "main.go",
"chars": 108,
"preview": "package main\n\nimport (\n\t\"github.com/gogf/gf/frame/g\"\n\t_ \"goadmin/boot\"\n)\n\nfunc main() {\n\tg.Server().Run()\n}\n"
},
{
"path": "middleware/rtoken/rtoken.go",
"chars": 9626,
"preview": "package rtoken\n\nimport (\n\t\"fmt\"\n\t\"github.com/gogf/gf/crypto/gaes\"\n\t\"github.com/gogf/gf/crypto/gmd5\"\n\t\"github.com/gogf/gf"
},
{
"path": "middleware/rtoken/rtoken_cache.go",
"chars": 2063,
"preview": "package rtoken\n\nimport (\n\t\"github.com/gogf/gf/encoding/gjson\"\n\t\"github.com/gogf/gf/frame/g\"\n\t\"github.com/gogf/gf/os/gcac"
},
{
"path": "middleware/rtoken/rtoken_resp.go",
"chars": 1504,
"preview": "package rtoken\n\nimport (\n\t\"encoding/json\"\n\t\"github.com/gogf/gf/util/gconv\"\n)\n\nconst (\n\tSUCCESS = 0\n\tFAIL = "
},
{
"path": "module/home/config/router.go",
"chars": 426,
"preview": "package config\n\nimport (\n\t\"github.com/gogf/gf/frame/g\"\n\t\"github.com/gogf/gf/net/ghttp\"\n\t\"goadmin/module/home/controller\""
},
{
"path": "module/home/controller/dashboard_controller.go",
"chars": 283,
"preview": "package controller\n\nimport (\n\t\"github.com/gogf/gf/frame/g\"\n\t\"github.com/gogf/gf/net/ghttp\"\n\t\"goadmin/utils/base\"\n)\n\ntype"
},
{
"path": "module/home/module.go",
"chars": 94,
"preview": "package home\n\nimport \"goadmin/module/home/config\"\n\nfunc InitModule() {\n\tconfig.InitRouter()\n}\n"
},
{
"path": "module/public/config/router.go",
"chars": 231,
"preview": "package config\n\nimport (\n\t\"github.com/gogf/gf/frame/g\"\n\t\"goadmin/module/public/controller\"\n)\n\nfunc InitRouter() {\n\turlPa"
},
{
"path": "module/public/controller/login_controller.go",
"chars": 1838,
"preview": "package controller\n\nimport (\n\t\"github.com/gogf/gf/crypto/gmd5\"\n\t\"github.com/gogf/gf/frame/g\"\n\t\"github.com/gogf/gf/net/gh"
},
{
"path": "module/public/model/sys_login_user_model.go",
"chars": 2016,
"preview": "/**\n* @Author: Rocks\n* @Email: 451360994@qq.com\n* @Description:\n* @File: sys_user_model\n* @Version: 1.0.0\n* @Date: 2019"
},
{
"path": "module/public/module.go",
"chars": 98,
"preview": "package public\n\nimport \"goadmin/module/public/config\"\n\nfunc InitModule() {\n\tconfig.InitRouter()\n}\n"
},
{
"path": "module/sys/config/router.go",
"chars": 1580,
"preview": "/**\n* @Author: Rocks\n* @Email: 451360994@qq.com\n* @Description:\n* @File: router\n* @Version: 1.0.0\n* @Date: 2019-11-17\n "
},
{
"path": "module/sys/controller/sys_config_controller.go",
"chars": 2207,
"preview": "/**\n* @Author: Rocks\n* @Email: 451360994@qq.com\n* @Description:\n* @File: sys_config_controller\n* @Version: 1.0.0\n* @Dat"
},
{
"path": "module/sys/controller/sys_oss_controller.go",
"chars": 4335,
"preview": "/**\n* @Author: Rocks\n* @Email: 451360994@qq.com\n* @Description:\n* @File: sys_oss_controller\n* @Version: 1.0.0\n* @Date: "
},
{
"path": "module/sys/controller/sys_user_controller.go",
"chars": 2756,
"preview": "/**\n* @Author: Rocks\n* @Email: 451360994@qq.com\n* @Description:\n* @File: sys_user_controller\n* @Version: 1.0.0\n* @Date:"
},
{
"path": "module/sys/model/sys_config_model.go",
"chars": 5467,
"preview": "/**\n* @Author: Rocks\n* @Email: 451360994@qq.com\n* @Description:\n* @File: sys_config_model\n* @Version: 1.0.0\n* @Date: 20"
},
{
"path": "module/sys/model/sys_oss_cloud.go",
"chars": 498,
"preview": "package model\n\ntype SysOssCloud struct {\n\tAliyunDomain string `json:\"aliyunDomain\" gconv:\"AliyunDomain,omitempt"
},
{
"path": "module/sys/model/sys_oss_model.go",
"chars": 4118,
"preview": "/**\n* @Author: Rocks\n* @Email: 451360994@qq.com\n* @Description:\n* @File: sys_oss_model\n* @Version: 1.0.0\n* @Date: 2019-"
},
{
"path": "module/sys/model/sys_user_model.go",
"chars": 4552,
"preview": "/**\n* @Author: Rocks\n* @Email: 451360994@qq.com\n* @Description:\n* @File: sys_user_model\n* @Version: 1.0.0\n* @Date: 2019"
},
{
"path": "module/sys/module.go",
"chars": 215,
"preview": "/**\n* @Author: Rocks\n* @Email: 451360994@qq.com\n* @Description:\n* @File: module\n* @Version: 1.0.0\n* @Date: 2019-11-17\n "
},
{
"path": "public/modules/common.js",
"chars": 1882,
"preview": "//bootstrap-table配置\n\nvar baseURL = \"http://localhost:8192/\";\n\n//工具集合Tools\nwindow.T = {};\n\n// 获取请求参数\n// 使用示例\n// location."
},
{
"path": "public/modules/sys/config.js",
"chars": 7630,
"preview": "$(function () {\n\n function addButtonFunc(value, row, index) {\n return [\n '<div id=\"editButton\" "
},
{
"path": "public/modules/sys/oss.js",
"chars": 9196,
"preview": "$(function () {\n\n function addButtonFunc(value, row, index) {\n return '<div id=\"deleteButton\" class=\"badge ba"
},
{
"path": "public/modules/sys/user.js",
"chars": 7537,
"preview": "$(function () {\n\n function addButtonFunc(value, row, index) {\n return [\n '<div id=\"editButton\" "
},
{
"path": "public/plugins/ajaxupload/ajaxupload.js",
"chars": 25271,
"preview": "/**\n * AJAX Upload ( http://valums.com/ajax-upload/ ) \n * Copyright (c) Andris Valums\n * Licensed under the MIT license "
},
{
"path": "public/plugins/table/bootstrap-table-locale-all.js",
"chars": 184077,
"preview": "(function (global, factory) {\n\ttypeof exports === 'object' && typeof module !== 'undefined' ? factory(require('jquery'))"
},
{
"path": "public/plugins/table/bootstrap-table-vue.esm.js",
"chars": 59330,
"preview": "var commonjsGlobal = typeof globalThis !== 'undefined' ? globalThis : typeof window !== 'undefined' ? window : typeof gl"
},
{
"path": "public/plugins/table/bootstrap-table-vue.js",
"chars": 61164,
"preview": "(function (global, factory) {\n\ttypeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory()"
},
{
"path": "public/plugins/table/bootstrap-table.css",
"chars": 9548,
"preview": "@charset \"UTF-8\";\n/**\n * @author zhixin wen <wenzhixin2010@gmail.com>\n * version: 1.15.5\n * https://github.com/wenzhixin"
},
{
"path": "public/plugins/table/bootstrap-table.js",
"chars": 242172,
"preview": "(function (global, factory) {\n\ttypeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory(r"
},
{
"path": "public/plugins/table/extensions/accent-neutralise/bootstrap-table-accent-neutralise.js",
"chars": 56722,
"preview": "(function (global, factory) {\n\ttypeof exports === 'object' && typeof module !== 'undefined' ? factory(require('jquery'))"
},
{
"path": "public/plugins/table/extensions/addrbar/bootstrap-table-addrbar.js",
"chars": 48973,
"preview": "(function (global, factory) {\n\ttypeof exports === 'object' && typeof module !== 'undefined' ? factory(require('jquery'))"
},
{
"path": "public/plugins/table/extensions/auto-refresh/bootstrap-table-auto-refresh.js",
"chars": 33148,
"preview": "(function (global, factory) {\n\ttypeof exports === 'object' && typeof module !== 'undefined' ? factory(require('jquery'))"
},
{
"path": "public/plugins/table/extensions/cell-input/bootstrap-table-cell-input.css",
"chars": 314,
"preview": ".table-cell-input {\n display: block !important;\n padding: 5px !important;\n margin: 0 !important;\n border: 0 !importa"
},
{
"path": "public/plugins/table/extensions/cell-input/bootstrap-table-cell-input.js",
"chars": 75306,
"preview": "(function (global, factory) {\n\ttypeof exports === 'object' && typeof module !== 'undefined' ? factory(require('jquery'))"
},
{
"path": "public/plugins/table/extensions/cookie/bootstrap-table-cookie.js",
"chars": 66252,
"preview": "(function (global, factory) {\n\ttypeof exports === 'object' && typeof module !== 'undefined' ? factory(require('jquery'))"
},
{
"path": "public/plugins/table/extensions/copy-rows/bootstrap-table-copy-rows.js",
"chars": 33334,
"preview": "(function (global, factory) {\n\ttypeof exports === 'object' && typeof module !== 'undefined' ? factory(require('jquery'))"
},
{
"path": "public/plugins/table/extensions/defer-url/bootstrap-table-defer-url.js",
"chars": 24620,
"preview": "(function (global, factory) {\n\ttypeof exports === 'object' && typeof module !== 'undefined' ? factory(require('jquery'))"
},
{
"path": "public/plugins/table/extensions/editable/bootstrap-table-editable.js",
"chars": 48253,
"preview": "(function (global, factory) {\n\ttypeof exports === 'object' && typeof module !== 'undefined' ? factory(require('jquery'))"
},
{
"path": "public/plugins/table/extensions/export/bootstrap-table-export.js",
"chars": 87360,
"preview": "(function (global, factory) {\n\ttypeof exports === 'object' && typeof module !== 'undefined' ? factory(require('jquery'))"
},
{
"path": "public/plugins/table/extensions/filter-control/bootstrap-table-filter-control.css",
"chars": 186,
"preview": "/**\n * @author: Dennis Hernández\n * @webSite: http://djhvscf.github.io/Blog\n * @version: v2.1.1\n */\n\n.no-filter-control "
},
{
"path": "public/plugins/table/extensions/filter-control/bootstrap-table-filter-control.js",
"chars": 86556,
"preview": "(function (global, factory) {\n\ttypeof exports === 'object' && typeof module !== 'undefined' ? factory(require('jquery'))"
},
{
"path": "public/plugins/table/extensions/fixed-columns/bootstrap-table-fixed-columns.css",
"chars": 547,
"preview": ".fixed-table-header-columns,\n.fixed-table-body-columns {\n position: absolute;\n background-color: #fff;\n box-sizing: b"
},
{
"path": "public/plugins/table/extensions/fixed-columns/bootstrap-table-fixed-columns.js",
"chars": 45655,
"preview": "(function (global, factory) {\n\ttypeof exports === 'object' && typeof module !== 'undefined' ? factory(require('jquery'))"
},
{
"path": "public/plugins/table/extensions/group-by-v2/bootstrap-table-group-by.css",
"chars": 151,
"preview": ".bootstrap-table .table > tbody > tr.groupBy {\n cursor: pointer;\n}\n\n.bootstrap-table .table > tbody > tr.hidden + tr.de"
},
{
"path": "public/plugins/table/extensions/group-by-v2/bootstrap-table-group-by.js",
"chars": 48494,
"preview": "(function (global, factory) {\n\ttypeof exports === 'object' && typeof module !== 'undefined' ? factory(require('jquery'))"
},
{
"path": "public/plugins/table/extensions/i18n-enhance/bootstrap-table-i18n-enhance.js",
"chars": 3588,
"preview": "(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined' ? factory(require('jquery')"
},
{
"path": "public/plugins/table/extensions/key-events/bootstrap-table-key-events.js",
"chars": 39364,
"preview": "(function (global, factory) {\n\ttypeof exports === 'object' && typeof module !== 'undefined' ? factory(require('jquery'))"
},
{
"path": "public/plugins/table/extensions/mobile/bootstrap-table-mobile.js",
"chars": 36447,
"preview": "(function (global, factory) {\n\ttypeof exports === 'object' && typeof module !== 'undefined' ? factory(require('jquery'))"
},
{
"path": "public/plugins/table/extensions/multiple-sort/bootstrap-table-multiple-sort.js",
"chars": 76284,
"preview": "(function (global, factory) {\n\ttypeof exports === 'object' && typeof module !== 'undefined' ? factory(require('jquery'))"
},
{
"path": "public/plugins/table/extensions/natural-sorting/bootstrap-table-natural-sorting.js",
"chars": 43870,
"preview": "(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory("
},
{
"path": "public/plugins/table/extensions/page-jump-to/bootstrap-table-page-jump-to.css",
"chars": 336,
"preview": ".bootstrap-table.bootstrap3 .fixed-table-pagination > .pagination ul.pagination,\n.bootstrap-table.bootstrap3 .fixed-tabl"
},
{
"path": "public/plugins/table/extensions/page-jump-to/bootstrap-table-page-jump-to.js",
"chars": 31291,
"preview": "(function (global, factory) {\n\ttypeof exports === 'object' && typeof module !== 'undefined' ? factory(require('jquery'))"
},
{
"path": "public/plugins/table/extensions/pipeline/bootstrap-table-pipeline.js",
"chars": 38592,
"preview": "(function (global, factory) {\n\ttypeof exports === 'object' && typeof module !== 'undefined' ? factory(require('jquery'))"
},
{
"path": "public/plugins/table/extensions/print/bootstrap-table-print.js",
"chars": 68163,
"preview": "(function (global, factory) {\n\ttypeof exports === 'object' && typeof module !== 'undefined' ? factory(require('jquery'))"
},
{
"path": "public/plugins/table/extensions/reorder-columns/bootstrap-table-reorder-columns.js",
"chars": 32292,
"preview": "(function (global, factory) {\n\ttypeof exports === 'object' && typeof module !== 'undefined' ? factory(require('jquery'))"
},
{
"path": "public/plugins/table/extensions/reorder-rows/bootstrap-table-reorder-rows.css",
"chars": 802,
"preview": ".reorder_rows_onDragClass td {\n background-color: #eee;\n -webkit-box-shadow: 11px 5px 12px 2px #333, 0 1px 0 #ccc inse"
},
{
"path": "public/plugins/table/extensions/reorder-rows/bootstrap-table-reorder-rows.js",
"chars": 24946,
"preview": "(function (global, factory) {\n\ttypeof exports === 'object' && typeof module !== 'undefined' ? factory(require('jquery'))"
},
{
"path": "public/plugins/table/extensions/resizable/bootstrap-table-resizable.js",
"chars": 21589,
"preview": "(function (global, factory) {\n\ttypeof exports === 'object' && typeof module !== 'undefined' ? factory(require('jquery'))"
},
{
"path": "public/plugins/table/extensions/sticky-header/bootstrap-table-sticky-header.css",
"chars": 361,
"preview": "/**\n * @author vincent loh <vincent.ml@gmail.com>\n * @update zhixin wen <wenzhixin2010@gmail.com>\n */\n\n.fix-sticky {\n p"
},
{
"path": "public/plugins/table/extensions/sticky-header/bootstrap-table-sticky-header.js",
"chars": 33484,
"preview": "(function (global, factory) {\n\ttypeof exports === 'object' && typeof module !== 'undefined' ? factory(require('jquery'))"
},
{
"path": "public/plugins/table/extensions/toolbar/bootstrap-table-toolbar.js",
"chars": 80384,
"preview": "(function (global, factory) {\n\ttypeof exports === 'object' && typeof module !== 'undefined' ? factory(require('jquery'))"
},
{
"path": "public/plugins/table/extensions/treegrid/bootstrap-table-treegrid.js",
"chars": 62328,
"preview": "(function (global, factory) {\n\ttypeof exports === 'object' && typeof module !== 'undefined' ? factory(require('jquery'))"
},
{
"path": "public/plugins/table/locale/bootstrap-table-af-ZA.js",
"chars": 23395,
"preview": "(function (global, factory) {\n\ttypeof exports === 'object' && typeof module !== 'undefined' ? factory(require('jquery'))"
},
{
"path": "public/plugins/table/locale/bootstrap-table-ar-SA.js",
"chars": 23582,
"preview": "(function (global, factory) {\n\ttypeof exports === 'object' && typeof module !== 'undefined' ? factory(require('jquery'))"
},
{
"path": "public/plugins/table/locale/bootstrap-table-ca-ES.js",
"chars": 23473,
"preview": "(function (global, factory) {\n\ttypeof exports === 'object' && typeof module !== 'undefined' ? factory(require('jquery'))"
},
{
"path": "public/plugins/table/locale/bootstrap-table-cs-CZ.js",
"chars": 23483,
"preview": "(function (global, factory) {\n\ttypeof exports === 'object' && typeof module !== 'undefined' ? factory(require('jquery'))"
},
{
"path": "public/plugins/table/locale/bootstrap-table-da-DK.js",
"chars": 23471,
"preview": "(function (global, factory) {\n\ttypeof exports === 'object' && typeof module !== 'undefined' ? factory(require('jquery'))"
},
{
"path": "public/plugins/table/locale/bootstrap-table-de-DE.js",
"chars": 23586,
"preview": "(function (global, factory) {\n\ttypeof exports === 'object' && typeof module !== 'undefined' ? factory(require('jquery'))"
},
{
"path": "public/plugins/table/locale/bootstrap-table-el-GR.js",
"chars": 23899,
"preview": "(function (global, factory) {\n\ttypeof exports === 'object' && typeof module !== 'undefined' ? factory(require('jquery'))"
},
{
"path": "public/plugins/table/locale/bootstrap-table-en-US.js",
"chars": 23361,
"preview": "(function (global, factory) {\n\ttypeof exports === 'object' && typeof module !== 'undefined' ? factory(require('jquery'))"
},
{
"path": "public/plugins/table/locale/bootstrap-table-es-AR.js",
"chars": 23398,
"preview": "(function (global, factory) {\n\ttypeof exports === 'object' && typeof module !== 'undefined' ? factory(require('jquery'))"
},
{
"path": "public/plugins/table/locale/bootstrap-table-es-CL.js",
"chars": 23442,
"preview": "(function (global, factory) {\n\ttypeof exports === 'object' && typeof module !== 'undefined' ? factory(require('jquery'))"
},
{
"path": "public/plugins/table/locale/bootstrap-table-es-CR.js",
"chars": 23472,
"preview": "(function (global, factory) {\n\ttypeof exports === 'object' && typeof module !== 'undefined' ? factory(require('jquery'))"
},
{
"path": "public/plugins/table/locale/bootstrap-table-es-ES.js",
"chars": 23459,
"preview": "(function (global, factory) {\n\ttypeof exports === 'object' && typeof module !== 'undefined' ? factory(require('jquery'))"
},
{
"path": "public/plugins/table/locale/bootstrap-table-es-MX.js",
"chars": 23592,
"preview": "(function (global, factory) {\n\ttypeof exports === 'object' && typeof module !== 'undefined' ? factory(require('jquery'))"
},
{
"path": "public/plugins/table/locale/bootstrap-table-es-NI.js",
"chars": 23471,
"preview": "(function (global, factory) {\n\ttypeof exports === 'object' && typeof module !== 'undefined' ? factory(require('jquery'))"
},
{
"path": "public/plugins/table/locale/bootstrap-table-es-SP.js",
"chars": 23397,
"preview": "(function (global, factory) {\n\ttypeof exports === 'object' && typeof module !== 'undefined' ? factory(require('jquery'))"
},
{
"path": "public/plugins/table/locale/bootstrap-table-et-EE.js",
"chars": 23428,
"preview": "(function (global, factory) {\n\ttypeof exports === 'object' && typeof module !== 'undefined' ? factory(require('jquery'))"
},
{
"path": "public/plugins/table/locale/bootstrap-table-eu-EU.js",
"chars": 23446,
"preview": "(function (global, factory) {\n\ttypeof exports === 'object' && typeof module !== 'undefined' ? factory(require('jquery'))"
},
{
"path": "public/plugins/table/locale/bootstrap-table-fa-IR.js",
"chars": 23546,
"preview": "(function (global, factory) {\n\ttypeof exports === 'object' && typeof module !== 'undefined' ? factory(require('jquery'))"
},
{
"path": "public/plugins/table/locale/bootstrap-table-fi-FI.js",
"chars": 23423,
"preview": "(function (global, factory) {\n\ttypeof exports === 'object' && typeof module !== 'undefined' ? factory(require('jquery'))"
},
{
"path": "public/plugins/table/locale/bootstrap-table-fr-BE.js",
"chars": 23527,
"preview": "(function (global, factory) {\n\ttypeof exports === 'object' && typeof module !== 'undefined' ? factory(require('jquery'))"
},
{
"path": "public/plugins/table/locale/bootstrap-table-fr-CH.js",
"chars": 23470,
"preview": "(function (global, factory) {\n\ttypeof exports === 'object' && typeof module !== 'undefined' ? factory(require('jquery'))"
},
{
"path": "public/plugins/table/locale/bootstrap-table-fr-FR.js",
"chars": 23581,
"preview": "(function (global, factory) {\n\ttypeof exports === 'object' && typeof module !== 'undefined' ? factory(require('jquery'))"
},
{
"path": "public/plugins/table/locale/bootstrap-table-fr-LU.js",
"chars": 23474,
"preview": "(function (global, factory) {\n\ttypeof exports === 'object' && typeof module !== 'undefined' ? factory(require('jquery'))"
},
{
"path": "public/plugins/table/locale/bootstrap-table-he-IL.js",
"chars": 23470,
"preview": "(function (global, factory) {\n\ttypeof exports === 'object' && typeof module !== 'undefined' ? factory(require('jquery'))"
},
{
"path": "public/plugins/table/locale/bootstrap-table-hr-HR.js",
"chars": 23480,
"preview": "(function (global, factory) {\n\ttypeof exports === 'object' && typeof module !== 'undefined' ? factory(require('jquery'))"
},
{
"path": "public/plugins/table/locale/bootstrap-table-hu-HU.js",
"chars": 23408,
"preview": "(function (global, factory) {\n\ttypeof exports === 'object' && typeof module !== 'undefined' ? factory(require('jquery'))"
},
{
"path": "public/plugins/table/locale/bootstrap-table-id-ID.js",
"chars": 23413,
"preview": "(function (global, factory) {\n\ttypeof exports === 'object' && typeof module !== 'undefined' ? factory(require('jquery'))"
},
{
"path": "public/plugins/table/locale/bootstrap-table-it-IT.js",
"chars": 23532,
"preview": "(function (global, factory) {\n\ttypeof exports === 'object' && typeof module !== 'undefined' ? factory(require('jquery'))"
},
{
"path": "public/plugins/table/locale/bootstrap-table-ja-JP.js",
"chars": 23538,
"preview": "(function (global, factory) {\n\ttypeof exports === 'object' && typeof module !== 'undefined' ? factory(require('jquery'))"
},
{
"path": "public/plugins/table/locale/bootstrap-table-ka-GE.js",
"chars": 23871,
"preview": "(function (global, factory) {\n\ttypeof exports === 'object' && typeof module !== 'undefined' ? factory(require('jquery'))"
},
{
"path": "public/plugins/table/locale/bootstrap-table-ko-KR.js",
"chars": 23487,
"preview": "(function (global, factory) {\n\ttypeof exports === 'object' && typeof module !== 'undefined' ? factory(require('jquery'))"
},
{
"path": "public/plugins/table/locale/bootstrap-table-ms-MY.js",
"chars": 23483,
"preview": "(function (global, factory) {\n\ttypeof exports === 'object' && typeof module !== 'undefined' ? factory(require('jquery'))"
},
{
"path": "public/plugins/table/locale/bootstrap-table-nb-NO.js",
"chars": 23353,
"preview": "(function (global, factory) {\n\ttypeof exports === 'object' && typeof module !== 'undefined' ? factory(require('jquery'))"
},
{
"path": "public/plugins/table/locale/bootstrap-table-nl-BE.js",
"chars": 23550,
"preview": "(function (global, factory) {\n\ttypeof exports === 'object' && typeof module !== 'undefined' ? factory(require('jquery'))"
},
{
"path": "public/plugins/table/locale/bootstrap-table-nl-NL.js",
"chars": 23594,
"preview": "(function (global, factory) {\n\ttypeof exports === 'object' && typeof module !== 'undefined' ? factory(require('jquery'))"
},
{
"path": "public/plugins/table/locale/bootstrap-table-pl-PL.js",
"chars": 23414,
"preview": "(function (global, factory) {\n\ttypeof exports === 'object' && typeof module !== 'undefined' ? factory(require('jquery'))"
},
{
"path": "public/plugins/table/locale/bootstrap-table-pt-BR.js",
"chars": 23556,
"preview": "(function (global, factory) {\n\ttypeof exports === 'object' && typeof module !== 'undefined' ? factory(require('jquery'))"
},
{
"path": "public/plugins/table/locale/bootstrap-table-pt-PT.js",
"chars": 23442,
"preview": "(function (global, factory) {\n\ttypeof exports === 'object' && typeof module !== 'undefined' ? factory(require('jquery'))"
},
{
"path": "public/plugins/table/locale/bootstrap-table-ro-RO.js",
"chars": 23414,
"preview": "(function (global, factory) {\n\ttypeof exports === 'object' && typeof module !== 'undefined' ? factory(require('jquery'))"
},
{
"path": "public/plugins/table/locale/bootstrap-table-ru-RU.js",
"chars": 23569,
"preview": "(function (global, factory) {\n\ttypeof exports === 'object' && typeof module !== 'undefined' ? factory(require('jquery'))"
},
{
"path": "public/plugins/table/locale/bootstrap-table-sk-SK.js",
"chars": 23431,
"preview": "(function (global, factory) {\n\ttypeof exports === 'object' && typeof module !== 'undefined' ? factory(require('jquery'))"
},
{
"path": "public/plugins/table/locale/bootstrap-table-sr-Cyrl-RS.js",
"chars": 24001,
"preview": "(function (global, factory) {\n\ttypeof exports === 'object' && typeof module !== 'undefined' ? factory(require('jquery'))"
},
{
"path": "public/plugins/table/locale/bootstrap-table-sr-Latn-RS.js",
"chars": 23465,
"preview": "(function (global, factory) {\n\ttypeof exports === 'object' && typeof module !== 'undefined' ? factory(require('jquery'))"
},
{
"path": "public/plugins/table/locale/bootstrap-table-sv-SE.js",
"chars": 23355,
"preview": "(function (global, factory) {\n\ttypeof exports === 'object' && typeof module !== 'undefined' ? factory(require('jquery'))"
},
{
"path": "public/plugins/table/locale/bootstrap-table-th-TH.js",
"chars": 23733,
"preview": "(function (global, factory) {\n\ttypeof exports === 'object' && typeof module !== 'undefined' ? factory(require('jquery'))"
},
{
"path": "public/plugins/table/locale/bootstrap-table-tr-TR.js",
"chars": 23461,
"preview": "(function (global, factory) {\n\ttypeof exports === 'object' && typeof module !== 'undefined' ? factory(require('jquery'))"
},
{
"path": "public/plugins/table/locale/bootstrap-table-uk-UA.js",
"chars": 23660,
"preview": "(function (global, factory) {\n\ttypeof exports === 'object' && typeof module !== 'undefined' ? factory(require('jquery'))"
},
{
"path": "public/plugins/table/locale/bootstrap-table-ur-PK.js",
"chars": 23584,
"preview": "(function (global, factory) {\n\ttypeof exports === 'object' && typeof module !== 'undefined' ? factory(require('jquery'))"
},
{
"path": "public/plugins/table/locale/bootstrap-table-uz-Latn-UZ.js",
"chars": 23441,
"preview": "(function (global, factory) {\n\ttypeof exports === 'object' && typeof module !== 'undefined' ? factory(require('jquery'))"
},
{
"path": "public/plugins/table/locale/bootstrap-table-vi-VN.js",
"chars": 23456,
"preview": "(function (global, factory) {\n\ttypeof exports === 'object' && typeof module !== 'undefined' ? factory(require('jquery'))"
},
{
"path": "public/plugins/table/locale/bootstrap-table-zh-CN.js",
"chars": 23424,
"preview": "(function (global, factory) {\n\ttypeof exports === 'object' && typeof module !== 'undefined' ? factory(require('jquery'))"
},
{
"path": "public/plugins/table/locale/bootstrap-table-zh-TW.js",
"chars": 23425,
"preview": "(function (global, factory) {\n\ttypeof exports === 'object' && typeof module !== 'undefined' ? factory(require('jquery'))"
},
{
"path": "public/plugins/table/themes/bulma/bootstrap-table-bulma.css",
"chars": 10977,
"preview": "@charset \"UTF-8\";\n/**\n * @author zhixin wen <wenzhixin2010@gmail.com>\n * https://github.com/wenzhixin/bootstrap-table/\n "
},
{
"path": "public/plugins/table/themes/bulma/bootstrap-table-bulma.js",
"chars": 30970,
"preview": "(function (global, factory) {\n\ttypeof exports === 'object' && typeof module !== 'undefined' ? factory(require('jquery'))"
},
{
"path": "public/plugins/table/themes/foundation/bootstrap-table-foundation.css",
"chars": 10462,
"preview": "@charset \"UTF-8\";\n/**\n * @author zhixin wen <wenzhixin2010@gmail.com>\n * https://github.com/wenzhixin/bootstrap-table/\n "
},
{
"path": "public/plugins/table/themes/foundation/bootstrap-table-foundation.js",
"chars": 31154,
"preview": "(function (global, factory) {\n\ttypeof exports === 'object' && typeof module !== 'undefined' ? factory(require('jquery'))"
},
{
"path": "public/plugins/table/themes/materialize/bootstrap-table-materialize.css",
"chars": 10381,
"preview": "@charset \"UTF-8\";\n/**\n * @author zhixin wen <wenzhixin2010@gmail.com>\n * https://github.com/wenzhixin/bootstrap-table/\n "
},
{
"path": "public/plugins/table/themes/materialize/bootstrap-table-materialize.js",
"chars": 30516,
"preview": "(function (global, factory) {\n\ttypeof exports === 'object' && typeof module !== 'undefined' ? factory(require('jquery'))"
},
{
"path": "public/plugins/table/themes/semantic/bootstrap-table-semantic.css",
"chars": 10857,
"preview": "@charset \"UTF-8\";\n/**\n * @author zhixin wen <wenzhixin2010@gmail.com>\n * https://github.com/wenzhixin/bootstrap-table/\n "
},
{
"path": "public/plugins/table/themes/semantic/bootstrap-table-semantic.js",
"chars": 29565,
"preview": "(function (global, factory) {\n\ttypeof exports === 'object' && typeof module !== 'undefined' ? factory(require('jquery'))"
},
{
"path": "public/stisla/css/components.css",
"chars": 210960,
"preview": "/**\n * Components\n *\n * TABLE OF CONTENTS\n * 1. Components\n * \t 1.1 Article\n * \t 1.2 Author\n * \t 1.3 Avatar Item\n * \t"
},
{
"path": "public/stisla/css/custom.css",
"chars": 186,
"preview": "/**\n *\n * You can write your CSS code here, DO NOT touch the default JavaScript file\n * because it will make it harder f"
},
{
"path": "public/stisla/css/reverse.css",
"chars": 2954,
"preview": "body.skin-reverse.sidebar-mini .main-sidebar:after {\n background-color: color(primary); }\n\nbody.skin-reverse.sidebar-mi"
},
{
"path": "public/stisla/css/rtl.css",
"chars": 11647,
"preview": "@charset \"UTF-8\";\n/**\n * Stisla\n *\n * Stisla is a clean & modern HTML5 admin template based on Bootstrap 4.\n * Stisla wi"
},
{
"path": "public/stisla/css/skins/reverse.css",
"chars": 2755,
"preview": "body.skin-reverse.sidebar-mini .main-sidebar:after {\n background-color: #6777ef;\n}\nbody.skin-reverse.sidebar-mini .main"
},
{
"path": "public/stisla/css/style.css",
"chars": 126168,
"preview": "@charset \"UTF-8\";\n/**\n * Stisla\n *\n * Stisla is a clean & modern HTML5 admin template based on Bootstrap 4.\n * Stisla wi"
},
{
"path": "public/stisla/fonts/vazir/LICENSE",
"chars": 2584,
"preview": "Changes by Saber Rastikerdar are in public domain.\nGlyphs and data from Roboto font are licensed under the Apache Licens"
},
{
"path": "public/stisla/fonts/vazir/font-face.css",
"chars": 1773,
"preview": "@font-face {\n font-family: Vazir;\n src: url('Vazir.eot');\n src: url('Vazir.eot?#iefix') format('embedded-opentype'),\n"
},
{
"path": "public/stisla/js/custom.js",
"chars": 154,
"preview": "/**\n *\n * You can write your JS code here, DO NOT touch the default style file\n * because it will make it harder for you"
},
{
"path": "public/stisla/js/page/auth-register.js",
"chars": 45,
"preview": "\"use strict\";\n\n$(\".pwstrength\").pwstrength();"
},
{
"path": "public/stisla/js/page/bootstrap-modal.js",
"chars": 2469,
"preview": "\"use strict\";\n\n$(\"#modal-1\").fireModal({body: 'Modal body text goes here.'});\n$(\"#modal-2\").fireModal({body: 'Modal body"
},
{
"path": "public/stisla/js/page/components-chat-box.js",
"chars": 2454,
"preview": "\"use strict\";\n\nvar chats = [\n {\n text: 'Hi, dude!',\n position: 'left'\n },\n {\n text: 'Wat?',\n position: 'r"
},
{
"path": "public/stisla/js/page/components-multiple-upload.js",
"chars": 1145,
"preview": "\"use strict\";\n\nvar dropzone = new Dropzone(\"#mydropzone\", {\n url: \"#\"\n});\n\nvar minSteps = 6,\n maxSteps = 60,\n timeBet"
},
{
"path": "public/stisla/js/page/components-statistic.js",
"chars": 6091,
"preview": "\"use strict\";\n\nvar sparkline_values = [10, 7, 4, 8, 5, 8, 6, 5, 2, 4, 7, 4, 9, 6, 5, 9];\nvar sparkline_values_chart = [2"
},
{
"path": "public/stisla/js/page/components-table.js",
"chars": 870,
"preview": "\"use strict\";\n\n$(\"[data-checkboxes]\").each(function() {\n var me = $(this),\n group = me.data('checkboxes'),\n role "
},
{
"path": "public/stisla/js/page/components-user.js",
"chars": 253,
"preview": "\"use strict\";\n\n$(\"#users-carousel\").owlCarousel({\n items: 4,\n margin: 20,\n autoplay: true,\n autoplayTimeout: 5000,\n "
},
{
"path": "public/stisla/js/page/features-post-create.js",
"chars": 497,
"preview": "\"use strict\";\n\n$(\"select\").selectric();\n$.uploadPreview({\n input_field: \"#image-upload\", // Default: .image-upload\n "
},
{
"path": "public/stisla/js/page/features-posts.js",
"chars": 801,
"preview": "\"use strict\";\n\n$(\"[data-checkboxes]\").each(function() {\n var me = $(this),\n group = me.data('checkboxes'),\n role "
},
{
"path": "public/stisla/js/page/features-setting-detail.js",
"chars": 673,
"preview": "\"use strict\";\n\n$(\"#setting-form\").submit(function() {\n let save_button = $(this).find('#save-btn'),\n output_status ="
},
{
"path": "public/stisla/js/page/forms-advanced-forms.js",
"chars": 2168,
"preview": "\"use strict\";\n\nvar cleavePN = new Cleave('.phone-number', {\n phone: true,\n phoneRegionCode: 'us'\n});\nvar cleaveC = new"
},
{
"path": "public/stisla/js/page/gmaps-advanced-route.js",
"chars": 967,
"preview": "\"use strict\";\n\n// initialize map\nvar map = new GMaps({\n div: '#map',\n lat: -6.5637928,\n lng: 106.7535061\n});\n\n// when"
},
{
"path": "public/stisla/js/page/gmaps-draggable-marker.js",
"chars": 1194,
"preview": "\"use strict\";\n\nvar input_lat = $(\"#input-lat\"), // latitude input text\n input_lng = $(\"#input-lng\"), // longitude input"
},
{
"path": "public/stisla/js/page/gmaps-geocoding.js",
"chars": 552,
"preview": "\"use strict\";\n\n// initialize map\nvar map = new GMaps({\n div: '#map',\n lat: -6.5637928,\n lng: 106.7535061\n});\n\n// when"
},
{
"path": "public/stisla/js/page/gmaps-geolocation.js",
"chars": 792,
"preview": "\"use strict\";\n\n// initialize map\nvar map = new GMaps({\n div: '#map',\n lat: -6.5637928,\n lng: 106.7535061\n});\n// initi"
},
{
"path": "public/stisla/js/page/gmaps-marker.js",
"chars": 421,
"preview": "\"use strict\";\n\n// initialize map\nvar map = new GMaps({\n div: '#map',\n lat: -6.5637928,\n lng: 106.7535061\n});\n// Added"
},
{
"path": "public/stisla/js/page/gmaps-multiple-marker.js",
"chars": 1062,
"preview": "\"use strict\";\n\n// initialize map\nvar map = new GMaps({\n div: '#map',\n lat: -6.8665409,\n lng: 106.4836553,\n zoom: 8\n}"
},
{
"path": "public/stisla/js/page/gmaps-route.js",
"chars": 361,
"preview": "\"use strict\";\n\n// initialize map\nvar map = new GMaps({\n div: '#map',\n lat: -6.5637928,\n lng: 106.7535061,\n zoom: 13\n"
},
{
"path": "public/stisla/js/page/gmaps-simple.js",
"chars": 107,
"preview": "\"use strict\";\n\nvar simple_map = new GMaps({\n div: '#simple-map',\n lat: -6.5637928,\n lng: 106.7535061\n})\n"
},
{
"path": "public/stisla/js/page/index-0.js",
"chars": 2755,
"preview": "\"use strict\";\n\nvar statistics_chart = document.getElementById(\"myChart\").getContext('2d');\n\nvar myChart = new Chart(stat"
},
{
"path": "public/stisla/js/page/index.js",
"chars": 4827,
"preview": "\"use strict\";\n\nvar ctx = document.getElementById(\"myChart\").getContext('2d');\nvar myChart = new Chart(ctx, {\n type: 'li"
},
{
"path": "public/stisla/js/page/modules-calendar.js",
"chars": 1398,
"preview": "\"use strict\";\n\n$(\"#myEvent\").fullCalendar({\n height: 'auto',\n header: {\n left: 'prev,next today',\n center: 'titl"
},
{
"path": "public/stisla/js/page/modules-chartjs.js",
"chars": 2963,
"preview": "\"use strict\";\n\nvar ctx = document.getElementById(\"myChart\").getContext('2d');\nvar myChart = new Chart(ctx, {\n type: 'li"
},
{
"path": "public/stisla/js/page/modules-datatables.js",
"chars": 996,
"preview": "\"use strict\";\n\n$(\"[data-checkboxes]\").each(function() {\n var me = $(this),\n group = me.data('checkboxes'),\n role "
},
{
"path": "public/stisla/js/page/modules-ion-icons.js",
"chars": 236,
"preview": "\"use strict\";\n\n$(\"#icons li\").each(function() {\n $(this).append('<div class=\"icon-name\">'+ $(this).attr('class') +'</di"
},
{
"path": "public/stisla/js/page/modules-slider.js",
"chars": 171,
"preview": "\"use strict\";\n\n$(\"#slider1,#slider2\").owlCarousel({\n items: 1,\n nav: true,\n navText: ['<i class=\"fas fa-chevron-left\""
},
{
"path": "public/stisla/js/page/modules-sparkline.js",
"chars": 1104,
"preview": "\"use strict\";\n\nvar sparkline_values = [110, 147, 324, 108, 235, 498, 346, 525, 382, 214, 427, 424, 239, 236, 475, 569],\n"
},
{
"path": "public/stisla/js/page/modules-sweetalert.js",
"chars": 1283,
"preview": "\"use strict\";\n\n$(\"#swal-1\").click(function() {\n\tswal('Hello');\n});\n\n$(\"#swal-2\").click(function() {\n\tswal('Good Job', 'Y"
},
{
"path": "public/stisla/js/page/modules-toastr.js",
"chars": 1415,
"preview": "\"use strict\";\n\n$(\"#toastr-1\").click(function() {\n iziToast.info({\n title: 'Hello, world!',\n message: 'This awesom"
},
{
"path": "public/stisla/js/page/modules-vector-map.js",
"chars": 2114,
"preview": "\"use strict\";\n\n$('#visitorMap').vectorMap({\n map: 'world_en',\n backgroundColor: '#ffffff',\n borderColor: '#f2f2f2',\n "
},
{
"path": "public/stisla/js/page/utilities-contact.js",
"chars": 663,
"preview": "\"use strict\";\n\n// initialize map\nvar map = new GMaps({\n div: '#map',\n lat: -6.5637928,\n lng: 106.7535061,\n zoomContr"
},
{
"path": "public/stisla/js/scripts.js",
"chars": 19977,
"preview": "\"use strict\";\n\n// ChartJS\nif (window.Chart) {\n Chart.defaults.global.defaultFontFamily = \"'Nunito', 'Segoe UI', 'Aria"
},
{
"path": "public/stisla/js/stisla.js",
"chars": 8947,
"preview": "\"use strict\";\n\n(function($, window, i) {\n // Bootstrap 4 Modal\n $.fn.fireModal = function(options) {\n var options ="
},
{
"path": "sql/goadmin.sql",
"chars": 4235,
"preview": "-- MySQL dump 10.13 Distrib 8.0.18, for macos10.14 (x86_64)\n--\n-- Host: 127.0.0.1 Database: goadmin\n-- -------------"
},
{
"path": "template/home/index.html",
"chars": 19393,
"preview": "<!DOCTYPE html>\n<html>\n<head>\n ${include \"layout/header.html\" .}\n</head>\n\n${include \"layout/nav.html\" .}\n<div class=\""
},
{
"path": "template/layout/footer.html",
"chars": 1915,
"preview": "</div>\n</div>\n<!-- General JS Scripts -->\n<script src=\"https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"
},
{
"path": "template/layout/header.html",
"chars": 797,
"preview": "\n <meta charset=\"UTF-8\">\n <meta content=\"width=device-width, initial-scale=1, maximum-scale=1, shrink-to-fit=no\" n"
},
{
"path": "template/layout/nav.html",
"chars": 7139,
"preview": "<div id=\"app\">\n <div class=\"main-wrapper\">\n <div class=\"navbar-bg\"></div>\n <nav class=\"navbar navbar-ex"
},
{
"path": "template/public/login.html",
"chars": 7240,
"preview": "<!DOCTYPE html>\n<html lang=\"en\">\n<head>\n <meta charset=\"UTF-8\">\n <meta content=\"width=device-width, initial-scale="
},
{
"path": "template/sys/config.html",
"chars": 5592,
"preview": "<!DOCTYPE html>\n<html>\n<head>\n ${include \"layout/header.html\" .}\n</head>\n\n${include \"layout/nav.html\" .}\n<div class"
},
{
"path": "template/sys/oss.html",
"chars": 6670,
"preview": "<!DOCTYPE html>\n<html>\n<head>\n ${include \"layout/header.html\" .}\n</head>\n\n${include \"layout/nav.html\" .}\n<div class=\""
},
{
"path": "template/sys/user.html",
"chars": 5566,
"preview": "<!DOCTYPE html>\n<html>\n<head>\n ${include \"layout/header.html\" .}\n</head>\n\n${include \"layout/nav.html\" .}\n<div class"
},
{
"path": "utils/base/baseForm.go",
"chars": 1492,
"preview": "package base\n\nimport (\n\t\"github.com/gogf/gf/util/gconv\"\n)\n\ntype BaseForm struct {\n\tPage int `form:\"page\",json:\"p"
},
{
"path": "utils/base/baseModel.go",
"chars": 114,
"preview": "package base\n\n\n// 定义model interface\ntype IModel interface {\n\t// 获取表明\n\tTableName() string\n\t// 获取主键值\n\tPkVal() int\n}\n"
},
{
"path": "utils/base/baseRouter.go",
"chars": 1283,
"preview": "package base\n\nimport (\n\t\"github.com/gogf/gf/encoding/gjson\"\n\t\"github.com/gogf/gf/frame/g\"\n\t\"github.com/gogf/gf/net/ghttp"
},
{
"path": "utils/bean/SessionUser.go",
"chars": 222,
"preview": "package bean\n\ntype SessionUser struct {\n\tId int `form:\"id\" json:\"id\"` // 主键\n\tUsername string `form:"
},
{
"path": "utils/cloud/oss.go",
"chars": 14,
"preview": "package cloud\n"
},
{
"path": "utils/resp/resp.go",
"chars": 1504,
"preview": "package resp\n\nimport (\n\t\"encoding/json\"\n\t\"github.com/gogf/gf/util/gconv\"\n)\n\nconst (\n\tSUCCESS = 0\n\tFAIL = -1"
},
{
"path": "utils/time.go",
"chars": 103,
"preview": "package utils\n\nimport \"github.com/gogf/gf/os/gtime\"\n\nfunc GetNow() string {\n\treturn gtime.Datetime()\n}\n"
},
{
"path": "utils/tools/gid.go",
"chars": 2875,
"preview": "package tools\n\nimport (\n\t\"errors\"\n\t\"fmt\"\n\t\"sync\"\n\t\"time\"\n)\n\nfunc GetId(datacenterId int64) int64 {\n\tcurrWoker := &IdWork"
},
{
"path": "utils/tools/redis.go",
"chars": 726,
"preview": "package tools\n\nimport (\n\t\"github.com/gogf/gf/encoding/gjson\"\n\t\"github.com/gogf/gf/frame/g\"\n\t\"github.com/gogf/gf/os/glog\""
}
]
About this extraction
This page contains the full source code of the CrazyRocks/goadmin GitHub repository, extracted and formatted as plain text for AI agents and large language models (LLMs). The extraction includes 196 files (3.6 MB), approximately 960.3k tokens, and a symbol index with 582 extracted functions, classes, methods, constants, and types. Use this with OpenClaw, Claude, ChatGPT, Cursor, Windsurf, or any other AI tool that accepts text input. You can copy the full output to your clipboard or download it as a .txt file.
Extracted by GitExtract — free GitHub repo to text converter for AI. Built by Nikandr Surkov.