mirror of https://github.com/statping/statping
				
				
				
			private groups in API - show empty grouped services last on index
							parent
							
								
									5e15a7d8da
								
							
						
					
					
						commit
						f9102ae7d7
					
				| 
						 | 
					@ -50,10 +50,6 @@ func SelectGroups(includeAll bool, auth bool) []*Group {
 | 
				
			||||||
	var groups []*Group
 | 
						var groups []*Group
 | 
				
			||||||
	var validGroups []*Group
 | 
						var validGroups []*Group
 | 
				
			||||||
	groupsDb().Find(&groups).Order("order_id desc")
 | 
						groupsDb().Find(&groups).Order("order_id desc")
 | 
				
			||||||
	if includeAll {
 | 
					 | 
				
			||||||
		emptyGroup := &Group{&types.Group{Id: 0, Public: types.NewNullBool(true)}}
 | 
					 | 
				
			||||||
		groups = append(groups, emptyGroup)
 | 
					 | 
				
			||||||
	}
 | 
					 | 
				
			||||||
	for _, g := range groups {
 | 
						for _, g := range groups {
 | 
				
			||||||
		if !g.Public.Bool {
 | 
							if !g.Public.Bool {
 | 
				
			||||||
			if auth {
 | 
								if auth {
 | 
				
			||||||
| 
						 | 
					@ -64,6 +60,10 @@ func SelectGroups(includeAll bool, auth bool) []*Group {
 | 
				
			||||||
		}
 | 
							}
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
	sort.Sort(GroupOrder(validGroups))
 | 
						sort.Sort(GroupOrder(validGroups))
 | 
				
			||||||
 | 
						if includeAll {
 | 
				
			||||||
 | 
							emptyGroup := &Group{&types.Group{Id: 0, Public: types.NewNullBool(true)}}
 | 
				
			||||||
 | 
							validGroups = append(validGroups, emptyGroup)
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
	return validGroups
 | 
						return validGroups
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -42,6 +42,9 @@ var handlerFuncs = func(w http.ResponseWriter, r *http.Request) template.FuncMap
 | 
				
			||||||
			auth := IsUser(r)
 | 
								auth := IsUser(r)
 | 
				
			||||||
			return core.SelectGroups(includeAll, auth)
 | 
								return core.SelectGroups(includeAll, auth)
 | 
				
			||||||
		},
 | 
							},
 | 
				
			||||||
 | 
							"Group": func(id int) *core.Group {
 | 
				
			||||||
 | 
								return core.SelectGroup(int64(id))
 | 
				
			||||||
 | 
							},
 | 
				
			||||||
		"len": func(g interface{}) int {
 | 
							"len": func(g interface{}) int {
 | 
				
			||||||
			val := reflect.ValueOf(g)
 | 
								val := reflect.ValueOf(g)
 | 
				
			||||||
			return val.Len()
 | 
								return val.Len()
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -41,8 +41,8 @@ func groupViewHandler(w http.ResponseWriter, r *http.Request) {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
// apiAllGroupHandler will show all the groups
 | 
					// apiAllGroupHandler will show all the groups
 | 
				
			||||||
func apiAllGroupHandler(w http.ResponseWriter, r *http.Request) {
 | 
					func apiAllGroupHandler(w http.ResponseWriter, r *http.Request) {
 | 
				
			||||||
	auth := IsUser(r)
 | 
						auth, admin := IsUser(r), IsAdmin(r)
 | 
				
			||||||
	groups := core.SelectGroups(false, auth)
 | 
						groups := core.SelectGroups(admin, auth)
 | 
				
			||||||
	returnJson(groups, w, r)
 | 
						returnJson(groups, w, r)
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -7,66 +7,54 @@
 | 
				
			||||||
/*   Mobile Service Container   */
 | 
					/*   Mobile Service Container   */
 | 
				
			||||||
HTML, BODY {
 | 
					HTML, BODY {
 | 
				
			||||||
  background-color: #fcfcfc;
 | 
					  background-color: #fcfcfc;
 | 
				
			||||||
  padding-bottom: 10px;
 | 
					  padding-bottom: 10px; }
 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
.container {
 | 
					.container {
 | 
				
			||||||
  padding-top: 20px;
 | 
					  padding-top: 20px;
 | 
				
			||||||
  padding-bottom: 25px;
 | 
					  padding-bottom: 25px;
 | 
				
			||||||
  max-width: 860px;
 | 
					  max-width: 860px;
 | 
				
			||||||
  box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15) !important;
 | 
					  box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15) !important; }
 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
.header-title {
 | 
					.header-title {
 | 
				
			||||||
  color: #464646;
 | 
					  color: #464646; }
 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
.header-desc {
 | 
					.header-desc {
 | 
				
			||||||
  color: #939393;
 | 
					  color: #939393; }
 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
.btn {
 | 
					.btn {
 | 
				
			||||||
  border-radius: 0.2rem;
 | 
					  border-radius: 0.2rem; }
 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
.online_list .badge {
 | 
					.online_list .badge {
 | 
				
			||||||
  margin-top: 0.2rem;
 | 
					  margin-top: 0.2rem; }
 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
.navbar {
 | 
					.navbar {
 | 
				
			||||||
  margin-bottom: 30px;
 | 
					  margin-bottom: 30px; }
 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
.btn-sm {
 | 
					.btn-sm {
 | 
				
			||||||
  line-height: 1.3;
 | 
					  line-height: 1.3;
 | 
				
			||||||
  font-size: 0.75rem;
 | 
					  font-size: 0.75rem; }
 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
.view_service_btn {
 | 
					.view_service_btn {
 | 
				
			||||||
  position: absolute;
 | 
					  position: absolute;
 | 
				
			||||||
  bottom: -40px;
 | 
					  bottom: -40px;
 | 
				
			||||||
  right: 40px;
 | 
					  right: 40px; }
 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
.service_lower_info {
 | 
					.service_lower_info {
 | 
				
			||||||
  position: absolute;
 | 
					  position: absolute;
 | 
				
			||||||
  bottom: -40px;
 | 
					  bottom: -40px;
 | 
				
			||||||
  left: 40px;
 | 
					  left: 40px;
 | 
				
			||||||
  color: #d1ffca;
 | 
					  color: #d1ffca;
 | 
				
			||||||
  font-size: 0.85rem;
 | 
					  font-size: 0.85rem; }
 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
.lg_number {
 | 
					.lg_number {
 | 
				
			||||||
  font-size: 2.3rem;
 | 
					  font-size: 2.3rem;
 | 
				
			||||||
  font-weight: bold;
 | 
					  font-weight: bold;
 | 
				
			||||||
  display: block;
 | 
					  display: block;
 | 
				
			||||||
  color: #4f4f4f;
 | 
					  color: #4f4f4f; }
 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
.stats_area {
 | 
					.stats_area {
 | 
				
			||||||
  text-align: center;
 | 
					  text-align: center;
 | 
				
			||||||
  color: #a5a5a5;
 | 
					  color: #a5a5a5; }
 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
.lower_canvas {
 | 
					.lower_canvas {
 | 
				
			||||||
  height: 3.4rem;
 | 
					  height: 3.4rem;
 | 
				
			||||||
| 
						 | 
					@ -74,151 +62,118 @@ HTML, BODY {
 | 
				
			||||||
  background-color: #48d338;
 | 
					  background-color: #48d338;
 | 
				
			||||||
  padding: 15px 10px;
 | 
					  padding: 15px 10px;
 | 
				
			||||||
  margin-left: 0px !important;
 | 
					  margin-left: 0px !important;
 | 
				
			||||||
  margin-right: 0px !important;
 | 
					  margin-right: 0px !important; }
 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
.lower_canvas SPAN {
 | 
					.lower_canvas SPAN {
 | 
				
			||||||
  font-size: 1rem;
 | 
					  font-size: 1rem;
 | 
				
			||||||
  color: #fff;
 | 
					  color: #fff; }
 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
.footer {
 | 
					.footer {
 | 
				
			||||||
  text-decoration: none;
 | 
					  text-decoration: none;
 | 
				
			||||||
  margin-top: 20px;
 | 
					  margin-top: 20px; }
 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
.footer A {
 | 
					.footer A {
 | 
				
			||||||
  color: #8d8d8d;
 | 
					  color: #8d8d8d;
 | 
				
			||||||
  text-decoration: none;
 | 
					  text-decoration: none; }
 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
.footer A:HOVER {
 | 
					.footer A:HOVER {
 | 
				
			||||||
  color: #6d6d6d;
 | 
					  color: #6d6d6d; }
 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
.badge {
 | 
					.badge {
 | 
				
			||||||
  color: white;
 | 
					  color: white;
 | 
				
			||||||
  border-radius: 0.2rem;
 | 
					  border-radius: 0.2rem; }
 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
.btn-group {
 | 
					.btn-group {
 | 
				
			||||||
  height: 25px;
 | 
					  height: 25px; }
 | 
				
			||||||
}
 | 
					  .btn-group A {
 | 
				
			||||||
.btn-group A {
 | 
					    padding: 0.1rem .75rem;
 | 
				
			||||||
  padding: 0.1rem 0.75rem;
 | 
					    font-size: 0.8rem; }
 | 
				
			||||||
  font-size: 0.8rem;
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
.card-body .badge {
 | 
					.card-body .badge {
 | 
				
			||||||
  color: #fff;
 | 
					  color: #fff; }
 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
.nav-pills .nav-link {
 | 
					.nav-pills .nav-link {
 | 
				
			||||||
  border-radius: 0.2rem;
 | 
					  border-radius: 0.2rem; }
 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
.form-control {
 | 
					.form-control {
 | 
				
			||||||
  border-radius: 0.2rem;
 | 
					  border-radius: 0.2rem; }
 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
.card {
 | 
					.card {
 | 
				
			||||||
  background-color: #ffffff;
 | 
					  background-color: #ffffff;
 | 
				
			||||||
  border: 1px solid rgba(0, 0, 0, 0.125);
 | 
					  border: 1px solid rgba(0, 0, 0, 0.125); }
 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
.card-body {
 | 
					.card-body {
 | 
				
			||||||
  overflow: hidden;
 | 
					  overflow: hidden; }
 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
.card-body H4 A {
 | 
					.card-body H4 A {
 | 
				
			||||||
  color: #444444;
 | 
					  color: #444444;
 | 
				
			||||||
  text-decoration: none;
 | 
					  text-decoration: none; }
 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
.chart-container {
 | 
					.chart-container {
 | 
				
			||||||
  position: relative;
 | 
					  position: relative;
 | 
				
			||||||
  height: 170px;
 | 
					  height: 170px;
 | 
				
			||||||
  width: 100%;
 | 
					  width: 100%;
 | 
				
			||||||
  overflow: hidden;
 | 
					  overflow: hidden; }
 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
.service-chart-container {
 | 
					.service-chart-container {
 | 
				
			||||||
  position: relative;
 | 
					  position: relative;
 | 
				
			||||||
  height: 400px;
 | 
					  height: 400px;
 | 
				
			||||||
  width: 100%;
 | 
					  width: 100%; }
 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
.service-chart-heatmap {
 | 
					.service-chart-heatmap {
 | 
				
			||||||
  position: relative;
 | 
					  position: relative;
 | 
				
			||||||
  height: 300px;
 | 
					  height: 300px;
 | 
				
			||||||
  width: 100%;
 | 
					  width: 100%; }
 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
.btn-primary {
 | 
					.btn-primary {
 | 
				
			||||||
  background-color: #3e9bff;
 | 
					  background-color: #3e9bff;
 | 
				
			||||||
  border-color: #006fe6;
 | 
					  border-color: #006fe6;
 | 
				
			||||||
  color: white;
 | 
					  color: white; }
 | 
				
			||||||
}
 | 
					  .btn-primary.dyn-dark {
 | 
				
			||||||
.btn-primary.dyn-dark {
 | 
					    background-color: #32a825 !important;
 | 
				
			||||||
  background-color: #32a825 !important;
 | 
					    border-color: #2c9320 !important; }
 | 
				
			||||||
  border-color: #2c9320 !important;
 | 
					  .btn-primary.dyn-light {
 | 
				
			||||||
}
 | 
					    background-color: #75de69 !important;
 | 
				
			||||||
.btn-primary.dyn-light {
 | 
					    border-color: #88e37e !important; }
 | 
				
			||||||
  background-color: #75de69 !important;
 | 
					 | 
				
			||||||
  border-color: #88e37e !important;
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
.btn-success {
 | 
					.btn-success {
 | 
				
			||||||
  background-color: #47d337;
 | 
					  background-color: #47d337; }
 | 
				
			||||||
}
 | 
					  .btn-success.dyn-dark {
 | 
				
			||||||
.btn-success.dyn-dark {
 | 
					    background-color: #32a825 !important;
 | 
				
			||||||
  background-color: #32a825 !important;
 | 
					    border-color: #2c9320 !important; }
 | 
				
			||||||
  border-color: #2c9320 !important;
 | 
					  .btn-success.dyn-light {
 | 
				
			||||||
}
 | 
					    background-color: #75de69 !important;
 | 
				
			||||||
.btn-success.dyn-light {
 | 
					    border-color: #88e37e !important; }
 | 
				
			||||||
  background-color: #75de69 !important;
 | 
					 | 
				
			||||||
  border-color: #88e37e !important;
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
.btn-danger {
 | 
					.btn-danger {
 | 
				
			||||||
  background-color: #dd3545;
 | 
					  background-color: #dd3545; }
 | 
				
			||||||
}
 | 
					  .btn-danger.dyn-dark {
 | 
				
			||||||
.btn-danger.dyn-dark {
 | 
					    background-color: #b61f2d !important;
 | 
				
			||||||
  background-color: #b61f2d !important;
 | 
					    border-color: #a01b28 !important; }
 | 
				
			||||||
  border-color: #a01b28 !important;
 | 
					  .btn-danger.dyn-light {
 | 
				
			||||||
}
 | 
					    background-color: #e66975 !important;
 | 
				
			||||||
.btn-danger.dyn-light {
 | 
					    border-color: #e97f89 !important; }
 | 
				
			||||||
  background-color: #e66975 !important;
 | 
					 | 
				
			||||||
  border-color: #e97f89 !important;
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
.bg-success {
 | 
					.bg-success {
 | 
				
			||||||
  background-color: #47d337 !important;
 | 
					  background-color: #47d337 !important; }
 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
.bg-danger {
 | 
					.bg-danger {
 | 
				
			||||||
  background-color: #dd3545 !important;
 | 
					  background-color: #dd3545 !important; }
 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
.bg-success .dyn-dark {
 | 
					.bg-success .dyn-dark {
 | 
				
			||||||
  background-color: #35b027 !important;
 | 
					  background-color: #35b027 !important; }
 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
.bg-danger .dyn-dark {
 | 
					.bg-danger .dyn-dark {
 | 
				
			||||||
  background-color: #bf202f !important;
 | 
					  background-color: #bf202f !important; }
 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
.nav-pills .nav-link.active, .nav-pills .show > .nav-link {
 | 
					.nav-pills .nav-link.active, .nav-pills .show > .nav-link {
 | 
				
			||||||
  background-color: #13a00d;
 | 
					  background-color: #13a00d; }
 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
.nav-pills A {
 | 
					.nav-pills A {
 | 
				
			||||||
  color: #424242;
 | 
					  color: #424242; }
 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
.nav-pills I {
 | 
					.nav-pills I {
 | 
				
			||||||
  margin-right: 10px;
 | 
					  margin-right: 10px; }
 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
.CodeMirror {
 | 
					.CodeMirror {
 | 
				
			||||||
  /* Bootstrap Settings */
 | 
					  /* Bootstrap Settings */
 | 
				
			||||||
| 
						 | 
					@ -238,26 +193,23 @@ HTML, BODY {
 | 
				
			||||||
  border: 1px solid #ccc;
 | 
					  border: 1px solid #ccc;
 | 
				
			||||||
  border-radius: 4px;
 | 
					  border-radius: 4px;
 | 
				
			||||||
  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
 | 
					  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
 | 
				
			||||||
  transition: border-color ease-in-out 0.15s, box-shadow ease-in-out 0.15s;
 | 
					  transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s;
 | 
				
			||||||
  /* Code Mirror Settings */
 | 
					  /* Code Mirror Settings */
 | 
				
			||||||
  font-family: monospace;
 | 
					  font-family: monospace;
 | 
				
			||||||
  position: relative;
 | 
					  position: relative;
 | 
				
			||||||
  overflow: hidden;
 | 
					  overflow: hidden;
 | 
				
			||||||
  height: 80vh;
 | 
					  height: 80vh; }
 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
.CodeMirror-focused {
 | 
					.CodeMirror-focused {
 | 
				
			||||||
  /* Bootstrap Settings */
 | 
					  /* Bootstrap Settings */
 | 
				
			||||||
  border-color: #66afe9;
 | 
					  border-color: #66afe9;
 | 
				
			||||||
  outline: 0;
 | 
					  outline: 0;
 | 
				
			||||||
  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 8px rgba(102, 175, 233, 0.6);
 | 
					  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 8px rgba(102, 175, 233, 0.6);
 | 
				
			||||||
  transition: border-color ease-in-out 0.15s, box-shadow ease-in-out 0.15s;
 | 
					  transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s; }
 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
.switch {
 | 
					.switch {
 | 
				
			||||||
  font-size: 1rem;
 | 
					  font-size: 1rem;
 | 
				
			||||||
  position: relative;
 | 
					  position: relative; }
 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
.switch input {
 | 
					.switch input {
 | 
				
			||||||
  position: absolute;
 | 
					  position: absolute;
 | 
				
			||||||
| 
						 | 
					@ -268,8 +220,7 @@ HTML, BODY {
 | 
				
			||||||
  clip: rect(0 0 0 0);
 | 
					  clip: rect(0 0 0 0);
 | 
				
			||||||
  clip-path: inset(50%);
 | 
					  clip-path: inset(50%);
 | 
				
			||||||
  overflow: hidden;
 | 
					  overflow: hidden;
 | 
				
			||||||
  padding: 0;
 | 
					  padding: 0; }
 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
.switch input + label {
 | 
					.switch input + label {
 | 
				
			||||||
  position: relative;
 | 
					  position: relative;
 | 
				
			||||||
| 
						 | 
					@ -282,26 +233,23 @@ HTML, BODY {
 | 
				
			||||||
  outline: none;
 | 
					  outline: none;
 | 
				
			||||||
  user-select: none;
 | 
					  user-select: none;
 | 
				
			||||||
  vertical-align: middle;
 | 
					  vertical-align: middle;
 | 
				
			||||||
  text-indent: calc(calc(calc(2.375rem * .8) * 2) + .5rem);
 | 
					  text-indent: calc(calc(calc(2.375rem * .8) * 2) + .5rem); }
 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
.switch input + label::before,
 | 
					.switch input + label::before,
 | 
				
			||||||
.switch input + label::after {
 | 
					.switch input + label::after {
 | 
				
			||||||
  content: "";
 | 
					  content: '';
 | 
				
			||||||
  position: absolute;
 | 
					  position: absolute;
 | 
				
			||||||
  top: 0;
 | 
					  top: 0;
 | 
				
			||||||
  left: 0;
 | 
					  left: 0;
 | 
				
			||||||
  width: calc(calc(2.375rem * .8) * 2);
 | 
					  width: calc(calc(2.375rem * .8) * 2);
 | 
				
			||||||
  bottom: 0;
 | 
					  bottom: 0;
 | 
				
			||||||
  display: block;
 | 
					  display: block; }
 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
.switch input + label::before {
 | 
					.switch input + label::before {
 | 
				
			||||||
  right: 0;
 | 
					  right: 0;
 | 
				
			||||||
  background-color: #dee2e6;
 | 
					  background-color: #dee2e6;
 | 
				
			||||||
  border-radius: calc(2.375rem * .8);
 | 
					  border-radius: calc(2.375rem * .8);
 | 
				
			||||||
  transition: 0.2s all;
 | 
					  transition: 0.2s all; }
 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
.switch input + label::after {
 | 
					.switch input + label::after {
 | 
				
			||||||
  top: 2px;
 | 
					  top: 2px;
 | 
				
			||||||
| 
						 | 
					@ -310,154 +258,120 @@ HTML, BODY {
 | 
				
			||||||
  height: calc(calc(2.375rem * .8) - calc(2px * 2));
 | 
					  height: calc(calc(2.375rem * .8) - calc(2px * 2));
 | 
				
			||||||
  border-radius: 50%;
 | 
					  border-radius: 50%;
 | 
				
			||||||
  background-color: white;
 | 
					  background-color: white;
 | 
				
			||||||
  transition: 0.2s all;
 | 
					  transition: 0.2s all; }
 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
.switch input:checked + label::before {
 | 
					.switch input:checked + label::before {
 | 
				
			||||||
  background-color: #08d;
 | 
					  background-color: #08d; }
 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
.switch input:checked + label::after {
 | 
					.switch input:checked + label::after {
 | 
				
			||||||
  margin-left: calc(2.375rem * .8);
 | 
					  margin-left: calc(2.375rem * .8); }
 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
.switch input:focus + label::before {
 | 
					.switch input:focus + label::before {
 | 
				
			||||||
  outline: none;
 | 
					  outline: none;
 | 
				
			||||||
  box-shadow: 0 0 0 0.2rem rgba(0, 136, 221, 0.25);
 | 
					  box-shadow: 0 0 0 0.2rem rgba(0, 136, 221, 0.25); }
 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
.switch input:disabled + label {
 | 
					.switch input:disabled + label {
 | 
				
			||||||
  color: #868e96;
 | 
					  color: #868e96;
 | 
				
			||||||
  cursor: not-allowed;
 | 
					  cursor: not-allowed; }
 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
.switch input:disabled + label::before {
 | 
					.switch input:disabled + label::before {
 | 
				
			||||||
  background-color: #e9ecef;
 | 
					  background-color: #e9ecef; }
 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
.switch.switch-sm {
 | 
					.switch.switch-sm {
 | 
				
			||||||
  font-size: 0.875rem;
 | 
					  font-size: 0.875rem; }
 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
.switch.switch-sm input + label {
 | 
					.switch.switch-sm input + label {
 | 
				
			||||||
  min-width: calc(calc(1.9375rem * .8) * 2);
 | 
					  min-width: calc(calc(1.9375rem * .8) * 2);
 | 
				
			||||||
  height: calc(1.9375rem * .8);
 | 
					  height: calc(1.9375rem * .8);
 | 
				
			||||||
  line-height: calc(1.9375rem * .8);
 | 
					  line-height: calc(1.9375rem * .8);
 | 
				
			||||||
  text-indent: calc(calc(calc(1.9375rem * .8) * 2) + .5rem);
 | 
					  text-indent: calc(calc(calc(1.9375rem * .8) * 2) + .5rem); }
 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
.switch.switch-sm input + label::before {
 | 
					.switch.switch-sm input + label::before {
 | 
				
			||||||
  width: calc(calc(1.9375rem * .8) * 2);
 | 
					  width: calc(calc(1.9375rem * .8) * 2); }
 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
.switch.switch-sm input + label::after {
 | 
					.switch.switch-sm input + label::after {
 | 
				
			||||||
  width: calc(calc(1.9375rem * .8) - calc(2px * 2));
 | 
					  width: calc(calc(1.9375rem * .8) - calc(2px * 2));
 | 
				
			||||||
  height: calc(calc(1.9375rem * .8) - calc(2px * 2));
 | 
					  height: calc(calc(1.9375rem * .8) - calc(2px * 2)); }
 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
.switch.switch-sm input:checked + label::after {
 | 
					.switch.switch-sm input:checked + label::after {
 | 
				
			||||||
  margin-left: calc(1.9375rem * .8);
 | 
					  margin-left: calc(1.9375rem * .8); }
 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
.switch.switch-lg {
 | 
					.switch.switch-lg {
 | 
				
			||||||
  font-size: 1.25rem;
 | 
					  font-size: 1.25rem; }
 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
.switch.switch-lg input + label {
 | 
					.switch.switch-lg input + label {
 | 
				
			||||||
  min-width: calc(calc(3rem * .8) * 2);
 | 
					  min-width: calc(calc(3rem * .8) * 2);
 | 
				
			||||||
  height: calc(3rem * .8);
 | 
					  height: calc(3rem * .8);
 | 
				
			||||||
  line-height: calc(3rem * .8);
 | 
					  line-height: calc(3rem * .8);
 | 
				
			||||||
  text-indent: calc(calc(calc(3rem * .8) * 2) + .5rem);
 | 
					  text-indent: calc(calc(calc(3rem * .8) * 2) + .5rem); }
 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
.switch.switch-lg input + label::before {
 | 
					.switch.switch-lg input + label::before {
 | 
				
			||||||
  width: calc(calc(3rem * .8) * 2);
 | 
					  width: calc(calc(3rem * .8) * 2); }
 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
.switch.switch-lg input + label::after {
 | 
					.switch.switch-lg input + label::after {
 | 
				
			||||||
  width: calc(calc(3rem * .8) - calc(2px * 2));
 | 
					  width: calc(calc(3rem * .8) - calc(2px * 2));
 | 
				
			||||||
  height: calc(calc(3rem * .8) - calc(2px * 2));
 | 
					  height: calc(calc(3rem * .8) - calc(2px * 2)); }
 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
.switch.switch-lg input:checked + label::after {
 | 
					.switch.switch-lg input:checked + label::after {
 | 
				
			||||||
  margin-left: calc(3rem * .8);
 | 
					  margin-left: calc(3rem * .8); }
 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
.switch + .switch {
 | 
					.switch + .switch {
 | 
				
			||||||
  margin-left: 1rem;
 | 
					  margin-left: 1rem; }
 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
@keyframes pulse_animation {
 | 
					@keyframes pulse_animation {
 | 
				
			||||||
  0% {
 | 
					  0% {
 | 
				
			||||||
    transform: scale(1);
 | 
					    transform: scale(1); }
 | 
				
			||||||
  }
 | 
					 | 
				
			||||||
  30% {
 | 
					  30% {
 | 
				
			||||||
    transform: scale(1);
 | 
					    transform: scale(1); }
 | 
				
			||||||
  }
 | 
					 | 
				
			||||||
  40% {
 | 
					  40% {
 | 
				
			||||||
    transform: scale(1.02);
 | 
					    transform: scale(1.02); }
 | 
				
			||||||
  }
 | 
					 | 
				
			||||||
  50% {
 | 
					  50% {
 | 
				
			||||||
    transform: scale(1);
 | 
					    transform: scale(1); }
 | 
				
			||||||
  }
 | 
					 | 
				
			||||||
  60% {
 | 
					  60% {
 | 
				
			||||||
    transform: scale(1);
 | 
					    transform: scale(1); }
 | 
				
			||||||
  }
 | 
					 | 
				
			||||||
  70% {
 | 
					  70% {
 | 
				
			||||||
    transform: scale(1.05);
 | 
					    transform: scale(1.05); }
 | 
				
			||||||
  }
 | 
					 | 
				
			||||||
  80% {
 | 
					  80% {
 | 
				
			||||||
    transform: scale(1);
 | 
					    transform: scale(1); }
 | 
				
			||||||
  }
 | 
					 | 
				
			||||||
  100% {
 | 
					  100% {
 | 
				
			||||||
    transform: scale(1);
 | 
					    transform: scale(1); } }
 | 
				
			||||||
  }
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
.pulse {
 | 
					.pulse {
 | 
				
			||||||
  animation-name: pulse_animation;
 | 
					  animation-name: pulse_animation;
 | 
				
			||||||
  animation-duration: 1500ms;
 | 
					  animation-duration: 1500ms;
 | 
				
			||||||
  transform-origin: 70% 70%;
 | 
					  transform-origin: 70% 70%;
 | 
				
			||||||
  animation-iteration-count: infinite;
 | 
					  animation-iteration-count: infinite;
 | 
				
			||||||
  animation-timing-function: linear;
 | 
					  animation-timing-function: linear; }
 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
@keyframes glow-grow {
 | 
					@keyframes glow-grow {
 | 
				
			||||||
  0% {
 | 
					  0% {
 | 
				
			||||||
    opacity: 0;
 | 
					    opacity: 0;
 | 
				
			||||||
    transform: scale(1);
 | 
					    transform: scale(1); }
 | 
				
			||||||
  }
 | 
					 | 
				
			||||||
  80% {
 | 
					  80% {
 | 
				
			||||||
    opacity: 1;
 | 
					    opacity: 1; }
 | 
				
			||||||
  }
 | 
					 | 
				
			||||||
  100% {
 | 
					  100% {
 | 
				
			||||||
    transform: scale(2);
 | 
					    transform: scale(2);
 | 
				
			||||||
    opacity: 0;
 | 
					    opacity: 0; } }
 | 
				
			||||||
  }
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
.pulse-glow {
 | 
					.pulse-glow {
 | 
				
			||||||
  animation-name: glow-grown;
 | 
					  animation-name: glow-grown;
 | 
				
			||||||
  animation-duration: 100ms;
 | 
					  animation-duration: 100ms;
 | 
				
			||||||
  transform-origin: 70% 30%;
 | 
					  transform-origin: 70% 30%;
 | 
				
			||||||
  animation-iteration-count: infinite;
 | 
					  animation-iteration-count: infinite;
 | 
				
			||||||
  animation-timing-function: linear;
 | 
					  animation-timing-function: linear; }
 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
.pulse-glow:before,
 | 
					.pulse-glow:before,
 | 
				
			||||||
.pulse-glow:after {
 | 
					.pulse-glow:after {
 | 
				
			||||||
  position: absolute;
 | 
					  position: absolute;
 | 
				
			||||||
  content: "";
 | 
					  content: '';
 | 
				
			||||||
  height: 0.5rem;
 | 
					  height: 0.5rem;
 | 
				
			||||||
  width: 1.75rem;
 | 
					  width: 1.75rem;
 | 
				
			||||||
  top: 1.2rem;
 | 
					  top: 1.2rem;
 | 
				
			||||||
  right: 2.15rem;
 | 
					  right: 2.15rem;
 | 
				
			||||||
  border-radius: 0;
 | 
					  border-radius: 0;
 | 
				
			||||||
  box-shadow: 0 0 7px #47d337;
 | 
					  box-shadow: 0 0 7px #47d337;
 | 
				
			||||||
  animation: glow-grow 2s ease-out infinite;
 | 
					  animation: glow-grow 2s ease-out infinite; }
 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
.sortable_drag {
 | 
					.sortable_drag {
 | 
				
			||||||
  background-color: #0000000f;
 | 
					  background-color: #0000000f; }
 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
.drag_icon {
 | 
					.drag_icon {
 | 
				
			||||||
  cursor: move;
 | 
					  cursor: move;
 | 
				
			||||||
| 
						 | 
					@ -471,132 +385,106 @@ HTML, BODY {
 | 
				
			||||||
  margin-right: 5px;
 | 
					  margin-right: 5px;
 | 
				
			||||||
  margin-left: -10px;
 | 
					  margin-left: -10px;
 | 
				
			||||||
  text-align: center;
 | 
					  text-align: center;
 | 
				
			||||||
  color: #b1b1b1;
 | 
					  color: #b1b1b1; }
 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
/* (Optional) Apply a "closed-hand" cursor during drag operation. */
 | 
					/* (Optional) Apply a "closed-hand" cursor during drag operation. */
 | 
				
			||||||
.drag_icon:active {
 | 
					.drag_icon:active {
 | 
				
			||||||
  cursor: grabbing;
 | 
					  cursor: grabbing;
 | 
				
			||||||
  cursor: -moz-grabbing;
 | 
					  cursor: -moz-grabbing;
 | 
				
			||||||
  cursor: -webkit-grabbing;
 | 
					  cursor: -webkit-grabbing; }
 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
.switch_btn {
 | 
					.switch_btn {
 | 
				
			||||||
  float: right;
 | 
					  float: right;
 | 
				
			||||||
  margin: -1px 0px 0px 0px;
 | 
					  margin: -1px 0px 0px 0px;
 | 
				
			||||||
  display: block;
 | 
					  display: block; }
 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
#start_container {
 | 
					#start_container {
 | 
				
			||||||
  position: absolute;
 | 
					  position: absolute;
 | 
				
			||||||
  z-index: 99999;
 | 
					  z-index: 99999;
 | 
				
			||||||
  margin-top: 20px;
 | 
					  margin-top: 20px; }
 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
#end_container {
 | 
					#end_container {
 | 
				
			||||||
  position: absolute;
 | 
					  position: absolute;
 | 
				
			||||||
  z-index: 99999;
 | 
					  z-index: 99999;
 | 
				
			||||||
  margin-top: 20px;
 | 
					  margin-top: 20px;
 | 
				
			||||||
  right: 0;
 | 
					  right: 0; }
 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
.pointer {
 | 
					.pointer {
 | 
				
			||||||
  cursor: pointer;
 | 
					  cursor: pointer; }
 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
.jumbotron {
 | 
					.jumbotron {
 | 
				
			||||||
  background-color: white;
 | 
					  background-color: white; }
 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
@media (max-width: 767px) {
 | 
					@media (max-width: 767px) {
 | 
				
			||||||
  HTML, BODY {
 | 
					  HTML, BODY {
 | 
				
			||||||
    background-color: #fcfcfc;
 | 
					    background-color: #fcfcfc; }
 | 
				
			||||||
  }
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
  .sm-container {
 | 
					  .sm-container {
 | 
				
			||||||
    margin-top: 0px !important;
 | 
					    margin-top: 0px !important;
 | 
				
			||||||
    padding: 0 !important;
 | 
					    padding: 0 !important; }
 | 
				
			||||||
  }
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
  .list-group-item H5 {
 | 
					  .list-group-item H5 {
 | 
				
			||||||
    font-size: 0.9rem;
 | 
					    font-size: 0.9rem; }
 | 
				
			||||||
  }
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
  .container {
 | 
					  .container {
 | 
				
			||||||
    padding: 0px !important;
 | 
					    padding: 0px !important;
 | 
				
			||||||
    padding-top: 15px !important;
 | 
					    padding-top: 15px !important; }
 | 
				
			||||||
  }
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
  .group_header {
 | 
					  .group_header {
 | 
				
			||||||
    margin-left: 15px;
 | 
					    margin-left: 15px; }
 | 
				
			||||||
  }
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
  .navbar {
 | 
					  .navbar {
 | 
				
			||||||
    margin-left: 0px;
 | 
					    margin-left: 0px;
 | 
				
			||||||
    margin-top: 0px;
 | 
					    margin-top: 0px;
 | 
				
			||||||
    width: 100%;
 | 
					    width: 100%;
 | 
				
			||||||
    margin-bottom: 0;
 | 
					    margin-bottom: 0; }
 | 
				
			||||||
  }
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
  .btn-sm {
 | 
					  .btn-sm {
 | 
				
			||||||
    line-height: 0.9rem;
 | 
					    line-height: 0.9rem;
 | 
				
			||||||
    font-size: 0.65rem;
 | 
					    font-size: 0.65rem; }
 | 
				
			||||||
  }
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
  .full-col-12 {
 | 
					  .full-col-12 {
 | 
				
			||||||
    padding-left: 0px;
 | 
					    padding-left: 0px;
 | 
				
			||||||
    padding-right: 0px;
 | 
					    padding-right: 0px; }
 | 
				
			||||||
  }
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
  .card {
 | 
					  .card {
 | 
				
			||||||
    border: 0;
 | 
					    border: 0;
 | 
				
			||||||
    border-radius: 0rem;
 | 
					    border-radius: 0rem;
 | 
				
			||||||
    padding: 0;
 | 
					    padding: 0;
 | 
				
			||||||
    background-color: #ffffff;
 | 
					    background-color: #ffffff; }
 | 
				
			||||||
  }
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
  .card-body {
 | 
					  .card-body {
 | 
				
			||||||
    font-size: 10pt;
 | 
					    font-size: 10pt;
 | 
				
			||||||
    padding: 0px 10px;
 | 
					    padding: 0px 10px; }
 | 
				
			||||||
  }
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
  .lg_number {
 | 
					  .lg_number {
 | 
				
			||||||
    font-size: 7.8vw;
 | 
					    font-size: 7.8vw; }
 | 
				
			||||||
  }
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
  .stats_area {
 | 
					  .stats_area {
 | 
				
			||||||
    margin-top: 1.5rem !important;
 | 
					    margin-top: 1.5rem !important;
 | 
				
			||||||
    margin-bottom: 1.5rem !important;
 | 
					    margin-bottom: 1.5rem !important; }
 | 
				
			||||||
  }
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
  .stats_area .col-4 {
 | 
					  .stats_area .col-4 {
 | 
				
			||||||
    padding-left: 0;
 | 
					    padding-left: 0;
 | 
				
			||||||
    padding-right: 0;
 | 
					    padding-right: 0;
 | 
				
			||||||
    font-size: 0.6rem;
 | 
					    font-size: 0.6rem; }
 | 
				
			||||||
  }
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
  .list-group-item {
 | 
					  .list-group-item {
 | 
				
			||||||
    border-top: 1px solid #e4e4e4;
 | 
					    border-top: 1px solid #e4e4e4;
 | 
				
			||||||
    border: 0px;
 | 
					    border: 0px; }
 | 
				
			||||||
  }
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
  .list-group-item:first-child {
 | 
					  .list-group-item:first-child {
 | 
				
			||||||
    border-top-left-radius: 0;
 | 
					    border-top-left-radius: 0;
 | 
				
			||||||
    border-top-right-radius: 0;
 | 
					    border-top-right-radius: 0; }
 | 
				
			||||||
  }
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
  .list-group-item:last-child {
 | 
					  .list-group-item:last-child {
 | 
				
			||||||
    border-bottom-right-radius: 0;
 | 
					    border-bottom-right-radius: 0;
 | 
				
			||||||
    border-bottom-left-radius: 0;
 | 
					    border-bottom-left-radius: 0; }
 | 
				
			||||||
  }
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
  .list-group-item P {
 | 
					  .list-group-item P {
 | 
				
			||||||
    font-size: 0.7rem;
 | 
					    font-size: 0.7rem; }
 | 
				
			||||||
  }
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
  .service-chart-container {
 | 
					  .service-chart-container {
 | 
				
			||||||
    height: 200px;
 | 
					    height: 200px; } }
 | 
				
			||||||
  }
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
/*# sourceMappingURL=base.css.map */
 | 
					/*# sourceMappingURL=base.css.map */
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -12,6 +12,7 @@
 | 
				
			||||||
                <th scope="col">Name</th>
 | 
					                <th scope="col">Name</th>
 | 
				
			||||||
                <th scope="col" class="d-none d-md-table-cell">Status</th>
 | 
					                <th scope="col" class="d-none d-md-table-cell">Status</th>
 | 
				
			||||||
                <th scope="col">Visibility</th>
 | 
					                <th scope="col">Visibility</th>
 | 
				
			||||||
 | 
					                <th scope="col">Group</th>
 | 
				
			||||||
                <th scope="col"></th>
 | 
					                <th scope="col"></th>
 | 
				
			||||||
            </tr>
 | 
					            </tr>
 | 
				
			||||||
            </thead>
 | 
					            </thead>
 | 
				
			||||||
| 
						 | 
					@ -21,6 +22,7 @@
 | 
				
			||||||
                <td><span class="drag_icon d-none d-md-inline"><i class="fas fa-bars"></i></span> {{.Name}}</td>
 | 
					                <td><span class="drag_icon d-none d-md-inline"><i class="fas fa-bars"></i></span> {{.Name}}</td>
 | 
				
			||||||
                <td class="d-none d-md-table-cell">{{if .Online}}<span class="badge badge-success">ONLINE</span>{{else}}<span class="badge badge-danger">OFFLINE</span>{{end}}</td>
 | 
					                <td class="d-none d-md-table-cell">{{if .Online}}<span class="badge badge-success">ONLINE</span>{{else}}<span class="badge badge-danger">OFFLINE</span>{{end}}</td>
 | 
				
			||||||
                <td class="d-none d-md-table-cell">{{if .Public.Bool}}<span class="badge badge-primary">PUBLIC</span>{{else}}<span class="badge badge-secondary">PRIVATE</span>{{end}}</td>
 | 
					                <td class="d-none d-md-table-cell">{{if .Public.Bool}}<span class="badge badge-primary">PUBLIC</span>{{else}}<span class="badge badge-secondary">PRIVATE</span>{{end}}</td>
 | 
				
			||||||
 | 
					                <td class="d-none d-md-table-cell">{{if ne .GroupId 0}}<span class="badge badge-secondary">{{(Group .GroupId).Name}}</span>{{end}}</td>
 | 
				
			||||||
                <td class="text-right">
 | 
					                <td class="text-right">
 | 
				
			||||||
                    <div class="btn-group">
 | 
					                    <div class="btn-group">
 | 
				
			||||||
                        <a href="/service/{{ServiceLink .}}" class="btn btn-outline-secondary"><i class="fas fa-chart-area"></i> View</a>
 | 
					                        <a href="/service/{{ServiceLink .}}" class="btn btn-outline-secondary"><i class="fas fa-chart-area"></i> View</a>
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -1,6 +1,6 @@
 | 
				
			||||||
// Code generated by go generate; DO NOT EDIT.
 | 
					// Code generated by go generate; DO NOT EDIT.
 | 
				
			||||||
// This file was generated by robots at
 | 
					// This file was generated by robots at
 | 
				
			||||||
// 2019-03-21 22:32:21.288109 -0700 PDT m=+0.474439036
 | 
					// 2019-04-08 10:43:08.805735 -0700 PDT m=+0.578178370
 | 
				
			||||||
//
 | 
					//
 | 
				
			||||||
// This contains the most recently Markdown source for the Statping Wiki.
 | 
					// This contains the most recently Markdown source for the Statping Wiki.
 | 
				
			||||||
package source
 | 
					package source
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -1 +1 @@
 | 
				
			||||||
0.80.54
 | 
					0.80.55
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
		Reference in New Issue