├── LICENSE ├── Query.js ├── README.md ├── bin ├── config-all.yaml └── config.yaml ├── build.sh ├── config-all.yaml ├── config.yaml ├── configs └── config.go ├── db ├── client.go └── save.go ├── docs ├── .github │ ├── CODEOWNERS │ ├── config.yml │ ├── no-response.yml │ ├── settings.yml │ └── stale.yml ├── .gitignore ├── .rubocop.yml ├── .travis.yml ├── DataTables-1.10.18 │ ├── css │ │ ├── dataTables.bootstrap.css │ │ ├── dataTables.bootstrap.min.css │ │ ├── dataTables.bootstrap4.css │ │ ├── dataTables.bootstrap4.min.css │ │ ├── dataTables.foundation.css │ │ ├── dataTables.foundation.min.css │ │ ├── dataTables.jqueryui.css │ │ ├── dataTables.jqueryui.min.css │ │ ├── dataTables.semanticui.css │ │ ├── dataTables.semanticui.min.css │ │ ├── jquery.dataTables.css │ │ └── jquery.dataTables.min.css │ ├── images │ │ ├── sort_asc.png │ │ ├── sort_asc_disabled.png │ │ ├── sort_both.png │ │ ├── sort_desc.png │ │ └── sort_desc_disabled.png │ └── js │ │ ├── dataTables.bootstrap.js │ │ ├── dataTables.bootstrap.min.js │ │ ├── dataTables.bootstrap4.js │ │ ├── dataTables.bootstrap4.min.js │ │ ├── dataTables.foundation.js │ │ ├── dataTables.foundation.min.js │ │ ├── dataTables.jqueryui.js │ │ ├── dataTables.jqueryui.min.js │ │ ├── dataTables.semanticui.js │ │ ├── dataTables.semanticui.min.js │ │ ├── jquery.dataTables.js │ │ └── jquery.dataTables.min.js ├── Gemfile ├── LICENSE ├── _config.yml ├── _layouts │ └── default.html ├── _sass │ ├── jekyll-theme-slate.scss │ └── rouge-github.scss ├── another-page.md ├── assets │ ├── css │ │ └── style.scss │ └── images │ │ ├── bg_hr.png │ │ ├── blacktocat.png │ │ ├── icon_download.png │ │ └── sprite_download.png ├── datatables.css ├── datatables.js ├── docs │ ├── CODE_OF_CONDUCT.md │ ├── CONTRIBUTING.md │ └── SUPPORT.md ├── index.md ├── jekyll-theme-slate.gemspec ├── post │ ├── all.md │ ├── job.md │ └── room.md ├── script │ ├── bootstrap │ ├── cibuild │ ├── release │ └── validate-html └── thumbnail.png ├── entrance ├── clean_status.go ├── info.go ├── lianjia.go ├── lianjia_zufang.go └── zhilian.go ├── main.go ├── numLog.txt └── proxypool └── proxy.go /Query.js: -------------------------------------------------------------------------------- 1 | // 这里是分析数据时用的的查询语句 2 | 3 | 4 | // 房价均价查询语句 5 | db.lianjia.aggregate([ 6 | { 7 | '$match': { 8 | $and: [ 9 | { "address.0": { $exists: true } }, 10 | //统计数据的的时间区间,使用的挂牌时间统计 11 | { 12 | "guapaitime": { 13 | $gt: ISODate("2019-07-01T00:00:00.000+0000"), 14 | $lt: ISODate("2019-08-01T00:00:00.000+0000") 15 | } 16 | }, 17 | { "address.0": "成都" } 18 | ] 19 | }, 20 | }, 21 | { 22 | $group: { 23 | _id: { $substr: ["$Link", 0, 22] }, 24 | city: { $first: "$address" }, 25 | count: { $sum: 1 }, 26 | avg_UnitPrice: { $avg: "$UnitPrice" }, 27 | std: { $stdDevPop: "$UnitPrice" }, 28 | } 29 | }, 30 | { 31 | $project: 32 | { 33 | count: 1, //总数 34 | avg_UnitPrice: 1, //每平米均价 35 | std: 1, //标准差 36 | ratio: { $divide: ["$std", "$avg_UnitPrice"] }, //标准差与均价的比值 37 | city: { $slice: ['$city', 0, 1] } 38 | } 39 | }, 40 | { 41 | '$sort': { count: -1 } 42 | } 43 | ]); 44 | 45 | 46 | // 平均薪资查询语句 47 | db.zhilian.aggregate([ 48 | {'$match': {"workingExp.name": "1-3年"}}, 49 | { 50 | $group: { 51 | _id: {"$arrayElemAt": ["$city.items.name", 0]}, 52 | count: {$sum: 1}, 53 | avg: {$avg: "$avg"}, 54 | std: {$stdDevPop: "$avg"}, 55 | } 56 | }, 57 | { 58 | $project: 59 | { 60 | count: 1, //总数 61 | avg: 1, //平均薪资 62 | std: 1, //标准差 63 | ratio: {$divide: ["$std", "$avg"]} //标准差与均价的比值 64 | } 65 | }, 66 | { 67 | '$sort': {count: -1} 68 | } 69 | ]); 70 | 71 | 72 | // 薪资,按公司规模和城市分组 73 | db.zhilian.aggregate([ 74 | { 75 | $group: { 76 | _id: {city: {"$arrayElemAt": ["$city.items.name", 0]}, "公司规模": "$company.size.name"}, 77 | count: {$sum: 1}, 78 | avg: {$avg: "$avg"}, 79 | std: {$stdDevPop: "$avg"}, 80 | } 81 | }, 82 | { 83 | $project: 84 | { 85 | count: 1, //总数 86 | avg: 1, //平均薪资 87 | std: 1, //标准差 88 | ratio: {$divide: ["$std", "$avg"]} //标准差与均价的比值 89 | } 90 | }, 91 | { 92 | '$sort': {count: -1} 93 | } 94 | ]); 95 | 96 | 97 | // 当前进度 98 | db.lianjia.aggregate([ 99 | { 100 | '$sort': {detailCrawlTime: -1} 101 | } 102 | ], {allowDiskUse: true}); 103 | 104 | 105 | // 租房数据 106 | db.lianjia_zufang.aggregate([ 107 | {'$match': {"mianji": {$gt: 0}}}, 108 | { 109 | $group: { 110 | _id: "$city", 111 | count: {$sum: 1}, 112 | avg: {$avg: "$price"}, 113 | std: {$stdDevPop: "$price"}, 114 | unitPrice: {$avg: {$divide: ["$price", "$mianji"]}} 115 | } 116 | }, 117 | { 118 | $project: { 119 | unitPrice: 1, // 单位价格 120 | count: 1, //总数 121 | avg: 1, //每平米均价 122 | std: 1, //标准差 123 | ratio: {$divide: ["$std", "$avg"]} //标准差与均价的比值 124 | } 125 | }, 126 | { 127 | '$sort': {count: -1} 128 | } 129 | ]); 130 | 131 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # 逃离北上广 2 | 3 | 4 | [![Home](https://img.shields.io/badge/link-项目主页-brightgreen.svg)](https://jinnrry.github.io/getAwayBSG/) 5 | [![Link](https://img.shields.io/badge/link-python实现-blue.svg)](https://github.com/jinnrry/getAwayBSG/tree/python) 6 | [![Downloads](https://img.shields.io/github/downloads/jinnrry/getAwayBSG/total)](https://img.shields.io/github/downloads/jinnrry/getAwayBSG/total) 7 | [![forks](https://img.shields.io/github/forks/jinnrry/getAwayBSG?style=flat)](https://img.shields.io/github/forks/jinnrry/getAwayBSG?style=flat) 8 | [![starts](https://img.shields.io/github/stars/jinnrry/getAwayBSG)](https://img.shields.io/github/stars/jinnrry/getAwayBSG) 9 | [![license](https://img.shields.io/github/license/jinnrry/getAwayBSG)](https://img.shields.io/github/license/jinnrry/getAwayBSG) 10 | [![issues](https://img.shields.io/github/issues/jinnrry/getAwayBSG)](https://img.shields.io/github/issues/jinnrry/getAwayBSG) 11 | [![version](https://img.shields.io/github/release/jinnrry/getAwayBSG)](https://img.shields.io/github/release/jinnrry/getAwayBSG) 12 | 13 | 14 | 15 | > **注意!**\ 16 | > 1.本项目仅供学习研究,禁止用于任何商业项目\ 17 | > 2.运行的时候为被爬方考虑下!尽量不要爬全站。请在配置文件中设置你需要的城市爬取即可!\ 18 | > 3.[项目主页](https://jinnrry.github.io/getAwayBSG/)里面有现成数据,不需要你自己动手运行爬虫 19 | 20 | 21 | ## 啥? 22 | 23 | 如果你是一个正准备逃离北上广等一线城市却又找不到去处的IT人士,或许这个项目能给你点建议。 24 | 25 | 通过爬虫,抓取了链接、智联的工作,租房,二手房一系列数据,为你提供各城市的宏观分析数据 26 | 27 | ## 安装 28 | 29 | 从[releases](https://github.com/jinnrry/getAwayBSG/releases)下载对应操作系统,对应平台的二进制文件和配置文件模板 30 | 31 | ## 配置 32 | 33 | 打开配置文件你就知道了 34 | 35 | ## 运行 36 | 37 | 链家二手房数据抓取 38 | 39 | ``` 40 | getAwayBSG -config=config.yaml -lianjia_ershou 41 | ``` 42 | 43 | 链家租房数据抓取 44 | 45 | ``` 46 | getAwayBSG -config=config.yaml -lianjia_zufang 47 | ``` 48 | 49 | 智联招聘数据抓取 50 | 51 | ``` 52 | getAwayBSG -config=config.yaml -zhilian 53 | ``` 54 | 55 | 其他命令 56 | 57 | 1.clean 58 | 59 | 清除缓存状态,抓取过程中会将抓取进度保存到mongodb,每次启动会从上次位置继续抓取,如果你需要清除缓存状态,执行 60 | ``` 61 | getAwayBSG -clean 62 | ``` 63 | 该命令支持脚本调用 64 | ``` 65 | getAwayBSG -clean [option] 66 | ``` 67 | 68 | option支持:lianjia_ershou、zhilian、lianjia_zufang 69 | 70 | 2.info 71 | 72 | 方便定时脚本记录抓取情况,使用info命令可以输出当前抓取数据量到文件 73 | 74 | ``` 75 | getAwayBSG -info -info_save_to=./numLog.txt 76 | ``` 77 | 78 | 使用-info_save_to参数指定文件保存位置,默认为当前目录的numLog.txt文件中 79 | 80 | 3.help 81 | 82 | 输出支持的全部命令列表 83 | 84 | ``` 85 | getAwayBSG -help 86 | ``` 87 | 88 | 89 | ## 数据分析 90 | 91 | 分析用的MongoDB语句在[Query.js](./Query.js)文件中,使用MongoDB执行即可 92 | 93 | ## 编译 94 | 95 | 编译使用xgo,需要先安装docker 96 | 97 | ``` 98 | git clone https://github.com/jinnrry/getAwayBSG 99 | 100 | docker pull karalabe/xgo-latest 101 | 102 | go get github.com/karalabe/xgo 103 | 104 | cd getAwayBSG 105 | 106 | sh ./build.sh 107 | ``` 108 | 109 | ## 部署 110 | 111 | 如果需要分布式或者多进程抓取,在不同机器或者多个进程中指定相同的MongoDB源即可,程序已经支持分布式多进程抓取了。已抓取的链接和状态会通过MongoDB共享 112 | -------------------------------------------------------------------------------- /build.sh: -------------------------------------------------------------------------------- 1 | xgo --targets=windows/*,darwin/*,linux/* -out ./bin/getAwayBSG ./ 2 | cp ./config.yaml ./bin/config.yaml -------------------------------------------------------------------------------- /configs/config.go: -------------------------------------------------------------------------------- 1 | package configs 2 | 3 | import ( 4 | "fmt" 5 | "github.com/micro/go-micro/config" 6 | "os" 7 | "path/filepath" 8 | ) 9 | 10 | type singleton struct { 11 | configInfo map[string]interface{} 12 | } 13 | 14 | var instance *singleton 15 | var config_path string 16 | 17 | func GetInstance() *singleton { 18 | if instance == nil { 19 | if config_path == "" { 20 | instance = new(singleton) 21 | dir, _ := filepath.Abs(filepath.Dir(os.Args[0])) 22 | err := config.LoadFile(dir + "/config.yaml") 23 | if err != nil { 24 | err = config.LoadFile("./config.yaml") 25 | if err != nil { 26 | fmt.Println("加载配置文件错误!!请确认当前目录下包含config.yaml文件或者指定配置文件参数") 27 | fmt.Println(err) 28 | } 29 | } 30 | conf := config.Map() 31 | instance.configInfo = conf 32 | } else { 33 | instance = new(singleton) 34 | err := config.LoadFile(config_path) 35 | if err != nil { 36 | fmt.Println("加载配置文件错误!!请确认当前目录下包含config.yaml文件或者指定配置文件参数") 37 | fmt.Println(err) 38 | } 39 | conf := config.Map() 40 | instance.configInfo = conf 41 | } 42 | 43 | } 44 | return instance 45 | } 46 | 47 | func Config() map[string]interface{} { 48 | 49 | return GetInstance().configInfo 50 | } 51 | 52 | func SetConfig(path string) { 53 | config_path = path 54 | } 55 | -------------------------------------------------------------------------------- /db/client.go: -------------------------------------------------------------------------------- 1 | package db 2 | 3 | import ( 4 | "context" 5 | "fmt" 6 | "getAwayBSG/configs" 7 | "go.mongodb.org/mongo-driver/bson" 8 | "go.mongodb.org/mongo-driver/mongo" 9 | "go.mongodb.org/mongo-driver/mongo/options" 10 | "go.mongodb.org/mongo-driver/mongo/readpref" 11 | ) 12 | 13 | type singleton struct { 14 | client *mongo.Client 15 | ctx context.Context 16 | } 17 | 18 | var instance *singleton 19 | 20 | func GetInstance() *singleton { 21 | if instance == nil { 22 | instance = new(singleton) 23 | configInfo := configs.Config() 24 | client, _ := mongo.NewClient(options.Client().ApplyURI(configInfo["dburl"].(string) + "/" + configInfo["dbDatabase"].(string))) 25 | ctx := context.Background() 26 | instance.client = client 27 | instance.ctx = ctx 28 | err := client.Connect(ctx) 29 | if err != nil { 30 | fmt.Print("数据库连接失败!") 31 | fmt.Println(err) 32 | } 33 | 34 | err = client.Ping(ctx, readpref.Primary()) 35 | if err != nil { 36 | fmt.Print("ping error:") 37 | fmt.Println(err) 38 | } 39 | 40 | } 41 | return instance 42 | } 43 | 44 | func GetLianjiaStatus() int { 45 | client := GetInstance().client 46 | ctx := GetInstance().ctx 47 | configInfo := configs.Config() 48 | db := client.Database(configInfo["dbDatabase"].(string)) 49 | lianjia_status := db.Collection("lianjia_status") 50 | var res bson.M 51 | err := lianjia_status.FindOne(ctx, bson.M{}).Decode(&res) 52 | if err != nil { 53 | return 0 54 | } 55 | 56 | index := res["index"].(int32) 57 | return int(index) 58 | } 59 | 60 | func SetLianjiaStatus(i int) { 61 | client := GetInstance().client 62 | ctx := GetInstance().ctx 63 | configInfo := configs.Config() 64 | db := client.Database(configInfo["dbDatabase"].(string)) 65 | lianjia_status := db.Collection("lianjia_status") 66 | lianjia_status.DeleteMany(ctx, bson.M{}) 67 | lianjia_status.InsertOne(ctx, bson.M{"index": i}) 68 | } 69 | 70 | func GetZhilianStatus() (int, int) { 71 | client := GetInstance().client 72 | ctx := GetInstance().ctx 73 | configInfo := configs.Config() 74 | db := client.Database(configInfo["dbDatabase"].(string)) 75 | lianjia_status := db.Collection("zhilian_status") 76 | var res bson.M 77 | 78 | var city_index int 79 | var kw_index int 80 | err := lianjia_status.FindOne(ctx, bson.M{}).Decode(&res) 81 | if err != nil { 82 | return 0, 0 83 | } 84 | if res["city_index"] != nil { 85 | city_index = int(res["city_index"].(int32)) 86 | } 87 | 88 | if res["kw_index"] != nil { 89 | kw_index = int(res["kw_index"].(int32)) 90 | } 91 | 92 | return city_index, kw_index 93 | } 94 | 95 | func SetZhilianStatus(cityIndex int, kwIndex int) { 96 | client := GetInstance().client 97 | ctx := GetInstance().ctx 98 | configInfo := configs.Config() 99 | db := client.Database(configInfo["dbDatabase"].(string)) 100 | lianjia_status := db.Collection("zhilian_status") 101 | lianjia_status.DeleteMany(ctx, bson.M{}) 102 | lianjia_status.InsertOne(ctx, bson.M{"city_index": cityIndex, "kw_index": kwIndex}) 103 | } 104 | 105 | func GetLianjiaZuFangStatus() int { 106 | client := GetInstance().client 107 | ctx := GetInstance().ctx 108 | configInfo := configs.Config() 109 | db := client.Database(configInfo["dbDatabase"].(string)) 110 | lianjia_status := db.Collection("lianjiazf_status") 111 | var res bson.M 112 | err := lianjia_status.FindOne(ctx, bson.M{}).Decode(&res) 113 | if err != nil { 114 | return 0 115 | } 116 | 117 | index := res["index"].(int32) 118 | return int(index) 119 | } 120 | 121 | func SetLianjiaZuFangStatus(i int) { 122 | client := GetInstance().client 123 | ctx := GetInstance().ctx 124 | configInfo := configs.Config() 125 | db := client.Database(configInfo["dbDatabase"].(string)) 126 | lianjia_status := db.Collection("lianjiazf_status") 127 | lianjia_status.DeleteMany(ctx, bson.M{}) 128 | lianjia_status.InsertOne(ctx, bson.M{"index": i}) 129 | } 130 | 131 | func GetCtx() context.Context { 132 | return GetInstance().ctx 133 | } 134 | 135 | func GetClient() *mongo.Client { 136 | return GetInstance().client 137 | } 138 | -------------------------------------------------------------------------------- /db/save.go: -------------------------------------------------------------------------------- 1 | package db 2 | 3 | import ( 4 | "fmt" 5 | "getAwayBSG/configs" 6 | "go.mongodb.org/mongo-driver/bson" 7 | "strconv" 8 | "strings" 9 | ) 10 | 11 | func Add(item bson.M) { 12 | configInfo := configs.Config() 13 | client := GetInstance().client 14 | ctx := GetInstance().ctx 15 | 16 | db := client.Database(configInfo["dbDatabase"].(string)) 17 | lianjia := db.Collection(configInfo["dbCollection"].(string)) 18 | _, err := lianjia.InsertOne(ctx, item) 19 | if err != nil { 20 | if !strings.Contains(err.Error(), "multiple write errors") { 21 | fmt.Print("数据库插入失败!") 22 | fmt.Println(err) 23 | } 24 | } 25 | 26 | } 27 | 28 | func Update(link string, m bson.M) { 29 | configInfo := configs.Config() 30 | 31 | client := GetInstance().client 32 | ctx := GetInstance().ctx 33 | 34 | db := client.Database(configInfo["dbDatabase"].(string)) 35 | lianjia := db.Collection(configInfo["dbCollection"].(string)) 36 | _, err := lianjia.UpdateOne(ctx, bson.M{"Link": link}, bson.M{"$set": m}) 37 | if err != nil { 38 | fmt.Print("数据库更新出错!") 39 | fmt.Println(err) 40 | } 41 | } 42 | 43 | func AddZLItem(items []interface{}) { 44 | 45 | for i := 0; i < len(items); i++ { 46 | salary := items[i].(map[string]interface{})["salary"] 47 | if salary != nil && salary != "薪资面议" { 48 | 49 | K := strings.Index(salary.(string), "K") 50 | k := strings.Index(salary.(string), "k") 51 | Q := strings.Index(salary.(string), "千") 52 | 53 | W := strings.Index(salary.(string), "W") 54 | w := strings.Index(salary.(string), "w") 55 | Wan := strings.Index(salary.(string), "万") 56 | 57 | xishu := 0.0 58 | 59 | if K > 0 || k > 0 || Q > 0 { 60 | xishu = 1000 61 | } else if W > 0 || w > 0 || Wan > 0 { 62 | xishu = 10000 63 | } else { 64 | xishu = 1 65 | } 66 | 67 | salary = strings.Replace(salary.(string), "K", "", 2) 68 | salary = strings.Replace(salary.(string), "W", "", 2) 69 | salary = strings.Replace(salary.(string), "千", "", 2) 70 | salary = strings.Replace(salary.(string), "万", "", 2) 71 | salary = strings.Replace(salary.(string), "以下", "", 2) 72 | minAndMax := strings.Split(salary.(string), "-") 73 | 74 | min, err := strconv.ParseFloat(minAndMax[0], 32) 75 | if err != nil { 76 | min = 0 77 | } 78 | var max float64 79 | if len(minAndMax) > 1 { 80 | max, err = strconv.ParseFloat(minAndMax[1], 32) 81 | if err != nil { 82 | max = 0 83 | } 84 | } else { 85 | max = min 86 | } 87 | 88 | min = min * xishu 89 | max = max * xishu 90 | avg := (min + max) / 2 91 | 92 | items[i].(map[string]interface{})["min"] = min 93 | items[i].(map[string]interface{})["max"] = max 94 | items[i].(map[string]interface{})["avg"] = avg 95 | 96 | } 97 | 98 | } 99 | 100 | configInfo := configs.Config() 101 | client := GetInstance().client 102 | ctx := GetInstance().ctx 103 | 104 | db := client.Database(configInfo["dbDatabase"].(string)) 105 | lianjia := db.Collection(configInfo["zlDBCollection"].(string)) 106 | _, err := lianjia.InsertMany(ctx, items) 107 | if err != nil { 108 | if !strings.Contains(err.Error(), "multiple write errors") { 109 | fmt.Println(err) 110 | } 111 | } 112 | 113 | } 114 | -------------------------------------------------------------------------------- /docs/.github/CODEOWNERS: -------------------------------------------------------------------------------- 1 | # Require maintainer's :+1: for changes to the .github/ repo-config files 2 | # mainly due to https://github.com/probot/settings privilege escalation 3 | .github/* @pages-themes/maintainers 4 | -------------------------------------------------------------------------------- /docs/.github/config.yml: -------------------------------------------------------------------------------- 1 | # Behaviorbot config. See https://github.com/behaviorbot/ for more information. 2 | # Note: Please Don't edit this file directly. 3 | # Edit https://github.com/pages-themes/maintenance-scripts instead. 4 | 5 | # Configuration for update-docs - https://github.com/behaviorbot/update-docs 6 | updateDocsComment: "Thanks for the pull request! If you are making any changes to the user-facing functionality, please be sure to update the documentation in the `README` or `docs/` folder alongside your change. :heart:" 7 | 8 | # Configuration for request-info - https://github.com/behaviorbot/request-info 9 | requestInfoReplyComment: Thanks for this. Do you mind providing a bit more information about what problem you're trying to solve? 10 | requestInfoLabelToAdd: more-information-needed 11 | 12 | # Configuration for new-issue-welcome - https://github.com/behaviorbot/new-issue-welcome 13 | #newIssueWelcomeComment: > 14 | # Welcome! 15 | 16 | # Configuration for new-pr-welcome - https://github.com/behaviorbot/new-pr-welcome 17 | newPRWelcomeComment: Welcome! Congrats on your first pull request to The Slate Theme. If you haven't already, please be sure to check out [the contributing guidelines](https://github.com/pages-themes/slate/blob/master/docs/CONTRIBUTING.md). 18 | 19 | # Configuration for first-pr-merge - https://github.com/behaviorbot/first-pr-merge 20 | firstPRMergeComment: "Congrats on getting your first pull request to The Slate Theme merged! Without amazing humans like you submitting pull requests, we couldn’t run this project. You rock! :tada:

If you're interested in tackling another bug or feature, take a look at [the open issues](https://github.com/pages-themes/slate/issues), especially those [labeled `help wanted`](https://github.com/pages-themes/slate/issues?q=is%3Aopen+is%3Aissue+label%3A%22help+wanted%22)." 21 | -------------------------------------------------------------------------------- /docs/.github/no-response.yml: -------------------------------------------------------------------------------- 1 | # Configuration for probot-no-response - https://github.com/probot/no-response 2 | 3 | # Number of days of inactivity before an Issue is closed for lack of response 4 | daysUntilClose: 14 5 | # Label requiring a response 6 | responseRequiredLabel: more-information-needed 7 | # Comment to post when closing an Issue for lack of response. Set to `false` to disable 8 | closeComment: > 9 | This issue has been automatically closed because there has been no response 10 | to our request for more information from the original author. With only the 11 | information that is currently in the issue, we don't have enough information 12 | to take action. Please reach out if you have or find the answers we need so 13 | that we can investigate further. 14 | -------------------------------------------------------------------------------- /docs/.github/settings.yml: -------------------------------------------------------------------------------- 1 | # Repository settings set via https://github.com/probot/settings 2 | 3 | repository: 4 | has_issues: true 5 | has_wiki: false 6 | has_projects: false 7 | has_downloads: false 8 | 9 | labels: 10 | - name: help wanted 11 | oldname: help-wanted 12 | color: 0e8a16 13 | - name: more-information-needed 14 | color: d93f0b 15 | - name: bug 16 | color: b60205 17 | - name: feature 18 | color: 1d76db 19 | - name: good first issue 20 | color: "5319e7" 21 | 22 | # Not currently implemented by probot/settings, but manually implemented in script/deploy 23 | branch_protection: 24 | restrictions: null 25 | enforce_admins: false 26 | required_status_checks: 27 | strict: true 28 | contexts: 29 | - "continuous-integration/travis-ci" 30 | required_pull_request_reviews: 31 | require_code_owner_reviews: true 32 | -------------------------------------------------------------------------------- /docs/.github/stale.yml: -------------------------------------------------------------------------------- 1 | # Configuration for probot-stale - https://github.com/probot/stale 2 | 3 | # Number of days of inactivity before an Issue or Pull Request becomes stale 4 | daysUntilStale: 60 5 | 6 | # Number of days of inactivity before a stale Issue or Pull Request is closed 7 | daysUntilClose: 7 8 | 9 | # Issues or Pull Requests with these labels will never be considered stale 10 | exemptLabels: 11 | - pinned 12 | - security 13 | 14 | # Label to use when marking as stale 15 | staleLabel: wontfix 16 | 17 | # Comment to post when marking as stale. Set to `false` to disable 18 | markComment: > 19 | This issue has been automatically marked as stale because it has not had 20 | recent activity. It will be closed if no further activity occurs. Thank you 21 | for your contributions. 22 | 23 | # Comment to post when closing a stale Issue or Pull Request. Set to `false` to disable 24 | closeComment: false 25 | 26 | # Limit to only `issues` or `pulls` 27 | # only: issues 28 | -------------------------------------------------------------------------------- /docs/.gitignore: -------------------------------------------------------------------------------- 1 | _site 2 | .sass-cache 3 | Gemfile.lock 4 | *.gem 5 | -------------------------------------------------------------------------------- /docs/.rubocop.yml: -------------------------------------------------------------------------------- 1 | AllCops: 2 | Exclude: 3 | - _site/**/* 4 | 5 | Metrics/LineLength: 6 | Enabled: false 7 | -------------------------------------------------------------------------------- /docs/.travis.yml: -------------------------------------------------------------------------------- 1 | language: ruby 2 | cache: bundler 3 | rvm: 2.6 4 | 5 | install: script/bootstrap 6 | script: script/cibuild 7 | -------------------------------------------------------------------------------- /docs/DataTables-1.10.18/css/dataTables.bootstrap.css: -------------------------------------------------------------------------------- 1 | table.dataTable { 2 | clear: both; 3 | margin-top: 6px !important; 4 | margin-bottom: 6px !important; 5 | max-width: none !important; 6 | border-collapse: separate !important; 7 | } 8 | table.dataTable td, 9 | table.dataTable th { 10 | -webkit-box-sizing: content-box; 11 | box-sizing: content-box; 12 | } 13 | table.dataTable td.dataTables_empty, 14 | table.dataTable th.dataTables_empty { 15 | text-align: center; 16 | } 17 | table.dataTable.nowrap th, 18 | table.dataTable.nowrap td { 19 | white-space: nowrap; 20 | } 21 | 22 | div.dataTables_wrapper div.dataTables_length label { 23 | font-weight: normal; 24 | text-align: left; 25 | white-space: nowrap; 26 | } 27 | div.dataTables_wrapper div.dataTables_length select { 28 | width: 75px; 29 | display: inline-block; 30 | } 31 | div.dataTables_wrapper div.dataTables_filter { 32 | text-align: right; 33 | } 34 | div.dataTables_wrapper div.dataTables_filter label { 35 | font-weight: normal; 36 | white-space: nowrap; 37 | text-align: left; 38 | } 39 | div.dataTables_wrapper div.dataTables_filter input { 40 | margin-left: 0.5em; 41 | display: inline-block; 42 | width: auto; 43 | } 44 | div.dataTables_wrapper div.dataTables_info { 45 | padding-top: 8px; 46 | white-space: nowrap; 47 | } 48 | div.dataTables_wrapper div.dataTables_paginate { 49 | margin: 0; 50 | white-space: nowrap; 51 | text-align: right; 52 | } 53 | div.dataTables_wrapper div.dataTables_paginate ul.pagination { 54 | margin: 2px 0; 55 | white-space: nowrap; 56 | } 57 | div.dataTables_wrapper div.dataTables_processing { 58 | position: absolute; 59 | top: 50%; 60 | left: 50%; 61 | width: 200px; 62 | margin-left: -100px; 63 | margin-top: -26px; 64 | text-align: center; 65 | padding: 1em 0; 66 | } 67 | 68 | table.dataTable thead > tr > th.sorting_asc, table.dataTable thead > tr > th.sorting_desc, table.dataTable thead > tr > th.sorting, 69 | table.dataTable thead > tr > td.sorting_asc, 70 | table.dataTable thead > tr > td.sorting_desc, 71 | table.dataTable thead > tr > td.sorting { 72 | padding-right: 30px; 73 | } 74 | table.dataTable thead > tr > th:active, 75 | table.dataTable thead > tr > td:active { 76 | outline: none; 77 | } 78 | table.dataTable thead .sorting, 79 | table.dataTable thead .sorting_asc, 80 | table.dataTable thead .sorting_desc, 81 | table.dataTable thead .sorting_asc_disabled, 82 | table.dataTable thead .sorting_desc_disabled { 83 | cursor: pointer; 84 | position: relative; 85 | } 86 | table.dataTable thead .sorting:after, 87 | table.dataTable thead .sorting_asc:after, 88 | table.dataTable thead .sorting_desc:after, 89 | table.dataTable thead .sorting_asc_disabled:after, 90 | table.dataTable thead .sorting_desc_disabled:after { 91 | position: absolute; 92 | bottom: 8px; 93 | right: 8px; 94 | display: block; 95 | font-family: 'Glyphicons Halflings'; 96 | opacity: 0.5; 97 | } 98 | table.dataTable thead .sorting:after { 99 | opacity: 0.2; 100 | content: "\e150"; 101 | /* sort */ 102 | } 103 | table.dataTable thead .sorting_asc:after { 104 | content: "\e155"; 105 | /* sort-by-attributes */ 106 | } 107 | table.dataTable thead .sorting_desc:after { 108 | content: "\e156"; 109 | /* sort-by-attributes-alt */ 110 | } 111 | table.dataTable thead .sorting_asc_disabled:after, 112 | table.dataTable thead .sorting_desc_disabled:after { 113 | color: #eee; 114 | } 115 | 116 | div.dataTables_scrollHead table.dataTable { 117 | margin-bottom: 0 !important; 118 | } 119 | 120 | div.dataTables_scrollBody > table { 121 | border-top: none; 122 | margin-top: 0 !important; 123 | margin-bottom: 0 !important; 124 | } 125 | div.dataTables_scrollBody > table > thead .sorting:after, 126 | div.dataTables_scrollBody > table > thead .sorting_asc:after, 127 | div.dataTables_scrollBody > table > thead .sorting_desc:after { 128 | display: none; 129 | } 130 | div.dataTables_scrollBody > table > tbody > tr:first-child > th, 131 | div.dataTables_scrollBody > table > tbody > tr:first-child > td { 132 | border-top: none; 133 | } 134 | 135 | div.dataTables_scrollFoot > .dataTables_scrollFootInner { 136 | box-sizing: content-box; 137 | } 138 | div.dataTables_scrollFoot > .dataTables_scrollFootInner > table { 139 | margin-top: 0 !important; 140 | border-top: none; 141 | } 142 | 143 | @media screen and (max-width: 767px) { 144 | div.dataTables_wrapper div.dataTables_length, 145 | div.dataTables_wrapper div.dataTables_filter, 146 | div.dataTables_wrapper div.dataTables_info, 147 | div.dataTables_wrapper div.dataTables_paginate { 148 | text-align: center; 149 | } 150 | } 151 | table.dataTable.table-condensed > thead > tr > th { 152 | padding-right: 20px; 153 | } 154 | table.dataTable.table-condensed .sorting:after, 155 | table.dataTable.table-condensed .sorting_asc:after, 156 | table.dataTable.table-condensed .sorting_desc:after { 157 | top: 6px; 158 | right: 6px; 159 | } 160 | 161 | table.table-bordered.dataTable th, 162 | table.table-bordered.dataTable td { 163 | border-left-width: 0; 164 | } 165 | table.table-bordered.dataTable th:last-child, table.table-bordered.dataTable th:last-child, 166 | table.table-bordered.dataTable td:last-child, 167 | table.table-bordered.dataTable td:last-child { 168 | border-right-width: 0; 169 | } 170 | table.table-bordered.dataTable tbody th, 171 | table.table-bordered.dataTable tbody td { 172 | border-bottom-width: 0; 173 | } 174 | 175 | div.dataTables_scrollHead table.table-bordered { 176 | border-bottom-width: 0; 177 | } 178 | 179 | div.table-responsive > div.dataTables_wrapper > div.row { 180 | margin: 0; 181 | } 182 | div.table-responsive > div.dataTables_wrapper > div.row > div[class^="col-"]:first-child { 183 | padding-left: 0; 184 | } 185 | div.table-responsive > div.dataTables_wrapper > div.row > div[class^="col-"]:last-child { 186 | padding-right: 0; 187 | } 188 | -------------------------------------------------------------------------------- /docs/DataTables-1.10.18/css/dataTables.bootstrap.min.css: -------------------------------------------------------------------------------- 1 | table.dataTable{clear:both;margin-top:6px !important;margin-bottom:6px !important;max-width:none !important;border-collapse:separate !important}table.dataTable td,table.dataTable th{-webkit-box-sizing:content-box;box-sizing:content-box}table.dataTable td.dataTables_empty,table.dataTable th.dataTables_empty{text-align:center}table.dataTable.nowrap th,table.dataTable.nowrap td{white-space:nowrap}div.dataTables_wrapper div.dataTables_length label{font-weight:normal;text-align:left;white-space:nowrap}div.dataTables_wrapper div.dataTables_length select{width:75px;display:inline-block}div.dataTables_wrapper div.dataTables_filter{text-align:right}div.dataTables_wrapper div.dataTables_filter label{font-weight:normal;white-space:nowrap;text-align:left}div.dataTables_wrapper div.dataTables_filter input{margin-left:0.5em;display:inline-block;width:auto}div.dataTables_wrapper div.dataTables_info{padding-top:8px;white-space:nowrap}div.dataTables_wrapper div.dataTables_paginate{margin:0;white-space:nowrap;text-align:right}div.dataTables_wrapper div.dataTables_paginate ul.pagination{margin:2px 0;white-space:nowrap}div.dataTables_wrapper div.dataTables_processing{position:absolute;top:50%;left:50%;width:200px;margin-left:-100px;margin-top:-26px;text-align:center;padding:1em 0}table.dataTable thead>tr>th.sorting_asc,table.dataTable thead>tr>th.sorting_desc,table.dataTable thead>tr>th.sorting,table.dataTable thead>tr>td.sorting_asc,table.dataTable thead>tr>td.sorting_desc,table.dataTable thead>tr>td.sorting{padding-right:30px}table.dataTable thead>tr>th:active,table.dataTable thead>tr>td:active{outline:none}table.dataTable thead .sorting,table.dataTable thead .sorting_asc,table.dataTable thead .sorting_desc,table.dataTable thead .sorting_asc_disabled,table.dataTable thead .sorting_desc_disabled{cursor:pointer;position:relative}table.dataTable thead .sorting:after,table.dataTable thead .sorting_asc:after,table.dataTable thead .sorting_desc:after,table.dataTable thead .sorting_asc_disabled:after,table.dataTable thead .sorting_desc_disabled:after{position:absolute;bottom:8px;right:8px;display:block;font-family:'Glyphicons Halflings';opacity:0.5}table.dataTable thead .sorting:after{opacity:0.2;content:"\e150"}table.dataTable thead .sorting_asc:after{content:"\e155"}table.dataTable thead .sorting_desc:after{content:"\e156"}table.dataTable thead .sorting_asc_disabled:after,table.dataTable thead .sorting_desc_disabled:after{color:#eee}div.dataTables_scrollHead table.dataTable{margin-bottom:0 !important}div.dataTables_scrollBody>table{border-top:none;margin-top:0 !important;margin-bottom:0 !important}div.dataTables_scrollBody>table>thead .sorting:after,div.dataTables_scrollBody>table>thead .sorting_asc:after,div.dataTables_scrollBody>table>thead .sorting_desc:after{display:none}div.dataTables_scrollBody>table>tbody>tr:first-child>th,div.dataTables_scrollBody>table>tbody>tr:first-child>td{border-top:none}div.dataTables_scrollFoot>.dataTables_scrollFootInner{box-sizing:content-box}div.dataTables_scrollFoot>.dataTables_scrollFootInner>table{margin-top:0 !important;border-top:none}@media screen and (max-width: 767px){div.dataTables_wrapper div.dataTables_length,div.dataTables_wrapper div.dataTables_filter,div.dataTables_wrapper div.dataTables_info,div.dataTables_wrapper div.dataTables_paginate{text-align:center}}table.dataTable.table-condensed>thead>tr>th{padding-right:20px}table.dataTable.table-condensed .sorting:after,table.dataTable.table-condensed .sorting_asc:after,table.dataTable.table-condensed .sorting_desc:after{top:6px;right:6px}table.table-bordered.dataTable th,table.table-bordered.dataTable td{border-left-width:0}table.table-bordered.dataTable th:last-child,table.table-bordered.dataTable th:last-child,table.table-bordered.dataTable td:last-child,table.table-bordered.dataTable td:last-child{border-right-width:0}table.table-bordered.dataTable tbody th,table.table-bordered.dataTable tbody td{border-bottom-width:0}div.dataTables_scrollHead table.table-bordered{border-bottom-width:0}div.table-responsive>div.dataTables_wrapper>div.row{margin:0}div.table-responsive>div.dataTables_wrapper>div.row>div[class^="col-"]:first-child{padding-left:0}div.table-responsive>div.dataTables_wrapper>div.row>div[class^="col-"]:last-child{padding-right:0} 2 | -------------------------------------------------------------------------------- /docs/DataTables-1.10.18/css/dataTables.bootstrap4.css: -------------------------------------------------------------------------------- 1 | table.dataTable { 2 | clear: both; 3 | margin-top: 6px !important; 4 | margin-bottom: 6px !important; 5 | max-width: none !important; 6 | border-collapse: separate !important; 7 | border-spacing: 0; 8 | } 9 | table.dataTable td, 10 | table.dataTable th { 11 | -webkit-box-sizing: content-box; 12 | box-sizing: content-box; 13 | } 14 | table.dataTable td.dataTables_empty, 15 | table.dataTable th.dataTables_empty { 16 | text-align: center; 17 | } 18 | table.dataTable.nowrap th, 19 | table.dataTable.nowrap td { 20 | white-space: nowrap; 21 | } 22 | 23 | div.dataTables_wrapper div.dataTables_length label { 24 | font-weight: normal; 25 | text-align: left; 26 | white-space: nowrap; 27 | } 28 | div.dataTables_wrapper div.dataTables_length select { 29 | width: auto; 30 | display: inline-block; 31 | } 32 | div.dataTables_wrapper div.dataTables_filter { 33 | text-align: right; 34 | } 35 | div.dataTables_wrapper div.dataTables_filter label { 36 | font-weight: normal; 37 | white-space: nowrap; 38 | text-align: left; 39 | } 40 | div.dataTables_wrapper div.dataTables_filter input { 41 | margin-left: 0.5em; 42 | display: inline-block; 43 | width: auto; 44 | } 45 | div.dataTables_wrapper div.dataTables_info { 46 | padding-top: 0.85em; 47 | white-space: nowrap; 48 | } 49 | div.dataTables_wrapper div.dataTables_paginate { 50 | margin: 0; 51 | white-space: nowrap; 52 | text-align: right; 53 | } 54 | div.dataTables_wrapper div.dataTables_paginate ul.pagination { 55 | margin: 2px 0; 56 | white-space: nowrap; 57 | justify-content: flex-end; 58 | } 59 | div.dataTables_wrapper div.dataTables_processing { 60 | position: absolute; 61 | top: 50%; 62 | left: 50%; 63 | width: 200px; 64 | margin-left: -100px; 65 | margin-top: -26px; 66 | text-align: center; 67 | padding: 1em 0; 68 | } 69 | 70 | table.dataTable thead > tr > th.sorting_asc, table.dataTable thead > tr > th.sorting_desc, table.dataTable thead > tr > th.sorting, 71 | table.dataTable thead > tr > td.sorting_asc, 72 | table.dataTable thead > tr > td.sorting_desc, 73 | table.dataTable thead > tr > td.sorting { 74 | padding-right: 30px; 75 | } 76 | table.dataTable thead > tr > th:active, 77 | table.dataTable thead > tr > td:active { 78 | outline: none; 79 | } 80 | table.dataTable thead .sorting, 81 | table.dataTable thead .sorting_asc, 82 | table.dataTable thead .sorting_desc, 83 | table.dataTable thead .sorting_asc_disabled, 84 | table.dataTable thead .sorting_desc_disabled { 85 | cursor: pointer; 86 | position: relative; 87 | } 88 | table.dataTable thead .sorting:before, table.dataTable thead .sorting:after, 89 | table.dataTable thead .sorting_asc:before, 90 | table.dataTable thead .sorting_asc:after, 91 | table.dataTable thead .sorting_desc:before, 92 | table.dataTable thead .sorting_desc:after, 93 | table.dataTable thead .sorting_asc_disabled:before, 94 | table.dataTable thead .sorting_asc_disabled:after, 95 | table.dataTable thead .sorting_desc_disabled:before, 96 | table.dataTable thead .sorting_desc_disabled:after { 97 | position: absolute; 98 | bottom: 0.9em; 99 | display: block; 100 | opacity: 0.3; 101 | } 102 | table.dataTable thead .sorting:before, 103 | table.dataTable thead .sorting_asc:before, 104 | table.dataTable thead .sorting_desc:before, 105 | table.dataTable thead .sorting_asc_disabled:before, 106 | table.dataTable thead .sorting_desc_disabled:before { 107 | right: 1em; 108 | content: "\2191"; 109 | } 110 | table.dataTable thead .sorting:after, 111 | table.dataTable thead .sorting_asc:after, 112 | table.dataTable thead .sorting_desc:after, 113 | table.dataTable thead .sorting_asc_disabled:after, 114 | table.dataTable thead .sorting_desc_disabled:after { 115 | right: 0.5em; 116 | content: "\2193"; 117 | } 118 | table.dataTable thead .sorting_asc:before, 119 | table.dataTable thead .sorting_desc:after { 120 | opacity: 1; 121 | } 122 | table.dataTable thead .sorting_asc_disabled:before, 123 | table.dataTable thead .sorting_desc_disabled:after { 124 | opacity: 0; 125 | } 126 | 127 | div.dataTables_scrollHead table.dataTable { 128 | margin-bottom: 0 !important; 129 | } 130 | 131 | div.dataTables_scrollBody table { 132 | border-top: none; 133 | margin-top: 0 !important; 134 | margin-bottom: 0 !important; 135 | } 136 | div.dataTables_scrollBody table thead .sorting:before, 137 | div.dataTables_scrollBody table thead .sorting_asc:before, 138 | div.dataTables_scrollBody table thead .sorting_desc:before, 139 | div.dataTables_scrollBody table thead .sorting:after, 140 | div.dataTables_scrollBody table thead .sorting_asc:after, 141 | div.dataTables_scrollBody table thead .sorting_desc:after { 142 | display: none; 143 | } 144 | div.dataTables_scrollBody table tbody tr:first-child th, 145 | div.dataTables_scrollBody table tbody tr:first-child td { 146 | border-top: none; 147 | } 148 | 149 | div.dataTables_scrollFoot > .dataTables_scrollFootInner { 150 | box-sizing: content-box; 151 | } 152 | div.dataTables_scrollFoot > .dataTables_scrollFootInner > table { 153 | margin-top: 0 !important; 154 | border-top: none; 155 | } 156 | 157 | @media screen and (max-width: 767px) { 158 | div.dataTables_wrapper div.dataTables_length, 159 | div.dataTables_wrapper div.dataTables_filter, 160 | div.dataTables_wrapper div.dataTables_info, 161 | div.dataTables_wrapper div.dataTables_paginate { 162 | text-align: center; 163 | } 164 | } 165 | table.dataTable.table-sm > thead > tr > th { 166 | padding-right: 20px; 167 | } 168 | table.dataTable.table-sm .sorting:before, 169 | table.dataTable.table-sm .sorting_asc:before, 170 | table.dataTable.table-sm .sorting_desc:before { 171 | top: 5px; 172 | right: 0.85em; 173 | } 174 | table.dataTable.table-sm .sorting:after, 175 | table.dataTable.table-sm .sorting_asc:after, 176 | table.dataTable.table-sm .sorting_desc:after { 177 | top: 5px; 178 | } 179 | 180 | table.table-bordered.dataTable th, 181 | table.table-bordered.dataTable td { 182 | border-left-width: 0; 183 | } 184 | table.table-bordered.dataTable th:last-child, table.table-bordered.dataTable th:last-child, 185 | table.table-bordered.dataTable td:last-child, 186 | table.table-bordered.dataTable td:last-child { 187 | border-right-width: 0; 188 | } 189 | table.table-bordered.dataTable tbody th, 190 | table.table-bordered.dataTable tbody td { 191 | border-bottom-width: 0; 192 | } 193 | 194 | div.dataTables_scrollHead table.table-bordered { 195 | border-bottom-width: 0; 196 | } 197 | 198 | div.table-responsive > div.dataTables_wrapper > div.row { 199 | margin: 0; 200 | } 201 | div.table-responsive > div.dataTables_wrapper > div.row > div[class^="col-"]:first-child { 202 | padding-left: 0; 203 | } 204 | div.table-responsive > div.dataTables_wrapper > div.row > div[class^="col-"]:last-child { 205 | padding-right: 0; 206 | } 207 | -------------------------------------------------------------------------------- /docs/DataTables-1.10.18/css/dataTables.bootstrap4.min.css: -------------------------------------------------------------------------------- 1 | table.dataTable{clear:both;margin-top:6px !important;margin-bottom:6px !important;max-width:none !important;border-collapse:separate !important;border-spacing:0}table.dataTable td,table.dataTable th{-webkit-box-sizing:content-box;box-sizing:content-box}table.dataTable td.dataTables_empty,table.dataTable th.dataTables_empty{text-align:center}table.dataTable.nowrap th,table.dataTable.nowrap td{white-space:nowrap}div.dataTables_wrapper div.dataTables_length label{font-weight:normal;text-align:left;white-space:nowrap}div.dataTables_wrapper div.dataTables_length select{width:auto;display:inline-block}div.dataTables_wrapper div.dataTables_filter{text-align:right}div.dataTables_wrapper div.dataTables_filter label{font-weight:normal;white-space:nowrap;text-align:left}div.dataTables_wrapper div.dataTables_filter input{margin-left:0.5em;display:inline-block;width:auto}div.dataTables_wrapper div.dataTables_info{padding-top:0.85em;white-space:nowrap}div.dataTables_wrapper div.dataTables_paginate{margin:0;white-space:nowrap;text-align:right}div.dataTables_wrapper div.dataTables_paginate ul.pagination{margin:2px 0;white-space:nowrap;justify-content:flex-end}div.dataTables_wrapper div.dataTables_processing{position:absolute;top:50%;left:50%;width:200px;margin-left:-100px;margin-top:-26px;text-align:center;padding:1em 0}table.dataTable thead>tr>th.sorting_asc,table.dataTable thead>tr>th.sorting_desc,table.dataTable thead>tr>th.sorting,table.dataTable thead>tr>td.sorting_asc,table.dataTable thead>tr>td.sorting_desc,table.dataTable thead>tr>td.sorting{padding-right:30px}table.dataTable thead>tr>th:active,table.dataTable thead>tr>td:active{outline:none}table.dataTable thead .sorting,table.dataTable thead .sorting_asc,table.dataTable thead .sorting_desc,table.dataTable thead .sorting_asc_disabled,table.dataTable thead .sorting_desc_disabled{cursor:pointer;position:relative}table.dataTable thead .sorting:before,table.dataTable thead .sorting:after,table.dataTable thead .sorting_asc:before,table.dataTable thead .sorting_asc:after,table.dataTable thead .sorting_desc:before,table.dataTable thead .sorting_desc:after,table.dataTable thead .sorting_asc_disabled:before,table.dataTable thead .sorting_asc_disabled:after,table.dataTable thead .sorting_desc_disabled:before,table.dataTable thead .sorting_desc_disabled:after{position:absolute;bottom:0.9em;display:block;opacity:0.3}table.dataTable thead .sorting:before,table.dataTable thead .sorting_asc:before,table.dataTable thead .sorting_desc:before,table.dataTable thead .sorting_asc_disabled:before,table.dataTable thead .sorting_desc_disabled:before{right:1em;content:"\2191"}table.dataTable thead .sorting:after,table.dataTable thead .sorting_asc:after,table.dataTable thead .sorting_desc:after,table.dataTable thead .sorting_asc_disabled:after,table.dataTable thead .sorting_desc_disabled:after{right:0.5em;content:"\2193"}table.dataTable thead .sorting_asc:before,table.dataTable thead .sorting_desc:after{opacity:1}table.dataTable thead .sorting_asc_disabled:before,table.dataTable thead .sorting_desc_disabled:after{opacity:0}div.dataTables_scrollHead table.dataTable{margin-bottom:0 !important}div.dataTables_scrollBody table{border-top:none;margin-top:0 !important;margin-bottom:0 !important}div.dataTables_scrollBody table thead .sorting:before,div.dataTables_scrollBody table thead .sorting_asc:before,div.dataTables_scrollBody table thead .sorting_desc:before,div.dataTables_scrollBody table thead .sorting:after,div.dataTables_scrollBody table thead .sorting_asc:after,div.dataTables_scrollBody table thead .sorting_desc:after{display:none}div.dataTables_scrollBody table tbody tr:first-child th,div.dataTables_scrollBody table tbody tr:first-child td{border-top:none}div.dataTables_scrollFoot>.dataTables_scrollFootInner{box-sizing:content-box}div.dataTables_scrollFoot>.dataTables_scrollFootInner>table{margin-top:0 !important;border-top:none}@media screen and (max-width: 767px){div.dataTables_wrapper div.dataTables_length,div.dataTables_wrapper div.dataTables_filter,div.dataTables_wrapper div.dataTables_info,div.dataTables_wrapper div.dataTables_paginate{text-align:center}}table.dataTable.table-sm>thead>tr>th{padding-right:20px}table.dataTable.table-sm .sorting:before,table.dataTable.table-sm .sorting_asc:before,table.dataTable.table-sm .sorting_desc:before{top:5px;right:0.85em}table.dataTable.table-sm .sorting:after,table.dataTable.table-sm .sorting_asc:after,table.dataTable.table-sm .sorting_desc:after{top:5px}table.table-bordered.dataTable th,table.table-bordered.dataTable td{border-left-width:0}table.table-bordered.dataTable th:last-child,table.table-bordered.dataTable th:last-child,table.table-bordered.dataTable td:last-child,table.table-bordered.dataTable td:last-child{border-right-width:0}table.table-bordered.dataTable tbody th,table.table-bordered.dataTable tbody td{border-bottom-width:0}div.dataTables_scrollHead table.table-bordered{border-bottom-width:0}div.table-responsive>div.dataTables_wrapper>div.row{margin:0}div.table-responsive>div.dataTables_wrapper>div.row>div[class^="col-"]:first-child{padding-left:0}div.table-responsive>div.dataTables_wrapper>div.row>div[class^="col-"]:last-child{padding-right:0} 2 | -------------------------------------------------------------------------------- /docs/DataTables-1.10.18/css/dataTables.foundation.css: -------------------------------------------------------------------------------- 1 | table.dataTable { 2 | clear: both; 3 | margin: 0.5em 0 !important; 4 | max-width: none !important; 5 | width: 100%; 6 | } 7 | table.dataTable td, 8 | table.dataTable th { 9 | -webkit-box-sizing: content-box; 10 | box-sizing: content-box; 11 | } 12 | table.dataTable td.dataTables_empty, 13 | table.dataTable th.dataTables_empty { 14 | text-align: center; 15 | } 16 | table.dataTable.nowrap th, table.dataTable.nowrap td { 17 | white-space: nowrap; 18 | } 19 | 20 | div.dataTables_wrapper { 21 | position: relative; 22 | } 23 | div.dataTables_wrapper div.dataTables_length label { 24 | float: left; 25 | text-align: left; 26 | margin-bottom: 0; 27 | } 28 | div.dataTables_wrapper div.dataTables_length select { 29 | width: 75px; 30 | margin-bottom: 0; 31 | } 32 | div.dataTables_wrapper div.dataTables_filter label { 33 | float: right; 34 | margin-bottom: 0; 35 | } 36 | div.dataTables_wrapper div.dataTables_filter input { 37 | display: inline-block !important; 38 | width: auto !important; 39 | margin-bottom: 0; 40 | margin-left: 0.5em; 41 | } 42 | div.dataTables_wrapper div.dataTables_info { 43 | padding-top: 2px; 44 | } 45 | div.dataTables_wrapper div.dataTables_paginate { 46 | float: right; 47 | margin: 0; 48 | } 49 | div.dataTables_wrapper div.dataTables_processing { 50 | position: absolute; 51 | top: 50%; 52 | left: 50%; 53 | width: 200px; 54 | margin-left: -100px; 55 | margin-top: -26px; 56 | text-align: center; 57 | padding: 1rem 0; 58 | } 59 | 60 | table.dataTable thead > tr > th.sorting_asc, table.dataTable thead > tr > th.sorting_desc, table.dataTable thead > tr > th.sorting, 61 | table.dataTable thead > tr > td.sorting_asc, 62 | table.dataTable thead > tr > td.sorting_desc, 63 | table.dataTable thead > tr > td.sorting { 64 | padding-right: 1.5rem; 65 | } 66 | table.dataTable thead > tr > th:active, 67 | table.dataTable thead > tr > td:active { 68 | outline: none; 69 | } 70 | table.dataTable thead .sorting, 71 | table.dataTable thead .sorting_asc, 72 | table.dataTable thead .sorting_desc, 73 | table.dataTable thead .sorting_asc_disabled, 74 | table.dataTable thead .sorting_desc_disabled { 75 | cursor: pointer; 76 | } 77 | table.dataTable thead .sorting, 78 | table.dataTable thead .sorting_asc, 79 | table.dataTable thead .sorting_desc, 80 | table.dataTable thead .sorting_asc_disabled, 81 | table.dataTable thead .sorting_desc_disabled { 82 | background-repeat: no-repeat; 83 | background-position: center right; 84 | } 85 | table.dataTable thead .sorting { 86 | background-image: url("../images/sort_both.png"); 87 | } 88 | table.dataTable thead .sorting_asc { 89 | background-image: url("../images/sort_asc.png"); 90 | } 91 | table.dataTable thead .sorting_desc { 92 | background-image: url("../images/sort_desc.png"); 93 | } 94 | table.dataTable thead .sorting_asc_disabled { 95 | background-image: url("../images/sort_asc_disabled.png"); 96 | } 97 | table.dataTable thead .sorting_desc_disabled { 98 | background-image: url("../images/sort_desc_disabled.png"); 99 | } 100 | 101 | div.dataTables_scrollHead table { 102 | margin-bottom: 0 !important; 103 | } 104 | 105 | div.dataTables_scrollBody table { 106 | border-top: none; 107 | margin-top: 0 !important; 108 | margin-bottom: 0 !important; 109 | } 110 | div.dataTables_scrollBody table tbody tr:first-child th, 111 | div.dataTables_scrollBody table tbody tr:first-child td { 112 | border-top: none; 113 | } 114 | 115 | div.dataTables_scrollFoot table { 116 | margin-top: 0 !important; 117 | border-top: none; 118 | } 119 | -------------------------------------------------------------------------------- /docs/DataTables-1.10.18/css/dataTables.foundation.min.css: -------------------------------------------------------------------------------- 1 | table.dataTable{clear:both;margin:0.5em 0 !important;max-width:none !important;width:100%}table.dataTable td,table.dataTable th{-webkit-box-sizing:content-box;box-sizing:content-box}table.dataTable td.dataTables_empty,table.dataTable th.dataTables_empty{text-align:center}table.dataTable.nowrap th,table.dataTable.nowrap td{white-space:nowrap}div.dataTables_wrapper{position:relative}div.dataTables_wrapper div.dataTables_length label{float:left;text-align:left;margin-bottom:0}div.dataTables_wrapper div.dataTables_length select{width:75px;margin-bottom:0}div.dataTables_wrapper div.dataTables_filter label{float:right;margin-bottom:0}div.dataTables_wrapper div.dataTables_filter input{display:inline-block !important;width:auto !important;margin-bottom:0;margin-left:0.5em}div.dataTables_wrapper div.dataTables_info{padding-top:2px}div.dataTables_wrapper div.dataTables_paginate{float:right;margin:0}div.dataTables_wrapper div.dataTables_processing{position:absolute;top:50%;left:50%;width:200px;margin-left:-100px;margin-top:-26px;text-align:center;padding:1rem 0}table.dataTable thead>tr>th.sorting_asc,table.dataTable thead>tr>th.sorting_desc,table.dataTable thead>tr>th.sorting,table.dataTable thead>tr>td.sorting_asc,table.dataTable thead>tr>td.sorting_desc,table.dataTable thead>tr>td.sorting{padding-right:1.5rem}table.dataTable thead>tr>th:active,table.dataTable thead>tr>td:active{outline:none}table.dataTable thead .sorting,table.dataTable thead .sorting_asc,table.dataTable thead .sorting_desc,table.dataTable thead .sorting_asc_disabled,table.dataTable thead .sorting_desc_disabled{cursor:pointer}table.dataTable thead .sorting,table.dataTable thead .sorting_asc,table.dataTable thead .sorting_desc,table.dataTable thead .sorting_asc_disabled,table.dataTable thead .sorting_desc_disabled{background-repeat:no-repeat;background-position:center right}table.dataTable thead .sorting{background-image:url("../images/sort_both.png")}table.dataTable thead .sorting_asc{background-image:url("../images/sort_asc.png")}table.dataTable thead .sorting_desc{background-image:url("../images/sort_desc.png")}table.dataTable thead .sorting_asc_disabled{background-image:url("../images/sort_asc_disabled.png")}table.dataTable thead .sorting_desc_disabled{background-image:url("../images/sort_desc_disabled.png")}div.dataTables_scrollHead table{margin-bottom:0 !important}div.dataTables_scrollBody table{border-top:none;margin-top:0 !important;margin-bottom:0 !important}div.dataTables_scrollBody table tbody tr:first-child th,div.dataTables_scrollBody table tbody tr:first-child td{border-top:none}div.dataTables_scrollFoot table{margin-top:0 !important;border-top:none} 2 | -------------------------------------------------------------------------------- /docs/DataTables-1.10.18/css/dataTables.jqueryui.min.css: -------------------------------------------------------------------------------- 1 | table.dataTable{width:100%;margin:0 auto;clear:both;border-collapse:separate;border-spacing:0}table.dataTable thead th,table.dataTable tfoot th{font-weight:bold}table.dataTable thead th,table.dataTable thead td{padding:10px 18px}table.dataTable thead th:active,table.dataTable thead td:active{outline:none}table.dataTable tfoot th,table.dataTable tfoot td{padding:10px 18px 6px 18px}table.dataTable tbody tr{background-color:#ffffff}table.dataTable tbody tr.selected{background-color:#B0BED9}table.dataTable tbody th,table.dataTable tbody td{padding:8px 10px}table.dataTable.row-border tbody th,table.dataTable.row-border tbody td,table.dataTable.display tbody th,table.dataTable.display tbody td{border-top:1px solid #ddd}table.dataTable.row-border tbody tr:first-child th,table.dataTable.row-border tbody tr:first-child td,table.dataTable.display tbody tr:first-child th,table.dataTable.display tbody tr:first-child td{border-top:none}table.dataTable.cell-border tbody th,table.dataTable.cell-border tbody td{border-top:1px solid #ddd;border-right:1px solid #ddd}table.dataTable.cell-border tbody tr th:first-child,table.dataTable.cell-border tbody tr td:first-child{border-left:1px solid #ddd}table.dataTable.cell-border tbody tr:first-child th,table.dataTable.cell-border tbody tr:first-child td{border-top:none}table.dataTable.stripe tbody tr.odd,table.dataTable.display tbody tr.odd{background-color:#f9f9f9}table.dataTable.stripe tbody tr.odd.selected,table.dataTable.display tbody tr.odd.selected{background-color:#acbad4}table.dataTable.hover tbody tr:hover,table.dataTable.display tbody tr:hover{background-color:#f6f6f6}table.dataTable.hover tbody tr:hover.selected,table.dataTable.display tbody tr:hover.selected{background-color:#aab7d1}table.dataTable.order-column tbody tr>.sorting_1,table.dataTable.order-column tbody tr>.sorting_2,table.dataTable.order-column tbody tr>.sorting_3,table.dataTable.display tbody tr>.sorting_1,table.dataTable.display tbody tr>.sorting_2,table.dataTable.display tbody tr>.sorting_3{background-color:#fafafa}table.dataTable.order-column tbody tr.selected>.sorting_1,table.dataTable.order-column tbody tr.selected>.sorting_2,table.dataTable.order-column tbody tr.selected>.sorting_3,table.dataTable.display tbody tr.selected>.sorting_1,table.dataTable.display tbody tr.selected>.sorting_2,table.dataTable.display tbody tr.selected>.sorting_3{background-color:#acbad5}table.dataTable.display tbody tr.odd>.sorting_1,table.dataTable.order-column.stripe tbody tr.odd>.sorting_1{background-color:#f1f1f1}table.dataTable.display tbody tr.odd>.sorting_2,table.dataTable.order-column.stripe tbody tr.odd>.sorting_2{background-color:#f3f3f3}table.dataTable.display tbody tr.odd>.sorting_3,table.dataTable.order-column.stripe tbody tr.odd>.sorting_3{background-color:whitesmoke}table.dataTable.display tbody tr.odd.selected>.sorting_1,table.dataTable.order-column.stripe tbody tr.odd.selected>.sorting_1{background-color:#a6b4cd}table.dataTable.display tbody tr.odd.selected>.sorting_2,table.dataTable.order-column.stripe tbody tr.odd.selected>.sorting_2{background-color:#a8b5cf}table.dataTable.display tbody tr.odd.selected>.sorting_3,table.dataTable.order-column.stripe tbody tr.odd.selected>.sorting_3{background-color:#a9b7d1}table.dataTable.display tbody tr.even>.sorting_1,table.dataTable.order-column.stripe tbody tr.even>.sorting_1{background-color:#fafafa}table.dataTable.display tbody tr.even>.sorting_2,table.dataTable.order-column.stripe tbody tr.even>.sorting_2{background-color:#fcfcfc}table.dataTable.display tbody tr.even>.sorting_3,table.dataTable.order-column.stripe tbody tr.even>.sorting_3{background-color:#fefefe}table.dataTable.display tbody tr.even.selected>.sorting_1,table.dataTable.order-column.stripe tbody tr.even.selected>.sorting_1{background-color:#acbad5}table.dataTable.display tbody tr.even.selected>.sorting_2,table.dataTable.order-column.stripe tbody tr.even.selected>.sorting_2{background-color:#aebcd6}table.dataTable.display tbody tr.even.selected>.sorting_3,table.dataTable.order-column.stripe tbody tr.even.selected>.sorting_3{background-color:#afbdd8}table.dataTable.display tbody tr:hover>.sorting_1,table.dataTable.order-column.hover tbody tr:hover>.sorting_1{background-color:#eaeaea}table.dataTable.display tbody tr:hover>.sorting_2,table.dataTable.order-column.hover tbody tr:hover>.sorting_2{background-color:#ececec}table.dataTable.display tbody tr:hover>.sorting_3,table.dataTable.order-column.hover tbody tr:hover>.sorting_3{background-color:#efefef}table.dataTable.display tbody tr:hover.selected>.sorting_1,table.dataTable.order-column.hover tbody tr:hover.selected>.sorting_1{background-color:#a2aec7}table.dataTable.display tbody tr:hover.selected>.sorting_2,table.dataTable.order-column.hover tbody tr:hover.selected>.sorting_2{background-color:#a3b0c9}table.dataTable.display tbody tr:hover.selected>.sorting_3,table.dataTable.order-column.hover tbody tr:hover.selected>.sorting_3{background-color:#a5b2cb}table.dataTable.no-footer{border-bottom:1px solid #111}table.dataTable.nowrap th,table.dataTable.nowrap td{white-space:nowrap}table.dataTable.compact thead th,table.dataTable.compact thead td{padding:4px 17px 4px 4px}table.dataTable.compact tfoot th,table.dataTable.compact tfoot td{padding:4px}table.dataTable.compact tbody th,table.dataTable.compact tbody td{padding:4px}table.dataTable th.dt-left,table.dataTable td.dt-left{text-align:left}table.dataTable th.dt-center,table.dataTable td.dt-center,table.dataTable td.dataTables_empty{text-align:center}table.dataTable th.dt-right,table.dataTable td.dt-right{text-align:right}table.dataTable th.dt-justify,table.dataTable td.dt-justify{text-align:justify}table.dataTable th.dt-nowrap,table.dataTable td.dt-nowrap{white-space:nowrap}table.dataTable thead th.dt-head-left,table.dataTable thead td.dt-head-left,table.dataTable tfoot th.dt-head-left,table.dataTable tfoot td.dt-head-left{text-align:left}table.dataTable thead th.dt-head-center,table.dataTable thead td.dt-head-center,table.dataTable tfoot th.dt-head-center,table.dataTable tfoot td.dt-head-center{text-align:center}table.dataTable thead th.dt-head-right,table.dataTable thead td.dt-head-right,table.dataTable tfoot th.dt-head-right,table.dataTable tfoot td.dt-head-right{text-align:right}table.dataTable thead th.dt-head-justify,table.dataTable thead td.dt-head-justify,table.dataTable tfoot th.dt-head-justify,table.dataTable tfoot td.dt-head-justify{text-align:justify}table.dataTable thead th.dt-head-nowrap,table.dataTable thead td.dt-head-nowrap,table.dataTable tfoot th.dt-head-nowrap,table.dataTable tfoot td.dt-head-nowrap{white-space:nowrap}table.dataTable tbody th.dt-body-left,table.dataTable tbody td.dt-body-left{text-align:left}table.dataTable tbody th.dt-body-center,table.dataTable tbody td.dt-body-center{text-align:center}table.dataTable tbody th.dt-body-right,table.dataTable tbody td.dt-body-right{text-align:right}table.dataTable tbody th.dt-body-justify,table.dataTable tbody td.dt-body-justify{text-align:justify}table.dataTable tbody th.dt-body-nowrap,table.dataTable tbody td.dt-body-nowrap{white-space:nowrap}table.dataTable,table.dataTable th,table.dataTable td{box-sizing:content-box}.dataTables_wrapper{position:relative;clear:both;*zoom:1;zoom:1}.dataTables_wrapper .dataTables_length{float:left}.dataTables_wrapper .dataTables_filter{float:right;text-align:right}.dataTables_wrapper .dataTables_filter input{margin-left:0.5em}.dataTables_wrapper .dataTables_info{clear:both;float:left;padding-top:0.755em}.dataTables_wrapper .dataTables_paginate{float:right;text-align:right;padding-top:0.25em}.dataTables_wrapper .dataTables_paginate .paginate_button{box-sizing:border-box;display:inline-block;min-width:1.5em;padding:0.5em 1em;margin-left:2px;text-align:center;text-decoration:none !important;cursor:pointer;*cursor:hand;color:#333 !important;border:1px solid transparent;border-radius:2px}.dataTables_wrapper .dataTables_paginate .paginate_button.current,.dataTables_wrapper .dataTables_paginate .paginate_button.current:hover{color:#333 !important;border:1px solid #979797;background-color:white;background:-webkit-gradient(linear, left top, left bottom, color-stop(0%, #fff), color-stop(100%, #dcdcdc));background:-webkit-linear-gradient(top, #fff 0%, #dcdcdc 100%);background:-moz-linear-gradient(top, #fff 0%, #dcdcdc 100%);background:-ms-linear-gradient(top, #fff 0%, #dcdcdc 100%);background:-o-linear-gradient(top, #fff 0%, #dcdcdc 100%);background:linear-gradient(to bottom, #fff 0%, #dcdcdc 100%)}.dataTables_wrapper .dataTables_paginate .paginate_button.disabled,.dataTables_wrapper .dataTables_paginate .paginate_button.disabled:hover,.dataTables_wrapper .dataTables_paginate .paginate_button.disabled:active{cursor:default;color:#666 !important;border:1px solid transparent;background:transparent;box-shadow:none}.dataTables_wrapper .dataTables_paginate .paginate_button:hover{color:white !important;border:1px solid #111;background-color:#585858;background:-webkit-gradient(linear, left top, left bottom, color-stop(0%, #585858), color-stop(100%, #111));background:-webkit-linear-gradient(top, #585858 0%, #111 100%);background:-moz-linear-gradient(top, #585858 0%, #111 100%);background:-ms-linear-gradient(top, #585858 0%, #111 100%);background:-o-linear-gradient(top, #585858 0%, #111 100%);background:linear-gradient(to bottom, #585858 0%, #111 100%)}.dataTables_wrapper .dataTables_paginate .paginate_button:active{outline:none;background-color:#2b2b2b;background:-webkit-gradient(linear, left top, left bottom, color-stop(0%, #2b2b2b), color-stop(100%, #0c0c0c));background:-webkit-linear-gradient(top, #2b2b2b 0%, #0c0c0c 100%);background:-moz-linear-gradient(top, #2b2b2b 0%, #0c0c0c 100%);background:-ms-linear-gradient(top, #2b2b2b 0%, #0c0c0c 100%);background:-o-linear-gradient(top, #2b2b2b 0%, #0c0c0c 100%);background:linear-gradient(to bottom, #2b2b2b 0%, #0c0c0c 100%);box-shadow:inset 0 0 3px #111}.dataTables_wrapper .dataTables_paginate .ellipsis{padding:0 1em}.dataTables_wrapper .dataTables_processing{position:absolute;top:50%;left:50%;width:100%;height:40px;margin-left:-50%;margin-top:-25px;padding-top:20px;text-align:center;font-size:1.2em;background-color:white;background:-webkit-gradient(linear, left top, right top, color-stop(0%, rgba(255,255,255,0)), color-stop(25%, rgba(255,255,255,0.9)), color-stop(75%, rgba(255,255,255,0.9)), color-stop(100%, rgba(255,255,255,0)));background:-webkit-linear-gradient(left, rgba(255,255,255,0) 0%, rgba(255,255,255,0.9) 25%, rgba(255,255,255,0.9) 75%, rgba(255,255,255,0) 100%);background:-moz-linear-gradient(left, rgba(255,255,255,0) 0%, rgba(255,255,255,0.9) 25%, rgba(255,255,255,0.9) 75%, rgba(255,255,255,0) 100%);background:-ms-linear-gradient(left, rgba(255,255,255,0) 0%, rgba(255,255,255,0.9) 25%, rgba(255,255,255,0.9) 75%, rgba(255,255,255,0) 100%);background:-o-linear-gradient(left, rgba(255,255,255,0) 0%, rgba(255,255,255,0.9) 25%, rgba(255,255,255,0.9) 75%, rgba(255,255,255,0) 100%);background:linear-gradient(to right, rgba(255,255,255,0) 0%, rgba(255,255,255,0.9) 25%, rgba(255,255,255,0.9) 75%, rgba(255,255,255,0) 100%)}.dataTables_wrapper .dataTables_length,.dataTables_wrapper .dataTables_filter,.dataTables_wrapper .dataTables_info,.dataTables_wrapper .dataTables_processing,.dataTables_wrapper .dataTables_paginate{color:#333}.dataTables_wrapper .dataTables_scroll{clear:both}.dataTables_wrapper .dataTables_scroll div.dataTables_scrollBody{*margin-top:-1px;-webkit-overflow-scrolling:touch}.dataTables_wrapper .dataTables_scroll div.dataTables_scrollBody>table>thead>tr>th,.dataTables_wrapper .dataTables_scroll div.dataTables_scrollBody>table>thead>tr>td,.dataTables_wrapper .dataTables_scroll div.dataTables_scrollBody>table>tbody>tr>th,.dataTables_wrapper .dataTables_scroll div.dataTables_scrollBody>table>tbody>tr>td{vertical-align:middle}.dataTables_wrapper .dataTables_scroll div.dataTables_scrollBody>table>thead>tr>th>div.dataTables_sizing,.dataTables_wrapper .dataTables_scroll div.dataTables_scrollBody>table>thead>tr>td>div.dataTables_sizing,.dataTables_wrapper .dataTables_scroll div.dataTables_scrollBody>table>tbody>tr>th>div.dataTables_sizing,.dataTables_wrapper .dataTables_scroll div.dataTables_scrollBody>table>tbody>tr>td>div.dataTables_sizing{height:0;overflow:hidden;margin:0 !important;padding:0 !important}.dataTables_wrapper.no-footer .dataTables_scrollBody{border-bottom:1px solid #111}.dataTables_wrapper.no-footer div.dataTables_scrollHead table.dataTable,.dataTables_wrapper.no-footer div.dataTables_scrollBody>table{border-bottom:none}.dataTables_wrapper:after{visibility:hidden;display:block;content:"";clear:both;height:0}@media screen and (max-width: 767px){.dataTables_wrapper .dataTables_info,.dataTables_wrapper .dataTables_paginate{float:none;text-align:center}.dataTables_wrapper .dataTables_paginate{margin-top:0.5em}}@media screen and (max-width: 640px){.dataTables_wrapper .dataTables_length,.dataTables_wrapper .dataTables_filter{float:none;text-align:center}.dataTables_wrapper .dataTables_filter{margin-top:0.5em}}table.dataTable thead th div.DataTables_sort_wrapper{position:relative}table.dataTable thead th div.DataTables_sort_wrapper span{position:absolute;top:50%;margin-top:-8px;right:-18px}table.dataTable thead th.ui-state-default,table.dataTable tfoot th.ui-state-default{border-left-width:0}table.dataTable thead th.ui-state-default:first-child,table.dataTable tfoot th.ui-state-default:first-child{border-left-width:1px}.dataTables_wrapper .dataTables_paginate .fg-button{box-sizing:border-box;display:inline-block;min-width:1.5em;padding:0.5em;margin-left:2px;text-align:center;text-decoration:none !important;cursor:pointer;*cursor:hand;border:1px solid transparent}.dataTables_wrapper .dataTables_paginate .fg-button:active{outline:none}.dataTables_wrapper .dataTables_paginate .fg-button:first-child{border-top-left-radius:3px;border-bottom-left-radius:3px}.dataTables_wrapper .dataTables_paginate .fg-button:last-child{border-top-right-radius:3px;border-bottom-right-radius:3px}.dataTables_wrapper .ui-widget-header{font-weight:normal}.dataTables_wrapper .ui-toolbar{padding:8px}.dataTables_wrapper.no-footer .dataTables_scrollBody{border-bottom:none}.dataTables_wrapper .dataTables_length,.dataTables_wrapper .dataTables_filter,.dataTables_wrapper .dataTables_info,.dataTables_wrapper .dataTables_processing,.dataTables_wrapper .dataTables_paginate{color:inherit} 2 | -------------------------------------------------------------------------------- /docs/DataTables-1.10.18/css/dataTables.semanticui.css: -------------------------------------------------------------------------------- 1 | /* 2 | * Styling for DataTables with Semantic UI 3 | */ 4 | table.dataTable.table { 5 | margin: 0; 6 | } 7 | table.dataTable.table thead th, 8 | table.dataTable.table thead td { 9 | position: relative; 10 | } 11 | table.dataTable.table thead th.sorting, table.dataTable.table thead th.sorting_asc, table.dataTable.table thead th.sorting_desc, 12 | table.dataTable.table thead td.sorting, 13 | table.dataTable.table thead td.sorting_asc, 14 | table.dataTable.table thead td.sorting_desc { 15 | padding-right: 20px; 16 | } 17 | table.dataTable.table thead th.sorting:after, table.dataTable.table thead th.sorting_asc:after, table.dataTable.table thead th.sorting_desc:after, 18 | table.dataTable.table thead td.sorting:after, 19 | table.dataTable.table thead td.sorting_asc:after, 20 | table.dataTable.table thead td.sorting_desc:after { 21 | position: absolute; 22 | top: 12px; 23 | right: 8px; 24 | display: block; 25 | font-family: Icons; 26 | } 27 | table.dataTable.table thead th.sorting:after, 28 | table.dataTable.table thead td.sorting:after { 29 | content: "\f0dc"; 30 | color: #ddd; 31 | font-size: 0.8em; 32 | } 33 | table.dataTable.table thead th.sorting_asc:after, 34 | table.dataTable.table thead td.sorting_asc:after { 35 | content: "\f0de"; 36 | } 37 | table.dataTable.table thead th.sorting_desc:after, 38 | table.dataTable.table thead td.sorting_desc:after { 39 | content: "\f0dd"; 40 | } 41 | table.dataTable.table td, 42 | table.dataTable.table th { 43 | -webkit-box-sizing: content-box; 44 | box-sizing: content-box; 45 | } 46 | table.dataTable.table td.dataTables_empty, 47 | table.dataTable.table th.dataTables_empty { 48 | text-align: center; 49 | } 50 | table.dataTable.table.nowrap th, 51 | table.dataTable.table.nowrap td { 52 | white-space: nowrap; 53 | } 54 | 55 | div.dataTables_wrapper div.dataTables_length select { 56 | vertical-align: middle; 57 | min-height: 2.7142em; 58 | } 59 | div.dataTables_wrapper div.dataTables_length .ui.selection.dropdown { 60 | min-width: 0; 61 | } 62 | div.dataTables_wrapper div.dataTables_filter span.input { 63 | margin-left: 0.5em; 64 | } 65 | div.dataTables_wrapper div.dataTables_info { 66 | padding-top: 13px; 67 | white-space: nowrap; 68 | } 69 | div.dataTables_wrapper div.dataTables_processing { 70 | position: absolute; 71 | top: 50%; 72 | left: 50%; 73 | width: 200px; 74 | margin-left: -100px; 75 | text-align: center; 76 | } 77 | div.dataTables_wrapper div.row.dt-table { 78 | padding: 0; 79 | } 80 | div.dataTables_wrapper div.dataTables_scrollHead table.dataTable { 81 | border-bottom-right-radius: 0; 82 | border-bottom-left-radius: 0; 83 | border-bottom: none; 84 | } 85 | div.dataTables_wrapper div.dataTables_scrollBody thead .sorting:after, 86 | div.dataTables_wrapper div.dataTables_scrollBody thead .sorting_asc:after, 87 | div.dataTables_wrapper div.dataTables_scrollBody thead .sorting_desc:after { 88 | display: none; 89 | } 90 | div.dataTables_wrapper div.dataTables_scrollBody table.dataTable { 91 | border-radius: 0; 92 | border-top: none; 93 | border-bottom-width: 0; 94 | } 95 | div.dataTables_wrapper div.dataTables_scrollBody table.dataTable.no-footer { 96 | border-bottom-width: 1px; 97 | } 98 | div.dataTables_wrapper div.dataTables_scrollFoot table.dataTable { 99 | border-top-right-radius: 0; 100 | border-top-left-radius: 0; 101 | border-top: none; 102 | } 103 | -------------------------------------------------------------------------------- /docs/DataTables-1.10.18/css/dataTables.semanticui.min.css: -------------------------------------------------------------------------------- 1 | table.dataTable.table{margin:0}table.dataTable.table thead th,table.dataTable.table thead td{position:relative}table.dataTable.table thead th.sorting,table.dataTable.table thead th.sorting_asc,table.dataTable.table thead th.sorting_desc,table.dataTable.table thead td.sorting,table.dataTable.table thead td.sorting_asc,table.dataTable.table thead td.sorting_desc{padding-right:20px}table.dataTable.table thead th.sorting:after,table.dataTable.table thead th.sorting_asc:after,table.dataTable.table thead th.sorting_desc:after,table.dataTable.table thead td.sorting:after,table.dataTable.table thead td.sorting_asc:after,table.dataTable.table thead td.sorting_desc:after{position:absolute;top:12px;right:8px;display:block;font-family:Icons}table.dataTable.table thead th.sorting:after,table.dataTable.table thead td.sorting:after{content:"\f0dc";color:#ddd;font-size:0.8em}table.dataTable.table thead th.sorting_asc:after,table.dataTable.table thead td.sorting_asc:after{content:"\f0de"}table.dataTable.table thead th.sorting_desc:after,table.dataTable.table thead td.sorting_desc:after{content:"\f0dd"}table.dataTable.table td,table.dataTable.table th{-webkit-box-sizing:content-box;box-sizing:content-box}table.dataTable.table td.dataTables_empty,table.dataTable.table th.dataTables_empty{text-align:center}table.dataTable.table.nowrap th,table.dataTable.table.nowrap td{white-space:nowrap}div.dataTables_wrapper div.dataTables_length select{vertical-align:middle;min-height:2.7142em}div.dataTables_wrapper div.dataTables_length .ui.selection.dropdown{min-width:0}div.dataTables_wrapper div.dataTables_filter span.input{margin-left:0.5em}div.dataTables_wrapper div.dataTables_info{padding-top:13px;white-space:nowrap}div.dataTables_wrapper div.dataTables_processing{position:absolute;top:50%;left:50%;width:200px;margin-left:-100px;text-align:center}div.dataTables_wrapper div.row.dt-table{padding:0}div.dataTables_wrapper div.dataTables_scrollHead table.dataTable{border-bottom-right-radius:0;border-bottom-left-radius:0;border-bottom:none}div.dataTables_wrapper div.dataTables_scrollBody thead .sorting:after,div.dataTables_wrapper div.dataTables_scrollBody thead .sorting_asc:after,div.dataTables_wrapper div.dataTables_scrollBody thead .sorting_desc:after{display:none}div.dataTables_wrapper div.dataTables_scrollBody table.dataTable{border-radius:0;border-top:none;border-bottom-width:0}div.dataTables_wrapper div.dataTables_scrollBody table.dataTable.no-footer{border-bottom-width:1px}div.dataTables_wrapper div.dataTables_scrollFoot table.dataTable{border-top-right-radius:0;border-top-left-radius:0;border-top:none} 2 | -------------------------------------------------------------------------------- /docs/DataTables-1.10.18/css/jquery.dataTables.min.css: -------------------------------------------------------------------------------- 1 | table.dataTable{width:100%;margin:0 auto;clear:both;border-collapse:separate;border-spacing:0}table.dataTable thead th,table.dataTable tfoot th{font-weight:bold}table.dataTable thead th,table.dataTable thead td{padding:10px 18px;border-bottom:1px solid #111}table.dataTable thead th:active,table.dataTable thead td:active{outline:none}table.dataTable tfoot th,table.dataTable tfoot td{padding:10px 18px 6px 18px;border-top:1px solid #111}table.dataTable thead .sorting,table.dataTable thead .sorting_asc,table.dataTable thead .sorting_desc,table.dataTable thead .sorting_asc_disabled,table.dataTable thead .sorting_desc_disabled{cursor:pointer;*cursor:hand;background-repeat:no-repeat;background-position:center right}table.dataTable thead .sorting{background-image:url("../images/sort_both.png")}table.dataTable thead .sorting_asc{background-image:url("../images/sort_asc.png")}table.dataTable thead .sorting_desc{background-image:url("../images/sort_desc.png")}table.dataTable thead .sorting_asc_disabled{background-image:url("../images/sort_asc_disabled.png")}table.dataTable thead .sorting_desc_disabled{background-image:url("../images/sort_desc_disabled.png")}table.dataTable tbody tr{background-color:#ffffff}table.dataTable tbody tr.selected{background-color:#B0BED9}table.dataTable tbody th,table.dataTable tbody td{padding:8px 10px}table.dataTable.row-border tbody th,table.dataTable.row-border tbody td,table.dataTable.display tbody th,table.dataTable.display tbody td{border-top:1px solid #ddd}table.dataTable.row-border tbody tr:first-child th,table.dataTable.row-border tbody tr:first-child td,table.dataTable.display tbody tr:first-child th,table.dataTable.display tbody tr:first-child td{border-top:none}table.dataTable.cell-border tbody th,table.dataTable.cell-border tbody td{border-top:1px solid #ddd;border-right:1px solid #ddd}table.dataTable.cell-border tbody tr th:first-child,table.dataTable.cell-border tbody tr td:first-child{border-left:1px solid #ddd}table.dataTable.cell-border tbody tr:first-child th,table.dataTable.cell-border tbody tr:first-child td{border-top:none}table.dataTable.stripe tbody tr.odd,table.dataTable.display tbody tr.odd{background-color:#f9f9f9}table.dataTable.stripe tbody tr.odd.selected,table.dataTable.display tbody tr.odd.selected{background-color:#acbad4}table.dataTable.hover tbody tr:hover,table.dataTable.display tbody tr:hover{background-color:#f6f6f6}table.dataTable.hover tbody tr:hover.selected,table.dataTable.display tbody tr:hover.selected{background-color:#aab7d1}table.dataTable.order-column tbody tr>.sorting_1,table.dataTable.order-column tbody tr>.sorting_2,table.dataTable.order-column tbody tr>.sorting_3,table.dataTable.display tbody tr>.sorting_1,table.dataTable.display tbody tr>.sorting_2,table.dataTable.display tbody tr>.sorting_3{background-color:#fafafa}table.dataTable.order-column tbody tr.selected>.sorting_1,table.dataTable.order-column tbody tr.selected>.sorting_2,table.dataTable.order-column tbody tr.selected>.sorting_3,table.dataTable.display tbody tr.selected>.sorting_1,table.dataTable.display tbody tr.selected>.sorting_2,table.dataTable.display tbody tr.selected>.sorting_3{background-color:#acbad5}table.dataTable.display tbody tr.odd>.sorting_1,table.dataTable.order-column.stripe tbody tr.odd>.sorting_1{background-color:#f1f1f1}table.dataTable.display tbody tr.odd>.sorting_2,table.dataTable.order-column.stripe tbody tr.odd>.sorting_2{background-color:#f3f3f3}table.dataTable.display tbody tr.odd>.sorting_3,table.dataTable.order-column.stripe tbody tr.odd>.sorting_3{background-color:whitesmoke}table.dataTable.display tbody tr.odd.selected>.sorting_1,table.dataTable.order-column.stripe tbody tr.odd.selected>.sorting_1{background-color:#a6b4cd}table.dataTable.display tbody tr.odd.selected>.sorting_2,table.dataTable.order-column.stripe tbody tr.odd.selected>.sorting_2{background-color:#a8b5cf}table.dataTable.display tbody tr.odd.selected>.sorting_3,table.dataTable.order-column.stripe tbody tr.odd.selected>.sorting_3{background-color:#a9b7d1}table.dataTable.display tbody tr.even>.sorting_1,table.dataTable.order-column.stripe tbody tr.even>.sorting_1{background-color:#fafafa}table.dataTable.display tbody tr.even>.sorting_2,table.dataTable.order-column.stripe tbody tr.even>.sorting_2{background-color:#fcfcfc}table.dataTable.display tbody tr.even>.sorting_3,table.dataTable.order-column.stripe tbody tr.even>.sorting_3{background-color:#fefefe}table.dataTable.display tbody tr.even.selected>.sorting_1,table.dataTable.order-column.stripe tbody tr.even.selected>.sorting_1{background-color:#acbad5}table.dataTable.display tbody tr.even.selected>.sorting_2,table.dataTable.order-column.stripe tbody tr.even.selected>.sorting_2{background-color:#aebcd6}table.dataTable.display tbody tr.even.selected>.sorting_3,table.dataTable.order-column.stripe tbody tr.even.selected>.sorting_3{background-color:#afbdd8}table.dataTable.display tbody tr:hover>.sorting_1,table.dataTable.order-column.hover tbody tr:hover>.sorting_1{background-color:#eaeaea}table.dataTable.display tbody tr:hover>.sorting_2,table.dataTable.order-column.hover tbody tr:hover>.sorting_2{background-color:#ececec}table.dataTable.display tbody tr:hover>.sorting_3,table.dataTable.order-column.hover tbody tr:hover>.sorting_3{background-color:#efefef}table.dataTable.display tbody tr:hover.selected>.sorting_1,table.dataTable.order-column.hover tbody tr:hover.selected>.sorting_1{background-color:#a2aec7}table.dataTable.display tbody tr:hover.selected>.sorting_2,table.dataTable.order-column.hover tbody tr:hover.selected>.sorting_2{background-color:#a3b0c9}table.dataTable.display tbody tr:hover.selected>.sorting_3,table.dataTable.order-column.hover tbody tr:hover.selected>.sorting_3{background-color:#a5b2cb}table.dataTable.no-footer{border-bottom:1px solid #111}table.dataTable.nowrap th,table.dataTable.nowrap td{white-space:nowrap}table.dataTable.compact thead th,table.dataTable.compact thead td{padding:4px 17px 4px 4px}table.dataTable.compact tfoot th,table.dataTable.compact tfoot td{padding:4px}table.dataTable.compact tbody th,table.dataTable.compact tbody td{padding:4px}table.dataTable th.dt-left,table.dataTable td.dt-left{text-align:left}table.dataTable th.dt-center,table.dataTable td.dt-center,table.dataTable td.dataTables_empty{text-align:center}table.dataTable th.dt-right,table.dataTable td.dt-right{text-align:right}table.dataTable th.dt-justify,table.dataTable td.dt-justify{text-align:justify}table.dataTable th.dt-nowrap,table.dataTable td.dt-nowrap{white-space:nowrap}table.dataTable thead th.dt-head-left,table.dataTable thead td.dt-head-left,table.dataTable tfoot th.dt-head-left,table.dataTable tfoot td.dt-head-left{text-align:left}table.dataTable thead th.dt-head-center,table.dataTable thead td.dt-head-center,table.dataTable tfoot th.dt-head-center,table.dataTable tfoot td.dt-head-center{text-align:center}table.dataTable thead th.dt-head-right,table.dataTable thead td.dt-head-right,table.dataTable tfoot th.dt-head-right,table.dataTable tfoot td.dt-head-right{text-align:right}table.dataTable thead th.dt-head-justify,table.dataTable thead td.dt-head-justify,table.dataTable tfoot th.dt-head-justify,table.dataTable tfoot td.dt-head-justify{text-align:justify}table.dataTable thead th.dt-head-nowrap,table.dataTable thead td.dt-head-nowrap,table.dataTable tfoot th.dt-head-nowrap,table.dataTable tfoot td.dt-head-nowrap{white-space:nowrap}table.dataTable tbody th.dt-body-left,table.dataTable tbody td.dt-body-left{text-align:left}table.dataTable tbody th.dt-body-center,table.dataTable tbody td.dt-body-center{text-align:center}table.dataTable tbody th.dt-body-right,table.dataTable tbody td.dt-body-right{text-align:right}table.dataTable tbody th.dt-body-justify,table.dataTable tbody td.dt-body-justify{text-align:justify}table.dataTable tbody th.dt-body-nowrap,table.dataTable tbody td.dt-body-nowrap{white-space:nowrap}table.dataTable,table.dataTable th,table.dataTable td{box-sizing:content-box}.dataTables_wrapper{position:relative;clear:both;*zoom:1;zoom:1}.dataTables_wrapper .dataTables_length{float:left}.dataTables_wrapper .dataTables_filter{float:right;text-align:right}.dataTables_wrapper .dataTables_filter input{margin-left:0.5em}.dataTables_wrapper .dataTables_info{clear:both;float:left;padding-top:0.755em}.dataTables_wrapper .dataTables_paginate{float:right;text-align:right;padding-top:0.25em}.dataTables_wrapper .dataTables_paginate .paginate_button{box-sizing:border-box;display:inline-block;min-width:1.5em;padding:0.5em 1em;margin-left:2px;text-align:center;text-decoration:none !important;cursor:pointer;*cursor:hand;color:#333 !important;border:1px solid transparent;border-radius:2px}.dataTables_wrapper .dataTables_paginate .paginate_button.current,.dataTables_wrapper .dataTables_paginate .paginate_button.current:hover{color:#333 !important;border:1px solid #979797;background-color:white;background:-webkit-gradient(linear, left top, left bottom, color-stop(0%, #fff), color-stop(100%, #dcdcdc));background:-webkit-linear-gradient(top, #fff 0%, #dcdcdc 100%);background:-moz-linear-gradient(top, #fff 0%, #dcdcdc 100%);background:-ms-linear-gradient(top, #fff 0%, #dcdcdc 100%);background:-o-linear-gradient(top, #fff 0%, #dcdcdc 100%);background:linear-gradient(to bottom, #fff 0%, #dcdcdc 100%)}.dataTables_wrapper .dataTables_paginate .paginate_button.disabled,.dataTables_wrapper .dataTables_paginate .paginate_button.disabled:hover,.dataTables_wrapper .dataTables_paginate .paginate_button.disabled:active{cursor:default;color:#666 !important;border:1px solid transparent;background:transparent;box-shadow:none}.dataTables_wrapper .dataTables_paginate .paginate_button:hover{color:white !important;border:1px solid #111;background-color:#585858;background:-webkit-gradient(linear, left top, left bottom, color-stop(0%, #585858), color-stop(100%, #111));background:-webkit-linear-gradient(top, #585858 0%, #111 100%);background:-moz-linear-gradient(top, #585858 0%, #111 100%);background:-ms-linear-gradient(top, #585858 0%, #111 100%);background:-o-linear-gradient(top, #585858 0%, #111 100%);background:linear-gradient(to bottom, #585858 0%, #111 100%)}.dataTables_wrapper .dataTables_paginate .paginate_button:active{outline:none;background-color:#2b2b2b;background:-webkit-gradient(linear, left top, left bottom, color-stop(0%, #2b2b2b), color-stop(100%, #0c0c0c));background:-webkit-linear-gradient(top, #2b2b2b 0%, #0c0c0c 100%);background:-moz-linear-gradient(top, #2b2b2b 0%, #0c0c0c 100%);background:-ms-linear-gradient(top, #2b2b2b 0%, #0c0c0c 100%);background:-o-linear-gradient(top, #2b2b2b 0%, #0c0c0c 100%);background:linear-gradient(to bottom, #2b2b2b 0%, #0c0c0c 100%);box-shadow:inset 0 0 3px #111}.dataTables_wrapper .dataTables_paginate .ellipsis{padding:0 1em}.dataTables_wrapper .dataTables_processing{position:absolute;top:50%;left:50%;width:100%;height:40px;margin-left:-50%;margin-top:-25px;padding-top:20px;text-align:center;font-size:1.2em;background-color:white;background:-webkit-gradient(linear, left top, right top, color-stop(0%, rgba(255,255,255,0)), color-stop(25%, rgba(255,255,255,0.9)), color-stop(75%, rgba(255,255,255,0.9)), color-stop(100%, rgba(255,255,255,0)));background:-webkit-linear-gradient(left, rgba(255,255,255,0) 0%, rgba(255,255,255,0.9) 25%, rgba(255,255,255,0.9) 75%, rgba(255,255,255,0) 100%);background:-moz-linear-gradient(left, rgba(255,255,255,0) 0%, rgba(255,255,255,0.9) 25%, rgba(255,255,255,0.9) 75%, rgba(255,255,255,0) 100%);background:-ms-linear-gradient(left, rgba(255,255,255,0) 0%, rgba(255,255,255,0.9) 25%, rgba(255,255,255,0.9) 75%, rgba(255,255,255,0) 100%);background:-o-linear-gradient(left, rgba(255,255,255,0) 0%, rgba(255,255,255,0.9) 25%, rgba(255,255,255,0.9) 75%, rgba(255,255,255,0) 100%);background:linear-gradient(to right, rgba(255,255,255,0) 0%, rgba(255,255,255,0.9) 25%, rgba(255,255,255,0.9) 75%, rgba(255,255,255,0) 100%)}.dataTables_wrapper .dataTables_length,.dataTables_wrapper .dataTables_filter,.dataTables_wrapper .dataTables_info,.dataTables_wrapper .dataTables_processing,.dataTables_wrapper .dataTables_paginate{color:#333}.dataTables_wrapper .dataTables_scroll{clear:both}.dataTables_wrapper .dataTables_scroll div.dataTables_scrollBody{*margin-top:-1px;-webkit-overflow-scrolling:touch}.dataTables_wrapper .dataTables_scroll div.dataTables_scrollBody>table>thead>tr>th,.dataTables_wrapper .dataTables_scroll div.dataTables_scrollBody>table>thead>tr>td,.dataTables_wrapper .dataTables_scroll div.dataTables_scrollBody>table>tbody>tr>th,.dataTables_wrapper .dataTables_scroll div.dataTables_scrollBody>table>tbody>tr>td{vertical-align:middle}.dataTables_wrapper .dataTables_scroll div.dataTables_scrollBody>table>thead>tr>th>div.dataTables_sizing,.dataTables_wrapper .dataTables_scroll div.dataTables_scrollBody>table>thead>tr>td>div.dataTables_sizing,.dataTables_wrapper .dataTables_scroll div.dataTables_scrollBody>table>tbody>tr>th>div.dataTables_sizing,.dataTables_wrapper .dataTables_scroll div.dataTables_scrollBody>table>tbody>tr>td>div.dataTables_sizing{height:0;overflow:hidden;margin:0 !important;padding:0 !important}.dataTables_wrapper.no-footer .dataTables_scrollBody{border-bottom:1px solid #111}.dataTables_wrapper.no-footer div.dataTables_scrollHead table.dataTable,.dataTables_wrapper.no-footer div.dataTables_scrollBody>table{border-bottom:none}.dataTables_wrapper:after{visibility:hidden;display:block;content:"";clear:both;height:0}@media screen and (max-width: 767px){.dataTables_wrapper .dataTables_info,.dataTables_wrapper .dataTables_paginate{float:none;text-align:center}.dataTables_wrapper .dataTables_paginate{margin-top:0.5em}}@media screen and (max-width: 640px){.dataTables_wrapper .dataTables_length,.dataTables_wrapper .dataTables_filter{float:none;text-align:center}.dataTables_wrapper .dataTables_filter{margin-top:0.5em}} 2 | -------------------------------------------------------------------------------- /docs/DataTables-1.10.18/images/sort_asc.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Jinnrry/getAwayBSG/f86ac37680e2bfb83feb67ecc7dc61326e0ccecf/docs/DataTables-1.10.18/images/sort_asc.png -------------------------------------------------------------------------------- /docs/DataTables-1.10.18/images/sort_asc_disabled.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Jinnrry/getAwayBSG/f86ac37680e2bfb83feb67ecc7dc61326e0ccecf/docs/DataTables-1.10.18/images/sort_asc_disabled.png -------------------------------------------------------------------------------- /docs/DataTables-1.10.18/images/sort_both.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Jinnrry/getAwayBSG/f86ac37680e2bfb83feb67ecc7dc61326e0ccecf/docs/DataTables-1.10.18/images/sort_both.png -------------------------------------------------------------------------------- /docs/DataTables-1.10.18/images/sort_desc.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Jinnrry/getAwayBSG/f86ac37680e2bfb83feb67ecc7dc61326e0ccecf/docs/DataTables-1.10.18/images/sort_desc.png -------------------------------------------------------------------------------- /docs/DataTables-1.10.18/images/sort_desc_disabled.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Jinnrry/getAwayBSG/f86ac37680e2bfb83feb67ecc7dc61326e0ccecf/docs/DataTables-1.10.18/images/sort_desc_disabled.png -------------------------------------------------------------------------------- /docs/DataTables-1.10.18/js/dataTables.bootstrap.js: -------------------------------------------------------------------------------- 1 | /*! DataTables Bootstrap 3 integration 2 | * ©2011-2015 SpryMedia Ltd - datatables.net/license 3 | */ 4 | 5 | /** 6 | * DataTables integration for Bootstrap 3. This requires Bootstrap 3 and 7 | * DataTables 1.10 or newer. 8 | * 9 | * This file sets the defaults and adds options to DataTables to style its 10 | * controls using Bootstrap. See http://datatables.net/manual/styling/bootstrap 11 | * for further information. 12 | */ 13 | (function( factory ){ 14 | if ( typeof define === 'function' && define.amd ) { 15 | // AMD 16 | define( ['jquery', 'datatables.net'], function ( $ ) { 17 | return factory( $, window, document ); 18 | } ); 19 | } 20 | else if ( typeof exports === 'object' ) { 21 | // CommonJS 22 | module.exports = function (root, $) { 23 | if ( ! root ) { 24 | root = window; 25 | } 26 | 27 | if ( ! $ || ! $.fn.dataTable ) { 28 | // Require DataTables, which attaches to jQuery, including 29 | // jQuery if needed and have a $ property so we can access the 30 | // jQuery object that is used 31 | $ = require('datatables.net')(root, $).$; 32 | } 33 | 34 | return factory( $, root, root.document ); 35 | }; 36 | } 37 | else { 38 | // Browser 39 | factory( jQuery, window, document ); 40 | } 41 | }(function( $, window, document, undefined ) { 42 | 'use strict'; 43 | var DataTable = $.fn.dataTable; 44 | 45 | 46 | /* Set the defaults for DataTables initialisation */ 47 | $.extend( true, DataTable.defaults, { 48 | dom: 49 | "<'row'<'col-sm-6'l><'col-sm-6'f>>" + 50 | "<'row'<'col-sm-12'tr>>" + 51 | "<'row'<'col-sm-5'i><'col-sm-7'p>>", 52 | renderer: 'bootstrap' 53 | } ); 54 | 55 | 56 | /* Default class modification */ 57 | $.extend( DataTable.ext.classes, { 58 | sWrapper: "dataTables_wrapper form-inline dt-bootstrap", 59 | sFilterInput: "form-control input-sm", 60 | sLengthSelect: "form-control input-sm", 61 | sProcessing: "dataTables_processing panel panel-default" 62 | } ); 63 | 64 | 65 | /* Bootstrap paging button renderer */ 66 | DataTable.ext.renderer.pageButton.bootstrap = function ( settings, host, idx, buttons, page, pages ) { 67 | var api = new DataTable.Api( settings ); 68 | var classes = settings.oClasses; 69 | var lang = settings.oLanguage.oPaginate; 70 | var aria = settings.oLanguage.oAria.paginate || {}; 71 | var btnDisplay, btnClass, counter=0; 72 | 73 | var attach = function( container, buttons ) { 74 | var i, ien, node, button; 75 | var clickHandler = function ( e ) { 76 | e.preventDefault(); 77 | if ( !$(e.currentTarget).hasClass('disabled') && api.page() != e.data.action ) { 78 | api.page( e.data.action ).draw( 'page' ); 79 | } 80 | }; 81 | 82 | for ( i=0, ien=buttons.length ; i 0 ? 101 | '' : ' disabled'); 102 | break; 103 | 104 | case 'previous': 105 | btnDisplay = lang.sPrevious; 106 | btnClass = button + (page > 0 ? 107 | '' : ' disabled'); 108 | break; 109 | 110 | case 'next': 111 | btnDisplay = lang.sNext; 112 | btnClass = button + (page < pages-1 ? 113 | '' : ' disabled'); 114 | break; 115 | 116 | case 'last': 117 | btnDisplay = lang.sLast; 118 | btnClass = button + (page < pages-1 ? 119 | '' : ' disabled'); 120 | break; 121 | 122 | default: 123 | btnDisplay = button + 1; 124 | btnClass = page === button ? 125 | 'active' : ''; 126 | break; 127 | } 128 | 129 | if ( btnDisplay ) { 130 | node = $('
  • ', { 131 | 'class': classes.sPageButton+' '+btnClass, 132 | 'id': idx === 0 && typeof button === 'string' ? 133 | settings.sTableId +'_'+ button : 134 | null 135 | } ) 136 | .append( $('', { 137 | 'href': '#', 138 | 'aria-controls': settings.sTableId, 139 | 'aria-label': aria[ button ], 140 | 'data-dt-idx': counter, 141 | 'tabindex': settings.iTabIndex 142 | } ) 143 | .html( btnDisplay ) 144 | ) 145 | .appendTo( container ); 146 | 147 | settings.oApi._fnBindAction( 148 | node, {action: button}, clickHandler 149 | ); 150 | 151 | counter++; 152 | } 153 | } 154 | } 155 | }; 156 | 157 | // IE9 throws an 'unknown error' if document.activeElement is used 158 | // inside an iframe or frame. 159 | var activeEl; 160 | 161 | try { 162 | // Because this approach is destroying and recreating the paging 163 | // elements, focus is lost on the select button which is bad for 164 | // accessibility. So we want to restore focus once the draw has 165 | // completed 166 | activeEl = $(host).find(document.activeElement).data('dt-idx'); 167 | } 168 | catch (e) {} 169 | 170 | attach( 171 | $(host).empty().html('