@memberjunction/ng-shared
Version:
MemberJunction: MJ Explorer Angular Shared Package - utility functions and other reusable elements used across other MJ Angular packages within the MJ Explorer App - do not use outside of MJ Explorer.
124 lines • 5.83 kB
TypeScript
import { ElementRef } from '@angular/core';
import { CompositeKey } from '@memberjunction/core';
import { ResourceTypeEntity, UserNotificationEntity, ViewColumnInfo } from '@memberjunction/core-entities';
import { Observable } from 'rxjs';
import { NotificationService } from "@progress/kendo-angular-notification";
import { MJNotificationService } from '@memberjunction/ng-notifications';
import { Router } from '@angular/router';
import * as i0 from "@angular/core";
export declare class SharedService {
private notificationService;
private mjNotificationsService;
private router;
private static _instance;
private static _loaded;
private static _resourceTypes;
private static isLoading$;
private tabChange;
tabChange$: Observable<unknown>;
constructor(notificationService: NotificationService, mjNotificationsService: MJNotificationService, router: Router);
static get Instance(): SharedService;
/**
* Returns the current session ID, which is automatically created when the service is instantiated.
*/
get SessionId(): string;
get ResourceTypes(): ResourceTypeEntity[];
get ViewResourceType(): ResourceTypeEntity;
get RecordResourceType(): ResourceTypeEntity;
get DashboardResourceType(): ResourceTypeEntity;
get ReportResourceType(): ResourceTypeEntity;
get SearchResultsResourceType(): ResourceTypeEntity;
get ListResourceType(): ResourceTypeEntity;
ResourceTypeByID(id: string): ResourceTypeEntity | undefined;
ResourceTypeByName(name: string): ResourceTypeEntity | undefined;
/**
* Refreshes the data for the service. If OnlyIfNeeded is true, then the data is only refreshed if it hasn't been loaded yet.
*/
static RefreshData(OnlyIfNeeded?: boolean): Promise<void>;
private static handleDataLoading;
FormatColumnValue(col: ViewColumnInfo, value: any, maxLength?: number, trailingChars?: string): any;
ConvertMarkdownStringToHtmlList(listType: HtmlListType, text: string): string;
InvokeManualResize(delay?: number): void;
PushStatusUpdates(): Observable<string>;
private _currentUserImage;
get CurrentUserImage(): string | Blob;
set CurrentUserImage(value: string | Blob);
/**
* @deprecated Use MJNotificationService.UserNotifications instead
*/
static get UserNotifications(): UserNotificationEntity[];
/**
* @deprecated Use MJNotificationService.UnreadUserNotifications instead
*/
static get UnreadUserNotifications(): UserNotificationEntity[];
/**
* @deprecated Use MJNotificationService.UnreadUserNotificationCount instead
*/
static get UnreadUserNotificationCount(): number;
/**
* Utility method that returns true if child is a descendant of parent, false otherwise.
*/
static IsDescendant(parent: ElementRef, child: ElementRef): boolean;
/**
* Creates a notification in the database and refreshes the UI. Returns the notification object.
* @param title
* @param message
* @param resourceTypeId
* @param resourceRecordId
* @param resourceConfiguration Any object, it is converted to a string by JSON.stringify and stored in the database
* @returns
* @deprecated Use MJNotificationService.CreateNotification instead
*/
CreateNotification(title: string, message: string, resourceTypeId: string | null, resourceRecordId: string | null, resourceConfiguration: any | null, displayToUser?: boolean): Promise<UserNotificationEntity>;
/**
* @deprecated Use MJNotificationService.RefreshUserNotifications instead
*/
static RefreshUserNotifications(): Promise<void>;
/**
* Creates a message that is not saved to the User Notifications table, but is displayed to the user.
* @param message - text to display
* @param style - display styling
* @param hideAfter - option to auto hide after the specified delay in milliseconds
* @deprecated Use MJNotificationService.CreateSimpleNotification instead
*/
CreateSimpleNotification(message: string, style?: "none" | "success" | "error" | "warning" | "info", hideAfter?: number): void;
private _resourceTypeMap;
/**
* Maps a Resource Type record Name column to the corresponding route segment
* @param resourceTypeName
* @returns
*/
mapResourceTypeNameToRouteSegment(resourceTypeName: string): string | null;
/**
* Maps a route segment to the corresponding Resource Type record Name column
* @param resourceRouteSegment
* @returns
*/
mapResourceTypeRouteSegmentToName(resourceRouteSegment: string): string | null;
OpenEntityRecord(entityName: string, recordPkey: CompositeKey): void;
static ɵfac: i0.ɵɵFactoryDeclaration<SharedService, never>;
static ɵprov: i0.ɵɵInjectableDeclaration<SharedService>;
}
export declare const HtmlListType: {
readonly Unordered: "Unordered";
readonly Ordered: "Ordered";
};
export type HtmlListType = typeof HtmlListType[keyof typeof HtmlListType];
export declare const EventCodes: {
readonly ViewClicked: "ViewClicked";
readonly EntityRecordClicked: "EntityRecordClicked";
readonly AddDashboard: "AddDashboard";
readonly AddReport: "AddReport";
readonly AddQuery: "AddQuery";
readonly ViewCreated: "ViewCreated";
readonly ViewUpdated: "ViewUpdated";
readonly RunSearch: "RunSearch";
readonly ViewNotifications: "ViewNotifications";
readonly PushStatusUpdates: "PushStatusUpdates";
readonly UserNotificationsUpdated: "UserNotificationsUpdated";
readonly CloseCurrentTab: "CloseCurrentTab";
readonly ListCreated: "ListCreated";
readonly ListClicked: "ListClicked";
};
export type EventCodes = typeof EventCodes[keyof typeof EventCodes];
//# sourceMappingURL=shared.service.d.ts.map