Js Script
<script src="../../Scripts/handlebars-v1.3.0.js"></script>
<script id="service-status-details-template" type="text/x-handlebars-template">
{{#each values}}
<div class="top-buffer-10">
<div class="pull-left">{{ServiceName}}</div>
<span style="margin-left: 15px;"></span>
<div class="pull-right">
<span class="service-details-time">{{TimeDurationAgo}} AGO</span>
{{#if IsUp}}
<span class="glyphicon glyphicon-ok-sign" style="color: #5cb85c;"></span>
{{else}}
<span class="glyphicon glyphicon-exclamation-sign" style="color: #ff4f28;"></span>
{{/if}}
</div>
</div>
{{/each}}
</script>
<div style="z-index: 10;display: none;" id="service-status-details">
</div>
<a id="service-status" style="margin-left: 30%;" data-placement="bottom" href="#"></a>
<script>
var serviceStatusUrl = '@Url.Action("GetMonitoringServicesStatus")';
$(document).ready(function () {
$("#service-status").popover(
{
html: true,
content: function () {
return $('#service-status-details').html();
}
});
refreshServiceStatus();
//window.setInterval(refreshServiceStatus, 5 * 60 * 1000 /*frequency set to 5 mins*/);
});
function refreshServiceStatus() { /*should be change to set interval*/
$.ajax({
type: 'POST',
url: serviceStatusUrl, /*this value is set in _monitoringServices.cshtml */
success: function (data) {
applyToJsTemplate("service-status-details", "service-status-details-template", data);
if (!data.isOk) {
$("#service-status").attr("class", "btn glyphicon glyphicon-exclamation-sign");
$("#service-status").css("color", "#ff4f28");
} else {
$("#service-status").attr("class", "btn glyphicon glyphicon-ok-sign");
$("#service-status").css("color", "#5cb85c");
}
},
dataType: "json"
});
}
function applyToJsTemplate(layoutId, templateId, data) {
$("#" + layoutId).html(Handlebars.compile($("#" + templateId).html())(data));
}
</script>
Css
<style>
.popover-content {
background-color: #dadada;
}
.service-details-time {
color: #adadad;
}
.service-details-name {
color: #5d5d5d;
}
.popover {
max-width: 100%;
}
</style>
C#
public JsonResult GetMonitoringServicesStatus()
{
if (DateTime.Now.Second % 2 == 0)
{
var serviceList = Builder<MonitoringServicesModel>.CreateListOfSize(5)
.TheFirst(1).With(m => m.ServiceName, "Active Directory").With(m => m.IsUp, false).With(m => m.TimeDurationAgo, "11 MINS")
.TheNext(1).With(m => m.ServiceName, "aZure.Microsoft.com").With(m => m.IsUp, true).With(m => m.TimeDurationAgo, "5 MINS")
.TheNext(1).With(m => m.ServiceName, "aZure Preview Portal").With(m => m.IsUp, false).With(m => m.TimeDurationAgo, "16 MINS")
.TheNext(1).With(m => m.ServiceName, "Management Portal").With(m => m.IsUp, false).With(m => m.TimeDurationAgo, "31 MINS")
.TheNext(1).With(m => m.ServiceName, "Network Infrastructure").With(m => m.IsUp, true).With(m => m.TimeDurationAgo, "1 MINS")
.Build();
var allUp = serviceList.All(s => s.IsUp);
return Json(new { isOk = allUp, values = serviceList }, JsonRequestBehavior.AllowGet);
}
else
{
var serviceList = Builder<MonitoringServicesModel>.CreateListOfSize(5)
.TheFirst(1).With(m => m.ServiceName, "Active Directory").With(m => m.IsUp, true).With(m => m.TimeDurationAgo, "1 MINS")
.TheNext(1).With(m => m.ServiceName, "aZure.Microsoft.com").With(m => m.IsUp, true).With(m => m.TimeDurationAgo, "26 MINS")
.TheNext(1).With(m => m.ServiceName, "aZure Preview Portal").With(m => m.IsUp, true).With(m => m.TimeDurationAgo, "16 MINS")
.TheNext(1).With(m => m.ServiceName, "Management Portal").With(m => m.IsUp, true).With(m => m.TimeDurationAgo, "5 SECONDS")
.TheNext(1).With(m => m.ServiceName, "Network Infrastructure").With(m => m.IsUp, true).With(m => m.TimeDurationAgo, "1 MINS")
.Build();
var allUp = serviceList.All(s => s.IsUp);
return Json(new { isOk = allUp, values = serviceList }, JsonRequestBehavior.AllowGet);
}
}
public class MonitoringServicesModel
{
public string ServiceName { get; set; }
public string TimeDurationAgo { get; set; }
public bool IsUp { get; set; }
}
分享到:
相关推荐
基于HTML+CSS+JS+JQuery+BootStrap仿天猫官网预览地址:.zip基于HTML+CSS+JS+JQuery+BootStrap仿天猫官网预览地址:.zip基于HTML+CSS+JS+JQuery+BootStrap仿天猫官网预览地址:.zip基于HTML+CSS+JS+JQuery+BootStrap...
01. 采用后台及前台的 Spring + Spring mvc + Hibernate + Bootstrap 02. 后台全注解式的开发(除了必要的spring和hibernate的xml配置以外) 03. 后台通过自定义注解结合一个访问拦截器实现整个系统的权限控制 04...
《基于Spring MVC+Spring+Hibernate+Bootstrap+MySQL的考勤及薪酬管理系统详解》 在现代企业信息化管理中,考勤和薪酬管理是至关重要的部分,它们直接影响到员工的工作积极性和公司的运营效率。本文将深入探讨一个...
Java毕设:考评系统,采用springboot+bootstrap+jquery Java毕设:考评系统,采用springboot+bootstrap+jquery Java毕设:考评系统,采用springboot+bootstrap+jquery Java毕设:考评系统,采用springboot+bootstrap...
在本项目中,我们利用了Java技术栈中的四个核心组件:Spring MVC、Spring、Hibernate以及Bootstrap,构建了一个全面的图书管理系统。这个系统旨在提供高效、用户友好的图书管理功能,涵盖了从图书入库、检索到借阅、...
这是一个基于Java技术栈的通用后台管理系统,主要使用了Spring MVC、Spring、Hibernate、Bootstrap和Maven等技术。这些技术在IT行业中广泛应用于企业级Web应用开发,构建高效、可维护的系统。下面将分别详细解释这些...
asp.net MVC5 + Bootstrap 增删改查分页(重点是里面的table及分页用法)。另外说一下项目用到了bootstrap-table,bootstrap-dialog,bootstrap-daterangepicker组件,很不错的几个组件
ASP.NET MVC(Model-View-Controller)是微软提供的一款用于构建Web应用程序的开源框架,它基于模式驱动的架构,允许开发者在模型、视图和控制器之间实现松散耦合。该框架提供了高度的可测试性、灵活的URL路由、以及...
1、大型互联网平台后台管理系统是一套基于ASP.NET MVC+EF6+Bootstrap开发出来的框架,可完全实现二次开发、基本满足80%项目需求。 二、功能介绍 1、可以帮助解决.NET项目70%的重复工作,让开发更多关注业务逻辑。...
项目描述 它是一个针对汽车销售有关的后台管理...spring+spring mvc+mybatis+bootstrap+jquery 数据库文件 链接:https://pan.baidu.com/s/1qWF4Nx3xGjjtW3fW-pjRDg 提取码:nfwj jar包文件 压缩包WEB-INF/lib下
【项目原型】spring+spring mvc+mybatis+shiro+maven+bootstrap+ajax+json+分页+逆向工程 包含现在最流行的技术框架,快速部署各种应用,加入shiro权限框架,安全,美观,你值得拥有
ASP.NET MVC4+EF6+Bootstrap3 构建的通用后台管理系统是一个强大的开发工具,尤其适合于构建OA(办公自动化)、ERP(企业资源规划)、BPM(业务流程管理)、CRM(客户关系管理)、WMS(仓储管理系统)、TMS(运输...
标题中的“通用开发平台(spring mvc + spring + bootstrap + hibernate)”指的是一个基于Java技术栈构建的高效、可复用的Web开发框架。这个框架整合了Spring MVC、Spring、Bootstrap和Hibernate四个核心组件,旨在...
ASP.NET后台通用MVC+EF6+Bootstrap开发框架,全部采用最新的技术,后代代码采用IOC+AOP+DDD模式,灵活性强。绝对的asp.net开发者的福利,绝对的asp.net开发者的福利,绝对的asp.net开发者的福利,绝对的asp.net...
Asp.Net MVC是一种基于Microsoft .NET Framework的开源应用程序框架,用于构建动态、数据驱动的Web应用程序。它结合了ASP.NET的便利性和Model-View-Controller(MVC)的设计模式,提供了一个灵活、测试友好且可控制...
在本项目中,"springboot+mvc+mybatis(通用mapper)+druid+jsp+bootstrap实现权限管理文件上传下载多数据源切换" 是一个综合性的Web应用开发实践,它涵盖了多个核心技术和工具,用于构建一个功能强大的后台系统。...
系统后端基于SpringMVC+Spring+Hibernate框架,前端页面采用JQuery+Bootstrap等主流技术; 流程引擎基于Snaker工作流;表单设计器基于雷劈网WEB表单设计器。 系统主要功能有: >1.系统管理 >>系统管理包含有:基础...
1、一套基于ASP.NET MVC+EF6+Bootstrap开发出来的框架,源代码完全开源,可以帮助你解决C#以及.NET项目68%的重复工作,让开发人员远离加班。 2、使用ApacheLicense2.0协议,采用主流框架,容易上手,简单易学,学习...
旅游趋势大屏 框架:Python + html + css + jquery + bootstrap + json 数据库:无 数据集基于json接口的形式获取。 角色管理员 admin 123456 模块介绍 登录模块 大屏模块 数据库设计:无数据库
在.NET MVC5和Bootstrap的基础上,fileinput插件被整合进来,实现了多图片上传的功能,这对于内容丰富的Web应用如博客、电商平台等尤其重要。 在项目zzkMvc中,我们可以看到一系列的文件和文件夹,包括控制器...