Project

General

Profile

« Previous | Next » 

Revision 46561

more layout changes for linking - simplify linking - easy switch between bulk and search mode

View differences:

tabs.component.ts
17 17
@Component({
18 18
    selector: 'tabs',
19 19
    template: `
20
        <ul *ngIf="tabs != undefined" class="uk-tab" data-uk-switcher="{connect:'#tab-content'}">
21
            <li *ngIf="tabs.length>0" class="uk-active" id="{{tabs[0].content}}">
22
                <a>
23
                    {{tabs[0].name}}
24
                    <i *ngIf="tabs[0].content == 'metricsTab'" class="uk-icon-line-chart"></i>
25
                    <i *ngIf="tabs[0].content == 'statisticsTab'" class="uk-icon-pie-chart"></i>
26

  
27
                    <span class="uk-badge uk-badge-notification" *ngIf="tabs[0].content=='publicationsTab'">
28
                        {{fetchPublications.searchUtils.totalResults}}
29
                    </span>
30
                    <span class="uk-badge uk-badge-notification" *ngIf="tabs[0].content=='datasetsTab'">
31
                        {{fetchDatasets.searchUtils.totalResults}}
32
                    </span>
33
                    <span class="uk-badge uk-badge-notification" *ngIf="tabs[0].content=='projectsTab'">
34
                        {{fetchProjects.searchUtils.totalResults}}
35
                    </span>
36
                    <span class="uk-badge uk-badge-notification" *ngIf="tabs[0].content=='datasourcesTab'">
37
                        {{fetchDataproviders.searchUtils.totalResults}}
38
                    </span>
39
                    <span class="uk-badge uk-badge-notification" *ngIf="tabs[0].content=='organizationsTab'">
40
                        {{organizations.length}}
41
                    </span>
42
                </a>
43
            </li>
44

  
45
            <li *ngFor="let tab of tabs; let i=index">
46
                <a *ngIf="i>0"
20
    Tabs_0_content:{{tabs[0].content}} & length: {{tabs.length}}
21
    <div *ngIf="showTabs">
22
        <ul  class="uk-tab" data-uk-switcher="{connect:'#tab-content'}">
23
            <li *ngFor="let tab of tabs; let i=index" id="{{tabs[i].content}}">
24
                <a
47 25
                    (click)="search(tab.content, 1, 10)">
48 26
                        {{tab.name}}
49 27
                        <i *ngIf="tab.content == 'metricsTab'" class="uk-icon-line-chart"></i>
......
69 47
        </ul>
70 48

  
71 49
        <ul *ngIf="tabs != undefined" id="tab-content" class="uk-switcher uk-margin custom-tab-content">
72
            <li class="uk-animation-fade" id="firstTab-content" *ngIf="tabs.length>0">
73
                <publicationsTab *ngIf="tabs[0].content=='publicationsTab'"
74
                                 [paramsForSearchLink]="paramsForSearchLink"
75
                                 [fetchPublications]="fetchPublications">
76
                </publicationsTab>
77
                <datasetsTab *ngIf="tabs[0].content=='datasetsTab'"
78
                             [paramsForSearchLink]="paramsForSearchLink"
79
                             [fetchDatasets]="fetchDatasets">
80
                </datasetsTab>
81 50

  
82

  
83
                <projectsTab *ngIf="tabs[0].content=='projectsTab'"
84
                             [paramsForSearchLink]="paramsForSearchLink"
85
                             [fetchProjects]="fetchProjects">
86
                </projectsTab>
87

  
88
                <datasourcesTab *ngIf="tabs[0].content=='datasourcesTab'"
89

  
90
                                [paramsForSearchLink]="paramsForSearchLink"
91
                                [fetchDataproviders]="fetchDataproviders">
92

  
93
                </datasourcesTab>
94
                <organizationsTab *ngIf="tabs[0].content=='organizationsTab'"
95
                                  [organizations]="organizations">
96
                </organizationsTab>
97
                <relatedDatasourcesTab *ngIf="tabs[0].content=='relatedDatasourcesTab'"
98
                    [fetchResults]="fetchResultsAggregators"
99
                    [type]="relatedDataprovidersResultsType">
100
                </relatedDatasourcesTab>
101

  
102
                <div *ngIf="tabs[0].content=='statisticsTab' && statsClicked">
103
                  <div *ngIf="fetchPublications.searchUtils.totalResults == 0 && fetchDatasets.searchUtils.totalResults == 0" class = "uk-alert">
104
                      There are no statistics
105
                  </div>
106
                  <div *ngIf="(fetchPublications.searchUtils.totalResults != 0 || fetchDatasets.searchUtils.totalResults != 0)">
107
                    <p>
108
                      The results below are discovered through our pilot algorithms.
109
                      <a href="mailto:feedback@openaire.eu">Let us know how we are doing!</a>
110
                    </p>
111
                    <p class="uk-text-bold">Latest Documents Timeline</p>
112
                    <i-frame  [url]=docsTimelineUrl width="800" height="350"></i-frame>
113
                    <p class="uk-text-bold">Documents Types</p>
114
                    <i-frame [url]=docsTypesUrl width="800" height="350"></i-frame>
115
                  </div>
116

  
117
                  <div *ngIf="(fetchPublications.searchUtils.totalResults > 0)">
118
                      <div>
119
                        <p class="uk-text-bold">Funders in Data Providers Publications</p>
120
                        <i-frame  [url]=pubsFunderUrl width="800" height="350"></i-frame>
121
                        <p class="uk-text-bold">Projects with most Publications</p>
122
                        <i-frame [url]=pubsProjectsUrl width="800" height="350"></i-frame>
123

  
124

  
125
                  </div>
126
                  <div *ngIf="(fetchDatasets.searchUtils.totalResults > 0)">
127
                      <div>
128
                        <p class="uk-text-bold">Projects with most Research Data</p>
129
                        <i-frame  [url]=dataProjectsUrl width="800" height="350"></i-frame>
130

  
131
                        </div>
132
                     </div>
133
                  </div>
134
                 </div>
135
                <!--projectsTab *ngIf="tabs[0].content=='projectsTab'"
136
                             [paramsForSearchLink]="paramsForSearchLink"
137
                             [fetchProjects]="fetchProjects">
138
                </projectsTab>
139
                <datasourcesTab *ngIf="tabs[0].content=='datasourcesTab'"
140
                                [paramsForSearchLink]="paramsForSearchLink"
141
                                [fetchDataproviders]="fetchDataproviders">
142
                </datasourcesTab>
143
                <organizationsTab *ngIf="tabs[0].content=='organizationsTab'"
144
                                  [organizations]="organizations">
145
                </organizationsTab>
146
                <relatedDatasourcesTab *ngIf="tabs[0].content=='relatedDatasourcesTab'"
147
                    [fetchPublications]="fetchPublicationsAggregators">
148
                </relatedDatasourcesTab-->
149
                <!--div *ngIf="tabs[0].content=='metricsTab' && metrics == undefined" class = "uk-alert uk-alert-warning">
150
                    Metrics are currently unavailable
151
                </div>
152
                <div *ngIf="tabs[0].content=='metricsTab' && metrics != undefined" class="uk-panel uk-panel-box">
153
                        <b>Views: </b>{{metrics}}
154
                </div-->
155
                <metrics *ngIf="tabs[0].content=='metricsTab' && metricsClicked"
156
                    [id]="id" [type]="'datasources'" [name]="name" (metricsResults)="metricsResults($event)">
157
                </metrics>
158
                <i-frame *ngIf="tabs[0].content=='metricsTab' && metricsClicked && totalViews > 0"
159
                    [url]=viewsFrameUrl width="100%" height="250">
160
                </i-frame>
161
                <i-frame *ngIf="tabs[0].content=='metricsTab' && metricsClicked && totalDownloads > 0"
162
                    [url]=downloadsFrameUrl width="100%" height="250">
163
                </i-frame>
164
            </li>
165

  
166 51
            <li class="uk-animation-fade" *ngFor="let tab of tabs; let i=index">
167
                <publicationsTab *ngIf="i>0 && tab.content=='publicationsTab'"
52
                <publicationsTab *ngIf="  tab.content=='publicationsTab'"
168 53
                                 [paramsForSearchLink]="paramsForSearchLink"
169 54
                                 [fetchPublications] = "fetchPublications">
170 55
                </publicationsTab>
171
                <datasetsTab *ngIf="i>0 && tab.content=='datasetsTab'"
56
                <datasetsTab *ngIf="  tab.content=='datasetsTab'"
172 57
                             [paramsForSearchLink]="paramsForSearchLink"
173 58
                             [fetchDatasets]="fetchDatasets">
174 59
                </datasetsTab>
175 60

  
176
                <projectsTab *ngIf="i>0 && tab.content=='projectsTab'"
61
                <projectsTab *ngIf="  tab.content=='projectsTab'"
177 62
                             [paramsForSearchLink]="paramsForSearchLink"
178 63
                             [fetchProjects]="fetchProjects">
179 64
                </projectsTab>
180
                <datasourcesTab *ngIf="i>0 && tab.content=='datasourcesTab'"
65
                <datasourcesTab *ngIf="  tab.content=='datasourcesTab'"
181 66
                                [paramsForSearchLink]="paramsForSearchLink"
182 67
                                [fetchDataproviders]="fetchDataproviders">
183 68
                </datasourcesTab>
184
                <organizationsTab *ngIf="i>0 && tab.content=='organizationsTab'"
69
                <organizationsTab *ngIf="  tab.content=='organizationsTab'"
185 70
                                  [organizations]="organizations">
186 71
                </organizationsTab>
187
                <relatedDatasourcesTab *ngIf="i>0 && tab.content=='relatedDatasourcesTab'"
72
                <relatedDatasourcesTab *ngIf="  tab.content=='relatedDatasourcesTab'"
188 73
                    [dataproviderId]="id"
189 74
                    [fetchResults]="fetchResultsAggregators"
190 75
                    [type]="relatedDataprovidersResultsType">
191 76
                </relatedDatasourcesTab>
192 77

  
193
                <!--statisticsTab *ngIf="i>0 && tab.content=='statisticsTab'"
194
                [fetchPublications] = "fetchPublications"
195
                [fetchDatasets]="fetchDatasets" [id]="id">
196
                </statisticsTab-->
197
                <div *ngIf="i>0 && tab.content=='statisticsTab' && statsClicked">
78
                <div *ngIf="  tab.content=='statisticsTab' && statsClicked">
198 79
                  <div *ngIf="fetchPublications.searchUtils.totalResults == 0 && fetchDatasets.searchUtils.totalResults == 0" class = "uk-alert">
199 80
                      There are no statistics
200 81
                  </div>
......
217 98
                        <p class="uk-text-bold">Projects with most Publications</p>
218 99
                        <i-frame [url]=pubsProjectsUrl width="800" height="350"></i-frame>
219 100

  
220

  
221

  
222

  
223 101
                      </div>
224 102
                      <div *ngIf="(fetchDatasets.searchUtils.totalResults > 0)">
225 103
                        <div>
......
230 108
                  </div>
231 109
                </div>
232 110

  
233

  
234
                <metrics *ngIf="i>0 && tab.content=='metricsTab' && metricsClicked"
111
                <metrics *ngIf="  tab.content=='metricsTab' && metricsClicked"
235 112
                    [id]="id" [type]="'datasources'" [name]="name" (metricsResults)="metricsResults($event)">
236 113
                </metrics>
237
                <i-frame *ngIf="i>0 && tab.content=='metricsTab' && metricsClicked && totalViews > 0"
114
                <i-frame *ngIf="  tab.content=='metricsTab' && metricsClicked && totalViews > 0"
238 115
                    [url]=viewsFrameUrl width="100%" height="250">
239 116
                </i-frame>
240
                <i-frame *ngIf="i>0 && tab.content=='metricsTab' && metricsClicked && totalDownloads > 0"
117
                <i-frame *ngIf="  tab.content=='metricsTab' && metricsClicked && totalDownloads > 0"
241 118
                    [url]=downloadsFrameUrl width="100%" height="250">
242 119
                </i-frame>
243 120
            </li>
244 121
        </ul>
122
        </div>
245 123
    `
246 124
})
247 125

  
......
291 169
    private nativeElement : Node;
292 170

  
293 171
    public routerHelper:RouterHelper = new RouterHelper();
294

  
172
    showTabs:boolean = false;
295 173
    private sub: any;
296 174

  
297 175
    constructor (private renderer : Renderer, private element : ElementRef,private  route: ActivatedRoute,
......
306 184
    }
307 185

  
308 186
    ngOnInit() {
309
        this.sub =  this.route.queryParams.subscribe(data => {
187
      this.hideTabs(true);
188
      this.initTabs("init");
189
      this.hideTabs(false);
190
    }
191
    public hideTabs(hide:boolean){
192
        this.showTabs = !hide;
193
    }
194
    public initTabs(from){
195
      console.log("\nCALL init from "+from+" "+this.tabs.length+"\n ");
196

  
310 197
            if(this.tabs != undefined && this.tabs.length > 0) {
311 198
                this.reloadPublications = true;
312 199
                this.reloadDatasets = true;
......
339 226
                    this.fetchResultsAggregators = new FetchDatasets(this._searchDatasetsService);
340 227
                }
341 228
            }
342

  
343 229
            if(this.resultsBy == "collectedFrom") {
344 230
                //this.paramsForSearchLink = "?collectedFrom="+this.id+"&co=and";
345 231
                this.paramsForSearchLink = this.routerHelper.createQueryParams(['collectedFrom', 'co'], [this.id, 'and']);
......
347 233
                //this.paramsForSearchLink = "?hostedBy="+this.id+"&ho=and";
348 234
                this.paramsForSearchLink = this.routerHelper.createQueryParams(['hostedBy', 'ho'], [this.id, 'and']);
349 235
            }
350
        });
236

  
351 237
    }
352 238

  
353 239
    ngOnDestroy() {

Also available in: Unified diff