diff options
author | grakiss <grakiss.wanglei@huawei.com> | 2017-11-28 07:12:45 +0000 |
---|---|---|
committer | Leo wang <grakiss.wanglei@huawei.com> | 2017-12-12 02:42:44 +0000 |
commit | 2f66eb616f3b6bc856c70ea56f3b99067e1c4418 (patch) | |
tree | 2cf8cb3306f8736ce5e404f58fbd6b38b3a2c518 /cvp/3rd_party/static | |
parent | 1ae814717f14e9e04337e5f236b6463c55f282ba (diff) |
[cvp-web] Add initial CVP Portal homepage content for release
JIRA: DOVETAIL-563
The CVP portal homepage needs to be modified to support launch
activities. An initial iteration between OPNFV marketing has occurred.
Attached is a deck that outlines a basic left navigation menu and home
content.
We can focus on creating the left navigation and content outlined on
slide 7. The links for the left navigation aren't all flushed out.
Please leave Release Information/CVP Registry link href's blank for now
until we define content for those pages.
Change-Id: I84b8cfb996d336ef666d5a5f6aaabc0d5eebc37b
Signed-off-by: grakiss <grakiss.wanglei@huawei.com>
Diffstat (limited to 'cvp/3rd_party/static')
15 files changed, 253 insertions, 70 deletions
diff --git a/cvp/3rd_party/static/testapi-ui/assets/css/cvp-style.css b/cvp/3rd_party/static/testapi-ui/assets/css/cvp-style.css index 1c4b048e..c54310a7 100644 --- a/cvp/3rd_party/static/testapi-ui/assets/css/cvp-style.css +++ b/cvp/3rd_party/static/testapi-ui/assets/css/cvp-style.css @@ -80,3 +80,12 @@ table .btn.medium { font-weight: 700; font-size: 12px; } + +.common-main-container { + padding-left: 5%; + padding-right: 5%; +} + +a { + cursor: pointer; +} diff --git a/cvp/3rd_party/static/testapi-ui/assets/css/header.css b/cvp/3rd_party/static/testapi-ui/assets/css/header.css new file mode 100644 index 00000000..1df040cf --- /dev/null +++ b/cvp/3rd_party/static/testapi-ui/assets/css/header.css @@ -0,0 +1,36 @@ +.header-container-1 { + height: 80px; + background-color: #383A35; +} + +.header-container-row { + margin-left: 0px; + margin-right: 0px; +} + +.header-container-2 { + height: 30px; + background-color: #383A35; +} + +.header-logo { + height: 80px; + padding-left: 15px; + padding-top: 20px; +} + +.header-title { + font-size: 35px; + color: #fff; + padding-top: 30px; +} + +.header-login { + margin-top: -20px; + margin-right: 10px; +} + +.header-splitline { + height: 5px; + background-color: #27CFC3; +} diff --git a/cvp/3rd_party/static/testapi-ui/assets/css/home/home.css b/cvp/3rd_party/static/testapi-ui/assets/css/home/home.css new file mode 100644 index 00000000..edad09ba --- /dev/null +++ b/cvp/3rd_party/static/testapi-ui/assets/css/home/home.css @@ -0,0 +1,29 @@ +.home-container { + padding-left: 0px; + padding-right: 0px; +} + +.home-category { + border-right-style:solid; + border-left-style:solid; + padding-left: 0px; + padding-right: 0px; +} + +.home-content-title { + margin-top: 40px; + margin-bottom: 20px; + text-align:center; +} + +.home-content-text { + margin-top: 20px; + padding-top: 30px; + text-align: justify; +} + +.home-content-img { + margin-top: 50px; + width: 80%; + padding-left: 10%; +} diff --git a/cvp/3rd_party/static/testapi-ui/assets/css/index.css b/cvp/3rd_party/static/testapi-ui/assets/css/index.css new file mode 100644 index 00000000..ccbaf500 --- /dev/null +++ b/cvp/3rd_party/static/testapi-ui/assets/css/index.css @@ -0,0 +1,4 @@ +.index-header { + padding-left: 0px; + padding-right: 0px; +} diff --git a/cvp/3rd_party/static/testapi-ui/assets/img/icon.png b/cvp/3rd_party/static/testapi-ui/assets/img/icon.png Binary files differnew file mode 100644 index 00000000..444db393 --- /dev/null +++ b/cvp/3rd_party/static/testapi-ui/assets/img/icon.png diff --git a/cvp/3rd_party/static/testapi-ui/assets/img/logo.png b/cvp/3rd_party/static/testapi-ui/assets/img/logo.png Binary files differnew file mode 100644 index 00000000..4e9cc04d --- /dev/null +++ b/cvp/3rd_party/static/testapi-ui/assets/img/logo.png diff --git a/cvp/3rd_party/static/testapi-ui/components/application/application.html b/cvp/3rd_party/static/testapi-ui/components/application/application.html index bb79340a..5d57fe78 100644 --- a/cvp/3rd_party/static/testapi-ui/components/application/application.html +++ b/cvp/3rd_party/static/testapi-ui/components/application/application.html @@ -8,6 +8,7 @@ <body id="logo-request"> +<div class="container-fluid common-main-container"> <div class="top-site-banner"> <div class="container"> <p> @@ -249,3 +250,4 @@ urpose. Once we understand more about your product or service, we can determine </uib-pagination> </div> </div> +</div> diff --git a/cvp/3rd_party/static/testapi-ui/components/home/home.html b/cvp/3rd_party/static/testapi-ui/components/home/home.html index 521c972a..27d20eda 100644 --- a/cvp/3rd_party/static/testapi-ui/components/home/home.html +++ b/cvp/3rd_party/static/testapi-ui/components/home/home.html @@ -1,6 +1,99 @@ -<div class="row"> - <div class="col-lg-12" style="font-size:15px"> - <ul> - <li><a href="http://artifacts.opnfv.org/dovetail/docs/testing_user_certificationworkflow/index.html">OPNFV Compliance Verification Program certification workflow </a></li> - <li><a href="http://artifacts.opnfv.org/dovetail/docs/testing_user_userguide/index.html">Dovetail Test Tool User Guide </a></li> - </ul> +<div class="container-fluid"> + <div class="row"> + <div class="col-md-2 home-category" ng-style="{'height': ctrl.height}"> + <div class="panel-group" id="accordion"> + <div class="panel panel-default"> + <div class="panel-heading"> + <div class="panel-title"> + <a data-toggle="collapse" data-parent="#accordion" href="#collapseOne"> + Governance & Workflow + </a> + </div> + </div> + <div id="collapseOne" class="panel-collapse collapse"> + <div class="panel-body"> + <div> <a href="https://www.opnfv.org/compliance-verification-program-cvp + " target="_blank">CVP Overview <span class="glyphicon glyphicon-new-window" aria-hidden="true"></span></a></div> + <div><a target="_blank">CVP Governance <span class="glyphicon glyphicon-new-window" aria-hidden="true"></span></a></div> + <div><a href="http://docs.opnfv.org/en/latest/submodules/dovetail/docs/testing/user/certificationworkflow/index.html + " target="_blank">CVP Process Workflow <span class="glyphicon glyphicon-new-window" aria-hidden="true"></span></a></div> + <div><a href="http://docs.opnfv.org/en/latest/submodules/dovetail/docs/testing/user/certificationworkflow/ApplicationForm.html" target="_blank">Application Form <span class="glyphicon glyphicon-new-window" aria-hidden="true"></span></a></div> + <div><a target="_blank">Approved 3rd Party Labs <span class="glyphicon glyphicon-new-window" aria-hidden="true"></span></a></div> + </div> + </div> + </div> + <div class="panel panel-default" style="margin-top:0px"> + <div class="panel-heading"> + <div class="panel-title"> + <a data-toggle="collapse" data-parent="#accordion" href="#collapseTwo"> + Training Resources + </a> + </div> + </div> + <div id="collapseTwo" class="panel-collapse collapse"> + <div class="panel-body"> + <div><a href="http://docs.opnfv.org/en/latest/submodules/dovetail/docs/testing/user/userguide/testing_guide.html + " target="_blank">Dovetail Test Tool User Guide <span class="glyphicon glyphicon-new-window" aria-hidden="true"></span></a></div> + <div><a href="https://wiki.opnfv.org/download/attachments/11698759/Dovetail%20CVP%20Tutorial.ppt?version=2&modificationDate=1508175962000&api=v2 + " target="_blank">CVP / Dovetail Tutorial Slides <span class="glyphicon glyphicon-new-window" aria-hidden="true"></span></a></div> + <div><a href="http://docs.opnfv.org/en/latest/submodules/dovetail/docs/testing/user/userguide/cli_reference.html + " target="_blank">Dovetail CLI <span class="glyphicon glyphicon-new-window" aria-hidden="true"></span></a></div> + <div><a href="http://docs.opnfv.org/en/latest/submodules/dovetail/docs/testing/user/cvpaddendum/index.html + " target="_blank">CVP Guidelines Addendum <span class="glyphicon glyphicon-new-window" aria-hidden="true"></span></a></div> + <div><a href="http://docs.opnfv.org/en/latest/submodules/dovetail/docs/testing/user/testspecification" target="_blank">Test Specifications <span class="glyphicon glyphicon-new-window" aria-hidden="true"></span></a></div> + </div> + </div> + </div> + <div class="panel panel-default" style="margin-top:0px"> + <div class="panel-heading"> + <div class="panel-title"> + <a data-toggle="collapse" data-parent="#accordion" href="#collapseThree"> + Release Information + </a> + </div> + </div> + <div id="collapseThree" class="panel-collapse collapse"> + <div class="panel-body"> + <div><a target="_blank">FAQ</a></div> + <div><a target="_blank">Known issues</a></div> + <div><a target="_blank">Dovetail and dependent container versioning</a></div> + <div><a target="_blank">Other - TBD</a></div> + </div> + </div> + </div> + <div class="panel panel-default" style="margin-top:0px"> + <div class="panel-heading"> + <div class="panel-title"> + <a data-toggle="collapse" data-parent="#accordion" href="#collapseFour"> + CVP Registry + </a> + </div> + </div> + <div id="collapseFour" class="panel-collapse collapse"> + <div class="panel-body"> + </div> + </div> + </div> + </div> + </div> + + <div class="col-md-10"> + <div class="common-main-container"> + <div class="home-content-title"> + <h1>OPNFV is offering a Compliance Verification Program (CVP) that verifies products and services with the "OPNFV Verified" mark.</h1> + </div> + <div> + <h3 class="home-content-text"> + The program is intended to demonstrate the readiness and availability of commercial products based on OPNFV. + Verified products submitted by respective vendors are expected to dierentiate themselves with dierent features + and capabilities but remain compliant by implementing explicitly defined interfaces, behaviors, and key features. + Get started with your CVP application today. + </h3> + </div> + <div> + <img class="home-content-img" src="testapi-ui/assets/img/icon.png" /> + </div> + </div> + </div> + </div> +</div> diff --git a/cvp/3rd_party/static/testapi-ui/components/home/homeController.js b/cvp/3rd_party/static/testapi-ui/components/home/homeController.js index bd1ab0f9..4a31448b 100644 --- a/cvp/3rd_party/static/testapi-ui/components/home/homeController.js +++ b/cvp/3rd_party/static/testapi-ui/components/home/homeController.js @@ -31,12 +31,14 @@ function HomeController($scope, $rootScope, $state) { var ctrl = this; - ctrl.gotoApplication = function(){ - if($rootScope.auth.isAuthenticated){ - $state.go('application'); - }else{ - $rootScope.auth.doSignIn('cas'); - } - } + ctrl.height = $(document).height() - 115; + + ctrl.gotoApplication = function(){ + if($rootScope.auth.isAuthenticated){ + $state.go('application'); + }else{ + $rootScope.auth.doSignIn('cas'); + } + } } })(); diff --git a/cvp/3rd_party/static/testapi-ui/components/profile/profile.html b/cvp/3rd_party/static/testapi-ui/components/profile/profile.html index b41a101c..98b28df5 100644 --- a/cvp/3rd_party/static/testapi-ui/components/profile/profile.html +++ b/cvp/3rd_party/static/testapi-ui/components/profile/profile.html @@ -1,3 +1,4 @@ +<div class="container-fluid common-main-container"> <h3>User profile</h3> <div cg-busy="{promise:ctrl.authRequest,message:'Loading'}"></div> <div> @@ -36,3 +37,4 @@ </table> </div> </div> +</div> diff --git a/cvp/3rd_party/static/testapi-ui/components/results-report/resultsReport.html b/cvp/3rd_party/static/testapi-ui/components/results-report/resultsReport.html index a9753c3c..16cfa65d 100644 --- a/cvp/3rd_party/static/testapi-ui/components/results-report/resultsReport.html +++ b/cvp/3rd_party/static/testapi-ui/components/results-report/resultsReport.html @@ -1,3 +1,4 @@ +<div class="container-fluid common-main-container"> <h3>Test Run Results</h3> <div ng-show="ctrl.testId" class="container-fluid"> @@ -27,6 +28,7 @@ <br /> </uib-accordion> </div> +</div> <!-- <div class="loading"> diff --git a/cvp/3rd_party/static/testapi-ui/components/results/results.html b/cvp/3rd_party/static/testapi-ui/components/results/results.html index 1f816ea7..8d7e4482 100644 --- a/cvp/3rd_party/static/testapi-ui/components/results/results.html +++ b/cvp/3rd_party/static/testapi-ui/components/results/results.html @@ -1,3 +1,4 @@ +<div class="container-fluid common-main-container"> <h3>{{ctrl.pageHeader}}</h3> <p>{{ctrl.pageParagraph}}</p> <form class="form-inline" ng-show="ctrl.isUserResults"> @@ -94,6 +95,7 @@ <span class="sr-only">Error:</span> {{ctrl.error}} </div> +</div> <style> .button-disabled { diff --git a/cvp/3rd_party/static/testapi-ui/components/sut/sut.html b/cvp/3rd_party/static/testapi-ui/components/sut/sut.html index d9692b87..3426894c 100644 --- a/cvp/3rd_party/static/testapi-ui/components/sut/sut.html +++ b/cvp/3rd_party/static/testapi-ui/components/sut/sut.html @@ -3,8 +3,9 @@ <link rel="stylesheet" href="testapi-ui/assets/css/combine.css" /> +<div class="container-fluid common-main-container"> <h2>Endpoints</h2> -<div class="results-table" style="margin-top:30px;overflow:scroll"> +<div class="results-table" style="margin-top:30px"> <table class="table table-striped table-hover"> <thead> <tr> @@ -27,7 +28,7 @@ <h2>Hosts</h2> <div ng-repeat="(host, info) in ctrl.sutData.hardware_info"> - <div class="results-table" style="margin-top:30px;overflow:scroll"> + <div class="results-table" style="margin-top:30px;"> <table class="table table-striped table-hover"> <tbody style="white-space: nowrap; overflow: hidden; text-overflow: ellipsis;"> <tr ng-repeat="record in info"> @@ -38,3 +39,4 @@ </table> </div> </div> +</div> diff --git a/cvp/3rd_party/static/testapi-ui/index.html b/cvp/3rd_party/static/testapi-ui/index.html index b2b891d8..6700fc01 100644 --- a/cvp/3rd_party/static/testapi-ui/index.html +++ b/cvp/3rd_party/static/testapi-ui/index.html @@ -31,8 +31,12 @@ <link rel="stylesheet" href="testapi-ui/assets/lib/angular-xeditable-0.8.0/css/xeditable.min.css" /> <link rel="stylesheet" href="testapi-ui/assets/css/cvp-style.css" /> <link rel="stylesheet" href="testapi-ui/assets/css/ascend.css" /> + <link rel="stylesheet" href="testapi-ui/assets/css/index.css" /> + <link rel="stylesheet" href="testapi-ui/assets/css/header.css" /> + <link rel="stylesheet" href="testapi-ui/assets/css/home/home.css" /> <script src="testapi-ui/assets/lib/jquery/src/jquery.min.js"></script> + <script src="testapi-ui/assets/lib/bootstrap/dist/js/bootstrap.min.js"></script> <script src="testapi-ui/assets/lib/angular/angular.min.js"></script> <script src="testapi-ui/assets/lib/angular-ui-router/release/angular-ui-router.min.js"></script> <script src="testapi-ui/assets/lib/angular-resource/angular-resource.min.js"></script> @@ -63,7 +67,7 @@ </head> - <body class="container home page-template-default page page-id-6 do-etfw tribe-no-js ascend wpb-js-composer js-comp-ver-5.2.1 vc_responsive"> + <body class="container-fluid home page-template-default page page-id-6 do-etfw tribe-no-js ascend wpb-js-composer js-comp-ver-5.2.1 vc_responsive index-header"> <header ng-include src="'testapi-ui/shared/header/header.html'"></header> <div ui-view></div> diff --git a/cvp/3rd_party/static/testapi-ui/shared/header/header.html b/cvp/3rd_party/static/testapi-ui/shared/header/header.html index cf6c8af9..8504b581 100644 --- a/cvp/3rd_party/static/testapi-ui/shared/header/header.html +++ b/cvp/3rd_party/static/testapi-ui/shared/header/header.html @@ -1,59 +1,55 @@ -<div class="heading "><a ui-sref="home"></a> - <div class="pull-left left"> - <img src="testapi-ui/assets/img/opnfv-logo.png" alt="OPNFV"> - </div> - <h2 style="padding-top:25px;">Compliance Verification Program</h2> -</div> -<nav class="navbar navbar-default" role="navigation" ng-controller="HeaderController as header"> - <div class="container-fluid"> - <!-- Brand and toggle get grouped for better mobile display --> - <div class="navbar-header"> - <button type="button" class="navbar-toggle collapsed" ng-click="header.navbarCollapsed = !header.navbarCollapsed"> - <span class="sr-only">Toggle navigation</span> - <span class="icon-bar"></span> - <span class="icon-bar"></span> - <span class="icon-bar"></span> - </button> +<div class="header-container-1"> + <div class="row header-container-row"> + <div class="col-md-3"> + <a href="/#/" > + <img class="stnd dark-version header-logo" alt="OPNFV" src="testapi-ui/assets/img/logo.png" /> + </a> + </div> + <div class="col-md-offset-1 header-title"> + <span class="header-title">Compliance Verification Program</span> </div> - <div class="collapse navbar-collapse" id="navbar" uib-collapse="header.navbarCollapsed"> - <ul class="nav navbar-nav"> - <li ng-class="{ active: header.isActive('/')}"><a ui-sref="home">Home</a></li> - <!-- - <li ng-class="{ active: header.isActive('/about')}"><a ui-sref="about">About</a></li> - <li ng-class="{ active: header.isActive('/guidelines')}"><a ui-sref="guidelines">OPNFV Ready™ Guidelines</a></li> - <li ng-class="{ active: header.isActive('/community_results')}"><a ui-sref="communityResults">Community Results</a></li> - - <li ng-class="{ active: header.isCatalogActive('public')}" class="dropdown" uib-dropdown> - <a role="button" class="dropdown-toggle" uib-dropdown-toggle> - Catalog <strong class="caret"></strong> - </a> - <ul class="dropdown-menu"> - <li><a ui-sref="publicVendors">Vendors</a></li> - <li><a ui-sref="publicProducts">Products</a></li> - </ul> - </li> - --> - </ul> - <ul class="nav navbar-nav navbar-right"> - <li ng-class="{ active: header.isActive('/application')}" ng-if="auth.isAuthenticated && auth.currentUser.role.indexOf('administrator') != -1"><a ui-sref="application">Applications</a></li> - <li ng-class="{ active: header.isActive('/user_results')}" ng-if="auth.isAuthenticated"><a ui-sref="userResults">My Results</a></li> - <!-- - <li ng-if="auth.isAuthenticated" ng-class="{ active: header.isCatalogActive('user')}" class="dropdown" uib-dropdown> - <a role="button" class="dropdown-toggle" uib-dropdown-toggle> - My Catalog <strong class="caret"></strong> - </a> - <ul class="dropdown-menu"> - <li><a ui-sref="userVendors">My Vendors</a></li> - <li><a ui-sref="userProducts">My Products</a></li> - </ul> - </li> - --> - <li ng-class="{ active: header.isActive('/profile')}" ng-if="auth.isAuthenticated"><a ui-sref="profile">Profile</a></li> - <li ng-if="auth.isAuthenticated"><a href="" ng-click="auth.doSignOut()">Sign Out</a></li> - <li ng-if="!auth.isAuthenticated"><a href="" ng-click="auth.doSignIn('cas')">Sign In / Sign Up</a></li> - </ul> + </div> +</div> + +<div class="header-container-2"> + <div class="row header-container-row"> + <div> + <ul class="nav navbar-nav navbar-right header-login"> + <!-- + <li ng-class="{ active: header.isActive('/about')}"><a ui-sref="about">About</a></li> + <li ng-class="{ active: header.isActive('/guidelines')}"><a ui-sref="guidelines">OPNFV Ready™ Guidelines</a></li> + <li ng-class="{ active: header.isActive('/community_results')}"><a ui-sref="communityResults">Community Results</a></li> + <li ng-class="{ active: header.isCatalogActive('public')}" class="dropdown" uib-dropdown> + <a role="button" class="dropdown-toggle" uib-dropdown-toggle> + Catalog <strong class="caret"></strong> + </a> + <ul class="dropdown-menu"> + <li><a ui-sref="publicVendors">Vendors</a></li> + <li><a ui-sref="publicProducts">Products</a></li> + </ul> + </li> + <li ng-if="auth.isAuthenticated" ng-class="{ active: header.isCatalogActive('user')}" class="dropdown" uib-dropdown> + <a role="button" class="dropdown-toggle" uib-dropdown-toggle> + My Catalog <strong class="caret"></strong> + </a> + <ul class="dropdown-menu"> + <li><a ui-sref="userVendors">My Vendors</a></li> + <li><a ui-sref="userProducts">My Products</a></li> + </ul> + </li> + --> + <li ng-class="{ active: header.isActive('/application')}" ng-if="auth.isAuthenticated && auth.currentUser.role.indexOf('administrator') != -1"><a ui-sref="application">Applications</a></li> + <li ng-class="{ active: header.isActive('/user_results')}" ng-if="auth.isAuthenticated"><a ui-sref="userResults">My Results</a></li> + <li ng-class="{ active: header.isActive('/profile')}" ng-if="auth.isAuthenticated"><a ui-sref="profile">Profile</a></li> + <li ng-if="auth.isAuthenticated" style="margin-right:10px"><a href="" ng-click="auth.doSignOut()">Sign Out</a></li> + <li ng-if="!auth.isAuthenticated" style="margin-right:10px;"><a href="" ng-click="auth.doSignIn('cas')"><span class="glyphicon glyphicon-user" aria-hidden="true"> </span>Sign In / Sign Up</a></li> + </ul> </div> </div> -</nav> +</div> +<div class="container-fluid header-splitline"> + <div class="row header-container-row"> + </div> +</div> |