├── BeetleX.AdminUI
├── run.bat
├── run.sh
├── views
│ ├── images
│ │ ├── full.png
│ │ ├── home.png
│ │ ├── min.png
│ │ ├── about.png
│ │ ├── alipay.png
│ │ ├── order.png
│ │ ├── customer.png
│ │ ├── employee.png
│ │ ├── tabclose.png
│ │ ├── wechatpay.png
│ │ └── panelresize.png
│ ├── fonts
│ │ ├── glyphicons-halflings-regular.eot
│ │ ├── glyphicons-halflings-regular.ttf
│ │ ├── glyphicons-halflings-regular.woff
│ │ └── glyphicons-halflings-regular.woff2
│ ├── vue
│ │ ├── models_about.vue
│ │ ├── page_footer.vue
│ │ ├── models_home.vue
│ │ ├── models_employees.vue
│ │ ├── models_customers.vue
│ │ ├── models_panel.vue
│ │ ├── models_neworders.vue
│ │ ├── windows_bar.vue
│ │ ├── main_menu.vue
│ │ ├── models_orders.vue
│ │ ├── models_employeedetail.vue
│ │ ├── models_customerdetail.vue
│ │ ├── model_customerspie.vue
│ │ ├── model_employeesspie.vue
│ │ └── models_monthline.vue
│ ├── index.html
│ ├── js
│ │ ├── page.js
│ │ ├── beetlex4axios.js
│ │ ├── axios.js
│ │ ├── bootstrap.js
│ │ └── vue.js
│ └── css
│ │ ├── admin.css
│ │ └── bootstrapadmin.css
├── Properties
│ └── PublishProfiles
│ │ ├── FolderProfile.pubxml.user
│ │ └── FolderProfile.pubxml
├── BeetleX.AdminUI.csproj.user
├── Program.cs
├── Controller.cs
└── BeetleX.AdminUI.csproj
├── README.md
├── BeetleX.AdminUI.sln
└── Untitled Diagram.drawio
/BeetleX.AdminUI/run.bat:
--------------------------------------------------------------------------------
1 | dotnet BeetleX.AdminUI.dll
--------------------------------------------------------------------------------
/BeetleX.AdminUI/run.sh:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/beetlex-io/AdminUI/HEAD/BeetleX.AdminUI/run.sh
--------------------------------------------------------------------------------
/BeetleX.AdminUI/views/images/full.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/beetlex-io/AdminUI/HEAD/BeetleX.AdminUI/views/images/full.png
--------------------------------------------------------------------------------
/BeetleX.AdminUI/views/images/home.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/beetlex-io/AdminUI/HEAD/BeetleX.AdminUI/views/images/home.png
--------------------------------------------------------------------------------
/BeetleX.AdminUI/views/images/min.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/beetlex-io/AdminUI/HEAD/BeetleX.AdminUI/views/images/min.png
--------------------------------------------------------------------------------
/BeetleX.AdminUI/views/images/about.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/beetlex-io/AdminUI/HEAD/BeetleX.AdminUI/views/images/about.png
--------------------------------------------------------------------------------
/BeetleX.AdminUI/views/images/alipay.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/beetlex-io/AdminUI/HEAD/BeetleX.AdminUI/views/images/alipay.png
--------------------------------------------------------------------------------
/BeetleX.AdminUI/views/images/order.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/beetlex-io/AdminUI/HEAD/BeetleX.AdminUI/views/images/order.png
--------------------------------------------------------------------------------
/BeetleX.AdminUI/views/images/customer.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/beetlex-io/AdminUI/HEAD/BeetleX.AdminUI/views/images/customer.png
--------------------------------------------------------------------------------
/BeetleX.AdminUI/views/images/employee.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/beetlex-io/AdminUI/HEAD/BeetleX.AdminUI/views/images/employee.png
--------------------------------------------------------------------------------
/BeetleX.AdminUI/views/images/tabclose.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/beetlex-io/AdminUI/HEAD/BeetleX.AdminUI/views/images/tabclose.png
--------------------------------------------------------------------------------
/BeetleX.AdminUI/views/images/wechatpay.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/beetlex-io/AdminUI/HEAD/BeetleX.AdminUI/views/images/wechatpay.png
--------------------------------------------------------------------------------
/BeetleX.AdminUI/views/images/panelresize.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/beetlex-io/AdminUI/HEAD/BeetleX.AdminUI/views/images/panelresize.png
--------------------------------------------------------------------------------
/BeetleX.AdminUI/views/fonts/glyphicons-halflings-regular.eot:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/beetlex-io/AdminUI/HEAD/BeetleX.AdminUI/views/fonts/glyphicons-halflings-regular.eot
--------------------------------------------------------------------------------
/BeetleX.AdminUI/views/fonts/glyphicons-halflings-regular.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/beetlex-io/AdminUI/HEAD/BeetleX.AdminUI/views/fonts/glyphicons-halflings-regular.ttf
--------------------------------------------------------------------------------
/BeetleX.AdminUI/views/fonts/glyphicons-halflings-regular.woff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/beetlex-io/AdminUI/HEAD/BeetleX.AdminUI/views/fonts/glyphicons-halflings-regular.woff
--------------------------------------------------------------------------------
/BeetleX.AdminUI/views/fonts/glyphicons-halflings-regular.woff2:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/beetlex-io/AdminUI/HEAD/BeetleX.AdminUI/views/fonts/glyphicons-halflings-regular.woff2
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | # AdminUI
2 | Beetlex+Vuejs+Bootstrap admin ui website
3 |
4 | ## demo
5 | http://adminui.beetlex.io
6 |
7 | 
8 |
9 |
--------------------------------------------------------------------------------
/BeetleX.AdminUI/Properties/PublishProfiles/FolderProfile.pubxml.user:
--------------------------------------------------------------------------------
1 |
2 |
5 |
6 |
--------------------------------------------------------------------------------
/BeetleX.AdminUI/views/vue/models_about.vue:
--------------------------------------------------------------------------------
1 |
2 |
3 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/BeetleX.AdminUI/BeetleX.AdminUI.csproj.user:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | <_LastSelectedProfileId>I:\VisualStudio\BitHub\AdminUI\BeetleX.AdminUI\Properties\PublishProfiles\FolderProfile.pubxml
5 | false
6 |
7 |
--------------------------------------------------------------------------------
/BeetleX.AdminUI/views/vue/page_footer.vue:
--------------------------------------------------------------------------------
1 |
7 |
--------------------------------------------------------------------------------
/BeetleX.AdminUI/Properties/PublishProfiles/FolderProfile.pubxml:
--------------------------------------------------------------------------------
1 |
2 |
5 |
6 |
7 | FileSystem
8 | Release
9 | Any CPU
10 | netcoreapp2.2
11 | bin\Release\netcoreapp2.2\publish\
12 |
13 |
--------------------------------------------------------------------------------
/BeetleX.AdminUI/views/vue/models_home.vue:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/BeetleX.AdminUI/views/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 | BeetleX AdminUI
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
24 |
25 |
--------------------------------------------------------------------------------
/BeetleX.AdminUI.sln:
--------------------------------------------------------------------------------
1 |
2 | Microsoft Visual Studio Solution File, Format Version 12.00
3 | # Visual Studio 15
4 | VisualStudioVersion = 15.0.28307.705
5 | MinimumVisualStudioVersion = 10.0.40219.1
6 | Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "BeetleX.AdminUI", "BeetleX.AdminUI\BeetleX.AdminUI.csproj", "{7FC8E3FC-A720-4760-AF4B-EF37B71AD3EF}"
7 | EndProject
8 | Global
9 | GlobalSection(SolutionConfigurationPlatforms) = preSolution
10 | Debug|Any CPU = Debug|Any CPU
11 | Release|Any CPU = Release|Any CPU
12 | EndGlobalSection
13 | GlobalSection(ProjectConfigurationPlatforms) = postSolution
14 | {7FC8E3FC-A720-4760-AF4B-EF37B71AD3EF}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
15 | {7FC8E3FC-A720-4760-AF4B-EF37B71AD3EF}.Debug|Any CPU.Build.0 = Debug|Any CPU
16 | {7FC8E3FC-A720-4760-AF4B-EF37B71AD3EF}.Release|Any CPU.ActiveCfg = Release|Any CPU
17 | {7FC8E3FC-A720-4760-AF4B-EF37B71AD3EF}.Release|Any CPU.Build.0 = Release|Any CPU
18 | EndGlobalSection
19 | GlobalSection(SolutionProperties) = preSolution
20 | HideSolutionNode = FALSE
21 | EndGlobalSection
22 | GlobalSection(ExtensibilityGlobals) = postSolution
23 | SolutionGuid = {23BEE348-45F5-4A17-9669-C91DF871C7EF}
24 | EndGlobalSection
25 | EndGlobal
26 |
--------------------------------------------------------------------------------
/Untitled Diagram.drawio:
--------------------------------------------------------------------------------
1 | 7VhZc9MwEP41Hp5gfBQnecRp0wKhU2ihw6NiK7aI7DWynINfzyqWYzsOOYD0yDQv0a43K2m/b4/YcPrx/FKQNPoEAeWGbQZzwzk3bNuybQe/lGZRaLq9bqEIBQu0UaW4Zb+oVppam7OAZg1DCcAlS5tKH5KE+rKhI0LArGk2Bt7cNSUhbSlufcLb2nsWyEjfwu5U+ivKwqjc2XJ7xZOYlMb6JllEApjVVM6F4fQFgCxW8bxPuQpeGZf794t7Ppy4lx8+Zz/JV+/j3fW314WzwSE/WV1B0ET+X9d24XpKeK7jpe8qF2UABeRJQJUT03C8SMYclxYuf1ApFxpwkktAFQgZQQgJ4UOAVNuNIZHazFIyTYJ3CliURxz8SaEaMM71Hihp+y5KmRQwWWGnHKyAUMacjCj3iD8JlwftAweBjxJIqHIVIBn0XarDXVRab8/YagwyyIVPt9jpbJFEhHSbP7ewU+er8VQjd0khplIs0EBQTiSbNslMdE6EK7sKd1xo6A+ggdOiwZDEqcp6oFnySuJqBmKyhRsKl1nEJL1NyTJAMywnTb7UeYBX9UJOskyjuAPkw0CaUiHpfGtYy6euzu2yuGlxVlUKq0z/qFYlzswjAXHWAuI7Fs+XlPyXlHT3TMmyY+3MSU2Wkhh7p6j2dAMskTUTGI8zPNg6dVYb/j2b3rbYdA0tMu3G41nT7ZHI1DmMS9aT55L7hxbhcgyDNxK4CtUq5XkYIlnQXWI4g3btiiAe5dnudtHAWDFoQGLGVbyuKJ9SyXyyoakQzkLc99xHuKnYTB7ckiUhSm4l3S3JivX3iM2m02w2K7nebcwN3aZ7rG7TaWF6g+gV0NkmX+J7Yh3fsddA6D12y+/uU6SfdQl+8I5fVtPdLd/as0xr9phvHPw0CPT0p4DeXjPlyxhwHIbZpzYIlCes8cnL+ag9CYxykSwHAcjlyySwbRKwNzWhB50EykJYA/ULTQlDMM3hKc4B6//8z5zHngPKStGEgKuY2maRYSeGwfos5ljHwwDF6k1tUQqr993OxW8=
--------------------------------------------------------------------------------
/BeetleX.AdminUI/Program.cs:
--------------------------------------------------------------------------------
1 | using BeetleX.FastHttpApi.Hosting;
2 | using BeetleX.FastHttpApi.VueExtend;
3 | using Microsoft.Extensions.Hosting;
4 | using System;
5 |
6 | namespace BeetleX.AdminUI
7 | {
8 | class Program
9 | {
10 | static void Main(string[] args)
11 | {
12 | var builder = new HostBuilder()
13 | .ConfigureServices((hostContext, services) =>
14 | {
15 | services.UseBeetlexHttp(o =>
16 | {
17 | o.Port = 80;
18 | o.SetDebug();
19 | o.LogToConsole = true;
20 | o.LogLevel = BeetleX.EventArgs.LogType.Info;
21 |
22 | },
23 | s =>
24 | {
25 | s.AddExts("woff;ttf");
26 | s.Vue().CssRewrite("/css/{1}.css").JsRewrite("/js/{1}.js");
27 | s.Vue().Debug();
28 | var resource = s.Vue().CreateWebResorce(typeof(Program).Assembly);
29 | resource.AddScript("vue.js", "axios.js", "beetlex4axios.js", "jquery.js", "echarts.js", "bootstrap.js","page.js");
30 | resource.AddCss("bootstrap.css", "bootstrapadmin.css", "admin.css");
31 | },
32 | typeof(Program).Assembly);
33 | });
34 | builder.Build().Run();
35 | }
36 | }
37 | }
38 |
--------------------------------------------------------------------------------
/BeetleX.AdminUI/views/vue/models_employees.vue:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | | Name |
6 | Title |
7 | Region |
8 | City |
9 | Country |
10 | Address |
11 |
12 |
13 |
14 |
15 | | {{item.FirstName}} {{item.LastName}} |
16 | {{item.Title}} |
17 | {{item.Region}} |
18 | {{item.City}} |
19 | {{item.Country}} |
20 | {{item.Address}} |
21 |
22 |
23 |
24 |
25 |
26 |
--------------------------------------------------------------------------------
/BeetleX.AdminUI/views/js/page.js:
--------------------------------------------------------------------------------
1 | var model = {
2 | full: 'min',
3 | windows: [],
4 | selectWindow: {
5 | },
6 | selectModel: '',
7 | sizeVersion: 1,
8 | };
9 | var pageInfo = {
10 | el: '#page', data: model,
11 | methods: {
12 | OnMenuResize: function (event) {
13 | this.full = event;
14 | this.OnResize();
15 | },
16 |
17 | OnCloseWindows: function (e) {
18 | var index = -1;
19 | for (i = 0; i < this.windows.length; i++) {
20 | if (this.windows[i].id == e.id) {
21 | index = i;
22 | break;
23 | }
24 | }
25 | if (index >= 0) {
26 | this.windows.splice(index, 1);
27 | if (this.windows.length > 0)
28 | this.OnOpenWindow(this.windows[0]);
29 | else {
30 | this.selectWindow = null;
31 | this.selectModel = null;
32 | }
33 | }
34 |
35 | },
36 |
37 | OnOpenWindow: function (e) {
38 | var has = false;
39 | for (i = 0; i < this.windows.length; i++) {
40 | var item = this.windows[i];
41 | if (item.id == e.id)
42 | has = true;
43 | }
44 | if (has == false) {
45 | this.windows.push(e);
46 | }
47 | this.selectWindow = e;
48 | this.selectModel = e.model;
49 | },
50 | OnResize: function () {
51 | this.sizeVersion = this.sizeVersion + 1;
52 | },
53 | }
54 | }
55 |
56 | window.onresize = function () {
57 | page.OnResize();
58 | };
59 | Vue.prototype.$fullScreen = function () {
60 | return page.full;
61 | };
62 | Vue.prototype.$open = function (id, title, model, data) {
63 | page.OnOpenWindow({ id: id, title: title, model: model, data: data });
64 | };
--------------------------------------------------------------------------------
/BeetleX.AdminUI/views/vue/models_customers.vue:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | | CustomerID |
6 | CompanyName |
7 | ContactName |
8 | ContactTitle |
9 | Phone |
10 | Fax |
11 |
12 |
13 |
14 |
15 | | {{item.CustomerID}} |
16 | {{item.CompanyName}} |
17 | {{item.ContactName}} |
18 | {{item.ContactTitle}} |
19 | {{item.Phone}} |
20 | {{item.Fax}} |
21 |
22 |
23 | |
24 | ({{GetCustomers.data.index}}/{{pages}})更多...
25 | |
26 |
27 |
28 |
29 |
30 |
--------------------------------------------------------------------------------
/BeetleX.AdminUI/views/vue/models_panel.vue:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
--------------------------------------------------------------------------------
/BeetleX.AdminUI/views/vue/models_neworders.vue:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | | Employee |
6 | Customer |
7 | OrderDate |
8 | RequiredDate |
9 | ShipCountry |
10 | ShipCity |
11 | ShipAddress |
12 | RequiredDate |
13 |
14 |
15 |
16 |
17 | | {{item.Employee.FirstName}} {{item.Employee.LastName}} |
18 | {{item.Customer.CompanyName}} |
19 | {{item.OrderDate}} |
20 | {{item.RequiredDate}} |
21 | {{item.ShipCountry}} |
22 | {{item.ShipCity}} |
23 | {{item.ShipAddress}} |
24 | {{item.ShipAddress}} |
25 |
26 |
27 | |
28 | 更多...
29 | |
30 |
31 |
32 |
33 |
34 |
--------------------------------------------------------------------------------
/BeetleX.AdminUI/views/vue/windows_bar.vue:
--------------------------------------------------------------------------------
1 |
2 |
15 |
16 |
--------------------------------------------------------------------------------
/BeetleX.AdminUI/views/vue/main_menu.vue:
--------------------------------------------------------------------------------
1 |
44 |
45 |
--------------------------------------------------------------------------------
/BeetleX.AdminUI/views/vue/models_orders.vue:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
22 |
23 |
56 |
57 |
58 |
59 |
--------------------------------------------------------------------------------
/BeetleX.AdminUI/views/css/admin.css:
--------------------------------------------------------------------------------
1 | .menu_full {
2 | padding: 4px;
3 | position: fixed;
4 | width: 250px;
5 | box-shadow: 0px 0px 5px #d8d8d8;
6 | top: 0px;
7 | left: 0px;
8 | bottom: 0px;
9 | z-index: 9999;
10 | background: #fff;
11 | }
12 |
13 | .menu_min {
14 | padding: 4px;
15 | position: fixed;
16 | width: 50px;
17 | box-shadow: 0px 0px 5px #d8d8d8;
18 | top: 0px;
19 | left: 0px;
20 | bottom: 0px;
21 | z-index: 9999;
22 | background: #fff;
23 | }
24 |
25 | .menu_full ul {
26 | list-style: none;
27 | padding: 0px;
28 | margin: 0px;
29 | }
30 |
31 | .menu_full li > a {
32 | display: block;
33 | padding: 5px;
34 | padding-left: 20px;
35 | border-radius: 4px;
36 | font-size: 12pt;
37 | }
38 |
39 | .menu_full li > a > img {
40 | margin-right: 20px;
41 | }
42 |
43 | .menu_full li > a:hover {
44 | background: rgba(216, 216, 216, 0.44);
45 | text-decoration: none;
46 | }
47 |
48 | .menu_min ul {
49 | list-style: none;
50 | padding: 0px;
51 | margin: 0px;
52 | }
53 |
54 | .menu_min li > a {
55 | display: block;
56 | padding: 5px;
57 | border-radius: 4px;
58 | font-size: 12pt;
59 | }
60 |
61 | .menu_min li > a:hover {
62 | background: rgba(216, 216, 216, 0.44);
63 | text-decoration: none;
64 | }
65 |
66 | .windows_bar {
67 | position: fixed;
68 | right: 10px;
69 | top: 10px;
70 | z-index: 800;
71 | background: #fff;
72 | overflow-x: auto;
73 | overflow-y: hidden;
74 | white-space: nowrap;
75 | }
76 |
77 | .windows_bar::-webkit-scrollbar {
78 | /*滚动条整体样式*/
79 | height: 4px;
80 | margin-top: -10px;
81 | }
82 |
83 | .windows_bar::-webkit-scrollbar-thumb {
84 | /*滚动条里面小方块*/
85 | border-radius: 2px;
86 | box-shadow: inset 0 0 5px rgba(0, 0, 0, 0.2);
87 | background: rgba(0, 156, 225, 0.75);
88 | }
89 |
90 | .windows_bar::-webkit-scrollbar-track {
91 | /*滚动条里面轨道*/
92 | box-shadow: inset 0 0 5px rgba(0, 0, 0, 0.2);
93 | border-radius: 2px;
94 | background: rgba(216, 216, 216, 0.64);
95 | }
96 | .windows_bar ul > li {
97 |
98 | }
99 | .windows_bar ul > li > a {
100 | padding: 5px;
101 | padding-left: 20px;
102 | padding-right: 20px;
103 | color: #555;
104 | cursor: default;
105 | background-color: rgba(216, 216, 216, 0.24);
106 | margin-left: 2px;
107 | margin-right: 2px;
108 | cursor: pointer;
109 | }
110 | .windows_bar > ul > li > a > span {
111 | overflow: hidden;
112 | display: block;
113 | }
114 | .windows_bar ul > li > a:link {
115 | background-color: rgba(216, 216, 216, 0.24);
116 | }
117 | .windows_bar ul > li > a:hover {
118 | background-color: rgba(216, 216, 216, 0.44);
119 | }
120 | .windows_bar ul > li > img {
121 | position: relative;
122 | float: right;
123 | margin-top: -28px;
124 | margin-right: 6px;
125 | cursor: pointer;
126 | width: 14px;
127 | background-color:transparent;
128 | }
129 |
130 | .windows_bar ul > li > img:hover {
131 | box-shadow: inset 0 0 8px #646464;
132 | border-radius: 7px;
133 | }
134 |
135 | .active {
136 | font-weight: bold;
137 | }
138 |
139 | .nav-tabs > li.active > a, .nav-tabs > li.active > a:hover, .nav-tabs > li.active > a:focus, .nav-tabs > li.active > a:link {
140 | font-weight: bold;
141 | background-color: #fff;
142 | }
143 |
144 | .folder {
145 | position: fixed;
146 | bottom: 0px;
147 | padding-top: 10px;
148 | left: 0px;
149 | right: 0px;
150 | z-index: 800;
151 | background: #fff;
152 | box-shadow: 0px 0px 3px #d8d8d8;
153 | }
154 |
155 | .main-content {
156 | position: fixed;
157 | border-style: solid;
158 | border-width: 1px;
159 | border-color: #d8d8d8;
160 | right: 0px;
161 | bottom: 40px;
162 | padding-left: 10px;
163 | padding-top: 14px;
164 | padding-bottom: 30px;
165 | top: 41px;
166 | overflow-y: auto;
167 |
168 | }
169 |
--------------------------------------------------------------------------------
/BeetleX.AdminUI/views/vue/models_employeedetail.vue:
--------------------------------------------------------------------------------
1 |
2 |
65 |
66 |
67 |
68 |
69 | | OrderID |
70 |
71 | Customer |
72 | OrderDate |
73 | RequiredDate |
74 | ShipCountry |
75 | ShipCity |
76 | ShipAddress |
77 | RequiredDate |
78 |
79 |
80 |
81 |
82 | | {{item.OrderID}} |
83 |
84 | {{item.Customer.CompanyName}} |
85 | {{item.OrderDate}} |
86 | {{item.RequiredDate}} |
87 | {{item.ShipCountry}} |
88 | {{item.ShipCity}} |
89 | {{item.ShipAddress}} |
90 | {{item.ShipAddress}} |
91 |
92 |
93 |
94 |
95 |
--------------------------------------------------------------------------------
/BeetleX.AdminUI/views/vue/models_customerdetail.vue:
--------------------------------------------------------------------------------
1 |
2 |
65 |
66 |
67 |
68 |
69 | | OrderID |
70 |
71 | Employee |
72 | OrderDate |
73 | RequiredDate |
74 | ShipCountry |
75 | ShipCity |
76 | ShipAddress |
77 | RequiredDate |
78 |
79 |
80 |
81 |
82 | | {{item.OrderID}} |
83 |
84 | {{item.Employee.FirstName}} {{item.Employee.LastName}} |
85 | {{item.OrderDate}} |
86 | {{item.RequiredDate}} |
87 | {{item.ShipCountry}} |
88 | {{item.ShipCity}} |
89 | {{item.ShipAddress}} |
90 | {{item.ShipAddress}} |
91 |
92 |
93 |
94 |
95 |
--------------------------------------------------------------------------------
/BeetleX.AdminUI/views/vue/model_customerspie.vue:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | {{title}}
6 |
7 |
8 | | Employee |
9 | Customer |
10 | OrderDate |
11 | RequiredDate |
12 | ShipCountry |
13 | ShipCity |
14 | ShipAddress |
15 | RequiredDate |
16 |
17 |
18 |
19 |
20 | | {{item.Employee.FirstName}} {{item.Employee.LastName}} |
21 | {{item.Customer.CompanyName}} |
22 | {{item.OrderDate}} |
23 | {{item.RequiredDate}} |
24 | {{item.ShipCountry}} |
25 | {{item.ShipCity}} |
26 | {{item.ShipAddress}} |
27 | {{item.ShipAddress}} |
28 |
29 |
30 |
31 |
32 |
--------------------------------------------------------------------------------
/BeetleX.AdminUI/views/vue/model_employeesspie.vue:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | {{title}}
6 |
7 |
8 | | Employee |
9 | Customer |
10 | OrderDate |
11 | RequiredDate |
12 | ShipCountry |
13 | ShipCity |
14 | ShipAddress |
15 | RequiredDate |
16 |
17 |
18 |
19 |
20 | | {{item.Employee.FirstName}} {{item.Employee.LastName}} |
21 | {{item.Customer.CompanyName}} |
22 | {{item.OrderDate}} |
23 | {{item.RequiredDate}} |
24 | {{item.ShipCountry}} |
25 | {{item.ShipCity}} |
26 | {{item.ShipAddress}} |
27 | {{item.ShipAddress}} |
28 |
29 |
30 |
31 |
32 |
--------------------------------------------------------------------------------
/BeetleX.AdminUI/views/vue/models_monthline.vue:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 | {{month}}
7 |
8 |
9 | | Employee |
10 | Customer |
11 | OrderDate |
12 | RequiredDate |
13 | ShipCountry |
14 | ShipCity |
15 | ShipAddress |
16 | RequiredDate |
17 |
18 |
19 |
20 |
21 | | {{item.Employee.FirstName}} {{item.Employee.LastName}} |
22 | {{item.Customer.CompanyName}} |
23 | {{item.OrderDate}} |
24 | {{item.RequiredDate}} |
25 | {{item.ShipCountry}} |
26 | {{item.ShipCity}} |
27 | {{item.ShipAddress}} |
28 | {{item.ShipAddress}} |
29 |
30 |
31 |
32 |
33 |
--------------------------------------------------------------------------------
/BeetleX.AdminUI/Controller.cs:
--------------------------------------------------------------------------------
1 | using BeetleX.FastHttpApi;
2 | using System;
3 | using System.Collections.Generic;
4 | using System.Text;
5 | using Northwind.Data;
6 | using System.Linq;
7 | using BeetleX.FastHttpApi.VueExtend;
8 |
9 | namespace BeetleX.AdminUI
10 | {
11 | [Controller]
12 | public class Controller
13 | {
14 | public object Customers(int index)
15 | {
16 | int size = 20;
17 | int pages = DataHelper.Defalut.Customers.Count / size;
18 | if (DataHelper.Defalut.Customers.Count % size > 0)
19 | pages++;
20 | return new
21 | {
22 | pages,
23 | items = DataHelper.Defalut.Customers.Skip(size * index).Take(size)
24 | };
25 | }
26 |
27 | public object GetScript(IHttpContext context)
28 | {
29 | return context.Server.Vue().Response(context);
30 | }
31 |
32 | public object CustomerStatis()
33 | {
34 | return (from b in (from a in DataHelper.Defalut.Orders
35 | group a by GetCustomerFullName(a.CustomerID) into b
36 | select new { name = b.Key, value = b.Count(), b.FirstOrDefault().CustomerID })
37 | orderby b.value descending
38 | select b).Take(20);
39 |
40 | }
41 |
42 | public object EmployeeStatis()
43 | {
44 | return from a in DataHelper.Defalut.Orders
45 | group a by GetEmployeeFullName(a.EmployeeID) into b
46 | select new { name = b.Key, value = b.Count(), b.FirstOrDefault()?.EmployeeID };
47 | }
48 |
49 | public object GetCustomerDetail(string id)
50 | {
51 | return new
52 | {
53 | item = DataHelper.Defalut.Customers.FirstOrDefault(p => p.CustomerID == id),
54 | orders = Orders(0, 0, id,null, 1000)
55 | };
56 | }
57 |
58 | public object GetEmployeeDetail(int id)
59 | {
60 | return new
61 | {
62 | item = DataHelper.Defalut.Employees.FirstOrDefault(p => p.EmployeeID == id),
63 | orders = Orders(0, id, null,null, 1000)
64 | };
65 | }
66 |
67 | public object GetEmployeeAndCustomer()
68 | {
69 | return new
70 | {
71 | employees = (from a in DataHelper.Defalut.Employees select new { a.FirstName, a.LastName, a.EmployeeID }),
72 | customers = (from a in DataHelper.Defalut.Customers select new { a.CompanyName, a.CustomerID })
73 | };
74 | }
75 |
76 | public object TimeStatis()
77 | {
78 | return from a in DataHelper.Defalut.Orders
79 | group a by a.OrderDate.ToString("yyyy/MM") into b
80 | select new { b.Key, Value = b.Count() };
81 |
82 | }
83 |
84 | public object Orders(int index, int employeeid, string customerid, string month, int size = 20)
85 | {
86 | if (size == 0)
87 | size = 20;
88 | Func filter = (b) => (employeeid == 0 || b.EmployeeID == employeeid)
89 | && (string.IsNullOrEmpty(customerid) || b.CustomerID == customerid)
90 | && (string.IsNullOrEmpty(month) || b.OrderDate.ToString("yyyy/MM") == month);
91 |
92 | var count = DataHelper.Defalut.Orders.Count(filter);
93 | int pages = count / size;
94 | if (count % size > 0)
95 | pages++;
96 | return new
97 | {
98 | pages,
99 | items = from a in (from b in DataHelper.Defalut.Orders
100 | where filter(b)
101 | select b
102 | ).Skip(size * index).Take(size)
103 | select new
104 | {
105 | a.OrderDate,
106 | a.OrderID,
107 | a.RequiredDate,
108 | a.ShippedDate,
109 | a.ShipAddress,
110 | a.ShipCity,
111 | a.ShipCountry,
112 | a.ShipName,
113 | Employee = GetEmployeeName(a.EmployeeID),
114 | Customer = GetCustomerName(a.CustomerID)
115 | }
116 | };
117 | }
118 |
119 |
120 | private string GetEmployeeFullName(int id)
121 | {
122 | var item = DataHelper.Defalut.Employees.FirstOrDefault(p => p.EmployeeID == id);
123 | return $"{item?.FirstName} {item?.LastName}";
124 | }
125 |
126 | private object GetEmployeeName(int id)
127 | {
128 | var item = DataHelper.Defalut.Employees.FirstOrDefault(p => p.EmployeeID == id);
129 | return new { item?.EmployeeID, item?.FirstName, item?.LastName };
130 | }
131 |
132 | private string GetCustomerFullName(string id)
133 | {
134 | var item = DataHelper.Defalut.Customers.FirstOrDefault(p => p.CustomerID == id);
135 | return item?.CompanyName;
136 | }
137 |
138 | private object GetCustomerName(string id)
139 | {
140 | var item = DataHelper.Defalut.Customers.FirstOrDefault(p => p.CustomerID == id);
141 | return new { item?.CustomerID, item?.CompanyName };
142 | }
143 |
144 | public object Employees()
145 | {
146 | return DataHelper.Defalut.Employees;
147 | }
148 | }
149 | }
150 |
--------------------------------------------------------------------------------
/BeetleX.AdminUI/BeetleX.AdminUI.csproj:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | Exe
5 | netcoreapp2.2
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
32 |
33 |
34 |
35 |
36 |
37 |
38 |
39 |
40 |
41 |
42 |
43 |
44 |
45 |
46 |
47 |
48 |
49 |
50 |
51 |
52 |
53 |
54 |
55 |
56 |
57 |
58 |
59 |
60 |
61 |
62 |
63 |
64 |
65 |
66 |
67 |
68 |
69 |
70 |
71 |
72 |
73 |
74 |
75 |
76 |
77 |
78 | Never
79 |
80 |
81 |
82 |
83 |
84 |
85 |
86 |
87 |
88 |
89 |
90 |
91 |
92 |
93 |
94 |
95 |
96 |
97 |
98 |
99 |
100 |
101 |
102 |
103 |
104 |
105 |
106 |
107 |
108 | Always
109 |
110 |
111 | Always
112 |
113 |
114 |
115 |
116 |
117 |
118 |
--------------------------------------------------------------------------------
/BeetleX.AdminUI/views/css/bootstrapadmin.css:
--------------------------------------------------------------------------------
1 |
2 | ::-webkit-scrollbar {
3 | /*滚动条整体样式*/
4 | height: 10px;
5 | width:10px;
6 | margin-top: -10px;
7 | }
8 |
9 | ::-webkit-scrollbar-thumb {
10 | /*滚动条里面小方块*/
11 |
12 | box-shadow: inset 0 0 5px rgba(0, 0, 0, 0.2);
13 | background: rgba(216, 216, 216, 0.65);
14 | border-radius:4px;
15 | }
16 |
17 |
18 | ::-webkit-scrollbar-track {
19 | /*滚动条里面轨道*/
20 |
21 |
22 | background: rgba(216, 216, 216, 0.24);
23 |
24 | }
25 |
26 | .menu_full {
27 | padding: 4px;
28 | position: fixed;
29 | width: 246px;
30 | box-shadow: 0px 0px 5px #d8d8d8;
31 | top: 0px;
32 | left: 0px;
33 | bottom: 0px;
34 | z-index: 9999;
35 | background: #fff;
36 | transition: all 0.5s;
37 | }
38 |
39 | .menu_min {
40 | padding: 4px;
41 | position: fixed;
42 | width: 46px;
43 | box-shadow: 0px 0px 5px #d8d8d8;
44 | top: 0px;
45 | left: 0px;
46 | bottom: 0px;
47 | z-index: 9999;
48 | background: #fff;
49 | transition: all 0.5s;
50 | }
51 |
52 | .menu_full ul {
53 | list-style: none;
54 | padding: 0px;
55 | margin: 0px;
56 | }
57 |
58 | .menu_full li > a {
59 | display: block;
60 | padding: 5px;
61 | padding-left: 35px;
62 | font-size: 12pt;
63 | transition: all 0.5s;
64 | }
65 | .menu_full li >a >span{
66 | margin-left:10px;
67 |
68 | }
69 |
70 | .menu_full li > a > img {
71 | margin-right: 30px;
72 | }
73 |
74 | .menu_full li > a:hover {
75 | background: rgba(216, 216, 216, 0.44);
76 | text-decoration: none;
77 | transition: all 0.5s;
78 | }
79 |
80 | .menu_min ul {
81 | list-style: none;
82 | padding: 0px;
83 | margin: 0px;
84 | }
85 |
86 | .menu_min li > a {
87 | display: block;
88 | padding: 5px;
89 | padding-left: 10px;
90 | font-size: 12pt;
91 | transition: all 0.5s;
92 | }
93 |
94 | .menu_min li > a:hover {
95 | background: rgba(216, 216, 216, 0.44);
96 | text-decoration: none;
97 | transition: all 0.5s;
98 | }
99 |
100 | .windows_bar {
101 | position: fixed;
102 | right: 10px;
103 | top: 10px;
104 | z-index: 800;
105 | background: #fff;
106 | overflow-x: auto;
107 | overflow-y: hidden;
108 | white-space: nowrap;
109 | }
110 |
111 | .windows_bar::-webkit-scrollbar {
112 | /*滚动条整体样式*/
113 | height: 4px;
114 | margin-top: -10px;
115 | }
116 |
117 | .windows_bar::-webkit-scrollbar-thumb {
118 | /*滚动条里面小方块*/
119 | border-radius: 2px;
120 | box-shadow: inset 0 0 5px rgba(0, 0, 0, 0.2);
121 | background: rgba(0, 156, 225, 0.75);
122 | }
123 |
124 | .windows_bar::-webkit-scrollbar-track {
125 | /*滚动条里面轨道*/
126 | box-shadow: inset 0 0 5px rgba(0, 0, 0, 0.2);
127 | border-radius: 2px;
128 | background: rgba(216, 216, 216, 0.64);
129 | }
130 | .windows_bar ul > li {
131 |
132 | }
133 | .windows_bar ul > li > a {
134 | padding: 5px;
135 | padding-left: 20px;
136 | padding-right: 20px;
137 | color: #555;
138 | cursor: default;
139 | background-color: rgba(216, 216, 216, 0.24);
140 | margin-left: 2px;
141 | margin-right: 2px;
142 | cursor: pointer;
143 | }
144 | .windows_bar > ul > li > a > span {
145 | overflow: hidden;
146 | display: block;
147 | }
148 | .windows_bar ul > li > a:link {
149 | background-color: rgba(216, 216, 216, 0.24);
150 | }
151 | .windows_bar ul > li > a:hover {
152 | background-color: rgba(216, 216, 216, 0.44);
153 | }
154 | .windows_bar ul > li > img {
155 | position: relative;
156 | float: right;
157 | margin-top: -28px;
158 | margin-right: 6px;
159 | cursor: pointer;
160 | width: 14px;
161 | background-color:transparent;
162 | }
163 |
164 | .windows_bar ul > li > img:hover {
165 | box-shadow: inset 0 0 8px #646464;
166 | border-radius: 7px;
167 | }
168 |
169 | .active {
170 | font-weight: bold;
171 | }
172 |
173 | .nav-tabs > li.active > a, .nav-tabs > li.active > a:hover, .nav-tabs > li.active > a:focus, .nav-tabs > li.active > a:link {
174 | font-weight: bold;
175 | background-color: #fff;
176 | }
177 |
178 | .folder {
179 | position: fixed;
180 | bottom: 0px;
181 | padding-top: 10px;
182 | left: 0px;
183 | right: 0px;
184 | z-index: 800;
185 | background: #fff;
186 | box-shadow: 0px 0px 3px #d8d8d8;
187 | }
188 |
189 | .main-content {
190 | position: fixed;
191 | border-style: solid;
192 | border-width: 1px;
193 | border-color: #d8d8d8;
194 | right: 0px;
195 | bottom: 40px;
196 | padding-left: 10px;
197 | padding-top: 14px;
198 | padding-right:20px;
199 | padding-bottom: 30px;
200 | top: 41px;
201 | overflow-y: auto;
202 |
203 | }
204 | .model-panel-full-max {
205 | position: fixed;
206 | top: 60px;
207 | bottom: 60px;
208 | left: 70px;
209 | right: 30px;
210 | padding: 2px;
211 | padding-left: 10px;
212 | padding-right: 10px;
213 | background-color: #fff;
214 |
215 | box-shadow: 0px 0px 20px rgb(128, 128, 128);
216 | z-index: 100;
217 | }
218 | .model-panel-full {
219 | position:fixed;
220 | top:60px;
221 | bottom:60px;
222 | left:270px;
223 | right:30px;
224 | padding: 2px;
225 | padding-left: 10px;
226 | padding-right: 10px;
227 | background-color: #fff;
228 |
229 | box-shadow: 0px 0px 20px rgb(128, 128, 128);
230 | z-index:100;
231 | }
232 | .model-panel {
233 | padding: 2px;
234 | padding-left: 10px;
235 | padding-right: 10px;
236 | background-color: #fff;
237 | border-radius: 0px;
238 | box-shadow: 0px 0px 2px rgba(0, 0, 0, 0.2);
239 | margin-bottom:20px;
240 | }
241 | .model-panel-body
242 | {
243 | padding:4px;
244 |
245 | }
246 | .model-panel-body-full {
247 | padding: 4px;
248 | position: absolute;
249 | bottom: 10px;
250 | top: 40px;
251 | right: 4px;
252 | left: 4px;
253 | overflow-y: auto;
254 | padding:4px 20px;
255 | }
256 | .model-panel h4 {
257 | font-size: 11pt;
258 | border-left-style: solid;
259 | border-left-color: rgba(0, 0, 0, 0.2);
260 | border-left-width: 4px;
261 | padding-left: 4px;
262 | }
263 | .model-panel-full h4 {
264 | font-size: 11pt;
265 | border-left-style: solid;
266 | border-left-color: rgba(0, 0, 0, 0.2);
267 | border-left-width: 4px;
268 | padding-left: 4px;
269 | }
270 | .model-panel-title a {
271 | float: right;
272 | margin-top: -30px;
273 | padding: 2px;
274 | border-radius: 2px;
275 | }
276 | .model-panel-title a:hover
277 | {
278 | box-shadow:1px 1px 2px rgba(0, 0, 0, 0.2);
279 | }
280 |
281 |
282 |
--------------------------------------------------------------------------------
/BeetleX.AdminUI/views/js/beetlex4axios.js:
--------------------------------------------------------------------------------
1 | function UrlHelper() {
2 | var vars = [], hash;
3 | var hashes = window.location.href.slice(window.location.href.indexOf('?') + 1).split('&');
4 | for (var i = 0; i < hashes.length; i++) {
5 | hash = hashes[i].split('=');
6 | vars.push(hash[0]);
7 | vars[hash[0].toLowerCase()] = hash[1];
8 | }
9 | this.queryString = vars;
10 | this.tag = null;
11 | this.ssl = window.location.protocol == "https:"
12 | var url = document.location.pathname;
13 | var tagIndex = document.location.href.indexOf('#');
14 | if (tagIndex > 0) {
15 | this.tag = document.location.href.substring(tagIndex + 1);
16 | }
17 | this.folder = url.substring(url.indexOf('/'), url.lastIndexOf('/'));
18 | url = url.substring(0, (url.indexOf("#") == -1) ? url.length : url.indexOf("#"));
19 | url = url.substring(0, (url.indexOf("?") == -1) ? url.length : url.indexOf("?"));
20 | url = url.substring(url.lastIndexOf("/") + 1, url.length);
21 | if (url) {
22 | this.fileName = decodeURIComponent(url);
23 | this.ext = this.fileName.substring(this.fileName.lastIndexOf(".") + 1, this.fileName.length)
24 | this.fileNameWithOutExt = this.fileName.substring(0, this.fileName.lastIndexOf(".") == -1 ? this.fileName.length : this.fileName.lastIndexOf("."));
25 | }
26 |
27 | }
28 |
29 | var _url = new UrlHelper();
30 |
31 | function beetlexWebSocket() {
32 | this.wsUri = null;
33 | if (window.location.protocol == "https:") {
34 | this.wsUri = "wss://" + window.location.host;
35 | }
36 | else {
37 | this.wsUri = "ws://" + window.location.host;
38 | }
39 | this.websocket;
40 | this.status = false;
41 | this.messagHandlers = new Object();
42 | this.timeout = 2000;
43 | this.receive = null;
44 | }
45 |
46 | beetlexWebSocket.prototype.send = function (url, params, callback) {
47 | if (this.status == false) {
48 | if (callback != null) {
49 | callback({ Url: url, Code: 505, Error: 'disconnect' })
50 | }
51 | }
52 | this.messagHandlers[params._requestid] = callback;
53 | var data = { url: url, params: params };
54 | this.websocket.send(JSON.stringify(data));
55 | }
56 |
57 | beetlexWebSocket.prototype.onOpen = function (evt) {
58 | this.status = true;
59 | }
60 |
61 | beetlexWebSocket.prototype.onClose = function (evt) {
62 | this.status = false;
63 | var _this = this;
64 | if (evt.code == 1006) {
65 | setTimeout(function () {
66 | _this.Connect();
67 | }, _this.timeout);
68 | if (_this.timeout < 10000)
69 | _this.timeout += 1000;
70 | }
71 |
72 | }
73 |
74 | beetlexWebSocket.prototype.onMessage = function (evt) {
75 | var msg = JSON.parse(evt.data);
76 | var callback = this.messagHandlers[msg.ID];
77 | if (callback)
78 | callback(msg);
79 | else
80 | if (this.callback) {
81 | if (msg.Data != null && msg.Data != undefined)
82 | this.receive(msg.Data);
83 | else
84 | this.receive(msg);
85 | }
86 | }
87 |
88 | beetlexWebSocket.prototype.onReceiveMessage = function (callback) {
89 | this.callback = callback;
90 | };
91 | beetlexWebSocket.prototype.onError = function (evt) {
92 |
93 | }
94 |
95 | beetlexWebSocket.prototype.connect = function () {
96 | this.websocket = new WebSocket(this.wsUri);
97 | _this = this;
98 | this.websocket.onopen = function (evt) { _this.onOpen(evt) };
99 | this.websocket.onclose = function (evt) { _this.onClose(evt) };
100 | this.websocket.onmessage = function (evt) { _this.onMessage(evt) };
101 | this.websocket.onerror = function (evt) { _this.onError(evt) };
102 | }
103 |
104 | function beetlex4axios() {
105 | this._requestid = 1;
106 | this.errorHandlers = new Object();
107 | this.websocket = new beetlexWebSocket();
108 | }
109 |
110 | beetlex4axios.prototype.useWebsocket = function (host) {
111 | if (host)
112 | this.websocket.wsUri = host;
113 | this.websocket.connect();
114 | }
115 |
116 | beetlex4axios.prototype.getErrorHandler = function (code) {
117 | return this.errorHandlers[code];
118 | }
119 |
120 | beetlex4axios.prototype.SetErrorHandler = function (code, callback) {
121 | this.errorHandlers[code] = callback;
122 | }
123 |
124 | beetlex4axios.prototype.getRequestID = function () {
125 |
126 | this._requestid++;
127 | if (this._requestid > 2000) {
128 | this._requestid = 1;
129 | }
130 |
131 | return this._requestid;
132 | }
133 |
134 | beetlex4axios.prototype.get = function (url, params, callback) {
135 | var httpurl = url;
136 | if (!params)
137 | params = new Object();
138 | var _this = this;
139 | params['_requestid'] = this.getRequestID();
140 | if (this.websocket.status == true) {
141 | var wscallback = function (r) {
142 | var data = r.Data;
143 | if (data.Code && data.Code != 200) {
144 | _this.onError(data.Code, data.Error);
145 | }
146 | else {
147 | if (callback) {
148 | if (data.Data != null && data.Data != undefined)
149 | callback(data.Data);
150 | else
151 | callback(data);
152 | }
153 | }
154 | };
155 | this.websocket.send(url, params, wscallback);
156 | }
157 | else {
158 | axios.get(httpurl, { params: params, headers: { 'Content-Type': 'application/json;charset=UTF-8' } })
159 | .then(function (response) {
160 | var data = response.data;
161 | if (data.Code && data.Code != 200) {
162 | _this.onError(data.Code, data.Error);
163 | }
164 | else {
165 | if (callback) {
166 | if (data.Data != null && data.Data != undefined)
167 | callback(data.Data);
168 | else
169 | callback(data);
170 | }
171 | }
172 | })
173 | .catch(function (error) {
174 | var code = error.response ? error.response.status : 500;
175 | var message = error.message;
176 | if (error.response)
177 | message += "\r\n" + error.response.data;
178 | _this.onError(code, message);
179 | });
180 | }
181 | };
182 |
183 | beetlex4axios.prototype.onError = function (code, message) {
184 | var handler = this.getErrorHandler(code);
185 | if (handler)
186 | handler(message);
187 | else
188 | alert(message);
189 | }
190 |
191 | beetlex4axios.prototype.post = function (url, params, callback) {
192 | var httpurl = url;
193 | if (!params)
194 | params = new Object();
195 | var id = this.getRequestID();
196 | var _this = this;
197 | params['_requestid'] = id;
198 |
199 | if (this.websocket.status == true) {
200 | var wscallback = function (r) {
201 | var data = r;
202 | if (data.Code && data.Code != 200) {
203 | _this.onError(data.Code, data.Error);
204 | }
205 | else {
206 | if (callback) {
207 | if (data.Data != null && data.Data != undefined)
208 | callback(data.Data);
209 | else
210 | callback(data);
211 | }
212 | }
213 | };
214 | this.websocket.send(url, params, wscallback);
215 | }
216 | else {
217 | axios.post(httpurl, JSON.stringify(params), { headers: { 'Content-Type': 'application/json;charset=UTF-8' } })
218 | .then(function (response) {
219 | var data = response.data;
220 | if (data.Code && data.Code != 200) {
221 | _this.onError(data.Code, data.Error);
222 | }
223 | else {
224 | if (callback) {
225 | if (data.Data != null && data.Data != undefined)
226 | callback(data.Data);
227 | else
228 | callback(data);
229 | }
230 | }
231 | })
232 | .catch(function (error) {
233 | var code = error.response ? error.response.status : 500;
234 | var message = error.message;
235 | if (error.response)
236 | message += "\r\n" + error.response.data;
237 | _this.onError(code, message);
238 | });
239 | }
240 | };
241 |
242 | var beetlex = new beetlex4axios();
243 |
244 | function beetlexAction(actionUrl, actionData, defaultResult) {
245 | this.url = actionUrl;
246 | this.data = actionData;
247 | this.result = defaultResult;
248 | this.requesting = null;
249 | this.requested = null;
250 |
251 | }
252 |
253 | beetlexAction.prototype.onCallback = function (data) {
254 | if (this.requested)
255 | this.requested(data);
256 | }
257 |
258 | beetlexAction.prototype.onValidate = function (data) {
259 | if (this.requesting)
260 | return this.requesting(data);
261 | return true;
262 | }
263 |
264 | beetlexAction.prototype.get = function (data) {
265 | var _this = this;
266 | var _postData = this.data;
267 | if (data)
268 | _postData = data;
269 | if (!this.onValidate(_postData))
270 | return;
271 | beetlex.get(this.url, _postData, function (r) {
272 |
273 | _this.result = r;
274 | _this.onCallback(r);
275 | });
276 | };
277 |
278 | beetlexAction.prototype.post = function (data) {
279 | var _this = this;
280 | var _postData = this.data;
281 | if (data)
282 | _postData = data;
283 | if (!this.onValidate(_postData))
284 | return;
285 | beetlex.post(this.url, _postData, function (r) {
286 | _this.result = r;
287 | _this.onCallback(r);
288 | });
289 |
290 | };
291 |
292 |
293 |
--------------------------------------------------------------------------------
/BeetleX.AdminUI/views/js/axios.js:
--------------------------------------------------------------------------------
1 | /* axios v0.19.0 | (c) 2019 by Matt Zabriskie */
2 | !function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define([],t):"object"==typeof exports?exports.axios=t():e.axios=t()}(this,function(){return function(e){function t(r){if(n[r])return n[r].exports;var o=n[r]={exports:{},id:r,loaded:!1};return e[r].call(o.exports,o,o.exports,t),o.loaded=!0,o.exports}var n={};return t.m=e,t.c=n,t.p="",t(0)}([function(e,t,n){e.exports=n(1)},function(e,t,n){"use strict";function r(e){var t=new i(e),n=s(i.prototype.request,t);return o.extend(n,i.prototype,t),o.extend(n,t),n}var o=n(2),s=n(3),i=n(5),a=n(22),u=n(11),c=r(u);c.Axios=i,c.create=function(e){return r(a(c.defaults,e))},c.Cancel=n(23),c.CancelToken=n(24),c.isCancel=n(10),c.all=function(e){return Promise.all(e)},c.spread=n(25),e.exports=c,e.exports.default=c},function(e,t,n){"use strict";function r(e){return"[object Array]"===j.call(e)}function o(e){return"[object ArrayBuffer]"===j.call(e)}function s(e){return"undefined"!=typeof FormData&&e instanceof FormData}function i(e){var t;return t="undefined"!=typeof ArrayBuffer&&ArrayBuffer.isView?ArrayBuffer.isView(e):e&&e.buffer&&e.buffer instanceof ArrayBuffer}function a(e){return"string"==typeof e}function u(e){return"number"==typeof e}function c(e){return"undefined"==typeof e}function f(e){return null!==e&&"object"==typeof e}function p(e){return"[object Date]"===j.call(e)}function d(e){return"[object File]"===j.call(e)}function l(e){return"[object Blob]"===j.call(e)}function h(e){return"[object Function]"===j.call(e)}function m(e){return f(e)&&h(e.pipe)}function y(e){return"undefined"!=typeof URLSearchParams&&e instanceof URLSearchParams}function g(e){return e.replace(/^\s*/,"").replace(/\s*$/,"")}function x(){return("undefined"==typeof navigator||"ReactNative"!==navigator.product&&"NativeScript"!==navigator.product&&"NS"!==navigator.product)&&("undefined"!=typeof window&&"undefined"!=typeof document)}function v(e,t){if(null!==e&&"undefined"!=typeof e)if("object"!=typeof e&&(e=[e]),r(e))for(var n=0,o=e.length;n
6 | * @license MIT
7 | */
8 | e.exports=function(e){return null!=e&&null!=e.constructor&&"function"==typeof e.constructor.isBuffer&&e.constructor.isBuffer(e)}},function(e,t,n){"use strict";function r(e){this.defaults=e,this.interceptors={request:new i,response:new i}}var o=n(2),s=n(6),i=n(7),a=n(8),u=n(22);r.prototype.request=function(e){"string"==typeof e?(e=arguments[1]||{},e.url=arguments[0]):e=e||{},e=u(this.defaults,e),e.method=e.method?e.method.toLowerCase():"get";var t=[a,void 0],n=Promise.resolve(e);for(this.interceptors.request.forEach(function(e){t.unshift(e.fulfilled,e.rejected)}),this.interceptors.response.forEach(function(e){t.push(e.fulfilled,e.rejected)});t.length;)n=n.then(t.shift(),t.shift());return n},r.prototype.getUri=function(e){return e=u(this.defaults,e),s(e.url,e.params,e.paramsSerializer).replace(/^\?/,"")},o.forEach(["delete","get","head","options"],function(e){r.prototype[e]=function(t,n){return this.request(o.merge(n||{},{method:e,url:t}))}}),o.forEach(["post","put","patch"],function(e){r.prototype[e]=function(t,n,r){return this.request(o.merge(r||{},{method:e,url:t,data:n}))}}),e.exports=r},function(e,t,n){"use strict";function r(e){return encodeURIComponent(e).replace(/%40/gi,"@").replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",").replace(/%20/g,"+").replace(/%5B/gi,"[").replace(/%5D/gi,"]")}var o=n(2);e.exports=function(e,t,n){if(!t)return e;var s;if(n)s=n(t);else if(o.isURLSearchParams(t))s=t.toString();else{var i=[];o.forEach(t,function(e,t){null!==e&&"undefined"!=typeof e&&(o.isArray(e)?t+="[]":e=[e],o.forEach(e,function(e){o.isDate(e)?e=e.toISOString():o.isObject(e)&&(e=JSON.stringify(e)),i.push(r(t)+"="+r(e))}))}),s=i.join("&")}if(s){var a=e.indexOf("#");a!==-1&&(e=e.slice(0,a)),e+=(e.indexOf("?")===-1?"?":"&")+s}return e}},function(e,t,n){"use strict";function r(){this.handlers=[]}var o=n(2);r.prototype.use=function(e,t){return this.handlers.push({fulfilled:e,rejected:t}),this.handlers.length-1},r.prototype.eject=function(e){this.handlers[e]&&(this.handlers[e]=null)},r.prototype.forEach=function(e){o.forEach(this.handlers,function(t){null!==t&&e(t)})},e.exports=r},function(e,t,n){"use strict";function r(e){e.cancelToken&&e.cancelToken.throwIfRequested()}var o=n(2),s=n(9),i=n(10),a=n(11),u=n(20),c=n(21);e.exports=function(e){r(e),e.baseURL&&!u(e.url)&&(e.url=c(e.baseURL,e.url)),e.headers=e.headers||{},e.data=s(e.data,e.headers,e.transformRequest),e.headers=o.merge(e.headers.common||{},e.headers[e.method]||{},e.headers||{}),o.forEach(["delete","get","head","post","put","patch","common"],function(t){delete e.headers[t]});var t=e.adapter||a.adapter;return t(e).then(function(t){return r(e),t.data=s(t.data,t.headers,e.transformResponse),t},function(t){return i(t)||(r(e),t&&t.response&&(t.response.data=s(t.response.data,t.response.headers,e.transformResponse))),Promise.reject(t)})}},function(e,t,n){"use strict";var r=n(2);e.exports=function(e,t,n){return r.forEach(n,function(n){e=n(e,t)}),e}},function(e,t){"use strict";e.exports=function(e){return!(!e||!e.__CANCEL__)}},function(e,t,n){"use strict";function r(e,t){!s.isUndefined(e)&&s.isUndefined(e["Content-Type"])&&(e["Content-Type"]=t)}function o(){var e;return"undefined"!=typeof process&&"[object process]"===Object.prototype.toString.call(process)?e=n(13):"undefined"!=typeof XMLHttpRequest&&(e=n(13)),e}var s=n(2),i=n(12),a={"Content-Type":"application/x-www-form-urlencoded"},u={adapter:o(),transformRequest:[function(e,t){return i(t,"Accept"),i(t,"Content-Type"),s.isFormData(e)||s.isArrayBuffer(e)||s.isBuffer(e)||s.isStream(e)||s.isFile(e)||s.isBlob(e)?e:s.isArrayBufferView(e)?e.buffer:s.isURLSearchParams(e)?(r(t,"application/x-www-form-urlencoded;charset=utf-8"),e.toString()):s.isObject(e)?(r(t,"application/json;charset=utf-8"),JSON.stringify(e)):e}],transformResponse:[function(e){if("string"==typeof e)try{e=JSON.parse(e)}catch(e){}return e}],timeout:0,xsrfCookieName:"XSRF-TOKEN",xsrfHeaderName:"X-XSRF-TOKEN",maxContentLength:-1,validateStatus:function(e){return e>=200&&e<300}};u.headers={common:{Accept:"application/json, text/plain, */*"}},s.forEach(["delete","get","head"],function(e){u.headers[e]={}}),s.forEach(["post","put","patch"],function(e){u.headers[e]=s.merge(a)}),e.exports=u},function(e,t,n){"use strict";var r=n(2);e.exports=function(e,t){r.forEach(e,function(n,r){r!==t&&r.toUpperCase()===t.toUpperCase()&&(e[t]=n,delete e[r])})}},function(e,t,n){"use strict";var r=n(2),o=n(14),s=n(6),i=n(17),a=n(18),u=n(15);e.exports=function(e){return new Promise(function(t,c){var f=e.data,p=e.headers;r.isFormData(f)&&delete p["Content-Type"];var d=new XMLHttpRequest;if(e.auth){var l=e.auth.username||"",h=e.auth.password||"";p.Authorization="Basic "+btoa(l+":"+h)}if(d.open(e.method.toUpperCase(),s(e.url,e.params,e.paramsSerializer),!0),d.timeout=e.timeout,d.onreadystatechange=function(){if(d&&4===d.readyState&&(0!==d.status||d.responseURL&&0===d.responseURL.indexOf("file:"))){var n="getAllResponseHeaders"in d?i(d.getAllResponseHeaders()):null,r=e.responseType&&"text"!==e.responseType?d.response:d.responseText,s={data:r,status:d.status,statusText:d.statusText,headers:n,config:e,request:d};o(t,c,s),d=null}},d.onabort=function(){d&&(c(u("Request aborted",e,"ECONNABORTED",d)),d=null)},d.onerror=function(){c(u("Network Error",e,null,d)),d=null},d.ontimeout=function(){c(u("timeout of "+e.timeout+"ms exceeded",e,"ECONNABORTED",d)),d=null},r.isStandardBrowserEnv()){var m=n(19),y=(e.withCredentials||a(e.url))&&e.xsrfCookieName?m.read(e.xsrfCookieName):void 0;y&&(p[e.xsrfHeaderName]=y)}if("setRequestHeader"in d&&r.forEach(p,function(e,t){"undefined"==typeof f&&"content-type"===t.toLowerCase()?delete p[t]:d.setRequestHeader(t,e)}),e.withCredentials&&(d.withCredentials=!0),e.responseType)try{d.responseType=e.responseType}catch(t){if("json"!==e.responseType)throw t}"function"==typeof e.onDownloadProgress&&d.addEventListener("progress",e.onDownloadProgress),"function"==typeof e.onUploadProgress&&d.upload&&d.upload.addEventListener("progress",e.onUploadProgress),e.cancelToken&&e.cancelToken.promise.then(function(e){d&&(d.abort(),c(e),d=null)}),void 0===f&&(f=null),d.send(f)})}},function(e,t,n){"use strict";var r=n(15);e.exports=function(e,t,n){var o=n.config.validateStatus;!o||o(n.status)?e(n):t(r("Request failed with status code "+n.status,n.config,null,n.request,n))}},function(e,t,n){"use strict";var r=n(16);e.exports=function(e,t,n,o,s){var i=new Error(e);return r(i,t,n,o,s)}},function(e,t){"use strict";e.exports=function(e,t,n,r,o){return e.config=t,n&&(e.code=n),e.request=r,e.response=o,e.isAxiosError=!0,e.toJSON=function(){return{message:this.message,name:this.name,description:this.description,number:this.number,fileName:this.fileName,lineNumber:this.lineNumber,columnNumber:this.columnNumber,stack:this.stack,config:this.config,code:this.code}},e}},function(e,t,n){"use strict";var r=n(2),o=["age","authorization","content-length","content-type","etag","expires","from","host","if-modified-since","if-unmodified-since","last-modified","location","max-forwards","proxy-authorization","referer","retry-after","user-agent"];e.exports=function(e){var t,n,s,i={};return e?(r.forEach(e.split("\n"),function(e){if(s=e.indexOf(":"),t=r.trim(e.substr(0,s)).toLowerCase(),n=r.trim(e.substr(s+1)),t){if(i[t]&&o.indexOf(t)>=0)return;"set-cookie"===t?i[t]=(i[t]?i[t]:[]).concat([n]):i[t]=i[t]?i[t]+", "+n:n}}),i):i}},function(e,t,n){"use strict";var r=n(2);e.exports=r.isStandardBrowserEnv()?function(){function e(e){var t=e;return n&&(o.setAttribute("href",t),t=o.href),o.setAttribute("href",t),{href:o.href,protocol:o.protocol?o.protocol.replace(/:$/,""):"",host:o.host,search:o.search?o.search.replace(/^\?/,""):"",hash:o.hash?o.hash.replace(/^#/,""):"",hostname:o.hostname,port:o.port,pathname:"/"===o.pathname.charAt(0)?o.pathname:"/"+o.pathname}}var t,n=/(msie|trident)/i.test(navigator.userAgent),o=document.createElement("a");return t=e(window.location.href),function(n){var o=r.isString(n)?e(n):n;return o.protocol===t.protocol&&o.host===t.host}}():function(){return function(){return!0}}()},function(e,t,n){"use strict";var r=n(2);e.exports=r.isStandardBrowserEnv()?function(){return{write:function(e,t,n,o,s,i){var a=[];a.push(e+"="+encodeURIComponent(t)),r.isNumber(n)&&a.push("expires="+new Date(n).toGMTString()),r.isString(o)&&a.push("path="+o),r.isString(s)&&a.push("domain="+s),i===!0&&a.push("secure"),document.cookie=a.join("; ")},read:function(e){var t=document.cookie.match(new RegExp("(^|;\\s*)("+e+")=([^;]*)"));return t?decodeURIComponent(t[3]):null},remove:function(e){this.write(e,"",Date.now()-864e5)}}}():function(){return{write:function(){},read:function(){return null},remove:function(){}}}()},function(e,t){"use strict";e.exports=function(e){return/^([a-z][a-z\d\+\-\.]*:)?\/\//i.test(e)}},function(e,t){"use strict";e.exports=function(e,t){return t?e.replace(/\/+$/,"")+"/"+t.replace(/^\/+/,""):e}},function(e,t,n){"use strict";var r=n(2);e.exports=function(e,t){t=t||{};var n={};return r.forEach(["url","method","params","data"],function(e){"undefined"!=typeof t[e]&&(n[e]=t[e])}),r.forEach(["headers","auth","proxy"],function(o){r.isObject(t[o])?n[o]=r.deepMerge(e[o],t[o]):"undefined"!=typeof t[o]?n[o]=t[o]:r.isObject(e[o])?n[o]=r.deepMerge(e[o]):"undefined"!=typeof e[o]&&(n[o]=e[o])}),r.forEach(["baseURL","transformRequest","transformResponse","paramsSerializer","timeout","withCredentials","adapter","responseType","xsrfCookieName","xsrfHeaderName","onUploadProgress","onDownloadProgress","maxContentLength","validateStatus","maxRedirects","httpAgent","httpsAgent","cancelToken","socketPath"],function(r){"undefined"!=typeof t[r]?n[r]=t[r]:"undefined"!=typeof e[r]&&(n[r]=e[r])}),n}},function(e,t){"use strict";function n(e){this.message=e}n.prototype.toString=function(){return"Cancel"+(this.message?": "+this.message:"")},n.prototype.__CANCEL__=!0,e.exports=n},function(e,t,n){"use strict";function r(e){if("function"!=typeof e)throw new TypeError("executor must be a function.");var t;this.promise=new Promise(function(e){t=e});var n=this;e(function(e){n.reason||(n.reason=new o(e),t(n.reason))})}var o=n(23);r.prototype.throwIfRequested=function(){if(this.reason)throw this.reason},r.source=function(){var e,t=new r(function(t){e=t});return{token:t,cancel:e}},e.exports=r},function(e,t){"use strict";e.exports=function(e){return function(t){return e.apply(null,t)}}}])});
9 | //# sourceMappingURL=axios.min.map
--------------------------------------------------------------------------------
/BeetleX.AdminUI/views/js/bootstrap.js:
--------------------------------------------------------------------------------
1 | /*!
2 | * Bootstrap v3.3.7 (http://getbootstrap.com)
3 | * Copyright 2011-2016 Twitter, Inc.
4 | * Licensed under the MIT license
5 | */
6 | if("undefined"==typeof jQuery)throw new Error("Bootstrap's JavaScript requires jQuery");+function(a){"use strict";var b=a.fn.jquery.split(" ")[0].split(".");if(b[0]<2&&b[1]<9||1==b[0]&&9==b[1]&&b[2]<1||b[0]>3)throw new Error("Bootstrap's JavaScript requires jQuery version 1.9.1 or higher, but lower than version 4")}(jQuery),+function(a){"use strict";function b(){var a=document.createElement("bootstrap"),b={WebkitTransition:"webkitTransitionEnd",MozTransition:"transitionend",OTransition:"oTransitionEnd otransitionend",transition:"transitionend"};for(var c in b)if(void 0!==a.style[c])return{end:b[c]};return!1}a.fn.emulateTransitionEnd=function(b){var c=!1,d=this;a(this).one("bsTransitionEnd",function(){c=!0});var e=function(){c||a(d).trigger(a.support.transition.end)};return setTimeout(e,b),this},a(function(){a.support.transition=b(),a.support.transition&&(a.event.special.bsTransitionEnd={bindType:a.support.transition.end,delegateType:a.support.transition.end,handle:function(b){if(a(b.target).is(this))return b.handleObj.handler.apply(this,arguments)}})})}(jQuery),+function(a){"use strict";function b(b){return this.each(function(){var c=a(this),e=c.data("bs.alert");e||c.data("bs.alert",e=new d(this)),"string"==typeof b&&e[b].call(c)})}var c='[data-dismiss="alert"]',d=function(b){a(b).on("click",c,this.close)};d.VERSION="3.3.7",d.TRANSITION_DURATION=150,d.prototype.close=function(b){function c(){g.detach().trigger("closed.bs.alert").remove()}var e=a(this),f=e.attr("data-target");f||(f=e.attr("href"),f=f&&f.replace(/.*(?=#[^\s]*$)/,""));var g=a("#"===f?[]:f);b&&b.preventDefault(),g.length||(g=e.closest(".alert")),g.trigger(b=a.Event("close.bs.alert")),b.isDefaultPrevented()||(g.removeClass("in"),a.support.transition&&g.hasClass("fade")?g.one("bsTransitionEnd",c).emulateTransitionEnd(d.TRANSITION_DURATION):c())};var e=a.fn.alert;a.fn.alert=b,a.fn.alert.Constructor=d,a.fn.alert.noConflict=function(){return a.fn.alert=e,this},a(document).on("click.bs.alert.data-api",c,d.prototype.close)}(jQuery),+function(a){"use strict";function b(b){return this.each(function(){var d=a(this),e=d.data("bs.button"),f="object"==typeof b&&b;e||d.data("bs.button",e=new c(this,f)),"toggle"==b?e.toggle():b&&e.setState(b)})}var c=function(b,d){this.$element=a(b),this.options=a.extend({},c.DEFAULTS,d),this.isLoading=!1};c.VERSION="3.3.7",c.DEFAULTS={loadingText:"loading..."},c.prototype.setState=function(b){var c="disabled",d=this.$element,e=d.is("input")?"val":"html",f=d.data();b+="Text",null==f.resetText&&d.data("resetText",d[e]()),setTimeout(a.proxy(function(){d[e](null==f[b]?this.options[b]:f[b]),"loadingText"==b?(this.isLoading=!0,d.addClass(c).attr(c,c).prop(c,!0)):this.isLoading&&(this.isLoading=!1,d.removeClass(c).removeAttr(c).prop(c,!1))},this),0)},c.prototype.toggle=function(){var a=!0,b=this.$element.closest('[data-toggle="buttons"]');if(b.length){var c=this.$element.find("input");"radio"==c.prop("type")?(c.prop("checked")&&(a=!1),b.find(".active").removeClass("active"),this.$element.addClass("active")):"checkbox"==c.prop("type")&&(c.prop("checked")!==this.$element.hasClass("active")&&(a=!1),this.$element.toggleClass("active")),c.prop("checked",this.$element.hasClass("active")),a&&c.trigger("change")}else this.$element.attr("aria-pressed",!this.$element.hasClass("active")),this.$element.toggleClass("active")};var d=a.fn.button;a.fn.button=b,a.fn.button.Constructor=c,a.fn.button.noConflict=function(){return a.fn.button=d,this},a(document).on("click.bs.button.data-api",'[data-toggle^="button"]',function(c){var d=a(c.target).closest(".btn");b.call(d,"toggle"),a(c.target).is('input[type="radio"], input[type="checkbox"]')||(c.preventDefault(),d.is("input,button")?d.trigger("focus"):d.find("input:visible,button:visible").first().trigger("focus"))}).on("focus.bs.button.data-api blur.bs.button.data-api",'[data-toggle^="button"]',function(b){a(b.target).closest(".btn").toggleClass("focus",/^focus(in)?$/.test(b.type))})}(jQuery),+function(a){"use strict";function b(b){return this.each(function(){var d=a(this),e=d.data("bs.carousel"),f=a.extend({},c.DEFAULTS,d.data(),"object"==typeof b&&b),g="string"==typeof b?b:f.slide;e||d.data("bs.carousel",e=new c(this,f)),"number"==typeof b?e.to(b):g?e[g]():f.interval&&e.pause().cycle()})}var c=function(b,c){this.$element=a(b),this.$indicators=this.$element.find(".carousel-indicators"),this.options=c,this.paused=null,this.sliding=null,this.interval=null,this.$active=null,this.$items=null,this.options.keyboard&&this.$element.on("keydown.bs.carousel",a.proxy(this.keydown,this)),"hover"==this.options.pause&&!("ontouchstart"in document.documentElement)&&this.$element.on("mouseenter.bs.carousel",a.proxy(this.pause,this)).on("mouseleave.bs.carousel",a.proxy(this.cycle,this))};c.VERSION="3.3.7",c.TRANSITION_DURATION=600,c.DEFAULTS={interval:5e3,pause:"hover",wrap:!0,keyboard:!0},c.prototype.keydown=function(a){if(!/input|textarea/i.test(a.target.tagName)){switch(a.which){case 37:this.prev();break;case 39:this.next();break;default:return}a.preventDefault()}},c.prototype.cycle=function(b){return b||(this.paused=!1),this.interval&&clearInterval(this.interval),this.options.interval&&!this.paused&&(this.interval=setInterval(a.proxy(this.next,this),this.options.interval)),this},c.prototype.getItemIndex=function(a){return this.$items=a.parent().children(".item"),this.$items.index(a||this.$active)},c.prototype.getItemForDirection=function(a,b){var c=this.getItemIndex(b),d="prev"==a&&0===c||"next"==a&&c==this.$items.length-1;if(d&&!this.options.wrap)return b;var e="prev"==a?-1:1,f=(c+e)%this.$items.length;return this.$items.eq(f)},c.prototype.to=function(a){var b=this,c=this.getItemIndex(this.$active=this.$element.find(".item.active"));if(!(a>this.$items.length-1||a<0))return this.sliding?this.$element.one("slid.bs.carousel",function(){b.to(a)}):c==a?this.pause().cycle():this.slide(a>c?"next":"prev",this.$items.eq(a))},c.prototype.pause=function(b){return b||(this.paused=!0),this.$element.find(".next, .prev").length&&a.support.transition&&(this.$element.trigger(a.support.transition.end),this.cycle(!0)),this.interval=clearInterval(this.interval),this},c.prototype.next=function(){if(!this.sliding)return this.slide("next")},c.prototype.prev=function(){if(!this.sliding)return this.slide("prev")},c.prototype.slide=function(b,d){var e=this.$element.find(".item.active"),f=d||this.getItemForDirection(b,e),g=this.interval,h="next"==b?"left":"right",i=this;if(f.hasClass("active"))return this.sliding=!1;var j=f[0],k=a.Event("slide.bs.carousel",{relatedTarget:j,direction:h});if(this.$element.trigger(k),!k.isDefaultPrevented()){if(this.sliding=!0,g&&this.pause(),this.$indicators.length){this.$indicators.find(".active").removeClass("active");var l=a(this.$indicators.children()[this.getItemIndex(f)]);l&&l.addClass("active")}var m=a.Event("slid.bs.carousel",{relatedTarget:j,direction:h});return a.support.transition&&this.$element.hasClass("slide")?(f.addClass(b),f[0].offsetWidth,e.addClass(h),f.addClass(h),e.one("bsTransitionEnd",function(){f.removeClass([b,h].join(" ")).addClass("active"),e.removeClass(["active",h].join(" ")),i.sliding=!1,setTimeout(function(){i.$element.trigger(m)},0)}).emulateTransitionEnd(c.TRANSITION_DURATION)):(e.removeClass("active"),f.addClass("active"),this.sliding=!1,this.$element.trigger(m)),g&&this.cycle(),this}};var d=a.fn.carousel;a.fn.carousel=b,a.fn.carousel.Constructor=c,a.fn.carousel.noConflict=function(){return a.fn.carousel=d,this};var e=function(c){var d,e=a(this),f=a(e.attr("data-target")||(d=e.attr("href"))&&d.replace(/.*(?=#[^\s]+$)/,""));if(f.hasClass("carousel")){var g=a.extend({},f.data(),e.data()),h=e.attr("data-slide-to");h&&(g.interval=!1),b.call(f,g),h&&f.data("bs.carousel").to(h),c.preventDefault()}};a(document).on("click.bs.carousel.data-api","[data-slide]",e).on("click.bs.carousel.data-api","[data-slide-to]",e),a(window).on("load",function(){a('[data-ride="carousel"]').each(function(){var c=a(this);b.call(c,c.data())})})}(jQuery),+function(a){"use strict";function b(b){var c,d=b.attr("data-target")||(c=b.attr("href"))&&c.replace(/.*(?=#[^\s]+$)/,"");return a(d)}function c(b){return this.each(function(){var c=a(this),e=c.data("bs.collapse"),f=a.extend({},d.DEFAULTS,c.data(),"object"==typeof b&&b);!e&&f.toggle&&/show|hide/.test(b)&&(f.toggle=!1),e||c.data("bs.collapse",e=new d(this,f)),"string"==typeof b&&e[b]()})}var d=function(b,c){this.$element=a(b),this.options=a.extend({},d.DEFAULTS,c),this.$trigger=a('[data-toggle="collapse"][href="#'+b.id+'"],[data-toggle="collapse"][data-target="#'+b.id+'"]'),this.transitioning=null,this.options.parent?this.$parent=this.getParent():this.addAriaAndCollapsedClass(this.$element,this.$trigger),this.options.toggle&&this.toggle()};d.VERSION="3.3.7",d.TRANSITION_DURATION=350,d.DEFAULTS={toggle:!0},d.prototype.dimension=function(){var a=this.$element.hasClass("width");return a?"width":"height"},d.prototype.show=function(){if(!this.transitioning&&!this.$element.hasClass("in")){var b,e=this.$parent&&this.$parent.children(".panel").children(".in, .collapsing");if(!(e&&e.length&&(b=e.data("bs.collapse"),b&&b.transitioning))){var f=a.Event("show.bs.collapse");if(this.$element.trigger(f),!f.isDefaultPrevented()){e&&e.length&&(c.call(e,"hide"),b||e.data("bs.collapse",null));var g=this.dimension();this.$element.removeClass("collapse").addClass("collapsing")[g](0).attr("aria-expanded",!0),this.$trigger.removeClass("collapsed").attr("aria-expanded",!0),this.transitioning=1;var h=function(){this.$element.removeClass("collapsing").addClass("collapse in")[g](""),this.transitioning=0,this.$element.trigger("shown.bs.collapse")};if(!a.support.transition)return h.call(this);var i=a.camelCase(["scroll",g].join("-"));this.$element.one("bsTransitionEnd",a.proxy(h,this)).emulateTransitionEnd(d.TRANSITION_DURATION)[g](this.$element[0][i])}}}},d.prototype.hide=function(){if(!this.transitioning&&this.$element.hasClass("in")){var b=a.Event("hide.bs.collapse");if(this.$element.trigger(b),!b.isDefaultPrevented()){var c=this.dimension();this.$element[c](this.$element[c]())[0].offsetHeight,this.$element.addClass("collapsing").removeClass("collapse in").attr("aria-expanded",!1),this.$trigger.addClass("collapsed").attr("aria-expanded",!1),this.transitioning=1;var e=function(){this.transitioning=0,this.$element.removeClass("collapsing").addClass("collapse").trigger("hidden.bs.collapse")};return a.support.transition?void this.$element[c](0).one("bsTransitionEnd",a.proxy(e,this)).emulateTransitionEnd(d.TRANSITION_DURATION):e.call(this)}}},d.prototype.toggle=function(){this[this.$element.hasClass("in")?"hide":"show"]()},d.prototype.getParent=function(){return a(this.options.parent).find('[data-toggle="collapse"][data-parent="'+this.options.parent+'"]').each(a.proxy(function(c,d){var e=a(d);this.addAriaAndCollapsedClass(b(e),e)},this)).end()},d.prototype.addAriaAndCollapsedClass=function(a,b){var c=a.hasClass("in");a.attr("aria-expanded",c),b.toggleClass("collapsed",!c).attr("aria-expanded",c)};var e=a.fn.collapse;a.fn.collapse=c,a.fn.collapse.Constructor=d,a.fn.collapse.noConflict=function(){return a.fn.collapse=e,this},a(document).on("click.bs.collapse.data-api",'[data-toggle="collapse"]',function(d){var e=a(this);e.attr("data-target")||d.preventDefault();var f=b(e),g=f.data("bs.collapse"),h=g?"toggle":e.data();c.call(f,h)})}(jQuery),+function(a){"use strict";function b(b){var c=b.attr("data-target");c||(c=b.attr("href"),c=c&&/#[A-Za-z]/.test(c)&&c.replace(/.*(?=#[^\s]*$)/,""));var d=c&&a(c);return d&&d.length?d:b.parent()}function c(c){c&&3===c.which||(a(e).remove(),a(f).each(function(){var d=a(this),e=b(d),f={relatedTarget:this};e.hasClass("open")&&(c&&"click"==c.type&&/input|textarea/i.test(c.target.tagName)&&a.contains(e[0],c.target)||(e.trigger(c=a.Event("hide.bs.dropdown",f)),c.isDefaultPrevented()||(d.attr("aria-expanded","false"),e.removeClass("open").trigger(a.Event("hidden.bs.dropdown",f)))))}))}function d(b){return this.each(function(){var c=a(this),d=c.data("bs.dropdown");d||c.data("bs.dropdown",d=new g(this)),"string"==typeof b&&d[b].call(c)})}var e=".dropdown-backdrop",f='[data-toggle="dropdown"]',g=function(b){a(b).on("click.bs.dropdown",this.toggle)};g.VERSION="3.3.7",g.prototype.toggle=function(d){var e=a(this);if(!e.is(".disabled, :disabled")){var f=b(e),g=f.hasClass("open");if(c(),!g){"ontouchstart"in document.documentElement&&!f.closest(".navbar-nav").length&&a(document.createElement("div")).addClass("dropdown-backdrop").insertAfter(a(this)).on("click",c);var h={relatedTarget:this};if(f.trigger(d=a.Event("show.bs.dropdown",h)),d.isDefaultPrevented())return;e.trigger("focus").attr("aria-expanded","true"),f.toggleClass("open").trigger(a.Event("shown.bs.dropdown",h))}return!1}},g.prototype.keydown=function(c){if(/(38|40|27|32)/.test(c.which)&&!/input|textarea/i.test(c.target.tagName)){var d=a(this);if(c.preventDefault(),c.stopPropagation(),!d.is(".disabled, :disabled")){var e=b(d),g=e.hasClass("open");if(!g&&27!=c.which||g&&27==c.which)return 27==c.which&&e.find(f).trigger("focus"),d.trigger("click");var h=" li:not(.disabled):visible a",i=e.find(".dropdown-menu"+h);if(i.length){var j=i.index(c.target);38==c.which&&j>0&&j--,40==c.which&&jdocument.documentElement.clientHeight;this.$element.css({paddingLeft:!this.bodyIsOverflowing&&a?this.scrollbarWidth:"",paddingRight:this.bodyIsOverflowing&&!a?this.scrollbarWidth:""})},c.prototype.resetAdjustments=function(){this.$element.css({paddingLeft:"",paddingRight:""})},c.prototype.checkScrollbar=function(){var a=window.innerWidth;if(!a){var b=document.documentElement.getBoundingClientRect();a=b.right-Math.abs(b.left)}this.bodyIsOverflowing=document.body.clientWidth',trigger:"hover focus",title:"",delay:0,html:!1,container:!1,viewport:{selector:"body",padding:0}},c.prototype.init=function(b,c,d){if(this.enabled=!0,this.type=b,this.$element=a(c),this.options=this.getOptions(d),this.$viewport=this.options.viewport&&a(a.isFunction(this.options.viewport)?this.options.viewport.call(this,this.$element):this.options.viewport.selector||this.options.viewport),this.inState={click:!1,hover:!1,focus:!1},this.$element[0]instanceof document.constructor&&!this.options.selector)throw new Error("`selector` option must be specified when initializing "+this.type+" on the window.document object!");for(var e=this.options.trigger.split(" "),f=e.length;f--;){var g=e[f];if("click"==g)this.$element.on("click."+this.type,this.options.selector,a.proxy(this.toggle,this));else if("manual"!=g){var h="hover"==g?"mouseenter":"focusin",i="hover"==g?"mouseleave":"focusout";this.$element.on(h+"."+this.type,this.options.selector,a.proxy(this.enter,this)),this.$element.on(i+"."+this.type,this.options.selector,a.proxy(this.leave,this))}}this.options.selector?this._options=a.extend({},this.options,{trigger:"manual",selector:""}):this.fixTitle()},c.prototype.getDefaults=function(){return c.DEFAULTS},c.prototype.getOptions=function(b){return b=a.extend({},this.getDefaults(),this.$element.data(),b),b.delay&&"number"==typeof b.delay&&(b.delay={show:b.delay,hide:b.delay}),b},c.prototype.getDelegateOptions=function(){var b={},c=this.getDefaults();return this._options&&a.each(this._options,function(a,d){c[a]!=d&&(b[a]=d)}),b},c.prototype.enter=function(b){var c=b instanceof this.constructor?b:a(b.currentTarget).data("bs."+this.type);return c||(c=new this.constructor(b.currentTarget,this.getDelegateOptions()),a(b.currentTarget).data("bs."+this.type,c)),b instanceof a.Event&&(c.inState["focusin"==b.type?"focus":"hover"]=!0),c.tip().hasClass("in")||"in"==c.hoverState?void(c.hoverState="in"):(clearTimeout(c.timeout),c.hoverState="in",c.options.delay&&c.options.delay.show?void(c.timeout=setTimeout(function(){"in"==c.hoverState&&c.show()},c.options.delay.show)):c.show())},c.prototype.isInStateTrue=function(){for(var a in this.inState)if(this.inState[a])return!0;return!1},c.prototype.leave=function(b){var c=b instanceof this.constructor?b:a(b.currentTarget).data("bs."+this.type);if(c||(c=new this.constructor(b.currentTarget,this.getDelegateOptions()),a(b.currentTarget).data("bs."+this.type,c)),b instanceof a.Event&&(c.inState["focusout"==b.type?"focus":"hover"]=!1),!c.isInStateTrue())return clearTimeout(c.timeout),c.hoverState="out",c.options.delay&&c.options.delay.hide?void(c.timeout=setTimeout(function(){"out"==c.hoverState&&c.hide()},c.options.delay.hide)):c.hide()},c.prototype.show=function(){var b=a.Event("show.bs."+this.type);if(this.hasContent()&&this.enabled){this.$element.trigger(b);var d=a.contains(this.$element[0].ownerDocument.documentElement,this.$element[0]);if(b.isDefaultPrevented()||!d)return;var e=this,f=this.tip(),g=this.getUID(this.type);this.setContent(),f.attr("id",g),this.$element.attr("aria-describedby",g),this.options.animation&&f.addClass("fade");var h="function"==typeof this.options.placement?this.options.placement.call(this,f[0],this.$element[0]):this.options.placement,i=/\s?auto?\s?/i,j=i.test(h);j&&(h=h.replace(i,"")||"top"),f.detach().css({top:0,left:0,display:"block"}).addClass(h).data("bs."+this.type,this),this.options.container?f.appendTo(this.options.container):f.insertAfter(this.$element),this.$element.trigger("inserted.bs."+this.type);var k=this.getPosition(),l=f[0].offsetWidth,m=f[0].offsetHeight;if(j){var n=h,o=this.getPosition(this.$viewport);h="bottom"==h&&k.bottom+m>o.bottom?"top":"top"==h&&k.top-mo.width?"left":"left"==h&&k.left-lg.top+g.height&&(e.top=g.top+g.height-i)}else{var j=b.left-f,k=b.left+f+c;jg.right&&(e.left=g.left+g.width-k)}return e},c.prototype.getTitle=function(){var a,b=this.$element,c=this.options;return a=b.attr("data-original-title")||("function"==typeof c.title?c.title.call(b[0]):c.title)},c.prototype.getUID=function(a){do a+=~~(1e6*Math.random());while(document.getElementById(a));return a},c.prototype.tip=function(){if(!this.$tip&&(this.$tip=a(this.options.template),1!=this.$tip.length))throw new Error(this.type+" `template` option must consist of exactly 1 top-level element!");return this.$tip},c.prototype.arrow=function(){return this.$arrow=this.$arrow||this.tip().find(".tooltip-arrow")},c.prototype.enable=function(){this.enabled=!0},c.prototype.disable=function(){this.enabled=!1},c.prototype.toggleEnabled=function(){this.enabled=!this.enabled},c.prototype.toggle=function(b){var c=this;b&&(c=a(b.currentTarget).data("bs."+this.type),c||(c=new this.constructor(b.currentTarget,this.getDelegateOptions()),a(b.currentTarget).data("bs."+this.type,c))),b?(c.inState.click=!c.inState.click,c.isInStateTrue()?c.enter(c):c.leave(c)):c.tip().hasClass("in")?c.leave(c):c.enter(c)},c.prototype.destroy=function(){var a=this;clearTimeout(this.timeout),this.hide(function(){a.$element.off("."+a.type).removeData("bs."+a.type),a.$tip&&a.$tip.detach(),a.$tip=null,a.$arrow=null,a.$viewport=null,a.$element=null})};var d=a.fn.tooltip;a.fn.tooltip=b,a.fn.tooltip.Constructor=c,a.fn.tooltip.noConflict=function(){return a.fn.tooltip=d,this}}(jQuery),+function(a){"use strict";function b(b){return this.each(function(){var d=a(this),e=d.data("bs.popover"),f="object"==typeof b&&b;!e&&/destroy|hide/.test(b)||(e||d.data("bs.popover",e=new c(this,f)),"string"==typeof b&&e[b]())})}var c=function(a,b){this.init("popover",a,b)};if(!a.fn.tooltip)throw new Error("Popover requires tooltip.js");c.VERSION="3.3.7",c.DEFAULTS=a.extend({},a.fn.tooltip.Constructor.DEFAULTS,{placement:"right",trigger:"click",content:"",template:''}),c.prototype=a.extend({},a.fn.tooltip.Constructor.prototype),c.prototype.constructor=c,c.prototype.getDefaults=function(){return c.DEFAULTS},c.prototype.setContent=function(){var a=this.tip(),b=this.getTitle(),c=this.getContent();a.find(".popover-title")[this.options.html?"html":"text"](b),a.find(".popover-content").children().detach().end()[this.options.html?"string"==typeof c?"html":"append":"text"](c),a.removeClass("fade top bottom left right in"),a.find(".popover-title").html()||a.find(".popover-title").hide()},c.prototype.hasContent=function(){return this.getTitle()||this.getContent()},c.prototype.getContent=function(){var a=this.$element,b=this.options;return a.attr("data-content")||("function"==typeof b.content?b.content.call(a[0]):b.content)},c.prototype.arrow=function(){return this.$arrow=this.$arrow||this.tip().find(".arrow")};var d=a.fn.popover;a.fn.popover=b,a.fn.popover.Constructor=c,a.fn.popover.noConflict=function(){return a.fn.popover=d,this}}(jQuery),+function(a){"use strict";function b(c,d){this.$body=a(document.body),this.$scrollElement=a(a(c).is(document.body)?window:c),this.options=a.extend({},b.DEFAULTS,d),this.selector=(this.options.target||"")+" .nav li > a",this.offsets=[],this.targets=[],this.activeTarget=null,this.scrollHeight=0,this.$scrollElement.on("scroll.bs.scrollspy",a.proxy(this.process,this)),this.refresh(),this.process()}function c(c){return this.each(function(){var d=a(this),e=d.data("bs.scrollspy"),f="object"==typeof c&&c;e||d.data("bs.scrollspy",e=new b(this,f)),"string"==typeof c&&e[c]()})}b.VERSION="3.3.7",b.DEFAULTS={offset:10},b.prototype.getScrollHeight=function(){return this.$scrollElement[0].scrollHeight||Math.max(this.$body[0].scrollHeight,document.documentElement.scrollHeight)},b.prototype.refresh=function(){var b=this,c="offset",d=0;this.offsets=[],this.targets=[],this.scrollHeight=this.getScrollHeight(),a.isWindow(this.$scrollElement[0])||(c="position",d=this.$scrollElement.scrollTop()),this.$body.find(this.selector).map(function(){var b=a(this),e=b.data("target")||b.attr("href"),f=/^#./.test(e)&&a(e);return f&&f.length&&f.is(":visible")&&[[f[c]().top+d,e]]||null}).sort(function(a,b){return a[0]-b[0]}).each(function(){b.offsets.push(this[0]),b.targets.push(this[1])})},b.prototype.process=function(){var a,b=this.$scrollElement.scrollTop()+this.options.offset,c=this.getScrollHeight(),d=this.options.offset+c-this.$scrollElement.height(),e=this.offsets,f=this.targets,g=this.activeTarget;if(this.scrollHeight!=c&&this.refresh(),b>=d)return g!=(a=f[f.length-1])&&this.activate(a);if(g&&b=e[a]&&(void 0===e[a+1]||b .dropdown-menu > .active").removeClass("active").end().find('[data-toggle="tab"]').attr("aria-expanded",!1),b.addClass("active").find('[data-toggle="tab"]').attr("aria-expanded",!0),h?(b[0].offsetWidth,b.addClass("in")):b.removeClass("fade"),b.parent(".dropdown-menu").length&&b.closest("li.dropdown").addClass("active").end().find('[data-toggle="tab"]').attr("aria-expanded",!0),e&&e()}var g=d.find("> .active"),h=e&&a.support.transition&&(g.length&&g.hasClass("fade")||!!d.find("> .fade").length);g.length&&h?g.one("bsTransitionEnd",f).emulateTransitionEnd(c.TRANSITION_DURATION):f(),g.removeClass("in")};var d=a.fn.tab;a.fn.tab=b,a.fn.tab.Constructor=c,a.fn.tab.noConflict=function(){return a.fn.tab=d,this};var e=function(c){c.preventDefault(),b.call(a(this),"show")};a(document).on("click.bs.tab.data-api",'[data-toggle="tab"]',e).on("click.bs.tab.data-api",'[data-toggle="pill"]',e)}(jQuery),+function(a){"use strict";function b(b){return this.each(function(){var d=a(this),e=d.data("bs.affix"),f="object"==typeof b&&b;e||d.data("bs.affix",e=new c(this,f)),"string"==typeof b&&e[b]()})}var c=function(b,d){this.options=a.extend({},c.DEFAULTS,d),this.$target=a(this.options.target).on("scroll.bs.affix.data-api",a.proxy(this.checkPosition,this)).on("click.bs.affix.data-api",a.proxy(this.checkPositionWithEventLoop,this)),this.$element=a(b),this.affixed=null,this.unpin=null,this.pinnedOffset=null,this.checkPosition()};c.VERSION="3.3.7",c.RESET="affix affix-top affix-bottom",c.DEFAULTS={offset:0,target:window},c.prototype.getState=function(a,b,c,d){var e=this.$target.scrollTop(),f=this.$element.offset(),g=this.$target.height();if(null!=c&&"top"==this.affixed)return e=a-d&&"bottom"},c.prototype.getPinnedOffset=function(){if(this.pinnedOffset)return this.pinnedOffset;this.$element.removeClass(c.RESET).addClass("affix");var a=this.$target.scrollTop(),b=this.$element.offset();return this.pinnedOffset=b.top-a},c.prototype.checkPositionWithEventLoop=function(){setTimeout(a.proxy(this.checkPosition,this),1)},c.prototype.checkPosition=function(){if(this.$element.is(":visible")){var b=this.$element.height(),d=this.options.offset,e=d.top,f=d.bottom,g=Math.max(a(document).height(),a(document.body).height());"object"!=typeof d&&(f=e=d),"function"==typeof e&&(e=d.top(this.$element)),"function"==typeof f&&(f=d.bottom(this.$element));var h=this.getState(g,b,e,f);if(this.affixed!=h){null!=this.unpin&&this.$element.css("top","");var i="affix"+(h?"-"+h:""),j=a.Event(i+".bs.affix");if(this.$element.trigger(j),j.isDefaultPrevented())return;this.affixed=h,this.unpin="bottom"==h?this.getPinnedOffset():null,this.$element.removeClass(c.RESET).addClass(i).trigger(i.replace("affix","affixed")+".bs.affix")}"bottom"==h&&this.$element.offset({top:g-b-f})}};var d=a.fn.affix;a.fn.affix=b,a.fn.affix.Constructor=c,a.fn.affix.noConflict=function(){return a.fn.affix=d,this},a(window).on("load",function(){a('[data-spy="affix"]').each(function(){var c=a(this),d=c.data();d.offset=d.offset||{},null!=d.offsetBottom&&(d.offset.bottom=d.offsetBottom),null!=d.offsetTop&&(d.offset.top=d.offsetTop),b.call(c,d)})})}(jQuery);
--------------------------------------------------------------------------------
/BeetleX.AdminUI/views/js/vue.js:
--------------------------------------------------------------------------------
1 | /*!
2 | * Vue.js v2.5.17
3 | * (c) 2014-2018 Evan You
4 | * Released under the MIT License.
5 | */
6 | !function(e,t){"object"==typeof exports&&"undefined"!=typeof module?module.exports=t():"function"==typeof define&&define.amd?define(t):e.Vue=t()}(this,function(){"use strict";var y=Object.freeze({});function M(e){return null==e}function D(e){return null!=e}function S(e){return!0===e}function T(e){return"string"==typeof e||"number"==typeof e||"symbol"==typeof e||"boolean"==typeof e}function P(e){return null!==e&&"object"==typeof e}var r=Object.prototype.toString;function l(e){return"[object Object]"===r.call(e)}function i(e){var t=parseFloat(String(e));return 0<=t&&Math.floor(t)===t&&isFinite(e)}function t(e){return null==e?"":"object"==typeof e?JSON.stringify(e,null,2):String(e)}function F(e){var t=parseFloat(e);return isNaN(t)?e:t}function s(e,t){for(var n=Object.create(null),r=e.split(","),i=0;ie.id;)n--;bt.splice(n+1,0,e)}else bt.push(e);Ct||(Ct=!0,Ze(At))}}(this)},St.prototype.run=function(){if(this.active){var e=this.get();if(e!==this.value||P(e)||this.deep){var t=this.value;if(this.value=e,this.user)try{this.cb.call(this.vm,e,t)}catch(e){Fe(e,this.vm,'callback for watcher "'+this.expression+'"')}else this.cb.call(this.vm,e,t)}}},St.prototype.evaluate=function(){this.value=this.get(),this.dirty=!1},St.prototype.depend=function(){for(var e=this.deps.length;e--;)this.deps[e].depend()},St.prototype.teardown=function(){if(this.active){this.vm._isBeingDestroyed||f(this.vm._watchers,this);for(var e=this.deps.length;e--;)this.deps[e].removeSub(this);this.active=!1}};var Tt={enumerable:!0,configurable:!0,get:$,set:$};function Et(e,t,n){Tt.get=function(){return this[t][n]},Tt.set=function(e){this[t][n]=e},Object.defineProperty(e,n,Tt)}function jt(e){e._watchers=[];var t=e.$options;t.props&&function(n,r){var i=n.$options.propsData||{},o=n._props={},a=n.$options._propKeys=[];n.$parent&&ge(!1);var e=function(e){a.push(e);var t=Ie(e,r,i,n);Ce(o,e,t),e in n||Et(n,"_props",e)};for(var t in r)e(t);ge(!0)}(e,t.props),t.methods&&function(e,t){e.$options.props;for(var n in t)e[n]=null==t[n]?$:v(t[n],e)}(e,t.methods),t.data?function(e){var t=e.$options.data;l(t=e._data="function"==typeof t?function(e,t){se();try{return e.call(t,t)}catch(e){return Fe(e,t,"data()"),{}}finally{ce()}}(t,e):t||{})||(t={});var n=Object.keys(t),r=e.$options.props,i=(e.$options.methods,n.length);for(;i--;){var o=n[i];r&&p(r,o)||(void 0,36!==(a=(o+"").charCodeAt(0))&&95!==a&&Et(e,"_data",o))}var a;we(t,!0)}(e):we(e._data={},!0),t.computed&&function(e,t){var n=e._computedWatchers=Object.create(null),r=Y();for(var i in t){var o=t[i],a="function"==typeof o?o:o.get;r||(n[i]=new St(e,a||$,$,Nt)),i in e||Lt(e,i,o)}}(e,t.computed),t.watch&&t.watch!==G&&function(e,t){for(var n in t){var r=t[n];if(Array.isArray(r))for(var i=0;iparseInt(this.max)&&bn(a,s[0],s,this._vnode)),t.data.keepAlive=!0}return t||e&&e[0]}}};$n=hn,Cn={get:function(){return j}},Object.defineProperty($n,"config",Cn),$n.util={warn:re,extend:m,mergeOptions:Ne,defineReactive:Ce},$n.set=xe,$n.delete=ke,$n.nextTick=Ze,$n.options=Object.create(null),k.forEach(function(e){$n.options[e+"s"]=Object.create(null)}),m(($n.options._base=$n).options.components,kn),$n.use=function(e){var t=this._installedPlugins||(this._installedPlugins=[]);if(-1=a&&l()};setTimeout(function(){c\/=]+)(?:\s*(=)\s*(?:"([^"]*)"+|'([^']*)'+|([^\s"'=<>`]+)))?/,oo="[a-zA-Z_][\\w\\-\\.]*",ao="((?:"+oo+"\\:)?"+oo+")",so=new RegExp("^<"+ao),co=/^\s*(\/?)>/,lo=new RegExp("^<\\/"+ao+"[^>]*>"),uo=/^]+>/i,fo=/^",""":'"',"&":"&","
":"\n"," ":"\t"},go=/&(?:lt|gt|quot|amp);/g,_o=/&(?:lt|gt|quot|amp|#10|#9);/g,bo=s("pre,textarea",!0),$o=function(e,t){return e&&bo(e)&&"\n"===t[0]};var wo,Co,xo,ko,Ao,Oo,So,To,Eo=/^@|^v-on:/,jo=/^v-|^@|^:/,No=/([^]*?)\s+(?:in|of)\s+([^]*)/,Lo=/,([^,\}\]]*)(?:,([^,\}\]]*))?$/,Io=/^\(|\)$/g,Mo=/:(.*)$/,Do=/^:|^v-bind:/,Po=/\.[^.]+/g,Fo=e(eo);function Ro(e,t,n){return{type:1,tag:e,attrsList:t,attrsMap:function(e){for(var t={},n=0,r=e.length;n]*>)","i")),n=i.replace(t,function(e,t,n){return r=n.length,ho(o)||"noscript"===o||(t=t.replace(//g,"$1").replace(//g,"$1")),$o(o,t)&&(t=t.slice(1)),d.chars&&d.chars(t),""});a+=i.length-n.length,i=n,A(o,a-r,a)}else{var s=i.indexOf("<");if(0===s){if(fo.test(i)){var c=i.indexOf("--\x3e");if(0<=c){d.shouldKeepComment&&d.comment(i.substring(4,c)),C(c+3);continue}}if(po.test(i)){var l=i.indexOf("]>");if(0<=l){C(l+2);continue}}var u=i.match(uo);if(u){C(u[0].length);continue}var f=i.match(lo);if(f){var p=a;C(f[0].length),A(f[1],p,a);continue}var _=x();if(_){k(_),$o(v,i)&&C(1);continue}}var b=void 0,$=void 0,w=void 0;if(0<=s){for($=i.slice(s);!(lo.test($)||so.test($)||fo.test($)||po.test($)||(w=$.indexOf("<",1))<0);)s+=w,$=i.slice(s);b=i.substring(0,s),C(s)}s<0&&(b=i,i=""),d.chars&&b&&d.chars(b)}if(i===e){d.chars&&d.chars(i);break}}function C(e){a+=e,i=i.substring(e)}function x(){var e=i.match(so);if(e){var t,n,r={tagName:e[1],attrs:[],start:a};for(C(e[0].length);!(t=i.match(co))&&(n=i.match(io));)C(n[0].length),r.attrs.push(n);if(t)return r.unarySlash=t[1],C(t[0].length),r.end=a,r}}function k(e){var t=e.tagName,n=e.unarySlash;m&&("p"===v&&ro(t)&&A(v),g(t)&&v===t&&A(t));for(var r,i,o,a=y(t)||!!n,s=e.attrs.length,c=new Array(s),l=0;l-1"+("true"===d?":("+l+")":":_q("+l+","+d+")")),Ar(c,"change","var $$a="+l+",$$el=$event.target,$$c=$$el.checked?("+d+"):("+v+");if(Array.isArray($$a)){var $$v="+(f?"_n("+p+")":p)+",$$i=_i($$a,$$v);if($$el.checked){$$i<0&&("+Er(l,"$$a.concat([$$v])")+")}else{$$i>-1&&("+Er(l,"$$a.slice(0,$$i).concat($$a.slice($$i+1))")+")}}else{"+Er(l,"$$c")+"}",null,!0);else if("input"===$&&"radio"===w)r=e,i=_,a=(o=b)&&o.number,s=Or(r,"value")||"null",Cr(r,"checked","_q("+i+","+(s=a?"_n("+s+")":s)+")"),Ar(r,"change",Er(i,s),null,!0);else if("input"===$||"textarea"===$)!function(e,t,n){var r=e.attrsMap.type,i=n||{},o=i.lazy,a=i.number,s=i.trim,c=!o&&"range"!==r,l=o?"change":"range"===r?Pr:"input",u="$event.target.value";s&&(u="$event.target.value.trim()"),a&&(u="_n("+u+")");var f=Er(t,u);c&&(f="if($event.target.composing)return;"+f),Cr(e,"value","("+t+")"),Ar(e,l,f,null,!0),(s||a)&&Ar(e,"blur","$forceUpdate()")}(e,_,b);else if(!j.isReservedTag($))return Tr(e,_,b),!1;return!0},text:function(e,t){t.value&&Cr(e,"textContent","_s("+t.value+")")},html:function(e,t){t.value&&Cr(e,"innerHTML","_s("+t.value+")")}},isPreTag:function(e){return"pre"===e},isUnaryTag:to,mustUseProp:Sn,canBeLeftOpenTag:no,isReservedTag:Un,getTagNamespace:Vn,staticKeys:(Go=Wo,Go.reduce(function(e,t){return e.concat(t.staticKeys||[])},[]).join(","))},Qo=e(function(e){return s("type,tag,attrsList,attrsMap,plain,parent,children,attrs"+(e?","+e:""))});function ea(e,t){e&&(Zo=Qo(t.staticKeys||""),Xo=t.isReservedTag||O,function e(t){t.static=function(e){if(2===e.type)return!1;if(3===e.type)return!0;return!(!e.pre&&(e.hasBindings||e.if||e.for||c(e.tag)||!Xo(e.tag)||function(e){for(;e.parent;){if("template"!==(e=e.parent).tag)return!1;if(e.for)return!0}return!1}(e)||!Object.keys(e).every(Zo)))}(t);if(1===t.type){if(!Xo(t.tag)&&"slot"!==t.tag&&null==t.attrsMap["inline-template"])return;for(var n=0,r=t.children.length;n|^function\s*\(/,na=/^[A-Za-z_$][\w$]*(?:\.[A-Za-z_$][\w$]*|\['[^']*?']|\["[^"]*?"]|\[\d+]|\[[A-Za-z_$][\w$]*])*$/,ra={esc:27,tab:9,enter:13,space:32,up:38,left:37,right:39,down:40,delete:[8,46]},ia={esc:"Escape",tab:"Tab",enter:"Enter",space:" ",up:["Up","ArrowUp"],left:["Left","ArrowLeft"],right:["Right","ArrowRight"],down:["Down","ArrowDown"],delete:["Backspace","Delete"]},oa=function(e){return"if("+e+")return null;"},aa={stop:"$event.stopPropagation();",prevent:"$event.preventDefault();",self:oa("$event.target !== $event.currentTarget"),ctrl:oa("!$event.ctrlKey"),shift:oa("!$event.shiftKey"),alt:oa("!$event.altKey"),meta:oa("!$event.metaKey"),left:oa("'button' in $event && $event.button !== 0"),middle:oa("'button' in $event && $event.button !== 1"),right:oa("'button' in $event && $event.button !== 2")};function sa(e,t,n){var r=t?"nativeOn:{":"on:{";for(var i in e)r+='"'+i+'":'+ca(i,e[i])+",";return r.slice(0,-1)+"}"}function ca(t,e){if(!e)return"function(){}";if(Array.isArray(e))return"["+e.map(function(e){return ca(t,e)}).join(",")+"]";var n=na.test(e.value),r=ta.test(e.value);if(e.modifiers){var i="",o="",a=[];for(var s in e.modifiers)if(aa[s])o+=aa[s],ra[s]&&a.push(s);else if("exact"===s){var c=e.modifiers;o+=oa(["ctrl","shift","alt","meta"].filter(function(e){return!c[e]}).map(function(e){return"$event."+e+"Key"}).join("||"))}else a.push(s);return a.length&&(i+="if(!('button' in $event)&&"+a.map(la).join("&&")+")return null;"),o&&(i+=o),"function($event){"+i+(n?"return "+e.value+"($event)":r?"return ("+e.value+")($event)":e.value)+"}"}return n||r?e.value:"function($event){"+e.value+"}"}function la(e){var t=parseInt(e,10);if(t)return"$event.keyCode!=="+t;var n=ra[e],r=ia[e];return"_k($event.keyCode,"+JSON.stringify(e)+","+JSON.stringify(n)+",$event.key,"+JSON.stringify(r)+")"}var ua={on:function(e,t){e.wrapListeners=function(e){return"_g("+e+","+t.value+")"}},bind:function(t,n){t.wrapData=function(e){return"_b("+e+",'"+t.tag+"',"+n.value+","+(n.modifiers&&n.modifiers.prop?"true":"false")+(n.modifiers&&n.modifiers.sync?",true":"")+")"}},cloak:$},fa=function(e){this.options=e,this.warn=e.warn||$r,this.transforms=wr(e.modules,"transformCode"),this.dataGenFns=wr(e.modules,"genData"),this.directives=m(m({},ua),e.directives);var t=e.isReservedTag||O;this.maybeComponent=function(e){return!t(e.tag)},this.onceId=0,this.staticRenderFns=[]};function pa(e,t){var n=new fa(t);return{render:"with(this){return "+(e?da(e,n):'_c("div")')+"}",staticRenderFns:n.staticRenderFns}}function da(e,t){if(e.staticRoot&&!e.staticProcessed)return va(e,t);if(e.once&&!e.onceProcessed)return ha(e,t);if(e.for&&!e.forProcessed)return f=t,v=(u=e).for,h=u.alias,m=u.iterator1?","+u.iterator1:"",y=u.iterator2?","+u.iterator2:"",u.forProcessed=!0,(d||"_l")+"(("+v+"),function("+h+m+y+"){return "+(p||da)(u,f)+"})";if(e.if&&!e.ifProcessed)return ma(e,t);if("template"!==e.tag||e.slotTarget){if("slot"===e.tag)return function(e,t){var n=e.slotName||'"default"',r=_a(e,t),i="_t("+n+(r?","+r:""),o=e.attrs&&"{"+e.attrs.map(function(e){return g(e.name)+":"+e.value}).join(",")+"}",a=e.attrsMap["v-bind"];!o&&!a||r||(i+=",null");o&&(i+=","+o);a&&(i+=(o?"":",null")+","+a);return i+")"}(e,t);var n;if(e.component)a=e.component,c=t,l=(s=e).inlineTemplate?null:_a(s,c,!0),n="_c("+a+","+ya(s,c)+(l?","+l:"")+")";else{var r=e.plain?void 0:ya(e,t),i=e.inlineTemplate?null:_a(e,t,!0);n="_c('"+e.tag+"'"+(r?","+r:"")+(i?","+i:"")+")"}for(var o=0;o':'',0