http://git-wip-us.apache.org/repos/asf/incubator-rocketmq-externals/blob/4b8f1357/rocketmq-console-ng/src/main/resources/static/src/topic.js ---------------------------------------------------------------------- diff --git a/rocketmq-console-ng/src/main/resources/static/src/topic.js b/rocketmq-console-ng/src/main/resources/static/src/topic.js new file mode 100644 index 0000000..047fbe2 --- /dev/null +++ b/rocketmq-console-ng/src/main/resources/static/src/topic.js @@ -0,0 +1,406 @@ +/** + * Created by tcrow on 2017/1/12 0012. + */ +var module = app; + +module.directive('ngConfirmClick', [ + function(){ + return { + link: function (scope, element, attr) { + var msg = attr.ngConfirmClick || "Are you sure?"; + var clickAction = attr.confirmedClick; + element.bind('click',function (event) { + if ( window.confirm(msg) ) { + scope.$eval(clickAction) + } + }); + } + }; + }]); +module.controller('topicController', ['$scope', 'ngDialog', '$http','Notification',function ($scope, ngDialog, $http,Notification) { + $scope.paginationConf = { + currentPage: 1, + totalItems: 0, + itemsPerPage: 10, + pagesLength: 15, + perPageOptions: [10], + rememberPerPage: 'perPageItems', + onChange: function () { + $scope.showTopicList(this.currentPage,this.totalItems); + + } + }; + $scope.filterNormal = true + $scope.filterRetry = false + $scope.filterDLQ = false + $scope.allTopicList = []; + $scope.topicShowList = []; + $http({ + method: "GET", + url: "topic/list.query" + }).success(function (resp) { + if(resp.status ==0){ + $scope.allTopicList = resp.data.topicList.sort(); + console.log($scope.allTopicList); + console.log(JSON.stringify(resp)); + $scope.showTopicList(1,$scope.allTopicList.length); + + }else { + Notification.error({message: resp.errMsg, delay: 5000}); + } + + }); + $scope.filterStr=""; + $scope.$watch('filterStr', function() { + $scope.filterList(1); + }); + $scope.$watch('filterNormal', function() { + $scope.filterList(1); + }); + $scope.$watch('filterRetry', function() { + $scope.filterList(1); + }); + $scope.$watch('filterDLQ', function() { + $scope.filterList(1); + }); + $scope.filterList = function (currentPage) { + var lowExceptStr = $scope.filterStr.toLowerCase(); + var canShowList = []; + + $scope.allTopicList.forEach(function(element) { + if($scope.filterByType(element)){ + if (element.toLowerCase().indexOf(lowExceptStr) != -1){ + canShowList.push(element); + } + } + }); + $scope.paginationConf.totalItems =canShowList.length; + var perPage = $scope.paginationConf.itemsPerPage; + var from = (currentPage - 1) * perPage; + var to = (from + perPage)>canShowList.length?canShowList.length:from + perPage; + $scope.topicShowList = canShowList.slice(from, to); + }; + + $scope.filterByType = function(str){ + if($scope.filterRetry){ + if(str.startsWith("%R")){ + return true + } + } + if($scope.filterDLQ){ + if(str.startsWith("%D")){ + return true + } + } + if($scope.filterNormal){ + if(str.startsWith("%") == false){ + return true + } + } + return false; + }; + + $scope.showTopicList = function (currentPage,totalItem) { + if($scope.filterStr != ""){ + $scope.filterList(currentPage); + return; + } + var perPage = $scope.paginationConf.itemsPerPage; + var from = (currentPage - 1) * perPage; + var to = (from + perPage)>totalItem?totalItem:from + perPage; + console.log($scope.allTopicList); + console.log(from) + console.log(to) + $scope.topicShowList = $scope.allTopicList.slice(from, to); + $scope.paginationConf.totalItems = totalItem ; + console.log($scope.topicShowList) + console.log($scope.paginationConf.totalItems) + $scope.filterList(currentPage); + }; + $scope.deleteTopic= function (topic) { + $http({ + method: "POST", + url: "topic/deleteTopic.do", + params:{ + topic:topic + } + }).success(function (resp) { + if(resp.status ==0){ + Notification.info({message: "delete success!", delay: 2000}); + }else { + Notification.error({message: resp.errMsg, delay: 2000}); + } + }); + }; + $scope.statsView = function (topic) { + $http({ + method: "GET", + url: "topic/stats.query", + params: {topic: topic} + }).success(function (resp) { + if (resp.status == 0) { + console.log(JSON.stringify(resp)); + ngDialog.open({ + template: 'statsViewDialog', + trapFocus:false, + data:{ + topic:topic, + statsData:resp.data + } + }); + }else { + Notification.error({message: resp.errMsg, delay: 2000}); + } + }) + }; + $scope.routerView = function (topic) { + $http({ + method: "GET", + url: "topic/route.query", + params: {topic: topic} + }).success(function (resp) { + if (resp.status == 0) { + console.log(JSON.stringify(resp)); + ngDialog.open({ + template: 'routerViewDialog', + controller: 'routerViewDialogController', + trapFocus:false, + data:{ + topic:topic, + routeData:resp.data + } + }); + }else { + Notification.error({message: resp.errMsg, delay: 2000}); + } + }) + }; + + + $scope.consumerView = function (topic) { + $http({ + method: "GET", + url: "topic/queryConsumerByTopic.query", + params: {topic: topic} + }).success(function (resp) { + if (resp.status == 0) { + console.log(JSON.stringify(resp)); + ngDialog.open({ + template: 'consumerViewDialog', + data:{ + topic:topic, + consumerData:resp.data, + consumerGroupCount:Object.keys(resp.data).length + } + }); + }else { + Notification.error({message: resp.errMsg, delay: 2000}); + } + }) + }; + $scope.openDeleteTopicDialog = function (topic) { + ngDialog.open({ + template: 'deleteTopicDialog', + controller: 'deleteTopicDialogController', + data:{ + topic:topic, + consumerData:"asd" + } + }); + }; + + $scope.openConsumerResetOffsetDialog = function (topic) { + + $http({ + method: "GET", + url: "topic/queryTopicConsumerInfo.query", + params:{ + topic:topic + } + }).success(function (resp) { + if(resp.status ==0){ + if(resp.data.groupList == null){ + Notification.error({message: "don't have consume group!", delay: 2000}); + return + } + ngDialog.open({ + template: 'consumerResetOffsetDialog', + controller: 'consumerResetOffsetDialogController', + data:{ + topic: topic, + selectedConsumerGroup:[], + allConsumerGroupList:resp.data.groupList + } + }); + }else { + Notification.error({message: resp.errMsg, delay: 2000}); + } + }); + + }; + + + $scope.openSendTopicMessageDialog = function (topic) { + ngDialog.open({ + template: 'sendTopicMessageDialog', + controller: 'sendTopicMessageDialogController', + data: { + topic: topic + } + }); + }; + + $scope.openUpdateDialog = function (topic) { + $http({ + method: "GET", + url: "topic/examineTopicConfig.query", + params:{ + topic:topic + } + }).success(function (resp) { + if(resp.status ==0){ + $scope.openCreateOrUpdateDialog(resp.data); + }else { + Notification.error({message: resp.errMsg, delay: 2000}); + } + }); + }; + + $scope.openCreateOrUpdateDialog = function (request) { + var bIsUpdate = true; + + if(request == null){ + request = [{ + writeQueueNums:16, + readQueueNums:16, + perm:6, + order:false, + topicName:"", + brokerNameList:[] + }]; + bIsUpdate = false; + } + $http({ + method: "GET", + url: "cluster/list.query" + }).success(function (resp) { + if(resp.status ==0){ + console.log(resp); + ngDialog.open({ + template: 'topicModifyDialog', + controller: 'topicModifyDialogController', + data:{ + topicRequestList:request, + allClusterNameList:Object.keys(resp.data.clusterInfo.clusterAddrTable), + allBrokerNameList:Object.keys(resp.data.brokerServer), + bIsUpdate:bIsUpdate + } + }); + } + }); + } + + $scope.openAddDialog = function () { + $scope.openCreateOrUpdateDialog(null); + } + +}]); + +module.controller('topicModifyDialogController', ['$scope', 'ngDialog', '$http','Notification',function ($scope, ngDialog, $http,Notification) { + $scope.postTopicRequest = function (topicRequestItem) { + console.log(topicRequestItem); + var request = JSON.parse(JSON.stringify(topicRequestItem)); + console.log(request); + $http({ + method: "POST", + url: "topic/createOrUpdate.do", + data:request + }).success(function (resp) { + if(resp.status ==0){ + Notification.info({message: "success!", delay: 2000}); + }else { + Notification.error({message: resp.errMsg, delay: 2000}); + } + }); + } + }] +); +module.controller('consumerResetOffsetDialogController',['$scope', 'ngDialog', '$http','Notification', function ($scope, ngDialog, $http,Notification) { + $scope.timepicker = {}; + $scope.timepicker.date = moment().format('YYYY-MM-DD HH:mm'); + $scope.timepicker.options = {format: 'YYYY-MM-DD HH:mm', showClear: true}; + $scope.resetOffset = function () { + console.log($scope.timepicker.date); + console.log($scope.timepicker.date.valueOf()); + console.log($scope.ngDialogData.selectedConsumerGroup); + $http({ + method: "POST", + url: "consumer/resetOffset.do", + data: { + resetTime: $scope.timepicker.date.valueOf(), + consumerGroupList: $scope.ngDialogData.selectedConsumerGroup, + topic:$scope.ngDialogData.topic, + force:true + } + }).success(function (resp) { + if(resp.status ==0){ + ngDialog.open({ + template: 'resetOffsetResultDialog', + data:{ + result:resp.data + } + }); + }else { + Notification.error({message: resp.errMsg, delay: 2000}); + } + }) + } + }] +); + +module.controller('sendTopicMessageDialogController', ['$scope', 'ngDialog', '$http','Notification',function ($scope, ngDialog, $http,Notification) { + $scope.sendTopicMessage = { + topic: $scope.ngDialogData.topic, + key: "key", + tag:"tag", + messageBody:"messageBody" + }; + $scope.send = function () { + $http({ + method: "POST", + url: "topic/sendTopicMessage.do", + data: $scope.sendTopicMessage + }).success(function (resp) { + if(resp.status ==0){ + ngDialog.open({ + template: 'sendResultDialog', + data:{ + result:resp.data + } + }); + }else { + Notification.error({message: resp.errMsg, delay: 2000}); + } + }) + } + }] + +); + +module.controller('routerViewDialogController', ['$scope', 'ngDialog', '$http','Notification',function ($scope, ngDialog, $http,Notification) { + $scope.deleteTopicByBroker = function (broker) { + $http({ + method: "POST", + url: "topic/deleteTopicByBroker.do", + params: {brokerName:broker.brokerName,topic:$scope.ngDialogData.topic} + }).success(function (resp) { + if(resp.status ==0){ + Notification.info({message: "delete success", delay: 2000}); + }else { + Notification.error({message: resp.errMsg, delay: 2000}); + } + }) + }; + }] + +); \ No newline at end of file
http://git-wip-us.apache.org/repos/asf/incubator-rocketmq-externals/blob/4b8f1357/rocketmq-console-ng/src/main/resources/static/style/animate.css ---------------------------------------------------------------------- diff --git a/rocketmq-console-ng/src/main/resources/static/style/animate.css b/rocketmq-console-ng/src/main/resources/static/style/animate.css new file mode 100644 index 0000000..e3f0d0e --- /dev/null +++ b/rocketmq-console-ng/src/main/resources/static/style/animate.css @@ -0,0 +1,32 @@ +.view { +} + +.view .ng-enter { + overflow-y: auto; +} + +.view .ng-leave { + opacity: 0; + -webkit-transition: opacity .2s linear; + transition: opacity 0.2s linear; +} + +.ng-hide-add { + transform: rotateZ(0); + transform-origin: right; + transition: all 0.2s ease-in-out; +} + +.ng-hide-add.ng-hide-add-active { + transform: rotateZ(-135deg); +} + +.ng-hide-remove { + transform: rotateY(90deg); + transform-origin: left; + transition: all 0.2s ease; +} + +.ng-hide-remove.ng-hide-remove-active { + transform: rotateY(0); +} http://git-wip-us.apache.org/repos/asf/incubator-rocketmq-externals/blob/4b8f1357/rocketmq-console-ng/src/main/resources/static/style/app.css ---------------------------------------------------------------------- diff --git a/rocketmq-console-ng/src/main/resources/static/style/app.css b/rocketmq-console-ng/src/main/resources/static/style/app.css new file mode 100644 index 0000000..1941c11 --- /dev/null +++ b/rocketmq-console-ng/src/main/resources/static/style/app.css @@ -0,0 +1,274 @@ +/* Write your styles */ +.scrollTo { + position: fixed; + right: 50px; + bottom: 70px; + z-index: 999; +} + +/*.icon_u_c{background:url(/app/img/icon_user_center.png) no-repeat left top;}*/ +.icon { + float: left; + width: 24px; + height: 24px; + display: inline-block; + margin: 10px 18px 0 5px; +} +.icon_alipay { + background:url("/style/img/alipay.png") no-repeat left top; + height:100px; + width: 100px; + margin-top: -40px; +} + +.icon_alipay_active { + background:url("/style/img/alipay_active.png") no-repeat left top; + height:100px; + width: 100px; + margin-top: -40px; +} + +.icon_weipay { + background:url("/style/img/weipay.png") no-repeat left top; + height:100px; + width: 100px; + margin-top: -40px; +} + +.icon_weipay_active { + background:url("/style/img/weipay_active.png") no-repeat left top; + height:100px; + width: 100px; + margin-top: -40px; +} + +.round { + background:#5bc0de; + -moz-border-radius: 5px; + -webkit-border-radius: 5px; + border-radius:5px; + color: #FFFFFF; +} + + +/* ANIMATIONS +============================================================================= */ + +/* leaving animations ----------------------------------------- */ +/* rotate and fall */ +@keyframes rotateFall { + 0% { transform: rotateZ(0deg); } + 20% { transform: rotateZ(10deg); animation-timing-function: ease-out; } + 40% { transform: rotateZ(17deg); } + 60% { transform: rotateZ(16deg); } + 100% { transform: translateY(100%) rotateZ(17deg); } +} + +/* slide in from the bottom */ +@keyframes slideOutLeft { + to { transform: translateX(-100%); } +} + +/*!* rotate out newspaper *!*/ +@keyframes rotateOutNewspaper { + to { transform: translateZ(-3000px) rotateZ(360deg); opacity: 0; } +} + +/* entering animations --------------------------------------- */ +/* scale up */ +@keyframes scaleUp { + from { opacity: 0.3; -webkit-transform: scale(0.8); } +} + +/* slide in from the right */ +@keyframes slideInRight { + from { transform:translateX(100%); } + to { transform: translateX(0); } +} + +/* slide in from the bottom */ +@keyframes slideInUp { + from { transform:translateY(100%); } + to { transform: translateY(0); } +} + +.ng-enter { animation: scaleUp 0.5s both ease-in; z-index: 8888; } +.ng-leave { animation: slideOutLeft 0.2s both ease-in; z-index: 9999; } + + + + +.managerList { + list-style:none; + position: relative; + width: 100%; + margin-left: 20px; +} + +.managerList > li { + width: 95%; + margin-top:10px; +} + +.managerList ul { + list-style-type:none; + float:left; + padding: 0; +} + +.managerList li { + list-style-type:none; + float:left; + padding: 0; +} + +.managerList .head { + width: 90%; +} + +.managerList .footer { + width: 90%; + margin-top: 10px; + margin-left: 50px; +} + +.managerList .checkbox { + width: 50px; +} + +.managerList .liCheck { + width: 50px; +} + +.managerList .liContent { + width: 90%; +} + +.managerList .preview { + width: 50%; + margin-left: 50px; + margin-top: 10px; +} + +.managerList .logo { + margin-top: 9px; + width: 50px; +} + +.managerList .content{ + width: 50%; +} + +.managerList .content ul{ + width: 90%; +} + +.managerList .butt{ + /*width: 20%;*/ +} + +.badgeCustomer { + background-color:#f44336; + margin-top:23px; +} + +.chatPanel { + width: 90%; + float: left; + border: 1px solid #d4d4d4; + border-radius: 2px; + padding: 20px; + position: relative; + -webkit-box-shadow: 0 1px 6px rgba(0, 0, 0, 0.175); + box-shadow: 0 1px 6px rgba(0, 0, 0, 0.175); + float: right; +} + +.chatPanel:after{ + position: absolute; + top: 27px; + right: -14px; + display: inline-block; + border-top: 14px solid transparent; + border-left: 14px solid #fff; + border-right: 0 solid #fff; + border-bottom: 14px solid transparent; + content: " "; +} + +.chatPanel:before{ + position: absolute; + top: 26px; + right: -15px; + display: inline-block; + border-top: 15px solid transparent; + border-left: 15px solid #ccc; + border-right: 0 solid #ccc; + border-bottom: 15px solid transparent; + content: " "; +} + +.chatPanel-left { + float: left; +} +.chatPanel-left:before { + border-left-width: 0; + border-right-width: 15px; + left: -15px; + right: auto; +} +.chatPanel-left:after { + border-left-width: 0; + border-right-width: 14px; + left: -14px; + right: auto; +} + +.xxs-avatar { + width: 10px; + height: 10px; +} + + +.xs-avatar { + width: 50px; + height: 50px; +} + +.md-avatar { + width: 70px; + height: 70px; +} + +.lg-avatar { + width: 100px; + height: 100px; +} + +.text-truncate { + word-wrap: normal; + /* for IE */ + text-overflow: ellipsis; + white-space: nowrap; + overflow: hidden; +} + +.text-yellow { + color:#FFCC66; +} + +.label-xl{ + font-size:150%; +} + +.pointer { + cursor: pointer; +} + +.limit_height{ + height: 600px;overflow-y:auto;overflow-x:hidden; +} + +.table.text-middle>tbody>tr>td,.table.text-middle>tbody>tr>th{ + vertical-align: middle; +} http://git-wip-us.apache.org/repos/asf/incubator-rocketmq-externals/blob/4b8f1357/rocketmq-console-ng/src/main/resources/static/style/btn.css ---------------------------------------------------------------------- diff --git a/rocketmq-console-ng/src/main/resources/static/style/btn.css b/rocketmq-console-ng/src/main/resources/static/style/btn.css new file mode 100644 index 0000000..29d4186 --- /dev/null +++ b/rocketmq-console-ng/src/main/resources/static/style/btn.css @@ -0,0 +1,752 @@ + +.btn, +.navbar .navbar-nav > li > a.btn { + border: none; + border-radius: 3px; + position: relative; + padding: 12px 30px; + margin: 10px 1px; + font-size: 12px; + font-weight: 400; + text-transform: uppercase; + letter-spacing: 0; + will-change: box-shadow, transform; + transition: box-shadow 0.2s cubic-bezier(0.4, 0, 1, 1), background-color 0.2s cubic-bezier(0.4, 0, 0.2, 1); +} +.btn::-moz-focus-inner, +.navbar .navbar-nav > li > a.btn::-moz-focus-inner { + border: 0; +} +.btn, .btn.btn-default, +.navbar .navbar-nav > li > a.btn, +.navbar .navbar-nav > li > a.btn.btn-default { + box-shadow: 0 2px 2px 0 rgba(153, 153, 153, 0.14), 0 3px 1px -2px rgba(153, 153, 153, 0.2), 0 1px 5px 0 rgba(153, 153, 153, 0.12); +} +.btn, .btn:hover, .btn:focus, .btn:active, .btn.active, .btn:active:focus, .btn:active:hover, .btn.active:focus, .btn.active:hover, .open > .btn.dropdown-toggle, .open > .btn.dropdown-toggle:focus, .open > .btn.dropdown-toggle:hover, .btn.btn-default, .btn.btn-default:hover, .btn.btn-default:focus, .btn.btn-default:active, .btn.btn-default.active, .btn.btn-default:active:focus, .btn.btn-default:active:hover, .btn.btn-default.active:focus, .btn.btn-default.active:hover, .open > .btn.btn-default.dropdown-toggle, .open > .btn.btn-default.dropdown-toggle:focus, .open > .btn.btn-default.dropdown-toggle:hover, +.navbar .navbar-nav > li > a.btn, +.navbar .navbar-nav > li > a.btn:hover, +.navbar .navbar-nav > li > a.btn:focus, +.navbar .navbar-nav > li > a.btn:active, +.navbar .navbar-nav > li > a.btn.active, +.navbar .navbar-nav > li > a.btn:active:focus, +.navbar .navbar-nav > li > a.btn:active:hover, +.navbar .navbar-nav > li > a.btn.active:focus, +.navbar .navbar-nav > li > a.btn.active:hover, .open > +.navbar .navbar-nav > li > a.btn.dropdown-toggle, .open > +.navbar .navbar-nav > li > a.btn.dropdown-toggle:focus, .open > +.navbar .navbar-nav > li > a.btn.dropdown-toggle:hover, +.navbar .navbar-nav > li > a.btn.btn-default, +.navbar .navbar-nav > li > a.btn.btn-default:hover, +.navbar .navbar-nav > li > a.btn.btn-default:focus, +.navbar .navbar-nav > li > a.btn.btn-default:active, +.navbar .navbar-nav > li > a.btn.btn-default.active, +.navbar .navbar-nav > li > a.btn.btn-default:active:focus, +.navbar .navbar-nav > li > a.btn.btn-default:active:hover, +.navbar .navbar-nav > li > a.btn.btn-default.active:focus, +.navbar .navbar-nav > li > a.btn.btn-default.active:hover, .open > +.navbar .navbar-nav > li > a.btn.btn-default.dropdown-toggle, .open > +.navbar .navbar-nav > li > a.btn.btn-default.dropdown-toggle:focus, .open > +.navbar .navbar-nav > li > a.btn.btn-default.dropdown-toggle:hover { + background-color: #999999; + color: #FFFFFF; +} +.btn:focus, .btn:active, .btn:hover, .btn.btn-default:focus, .btn.btn-default:active, .btn.btn-default:hover, +.navbar .navbar-nav > li > a.btn:focus, +.navbar .navbar-nav > li > a.btn:active, +.navbar .navbar-nav > li > a.btn:hover, +.navbar .navbar-nav > li > a.btn.btn-default:focus, +.navbar .navbar-nav > li > a.btn.btn-default:active, +.navbar .navbar-nav > li > a.btn.btn-default:hover { + box-shadow: 0 14px 26px -12px rgba(153, 153, 153, 0.42), 0 4px 23px 0px rgba(0, 0, 0, 0.12), 0 8px 10px -5px rgba(153, 153, 153, 0.2); +} +.btn.disabled, .btn.disabled:hover, .btn.disabled:focus, .btn.disabled.focus, .btn.disabled:active, .btn.disabled.active, .btn:disabled, .btn:disabled:hover, .btn:disabled:focus, .btn:disabled.focus, .btn:disabled:active, .btn:disabled.active, .btn[disabled], .btn[disabled]:hover, .btn[disabled]:focus, .btn[disabled].focus, .btn[disabled]:active, .btn[disabled].active, fieldset[disabled] .btn, fieldset[disabled] .btn:hover, fieldset[disabled] .btn:focus, fieldset[disabled] .btn.focus, fieldset[disabled] .btn:active, fieldset[disabled] .btn.active, .btn.btn-default.disabled, .btn.btn-default.disabled:hover, .btn.btn-default.disabled:focus, .btn.btn-default.disabled.focus, .btn.btn-default.disabled:active, .btn.btn-default.disabled.active, .btn.btn-default:disabled, .btn.btn-default:disabled:hover, .btn.btn-default:disabled:focus, .btn.btn-default:disabled.focus, .btn.btn-default:disabled:active, .btn.btn-default:disabled.active, .btn.btn-default[disabled], .btn.btn-default[disabled]: hover, .btn.btn-default[disabled]:focus, .btn.btn-default[disabled].focus, .btn.btn-default[disabled]:active, .btn.btn-default[disabled].active, fieldset[disabled] .btn.btn-default, fieldset[disabled] .btn.btn-default:hover, fieldset[disabled] .btn.btn-default:focus, fieldset[disabled] .btn.btn-default.focus, fieldset[disabled] .btn.btn-default:active, fieldset[disabled] .btn.btn-default.active, +.navbar .navbar-nav > li > a.btn.disabled, +.navbar .navbar-nav > li > a.btn.disabled:hover, +.navbar .navbar-nav > li > a.btn.disabled:focus, +.navbar .navbar-nav > li > a.btn.disabled.focus, +.navbar .navbar-nav > li > a.btn.disabled:active, +.navbar .navbar-nav > li > a.btn.disabled.active, +.navbar .navbar-nav > li > a.btn:disabled, +.navbar .navbar-nav > li > a.btn:disabled:hover, +.navbar .navbar-nav > li > a.btn:disabled:focus, +.navbar .navbar-nav > li > a.btn:disabled.focus, +.navbar .navbar-nav > li > a.btn:disabled:active, +.navbar .navbar-nav > li > a.btn:disabled.active, +.navbar .navbar-nav > li > a.btn[disabled], +.navbar .navbar-nav > li > a.btn[disabled]:hover, +.navbar .navbar-nav > li > a.btn[disabled]:focus, +.navbar .navbar-nav > li > a.btn[disabled].focus, +.navbar .navbar-nav > li > a.btn[disabled]:active, +.navbar .navbar-nav > li > a.btn[disabled].active, fieldset[disabled] +.navbar .navbar-nav > li > a.btn, fieldset[disabled] +.navbar .navbar-nav > li > a.btn:hover, fieldset[disabled] +.navbar .navbar-nav > li > a.btn:focus, fieldset[disabled] +.navbar .navbar-nav > li > a.btn.focus, fieldset[disabled] +.navbar .navbar-nav > li > a.btn:active, fieldset[disabled] +.navbar .navbar-nav > li > a.btn.active, +.navbar .navbar-nav > li > a.btn.btn-default.disabled, +.navbar .navbar-nav > li > a.btn.btn-default.disabled:hover, +.navbar .navbar-nav > li > a.btn.btn-default.disabled:focus, +.navbar .navbar-nav > li > a.btn.btn-default.disabled.focus, +.navbar .navbar-nav > li > a.btn.btn-default.disabled:active, +.navbar .navbar-nav > li > a.btn.btn-default.disabled.active, +.navbar .navbar-nav > li > a.btn.btn-default:disabled, +.navbar .navbar-nav > li > a.btn.btn-default:disabled:hover, +.navbar .navbar-nav > li > a.btn.btn-default:disabled:focus, +.navbar .navbar-nav > li > a.btn.btn-default:disabled.focus, +.navbar .navbar-nav > li > a.btn.btn-default:disabled:active, +.navbar .navbar-nav > li > a.btn.btn-default:disabled.active, +.navbar .navbar-nav > li > a.btn.btn-default[disabled], +.navbar .navbar-nav > li > a.btn.btn-default[disabled]:hover, +.navbar .navbar-nav > li > a.btn.btn-default[disabled]:focus, +.navbar .navbar-nav > li > a.btn.btn-default[disabled].focus, +.navbar .navbar-nav > li > a.btn.btn-default[disabled]:active, +.navbar .navbar-nav > li > a.btn.btn-default[disabled].active, fieldset[disabled] +.navbar .navbar-nav > li > a.btn.btn-default, fieldset[disabled] +.navbar .navbar-nav > li > a.btn.btn-default:hover, fieldset[disabled] +.navbar .navbar-nav > li > a.btn.btn-default:focus, fieldset[disabled] +.navbar .navbar-nav > li > a.btn.btn-default.focus, fieldset[disabled] +.navbar .navbar-nav > li > a.btn.btn-default:active, fieldset[disabled] +.navbar .navbar-nav > li > a.btn.btn-default.active { + box-shadow: none; +} +.btn.btn-simple, .btn.btn-default.btn-simple, +.navbar .navbar-nav > li > a.btn.btn-simple, +.navbar .navbar-nav > li > a.btn.btn-default.btn-simple { + background-color: transparent; + color: #999999; + box-shadow: none; +} +.btn.btn-simple:hover, .btn.btn-simple:focus, .btn.btn-simple:active, .btn.btn-default.btn-simple:hover, .btn.btn-default.btn-simple:focus, .btn.btn-default.btn-simple:active, +.navbar .navbar-nav > li > a.btn.btn-simple:hover, +.navbar .navbar-nav > li > a.btn.btn-simple:focus, +.navbar .navbar-nav > li > a.btn.btn-simple:active, +.navbar .navbar-nav > li > a.btn.btn-default.btn-simple:hover, +.navbar .navbar-nav > li > a.btn.btn-default.btn-simple:focus, +.navbar .navbar-nav > li > a.btn.btn-default.btn-simple:active { + background-color: transparent; + color: #999999; +} +.btn.btn-primary, +.navbar .navbar-nav > li > a.btn.btn-primary { + box-shadow: 0 2px 2px 0 rgba(156, 39, 176, 0.14), 0 3px 1px -2px rgba(156, 39, 176, 0.2), 0 1px 5px 0 rgba(156, 39, 176, 0.12); +} +.btn.btn-primary, .btn.btn-primary:hover, .btn.btn-primary:focus, .btn.btn-primary:active, .btn.btn-primary.active, .btn.btn-primary:active:focus, .btn.btn-primary:active:hover, .btn.btn-primary.active:focus, .btn.btn-primary.active:hover, .open > .btn.btn-primary.dropdown-toggle, .open > .btn.btn-primary.dropdown-toggle:focus, .open > .btn.btn-primary.dropdown-toggle:hover, +.navbar .navbar-nav > li > a.btn.btn-primary, +.navbar .navbar-nav > li > a.btn.btn-primary:hover, +.navbar .navbar-nav > li > a.btn.btn-primary:focus, +.navbar .navbar-nav > li > a.btn.btn-primary:active, +.navbar .navbar-nav > li > a.btn.btn-primary.active, +.navbar .navbar-nav > li > a.btn.btn-primary:active:focus, +.navbar .navbar-nav > li > a.btn.btn-primary:active:hover, +.navbar .navbar-nav > li > a.btn.btn-primary.active:focus, +.navbar .navbar-nav > li > a.btn.btn-primary.active:hover, .open > +.navbar .navbar-nav > li > a.btn.btn-primary.dropdown-toggle, .open > +.navbar .navbar-nav > li > a.btn.btn-primary.dropdown-toggle:focus, .open > +.navbar .navbar-nav > li > a.btn.btn-primary.dropdown-toggle:hover { + background-color: #9c27b0; + color: #FFFFFF; +} +.btn.btn-primary:focus, .btn.btn-primary:active, .btn.btn-primary:hover, +.navbar .navbar-nav > li > a.btn.btn-primary:focus, +.navbar .navbar-nav > li > a.btn.btn-primary:active, +.navbar .navbar-nav > li > a.btn.btn-primary:hover { + box-shadow: 0 14px 26px -12px rgba(156, 39, 176, 0.42), 0 4px 23px 0px rgba(0, 0, 0, 0.12), 0 8px 10px -5px rgba(156, 39, 176, 0.2); +} +.btn.btn-primary.disabled, .btn.btn-primary.disabled:hover, .btn.btn-primary.disabled:focus, .btn.btn-primary.disabled.focus, .btn.btn-primary.disabled:active, .btn.btn-primary.disabled.active, .btn.btn-primary:disabled, .btn.btn-primary:disabled:hover, .btn.btn-primary:disabled:focus, .btn.btn-primary:disabled.focus, .btn.btn-primary:disabled:active, .btn.btn-primary:disabled.active, .btn.btn-primary[disabled], .btn.btn-primary[disabled]:hover, .btn.btn-primary[disabled]:focus, .btn.btn-primary[disabled].focus, .btn.btn-primary[disabled]:active, .btn.btn-primary[disabled].active, fieldset[disabled] .btn.btn-primary, fieldset[disabled] .btn.btn-primary:hover, fieldset[disabled] .btn.btn-primary:focus, fieldset[disabled] .btn.btn-primary.focus, fieldset[disabled] .btn.btn-primary:active, fieldset[disabled] .btn.btn-primary.active, +.navbar .navbar-nav > li > a.btn.btn-primary.disabled, +.navbar .navbar-nav > li > a.btn.btn-primary.disabled:hover, +.navbar .navbar-nav > li > a.btn.btn-primary.disabled:focus, +.navbar .navbar-nav > li > a.btn.btn-primary.disabled.focus, +.navbar .navbar-nav > li > a.btn.btn-primary.disabled:active, +.navbar .navbar-nav > li > a.btn.btn-primary.disabled.active, +.navbar .navbar-nav > li > a.btn.btn-primary:disabled, +.navbar .navbar-nav > li > a.btn.btn-primary:disabled:hover, +.navbar .navbar-nav > li > a.btn.btn-primary:disabled:focus, +.navbar .navbar-nav > li > a.btn.btn-primary:disabled.focus, +.navbar .navbar-nav > li > a.btn.btn-primary:disabled:active, +.navbar .navbar-nav > li > a.btn.btn-primary:disabled.active, +.navbar .navbar-nav > li > a.btn.btn-primary[disabled], +.navbar .navbar-nav > li > a.btn.btn-primary[disabled]:hover, +.navbar .navbar-nav > li > a.btn.btn-primary[disabled]:focus, +.navbar .navbar-nav > li > a.btn.btn-primary[disabled].focus, +.navbar .navbar-nav > li > a.btn.btn-primary[disabled]:active, +.navbar .navbar-nav > li > a.btn.btn-primary[disabled].active, fieldset[disabled] +.navbar .navbar-nav > li > a.btn.btn-primary, fieldset[disabled] +.navbar .navbar-nav > li > a.btn.btn-primary:hover, fieldset[disabled] +.navbar .navbar-nav > li > a.btn.btn-primary:focus, fieldset[disabled] +.navbar .navbar-nav > li > a.btn.btn-primary.focus, fieldset[disabled] +.navbar .navbar-nav > li > a.btn.btn-primary:active, fieldset[disabled] +.navbar .navbar-nav > li > a.btn.btn-primary.active { + box-shadow: none; +} +.btn.btn-primary.btn-simple, +.navbar .navbar-nav > li > a.btn.btn-primary.btn-simple { + background-color: transparent; + color: #9c27b0; + box-shadow: none; +} +.btn.btn-primary.btn-simple:hover, .btn.btn-primary.btn-simple:focus, .btn.btn-primary.btn-simple:active, +.navbar .navbar-nav > li > a.btn.btn-primary.btn-simple:hover, +.navbar .navbar-nav > li > a.btn.btn-primary.btn-simple:focus, +.navbar .navbar-nav > li > a.btn.btn-primary.btn-simple:active { + background-color: transparent; + color: #9c27b0; +} +.btn.btn-info, +.navbar .navbar-nav > li > a.btn.btn-info { + box-shadow: 0 2px 2px 0 rgba(0, 188, 212, 0.14), 0 3px 1px -2px rgba(0, 188, 212, 0.2), 0 1px 5px 0 rgba(0, 188, 212, 0.12); +} +.btn.btn-info, .btn.btn-info:hover, .btn.btn-info:focus, .btn.btn-info:active, .btn.btn-info.active, .btn.btn-info:active:focus, .btn.btn-info:active:hover, .btn.btn-info.active:focus, .btn.btn-info.active:hover, .open > .btn.btn-info.dropdown-toggle, .open > .btn.btn-info.dropdown-toggle:focus, .open > .btn.btn-info.dropdown-toggle:hover, +.navbar .navbar-nav > li > a.btn.btn-info, +.navbar .navbar-nav > li > a.btn.btn-info:hover, +.navbar .navbar-nav > li > a.btn.btn-info:focus, +.navbar .navbar-nav > li > a.btn.btn-info:active, +.navbar .navbar-nav > li > a.btn.btn-info.active, +.navbar .navbar-nav > li > a.btn.btn-info:active:focus, +.navbar .navbar-nav > li > a.btn.btn-info:active:hover, +.navbar .navbar-nav > li > a.btn.btn-info.active:focus, +.navbar .navbar-nav > li > a.btn.btn-info.active:hover, .open > +.navbar .navbar-nav > li > a.btn.btn-info.dropdown-toggle, .open > +.navbar .navbar-nav > li > a.btn.btn-info.dropdown-toggle:focus, .open > +.navbar .navbar-nav > li > a.btn.btn-info.dropdown-toggle:hover { + background-color: #00bcd4; + color: #FFFFFF; +} +.btn.btn-info:focus, .btn.btn-info:active, .btn.btn-info:hover, +.navbar .navbar-nav > li > a.btn.btn-info:focus, +.navbar .navbar-nav > li > a.btn.btn-info:active, +.navbar .navbar-nav > li > a.btn.btn-info:hover { + box-shadow: 0 14px 26px -12px rgba(0, 188, 212, 0.42), 0 4px 23px 0px rgba(0, 0, 0, 0.12), 0 8px 10px -5px rgba(0, 188, 212, 0.2); +} +.btn.btn-info.disabled, .btn.btn-info.disabled:hover, .btn.btn-info.disabled:focus, .btn.btn-info.disabled.focus, .btn.btn-info.disabled:active, .btn.btn-info.disabled.active, .btn.btn-info:disabled, .btn.btn-info:disabled:hover, .btn.btn-info:disabled:focus, .btn.btn-info:disabled.focus, .btn.btn-info:disabled:active, .btn.btn-info:disabled.active, .btn.btn-info[disabled], .btn.btn-info[disabled]:hover, .btn.btn-info[disabled]:focus, .btn.btn-info[disabled].focus, .btn.btn-info[disabled]:active, .btn.btn-info[disabled].active, fieldset[disabled] .btn.btn-info, fieldset[disabled] .btn.btn-info:hover, fieldset[disabled] .btn.btn-info:focus, fieldset[disabled] .btn.btn-info.focus, fieldset[disabled] .btn.btn-info:active, fieldset[disabled] .btn.btn-info.active, +.navbar .navbar-nav > li > a.btn.btn-info.disabled, +.navbar .navbar-nav > li > a.btn.btn-info.disabled:hover, +.navbar .navbar-nav > li > a.btn.btn-info.disabled:focus, +.navbar .navbar-nav > li > a.btn.btn-info.disabled.focus, +.navbar .navbar-nav > li > a.btn.btn-info.disabled:active, +.navbar .navbar-nav > li > a.btn.btn-info.disabled.active, +.navbar .navbar-nav > li > a.btn.btn-info:disabled, +.navbar .navbar-nav > li > a.btn.btn-info:disabled:hover, +.navbar .navbar-nav > li > a.btn.btn-info:disabled:focus, +.navbar .navbar-nav > li > a.btn.btn-info:disabled.focus, +.navbar .navbar-nav > li > a.btn.btn-info:disabled:active, +.navbar .navbar-nav > li > a.btn.btn-info:disabled.active, +.navbar .navbar-nav > li > a.btn.btn-info[disabled], +.navbar .navbar-nav > li > a.btn.btn-info[disabled]:hover, +.navbar .navbar-nav > li > a.btn.btn-info[disabled]:focus, +.navbar .navbar-nav > li > a.btn.btn-info[disabled].focus, +.navbar .navbar-nav > li > a.btn.btn-info[disabled]:active, +.navbar .navbar-nav > li > a.btn.btn-info[disabled].active, fieldset[disabled] +.navbar .navbar-nav > li > a.btn.btn-info, fieldset[disabled] +.navbar .navbar-nav > li > a.btn.btn-info:hover, fieldset[disabled] +.navbar .navbar-nav > li > a.btn.btn-info:focus, fieldset[disabled] +.navbar .navbar-nav > li > a.btn.btn-info.focus, fieldset[disabled] +.navbar .navbar-nav > li > a.btn.btn-info:active, fieldset[disabled] +.navbar .navbar-nav > li > a.btn.btn-info.active { + box-shadow: none; +} +.btn.btn-info.btn-simple, +.navbar .navbar-nav > li > a.btn.btn-info.btn-simple { + background-color: transparent; + color: #00bcd4; + box-shadow: none; +} +.btn.btn-info.btn-simple:hover, .btn.btn-info.btn-simple:focus, .btn.btn-info.btn-simple:active, +.navbar .navbar-nav > li > a.btn.btn-info.btn-simple:hover, +.navbar .navbar-nav > li > a.btn.btn-info.btn-simple:focus, +.navbar .navbar-nav > li > a.btn.btn-info.btn-simple:active { + background-color: transparent; + color: #00bcd4; +} +.btn.btn-success, +.navbar .navbar-nav > li > a.btn.btn-success { + box-shadow: 0 2px 2px 0 rgba(76, 175, 80, 0.14), 0 3px 1px -2px rgba(76, 175, 80, 0.2), 0 1px 5px 0 rgba(76, 175, 80, 0.12); +} +.btn.btn-success, .btn.btn-success:hover, .btn.btn-success:focus, .btn.btn-success:active, .btn.btn-success.active, .btn.btn-success:active:focus, .btn.btn-success:active:hover, .btn.btn-success.active:focus, .btn.btn-success.active:hover, .open > .btn.btn-success.dropdown-toggle, .open > .btn.btn-success.dropdown-toggle:focus, .open > .btn.btn-success.dropdown-toggle:hover, +.navbar .navbar-nav > li > a.btn.btn-success, +.navbar .navbar-nav > li > a.btn.btn-success:hover, +.navbar .navbar-nav > li > a.btn.btn-success:focus, +.navbar .navbar-nav > li > a.btn.btn-success:active, +.navbar .navbar-nav > li > a.btn.btn-success.active, +.navbar .navbar-nav > li > a.btn.btn-success:active:focus, +.navbar .navbar-nav > li > a.btn.btn-success:active:hover, +.navbar .navbar-nav > li > a.btn.btn-success.active:focus, +.navbar .navbar-nav > li > a.btn.btn-success.active:hover, .open > +.navbar .navbar-nav > li > a.btn.btn-success.dropdown-toggle, .open > +.navbar .navbar-nav > li > a.btn.btn-success.dropdown-toggle:focus, .open > +.navbar .navbar-nav > li > a.btn.btn-success.dropdown-toggle:hover { + background-color: #4caf50; + color: #FFFFFF; +} +.btn.btn-success:focus, .btn.btn-success:active, .btn.btn-success:hover, +.navbar .navbar-nav > li > a.btn.btn-success:focus, +.navbar .navbar-nav > li > a.btn.btn-success:active, +.navbar .navbar-nav > li > a.btn.btn-success:hover { + box-shadow: 0 14px 26px -12px rgba(76, 175, 80, 0.42), 0 4px 23px 0px rgba(0, 0, 0, 0.12), 0 8px 10px -5px rgba(76, 175, 80, 0.2); +} +.btn.btn-success.disabled, .btn.btn-success.disabled:hover, .btn.btn-success.disabled:focus, .btn.btn-success.disabled.focus, .btn.btn-success.disabled:active, .btn.btn-success.disabled.active, .btn.btn-success:disabled, .btn.btn-success:disabled:hover, .btn.btn-success:disabled:focus, .btn.btn-success:disabled.focus, .btn.btn-success:disabled:active, .btn.btn-success:disabled.active, .btn.btn-success[disabled], .btn.btn-success[disabled]:hover, .btn.btn-success[disabled]:focus, .btn.btn-success[disabled].focus, .btn.btn-success[disabled]:active, .btn.btn-success[disabled].active, fieldset[disabled] .btn.btn-success, fieldset[disabled] .btn.btn-success:hover, fieldset[disabled] .btn.btn-success:focus, fieldset[disabled] .btn.btn-success.focus, fieldset[disabled] .btn.btn-success:active, fieldset[disabled] .btn.btn-success.active, +.navbar .navbar-nav > li > a.btn.btn-success.disabled, +.navbar .navbar-nav > li > a.btn.btn-success.disabled:hover, +.navbar .navbar-nav > li > a.btn.btn-success.disabled:focus, +.navbar .navbar-nav > li > a.btn.btn-success.disabled.focus, +.navbar .navbar-nav > li > a.btn.btn-success.disabled:active, +.navbar .navbar-nav > li > a.btn.btn-success.disabled.active, +.navbar .navbar-nav > li > a.btn.btn-success:disabled, +.navbar .navbar-nav > li > a.btn.btn-success:disabled:hover, +.navbar .navbar-nav > li > a.btn.btn-success:disabled:focus, +.navbar .navbar-nav > li > a.btn.btn-success:disabled.focus, +.navbar .navbar-nav > li > a.btn.btn-success:disabled:active, +.navbar .navbar-nav > li > a.btn.btn-success:disabled.active, +.navbar .navbar-nav > li > a.btn.btn-success[disabled], +.navbar .navbar-nav > li > a.btn.btn-success[disabled]:hover, +.navbar .navbar-nav > li > a.btn.btn-success[disabled]:focus, +.navbar .navbar-nav > li > a.btn.btn-success[disabled].focus, +.navbar .navbar-nav > li > a.btn.btn-success[disabled]:active, +.navbar .navbar-nav > li > a.btn.btn-success[disabled].active, fieldset[disabled] +.navbar .navbar-nav > li > a.btn.btn-success, fieldset[disabled] +.navbar .navbar-nav > li > a.btn.btn-success:hover, fieldset[disabled] +.navbar .navbar-nav > li > a.btn.btn-success:focus, fieldset[disabled] +.navbar .navbar-nav > li > a.btn.btn-success.focus, fieldset[disabled] +.navbar .navbar-nav > li > a.btn.btn-success:active, fieldset[disabled] +.navbar .navbar-nav > li > a.btn.btn-success.active { + box-shadow: none; +} +.btn.btn-success.btn-simple, +.navbar .navbar-nav > li > a.btn.btn-success.btn-simple { + background-color: transparent; + color: #4caf50; + box-shadow: none; +} +.btn.btn-success.btn-simple:hover, .btn.btn-success.btn-simple:focus, .btn.btn-success.btn-simple:active, +.navbar .navbar-nav > li > a.btn.btn-success.btn-simple:hover, +.navbar .navbar-nav > li > a.btn.btn-success.btn-simple:focus, +.navbar .navbar-nav > li > a.btn.btn-success.btn-simple:active { + background-color: transparent; + color: #4caf50; +} +.btn.btn-warning, +.navbar .navbar-nav > li > a.btn.btn-warning { + box-shadow: 0 2px 2px 0 rgba(255, 152, 0, 0.14), 0 3px 1px -2px rgba(255, 152, 0, 0.2), 0 1px 5px 0 rgba(255, 152, 0, 0.12); +} +.btn.btn-warning, .btn.btn-warning:hover, .btn.btn-warning:focus, .btn.btn-warning:active, .btn.btn-warning.active, .btn.btn-warning:active:focus, .btn.btn-warning:active:hover, .btn.btn-warning.active:focus, .btn.btn-warning.active:hover, .open > .btn.btn-warning.dropdown-toggle, .open > .btn.btn-warning.dropdown-toggle:focus, .open > .btn.btn-warning.dropdown-toggle:hover, +.navbar .navbar-nav > li > a.btn.btn-warning, +.navbar .navbar-nav > li > a.btn.btn-warning:hover, +.navbar .navbar-nav > li > a.btn.btn-warning:focus, +.navbar .navbar-nav > li > a.btn.btn-warning:active, +.navbar .navbar-nav > li > a.btn.btn-warning.active, +.navbar .navbar-nav > li > a.btn.btn-warning:active:focus, +.navbar .navbar-nav > li > a.btn.btn-warning:active:hover, +.navbar .navbar-nav > li > a.btn.btn-warning.active:focus, +.navbar .navbar-nav > li > a.btn.btn-warning.active:hover, .open > +.navbar .navbar-nav > li > a.btn.btn-warning.dropdown-toggle, .open > +.navbar .navbar-nav > li > a.btn.btn-warning.dropdown-toggle:focus, .open > +.navbar .navbar-nav > li > a.btn.btn-warning.dropdown-toggle:hover { + background-color: #ff9800; + color: #FFFFFF; +} +.btn.btn-warning:focus, .btn.btn-warning:active, .btn.btn-warning:hover, +.navbar .navbar-nav > li > a.btn.btn-warning:focus, +.navbar .navbar-nav > li > a.btn.btn-warning:active, +.navbar .navbar-nav > li > a.btn.btn-warning:hover { + box-shadow: 0 14px 26px -12px rgba(255, 152, 0, 0.42), 0 4px 23px 0px rgba(0, 0, 0, 0.12), 0 8px 10px -5px rgba(255, 152, 0, 0.2); +} +.btn.btn-warning.disabled, .btn.btn-warning.disabled:hover, .btn.btn-warning.disabled:focus, .btn.btn-warning.disabled.focus, .btn.btn-warning.disabled:active, .btn.btn-warning.disabled.active, .btn.btn-warning:disabled, .btn.btn-warning:disabled:hover, .btn.btn-warning:disabled:focus, .btn.btn-warning:disabled.focus, .btn.btn-warning:disabled:active, .btn.btn-warning:disabled.active, .btn.btn-warning[disabled], .btn.btn-warning[disabled]:hover, .btn.btn-warning[disabled]:focus, .btn.btn-warning[disabled].focus, .btn.btn-warning[disabled]:active, .btn.btn-warning[disabled].active, fieldset[disabled] .btn.btn-warning, fieldset[disabled] .btn.btn-warning:hover, fieldset[disabled] .btn.btn-warning:focus, fieldset[disabled] .btn.btn-warning.focus, fieldset[disabled] .btn.btn-warning:active, fieldset[disabled] .btn.btn-warning.active, +.navbar .navbar-nav > li > a.btn.btn-warning.disabled, +.navbar .navbar-nav > li > a.btn.btn-warning.disabled:hover, +.navbar .navbar-nav > li > a.btn.btn-warning.disabled:focus, +.navbar .navbar-nav > li > a.btn.btn-warning.disabled.focus, +.navbar .navbar-nav > li > a.btn.btn-warning.disabled:active, +.navbar .navbar-nav > li > a.btn.btn-warning.disabled.active, +.navbar .navbar-nav > li > a.btn.btn-warning:disabled, +.navbar .navbar-nav > li > a.btn.btn-warning:disabled:hover, +.navbar .navbar-nav > li > a.btn.btn-warning:disabled:focus, +.navbar .navbar-nav > li > a.btn.btn-warning:disabled.focus, +.navbar .navbar-nav > li > a.btn.btn-warning:disabled:active, +.navbar .navbar-nav > li > a.btn.btn-warning:disabled.active, +.navbar .navbar-nav > li > a.btn.btn-warning[disabled], +.navbar .navbar-nav > li > a.btn.btn-warning[disabled]:hover, +.navbar .navbar-nav > li > a.btn.btn-warning[disabled]:focus, +.navbar .navbar-nav > li > a.btn.btn-warning[disabled].focus, +.navbar .navbar-nav > li > a.btn.btn-warning[disabled]:active, +.navbar .navbar-nav > li > a.btn.btn-warning[disabled].active, fieldset[disabled] +.navbar .navbar-nav > li > a.btn.btn-warning, fieldset[disabled] +.navbar .navbar-nav > li > a.btn.btn-warning:hover, fieldset[disabled] +.navbar .navbar-nav > li > a.btn.btn-warning:focus, fieldset[disabled] +.navbar .navbar-nav > li > a.btn.btn-warning.focus, fieldset[disabled] +.navbar .navbar-nav > li > a.btn.btn-warning:active, fieldset[disabled] +.navbar .navbar-nav > li > a.btn.btn-warning.active { + box-shadow: none; +} +.btn.btn-warning.btn-simple, +.navbar .navbar-nav > li > a.btn.btn-warning.btn-simple { + background-color: transparent; + color: #ff9800; + box-shadow: none; +} +.btn.btn-warning.btn-simple:hover, .btn.btn-warning.btn-simple:focus, .btn.btn-warning.btn-simple:active, +.navbar .navbar-nav > li > a.btn.btn-warning.btn-simple:hover, +.navbar .navbar-nav > li > a.btn.btn-warning.btn-simple:focus, +.navbar .navbar-nav > li > a.btn.btn-warning.btn-simple:active { + background-color: transparent; + color: #ff9800; +} +.btn.btn-danger, +.navbar .navbar-nav > li > a.btn.btn-danger { + box-shadow: 0 2px 2px 0 rgba(244, 67, 54, 0.14), 0 3px 1px -2px rgba(244, 67, 54, 0.2), 0 1px 5px 0 rgba(244, 67, 54, 0.12); +} +.btn.btn-danger, .btn.btn-danger:hover, .btn.btn-danger:focus, .btn.btn-danger:active, .btn.btn-danger.active, .btn.btn-danger:active:focus, .btn.btn-danger:active:hover, .btn.btn-danger.active:focus, .btn.btn-danger.active:hover, .open > .btn.btn-danger.dropdown-toggle, .open > .btn.btn-danger.dropdown-toggle:focus, .open > .btn.btn-danger.dropdown-toggle:hover, +.navbar .navbar-nav > li > a.btn.btn-danger, +.navbar .navbar-nav > li > a.btn.btn-danger:hover, +.navbar .navbar-nav > li > a.btn.btn-danger:focus, +.navbar .navbar-nav > li > a.btn.btn-danger:active, +.navbar .navbar-nav > li > a.btn.btn-danger.active, +.navbar .navbar-nav > li > a.btn.btn-danger:active:focus, +.navbar .navbar-nav > li > a.btn.btn-danger:active:hover, +.navbar .navbar-nav > li > a.btn.btn-danger.active:focus, +.navbar .navbar-nav > li > a.btn.btn-danger.active:hover, .open > +.navbar .navbar-nav > li > a.btn.btn-danger.dropdown-toggle, .open > +.navbar .navbar-nav > li > a.btn.btn-danger.dropdown-toggle:focus, .open > +.navbar .navbar-nav > li > a.btn.btn-danger.dropdown-toggle:hover { + background-color: #f44336; + color: #FFFFFF; +} +.btn.btn-danger:focus, .btn.btn-danger:active, .btn.btn-danger:hover, +.navbar .navbar-nav > li > a.btn.btn-danger:focus, +.navbar .navbar-nav > li > a.btn.btn-danger:active, +.navbar .navbar-nav > li > a.btn.btn-danger:hover { + box-shadow: 0 14px 26px -12px rgba(244, 67, 54, 0.42), 0 4px 23px 0px rgba(0, 0, 0, 0.12), 0 8px 10px -5px rgba(244, 67, 54, 0.2); +} +.btn.btn-danger.disabled, .btn.btn-danger.disabled:hover, .btn.btn-danger.disabled:focus, .btn.btn-danger.disabled.focus, .btn.btn-danger.disabled:active, .btn.btn-danger.disabled.active, .btn.btn-danger:disabled, .btn.btn-danger:disabled:hover, .btn.btn-danger:disabled:focus, .btn.btn-danger:disabled.focus, .btn.btn-danger:disabled:active, .btn.btn-danger:disabled.active, .btn.btn-danger[disabled], .btn.btn-danger[disabled]:hover, .btn.btn-danger[disabled]:focus, .btn.btn-danger[disabled].focus, .btn.btn-danger[disabled]:active, .btn.btn-danger[disabled].active, fieldset[disabled] .btn.btn-danger, fieldset[disabled] .btn.btn-danger:hover, fieldset[disabled] .btn.btn-danger:focus, fieldset[disabled] .btn.btn-danger.focus, fieldset[disabled] .btn.btn-danger:active, fieldset[disabled] .btn.btn-danger.active, +.navbar .navbar-nav > li > a.btn.btn-danger.disabled, +.navbar .navbar-nav > li > a.btn.btn-danger.disabled:hover, +.navbar .navbar-nav > li > a.btn.btn-danger.disabled:focus, +.navbar .navbar-nav > li > a.btn.btn-danger.disabled.focus, +.navbar .navbar-nav > li > a.btn.btn-danger.disabled:active, +.navbar .navbar-nav > li > a.btn.btn-danger.disabled.active, +.navbar .navbar-nav > li > a.btn.btn-danger:disabled, +.navbar .navbar-nav > li > a.btn.btn-danger:disabled:hover, +.navbar .navbar-nav > li > a.btn.btn-danger:disabled:focus, +.navbar .navbar-nav > li > a.btn.btn-danger:disabled.focus, +.navbar .navbar-nav > li > a.btn.btn-danger:disabled:active, +.navbar .navbar-nav > li > a.btn.btn-danger:disabled.active, +.navbar .navbar-nav > li > a.btn.btn-danger[disabled], +.navbar .navbar-nav > li > a.btn.btn-danger[disabled]:hover, +.navbar .navbar-nav > li > a.btn.btn-danger[disabled]:focus, +.navbar .navbar-nav > li > a.btn.btn-danger[disabled].focus, +.navbar .navbar-nav > li > a.btn.btn-danger[disabled]:active, +.navbar .navbar-nav > li > a.btn.btn-danger[disabled].active, fieldset[disabled] +.navbar .navbar-nav > li > a.btn.btn-danger, fieldset[disabled] +.navbar .navbar-nav > li > a.btn.btn-danger:hover, fieldset[disabled] +.navbar .navbar-nav > li > a.btn.btn-danger:focus, fieldset[disabled] +.navbar .navbar-nav > li > a.btn.btn-danger.focus, fieldset[disabled] +.navbar .navbar-nav > li > a.btn.btn-danger:active, fieldset[disabled] +.navbar .navbar-nav > li > a.btn.btn-danger.active { + box-shadow: none; +} +.btn.btn-danger.btn-simple, +.navbar .navbar-nav > li > a.btn.btn-danger.btn-simple { + background-color: transparent; + color: #f44336; + box-shadow: none; +} +.btn.btn-danger.btn-simple:hover, .btn.btn-danger.btn-simple:focus, .btn.btn-danger.btn-simple:active, +.navbar .navbar-nav > li > a.btn.btn-danger.btn-simple:hover, +.navbar .navbar-nav > li > a.btn.btn-danger.btn-simple:focus, +.navbar .navbar-nav > li > a.btn.btn-danger.btn-simple:active { + background-color: transparent; + color: #f44336; +} +.btn.btn-white, .btn.btn-white:focus, .btn.btn-white:hover, +.navbar .navbar-nav > li > a.btn.btn-white, +.navbar .navbar-nav > li > a.btn.btn-white:focus, +.navbar .navbar-nav > li > a.btn.btn-white:hover { + background-color: #FFFFFF; + color: #999999; +} +.btn.btn-white.btn-simple, +.navbar .navbar-nav > li > a.btn.btn-white.btn-simple { + color: #FFFFFF; + background: transparent; + box-shadow: none; +} +.btn.btn-facebook, +.navbar .navbar-nav > li > a.btn.btn-facebook { + background-color: #3b5998; + color: #fff; + box-shadow: 0 2px 2px 0 rgba(59, 89, 152, 0.14), 0 3px 1px -2px rgba(59, 89, 152, 0.2), 0 1px 5px 0 rgba(59, 89, 152, 0.12); +} +.btn.btn-facebook:focus, .btn.btn-facebook:active, .btn.btn-facebook:hover, +.navbar .navbar-nav > li > a.btn.btn-facebook:focus, +.navbar .navbar-nav > li > a.btn.btn-facebook:active, +.navbar .navbar-nav > li > a.btn.btn-facebook:hover { + background-color: #3b5998; + color: #fff; + box-shadow: 0 14px 26px -12px rgba(59, 89, 152, 0.42), 0 4px 23px 0px rgba(0, 0, 0, 0.12), 0 8px 10px -5px rgba(59, 89, 152, 0.2); +} +.btn.btn-facebook.btn-simple, +.navbar .navbar-nav > li > a.btn.btn-facebook.btn-simple { + color: #3b5998; + background-color: transparent; + box-shadow: none; +} +.btn.btn-twitter, +.navbar .navbar-nav > li > a.btn.btn-twitter { + background-color: #55acee; + color: #fff; + box-shadow: 0 2px 2px 0 rgba(85, 172, 238, 0.14), 0 3px 1px -2px rgba(85, 172, 238, 0.2), 0 1px 5px 0 rgba(85, 172, 238, 0.12); +} +.btn.btn-twitter:focus, .btn.btn-twitter:active, .btn.btn-twitter:hover, +.navbar .navbar-nav > li > a.btn.btn-twitter:focus, +.navbar .navbar-nav > li > a.btn.btn-twitter:active, +.navbar .navbar-nav > li > a.btn.btn-twitter:hover { + background-color: #55acee; + color: #fff; + box-shadow: 0 14px 26px -12px rgba(85, 172, 238, 0.42), 0 4px 23px 0px rgba(0, 0, 0, 0.12), 0 8px 10px -5px rgba(85, 172, 238, 0.2); +} +.btn.btn-twitter.btn-simple, +.navbar .navbar-nav > li > a.btn.btn-twitter.btn-simple { + color: #55acee; + background-color: transparent; + box-shadow: none; +} +.btn.btn-pinterest, +.navbar .navbar-nav > li > a.btn.btn-pinterest { + background-color: #cc2127; + color: #fff; + box-shadow: 0 2px 2px 0 rgba(204, 33, 39, 0.14), 0 3px 1px -2px rgba(204, 33, 39, 0.2), 0 1px 5px 0 rgba(204, 33, 39, 0.12); +} +.btn.btn-pinterest:focus, .btn.btn-pinterest:active, .btn.btn-pinterest:hover, +.navbar .navbar-nav > li > a.btn.btn-pinterest:focus, +.navbar .navbar-nav > li > a.btn.btn-pinterest:active, +.navbar .navbar-nav > li > a.btn.btn-pinterest:hover { + background-color: #cc2127; + color: #fff; + box-shadow: 0 14px 26px -12px rgba(204, 33, 39, 0.42), 0 4px 23px 0px rgba(0, 0, 0, 0.12), 0 8px 10px -5px rgba(204, 33, 39, 0.2); +} +.btn.btn-pinterest.btn-simple, +.navbar .navbar-nav > li > a.btn.btn-pinterest.btn-simple { + color: #cc2127; + background-color: transparent; + box-shadow: none; +} +.btn.btn-google, +.navbar .navbar-nav > li > a.btn.btn-google { + background-color: #dd4b39; + color: #fff; + box-shadow: 0 2px 2px 0 rgba(221, 75, 57, 0.14), 0 3px 1px -2px rgba(221, 75, 57, 0.2), 0 1px 5px 0 rgba(221, 75, 57, 0.12); +} +.btn.btn-google:focus, .btn.btn-google:active, .btn.btn-google:hover, +.navbar .navbar-nav > li > a.btn.btn-google:focus, +.navbar .navbar-nav > li > a.btn.btn-google:active, +.navbar .navbar-nav > li > a.btn.btn-google:hover { + background-color: #dd4b39; + color: #fff; + box-shadow: 0 14px 26px -12px rgba(221, 75, 57, 0.42), 0 4px 23px 0px rgba(0, 0, 0, 0.12), 0 8px 10px -5px rgba(221, 75, 57, 0.2); +} +.btn.btn-google.btn-simple, +.navbar .navbar-nav > li > a.btn.btn-google.btn-simple { + color: #dd4b39; + background-color: transparent; + box-shadow: none; +} +.btn.btn-instagram, +.navbar .navbar-nav > li > a.btn.btn-instagram { + background-color: #125688; + color: #fff; + box-shadow: 0 2px 2px 0 rgba(18, 86, 136, 0.14), 0 3px 1px -2px rgba(18, 86, 136, 0.2), 0 1px 5px 0 rgba(18, 86, 136, 0.12); +} +.btn.btn-instagram:focus, .btn.btn-instagram:active, .btn.btn-instagram:hover, +.navbar .navbar-nav > li > a.btn.btn-instagram:focus, +.navbar .navbar-nav > li > a.btn.btn-instagram:active, +.navbar .navbar-nav > li > a.btn.btn-instagram:hover { + background-color: #125688; + color: #fff; + box-shadow: 0 14px 26px -12px rgba(18, 86, 136, 0.42), 0 4px 23px 0px rgba(0, 0, 0, 0.12), 0 8px 10px -5px rgba(18, 86, 136, 0.2); +} +.btn.btn-instagram.btn-simple, +.navbar .navbar-nav > li > a.btn.btn-instagram.btn-simple { + color: #125688; + background-color: transparent; + box-shadow: none; +} +.btn:focus, .btn:active, .btn:active:focus, +.navbar .navbar-nav > li > a.btn:focus, +.navbar .navbar-nav > li > a.btn:active, +.navbar .navbar-nav > li > a.btn:active:focus { + outline: 0; +} +.btn.btn-round, +.navbar .navbar-nav > li > a.btn.btn-round { + border-radius: 30px; +} +.btn:not(.btn-just-icon):not(.btn-fab) .fa, +.navbar .navbar-nav > li > a.btn:not(.btn-just-icon):not(.btn-fab) .fa { + font-size: 18px; + margin-top: -2px; + position: relative; + top: 2px; +} +.btn.btn-fab, +.navbar .navbar-nav > li > a.btn.btn-fab { + border-radius: 50%; + font-size: 24px; + height: 56px; + margin: auto; + min-width: 56px; + width: 56px; + padding: 0; + overflow: hidden; + position: relative; + line-height: normal; +} +.btn.btn-fab .ripple-container, +.navbar .navbar-nav > li > a.btn.btn-fab .ripple-container { + border-radius: 50%; +} +.btn.btn-fab.btn-fab-mini, .btn-group-sm .btn.btn-fab, +.navbar .navbar-nav > li > a.btn.btn-fab.btn-fab-mini, .btn-group-sm +.navbar .navbar-nav > li > a.btn.btn-fab { + height: 40px; + min-width: 40px; + width: 40px; +} +.btn.btn-fab.btn-fab-mini.material-icons, .btn-group-sm .btn.btn-fab.material-icons, +.navbar .navbar-nav > li > a.btn.btn-fab.btn-fab-mini.material-icons, .btn-group-sm +.navbar .navbar-nav > li > a.btn.btn-fab.material-icons { + top: -3.5px; + left: -3.5px; +} +.btn.btn-fab.btn-fab-mini .material-icons, .btn-group-sm .btn.btn-fab .material-icons, +.navbar .navbar-nav > li > a.btn.btn-fab.btn-fab-mini .material-icons, .btn-group-sm +.navbar .navbar-nav > li > a.btn.btn-fab .material-icons { + font-size: 17px; +} +.btn.btn-fab i.material-icons, +.navbar .navbar-nav > li > a.btn.btn-fab i.material-icons { + position: absolute; + top: 50%; + left: 50%; + transform: translate(-12px, -12px); + line-height: 24px; + width: 24px; + font-size: 24px; +} +.btn.btn-lg, .btn-group-lg .btn, +.navbar .navbar-nav > li > a.btn.btn-lg, .btn-group-lg +.navbar .navbar-nav > li > a.btn { + font-size: 14px; + padding: 18px 36px; +} +.btn.btn-sm, .btn-group-sm .btn, +.navbar .navbar-nav > li > a.btn.btn-sm, .btn-group-sm +.navbar .navbar-nav > li > a.btn { + padding: 5px 20px; + font-size: 11px; +} +.btn.btn-xs, .btn-group-xs .btn, +.navbar .navbar-nav > li > a.btn.btn-xs, .btn-group-xs +.navbar .navbar-nav > li > a.btn { + padding: 4px 15px; + font-size: 10px; +} +.btn.btn-just-icon, +.navbar .navbar-nav > li > a.btn.btn-just-icon { + font-size: 20px; + padding: 12px 12px; + line-height: 1em; +} +.btn.btn-just-icon i, +.navbar .navbar-nav > li > a.btn.btn-just-icon i { + width: 20px; +} +.btn.btn-just-icon.btn-lg, +.navbar .navbar-nav > li > a.btn.btn-just-icon.btn-lg { + font-size: 22px; + padding: 13px 18px; +} + +.btn .material-icons { + vertical-align: middle; + font-size: 17px; + top: -1px; + position: relative; +} + +.navbar .navbar-nav > li > a.btn { + margin-top: 2px; + margin-bottom: 2px; +} +.navbar .navbar-nav > li > a.btn.btn-fab { + margin: 5px 2px; +} +.navbar .navbar-nav > li > a:not(.btn) .material-icons { + margin-top: -3px; + top: 0px; + position: relative; + margin-right: 3px; +} +.navbar .navbar-nav > li > .profile-photo { + margin: 5px 2px; +} + +.navbar-default:not(.navbar-transparent) .navbar-nav > li > a.btn.btn-white.btn-simple { + color: #555555; +} + +.btn-group, +.btn-group-vertical { + position: relative; + margin: 10px 1px; +} +.btn-group.open > .dropdown-toggle.btn, .btn-group.open > .dropdown-toggle.btn.btn-default, +.btn-group-vertical.open > .dropdown-toggle.btn, +.btn-group-vertical.open > .dropdown-toggle.btn.btn-default { + background-color: #FFFFFF; +} +.btn-group.open > .dropdown-toggle.btn.btn-inverse, +.btn-group-vertical.open > .dropdown-toggle.btn.btn-inverse { + background-color: #212121; +} +.btn-group.open > .dropdown-toggle.btn.btn-primary, +.btn-group-vertical.open > .dropdown-toggle.btn.btn-primary { + background-color: #9c27b0; +} +.btn-group.open > .dropdown-toggle.btn.btn-success, +.btn-group-vertical.open > .dropdown-toggle.btn.btn-success { + background-color: #4caf50; +} +.btn-group.open > .dropdown-toggle.btn.btn-info, +.btn-group-vertical.open > .dropdown-toggle.btn.btn-info { + background-color: #00bcd4; +} +.btn-group.open > .dropdown-toggle.btn.btn-warning, +.btn-group-vertical.open > .dropdown-toggle.btn.btn-warning { + background-color: #ff9800; +} +.btn-group.open > .dropdown-toggle.btn.btn-danger, +.btn-group-vertical.open > .dropdown-toggle.btn.btn-danger { + background-color: #f44336; +} +.btn-group.open > .dropdown-toggle.btn.btn-rose, +.btn-group-vertical.open > .dropdown-toggle.btn.btn-rose { + background-color: #e91e63; +} +.btn-group .dropdown-menu, +.btn-group-vertical .dropdown-menu { + border-radius: 0 0 3px 3px; +} +.btn-group.btn-group-raised, +.btn-group-vertical.btn-group-raised { + box-shadow: 0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 3px 1px -2px rgba(0, 0, 0, 0.2), 0 1px 5px 0 rgba(0, 0, 0, 0.12); +} +.btn-group .btn + .btn, +.btn-group .btn, +.btn-group .btn:active, +.btn-group .btn-group, +.btn-group-vertical .btn + .btn, +.btn-group-vertical .btn, +.btn-group-vertical .btn:active, +.btn-group-vertical .btn-group { + margin: 0; +} \ No newline at end of file http://git-wip-us.apache.org/repos/asf/incubator-rocketmq-externals/blob/4b8f1357/rocketmq-console-ng/src/main/resources/static/style/img/alipay.png ---------------------------------------------------------------------- diff --git a/rocketmq-console-ng/src/main/resources/static/style/img/alipay.png b/rocketmq-console-ng/src/main/resources/static/style/img/alipay.png new file mode 100644 index 0000000..8d72f26 Binary files /dev/null and b/rocketmq-console-ng/src/main/resources/static/style/img/alipay.png differ http://git-wip-us.apache.org/repos/asf/incubator-rocketmq-externals/blob/4b8f1357/rocketmq-console-ng/src/main/resources/static/style/img/alipay_active.png ---------------------------------------------------------------------- diff --git a/rocketmq-console-ng/src/main/resources/static/style/img/alipay_active.png b/rocketmq-console-ng/src/main/resources/static/style/img/alipay_active.png new file mode 100644 index 0000000..c5e2440 Binary files /dev/null and b/rocketmq-console-ng/src/main/resources/static/style/img/alipay_active.png differ http://git-wip-us.apache.org/repos/asf/incubator-rocketmq-externals/blob/4b8f1357/rocketmq-console-ng/src/main/resources/static/style/img/icon_user_center.png ---------------------------------------------------------------------- diff --git a/rocketmq-console-ng/src/main/resources/static/style/img/icon_user_center.png b/rocketmq-console-ng/src/main/resources/static/style/img/icon_user_center.png new file mode 100644 index 0000000..2d978bf Binary files /dev/null and b/rocketmq-console-ng/src/main/resources/static/style/img/icon_user_center.png differ http://git-wip-us.apache.org/repos/asf/incubator-rocketmq-externals/blob/4b8f1357/rocketmq-console-ng/src/main/resources/static/style/img/weipay.png ---------------------------------------------------------------------- diff --git a/rocketmq-console-ng/src/main/resources/static/style/img/weipay.png b/rocketmq-console-ng/src/main/resources/static/style/img/weipay.png new file mode 100644 index 0000000..8a8c207 Binary files /dev/null and b/rocketmq-console-ng/src/main/resources/static/style/img/weipay.png differ http://git-wip-us.apache.org/repos/asf/incubator-rocketmq-externals/blob/4b8f1357/rocketmq-console-ng/src/main/resources/static/style/img/weipay_active.png ---------------------------------------------------------------------- diff --git a/rocketmq-console-ng/src/main/resources/static/style/img/weipay_active.png b/rocketmq-console-ng/src/main/resources/static/style/img/weipay_active.png new file mode 100644 index 0000000..e54d862 Binary files /dev/null and b/rocketmq-console-ng/src/main/resources/static/style/img/weipay_active.png differ http://git-wip-us.apache.org/repos/asf/incubator-rocketmq-externals/blob/4b8f1357/rocketmq-console-ng/src/main/resources/static/style/login.css ---------------------------------------------------------------------- diff --git a/rocketmq-console-ng/src/main/resources/static/style/login.css b/rocketmq-console-ng/src/main/resources/static/style/login.css new file mode 100644 index 0000000..cb747c3 --- /dev/null +++ b/rocketmq-console-ng/src/main/resources/static/style/login.css @@ -0,0 +1,12 @@ +.login-panel{ + +} + +.login-panel .qrcode { + width: 100%; + hight: 100%; +} + +.login-panel .validateCode { + /*height:20px;*/ +} \ No newline at end of file http://git-wip-us.apache.org/repos/asf/incubator-rocketmq-externals/blob/4b8f1357/rocketmq-console-ng/src/main/resources/static/style/preLoading/main.css ---------------------------------------------------------------------- diff --git a/rocketmq-console-ng/src/main/resources/static/style/preLoading/main.css b/rocketmq-console-ng/src/main/resources/static/style/preLoading/main.css new file mode 100755 index 0000000..9f5b0b7 --- /dev/null +++ b/rocketmq-console-ng/src/main/resources/static/style/preLoading/main.css @@ -0,0 +1,420 @@ +/* + _____ _ _ _ _ +|_ _| | | | | | | | | + | | | |__ __ _| |_ ___ | |_ ___ _ __ ___ __ _| |_ ___ ___ ___ + | | | '_ \ / _` | __/ _ \ | __/ _ \| '_ ` _ \ / _` | __/ _ \ / _ \/ __| + _| |_ | | | | (_| | || __/ | || (_) | | | | | | (_| | || (_) | __/\__ \ + \___/ |_| |_|\__,_|\__\___| \__\___/|_| |_| |_|\__,_|\__\___/ \___||___/ + +Oh nice, welcome to the stylesheet of dreams. +It has it all. Classes, ID's, comments...the whole lot:) +Enjoy responsibly! +@ihatetomatoes + +*/ + +/* ========================================================================== + Chrome Frame prompt + ========================================================================== */ + +.chromeframe { + margin: 0.2em 0; + background: #ccc; + color: #000; + padding: 0.2em 0; +} + +/* ========================================================================== + Author's custom styles + ========================================================================== */ +p { + line-height: 1.33em; + color: #7E7E7E; +} +h1 { + color: #EEEEEE; +} + +#loader-wrapper { + position: fixed; + top: 0; + left: 0; + width: 100%; + height: 100%; + z-index: 1000; +} +#loader { + display: block; + position: relative; + left: 50%; + top: 50%; + width: 150px; + height: 150px; + margin: -75px 0 0 -75px; + border-radius: 50%; + border: 3px solid transparent; + border-top-color: #3498db; + + -webkit-animation: spin 2s linear infinite; /* Chrome, Opera 15+, Safari 5+ */ + animation: spin 2s linear infinite; /* Chrome, Firefox 16+, IE 10+, Opera */ + + z-index: 1001; +} + + #loader:before { + content: ""; + position: absolute; + top: 5px; + left: 5px; + right: 5px; + bottom: 5px; + border-radius: 50%; + border: 3px solid transparent; + border-top-color: #e74c3c; + + -webkit-animation: spin 3s linear infinite; /* Chrome, Opera 15+, Safari 5+ */ + animation: spin 3s linear infinite; /* Chrome, Firefox 16+, IE 10+, Opera */ + } + + #loader:after { + content: ""; + position: absolute; + top: 15px; + left: 15px; + right: 15px; + bottom: 15px; + border-radius: 50%; + border: 3px solid transparent; + border-top-color: #f9c922; + + -webkit-animation: spin 1.5s linear infinite; /* Chrome, Opera 15+, Safari 5+ */ + animation: spin 1.5s linear infinite; /* Chrome, Firefox 16+, IE 10+, Opera */ + } + + @-webkit-keyframes spin { + 0% { + -webkit-transform: rotate(0deg); /* Chrome, Opera 15+, Safari 3.1+ */ + -ms-transform: rotate(0deg); /* IE 9 */ + transform: rotate(0deg); /* Firefox 16+, IE 10+, Opera */ + } + 100% { + -webkit-transform: rotate(360deg); /* Chrome, Opera 15+, Safari 3.1+ */ + -ms-transform: rotate(360deg); /* IE 9 */ + transform: rotate(360deg); /* Firefox 16+, IE 10+, Opera */ + } + } + @keyframes spin { + 0% { + -webkit-transform: rotate(0deg); /* Chrome, Opera 15+, Safari 3.1+ */ + -ms-transform: rotate(0deg); /* IE 9 */ + transform: rotate(0deg); /* Firefox 16+, IE 10+, Opera */ + } + 100% { + -webkit-transform: rotate(360deg); /* Chrome, Opera 15+, Safari 3.1+ */ + -ms-transform: rotate(360deg); /* IE 9 */ + transform: rotate(360deg); /* Firefox 16+, IE 10+, Opera */ + } + } + + #loader-wrapper .loader-section { + position: fixed; + top: 0; + width: 51%; + height: 100%; + background: #222222; + z-index: 1000; + -webkit-transform: translateX(0); /* Chrome, Opera 15+, Safari 3.1+ */ + -ms-transform: translateX(0); /* IE 9 */ + transform: translateX(0); /* Firefox 16+, IE 10+, Opera */ + } + + #loader-wrapper .loader-section.section-left { + left: 0; + } + + #loader-wrapper .loader-section.section-right { + right: 0; + } + + /* Loaded */ + .loaded #loader-wrapper .loader-section.section-left { + -webkit-transform: translateX(-100%); /* Chrome, Opera 15+, Safari 3.1+ */ + -ms-transform: translateX(-100%); /* IE 9 */ + transform: translateX(-100%); /* Firefox 16+, IE 10+, Opera */ + + -webkit-transition: all 0.7s 0.3s cubic-bezier(0.645, 0.045, 0.355, 1.000); + transition: all 0.7s 0.3s cubic-bezier(0.645, 0.045, 0.355, 1.000); + } + + .loaded #loader-wrapper .loader-section.section-right { + -webkit-transform: translateX(100%); /* Chrome, Opera 15+, Safari 3.1+ */ + -ms-transform: translateX(100%); /* IE 9 */ + transform: translateX(100%); /* Firefox 16+, IE 10+, Opera */ + +-webkit-transition: all 0.7s 0.3s cubic-bezier(0.645, 0.045, 0.355, 1.000); + transition: all 0.7s 0.3s cubic-bezier(0.645, 0.045, 0.355, 1.000); + } + + .loaded #loader { + opacity: 0; + -webkit-transition: all 0.3s ease-out; + transition: all 0.3s ease-out; + } + .loaded #loader-wrapper { + visibility: hidden; + + -webkit-transform: translateY(-100%); /* Chrome, Opera 15+, Safari 3.1+ */ + -ms-transform: translateY(-100%); /* IE 9 */ + transform: translateY(-100%); /* Firefox 16+, IE 10+, Opera */ + + -webkit-transition: all 0.3s 1s ease-out; + transition: all 0.3s 1s ease-out; + } + + /* JavaScript Turned Off */ + .no-js #loader-wrapper { + display: none; + } + .no-js h1 { + color: #222222; + } + + #content { + margin: 0 auto; + padding-bottom: 50px; + width: 80%; + max-width: 978px; + } + + + + + + +/* ========================================================================== + Helper classes + ========================================================================== */ + +/* + * Image replacement + */ + +.ir { + background-color: transparent; + border: 0; + overflow: hidden; + /* IE 6/7 fallback */ + *text-indent: -9999px; +} + +.ir:before { + content: ""; + display: block; + width: 0; + height: 150%; +} + +/* + * Hide from both screenreaders and browsers: h5bp.com/u + */ + +.hidden { + display: none !important; + visibility: hidden; +} + +/* + * Hide only visually, but have it available for screenreaders: h5bp.com/v + */ + +.visuallyhidden { + border: 0; + clip: rect(0 0 0 0); + height: 1px; + margin: -1px; + overflow: hidden; + padding: 0; + position: absolute; + width: 1px; +} + +/* + * Extends the .visuallyhidden class to allow the element to be focusable + * when navigated to via the keyboard: h5bp.com/p + */ + +.visuallyhidden.focusable:active, +.visuallyhidden.focusable:focus { + clip: auto; + height: auto; + margin: 0; + overflow: visible; + position: static; + width: auto; +} + +/* + * Hide visually and from screenreaders, but maintain layout + */ + +.invisible { + visibility: hidden; +} + +/* + * Clearfix: contain floats + * + * For modern browsers + * 1. The space content is one way to avoid an Opera bug when the + * `contenteditable` attribute is included anywhere else in the document. + * Otherwise it causes space to appear at the top and bottom of elements + * that receive the `clearfix` class. + * 2. The use of `table` rather than `block` is only necessary if using + * `:before` to contain the top-margins of child elements. + */ + +.clearfix:before, +.clearfix:after { + content: " "; /* 1 */ + display: table; /* 2 */ +} + +.clearfix:after { + clear: both; +} + +/* + * For IE 6/7 only + * Include this rule to trigger hasLayout and contain floats. + */ + +.clearfix { + *zoom: 1; +} + +/* ========================================================================== + EXAMPLE Media Queries for Responsive Design. + These examples override the primary ('mobile first') styles. + Modify as content requires. + ========================================================================== */ + +@media only screen and (min-width: 35em) { + /* Style adjustments for viewports that meet the condition */ +} + +@media print, + (-o-min-device-pixel-ratio: 5/4), + (-webkit-min-device-pixel-ratio: 1.25), + (min-resolution: 120dpi) { + /* Style adjustments for high resolution devices */ +} + +/* ========================================================================== + Print styles. + Inlined to avoid required HTTP connection: h5bp.com/r + ========================================================================== */ + +@media print { + * { + background: transparent !important; + color: #000 !important; /* Black prints faster: h5bp.com/s */ + box-shadow: none !important; + text-shadow: none !important; + } + + a, + a:visited { + text-decoration: underline; + } + + a[href]:after { + content: " (" attr(href) ")"; + } + + abbr[title]:after { + content: " (" attr(title) ")"; + } + + /* + * Don't show links for images, or javascript/internal links + */ + + .ir a:after, + a[href^="javascript:"]:after, + a[href^="#"]:after { + content: ""; + } + + pre, + blockquote { + border: 1px solid #999; + page-break-inside: avoid; + } + + thead { + display: table-header-group; /* h5bp.com/t */ + } + + tr, + img { + page-break-inside: avoid; + } + + img { + max-width: 100% !important; + } + + @page { + margin: 0.5cm; + } + + p, + h2, + h3 { + orphans: 3; + widows: 3; + } + + h2, + h3 { + page-break-after: avoid; + } +} + +.back-link a { + color: #4ca340; + text-decoration: none; + border-bottom: 1px #4ca340 solid; +} +.back-link a:hover, +.back-link a:focus { + color: #408536; + text-decoration: none; + border-bottom: 1px #408536 solid; +} +h1 { + height: 100%; + /* The html and body elements cannot have any padding or margin. */ + margin: 0; + font-size: 14px; + font-family: 'Open Sans', sans-serif; + font-size: 32px; + margin-bottom: 3px; +} +.entry-header { + text-align: left; + margin: 0 auto 50px auto; + width: 80%; + max-width: 978px; + position: relative; + z-index: 10001; +} +#demo-content { + padding-top: 100px; +} + +/* + Ok so you have made it this far, that means you are very keen to on my code. + Anyway I don't really mind it. This is a great way to learn so you actually doing the right thing:) + Follow me @ihatetomatoes +*/ http://git-wip-us.apache.org/repos/asf/incubator-rocketmq-externals/blob/4b8f1357/rocketmq-console-ng/src/main/resources/static/style/preLoading/normalize.css ---------------------------------------------------------------------- diff --git a/rocketmq-console-ng/src/main/resources/static/style/preLoading/normalize.css b/rocketmq-console-ng/src/main/resources/static/style/preLoading/normalize.css new file mode 100755 index 0000000..6e8e42d --- /dev/null +++ b/rocketmq-console-ng/src/main/resources/static/style/preLoading/normalize.css @@ -0,0 +1,527 @@ +/*! normalize.css v1.1.2 | MIT License | git.io/normalize */ + +/* ========================================================================== + HTML5 display definitions + ========================================================================== */ + +/** + * Correct `block` display not defined in IE 6/7/8/9 and Firefox 3. + */ + +article, +aside, +details, +figcaption, +figure, +footer, +header, +hgroup, +main, +nav, +section, +summary { + display: block; +} + +/** + * Correct `inline-block` display not defined in IE 6/7/8/9 and Firefox 3. + */ + +audio, +canvas, +video { + display: inline-block; + *display: inline; + *zoom: 1; +} + +/** + * Prevent modern browsers from displaying `audio` without controls. + * Remove excess height in iOS 5 devices. + */ + +audio:not([controls]) { + display: none; + height: 0; +} + +/** + * Address styling not present in IE 7/8/9, Firefox 3, and Safari 4. + * Known issue: no IE 6 support. + */ + +[hidden] { + display: none; +} + +/* ========================================================================== + Base + ========================================================================== */ + +/** + * 1. Correct text resizing oddly in IE 6/7 when body `font-size` is set using + * `em` units. + * 2. Prevent iOS text size adjust after orientation change, without disabling + * user zoom. + */ + +html { + font-size: 100%; /* 1 */ + -ms-text-size-adjust: 100%; /* 2 */ + -webkit-text-size-adjust: 100%; /* 2 */ +} + +/** + * Address `font-family` inconsistency between `textarea` and other form + * elements. + */ + +html, +button, +input, +select, +textarea { + font-family: sans-serif; +} + +/** + * Address margins handled incorrectly in IE 6/7. + */ + +body { + margin: 0; +} + +/* ========================================================================== + Links + ========================================================================== */ + +/** + * Address `outline` inconsistency between Chrome and other browsers. + */ + +a:focus { + outline: thin dotted; +} + +/** + * Improve readability when focused and also mouse hovered in all browsers. + */ + +a:active, +a:hover { + outline: 0; +} + +/* ========================================================================== + Typography + ========================================================================== */ + +/** + * Address font sizes and margins set differently in IE 6/7. + * Address font sizes within `section` and `article` in Firefox 4+, Safari 5, + * and Chrome. + */ + +h1 { + font-size: 2em; + margin: 0.67em 0; +} + +h2 { + font-size: 1.5em; + margin: 0.83em 0; +} + +h3 { + font-size: 1.17em; + margin: 1em 0; +} + +h4 { + font-size: 1em; + margin: 1.33em 0; +} + +h5 { + font-size: 0.83em; + margin: 1.67em 0; +} + +h6 { + font-size: 0.67em; + margin: 2.33em 0; +} + +/** + * Address styling not present in IE 7/8/9, Safari 5, and Chrome. + */ + +abbr[title] { + border-bottom: 1px dotted; +} + +/** + * Address style set to `bolder` in Firefox 3+, Safari 4/5, and Chrome. + */ + +b, +strong { + font-weight: bold; +} + +blockquote { + margin: 1em 40px; +} + +/** + * Address styling not present in Safari 5 and Chrome. + */ + +dfn { + font-style: italic; +} + +/** + * Address differences between Firefox and other browsers. + * Known issue: no IE 6/7 normalization. + */ + +hr { + -moz-box-sizing: content-box; + box-sizing: content-box; + height: 0; +} + +/** + * Address styling not present in IE 6/7/8/9. + */ + +mark { + background: #ff0; + color: #000; +} + +/** + * Address margins set differently in IE 6/7. + */ + +p, +pre { + margin: 1em 0; +} + +/** + * Correct font family set oddly in IE 6, Safari 4/5, and Chrome. + */ + +code, +kbd, +pre, +samp { + font-family: monospace, serif; + _font-family: 'courier new', monospace; + font-size: 1em; +} + +/** + * Improve readability of pre-formatted text in all browsers. + */ + +pre { + white-space: pre; + white-space: pre-wrap; + word-wrap: break-word; +} + +/** + * Address CSS quotes not supported in IE 6/7. + */ + +q { + quotes: none; +} + +/** + * Address `quotes` property not supported in Safari 4. + */ + +q:before, +q:after { + content: ''; + content: none; +} + +/** + * Address inconsistent and variable font size in all browsers. + */ + +small { + font-size: 80%; +} + +/** + * Prevent `sub` and `sup` affecting `line-height` in all browsers. + */ + +sub, +sup { + font-size: 75%; + line-height: 0; + position: relative; + vertical-align: baseline; +} + +sup { + top: -0.5em; +} + +sub { + bottom: -0.25em; +} + +/* ========================================================================== + Lists + ========================================================================== */ + +/** + * Address margins set differently in IE 6/7. + */ + +dl, +menu, +ol, +ul { + margin: 1em 0; +} + +dd { + margin: 0 0 0 40px; +} + +/** + * Address paddings set differently in IE 6/7. + */ + +menu, +ol, +ul { + padding: 0 0 0 40px; +} + +/** + * Correct list images handled incorrectly in IE 7. + */ + +nav ul, +nav ol { + list-style: none; + list-style-image: none; +} + +/* ========================================================================== + Embedded content + ========================================================================== */ + +/** + * 1. Remove border when inside `a` element in IE 6/7/8/9 and Firefox 3. + * 2. Improve image quality when scaled in IE 7. + */ + +img { + border: 0; /* 1 */ + -ms-interpolation-mode: bicubic; /* 2 */ +} + +/** + * Correct overflow displayed oddly in IE 9. + */ + +svg:not(:root) { + overflow: hidden; +} + +/* ========================================================================== + Figures + ========================================================================== */ + +/** + * Address margin not present in IE 6/7/8/9, Safari 5, and Opera 11. + */ + +figure { + margin: 0; +} + +/* ========================================================================== + Forms + ========================================================================== */ + +/** + * Correct margin displayed oddly in IE 6/7. + */ + +form { + margin: 0; +} + +/** + * Define consistent border, margin, and padding. + */ + +fieldset { + border: 1px solid #c0c0c0; + margin: 0 2px; + padding: 0.35em 0.625em 0.75em; +} + +/** + * 1. Correct color not being inherited in IE 6/7/8/9. + * 2. Correct text not wrapping in Firefox 3. + * 3. Correct alignment displayed oddly in IE 6/7. + */ + +legend { + border: 0; /* 1 */ + padding: 0; + white-space: normal; /* 2 */ + *margin-left: -7px; /* 3 */ +} + +/** + * 1. Correct font size not being inherited in all browsers. + * 2. Address margins set differently in IE 6/7, Firefox 3+, Safari 5, + * and Chrome. + * 3. Improve appearance and consistency in all browsers. + */ + +button, +input, +select, +textarea { + font-size: 100%; /* 1 */ + margin: 0; /* 2 */ + vertical-align: baseline; /* 3 */ + *vertical-align: middle; /* 3 */ +} + +/** + * Address Firefox 3+ setting `line-height` on `input` using `!important` in + * the UA stylesheet. + */ + +button, +input { + line-height: normal; +} + +/** + * Address inconsistent `text-transform` inheritance for `button` and `select`. + * All other form control elements do not inherit `text-transform` values. + * Correct `button` style inheritance in Chrome, Safari 5+, and IE 6+. + * Correct `select` style inheritance in Firefox 4+ and Opera. + */ + +button, +select { + text-transform: none; +} + +/** + * 1. Avoid the WebKit bug in Android 4.0.* where (2) destroys native `audio` + * and `video` controls. + * 2. Correct inability to style clickable `input` types in iOS. + * 3. Improve usability and consistency of cursor style between image-type + * `input` and others. + * 4. Remove inner spacing in IE 7 without affecting normal text inputs. + * Known issue: inner spacing remains in IE 6. + */ + +button, +html input[type="button"], /* 1 */ +input[type="reset"], +input[type="submit"] { + -webkit-appearance: button; /* 2 */ + cursor: pointer; /* 3 */ + *overflow: visible; /* 4 */ +} + +/** + * Re-set default cursor for disabled elements. + */ + +button[disabled], +html input[disabled] { + cursor: default; +} + +/** + * 1. Address box sizing set to content-box in IE 8/9. + * 2. Remove excess padding in IE 8/9. + * 3. Remove excess padding in IE 7. + * Known issue: excess padding remains in IE 6. + */ + +input[type="checkbox"], +input[type="radio"] { + box-sizing: border-box; /* 1 */ + padding: 0; /* 2 */ + *height: 13px; /* 3 */ + *width: 13px; /* 3 */ +} + +/** + * 1. Address `appearance` set to `searchfield` in Safari 5 and Chrome. + * 2. Address `box-sizing` set to `border-box` in Safari 5 and Chrome + * (include `-moz` to future-proof). + */ + +input[type="search"] { + -webkit-appearance: textfield; /* 1 */ + -moz-box-sizing: content-box; + -webkit-box-sizing: content-box; /* 2 */ + box-sizing: content-box; +} + +/** + * Remove inner padding and search cancel button in Safari 5 and Chrome + * on OS X. + */ + +input[type="search"]::-webkit-search-cancel-button, +input[type="search"]::-webkit-search-decoration { + -webkit-appearance: none; +} + +/** + * Remove inner padding and border in Firefox 3+. + */ + +button::-moz-focus-inner, +input::-moz-focus-inner { + border: 0; + padding: 0; +} + +/** + * 1. Remove default vertical scrollbar in IE 6/7/8/9. + * 2. Improve readability and alignment in all browsers. + */ + +textarea { + overflow: auto; /* 1 */ + vertical-align: top; /* 2 */ +} + +/* ========================================================================== + Tables + ========================================================================== */ + +/** + * Remove most spacing between table cells. + */ + +table { + border-collapse: collapse; + border-spacing: 0; +}
