mftsccs-browser 2.2.44-beta → 2.2.46-beta
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/main.bundle.js +1 -1
- package/dist/serviceWorker.bundle.js +1 -1
- package/dist/types/AccessTracker/accessTracker.d.ts +6 -1
- package/dist/types/Api/GetInstanceConceptByCharacterType.d.ts +9 -0
- package/dist/types/Constants/general.const.d.ts +7 -2
- package/dist/types/DataStructures/BaseUrl.d.ts +7 -0
- package/dist/types/DataStructures/BinaryTree.d.ts +1 -0
- package/dist/types/DataStructures/Search/FreeschemaQuery.d.ts +1 -0
- package/dist/types/DataStructures/Security/TokenStorage.d.ts +1 -0
- package/dist/types/Middleware/ApplicationMonitor.d.ts +11 -0
- package/dist/types/Middleware/logger.service.d.ts +2 -2
- package/dist/types/Services/Mail.d.ts +25 -2
- package/dist/types/Services/Security/GetRequestHeader.d.ts +7 -3
- package/dist/types/Services/Transaction/LocalTransaction.d.ts +5 -4
- package/dist/types/Services/Upload.d.ts +80 -3
- package/dist/types/Services/User/UserFromLocalStorage.d.ts +5 -0
- package/dist/types/WrapperFunctions/DepenedencyObserver.d.ts +21 -0
- package/dist/types/WrapperFunctions/SchemaQueryObservable.d.ts +4 -0
- package/dist/types/app.d.ts +9 -5
- package/package.json +4 -1
- package/dist/types/DataStructures/ConceptsToDraw.d.ts +0 -11
- package/dist/types/Visualize/ConceptCircle.d.ts +0 -35
- package/dist/types/Visualize/ConceptCircleList.d.ts +0 -9
- package/dist/types/Visualize/ConnectionLine.d.ts +0 -21
- package/dist/types/Visualize/ConnectionLineList.d.ts +0 -6
- package/dist/types/Visualize/drawExistingConcepts.d.ts +0 -8
- package/dist/types/Visualize/helper.d.ts +0 -15
|
@@ -5,6 +5,7 @@ export declare class AccessTracker {
|
|
|
5
5
|
private static nextSyncTime;
|
|
6
6
|
static activateStatus: boolean;
|
|
7
7
|
private static readonly accessData;
|
|
8
|
+
private static autoSyncInterval;
|
|
8
9
|
/**
|
|
9
10
|
* Increments the count for a specific conceptId.
|
|
10
11
|
*/
|
|
@@ -42,7 +43,11 @@ export declare class AccessTracker {
|
|
|
42
43
|
* Starts auto-syncing to the server every specified time interval.
|
|
43
44
|
* This will automatically call `syncToServer` every 5 minutes
|
|
44
45
|
*/
|
|
45
|
-
|
|
46
|
+
static startAutoSync(): void;
|
|
47
|
+
/**
|
|
48
|
+
* Stops the access tracker auto-sync timer.
|
|
49
|
+
*/
|
|
50
|
+
static stopAutoSync(): void;
|
|
46
51
|
/**
|
|
47
52
|
* Sync immediately called by setInterval when time to sync has arrived.
|
|
48
53
|
*/
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { Concept } from "../DataStructures/Concept";
|
|
2
|
+
/**
|
|
3
|
+
* Fetches an instance concept from the backend API by its character value and type.
|
|
4
|
+
*
|
|
5
|
+
* @param characterValue - The character value of the concept, such as a URL or identifier.
|
|
6
|
+
* @param type - The type string that qualifies the character value, such as "the_source_url".
|
|
7
|
+
* @returns The matching Concept object, or a default empty Concept if not found.
|
|
8
|
+
*/
|
|
9
|
+
export declare function GetInstanceConceptByCharacterType(characterValue: string, type: string): Promise<Concept>;
|
|
@@ -1,5 +1,10 @@
|
|
|
1
|
-
import { Concept, Connection } from "../app";
|
|
2
|
-
export declare const broadcastChannel:
|
|
1
|
+
import type { Concept, Connection } from "../app";
|
|
2
|
+
export declare const broadcastChannel: {
|
|
3
|
+
addEventListener(type: "message", listener: (event: MessageEvent) => void): void;
|
|
4
|
+
removeEventListener(type: "message", listener: (event: MessageEvent) => void): void;
|
|
5
|
+
postMessage(message: any): void;
|
|
6
|
+
close(): void;
|
|
7
|
+
};
|
|
3
8
|
export interface InnerActions {
|
|
4
9
|
concepts: Concept[];
|
|
5
10
|
connections: Connection[];
|
|
@@ -12,6 +12,8 @@ export declare class BaseUrl {
|
|
|
12
12
|
static ACCESS_CONTROL_BASE_URL: string;
|
|
13
13
|
static isPwa: boolean;
|
|
14
14
|
static FLAGS: any;
|
|
15
|
+
static RECAPTCHA_SITE_KEY: string;
|
|
16
|
+
static RECAPTCHA_ACTION: string;
|
|
15
17
|
static BASE_RANDOMIZER: number;
|
|
16
18
|
static setRandomizer(id: number): void;
|
|
17
19
|
static getRandomizer(): number;
|
|
@@ -26,6 +28,7 @@ export declare class BaseUrl {
|
|
|
26
28
|
static GetConceptByCharacterValueUrl(): string;
|
|
27
29
|
static GetConceptByCharacterAndTypeUrl(): string;
|
|
28
30
|
static GetConceptByCharacterAndCategoryUrl(): string;
|
|
31
|
+
static GetInstanceConceptByCharacterTypeUrl(): string;
|
|
29
32
|
static GetConceptByCharacterAndCategoryDirectUrl(): string;
|
|
30
33
|
static GetCharacterByCharacterUrl(): string;
|
|
31
34
|
static GetAllConceptsByTypeUrl(): string;
|
|
@@ -48,6 +51,7 @@ export declare class BaseUrl {
|
|
|
48
51
|
static MakeTheNameInBackendUrl(): string;
|
|
49
52
|
static SearchAllTypeWithLinker(auth?: boolean): string;
|
|
50
53
|
static LoginUrl(): string;
|
|
54
|
+
static RefreshTokenUrl(): string;
|
|
51
55
|
static SignupUrl(): string;
|
|
52
56
|
static GetCompositionConnectionBetweenTwoConceptsUrl(): string;
|
|
53
57
|
static SearchCompositionsUrl(): string;
|
|
@@ -76,8 +80,11 @@ export declare class BaseUrl {
|
|
|
76
80
|
static uploadImageUrl(): string;
|
|
77
81
|
static uploadImageUrlWithSmall(): string;
|
|
78
82
|
static uploadFileUrl(): string;
|
|
83
|
+
static uploadR2StorageUrl(): string;
|
|
84
|
+
static r2PresignedUploadUrl(): string;
|
|
79
85
|
static sendMail(): string;
|
|
80
86
|
static sendBulkMail(): string;
|
|
87
|
+
static sendPersonalMail(): string;
|
|
81
88
|
static getWidgetData(): string;
|
|
82
89
|
static getLatestWidgetData(): string;
|
|
83
90
|
static getRecentWidgetData(): string;
|
|
@@ -16,6 +16,7 @@ export declare class BinaryTree {
|
|
|
16
16
|
static root: Node | null;
|
|
17
17
|
/** Primary data store: concept ID → Concept object */
|
|
18
18
|
private static conceptMap;
|
|
19
|
+
private static normalizeId;
|
|
19
20
|
/**
|
|
20
21
|
* Low-level add — stores the node's key/value in the Map.
|
|
21
22
|
* Kept for API compatibility (called internally by addConceptToTree).
|
|
@@ -11,6 +11,7 @@ export declare class TokenStorage {
|
|
|
11
11
|
* Also populates profileCache so getUserDetails() works synchronously.
|
|
12
12
|
*/
|
|
13
13
|
static saveUserProfile(signinResponse: any): Promise<boolean>;
|
|
14
|
+
static updateTokens(accessToken?: string, refreshToken?: string): Promise<void>;
|
|
14
15
|
/**
|
|
15
16
|
* Call once at app startup (e.g. in init()) to decrypt the stored profile
|
|
16
17
|
* into memory so that getUserDetails() can read it synchronously.
|
|
@@ -1,4 +1,14 @@
|
|
|
1
1
|
export declare class ApplicationMonitor {
|
|
2
|
+
private static globalErrorHandlersInitialized;
|
|
3
|
+
private static consoleErrorPatched;
|
|
4
|
+
private static errorEventListenerRegistered;
|
|
5
|
+
private static unhandledErrorListenerRegistered;
|
|
6
|
+
private static userInteractionListenersRegistered;
|
|
7
|
+
private static networkRequestsPatched;
|
|
8
|
+
private static performanceMetricsRegistered;
|
|
9
|
+
private static routeChangeListenersRegistered;
|
|
10
|
+
private static webSocketEventsPatched;
|
|
11
|
+
private static initialLoadTimeout;
|
|
2
12
|
static initialize(): void;
|
|
3
13
|
static initGlobalErrorHandlers(): void;
|
|
4
14
|
static logCatchError(): void;
|
|
@@ -11,4 +21,5 @@ export declare class ApplicationMonitor {
|
|
|
11
21
|
static logOnWindowLoad(): void;
|
|
12
22
|
static logSample(): void;
|
|
13
23
|
static logWebSocketEvents(): void;
|
|
24
|
+
private static isBrowser;
|
|
14
25
|
}
|
|
@@ -17,11 +17,11 @@ export declare class Logger {
|
|
|
17
17
|
* Automatically starts the auto-sync mechanism.
|
|
18
18
|
* This is private and does not need external interaction.
|
|
19
19
|
*/
|
|
20
|
-
|
|
20
|
+
static startAutoSync(): void;
|
|
21
21
|
/**
|
|
22
22
|
* Automatically stops the auto-sync mechanism when required.
|
|
23
23
|
*/
|
|
24
|
-
|
|
24
|
+
static stopAutoSync(): void;
|
|
25
25
|
/**
|
|
26
26
|
* Set the log level (e.g., "DEBUG", "INFO", "WARNING", "ERROR").
|
|
27
27
|
*/
|
|
@@ -3,16 +3,39 @@ export interface EmailBody {
|
|
|
3
3
|
heading: string;
|
|
4
4
|
body?: string;
|
|
5
5
|
attachments?: Array<string>;
|
|
6
|
+
CaptchaToken?: string;
|
|
7
|
+
recaptchaAction?: string;
|
|
6
8
|
}
|
|
7
9
|
export interface BulkEmailBody extends Omit<EmailBody, 'toAddress'> {
|
|
8
10
|
toAddress?: string;
|
|
9
11
|
ccAddresses: Array<string>;
|
|
10
12
|
}
|
|
13
|
+
export interface RecaptchaOptions {
|
|
14
|
+
token: string;
|
|
15
|
+
action?: string;
|
|
16
|
+
fieldName?: string;
|
|
17
|
+
actionFieldName?: string;
|
|
18
|
+
headerName?: string;
|
|
19
|
+
}
|
|
20
|
+
export interface SendEmailOptions {
|
|
21
|
+
bulk?: boolean;
|
|
22
|
+
personal?: boolean;
|
|
23
|
+
recaptcha?: string | RecaptchaOptions;
|
|
24
|
+
}
|
|
11
25
|
/**
|
|
12
26
|
* Method to send Email to user
|
|
13
27
|
* @param body FormData | EmailBody
|
|
14
28
|
* @param token string
|
|
15
|
-
* @param
|
|
29
|
+
* @param bulkOrOptions boolean | SendEmailOptions
|
|
30
|
+
* @param recaptchaToken string
|
|
31
|
+
* @returns JSON | string | null
|
|
32
|
+
*/
|
|
33
|
+
export declare const sendEmail: (body: FormData | EmailBody | BulkEmailBody, token: string, bulkOrOptions?: boolean | SendEmailOptions, recaptchaToken?: string) => Promise<any>;
|
|
34
|
+
/**
|
|
35
|
+
* Method to send a personal Email to user.
|
|
36
|
+
* @param body FormData | EmailBody
|
|
37
|
+
* @param token string
|
|
38
|
+
* @param options SendEmailOptions
|
|
16
39
|
* @returns JSON | string | null
|
|
17
40
|
*/
|
|
18
|
-
export declare const
|
|
41
|
+
export declare const sendPersonalEmail: (body: FormData | EmailBody, token: string, options?: Omit<SendEmailOptions, "personal" | "bulk">) => Promise<any>;
|
|
@@ -1,3 +1,7 @@
|
|
|
1
|
-
|
|
2
|
-
export declare function
|
|
3
|
-
export declare function
|
|
1
|
+
type RequestHeader = Record<string, string>;
|
|
2
|
+
export declare function GetRequestHeader(contentType?: string | null, Accept?: string): Promise<RequestHeader>;
|
|
3
|
+
export declare function GetRequestHeaderWithAuthorization(contentType?: string | null, token?: string, Accept?: string): Promise<RequestHeader>;
|
|
4
|
+
export declare function GetOnlyTokenHeader(): Promise<Headers>;
|
|
5
|
+
export declare function fetchWithAuthRetry(input: RequestInfo | URL, init?: RequestInit): Promise<Response>;
|
|
6
|
+
export declare function getValidAccessToken(token?: string): Promise<string>;
|
|
7
|
+
export {};
|
|
@@ -24,12 +24,13 @@ export declare class LocalTransaction {
|
|
|
24
24
|
* @param concept Concept
|
|
25
25
|
*/
|
|
26
26
|
protected markAction(): Promise<void>;
|
|
27
|
+
protected flushPendingConnectionDeletions(): Promise<void>;
|
|
27
28
|
/**
|
|
28
29
|
* Deletions
|
|
29
30
|
*/
|
|
30
31
|
/**
|
|
31
32
|
* Queries the backend for connections matching the given criteria and queues all
|
|
32
|
-
* returned connection IDs for bulk deletion when commitTransaction() is called.
|
|
33
|
+
* returned connection IDs for batched bulk deletion when commitTransaction() is called.
|
|
33
34
|
*
|
|
34
35
|
* **Nothing is deleted until commitTransaction() is called.**
|
|
35
36
|
* Calling rollbackTransaction() discards the queue without touching the backend.
|
|
@@ -70,7 +71,7 @@ export declare class LocalTransaction {
|
|
|
70
71
|
* });
|
|
71
72
|
*
|
|
72
73
|
* @see {@link DeleteConnectionsBetweenBulk} for sending multiple queries in one HTTP request
|
|
73
|
-
* @see {@link commitTransaction} where the queued deletions are executed
|
|
74
|
+
* @see {@link commitTransaction} where the queued deletions are executed in 300-id batches
|
|
74
75
|
*/
|
|
75
76
|
DeleteConnectionsBetween(query: Partial<FetchConnectionQuery>): Promise<number[]>;
|
|
76
77
|
/**
|
|
@@ -79,7 +80,7 @@ export declare class LocalTransaction {
|
|
|
79
80
|
*
|
|
80
81
|
* Prefer this over looping DeleteConnectionsBetween — all queries go to the backend
|
|
81
82
|
* in one round trip, and all returned IDs are merged into the same pending-deletion queue.
|
|
82
|
-
* The actual deletion
|
|
83
|
+
* The actual deletion fires in 300-id bulk batches inside commitTransaction().
|
|
83
84
|
*
|
|
84
85
|
* @param queries - Array of partial FetchConnectionQuery objects, one per query permutation.
|
|
85
86
|
* @returns All connection IDs queued for deletion across every query in this call.
|
|
@@ -94,7 +95,7 @@ export declare class LocalTransaction {
|
|
|
94
95
|
* await transaction.commitTransaction();
|
|
95
96
|
*
|
|
96
97
|
* @see {@link DeleteConnectionsBetween} for the single-query convenience wrapper
|
|
97
|
-
* @see {@link commitTransaction} where the queued deletions are executed
|
|
98
|
+
* @see {@link commitTransaction} where the queued deletions are executed in 300-id batches
|
|
98
99
|
*/
|
|
99
100
|
DeleteConnectionsBetweenBulk(queries: Partial<FetchConnectionQuery>[]): Promise<number[]>;
|
|
100
101
|
/**
|
|
@@ -1,5 +1,51 @@
|
|
|
1
1
|
export declare const validImageFormats: string[];
|
|
2
2
|
export declare const validDocumentFormats: string[];
|
|
3
|
+
export interface R2UploadData {
|
|
4
|
+
key: string;
|
|
5
|
+
bucket: string;
|
|
6
|
+
contentType: string;
|
|
7
|
+
size: number;
|
|
8
|
+
eTag: string;
|
|
9
|
+
url: string;
|
|
10
|
+
}
|
|
11
|
+
export interface R2PresignedUploadUrlRequest {
|
|
12
|
+
fileName: string;
|
|
13
|
+
contentType: string;
|
|
14
|
+
folder?: string;
|
|
15
|
+
expiresInSeconds?: number;
|
|
16
|
+
}
|
|
17
|
+
export interface R2PresignedUploadUrlData {
|
|
18
|
+
uploadUrl: string;
|
|
19
|
+
key: string;
|
|
20
|
+
bucket: string;
|
|
21
|
+
contentType: string;
|
|
22
|
+
expiresInSeconds: number;
|
|
23
|
+
expiresAt: string;
|
|
24
|
+
publicUrl: string;
|
|
25
|
+
}
|
|
26
|
+
export interface R2PresignedUploadOptions {
|
|
27
|
+
fileName?: string;
|
|
28
|
+
contentType?: string;
|
|
29
|
+
folder?: string;
|
|
30
|
+
expiresInSeconds?: number;
|
|
31
|
+
}
|
|
32
|
+
export interface R2PresignedUploadResult {
|
|
33
|
+
message: string;
|
|
34
|
+
success: boolean;
|
|
35
|
+
url?: string;
|
|
36
|
+
data?: R2PresignedUploadUrlData;
|
|
37
|
+
eTag?: string | null;
|
|
38
|
+
}
|
|
39
|
+
export interface UploadResponse<T = string | R2UploadData> {
|
|
40
|
+
message: string;
|
|
41
|
+
success: boolean;
|
|
42
|
+
data?: T;
|
|
43
|
+
}
|
|
44
|
+
type UploadFileParam = Blob & {
|
|
45
|
+
name?: string;
|
|
46
|
+
type?: string;
|
|
47
|
+
uri?: string;
|
|
48
|
+
};
|
|
3
49
|
/**
|
|
4
50
|
* Generic method to upload file or image
|
|
5
51
|
* @param file File
|
|
@@ -10,25 +56,56 @@ export declare function uploadAttachment(file: File, token?: string): Promise<{
|
|
|
10
56
|
success: boolean;
|
|
11
57
|
url?: string;
|
|
12
58
|
}>;
|
|
59
|
+
/**
|
|
60
|
+
* Method to upload a file or image to R2 storage.
|
|
61
|
+
* @param body FormData. Append the file under the "file" key.
|
|
62
|
+
* @param token string?
|
|
63
|
+
* @returns UploadResponse<R2UploadData> | null
|
|
64
|
+
*/
|
|
65
|
+
export declare function uploadR2Storage(body: FormData, token?: string): Promise<UploadResponse<R2UploadData> | null>;
|
|
66
|
+
/**
|
|
67
|
+
* Method to request an R2 pre-signed upload URL from the backend.
|
|
68
|
+
* @param body Request metadata for the file to upload.
|
|
69
|
+
* @param token string?
|
|
70
|
+
* @returns UploadResponse<R2PresignedUploadUrlData> | null
|
|
71
|
+
*/
|
|
72
|
+
export declare function getR2PresignedUploadUrl(body: R2PresignedUploadUrlRequest, token?: string): Promise<UploadResponse<R2PresignedUploadUrlData> | null>;
|
|
73
|
+
/**
|
|
74
|
+
* Method to upload a file body to a pre-signed R2 URL.
|
|
75
|
+
* @param uploadUrl URL returned by getR2PresignedUploadUrl
|
|
76
|
+
* @param file Blob/File, raw body, or compatible file-like object
|
|
77
|
+
* @param contentType Must match the contentType used when creating the signed URL.
|
|
78
|
+
* @returns Response from R2
|
|
79
|
+
*/
|
|
80
|
+
export declare function uploadToR2PresignedUrl(uploadUrl: string, file: UploadFileParam | Blob | BodyInit | any, contentType: string): Promise<Response>;
|
|
81
|
+
/**
|
|
82
|
+
* Full R2 pre-signed upload workflow: create URL, PUT file to R2, return public URL.
|
|
83
|
+
* @param file Blob/File, raw body, or compatible file-like object
|
|
84
|
+
* @param options Optional fileName/contentType/folder/expiresInSeconds overrides.
|
|
85
|
+
* @param token string?
|
|
86
|
+
* @returns R2PresignedUploadResult
|
|
87
|
+
*/
|
|
88
|
+
export declare function uploadWithR2PresignedUrl(file: UploadFileParam | Blob | BodyInit | any, options?: R2PresignedUploadOptions, token?: string): Promise<R2PresignedUploadResult>;
|
|
13
89
|
/**
|
|
14
90
|
* Method to upload image to server
|
|
15
91
|
* @param body FormData
|
|
16
92
|
* @param token string?
|
|
17
93
|
* @returns JSON | string | null
|
|
18
94
|
*/
|
|
19
|
-
export declare function uploadImage(body: FormData, token?: string): Promise<
|
|
95
|
+
export declare function uploadImage(body: FormData, token?: string): Promise<R2PresignedUploadResult>;
|
|
20
96
|
/**
|
|
21
97
|
* Method to upload image to server
|
|
22
98
|
* @param body FormData
|
|
23
99
|
* @param token string?
|
|
24
100
|
* @returns JSON | string | null
|
|
25
101
|
*/
|
|
26
|
-
export declare function uploadImageV2(body: FormData, token?: string): Promise<
|
|
102
|
+
export declare function uploadImageV2(body: FormData, token?: string): Promise<UploadResponse<string | R2UploadData> | null>;
|
|
27
103
|
/**
|
|
28
104
|
* Method to upload file to server
|
|
29
105
|
* @param body FormData
|
|
30
106
|
* @param token string?
|
|
31
107
|
* @returns JSON | string | null
|
|
32
108
|
*/
|
|
33
|
-
export declare function uploadFile(body: FormData, token?: string): Promise<
|
|
109
|
+
export declare function uploadFile(body: FormData, token?: string): Promise<UploadResponse<R2UploadData> | null>;
|
|
34
110
|
export declare function getUploadFileLimit(): Promise<{}>;
|
|
111
|
+
export {};
|
|
@@ -3,3 +3,8 @@
|
|
|
3
3
|
* Priority: in-memory profileCache (encrypted) → legacy localStorage("profile") fallback.
|
|
4
4
|
*/
|
|
5
5
|
export declare function getUserDetails(): Record<string, any>;
|
|
6
|
+
/**
|
|
7
|
+
* Returns user details after hydrating storage and refreshing an expired token.
|
|
8
|
+
* Use this when callers need a valid token from the user details object.
|
|
9
|
+
*/
|
|
10
|
+
export declare function getUserDetailsWithRefresh(): Promise<Record<string, any>>;
|
|
@@ -35,6 +35,27 @@ export declare class DependencyObserver {
|
|
|
35
35
|
eventHandlers: {
|
|
36
36
|
[key: string]: (event: Event) => void;
|
|
37
37
|
};
|
|
38
|
+
/** Map of handler keys to actual browser event names. */
|
|
39
|
+
private eventNames;
|
|
40
|
+
/** Whether this observer has been disposed. */
|
|
41
|
+
protected isDisposed: boolean;
|
|
42
|
+
/**
|
|
43
|
+
* Registers a window listener and tracks enough metadata to remove it later.
|
|
44
|
+
* The key identifies the logical subscription; eventName is the CustomEvent name.
|
|
45
|
+
*/
|
|
46
|
+
protected addTrackedEventListener(key: string | number, eventName: string | number, handler: (event: Event) => void): void;
|
|
47
|
+
/**
|
|
48
|
+
* Removes a previously tracked window listener by its logical key.
|
|
49
|
+
*/
|
|
50
|
+
protected removeTrackedEventListener(key: string | number): void;
|
|
51
|
+
/**
|
|
52
|
+
* Hook for subclasses that maintain additional subscriptions.
|
|
53
|
+
*/
|
|
54
|
+
protected onDispose(): void;
|
|
55
|
+
/**
|
|
56
|
+
* Removes all listeners owned by this observer.
|
|
57
|
+
*/
|
|
58
|
+
dispose(): void;
|
|
38
59
|
/**
|
|
39
60
|
* Listens to changes for a specific concept type and updates subscribers when new concepts of that type are created.
|
|
40
61
|
* @param id - The type concept ID to track
|
|
@@ -15,12 +15,16 @@ export declare class SearchLinkMultipleAllObservable extends DependencyObserver
|
|
|
15
15
|
totalCount: number;
|
|
16
16
|
/** Cleanup function for cache subscription */
|
|
17
17
|
private unsubscribeCache;
|
|
18
|
+
/** Prevents duplicate async cache listener setup. */
|
|
19
|
+
private cacheSubscriptionStarted;
|
|
18
20
|
/**
|
|
19
21
|
* Creates a new schema query observable.
|
|
20
22
|
* @param query - FreeschemaQuery object with search parameters
|
|
21
23
|
* @param token - Authentication token
|
|
22
24
|
*/
|
|
23
25
|
constructor(query: FreeschemaQuery, token: string);
|
|
26
|
+
private ensureCacheSubscription;
|
|
27
|
+
protected onDispose(): void;
|
|
24
28
|
/**
|
|
25
29
|
* Executes the query once without subscribing to updates.
|
|
26
30
|
* @returns Formatted query results
|
package/dist/types/app.d.ts
CHANGED
|
@@ -27,7 +27,8 @@ export { GetConnectionById } from './Services/GetConnections';
|
|
|
27
27
|
export { MakeTheTimestamp } from './Services/MakeTheTimestamp';
|
|
28
28
|
export { RecursiveSearchApi, RecursiveSearchApiWithInternalConnections, RecursiveSearchApiRaw, RecursiveSearchApiRawFullLinker, RecursiveSearchApiNewRawFullLinker } from './Api/RecursiveSearch';
|
|
29
29
|
export { GetCompositionBulkWithDataId, GetCompositionFromConnectionsWithDataIdFromConnections, GetCompositionFromConnectionsWithIndexFromConnections, GetCompositionBulk, GetCompositionFromConnectionsWithDataId } from './Services/GetCompositionBulk';
|
|
30
|
-
export { uploadAttachment, getUploadFileLimit, uploadFile, uploadImage, uploadImageV2, validDocumentFormats, validImageFormats } from './Services/Upload';
|
|
30
|
+
export { uploadAttachment, getR2PresignedUploadUrl, getUploadFileLimit, uploadFile, uploadImage, uploadImageV2, uploadR2Storage, uploadToR2PresignedUrl, uploadWithR2PresignedUrl, validDocumentFormats, validImageFormats, } from './Services/Upload';
|
|
31
|
+
export type { R2PresignedUploadOptions, R2PresignedUploadResult, R2PresignedUploadUrlData, R2PresignedUploadUrlRequest, R2UploadData, UploadResponse, } from './Services/Upload';
|
|
31
32
|
export { GetConceptBulk } from './Api/GetConceptBulk';
|
|
32
33
|
export { GetConnectionBulk } from './Api/GetConnectionBulk';
|
|
33
34
|
export { GetAllConnectionsOfCompositionBulk } from './Api/GetAllConnectionsOfCompositionBulk';
|
|
@@ -67,6 +68,7 @@ export { GetConnectionBetweenTwoConceptsLinker } from './Services/GetConnectionB
|
|
|
67
68
|
export { DelayFunctionExecution } from './Services/Common/DelayFunction';
|
|
68
69
|
export { GetCompositionWithIdAndDateFromMemory, GetCompositionFromMemoryWithConnections } from './Services/GetComposition';
|
|
69
70
|
export { GetConceptByCharacterAndType } from './Api/GetConceptByCharacterAndType';
|
|
71
|
+
export { GetInstanceConceptByCharacterType } from './Api/GetInstanceConceptByCharacterType';
|
|
70
72
|
export { GetConnectionDataPrefetch } from './Services/GetCompositionBulk';
|
|
71
73
|
export { FormatFromConnectionsAltered } from './Services/Search/SearchLinkMultiple';
|
|
72
74
|
export { NORMAL, JUSTDATA, DATAID, DATAIDDATE, RAW, ALLID, LISTNORMAL, DATAV2 } from './Constants/FormatConstants';
|
|
@@ -105,7 +107,8 @@ export { FilterSearch } from './DataStructures/FilterSearch';
|
|
|
105
107
|
export { SearchStructure } from './DataStructures/Search/SearchStructure';
|
|
106
108
|
export { LocalConceptsData } from './DataStructures/Local/LocalConceptData';
|
|
107
109
|
export { Logger } from "./Middleware/logger.service";
|
|
108
|
-
export { sendEmail } from "./Services/Mail";
|
|
110
|
+
export { sendEmail, sendPersonalEmail } from "./Services/Mail";
|
|
111
|
+
export type { RecaptchaOptions, SendEmailOptions } from "./Services/Mail";
|
|
109
112
|
export { BuilderStatefulWidget } from "./Widgets/BuilderStatefulWidget";
|
|
110
113
|
export { LocalTransaction } from "./Services/Transaction/LocalTransaction";
|
|
111
114
|
export { InnerActions } from "./Constants/general.const";
|
|
@@ -127,7 +130,7 @@ export { CreateConnectionBetweenEntityLocal } from './Services/CreateConnection/
|
|
|
127
130
|
export { BuildWidgetFromId } from './Widgets/WidgetBuild';
|
|
128
131
|
export { clearAllCaches } from './Services/CacheClear';
|
|
129
132
|
export { removeAllChildren } from './Services/Common/RemoveAllChild';
|
|
130
|
-
export { getUserDetails } from './Services/User/UserFromLocalStorage';
|
|
133
|
+
export { getUserDetails, getUserDetailsWithRefresh } from './Services/User/UserFromLocalStorage';
|
|
131
134
|
export { TokenStorage } from './DataStructures/Security/TokenStorage';
|
|
132
135
|
export { CountInfo } from './DataStructures/Count/CountInfo';
|
|
133
136
|
export { LogEvent } from './Services/Logs/LogEvent';
|
|
@@ -213,7 +216,7 @@ export declare function setHasActivatedSW(value: boolean): void;
|
|
|
213
216
|
* @see {@link Signin} for alternative authentication
|
|
214
217
|
* @see {@link init} which can also set initial token
|
|
215
218
|
*/
|
|
216
|
-
declare function updateAccessToken(accessToken?: string, session?: any): void;
|
|
219
|
+
declare function updateAccessToken(accessToken?: string, session?: any, refreshToken?: string): void;
|
|
217
220
|
/**
|
|
218
221
|
* Initializes the mftsccs-browser package and sets up all required subsystems.
|
|
219
222
|
*
|
|
@@ -355,11 +358,12 @@ declare function init(url?: string, aiurl?: string, accessToken?: string, nodeUr
|
|
|
355
358
|
logPackage?: boolean;
|
|
356
359
|
accessTracker?: boolean;
|
|
357
360
|
isTest?: boolean;
|
|
358
|
-
accessControl?: boolean;
|
|
359
361
|
}, parameters?: {
|
|
360
362
|
logserver?: string;
|
|
361
363
|
isPwa?: boolean;
|
|
362
364
|
enableCache?: boolean;
|
|
365
|
+
recaptchaSiteKey?: string;
|
|
366
|
+
recaptchaAction?: string;
|
|
363
367
|
}, accessControlUrl?: string): Promise<true | undefined>;
|
|
364
368
|
/**
|
|
365
369
|
* Method to send message to the service worker from main thread
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "mftsccs-browser",
|
|
3
|
-
"version": "2.2.
|
|
3
|
+
"version": "2.2.46-beta",
|
|
4
4
|
"environment": "production",
|
|
5
5
|
"description": "Full Pack of concept and connection system",
|
|
6
6
|
"main": "dist/main.bundle.js",
|
|
@@ -27,7 +27,10 @@
|
|
|
27
27
|
"@babel/plugin-transform-modules-commonjs": "^7.24.8",
|
|
28
28
|
"@babel/preset-env": "^7.25.4",
|
|
29
29
|
"@babel/preset-typescript": "^7.24.7",
|
|
30
|
+
"@types/jest": "^30.0.0",
|
|
31
|
+
"babel-jest": "^30.4.1",
|
|
30
32
|
"cross-fetch": "^4.0.0",
|
|
33
|
+
"jest": "^30.4.2",
|
|
31
34
|
"postcss": "^8.5.6",
|
|
32
35
|
"postcss-nested": "^7.0.2",
|
|
33
36
|
"ts-loader": "^9.5.1",
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
import { Concept } from "./Concept";
|
|
2
|
-
export declare class ConceptsToDraw {
|
|
3
|
-
name: string;
|
|
4
|
-
constructor();
|
|
5
|
-
static conceptsArray: Concept[];
|
|
6
|
-
static CheckContains(concept: Concept): boolean;
|
|
7
|
-
static AddConcept(concept: Concept): void;
|
|
8
|
-
static RemoveConcept(concept: Concept): void;
|
|
9
|
-
static GetConcept(id: number): Concept | null;
|
|
10
|
-
getName(): string;
|
|
11
|
-
}
|
|
@@ -1,35 +0,0 @@
|
|
|
1
|
-
import { Concept, Connection } from "../app";
|
|
2
|
-
export declare class ConceptCircle {
|
|
3
|
-
concept: Concept;
|
|
4
|
-
x: number;
|
|
5
|
-
y: number;
|
|
6
|
-
radius: number;
|
|
7
|
-
selected: boolean;
|
|
8
|
-
detailsVisible: boolean;
|
|
9
|
-
quadrant: number;
|
|
10
|
-
color: string;
|
|
11
|
-
isComposition: boolean;
|
|
12
|
-
parent: ConceptCircle | null;
|
|
13
|
-
isMoved: boolean;
|
|
14
|
-
childCount: number;
|
|
15
|
-
order: number;
|
|
16
|
-
ctx: null;
|
|
17
|
-
dataConnections: Connection[];
|
|
18
|
-
childrenConcepts: ConceptCircle[];
|
|
19
|
-
isGrouped: boolean;
|
|
20
|
-
canvas: any;
|
|
21
|
-
active: boolean;
|
|
22
|
-
constructor(concept: Concept, ctx: any);
|
|
23
|
-
realign(): void;
|
|
24
|
-
addDataConnections(connections: Connection[]): void;
|
|
25
|
-
setInPlace(newX: any, newY: any, ctx: any): void;
|
|
26
|
-
draw(ctx: any): void;
|
|
27
|
-
drawAsPerParent(): void;
|
|
28
|
-
drawNumber(ctx: any): void;
|
|
29
|
-
activate(): void;
|
|
30
|
-
select(): void;
|
|
31
|
-
makeComposition(): void;
|
|
32
|
-
showDetails(): Promise<void>;
|
|
33
|
-
getQuadrant(ctx: any): void;
|
|
34
|
-
checkWithAnotherConcept(conceptToCheck: ConceptCircle): boolean;
|
|
35
|
-
}
|
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
import { ConceptCircle } from "./ConceptCircle";
|
|
2
|
-
export declare class ConceptCircleList {
|
|
3
|
-
static drawList: ConceptCircle[];
|
|
4
|
-
static addNewConceptCircle(conceptCircle: ConceptCircle): boolean;
|
|
5
|
-
static removeConceptCircle(conceptCircle: ConceptCircle): void;
|
|
6
|
-
static getConceptCircle(conceptId: number, ctx: any): Promise<ConceptCircle | undefined>;
|
|
7
|
-
static getConceptCircleFromList(conceptId: number): ConceptCircle | null;
|
|
8
|
-
static addConceptCircle(conceptId: number, ctx: any): Promise<ConceptCircle>;
|
|
9
|
-
}
|
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
import { Connection, Concept } from "../app";
|
|
2
|
-
import { ConceptCircle } from "./ConceptCircle";
|
|
3
|
-
export declare class ConnectionLine {
|
|
4
|
-
concept: Concept;
|
|
5
|
-
ofConcept: ConceptCircle | undefined;
|
|
6
|
-
toConcept: ConceptCircle | undefined;
|
|
7
|
-
selected: boolean;
|
|
8
|
-
quadrant: number;
|
|
9
|
-
type: null;
|
|
10
|
-
id: number;
|
|
11
|
-
canvas: any;
|
|
12
|
-
ctx: any;
|
|
13
|
-
connection: Connection;
|
|
14
|
-
active: boolean;
|
|
15
|
-
constructor(connection: Connection, ctx: any);
|
|
16
|
-
updateConcept(connection: Connection): Promise<void>;
|
|
17
|
-
draw(ctx: any): void;
|
|
18
|
-
drawNumber(ctx: any): void;
|
|
19
|
-
activate(): void;
|
|
20
|
-
select(): void;
|
|
21
|
-
}
|
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
import { ConnectionLine } from "./ConnectionLine";
|
|
2
|
-
export declare class ConnectionLineList {
|
|
3
|
-
static drawList: ConnectionLine[];
|
|
4
|
-
static addNewConnectionLine(connectionLine: ConnectionLine): void;
|
|
5
|
-
static removeConnectionLine(connectionLine: ConnectionLine): void;
|
|
6
|
-
}
|
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
import { Connection } from "../app";
|
|
2
|
-
export declare function printAllConcepts(ctx: any): Promise<void>;
|
|
3
|
-
export declare function getLinkData(connection: Connection, ctx: any): Promise<void>;
|
|
4
|
-
export declare function getLinkDataOf(connection: Connection, ctx: any): Promise<void>;
|
|
5
|
-
export declare function printAllConceptsOfIdWithoutData(ctx: any, id: number): Promise<void>;
|
|
6
|
-
export declare function printConcept(ctx: any, id: number): Promise<void>;
|
|
7
|
-
export declare function printAllConceptsOfId(ctx: any, id: number): Promise<void>;
|
|
8
|
-
export declare function checkIfExists(id: number, conceptIds: number[]): boolean;
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
export declare function drawCircle(ctx: any, x: any, y: any, radius: any, color: any): void;
|
|
2
|
-
export declare function drawTriangle(ctx: any, x: any, y: any, radius: any, color: any): void;
|
|
3
|
-
export declare function drawLine(ctx: any, x1: any, y1: any, x2: any, y2: any, color: any): void;
|
|
4
|
-
export declare function drawArrow(ctx: any, fromx: any, fromy: any, tox: any, toy: any, arrowWidth: any, color: any): void;
|
|
5
|
-
export declare function drawArc(ctx: any, x1: any, y1: any, x2: any, y2: any, color: any): void;
|
|
6
|
-
export declare function getMouseCoords(canvas: any, event: any): {
|
|
7
|
-
x: number;
|
|
8
|
-
y: number;
|
|
9
|
-
};
|
|
10
|
-
export declare function randomIntFromInterval(min: any, max: any): number;
|
|
11
|
-
export declare function getOffsetCoords(mouse: any, conceptCircle: any): {
|
|
12
|
-
x: number;
|
|
13
|
-
y: number;
|
|
14
|
-
};
|
|
15
|
-
export declare function cursorInRect(mouseX: any, mouseY: any, rectX: any, rectY: any, radius: any): boolean;
|