monitor/src/app/createCommunity/community-creation-instruct...

417 lines
22 KiB
TypeScript

import {Component, ElementRef, HostListener, Input, ViewChild} from '@angular/core';
import {ActivatedRoute, Router} from '@angular/router';
import {Title, Meta} from '@angular/platform-browser';
import {PiwikService} from '../openaireLibrary/utils/piwik/piwik.service';
import {EnvProperties} from '../openaireLibrary/utils/properties/env-properties';
declare var UIkit: any;
@Component({
selector: 'community-creation-instructions',
template: `
<div class="image-front-topbar uk-section-secondary uk-section-overlap uk-position-relative uk-preserve-color" uk-scrollspy="{&quot;target&quot;:&quot;[uk-scrollspy-class]&quot;,&quot;cls&quot;:&quot;uk-animation-fade&quot;,&quot;delay&quot;:false}" tm-header-transparent="light" tm-header-transparent-placeholder="">
<div style=" min-height: calc(7.89999px + 60vh);"
class=" mainPageSearchForm uk-background-norepeat uk-background-cover uk-section uk-padding-remove-bottom" >
<div class="uk-position-cover" style=""></div>
<div class="uk-position-relative uk-panel">
<div class="uk-container uk-section">
<div>
<h3 class="uk-margin-remove-bottom uk-margin-large-top">Discover the power of OpenAIRE Connect community page builder</h3>
<h5 class="uk-margin-remove-top">Gather all your research in one place</h5>
<!-- <div class="uk-width-medium uk-text-center uk-margin-large-top uk-margin-large-left">-->
<!-- <h5>Contact OpenAIRE team, in order to create your community page</h5>-->
<!-- <div>-->
<!-- <a class="uk-button portal-button" routerLinkActive="router-link-active" routerLink="/contact-us"> CONTACT US</a>-->
<!-- </div>-->
<!-- </div>-->
<div class="uk-width-1-2 uk-inline uk-margin-large-top uk-margin-large-bottom">
<div class="uk-position-center ">
<div class="uk-width-medium uk-text-center">
<h5>Contact OpenAIRE team, in order to create your community page</h5>
<div>
<a class="uk-button portal-button" routerLinkActive="router-link-active" routerLink="/contact-us"> CONTACT US</a>
</div>
</div>
</div>
<br>
</div>
</div>
</div>
</div>
</div>
</div>
<div>
<div>
<div #adminPortalImage class="uk-margin-bottom uk-margin-top">
<!--div uk-scrollspy="cls: uk-animation-fade uk-animation-reverse; target: > div > div > .uk-card; delay: 1000; repeat: false"-->
<div class="uk-container uk-margin-large-top">
<h3>OpenAIRE Connect community page builder at a glance</h3>
<div class="uk-inline uk-dark" (scroll)="scrollHandler($event)">
<img src="assets/admin-portal.png" alt="OpenAIRE" >
<div id="logo" class="my-tooltip uk-card uk-card-secondary uk-position-absolute uk-transform-center"
style="left: 27%; top: 2%" hidden>
<div class="uk-padding-small uk-text-small uk-text-bold">Your logo goes here</div>
</div>
<div id="configure-profile" class="my-tooltip uk-text-center uk-card uk-card-secondary uk-position-absolute uk-transform-center"
style="left: 33%; top: 21%" hidden>
<div class="uk-padding-small uk-text-small uk-text-bold">Configure your community profile</div>
</div>
<div id="connect-with" class="my-tooltip uk-width-1-5 uk-card uk-text-center uk-card-secondary uk-position-absolute uk-transform-center"
style="left: 56%; top: 18%" hidden>
<div class="uk-padding-small uk-text-small uk-text-bold">Connect with subjects, projects, content providers & Zenodo communities</div>
</div>
<div id="choose-statistics" class="my-tooltip uk-text-center uk-card uk-card-secondary uk-position-absolute uk-transform-center"
style="left: 80%; top: 19%" hidden>
<div class="uk-padding-small uk-text-small uk-text-bold">Choose statistics and charts to be publicly available</div>
</div>
<div id="curate" class="my-tooltip uk-text-center uk-card uk-card-secondary uk-position-absolute uk-transform-center"
style="left: 32%; top: 60%" hidden>
<div class="uk-padding-small uk-text-small uk-text-bold">Curate links of research results</div>
</div>
<div id="help-texts" class="my-tooltip uk-width-1-5 uk-text-center uk-card uk-card-secondary uk-position-absolute uk-transform-center"
style="left: 56%; top: 59%" hidden>
<div class="uk-padding-small uk-text-small uk-text-bold">Add help texts in your pages for extra information</div>
</div>
<div id="invite" class="my-tooltip uk-text-center uk-card uk-card-secondary uk-position-absolute uk-transform-center"
style="left: 80%; top: 60%" hidden>
<div class="uk-padding-small uk-text-small uk-text-bold">Invite collaborators and users</div>
</div>
<!--[attr.uk-tooltip]="'title: ' + createTooltip('Your logo goes here')"-->
<!--uk-toggle="target: #logo; mode: click"-->
<a class="uk-position-absolute uk-transform-center uk-icon uk-marker"
style="left: 20%; top: 5%" uk-marker>
<!--span uk-icon="plus"></span-->
<svg width="20" height="20" viewBox="0 0 20 20" xmlns="http://www.w3.org/2000/svg" data-svg="marker"><rect x="9" y="4" width="1" height="11"></rect><rect x="4" y="9" width="11" height="1"></rect></svg>
</a>
<!--[attr.uk-tooltip]="'title: ' + createTooltip('Configure your community profile') + '; cls: conf-profile'"-->
<!--class: configure-profile -->
<a class="uk-position-absolute uk-transform-center uk-icon uk-marker"
style="left: 22%; top: 24%" uk-marker>
<svg width="20" height="20" viewBox="0 0 20 20" xmlns="http://www.w3.org/2000/svg" data-svg="marker"><rect x="9" y="4" width="1" height="11"></rect><rect x="4" y="9" width="11" height="1"></rect></svg>
</a>
<!--[attr.uk-tooltip]="'title: ' + createTooltip('Connect with subjects, projects, content providers & Zenodo communities')"-->
<a class="uk-position-absolute uk-transform-center uk-icon uk-marker"
style="left: 46%; top: 24%" uk-marker>
<svg width="20" height="20" viewBox="0 0 20 20" xmlns="http://www.w3.org/2000/svg" data-svg="marker"><rect x="9" y="4" width="1" height="11"></rect><rect x="4" y="9" width="11" height="1"></rect></svg>
</a>
<!-- [attr.uk-tooltip]="'title: ' + createTooltip('Choose statistics and charts to be publicly available')"-->
<a class="uk-position-absolute uk-transform-center uk-icon uk-marker"
style="left: 70%; top: 24%" uk-marker>
<svg width="20" height="20" viewBox="0 0 20 20" xmlns="http://www.w3.org/2000/svg" data-svg="marker"><rect x="9" y="4" width="1" height="11"></rect><rect x="4" y="9" width="11" height="1"></rect></svg>
</a>
<!--[attr.uk-tooltip]="'title: ' + createTooltip('Curate links of research results')"-->
<a class="uk-position-absolute uk-transform-center uk-icon uk-marker"
style="left: 22%; top: 64%" uk-marker>
<svg width="20" height="20" viewBox="0 0 20 20" xmlns="http://www.w3.org/2000/svg" data-svg="marker"><rect x="9" y="4" width="1" height="11"></rect><rect x="4" y="9" width="11" height="1"></rect></svg>
</a>
<!--[attr.uk-tooltip]="'title: ' + createTooltip('Add help texts in your pages for extra information')"-->
<a class="uk-position-absolute uk-transform-center uk-icon uk-marker"
style="left: 46%; top: 64%" uk-marker>
<svg width="20" height="20" viewBox="0 0 20 20" xmlns="http://www.w3.org/2000/svg" data-svg="marker"><rect x="9" y="4" width="1" height="11"></rect><rect x="4" y="9" width="11" height="1"></rect></svg>
</a>
<!--[attr.uk-tooltip]="'title: ' + createTooltip('Invite collaborators and users')"-->
<a class="uk-position-absolute uk-transform-center uk-icon uk-marker"
style="left: 70%; top: 64%" uk-marker>
<svg width="20" height="20" viewBox="0 0 20 20" xmlns="http://www.w3.org/2000/svg" data-svg="marker"><rect x="9" y="4" width="1" height="11"></rect><rect x="4" y="9" width="11" height="1"></rect></svg>
</a>
</div>
</div>
</div>
<div #communityImage class="uk-container uk-margin-large-top">
<h3>Community page</h3>
<div uk-grid uk-grid-match>
<div class="uk-width-1-3 uk-card">
<div class="uk-text-center uk-position-center ">
<p>Contact OpenAIRE team, in order to create your community page</p>
<div>
<a class="uk-button portal-button" routerLinkActive="router-link-active" routerLink="/contact-us"> CONTACT US</a>
</div>
</div>
</div>
<div class="uk-width-2-3 uk-text-center">
<div class="uk-inline uk-dark">
<img src="assets/community-first-page.jpg" alt="OpenAIRE">
<div id="community-content" class="my-tooltip uk-text-center uk-card uk-card-secondary uk-position-absolute uk-transform-center"
style="left: 80%; top: 31%" hidden>
<div class="uk-padding-small uk-text-small uk-text-bold">Community content at a glance</div>
</div>
<div id="locate-research-results" class="my-tooltip uk-text-center uk-card uk-card-secondary uk-position-absolute uk-transform-center"
style="left: 57%; top: 38%" hidden>
<div class="uk-padding-small uk-text-small uk-text-bold">Locate Research Results</div>
</div>
<div id="recent-research-results" class="my-tooltip uk-width-1-4 uk-text-center uk-card uk-card-secondary uk-position-absolute uk-transform-center"
style="left: 48%; top: 58%" hidden>
<div class="uk-padding-small uk-text-small uk-text-bold">Recent research results and related graphs</div>
</div>
<!--[attr.uk-tooltip]="'title: ' + createTooltip('Community content at a glance')"-->
<a class="uk-position-absolute uk-transform-center uk-icon uk-marker"
style="right: 6%; top: 28%" uk-marker>
<svg width="20" height="20" viewBox="0 0 20 20" xmlns="http://www.w3.org/2000/svg" data-svg="marker"><rect x="9" y="4" width="1" height="11"></rect><rect x="4" y="9" width="11" height="1"></rect></svg>
</a>
<!--[attr.uk-tooltip]="'title: ' + createTooltip('Locate Research Results')"-->
<a class="uk-position-absolute uk-transform-center uk-icon uk-marker"
style="left: 45%; top: 40%" uk-marker>
<svg width="20" height="20" viewBox="0 0 20 20" xmlns="http://www.w3.org/2000/svg" data-svg="marker"><rect x="9" y="4" width="1" height="11"></rect><rect x="4" y="9" width="11" height="1"></rect></svg>
</a>
<!--[attr.uk-tooltip]="'title: ' + createTooltip('Recent research results and related graphs')"-->
<a class="uk-position-absolute uk-transform-center uk-icon uk-marker"
style="left: 35%; top: 55%" uk-marker>
<svg width="20" height="20" viewBox="0 0 20 20" xmlns="http://www.w3.org/2000/svg" data-svg="marker"><rect x="9" y="4" width="1" height="11"></rect><rect x="4" y="9" width="11" height="1"></rect></svg>
</a>
</div>
</div>
</div>
</div>
</div>
<!--/div-->
</div>
<!--<div class="uk-container">-->
<!-- <a class="configure-profile uk-icon uk-marker"-->
<!-- uk-marker-->
<!-- uk-tooltip="title: AAAAAAA 1">-->
<!-- <svg width="20" height="20" viewBox="0 0 20 20" xmlns="http://www.w3.org/2000/svg" data-svg="marker"><rect x="9" y="4" width="1" height="11"></rect><rect x="4" y="9" width="11" height="1"></rect></svg>-->
<!-- </a>-->
<!-- <a class="connect-with uk-icon uk-marker"-->
<!-- uk-marker-->
<!-- uk-tooltip="title: AAAAAAA 2">-->
<!-- <svg width="20" height="20" viewBox="0 0 20 20" xmlns="http://www.w3.org/2000/svg" data-svg="marker"><rect x="9" y="4" width="1" height="11"></rect><rect x="4" y="9" width="11" height="1"></rect></svg>-->
<!-- </a>-->
<!-- <a class="choose-statistics uk-icon uk-marker"-->
<!-- uk-marker-->
<!-- uk-tooltip="title: AAAAAAA 3">-->
<!-- <svg width="20" height="20" viewBox="0 0 20 20" xmlns="http://www.w3.org/2000/svg" data-svg="marker"><rect x="9" y="4" width="1" height="11"></rect><rect x="4" y="9" width="11" height="1"></rect></svg>-->
<!-- </a>-->
<!-- <button (click)="openTooltips()">OPEN TOOLTIPS</button>-->
<!-- <button type="button" uk-toggle="target: #my-id1; mode: hover; animation: uk-animation-fade">test tooltip</button>-->
<!-- <p id="my-id1" class="test-tooltip">TEST tooltip1</p>-->
<!-- <button (scroll)="scrollHandler($event)" type="button" uk-toggle="target: #my-id2; mode: hover; animation: uk-animation-fade">test tooltip</button>-->
<!-- <p id="my-id2" class="test-tooltip" [attr.hidden]="hidden ? 'hidden' : null">TEST tooltip2</p>-->
<!-- <button type="button" uk-toggle="target: #my-id3; mode: hover; animation: uk-animation-fade">test tooltip</button>-->
<!-- <p id="my-id3"class="test-tooltip">TEST tooltip3</p>-->
<!--</div>-->
<div class="uk-section-muted uk-margin-large-top">
<div class="uk-container uk-container-large">
<div class="uk-margin-large-top uk-margin-large-bottom">
<div class="uk-margin uk-panel">
<h4 class="uk-margin uk-h4 uk-text-bold">
Why trust OpenAIRE?
</h4>
<div class="uk-child-width-1-3@m uk-grid-small uk-grid-match" uk-grid
uk-scrollspy="target: > div; cls:uk-animation-fade; delay: 500">
<div>
<div class="uk-card uk-card-default uk-card-body">
<p class="">It is the Open Access Infrastructure for Europe.</p>
</div>
</div>
<div>
<div class="uk-card uk-card-default uk-card-body">
<p>It is community based and independent.</p>
</div>
</div>
<div>
<div class="uk-card uk-card-default uk-card-body">
<p>Provides organizational and technical framework to support OpenScience.</p>
</div>
</div>
<div>
<div class="uk-card uk-card-default uk-card-body">
<p>Provides access to over 25 million research outputs and services that enable their access, link and reuse.</p>
</div>
</div>
<div>
<div class="uk-card uk-card-default uk-card-body">
<p>Provides organizational and technical framework to support OpenScience.</p>
</div>
</div>
<div>
<div class="uk-card uk-card-default uk-card-body">
<p>Ensures that all data come from trusted sources.</p>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
`
})
export class CommunityCreationInstructionsComponent {
public piwiksub: any;
public pageTitle = "OpenAIRE"
public admin_portal_image_hidden: boolean = true;
@ViewChild('adminPortalImage') admin_portal_image: ElementRef;
public community_image_hidden: boolean = true;
@ViewChild('communityImage') community_image: ElementRef;
properties:EnvProperties;
constructor (
private route: ActivatedRoute,
private _router: Router,
private _title: Title,
private _piwikService:PiwikService) {
var description = "OpenAIRE - Connect, Community Dashboard, research community";
var title = "OpenAIRE - Connect | Create and manage your community page";
this._title.setTitle(title);
}
public ngOnInit() {
this.route.data
.subscribe((data: { envSpecific: EnvProperties }) => {
this.properties = data.envSpecific;
var url = data.envSpecific.baseLink+this._router.url;
if(this.properties.enablePiwikTrack && (typeof document !== 'undefined')){
this.piwiksub = this._piwikService.trackView(this.properties, "OpenAIRE Connect | Create and manage your community page", this.properties.piwikSiteId).subscribe();
}
//UIkit.tooltip('.configure-profile').show();
});
}
/*
public openTooltips() {
console.debug("open these tooltips!");
UIkit.tooltip('.configure-profile').show();
UIkit.tooltip('.connect-with').show();
UIkit.tooltip('.choose-statistics').show();
}
*/
public ngAfterViewInit() {
/* if (typeof document !== 'undefined') {
if (document.getElementById('enableFadeOutScrollScript')) {
document.getElementById('enableFadeOutScrollScript').remove();
}
const enableFadeOutScrollScript = document.createElement('script');
enableFadeOutScrollScript.setAttribute('id', 'enableFadeOutScrollScript');
enableFadeOutScrollScript.innerHTML = '\n' +
'$(document).ready(function() {\n' +
'\n' +
' $(window).scroll( function(){\n' +
'\n' +
' $(\'.my-tooltip\').each( function(i){\n' +
'\n' +
' var bottom_of_object = $(this).position().top + $(this).outerHeight();\n' +
' var bottom_of_window = $(window).scrollTop() + $(window).height();\n' +
'\n' +
' if( bottom_of_window > bottom_of_object ){\n' +
'\n' +
' $(this).animate({\'opacity\':\'1\'},1500);\n' +
//'\n' + 'this.hidden = true;' +
'\n' +
' }\n' +
'\n' +
' });\n' +
'\n' +
' });\n' +
'\n' +
' });';
document.body.appendChild(enableFadeOutScrollScript);
*/
/*UIkit.util.on('#logo', 'beforehide', function () {
// do something
if(this.hide =http://www.equp4.wf/= false) {
return false;
}
});
}*/
}
@HostListener('window:scroll', ['$event'])
scrollHandler(event) {
let offsetHeight = document.getElementById('stickyNavbar').offsetHeight;
let scrollPosition = window.pageYOffset;
let admin_portal_image_idsToToggle: string[] = ['#logo', '#configure-profile', '#choose-statistics', '#connect-with', '#curate', '#help-texts', '#invite'];
let adminPortalImageHeight = this.admin_portal_image.nativeElement.offsetHeight;
let adminPortalImagePosition = this.admin_portal_image.nativeElement.offsetTop - offsetHeight;
if(!this.admin_portal_image_hidden
&& ((scrollPosition >= 0.7*adminPortalImagePosition+adminPortalImageHeight) || scrollPosition < 0.7*adminPortalImagePosition)) {
this.admin_portal_image_hidden = true;
admin_portal_image_idsToToggle.forEach((id: string) => {
UIkit.toggle(id, {
animation: 'uk-animation-fade uk-animation-reverse',
duration: 1500
}).toggle();
});
} else if (this.admin_portal_image_hidden && (scrollPosition >= 0.7*adminPortalImagePosition)) {
this.admin_portal_image_hidden = false;
admin_portal_image_idsToToggle.forEach((id: string) => {
UIkit.toggle(id, {
animation: 'uk-animation-fade',
duration: 1500
}).toggle();
});
}
let community_image_idsToToggle: string[] = ['#community-content', '#locate-research-results', '#recent-research-results'];
let communityImageHeight = this.community_image.nativeElement.offsetHeight;
let communityImagePosition = this.community_image.nativeElement.offsetTop - offsetHeight;
if(!this.community_image_hidden
&& ((scrollPosition >= 0.9*communityImagePosition+communityImageHeight) || scrollPosition < 0.9*communityImagePosition)) {
this.community_image_hidden = true;
community_image_idsToToggle.forEach((id: string) => {
UIkit.toggle(id, {
animation: 'uk-animation-fade uk-animation-reverse',
duration: 1500
}).toggle();
});
} else if (this.community_image_hidden && (scrollPosition >= 0.9*communityImagePosition)) {
this.community_image_hidden = false;
community_image_idsToToggle.forEach((id: string) => {
UIkit.toggle(id, {
animation: 'uk-animation-fade',
duration: 1500
}).toggle();
});
}
}
public ngOnDestroy() {
if(this.piwiksub){
this.piwiksub.unsubscribe();
}
}
public createTooltip(content: string) : string {
return "<div class=\"uk-text-center uk-text-bold uk-padding-small\">"+content+"</div>";
}
}