[Monitor Dashboard | Trunk]: Fix bug if stakeholder is empty.
git-svn-id: https://svn.driver.research-infrastructures.eu/driver/dnet40/modules/uoa-monitor-portal/trunk/monitor_dashboard@59768 d315682c-612b-4755-9ff5-7f18f6832af3
This commit is contained in:
parent
6302cce3e9
commit
8e491aca9d
|
@ -49,7 +49,8 @@
|
|||
[class.disable-sortable]="!canReorder"
|
||||
[class.uk-sortable-nodrag]="!canReorder">
|
||||
<div class="uk-card uk-card-default uk-card-body uk-position-relative" [class.uk-card-hover]="canReorder">
|
||||
<ng-container *ngTemplateOutlet="visibilityOptions; context:{indicator: indicator, sectionId: number._id}"></ng-container>
|
||||
<ng-container
|
||||
*ngTemplateOutlet="visibilityOptions; context:{indicator: indicator, sectionId: number._id}"></ng-container>
|
||||
<div class="uk-position-top-right uk-margin-small-right uk-margin-small-top clickable">
|
||||
<i uk-icon="more-vertical" (click)="$event.stopPropagation();$event.preventDefault()"></i>
|
||||
<div #element uk-dropdown="mode: click; pos: bottom-right; delay-hide: 0; flip: false">
|
||||
|
@ -89,7 +90,8 @@
|
|||
</div>
|
||||
</ng-template>
|
||||
<div *ngIf="isAdministrator" class="disable-sortable uk-sortable-nodrag uk-width-1-1">
|
||||
<div class="uk-width-1-3@l uk-width-1-2@m uk-width-1-1 uk-card uk-card-default uk-card-body clickable" (click)="editNumberIndicatorOpen(number)">
|
||||
<div class="uk-width-1-3@l uk-width-1-2@m uk-width-1-1 uk-card uk-card-default uk-card-body clickable"
|
||||
(click)="editNumberIndicatorOpen(number)">
|
||||
<div>
|
||||
<h5 class="uk-text-bold">
|
||||
Create a new number Indicator
|
||||
|
@ -156,7 +158,8 @@
|
|||
[class.disable-sortable]="!canReorder"
|
||||
[class.uk-sortable-nodrag]="!canReorder">
|
||||
<div class="uk-card uk-card-default uk-card-body uk-position-relative" [class.uk-card-hover]="canReorder">
|
||||
<ng-container *ngTemplateOutlet="visibilityOptions; context:{indicator: indicator, sectionId: chart._id}"></ng-container>
|
||||
<ng-container
|
||||
*ngTemplateOutlet="visibilityOptions; context:{indicator: indicator, sectionId: chart._id}"></ng-container>
|
||||
<div class="uk-position-top-right uk-margin-small-right uk-margin-small-top clickable">
|
||||
<i uk-icon="more-vertical" (click)="$event.stopPropagation();$event.preventDefault()"></i>
|
||||
<div #element uk-dropdown="mode: click; pos: bottom-right; delay-hide: 0; flip: false">
|
||||
|
@ -204,7 +207,8 @@
|
|||
</div>
|
||||
</ng-template>
|
||||
<div class="disable-sortable uk-sortable-nodrag uk-width-1-1">
|
||||
<div class="uk-width-1-3@l uk-width-1-2@m uk-width-1-1 uk-card uk-card-default uk-card-body clickable" (click)="editChartIndicatorOpen(chart)">
|
||||
<div class="uk-width-1-3@l uk-width-1-2@m uk-width-1-1 uk-card uk-card-default uk-card-body clickable"
|
||||
(click)="editChartIndicatorOpen(chart)">
|
||||
<div>
|
||||
<h5 class="uk-text-bold">
|
||||
Create a custom indicator
|
||||
|
@ -231,11 +235,12 @@
|
|||
[okDisabled]="numberIndicatorFb && (numberIndicatorFb.invalid || numberIndicatorFb.pristine)">
|
||||
<div *ngIf="numberIndicatorFb" class="uk-padding-small" [formGroup]="numberIndicatorFb">
|
||||
<div class="uk-grid" uk-grid>
|
||||
<div dashboard-input class="uk-form-row uk-width-1-1" [formInput]="numberIndicatorFb.get('name')" label="Title"></div>
|
||||
<div *ngIf="isAdministrator" dashboard-input class="uk-form-row" [formInput]="numberIndicatorFb.get('description')"
|
||||
<div dashboard-input class="uk-width-1-1" [formInput]="numberIndicatorFb.get('name')" label="Title"></div>
|
||||
<div *ngIf="isAdministrator" dashboard-input class="uk-width-1-1"
|
||||
[formInput]="numberIndicatorFb.get('description')"
|
||||
label="Description" type="textarea">
|
||||
</div>
|
||||
<div dashboard-input class="uk-form-row uk-width-1-1" [formInput]="numberIndicatorFb.get('additionalDescription')"
|
||||
<div dashboard-input class="uk-width-1-1" [formInput]="numberIndicatorFb.get('additionalDescription')"
|
||||
label="Additional information" type="textarea">
|
||||
</div>
|
||||
|
||||
|
@ -246,43 +251,54 @@
|
|||
type="select" [options]="indicatorUtils.indicatorSizes"
|
||||
label="Number Size">
|
||||
</div>
|
||||
<h5 class="uk-text-bold uk-margin-top uk-margin-bottom uk-width-1-1">
|
||||
Number Settings
|
||||
</h5>
|
||||
<div *ngIf="numberIndicatorPaths" formArrayName="indicatorPaths">
|
||||
<div *ngFor="let indicatorPath of numberIndicatorPaths.controls; let i=index"
|
||||
[formGroup]="indicatorPath">
|
||||
<div class="uk-grid-medium uk-form-row uk-flex uk-flex-middle" uk-grid>
|
||||
<div class="uk-width-2-3@s">
|
||||
<div dashboard-input [formInput]="indicatorPath.get('url')" type="textarea" rows="3"
|
||||
label="Number path url"></div>
|
||||
<div class="uk-grid" uk-grid>
|
||||
<div class="uk-width-1-1">
|
||||
<div class="uk-grid" uk-grid>
|
||||
<div class="uk-width-1-1">
|
||||
<div dashboard-input [formInput]="indicatorPath.get('url')" label="Number URL"></div>
|
||||
</div>
|
||||
<div *ngIf="urlParameterizedMessage.length > 0" class="uk-alert-warning uk-alert">
|
||||
<div *ngIf="urlParameterizedMessage.length > 0" class="uk-alert-warning uk-alert uk-width-1-1">
|
||||
{{urlParameterizedMessage}}
|
||||
</div>
|
||||
<div class="uk-width-1-3@s">
|
||||
<div class="uk-width-1-1">
|
||||
<div dashboard-input [formInput]="indicatorPath.get('source')" label="Source"
|
||||
type="select" [options]="indicatorUtils.sourceTypes">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div formArrayName="jsonPath">
|
||||
<div class="uk-margin-top uk-margin-bottom uk-text-large">
|
||||
</div>
|
||||
<div formArrayName="jsonPath" class="uk-width-1-1">
|
||||
<h6 class="uk-text-bold">
|
||||
JSON Path
|
||||
</div>
|
||||
<div class="uk-grid uk-grid-medium" uk-grid>
|
||||
</h6>
|
||||
<div class="uk-grid uk-child-width-1-3@m uk-child-width-1-1" uk-grid>
|
||||
<div *ngFor="let jsonPath of getJsonPath(i).controls; let j=index" class="uk-flex uk-flex-middle">
|
||||
<div dashboard-input class="uk-width-small"
|
||||
<div dashboard-input class="uk-width-1-1"
|
||||
[extraLeft]="false"
|
||||
[formInput]="jsonPath"
|
||||
[label]="'Level ' + +(j + 1)"></div>
|
||||
<i *ngIf="getJsonPath(i).length !== 1"
|
||||
class=" uk-margin-small-left uk-text-danger clickable" uk-icon="close"
|
||||
(click)="removeJsonPath(i, j)"></i>
|
||||
<div *ngIf="j < (getJsonPath(i).length - 1)" class="uk-text-center uk-margin-left">
|
||||
<i class="material-icons" uk-icon="icon:arrow-right; ratio:1.3"></i>
|
||||
[label]="'Level ' + +(j + 1)">
|
||||
<div class="uk-flex uk-flex-middle">
|
||||
<span *ngIf="getJsonPath(i).length !== 1"
|
||||
class=" uk-margin-small-left uk-text-danger clickable"
|
||||
(click)="removeJsonPath(i, j)">
|
||||
<icon name="close"></icon>
|
||||
</span>
|
||||
<span class="uk-text-center uk-margin-left">
|
||||
<icon name="arrow_right"></icon>
|
||||
</span>
|
||||
</div>
|
||||
<div *ngIf="j === (getJsonPath(i).length - 1)" class="uk-margin-left">
|
||||
<button class="uk-button uk-button-primary" (click)="addJsonPath(i)">Add level</button>
|
||||
</div>
|
||||
</div>
|
||||
<div>
|
||||
<button
|
||||
class="uk-button uk-button-secondary uk-button-small uk-flex uk-flex-middle uk-margin-medium-top"
|
||||
(click)="addJsonPath(i)">
|
||||
<icon name="add" [flex]="true"></icon>
|
||||
<span class="space">Add level</span>
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
@ -319,11 +335,12 @@
|
|||
<div dashboard-input class="uk-width-1-1"
|
||||
[title]="indicatorPath.get('url').disabled?'Default chart URLs cannot change':''"
|
||||
[formInput]="indicatorPath.get('url')"
|
||||
label="Chart Url"></div>
|
||||
label="Chart URL"></div>
|
||||
<div *ngIf="urlParameterizedMessage.length > 0" class="uk-alert-warning uk-alert uk-width-1-1">
|
||||
{{urlParameterizedMessage}}
|
||||
</div>
|
||||
<div formArrayName="parameters" class="uk-grid uk-width-1-1" uk-grid>
|
||||
<div class="uk-width-1-1" formArrayName="parameters">
|
||||
<div class="uk-grid" uk-grid>
|
||||
<div *ngIf="getParameter(i, 'title')" class="uk-width-1-1">
|
||||
<div dashboard-input
|
||||
[formInput]="getParameter(i, 'title').get('value')"
|
||||
|
@ -370,6 +387,7 @@
|
|||
label="Year (To)"></div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div *ngIf="indicator && indicator.indicatorPaths[i] && indicator.indicatorPaths[i].safeResourceUrl"
|
||||
class="uk-margin-medium-top uk-position-relative uk-width-1-1 uk-flex uk-flex-center">
|
||||
<div *ngIf="(hasDifference(i)) && !indicatorPath.invalid"
|
||||
|
|
|
@ -389,6 +389,7 @@ export class IndicatorsComponent implements OnInit, OnDestroy, OnChanges, AfterV
|
|||
|
||||
public removeJsonPath(i: number, j:number) {
|
||||
this.getJsonPath(i).removeAt(j);
|
||||
this.getJsonPath(i).markAsDirty();
|
||||
}
|
||||
|
||||
public getJsonPath(index: number): FormArray {
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
<aside id="sidebar_main">
|
||||
<div id="sidebar_content">
|
||||
<div *ngIf="stakeholder && stakeholder.topics[topicIndex]" class="menu_section uk-margin-top">
|
||||
<div class="menu_section uk-margin-top">
|
||||
<div class="uk-text-center">
|
||||
<a [routerLink]="'/admin/' + stakeholder.alias"
|
||||
class="uk-link-heading uk-text-uppercase uk-flex uk-flex-middle uk-flex-center">
|
||||
|
@ -66,7 +66,7 @@
|
|||
<!--<a class="portal-icon-button uk-icon-button icon-button-small uk-margin-right" uk-tooltip="Help">
|
||||
<i uk-icon="icon:question;ratio:0.7" class="uk-icon"></i>
|
||||
</a>-->
|
||||
<a class="portal-icon-button uk-icon-button icon-button-small" uk-tooltip="Preview">
|
||||
<a class="portal-icon-button uk-icon-button small" uk-tooltip="Preview">
|
||||
<icon name="preview" [ratio]="0.7"></icon>
|
||||
</a>
|
||||
<div #element uk-dropdown="mode: click; pos: top-left; offset: 5; delay-hide: 0; flip: false"
|
||||
|
@ -100,7 +100,7 @@
|
|||
<div *ngIf="stakeholder && filters" page-content>
|
||||
<div header>
|
||||
<nav>
|
||||
<div *ngIf="stakeholder && stakeholder.topics[topicIndex]">
|
||||
<div *ngIf="stakeholder.topics.length > 0 && stakeholder.topics[topicIndex]">
|
||||
<ul *ngIf="stakeholder.topics[topicIndex]"
|
||||
class="customTabs uk-tab ignore admin uk-flex uk-flex-middle" visibility="true">
|
||||
<ng-template ngFor [ngForOf]="stakeholder.topics[topicIndex].categories" let-category let-i="index">
|
||||
|
@ -144,7 +144,7 @@
|
|||
</ul>
|
||||
</div>
|
||||
</nav>
|
||||
<ul *ngIf=" stakeholder.topics[topicIndex].categories[categoryIndex]"
|
||||
<ul *ngIf="stakeholder.topics.length > 0 && stakeholder.topics[topicIndex].categories.length > 0 && stakeholder.topics[topicIndex].categories[categoryIndex]"
|
||||
visibility="true" class="uk-subnav uk-subnav-pill subCategoriesTabs ignore admin uk-flex uk-flex-middle">
|
||||
<ng-template ngFor [ngForOf]="stakeholder.topics[topicIndex].categories[categoryIndex].subCategories"
|
||||
let-subCategory let-i="index">
|
||||
|
|
|
@ -104,7 +104,7 @@ export class TopicComponent implements OnInit, OnDestroy, IDeactivateComponent {
|
|||
if (this.topicIndex === -1) {
|
||||
this.navigateToError();
|
||||
} else {
|
||||
this.title.setTitle(stakeholder.name + ' | ' + this.stakeholder.topics[this.topicIndex].name);
|
||||
this.title.setTitle(stakeholder.name);
|
||||
this.toggle = true;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -15,7 +15,17 @@ import {InputModule} from "../openaireLibrary/dashboard/sharedComponents/input/i
|
|||
import {ClickModule} from "../openaireLibrary/utils/click/click.module";
|
||||
import {AdminDashboardGuard} from "../utils/adminDashboard.guard";
|
||||
import {IconsService} from "../openaireLibrary/utils/icons/icons.service";
|
||||
import {preview, bullet, add, earth, lock, group, refresh, close} from "../openaireLibrary/utils/icons/icons";
|
||||
import {
|
||||
preview,
|
||||
bullet,
|
||||
add,
|
||||
earth,
|
||||
lock,
|
||||
group,
|
||||
refresh,
|
||||
close,
|
||||
arrow_right
|
||||
} from "../openaireLibrary/utils/icons/icons";
|
||||
import {IconsModule} from "../openaireLibrary/utils/icons/icons.module";
|
||||
import {PageContentModule} from "../openaireLibrary/dashboard/sharedComponents/page-content/page-content.module";
|
||||
|
||||
|
@ -37,6 +47,6 @@ import {PageContentModule} from "../openaireLibrary/dashboard/sharedComponents/p
|
|||
})
|
||||
export class TopicModule {
|
||||
constructor(private iconsService: IconsService) {
|
||||
this.iconsService.registerIcons([preview, bullet, add, earth, lock, group, refresh, close]);
|
||||
this.iconsService.registerIcons([preview, bullet, add, earth, lock, group, refresh, close, arrow_right]);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -49,8 +49,8 @@ export let properties: EnvProperties = {
|
|||
loginUrl: "https://beta.services.openaire.eu/monitor-dashboard-login/openid_connect_login",
|
||||
registryUrl: 'https://beta.services.openaire.eu/uoa-user-management/api/registry/',
|
||||
userInfoUrl : "https://beta.services.openaire.eu/uoa-user-management/api/users/getUserInfo?accessToken=",
|
||||
logoutUrl: "https://beta.services.openaire.eu/monitor-dashboard-login/openid_connect_logout",
|
||||
|
||||
/*logoutUrl: "https://beta.services.openaire.eu/monitor-dashboard-login/openid_connect_logout",*/
|
||||
logoutUrl: "https://aai.openaire.eu/proxy/saml2/idp/SingleLogoutService.php?ReturnTo=",
|
||||
cookieDomain: ".openaire.eu",
|
||||
|
||||
feedbackmail: "feedback@openaire.eu",
|
||||
|
|
|
@ -49,8 +49,8 @@ export let properties: EnvProperties = {
|
|||
loginUrl: "https://services.openaire.eu/monitor-dashboard-login/openid_connect_login",
|
||||
registryUrl: 'https://services.openaire.eu/uoa-user-management/api/registry/',
|
||||
userInfoUrl: " https://services.openaire.eu/uoa-user-management/api/users/getUserInfo?accessToken=",
|
||||
logoutUrl: "https://services.openaire.eu/monitor-dashboard-login/openid_connect_logout",
|
||||
|
||||
/*logoutUrl: "https://services.openaire.eu/monitor-dashboard-login/openid_connect_logout",*/
|
||||
logoutUrl: "https://aai.openaire.eu/proxy/saml2/idp/SingleLogoutService.php?ReturnTo=",
|
||||
cookieDomain: ".openaire.eu",
|
||||
|
||||
feedbackmail: "feedback@openaire.eu",
|
||||
|
|
|
@ -50,13 +50,11 @@ export let properties: EnvProperties = {
|
|||
vocabulariesAPI: "https://dev-openaire.d4science.org/provision/mvc/vocabularies/",
|
||||
piwikBaseUrl: "https://analytics.openaire.eu/piwik.php?idsite=",
|
||||
piwikSiteId: "80",
|
||||
registryUrl: 'http://mpagasas.di.uoa.gr:8080/dnet-openaire-users-1.0.0-SNAPSHOT/api/registry/',
|
||||
loginUrl: "http://mpagasas.di.uoa.gr:8180/dnet-login/openid_connect_login",
|
||||
userInfoUrl: "http://mpagasas.di.uoa.gr:8080/dnet-openaire-users-1.0.0-SNAPSHOT/api/users/getUserInfo?accessToken=",
|
||||
logoutUrl: 'http://mpagasas.di.uoa.gr:8180/dnet-login/openid_logout',
|
||||
/*loginUrl: "http://dl170.madgik.di.uoa.gr:8180/dnet-login/openid_connect_login",
|
||||
registryUrl: "http://dl170.madgik.di.uoa.gr:8180/dnet-openaire-users-1.0.0-SNAPSHOT/api/registry/",
|
||||
loginUrl: "http://dl170.madgik.di.uoa.gr:8180/dnet-login/openid_connect_login",
|
||||
userInfoUrl: "http://dl170.madgik.di.uoa.gr:8180/dnet-openaire-users-1.0.0-SNAPSHOT/api/users/getUserInfo?accessToken=",
|
||||
logoutUrl: "https://aai.openaire.eu/proxy/saml2/idp/SingleLogoutService.php?ReturnTo=",*/
|
||||
/*logoutUrl: "http://dl170.madgik.di.uoa.gr:8180/dnet-login/openid_logout",*/
|
||||
logoutUrl: "https://aai.openaire.eu/proxy/saml2/idp/SingleLogoutService.php?ReturnTo=",
|
||||
cookieDomain: ".di.uoa.gr",
|
||||
feedbackmail: "openaire.test@gmail.com",
|
||||
cacheUrl: "http://scoobydoo.di.uoa.gr:3000/get?url=",
|
||||
|
|
Loading…
Reference in New Issue