Project

General

Profile

« Previous | Next » 

Revision 58616

[Trunk | Connect]:
1. community.component.ts: Add fields 'public thresholdDescription: number = 550;' and 'subscribers: number = 0;' and method 'public countSubscribersEvent($event)'.
2. community.component.html:
a. Move curatos, projects & content providers, zenodo communities inside tab 'Summary'.
b. In tab names add class 'tab-header' and remove 'uk-text-bold'.
c. Cut description according to 'thresholdDescription'.
3. curators.component.html: Add 'uk-inline-block' class in <a>, in order not to break name and surname of a curator into 2 lines.
4. results.component.ts: Add 'view all' link on top right corner too and change class of link to 'uk-button uk-button-text'.
5. subscribe.component.ts: Add output event when getting subscribers number (used by community.component to add margin in needed).

View differences:

modules/uoa-connect-portal/trunk/src/app/community/community.component.html
186 186
</ng-template>
187 187

  
188 188

  
189
<div *ngIf="communityInfo" class="uk-section uk-padding-remove-top uk-padding-remove-bottom">
189
<div *ngIf="communityInfo && community" class="uk-section uk-padding-remove-top uk-padding-remove-bottom">
190 190
  <div class="uk-padding-small">
191 191
    <div class="uk-container uk-container-large uk-margin-top"
192 192
         *ngIf="communityId">
......
199 199
               class="subtitle uk-margin-remove">
200 200
            {{community.shortTitle}}
201 201
          </div>
202

  
203
          <div class="uk-margin-top">
204
            <div *ngIf="isRouteEnabled('/curators')" class="uk-margin-top">
205
              <curators [longView]="false" [managers]="community.managers" [communityId]="communityId"></curators>
206
            </div>
207
            <div>
208
              <span *ngIf="projectTotal  && projectTotal > 0 && isEntityEnabled('project') && isRouteEnabled(searchLinkToProjects)">
209
                <span class="uk-text-muted">Projects: </span>
210
                <a class="uk-margin-auto-vertical uk-margin-auto portal-link" [queryParams]=params
211
                       routerLinkActive="router-link-active" [routerLink]="searchLinkToProjects">
212
                  {{projectTotal|number}}
213
                </a>
214
              </span>
215
              <span *ngIf="contentProviderTotal  && contentProviderTotal > 0 && isEntityEnabled('datasource') && isRouteEnabled(searchLinkToDataProviders)"
216
                    [class]="'uk-display-inline-block '+((projectTotal  && projectTotal > 0 && isEntityEnabled('project') && isRouteEnabled(searchLinkToProjects)) ? 'uk-margin-left' : '')">
217
                    <span class="uk-text-muted">Content Providers: </span>
218
                    <a class="uk-margin-auto-vertical uk-margin-auto portal-link" [queryParams]=params
219
                       routerLinkActive="router-link-active" [routerLink]="searchLinkToDataProviders">
220
                      {{contentProviderTotal|number}}
221
                    </a>
222
              </span>
223
              <span *ngIf="projectsCalculated && contentProvidersCalculated &&
224
                          ((projectTotal  && projectTotal > 0 && isEntityEnabled('project') && isRouteEnabled(searchLinkToProjects))
225
                          || (contentProviderTotal  && contentProviderTotal > 0 && isEntityEnabled('datasource') && isRouteEnabled(searchLinkToDataProviders)))"
226
                    class="uk-icon uk-text-muted uk-margin-small-left"
227
                    title="{{buildProjectsAndContentProvidesTooltip()}}"
228
                    uk-tooltip="pos:bottom-right; delay:10; cls: community-page-tooltip uk-width-medium">
229
                <svg width="15" height="15" viewBox="0 0 20 20" xmlns="http://www.w3.org/2000/svg" icon="question" ratio="1">
230
                  <circle fill="none" stroke="#000" stroke-width="1.1" cx="10" cy="10" r="9"></circle>
231
                  <circle cx="10.44" cy="14.42" r="1.05"></circle>
232
                  <path fill="none" stroke="#000" stroke-width="1.2" d="M8.17,7.79 C8.17,4.75 12.72,4.73 12.72,7.72 C12.72,8.67 11.81,9.15 11.23,9.75 C10.75,10.24 10.51,10.73 10.45,11.4 C10.44,11.53 10.43,11.64 10.43,11.75"></path>
233
                </svg>
234
              </span>
235
            </div>
236
            <div *ngIf="(zenodoCommunityIdS.length + ((masterZenodoCommunity) ? 1 : 0) > 0) && isRouteEnabled(shareInZenodoPage)" class="">
237
              <span class="lowOpacityColor uk-text-muted">Linked to </span>
238
              <a class="portal-link" [queryParams]=params routerLinkActive="router-link-active" [routerLink]="shareInZenodoPage">
239
                <span>{{zenodoCommunityIdS.length + ((masterZenodoCommunity) ? 1 : 0)}}</span>
240
              </a>
241
              <span class="lowOpacityColor uk-text-muted"> Zenodo Communities</span>
242
              <span class="uk-icon uk-text-muted uk-margin-small-left"
243
                    title="{{buildZenodoCommunitiesTooltip()}}"
244
                    uk-tooltip="pos:bottom-right; delay:10; cls: community-page-tooltip uk-width-medium">
245
                <svg width="15" height="15" viewBox="0 0 20 20" xmlns="http://www.w3.org/2000/svg" icon="question" ratio="1">
246
                  <circle fill="none" stroke="#000" stroke-width="1.1" cx="10" cy="10" r="9"></circle>
247
                  <circle cx="10.44" cy="14.42" r="1.05"></circle>
248
                  <path fill="none" stroke="#000" stroke-width="1.2" d="M8.17,7.79 C8.17,4.75 12.72,4.73 12.72,7.72 C12.72,8.67 11.81,9.15 11.23,9.75 C10.75,10.24 10.51,10.73 10.45,11.4 C10.44,11.53 10.43,11.64 10.43,11.75"></path>
249
                </svg>
250
              </span>
251
            </div>
252
          </div>
253 202
        </div>
254 203
        <div>
255 204
          <div class="main-tabs-div">
256 205
          <ul uk-tab class="uk-text-truncate main-tabs uk-margin-remove uk-child-width-expand uk-width-3-4" uk-switcher="connect: .main-tabs-content">
257 206
            <li class="uk-padding-remove">
258 207
              <a class="uk-width-1-1 uk-height-1-1">
259
                <div class="uk-text-bold">Summary</div>
208
                <div class="tab-header">Summary</div>
260 209
              </a>
261 210
            </li>
262 211
            <li *ngIf="publicationTotal && publicationTotal > 0 && isEntityEnabled('publication')"
263 212
                class="uk-padding-remove" (click)="show='overview'; searchResearchResults('publication', publicationTotal, publicationResults)">
264 213
              <a class="uk-width-1-1 uk-height-1-1">
265
                <div class="uk-text-bold">Publications</div><div class="uk-margin-top number">{{publicationTotal|number}}</div>
214
                <div class="tab-header">Publications</div><div class="number">{{publicationTotal|number}}</div>
266 215
              </a>
267 216
            </li>
268 217
            <li *ngIf="researchDataTotal && researchDataTotal > 0 && isEntityEnabled('dataset')"
269 218
                class="uk-padding-remove" (click)="show='overview'; searchResearchResults('dataset', researchDataTotal, researchDataResults)">
270 219
              <a class="uk-width-1-1 uk-height-1-1">
271
                <div class="uk-text-bold">Research Data</div><div class="uk-margin-top number">{{researchDataTotal|number}}</div>
220
                <div class="tab-header">Research Data</div><div class="number">{{researchDataTotal|number}}</div>
272 221
              </a>
273 222
            </li>
274 223
            <li *ngIf="softwareTotal && softwareTotal > 0 && isEntityEnabled('software')"
275 224
                class="uk-padding-remove" (click)="show='overview'; searchResearchResults('software', softwareTotal, softwareResults)">
276 225
              <a class="uk-width-1-1 uk-height-1-1">
277
                <div class="uk-text-bold">Software</div><div class="uk-margin-top number">{{softwareTotal|number}}</div>
226
                <div class="tab-header">Software</div><div class="number">{{softwareTotal|number}}</div>
278 227
              </a>
279 228
            </li>
280 229
            <li *ngIf="orpTotal && orpTotal > 0 && isEntityEnabled('orp')"
281 230
                class="uk-padding-remove" (click)="show='overview'; searchResearchResults('other', orpTotal, orpResults)">
282 231
              <a class="uk-width-1-1 uk-height-1-1">
283
                <div class="uk-text-bold">Other Research</div><div class="uk-margin-top number">{{orpTotal|number}}</div></a>
232
                <div class="tab-header">Other Research</div><div class="number">{{orpTotal|number}}</div></a>
284 233
            </li>
285 234
            <li *ngIf="statistics && statistics.statisticsDisplay && statistics.statisticsDisplay.isActive"
286 235
                class="uk-padding-remove statistics" (click)="show='analysis'; activeTab='analytics'">
287 236
              <a class="uk-width-1-1 uk-height-1-1">
288
                <div class="uk-text-bold">Analytics</div>
289
                <div class="uk-margin-top number">
237
                <div class="tab-header">Analytics</div>
238
                <div class="number">
290 239
                  <svg xmlns="http://www.w3.org/2000/svg" height="24" viewBox="0 0 24 24" width="24">
291 240
                    <path d="M0 0h24v24H0z" fill="none"></path>
292 241
                    <path d="M10 20h4V4h-4v16zm-6 0h4v-8H4v8zM16 9v11h4V9h-4z"></path>
......
300 249
            <li>
301 250
              <div *ngIf="community" class="uk-grid uk-margin-remove">
302 251
                <div class="uk-width-expand uk-padding uk-inline">
303
                  <div>
252
                  <div *ngIf="isRouteEnabled('/curators')" [class]="community.managers ? 'uk-margin-small-bottom' : ''">
253
                    <curators [longView]="false" [managers]="community.managers" [communityId]="communityId"></curators>
254
                  </div>
255
                  <div [class]="community.date || subscribers ? 'uk-margin-small-bottom' : ''">
304 256
                    <span *ngIf="community.date" class="uk-margin-right">
305 257
                      <span class="lowOpacityColor uk-text-muted">Created: </span> {{community.date | date:'dd-MMM-yyyy'}}
306 258
                    </span>
307 259
                    <span>
308
                      <subscribe *ngIf="communityId" [communityId]="communityId" showNumbers=true class=""></subscribe>
260
                      <subscribe *ngIf="communityId" [communityId]="communityId" showNumbers=true (countSubscribersEvent)="countSubscribersEvent($event)"></subscribe>
309 261
                    </span>
310 262
                  </div>
263
                  <div [class]="((projectTotal && projectTotal > 0 && isEntityEnabled('project') && isRouteEnabled(searchLinkToProjects)) ||
264
                                (contentProviderTotal  && contentProviderTotal > 0 && isEntityEnabled('datasource') && isRouteEnabled(searchLinkToDataProviders)))
265
                                ? 'uk-margin-small-bottom' : ''">
266
                    <span *ngIf="projectTotal  && projectTotal > 0 && isEntityEnabled('project') && isRouteEnabled(searchLinkToProjects)">
267
                      <span class="uk-text-muted">Projects: </span>
268
                      <a class="uk-margin-auto-vertical uk-margin-auto portal-link" [queryParams]=params
269
                         routerLinkActive="router-link-active" [routerLink]="searchLinkToProjects">
270
                        {{projectTotal|number}}
271
                      </a>
272
                    </span>
273
                    <span *ngIf="contentProviderTotal  && contentProviderTotal > 0 && isEntityEnabled('datasource') && isRouteEnabled(searchLinkToDataProviders)"
274
                          [class]="'uk-display-inline-block '+((projectTotal  && projectTotal > 0 && isEntityEnabled('project') && isRouteEnabled(searchLinkToProjects)) ? 'uk-margin-left' : '')">
275
                      <span class="uk-text-muted">Content Providers: </span>
276
                      <a class="uk-margin-auto-vertical uk-margin-auto portal-link" [queryParams]=params
277
                         routerLinkActive="router-link-active" [routerLink]="searchLinkToDataProviders">
278
                        {{contentProviderTotal|number}}
279
                      </a>
280
                    </span>
281
                    <span *ngIf="projectsCalculated && contentProvidersCalculated &&
282
                          ((projectTotal  && projectTotal > 0 && isEntityEnabled('project') && isRouteEnabled(searchLinkToProjects))
283
                          || (contentProviderTotal  && contentProviderTotal > 0 && isEntityEnabled('datasource') && isRouteEnabled(searchLinkToDataProviders)))"
284
                          class="uk-icon uk-text-muted uk-margin-small-left"
285
                          title="{{buildProjectsAndContentProvidesTooltip()}}"
286
                          uk-tooltip="pos:bottom-right; delay:10; cls: community-page-tooltip uk-width-medium">
287
                      <svg width="15" height="15" viewBox="0 0 20 20" xmlns="http://www.w3.org/2000/svg" icon="question" ratio="1">
288
                        <circle fill="none" stroke="#000" stroke-width="1.1" cx="10" cy="10" r="9"></circle>
289
                        <circle cx="10.44" cy="14.42" r="1.05"></circle>
290
                        <path fill="none" stroke="#000" stroke-width="1.2" d="M8.17,7.79 C8.17,4.75 12.72,4.73 12.72,7.72 C12.72,8.67 11.81,9.15 11.23,9.75 C10.75,10.24 10.51,10.73 10.45,11.4 C10.44,11.53 10.43,11.64 10.43,11.75"></path>
291
                      </svg>
292
                    </span>
293
                  </div>
294
                  <div *ngIf="(zenodoCommunityIdS.length + ((masterZenodoCommunity) ? 1 : 0) > 0) && isRouteEnabled(shareInZenodoPage)" class="">
295
                    <span class="lowOpacityColor uk-text-muted">Linked to </span>
296
                    <a class="portal-link" [queryParams]=params routerLinkActive="router-link-active" [routerLink]="shareInZenodoPage">
297
                      <span>{{zenodoCommunityIdS.length + ((masterZenodoCommunity) ? 1 : 0)}}</span>
298
                    </a>
299
                    <span class="lowOpacityColor uk-text-muted"> Zenodo Communities</span>
300
                    <span class="uk-icon uk-text-muted uk-margin-small-left"
301
                          title="{{buildZenodoCommunitiesTooltip()}}"
302
                          uk-tooltip="pos:bottom-right; delay:10; cls: community-page-tooltip uk-width-medium">
303
                      <svg width="15" height="15" viewBox="0 0 20 20" xmlns="http://www.w3.org/2000/svg" icon="question" ratio="1">
304
                        <circle fill="none" stroke="#000" stroke-width="1.1" cx="10" cy="10" r="9"></circle>
305
                        <circle cx="10.44" cy="14.42" r="1.05"></circle>
306
                        <path fill="none" stroke="#000" stroke-width="1.2" d="M8.17,7.79 C8.17,4.75 12.72,4.73 12.72,7.72 C12.72,8.67 11.81,9.15 11.23,9.75 C10.75,10.24 10.51,10.73 10.45,11.4 C10.44,11.53 10.43,11.64 10.43,11.75"></path>
307
                      </svg>
308
                    </span>
309
                  </div>
310

  
311 311
                  <div *ngIf="community.description"
312 312
                       [class]="'uk-margin-bottom '+ ((subscribeComponent && subscribeComponent.subscribers > 0) || community.date ? 'uk-margin-top' : '')">
313 313
                    <div class="uk-text-muted">Description</div>
314 314
                    <div *ngIf="!showAllDescription" class="">
315
                      {{community.description.substring(0, 500)}}{{community.description.length > 500 ? '...' : ''}}</div>
315
                      {{community.description.substring(0, thresholdDescription)}}{{community.description.length > thresholdDescription ? '...' : ''}}</div>
316 316
                    <div *ngIf="showAllDescription" class="uk-overflow-auto">
317 317
                      <div class="uk-height-max-medium">{{community.description}}</div>
318 318
                    </div>
319
                    <div *ngIf="!showAllDescription && community.description.length > 500 "
319
                    <div *ngIf="!showAllDescription && community.description.length > thresholdDescription "
320 320
                         class="uk-animation-fade uk-margin-small-top uk-padding uk-padding-remove-top uk-position-bottom-right">
321 321
                      <a (click)="showAllDescription = !showAllDescription;">Read more
322 322
                      </a>
......
333 333
                     class="uk-width-1-3 uk-padding right-column uk-inline">
334 334
                  <div class="uk-margin-bottom">
335 335
                    <div class="uk-text-muted">Subjects</div>
336
                    <span *ngFor="let subject of community.subjects.slice(0,12) let i=index">
336
                    <span *ngFor="let subject of community.subjects.slice(0,20) let i=index">
337 337
                      <span *ngIf="subject != ''">
338 338
                        <a class="portal-link"
339 339
                           [queryParams]="{f0:'resultsubject',fv0:createParams(subject)}"
340 340
                           routerLinkActive="router-link-active" [routerLink]="searchLinkToAdvancedResults" >
341 341
                          <span>{{subject}}</span>
342 342
                        </a>
343
                        <span *ngIf="i < community.subjects.length-1 && i != 11">, </span>
343
                        <span *ngIf="i < community.subjects.length-1 && i != 19">, </span>
344 344
                      </span>
345 345
                    </span>
346 346
                    <div class="uk-margin-top uk-animation-fade uk-padding uk-padding-remove-top uk-position-bottom-right">
modules/uoa-connect-portal/trunk/src/app/community/community.component.ts
64 64
  zenodoCommunityIdS = [];
65 65
  showAllSubjects = false;
66 66
  showAllDescription = false;
67
  public thresholdDescription: number = 550;
68

  
69
  subscribers: number = 0;
70

  
67 71
  // TODO Unsubscribe
68 72
  public subPublications;
69 73
  public subResearchData;
......
398 402
    tooltipContent += "</div>";
399 403
    return tooltipContent;
400 404
  }
405

  
406
  public countSubscribersEvent($event){
407
    this.subscribers = $event.value;
408
  }
401 409
}
modules/uoa-connect-portal/trunk/src/app/searchEntries/results/results.component.ts
10 10
    <div *ngIf="!results && total != 0">
11 11
        <div *ngIf="showLoading" class="uk-animation-fade uk-width-1-1" role="alert"><span class="loading-gif uk-align-center"></span></div>
12 12
    </div>
13
    <div *ngIf="results != null && results.length > 0">
14
      <div class="uk-text-right">
15
        <div>
16
          <a class="el-content uk-button uk-button-text" [queryParams]="{type:getresultTypeLink(resultType, true), qf:false}" routerLinkActive="router-link-active" [routerLink]="properties.searchLinkToResults">
17
            View all {{getEntityName(resultType, true, true)}}
18
          </a>
19
        </div>
20
      </div>
21
    </div>
13 22
    <div *ngIf="results != null && results.length > 0 && !showLoading">
14 23
      <!--<div class="uk-margin-remove-vertical uk-grid-match uk-child-width-1-1 uk-child-width-1-1@m uk-child-width-1-1@l uk-child-width-1-1@xl uk-grid-small uk-grid uk-grid-stack" uk-grid="">
15 24
        <li *ngFor="let item of results; let i = index">
......
46 55
     <div *ngIf="results != null && results.length > 0">
47 56
       <div class="uk-text-right">
48 57
         <div>
49
           <a class="el-content uk-link portal-link uk-text-capitalize" [queryParams]="{type:getresultTypeLink(resultType, true), qf:false}" routerLinkActive="router-link-active" [routerLink]="properties.searchLinkToResults">
50
             View all {{getEntityName(resultType, true, true)}} >
58
           <a class="el-content uk-button uk-button-text" [queryParams]="{type:getresultTypeLink(resultType, true), qf:false}" routerLinkActive="router-link-active" [routerLink]="properties.searchLinkToResults">
59
             View all {{getEntityName(resultType, true, true)}}
51 60
           </a>
52 61
         </div>
53 62
       </div>
modules/uoa-connect-portal/trunk/src/app/utils/subscribe/subscribe.component.ts
68 68
  subscribed: boolean = null;
69 69
  @Input() properties: EnvProperties;
70 70
  subscribers: number = null;
71
  @Output() countSubscribersEvent = new EventEmitter();
71 72
  showLoginAlert: Boolean = false;
72 73
  @ViewChild(AlertModal) alert;
73 74
  private user: User;
......
145 146
        this._subscribeService.getNumberOfCommunitySubscribers(this.properties, this.communityId).subscribe(
146 147
          res => {
147 148
            this.subscribers = (res && res.value) ? res.value : 0;//(res && res.subscribers && res.subscribers.length) ? res.subscribers.length : 0;
149
            this.countSubscribersEvent.emit({
150
              value: this.subscribers
151
            });
148 152
          },
149 153
          error => {
150 154
            this.handleError("Error getting community subscribers for community with id: " + this.communityId, error);
modules/uoa-connect-portal/trunk/src/app/curators/curators.component.html
94 94
        <!--             src="../../assets/common-assets/curator-default.png" alt="Curator Photo">-->
95 95
        <!--      </span>-->
96 96

  
97
        <a>
97
        <a class="uk-inline-block">
98 98
          <span class="user-circle-background">
99 99
            <svg height="24" viewBox="0 0 24 24" width="24" xmlns="http://www.w3.org/2000/svg">
100 100
              <path

Also available in: Unified diff