Revision 56635
Added by Antonis Lempesis over 4 years ago
modules/uoa-repository-dashboard-gui/trunk/src/app/pages/adminPg/registration.component.ts | ||
---|---|---|
1 |
import {Component, OnInit} from '@angular/core'; |
|
2 |
import {noServiceMessage} from '../../domain/shared-messages'; |
|
3 |
import {Country, RepositorySnippet} from '../../domain/typeScriptClasses'; |
|
4 |
import {RepositoryService} from '../../services/repository.service'; |
|
5 |
import {FormBuilder, FormGroup} from '@angular/forms'; |
|
6 |
import {ActivatedRoute, Params, Router} from '@angular/router'; |
|
7 |
import {URLParameter} from '../../domain/url-parameter'; |
|
8 |
|
|
9 |
@Component({ |
|
10 |
selector: 'app-registration', |
|
11 |
templateUrl: 'registration.component.html', |
|
12 |
styleUrls: ['./registration.component.css'] |
|
13 |
}) |
|
14 |
|
|
15 |
export class RegistrationComponent implements OnInit { |
|
16 |
|
|
17 |
errorMessage: string; |
|
18 |
successMessage: string; |
|
19 |
loadingMessage: string; |
|
20 |
countries: Country[] = []; |
|
21 |
repositorySnippet: RepositorySnippet[] = []; |
|
22 |
urlParams: URLParameter[] = []; |
|
23 |
thisIsForBadUse: RepositorySnippet[] = []; // remove if page total is fixed!!! |
|
24 |
|
|
25 |
formPrepare = { |
|
26 |
country: '', |
|
27 |
typology: '', |
|
28 |
englishName: '', |
|
29 |
officialName: '', |
|
30 |
requestSortBy: 'registrationdate', |
|
31 |
order: 'DESCENDING', |
|
32 |
page: '0', |
|
33 |
size: '25' |
|
34 |
}; |
|
35 |
|
|
36 |
dataForm: FormGroup; |
|
37 |
|
|
38 |
constructor(private repoService: RepositoryService, |
|
39 |
private fb: FormBuilder, |
|
40 |
private route: ActivatedRoute, |
|
41 |
private router: Router) { } |
|
42 |
|
|
43 |
ngOnInit() { |
|
44 |
this.dataForm = this.fb.group(this.formPrepare); |
|
45 |
const tempUrlParams = new Array<URLParameter>(); |
|
46 |
|
|
47 |
this.route.queryParams |
|
48 |
.subscribe(params => { |
|
49 |
for (const i in params) { |
|
50 |
this.dataForm.get(i).setValue(params[i]); |
|
51 |
} |
|
52 |
for (let i in this.dataForm.controls) { |
|
53 |
if (this.dataForm.get(i).value) { |
|
54 |
tempUrlParams.push({key: i, value: [this.dataForm.get(i).value]}); |
|
55 |
} |
|
56 |
} |
|
57 |
this.handleChange(); |
|
58 |
}, |
|
59 |
error => this.errorMessage = <any>error |
|
60 |
); |
|
61 |
|
|
62 |
this.getCountries(); |
|
63 |
|
|
64 |
|
|
65 |
} |
|
66 |
|
|
67 |
getCountries() { |
|
68 |
this.repoService.getCountries() |
|
69 |
.subscribe( |
|
70 |
countries => this.countries = countries.sort(function (a, b) { |
|
71 |
if (a.name < b.name) { |
|
72 |
return -1; |
|
73 |
} else if (a.name > b.name) { |
|
74 |
return 1; |
|
75 |
} else { |
|
76 |
return 0; |
|
77 |
} |
|
78 |
}), |
|
79 |
error => { |
|
80 |
this.loadingMessage = ''; |
|
81 |
this.errorMessage = noServiceMessage; |
|
82 |
console.log(error); |
|
83 |
} |
|
84 |
); |
|
85 |
} |
|
86 |
|
|
87 |
getRegisteredRepositories(urlParams: URLParameter[]) { |
|
88 |
this.repoService.searchRegisteredRepositories(this.dataForm.get('page').value, |
|
89 |
this.dataForm.get('size').value, urlParams).subscribe( |
|
90 |
suc => this.repositorySnippet = suc, |
|
91 |
error => console.log(error), |
|
92 |
); |
|
93 |
} |
|
94 |
|
|
95 |
handleChange() { |
|
96 |
const tempUrlParams = new Array<URLParameter>(); |
|
97 |
const map: { [name: string]: string; } = {}; |
|
98 |
|
|
99 |
for (let i in this.dataForm.controls) { |
|
100 |
if (this.dataForm.get(i).value !== '') { |
|
101 |
tempUrlParams.push({key: i, value: [this.dataForm.get(i).value]}); |
|
102 |
map[i] = this.dataForm.get(i).value; |
|
103 |
} |
|
104 |
} |
|
105 |
|
|
106 |
this.router.navigate([`/admin/registrations`], |
|
107 |
{queryParams: map}); |
|
108 |
this.getRegisteredRepositories(tempUrlParams); |
|
109 |
} |
|
110 |
|
|
111 |
handleChangeAndResetPage() { |
|
112 |
this.dataForm.get('page').setValue(0); |
|
113 |
this.handleChange(); |
|
114 |
} |
|
115 |
|
|
116 |
getCountryName(countryCode): string { |
|
117 |
for (const country of Object.values(this.countries)) { |
|
118 |
if (country.code === countryCode) { |
|
119 |
return country.name; |
|
120 |
} |
|
121 |
} |
|
122 |
} |
|
123 |
|
|
124 |
previousPage() { |
|
125 |
if (this.dataForm.get('page').value > 0) { |
|
126 |
this.dataForm.get('page').setValue(+this.dataForm.get('page').value - 1); |
|
127 |
this.handleChange(); |
|
128 |
} |
|
129 |
} |
|
130 |
|
|
131 |
nextPage() { |
|
132 |
/** remove when page total is fixed!!! **/ |
|
133 |
const tempUrlParams = new Array<URLParameter>(); |
|
134 |
for (let i in this.dataForm.controls) { |
|
135 |
if (this.dataForm.get(i).value !== '') { |
|
136 |
tempUrlParams.push({key: i, value: [this.dataForm.get(i).value]}); |
|
137 |
} |
|
138 |
} |
|
139 |
this.repoService.searchRegisteredRepositories(+this.dataForm.get('page').value + 1, |
|
140 |
this.dataForm.get('size').value, tempUrlParams).subscribe( |
|
141 |
suc => this.thisIsForBadUse = suc, |
|
142 |
error => console.log(error), |
|
143 |
() => { |
|
144 |
if (!(this.thisIsForBadUse.length === 0)) { |
|
145 |
this.dataForm.get('page').setValue(+this.dataForm.get('page').value + 1); |
|
146 |
this.handleChange(); |
|
147 |
} |
|
148 |
} |
|
149 |
); |
|
150 |
/** **/ |
|
151 |
|
|
152 |
} |
|
153 |
|
|
154 |
} |
modules/uoa-repository-dashboard-gui/trunk/src/app/pages/adminPg/registration.component.css | ||
---|---|---|
1 |
.uk-form-horizontal .uk-form-label { |
|
2 |
width: 100px; |
|
3 |
} |
|
4 |
|
|
5 |
.uk-form-horizontal .uk-form-controls { |
|
6 |
margin-left: 115px; |
|
7 |
} |
|
8 |
|
|
9 |
.uk-search-default .uk-search-input { |
|
10 |
padding-left: 15px; |
|
11 |
padding-right: 15px; |
|
12 |
} |
modules/uoa-repository-dashboard-gui/trunk/src/app/pages/adminPg/adminPg.module.ts | ||
---|---|---|
1 | 1 |
import { NgModule } from '@angular/core'; |
2 | 2 |
import { CommonModule } from '@angular/common'; |
3 | 3 |
import { TabsModule } from 'ngx-bootstrap'; |
4 |
import { FormsModule } from '@angular/forms';
|
|
4 |
import {FormsModule, ReactiveFormsModule} from '@angular/forms';
|
|
5 | 5 |
import { AdminPgRouting } from './adminPg.routing'; |
6 | 6 |
import { ReusableComponentsModule } from '../../shared/reusablecomponents/reusable-components.module'; |
7 | 7 |
import { AdminPgComponent } from './adminPg.component'; |
8 | 8 |
import { AdminPgMetricsComponent } from './adminPg-metrics.component'; |
9 |
import {RegistrationComponent} from './registration.component'; |
|
9 | 10 |
|
10 | 11 |
@NgModule ({ |
11 | 12 |
imports: [ |
12 | 13 |
CommonModule, |
13 | 14 |
TabsModule.forRoot(), |
14 | 15 |
FormsModule, |
16 |
ReactiveFormsModule, |
|
15 | 17 |
AdminPgRouting, |
16 |
ReusableComponentsModule |
|
18 |
ReusableComponentsModule,
|
|
17 | 19 |
], |
18 | 20 |
declarations: [ |
19 | 21 |
AdminPgComponent, |
20 |
AdminPgMetricsComponent |
|
22 |
AdminPgMetricsComponent, |
|
23 |
RegistrationComponent |
|
21 | 24 |
] |
22 | 25 |
}) |
23 | 26 |
|
modules/uoa-repository-dashboard-gui/trunk/src/app/pages/adminPg/adminPg.routing.ts | ||
---|---|---|
4 | 4 |
import { AdminPgComponent } from './adminPg.component'; |
5 | 5 |
import { AdminPgMetricsComponent } from './adminPg-metrics.component'; |
6 | 6 |
import { AuthGuardService } from '../../services/auth-guard.service'; |
7 |
import {RegistrationComponent} from './registration.component'; |
|
7 | 8 |
|
8 | 9 |
const adminRoutes: Routes = [ |
9 | 10 |
{ |
... | ... | |
15 | 16 |
{ |
16 | 17 |
path: 'metrics', |
17 | 18 |
component: AdminPgMetricsComponent |
19 |
}, |
|
20 |
{ |
|
21 |
path: 'registrations', |
|
22 |
component: RegistrationComponent |
|
18 | 23 |
} |
19 | 24 |
] |
20 | 25 |
} |
modules/uoa-repository-dashboard-gui/trunk/src/app/pages/adminPg/registration.component.html | ||
---|---|---|
1 |
<div class="uk-grid-margin uk-grid uk-grid-stack" uk-grid=""> |
|
2 |
<div class="uk-width-1-1@m uk-first-column"> |
|
3 |
|
|
4 |
<h1 class="uk-h2">Registrations Admin Page</h1> |
|
5 |
|
|
6 |
<!-- TOP HELP CONTENT --> |
|
7 |
<help-content #topHelperContent [position]="'top'" |
|
8 |
[ngClass]="topHelperContent.isPresent()?'uk-margin-medium-top uk-margin-medium-bottom':'clear-style'"> |
|
9 |
</help-content> |
|
10 |
|
|
11 |
<div class="uk-container uk-container-expand uk-margin-medium-top uk-margin-medium-bottom"> |
|
12 |
<div class="uk-grid"> |
|
13 |
|
|
14 |
<!-- LEFT HELP CONTENT --> |
|
15 |
<aside-help-content #leftHelperContent [position]="'left'" |
|
16 |
[ngClass]="leftHelperContent.isPresent()?'tm-sidebar uk-width-1-4@m uk-first-column':'clear-style'"> |
|
17 |
</aside-help-content> |
|
18 |
|
|
19 |
<!-- MIDDLE --> |
|
20 |
<div class="uk-width-expand@m"> |
|
21 |
|
|
22 |
<div *ngIf="errorMessage" class="uk-alert uk-alert-danger">{{ errorMessage }}</div> |
|
23 |
<div *ngIf="successMessage" class="uk-alert uk-alert-success">{{ successMessage }}</div> |
|
24 |
<div *ngIf="loadingMessage" class="loading-big"> |
|
25 |
<div class="loader-big" |
|
26 |
style="text-align: center; padding-top: 170px; color: rgb(47, 64, 80); font-weight: bold;"> |
|
27 |
{{ loadingMessage }} |
|
28 |
</div> |
|
29 |
<div class="whiteFilm"></div> |
|
30 |
</div> |
|
31 |
|
|
32 |
|
|
33 |
|
|
34 |
|
|
35 |
<div class="uk-grid"> |
|
36 |
<div class="uk-width-1-1@m uk-padding" style="background-color: #fff; text-align: center"> |
|
37 |
<form [formGroup]="dataForm" class="uk-search uk-search-default uk-width-1-1@m"> |
|
38 |
<input class="uk-width-1-2 uk-search-input" type="search" formControlName="officialName" placeholder="Search (official name) ..." style="background-color: #fff"> |
|
39 |
<button class="uk-button" (click)="handleChangeAndResetPage()">Search</button> |
|
40 |
</form> |
|
41 |
</div> |
|
42 |
</div> |
|
43 |
|
|
44 |
<div class="uk-grid"> |
|
45 |
<div class="uk-width-1-4@m"> |
|
46 |
<form [formGroup]="dataForm" class="uk-form-stacked"> |
|
47 |
|
|
48 |
<div class="uk-form-label uk-text-large">Filtered By</div> |
|
49 |
|
|
50 |
<div class="uk-margin"> |
|
51 |
<div class="uk-form-label uk-text-large">Datasource Type</div> |
|
52 |
<div class="uk-form-controls"> |
|
53 |
<label><input class="uk-radio" type="radio" value="" (change)="handleChangeAndResetPage()" formControlName="typology"> Any</label><br> |
|
54 |
<label><input class="uk-radio" type="radio" value="Aggregator" (change)="handleChangeAndResetPage()" formControlName="typology"> Aggregator</label><br> |
|
55 |
<label><input class="uk-radio" type="radio" value="Journal" (change)="handleChangeAndResetPage()" formControlName="typology"> Journal</label><br> |
|
56 |
<label><input class="uk-radio" type="radio" value="datarepository" (change)="handleChangeAndResetPage()" formControlName="typology"> Data Repository</label><br> |
|
57 |
<label><input class="uk-radio" type="radio" value="pubsrepository" (change)="handleChangeAndResetPage()" formControlName="typology"> Public Repository</label><br> |
|
58 |
<label><input class="uk-radio" type="radio" value="entityregistry" (change)="handleChangeAndResetPage()" formControlName="typology"> Entity Registry</label><br> |
|
59 |
<label><input class="uk-radio" type="radio" value="Institutional" (change)="handleChangeAndResetPage()" formControlName="typology"> Institutional</label><br> |
|
60 |
<label><input class="uk-radio" type="radio" value="Thematic" (change)="handleChangeAndResetPage()" formControlName="typology"> Thematic</label><br> |
|
61 |
<label><input class="uk-radio" type="radio" value="Products" (change)="handleChangeAndResetPage()" formControlName="typology"> Products</label><br> |
|
62 |
<label><input class="uk-radio" type="radio" value="Unknown" (change)="handleChangeAndResetPage()" formControlName="typology"> Unknown</label> |
|
63 |
</div> |
|
64 |
</div> |
|
65 |
|
|
66 |
<div class="uk-margin"> |
|
67 |
<div class="uk-form-label uk-text-large">Countries</div> |
|
68 |
<div class="uk-form-controls"> |
|
69 |
<ng-container *ngIf="countries && countries.length>0"> |
|
70 |
<read-more [maxHeight]="238"> |
|
71 |
<div><input class="uk-radio" type="radio" value="" (change)="handleChangeAndResetPage()" formControlName="country"> Any</div> |
|
72 |
<ng-container *ngFor="let country of countries"> |
|
73 |
<div class=""> |
|
74 |
<input class="uk-radio" type="radio" value="{{country.code}}" |
|
75 |
(change)="handleChangeAndResetPage()" formControlName="country"> {{country.name}} |
|
76 |
</div> |
|
77 |
</ng-container> |
|
78 |
</read-more> |
|
79 |
</ng-container> |
|
80 |
</div> |
|
81 |
</div> |
|
82 |
|
|
83 |
</form> |
|
84 |
</div> |
|
85 |
<div class="uk-width-expand@m"> |
|
86 |
<div class="uk-grid"> |
|
87 |
<div class="uk-width-1-1@m uk-margin-medium"> |
|
88 |
<form [formGroup]="dataForm" class="uk-form-horizontal uk-grid"> |
|
89 |
|
|
90 |
<div class="uk-width-2-5@m"> |
|
91 |
<div class="uk-margin"> |
|
92 |
<label class="uk-form-label uk-text-right" for="size">Items per page: </label> |
|
93 |
<div class="uk-form-controls"> |
|
94 |
<select class="uk-select" id="size" (change)="handleChangeAndResetPage()" formControlName="size"> |
|
95 |
<option value="10">10</option> |
|
96 |
<option value="25" selected>25</option> |
|
97 |
<option value="50">50</option> |
|
98 |
<option value="100">100</option> |
|
99 |
</select> |
|
100 |
</div> |
|
101 |
</div> |
|
102 |
</div> |
|
103 |
|
|
104 |
<div class="uk-width-expand@m "> |
|
105 |
|
|
106 |
<div class="uk-float-right"> |
|
107 |
<label class="uk-form-label uk-text-right" for="orderBy">Order by: </label> |
|
108 |
<div class="uk-form-controls"> |
|
109 |
<select class="uk-select" id="orderBy" (change)="handleChangeAndResetPage()" formControlName="order"> |
|
110 |
<option value="DESCENDING" selected>Descending</option> |
|
111 |
<option value="ASCENDING">Ascending</option> |
|
112 |
</select> |
|
113 |
</div> |
|
114 |
</div> |
|
115 |
|
|
116 |
<div class="uk-float-right"> |
|
117 |
<label class="uk-form-label uk-text-right" for="sortBy">Sort by: </label> |
|
118 |
<div class="uk-form-controls"> |
|
119 |
<select class="uk-select" id="sortBy" (change)="handleChangeAndResetPage()" formControlName="requestSortBy"> |
|
120 |
<option value="registrationdate" selected>Date</option> |
|
121 |
<option value="officialname">Name</option> |
|
122 |
</select> |
|
123 |
</div> |
|
124 |
</div> |
|
125 |
|
|
126 |
</div> |
|
127 |
|
|
128 |
|
|
129 |
</form> |
|
130 |
</div> |
|
131 |
|
|
132 |
<div class="uk-width-1-1@m"> |
|
133 |
|
|
134 |
<table class="uk-table uk-table-striped"> |
|
135 |
<thead> |
|
136 |
<tr> |
|
137 |
<th>Repository</th> |
|
138 |
<th>Date</th> |
|
139 |
<th>Organization</th> |
|
140 |
<th>Type</th> |
|
141 |
</tr> |
|
142 |
</thead> |
|
143 |
<tbody> |
|
144 |
<tr *ngFor="let res of repositorySnippet"> |
|
145 |
<td class="uk-width-1-6@m">{{res.officialname}} <br> ({{res.id}}) <br> {{res.registeredby}}</td> |
|
146 |
<td >{{res.registrationdate}}</td> |
|
147 |
<td> <div *ngFor="let organization of res.organizations">{{organization.legalname + ' (' + getCountryName(organization.country)}})<br></div></td> |
|
148 |
<td>{{res.typology.split('::')[0]}}<br>{{res.typology.split('::')[1]}}<br>{{res.typology.split('::')[2]}}</td> |
|
149 |
</tr> |
|
150 |
</tbody> |
|
151 |
</table> |
|
152 |
|
|
153 |
<ul class="uk-pagination uk-flex-center" uk-margin> |
|
154 |
<li><a (click)="previousPage()"><span uk-pagination-previous></span></a></li> |
|
155 |
<li class="uk-active"><span>{{+dataForm.get('page').value + 1}}</span></li> |
|
156 |
<li><a (click)="nextPage()"><span uk-pagination-next></span></a></li> |
|
157 |
</ul> |
|
158 |
|
|
159 |
</div> |
|
160 |
|
|
161 |
</div> |
|
162 |
</div> |
|
163 |
</div> |
|
164 |
|
|
165 |
</div> |
|
166 |
</div> |
|
167 |
</div> |
|
168 |
</div> |
|
169 |
</div> |
modules/uoa-repository-dashboard-gui/trunk/src/app/pages/dashboard/dashboard.component.html | ||
---|---|---|
1 | 1 |
<div *ngIf="getIsUserLoggedIn()" id="contentWrapper" class="tm-main uk-section uk-section-default" uk-height-viewport="expand: true" style="box-sizing: border-box;" > |
2 | 2 |
|
3 |
<div> |
|
4 |
<div class="uk-container uk-container-large"> |
|
5 |
<div class="uk-grid uk-grid-stack"> |
|
6 |
<div class="uk-width-expand@m"> |
|
7 |
<div> |
|
8 |
<div> |
|
9 |
<!-- MARGIN-TOP --> |
|
10 |
<div class="uk-sticky-placeholder" style="height: 84px; margin: 0px;" aria-hidden="aria-hidden"></div> |
|
11 |
<div class="uk-width-1-1@m uk-first-column"> |
|
12 |
<div class="uk-margin uk-grid-match uk-child-width-1-1 uk-child-width-1-2@m uk-grid-small uk-grid uk-scrollspy-inview uk-animation-fade" uk-scrollspy-class="" uk-grid="" style=""> |
|
13 |
<div class="uk-first-column"> |
|
14 |
<div class="el-item uk-card uk-card-hover uk-card-body uk-scrollspy-inview uk-animation-fade" uk-scrollspy-class="" style=""> |
|
15 |
<a class="el-link uk-position-cover uk-margin-remove-adjacent" [routerLink]="['/sources','register']" uk-scroll=""></a> |
|
16 |
<div class="uk-child-width-expand uk-flex-middle uk-grid" uk-grid=""> |
|
17 |
<div class="uk-width-1-2@m uk-first-column"> |
|
18 |
<img class="el-image uk-border-rounded" src="../../../assets/imgs/iStock-153949408.jpg" > |
|
19 |
</div> |
|
20 |
<div> |
|
21 |
<div> |
|
22 |
<h3 class="el-title uk-margin uk-card-title">Register</h3> |
|
23 |
<div class="el-content uk-margin"> |
|
24 |
Register data sources in the OpenAIRE infrastructure |
|
25 |
</div> |
|
26 |
</div> |
|
27 |
</div> |
|
28 |
</div> |
|
3 |
|
|
4 |
<div class="uk-container uk-container-expand"> |
|
5 |
<div class="uk-sticky-placeholder" style="height: 84px; margin: 0px;" aria-hidden="aria-hidden"></div> |
|
6 |
<div class="uk-grid uk-padding"> |
|
7 |
<div class="uk-width-3-4@m uk-first-column"> |
|
8 |
<div class="uk-margin uk-grid-match uk-child-width-1-1 uk-child-width-1-2@m uk-grid-small uk-grid uk-scrollspy-inview uk-animation-fade" uk-scrollspy-class="" uk-grid="" style=""> |
|
9 |
<div class="uk-first-column"> |
|
10 |
<div class="el-item uk-card uk-card-hover uk-card-body uk-scrollspy-inview uk-animation-fade" uk-scrollspy-class="" style=""> |
|
11 |
<a class="el-link uk-position-cover uk-margin-remove-adjacent" [routerLink]="['/sources','register']" uk-scroll=""></a> |
|
12 |
<div class="uk-child-width-expand uk-flex-middle uk-grid" uk-grid=""> |
|
13 |
<div class="uk-width-1-2@m uk-first-column"> |
|
14 |
<img class="el-image uk-border-rounded" src="../../../assets/imgs/iStock-153949408.jpg" > |
|
15 |
</div> |
|
16 |
<div> |
|
17 |
<div> |
|
18 |
<h3 class="el-title uk-margin uk-card-title">Register</h3> |
|
19 |
<div class="el-content uk-margin"> |
|
20 |
Register data sources in the OpenAIRE infrastructure |
|
29 | 21 |
</div> |
30 | 22 |
</div> |
23 |
</div> |
|
24 |
</div> |
|
25 |
</div> |
|
26 |
</div> |
|
27 |
<div> |
|
28 |
<div class="el-item uk-card uk-card-hover uk-card-body uk-scrollspy-inview uk-animation-fade" uk-scrollspy-class="" style=""> |
|
29 |
<a class="el-link uk-position-cover uk-margin-remove-adjacent" [routerLink]="['/compatibility','validate']" uk-scroll=""></a> |
|
30 |
<div class="uk-child-width-expand uk-flex-middle uk-grid" uk-grid=""> |
|
31 |
<div class="uk-width-1-2@m uk-first-column"> |
|
32 |
<img class="el-image uk-border-rounded" src="../../../assets/imgs/iStock-516286898.jpg" > |
|
33 |
</div> |
|
34 |
<div> |
|
31 | 35 |
<div> |
32 |
<div class="el-item uk-card uk-card-hover uk-card-body uk-scrollspy-inview uk-animation-fade" uk-scrollspy-class="" style=""> |
|
33 |
<a class="el-link uk-position-cover uk-margin-remove-adjacent" [routerLink]="['/compatibility','validate']" uk-scroll=""></a> |
|
34 |
<div class="uk-child-width-expand uk-flex-middle uk-grid" uk-grid=""> |
|
35 |
<div class="uk-width-1-2@m uk-first-column"> |
|
36 |
<img class="el-image uk-border-rounded" src="../../../assets/imgs/iStock-516286898.jpg" > |
|
37 |
</div> |
|
38 |
<div> |
|
39 |
<div> |
|
40 |
<h3 class="el-title uk-margin uk-card-title">Validate</h3> |
|
41 |
<div class="el-content uk-margin"> |
|
42 |
Validate data sources against OpenAIRE guidelines |
|
43 |
</div> |
|
44 |
</div> |
|
45 |
</div> |
|
46 |
</div> |
|
36 |
<h3 class="el-title uk-margin uk-card-title">Validate</h3> |
|
37 |
<div class="el-content uk-margin"> |
|
38 |
Validate data sources against OpenAIRE guidelines |
|
47 | 39 |
</div> |
48 | 40 |
</div> |
49 |
<div class="uk-grid-margin uk-first-column">
|
|
50 |
<div class="el-item uk-card uk-card-hover uk-card-body uk-scrollspy-inview uk-animation-fade" uk-scrollspy-class="" style="">
|
|
51 |
<a class="el-link uk-position-cover uk-margin-remove-adjacent" [routerLink]="['/content','notifications']" uk-scroll=""></a>
|
|
52 |
<div class="uk-child-width-expand uk-flex-middle uk-grid" uk-grid="">
|
|
53 |
<div class="uk-width-1-2@m uk-first-column">
|
|
54 |
<img class="el-image uk-border-rounded" src="../../../assets/imgs/iStock-466267165.jpg" >
|
|
55 |
</div>
|
|
56 |
<div>
|
|
57 |
<div>
|
|
58 |
<h3 class="el-title uk-margin uk-card-title">Notifications</h3>
|
|
59 |
<div class="el-content uk-margin">
|
|
60 |
View notifications to enrich the metadata and the content
|
|
61 |
</div>
|
|
62 |
</div>
|
|
63 |
</div>
|
|
64 |
</div>
|
|
41 |
</div>
|
|
42 |
</div>
|
|
43 |
</div>
|
|
44 |
</div>
|
|
45 |
<div class="uk-grid-margin uk-first-column">
|
|
46 |
<div class="el-item uk-card uk-card-hover uk-card-body uk-scrollspy-inview uk-animation-fade" uk-scrollspy-class="" style="">
|
|
47 |
<a class="el-link uk-position-cover uk-margin-remove-adjacent" [routerLink]="['/content','notifications']" uk-scroll=""></a>
|
|
48 |
<div class="uk-child-width-expand uk-flex-middle uk-grid" uk-grid="">
|
|
49 |
<div class="uk-width-1-2@m uk-first-column">
|
|
50 |
<img class="el-image uk-border-rounded" src="../../../assets/imgs/iStock-466267165.jpg" >
|
|
51 |
</div>
|
|
52 |
<div>
|
|
53 |
<div>
|
|
54 |
<h3 class="el-title uk-margin uk-card-title">Notifications</h3>
|
|
55 |
<div class="el-content uk-margin">
|
|
56 |
View notifications to enrich the metadata and the content
|
|
65 | 57 |
</div> |
66 | 58 |
</div> |
67 |
<div class="uk-grid-margin">
|
|
68 |
<div class="el-item uk-card uk-card-hover uk-card-body uk-scrollspy-inview uk-animation-fade" uk-scrollspy-class="" style="">
|
|
69 |
<a class="el-link uk-position-cover uk-margin-remove-adjacent" uk-scroll="" [routerLink]="['/getImpact']"></a>
|
|
70 |
<div class="uk-child-width-expand uk-flex-middle uk-grid" uk-grid="">
|
|
71 |
<div class="uk-width-1-2@m uk-first-column">
|
|
72 |
<img class="el-image uk-border-rounded" src="../../../assets/imgs/iStock-659630328.jpg" >
|
|
73 |
</div>
|
|
74 |
<div>
|
|
75 |
<div>
|
|
76 |
<h3 class="el-title uk-margin uk-card-title">Metrics</h3>
|
|
77 |
<div class="el-content uk-margin">
|
|
78 |
View aggregated, cleaned usage statistics for repository access
|
|
79 |
</div>
|
|
80 |
</div>
|
|
81 |
</div>
|
|
82 |
</div>
|
|
59 |
</div>
|
|
60 |
</div>
|
|
61 |
</div>
|
|
62 |
</div>
|
|
63 |
<div class="uk-grid-margin">
|
|
64 |
<div class="el-item uk-card uk-card-hover uk-card-body uk-scrollspy-inview uk-animation-fade" uk-scrollspy-class="" style="">
|
|
65 |
<a class="el-link uk-position-cover uk-margin-remove-adjacent" uk-scroll="" [routerLink]="['/getImpact']"></a>
|
|
66 |
<div class="uk-child-width-expand uk-flex-middle uk-grid" uk-grid="">
|
|
67 |
<div class="uk-width-1-2@m uk-first-column">
|
|
68 |
<img class="el-image uk-border-rounded" src="../../../assets/imgs/iStock-659630328.jpg" >
|
|
69 |
</div>
|
|
70 |
<div>
|
|
71 |
<div>
|
|
72 |
<h3 class="el-title uk-margin uk-card-title">Metrics</h3>
|
|
73 |
<div class="el-content uk-margin">
|
|
74 |
View aggregated, cleaned usage statistics for repository access
|
|
83 | 75 |
</div> |
84 | 76 |
</div> |
85 | 77 |
</div> |
... | ... | |
88 | 80 |
</div> |
89 | 81 |
</div> |
90 | 82 |
</div> |
83 |
|
|
84 |
<div class="uk-width-1-4@m"> |
|
85 |
<div class="uk-card uk-card-body uk-card-grey" style="min-height: 300px;"> |
|
86 |
<h5 class="">MY DATASOURCES AT A GLANCE</h5> |
|
87 |
|
|
88 |
<div *ngIf="loading"> |
|
89 |
<div class="loader-big" style="text-align: center; padding-top: 100px; color: rgb(47, 64, 80); font-weight: bold;"> |
|
90 |
Retrieving your datasources... |
|
91 |
</div> |
|
92 |
<div class="whiteFilm"></div> |
|
93 |
</div> |
|
94 |
|
|
95 |
<div *ngIf="!loading"> |
|
96 |
<div *ngIf="repositories && repositories.length>0"> |
|
97 |
<div *ngFor="let repository of repositories" class="uk-margin-bottom uk-margin-top"> |
|
98 |
|
|
99 |
<div class="uk-padding-small" style="background-color: #fff"> |
|
100 |
<div class="uk-inline uk-width-1-3@m"> |
|
101 |
<img src="{{repository.logoURL ? repository.logoURL : '../../../assets/imgs/yourLogoHere.jpg'}}" alt=""> |
|
102 |
</div> |
|
103 |
<div class="uk-inline uk-width-2-3@m"> |
|
104 |
<div class="uk-margin-left">{{repository.repositoryName}}</div> |
|
105 |
</div> |
|
106 |
</div> |
|
107 |
|
|
108 |
<div class="uk-margin-small-top"> |
|
109 |
<div>Number of records collected: |
|
110 |
<span *ngIf="repository.recordsCollected">{{repository.recordsCollected}}</span> |
|
111 |
<span *ngIf="!repository.recordsCollected">not available</span> |
|
112 |
</div> |
|
113 |
<div>Last indexed version: |
|
114 |
<span *ngIf="repository.lastIndexedVersion">{{repository.lastIndexedVersion | date :'short'}}</span> |
|
115 |
<span *ngIf="!repository.lastIndexedVersion">not available</span> |
|
116 |
</div> |
|
117 |
<div>Content enrichment events: |
|
118 |
<span *ngIf="repository.enrichmentEvents">{{repository.enrichmentEvents}}</span> |
|
119 |
<span *ngIf="!repository.enrichmentEvents">not available</span> |
|
120 |
</div> |
|
121 |
<div>Views: |
|
122 |
<span *ngIf="repository.totalViews">{{repository.totalViews}}</span> |
|
123 |
<span *ngIf="!repository.totalViews">not available</span> |
|
124 |
</div> |
|
125 |
<div>Downloads: |
|
126 |
<span *ngIf="repository.totalDownloads">{{repository.totalDownloads}}</span> |
|
127 |
<span *ngIf="!repository.totalDownloads">not available</span> |
|
128 |
</div> |
|
129 |
</div> |
|
130 |
|
|
131 |
</div> |
|
132 |
</div> |
|
133 |
<div *ngIf="!repositories || repositories.length==0"> |
|
134 |
No repositories available... |
|
135 |
</div> |
|
136 |
</div> |
|
137 |
|
|
138 |
|
|
139 |
|
|
140 |
</div> |
|
141 |
</div> |
|
142 |
|
|
91 | 143 |
</div> |
92 | 144 |
</div> |
93 | 145 |
</div> |
modules/uoa-repository-dashboard-gui/trunk/src/app/pages/dashboard/dashboard.component.ts | ||
---|---|---|
1 | 1 |
import { Component, OnInit } from '@angular/core'; |
2 | 2 |
import { AuthenticationService } from '../../services/authentication.service'; |
3 |
import { RepositoryService } from '../../services/repository.service'; |
|
4 |
import {Repository, RepositorySnippet, RepositorySummaryInfo} from '../../domain/typeScriptClasses'; |
|
3 | 5 |
|
4 | 6 |
@Component ({ |
5 | 7 |
selector: 'app-dashboard', |
... | ... | |
8 | 10 |
|
9 | 11 |
export class DashboardComponent implements OnInit { |
10 | 12 |
|
11 |
constructor(private authService: AuthenticationService) { } |
|
13 |
constructor(private authService: AuthenticationService, |
|
14 |
private repositoryService: RepositoryService) { } |
|
12 | 15 |
|
13 |
ngOnInit() {} |
|
16 |
repositories: RepositorySummaryInfo[] = []; |
|
17 |
userEmail: string; |
|
14 | 18 |
|
19 |
loading: boolean = true; |
|
20 |
|
|
21 |
ngOnInit() { |
|
22 |
// this.getUserEmail(); |
|
23 |
this.userEmail = sessionStorage.getItem('email'); |
|
24 |
if (this.userEmail) { |
|
25 |
this.getRepositoriesSummaryInfo(this.userEmail); |
|
26 |
} |
|
27 |
} |
|
28 |
|
|
15 | 29 |
getIsUserLoggedIn() { |
16 | 30 |
return this.authService.getIsUserLoggedIn(); |
17 | 31 |
} |
32 |
|
|
33 |
getUserEmail() { |
|
34 |
this.userEmail = this.authService.getUserEmail(); |
|
35 |
} |
|
36 |
|
|
37 |
getRepos() { |
|
38 |
console.log('in getRepos'); |
|
39 |
this.getRepositoriesSummaryInfo(this.userEmail); |
|
40 |
} |
|
41 |
|
|
42 |
getRepositoriesSummaryInfo(userEmail: string) { |
|
43 |
this.repositoryService.getRepositoriesSummaryInfo(userEmail).subscribe( |
|
44 |
repositories => { this.repositories = repositories; this.loading=false }, |
|
45 |
error => { console.log('Errrrror'); this.loading=false }, |
|
46 |
() => { console.log(this.repositories); this.loading=false } |
|
47 |
); |
|
48 |
} |
|
18 | 49 |
} |
modules/uoa-repository-dashboard-gui/trunk/src/app/pages/compatibility/compatibility-monitor-repo.component.html | ||
---|---|---|
35 | 35 |
<div class="uk-container uk-container-center"> |
36 | 36 |
<div class="al_timeline"> |
37 | 37 |
<div *ngFor="let aggr of latestAggregations" class="al_timeline_block versionChange"> |
38 |
<div class="al_timeline_image uk-scrollspy-init-inview uk-scrollspy-inview uk-animation-scale-up"></div> |
|
38 |
<div class="al_timeline_image uk-scrollspy-init-inview uk-scrollspy-inview uk-animation-scale-up"> |
|
39 |
<ng-container *ngIf="aggr.indexedVersion"> |
|
40 |
<img src="https://www.openaire.eu/images/Logos/Favicon-90x90.png" style="width: 80%;margin-top: 9%;"> |
|
41 |
</ng-container> |
|
42 |
</div> |
|
39 | 43 |
<div class="al_timeline_content uk-scrollspy-init-inview uk-scrollspy-inview uk-animation-slide-left"> |
40 |
<h3 *ngIf="aggr.date">{{ aggr.date | date : "yyyy-MM-dd" }}</h3> |
|
44 |
<h3 *ngIf="aggr.date" class="uk-inline">{{ aggr.date | date : "yyyy-MM-dd" }}</h3> |
|
45 |
<span *ngIf="aggr.indexedVersion" class="ng-star-inserted uk-inline uk-float-right uk-badge" |
|
46 |
style="padding-top: 10px;padding-left: 10px;padding-right: 10px;margin-top: 5px;">Indexed version</span> |
|
41 | 47 |
<p *ngIf="aggr.aggregationStage">Aggregation stage - {{ aggr.aggregationStage }}</p> |
42 | 48 |
<p *ngIf="aggr.collectionMode">CollectionMode - {{ aggr.collectionMode }}</p> |
43 | 49 |
<p *ngIf="aggr.numberOfRecords">Number of records - {{ aggr.numberOfRecords }}</p> |
44 |
<p *ngIf="aggr.indexedVersion !== null">Is the indexed version - {{ (aggr.indexedVersion === true) ? 'Yes': 'No' }}</p>
|
|
50 |
<!--<p *ngIf="aggr.indexedVersion !== null">Is the indexed version - {{ (aggr.indexedVersion === true) ? 'Yes': 'No' }}</p>-->
|
|
45 | 51 |
</div> |
46 | 52 |
</div> |
47 | 53 |
</div> |
modules/uoa-repository-dashboard-gui/trunk/src/app/services/repository.service.ts | ||
---|---|---|
2 | 2 |
* Created by myrto on 12/05/2017 |
3 | 3 |
*/ |
4 | 4 |
|
5 |
import { HttpClient, HttpHeaders } from '@angular/common/http';
|
|
5 |
import {HttpClient, HttpHeaders, HttpParams} from '@angular/common/http';
|
|
6 | 6 |
import { Injectable } from '@angular/core'; |
7 | 7 |
import { environment } from '../../environments/environment'; |
8 | 8 |
import { |
... | ... | |
10 | 10 |
Country, MetricsInfo, |
11 | 11 |
Repository, |
12 | 12 |
RepositoryInterface, |
13 |
RepositorySnippet, |
|
13 |
RepositorySnippet, RepositorySummaryInfo,
|
|
14 | 14 |
Timezone, |
15 | 15 |
Typology |
16 | 16 |
} from '../domain/typeScriptClasses'; |
17 | 17 |
import { Observable, of } from 'rxjs'; |
18 | 18 |
import { timezones } from '../domain/timezones'; |
19 | 19 |
import { typologies } from '../domain/typologies'; |
20 |
import {URLParameter} from '../domain/url-parameter'; |
|
20 | 21 |
|
21 | 22 |
const headerOptions = { |
22 | 23 |
headers : new HttpHeaders().set('Content-Type', 'application/json') |
... | ... | |
28 | 29 |
@Injectable () |
29 | 30 |
export class RepositoryService { |
30 | 31 |
private apiUrl = environment.API_ENDPOINT + '/repository/'; |
32 |
private dashboardAPIUrl = environment.API_ENDPOINT + '/dashboard/'; |
|
31 | 33 |
|
32 | 34 |
constructor(private httpClient: HttpClient) { } |
33 | 35 |
|
... | ... | |
156 | 158 |
return this.httpClient.get<any>(url, headerOptions); |
157 | 159 |
} |
158 | 160 |
|
161 |
searchRegisteredRepositories(page, size, urlParams: URLParameter[]) { |
|
162 |
const url = `${this.apiUrl}searchRegisteredRepositories/${page}/${size}`; |
|
163 |
console.log(`knocking on: ${url}`); |
|
164 |
let params = new HttpParams(); |
|
165 |
for (const urlParameter of urlParams) { |
|
166 |
for (const value of urlParameter.value) { |
|
167 |
params = params.append(urlParameter.key, value); |
|
168 |
} |
|
169 |
} |
|
170 |
|
|
171 |
return this.httpClient.get<RepositorySnippet[]>(url, {params, withCredentials: true}); |
|
172 |
} |
|
173 |
|
|
174 |
getRepositoriesSummaryInfo(userEmail: string): Observable<RepositorySummaryInfo[]> { |
|
175 |
const url = `${this.dashboardAPIUrl}getRepositoriesSummary/${userEmail}/0/100`; |
|
176 |
console.log(`knocking on: ${url}`); |
|
177 |
return this.httpClient.get<RepositorySummaryInfo[]>(url, headerOptions); |
|
178 |
} |
|
159 | 179 |
} |
modules/uoa-repository-dashboard-gui/trunk/src/app/shared/topmenu/topmenu.component.html | ||
---|---|---|
60 | 60 |
Admin |
61 | 61 |
<ul> |
62 | 62 |
<li><a href="{{adminHomePage}}" target="_blank">Help Texts</a></li> |
63 |
<li><a [routerLink]="['admin', 'metrics']" [routerLinkActive]="['uk-active']">Validate</a></li> |
|
63 |
<li><a [routerLink]="['admin', 'metrics']" [routerLinkActive]="['uk-active']">Validate</a></li>s
|
|
64 | 64 |
</ul> |
65 | 65 |
</li> |
66 | 66 |
<li><a (click)="logout()">Logout</a></li> |
... | ... | |
212 | 212 |
<ul *ngIf="getIsUserAdmin()" class="uk-nav uk-navbar-dropdown-nav"> |
213 | 213 |
<li class="uk-nav-header" style="display: block;">Admin</li> |
214 | 214 |
<li style="display: block"><a href="{{adminHomePage}}" target="_blank">Help Texts</a></li> |
215 |
<li style="display: block" class="uk-margin-small-bottom"><a [routerLink]="['/admin','metrics']">Metrics</a></li> |
|
215 |
<li style="display: block"><a [routerLink]="['/admin','metrics']">Metrics</a></li> |
|
216 |
<li style="display: block" class="uk-margin-small-bottom"><a [routerLink]="['/admin/registrations']">Registrations</a></li> |
|
216 | 217 |
</ul> |
217 | 218 |
<li><a class="" (click)="logout()">Log out</a></li> |
218 | 219 |
</ul> |
modules/uoa-repository-dashboard-gui/trunk/src/app/shared/reusablecomponents/read-more.component.ts | ||
---|---|---|
1 |
/** |
|
2 |
* Created by stefania on 4/6/17. |
|
3 |
*/ |
|
4 |
import {AfterContentInit, AfterViewInit, Component, ElementRef, Input, OnChanges, ViewChild} from "@angular/core"; |
|
5 |
|
|
6 |
@Component({ |
|
7 |
selector: "read-more", |
|
8 |
template: ` |
|
9 |
<div [class.collapsed]="isCollapsed" [style.height]="isCollapsed ? maxHeight+'px' : 'auto'" #readMoreDiv> |
|
10 |
<ng-content></ng-content> |
|
11 |
</div> |
|
12 |
<a *ngIf="isCollapsable" (click)="isCollapsed =! isCollapsed">View {{isCollapsed ? 'more' : 'less'}}...</a> |
|
13 |
`, |
|
14 |
styles: [` |
|
15 |
div.collapsed { |
|
16 |
overflow: hidden; |
|
17 |
} |
|
18 |
`] |
|
19 |
}) |
|
20 |
export class ReadMoreComponent implements AfterContentInit { |
|
21 |
//the text that need to be put in the container |
|
22 |
//@Input() text: string; |
|
23 |
//maximum height of the container |
|
24 |
@Input("maxHeight") maxHeight: number = 100; |
|
25 |
@ViewChild("readMoreDiv") |
|
26 |
readMoreDiv: ElementRef; |
|
27 |
//set these to false to get the height of the expended container |
|
28 |
public isCollapsed: boolean = false; |
|
29 |
public isCollapsable: boolean = false; |
|
30 |
|
|
31 |
constructor(public elementRef: ElementRef) { |
|
32 |
} |
|
33 |
|
|
34 |
ngAfterContentInit() { |
|
35 |
setTimeout(_ => { |
|
36 |
let currentHeight = this.readMoreDiv.nativeElement.offsetHeight; |
|
37 |
//collapsable only if the contents make container exceed the max height |
|
38 |
if (currentHeight > this.maxHeight) { |
|
39 |
this.isCollapsed = true; |
|
40 |
this.isCollapsable = true; |
|
41 |
} else { |
|
42 |
} |
|
43 |
}, 200); |
|
44 |
} |
|
45 |
} |
|
46 |
|
|
47 |
@Component({ |
|
48 |
selector: "read-more-text", |
|
49 |
template: ` |
|
50 |
<div [innerHTML]="text" [class.collapsed]="isCollapsed" [style.height]="isCollapsed ? maxHeight+'px' : 'auto'" #readMoreDiv> |
|
51 |
<!--{{text}}--> |
|
52 |
</div> |
|
53 |
<a *ngIf="isCollapsable" (click)="isCollapsed =! isCollapsed">View {{isCollapsed ? 'more' : 'less'}}...</a> |
|
54 |
`, |
|
55 |
styles: [` |
|
56 |
div.collapsed { |
|
57 |
overflow: hidden; |
|
58 |
} |
|
59 |
`] |
|
60 |
}) |
|
61 |
export class ReadMoreTextComponent extends ReadMoreComponent implements OnChanges, AfterViewInit { |
|
62 |
@Input() |
|
63 |
text: string = ""; |
|
64 |
|
|
65 |
ngAfterViewInit(): void { |
|
66 |
this.ngAfterContentInit(); |
|
67 |
} |
|
68 |
|
|
69 |
ngOnChanges(): void { |
|
70 |
this.ngAfterContentInit(); |
|
71 |
} |
|
72 |
} |
|
73 |
|
modules/uoa-repository-dashboard-gui/trunk/src/app/shared/reusablecomponents/reusable-components.module.ts | ||
---|---|---|
17 | 17 |
import { ModalModule, TabsModule } from 'ngx-bootstrap'; |
18 | 18 |
import { TopMenuComponent } from '../topmenu/topmenu.component'; |
19 | 19 |
import { FooterComponent } from '../footer/footer.component'; |
20 |
import {ReadMoreComponent, ReadMoreTextComponent} from './read-more.component'; |
|
20 | 21 |
|
21 | 22 |
const myGroups = [ |
22 | 23 |
MyGroup, |
... | ... | |
49 | 50 |
FooterComponent, |
50 | 51 |
RepositoryTilesComponent, |
51 | 52 |
ForbiddenPageComponent, |
53 |
ReadMoreComponent, |
|
54 |
ReadMoreTextComponent, |
|
52 | 55 |
...myGroups |
53 | 56 |
], |
54 | 57 |
exports: [ |
... | ... | |
59 | 62 |
FooterComponent, |
60 | 63 |
RepositoryTilesComponent, |
61 | 64 |
ForbiddenPageComponent, |
62 |
...myGroups |
|
65 |
...myGroups, |
|
66 |
ReadMoreComponent |
|
63 | 67 |
], |
64 | 68 |
providers: [ |
65 | 69 |
HelpContentService |
modules/uoa-repository-dashboard-gui/trunk/src/app/domain/typeScriptClasses.ts | ||
---|---|---|
158 | 158 |
officialname: string; |
159 | 159 |
englishname: string; |
160 | 160 |
websiteurl: string; |
161 |
typology: string; |
|
161 | 162 |
registeredby: string; |
163 |
organizations: Organization[]; |
|
164 |
registrationdate: Date; |
|
162 | 165 |
} |
163 | 166 |
|
167 |
export class Organization { |
|
168 |
country: string; |
|
169 |
legalname: string; |
|
170 |
websiteurl: string; |
|
171 |
legalshortname: string; |
|
172 |
logourl: string; |
|
173 |
} |
|
174 |
|
|
164 | 175 |
export class RepositoryAccessProtocol { |
165 | 176 |
value: string; |
166 | 177 |
username: string; |
... | ... | |
631 | 642 |
datasets: string; |
632 | 643 |
publications: string; |
633 | 644 |
} |
645 |
|
|
646 |
export class RepositorySummaryInfo { |
|
647 |
id: string; |
|
648 |
repositoryName: string; |
|
649 |
logoURL: string; |
|
650 |
recordsCollected: number; |
|
651 |
lastIndexedVersion: Date; |
|
652 |
enrichmentEvents: number; |
|
653 |
totalViews: string; |
|
654 |
totalDownloads: string; |
|
655 |
} |
modules/uoa-repository-dashboard-gui/trunk/src/assets/css/custom.css | ||
---|---|---|
14 | 14 |
@import url('https://fonts.googleapis.com/css?family=Sura:400,700'); |
15 | 15 |
|
16 | 16 |
|
17 |
/* yard */
|
|
17 |
/* yard */ |
|
18 | 18 |
.tm-page { |
19 | 19 |
border-width:0px!important; |
20 | 20 |
border:0px!important; |
... | ... | |
96 | 96 |
} |
97 | 97 |
.wk-twitter-firstpage .wk-margin { |
98 | 98 |
font-size:13px; |
99 |
margin-top:10px;
|
|
99 |
margin-top:10px; |
|
100 | 100 |
line-height:20px; |
101 | 101 |
padding-bottom:10px; |
102 | 102 |
border-bottom:1px #c5c5c5 solid; |
... | ... | |
144 | 144 |
.wk-panel { } |
145 | 145 |
|
146 | 146 |
.dark_overlay .wk-overlay-active :not(.wk-active)>.wk-overlay-panel:not(.wk-ignore), |
147 |
.dark_overlay .wk-overlay-active :not(.wk-active)>.wk-overlay-panel:not(.wk-ignore),
|
|
147 |
.dark_overlay .wk-overlay-active :not(.wk-active)>.wk-overlay-panel:not(.wk-ignore), |
|
148 | 148 |
.dark_overlay .wk-overlay-hover:not(:hover):not(.wk-hover) .wk-overlay-panel:not(.wk-ignore), |
149 | 149 |
.dark_overlay .wk-overlay-background{background:rgba(5,0,93,.6);} |
150 |
|
|
150 |
|
|
151 | 151 |
/*guide pages*/ |
152 | 152 |
.guides .wk-nav-side {border: 1px solid #ccc} |
153 | 153 |
.guides .wk-nav-side > li.wk-active >a {background-color:#4687E6;} |
154 | 154 |
.guides h2, .guides .wk-h2 {color: #040067;} |
155 | 155 |
|
156 | 156 |
/* service pages */ |
157 |
.service-button .wk-dotnav>li>a,
|
|
158 |
.service-button .wk-icon-button, .service-button .wk-list>li>a, .service-button .wk-nav ul>li>a, .service-button .wk-nav>li>a,
|
|
157 |
.service-button .wk-dotnav>li>a, |
|
158 |
.service-button .wk-icon-button, .service-button .wk-list>li>a, .service-button .wk-nav ul>li>a, .service-button .wk-nav>li>a, |
|
159 | 159 |
.service-button .wk-overlay, .service-button .wk-slidenav {} |
160 | 160 |
|
161 | 161 |
.service-button > .wk-subnav>li>a, |
... | ... | |
169 | 169 |
.service-button .wk-subnav-pill>*>:hover, |
170 | 170 |
.boxedpills .uk-subnav-pill>*>:hover |
171 | 171 |
{ |
172 |
border: 1px solid #213BAA!important;
|
|
173 |
color:#213BAA!important;
|
|
172 |
border: 1px solid #213BAA!important; |
|
173 |
color:#213BAA!important; |
|
174 | 174 |
text-decoration: none; |
175 | 175 |
outline: 0; |
176 | 176 |
box-shadow: none!important; |
... | ... | |
186 | 186 |
|
187 | 187 |
{ |
188 | 188 |
background: #213BAA; |
189 |
border: 1px solid #213BAA!important;
|
|
189 |
border: 1px solid #213BAA!important; |
|
190 | 190 |
color: #fff!important; |
191 | 191 |
box-shadow: none; |
192 | 192 |
} |
193 | 193 |
.service-button .wk-panel-box-primary, |
194 | 194 |
.boxedpills .uk-panel-box-primary |
195 | 195 |
{background:none!important;} |
196 |
|
|
196 |
|
|
197 | 197 |
.service-button .wk-panel-box, |
198 | 198 |
.boxedpills .uk-panel-box |
199 | 199 |
{ |
... | ... | |
214 | 214 |
.yoo-zoo ul.zoo-alphaindex.uk-subnav>.uk-disabled>a{color: #cbcbcb!important;} |
215 | 215 |
|
216 | 216 |
/*.uk-button-default:focus, .uk-button-default:hover {color:#fff;}*/ |
217 |
.btn, .btn-info, .btn-primary{
|
|
217 |
.btn, .btn-info, .btn-primary{ |
|
218 | 218 |
/* |
219 | 219 |
text-shadow:none!important; |
220 |
background: #3870DF!important;
|
|
220 |
background: #3870DF!important; |
|
221 | 221 |
color:#fff!important; |
222 | 222 |
*/ |
223 | 223 |
} |
224 | 224 |
|
225 |
.btn:focus, .btn:hover,
|
|
226 |
.btn-info:focus, .btn-info:hover, .btn-primary:focus, .btn-primary:hover,
|
|
225 |
.btn:focus, .btn:hover, |
|
226 |
.btn-info:focus, .btn-info:hover, .btn-primary:focus, .btn-primary:hover, |
|
227 | 227 |
.uk-button-primary:focus, .uk-button-primary:hover { |
228 | 228 |
/* |
229 |
background: #223CAA!important;
|
|
229 |
background: #223CAA!important; |
|
230 | 230 |
color:#fff!important; |
231 | 231 |
*/ |
232 | 232 |
} |
... | ... | |
248 | 248 |
|
249 | 249 |
.uk-button-secondary:hover { |
250 | 250 |
color: #fff!important; |
251 |
border: 1px solid #192699!important;
|
|
251 |
border: 1px solid #192699!important; |
|
252 | 252 |
} |
253 | 253 |
*/ |
254 | 254 |
|
... | ... | |
274 | 274 |
ol.big-numbers-list li::before { |
275 | 275 |
content: counter(step-counter); |
276 | 276 |
margin-right: 5px; |
277 |
text-align: center;
|
|
277 |
text-align: center; |
|
278 | 278 |
|
279 | 279 |
font-size: 100%; |
280 | 280 |
vertical-align: middle; |
... | ... | |
286 | 286 |
-moz-border-radius:50%; |
287 | 287 |
-webkit-border-radius:50%; |
288 | 288 |
border: 1px solid #192699; |
289 |
/*
|
|
289 |
/* |
|
290 | 290 |
border: 1px solid #192699; |
291 | 291 |
color: #192699; |
292 | 292 |
border-radius: 12px; |
... | ... | |
312 | 312 |
} |
313 | 313 |
@media only screen and (min-width: 1200px) { |
314 | 314 |
.image-front-topbar {margin-top:-80px;} |
315 |
}
|
|
315 |
} |
|
316 | 316 |
|
317 | 317 |
@media only screen and (max-width: 600px) { |
318 | 318 |
.tm-toolbar {display:block; |
... | ... | |
357 | 357 |
padding:10px 10px 0px 0px; |
358 | 358 |
-ms-transform: skew(25deg); |
359 | 359 |
-webkit-transform: skew(25deg); |
360 |
transform: skew(25deg);
|
|
360 |
transform: skew(25deg); |
|
361 | 361 |
margin-right:10px; |
362 | 362 |
background-color: #222080; |
363 | 363 |
} |
... | ... | |
396 | 396 |
text-decoration:none; |
397 | 397 |
-ms-transform: skew(-25deg); |
398 | 398 |
-webkit-transform: skew(-25deg); |
399 |
transform: skew(-25deg);
|
|
399 |
transform: skew(-25deg); |
|
400 | 400 |
font-family:Roboto:900!important; |
401 | 401 |
text-transform:uppercase!important; |
402 | 402 |
font-size:13px!important; |
... | ... | |
432 | 432 |
} |
433 | 433 |
|
434 | 434 |
.tm-toolbar .uk-subnav-line li a:hover, |
435 |
.tm-toolbar .uk-subnav li a:hover,
|
|
435 |
.tm-toolbar .uk-subnav li a:hover, |
|
436 | 436 |
.tm-toolbar .uk-subnav-line li:hover a, |
437 | 437 |
.tm-toolbar .uk-subnav li:hover a{ |
438 | 438 |
display: block; |
... | ... | |
467 | 467 |
} |
468 | 468 |
|
469 | 469 |
.tm-toolbar .uk-subnav a[title]:hover:before{ |
470 |
content: "";
|
|
470 |
content: ""; |
|
471 | 471 |
} |
472 | 472 |
/* |
473 | 473 |
.tm-toolbar .uk-subnav a[title]:hover:after { |
... | ... | |
507 | 507 |
} |
508 | 508 |
|
509 | 509 |
.uk-navbar-container:not(.uk-navbar-transparent) .uk-navbar-toggle {color:#4F5260!important;} |
510 |
|
|
510 |
|
|
511 | 511 |
.uk-navbar-container:not(.uk-navbar-transparent) { |
512 | 512 |
background: #fff; |
513 | 513 |
box-shadow: 2px 15px 50px rgba(41, 44, 61, .1); |
... | ... | |
547 | 547 |
.uk-nav>li>a, |
548 | 548 |
.uk-navbar-dropdown-nav>li>a, |
549 | 549 |
.uk-navbar-dropdown-nav .uk-nav-sub a { |
550 |
/* yard
|
|
550 |
/* yard |
|
551 | 551 |
color: rgba(255,255,255, 0.7); |
552 | 552 |
font-weight:300; |
553 | 553 |
padding:4px 0; |
... | ... | |
574 | 574 |
|
575 | 575 |
/* |
576 | 576 |
.uk-navbar-nav>li>a, .uk-navbar-item, .uk-navbar-toggle, .navbar .brand, .navbar-search, .navbar .nav>li>a { |
577 |
|
|
577 |
|
|
578 | 578 |
font-family: 'Roboto Slab', serif; |
579 | 579 |
font-size: 16px; |
580 | 580 |
line-height: 22px; |
581 | 581 |
text-transform:none; |
582 | 582 |
color: #222080; |
583 | 583 |
font-weight: 400 !important; |
584 |
|
|
584 |
|
|
585 | 585 |
} |
586 | 586 |
.uk-navbar-nav>li.uk-active>a { |
587 | 587 |
|
... | ... | |
649 | 649 |
|
650 | 650 |
|
651 | 651 |
/* |
652 |
.uk-navbar-container:not(.uk-navbar-transparent) a, .uk-navbar-container:not(.uk-navbar-transparent) .uk-link,
|
|
652 |
.uk-navbar-container:not(.uk-navbar-transparent) a, .uk-navbar-container:not(.uk-navbar-transparent) .uk-link, |
|
653 | 653 |
.uk-offcanvas-bar a, .uk-offcanvas-bar .uk-link, .tm-toolbar a, .tm-toolbar .uk-link { |
654 | 654 |
color:rgba(255,255,255,0.8); |
655 | 655 |
} |
... | ... | |
673 | 673 |
color: #D33A24; |
674 | 674 |
} |
675 | 675 |
/* remover of theme yard |
676 |
.uk-light .uk-navbar-nav>li.uk-active>a,
|
|
677 |
.uk-section-primary:not(.uk-preserve-color) .uk-navbar-nav>li.uk-active>a,
|
|
678 |
.uk-section-secondary:not(.uk-preserve-color) .uk-navbar-nav>li.uk-active>a,
|
|
679 |
.uk-card-primary.uk-card-body .uk-navbar-nav>li.uk-active>a,
|
|
680 |
.uk-card-primary>:not([class*='uk-card-media']) .uk-navbar-nav>li.uk-active>a,
|
|
681 |
.uk-card-secondary.uk-card-body .uk-navbar-nav>li.uk-active>a,
|
|
682 |
.uk-card-secondary>:not([class*='uk-card-media']) .uk-navbar-nav>li.uk-active>a,
|
|
683 |
.uk-overlay-primary .uk-navbar-nav>li.uk-active>a,
|
|
684 |
.uk-navbar-container:not(.uk-navbar-transparent) .uk-navbar-nav>li.uk-active>a,
|
|
685 |
.uk-offcanvas-bar .uk-navbar-nav>li.uk-active>a,
|
|
676 |
.uk-light .uk-navbar-nav>li.uk-active>a, |
|
677 |
.uk-section-primary:not(.uk-preserve-color) .uk-navbar-nav>li.uk-active>a, |
|
678 |
.uk-section-secondary:not(.uk-preserve-color) .uk-navbar-nav>li.uk-active>a, |
|
679 |
.uk-card-primary.uk-card-body .uk-navbar-nav>li.uk-active>a, |
|
680 |
.uk-card-primary>:not([class*='uk-card-media']) .uk-navbar-nav>li.uk-active>a, |
|
681 |
.uk-card-secondary.uk-card-body .uk-navbar-nav>li.uk-active>a, |
|
682 |
.uk-card-secondary>:not([class*='uk-card-media']) .uk-navbar-nav>li.uk-active>a, |
|
683 |
.uk-overlay-primary .uk-navbar-nav>li.uk-active>a, |
|
684 |
.uk-navbar-container:not(.uk-navbar-transparent) .uk-navbar-nav>li.uk-active>a, |
|
685 |
.uk-offcanvas-bar .uk-navbar-nav>li.uk-active>a, |
|
686 | 686 |
.tm-toolbar .uk-navbar-nav>li.uk-active>a { |
687 | 687 |
color:#292C3D; |
688 | 688 |
} |
689 | 689 |
|
690 |
.uk-light .uk-navbar-nav>li>a::before, .uk-section-primary:not(.uk-preserve-color) .uk-navbar-nav>li>a::before,
|
|
691 |
.uk-section-secondary:not(.uk-preserve-color) .uk-navbar-nav>li>a::before,
|
|
692 |
.uk-card-primary.uk-card-body .uk-navbar-nav>li>a::before,
|
|
690 |
.uk-light .uk-navbar-nav>li>a::before, .uk-section-primary:not(.uk-preserve-color) .uk-navbar-nav>li>a::before, |
|
691 |
.uk-section-secondary:not(.uk-preserve-color) .uk-navbar-nav>li>a::before, |
|
692 |
.uk-card-primary.uk-card-body .uk-navbar-nav>li>a::before, |
|
693 | 693 |
.uk-card-primary>:not([class*='uk-card-media']) .uk-navbar-nav>li>a::before, . |
694 |
uk-card-secondary.uk-card-body .uk-navbar-nav>li>a::before,
|
|
695 |
.uk-card-secondary>:not([class*='uk-card-media']) .uk-navbar-nav>li>a::before,
|
|
696 |
.uk-overlay-primary .uk-navbar-nav>li>a::before, .uk-navbar-container:not(.uk-navbar-transparent) .uk-navbar-nav>li>a::before,
|
|
694 |
uk-card-secondary.uk-card-body .uk-navbar-nav>li>a::before, |
|
695 |
.uk-card-secondary>:not([class*='uk-card-media']) .uk-navbar-nav>li>a::before, |
|
696 |
.uk-overlay-primary .uk-navbar-nav>li>a::before, .uk-navbar-container:not(.uk-navbar-transparent) .uk-navbar-nav>li>a::before, |
|
697 | 697 |
.uk-offcanvas-bar .uk-navbar-nav>li>a::before, .tm-toolbar .uk-navbar-nav>li>a::before { |
698 | 698 |
background-color: #128DD5; |
699 | 699 |
background-color: #17106E; |
... | ... | |
705 | 705 |
background-color: #3773DB!important; |
706 | 706 |
} |
707 | 707 |
|
708 |
.uk-light .uk-navbar-nav>li:hover>a, .uk-light .uk-navbar-nav>li>a:focus, .uk-light .uk-navbar-nav>li>a.uk-open,
|
|
709 |
.uk-section-primary:not(.uk-preserve-color) .uk-navbar-nav>li:hover>a,
|
|
710 |
.uk-section-primary:not(.uk-preserve-color) .uk-navbar-nav>li>a:focus,
|
|
711 |
.uk-section-primary:not(.uk-preserve-color) .uk-navbar-nav>li>a.uk-open,
|
|
712 |
.uk-section-secondary:not(.uk-preserve-color) .uk-navbar-nav>li:hover>a,
|
|
713 |
.uk-section-secondary:not(.uk-preserve-color) .uk-navbar-nav>li>a:focus,
|
|
714 |
.uk-section-secondary:not(.uk-preserve-color) .uk-navbar-nav>li>a.uk-open,
|
|
715 |
.uk-card-primary.uk-card-body .uk-navbar-nav>li:hover>a, .uk-card-primary.uk-card-body .uk-navbar-nav>li>a:focus,
|
|
716 |
.uk-card-primary.uk-card-body .uk-navbar-nav>li>a.uk-open,
|
|
717 |
.uk-card-primary>:not([class*='uk-card-media']) .uk-navbar-nav>li:hover>a,
|
|
718 |
.uk-card-primary>:not([class*='uk-card-media']) .uk-navbar-nav>li>a:focus,
|
|
719 |
.uk-card-primary>:not([class*='uk-card-media']) .uk-navbar-nav>li>a.uk-open,
|
|
720 |
.uk-card-secondary.uk-card-body .uk-navbar-nav>li:hover>a,
|
|
721 |
.uk-card-secondary.uk-card-body .uk-navbar-nav>li>a:focus,
|
|
722 |
.uk-card-secondary.uk-card-body .uk-navbar-nav>li>a.uk-open,
|
|
723 |
.uk-card-secondary>:not([class*='uk-card-media']) .uk-navbar-nav>li:hover>a,
|
|
724 |
.uk-card-secondary>:not([class*='uk-card-media']) .uk-navbar-nav>li>a:focus,
|
|
725 |
.uk-card-secondary>:not([class*='uk-card-media']) .uk-navbar-nav>li>a.uk-open,
|
|
726 |
.uk-overlay-primary .uk-navbar-nav>li:hover>a, .uk-overlay-primary .uk-navbar-nav>li>a:focus,
|
|
727 |
.uk-overlay-primary .uk-navbar-nav>li>a.uk-open, .uk-navbar-container:not(.uk-navbar-transparent) .uk-navbar-nav>li:hover>a,
|
|
728 |
.uk-navbar-container:not(.uk-navbar-transparent) .uk-navbar-nav>li>a:focus,
|
|
729 |
.uk-navbar-container:not(.uk-navbar-transparent) .uk-navbar-nav>li>a.uk-open,
|
|
730 |
.uk-offcanvas-bar .uk-navbar-nav>li:hover>a, .uk-offcanvas-bar .uk-navbar-nav>li>a:focus,
|
|
731 |
.uk-offcanvas-bar .uk-navbar-nav>li>a.uk-open, .tm-toolbar .uk-navbar-nav>li:hover>a,
|
|
708 |
.uk-light .uk-navbar-nav>li:hover>a, .uk-light .uk-navbar-nav>li>a:focus, .uk-light .uk-navbar-nav>li>a.uk-open, |
|
709 |
.uk-section-primary:not(.uk-preserve-color) .uk-navbar-nav>li:hover>a, |
|
710 |
.uk-section-primary:not(.uk-preserve-color) .uk-navbar-nav>li>a:focus, |
|
711 |
.uk-section-primary:not(.uk-preserve-color) .uk-navbar-nav>li>a.uk-open, |
|
712 |
.uk-section-secondary:not(.uk-preserve-color) .uk-navbar-nav>li:hover>a, |
|
713 |
.uk-section-secondary:not(.uk-preserve-color) .uk-navbar-nav>li>a:focus, |
|
714 |
.uk-section-secondary:not(.uk-preserve-color) .uk-navbar-nav>li>a.uk-open, |
|
715 |
.uk-card-primary.uk-card-body .uk-navbar-nav>li:hover>a, .uk-card-primary.uk-card-body .uk-navbar-nav>li>a:focus, |
|
716 |
.uk-card-primary.uk-card-body .uk-navbar-nav>li>a.uk-open, |
|
717 |
.uk-card-primary>:not([class*='uk-card-media']) .uk-navbar-nav>li:hover>a, |
|
718 |
.uk-card-primary>:not([class*='uk-card-media']) .uk-navbar-nav>li>a:focus, |
|
719 |
.uk-card-primary>:not([class*='uk-card-media']) .uk-navbar-nav>li>a.uk-open, |
|
720 |
.uk-card-secondary.uk-card-body .uk-navbar-nav>li:hover>a, |
|
721 |
.uk-card-secondary.uk-card-body .uk-navbar-nav>li>a:focus, |
|
722 |
.uk-card-secondary.uk-card-body .uk-navbar-nav>li>a.uk-open, |
|
723 |
.uk-card-secondary>:not([class*='uk-card-media']) .uk-navbar-nav>li:hover>a, |
|
724 |
.uk-card-secondary>:not([class*='uk-card-media']) .uk-navbar-nav>li>a:focus, |
|
725 |
.uk-card-secondary>:not([class*='uk-card-media']) .uk-navbar-nav>li>a.uk-open, |
|
726 |
.uk-overlay-primary .uk-navbar-nav>li:hover>a, .uk-overlay-primary .uk-navbar-nav>li>a:focus, |
|
727 |
.uk-overlay-primary .uk-navbar-nav>li>a.uk-open, .uk-navbar-container:not(.uk-navbar-transparent) .uk-navbar-nav>li:hover>a, |
|
728 |
.uk-navbar-container:not(.uk-navbar-transparent) .uk-navbar-nav>li>a:focus, |
|
729 |
.uk-navbar-container:not(.uk-navbar-transparent) .uk-navbar-nav>li>a.uk-open, |
|
730 |
.uk-offcanvas-bar .uk-navbar-nav>li:hover>a, .uk-offcanvas-bar .uk-navbar-nav>li>a:focus, |
|
731 |
.uk-offcanvas-bar .uk-navbar-nav>li>a.uk-open, .tm-toolbar .uk-navbar-nav>li:hover>a, |
|
732 | 732 |
.tm-toolbar .uk-navbar-nav>li>a:focus, .tm-toolbar .uk-navbar-nav>li>a.uk-open { |
733 | 733 |
color: #128DD5; |
734 | 734 |
color: #17106E; |
... | ... | |
762 | 762 |
color:#299CDD!important; |
763 | 763 |
|
764 | 764 |
} |
765 |
.uk-light .uk-navbar-nav>li.uk-active>a,
|
|
766 |
.uk-section-primary:not(.uk-preserve-color) .uk-navbar-nav>li.uk-active>a,
|
|
767 |
.uk-section-secondary:not(.uk-preserve-color) .uk-navbar-nav>li.uk-active>a,
|
|
768 |
.uk-card-primary.uk-card-body .uk-navbar-nav>li.uk-active>a,
|
|
769 |
.uk-card-primary>:not([class*='uk-card-media']) .uk-navbar-nav>li.uk-active>a,
|
|
770 |
.uk-card-secondary.uk-card-body .uk-navbar-nav>li.uk-active>a,
|
|
771 |
.uk-card-secondary>:not([class*='uk-card-media']) .uk-navbar-nav>li.uk-active>a,
|
|
772 |
.uk-overlay-primary .uk-navbar-nav>li.uk-active>a,
|
|
773 |
.uk-navbar-container:not(.uk-navbar-transparent) .uk-navbar-nav>li.uk-active>a,
|
|
765 |
.uk-light .uk-navbar-nav>li.uk-active>a, |
|
766 |
.uk-section-primary:not(.uk-preserve-color) .uk-navbar-nav>li.uk-active>a, |
|
767 |
.uk-section-secondary:not(.uk-preserve-color) .uk-navbar-nav>li.uk-active>a, |
|
768 |
.uk-card-primary.uk-card-body .uk-navbar-nav>li.uk-active>a, |
|
769 |
.uk-card-primary>:not([class*='uk-card-media']) .uk-navbar-nav>li.uk-active>a, |
|
770 |
.uk-card-secondary.uk-card-body .uk-navbar-nav>li.uk-active>a, |
|
771 |
.uk-card-secondary>:not([class*='uk-card-media']) .uk-navbar-nav>li.uk-active>a, |
|
772 |
.uk-overlay-primary .uk-navbar-nav>li.uk-active>a, |
|
773 |
.uk-navbar-container:not(.uk-navbar-transparent) .uk-navbar-nav>li.uk-active>a, |
|
774 | 774 |
.uk-offcanvas-bar .uk-navbar-nav>li.uk-active>a, .tm-toolbar .uk-navbar-nav>li.uk-active>a { |
775 | 775 |
color: #128DD5!important; |
776 | 776 |
color: #17106E!important; |
... | ... | |
778 | 778 |
|
779 | 779 |
/*.uk-light a:hover, .uk-light .uk-link:hover, */ |
780 | 780 |
/* remove for yard theme |
781 |
.uk-section-primary:not(.uk-preserve-color) a:hover, .uk-section-primary:not(.uk-preserve-color) .uk-link:hover,
|
|
782 |
.uk-section-secondary:not(.uk-preserve-color) a:hover, .uk-section-secondary:not(.uk-preserve-color) .uk-link:hover,
|
|
783 |
.uk-card-primary.uk-card-body a:hover, .uk-card-primary.uk-card-body .uk-link:hover,
|
|
784 |
.uk-card-primary>:not([class*='uk-card-media']) a:hover, .uk-card-primary>:not([class*='uk-card-media']) .uk-link:hover,
|
|
785 |
.uk-card-secondary.uk-card-body a:hover, .uk-card-secondary.uk-card-body .uk-link:hover,
|
|
786 |
.uk-card-secondary>:not([class*='uk-card-media']) a:hover, .uk-card-secondary>:not([class*='uk-card-media']) .uk-link:hover,
|
|
787 |
.uk-overlay-primary a:hover, .uk-overlay-primary .uk-link:hover,
|
|
788 |
.uk-navbar-container:not(.uk-navbar-transparent) a:hover,
|
|
789 |
.uk-navbar-container:not(.uk-navbar-transparent) .uk-link:hover,
|
|
790 |
.uk-offcanvas-bar a:hover, .uk-offcanvas-bar .uk-link:hover,
|
|
781 |
.uk-section-primary:not(.uk-preserve-color) a:hover, .uk-section-primary:not(.uk-preserve-color) .uk-link:hover, |
|
782 |
.uk-section-secondary:not(.uk-preserve-color) a:hover, .uk-section-secondary:not(.uk-preserve-color) .uk-link:hover, |
|
783 |
.uk-card-primary.uk-card-body a:hover, .uk-card-primary.uk-card-body .uk-link:hover, |
|
784 |
.uk-card-primary>:not([class*='uk-card-media']) a:hover, .uk-card-primary>:not([class*='uk-card-media']) .uk-link:hover, |
|
785 |
.uk-card-secondary.uk-card-body a:hover, .uk-card-secondary.uk-card-body .uk-link:hover, |
|
786 |
.uk-card-secondary>:not([class*='uk-card-media']) a:hover, .uk-card-secondary>:not([class*='uk-card-media']) .uk-link:hover, |
|
787 |
.uk-overlay-primary a:hover, .uk-overlay-primary .uk-link:hover, |
|
788 |
.uk-navbar-container:not(.uk-navbar-transparent) a:hover, |
|
789 |
.uk-navbar-container:not(.uk-navbar-transparent) .uk-link:hover, |
|
790 |
.uk-offcanvas-bar a:hover, .uk-offcanvas-bar .uk-link:hover, |
|
791 | 791 |
.tm-toolbar a:hover, .tm-toolbar .uk-link:hover { |
792 | 792 |
color:#299CDD!important; |
793 | 793 |
} |
... | ... | |
806 | 806 |
.uk-tile-primary {background-color: #17106E;} |
807 | 807 |
*/ |
808 | 808 |
/* remove for Yard theme |
809 |
.uk-light .uk-navbar-nav > li > a:active,
|
|
809 |
.uk-light .uk-navbar-nav > li > a:active, |
|
810 | 810 |
.uk-section-primary:not(.uk-preserve-color) .uk-navbar-nav > li > a:active, |
811 | 811 |
.uk-section-secondary:not(.uk-preserve-color) .uk-navbar-nav > li > a:active, |
812 |
.uk-card-primary.uk-card-body .uk-navbar-nav > li > a:active,
|
|
812 |
.uk-card-primary.uk-card-body .uk-navbar-nav > li > a:active, |
|
813 | 813 |
.uk-card-primary > :not([class * ='uk-card-media']) .uk-navbar-nav > li > a:active, |
814 |
.uk-card-secondary.uk-card-body .uk-navbar-nav > li > a:active,
|
|
814 |
.uk-card-secondary.uk-card-body .uk-navbar-nav > li > a:active, |
|
815 | 815 |
.uk-card-secondary > :not([class * ='uk-card-media']) .uk-navbar-nav > li > a:active, |
816 |
.uk-overlay-primary .uk-navbar-nav > li > a:active,
|
|
816 |
.uk-overlay-primary .uk-navbar-nav > li > a:active, |
|
817 | 817 |
.uk-navbar-container:not(.uk-navbar-transparent) .uk-navbar-nav > li > a:active, |
818 |
.uk-offcanvas-bar .uk-navbar-nav > li > a:active,
|
|
818 |
.uk-offcanvas-bar .uk-navbar-nav > li > a:active, |
|
819 | 819 |
.tm-toolbar .uk-navbar-nav > li > a:active { |
820 | 820 |
color: #292C3D!important; |
821 | 821 |
} |
... | ... | |
825 | 825 |
.uk-card-primary.uk-card-body .uk-navbar-nav > li.uk-active > a, .uk-card-primary > :not([class * ='uk-card-media']) .uk-navbar-nav > li.uk-active > a, |
826 | 826 |
.uk-card-secondary.uk-card-body .uk-navbar-nav > li.uk-active > a, |
827 | 827 |
.uk-card-secondary > :not([class * ='uk-card-media']) .uk-navbar-nav > li.uk-active > a, |
828 |
.uk-overlay-primary .uk-navbar-nav > li.uk-active > a,
|
|
828 |
.uk-overlay-primary .uk-navbar-nav > li.uk-active > a, |
|
829 | 829 |
.uk-navbar-container:not(.uk-navbar-transparent) .uk-navbar-nav > li.uk-active > a, |
830 |
.uk-offcanvas-bar .uk-navbar-nav > li.uk-active > a,
|
|
830 |
.uk-offcanvas-bar .uk-navbar-nav > li.uk-active > a, |
|
831 | 831 |
.tm-toolbar .uk-navbar-nav > li.uk-active > a { |
832 | 832 |
color: #292C3D!important; |
833 | 833 |
} |
834 | 834 |
|
835 |
.uk-light .uk-navbar-nav>li>a:active,
|
|
836 |
.uk-section-primary:not(.uk-preserve-color) .uk-navbar-nav>li>a:active,
|
|
837 |
.uk-section-secondary:not(.uk-preserve-color) .uk-navbar-nav>li>a:active,
|
|
838 |
.uk-card-primary.uk-card-body .uk-navbar-nav>li>a:active,
|
|
839 |
.uk-card-primary>:not([class*='uk-card-media']) .uk-navbar-nav>li>a:active,
|
|
840 |
.uk-card-secondary.uk-card-body .uk-navbar-nav>li>a:active,
|
|
841 |
.uk-card-secondary>:not([class*='uk-card-media']) .uk-navbar-nav>li>a:active,
|
|
842 |
.uk-overlay-primary .uk-navbar-nav>li>a:active,
|
|
843 |
.uk-navbar-container:not(.uk-navbar-transparent) .uk-navbar-nav>li>a:active,
|
|
835 |
.uk-light .uk-navbar-nav>li>a:active, |
|
836 |
.uk-section-primary:not(.uk-preserve-color) .uk-navbar-nav>li>a:active, |
|
837 |
.uk-section-secondary:not(.uk-preserve-color) .uk-navbar-nav>li>a:active, |
|
838 |
.uk-card-primary.uk-card-body .uk-navbar-nav>li>a:active, |
|
839 |
.uk-card-primary>:not([class*='uk-card-media']) .uk-navbar-nav>li>a:active, |
|
840 |
.uk-card-secondary.uk-card-body .uk-navbar-nav>li>a:active, |
|
841 |
.uk-card-secondary>:not([class*='uk-card-media']) .uk-navbar-nav>li>a:active, |
|
842 |
.uk-overlay-primary .uk-navbar-nav>li>a:active, |
|
843 |
.uk-navbar-container:not(.uk-navbar-transparent) .uk-navbar-nav>li>a:active, |
|
844 | 844 |
.uk-offcanvas-bar .uk-navbar-nav>li>a:active, .tm-toolbar .uk-navbar-nav>li>a:active { |
845 | 845 |
color:#128DD5!important; |
846 | 846 |
} |
... | ... | |
872 | 872 |
} |
873 | 873 |
*/ |
874 | 874 |
|
875 |
.uk-light .uk-text-meta, .uk-section-primary:not(.uk-preserve-color) .uk-text-meta,
|
|
876 |
.uk-section-secondary:not(.uk-preserve-color) .uk-text-meta,
|
|
877 |
.uk-card-primary.uk-card-body .uk-text-meta, .uk-card-primary>:not([class*='uk-card-media']) .uk-text-meta,
|
|
878 |
.uk-card-secondary.uk-card-body .uk-text-meta, .uk-card-secondary>:not([class*='uk-card-media']) .uk-text-meta,
|
|
879 |
.uk-overlay-primary .uk-text-meta, .uk-navbar-container:not(.uk-navbar-transparent) .uk-text-meta,
|
|
875 |
.uk-light .uk-text-meta, .uk-section-primary:not(.uk-preserve-color) .uk-text-meta, |
|
876 |
.uk-section-secondary:not(.uk-preserve-color) .uk-text-meta, |
|
877 |
.uk-card-primary.uk-card-body .uk-text-meta, .uk-card-primary>:not([class*='uk-card-media']) .uk-text-meta, |
|
878 |
.uk-card-secondary.uk-card-body .uk-text-meta, .uk-card-secondary>:not([class*='uk-card-media']) .uk-text-meta, |
|
879 |
.uk-overlay-primary .uk-text-meta, .uk-navbar-container:not(.uk-navbar-transparent) .uk-text-meta, |
|
880 | 880 |
.uk-offcanvas-bar .uk-text-meta, .tm-toolbar .uk-text-meta{ |
881 | 881 |
color: #90929D; |
882 | 882 |
} |
... | ... | |
906 | 906 |
color:#fff; |
907 | 907 |
} |
908 | 908 |
.first_page_panel h3.uk-h1 { |
909 |
color:#fff;
|
|
909 |
color:#fff; |
|
910 | 910 |
} |
911 | 911 |
.first_page_panel { |
912 | 912 |
border: 0px solid #e5e5e7!important; |
... | ... | |
915 | 915 |
font-size:24pt!important; |
916 | 916 |
padding:20px!important; |
917 | 917 |
color:#fff; |
918 |
}
|
|
918 |
} |
|
919 | 919 |
.first_page_panel .banner_text_bottom { |
920 | 920 |
font-size:20pt; |
921 | 921 |
padding:20px; |
... | ... | |
934 | 934 |
} |
935 | 935 |
.wk-tab>li.wk-active>a { |
936 | 936 |
border-color: transparent transparent #1678CB transparent !important; |
937 |
background:tranparent; |
|
937 |
background:transparent;
|
|
938 | 938 |
border-bottom: 2px solid #1678CB; |
939 | 939 |
} |
940 | 940 |
.wk-tab>*>a { |
... | ... | |
977 | 977 |
|
978 | 978 |
|
979 | 979 |
/*custom classes */ |
980 |
.partner_slider .wk-link-reset, .partner_slider .wk-link-reset a, .partner_slider .wk-link-reset a:focus,
|
|
980 |
.partner_slider .wk-link-reset, .partner_slider .wk-link-reset a, .partner_slider .wk-link-reset a:focus, |
|
981 | 981 |
.partner_slider .wk-link-reset a:hover, .partner_slider .wk-link-reset:focus, .partner_slider .wk-link-reset:hover { |
982 | 982 |
color: black; |
983 | 983 |
} |
... | ... | |
997 | 997 |
margin-top:0px; |
998 | 998 |
} |
999 | 999 |
|
1000 |
.mod_events_latest_date {
|
|
1000 |
.mod_events_latest_date { |
|
1001 | 1001 |
/* |
1002 | 1002 |
width: 18%; |
1003 | 1003 |
float: left; |
... | ... | |
1017 | 1017 |
font-size: 13px!important; |
1018 | 1018 |
line-height: 18px; |
1019 | 1019 |
} |
1020 |
|
|
1020 |
|
|
1021 | 1021 |
.mod_events_latest_time { |
1022 | 1022 |
//float: left; |
1023 | 1023 |
/* |
... | ... | |
1041 | 1041 |
font-weight:300; |
1042 | 1042 |
text-transform:none; |
1043 | 1043 |
} |
1044 |
.mod_events_latest_table td .hdr,
|
|
1044 |
.mod_events_latest_table td .hdr, |
|
1045 | 1045 |
.mod_events_latest_table td .hdr a{ |
1046 | 1046 |
font-family: 'Heebo', sans-serif; |
1047 | 1047 |
font-size:15px!important; |
... | ... | |
1122 | 1122 |
text-decoration: underline; |
1123 | 1123 |
} |
1124 | 1124 |
.newsletter .uk-h2 {font-size:28px!important;} |
1125 |
.newsletter .uk-icon {
|
|
1125 |
.newsletter .uk-icon { |
|
1126 | 1126 |
padding-left: 10px; |
1127 | 1127 |
padding-bottom: 15px; |
1128 | 1128 |
vertical-align: middle; |
... | ... | |
1133 | 1133 |
margin-bottom:0; |
1134 | 1134 |
} |
1135 | 1135 |
|
1136 |
.newsletter .acymailing_mootoolsbutton a:link,
|
|
1136 |
.newsletter .acymailing_mootoolsbutton a:link, |
|
1137 | 1137 |
.newsletter .acymailing_mootoolsbutton a:visited { |
1138 | 1138 |
background:none!important; |
1139 | 1139 |
border:none!important; |
... | ... | |
1179 | 1179 |
background-image:none!important; |
1180 | 1180 |
} |
1181 | 1181 |
|
1182 |
.newsletter .acysubbuttons input.button:hover, .newsletter .acysubbuttons .button:hover,
|
|
1183 |
.newsletter .acysubbuttons button.validate:hover, .newsletter .acymailing_mootoolsbutton a:hover,
|
|
1182 |
.newsletter .acysubbuttons input.button:hover, .newsletter .acysubbuttons .button:hover, |
|
1183 |
.newsletter .acysubbuttons button.validate:hover, .newsletter .acymailing_mootoolsbutton a:hover, |
|
1184 | 1184 |
.newsletter .acymailing_mootoolsbutton a:active { |
1185 | 1185 |
box-shadow:none!important; |
1186 | 1186 |
-moz-box-shadow:none!important; |
... | ... | |
1210 | 1210 |
box-shadow: 0px 0px 0px; |
1211 | 1211 |
border-radius:0px!important; |
1212 | 1212 |
display: inline-table!important; |
1213 |
text-transform:none!important;
|
|
1213 |
text-transform:none!important; |
|
1214 | 1214 |
font-size: 14px; |
1215 | 1215 |
font-family: 'Roboto Slab', serif; |
1216 | 1216 |
font-size: 16px; |
1217 | 1217 |
line-height: 23px; |
1218 | 1218 |
font-weight: 500 !important; |
1219 | 1219 |
} |
1220 |
.loginLink {
|
|
1220 |
.loginLink { |
|
1221 | 1221 |
text-transform:none!important; |
1222 | 1222 |
color: rgba(0, 0, 0, 0.8)!important; |
1223 | 1223 |
} |
1224 | 1224 |
|
1225 | 1225 |
#btl-panel-login >span { |
1226 |
border: 5px solid #d0d0d0!important;
|
|
1226 |
border: 5px solid #d0d0d0!important; |
|
1227 | 1227 |
} |
Also available in: Unified diff
merged development branch back to trunk. merge -r55148:HEAD https://svn.driver.research-infrastructures.eu/driver/dnet45/modules/uoa-repository-dashboard-gui/branches/development