-
-
@@ -641,13 +603,3 @@
Are you sure you want to proceed?
-
-
-
-
-
-
-
diff --git a/monitor-admin/topic/indicators.component.ts b/monitor-admin/topic/indicators.component.ts
index 5f2eab4e..97c148c3 100644
--- a/monitor-admin/topic/indicators.component.ts
+++ b/monitor-admin/topic/indicators.component.ts
@@ -10,8 +10,8 @@ import {
ViewChild
} from "@angular/core";
import {
- Format,
- Indicator,
+ Format, ImportIndicators,
+ Indicator, IndicatorImport,
IndicatorPath,
IndicatorSize,
IndicatorType,
@@ -79,7 +79,6 @@ export class IndicatorsComponent extends IndicatorStakeholderBaseComponent imple
* Editable indicator
*/
public section: Section;
- public indicator: Indicator;
public index: number = -1;
public editing: boolean = false;
public dragging: boolean = false;
@@ -102,7 +101,6 @@ export class IndicatorsComponent extends IndicatorStakeholderBaseComponent imple
@ViewChild('editChartNotify', {static: true}) editChartNotify: NotifyFormComponent;
@ViewChild('deleteNotify', {static: true}) deleteNotify: NotifyFormComponent;
/* Transition Groups */
- @ViewChild('numbersTransition') numbersTransition: TransitionGroupComponent;
@ViewChild('chartsTransition') chartsTransition: TransitionGroupComponent;
public isFullscreen: boolean = false;
@@ -581,26 +579,14 @@ export class IndicatorsComponent extends IndicatorStakeholderBaseComponent imple
}
}
- public removeNumberIndicatorPath(index: number) {
- this.numberIndicatorPaths.removeAt(index);
- this.indicator.indicatorPaths.splice(index, 1);
- this.numbersTransition.init();
- if (this.indicator.activePath === index) {
- this.activeNumberIndicatorPath(Math.max(0, index - 1));
- } else if (this.indicator.activePath > index) {
- this.activeNumberIndicatorPath(this.indicator.activePath - 1);
- }
- this.numberIndicatorFb.markAsDirty();
- }
-
public removeChartIndicatorPath(index: number) {
this.chartIndicatorPaths.removeAt(index);
this.indicator.indicatorPaths.splice(index, 1);
this.chartsTransition.init();
if (this.indicator.activePath === index) {
- this.activeChartIndicatorPath(Math.max(0, index - 1));
+ this.setActiveChartIndicatorPath(Math.max(0, index - 1));
} else if (this.indicator.activePath > index) {
- this.activeChartIndicatorPath(this.indicator.activePath - 1);
+ this.setActiveChartIndicatorPath(this.indicator.activePath - 1);
}
this.chartIndicatorFb.markAsDirty();
}
@@ -609,9 +595,7 @@ export class IndicatorsComponent extends IndicatorStakeholderBaseComponent imple
type: 'number' | 'chart', index: number,
newIndex: number = index - 1) {
let indicatorPaths = type == 'number'?this.numberIndicatorPaths:this.chartIndicatorPaths;
- if(type == 'number') {
- this.numbersTransition.init();
- } else {
+ if(type == 'chart') {
this.chartsTransition.init();
}
let a = indicatorPaths.at(index);
@@ -627,16 +611,7 @@ export class IndicatorsComponent extends IndicatorStakeholderBaseComponent imple
form.markAsDirty();
}
- public activeNumberIndicatorPath(index: number) {
- let paths = this.numberIndicatorPaths;
- if (index == paths.length) {
- this.addNumberIndicatorPath();
- this.numbersTransition.init();
- }
- this.indicator.activePath = index;
- }
-
- public activeChartIndicatorPath(index: number) {
+ public setActiveChartIndicatorPath(index: number) {
let paths = this.chartIndicatorPaths;
if (index == paths.length) {
this.addChartIndicatorPath();
@@ -1008,8 +983,10 @@ export class IndicatorsComponent extends IndicatorStakeholderBaseComponent imple
this.getSecureUrlByStakeHolder(this.indicator.indicatorPaths[index]).toString();
} else if (type === 'number') {
let indicatorPath = this.numberIndicatorPaths.at(index).value;
- indicatorPath.parameters.forEach(parameter => {
- if (parameter.value !== this.indicator.indicatorPaths[index].parameters[parameter.key]) {
+ indicatorPath.parameters.forEach((parameter: { value: any; key: string | number; }) => {
+ if (!parameter.value && !this.indicator.indicatorPaths[index].parameters[parameter.key]) {
+ return;
+ } else if (parameter.value !== this.indicator.indicatorPaths[index].parameters[parameter.key]) {
hasDifference = true;
return;
}
@@ -1027,6 +1004,7 @@ export class IndicatorsComponent extends IndicatorStakeholderBaseComponent imple
}
refreshIndicator(type: IndicatorType = 'chart') {
+ let activePath = this.indicator.activePath;
if (type === 'chart') {
this.indicator = this.indicatorUtils.generateIndicatorByForm(this.chartIndicatorFb.value, this.indicator.indicatorPaths, 'chart');
this.indicator.indicatorPaths.forEach(indicatorPath => {
@@ -1038,6 +1016,7 @@ export class IndicatorsComponent extends IndicatorStakeholderBaseComponent imple
this.validateJsonPath(index);
});
}
+ this.indicator.activePath = activePath;
}
deleteIndicatorOpen(section: Section, indicatorId: string, type: string, childrenAction: string = null) {
@@ -1276,10 +1255,10 @@ export class IndicatorsComponent extends IndicatorStakeholderBaseComponent imple
}));
}
- importIndicatorsAndSave(stakeholder: Stakeholder, charts: any[]) {
+ importIndicatorsAndSave(importIndicators: ImportIndicators) {
let sectionsToSave: Section[] = [];
let countIndicators = 0;
- if (stakeholder.type !== this.stakeholder.type) {
+ if (importIndicators.stakeholder.type !== this.stakeholder.type) {
UIkit.notification("The type of this profile is not the same with the file's one!", {
status: 'warning',
timeout: 6000,
@@ -1290,26 +1269,26 @@ export class IndicatorsComponent extends IndicatorStakeholderBaseComponent imple
}
// name description additionalDescription, height, width, visibility
let duplicates = 0;
- for (let chart of charts) {
- chart.visibility = this.showVisibility ? chart.visibility : this.stakeholderUtils.defaultValue(this.stakeholderUtils.visibilities);
- if (!sectionsToSave[chart['sectionIndex']]) {
- let sectionToSave = new Section(chart['sectionType'] ? chart['sectionType'] : chart['type'], chart['sectionTitle']);
+ for (let indicator of importIndicators.indicators) {
+ indicator.visibility = this.showVisibility ? indicator.visibility : this.stakeholderUtils.defaultValue(this.stakeholderUtils.visibilities);
+ if (!sectionsToSave[indicator['sectionIndex']]) {
+ let sectionToSave = new Section(indicator['sectionType'] ? indicator['sectionType'] : indicator['type'], indicator['sectionTitle']);
sectionToSave.indicators = [];
- sectionsToSave[chart['sectionIndex']] = sectionToSave;
+ sectionsToSave[indicator['sectionIndex']] = sectionToSave;
}
let exists = false;
let indicatorPaths: IndicatorPath[] = [];
// validate indicators' schema from file
let invalid_file_message;
- if (!chart.type) {
+ if (!indicator.type) {
invalid_file_message = "No indicator type is specified. Type should be chart or number.";
- } else if (chart.type != "chart" && chart.type != "number") {
+ } else if (indicator.type != "chart" && indicator.type != "number") {
invalid_file_message = "Invalid indicator type. Type should be chart or number.";
- } else if (chart.indicatorPaths.length === 0) {
+ } else if (indicator.indicatorPaths.length === 0) {
invalid_file_message = "No indicator paths are specified."
- } else if (chart.type == "number" && chart.indicatorPaths.filter(path => !path.jsonPath).length > 0) {
+ } else if (indicator.type == "number" && indicator.indicatorPaths.filter(path => !path.jsonPath).length > 0) {
invalid_file_message = "No jsonPath is specified for number indicator."
- } else if (chart.indicatorPaths.filter(path => !path.url).length > 0) {
+ } else if (indicator.indicatorPaths.filter(path => !path.url).length > 0) {
invalid_file_message = "No indicator url is specified.";
}
@@ -1323,8 +1302,8 @@ export class IndicatorsComponent extends IndicatorStakeholderBaseComponent imple
break;
}
- if (chart.type == "chart") {
- indicatorPaths = chart.indicatorPaths.map(path => this.indicatorUtils.generateIndicatorByChartUrl(this.indicatorUtils.getChartSource(path.url), path.url, chart.type, stakeholder, path.tab));
+ if (indicator.type == "chart") {
+ indicatorPaths = indicator.indicatorPaths.map(path => this.indicatorUtils.generateIndicatorByChartUrl(this.indicatorUtils.getChartSource(path.url), path.url, null, importIndicators.stakeholder, path.tab));
this.stakeholder.topics[this.topicIndex].categories[this.categoryIndex].subCategories[this.index].charts.forEach((section: Section) => {
section.indicators.forEach(indicator => {
indicator.indicatorPaths.forEach(path => {
@@ -1337,10 +1316,10 @@ export class IndicatorsComponent extends IndicatorStakeholderBaseComponent imple
});
});
});
- } else if (chart.type == "number") {
- indicatorPaths = chart.indicatorPaths.map(path =>
+ } else if (indicator.type == "number") {
+ indicatorPaths = indicator.indicatorPaths.map(path =>
this.indicatorUtils.generateIndicatorByNumberUrl(this.indicatorUtils.getNumberSource(path.url), path.url,
- stakeholder, path.jsonPath, this.indicatorUtils.numberSources.get(this.indicatorUtils.getNumberSource(path.url))));
+ importIndicators.stakeholder, path.jsonPath, this.indicatorUtils.numberSources.get(this.indicatorUtils.getNumberSource(path.url))));
this.stakeholder.topics[this.topicIndex].categories[this.categoryIndex].subCategories[this.index].numbers.forEach((section: Section) => {
section.indicators.forEach(indicator => {
indicator.indicatorPaths.forEach(path => {
@@ -1355,8 +1334,8 @@ export class IndicatorsComponent extends IndicatorStakeholderBaseComponent imple
});
}
if (indicatorPaths.length > 0) {
- let i: Indicator = new Indicator(chart.name, chart.description, chart.additionalDescription, chart.type, chart.width, chart.height, this.showVisibility ? "RESTRICTED" : this.stakeholderUtils.defaultValue(this.stakeholderUtils.visibilities), indicatorPaths);
- sectionsToSave[chart['sectionIndex']].indicators.push(i);
+ let i: Indicator = new Indicator(indicator.name, indicator.description, indicator.additionalDescription, indicator.type, indicator.width, indicator.height, this.showVisibility ? "RESTRICTED" : this.stakeholderUtils.defaultValue(this.stakeholderUtils.visibilities), indicatorPaths);
+ sectionsToSave[indicator['sectionIndex']].indicators.push(i);
countIndicators++;
}
}
@@ -1498,7 +1477,7 @@ export class IndicatorsComponent extends IndicatorStakeholderBaseComponent imple
});
this.finish();
} else {
- this.importIndicatorsAndSave(json.stakeholder, json.indicators);
+ this.importIndicatorsAndSave(json);
}
}, (error) => {
console.error("Error importing files", error);
diff --git a/monitor-admin/utils/indicator-utils.ts b/monitor-admin/utils/indicator-utils.ts
index a30172dd..613bc1c2 100644
--- a/monitor-admin/utils/indicator-utils.ts
+++ b/monitor-admin/utils/indicator-utils.ts
@@ -84,8 +84,6 @@ export class StakeholderConfiguration {
{icon: 'incognito', value: "PRIVATE", label: 'Private'},
];
public static CACHE_INDICATORS: boolean = true;
- public static NUMBER_MULTI_INDICATOR_PATHS = false;
- public static CHART_MULTI_INDICATOR_PATHS = true;
public static openAccess: Map
= new Map();
}
@@ -119,14 +117,6 @@ export class StakeholderUtils {
return StakeholderConfiguration.CACHE_INDICATORS;
}
- get hasMultiNumberIndicatorPaths() {
- return StakeholderConfiguration.NUMBER_MULTI_INDICATOR_PATHS;
- }
-
- get hasMultiChartIndicatorPaths() {
- return StakeholderConfiguration.CHART_MULTI_INDICATOR_PATHS;
- }
-
get openAccess(): Map {
return StakeholderConfiguration.openAccess;
}
@@ -744,6 +734,7 @@ export class IndicatorUtils {
} else if ((obj[this.getDescriptionObjectName(obj)]).hasOwnProperty("queries")) {
return "queries";
}
+ return null;
}
private getDescriptionObjectName(obj) {
@@ -756,6 +747,7 @@ export class IndicatorUtils {
} else if (obj.hasOwnProperty("series")) {
return "series";
}
+ return null;
}
private extractType(obj, indicatorPath: IndicatorPath): IndicatorPathType {
diff --git a/monitor-admin/utils/stakeholder-base.component.ts b/monitor-admin/utils/stakeholder-base.component.ts
index 76daa8f5..6526f041 100644
--- a/monitor-admin/utils/stakeholder-base.component.ts
+++ b/monitor-admin/utils/stakeholder-base.component.ts
@@ -2,7 +2,7 @@ import {Directive} from "@angular/core";
import {BaseComponent} from "../../sharedComponents/base/base.component";
import {IndicatorUtils, StakeholderUtils} from "./indicator-utils";
import {ConnectHelper} from "../../connect/connectHelper";
-import {IndicatorSize} from "../../monitor/entities/stakeholder";
+import {Indicator, IndicatorSize} from "../../monitor/entities/stakeholder";
import {statsToolParser} from "./cache-indicators/cache-indicators";
@Directive()
@@ -53,6 +53,7 @@ export abstract class StakeholderBaseComponent extends BaseComponent {
export abstract class IndicatorStakeholderBaseComponent extends StakeholderBaseComponent {
indicatorUtils: IndicatorUtils = new IndicatorUtils();
+ indicator: Indicator;
public getNumberClassBySize(size: IndicatorSize): string {
if (size === 'small') {
@@ -73,4 +74,15 @@ export abstract class IndicatorStakeholderBaseComponent extends StakeholderBaseC
return 'uk-width-1-1';
}
}
+
+ public getActivePathIndex(indicator: Indicator = this.indicator): number {
+ return indicator?.activePath ? indicator.activePath : 0;
+ }
+
+ public getActiveIndicatorPath(indicator: Indicator = this.indicator) {
+ if(indicator?.indicatorPaths.length > this.getActivePathIndex(indicator)) {
+ return indicator.indicatorPaths[this.getActivePathIndex(indicator)];
+ }
+ return null;
+ }
}
diff --git a/monitor/entities/stakeholder.ts b/monitor/entities/stakeholder.ts
index 277e2388..25f72033 100644
--- a/monitor/entities/stakeholder.ts
+++ b/monitor/entities/stakeholder.ts
@@ -16,6 +16,31 @@ export type Format = 'NUMBER' | 'PERCENTAGE';
export type Visibility = 'PUBLIC' | 'PRIVATE' | 'RESTRICTED';
export type Overlay = 'embed' | 'description' | false;
+export interface IndicatorImport {
+ indicatorPaths?: IndicatorPathImport[];
+ type: IndicatorType,
+ name: string,
+ description: string,
+ additionalDescription: string,
+ visibility: Visibility,
+ width: IndicatorSize,
+ height: IndicatorSize,
+ sectionTitle: string,
+ sectionType: IndicatorType,
+ sectionIndex: number
+}
+
+export interface IndicatorPathImport {
+ jsonPath?: string[],
+ tab: string,
+ url: string
+}
+
+export interface ImportIndicators {
+ stakeholder: Stakeholder,
+ indicators: IndicatorImport[]
+}
+
export class ManageStakeholders {
templates: (Stakeholder & StakeholderInfo)[];
standalone: (Stakeholder & StakeholderInfo)[];
diff --git a/monitor/services/resources.service.ts b/monitor/services/resources.service.ts
index 8884ed22..657e6bca 100644
--- a/monitor/services/resources.service.ts
+++ b/monitor/services/resources.service.ts
@@ -68,7 +68,7 @@ export class ResourcesService {
}
public isPagesEnabled() {
- let url = properties.adminToolsAPIURL + "/monitor/monitor/pages";
+ let url = properties.adminToolsAPIURL + "monitor/monitor/pages";
return this.http.get((properties.useLongCache) ? (properties.cacheUrl + encodeURIComponent(url)) : url)
.pipe(map(pages => {
let result = this.routes.map(() => false);
diff --git a/monitor/services/stakeholder.service.ts b/monitor/services/stakeholder.service.ts
index ba7bf5bb..65b8a403 100644
--- a/monitor/services/stakeholder.service.ts
+++ b/monitor/services/stakeholder.service.ts
@@ -57,7 +57,7 @@ export class StakeholderService {
getStakeholder(alias: string, shouldUpdate: boolean = false): Observable {
if (!this.stakeholderSubject.value || this.stakeholderSubject.value.alias !== alias || shouldUpdate) {
this.promise = new Promise((resolve, reject) => {
- this.sub = this.http.get(properties.monitorServiceAPIURL + '/stakeholder/' + encodeURIComponent(alias), CustomOptions.registryOptions()).pipe(map(stakeholder => {
+ this.sub = this.http.get(properties.monitorServiceAPIURL + 'stakeholder/' + encodeURIComponent(alias), CustomOptions.registryOptions()).pipe(map(stakeholder => {
return HelperFunctions.copy(Stakeholder.checkIsUpload(stakeholder));
})).subscribe(stakeholder => {
this.stakeholderSubject.next(stakeholder);
@@ -74,7 +74,7 @@ export class StakeholderService {
getChildStakeholder(parent: string, type: string, child: string, shouldUpdate: boolean = false): Observable {
if (!this.stakeholderSubject.value || this.stakeholderSubject.value.alias !== child || shouldUpdate) {
this.promise = new Promise((resolve, reject) => {
- this.sub = this.http.get(properties.monitorServiceAPIURL + '/stakeholder/' + encodeURIComponent(parent) + '/' + type + '/' + encodeURIComponent(child), CustomOptions.registryOptions()).pipe(map(stakeholder => {
+ this.sub = this.http.get(properties.monitorServiceAPIURL + 'stakeholder/' + encodeURIComponent(parent) + '/' + type + '/' + encodeURIComponent(child), CustomOptions.registryOptions()).pipe(map(stakeholder => {
return HelperFunctions.copy(Stakeholder.checkIsUpload(stakeholder));
})).subscribe(stakeholder => {
this.stakeholderSubject.next(stakeholder);
@@ -91,7 +91,7 @@ export class StakeholderService {
getResearcherStakeholder(orcid, name, results, shouldUpdate: boolean = false): Observable {
if (!this.stakeholderSubject.value || this.stakeholderSubject.value.alias !== orcid || shouldUpdate) {
this.promise = new Promise((resolve, reject) => {
- this.sub = this.http.get(properties.monitorServiceAPIURL + '/stakeholder/' + encodeURIComponent("researcher"), CustomOptions.registryOptions()).pipe(map(stakeholder => {
+ this.sub = this.http.get(properties.monitorServiceAPIURL + 'stakeholder/' + encodeURIComponent("researcher"), CustomOptions.registryOptions()).pipe(map(stakeholder => {
return HelperFunctions.copy(Stakeholder.checkIsUpload(stakeholder));
})).subscribe(stakeholder => {
stakeholder.index_id = orcid;
@@ -123,19 +123,19 @@ export class StakeholderService {
}
getAlias(url: string): Observable {
- return this.http.get(url + '/stakeholder/alias', CustomOptions.registryOptions()).pipe(map(stakeholders => {
+ return this.http.get(url + 'stakeholder/alias', CustomOptions.registryOptions()).pipe(map(stakeholders => {
return HelperFunctions.copy(stakeholders);
}));
}
getStakeholders(url: string, type: string = null, defaultId: string = null): Observable<(Stakeholder & StakeholderInfo)[]> {
- return this.http.get(url + '/stakeholder' + ((type) ? ('?type=' + type) : (defaultId?'?defaultId=' + defaultId:'')) + ((type && defaultId) ? ('&defaultId=' + defaultId) : ''), CustomOptions.registryOptions()).pipe(map(stakeholders => {
+ return this.http.get(url + 'stakeholder' + ((type) ? ('?type=' + type) : (defaultId?'?defaultId=' + defaultId:'')) + ((type && defaultId) ? ('&defaultId=' + defaultId) : ''), CustomOptions.registryOptions()).pipe(map(stakeholders => {
return HelperFunctions.copy(Stakeholder.checkIsUpload(stakeholders));
}));
}
getMyStakeholders(url: string, type: string = null): Observable {
- return this.http.get(url + '/my-stakeholder' + ((type) ? ('?type=' + type) : ''), CustomOptions.registryOptions()).pipe(map(manageStakeholder => {
+ return this.http.get(url + 'my-stakeholder' + ((type) ? ('?type=' + type) : ''), CustomOptions.registryOptions()).pipe(map(manageStakeholder => {
return HelperFunctions.copy({
templates: Stakeholder.checkIsUpload(manageStakeholder.templates),
standalone: Stakeholder.checkIsUpload(manageStakeholder.standalone),
@@ -155,20 +155,20 @@ export class StakeholderService {
umbrella: umbrella,
standalone: standalone
}
- return this.http.post(url + '/build-stakeholder', buildStakeholder, CustomOptions.registryOptions()).pipe(map(stakeholder => {
+ return this.http.post(url + 'build-stakeholder', buildStakeholder, CustomOptions.registryOptions()).pipe(map(stakeholder => {
return HelperFunctions.copy(Stakeholder.checkIsUpload(stakeholder));
}));
}
changeVisibility(url: string, path: string[], visibility: Visibility, propagate: boolean = false): Observable {
- return this.http.post(url + '/' + path.join('/') + '/change-visibility' + '?visibility=' + visibility + (propagate ? '&propagate=true' : ''), null, CustomOptions.registryOptions());
+ return this.http.post(url + path.join('/') + '/change-visibility' + '?visibility=' + visibility + (propagate ? '&propagate=true' : ''), null, CustomOptions.registryOptions());
}
saveElement(url: string, element: any, path: string[] = [], isFull: boolean = false): Observable {
if (element.alias && element.alias.startsWith('/')) {
element.alias = element.alias.slice(1);
}
- return this.http.post(url + ((path.length > 0) ? '/' : '') + path.join('/') +
+ return this.http.post(url + path.join('/') +
'/save' + (isFull ? '/full' : ''), element, CustomOptions.registryOptions()).pipe(map(element => {
if (path.length === 0) {
return HelperFunctions.copy(Stakeholder.checkIsUpload(element));
@@ -179,7 +179,7 @@ export class StakeholderService {
}
saveBulkElements(url: string, indicators, path: string[] = []): Observable {
- return this.http.post(url + ((path.length > 0) ? '/' : '') + path.join('/') +
+ return this.http.post(url + path.join('/') +
'/save-bulk', indicators, CustomOptions.registryOptions()).pipe(map(element => {
if (path.length === 0) {
return HelperFunctions.copy(Stakeholder.checkIsUpload(element));
@@ -190,7 +190,7 @@ export class StakeholderService {
}
saveSection(url: string, element: any, path: string[] = [], index: number = -1): Observable {
- return this.http.post(url + ((path.length > 0) ? '/' : '') + path.join('/') +
+ return this.http.post(url + path.join('/') +
'/save/' + index, element, CustomOptions.registryOptions()).pipe(map(element => {
return HelperFunctions.copy(element);
}));
@@ -201,27 +201,27 @@ export class StakeholderService {
if (childrenAction) {
params = "?children=" + childrenAction;
}
- return this.http.delete(url + '/' + path.join('/') + '/delete' + params, CustomOptions.registryOptions());
+ return this.http.delete(url + path.join('/') + '/delete' + params, CustomOptions.registryOptions());
}
reorderElements(url: string, path: string[], ids: string[]): Observable {
- return this.http.post(url + '/' + path.join('/') + '/reorder', ids, CustomOptions.registryOptions());
+ return this.http.post(url + path.join('/') + '/reorder', ids, CustomOptions.registryOptions());
}
reorderIndicators(url: string, path: string[], indicators: string[]): Observable {
- return this.http.post(url + '/' + path.join('/') + '/reorder', indicators, CustomOptions.registryOptions()).pipe(map(indicators => {
+ return this.http.post(url + path.join('/') + '/reorder', indicators, CustomOptions.registryOptions()).pipe(map(indicators => {
return HelperFunctions.copy(indicators);
}));
}
moveIndicator(url: string, path: string[], moveIndicator: MoveIndicator): Observable {
- return this.http.post(url + '/' + path.join('/') + '/moveIndicator', moveIndicator, CustomOptions.registryOptions()).pipe(map(subCategory => {
+ return this.http.post(url + path.join('/') + '/moveIndicator', moveIndicator, CustomOptions.registryOptions()).pipe(map(subCategory => {
return HelperFunctions.copy(subCategory);
}));
}
updateUmbrella(url: string, id: string, update: UpdateUmbrella): Observable {
- return this.http.post(url + '/' + id + '/umbrella', update, CustomOptions.registryOptions()).pipe(map(umbrella => {
+ return this.http.post(url + id + '/umbrella', update, CustomOptions.registryOptions()).pipe(map(umbrella => {
return HelperFunctions.copy(umbrella);
}));
}
diff --git a/searchPages/searchUtils/newSearchPage.component.html b/searchPages/searchUtils/newSearchPage.component.html
index 054997ae..f2c3df98 100644
--- a/searchPages/searchUtils/newSearchPage.component.html
+++ b/searchPages/searchUtils/newSearchPage.component.html
@@ -367,6 +367,14 @@