@memberjunction/ng-explorer-core 1.7.1 → 1.8.1
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/app-view/application-view.component.d.ts +1 -0
- package/dist/lib/app-view/application-view.component.d.ts.map +1 -1
- package/dist/lib/app-view/application-view.component.js +15 -0
- package/dist/lib/navigation/navigation.component.js +2 -2
- package/dist/lib/user-notifications/user-notifications.component.js +2 -2
- package/package.json +18 -18
|
@@ -48,6 +48,7 @@ export declare class ApplicationViewComponent extends BaseBrowserComponent imple
|
|
|
48
48
|
}): Promise<void>;
|
|
49
49
|
GoToApps(event: Event): Promise<void>;
|
|
50
50
|
GoHome(event: Event): Promise<void>;
|
|
51
|
+
sortAppEntites(entities: EntityEntity[]): EntityEntity[];
|
|
51
52
|
static ɵfac: i0.ɵɵFactoryDeclaration<ApplicationViewComponent, never>;
|
|
52
53
|
static ɵcmp: i0.ɵɵComponentDeclaration<ApplicationViewComponent, "mj-application-view", never, { "categoryEntityID": { "alias": "categoryEntityID"; "required": false; }; }, {}, never, never, false, never>;
|
|
53
54
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"application-view.component.d.ts","sourceRoot":"","sources":["../../../src/lib/app-view/application-view.component.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAoB,MAAM,EAAwB,MAAM,eAAe,CAAC;AAClG,OAAO,EAAE,cAAc,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAA;AACxD,OAAO,EAAE,qBAAqB,EAA0C,eAAe,EAAc,MAAM,sBAAsB,CAAC;AAClI,OAAO,EAAE,YAAY,EAAE,qBAAqB,EAA+B,kBAAkB,EAAkB,sBAAsB,EAAE,MAAM,+BAA+B,CAAC;AAC7K,OAAO,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAC1D,OAAO,EAAU,IAAI,EAAY,MAAM,0BAA0B,CAAC;AAClE,OAAO,EAAE,oBAAoB,EAAE,MAAM,kDAAkD,CAAC;AACxF,OAAO,EAAC,QAAQ,EAAC,MAAM,iBAAiB,CAAC;AACzC,OAAO,EAAE,iCAAiC,EAAE,MAAM,yCAAyC,CAAC;AAC5F,OAAO,EAAE,kBAAkB,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;;AAEvF,qBAKa,wBAAyB,SAAQ,oBAAqB,YAAW,MAAM;IAenE,OAAO,CAAC,MAAM;IAAU,OAAO,CAAC,KAAK;IAAkB,OAAO,CAAC,QAAQ;IAAY,OAAO,CAAC,aAAa;IAAiB,OAAO,CAAC,GAAG;IAdzH,YAAY,EAAE,OAAO,GAAG,SAAS,CAAC;IAC7B,oBAAoB,EAAG,iCAAiC,CAAC;IAEtE,gBAAgB,EAAG,MAAM,CAAC;IAEnC,0BAA0B,EAAE,YAAY,GAAG,SAAS,CAAC;IAErD,+BAA+B,EAAE,OAAO,CAAS;IACjD,cAAc,EAAE,YAAY,EAAE,CAAM;IACpC,mBAAmB,EAAE,YAAY,EAAE,CAAM;IACzC,qBAAqB,EAAE,YAAY,EAAE,CAAM;IAC3C,GAAG,EAAE,eAAe,GAAG,SAAS,CAAC;IACjC,OAAO,EAAE,qBAAqB,GAAG,SAAS,CAAC;gBAE7B,MAAM,EAAE,MAAM,EAAU,KAAK,EAAE,cAAc,EAAU,QAAQ,EAAE,QAAQ,EAAU,aAAa,EAAE,aAAa,EAAU,GAAG,EAAE,iBAAiB;IAM9J,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"application-view.component.d.ts","sourceRoot":"","sources":["../../../src/lib/app-view/application-view.component.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAoB,MAAM,EAAwB,MAAM,eAAe,CAAC;AAClG,OAAO,EAAE,cAAc,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAA;AACxD,OAAO,EAAE,qBAAqB,EAA0C,eAAe,EAAc,MAAM,sBAAsB,CAAC;AAClI,OAAO,EAAE,YAAY,EAAE,qBAAqB,EAA+B,kBAAkB,EAAkB,sBAAsB,EAAE,MAAM,+BAA+B,CAAC;AAC7K,OAAO,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAC1D,OAAO,EAAU,IAAI,EAAY,MAAM,0BAA0B,CAAC;AAClE,OAAO,EAAE,oBAAoB,EAAE,MAAM,kDAAkD,CAAC;AACxF,OAAO,EAAC,QAAQ,EAAC,MAAM,iBAAiB,CAAC;AACzC,OAAO,EAAE,iCAAiC,EAAE,MAAM,yCAAyC,CAAC;AAC5F,OAAO,EAAE,kBAAkB,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;;AAEvF,qBAKa,wBAAyB,SAAQ,oBAAqB,YAAW,MAAM;IAenE,OAAO,CAAC,MAAM;IAAU,OAAO,CAAC,KAAK;IAAkB,OAAO,CAAC,QAAQ;IAAY,OAAO,CAAC,aAAa;IAAiB,OAAO,CAAC,GAAG;IAdzH,YAAY,EAAE,OAAO,GAAG,SAAS,CAAC;IAC7B,oBAAoB,EAAG,iCAAiC,CAAC;IAEtE,gBAAgB,EAAG,MAAM,CAAC;IAEnC,0BAA0B,EAAE,YAAY,GAAG,SAAS,CAAC;IAErD,+BAA+B,EAAE,OAAO,CAAS;IACjD,cAAc,EAAE,YAAY,EAAE,CAAM;IACpC,mBAAmB,EAAE,YAAY,EAAE,CAAM;IACzC,qBAAqB,EAAE,YAAY,EAAE,CAAM;IAC3C,GAAG,EAAE,eAAe,GAAG,SAAS,CAAC;IACjC,OAAO,EAAE,qBAAqB,GAAG,SAAS,CAAC;gBAE7B,MAAM,EAAE,MAAM,EAAU,KAAK,EAAE,cAAc,EAAU,QAAQ,EAAE,QAAQ,EAAU,aAAa,EAAE,aAAa,EAAU,GAAG,EAAE,iBAAiB;IAM9J,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;IAkFxB,gBAAgB,CAAC,MAAM,EAAE,YAAY;IAMrC,4BAA4B;IAKtB,gCAAgC,CAAC,IAAI,EAAE,OAAO;IA8DpD,wBAAwB,CAAC,CAAC,EAAE,YAAY,GAAG,IAAI;cAStC,oBAAoB,CAAC,MAAM,EAAE,YAAY,GAAG,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC;IAqC9E,WAAW,CAAC,IAAI,EAAE,IAAI;IAc7B,eAAe,CAAC,IAAI,EAAE,qBAAqB;IAO3C,iBAAiB,CAAC,GAAG,EAAE,kBAAkB;IAYzC,OAAO,CAAC,qBAAqB;IAqB7B,OAAO,CAAC,WAAW;IAKZ,gBAAgB,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI;IAI/C,aAAa,CAAC,KAAK,EAAE,kBAAkB;IAW1B,QAAQ,CAAC,KAAK,EAAE,qBAAqB,GAAG,OAAO,CAAC,IAAI,CAAC;IAWrD,2BAA2B,CAAC,IAAI,EAAE;QAAC,KAAK,CAAC,EAAE,OAAO,CAAC;QAAC,UAAU,CAAC,EAAE,sBAAsB,CAAC;QAAC,MAAM,CAAC,EAAE,OAAO,CAAC;QAAC,UAAU,CAAC,EAAE,OAAO,CAAA;KAAC,GAAG,OAAO,CAAC,IAAI,CAAC;IAcvJ,QAAQ,CAAC,KAAK,EAAE,KAAK;IAKrB,MAAM,CAAC,KAAK,EAAE,KAAK;IAMzB,cAAc,CAAC,QAAQ,EAAE,YAAY,EAAE,GAAG,YAAY,EAAE;yCA5U/C,wBAAwB;2CAAxB,wBAAwB;CAuVpC"}
|
|
@@ -186,6 +186,7 @@ export class ApplicationViewComponent extends BaseBrowserComponent {
|
|
|
186
186
|
});
|
|
187
187
|
if (userAppEntities && userAppEntities.Success) {
|
|
188
188
|
this.SelectedAppEntities = this.AllAppEntities.filter(e => userAppEntities.Results.some(uae => uae.EntityID === e.ID));
|
|
189
|
+
this.SelectedAppEntities = this.sortAppEntites(this.SelectedAppEntities);
|
|
189
190
|
this.UnselectedAppEntities = this.AllAppEntities.filter(e => !this.SelectedAppEntities.some(sa => sa.ID === e.ID));
|
|
190
191
|
// special case - if we have NO user app entities and the application has entities that are marked as DefaultForNewUser=1 we will add them now
|
|
191
192
|
const defaultEntities = this.app.ApplicationEntities.filter(a => a.DefaultForNewUser);
|
|
@@ -437,6 +438,20 @@ export class ApplicationViewComponent extends BaseBrowserComponent {
|
|
|
437
438
|
this.router.navigate(['home']);
|
|
438
439
|
});
|
|
439
440
|
}
|
|
441
|
+
sortAppEntites(entities) {
|
|
442
|
+
entities.sort(function (a, b) {
|
|
443
|
+
const aName = a.Name.toLowerCase();
|
|
444
|
+
const bName = b.Name.toLowerCase();
|
|
445
|
+
if (aName < bName) {
|
|
446
|
+
return -1;
|
|
447
|
+
}
|
|
448
|
+
if (aName > bName) {
|
|
449
|
+
return 1;
|
|
450
|
+
}
|
|
451
|
+
return 0;
|
|
452
|
+
});
|
|
453
|
+
return entities;
|
|
454
|
+
}
|
|
440
455
|
}
|
|
441
456
|
ApplicationViewComponent.ɵfac = function ApplicationViewComponent_Factory(t) { return new (t || ApplicationViewComponent)(i0.ɵɵdirectiveInject(i1.Router), i0.ɵɵdirectiveInject(i1.ActivatedRoute), i0.ɵɵdirectiveInject(i2.Location), i0.ɵɵdirectiveInject(i3.SharedService), i0.ɵɵdirectiveInject(i0.ChangeDetectorRef)); };
|
|
442
457
|
ApplicationViewComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: ApplicationViewComponent, selectors: [["mj-application-view"]], viewQuery: function ApplicationViewComponent_Query(rf, ctx) { if (rf & 1) {
|
|
@@ -462,13 +462,13 @@ export class NavigationComponent {
|
|
|
462
462
|
const workspaceParams = {
|
|
463
463
|
EntityName: "Workspaces",
|
|
464
464
|
ExtraFilter: `UserID=${md.CurrentUser.ID}`,
|
|
465
|
-
OrderBy: "
|
|
465
|
+
OrderBy: "__mj_UpdatedAt DESC", // by default get the workspace that was most recently updated
|
|
466
466
|
ResultType: "entity_object" /*we want entity objects back so that we can modify them as needed*/
|
|
467
467
|
};
|
|
468
468
|
const workspaces = yield rv.RunView(workspaceParams);
|
|
469
469
|
if (workspaces.Success) {
|
|
470
470
|
if (workspaces.Results.length) {
|
|
471
|
-
this.workSpace = workspaces.Results[0]; // by default get the first one, and since we are sorting by
|
|
471
|
+
this.workSpace = workspaces.Results[0]; // by default get the first one, and since we are sorting by __mj_UpdatedAt DESC above, will be most recently modified one. Future feature for multi-workspace support we'll have to adjust this
|
|
472
472
|
}
|
|
473
473
|
else {
|
|
474
474
|
// no matching record found, so create a new one
|
|
@@ -119,7 +119,7 @@ function UserNotificationsComponent_ng_template_16_Template(rf, ctx) { if (rf &
|
|
|
119
119
|
i0.ɵɵadvance();
|
|
120
120
|
i0.ɵɵtextInterpolate(dataItem_r11.Title);
|
|
121
121
|
i0.ɵɵadvance(3);
|
|
122
|
-
i0.ɵɵtextInterpolate(i0.ɵɵpipeBind2(6, 9, dataItem_r11.
|
|
122
|
+
i0.ɵɵtextInterpolate(i0.ɵɵpipeBind2(6, 9, dataItem_r11.__mj_CreatedAt, "long"));
|
|
123
123
|
i0.ɵɵadvance(3);
|
|
124
124
|
i0.ɵɵtextInterpolate(dataItem_r11.Message);
|
|
125
125
|
i0.ɵɵadvance(2);
|
|
@@ -386,7 +386,7 @@ UserNotificationsComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type:
|
|
|
386
386
|
} }, dependencies: [i3.NgIf, i4.ButtonComponent, i5.TextBoxComponent, i5.TextBoxSuffixTemplateDirective, i6.FillContainer, i7.ItemTemplateDirective, i7.ListViewComponent, i3.DatePipe], styles: [".notification-list-wrap[_ngcontent-%COMP%] {\n height: 800px;\n overflow-y: auto;\n overflow-x: hidden;\n border: solid 1px lightgray;\n}\n\n.k-listview[_ngcontent-%COMP%] {\n font-family: sans-serif;\n border: 0;\n}\n.product[_ngcontent-%COMP%] {\n width: 100%;\n}\n.header[_ngcontent-%COMP%] {\n display: flex;\n background-color: lightgray;\n padding: 12px;\n height: 24px;\n}\n\n.header[_ngcontent-%COMP%] button[_ngcontent-%COMP%] { \n\n margin-right: 10px; \n}\n\n.title[_ngcontent-%COMP%] {\n flex: 1;\n font-size: 22px;\n font-weight: bold;\n}\n.filter-input[_ngcontent-%COMP%] {\n width: 200px;\n}\n.radio-label[_ngcontent-%COMP%] {\n cursor: pointer;\n margin-right: 10px;\n}\n\n.notification-wrap[_ngcontent-%COMP%] {\n padding-left: 10px;\n padding-right: 10px;\n padding-top: 10px;\n padding-bottom: 10px;\n border-bottom: dashed 1px lightgray;\n background-color: white;\n}\n\n.notification-wrap-unread[_ngcontent-%COMP%] {\n background-color: aliceblue;\n}\n\n.notification-wrap-clickable[_ngcontent-%COMP%] {\n cursor: pointer;\n}\n\n.notification-title[_ngcontent-%COMP%] {\n font-size: 16px;\n}\n.notification-wrap-clickable[_ngcontent-%COMP%] > .notification-title[_ngcontent-%COMP%] {\n color: blue;\n text-decoration: underline;\n}\n.notification-title-unread[_ngcontent-%COMP%] {\n font-weight: bold;\n}\n\n.notification-body[_ngcontent-%COMP%] {\n font-size: 14px;\n}\n\n.notification-date[_ngcontent-%COMP%] {\n margin-left: 1px;\n font-size: 12px;\n color: gray;\n font-style: italic;\n}"] });
|
|
387
387
|
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(UserNotificationsComponent, [{
|
|
388
388
|
type: Component,
|
|
389
|
-
args: [{ selector: 'app-user-notifications', template: "<div class=\"notification-list-wrap\" mjFillContainer [bottomMargin]=\"5\"> \n <div class=\"header\">\n <div class=\"title\">\n Notifications\n </div>\n <div>\n <button *ngIf=\"UnreadNotifications.length > 0\" kendoButton (click)=\"markAllAsRead()\">Mark All as Read</button>\n <button *ngIf=\"ReadNotifications.length > 0\" kendoButton (click)=\"markAllAsUnread()\">Mark All as Unread</button>\n <input *ngIf=\"AllNotifications.length > 0\" #allRadio checked type=\"radio\" name=\"UnreadStatus\" value=\"All\" (change)=\"onReadRadioChanged($event)\" /><span *ngIf=\"AllNotifications.length > 0\" class=\"radio-label\" \n (click)=\"selectReadOption('All')\">All</span>\n <input *ngIf=\"UnreadNotifications.length > 0 && ReadNotifications.length > 0\" #unreadRadio type=\"radio\" name=\"UnreadStatus\" value=\"Unread\" (change)=\"onReadRadioChanged($event)\" /><span *ngIf=\"UnreadNotifications.length > 0 && ReadNotifications.length > 0\" class=\"radio-label\" \n (click)=\"selectReadOption('Unread')\">Unread</span>\n <input *ngIf=\"ReadNotifications.length > 0 && UnreadNotifications.length > 0\" #readRadio type=\"radio\" name=\"UnreadStatus\" value=\"Read\" (change)=\"onReadRadioChanged($event)\" /><span *ngIf=\"ReadNotifications.length > 0 && UnreadNotifications.length > 0\" class=\"radio-label\" \n (click)=\"selectReadOption('Read')\">Read</span>\n <kendo-textbox\n class=\"filter-input\"\n placeholder=\"Filter items...\"\n (valueChange)=\"onFilterChanged($event)\"\n >\n <ng-template kendoTextBoxSuffixTemplate>\n <span class=\"fa-solid fa-magnifying-glass\"></span>\n </ng-template>\n </kendo-textbox> \n </div>\n </div> \n\n <kendo-listview [data]=\"NotificationsToShow\">\n <ng-template kendoListViewItemTemplate let-dataItem=\"dataItem\">\n <div [class]=\"getItemWrapperClass(dataItem)\">\n <div [class]=\"getItemTitleClass(dataItem)\" (click)=\"notificationClicked(dataItem)\">{{dataItem.Title}}</div>\n <div class=\"notification-body\" (click)=\"notificationClicked(dataItem)\">\n <div class=\"notification-date\">{{dataItem.
|
|
389
|
+
args: [{ selector: 'app-user-notifications', template: "<div class=\"notification-list-wrap\" mjFillContainer [bottomMargin]=\"5\"> \n <div class=\"header\">\n <div class=\"title\">\n Notifications\n </div>\n <div>\n <button *ngIf=\"UnreadNotifications.length > 0\" kendoButton (click)=\"markAllAsRead()\">Mark All as Read</button>\n <button *ngIf=\"ReadNotifications.length > 0\" kendoButton (click)=\"markAllAsUnread()\">Mark All as Unread</button>\n <input *ngIf=\"AllNotifications.length > 0\" #allRadio checked type=\"radio\" name=\"UnreadStatus\" value=\"All\" (change)=\"onReadRadioChanged($event)\" /><span *ngIf=\"AllNotifications.length > 0\" class=\"radio-label\" \n (click)=\"selectReadOption('All')\">All</span>\n <input *ngIf=\"UnreadNotifications.length > 0 && ReadNotifications.length > 0\" #unreadRadio type=\"radio\" name=\"UnreadStatus\" value=\"Unread\" (change)=\"onReadRadioChanged($event)\" /><span *ngIf=\"UnreadNotifications.length > 0 && ReadNotifications.length > 0\" class=\"radio-label\" \n (click)=\"selectReadOption('Unread')\">Unread</span>\n <input *ngIf=\"ReadNotifications.length > 0 && UnreadNotifications.length > 0\" #readRadio type=\"radio\" name=\"UnreadStatus\" value=\"Read\" (change)=\"onReadRadioChanged($event)\" /><span *ngIf=\"ReadNotifications.length > 0 && UnreadNotifications.length > 0\" class=\"radio-label\" \n (click)=\"selectReadOption('Read')\">Read</span>\n <kendo-textbox\n class=\"filter-input\"\n placeholder=\"Filter items...\"\n (valueChange)=\"onFilterChanged($event)\"\n >\n <ng-template kendoTextBoxSuffixTemplate>\n <span class=\"fa-solid fa-magnifying-glass\"></span>\n </ng-template>\n </kendo-textbox> \n </div>\n </div> \n\n <kendo-listview [data]=\"NotificationsToShow\">\n <ng-template kendoListViewItemTemplate let-dataItem=\"dataItem\">\n <div [class]=\"getItemWrapperClass(dataItem)\">\n <div [class]=\"getItemTitleClass(dataItem)\" (click)=\"notificationClicked(dataItem)\">{{dataItem.Title}}</div>\n <div class=\"notification-body\" (click)=\"notificationClicked(dataItem)\">\n <div class=\"notification-date\">{{dataItem.__mj_CreatedAt | date:'long'}}</div>\n <div class=\"notification-message\">{{dataItem.Message}}</div>\n </div>\n <div>\n <button kendoButton *ngIf=\"dataItem.Unread\" (click)=\"markAsRead(dataItem, true, null)\">Mark as Read</button>\n <button kendoButton *ngIf=\"!dataItem.Unread\" (click)=\"markAsRead(dataItem, false, null)\">Mark as Unread</button>\n </div> \n </div>\n </ng-template>\n </kendo-listview>\n</div>\n", styles: [".notification-list-wrap {\n height: 800px;\n overflow-y: auto;\n overflow-x: hidden;\n border: solid 1px lightgray;\n}\n\n.k-listview {\n font-family: sans-serif;\n border: 0;\n}\n.product {\n width: 100%;\n}\n.header {\n display: flex;\n background-color: lightgray;\n padding: 12px;\n height: 24px;\n}\n\n.header button { /*buttons within the header*/\n margin-right: 10px; \n}\n\n.title {\n flex: 1;\n font-size: 22px;\n font-weight: bold;\n}\n.filter-input {\n width: 200px;\n}\n.radio-label {\n cursor: pointer;\n margin-right: 10px;\n}\n\n.notification-wrap {\n padding-left: 10px;\n padding-right: 10px;\n padding-top: 10px;\n padding-bottom: 10px;\n border-bottom: dashed 1px lightgray;\n background-color: white;\n}\n\n.notification-wrap-unread {\n background-color: aliceblue;\n}\n\n.notification-wrap-clickable {\n cursor: pointer;\n}\n\n.notification-title {\n font-size: 16px;\n}\n.notification-wrap-clickable > .notification-title {\n color: blue;\n text-decoration: underline;\n}\n.notification-title-unread {\n font-weight: bold;\n}\n\n.notification-body {\n font-size: 14px;\n}\n\n.notification-date {\n margin-left: 1px;\n font-size: 12px;\n color: gray;\n font-style: italic;\n}"] }]
|
|
390
390
|
}], () => [{ type: i1.SharedService }, { type: i2.Router }], { allRadio: [{
|
|
391
391
|
type: ViewChild,
|
|
392
392
|
args: ['allRadio']
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@memberjunction/ng-explorer-core",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.8.1",
|
|
4
4
|
"description": "MemberJunction Explorer: Core Angular Components",
|
|
5
5
|
"main": "./dist/public-api.js",
|
|
6
6
|
"typings": "./dist/public-api.d.ts",
|
|
@@ -26,23 +26,23 @@
|
|
|
26
26
|
"@angular/router": "18.0.2"
|
|
27
27
|
},
|
|
28
28
|
"dependencies": {
|
|
29
|
-
"@memberjunction/global": "1.
|
|
30
|
-
"@memberjunction/core": "1.
|
|
31
|
-
"@memberjunction/ng-compare-records": "1.
|
|
32
|
-
"@memberjunction/ng-file-storage": "1.
|
|
33
|
-
"@memberjunction/ng-record-changes": "1.
|
|
34
|
-
"@memberjunction/ng-container-directives": "1.
|
|
35
|
-
"@memberjunction/ng-user-view-grid": "1.
|
|
36
|
-
"@memberjunction/ng-query-grid": "1.
|
|
37
|
-
"@memberjunction/ng-user-view-properties": "1.
|
|
38
|
-
"@memberjunction/ng-shared": "1.
|
|
39
|
-
"@memberjunction/ng-tabstrip": "1.
|
|
40
|
-
"@memberjunction/ng-ask-skip": "1.
|
|
41
|
-
"@memberjunction/ng-auth-services": "1.
|
|
42
|
-
"@memberjunction/ng-explorer-settings": "1.
|
|
43
|
-
"@memberjunction/ng-base-forms": "1.
|
|
44
|
-
"@memberjunction/ng-entity-form-dialog": "1.
|
|
45
|
-
"@memberjunction/ng-record-selector": "1.
|
|
29
|
+
"@memberjunction/global": "1.8.1",
|
|
30
|
+
"@memberjunction/core": "1.8.1",
|
|
31
|
+
"@memberjunction/ng-compare-records": "1.8.1",
|
|
32
|
+
"@memberjunction/ng-file-storage": "1.8.1",
|
|
33
|
+
"@memberjunction/ng-record-changes": "1.8.1",
|
|
34
|
+
"@memberjunction/ng-container-directives": "1.8.1",
|
|
35
|
+
"@memberjunction/ng-user-view-grid": "1.8.1",
|
|
36
|
+
"@memberjunction/ng-query-grid": "1.8.1",
|
|
37
|
+
"@memberjunction/ng-user-view-properties": "1.8.1",
|
|
38
|
+
"@memberjunction/ng-shared": "1.8.1",
|
|
39
|
+
"@memberjunction/ng-tabstrip": "1.8.1",
|
|
40
|
+
"@memberjunction/ng-ask-skip": "1.8.1",
|
|
41
|
+
"@memberjunction/ng-auth-services": "1.8.1",
|
|
42
|
+
"@memberjunction/ng-explorer-settings": "1.8.1",
|
|
43
|
+
"@memberjunction/ng-base-forms": "1.8.1",
|
|
44
|
+
"@memberjunction/ng-entity-form-dialog": "1.8.1",
|
|
45
|
+
"@memberjunction/ng-record-selector": "1.8.1",
|
|
46
46
|
"@progress/kendo-angular-grid": "16.2.0",
|
|
47
47
|
"@progress/kendo-angular-buttons": "16.2.0",
|
|
48
48
|
"@progress/kendo-angular-listview": "16.2.0",
|