@memberjunction/ng-explorer-core 1.8.1 → 2.1.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/app-routing.module.d.ts +4 -0
- package/dist/app-routing.module.d.ts.map +1 -1
- package/dist/app-routing.module.js +60 -3
- package/dist/generic/Events.types.d.ts +13 -0
- package/dist/generic/Events.types.d.ts.map +1 -1
- package/dist/generic/Events.types.js +6 -0
- package/dist/generic/Item.types.d.ts +5 -5
- package/dist/lib/app-view/application-view.component.d.ts +4 -2
- package/dist/lib/app-view/application-view.component.d.ts.map +1 -1
- package/dist/lib/app-view/application-view.component.js +31 -33
- package/dist/lib/base-browser-component/base-browser-component.d.ts +2 -1
- package/dist/lib/base-browser-component/base-browser-component.d.ts.map +1 -1
- package/dist/lib/base-browser-component/base-browser-component.js +7 -5
- package/dist/lib/dashboard-browser-component/dashboard-browser.component.d.ts +3 -0
- package/dist/lib/dashboard-browser-component/dashboard-browser.component.d.ts.map +1 -1
- package/dist/lib/dashboard-browser-component/dashboard-browser.component.js +21 -6
- package/dist/lib/data-browser-component/data-browser.component.d.ts +2 -2
- package/dist/lib/data-browser-component/data-browser.component.d.ts.map +1 -1
- package/dist/lib/data-browser-component/data-browser.component.js +23 -9
- package/dist/lib/expansion-panel-component/expansion-panel-component.js +4 -4
- package/dist/lib/favorites/favorites.component.d.ts.map +1 -1
- package/dist/lib/favorites/favorites.component.js +11 -4
- package/dist/lib/files/files.component.d.ts +3 -1
- package/dist/lib/files/files.component.d.ts.map +1 -1
- package/dist/lib/files/files.component.js +20 -5
- package/dist/lib/generic-browser-list/generic-browser-list.component.d.ts +9 -5
- package/dist/lib/generic-browser-list/generic-browser-list.component.d.ts.map +1 -1
- package/dist/lib/generic-browser-list/generic-browser-list.component.js +21 -21
- package/dist/lib/header/header.component.d.ts.map +1 -1
- package/dist/lib/header/header.component.js +3 -13
- package/dist/lib/home-component/home.component.d.ts +5 -2
- package/dist/lib/home-component/home.component.d.ts.map +1 -1
- package/dist/lib/home-component/home.component.js +49 -51
- package/dist/lib/list-view/list-view.component.d.ts.map +1 -1
- package/dist/lib/list-view/list-view.component.js +15 -3
- package/dist/lib/navigation/navigation.component.d.ts +2 -2
- package/dist/lib/navigation/navigation.component.d.ts.map +1 -1
- package/dist/lib/navigation/navigation.component.js +55 -27
- package/dist/lib/query-browser-component/query-browser.component.d.ts.map +1 -1
- package/dist/lib/query-browser-component/query-browser.component.js +17 -5
- package/dist/lib/report-browser-component/report-browser.component.d.ts.map +1 -1
- package/dist/lib/report-browser-component/report-browser.component.js +15 -3
- package/dist/lib/resource-wrappers/view-resource.component.d.ts.map +1 -1
- package/dist/lib/resource-wrappers/view-resource.component.js +4 -3
- package/dist/lib/single-dashboard/Components/add-item/add-item.component.js +1 -1
- package/dist/lib/single-dashboard/single-dashboard.component.js +1 -1
- package/dist/lib/single-list-detail/single-list-detail.component.d.ts +14 -4
- package/dist/lib/single-list-detail/single-list-detail.component.d.ts.map +1 -1
- package/dist/lib/single-list-detail/single-list-detail.component.js +232 -120
- package/dist/lib/single-query/single-query.component.d.ts +1 -1
- package/dist/lib/single-report/single-report.component.d.ts +1 -1
- package/dist/lib/single-search-result/single-search-result.component.js +1 -1
- package/dist/lib/single-view/single-view.component.d.ts +1 -1
- package/dist/lib/single-view/single-view.component.js +1 -1
- package/dist/lib/user-notifications/user-notifications.component.js +2 -2
- package/package.json +18 -18
|
@@ -27,6 +27,10 @@ interface DetachedRouteHandleExt extends DetachedRouteHandle {
|
|
|
27
27
|
componentRef: ComponentRef<any>;
|
|
28
28
|
}
|
|
29
29
|
export declare class AppRoutingModule {
|
|
30
|
+
private router;
|
|
31
|
+
constructor(router: Router);
|
|
32
|
+
loadDynamicRoutes(): void;
|
|
33
|
+
protected innerLoadDynamicRoutes(): Promise<void>;
|
|
30
34
|
static ɵfac: i0.ɵɵFactoryDeclaration<AppRoutingModule, never>;
|
|
31
35
|
static ɵmod: i0.ɵɵNgModuleDeclaration<AppRoutingModule, never, [typeof i1.RouterModule], [typeof i1.RouterModule]>;
|
|
32
36
|
static ɵinj: i0.ɵɵInjectorDeclaration<AppRoutingModule>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"app-routing.module.d.ts","sourceRoot":"","sources":["../src/app-routing.module.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAwB,MAAM,eAAe,CAAC;AACnE,OAAO,EAAwB,OAAO,EAAE,sBAAsB,EAAE,mBAAmB,EAAE,MAAM,EAAoD,MAAM,iBAAiB,CAAC;AAoBvK,OAAO,EAAc,aAAa,
|
|
1
|
+
{"version":3,"file":"app-routing.module.d.ts","sourceRoot":"","sources":["../src/app-routing.module.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAwB,MAAM,eAAe,CAAC;AACnE,OAAO,EAAwB,OAAO,EAAE,sBAAsB,EAAE,mBAAmB,EAAE,MAAM,EAAoD,MAAM,iBAAiB,CAAC;AAoBvK,OAAO,EAAc,aAAa,EAAyC,MAAM,2BAA2B,CAAC;AAC7G,OAAO,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;;;AAG1E,qBAAa,mBAAoB,YAAW,kBAAkB;IAC5D,YAAY,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,sBAAsB,GAAG,IAAI,CAAA;KAAE,CAAM;IAGpE,YAAY,CAAC,KAAK,EAAE,sBAAsB,GAAG,OAAO;IAMpD,KAAK,CAAC,KAAK,EAAE,sBAAsB,EAAE,MAAM,EAAE,sBAAsB,GAAG,IAAI,GAAG,IAAI;IAYjF,YAAY,CAAC,KAAK,EAAE,sBAAsB,GAAG,OAAO;IAUpD,QAAQ,CAAC,KAAK,EAAE,sBAAsB,GAAG,mBAAmB,GAAG,IAAI;IAgBnE,gBAAgB,CAAC,MAAM,EAAE,sBAAsB,EAAE,IAAI,EAAE,sBAAsB,GAAG,OAAO;IAIvF,OAAO,CAAC,QAAQ;CAUjB;AAED,qBAGa,gBAAiB,YAAW,OAAO,CAAC,IAAI,CAAC;IACxC,OAAO,CAAC,aAAa;IAAiB,OAAO,CAAC,MAAM;gBAA5C,aAAa,EAAE,aAAa,EAAU,MAAM,EAAE,MAAM;IAexE,OAAO,CAAC,KAAK,EAAE,sBAAsB,EAAE,KAAK,EAAE,mBAAmB,GAAG,IAAI;yCAhB7D,gBAAgB;6CAAhB,gBAAgB;CAsF5B;AAmDD,UAAU,sBAAuB,SAAQ,mBAAmB;IAC1D,YAAY,EAAE,YAAY,CAAC,GAAG,CAAC,CAAC;CACjC;AAED,qBAIa,gBAAgB;IACf,OAAO,CAAC,MAAM;gBAAN,MAAM,EAAE,MAAM;IAIlC,iBAAiB;cAWD,sBAAsB;yCAhB3B,gBAAgB;0CAAhB,gBAAgB;0CAAhB,gBAAgB;CAoD5B"}
|
|
@@ -1,3 +1,12 @@
|
|
|
1
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
2
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
3
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
4
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
5
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
6
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
7
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
8
|
+
});
|
|
9
|
+
};
|
|
1
10
|
import { Injectable, NgModule } from '@angular/core';
|
|
2
11
|
import { RouterModule } from '@angular/router';
|
|
3
12
|
import { SingleApplicationComponent, SingleEntityComponent, SingleRecordComponent, HomeComponent, UserNotificationsComponent, DataBrowserComponent, ReportBrowserComponent, DashboardBrowserComponent, AuthGuardService as AuthGuard, FilesComponent, QueryBrowserComponent, ListViewComponent, SingleListDetailComponent } from './public-api';
|
|
@@ -5,7 +14,7 @@ import { SettingsComponent } from '@memberjunction/ng-explorer-settings';
|
|
|
5
14
|
import { LogError, Metadata } from '@memberjunction/core';
|
|
6
15
|
import { MJEventType, MJGlobal } from '@memberjunction/global';
|
|
7
16
|
import { SkipChatComponent } from '@memberjunction/ng-ask-skip';
|
|
8
|
-
import { EventCodes, ResourceData } from '@memberjunction/ng-shared';
|
|
17
|
+
import { EventCodes, ResourceData, BaseNavigationComponent } from '@memberjunction/ng-shared';
|
|
9
18
|
import * as i0 from "@angular/core";
|
|
10
19
|
import * as i1 from "@memberjunction/ng-shared";
|
|
11
20
|
import * as i2 from "@angular/router";
|
|
@@ -212,8 +221,56 @@ const routes = [
|
|
|
212
221
|
},
|
|
213
222
|
];
|
|
214
223
|
export class AppRoutingModule {
|
|
224
|
+
constructor(router) {
|
|
225
|
+
this.router = router;
|
|
226
|
+
this.loadDynamicRoutes();
|
|
227
|
+
}
|
|
228
|
+
loadDynamicRoutes() {
|
|
229
|
+
MJGlobal.Instance.GetEventListener(true) // true gets us replay of past events so we can "catch up" as needed
|
|
230
|
+
.subscribe((event) => {
|
|
231
|
+
// event handler
|
|
232
|
+
switch (event.event) {
|
|
233
|
+
case MJEventType.LoggedIn:
|
|
234
|
+
this.innerLoadDynamicRoutes();
|
|
235
|
+
}
|
|
236
|
+
});
|
|
237
|
+
}
|
|
238
|
+
innerLoadDynamicRoutes() {
|
|
239
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
240
|
+
// gets called after we're logged in
|
|
241
|
+
const md = new Metadata();
|
|
242
|
+
const dynamicRoutes = md.VisibleExplorerNavigationItems.map(item => {
|
|
243
|
+
const registration = MJGlobal.Instance.ClassFactory.GetRegistration(BaseNavigationComponent, item.Name);
|
|
244
|
+
if (registration) {
|
|
245
|
+
// remove the leading slash from the route if it exists
|
|
246
|
+
const route = item.Route.startsWith('/') ? item.Route.substring(1) : item.Route;
|
|
247
|
+
return {
|
|
248
|
+
path: route,
|
|
249
|
+
component: registration.SubClass,
|
|
250
|
+
canActivate: [AuthGuard],
|
|
251
|
+
};
|
|
252
|
+
}
|
|
253
|
+
else {
|
|
254
|
+
throw new Error(`No registration found for Explorer Navigation Item: ${item.Name}`);
|
|
255
|
+
}
|
|
256
|
+
});
|
|
257
|
+
// Find and remove the wildcard route
|
|
258
|
+
const wildcardRouteIndex = routes.findIndex(route => { var _a; return ((_a = route.path) === null || _a === void 0 ? void 0 : _a.trim()) === '**'; });
|
|
259
|
+
const wildcardRoute = routes[wildcardRouteIndex];
|
|
260
|
+
if (wildcardRouteIndex > -1) {
|
|
261
|
+
routes.splice(wildcardRouteIndex, 1);
|
|
262
|
+
}
|
|
263
|
+
// create a combined routes array and make sure that we filter out any dynamic routes that are ALREADY in the router config
|
|
264
|
+
const newCombinedRoutes = [...routes, ...dynamicRoutes.filter(route => !routes.some(r => { var _a, _b; return ((_a = r.path) === null || _a === void 0 ? void 0 : _a.trim().toLowerCase()) === ((_b = route.path) === null || _b === void 0 ? void 0 : _b.trim().toLowerCase()); }))];
|
|
265
|
+
// Re-add the wildcard route at the end
|
|
266
|
+
if (wildcardRoute) {
|
|
267
|
+
newCombinedRoutes.push(wildcardRoute);
|
|
268
|
+
}
|
|
269
|
+
this.router.resetConfig(newCombinedRoutes);
|
|
270
|
+
});
|
|
271
|
+
}
|
|
215
272
|
}
|
|
216
|
-
AppRoutingModule.ɵfac = function AppRoutingModule_Factory(t) { return new (t || AppRoutingModule)(); };
|
|
273
|
+
AppRoutingModule.ɵfac = function AppRoutingModule_Factory(t) { return new (t || AppRoutingModule)(i0.ɵɵinject(i2.Router)); };
|
|
217
274
|
AppRoutingModule.ɵmod = /*@__PURE__*/ i0.ɵɵdefineNgModule({ type: AppRoutingModule });
|
|
218
275
|
AppRoutingModule.ɵinj = /*@__PURE__*/ i0.ɵɵdefineInjector({ imports: [RouterModule.forRoot(routes, { initialNavigation: 'disabled' }), RouterModule] });
|
|
219
276
|
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(AppRoutingModule, [{
|
|
@@ -222,5 +279,5 @@ AppRoutingModule.ɵinj = /*@__PURE__*/ i0.ɵɵdefineInjector({ imports: [RouterM
|
|
|
222
279
|
imports: [RouterModule.forRoot(routes, { initialNavigation: 'disabled' })],
|
|
223
280
|
exports: [RouterModule],
|
|
224
281
|
}]
|
|
225
|
-
}],
|
|
282
|
+
}], () => [{ type: i2.Router }], null); })();
|
|
226
283
|
(function () { (typeof ngJitMode === "undefined" || ngJitMode) && i0.ɵɵsetNgModuleScope(AppRoutingModule, { imports: [i2.RouterModule], exports: [RouterModule] }); })();
|
|
@@ -139,4 +139,17 @@ export declare class AfterUpdateItemEvent extends BaseEvent {
|
|
|
139
139
|
Item: Item;
|
|
140
140
|
constructor(item: Item);
|
|
141
141
|
}
|
|
142
|
+
export declare class DropdownOptionClickEvent {
|
|
143
|
+
/**
|
|
144
|
+
* The text of the dropdown option that was clicked.
|
|
145
|
+
*/
|
|
146
|
+
Text: string;
|
|
147
|
+
/**
|
|
148
|
+
* Signals to the source component that another component
|
|
149
|
+
* has handled responding to this event, and that the source
|
|
150
|
+
* component should do nothing.
|
|
151
|
+
*/
|
|
152
|
+
Cancel: boolean;
|
|
153
|
+
constructor(text: string);
|
|
154
|
+
}
|
|
142
155
|
//# sourceMappingURL=Events.types.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Events.types.d.ts","sourceRoot":"","sources":["../../src/generic/Events.types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAU,IAAI,EAAE,MAAM,cAAc,CAAC;AAE5C;;GAEG;AACH,eAAO,MAAM,UAAU;;;;;;;;;;;;;CAcb,CAAC;AAEX,MAAM,MAAM,UAAU,GAAG,OAAO,UAAU,CAAC,MAAM,OAAO,UAAU,CAAC,CAAC;AAEpE,qBAAa,SAAS;IAClB;;OAEG;IACI,SAAS,EAAE,UAAU,CAAC;IAC7B;;;OAGG;IACI,MAAM,EAAE,OAAO,CAAC;gBAEX,SAAS,EAAE,UAAU;CAIpC;AAED,qBAAa,oBAAqB,SAAQ,SAAS;IAC/C;;OAEG;IACI,UAAU,EAAE,MAAM,CAAC;gBAEd,UAAU,EAAE,MAAM;CAIjC;AAED,qBAAa,kBAAmB,SAAQ,SAAS;IAC7C;;OAEG;IACI,QAAQ,EAAE,MAAM,CAAC;gBAEZ,QAAQ,EAAE,MAAM;CAI/B;AAED,qBAAa,uBAAwB,SAAQ,SAAS;IAClD;;OAEG;IACI,IAAI,EAAE,IAAI,CAAC;gBAEN,IAAI,EAAE,IAAI;CAIzB;AAED,qBAAa,qBAAsB,SAAQ,SAAS;IAChD;;;;;;;;;OASG;IACI,IAAI,EAAE,IAAI,CAAC;gBAEN,IAAI,EAAE,IAAI;CAIzB;AAED,qBAAa,uBAAwB,SAAQ,SAAS;IAClD;;OAEG;IACI,IAAI,EAAE,IAAI,CAAC;gBAEN,IAAI,EAAE,IAAI;CAIzB;AAED,qBAAa,qBAAsB,SAAQ,SAAS;IAChD;;;;;;;;;OASG;IACI,IAAI,EAAE,IAAI,CAAC;gBAEN,IAAI,EAAE,IAAI;CAIzB;AAED,qBAAa,mBAAoB,SAAQ,SAAS;IAC9C;;OAEG;IACI,IAAI,EAAE,IAAI,CAAC;gBAEN,IAAI,EAAE,IAAI;CAIzB;AAED,qBAAa,iBAAkB,SAAQ,SAAS;IAC5C;;;;;;OAMG;IACI,IAAI,EAAE,IAAI,CAAC;gBAEN,IAAI,EAAE,IAAI;CAIzB;AAED,qBAAa,sBAAuB,SAAQ,SAAS;IACjD;;OAEG;IACI,IAAI,EAAE,IAAI,CAAC;gBAEN,IAAI,EAAE,IAAI;CAIzB;AAED,qBAAa,oBAAqB,SAAQ,SAAS;IAC/C;;;;;;OAMG;IACI,IAAI,EAAE,IAAI,CAAC;gBAEN,IAAI,EAAE,IAAI;CAIzB;AAED,qBAAa,sBAAuB,SAAQ,SAAS;IACjD;;OAEG;IACI,IAAI,EAAE,IAAI,CAAC;gBAEN,IAAI,EAAE,IAAI;CAIzB;AAED,qBAAa,oBAAqB,SAAQ,SAAS;IAC/C;;;;;;OAMG;IACI,IAAI,EAAE,IAAI,CAAC;gBAEN,IAAI,EAAE,IAAI;CAIzB"}
|
|
1
|
+
{"version":3,"file":"Events.types.d.ts","sourceRoot":"","sources":["../../src/generic/Events.types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAU,IAAI,EAAE,MAAM,cAAc,CAAC;AAE5C;;GAEG;AACH,eAAO,MAAM,UAAU;;;;;;;;;;;;;CAcb,CAAC;AAEX,MAAM,MAAM,UAAU,GAAG,OAAO,UAAU,CAAC,MAAM,OAAO,UAAU,CAAC,CAAC;AAEpE,qBAAa,SAAS;IAClB;;OAEG;IACI,SAAS,EAAE,UAAU,CAAC;IAC7B;;;OAGG;IACI,MAAM,EAAE,OAAO,CAAC;gBAEX,SAAS,EAAE,UAAU;CAIpC;AAED,qBAAa,oBAAqB,SAAQ,SAAS;IAC/C;;OAEG;IACI,UAAU,EAAE,MAAM,CAAC;gBAEd,UAAU,EAAE,MAAM;CAIjC;AAED,qBAAa,kBAAmB,SAAQ,SAAS;IAC7C;;OAEG;IACI,QAAQ,EAAE,MAAM,CAAC;gBAEZ,QAAQ,EAAE,MAAM;CAI/B;AAED,qBAAa,uBAAwB,SAAQ,SAAS;IAClD;;OAEG;IACI,IAAI,EAAE,IAAI,CAAC;gBAEN,IAAI,EAAE,IAAI;CAIzB;AAED,qBAAa,qBAAsB,SAAQ,SAAS;IAChD;;;;;;;;;OASG;IACI,IAAI,EAAE,IAAI,CAAC;gBAEN,IAAI,EAAE,IAAI;CAIzB;AAED,qBAAa,uBAAwB,SAAQ,SAAS;IAClD;;OAEG;IACI,IAAI,EAAE,IAAI,CAAC;gBAEN,IAAI,EAAE,IAAI;CAIzB;AAED,qBAAa,qBAAsB,SAAQ,SAAS;IAChD;;;;;;;;;OASG;IACI,IAAI,EAAE,IAAI,CAAC;gBAEN,IAAI,EAAE,IAAI;CAIzB;AAED,qBAAa,mBAAoB,SAAQ,SAAS;IAC9C;;OAEG;IACI,IAAI,EAAE,IAAI,CAAC;gBAEN,IAAI,EAAE,IAAI;CAIzB;AAED,qBAAa,iBAAkB,SAAQ,SAAS;IAC5C;;;;;;OAMG;IACI,IAAI,EAAE,IAAI,CAAC;gBAEN,IAAI,EAAE,IAAI;CAIzB;AAED,qBAAa,sBAAuB,SAAQ,SAAS;IACjD;;OAEG;IACI,IAAI,EAAE,IAAI,CAAC;gBAEN,IAAI,EAAE,IAAI;CAIzB;AAED,qBAAa,oBAAqB,SAAQ,SAAS;IAC/C;;;;;;OAMG;IACI,IAAI,EAAE,IAAI,CAAC;gBAEN,IAAI,EAAE,IAAI;CAIzB;AAED,qBAAa,sBAAuB,SAAQ,SAAS;IACjD;;OAEG;IACI,IAAI,EAAE,IAAI,CAAC;gBAEN,IAAI,EAAE,IAAI;CAIzB;AAED,qBAAa,oBAAqB,SAAQ,SAAS;IAC/C;;;;;;OAMG;IACI,IAAI,EAAE,IAAI,CAAC;gBAEN,IAAI,EAAE,IAAI;CAIzB;AAED,qBAAa,wBAAwB;IACjC;;OAEG;IACI,IAAI,EAAE,MAAM,CAAC;IAEpB;;;;OAIG;IACI,MAAM,EAAE,OAAO,CAAC;gBAEX,IAAI,EAAE,MAAM;CAI3B"}
|
|
@@ -24,14 +24,14 @@ export declare class TreeItem extends Item {
|
|
|
24
24
|
* Report Categories, Query Categories, etc.
|
|
25
25
|
*/
|
|
26
26
|
export declare class Folder {
|
|
27
|
-
ID:
|
|
28
|
-
ParentFolderID?:
|
|
27
|
+
ID: string;
|
|
28
|
+
ParentFolderID?: string | null;
|
|
29
29
|
Name: string;
|
|
30
30
|
Description: string | null;
|
|
31
|
-
constructor(id:
|
|
31
|
+
constructor(id: string, folderName: string);
|
|
32
32
|
}
|
|
33
33
|
export declare class TreeFolder extends Folder {
|
|
34
|
-
EntityID:
|
|
35
|
-
constructor(entityID:
|
|
34
|
+
EntityID: string;
|
|
35
|
+
constructor(entityID: string, id: string, folderName: string);
|
|
36
36
|
}
|
|
37
37
|
//# sourceMappingURL=Item.types.d.ts.map
|
|
@@ -17,7 +17,7 @@ export declare class ApplicationViewComponent extends BaseBrowserComponent imple
|
|
|
17
17
|
private cdr;
|
|
18
18
|
entityRowRef: Element | undefined;
|
|
19
19
|
viewPropertiesDialog: UserViewPropertiesDialogComponent;
|
|
20
|
-
categoryEntityID:
|
|
20
|
+
categoryEntityID: string;
|
|
21
21
|
currentlySelectedAppEntity: EntityEntity | undefined;
|
|
22
22
|
AppEntitySelectionDialogVisible: boolean;
|
|
23
23
|
AllAppEntities: EntityEntity[];
|
|
@@ -25,6 +25,9 @@ export declare class ApplicationViewComponent extends BaseBrowserComponent imple
|
|
|
25
25
|
UnselectedAppEntities: EntityEntity[];
|
|
26
26
|
app: ApplicationInfo | undefined;
|
|
27
27
|
userApp: UserApplicationEntity | undefined;
|
|
28
|
+
extraDropdownOptions: {
|
|
29
|
+
text: string;
|
|
30
|
+
}[];
|
|
28
31
|
constructor(router: Router, route: ActivatedRoute, location: Location, sharedService: SharedService, cdr: ChangeDetectorRef);
|
|
29
32
|
ngOnInit(): Promise<void>;
|
|
30
33
|
IsEntitySelected(entity: EntityEntity): boolean;
|
|
@@ -48,7 +51,6 @@ export declare class ApplicationViewComponent extends BaseBrowserComponent imple
|
|
|
48
51
|
}): Promise<void>;
|
|
49
52
|
GoToApps(event: Event): Promise<void>;
|
|
50
53
|
GoHome(event: Event): Promise<void>;
|
|
51
|
-
sortAppEntites(entities: EntityEntity[]): EntityEntity[];
|
|
52
54
|
static ɵfac: i0.ɵɵFactoryDeclaration<ApplicationViewComponent, never>;
|
|
53
55
|
static ɵcmp: i0.ɵɵComponentDeclaration<ApplicationViewComponent, "mj-application-view", never, { "categoryEntityID": { "alias": "categoryEntityID"; "required": false; }; }, {}, never, never, false, never>;
|
|
54
56
|
}
|
|
@@ -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;
|
|
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;IAkBnE,OAAO,CAAC,MAAM;IAAU,OAAO,CAAC,KAAK;IAAkB,OAAO,CAAC,QAAQ;IAAY,OAAO,CAAC,aAAa;IAAiB,OAAO,CAAC,GAAG;IAjBzH,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;IAC3C,oBAAoB,EAAG;QAAC,IAAI,EAAE,MAAM,CAAA;KAAC,EAAE,CAE5C;gBAEmB,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;IAyFxB,gBAAgB,CAAC,MAAM,EAAE,YAAY;IAMrC,4BAA4B;IAKtB,gCAAgC,CAAC,IAAI,EAAE,OAAO;IAgEpD,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;yCAlVhB,wBAAwB;2CAAxB,wBAAwB;CAuVpC"}
|
|
@@ -73,10 +73,10 @@ function ApplicationViewComponent_div_0_Conditional_26_div_0_Template(rf, ctx) {
|
|
|
73
73
|
} if (rf & 2) {
|
|
74
74
|
const ctx_r1 = i0.ɵɵnextContext(3);
|
|
75
75
|
i0.ɵɵadvance();
|
|
76
|
-
i0.ɵɵproperty("items", ctx_r1.items)("categoryEntityID", ctx_r1.categoryEntityID)("title", ctx_r1.pageTitle)("CategoryEntityName", ctx_r1.categoryEntityName)("selectedFolderID", ctx_r1.selectedFolderID)("showLoader", ctx_r1.showLoader)("viewingResource", false)("displayAsGrid", ctx_r1.displayAsGrid);
|
|
76
|
+
i0.ɵɵproperty("items", ctx_r1.items)("categoryEntityID", ctx_r1.categoryEntityID)("title", ctx_r1.pageTitle)("extraDropdownOptions", ctx_r1.extraDropdownOptions)("CategoryEntityName", ctx_r1.categoryEntityName)("selectedFolderID", ctx_r1.selectedFolderID)("showLoader", ctx_r1.showLoader)("viewingResource", false)("displayAsGrid", ctx_r1.displayAsGrid);
|
|
77
77
|
} }
|
|
78
78
|
function ApplicationViewComponent_div_0_Conditional_26_Template(rf, ctx) { if (rf & 1) {
|
|
79
|
-
i0.ɵɵtemplate(0, ApplicationViewComponent_div_0_Conditional_26_div_0_Template, 2,
|
|
79
|
+
i0.ɵɵtemplate(0, ApplicationViewComponent_div_0_Conditional_26_div_0_Template, 2, 9, "div", 25);
|
|
80
80
|
} if (rf & 2) {
|
|
81
81
|
const ctx_r1 = i0.ɵɵnextContext(2);
|
|
82
82
|
i0.ɵɵproperty("ngIf", ctx_r1.SelectedAppEntities.length > 0);
|
|
@@ -145,6 +145,9 @@ export class ApplicationViewComponent extends BaseBrowserComponent {
|
|
|
145
145
|
this.AllAppEntities = [];
|
|
146
146
|
this.SelectedAppEntities = [];
|
|
147
147
|
this.UnselectedAppEntities = [];
|
|
148
|
+
this.extraDropdownOptions = [
|
|
149
|
+
{ text: 'View' }
|
|
150
|
+
];
|
|
148
151
|
this.categoryEntityName = "User View Categories";
|
|
149
152
|
this.itemEntityName = "User Views";
|
|
150
153
|
}
|
|
@@ -169,24 +172,31 @@ export class ApplicationViewComponent extends BaseBrowserComponent {
|
|
|
169
172
|
// next up we need to find the UserApplication record based on the app and the current user
|
|
170
173
|
const userAppResult = yield rv.RunView({
|
|
171
174
|
EntityName: "User Applications",
|
|
172
|
-
ExtraFilter: `UserID
|
|
175
|
+
ExtraFilter: `UserID='${md.CurrentUser.ID}' AND ApplicationID='${this.app.ID}'`,
|
|
173
176
|
ResultType: 'entity_object'
|
|
174
177
|
});
|
|
175
178
|
if (!userAppResult || userAppResult.Success === false || userAppResult.Results.length === 0)
|
|
176
179
|
throw new Error('User Application Record for current user and selected application not found');
|
|
177
180
|
this.userApp = userAppResult.Results[0];
|
|
178
|
-
const matches = this.app.ApplicationEntities
|
|
181
|
+
const matches = this.app.ApplicationEntities
|
|
182
|
+
.map(ae => md.Entities.find(e => e.ID === ae.EntityID))
|
|
183
|
+
.filter(e => e) // filter out null entries
|
|
184
|
+
.sort((a, b) => {
|
|
185
|
+
if (!a || !b) {
|
|
186
|
+
return 0;
|
|
187
|
+
}
|
|
188
|
+
return a.Name.localeCompare(b.Name);
|
|
189
|
+
}); // sort by name
|
|
179
190
|
// store the entire list of POSSIBLE app entities in this list
|
|
180
191
|
this.AllAppEntities = matches; // we filter out null above so this cast is safe;
|
|
181
192
|
const userAppEntities = yield rv.RunView({
|
|
182
193
|
EntityName: 'User Application Entities',
|
|
183
194
|
ResultType: 'entity_object',
|
|
184
|
-
ExtraFilter: `UserApplicationID = ${this.userApp.ID}`,
|
|
185
|
-
OrderBy: 'Sequence'
|
|
195
|
+
ExtraFilter: `UserApplicationID = '${this.userApp.ID}'`,
|
|
196
|
+
OrderBy: 'Sequence, Entity'
|
|
186
197
|
});
|
|
187
198
|
if (userAppEntities && userAppEntities.Success) {
|
|
188
|
-
this.SelectedAppEntities =
|
|
189
|
-
this.SelectedAppEntities = this.sortAppEntites(this.SelectedAppEntities);
|
|
199
|
+
this.SelectedAppEntities = userAppEntities.Results.map(uae => this.AllAppEntities.find(ae => uae.EntityID === ae.ID)).filter(val => val); // now we have our selected app entities and they're sorted properly
|
|
190
200
|
this.UnselectedAppEntities = this.AllAppEntities.filter(e => !this.SelectedAppEntities.some(sa => sa.ID === e.ID));
|
|
191
201
|
// 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
|
|
192
202
|
const defaultEntities = this.app.ApplicationEntities.filter(a => a.DefaultForNewUser);
|
|
@@ -241,7 +251,7 @@ export class ApplicationViewComponent extends BaseBrowserComponent {
|
|
|
241
251
|
const userAppEntities = yield rv.RunView({
|
|
242
252
|
EntityName: 'User Application Entities',
|
|
243
253
|
ResultType: 'entity_object',
|
|
244
|
-
ExtraFilter: `UserApplicationID = ${this.userApp.ID}`,
|
|
254
|
+
ExtraFilter: `UserApplicationID = '${this.userApp.ID}'`,
|
|
245
255
|
OrderBy: 'Sequence'
|
|
246
256
|
});
|
|
247
257
|
// userAppEntities.results is the current DB state, we need to now compare it to the SelectedAppEntities array
|
|
@@ -254,15 +264,17 @@ export class ApplicationViewComponent extends BaseBrowserComponent {
|
|
|
254
264
|
const e = this.SelectedAppEntities[index];
|
|
255
265
|
const existing = existingUserAppEntities.find(uae => uae.EntityID === e.ID);
|
|
256
266
|
if (existing) {
|
|
257
|
-
existing.Sequence
|
|
258
|
-
|
|
267
|
+
if (existing.Sequence !== index) {
|
|
268
|
+
existing.Sequence = index;
|
|
269
|
+
userAppEntitiesToSave.push(existing);
|
|
270
|
+
}
|
|
259
271
|
}
|
|
260
272
|
else {
|
|
261
273
|
// this is a new app entity that the user has selected
|
|
262
274
|
const newApp = yield md.GetEntityObject("User Application Entities");
|
|
263
275
|
newApp.UserApplicationID = this.userApp.ID;
|
|
264
|
-
newApp.EntityID = e.ID;
|
|
265
276
|
newApp.Sequence = index;
|
|
277
|
+
newApp.EntityID = e.ID;
|
|
266
278
|
userAppEntitiesToSave.push(newApp);
|
|
267
279
|
}
|
|
268
280
|
}
|
|
@@ -312,7 +324,7 @@ export class ApplicationViewComponent extends BaseBrowserComponent {
|
|
|
312
324
|
this.showLoader = true;
|
|
313
325
|
this.currentlySelectedAppEntity = entity;
|
|
314
326
|
if (this.selectedFolderID) {
|
|
315
|
-
let viewResult = yield _super.RunView.call(this, this.categoryEntityName, `ID
|
|
327
|
+
let viewResult = yield _super.RunView.call(this, this.categoryEntityName, `ID='${this.selectedFolderID}'`);
|
|
316
328
|
if (viewResult.length > 0) {
|
|
317
329
|
this.pageTitle = viewResult[0].Name;
|
|
318
330
|
}
|
|
@@ -321,10 +333,10 @@ export class ApplicationViewComponent extends BaseBrowserComponent {
|
|
|
321
333
|
this.pageTitle = this.currentlySelectedAppEntity.Name;
|
|
322
334
|
}
|
|
323
335
|
const md = new Metadata();
|
|
324
|
-
const parentFolderIDFilter = this.selectedFolderID ? `ParentID
|
|
325
|
-
const categoryFilter = `UserID
|
|
326
|
-
const categoryIDFilter = this.selectedFolderID ? `CategoryID
|
|
327
|
-
const userViewFilter = `UserID = ${md.CurrentUser.ID} AND EntityID
|
|
336
|
+
const parentFolderIDFilter = this.selectedFolderID ? `ParentID='${this.selectedFolderID}'` : 'ParentID IS NULL';
|
|
337
|
+
const categoryFilter = `UserID='${md.CurrentUser.ID}' AND EntityID='${this.currentlySelectedAppEntity.ID}' AND ` + parentFolderIDFilter;
|
|
338
|
+
const categoryIDFilter = this.selectedFolderID ? `CategoryID='${this.selectedFolderID}'` : 'CategoryID IS NULL';
|
|
339
|
+
const userViewFilter = `UserID = '${md.CurrentUser.ID}' AND EntityID='${this.currentlySelectedAppEntity.ID}' AND ` + categoryIDFilter;
|
|
328
340
|
yield _super.LoadData.call(this, {
|
|
329
341
|
sortItemsAfterLoad: true,
|
|
330
342
|
categoryItemFilter: categoryFilter,
|
|
@@ -438,20 +450,6 @@ export class ApplicationViewComponent extends BaseBrowserComponent {
|
|
|
438
450
|
this.router.navigate(['home']);
|
|
439
451
|
});
|
|
440
452
|
}
|
|
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
|
-
}
|
|
455
453
|
}
|
|
456
454
|
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)); };
|
|
457
455
|
ApplicationViewComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: ApplicationViewComponent, selectors: [["mj-application-view"]], viewQuery: function ApplicationViewComponent_Query(rf, ctx) { if (rf & 1) {
|
|
@@ -461,14 +459,14 @@ ApplicationViewComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: Ap
|
|
|
461
459
|
let _t;
|
|
462
460
|
i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.entityRowRef = _t.first);
|
|
463
461
|
i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.viewPropertiesDialog = _t.first);
|
|
464
|
-
} }, inputs: { categoryEntityID: "categoryEntityID" }, features: [i0.ɵɵInheritDefinitionFeature], decls: 1, vars: 1, consts: [["entityRow", ""], ["userViewDialog", ""], ["class", "app-container", 4, "ngIf"], [1, "app-container"], [1, "card-header-entity", "cloumn"], [1, "header-wrap"], [1, "title-icon"], [1, "title-wrap"], [1, "title-wrap-inner"], [1, "breadcrumb", 3, "click"], [1, "breadcrumb-separator"], [1, "fa-solid", "fa-chevron-right"], [1, "breadcrumb-end"], [1, "config-button"], ["kendoButton", "", 3, "click"], [1, "fa-solid", "fa-gear"], ["EntityName", "Entities", "DisplayField", "Name", "DisplayIconField", "Icon", 3, "DialogClosed", "AvailableRecords", "SelectedRecords", "UnselectedRecords", "DialogVisible"], [1, "row", 2, "max-width", "100%"], [1, "col-xs-12", "col-sm-6", "example-col"], ["kendoButton", "", "fillMode", "flat", 3, "toggleable", "selected", "click", 4, "ngFor", "ngForOf"], [1, "main-area", "margin-top-neg-20"], [3, "dialogClosed", "ShowPropertiesButton"], [3, "ngClass"], ["kendoButton", "", "fillMode", "flat", 3, "click", "toggleable", "selected"], [3, "click"], ["class", "main-area margin-top-neg-20", 4, "ngIf"], ["iconName", "aggregateFields", "addText", "Create New View", "ItemEntityName", "User Views", "resourceName", "View", 3, "itemClickEvent", "AfterAddFolderEvent", "AfterAddItemEvent", "AfterDeleteItemEvent", "AfterDeleteFolderEvent", "viewModeChangeEvent", "BeforeAddItemEvent", "BeforeUpdateItemEvent", "items", "categoryEntityID", "title", "CategoryEntityName", "selectedFolderID", "showLoader", "viewingResource", "displayAsGrid"]], template: function ApplicationViewComponent_Template(rf, ctx) { if (rf & 1) {
|
|
462
|
+
} }, inputs: { categoryEntityID: "categoryEntityID" }, features: [i0.ɵɵInheritDefinitionFeature], decls: 1, vars: 1, consts: [["entityRow", ""], ["userViewDialog", ""], ["class", "app-container", 4, "ngIf"], [1, "app-container"], [1, "card-header-entity", "cloumn"], [1, "header-wrap"], [1, "title-icon"], [1, "title-wrap"], [1, "title-wrap-inner"], [1, "breadcrumb", 3, "click"], [1, "breadcrumb-separator"], [1, "fa-solid", "fa-chevron-right"], [1, "breadcrumb-end"], [1, "config-button"], ["kendoButton", "", 3, "click"], [1, "fa-solid", "fa-gear"], ["EntityName", "Entities", "DisplayField", "Name", "DisplayIconField", "Icon", 3, "DialogClosed", "AvailableRecords", "SelectedRecords", "UnselectedRecords", "DialogVisible"], [1, "row", 2, "max-width", "100%"], [1, "col-xs-12", "col-sm-6", "example-col"], ["kendoButton", "", "fillMode", "flat", 3, "toggleable", "selected", "click", 4, "ngFor", "ngForOf"], [1, "main-area", "margin-top-neg-20"], [3, "dialogClosed", "ShowPropertiesButton"], [3, "ngClass"], ["kendoButton", "", "fillMode", "flat", 3, "click", "toggleable", "selected"], [3, "click"], ["class", "main-area margin-top-neg-20", 4, "ngIf"], ["iconName", "aggregateFields", "addText", "Create New View", "ItemEntityName", "User Views", "resourceName", "View", 3, "itemClickEvent", "AfterAddFolderEvent", "AfterAddItemEvent", "AfterDeleteItemEvent", "AfterDeleteFolderEvent", "viewModeChangeEvent", "BeforeAddItemEvent", "BeforeUpdateItemEvent", "items", "categoryEntityID", "title", "extraDropdownOptions", "CategoryEntityName", "selectedFolderID", "showLoader", "viewingResource", "displayAsGrid"]], template: function ApplicationViewComponent_Template(rf, ctx) { if (rf & 1) {
|
|
465
463
|
i0.ɵɵtemplate(0, ApplicationViewComponent_div_0_Template, 29, 10, "div", 2);
|
|
466
464
|
} if (rf & 2) {
|
|
467
465
|
i0.ɵɵproperty("ngIf", ctx.app);
|
|
468
466
|
} }, dependencies: [i2.NgClass, i2.NgForOf, i2.NgIf, i4.LoaderComponent, i5.ButtonComponent, i6.UserViewPropertiesDialogComponent, i7.RecordSelectorDialogComponent, i8.GenericBrowserListComponent], styles: [".app-container[_ngcontent-%COMP%] {\n padding: 15px;\n}\n \n.entity-list[_ngcontent-%COMP%] {\n width: 500px;\n}\n.favorites-list[_ngcontent-%COMP%] {\n width: 400px;\n}\n\n.cloumn[_ngcontent-%COMP%] {\n flex-direction: column;\n}\n.example-col[_ngcontent-%COMP%] {\n overflow-x: auto;\n}\n.example-col[_ngcontent-%COMP%] .k-selected[_ngcontent-%COMP%] {\n font-weight: 800;\n color: var(--tdata-color);\n border-bottom: 3px solid var(--border-blue) !important;\n background: var(--white-color);\n}\n\n.margin-top-neg-20[_ngcontent-%COMP%] {\n margin-top: -20px;\n padding: 0px !important\n}\n\n.header-wrap[_ngcontent-%COMP%] {\n display: flex;\n justify-content: space-between;\n align-items: center;\n margin-bottom: 10px;\n width: 100%;\n}\n\n.title-wrap[_ngcontent-%COMP%] {\n flex-grow: 1;\n font-size: 24px;\n}\n.title-wrap-inner[_ngcontent-%COMP%] {\n display: block;\n}\n\n.breadcrumb[_ngcontent-%COMP%] {\n color: darkblue;\n cursor: pointer;\n display: inline;\n margin-left: 5px;\n margin-right: 5px;\n}\n\n.breadcrumb-end[_ngcontent-%COMP%] {\n display: inline;\n margin-left: 5px;\n}\n\n\n.breadcrumb-separator[_ngcontent-%COMP%] {\n font-size: 14px;\n display: inline;\n margin-left: 5px;\n margin-right: 5px;\n}\n.home-icon[_ngcontent-%COMP%] {\n margin-right: 5px;\n font-size: 18px;\n vertical-align: middle;\n}\n \n.title-icon[_ngcontent-%COMP%] {\n font-size: 32px;\n margin-right: 15px;\n}\n\n.config-button[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n}\n\n.button-icon[_ngcontent-%COMP%] {\n margin-right: 5px;\n font-size: 16px;\n}", ".main-area[_ngcontent-%COMP%] {\n display: flex;\n flex-direction: column;\n height: 100%;\n width: 100%;\n gap: 24px;\n padding: 24px 0;\n}\n.list-view[_ngcontent-%COMP%] {\n padding: 16px;\n min-width: 300px;\n border-radius: 4px;\n background: #FAFAFA;\n border: none;\n}\n .list-view .k-listview-header, \n .list-view .k-listview-footer {\n border: none;\n}\n .list-view .k-listview-content {\n border: 1px solid rgba(0, 0, 0, 0.08);\n border-radius: 4px;\n background: #fff;\n padding: 16px;\n}\n\n.header[_ngcontent-%COMP%], \n.footer[_ngcontent-%COMP%] {\n color: #424242;\n font-size: 16px;\n height: auto;\n margin:0;\n}\n\n.header[_ngcontent-%COMP%] {\n color: #424242;\n margin-bottom: 16px;\n display: flex;\n justify-content: space-between;\n align-items: center;\n}\n.header[_ngcontent-%COMP%] .head-tag[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 8px;\n color: #424242;\nfont-size: 16px;\nfont-style: normal;\nfont-weight: 400;\nline-height: 20px;\n}\n\n.header[_ngcontent-%COMP%] .count[_ngcontent-%COMP%] {\n width: 24px;\n height: 24px;\n min-width: 24px;\n display: flex;\n justify-content: center;\n align-items: center;\n font-size: 10px;\n background: rgba(0, 0, 0, 0.08);\n border-radius: 50%;\n}\n.footer[_ngcontent-%COMP%] {\n font-size: 14px;\n margin-top: 16px;\n}\n\n.list-item[_ngcontent-%COMP%] {\n color: #424242;\n font-size: 14px;\n font-style: normal;\n font-weight: 400;\n line-height: 30px;\n cursor: pointer;\n margin: 4px;\n}\n.card-container[_ngcontent-%COMP%] {\n margin: 0;\n padding: 0;\n box-shadow: none;\n}\n.card-header-entity[_ngcontent-%COMP%] {\n display: flex;\n justify-content: space-between;\n align-items: flex-start;\n padding-bottom: 20px;\n border-bottom: 1px solid rgba(0, 0, 0, 0.08);\n}\n.card-header-entity[_ngcontent-%COMP%] .title-wrap[_ngcontent-%COMP%] h1[_ngcontent-%COMP%] {\n color: #424242;\n font-size: 28px;\n font-style: normal;\n font-weight: 300;\n line-height: 28px;\n margin-bottom: 15px;\n}\n.card-header-entity[_ngcontent-%COMP%] .title-wrap[_ngcontent-%COMP%] {\n display: flex;\n flex-direction: column;\n}\n.card-header-entity[_ngcontent-%COMP%] .title-wrap[_ngcontent-%COMP%] p[_ngcontent-%COMP%] {\n margin: 0;\n display: flex;\n align-items: center;\n gap: 8px;\n color: #424242;\n font-size: 14px;\n font-style: normal;\n font-weight: 400;\n line-height: 20px;\n}\n\n\n\n\n \n.view-card[_ngcontent-%COMP%] .view-icon[_ngcontent-%COMP%] {\n color: var(--sideNav);\n}\n.card-wrapper[_ngcontent-%COMP%] {\n border: 1px solid rgba(0, 0, 0, 0.08);\n border-radius: 6px;\n width: 100% !important;\n}\n.card-wrapper[_ngcontent-%COMP%] .k-card-body[_ngcontent-%COMP%] {\n background: #fff;\n padding: 12px 20px;\n}\n.card-wrapper[_ngcontent-%COMP%] .view-card[_ngcontent-%COMP%] {\n overflow: auto;\n display: flex;\n justify-content: space-between;\n align-items: center;\n background: #fafafa;\n padding: 4px 15px;\n}\n.view-card[_ngcontent-%COMP%] .btn-wrapper[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n}\n\n.k-card-body[_ngcontent-%COMP%] .view-card-content[_ngcontent-%COMP%] h5[_ngcontent-%COMP%] {\n color: #424242;\n font-size: 16px;\n font-style: normal;\n font-weight: 400;\n line-height: 20px;\n margin-bottom: 0;\n letter-spacing: 0.18px;\n}\n.k-card-body[_ngcontent-%COMP%] .view-card-content[_ngcontent-%COMP%] p[_ngcontent-%COMP%] {\n color: #666;\n font-size: 14px;\n font-style: normal;\n font-weight: 400;\n line-height: 20px;\n height: 48px;\n margin-bottom: 0;\n}\n.card-container[_ngcontent-%COMP%] {\n padding: 0;\n margin: 0;\n box-shadow: none;\n}\n.card-header-entity[_ngcontent-%COMP%] {\n display: flex;\n justify-content: space-between;\n align-items: flex-start;\n padding-bottom: 20px;\n border-bottom: 1px solid rgba(0, 0, 0, 0.08);\n}\n\n.card-header-entity[_ngcontent-%COMP%] .title-wrap[_ngcontent-%COMP%] h1[_ngcontent-%COMP%] {\n color: #424242;\n font-size: 28px;\n font-style: normal;\n font-weight: 300;\n line-height: 28px;\n margin-bottom: 15px;\n}\n.card-header-entity[_ngcontent-%COMP%] .title-wrap[_ngcontent-%COMP%] {\n display: flex;\n flex-direction: column;\n}\n.card-header-entity[_ngcontent-%COMP%] .title-wrap[_ngcontent-%COMP%] p[_ngcontent-%COMP%] {\n margin: 0;\n display: flex;\n align-items: center;\n gap: 8px;\n color: #424242;\n font-size: 14px;\n font-style: normal;\n font-weight: 400;\n line-height: 20px;\n}\n.main-area[_ngcontent-%COMP%] .card-list[_ngcontent-%COMP%] {\n display: grid;\n grid-template-columns: repeat(4, 1fr);\n gap: 20px;\n}"] });
|
|
469
467
|
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(ApplicationViewComponent, [{
|
|
470
468
|
type: Component,
|
|
471
|
-
args: [{ selector: 'mj-application-view', template: "<div class=\"app-container\" *ngIf=\"this.app\">\n <div class=\"card-header-entity cloumn\">\n <div class=\"header-wrap\"> \n @if (this.app.Icon && this.app.Icon.length > 0) {\n <div class=\"title-icon\">\n <span [ngClass]=\"this.app.Icon\"></span>\n </div> \n }\n <div class=\"title-wrap\">\n <div class=\"title-wrap-inner\">\n <span class=\"breadcrumb\" (click)=\"GoHome($event)\">Home</span> \n <span class=\"breadcrumb-separator\"><span class=\"fa-solid fa-chevron-right\"></span></span>\n <span class=\"breadcrumb\" (click)=\"GoToApps($event)\">Applications</span>\n <span class=\"breadcrumb-separator\"><span class=\"fa-solid fa-chevron-right\"></span></span>\n <span class=\"breadcrumb-end\">{{this.app.Name}}</span>\n </div>\n </div>\n <div class=\"config-button\">\n <button kendoButton (click)=\"ShowAppEntitySelectionDialog()\"><span class=\"fa-solid fa-gear\"></span></button>\n <mj-record-selector-dialog \n EntityName=\"Entities\"\n [AvailableRecords]=\"AllAppEntities\" \n [SelectedRecords]=\"SelectedAppEntities\" \n [UnselectedRecords]=\"UnselectedAppEntities\"\n [DialogVisible]=\"AppEntitySelectionDialogVisible\"\n DisplayField=\"Name\"\n DisplayIconField=\"Icon\"\n (DialogClosed)=\"OnAppEntitySelectionDialogClosed($event)\"\n >\n </mj-record-selector-dialog>\n </div>\n </div> \n <div class=\"row\" #entityRow style=\"max-width: 100%;\">\n <div class=\"col-xs-12 col-sm-6 example-col\">\n <button\n *ngFor=\"let item of SelectedAppEntities\"\n kendoButton\n fillMode=\"flat\"\n [toggleable]=\"true\"\n [selected]=\"IsEntitySelected(item)\"\n (click)=\"onAppEntityButtonClicked(item)\"\n >\n <span>\n @if (item.Icon && item.Icon.length > 0) {\n <span [ngClass]=\"item.Icon + ' button-icon'\" ></span>\n }\n {{item.Name}}\n </span>\n </button>\n </div>\n </div>\n </div>\n @if (SelectedAppEntities.length === 0 && !showLoader) {\n <div (click)=\"ShowAppEntitySelectionDialog()\">\n <span class=\"fa-solid fa-gear\"></span>\n Click Here to Select Entities\n </div>\n }\n @if(showLoader) {\n <kendo-loader></kendo-loader>\n }\n @else {\n <div class=\"main-area margin-top-neg-20\" *ngIf=\"SelectedAppEntities.length > 0\">\n <app-generic-browser-list \n iconName=\"aggregateFields\" \n [items]=\"items\"\n [categoryEntityID]=\"categoryEntityID\"\n addText=\"Create New View\"\n ItemEntityName=\"User Views\"\n resourceName=\"View\"\n [title]=\"pageTitle\"\n [CategoryEntityName]=\"categoryEntityName\"\n (itemClickEvent)=\"onItemClick($event)\" \n [selectedFolderID]=\"selectedFolderID\"\n [showLoader]=\"showLoader\"\n [viewingResource]=false\n [displayAsGrid]=\"displayAsGrid\"\n (AfterAddFolderEvent)=\"onEvent($event)\"\n (AfterAddItemEvent)=\"onEvent($event)\"\n (AfterDeleteItemEvent)=\"onEvent($event)\"\n (AfterDeleteFolderEvent)=\"onEvent($event)\"\n (viewModeChangeEvent)=\"onViewModeChange($event)\"\n (BeforeAddItemEvent)=\"createNewView($event)\"\n (BeforeUpdateItemEvent)=\"editView($event)\"\n />\n </div>\n }\n\n <mj-user-view-properties-dialog #userViewDialog [ShowPropertiesButton]=\"false\"(dialogClosed)=\"OnViewPropertiesDialogClose($event)\"></mj-user-view-properties-dialog>\n</div>\n", styles: [".app-container {\n padding: 15px;\n}\n \n.entity-list {\n width: 500px;\n}\n.favorites-list {\n width: 400px;\n}\n\n.cloumn {\n flex-direction: column;\n}\n.example-col {\n overflow-x: auto;\n}\n.example-col .k-selected {\n font-weight: 800;\n color: var(--tdata-color);\n border-bottom: 3px solid var(--border-blue) !important;\n background: var(--white-color);\n}\n\n.margin-top-neg-20 {\n margin-top: -20px;\n padding: 0px !important\n}\n\n.header-wrap {\n display: flex;\n justify-content: space-between;\n align-items: center;\n margin-bottom: 10px;\n width: 100%;\n}\n\n.title-wrap {\n flex-grow: 1;\n font-size: 24px;\n}\n.title-wrap-inner {\n display: block;\n}\n\n.breadcrumb {\n color: darkblue;\n cursor: pointer;\n display: inline;\n margin-left: 5px;\n margin-right: 5px;\n}\n\n.breadcrumb-end {\n display: inline;\n margin-left: 5px;\n}\n\n\n.breadcrumb-separator {\n font-size: 14px;\n display: inline;\n margin-left: 5px;\n margin-right: 5px;\n}\n.home-icon {\n margin-right: 5px;\n font-size: 18px;\n vertical-align: middle;\n}\n \n.title-icon {\n font-size: 32px;\n margin-right: 15px;\n}\n\n.config-button {\n display: flex;\n align-items: center;\n}\n\n.button-icon {\n margin-right: 5px;\n font-size: 16px;\n}", "\n.main-area {\n display: flex;\n flex-direction: column;\n height: 100%;\n width: 100%;\n gap: 24px;\n padding: 24px 0;\n}\n.list-view {\n padding: 16px;\n min-width: 300px;\n border-radius: 4px;\n background: #FAFAFA;\n border: none;\n}\n::ng-deep .list-view .k-listview-header, \n::ng-deep .list-view .k-listview-footer {\n border: none;\n}\n::ng-deep .list-view .k-listview-content {\n border: 1px solid rgba(0, 0, 0, 0.08);\n border-radius: 4px;\n background: #fff;\n padding: 16px;\n}\n\n.header,\n.footer {\n color: #424242;\n font-size: 16px;\n height: auto;\n margin:0;\n}\n\n.header {\n color: #424242;\n margin-bottom: 16px;\n display: flex;\n justify-content: space-between;\n align-items: center;\n}\n.header .head-tag {\n display: flex;\n align-items: center;\n gap: 8px;\n color: #424242;\nfont-size: 16px;\nfont-style: normal;\nfont-weight: 400;\nline-height: 20px;\n}\n\n.header .count {\n width: 24px;\n height: 24px;\n min-width: 24px;\n display: flex;\n justify-content: center;\n align-items: center;\n font-size: 10px;\n background: rgba(0, 0, 0, 0.08);\n border-radius: 50%;\n}\n.footer {\n font-size: 14px;\n margin-top: 16px;\n}\n\n.list-item {\n color: #424242;\n font-size: 14px;\n font-style: normal;\n font-weight: 400;\n line-height: 30px;\n cursor: pointer;\n margin: 4px;\n}\n.card-container {\n margin: 0;\n padding: 0;\n box-shadow: none;\n}\n.card-header-entity {\n display: flex;\n justify-content: space-between;\n align-items: flex-start;\n padding-bottom: 20px;\n border-bottom: 1px solid rgba(0, 0, 0, 0.08);\n}\n.card-header-entity .title-wrap h1 {\n color: #424242;\n font-size: 28px;\n font-style: normal;\n font-weight: 300;\n line-height: 28px;\n margin-bottom: 15px;\n}\n.card-header-entity .title-wrap {\n display: flex;\n flex-direction: column;\n}\n.card-header-entity .title-wrap p {\n margin: 0;\n display: flex;\n align-items: center;\n gap: 8px;\n color: #424242;\n font-size: 14px;\n font-style: normal;\n font-weight: 400;\n line-height: 20px;\n}\n\n\n\n\n \n.view-card .view-icon {\n color: var(--sideNav);\n}\n.card-wrapper {\n border: 1px solid rgba(0, 0, 0, 0.08);\n border-radius: 6px;\n width: 100% !important;\n}\n.card-wrapper .k-card-body {\n background: #fff;\n padding: 12px 20px;\n}\n.card-wrapper .view-card {\n overflow: auto;\n display: flex;\n justify-content: space-between;\n align-items: center;\n background: #fafafa;\n padding: 4px 15px;\n}\n.view-card .btn-wrapper {\n display: flex;\n align-items: center;\n}\n\n.k-card-body .view-card-content h5 {\n color: #424242;\n font-size: 16px;\n font-style: normal;\n font-weight: 400;\n line-height: 20px;\n margin-bottom: 0;\n letter-spacing: 0.18px;\n}\n.k-card-body .view-card-content p {\n color: #666;\n font-size: 14px;\n font-style: normal;\n font-weight: 400;\n line-height: 20px;\n height: 48px;\n margin-bottom: 0;\n}\n.card-container {\n padding: 0;\n margin: 0;\n box-shadow: none;\n}\n.card-header-entity {\n display: flex;\n justify-content: space-between;\n align-items: flex-start;\n padding-bottom: 20px;\n border-bottom: 1px solid rgba(0, 0, 0, 0.08);\n}\n\n.card-header-entity .title-wrap h1 {\n color: #424242;\n font-size: 28px;\n font-style: normal;\n font-weight: 300;\n line-height: 28px;\n margin-bottom: 15px;\n}\n.card-header-entity .title-wrap {\n display: flex;\n flex-direction: column;\n}\n.card-header-entity .title-wrap p {\n margin: 0;\n display: flex;\n align-items: center;\n gap: 8px;\n color: #424242;\n font-size: 14px;\n font-style: normal;\n font-weight: 400;\n line-height: 20px;\n}\n.main-area .card-list {\n display: grid;\n grid-template-columns: repeat(4, 1fr);\n gap: 20px;\n}\n"] }]
|
|
469
|
+
args: [{ selector: 'mj-application-view', template: "<div class=\"app-container\" *ngIf=\"this.app\">\n <div class=\"card-header-entity cloumn\">\n <div class=\"header-wrap\"> \n @if (this.app.Icon && this.app.Icon.length > 0) {\n <div class=\"title-icon\">\n <span [ngClass]=\"this.app.Icon\"></span>\n </div> \n }\n <div class=\"title-wrap\">\n <div class=\"title-wrap-inner\">\n <span class=\"breadcrumb\" (click)=\"GoHome($event)\">Home</span> \n <span class=\"breadcrumb-separator\"><span class=\"fa-solid fa-chevron-right\"></span></span>\n <span class=\"breadcrumb\" (click)=\"GoToApps($event)\">Applications</span>\n <span class=\"breadcrumb-separator\"><span class=\"fa-solid fa-chevron-right\"></span></span>\n <span class=\"breadcrumb-end\">{{this.app.Name}}</span>\n </div>\n </div>\n <div class=\"config-button\">\n <button kendoButton (click)=\"ShowAppEntitySelectionDialog()\"><span class=\"fa-solid fa-gear\"></span></button>\n <mj-record-selector-dialog \n EntityName=\"Entities\"\n [AvailableRecords]=\"AllAppEntities\" \n [SelectedRecords]=\"SelectedAppEntities\" \n [UnselectedRecords]=\"UnselectedAppEntities\"\n [DialogVisible]=\"AppEntitySelectionDialogVisible\"\n DisplayField=\"Name\"\n DisplayIconField=\"Icon\"\n (DialogClosed)=\"OnAppEntitySelectionDialogClosed($event)\"\n >\n </mj-record-selector-dialog>\n </div>\n </div> \n <div class=\"row\" #entityRow style=\"max-width: 100%;\">\n <div class=\"col-xs-12 col-sm-6 example-col\">\n <button\n *ngFor=\"let item of SelectedAppEntities\"\n kendoButton\n fillMode=\"flat\"\n [toggleable]=\"true\"\n [selected]=\"IsEntitySelected(item)\"\n (click)=\"onAppEntityButtonClicked(item)\"\n >\n <span>\n @if (item.Icon && item.Icon.length > 0) {\n <span [ngClass]=\"item.Icon + ' button-icon'\" ></span>\n }\n {{item.Name}}\n </span>\n </button>\n </div>\n </div>\n </div>\n @if (SelectedAppEntities.length === 0 && !showLoader) {\n <div (click)=\"ShowAppEntitySelectionDialog()\">\n <span class=\"fa-solid fa-gear\"></span>\n Click Here to Select Entities\n </div>\n }\n @if(showLoader) {\n <kendo-loader></kendo-loader>\n }\n @else {\n <div class=\"main-area margin-top-neg-20\" *ngIf=\"SelectedAppEntities.length > 0\">\n <app-generic-browser-list \n iconName=\"aggregateFields\" \n [items]=\"items\"\n [categoryEntityID]=\"categoryEntityID\"\n addText=\"Create New View\"\n ItemEntityName=\"User Views\"\n resourceName=\"View\"\n [title]=\"pageTitle\"\n [extraDropdownOptions]=\"extraDropdownOptions\"\n [CategoryEntityName]=\"categoryEntityName\"\n (itemClickEvent)=\"onItemClick($event)\" \n [selectedFolderID]=\"selectedFolderID\"\n [showLoader]=\"showLoader\"\n [viewingResource]=false\n [displayAsGrid]=\"displayAsGrid\"\n (AfterAddFolderEvent)=\"onEvent($event)\"\n (AfterAddItemEvent)=\"onEvent($event)\"\n (AfterDeleteItemEvent)=\"onEvent($event)\"\n (AfterDeleteFolderEvent)=\"onEvent($event)\"\n (viewModeChangeEvent)=\"onViewModeChange($event)\"\n (BeforeAddItemEvent)=\"createNewView($event)\"\n (BeforeUpdateItemEvent)=\"editView($event)\"\n />\n </div>\n }\n\n <mj-user-view-properties-dialog #userViewDialog [ShowPropertiesButton]=\"false\"(dialogClosed)=\"OnViewPropertiesDialogClose($event)\"></mj-user-view-properties-dialog>\n</div>\n", styles: [".app-container {\n padding: 15px;\n}\n \n.entity-list {\n width: 500px;\n}\n.favorites-list {\n width: 400px;\n}\n\n.cloumn {\n flex-direction: column;\n}\n.example-col {\n overflow-x: auto;\n}\n.example-col .k-selected {\n font-weight: 800;\n color: var(--tdata-color);\n border-bottom: 3px solid var(--border-blue) !important;\n background: var(--white-color);\n}\n\n.margin-top-neg-20 {\n margin-top: -20px;\n padding: 0px !important\n}\n\n.header-wrap {\n display: flex;\n justify-content: space-between;\n align-items: center;\n margin-bottom: 10px;\n width: 100%;\n}\n\n.title-wrap {\n flex-grow: 1;\n font-size: 24px;\n}\n.title-wrap-inner {\n display: block;\n}\n\n.breadcrumb {\n color: darkblue;\n cursor: pointer;\n display: inline;\n margin-left: 5px;\n margin-right: 5px;\n}\n\n.breadcrumb-end {\n display: inline;\n margin-left: 5px;\n}\n\n\n.breadcrumb-separator {\n font-size: 14px;\n display: inline;\n margin-left: 5px;\n margin-right: 5px;\n}\n.home-icon {\n margin-right: 5px;\n font-size: 18px;\n vertical-align: middle;\n}\n \n.title-icon {\n font-size: 32px;\n margin-right: 15px;\n}\n\n.config-button {\n display: flex;\n align-items: center;\n}\n\n.button-icon {\n margin-right: 5px;\n font-size: 16px;\n}", "\n.main-area {\n display: flex;\n flex-direction: column;\n height: 100%;\n width: 100%;\n gap: 24px;\n padding: 24px 0;\n}\n.list-view {\n padding: 16px;\n min-width: 300px;\n border-radius: 4px;\n background: #FAFAFA;\n border: none;\n}\n::ng-deep .list-view .k-listview-header, \n::ng-deep .list-view .k-listview-footer {\n border: none;\n}\n::ng-deep .list-view .k-listview-content {\n border: 1px solid rgba(0, 0, 0, 0.08);\n border-radius: 4px;\n background: #fff;\n padding: 16px;\n}\n\n.header,\n.footer {\n color: #424242;\n font-size: 16px;\n height: auto;\n margin:0;\n}\n\n.header {\n color: #424242;\n margin-bottom: 16px;\n display: flex;\n justify-content: space-between;\n align-items: center;\n}\n.header .head-tag {\n display: flex;\n align-items: center;\n gap: 8px;\n color: #424242;\nfont-size: 16px;\nfont-style: normal;\nfont-weight: 400;\nline-height: 20px;\n}\n\n.header .count {\n width: 24px;\n height: 24px;\n min-width: 24px;\n display: flex;\n justify-content: center;\n align-items: center;\n font-size: 10px;\n background: rgba(0, 0, 0, 0.08);\n border-radius: 50%;\n}\n.footer {\n font-size: 14px;\n margin-top: 16px;\n}\n\n.list-item {\n color: #424242;\n font-size: 14px;\n font-style: normal;\n font-weight: 400;\n line-height: 30px;\n cursor: pointer;\n margin: 4px;\n}\n.card-container {\n margin: 0;\n padding: 0;\n box-shadow: none;\n}\n.card-header-entity {\n display: flex;\n justify-content: space-between;\n align-items: flex-start;\n padding-bottom: 20px;\n border-bottom: 1px solid rgba(0, 0, 0, 0.08);\n}\n.card-header-entity .title-wrap h1 {\n color: #424242;\n font-size: 28px;\n font-style: normal;\n font-weight: 300;\n line-height: 28px;\n margin-bottom: 15px;\n}\n.card-header-entity .title-wrap {\n display: flex;\n flex-direction: column;\n}\n.card-header-entity .title-wrap p {\n margin: 0;\n display: flex;\n align-items: center;\n gap: 8px;\n color: #424242;\n font-size: 14px;\n font-style: normal;\n font-weight: 400;\n line-height: 20px;\n}\n\n\n\n\n \n.view-card .view-icon {\n color: var(--sideNav);\n}\n.card-wrapper {\n border: 1px solid rgba(0, 0, 0, 0.08);\n border-radius: 6px;\n width: 100% !important;\n}\n.card-wrapper .k-card-body {\n background: #fff;\n padding: 12px 20px;\n}\n.card-wrapper .view-card {\n overflow: auto;\n display: flex;\n justify-content: space-between;\n align-items: center;\n background: #fafafa;\n padding: 4px 15px;\n}\n.view-card .btn-wrapper {\n display: flex;\n align-items: center;\n}\n\n.k-card-body .view-card-content h5 {\n color: #424242;\n font-size: 16px;\n font-style: normal;\n font-weight: 400;\n line-height: 20px;\n margin-bottom: 0;\n letter-spacing: 0.18px;\n}\n.k-card-body .view-card-content p {\n color: #666;\n font-size: 14px;\n font-style: normal;\n font-weight: 400;\n line-height: 20px;\n height: 48px;\n margin-bottom: 0;\n}\n.card-container {\n padding: 0;\n margin: 0;\n box-shadow: none;\n}\n.card-header-entity {\n display: flex;\n justify-content: space-between;\n align-items: flex-start;\n padding-bottom: 20px;\n border-bottom: 1px solid rgba(0, 0, 0, 0.08);\n}\n\n.card-header-entity .title-wrap h1 {\n color: #424242;\n font-size: 28px;\n font-style: normal;\n font-weight: 300;\n line-height: 28px;\n margin-bottom: 15px;\n}\n.card-header-entity .title-wrap {\n display: flex;\n flex-direction: column;\n}\n.card-header-entity .title-wrap p {\n margin: 0;\n display: flex;\n align-items: center;\n gap: 8px;\n color: #424242;\n font-size: 14px;\n font-style: normal;\n font-weight: 400;\n line-height: 20px;\n}\n.main-area .card-list {\n display: grid;\n grid-template-columns: repeat(4, 1fr);\n gap: 20px;\n}\n"] }]
|
|
472
470
|
}], () => [{ type: i1.Router }, { type: i1.ActivatedRoute }, { type: i2.Location }, { type: i3.SharedService }, { type: i0.ChangeDetectorRef }], { entityRowRef: [{
|
|
473
471
|
type: ViewChild,
|
|
474
472
|
args: ['entityRow']
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
import { Folder, Item, ItemType } from "../../generic/Item.types";
|
|
2
2
|
import { Router, Params, ActivatedRoute } from '@angular/router';
|
|
3
3
|
import { BaseEvent } from "../../generic/Events.types";
|
|
4
|
-
|
|
4
|
+
import { BaseNavigationComponent } from "@memberjunction/ng-shared";
|
|
5
|
+
export declare class BaseBrowserComponent extends BaseNavigationComponent {
|
|
5
6
|
showLoader: boolean;
|
|
6
7
|
items: Item[];
|
|
7
8
|
folders: Folder[];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"base-browser-component.d.ts","sourceRoot":"","sources":["../../../src/lib/base-browser-component/base-browser-component.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AAClE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AACjE,OAAO,EAAE,SAAS,EAAyD,MAAM,4BAA4B,CAAC;
|
|
1
|
+
{"version":3,"file":"base-browser-component.d.ts","sourceRoot":"","sources":["../../../src/lib/base-browser-component/base-browser-component.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AAClE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AACjE,OAAO,EAAE,SAAS,EAAyD,MAAM,4BAA4B,CAAC;AAC9G,OAAO,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;AAEpE,qBAAa,oBAAqB,SAAQ,uBAAuB;IACtD,UAAU,EAAE,OAAO,CAAS;IAC5B,KAAK,EAAE,IAAI,EAAE,CAAC;IACd,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,UAAU,EAAE,GAAG,EAAE,CAAC;IAClB,gBAAgB,EAAE,MAAM,GAAG,IAAI,CAAQ;IACvC,SAAS,EAAE,MAAM,CAAM;IAE9B,SAAS,CAAC,QAAQ,EAAE,MAAM,CAAM;IAChC,SAAS,CAAC,SAAS,EAAE,MAAM,CAAM;IACjC,SAAS,CAAC,iBAAiB,EAAE,MAAM,CAAM;IACzC,SAAS,CAAC,cAAc,EAAE,MAAM,CAAM;IACtC,SAAS,CAAC,kBAAkB,EAAE,MAAM,CAAM;IAC1C,SAAS,CAAC,QAAQ,EAAE,MAAM,CAAU;IACpC,SAAS,CAAC,cAAc,EAAE,MAAM,GAAG,IAAI,CAAQ;;IAS/C,IAAW,aAAa,IAAI,OAAO,CAAqC;IAExE,SAAS,CAAC,oBAAoB,CAAC,WAAW,EAAE,MAAM,GAAG,SAAS,EAAE,KAAK,EAAE,cAAc,GAAG,IAAI;IAM/E,uBAAuB,IAAI,OAAO,CAAC,IAAI,CAAC;IAkBrD,SAAS,CAAC,eAAe,CAAC,MAAM,EAAE,cAAc,GAAG,IAAI;cAOvC,QAAQ,CAAC,MAAM,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC;IAkChE,SAAS,CAAC,SAAS,CAAC,KAAK,EAAE,IAAI,EAAE,GAAG,IAAI,EAAE;cAY1B,OAAO,CAAC,UAAU,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,SAAS,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;IAmB5F,SAAS,CAAC,yBAAyB,CAAC,UAAU,EAAE,GAAG,EAAE,EAAE,QAAQ,EAAE,QAAQ,GAAG,IAAI,EAAE;IAUlF,SAAS,CAAC,sBAAsB,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE;IAa3D,SAAS,CAAC,QAAQ,CAAC,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI;IAe7D,OAAO,CAAC,KAAK,EAAE,SAAS,GAAG,IAAI;IAa/B,gBAAgB,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI;CAGlD;AAED,MAAM,MAAM,cAAc,GAAG;IACzB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,cAAc,CAAC,EAAE,QAAQ,CAAC;IAC1B,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,UAAU,CAAC,EAAE,OAAO,CAAA;CACvB,CAAA"}
|
|
@@ -10,8 +10,10 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|
|
10
10
|
import { LogStatus, Metadata, RunView } from "@memberjunction/core";
|
|
11
11
|
import { Folder, Item, ItemType } from "../../generic/Item.types";
|
|
12
12
|
import { EventTypes } from "../../generic/Events.types";
|
|
13
|
-
|
|
13
|
+
import { BaseNavigationComponent } from "@memberjunction/ng-shared";
|
|
14
|
+
export class BaseBrowserComponent extends BaseNavigationComponent {
|
|
14
15
|
constructor() {
|
|
16
|
+
super();
|
|
15
17
|
this.showLoader = false;
|
|
16
18
|
this.selectedFolderID = null;
|
|
17
19
|
this.pageTitle = '';
|
|
@@ -35,11 +37,11 @@ export class BaseBrowserComponent {
|
|
|
35
37
|
buildFiltersAndLoadData() {
|
|
36
38
|
return __awaiter(this, void 0, void 0, function* () {
|
|
37
39
|
const md = new Metadata();
|
|
38
|
-
let categoryFilter = this.selectedFolderID ? `CategoryID = ${this.selectedFolderID}` : `CategoryID IS NULL`;
|
|
39
|
-
let resourceFilter = `UserID = ${md.CurrentUser.ID} AND ${categoryFilter}`;
|
|
40
|
+
let categoryFilter = this.selectedFolderID ? `CategoryID = '${this.selectedFolderID}'` : `CategoryID IS NULL`;
|
|
41
|
+
let resourceFilter = `UserID = '${md.CurrentUser.ID}' AND ${categoryFilter}`;
|
|
40
42
|
//filter for the folders
|
|
41
|
-
let resourceCategoryFilter = this.selectedFolderID ? `ParentID = ${this.selectedFolderID}` : `ParentID IS NULL`;
|
|
42
|
-
resourceCategoryFilter += ` AND UserID = ${md.CurrentUser.ID}`;
|
|
43
|
+
let resourceCategoryFilter = this.selectedFolderID ? `ParentID = '${this.selectedFolderID}'` : `ParentID IS NULL`;
|
|
44
|
+
resourceCategoryFilter += ` AND UserID = '${md.CurrentUser.ID}'`;
|
|
43
45
|
LogStatus("resourceFilter: " + resourceFilter + " category filter: " + resourceCategoryFilter);
|
|
44
46
|
yield this.LoadData({
|
|
45
47
|
sortItemsAfterLoad: true,
|
|
@@ -8,6 +8,9 @@ export declare class DashboardBrowserComponent extends BaseBrowserComponent {
|
|
|
8
8
|
private router;
|
|
9
9
|
private route;
|
|
10
10
|
private sharedService;
|
|
11
|
+
extraDropdownOptions: {
|
|
12
|
+
text: string;
|
|
13
|
+
}[];
|
|
11
14
|
constructor(router: Router, route: ActivatedRoute, sharedService: SharedService);
|
|
12
15
|
ngOnInit(): Promise<void>;
|
|
13
16
|
itemClick(item: Item): void;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dashboard-browser.component.d.ts","sourceRoot":"","sources":["../../../src/lib/dashboard-browser-component/dashboard-browser.component.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAA;AACxD,OAAO,
|
|
1
|
+
{"version":3,"file":"dashboard-browser.component.d.ts","sourceRoot":"","sources":["../../../src/lib/dashboard-browser-component/dashboard-browser.component.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAA;AACxD,OAAO,EAA2B,aAAa,EAAE,MAAM,2BAA2B,CAAC;AACnF,OAAO,EAAE,IAAI,EAAE,MAAM,0BAA0B,CAAC;AAChD,OAAO,EAAE,oBAAoB,EAAE,MAAM,kDAAkD,CAAC;AAExF,OAAO,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;;AAGnE,qBAMa,yBAA0B,SAAQ,oBAAoB;IAKrD,OAAO,CAAC,MAAM;IAAU,OAAO,CAAC,KAAK;IAAkB,OAAO,CAAC,aAAa;IAJjF,oBAAoB,EAAG;QAAC,IAAI,EAAE,MAAM,CAAA;KAAC,EAAE,CAE5C;gBAEkB,MAAM,EAAE,MAAM,EAAU,KAAK,EAAE,cAAc,EAAU,aAAa,EAAE,aAAa;IAajG,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;IAQxB,SAAS,CAAC,IAAI,EAAE,IAAI;IAWpB,uBAAuB,CAAC,KAAK,EAAE,qBAAqB,GAAG,IAAI;yCArCvD,yBAAyB;2CAAzB,yBAAyB;CA6CrC"}
|
|
@@ -1,3 +1,9 @@
|
|
|
1
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
2
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
3
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
4
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
5
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
6
|
+
};
|
|
1
7
|
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
2
8
|
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
3
9
|
return new (P || (P = Promise))(function (resolve, reject) {
|
|
@@ -8,18 +14,23 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|
|
8
14
|
});
|
|
9
15
|
};
|
|
10
16
|
import { Component } from '@angular/core';
|
|
17
|
+
import { BaseNavigationComponent } from '@memberjunction/ng-shared';
|
|
11
18
|
import { BaseBrowserComponent } from '../base-browser-component/base-browser-component';
|
|
19
|
+
import { RegisterClass } from '@memberjunction/global';
|
|
12
20
|
import * as i0 from "@angular/core";
|
|
13
21
|
import * as i1 from "@angular/router";
|
|
14
22
|
import * as i2 from "@memberjunction/ng-shared";
|
|
15
23
|
import * as i3 from "../generic-browser-list/generic-browser-list.component";
|
|
16
|
-
|
|
24
|
+
let DashboardBrowserComponent = class DashboardBrowserComponent extends BaseBrowserComponent {
|
|
17
25
|
constructor(router, route, sharedService) {
|
|
18
26
|
var _a;
|
|
19
27
|
super();
|
|
20
28
|
this.router = router;
|
|
21
29
|
this.route = route;
|
|
22
30
|
this.sharedService = sharedService;
|
|
31
|
+
this.extraDropdownOptions = [
|
|
32
|
+
{ text: 'View' }
|
|
33
|
+
];
|
|
23
34
|
this.pageName = "Dashboards";
|
|
24
35
|
this.routeName = "dashboards";
|
|
25
36
|
this.routeNameSingular = "dashboard";
|
|
@@ -54,17 +65,21 @@ export class DashboardBrowserComponent extends BaseBrowserComponent {
|
|
|
54
65
|
let dashboard = item.Data;
|
|
55
66
|
this.router.navigate(['resource', this.routeNameSingular, dashboard.ID], { queryParams: { edit: true } });
|
|
56
67
|
}
|
|
57
|
-
}
|
|
68
|
+
};
|
|
58
69
|
DashboardBrowserComponent.ɵfac = function DashboardBrowserComponent_Factory(t) { return new (t || DashboardBrowserComponent)(i0.ɵɵdirectiveInject(i1.Router), i0.ɵɵdirectiveInject(i1.ActivatedRoute), i0.ɵɵdirectiveInject(i2.SharedService)); };
|
|
59
|
-
DashboardBrowserComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: DashboardBrowserComponent, selectors: [["app-dashboard-browser"]], features: [i0.ɵɵInheritDefinitionFeature], decls: 1, vars:
|
|
70
|
+
DashboardBrowserComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: DashboardBrowserComponent, selectors: [["app-dashboard-browser"]], features: [i0.ɵɵInheritDefinitionFeature], decls: 1, vars: 5, consts: [["title", "Dashboards", "itemType", "dashboard", "iconName", "aggregateFields", "addText", "Create New Dashboard", "ItemEntityName", "Dashboards", "resourceName", "Dashboard", "CategoryEntityName", "Dashboard Categories", 3, "itemClickEvent", "AfterAddFolderEvent", "AfterAddItemEvent", "AfterDeleteItemEvent", "AfterDeleteFolderEvent", "BeforeUpdateItemEvent", "viewModeChangeEvent", "items", "extraDropdownOptions", "selectedFolderID", "showLoader", "displayAsGrid"]], template: function DashboardBrowserComponent_Template(rf, ctx) { if (rf & 1) {
|
|
60
71
|
i0.ɵɵelementStart(0, "app-generic-browser-list", 0);
|
|
61
72
|
i0.ɵɵlistener("itemClickEvent", function DashboardBrowserComponent_Template_app_generic_browser_list_itemClickEvent_0_listener($event) { return ctx.itemClick($event); })("AfterAddFolderEvent", function DashboardBrowserComponent_Template_app_generic_browser_list_AfterAddFolderEvent_0_listener($event) { return ctx.onEvent($event); })("AfterAddItemEvent", function DashboardBrowserComponent_Template_app_generic_browser_list_AfterAddItemEvent_0_listener($event) { return ctx.onEvent($event); })("AfterDeleteItemEvent", function DashboardBrowserComponent_Template_app_generic_browser_list_AfterDeleteItemEvent_0_listener($event) { return ctx.onEvent($event); })("AfterDeleteFolderEvent", function DashboardBrowserComponent_Template_app_generic_browser_list_AfterDeleteFolderEvent_0_listener($event) { return ctx.onEvent($event); })("BeforeUpdateItemEvent", function DashboardBrowserComponent_Template_app_generic_browser_list_BeforeUpdateItemEvent_0_listener($event) { return ctx.onBeforeUpdateItemEvent($event); })("viewModeChangeEvent", function DashboardBrowserComponent_Template_app_generic_browser_list_viewModeChangeEvent_0_listener($event) { return ctx.onViewModeChange($event); });
|
|
62
73
|
i0.ɵɵelementEnd();
|
|
63
74
|
} if (rf & 2) {
|
|
64
|
-
i0.ɵɵproperty("items", ctx.items)("selectedFolderID", ctx.selectedFolderID)("showLoader", ctx.showLoader)("displayAsGrid", ctx.displayAsGrid);
|
|
75
|
+
i0.ɵɵproperty("items", ctx.items)("extraDropdownOptions", ctx.extraDropdownOptions)("selectedFolderID", ctx.selectedFolderID)("showLoader", ctx.showLoader)("displayAsGrid", ctx.displayAsGrid);
|
|
65
76
|
} }, dependencies: [i3.GenericBrowserListComponent], styles: [".main-area[_ngcontent-%COMP%] {\n display: flex;\n flex-direction: column;\n height: 100%;\n width: 100%;\n gap: 24px;\n padding: 24px 0;\n}\n.list-view[_ngcontent-%COMP%] {\n padding: 16px;\n min-width: 300px;\n border-radius: 4px;\n background: #FAFAFA;\n border: none;\n}\n .list-view .k-listview-header, \n .list-view .k-listview-footer {\n border: none;\n}\n .list-view .k-listview-content {\n border: 1px solid rgba(0, 0, 0, 0.08);\n border-radius: 4px;\n background: #fff;\n padding: 16px;\n}\n\n.header[_ngcontent-%COMP%], \n.footer[_ngcontent-%COMP%] {\n color: #424242;\n font-size: 16px;\n height: auto;\n margin:0;\n}\n\n.header[_ngcontent-%COMP%] {\n color: #424242;\n margin-bottom: 16px;\n display: flex;\n justify-content: space-between;\n align-items: center;\n}\n.header[_ngcontent-%COMP%] .head-tag[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 8px;\n color: #424242;\nfont-size: 16px;\nfont-style: normal;\nfont-weight: 400;\nline-height: 20px;\n}\n\n.header[_ngcontent-%COMP%] .count[_ngcontent-%COMP%] {\n width: 24px;\n height: 24px;\n min-width: 24px;\n display: flex;\n justify-content: center;\n align-items: center;\n font-size: 10px;\n background: rgba(0, 0, 0, 0.08);\n border-radius: 50%;\n}\n.footer[_ngcontent-%COMP%] {\n font-size: 14px;\n margin-top: 16px;\n}\n\n.list-item[_ngcontent-%COMP%] {\n color: #424242;\n font-size: 14px;\n font-style: normal;\n font-weight: 400;\n line-height: 30px;\n cursor: pointer;\n margin: 4px;\n}\n.card-container[_ngcontent-%COMP%] {\n margin: 0;\n padding: 0;\n box-shadow: none;\n}\n.card-header-entity[_ngcontent-%COMP%] {\n display: flex;\n justify-content: space-between;\n align-items: flex-start;\n padding-bottom: 20px;\n border-bottom: 1px solid rgba(0, 0, 0, 0.08);\n}\n.card-header-entity[_ngcontent-%COMP%] .title-wrap[_ngcontent-%COMP%] h1[_ngcontent-%COMP%] {\n color: #424242;\n font-size: 28px;\n font-style: normal;\n font-weight: 300;\n line-height: 28px;\n margin-bottom: 15px;\n}\n.card-header-entity[_ngcontent-%COMP%] .title-wrap[_ngcontent-%COMP%] {\n display: flex;\n flex-direction: column;\n}\n.card-header-entity[_ngcontent-%COMP%] .title-wrap[_ngcontent-%COMP%] p[_ngcontent-%COMP%] {\n margin: 0;\n display: flex;\n align-items: center;\n gap: 8px;\n color: #424242;\n font-size: 14px;\n font-style: normal;\n font-weight: 400;\n line-height: 20px;\n}\n\n\n\n\n \n.view-card[_ngcontent-%COMP%] .view-icon[_ngcontent-%COMP%] {\n color: var(--sideNav);\n}\n.card-wrapper[_ngcontent-%COMP%] {\n border: 1px solid rgba(0, 0, 0, 0.08);\n border-radius: 6px;\n width: 100% !important;\n}\n.card-wrapper[_ngcontent-%COMP%] .k-card-body[_ngcontent-%COMP%] {\n background: #fff;\n padding: 12px 20px;\n}\n.card-wrapper[_ngcontent-%COMP%] .view-card[_ngcontent-%COMP%] {\n overflow: auto;\n display: flex;\n justify-content: space-between;\n align-items: center;\n background: #fafafa;\n padding: 4px 15px;\n}\n.view-card[_ngcontent-%COMP%] .btn-wrapper[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n}\n\n.k-card-body[_ngcontent-%COMP%] .view-card-content[_ngcontent-%COMP%] h5[_ngcontent-%COMP%] {\n color: #424242;\n font-size: 16px;\n font-style: normal;\n font-weight: 400;\n line-height: 20px;\n margin-bottom: 0;\n letter-spacing: 0.18px;\n}\n.k-card-body[_ngcontent-%COMP%] .view-card-content[_ngcontent-%COMP%] p[_ngcontent-%COMP%] {\n color: #666;\n font-size: 14px;\n font-style: normal;\n font-weight: 400;\n line-height: 20px;\n height: 48px;\n margin-bottom: 0;\n}\n.card-container[_ngcontent-%COMP%] {\n padding: 0;\n margin: 0;\n box-shadow: none;\n}\n.card-header-entity[_ngcontent-%COMP%] {\n display: flex;\n justify-content: space-between;\n align-items: flex-start;\n padding-bottom: 20px;\n border-bottom: 1px solid rgba(0, 0, 0, 0.08);\n}\n\n.card-header-entity[_ngcontent-%COMP%] .title-wrap[_ngcontent-%COMP%] h1[_ngcontent-%COMP%] {\n color: #424242;\n font-size: 28px;\n font-style: normal;\n font-weight: 300;\n line-height: 28px;\n margin-bottom: 15px;\n}\n.card-header-entity[_ngcontent-%COMP%] .title-wrap[_ngcontent-%COMP%] {\n display: flex;\n flex-direction: column;\n}\n.card-header-entity[_ngcontent-%COMP%] .title-wrap[_ngcontent-%COMP%] p[_ngcontent-%COMP%] {\n margin: 0;\n display: flex;\n align-items: center;\n gap: 8px;\n color: #424242;\n font-size: 14px;\n font-style: normal;\n font-weight: 400;\n line-height: 20px;\n}\n.main-area[_ngcontent-%COMP%] .card-list[_ngcontent-%COMP%] {\n display: grid;\n grid-template-columns: repeat(4, 1fr);\n gap: 20px;\n}"] });
|
|
77
|
+
DashboardBrowserComponent = __decorate([
|
|
78
|
+
RegisterClass(BaseNavigationComponent, 'Dashboards')
|
|
79
|
+
], DashboardBrowserComponent);
|
|
80
|
+
export { DashboardBrowserComponent };
|
|
66
81
|
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(DashboardBrowserComponent, [{
|
|
67
82
|
type: Component,
|
|
68
|
-
args: [{ selector: 'app-dashboard-browser', template: "<app-generic-browser-list \n title=\"Dashboards\" \n itemType=\"dashboard\" \n iconName=\"aggregateFields\" \n [items]=\"items\" \n addText=\"Create New Dashboard\"\n ItemEntityName=\"Dashboards\"\n resourceName=\"Dashboard\"\n CategoryEntityName=\"Dashboard Categories\"\n (itemClickEvent)=\"itemClick($event)\" \n (AfterAddFolderEvent)=\"onEvent($event)\"\n (AfterAddItemEvent)=\"onEvent($event)\"\n (AfterDeleteItemEvent)=\"onEvent($event)\"\n (AfterDeleteFolderEvent)=\"onEvent($event)\"\n (BeforeUpdateItemEvent)=\"onBeforeUpdateItemEvent($event)\"\n [selectedFolderID]=\"selectedFolderID\"\n [showLoader]=\"showLoader\"\n [displayAsGrid]=\"displayAsGrid\"\n (viewModeChangeEvent)=\"onViewModeChange($event)\"\n/>\n", styles: ["\n.main-area {\n display: flex;\n flex-direction: column;\n height: 100%;\n width: 100%;\n gap: 24px;\n padding: 24px 0;\n}\n.list-view {\n padding: 16px;\n min-width: 300px;\n border-radius: 4px;\n background: #FAFAFA;\n border: none;\n}\n::ng-deep .list-view .k-listview-header, \n::ng-deep .list-view .k-listview-footer {\n border: none;\n}\n::ng-deep .list-view .k-listview-content {\n border: 1px solid rgba(0, 0, 0, 0.08);\n border-radius: 4px;\n background: #fff;\n padding: 16px;\n}\n\n.header,\n.footer {\n color: #424242;\n font-size: 16px;\n height: auto;\n margin:0;\n}\n\n.header {\n color: #424242;\n margin-bottom: 16px;\n display: flex;\n justify-content: space-between;\n align-items: center;\n}\n.header .head-tag {\n display: flex;\n align-items: center;\n gap: 8px;\n color: #424242;\nfont-size: 16px;\nfont-style: normal;\nfont-weight: 400;\nline-height: 20px;\n}\n\n.header .count {\n width: 24px;\n height: 24px;\n min-width: 24px;\n display: flex;\n justify-content: center;\n align-items: center;\n font-size: 10px;\n background: rgba(0, 0, 0, 0.08);\n border-radius: 50%;\n}\n.footer {\n font-size: 14px;\n margin-top: 16px;\n}\n\n.list-item {\n color: #424242;\n font-size: 14px;\n font-style: normal;\n font-weight: 400;\n line-height: 30px;\n cursor: pointer;\n margin: 4px;\n}\n.card-container {\n margin: 0;\n padding: 0;\n box-shadow: none;\n}\n.card-header-entity {\n display: flex;\n justify-content: space-between;\n align-items: flex-start;\n padding-bottom: 20px;\n border-bottom: 1px solid rgba(0, 0, 0, 0.08);\n}\n.card-header-entity .title-wrap h1 {\n color: #424242;\n font-size: 28px;\n font-style: normal;\n font-weight: 300;\n line-height: 28px;\n margin-bottom: 15px;\n}\n.card-header-entity .title-wrap {\n display: flex;\n flex-direction: column;\n}\n.card-header-entity .title-wrap p {\n margin: 0;\n display: flex;\n align-items: center;\n gap: 8px;\n color: #424242;\n font-size: 14px;\n font-style: normal;\n font-weight: 400;\n line-height: 20px;\n}\n\n\n\n\n \n.view-card .view-icon {\n color: var(--sideNav);\n}\n.card-wrapper {\n border: 1px solid rgba(0, 0, 0, 0.08);\n border-radius: 6px;\n width: 100% !important;\n}\n.card-wrapper .k-card-body {\n background: #fff;\n padding: 12px 20px;\n}\n.card-wrapper .view-card {\n overflow: auto;\n display: flex;\n justify-content: space-between;\n align-items: center;\n background: #fafafa;\n padding: 4px 15px;\n}\n.view-card .btn-wrapper {\n display: flex;\n align-items: center;\n}\n\n.k-card-body .view-card-content h5 {\n color: #424242;\n font-size: 16px;\n font-style: normal;\n font-weight: 400;\n line-height: 20px;\n margin-bottom: 0;\n letter-spacing: 0.18px;\n}\n.k-card-body .view-card-content p {\n color: #666;\n font-size: 14px;\n font-style: normal;\n font-weight: 400;\n line-height: 20px;\n height: 48px;\n margin-bottom: 0;\n}\n.card-container {\n padding: 0;\n margin: 0;\n box-shadow: none;\n}\n.card-header-entity {\n display: flex;\n justify-content: space-between;\n align-items: flex-start;\n padding-bottom: 20px;\n border-bottom: 1px solid rgba(0, 0, 0, 0.08);\n}\n\n.card-header-entity .title-wrap h1 {\n color: #424242;\n font-size: 28px;\n font-style: normal;\n font-weight: 300;\n line-height: 28px;\n margin-bottom: 15px;\n}\n.card-header-entity .title-wrap {\n display: flex;\n flex-direction: column;\n}\n.card-header-entity .title-wrap p {\n margin: 0;\n display: flex;\n align-items: center;\n gap: 8px;\n color: #424242;\n font-size: 14px;\n font-style: normal;\n font-weight: 400;\n line-height: 20px;\n}\n.main-area .card-list {\n display: grid;\n grid-template-columns: repeat(4, 1fr);\n gap: 20px;\n}\n"] }]
|
|
83
|
+
args: [{ selector: 'app-dashboard-browser', template: "<app-generic-browser-list \n title=\"Dashboards\" \n itemType=\"dashboard\" \n iconName=\"aggregateFields\" \n [items]=\"items\" \n [extraDropdownOptions]=\"extraDropdownOptions\"\n addText=\"Create New Dashboard\"\n ItemEntityName=\"Dashboards\"\n resourceName=\"Dashboard\"\n CategoryEntityName=\"Dashboard Categories\"\n (itemClickEvent)=\"itemClick($event)\" \n (AfterAddFolderEvent)=\"onEvent($event)\"\n (AfterAddItemEvent)=\"onEvent($event)\"\n (AfterDeleteItemEvent)=\"onEvent($event)\"\n (AfterDeleteFolderEvent)=\"onEvent($event)\"\n (BeforeUpdateItemEvent)=\"onBeforeUpdateItemEvent($event)\"\n [selectedFolderID]=\"selectedFolderID\"\n [showLoader]=\"showLoader\"\n [displayAsGrid]=\"displayAsGrid\"\n (viewModeChangeEvent)=\"onViewModeChange($event)\"\n/>\n", styles: ["\n.main-area {\n display: flex;\n flex-direction: column;\n height: 100%;\n width: 100%;\n gap: 24px;\n padding: 24px 0;\n}\n.list-view {\n padding: 16px;\n min-width: 300px;\n border-radius: 4px;\n background: #FAFAFA;\n border: none;\n}\n::ng-deep .list-view .k-listview-header, \n::ng-deep .list-view .k-listview-footer {\n border: none;\n}\n::ng-deep .list-view .k-listview-content {\n border: 1px solid rgba(0, 0, 0, 0.08);\n border-radius: 4px;\n background: #fff;\n padding: 16px;\n}\n\n.header,\n.footer {\n color: #424242;\n font-size: 16px;\n height: auto;\n margin:0;\n}\n\n.header {\n color: #424242;\n margin-bottom: 16px;\n display: flex;\n justify-content: space-between;\n align-items: center;\n}\n.header .head-tag {\n display: flex;\n align-items: center;\n gap: 8px;\n color: #424242;\nfont-size: 16px;\nfont-style: normal;\nfont-weight: 400;\nline-height: 20px;\n}\n\n.header .count {\n width: 24px;\n height: 24px;\n min-width: 24px;\n display: flex;\n justify-content: center;\n align-items: center;\n font-size: 10px;\n background: rgba(0, 0, 0, 0.08);\n border-radius: 50%;\n}\n.footer {\n font-size: 14px;\n margin-top: 16px;\n}\n\n.list-item {\n color: #424242;\n font-size: 14px;\n font-style: normal;\n font-weight: 400;\n line-height: 30px;\n cursor: pointer;\n margin: 4px;\n}\n.card-container {\n margin: 0;\n padding: 0;\n box-shadow: none;\n}\n.card-header-entity {\n display: flex;\n justify-content: space-between;\n align-items: flex-start;\n padding-bottom: 20px;\n border-bottom: 1px solid rgba(0, 0, 0, 0.08);\n}\n.card-header-entity .title-wrap h1 {\n color: #424242;\n font-size: 28px;\n font-style: normal;\n font-weight: 300;\n line-height: 28px;\n margin-bottom: 15px;\n}\n.card-header-entity .title-wrap {\n display: flex;\n flex-direction: column;\n}\n.card-header-entity .title-wrap p {\n margin: 0;\n display: flex;\n align-items: center;\n gap: 8px;\n color: #424242;\n font-size: 14px;\n font-style: normal;\n font-weight: 400;\n line-height: 20px;\n}\n\n\n\n\n \n.view-card .view-icon {\n color: var(--sideNav);\n}\n.card-wrapper {\n border: 1px solid rgba(0, 0, 0, 0.08);\n border-radius: 6px;\n width: 100% !important;\n}\n.card-wrapper .k-card-body {\n background: #fff;\n padding: 12px 20px;\n}\n.card-wrapper .view-card {\n overflow: auto;\n display: flex;\n justify-content: space-between;\n align-items: center;\n background: #fafafa;\n padding: 4px 15px;\n}\n.view-card .btn-wrapper {\n display: flex;\n align-items: center;\n}\n\n.k-card-body .view-card-content h5 {\n color: #424242;\n font-size: 16px;\n font-style: normal;\n font-weight: 400;\n line-height: 20px;\n margin-bottom: 0;\n letter-spacing: 0.18px;\n}\n.k-card-body .view-card-content p {\n color: #666;\n font-size: 14px;\n font-style: normal;\n font-weight: 400;\n line-height: 20px;\n height: 48px;\n margin-bottom: 0;\n}\n.card-container {\n padding: 0;\n margin: 0;\n box-shadow: none;\n}\n.card-header-entity {\n display: flex;\n justify-content: space-between;\n align-items: flex-start;\n padding-bottom: 20px;\n border-bottom: 1px solid rgba(0, 0, 0, 0.08);\n}\n\n.card-header-entity .title-wrap h1 {\n color: #424242;\n font-size: 28px;\n font-style: normal;\n font-weight: 300;\n line-height: 28px;\n margin-bottom: 15px;\n}\n.card-header-entity .title-wrap {\n display: flex;\n flex-direction: column;\n}\n.card-header-entity .title-wrap p {\n margin: 0;\n display: flex;\n align-items: center;\n gap: 8px;\n color: #424242;\n font-size: 14px;\n font-style: normal;\n font-weight: 400;\n line-height: 20px;\n}\n.main-area .card-list {\n display: grid;\n grid-template-columns: repeat(4, 1fr);\n gap: 20px;\n}\n"] }]
|
|
69
84
|
}], () => [{ type: i1.Router }, { type: i1.ActivatedRoute }, { type: i2.SharedService }], null); })();
|
|
70
|
-
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(DashboardBrowserComponent, { className: "DashboardBrowserComponent", filePath: "src/lib/dashboard-browser-component/dashboard-browser.component.ts", lineNumber:
|
|
85
|
+
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(DashboardBrowserComponent, { className: "DashboardBrowserComponent", filePath: "src/lib/dashboard-browser-component/dashboard-browser.component.ts", lineNumber: 16 }); })();
|