diff options
author | 2017-07-31 11:06:26 +0530 | |
---|---|---|
committer | 2017-07-31 11:06:26 +0530 | |
commit | d0e21365a8bf7da9dd87915c52acb0a907dfe59b (patch) | |
tree | 06b4f5314b92ca2695bd3dbd9d545df6df242dd3 /vnfmarket-be/portal-marketplace/src/main/webapp/marketplace/modules/home | |
parent | 6bf0d8e793ef1f55808bb54112f4839a18ee582a (diff) |
Market place initial code
Resolved:VNFSDK-53
VNF SDK market place
Change-Id: Ic9ac5491b4a43d03bce105abb295e10c476e1560
Signed-off-by: Murali-P <murali.p@huawei.com>
Diffstat (limited to 'vnfmarket-be/portal-marketplace/src/main/webapp/marketplace/modules/home')
7 files changed, 1142 insertions, 0 deletions
diff --git a/vnfmarket-be/portal-marketplace/src/main/webapp/marketplace/modules/home/dashboard.html b/vnfmarket-be/portal-marketplace/src/main/webapp/marketplace/modules/home/dashboard.html new file mode 100644 index 00000000..b048c381 --- /dev/null +++ b/vnfmarket-be/portal-marketplace/src/main/webapp/marketplace/modules/home/dashboard.html @@ -0,0 +1,100 @@ +<!-- + Copyright 2016-2017 Huawei Technologies Co., Ltd. + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. +--> +<div class="md-padding" flex layout-sm="column"> + <md-card class="text-center"> + <md-card-content> + <h1>{{ vm.title }}</h1> + <h3>{{ vm.version }}</h3> + <p>An Online MarketPlace (or online e-commerce marketplace) is a type of a e-commarce site where product of service information is proviced by multiple third parties,whereas transactions are processed by the marketplace operator.</p> + <br> + <md-divider class="margin-top-20"></md-divider> + <!-- <h1 class="margin-top-50">Features</h1> + <ul> + <li class=" text-center" ng-repeat="item in vm.listFeatures"> + <p><ng-md-icon icon="check"></ng-md-icon> {{item.feature}}</p> + </li> + </ul> --> + </md-card-content> + </md-card> + <!-- Start About Page --> + <md-card> + <md-card-content> + <div class="row"> + <div class="col-md-4"> + <a href="#" data-toggle="modal" data-target="#open-o-diagram"> + <img class="img-responsive" src="app/assets/images/open_o_diagram.png" alt="open o Architecture"> + </a> + </div> + <div class="col-md-8"> + <div class="row"> + <div class="col-md-12 content clearfix"> + <div class="editContent"> + <h1>Open Orchestrator Project (OPEN-O)</h1> + <h3>Any Service Over Any Network</h3> + </div> + <div class="editContent"> + <p class="lead">OPEN-O is seeking to offer network operators an incremental path to transform their networks, and OSS/BSS, through adoption of SDN and NFV without scrapping the vast investments in existing equipment and technologies.</p> + </div> + + </div> + + </div><!-- /.row--> + </div> + </div> + <div class="col-md-12"> + <div class="row pad15"> + <div class="col-xs-2"> + <span class="fa fa-rocket fa-4x"></span> + </div> + <div class="col-xs-10"> + <div class="editContent"> + <h3>Mission</h3> + </div> + <div class="editContent"> + <p>The mission of the OPEN-Orchestrator Project (OPEN-O) is to: enable end-to-end service agility across SDN, NFV, and legacy networks via a unified orchestration platform supporting NFV orchestration (NFVO and VNFM) and SDN orchestration.</p> + </div> + </div> + </div><!-- /.row --> + <div class="row pad15"> + <div class="col-xs-2"> + <span class="fa fa-users fa-4x"></span> + </div> + <div class="col-xs-10"> + <div class="editContent"> + <h3>Target Customers.</h3> + </div> + <div class="editContent"> + <p>OPEN-O is targeting the world’s most important and innovative telecommunications and cable operators, and the OEMs, systems integrators, and software firms who support them.</p> + </div> + </div> + </div><!-- /.row --> + <div class="row pad15"> + <div class="col-xs-2"> + <span class="fa fa-object-group fa-4x"></span> + </div> + <div class="col-xs-10"> + <div class="editContent"> + <h3>OPEN-O Architecture.</h3> + </div> + <div class="editContent"> + <p>The OPEN-O Architecture (shown in the Figure ), enables operators to orchestrate end-to- end composite services, leveraging virtualized (and physical network functions), and SDN and legacy connectivity services. The model-driven service framework uses standard modeling languages including TOSCA and YANG, and a modular approach to integrate with MANO building blocks (such as VIMs and VNFMs), along with Connectivity Services Management, including SDN Controllers, EMS’ and NMS’.</p> + </div> + </div> + </div><!-- /.row --> + </div> + </md-card-content> + </md-card> +</div> diff --git a/vnfmarket-be/portal-marketplace/src/main/webapp/marketplace/modules/home/home-test.js b/vnfmarket-be/portal-marketplace/src/main/webapp/marketplace/modules/home/home-test.js new file mode 100644 index 00000000..cc9157ff --- /dev/null +++ b/vnfmarket-be/portal-marketplace/src/main/webapp/marketplace/modules/home/home-test.js @@ -0,0 +1,55 @@ +/* + + Copyright 2016-2017, Huawei Technologies Co., Ltd. + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + +*/ +(function () { + 'use strict'; + + /** + * @ngdoc function + * @name app.test:homeTest + * @description + * # homeTest + * Test of the app + */ + + describe('homeCtrl', function () { + var controller = null, $scope = null, $location; + + beforeEach(function () { + module('vnfmarket'); + }); + + beforeEach(inject(function ($controller, $rootScope, _$location_) { + $scope = $rootScope.$new(); + $location = _$location_; + + controller = $controller('HomeCtrl', { + $scope: $scope + }); + })); + + it('Should HomeCtrl must be defined', function () { + expect(controller).toBeDefined(); + }); + + it('Should match the path Module name', function () { + $location.path('/home'); + expect($location.path()).toBe('/home'); + }); + + }); +})(); diff --git a/vnfmarket-be/portal-marketplace/src/main/webapp/marketplace/modules/home/home.html b/vnfmarket-be/portal-marketplace/src/main/webapp/marketplace/modules/home/home.html new file mode 100644 index 00000000..2ba4d768 --- /dev/null +++ b/vnfmarket-be/portal-marketplace/src/main/webapp/marketplace/modules/home/home.html @@ -0,0 +1,108 @@ +<!-- + Copyright 2016-2017 Huawei Technologies Co., Ltd. + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. +--> +<md-sidenav layout="column" class="md-sidenav-left md-whiteframe-z2" md-component-id="left" md-is-locked-open="$mdMedia('gt-md')"> + <div ng-controller="SidenavCtrl as vm" ng-cloak> + <md-toolbar class="md-tall md-hue-2"> + <div layout="column" class="md-toolbar-tools-bottom inset"> + <div layout="row"> + <div flex="80" style="margin-top: 10px;"> + <div>VNF Marketplace</div> + </div> + </div> + </div> + </md-toolbar> + <md-list> + <md-list-item ui-sref="home.dashboard"> + <div class="inset"> + <ng-md-icon icon="apps"></ng-md-icon> + </div> + <p> Dashboard </p> + </md-list-item> + <md-list-item ng-repeat="item in vm.menu" ng-click="vm.navigateTo('home.' + item.link)"> + <div class="inset" ng-show="item.icon"> + <ng-md-icon icon="{{item.icon}}"></ng-md-icon> + </div> + <p > {{ item.name }}</p> + </md-list-item> + <md-divider></md-divider> + <md-subheader>Admin</md-subheader> + <md-list-item ng-repeat="item in vm.admin" ng-click="vm.showSettingsBottom($event)" > + <div class="inset"> + <ng-md-icon icon="{{item.icon}}"></ng-md-icon> + </div> + <p> {{ item.title }}</p> + </md-list-item> + </md-list> + </div> +</md-sidenav> + +<div layout="column" class="relative" layout-fill role="main" ng-controller="LayoutCtrl as layout" ng-cloak> + <md-toolbar ng-show="!showSearch"> + <div class="md-toolbar-tools"> + <md-button ng-click="layout.toggleSidenav('left')" hide-gt-md aria-label="Menu"> + <ng-md-icon icon="menu"></ng-md-icon> + </md-button> + <h3>VNF Marketplace</h3> + <span flex></span> + <md-button aria-label="Search" ng-click="showSearch = !showSearch"> + <ng-md-icon icon="search"></ng-md-icon> + </md-button> + <md-menu> + <md-button aria-label="Open Settings" ng-click="layout.openMenu($mdOpenMenu, $event)"> + <md-icon> more_vert </md-icon> + </md-button> + <md-menu-content width="4"> + <md-menu-item> + <md-button ng-click="layout.changeProfile($event)"> + <md-icon>face</md-icon> + Profile + </md-button> + </md-menu-item> + <md-menu-item> + <md-button ng-click="layout.changePassword()"> + <md-icon>lock</md-icon> + Password + </md-button> + </md-menu-item> + <md-menu-divider></md-menu-divider> + <md-menu-item> + <md-button ng-click="layout.logOut()"> + <md-icon>power_settings_new</md-icon> + Logout + </md-button> + </md-menu-item> + </md-menu-content> + </md-menu> + </div> + </md-toolbar> + <md-toolbar class="md-hue-1" ng-show="showSearch"> + <div class="md-toolbar-tools"> + <md-button ng-click="showSearch = !showSearch" aria-label="Back"> + <ng-md-icon icon="arrow_back"></ng-md-icon> + </md-button> + <h3 flex="10"> + Back + </h3> + <md-input-container md-theme="input" flex> + <label> </label> + <input ng-model="search.who" placeholder="Search ..."> + </md-input-container> + </div> + </md-toolbar> + <md-content layout="column" flex md-scroll-y style="background-color:#DCDCDC"> + <div ui-view></div> + </md-content> +</div> diff --git a/vnfmarket-be/portal-marketplace/src/main/webapp/marketplace/modules/home/homeCtrl.js b/vnfmarket-be/portal-marketplace/src/main/webapp/marketplace/modules/home/homeCtrl.js new file mode 100644 index 00000000..a4b88aa0 --- /dev/null +++ b/vnfmarket-be/portal-marketplace/src/main/webapp/marketplace/modules/home/homeCtrl.js @@ -0,0 +1,51 @@ +/* + + Copyright 2016-2017, Huawei Technologies Co., Ltd. + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + +*/ +(function () { + 'use strict'; + + /** + * @ngdoc function + * @name app.controller:HomeCtrl + * @description + * # HomeCtrl + * Controller of the app + */ + + angular + .module('vnfmarket') + .controller('HomeCtrl', Home); + + Home.$inject = ['homeService']; + + /* + * recommend + * Using function declarations + * and bindable members up top. + */ + + function Home(homeService) { + /*jshint validthis: true */ + var vm = this; + vm.title = "Welcome to VNF Marketplace!"; + vm.version = "1.0.0"; + vm.listFeatures = homeService.getFeaturesList(); + console.log(vm.listFeatures); + + } + +})(); diff --git a/vnfmarket-be/portal-marketplace/src/main/webapp/marketplace/modules/home/homeModule.js b/vnfmarket-be/portal-marketplace/src/main/webapp/marketplace/modules/home/homeModule.js new file mode 100644 index 00000000..93624644 --- /dev/null +++ b/vnfmarket-be/portal-marketplace/src/main/webapp/marketplace/modules/home/homeModule.js @@ -0,0 +1,30 @@ +/* + + Copyright 2016-2017, Huawei Technologies Co., Ltd. + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + +*/ +(function() { + 'use strict'; + + /** + * @ngdoc function + * @name app.module:homeModule + * @description + * # homeModule + * Module of the app + */ + + angular.module('home', []); +})(); diff --git a/vnfmarket-be/portal-marketplace/src/main/webapp/marketplace/modules/home/homeRoute.js b/vnfmarket-be/portal-marketplace/src/main/webapp/marketplace/modules/home/homeRoute.js new file mode 100644 index 00000000..286d1ae3 --- /dev/null +++ b/vnfmarket-be/portal-marketplace/src/main/webapp/marketplace/modules/home/homeRoute.js @@ -0,0 +1,44 @@ +/* + + Copyright 2016-2017, Huawei Technologies Co., Ltd. + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + +*/ +'use strict'; + + /** + * @ngdoc function + * @name app.route:HomeRoute + * @description + * # HomeRoute + * Route of the app + */ + +angular.module('vnfmarket') + .config(['$stateProvider', function ($stateProvider) { + $stateProvider + + .state('home', { + url: '', + abstract: true, + templateUrl: 'app/modules/home/home.html', + controller: 'HomeCtrl', + controllerAs: 'vm' + }) + .state('home.dashboard', { + url:'/dashboard', + templateUrl: 'app/modules/home/dashboard.html' + }); + + }]); diff --git a/vnfmarket-be/portal-marketplace/src/main/webapp/marketplace/modules/home/homeService.js b/vnfmarket-be/portal-marketplace/src/main/webapp/marketplace/modules/home/homeService.js new file mode 100644 index 00000000..fb3ea3c0 --- /dev/null +++ b/vnfmarket-be/portal-marketplace/src/main/webapp/marketplace/modules/home/homeService.js @@ -0,0 +1,754 @@ +/* + + Copyright 2016-2017, Huawei Technologies Co., Ltd. + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + +*/ +(function () { + 'use strict'; + + /** + * @ngdoc function + * @name app.service:homeService + * @description + * # homeService + * Service of the app + */ + + angular.module('vnfmarket') + .factory('homeService', homeService); + + homeService.$inject = ['$http']; + + function homeService($http) { + + /*var list = [ + {"feature": "Implemented Best Practices, following: John Papa's Guide"}, + {"feature": "Using Controller AS syntax"}, + {"feature": "Wrap Angular components in an Immediately Invoked Function Expression (IIFE)"}, + {"feature": "Declare modules without a variable using the setter syntax"}, + {"feature": "Using named functions"}, + {"feature": "Including Unit test with Karma"}, + {"feature": "Including UI options for Bootstrap or Angular-Material"}, + {"feature": "Including Angular-Material-Icons for Angular-Material UI"}, + {"feature": "Dynamic Menu generator for both themes"}, + {"feature": "Grunt task for Production and Development"} + ];*/ + var services = [ + { + "name": "vEPC", + "vendor": "Huawei", + "date": "2016-11-21 23:06", + "desc": "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed interdum fringilla laoreet. Nulla facilisi. Maecenas consequat tristique odio, in consectetur leo volutpat vitae. Ut porttitor iaculis metus sed tincidunt. Etiam facilisis nec nisi at tempus. Curabitur ultrices molestie dictum. Integer placerat varius lorem, id cursus augue vulputate quis. Nulla pulvinar vel nunc vel lacinia. Aliquam eleifend, ipsum in sodales dictum, mi risus dictum est, non hendrerit neque elit et turpis. Integer lacus massa, pulvinar eget porttitor vel, ultrices in elit. Ut convallis semper gravida. Sed mollis leo est, eget consectetur dui vestibulum a. Phasellus non augue id diam malesuada ultrices. Praesent id nunc vehicula, dapibus quam in, rhoncus lorem. Praesent mattis elit a ex elementum, vel imperdiet risus tempor. Aliquam laoreet mauris nec egestas eleifend.", + "downloads": 20, + "type":"gs-o", + "size":"204800", + "down_history":[ + { + "user":"user_001", + "time": "2016-11-30 17:31" + }, + { + "user":"user_002", + "time": "2016-11-30 14:31" + }, + { + "user":"user_003", + "time": "2016-11-30 11:01" + }, + { + "user":"user_004", + "time": "2016-11-30 10:03" + }, + { + "user":"user_005", + "time": "2016-11-30 00:31" + }, + { + "user":"user_006", + "time": "2016-11-29 19:32" + }, + { + "user":"user_007", + "time": "2016-11-28 20:31" + }, + { + "user":"user_008", + "time": "2016-11-20 09:11" + } + ], + "upl_history":[ + { + "user":"user_001", + "time": "2016-11-30 15:31" + }, + { + "user":"user_002", + "time": "2016-11-30 14:31" + }, + { + "user":"user_003", + "time": "2016-11-30 11:01" + }, + { + "user":"user_004", + "time": "2016-11-30 14:03" + }, + { + "user":"user_005", + "time": "2016-11-30 10:31" + }, + { + "user":"user_006", + "time": "2016-11-29 19:12" + }, + { + "user":"user_007", + "time": "2016-11-28 02:31" + }, + { + "user":"user_008", + "time": "2016-11-20 09:11" + } + ] + }, + { + "name": "vFirewall", + "vendor": "Huawei", + "date": "2016-11-23 22:09", + "desc": "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed interdum fringilla laoreet. Nulla facilisi. Maecenas consequat tristique odio, in consectetur leo volutpat vitae. Ut porttitor iaculis metus sed tincidunt. Etiam facilisis nec nisi at tempus. Curabitur ultrices molestie dictum. Integer placerat varius lorem, id cursus augue vulputate quis. Nulla pulvinar vel nunc vel lacinia. Aliquam eleifend, ipsum in sodales dictum, mi risus dictum est, non hendrerit neque elit et turpis. Integer lacus massa, pulvinar eget porttitor vel, ultrices in elit. Ut convallis semper gravida. Sed mollis leo est, eget consectetur dui vestibulum a. Phasellus non augue id diam malesuada ultrices. Praesent id nunc vehicula, dapibus quam in, rhoncus lorem. Praesent mattis elit a ex elementum, vel imperdiet risus tempor. Aliquam laoreet mauris nec egestas eleifend.", + "downloads": 25, + "type":"gs-o", + "size":"204800", + "down_history":[ + { + "user":"user_001", + "time": "2016-11-30 17:31" + }, + { + "user":"user_002", + "time": "2016-11-30 14:31" + }, + { + "user":"user_003", + "time": "2016-11-30 11:01" + }, + { + "user":"user_004", + "time": "2016-11-30 10:03" + }, + { + "user":"user_005", + "time": "2016-11-30 00:31" + }, + { + "user":"user_006", + "time": "2016-11-29 19:32" + }, + { + "user":"user_007", + "time": "2016-11-28 20:31" + }, + { + "user":"user_008", + "time": "2016-11-20 09:11" + } + ], + "upl_history":[ + { + "user":"user_001", + "time": "2016-11-30 15:31" + }, + { + "user":"user_002", + "time": "2016-11-30 14:31" + }, + { + "user":"user_003", + "time": "2016-11-30 11:01" + }, + { + "user":"user_004", + "time": "2016-11-30 14:03" + }, + { + "user":"user_005", + "time": "2016-11-30 10:31" + }, + { + "user":"user_006", + "time": "2016-11-29 19:12" + }, + { + "user":"user_007", + "time": "2016-11-28 02:31" + }, + { + "user":"user_008", + "time": "2016-11-20 09:11" + } + ] + }, + { + "name": "vIMS", + "vendor": "Huawei", + "date": "2016-10-21 12:04", + "desc": "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed interdum fringilla laoreet. Nulla facilisi. Maecenas consequat tristique odio, in consectetur leo volutpat vitae. Ut porttitor iaculis metus sed tincidunt. Etiam facilisis nec nisi at tempus. Curabitur ultrices molestie dictum. Integer placerat varius lorem, id cursus augue vulputate quis. Nulla pulvinar vel nunc vel lacinia. Aliquam eleifend, ipsum in sodales dictum, mi risus dictum est, non hendrerit neque elit et turpis. Integer lacus massa, pulvinar eget porttitor vel, ultrices in elit. Ut convallis semper gravida. Sed mollis leo est, eget consectetur dui vestibulum a. Phasellus non augue id diam malesuada ultrices. Praesent id nunc vehicula, dapibus quam in, rhoncus lorem. Praesent mattis elit a ex elementum, vel imperdiet risus tempor. Aliquam laoreet mauris nec egestas eleifend.", + "downloads": 10, + "type":"sdn-o", + "size":"104800", + "down_history":[ + { + "user":"user_001", + "time": "2016-11-30 17:31" + }, + { + "user":"user_002", + "time": "2016-11-30 14:31" + }, + { + "user":"user_003", + "time": "2016-11-30 11:01" + }, + { + "user":"user_004", + "time": "2016-11-30 10:03" + }, + { + "user":"user_005", + "time": "2016-11-30 00:31" + }, + { + "user":"user_006", + "time": "2016-11-29 19:32" + }, + { + "user":"user_007", + "time": "2016-11-28 20:31" + }, + { + "user":"user_008", + "time": "2016-11-20 09:11" + } + ], + "upl_history":[ + { + "user":"user_001", + "time": "2016-11-30 15:31" + }, + { + "user":"user_002", + "time": "2016-11-30 14:31" + }, + { + "user":"user_003", + "time": "2016-11-30 11:01" + }, + { + "user":"user_004", + "time": "2016-11-30 14:03" + }, + { + "user":"user_005", + "time": "2016-11-30 10:31" + }, + { + "user":"user_006", + "time": "2016-11-29 19:12" + }, + { + "user":"user_007", + "time": "2016-11-28 02:31" + }, + { + "user":"user_008", + "time": "2016-11-20 09:11" + } + ] + }, + { + "name": "vLoadbalance", + "vendor": "ZTE", + "date": "2016-11-20 05:06", + "desc": "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed interdum fringilla laoreet. Nulla facilisi. Maecenas consequat tristique odio, in consectetur leo volutpat vitae. Ut porttitor iaculis metus sed tincidunt. Etiam facilisis nec nisi at tempus. Curabitur ultrices molestie dictum. Integer placerat varius lorem, id cursus augue vulputate quis. Nulla pulvinar vel nunc vel lacinia. Aliquam eleifend, ipsum in sodales dictum, mi risus dictum est, non hendrerit neque elit et turpis. Integer lacus massa, pulvinar eget porttitor vel, ultrices in elit. Ut convallis semper gravida. Sed mollis leo est, eget consectetur dui vestibulum a. Phasellus non augue id diam malesuada ultrices. Praesent id nunc vehicula, dapibus quam in, rhoncus lorem. Praesent mattis elit a ex elementum, vel imperdiet risus tempor. Aliquam laoreet mauris nec egestas eleifend.", + "downloads": 319, + "type":"sdn-o", + "size":"204800", + "down_history":[ + { + "user":"user_001", + "time": "2016-11-30 17:31" + }, + { + "user":"user_002", + "time": "2016-11-30 14:31" + }, + { + "user":"user_003", + "time": "2016-11-30 11:01" + }, + { + "user":"user_004", + "time": "2016-11-30 10:03" + }, + { + "user":"user_005", + "time": "2016-11-30 00:31" + }, + { + "user":"user_006", + "time": "2016-11-29 19:32" + }, + { + "user":"user_007", + "time": "2016-11-28 20:31" + }, + { + "user":"user_008", + "time": "2016-11-20 09:11" + } + ], + "upl_history":[ + { + "user":"user_001", + "time": "2016-11-30 15:31" + }, + { + "user":"user_002", + "time": "2016-11-30 14:31" + }, + { + "user":"user_003", + "time": "2016-11-30 11:01" + }, + { + "user":"user_004", + "time": "2016-11-30 14:03" + }, + { + "user":"user_005", + "time": "2016-11-30 10:31" + }, + { + "user":"user_006", + "time": "2016-11-29 19:12" + }, + { + "user":"user_007", + "time": "2016-11-28 02:31" + }, + { + "user":"user_008", + "time": "2016-11-20 09:11" + } + ] + }, + { + "name": "vCPE", + "vendor": "ZTE", + "date": "2016-11-03 23:06", + "desc": "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed interdum fringilla laoreet. Nulla facilisi. Maecenas consequat tristique odio, in consectetur leo volutpat vitae. Ut porttitor iaculis metus sed tincidunt. Etiam facilisis nec nisi at tempus. Curabitur ultrices molestie dictum. Integer placerat varius lorem, id cursus augue vulputate quis. Nulla pulvinar vel nunc vel lacinia. Aliquam eleifend, ipsum in sodales dictum, mi risus dictum est, non hendrerit neque elit et turpis. Integer lacus massa, pulvinar eget porttitor vel, ultrices in elit. Ut convallis semper gravida. Sed mollis leo est, eget consectetur dui vestibulum a. Phasellus non augue id diam malesuada ultrices. Praesent id nunc vehicula, dapibus quam in, rhoncus lorem. Praesent mattis elit a ex elementum, vel imperdiet risus tempor. Aliquam laoreet mauris nec egestas eleifend.", + "downloads": 234, + "type":"nfv-o", + "size":"204800", + "down_history":[ + { + "user":"user_001", + "time": "2016-11-30 17:31" + }, + { + "user":"user_002", + "time": "2016-11-30 14:31" + }, + { + "user":"user_003", + "time": "2016-11-30 11:01" + }, + { + "user":"user_004", + "time": "2016-11-30 10:03" + }, + { + "user":"user_005", + "time": "2016-11-30 00:31" + }, + { + "user":"user_006", + "time": "2016-11-29 19:32" + }, + { + "user":"user_007", + "time": "2016-11-28 20:31" + }, + { + "user":"user_008", + "time": "2016-11-20 09:11" + } + ], + "upl_history":[ + { + "user":"user_001", + "time": "2016-11-30 15:31" + }, + { + "user":"user_002", + "time": "2016-11-30 14:31" + }, + { + "user":"user_003", + "time": "2016-11-30 11:01" + }, + { + "user":"user_004", + "time": "2016-11-30 14:03" + }, + { + "user":"user_005", + "time": "2016-11-30 10:31" + }, + { + "user":"user_006", + "time": "2016-11-29 19:12" + }, + { + "user":"user_007", + "time": "2016-11-28 02:31" + }, + { + "user":"user_008", + "time": "2016-11-20 09:11" + } + ] + }, + { + "name": "openimscore", + "vendor": "Intel", + "date": "2016-11-20 17:06", + "desc": "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed interdum fringilla laoreet. Nulla facilisi. Maecenas consequat tristique odio, in consectetur leo volutpat vitae. Ut porttitor iaculis metus sed tincidunt. Etiam facilisis nec nisi at tempus. Curabitur ultrices molestie dictum. Integer placerat varius lorem, id cursus augue vulputate quis. Nulla pulvinar vel nunc vel lacinia. Aliquam eleifend, ipsum in sodales dictum, mi risus dictum est, non hendrerit neque elit et turpis. Integer lacus massa, pulvinar eget porttitor vel, ultrices in elit. Ut convallis semper gravida. Sed mollis leo est, eget consectetur dui vestibulum a. Phasellus non augue id diam malesuada ultrices. Praesent id nunc vehicula, dapibus quam in, rhoncus lorem. Praesent mattis elit a ex elementum, vel imperdiet risus tempor. Aliquam laoreet mauris nec egestas eleifend.", + "downloads": 45, + "type":"nfv-o", + "size":"204800", + "down_history":[ + { + "user":"user_001", + "time": "2016-11-30 17:31" + }, + { + "user":"user_002", + "time": "2016-11-30 14:31" + }, + { + "user":"user_003", + "time": "2016-11-30 11:01" + }, + { + "user":"user_004", + "time": "2016-11-30 10:03" + }, + { + "user":"user_005", + "time": "2016-11-30 00:31" + }, + { + "user":"user_006", + "time": "2016-11-29 19:32" + }, + { + "user":"user_007", + "time": "2016-11-28 20:31" + }, + { + "user":"user_008", + "time": "2016-11-20 09:11" + } + ], + "upl_history":[ + { + "user":"user_001", + "time": "2016-11-30 15:31" + }, + { + "user":"user_002", + "time": "2016-11-30 14:31" + }, + { + "user":"user_003", + "time": "2016-11-30 11:01" + }, + { + "user":"user_004", + "time": "2016-11-30 14:03" + }, + { + "user":"user_005", + "time": "2016-11-30 10:31" + }, + { + "user":"user_006", + "time": "2016-11-29 19:12" + }, + { + "user":"user_007", + "time": "2016-11-28 02:31" + }, + { + "user":"user_008", + "time": "2016-11-20 09:11" + } + ] + }, + { + "name": "openims", + "vendor": "Intel", + "date": "2016-11-20 12:06", + "desc": "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed interdum fringilla laoreet. Nulla facilisi. Maecenas consequat tristique odio, in consectetur leo volutpat vitae. Ut porttitor iaculis metus sed tincidunt. Etiam facilisis nec nisi at tempus. Curabitur ultrices molestie dictum. Integer placerat varius lorem, id cursus augue vulputate quis. Nulla pulvinar vel nunc vel lacinia. Aliquam eleifend, ipsum in sodales dictum, mi risus dictum est, non hendrerit neque elit et turpis. Integer lacus massa, pulvinar eget porttitor vel, ultrices in elit. Ut convallis semper gravida. Sed mollis leo est, eget consectetur dui vestibulum a. Phasellus non augue id diam malesuada ultrices. Praesent id nunc vehicula, dapibus quam in, rhoncus lorem. Praesent mattis elit a ex elementum, vel imperdiet risus tempor. Aliquam laoreet mauris nec egestas eleifend.", + "downloads": 21, + "type":"sdn-o", + "size":"204800", + "down_history":[ + { + "user":"user_001", + "time": "2016-11-30 17:31" + }, + { + "user":"user_002", + "time": "2016-11-30 14:31" + }, + { + "user":"user_003", + "time": "2016-11-30 11:01" + }, + { + "user":"user_004", + "time": "2016-11-30 10:03" + }, + { + "user":"user_005", + "time": "2016-11-30 00:31" + }, + { + "user":"user_006", + "time": "2016-11-29 19:32" + }, + { + "user":"user_007", + "time": "2016-11-28 20:31" + }, + { + "user":"user_008", + "time": "2016-11-20 09:11" + } + ], + "upl_history":[ + { + "user":"user_001", + "time": "2016-11-30 15:31" + }, + { + "user":"user_002", + "time": "2016-11-30 14:31" + }, + { + "user":"user_003", + "time": "2016-11-30 11:01" + }, + { + "user":"user_004", + "time": "2016-11-30 14:03" + }, + { + "user":"user_005", + "time": "2016-11-30 10:31" + }, + { + "user":"user_006", + "time": "2016-11-29 19:12" + }, + { + "user":"user_007", + "time": "2016-11-28 02:31" + }, + { + "user":"user_008", + "time": "2016-11-20 09:11" + } + ] + }, + { + "name": "vCPE", + "vendor": "Huawei", + "date": "2016-11-19 23:06", + "desc": "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed interdum fringilla laoreet. Nulla facilisi. Maecenas consequat tristique odio, in consectetur leo volutpat vitae. Ut porttitor iaculis metus sed tincidunt. Etiam facilisis nec nisi at tempus. Curabitur ultrices molestie dictum. Integer placerat varius lorem, id cursus augue vulputate quis. Nulla pulvinar vel nunc vel lacinia. Aliquam eleifend, ipsum in sodales dictum, mi risus dictum est, non hendrerit neque elit et turpis. Integer lacus massa, pulvinar eget porttitor vel, ultrices in elit. Ut convallis semper gravida. Sed mollis leo est, eget consectetur dui vestibulum a. Phasellus non augue id diam malesuada ultrices. Praesent id nunc vehicula, dapibus quam in, rhoncus lorem. Praesent mattis elit a ex elementum, vel imperdiet risus tempor. Aliquam laoreet mauris nec egestas eleifend.", + "downloads": 408, + "type":"nfv-o", + "size":"204800", + "down_history":[ + { + "user":"user_001", + "time": "2016-11-30 17:31" + }, + { + "user":"user_002", + "time": "2016-11-30 14:31" + }, + { + "user":"user_003", + "time": "2016-11-30 11:01" + }, + { + "user":"user_004", + "time": "2016-11-30 10:03" + }, + { + "user":"user_005", + "time": "2016-11-30 00:31" + }, + { + "user":"user_006", + "time": "2016-11-29 19:32" + }, + { + "user":"user_007", + "time": "2016-11-28 20:31" + }, + { + "user":"user_008", + "time": "2016-11-20 09:11" + } + ], + "upl_history":[ + { + "user":"user_001", + "time": "2016-11-30 15:31" + }, + { + "user":"user_002", + "time": "2016-11-30 14:31" + }, + { + "user":"user_003", + "time": "2016-11-30 11:01" + }, + { + "user":"user_004", + "time": "2016-11-30 14:03" + }, + { + "user":"user_005", + "time": "2016-11-30 10:31" + }, + { + "user":"user_006", + "time": "2016-11-29 19:12" + }, + { + "user":"user_007", + "time": "2016-11-28 02:31" + }, + { + "user":"user_008", + "time": "2016-11-20 09:11" + } + ] + }, + { + "name": "vCPE", + "vendor": "Siemens", + "date": "2016-11-20 12:06", + "desc": "Dolore ex deserunt aute fugiat aute nulla ea sunt aliqua nisi cupidatat eu. Nostrud in laboris labore nisi amet do dolor eu fugiat consectetur elit cillum esse", + "downloads": 120, + "type":"sdn-o", + "size":"204800", + "down_history":[ + { + "user":"user_001", + "time": "2016-11-30 17:31" + }, + { + "user":"user_002", + "time": "2016-11-30 14:31" + }, + { + "user":"user_003", + "time": "2016-11-30 11:01" + }, + { + "user":"user_004", + "time": "2016-11-30 10:03" + }, + { + "user":"user_005", + "time": "2016-11-30 00:31" + }, + { + "user":"user_006", + "time": "2016-11-29 19:32" + }, + { + "user":"user_007", + "time": "2016-11-28 20:31" + }, + { + "user":"user_008", + "time": "2016-11-20 09:11" + } + ], + "upl_history":[ + { + "user":"user_001", + "time": "2016-11-30 15:31" + }, + { + "user":"user_002", + "time": "2016-11-30 14:31" + }, + { + "user":"user_003", + "time": "2016-11-30 11:01" + }, + { + "user":"user_004", + "time": "2016-11-30 14:03" + }, + { + "user":"user_005", + "time": "2016-11-30 10:31" + }, + { + "user":"user_006", + "time": "2016-11-29 19:12" + }, + { + "user":"user_007", + "time": "2016-11-28 02:31" + }, + { + "user":"user_008", + "time": "2016-11-20 09:11" + } + ] + } + ]; + + return { + getFeaturesList: getFeaturesList + }; + + function getFeaturesList() { + return services; + } + + } + +})(); |