@trudb/tru-common-lib 0.1.172 → 0.1.174

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -55,43 +55,47 @@ export class TruReportManager {
55
55
  obj.send(params);
56
56
  return obj;
57
57
  }
58
- setupMenu(report, menu, getActionRefs, enabled) {
59
- this.dataContext.entityAccess().search(this.modelTypeLookup.getType('TruDbCloudFile'), (query) => {
60
- var predicate = new breeze.Predicate('TruDbCloudFileRef', breeze.FilterQueryOp.Equals, report.ReportTruDbCloudFileRef);
61
- return query.where(predicate);
62
- }, null, false).subscribe((cloudFiles) => {
63
- if (cloudFiles.length) {
64
- //there is a cloud file associated with this report
65
- if (cloudFiles[0].Filename.endsWith(".mrt")) {
66
- //this is a stimulsoft report, check if license file exists
67
- this.dataContext.entityAccess().search(this.modelTypeLookup.getType('TruDbConfig'), (query) => {
68
- var predicate = new breeze.Predicate('Key', breeze.FilterQueryOp.Equals, 'StimulsoftLicensePath');
69
- return query.where(predicate);
70
- }, null, false).subscribe((config) => {
71
- if (!config.length || !config[0].Value) {
72
- //do nothing, no menu option will be pushed into the dom since
73
- //we couldn't find the required license path info in the config
58
+ setupMenu(reports, menu, getActionRefs, enabled) {
59
+ return new Observable(obs => {
60
+ for (var i = 0; i < reports.length; i++) {
61
+ this.dataContext.entityAccess().search(this.modelTypeLookup.getType('TruDbCloudFile'), (query) => {
62
+ var predicate = new breeze.Predicate('TruDbCloudFileRef', breeze.FilterQueryOp.Equals, reports[i].ReportTruDbCloudFileRef);
63
+ return query.where(predicate);
64
+ }, null, false).subscribe((cloudFiles) => {
65
+ if (cloudFiles.length) {
66
+ //there is a cloud file associated with this report
67
+ if (cloudFiles[0].Filename.endsWith(".mrt")) {
68
+ //this is a stimulsoft report, check if license file exists
69
+ this.dataContext.entityAccess().search(this.modelTypeLookup.getType('TruDbConfig'), (query) => {
70
+ var predicate = new breeze.Predicate('Key', breeze.FilterQueryOp.Equals, 'StimulsoftLicensePath');
71
+ return query.where(predicate);
72
+ }, null, false).subscribe((config) => {
73
+ if (!config.length || !config[0].Value) {
74
+ //do nothing, no menu option will be pushed into the dom since
75
+ //we couldn't find the required license path info in the config
76
+ }
77
+ else {
78
+ //var path = config[0].Value.replace("~", "");
79
+ //this.get(path, 'get', (data: any) => {
80
+ // if (data.length) {
81
+ // }
82
+ //});
83
+ this.setupMenuImpl(reports[i], menu, getActionRefs, enabled);
84
+ }
85
+ });
74
86
  }
75
87
  else {
76
- //var path = config[0].Value.replace("~", "");
77
- //this.get(path, 'get', (data: any) => {
78
- // if (data.length) {
79
- // }
80
- //});
81
- this.setupMenuImpl(report, menu, getActionRefs, enabled);
88
+ //there is a cloud file associated with this report, but it isn't an mrt report push menu option
89
+ //since this a different type of report (word, excel)
90
+ this.setupMenuImpl(reports[i], menu, getActionRefs, enabled);
82
91
  }
83
- });
84
- }
85
- else {
86
- //there is a cloud file associated with this report, but it isn't an mrt report push menu option
87
- //since this a different type of report (word, excel)
88
- this.setupMenuImpl(report, menu, getActionRefs, enabled);
89
- }
90
- }
91
- else {
92
- //no cloud file, so no need to check for license, push menu option
93
- //since this could be a non mrt report (word, excel)
94
- this.setupMenuImpl(report, menu, getActionRefs, enabled);
92
+ }
93
+ else {
94
+ //no cloud file, so no need to check for license, push menu option
95
+ //since this could be a non mrt report (word, excel)
96
+ this.setupMenuImpl(reports[i], menu, getActionRefs, enabled);
97
+ }
98
+ });
95
99
  }
96
100
  });
97
101
  }
@@ -105,10 +109,9 @@ export class TruReportManager {
105
109
  return query.where(predicate);
106
110
  }).subscribe((reports) => {
107
111
  if (reports.length) {
108
- for (var i = 0; i < reports.length; i++) {
109
- this.setupMenu(reports[i], menu, getActionRefs, enabled);
110
- }
111
- obs.next(menu);
112
+ this.setupMenu(reports, menu, getActionRefs, enabled).subscribe(() => {
113
+ obs.next(menu);
114
+ });
112
115
  }
113
116
  else {
114
117
  obs.next(menu);
@@ -126,4 +129,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.5", ngImpor
126
129
  providedIn: 'root',
127
130
  }]
128
131
  }], ctorParameters: () => [{ type: i1.TruDataContext }, { type: i2.TruActionInvoke }, { type: i3.TruModelTypeLookup }, { type: i4.TruAppEnvironment }, { type: i5.TruUser }] });
129
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJ1LXJlcG9ydC1tYW5hZ2VyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdHJ1LWNvbW1vbi1saWIvc3JjL2xpYi9zZXJ2aWNlcy90cnUtcmVwb3J0LW1hbmFnZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQWMsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBTW5ELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxNQUFNLENBQUM7Ozs7Ozs7QUFNbEMsTUFBTSxPQUFPLGdCQUFnQjtJQUVqQjtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBTFYsWUFDVSxXQUEyQixFQUMzQixZQUE2QixFQUM3QixlQUFtQyxFQUNuQyxjQUFpQyxFQUNqQyxJQUFhO1FBSmIsZ0JBQVcsR0FBWCxXQUFXLENBQWdCO1FBQzNCLGlCQUFZLEdBQVosWUFBWSxDQUFpQjtRQUM3QixvQkFBZSxHQUFmLGVBQWUsQ0FBb0I7UUFDbkMsbUJBQWMsR0FBZCxjQUFjLENBQW1CO1FBQ2pDLFNBQUksR0FBSixJQUFJLENBQVM7SUFBSSxDQUFDO0lBRXBCLGFBQWEsQ0FBQyxNQUFXLEVBQUUsSUFBUyxFQUFFLGFBQWtCLEVBQUUsT0FBaUI7UUFDakYsSUFBSSxTQUFTLEdBQUcsTUFBTSxDQUFDLEdBQUcsQ0FBQztRQUMzQixJQUFJLE9BQU8sR0FBRyxNQUFNLENBQUMsNEJBQTRCLENBQUM7UUFDbEQsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQ2xCO1lBQ0UsU0FBUyxFQUFFO2dCQUNULE9BQU8sSUFBSSxDQUFDO1lBQ2QsQ0FBQztZQUNELEtBQUssRUFBRSxNQUFNLENBQUMsVUFBVTtZQUN4QixPQUFPLEVBQUU7Z0JBQ1AsT0FBTyxPQUFPLEVBQUUsQ0FBQztZQUNuQixDQUFDO1lBQ0QsU0FBUyxFQUFFLFNBQVM7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QUFDLENBQUM7Z0JBQzVELE9BQU8sS0FBSyxDQUFDLEtBQUssQ0FBQyxTQUFTLENBQUMsQ0FBQztZQUNoQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxPQUFPLEVBQUUsRUFBRTtnQkFDdkIsSUFBSSxPQUFPLENBQUMsTUFBTSxFQUFFLENBQUM7b0JBQ25CLEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxPQUFPLENBQUMsTUFBTSxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUM7d0JBQ3hDLElBQUksQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxFQUFFLElBQUksRUFBRSxhQUFhLEVBQUUsT0FBTyxDQUFDLENBQUM7b0JBQzNELENBQUM7b0JBQ0QsR0FBRyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztnQkFDakIsQ0FBQztxQkFDSSxDQUFDO29CQUNKLEdBQUcsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7Z0JBQ2pCLENBQUM7Z0JBQ0QsR0FBRyxDQUFDLFFBQVEsRUFBRSxDQUFDO1lBQ2pCLENBQUMsQ0FBQyxDQUFDO1FBQ0wsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDLENBQUM7dUdBbkhTLGdCQUFnQjsyR0FBaEIsZ0JBQWdCLGNBRmYsTUFBTTs7MkZBRVAsZ0JBQWdCO2tCQUg1QixVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgRW50aXR5VHlwZSwgYnJlZXplIH0gZnJvbSAnYnJlZXplLWNsaWVudCc7XHJcbmltcG9ydCB7IFRydUdsb2JhbERhdGFDb250ZXh0IH0gZnJvbSAnLi90cnUtZ2xvYmFsLWRhdGEtY29udGV4dCc7XHJcbmltcG9ydCB7IFRydVVzZXIgfSBmcm9tICcuL3RydS11c2VyJztcclxuaW1wb3J0IHsgVHJ1RGF0YUNvbnRleHQgfSBmcm9tICcuL3RydS1kYXRhLWNvbnRleHQnO1xyXG5pbXBvcnQgeyBUcnVNb2RlbFR5cGVMb29rdXAgfSBmcm9tICcuL3RydS1tb2RlbC10eXBlLWxvb2t1cCc7XHJcbmltcG9ydCB7IFRydUFjdGlvbkludm9rZSB9IGZyb20gJy4vdHJ1LWFjdGlvbi1pbnZva2UnO1xyXG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IFRydUFwcEVudmlyb25tZW50IH0gZnJvbSAnLi90cnUtYXBwLWVudmlyb25tZW50JztcclxuXHJcbkBJbmplY3RhYmxlKHtcclxuICBwcm92aWRlZEluOiAncm9vdCcsXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBUcnVSZXBvcnRNYW5hZ2VyIHtcclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByaXZhdGUgZGF0YUNvbnRleHQ6IFRydURhdGFDb250ZXh0LFxyXG4gICAgcHJpdmF0ZSBhY3Rpb25JbnZva2U6IFRydUFjdGlvbkludm9rZSxcclxuICAgIHByaXZhdGUgbW9kZWxUeXBlTG9va3VwOiBUcnVNb2RlbFR5cGVMb29rdXAsXHJcbiAgICBwcml2YXRlIGFwcEVudmlyb25tZW50OiBUcnVBcHBFbnZpcm9ubWVudCxcclxuICAgIHByaXZhdGUgdXNlcjogVHJ1VXNlcikgeyB9XHJcblxyXG4gIHByaXZhdGUgc2V0dXBNZW51SW1wbChyZXBvcnQ6IGFueSwgbWVudTogYW55LCBnZXRBY3Rpb25SZWZzOiBhbnksIGVuYWJsZWQ6ICgpID0+IHt9KSB7XHJcbiAgICB2YXIgcmVwb3J0UmVmID0gcmVwb3J0LlJlZjtcclxuICAgIHZhciBtaW1lUmVmID0gcmVwb3J0LlJlcG9ydE1pbWVUeXBlU3RkTWltZVR5cGVSZWY7XHJcbiAgICBtZW51WzBdLmNob2ljZXMucHVzaChcclxuICAgICAge1xyXG4gICAgICAgIGhhc0FjY2VzczogZnVuY3Rpb24gKCkge1xyXG4gICAgICAgICAgcmV0dXJuIHRydWU7XHJcbiAgICAgICAgfSxcclxuICAgICAgICBsYWJlbDogcmVwb3J0LlJlcG9ydE5hbWUsXHJcbiAgICAgICAgZW5hYmxlZDogZnVuY3Rpb24gKCkge1xyXG4gICAgICAgICAgcmV0dXJuIGVuYWJsZWQoKTtcclxuICAgICAgICB9LFxyXG4gICAgICAgIHJlcG9ydFJlZjogcmVwb3J0UmVmLFxyXG4gICAgICAgIG1pbWVSZWY6IG1pbWVSZWYsXHJcbiAgICAgICAgZmlyZTogZnVuY3Rpb24gKCkge1xyXG4gICAgICAgICAgdGhpcy5hY3Rpb25JbnZva2UucHJvY2Vzc0N1c3RvbVJlcG9ydChcclxuICAgICAgICAgICAgdGhpcy5yZXBvcnRSZWYsXHJcbiAgICAgICAgICAgIGdldEFjdGlvblJlZnMoKSxcclxuICAgICAgICAgICAgdGhpcy5taW1lUmVmXHJcbiAgICAgICAgICApO1xyXG4gICAgICAgIH1cclxuICAgICAgfSk7XHJcbiAgfVxyXG5cclxuICBnZXQodXJsOiBzdHJpbmcsIG1ldGhvZDogc3RyaW5nLCBjYWxsYmFjazogKG86IGFueSkgPT4gYW55LCBwYXJhbXMgPSBudWxsKSB7XHJcbiAgICBsZXQgb2JqID0gbmV3IFhNTEh0dHBSZXF1ZXN0KCk7XHJcbiAgICB0cnkge1xyXG4gICAgICBvYmogPSBuZXcgWE1MSHR0cFJlcXVlc3QoKTtcclxuICAgIH0gY2F0Y2ggKGUpIHtcclxuICAgICAgYWxlcnQoXCJZb3VyIGJyb3dzZXIgZG9lcyBub3Qgc3VwcG9ydCBBamF4LlwiKTtcclxuICAgIH1cclxuICAgIG9iai5vbnJlYWR5c3RhdGVjaGFuZ2UgPSBmdW5jdGlvbiAoKSB7XHJcbiAgICAgIGlmIChvYmoucmVhZHlTdGF0ZSA9PSA0KSB7XHJcbiAgICAgICAgY2FsbGJhY2sob2JqKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgb2JqLm9wZW4obWV0aG9kLCB1cmwsIHRydWUpO1xyXG4gICAgb2JqLnNlbmQocGFyYW1zKTtcclxuICAgIHJldHVybiBvYmo7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHNldHVwTWVudShyZXBvcnQ6IGFueSwgbWVudTogYW55LCBnZXRBY3Rpb25SZWZzOiBhbnksIGVuYWJsZWQ6ICgpID0+IHt9KSB7XHJcbiAgICB0aGlzLmRhdGFDb250ZXh0LmVudGl0eUFjY2VzcygpLnNlYXJjaCh0aGlzLm1vZGVsVHlwZUxvb2t1cC5nZXRUeXBlKCdUcnVEYkNsb3VkRmlsZScpLCAocXVlcnk6IGFueSkgPT4ge1xyXG4gICAgdmFyIHByZWRpY2F0ZSA9IG5ldyBicmVlemUuUHJlZGljYXRlKCdUcnVEYkNsb3VkRmlsZVJlZicsIGJyZWV6ZS5GaWx0ZXJRdWVyeU9wLkVxdWFscywgcmVwb3J0LlJlcG9ydFRydURiQ2xvdWRGaWxlUmVmKVxyXG4gICAgICByZXR1cm4gcXVlcnkud2hlcmUocHJlZGljYXRlKTtcclxuICAgIH0sIG51bGwsIGZhbHNlKS5zdWJzY3JpYmUoKGNsb3VkRmlsZXM6IGFueSkgPT4ge1xyXG4gICAgICBpZiAoY2xvdWRGaWxlcy5sZW5ndGgpIHtcclxuICAgICAgICAvL3RoZXJlIGlzIGEgY2xvdWQgZmlsZSBhc3NvY2lhdGVkIHdpdGggdGhpcyByZXBvcnRcclxuICAgICAgICBpZiAoY2xvdWRGaWxlc1swXS5GaWxlbmFtZS5lbmRzV2l0aChcIi5tcnRcIikpIHtcclxuICAgICAgICAgIC8vdGhpcyBpcyBhIHN0aW11bHNvZnQgcmVwb3J0LCBjaGVjayBpZiBsaWNlbnNlIGZpbGUgZXhpc3RzXHJcblxyXG4gICAgICAgICAgdGhpcy5kYXRhQ29udGV4dC5lbnRpdHlBY2Nlc3MoKS5zZWFyY2godGhpcy5tb2RlbFR5cGVMb29rdXAuZ2V0VHlwZSgnVHJ1RGJDb25maWcnKSwgKHF1ZXJ5OiBhbnkpID0+IHtcclxuICAgICAgICAgICAgdmFyIHByZWRpY2F0ZSA9IG5ldyBicmVlemUuUHJlZGljYXRlKCdLZXknLCBicmVlemUuRmlsdGVyUXVlcnlPcC5FcXVhbHMsICdTdGltdWxzb2Z0TGljZW5zZVBhdGgnKTtcclxuICAgICAgICAgICAgcmV0dXJuIHF1ZXJ5LndoZXJlKHByZWRpY2F0ZSk7XHJcbiAgICAgICAgICB9LCBudWxsLCBmYWxzZSkuc3Vic2NyaWJlKChjb25maWc6IGFueSkgPT4ge1xyXG4gICAgICAgICAgICBpZiAoIWNvbmZpZy5sZW5ndGggfHwgIWNvbmZpZ1swXS5WYWx1ZSkge1xyXG4gICAgICAgICAgICAgIC8vZG8gbm90aGluZywgbm8gbWVudSBvcHRpb24gd2lsbCBiZSBwdXNoZWQgaW50byB0aGUgZG9tIHNpbmNlXHJcbiAgICAgICAgICAgICAgLy93ZSBjb3VsZG4ndCBmaW5kIHRoZSByZXF1aXJlZCBsaWNlbnNlIHBhdGggaW5mbyBpbiB0aGUgY29uZmlnXHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICAgICAgLy92YXIgcGF0aCA9IGNvbmZpZ1swXS5WYWx1ZS5yZXBsYWNlKFwiflwiLCBcIlwiKTtcclxuICAgICAgICAgICAgICAvL3RoaXMuZ2V0KHBhdGgsICdnZXQnLCAoZGF0YTogYW55KSA9PiB7XHJcbiAgICAgICAgICAgICAgLy8gIGlmIChkYXRhLmxlbmd0aCkge1xyXG4gICAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAvLyAgfVxyXG4gICAgICAgICAgICAgIC8vfSk7XHJcbiAgICAgICAgICAgICAgdGhpcy5zZXR1cE1lbnVJbXBsKHJlcG9ydCwgbWVudSwgZ2V0QWN0aW9uUmVmcywgZW5hYmxlZCk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH0pO1xyXG4gICAgICAgIH1cclxuICAgICAgICBlbHNlIHtcclxuICAgICAgICAgIC8vdGhlcmUgaXMgYSBjbG91ZCBmaWxlIGFzc29jaWF0ZWQgd2l0aCB0aGlzIHJlcG9ydCwgYnV0IGl0IGlzbid0IGFuIG1ydCByZXBvcnQgcHVzaCBtZW51IG9wdGlvblxyXG4gICAgICAgICAgLy9zaW5jZSB0aGlzIGEgZGlmZmVyZW50IHR5cGUgb2YgcmVwb3J0ICh3b3JkLCBleGNlbClcclxuICAgICAgICAgIHRoaXMuc2V0dXBNZW51SW1wbChyZXBvcnQsIG1lbnUsIGdldEFjdGlvblJlZnMsIGVuYWJsZWQpO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgICBlbHNlIHtcclxuICAgICAgICAvL25vIGNsb3VkIGZpbGUsIHNvIG5vIG5lZWQgdG8gY2hlY2sgZm9yIGxpY2Vuc2UsIHB1c2ggbWVudSBvcHRpb25cclxuICAgICAgICAvL3NpbmNlIHRoaXMgY291bGQgYmUgYSBub24gbXJ0IHJlcG9ydCAod29yZCwgZXhjZWwpXHJcbiAgICAgICAgdGhpcy5zZXR1cE1lbnVJbXBsKHJlcG9ydCwgbWVudSwgZ2V0QWN0aW9uUmVmcywgZW5hYmxlZCk7XHJcbiAgICAgICAgXHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG4gIH1cclxuXHJcblxyXG4gIHF1ZXJ5UmVwb3J0cyA9ICh0YWJsZU5hbWU6IHN0cmluZywgbWVudTogYW55LCBnZXRBY3Rpb25SZWZzOiBzdHJpbmcsIGVuYWJsZWQ6ICgpID0+IHt9KTogT2JzZXJ2YWJsZTxhbnk+ID0+IHtcclxuICAgIHJldHVybiBuZXcgT2JzZXJ2YWJsZShvYnMgPT4ge1xyXG4gICAgICB0aGlzLmFwcEVudmlyb25tZW50Lmdsb2JhbERhdGFDb250ZXh0Py5lbnRpdHlBY2Nlc3MoKS5zZWFyY2hDYWNoZU9ubHkodGhpcy5tb2RlbFR5cGVMb29rdXAuZ2V0VHlwZSgnVHJ1RGJSZXBvcnQnKSwgKHF1ZXJ5OiBhbnkpID0+IHtcclxuICAgICAgICB2YXIgcHJlZGljYXRlID0gbmV3IGJyZWV6ZS5QcmVkaWNhdGUoJ093bmVyVHJ1RGJVc2VyUmVmJywgYnJlZXplLkZpbHRlclF1ZXJ5T3AuRXF1YWxzLCB0aGlzLnVzZXIuYWN0aXZlVXNlclJlZilcclxuICAgICAgICAgIC5vcignT3duZXJUcnVEYlVzZXJSZWYnLCBicmVlemUuRmlsdGVyUXVlcnlPcC5FcXVhbHMsIG51bGwpXHJcbiAgICAgICAgICAub3IoJ1B1YmxpYycsIGJyZWV6ZS5GaWx0ZXJRdWVyeU9wLkVxdWFscywgdHJ1ZSlcclxuICAgICAgICAgIC5hbmQoJ1RhYmxlTmFtZScsIGJyZWV6ZS5GaWx0ZXJRdWVyeU9wLkVxdWFscywgdGFibGVOYW1lKTtcclxuICAgICAgICByZXR1cm4gcXVlcnkud2hlcmUocHJlZGljYXRlKTtcclxuICAgICAgfSkuc3Vic2NyaWJlKChyZXBvcnRzKSA9PiB7XHJcbiAgICAgICAgaWYgKHJlcG9ydHMubGVuZ3RoKSB7XHJcbiAgICAgICAgICBmb3IgKHZhciBpID0gMDsgaSA8IHJlcG9ydHMubGVuZ3RoOyBpKyspIHtcclxuICAgICAgICAgICAgdGhpcy5zZXR1cE1lbnUocmVwb3J0c1tpXSwgbWVudSwgZ2V0QWN0aW9uUmVmcywgZW5hYmxlZCk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICBvYnMubmV4dChtZW51KTtcclxuICAgICAgICB9XHJcbiAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICBvYnMubmV4dChtZW51KTtcclxuICAgICAgICB9XHJcbiAgICAgICAgb2JzLmNvbXBsZXRlKCk7XHJcbiAgICAgIH0pO1xyXG4gICAgfSk7XHJcbiAgfTtcclxufVxyXG4iXX0=
132
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJ1LXJlcG9ydC1tYW5hZ2VyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdHJ1LWNvbW1vbi1saWIvc3JjL2xpYi9zZXJ2aWNlcy90cnUtcmVwb3J0LW1hbmFnZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQWMsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBTW5ELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxNQUFNLENBQUM7Ozs7Ozs7QUFNbEMsTUFBTSxPQUFPLGdCQUFnQjtJQUVqQjtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBTFYsWUFDVSxXQUEyQixFQUMzQixZQUE2QixFQUM3QixlQUFtQyxFQUNuQyxjQUFpQyxFQUNqQyxJQUFhO1FBSmIsZ0JBQVcsR0FBWCxXQUFXLENBQWdCO1FBQzNCLGlCQUFZLEdBQVosWUFBWSxDQUFpQjtRQUM3QixvQkFBZSxHQUFmLGVBQWUsQ0FBb0I7UUFDbkMsbUJBQWMsR0FBZCxjQUFjLENBQW1CO1FBQ2pDLFNBQUksR0FBSixJQUFJLENBQVM7SUFBSSxDQUFDO0lBRXBCLGFBQWEsQ0FBQyxNQUFXLEVBQUUsSUFBUyxFQUFFLGFBQWtCLEVBQUUsT0FBaUI7UUFDakYsSUFBSSxTQUFTLEdBQUcsTUFBTSxDQUFDLEdBQUcsQ0FBQztRQUMzQixJQUFJLE9BQU8sR0FBRyxNQUFNLENBQUMsNEJBQTRCLENBQUM7UUFDbEQsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQ2xCO1lBQ0UsU0FBUyxFQUFFO2dCQUNULE9BQU8sSUFBSSxDQUFDO1lBQ2QsQ0FBQztZQUNELEtBQUssRUFBRSxNQUFNLENBQUMsVUFBVTtZQUN4QixPQUFPLEVBQUU7Z0JBQ1AsT0FBTyxPQUFPLEVBQUUsQ0FBQztZQUNuQixDQUFDO1lBQ0QsU0FBUyxFQUFFLFNBQVM7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SSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUM7cUJBQzVHLEVBQUUsQ0FBQyxtQkFBbUIsRUFBRSxNQUFNLENBQUMsYUFBYSxDQUFDLE1BQU0sRUFBRSxJQUFJLENBQUM7cUJBQzFELEVBQUUsQ0FBQyxRQUFRLEVBQUUsTUFBTSxDQUFDLGFBQWEsQ0FBQyxNQUFNLEVBQUUsSUFBSSxDQUFDO3FCQUMvQyxHQUFHLENBQUMsV0FBVyxFQUFFLE1BQU0sQ0FBQyxhQUFhLENBQUMsTUFBTSxFQUFFLFNBQVMsQ0FBQyxDQUFDO2dCQUM1RCxPQUFPLEtBQUssQ0FBQyxLQUFLLENBQUMsU0FBUyxDQUFDLENBQUM7WUFDaEMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsT0FBTyxFQUFFLEVBQUU7Z0JBQ3ZCLElBQUksT0FBTyxDQUFDLE1BQU0sRUFBRSxDQUFDO29CQUNuQixJQUFJLENBQUMsU0FBUyxDQUFDLE9BQU8sRUFBRSxJQUFJLEVBQUUsYUFBYSxFQUFFLE9BQU8sQ0FBQyxDQUFDLFNBQVMsQ0FBQyxHQUFHLEVBQUU7d0JBQ25FLEdBQUcsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7b0JBQ2pCLENBQUMsQ0FBQyxDQUFDO2dCQUNMLENBQUM7cUJBQ0ksQ0FBQztvQkFDSixHQUFHLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO2dCQUNqQixDQUFDO2dCQUNELEdBQUcsQ0FBQyxRQUFRLEVBQUUsQ0FBQztZQUNqQixDQUFDLENBQUMsQ0FBQztRQUNMLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQyxDQUFDO3VHQXJIUyxnQkFBZ0I7MkdBQWhCLGdCQUFnQixjQUZmLE1BQU07OzJGQUVQLGdCQUFnQjtrQkFINUIsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEVudGl0eVR5cGUsIGJyZWV6ZSB9IGZyb20gJ2JyZWV6ZS1jbGllbnQnO1xyXG5pbXBvcnQgeyBUcnVHbG9iYWxEYXRhQ29udGV4dCB9IGZyb20gJy4vdHJ1LWdsb2JhbC1kYXRhLWNvbnRleHQnO1xyXG5pbXBvcnQgeyBUcnVVc2VyIH0gZnJvbSAnLi90cnUtdXNlcic7XHJcbmltcG9ydCB7IFRydURhdGFDb250ZXh0IH0gZnJvbSAnLi90cnUtZGF0YS1jb250ZXh0JztcclxuaW1wb3J0IHsgVHJ1TW9kZWxUeXBlTG9va3VwIH0gZnJvbSAnLi90cnUtbW9kZWwtdHlwZS1sb29rdXAnO1xyXG5pbXBvcnQgeyBUcnVBY3Rpb25JbnZva2UgfSBmcm9tICcuL3RydS1hY3Rpb24taW52b2tlJztcclxuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBUcnVBcHBFbnZpcm9ubWVudCB9IGZyb20gJy4vdHJ1LWFwcC1lbnZpcm9ubWVudCc7XHJcblxyXG5ASW5qZWN0YWJsZSh7XHJcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgVHJ1UmVwb3J0TWFuYWdlciB7XHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcml2YXRlIGRhdGFDb250ZXh0OiBUcnVEYXRhQ29udGV4dCxcclxuICAgIHByaXZhdGUgYWN0aW9uSW52b2tlOiBUcnVBY3Rpb25JbnZva2UsXHJcbiAgICBwcml2YXRlIG1vZGVsVHlwZUxvb2t1cDogVHJ1TW9kZWxUeXBlTG9va3VwLFxyXG4gICAgcHJpdmF0ZSBhcHBFbnZpcm9ubWVudDogVHJ1QXBwRW52aXJvbm1lbnQsXHJcbiAgICBwcml2YXRlIHVzZXI6IFRydVVzZXIpIHsgfVxyXG5cclxuICBwcml2YXRlIHNldHVwTWVudUltcGwocmVwb3J0OiBhbnksIG1lbnU6IGFueSwgZ2V0QWN0aW9uUmVmczogYW55LCBlbmFibGVkOiAoKSA9PiB7fSkge1xyXG4gICAgdmFyIHJlcG9ydFJlZiA9IHJlcG9ydC5SZWY7XHJcbiAgICB2YXIgbWltZVJlZiA9IHJlcG9ydC5SZXBvcnRNaW1lVHlwZVN0ZE1pbWVUeXBlUmVmO1xyXG4gICAgbWVudVswXS5jaG9pY2VzLnB1c2goXHJcbiAgICAgIHtcclxuICAgICAgICBoYXNBY2Nlc3M6IGZ1bmN0aW9uICgpIHtcclxuICAgICAgICAgIHJldHVybiB0cnVlO1xyXG4gICAgICAgIH0sXHJcbiAgICAgICAgbGFiZWw6IHJlcG9ydC5SZXBvcnROYW1lLFxyXG4gICAgICAgIGVuYWJsZWQ6IGZ1bmN0aW9uICgpIHtcclxuICAgICAgICAgIHJldHVybiBlbmFibGVkKCk7XHJcbiAgICAgICAgfSxcclxuICAgICAgICByZXBvcnRSZWY6IHJlcG9ydFJlZixcclxuICAgICAgICBtaW1lUmVmOiBtaW1lUmVmLFxyXG4gICAgICAgIGZpcmU6IGZ1bmN0aW9uICgpIHtcclxuICAgICAgICAgIHRoaXMuYWN0aW9uSW52b2tlLnByb2Nlc3NDdXN0b21SZXBvcnQoXHJcbiAgICAgICAgICAgIHRoaXMucmVwb3J0UmVmLFxyXG4gICAgICAgICAgICBnZXRBY3Rpb25SZWZzKCksXHJcbiAgICAgICAgICAgIHRoaXMubWltZVJlZlxyXG4gICAgICAgICAgKTtcclxuICAgICAgICB9XHJcbiAgICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgZ2V0KHVybDogc3RyaW5nLCBtZXRob2Q6IHN0cmluZywgY2FsbGJhY2s6IChvOiBhbnkpID0+IGFueSwgcGFyYW1zID0gbnVsbCkge1xyXG4gICAgbGV0IG9iaiA9IG5ldyBYTUxIdHRwUmVxdWVzdCgpO1xyXG4gICAgdHJ5IHtcclxuICAgICAgb2JqID0gbmV3IFhNTEh0dHBSZXF1ZXN0KCk7XHJcbiAgICB9IGNhdGNoIChlKSB7XHJcbiAgICAgIGFsZXJ0KFwiWW91ciBicm93c2VyIGRvZXMgbm90IHN1cHBvcnQgQWpheC5cIik7XHJcbiAgICB9XHJcbiAgICBvYmoub25yZWFkeXN0YXRlY2hhbmdlID0gZnVuY3Rpb24gKCkge1xyXG4gICAgICBpZiAob2JqLnJlYWR5U3RhdGUgPT0gNCkge1xyXG4gICAgICAgIGNhbGxiYWNrKG9iaik7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIG9iai5vcGVuKG1ldGhvZCwgdXJsLCB0cnVlKTtcclxuICAgIG9iai5zZW5kKHBhcmFtcyk7XHJcbiAgICByZXR1cm4gb2JqO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBzZXR1cE1lbnUocmVwb3J0czogQXJyYXk8YW55PiwgbWVudTogYW55LCBnZXRBY3Rpb25SZWZzOiBhbnksIGVuYWJsZWQ6ICgpID0+IHt9KTogT2JzZXJ2YWJsZTxhbnk+ICB7XHJcbiAgICByZXR1cm4gbmV3IE9ic2VydmFibGUob2JzID0+IHtcclxuICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCByZXBvcnRzLmxlbmd0aDsgaSsrKSB7XHJcbiAgICAgICAgdGhpcy5kYXRhQ29udGV4dC5lbnRpdHlBY2Nlc3MoKS5zZWFyY2godGhpcy5tb2RlbFR5cGVMb29rdXAuZ2V0VHlwZSgnVHJ1RGJDbG91ZEZpbGUnKSwgKHF1ZXJ5OiBhbnkpID0+IHtcclxuICAgICAgICAgIHZhciBwcmVkaWNhdGUgPSBuZXcgYnJlZXplLlByZWRpY2F0ZSgnVHJ1RGJDbG91ZEZpbGVSZWYnLCBicmVlemUuRmlsdGVyUXVlcnlPcC5FcXVhbHMsIHJlcG9ydHNbaV0uUmVwb3J0VHJ1RGJDbG91ZEZpbGVSZWYpXHJcbiAgICAgICAgICByZXR1cm4gcXVlcnkud2hlcmUocHJlZGljYXRlKTtcclxuICAgICAgICB9LCBudWxsLCBmYWxzZSkuc3Vic2NyaWJlKChjbG91ZEZpbGVzOiBhbnkpID0+IHtcclxuICAgICAgICAgIGlmIChjbG91ZEZpbGVzLmxlbmd0aCkge1xyXG4gICAgICAgICAgICAvL3RoZXJlIGlzIGEgY2xvdWQgZmlsZSBhc3NvY2lhdGVkIHdpdGggdGhpcyByZXBvcnRcclxuICAgICAgICAgICAgaWYgKGNsb3VkRmlsZXNbMF0uRmlsZW5hbWUuZW5kc1dpdGgoXCIubXJ0XCIpKSB7XHJcbiAgICAgICAgICAgICAgLy90aGlzIGlzIGEgc3RpbXVsc29mdCByZXBvcnQsIGNoZWNrIGlmIGxpY2Vuc2UgZmlsZSBleGlzdHNcclxuXHJcbiAgICAgICAgICAgICAgdGhpcy5kYXRhQ29udGV4dC5lbnRpdHlBY2Nlc3MoKS5zZWFyY2godGhpcy5tb2RlbFR5cGVMb29rdXAuZ2V0VHlwZSgnVHJ1RGJDb25maWcnKSwgKHF1ZXJ5OiBhbnkpID0+IHtcclxuICAgICAgICAgICAgICAgIHZhciBwcmVkaWNhdGUgPSBuZXcgYnJlZXplLlByZWRpY2F0ZSgnS2V5JywgYnJlZXplLkZpbHRlclF1ZXJ5T3AuRXF1YWxzLCAnU3RpbXVsc29mdExpY2Vuc2VQYXRoJyk7XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gcXVlcnkud2hlcmUocHJlZGljYXRlKTtcclxuICAgICAgICAgICAgICB9LCBudWxsLCBmYWxzZSkuc3Vic2NyaWJlKChjb25maWc6IGFueSkgPT4ge1xyXG4gICAgICAgICAgICAgICAgaWYgKCFjb25maWcubGVuZ3RoIHx8ICFjb25maWdbMF0uVmFsdWUpIHtcclxuICAgICAgICAgICAgICAgICAgLy9kbyBub3RoaW5nLCBubyBtZW51IG9wdGlvbiB3aWxsIGJlIHB1c2hlZCBpbnRvIHRoZSBkb20gc2luY2VcclxuICAgICAgICAgICAgICAgICAgLy93ZSBjb3VsZG4ndCBmaW5kIHRoZSByZXF1aXJlZCBsaWNlbnNlIHBhdGggaW5mbyBpbiB0aGUgY29uZmlnXHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICBlbHNlIHtcclxuICAgICAgICAgICAgICAgICAgLy92YXIgcGF0aCA9IGNvbmZpZ1swXS5WYWx1ZS5yZXBsYWNlKFwiflwiLCBcIlwiKTtcclxuICAgICAgICAgICAgICAgICAgLy90aGlzLmdldChwYXRoLCAnZ2V0JywgKGRhdGE6IGFueSkgPT4ge1xyXG4gICAgICAgICAgICAgICAgICAvLyAgaWYgKGRhdGEubGVuZ3RoKSB7XHJcblxyXG4gICAgICAgICAgICAgICAgICAvLyAgfVxyXG4gICAgICAgICAgICAgICAgICAvL30pO1xyXG4gICAgICAgICAgICAgICAgICB0aGlzLnNldHVwTWVudUltcGwocmVwb3J0c1tpXSwgbWVudSwgZ2V0QWN0aW9uUmVmcywgZW5hYmxlZCk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICAgICAgLy90aGVyZSBpcyBhIGNsb3VkIGZpbGUgYXNzb2NpYXRlZCB3aXRoIHRoaXMgcmVwb3J0LCBidXQgaXQgaXNuJ3QgYW4gbXJ0IHJlcG9ydCBwdXNoIG1lbnUgb3B0aW9uXHJcbiAgICAgICAgICAgICAgLy9zaW5jZSB0aGlzIGEgZGlmZmVyZW50IHR5cGUgb2YgcmVwb3J0ICh3b3JkLCBleGNlbClcclxuICAgICAgICAgICAgICB0aGlzLnNldHVwTWVudUltcGwocmVwb3J0c1tpXSwgbWVudSwgZ2V0QWN0aW9uUmVmcywgZW5hYmxlZCk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH1cclxuICAgICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgICAvL25vIGNsb3VkIGZpbGUsIHNvIG5vIG5lZWQgdG8gY2hlY2sgZm9yIGxpY2Vuc2UsIHB1c2ggbWVudSBvcHRpb25cclxuICAgICAgICAgICAgLy9zaW5jZSB0aGlzIGNvdWxkIGJlIGEgbm9uIG1ydCByZXBvcnQgKHdvcmQsIGV4Y2VsKVxyXG4gICAgICAgICAgICB0aGlzLnNldHVwTWVudUltcGwocmVwb3J0c1tpXSwgbWVudSwgZ2V0QWN0aW9uUmVmcywgZW5hYmxlZCk7XHJcblxyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH0pO1xyXG4gICAgICB9XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIHF1ZXJ5UmVwb3J0cyA9ICh0YWJsZU5hbWU6IHN0cmluZywgbWVudTogYW55LCBnZXRBY3Rpb25SZWZzOiBzdHJpbmcsIGVuYWJsZWQ6ICgpID0+IHt9KTogT2JzZXJ2YWJsZTxhbnk+ID0+IHtcclxuICAgIHJldHVybiBuZXcgT2JzZXJ2YWJsZShvYnMgPT4ge1xyXG4gICAgICB0aGlzLmFwcEVudmlyb25tZW50Lmdsb2JhbERhdGFDb250ZXh0Py5lbnRpdHlBY2Nlc3MoKS5zZWFyY2hDYWNoZU9ubHkodGhpcy5tb2RlbFR5cGVMb29rdXAuZ2V0VHlwZSgnVHJ1RGJSZXBvcnQnKSwgKHF1ZXJ5OiBhbnkpID0+IHtcclxuICAgICAgICB2YXIgcHJlZGljYXRlID0gbmV3IGJyZWV6ZS5QcmVkaWNhdGUoJ093bmVyVHJ1RGJVc2VyUmVmJywgYnJlZXplLkZpbHRlclF1ZXJ5T3AuRXF1YWxzLCB0aGlzLnVzZXIuYWN0aXZlVXNlclJlZilcclxuICAgICAgICAgIC5vcignT3duZXJUcnVEYlVzZXJSZWYnLCBicmVlemUuRmlsdGVyUXVlcnlPcC5FcXVhbHMsIG51bGwpXHJcbiAgICAgICAgICAub3IoJ1B1YmxpYycsIGJyZWV6ZS5GaWx0ZXJRdWVyeU9wLkVxdWFscywgdHJ1ZSlcclxuICAgICAgICAgIC5hbmQoJ1RhYmxlTmFtZScsIGJyZWV6ZS5GaWx0ZXJRdWVyeU9wLkVxdWFscywgdGFibGVOYW1lKTtcclxuICAgICAgICByZXR1cm4gcXVlcnkud2hlcmUocHJlZGljYXRlKTtcclxuICAgICAgfSkuc3Vic2NyaWJlKChyZXBvcnRzKSA9PiB7XHJcbiAgICAgICAgaWYgKHJlcG9ydHMubGVuZ3RoKSB7XHJcbiAgICAgICAgICB0aGlzLnNldHVwTWVudShyZXBvcnRzLCBtZW51LCBnZXRBY3Rpb25SZWZzLCBlbmFibGVkKS5zdWJzY3JpYmUoKCkgPT4ge1xyXG4gICAgICAgICAgICBvYnMubmV4dChtZW51KTtcclxuICAgICAgICAgIH0pO1xyXG4gICAgICAgIH1cclxuICAgICAgICBlbHNlIHtcclxuICAgICAgICAgIG9icy5uZXh0KG1lbnUpO1xyXG4gICAgICAgIH1cclxuICAgICAgICBvYnMuY29tcGxldGUoKTtcclxuICAgICAgfSk7XHJcbiAgICB9KTtcclxuICB9O1xyXG59XHJcbiJdfQ==
@@ -8052,43 +8052,47 @@ class TruReportManager {
8052
8052
  obj.send(params);
8053
8053
  return obj;
8054
8054
  }
8055
- setupMenu(report, menu, getActionRefs, enabled) {
8056
- this.dataContext.entityAccess().search(this.modelTypeLookup.getType('TruDbCloudFile'), (query) => {
8057
- var predicate = new breeze.Predicate('TruDbCloudFileRef', breeze.FilterQueryOp.Equals, report.ReportTruDbCloudFileRef);
8058
- return query.where(predicate);
8059
- }, null, false).subscribe((cloudFiles) => {
8060
- if (cloudFiles.length) {
8061
- //there is a cloud file associated with this report
8062
- if (cloudFiles[0].Filename.endsWith(".mrt")) {
8063
- //this is a stimulsoft report, check if license file exists
8064
- this.dataContext.entityAccess().search(this.modelTypeLookup.getType('TruDbConfig'), (query) => {
8065
- var predicate = new breeze.Predicate('Key', breeze.FilterQueryOp.Equals, 'StimulsoftLicensePath');
8066
- return query.where(predicate);
8067
- }, null, false).subscribe((config) => {
8068
- if (!config.length || !config[0].Value) {
8069
- //do nothing, no menu option will be pushed into the dom since
8070
- //we couldn't find the required license path info in the config
8055
+ setupMenu(reports, menu, getActionRefs, enabled) {
8056
+ return new Observable(obs => {
8057
+ for (var i = 0; i < reports.length; i++) {
8058
+ this.dataContext.entityAccess().search(this.modelTypeLookup.getType('TruDbCloudFile'), (query) => {
8059
+ var predicate = new breeze.Predicate('TruDbCloudFileRef', breeze.FilterQueryOp.Equals, reports[i].ReportTruDbCloudFileRef);
8060
+ return query.where(predicate);
8061
+ }, null, false).subscribe((cloudFiles) => {
8062
+ if (cloudFiles.length) {
8063
+ //there is a cloud file associated with this report
8064
+ if (cloudFiles[0].Filename.endsWith(".mrt")) {
8065
+ //this is a stimulsoft report, check if license file exists
8066
+ this.dataContext.entityAccess().search(this.modelTypeLookup.getType('TruDbConfig'), (query) => {
8067
+ var predicate = new breeze.Predicate('Key', breeze.FilterQueryOp.Equals, 'StimulsoftLicensePath');
8068
+ return query.where(predicate);
8069
+ }, null, false).subscribe((config) => {
8070
+ if (!config.length || !config[0].Value) {
8071
+ //do nothing, no menu option will be pushed into the dom since
8072
+ //we couldn't find the required license path info in the config
8073
+ }
8074
+ else {
8075
+ //var path = config[0].Value.replace("~", "");
8076
+ //this.get(path, 'get', (data: any) => {
8077
+ // if (data.length) {
8078
+ // }
8079
+ //});
8080
+ this.setupMenuImpl(reports[i], menu, getActionRefs, enabled);
8081
+ }
8082
+ });
8071
8083
  }
8072
8084
  else {
8073
- //var path = config[0].Value.replace("~", "");
8074
- //this.get(path, 'get', (data: any) => {
8075
- // if (data.length) {
8076
- // }
8077
- //});
8078
- this.setupMenuImpl(report, menu, getActionRefs, enabled);
8085
+ //there is a cloud file associated with this report, but it isn't an mrt report push menu option
8086
+ //since this a different type of report (word, excel)
8087
+ this.setupMenuImpl(reports[i], menu, getActionRefs, enabled);
8079
8088
  }
8080
- });
8081
- }
8082
- else {
8083
- //there is a cloud file associated with this report, but it isn't an mrt report push menu option
8084
- //since this a different type of report (word, excel)
8085
- this.setupMenuImpl(report, menu, getActionRefs, enabled);
8086
- }
8087
- }
8088
- else {
8089
- //no cloud file, so no need to check for license, push menu option
8090
- //since this could be a non mrt report (word, excel)
8091
- this.setupMenuImpl(report, menu, getActionRefs, enabled);
8089
+ }
8090
+ else {
8091
+ //no cloud file, so no need to check for license, push menu option
8092
+ //since this could be a non mrt report (word, excel)
8093
+ this.setupMenuImpl(reports[i], menu, getActionRefs, enabled);
8094
+ }
8095
+ });
8092
8096
  }
8093
8097
  });
8094
8098
  }
@@ -8102,10 +8106,9 @@ class TruReportManager {
8102
8106
  return query.where(predicate);
8103
8107
  }).subscribe((reports) => {
8104
8108
  if (reports.length) {
8105
- for (var i = 0; i < reports.length; i++) {
8106
- this.setupMenu(reports[i], menu, getActionRefs, enabled);
8107
- }
8108
- obs.next(menu);
8109
+ this.setupMenu(reports, menu, getActionRefs, enabled).subscribe(() => {
8110
+ obs.next(menu);
8111
+ });
8109
8112
  }
8110
8113
  else {
8111
8114
  obs.next(menu);