@memberjunction/ng-explorer-core 2.124.0 → 2.126.0
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.
- package/dist/lib/resource-wrappers/chat-collections-resource.component.d.ts +9 -0
- package/dist/lib/resource-wrappers/chat-collections-resource.component.d.ts.map +1 -1
- package/dist/lib/resource-wrappers/chat-collections-resource.component.js +12 -4
- package/dist/lib/resource-wrappers/chat-collections-resource.component.js.map +1 -1
- package/dist/lib/resource-wrappers/chat-conversations-resource.component.d.ts +9 -0
- package/dist/lib/resource-wrappers/chat-conversations-resource.component.d.ts.map +1 -1
- package/dist/lib/resource-wrappers/chat-conversations-resource.component.js +12 -4
- package/dist/lib/resource-wrappers/chat-conversations-resource.component.js.map +1 -1
- package/dist/lib/resource-wrappers/resource-wrappers-loader.d.ts.map +1 -1
- package/dist/lib/resource-wrappers/resource-wrappers-loader.js +0 -2
- package/dist/lib/resource-wrappers/resource-wrappers-loader.js.map +1 -1
- package/dist/module.d.ts +74 -77
- package/dist/module.d.ts.map +1 -1
- package/dist/module.js +0 -15
- package/dist/module.js.map +1 -1
- package/dist/public-api.d.ts +0 -3
- package/dist/public-api.d.ts.map +1 -1
- package/dist/public-api.js +0 -3
- package/dist/public-api.js.map +1 -1
- package/package.json +36 -36
- package/dist/lib/resource-wrappers/report-resource.component.d.ts +0 -13
- package/dist/lib/resource-wrappers/report-resource.component.d.ts.map +0 -1
- package/dist/lib/resource-wrappers/report-resource.component.js +0 -49
- package/dist/lib/resource-wrappers/report-resource.component.js.map +0 -1
- package/dist/lib/single-report/single-report.component.d.ts +0 -17
- package/dist/lib/single-report/single-report.component.d.ts.map +0 -1
- package/dist/lib/single-report/single-report.component.js +0 -55
- package/dist/lib/single-report/single-report.component.js.map +0 -1
- package/dist/lib/single-view/single-view.component.d.ts +0 -43
- package/dist/lib/single-view/single-view.component.d.ts.map +0 -1
- package/dist/lib/single-view/single-view.component.js +0 -207
- package/dist/lib/single-view/single-view.component.js.map +0 -1
|
@@ -1,207 +0,0 @@
|
|
|
1
|
-
import { Component, Input, Output, EventEmitter } from '@angular/core';
|
|
2
|
-
//import { UserViewGridWithAnalysisComponent } from '@memberjunction/ng-ask-skip';
|
|
3
|
-
import { Metadata, LogError, EntityPermissionType } from '@memberjunction/core';
|
|
4
|
-
import { distinctUntilChanged, Subject } from "rxjs";
|
|
5
|
-
import { debounceTime } from "rxjs/operators";
|
|
6
|
-
import { ViewInfo } from '@memberjunction/core-entities';
|
|
7
|
-
import { RecentAccessService } from '@memberjunction/ng-shared';
|
|
8
|
-
import * as i0 from "@angular/core";
|
|
9
|
-
import * as i1 from "@angular/router";
|
|
10
|
-
import * as i2 from "@memberjunction/ng-shared";
|
|
11
|
-
import * as i3 from "@angular/common";
|
|
12
|
-
import * as i4 from "@angular/forms";
|
|
13
|
-
import * as i5 from "@progress/kendo-angular-inputs";
|
|
14
|
-
import * as i6 from "@memberjunction/ng-user-view-properties";
|
|
15
|
-
import * as i7 from "@memberjunction/ng-resource-permissions";
|
|
16
|
-
function SingleViewComponent_Conditional_0_Template(rf, ctx) { if (rf & 1) {
|
|
17
|
-
i0.ɵɵelement(0, "mj-request-resource-access", 0);
|
|
18
|
-
} if (rf & 2) {
|
|
19
|
-
const ctx_r0 = i0.ɵɵnextContext();
|
|
20
|
-
i0.ɵɵproperty("ResourceRecordID", ctx_r0.selectedView.ID)("ResourceName", ctx_r0.selectedView.Name);
|
|
21
|
-
} }
|
|
22
|
-
function SingleViewComponent_mj_user_view_properties_dialog_5_Template(rf, ctx) { if (rf & 1) {
|
|
23
|
-
const _r2 = i0.ɵɵgetCurrentView();
|
|
24
|
-
i0.ɵɵelementStart(0, "mj-user-view-properties-dialog", 6);
|
|
25
|
-
i0.ɵɵlistener("dialogClosed", function SingleViewComponent_mj_user_view_properties_dialog_5_Template_mj_user_view_properties_dialog_dialogClosed_0_listener($event) { i0.ɵɵrestoreView(_r2); const ctx_r0 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r0.viewPropertiesDialogClosed($event)); });
|
|
26
|
-
i0.ɵɵelementEnd();
|
|
27
|
-
} if (rf & 2) {
|
|
28
|
-
const ctx_r0 = i0.ɵɵnextContext();
|
|
29
|
-
i0.ɵɵproperty("ViewID", ctx_r0.selectedView.ID);
|
|
30
|
-
} }
|
|
31
|
-
export class SingleViewComponent {
|
|
32
|
-
router;
|
|
33
|
-
route;
|
|
34
|
-
sharedService;
|
|
35
|
-
//@ViewChild(UserViewGridWithAnalysisComponent, {static: true}) viewGridWithAnalysis!: UserViewGridWithAnalysisComponent;
|
|
36
|
-
viewId = null;
|
|
37
|
-
viewName = null;
|
|
38
|
-
selectedView = null;
|
|
39
|
-
extraFilter = null;
|
|
40
|
-
entityName = null;
|
|
41
|
-
loadComplete = new EventEmitter();
|
|
42
|
-
selectedEntity = null;
|
|
43
|
-
showSearch = false;
|
|
44
|
-
searchText = '';
|
|
45
|
-
entityObjectName = '';
|
|
46
|
-
canCreateRecord = false;
|
|
47
|
-
searchDebounce$ = new Subject();
|
|
48
|
-
_deferLoadCount = 0;
|
|
49
|
-
recentAccessService;
|
|
50
|
-
constructor(router, route, sharedService) {
|
|
51
|
-
this.router = router;
|
|
52
|
-
this.route = route;
|
|
53
|
-
this.sharedService = sharedService;
|
|
54
|
-
this.recentAccessService = new RecentAccessService();
|
|
55
|
-
}
|
|
56
|
-
ngAfterViewInit() {
|
|
57
|
-
this.initialLoad();
|
|
58
|
-
}
|
|
59
|
-
ngOnInit() {
|
|
60
|
-
this.setupSearchDebounce();
|
|
61
|
-
}
|
|
62
|
-
async initialLoad() {
|
|
63
|
-
const md = new Metadata();
|
|
64
|
-
if (this.viewId || this.viewName) {
|
|
65
|
-
let view = null;
|
|
66
|
-
if (this.viewId)
|
|
67
|
-
view = await ViewInfo.GetViewEntity(this.viewId);
|
|
68
|
-
else if (this.viewName)
|
|
69
|
-
view = await ViewInfo.GetViewEntityByName(this.viewName);
|
|
70
|
-
if (view) {
|
|
71
|
-
this.selectedView = view;
|
|
72
|
-
await this.LoadView(view);
|
|
73
|
-
const e = md.Entities.find(e => e.ID === view?.EntityID);
|
|
74
|
-
if (e) {
|
|
75
|
-
this.selectedEntity = e;
|
|
76
|
-
this.showSearch = e.AllowUserSearchAPI;
|
|
77
|
-
}
|
|
78
|
-
}
|
|
79
|
-
}
|
|
80
|
-
else if (this.entityName && this.entityName.length > 0) {
|
|
81
|
-
// we are running a dynamic view here, not a view by ID
|
|
82
|
-
const e = md.Entities.find(e => e.Name.trim().toLowerCase() === this.entityName?.trim().toLowerCase());
|
|
83
|
-
if (e) {
|
|
84
|
-
this.selectedEntity = e;
|
|
85
|
-
this.showSearch = e.AllowUserSearchAPI;
|
|
86
|
-
await this.LoadDynamicView();
|
|
87
|
-
}
|
|
88
|
-
else {
|
|
89
|
-
// problem, we don't have a valid entity name
|
|
90
|
-
LogError(`Invalid entity name: ${this.entityName}`);
|
|
91
|
-
this.sharedService.CreateSimpleNotification(`The entity name ${this.entityName} is not valid. Please check the URL and try again.`, "error", 5000);
|
|
92
|
-
}
|
|
93
|
-
}
|
|
94
|
-
if (this.selectedEntity) {
|
|
95
|
-
const entityObj = await md.GetEntityObject(this.selectedEntity.Name);
|
|
96
|
-
this.canCreateRecord = entityObj.CheckPermissions(EntityPermissionType.Create, false);
|
|
97
|
-
this.entityObjectName = this.selectedEntity.Name;
|
|
98
|
-
}
|
|
99
|
-
}
|
|
100
|
-
async handleRowClick(args) {
|
|
101
|
-
// tell the router to navigate instead of raising an event directly. router will in turn handle raising the event as required
|
|
102
|
-
this.router.navigate(['resource', 'record', args.CompositeKey.ToURLSegment()], { queryParams: { Entity: args.entityName } });
|
|
103
|
-
}
|
|
104
|
-
async LoadView(viewInfo) {
|
|
105
|
-
// load up the view
|
|
106
|
-
// if (this.viewGridWithAnalysis &&
|
|
107
|
-
// viewInfo && viewInfo.ID && viewInfo.ID.length > 0) {
|
|
108
|
-
// this.selectedView = <UserViewEntityExtended>viewInfo; // didn't change the param type of this variable because we didn't want a breaking change in the 2.x era of the system, when we go to 3.0 we can change this to UserViewEntityExtended
|
|
109
|
-
// await this.viewGridWithAnalysis.Refresh({
|
|
110
|
-
// ViewEntity: viewInfo,
|
|
111
|
-
// ViewID: viewInfo.ID,
|
|
112
|
-
// UserSearchString: this.searchText
|
|
113
|
-
// });
|
|
114
|
-
// // Log access to view (fire-and-forget, don't await)
|
|
115
|
-
// this.recentAccessService.logAccess('User Views', viewInfo.ID, 'view');
|
|
116
|
-
// this.loadComplete.emit();
|
|
117
|
-
// }
|
|
118
|
-
}
|
|
119
|
-
async LoadDynamicView() {
|
|
120
|
-
// if (this.viewGridWithAnalysis) {
|
|
121
|
-
// this.selectedView = null;
|
|
122
|
-
// await this.viewGridWithAnalysis.Refresh({
|
|
123
|
-
// EntityName: this.entityName!,
|
|
124
|
-
// ExtraFilter: this.extraFilter!,
|
|
125
|
-
// UserSearchString: this.searchText
|
|
126
|
-
// })
|
|
127
|
-
// this.loadComplete.emit();
|
|
128
|
-
// }
|
|
129
|
-
}
|
|
130
|
-
async Refresh() {
|
|
131
|
-
if (this.selectedView)
|
|
132
|
-
await this.LoadView(this.selectedView);
|
|
133
|
-
else
|
|
134
|
-
await this.LoadDynamicView();
|
|
135
|
-
}
|
|
136
|
-
onSearch(inputValue) {
|
|
137
|
-
this.searchDebounce$.next(inputValue);
|
|
138
|
-
}
|
|
139
|
-
setupSearchDebounce() {
|
|
140
|
-
this.searchDebounce$.pipe(debounceTime(500), // updated to 500ms to reduce API calls and since most people don't type super fast
|
|
141
|
-
distinctUntilChanged()).subscribe((inputValue) => {
|
|
142
|
-
this.search(inputValue);
|
|
143
|
-
});
|
|
144
|
-
}
|
|
145
|
-
async search(inputValue) {
|
|
146
|
-
this.searchText = inputValue;
|
|
147
|
-
await this.Refresh();
|
|
148
|
-
}
|
|
149
|
-
viewPropertiesDialogClosed(args) {
|
|
150
|
-
if (args && args.Saved && args.ViewEntity) {
|
|
151
|
-
this.selectedView = args.ViewEntity;
|
|
152
|
-
this.Refresh();
|
|
153
|
-
}
|
|
154
|
-
}
|
|
155
|
-
get UserCanView() {
|
|
156
|
-
if (this.selectedView)
|
|
157
|
-
return this.selectedView.UserCanView;
|
|
158
|
-
else
|
|
159
|
-
return true;
|
|
160
|
-
}
|
|
161
|
-
dynamicWrapperStyle() {
|
|
162
|
-
if (this.UserCanView)
|
|
163
|
-
return {};
|
|
164
|
-
else
|
|
165
|
-
return {
|
|
166
|
-
"display": "none"
|
|
167
|
-
};
|
|
168
|
-
}
|
|
169
|
-
static ɵfac = function SingleViewComponent_Factory(t) { return new (t || SingleViewComponent)(i0.ɵɵdirectiveInject(i1.Router), i0.ɵɵdirectiveInject(i1.ActivatedRoute), i0.ɵɵdirectiveInject(i2.SharedService)); };
|
|
170
|
-
static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: SingleViewComponent, selectors: [["mj-single-view"]], inputs: { viewId: "viewId", viewName: "viewName", selectedView: "selectedView", extraFilter: "extraFilter", entityName: "entityName" }, outputs: { loadComplete: "loadComplete" }, decls: 6, vars: 5, consts: [["ResourceType", "User Views", 3, "ResourceRecordID", "ResourceName"], [1, "single-view-wrap", 3, "ngStyle"], [1, "searchBox"], ["id", "txtSearch", "placeholder", "Search here...", "kendoTextBox", "", 3, "valueChange", "ngModelChange", "clearButton", "ngModel"], [1, "flex-row"], ["class", "padding-left-small", 3, "ViewID", "dialogClosed", 4, "ngIf"], [1, "padding-left-small", 3, "dialogClosed", "ViewID"]], template: function SingleViewComponent_Template(rf, ctx) { if (rf & 1) {
|
|
171
|
-
i0.ɵɵtemplate(0, SingleViewComponent_Conditional_0_Template, 1, 2, "mj-request-resource-access", 0);
|
|
172
|
-
i0.ɵɵelementStart(1, "div", 1)(2, "div", 2)(3, "kendo-textbox", 3);
|
|
173
|
-
i0.ɵɵlistener("valueChange", function SingleViewComponent_Template_kendo_textbox_valueChange_3_listener($event) { return ctx.onSearch($event); });
|
|
174
|
-
i0.ɵɵtwoWayListener("ngModelChange", function SingleViewComponent_Template_kendo_textbox_ngModelChange_3_listener($event) { i0.ɵɵtwoWayBindingSet(ctx.searchText, $event) || (ctx.searchText = $event); return $event; });
|
|
175
|
-
i0.ɵɵelementEnd();
|
|
176
|
-
i0.ɵɵelementStart(4, "div", 4);
|
|
177
|
-
i0.ɵɵtemplate(5, SingleViewComponent_mj_user_view_properties_dialog_5_Template, 1, 1, "mj-user-view-properties-dialog", 5);
|
|
178
|
-
i0.ɵɵelementEnd()()();
|
|
179
|
-
} if (rf & 2) {
|
|
180
|
-
i0.ɵɵconditional(!ctx.UserCanView && ctx.selectedView && ctx.selectedView.ID ? 0 : -1);
|
|
181
|
-
i0.ɵɵadvance();
|
|
182
|
-
i0.ɵɵproperty("ngStyle", ctx.dynamicWrapperStyle());
|
|
183
|
-
i0.ɵɵadvance(2);
|
|
184
|
-
i0.ɵɵproperty("clearButton", true);
|
|
185
|
-
i0.ɵɵtwoWayProperty("ngModel", ctx.searchText);
|
|
186
|
-
i0.ɵɵadvance(2);
|
|
187
|
-
i0.ɵɵproperty("ngIf", ctx.selectedView);
|
|
188
|
-
} }, dependencies: [i3.NgIf, i3.NgStyle, i4.NgControlStatus, i4.NgModel, i5.TextBoxComponent, i6.UserViewPropertiesDialogComponent, i7.RequestResourceAccessComponent], styles: [".single-view-wrap[_ngcontent-%COMP%] {\n padding: 10px;\n}\n\n .analysis-wrapper .k-tabstrip-items-wrapper {\n background: var(--white-color) !important;\n padding-left: 0 !important;\n}\n\n .analysis-wrapper .k-tabstrip-items-wrapper .k-tabstrip-items .k-tabstrip-item.k-active {\n border-bottom: 3px solid var(--border-blue) !important;\n}\n\n .analysis-wrapper .k-tabstrip-items-wrapper .k-tabstrip-items .k-tabstrip-item {\n background: var(--white-color) !important;\n border-right: 0 !important;\n}\n\n.flex-row[_ngcontent-%COMP%] {\n display: flex;\n flex-direction: row;\n}\n\n.padding-left-small[_ngcontent-%COMP%] {\n padding-left: 10px;\n}"] });
|
|
189
|
-
}
|
|
190
|
-
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(SingleViewComponent, [{
|
|
191
|
-
type: Component,
|
|
192
|
-
args: [{ selector: 'mj-single-view', template: "@if (!UserCanView && selectedView && selectedView.ID) {\n <mj-request-resource-access\n [ResourceRecordID]=\"selectedView!.ID\"\n ResourceType=\"User Views\"\n [ResourceName]=\"selectedView.Name\"\n >\n\n </mj-request-resource-access>\n}\n<div class=\"single-view-wrap\"\n [ngStyle]=\"dynamicWrapperStyle()\">\n\n <div class=\"card-container\" class=\"searchBox\">\n <kendo-textbox\n id=\"txtSearch\"\n placeholder=\"Search here...\"\n kendoTextBox\n (valueChange)=\"onSearch($event)\"\n [clearButton]=\"true\"\n [(ngModel)]=\"searchText\"\n ></kendo-textbox>\n\n <div class=\"flex-row\">\n <mj-user-view-properties-dialog class=\"padding-left-small\" *ngIf=\"selectedView\" [ViewID]=\"selectedView.ID\" (dialogClosed)=\"this.viewPropertiesDialogClosed($event)\"/>\n </div>\n </div>\n\n <!-- <mj-user-view-grid-with-analysis class=\"analysis-wrapper\" (rowClicked)=\"handleRowClick($event)\" [AutoNavigate]=\"false\" /> -->\n</div>", styles: [".single-view-wrap {\n padding: 10px;\n}\n\n::ng-deep .analysis-wrapper .k-tabstrip-items-wrapper {\n background: var(--white-color) !important;\n padding-left: 0 !important;\n}\n\n::ng-deep .analysis-wrapper .k-tabstrip-items-wrapper .k-tabstrip-items .k-tabstrip-item.k-active {\n border-bottom: 3px solid var(--border-blue) !important;\n}\n\n::ng-deep .analysis-wrapper .k-tabstrip-items-wrapper .k-tabstrip-items .k-tabstrip-item {\n background: var(--white-color) !important;\n border-right: 0 !important;\n}\n\n.flex-row {\n display: flex;\n flex-direction: row;\n}\n\n.padding-left-small {\n padding-left: 10px;\n}"] }]
|
|
193
|
-
}], () => [{ type: i1.Router }, { type: i1.ActivatedRoute }, { type: i2.SharedService }], { viewId: [{
|
|
194
|
-
type: Input
|
|
195
|
-
}], viewName: [{
|
|
196
|
-
type: Input
|
|
197
|
-
}], selectedView: [{
|
|
198
|
-
type: Input
|
|
199
|
-
}], extraFilter: [{
|
|
200
|
-
type: Input
|
|
201
|
-
}], entityName: [{
|
|
202
|
-
type: Input
|
|
203
|
-
}], loadComplete: [{
|
|
204
|
-
type: Output
|
|
205
|
-
}] }); })();
|
|
206
|
-
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(SingleViewComponent, { className: "SingleViewComponent", filePath: "src/lib/single-view/single-view.component.ts", lineNumber: 16 }); })();
|
|
207
|
-
//# sourceMappingURL=single-view.component.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"single-view.component.js","sourceRoot":"","sources":["../../../src/lib/single-view/single-view.component.ts","../../../src/lib/single-view/single-view.component.html"],"names":[],"mappings":"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"}
|