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