mftsccs-browser 2.2.20-beta → 2.2.22-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.
Files changed (117) hide show
  1. package/README.md +1073 -11
  2. package/dist/bundle.js +2 -0
  3. package/dist/bundle.js.LICENSE.txt +1 -0
  4. package/dist/main.bundle.js +1 -1
  5. package/dist/serviceWorker.bundle.js +1 -1
  6. package/dist/types/Api/Create/CreateTheCharacter.d.ts +21 -0
  7. package/dist/types/Api/Create/CreateTheConceptApi.d.ts +18 -0
  8. package/dist/types/Api/Create/CreateTheConnectionApi.d.ts +16 -0
  9. package/dist/types/Api/Create/CreateTheGhostConceptApi.d.ts +25 -0
  10. package/dist/types/Api/Create/CreateTheGhostConnectionApi.d.ts +16 -0
  11. package/dist/types/Api/Create/CreateTheTextData.d.ts +16 -0
  12. package/dist/types/Api/Delete/DeleteConceptInBackend.d.ts +13 -0
  13. package/dist/types/Api/Delete/DeleteUserInBackend.d.ts +18 -0
  14. package/dist/types/Api/DeleteConnectionApiBulk.d.ts +1 -0
  15. package/dist/types/Api/DeleteConnectionBulkApi.d.ts +19 -0
  16. package/dist/types/Api/DeleteTheConcept.d.ts +19 -0
  17. package/dist/types/Api/DeleteTheConnection.d.ts +19 -0
  18. package/dist/types/Api/GetAiData.d.ts +9 -0
  19. package/dist/types/Api/GetAllConcepts.d.ts +10 -0
  20. package/dist/types/Api/GetAllConceptsByType.d.ts +11 -0
  21. package/dist/types/Api/GetAllConnections.d.ts +10 -0
  22. package/dist/types/Api/GetAllConnectionsOfComposition.d.ts +20 -0
  23. package/dist/types/Api/GetAllConnectionsOfCompositionBulk.d.ts +20 -0
  24. package/dist/types/Api/GetAllLinkerConnectionsFromTheConcept.d.ts +10 -0
  25. package/dist/types/Api/GetAllLinkerConnectionsToTheConcept.d.ts +10 -0
  26. package/dist/types/Api/GetAllPrefetchConnections.d.ts +11 -0
  27. package/dist/types/Api/GetCharacterDataByCharacter.d.ts +10 -0
  28. package/dist/types/Api/GetCompositionConnectionsBetweenTwoConcepts.d.ts +12 -0
  29. package/dist/types/Api/GetConceptBulk.d.ts +10 -0
  30. package/dist/types/Api/GetConceptByCharacterAndType.d.ts +14 -0
  31. package/dist/types/Api/GetConceptByCharacterValue.d.ts +10 -0
  32. package/dist/types/Api/GetConnection.d.ts +13 -0
  33. package/dist/types/Api/GetConnectionOfTheConcept.d.ts +14 -0
  34. package/dist/types/Api/GetConnectionToTheConcept.d.ts +15 -0
  35. package/dist/types/Api/GetConnections/GetConnectionsByTypeApi.d.ts +12 -0
  36. package/dist/types/Api/GetReservedConnectionIds.d.ts +9 -0
  37. package/dist/types/Api/GetReservedIds.d.ts +9 -0
  38. package/dist/types/Api/Images/GetImages.d.ts +14 -0
  39. package/dist/types/Api/Local/GetLocalConceptByCharacterValue.d.ts +11 -0
  40. package/dist/types/Api/Login.d.ts +77 -0
  41. package/dist/types/Api/MakeTheNameInBackend.d.ts +13 -0
  42. package/dist/types/Api/Prototype/CreatePrototype.d.ts +12 -0
  43. package/dist/types/Api/Prototype/Selector.d.ts +11 -0
  44. package/dist/types/Api/RecursiveSearch.d.ts +61 -0
  45. package/dist/types/Api/Search/FreeschemaQueryApi.d.ts +16 -0
  46. package/dist/types/Api/Search/Search.d.ts +72 -0
  47. package/dist/types/Api/Search/SearchInternalApi.d.ts +25 -0
  48. package/dist/types/Api/Search/SearchLinkMultipleApi.d.ts +13 -0
  49. package/dist/types/Api/Search/SearchWithLinker.d.ts +14 -0
  50. package/dist/types/Api/Search/SearchWithTypeAndLinker.d.ts +12 -0
  51. package/dist/types/Api/SearchConcept/GetConceptByCharacterAndCategoryApi.d.ts +10 -0
  52. package/dist/types/Api/SearchConcept/GetConceptByCharacterAndCategoryDirect.d.ts +11 -0
  53. package/dist/types/Api/SearchConcept/GetTypeConceptByBulk.d.ts +13 -0
  54. package/dist/types/Api/Session/CreateSession.d.ts +14 -0
  55. package/dist/types/Api/Session/CreateSessionVisit.d.ts +11 -0
  56. package/dist/types/Api/Signin.d.ts +21 -0
  57. package/dist/types/Api/Signup.d.ts +53 -11
  58. package/dist/types/Api/Translate/TranslateLocalToReal.d.ts +10 -0
  59. package/dist/types/Api/View/ViewInternalDataApi.d.ts +14 -0
  60. package/dist/types/DataStructures/BaseUrl.d.ts +1 -0
  61. package/dist/types/DataStructures/Transaction/Transaction.d.ts +30 -0
  62. package/dist/types/Services/AccessControl/AccessControlCacheService.d.ts +19 -0
  63. package/dist/types/Services/AccessControl/AccessControlService.d.ts +267 -0
  64. package/dist/types/Services/AccessControl/PermissionSet.d.ts +8 -0
  65. package/dist/types/Services/CreateTheConcept.d.ts +118 -0
  66. package/dist/types/Services/CreateTheConnection.d.ts +59 -6
  67. package/dist/types/Services/Delete/DeleteConnectionByType.d.ts +13 -0
  68. package/dist/types/Services/Delete/GetAllConnectionByType.d.ts +16 -0
  69. package/dist/types/Services/GetComposition.d.ts +64 -7
  70. package/dist/types/Services/GetTheConcept.d.ts +91 -4
  71. package/dist/types/Services/Local/ConvertFromLConceptToConcept.d.ts +39 -0
  72. package/dist/types/Services/Local/ConvertFromLConnectionToConnection.d.ts +45 -0
  73. package/dist/types/Services/Local/CreateConnectionBetweenTwoConceptsLocal.d.ts +41 -0
  74. package/dist/types/Services/Local/CreateDefaultLConcept.d.ts +44 -0
  75. package/dist/types/Services/Local/CreateLocalBinaryTreeFromData.d.ts +6 -1
  76. package/dist/types/Services/Local/CreateLocalBinaryTypeTreeFromData.d.ts +8 -0
  77. package/dist/types/Services/Local/CreateLocalCharacterBinaryTree.d.ts +8 -0
  78. package/dist/types/Services/Local/CreateTheCompositionLocal.d.ts +100 -10
  79. package/dist/types/Services/Local/CreateTheConceptLocal.d.ts +80 -18
  80. package/dist/types/Services/Local/CreateTheConnectionLocal.d.ts +135 -11
  81. package/dist/types/Services/Local/DeleteConceptLocal.d.ts +46 -0
  82. package/dist/types/Services/Local/GetCompositionListLocal.d.ts +31 -8
  83. package/dist/types/Services/Local/GetCompositionLocal.d.ts +95 -0
  84. package/dist/types/Services/Local/GetConceptByCharacterLocal.d.ts +48 -2
  85. package/dist/types/Services/Local/GetConnectionOfTheConceptLocal.d.ts +17 -0
  86. package/dist/types/Services/Local/GetRelationLocal.d.ts +20 -0
  87. package/dist/types/Services/Local/GetTheConceptLocal.d.ts +60 -6
  88. package/dist/types/Services/Local/MakeTheConceptLocal.d.ts +20 -0
  89. package/dist/types/Services/Local/MakeTheInstanceConceptLocal.d.ts +160 -14
  90. package/dist/types/Services/Local/MakeTheTypeLocal.d.ts +29 -9
  91. package/dist/types/Services/Local/UpdateCompositionLocal.d.ts +39 -0
  92. package/dist/types/Services/MakeTheLocalConcept.d.ts +0 -0
  93. package/dist/types/Services/MakeTheName.d.ts +2 -0
  94. package/dist/types/Services/auth/AuthService.d.ts +1 -0
  95. package/dist/types/Widgets/BaseObserver.d.ts +14 -11
  96. package/dist/types/Widgets/BaseWidget.d.ts +24 -11
  97. package/dist/types/Widgets/BuilderSpeceficFunctions.d.ts +9 -0
  98. package/dist/types/Widgets/BuilderStatefulWidget.d.ts +352 -2
  99. package/dist/types/Widgets/CacheWidget.service.d.ts +60 -0
  100. package/dist/types/Widgets/NormalizeStyles.service.d.ts +9 -0
  101. package/dist/types/Widgets/RenderPage.service.d.ts +9 -4
  102. package/dist/types/Widgets/RenderWidgetLibrary.service.d.ts +12 -4
  103. package/dist/types/Widgets/RenderWidgetService.d.ts +158 -21
  104. package/dist/types/Widgets/StatefulWidget.d.ts +94 -29
  105. package/dist/types/Widgets/WidgetBuild.d.ts +41 -0
  106. package/dist/types/Widgets/WidgetTree.d.ts +31 -0
  107. package/dist/types/Widgets/mainView.class.d.ts +21 -0
  108. package/dist/types/WrapperFunctions/DepenedencyObserver.d.ts +48 -27
  109. package/dist/types/WrapperFunctions/GetCompositionListObservable.d.ts +34 -2
  110. package/dist/types/WrapperFunctions/GetCompositionObservable.d.ts +24 -2
  111. package/dist/types/WrapperFunctions/GetLinkListObservable.d.ts +38 -9
  112. package/dist/types/WrapperFunctions/GetLinkObservable.d.ts +30 -12
  113. package/dist/types/WrapperFunctions/RecursiveSearchObservable.d.ts +34 -16
  114. package/dist/types/WrapperFunctions/SchemaQueryObservable.d.ts +41 -5
  115. package/dist/types/WrapperFunctions/SearchLinkMultipleAllObservable.d.ts +24 -3
  116. package/dist/types/app.d.ts +183 -12
  117. package/package.json +1 -1
@@ -1,18 +1,164 @@
1
1
  import { InnerActions } from "../../Constants/general.const";
2
2
  /**
3
- * This is the basic function of the concept connection system. This function let's you create a concept within the constraints of the
4
- * concept connection system. This function is the building block of the concept connection system.
5
- * This function automatically passes the concept to be synced to the background. Next time you sync the data this concept will also be created in the backend.
6
- * @param type this is the type of the concept. You can also think of this as the key of concept. first_name, last_name etc.
7
- * @param referent the actual value of the concept. The actual name of value of the concept.
8
- * @param composition this is a boolean that defines if the concept is a composition or not. If this is a composition then other things are also
9
- * connected internally with this concept. If composition is true then always a new concept is created otherwise it checks if the concept already exists
10
- * and creates only in the case that the concept does not already exists with its type and value as its unique identifier.
11
- * @param userId the userId of the creator.
12
- * @param accessId this is the accessId of the creator. By default should be 4.
13
- * @param sessionInformationId this is the session that is created by the system.
14
- * @param referentId In case we need this concept to refer to any other concept.
15
- * @param actions InnerActions Array for capturing concepts and connection
16
- * @returns a concept which is either newly created or an older concept that already exists.
3
+ * Creates or retrieves an instance concept locally - the core building block of the concept-connection system.
4
+ *
5
+ * This is THE fundamental function for creating concepts in local storage. It implements an intelligent
6
+ * get-or-create pattern that checks for existing concepts before creating new ones, preventing duplicates
7
+ * while supporting both unique instances and composition concepts.
8
+ *
9
+ * **Core Behaviors:**
10
+ * 1. **Composition Mode (composition=true)**: Always creates a new concept
11
+ * - Used for containers/objects that need unique instances
12
+ * - Marks concept with isComposition flag
13
+ * - Example: Each "Project" is unique, even with same name
14
+ *
15
+ * 2. **Instance Mode (composition=false)**: Get-or-create pattern
16
+ * - Checks if concept with same type and value exists
17
+ * - Returns existing if found (deduplication)
18
+ * - Creates new only if not found
19
+ * - Example: "Published" status concept reused across items
20
+ *
21
+ * 3. **Long Text Handling**: Values >255 characters always create new
22
+ * - Prevents expensive lookups on large text
23
+ * - Each long text gets unique concept
24
+ *
25
+ * **Type String Processing:**
26
+ * - **Best Practice**: Always pass type with "the_" prefix (e.g., "the_name", "the_email")
27
+ * - Auto-correction: If missing, "the_" is automatically added internally
28
+ * - "name" → "the_name" (auto-corrected)
29
+ * - "email" → "the_email" (auto-corrected)
30
+ * - "the_status" → "the_status" (already correct)
31
+ * - Creates type concept if it doesn't exist
32
+ * - **Recommendation**: Use explicit "the_" prefix for code clarity and consistency
33
+ *
34
+ * **Sync and Storage:**
35
+ * - Adds concept to LocalSyncData queue for backend sync
36
+ * - Stores in LocalConceptsData (IndexedDB)
37
+ * - Tracks in actions parameter for batch operations
38
+ * - Assigns negative ID (virtual/local)
39
+ *
40
+ * **Process Flow:**
41
+ * 1. Normalizes type string (adds "the_" prefix)
42
+ * 2. Creates/retrieves type concept via MakeTheTypeConceptLocal
43
+ * 3. If composition=true: Creates new concept immediately
44
+ * 4. If referent length >255: Creates new concept
45
+ * 5. If regular instance: Checks for existing by type+value
46
+ * 6. Returns existing or creates new
47
+ * 7. Attaches type information
48
+ * 8. Adds to sync queue
49
+ *
50
+ * @param type - The type/key of the concept. **Should follow the format "the_xyz"**.
51
+ * Represents what kind of data this is.
52
+ * Examples: "the_name", "the_email", "the_status", "the_first_name"
53
+ *
54
+ * **Note**: If you pass without "the_" prefix (e.g., "name"), the code will
55
+ * automatically add it internally (becomes "the_name"). However, best practice
56
+ * is to always include the "the_" prefix for clarity and consistency.
57
+ *
58
+ * @param referent - The actual value/content of the concept.
59
+ * The human-readable data (e.g., "Alice", "alice@example.com", "Active").
60
+ * Can be empty string for composition concepts.
61
+ *
62
+ * @param composition - Boolean flag determining creation behavior.
63
+ * - true: Always creates new concept (unique instances)
64
+ * - false: Get-or-create pattern (reuses existing)
65
+ * Defaults to false.
66
+ *
67
+ * @param userId - The ID of the user creating this concept. Used for ownership and permissions.
68
+ *
69
+ * @param accessId - Access control level. Typically 4 (default internal access).
70
+ * Controls who can view/modify this concept.
71
+ *
72
+ * @param sessionInformationId - Session identifier for tracking. Defaults to 999 (system).
73
+ * Used for audit logging and session management.
74
+ *
75
+ * @param referentId - Optional reference to another concept ID.
76
+ * Used when this concept is an instance of or refers to another concept.
77
+ * Defaults to 0 (no reference).
78
+ *
79
+ * @param actions - Action tracking object that accumulates all created concepts and connections.
80
+ * Used for batch operations, rollback, and sync management.
81
+ * Structure: { concepts: Concept[], connections: Connection[] }
82
+ *
83
+ * @returns Promise resolving to the created or retrieved Concept object with:
84
+ * - Negative ID if newly created locally
85
+ * - Attached type information (concept.type)
86
+ * - All standard concept properties
87
+ *
88
+ * @example
89
+ * // Create a reusable status concept (get-or-create)
90
+ * const status = await MakeTheInstanceConceptLocal(
91
+ * "the_status", // type (with "the_" prefix - best practice)
92
+ * "Active", // value
93
+ * false, // not composition - will reuse if exists
94
+ * 101, // userId
95
+ * 4, // accessId
96
+ * 999, // sessionId
97
+ * 0 // no referent
98
+ * );
99
+ * // First call creates, subsequent calls return same concept
100
+ *
101
+ * @example
102
+ * // Create a composition concept (always new)
103
+ * const project = await MakeTheInstanceConceptLocal(
104
+ * "the_project", // type (with "the_" prefix)
105
+ * "Project Alpha", // value
106
+ * true, // composition - always creates new
107
+ * 101,
108
+ * 4,
109
+ * 999,
110
+ * 0
111
+ * );
112
+ * // Each project is unique, even with same name
113
+ * console.log(project.isComposition); // true
114
+ *
115
+ * @example
116
+ * // Type prefix is added automatically if missing (but prefer explicit)
117
+ * const email = await MakeTheInstanceConceptLocal(
118
+ * "email", // Missing "the_" - will become "the_email" internally
119
+ * "alice@example.com",
120
+ * false,
121
+ * 101, 4
122
+ * );
123
+ * console.log(email.typeCharacter); // "the_email" (auto-prefixed)
124
+ *
125
+ * // RECOMMENDED: Always include "the_" prefix explicitly
126
+ * const emailBetter = await MakeTheInstanceConceptLocal(
127
+ * "the_email", // Explicit prefix - clearer and more consistent
128
+ * "bob@example.com",
129
+ * false,
130
+ * 101, 4
131
+ * );
132
+ *
133
+ * @example
134
+ * // Long text always creates new concept
135
+ * const longDescription = "Lorem ipsum...".repeat(100); // >255 chars
136
+ * const concept = await MakeTheInstanceConceptLocal(
137
+ * "the_description", // type with "the_" prefix
138
+ * longDescription,
139
+ * false, // Even with false, creates new due to length
140
+ * 101, 4
141
+ * );
142
+ *
143
+ * @example
144
+ * // Track actions for batch operations
145
+ * const actions = { concepts: [], connections: [] };
146
+ * await MakeTheInstanceConceptLocal("the_name", "Alice", false, 101, 4, 999, 0, actions);
147
+ * await MakeTheInstanceConceptLocal("the_email", "alice@ex.com", false, 101, 4, 999, 0, actions);
148
+ * console.log(actions.concepts.length); // 2 (plus any type concepts created)
149
+ *
150
+ * @example
151
+ * // Deduplication in action
152
+ * const status1 = await MakeTheInstanceConceptLocal("the_status", "Published", false, 101, 4);
153
+ * const status2 = await MakeTheInstanceConceptLocal("the_status", "Published", false, 101, 4);
154
+ * console.log(status1.id === status2.id); // true - same concept reused
155
+ *
156
+ * @throws Logs errors and re-throws for handling by caller.
157
+ * Common issues: Type concept creation failures, IndexedDB errors.
158
+ *
159
+ * @see {@link CreateTheConceptLocal} for the underlying creation function
160
+ * @see {@link MakeTheTypeConceptLocal} for type concept creation/retrieval
161
+ * @see {@link LocalConceptsData.GetConceptByCharacterAndTypeLocal} for existence check
162
+ * @see {@link LocalSyncData.AddConcept} for sync queue management
17
163
  */
18
164
  export declare function MakeTheInstanceConceptLocal(type: string, referent: string, composition: boolean | undefined, userId: number, accessId: number, sessionInformationId?: number, referentId?: number, actions?: InnerActions): Promise<any>;
@@ -1,16 +1,36 @@
1
1
  import { Concept } from "../../DataStructures/Concept";
2
2
  import { InnerActions } from "../../Constants/general.const";
3
3
  /**
4
- * There are two types of concepts. One type of concept is a type concept. These concepts have no actual value and do not mean
5
- * anything unless they are associated with other values. These are placeholders like first_name, last_name, age etc that are required in the system.
6
- * These types need to be created seperately.
4
+ * Creates or retrieves a type concept locally - handles hierarchical type system.
7
5
  *
6
+ * Type concepts are placeholders/templates (e.g., "the_first_name", "the_email") that define
7
+ * what kind of data a concept represents. They have no actual value themselves.
8
8
  *
9
- * @param typeString type of the concept that needs to be created.
10
- * @param sessionId SessionId of the user
11
- * @param sessionUserId Not required pass 999
12
- * @param userId UserId of the user creating this concept
13
- * @param actions InnerActions|undefined actions to collect
14
- * @returns
9
+ * **Hierarchical Processing (Complex Logic)**:
10
+ * - Single word (e.g., "status"): Creates simple type concept with typeId=51
11
+ * - Compound words (e.g., "the_person_email"): Splits into parts and creates hierarchy:
12
+ * 1. Creates category concept from first part ("the_person")
13
+ * 2. Creates type concept from second part ("email")
14
+ * 3. Creates final concept with category and type linked
15
+ * **Uses recursion** to build multi-level type hierarchies
16
+ *
17
+ * Always checks for existing type concept before creating to prevent duplicates.
18
+ *
19
+ * @param typeString - The type name to create (e.g., "the_status", "the_person_email")
20
+ * @param sessionId - Session identifier (typically 999)
21
+ * @param sessionUserId - Session user ID (typically 999, not used)
22
+ * @param userId - User creating the type concept
23
+ * @param actions - Action tracking for batch operations
24
+ * @returns Type Concept (existing or newly created)
25
+ *
26
+ * @example
27
+ * // Simple type
28
+ * const statusType = await MakeTheTypeConceptLocal("the_status", 999, 999, 101);
29
+ * // Creates: "the_status" type concept
30
+ *
31
+ * @example
32
+ * // Hierarchical type (recursive processing)
33
+ * const emailType = await MakeTheTypeConceptLocal("the_person_email", 999, 999, 101);
34
+ * // Creates: "the_person" (category) + "email" (type) + "the_person_email" (combined)
15
35
  */
16
36
  export declare function MakeTheTypeConceptLocal(typeString: string, sessionId: number, sessionUserId: number, userId: number, actions?: InnerActions): Promise<Concept>;
@@ -1,3 +1,42 @@
1
1
  import { PatcherStructure } from "../../DataStructures/PatcherStructure";
2
2
  import { InnerActions } from "../../app";
3
+ /**
4
+ * Updates/patches a composition in local storage with new or modified properties.
5
+ *
6
+ * **Complex Patching Logic** (197 lines):
7
+ * 1. Fetches latest composition data from backend (all connections and concepts)
8
+ * 2. Iterates through patchObject properties to add/update
9
+ * 3. For each property:
10
+ * - If value is object/array: Creates composition concept and nested composition
11
+ * - If value is primitive: Creates instance concept with value
12
+ * - Checks if concept type already exists in composition
13
+ * - If exists: Marks old connections for deletion (replaces old value)
14
+ * - If new: Simply adds new connection
15
+ * 4. Creates connections between parent composition and new/updated concepts
16
+ * 5. Deletes old connections (cleanup)
17
+ * 6. Syncs changes to backend
18
+ *
19
+ * **Use Case**: Updating fields in an existing composition without recreating it entirely.
20
+ *
21
+ * @param patcherStructure - Object containing:
22
+ * - compositionId: The composition to update
23
+ * - ofTheCompositionId: Optional parent composition for nested updates
24
+ * - patchObject: Object with key-value pairs to add/update
25
+ * - userId, sessionId, accessId: User context
26
+ * @param actions - Action tracking for batch operations and rollback
27
+ *
28
+ * @example
29
+ * // Update a person's email and phone
30
+ * await UpdateCompositionLocal({
31
+ * compositionId: personId,
32
+ * patchObject: {
33
+ * the_email: "newemail@example.com",
34
+ * the_phone: "555-1234"
35
+ * },
36
+ * userId: 101,
37
+ * sessionId: 999,
38
+ * accessId: 4
39
+ * });
40
+ * // Old email connection deleted, new email connection created
41
+ */
3
42
  export declare function UpdateCompositionLocal(patcherStructure: PatcherStructure, actions?: InnerActions): Promise<any>;
File without changes
@@ -0,0 +1,2 @@
1
+ import { Concept } from "../DataStructures/Concept";
2
+ export declare function MakeTheName(theCharacterData: string, userId: number, securityId: number, securityUserId: number, accessId: number, accessUserId: number, sessionInformationId: number, sessionInformationUserId: number, typeId: number, typeUserId: number, existingConcept: Concept): Promise<Concept>;
@@ -0,0 +1 @@
1
+ export declare const getServerJwtToken: () => string;
@@ -1,22 +1,25 @@
1
+ /**
2
+ * Observable base class implementing the Observer pattern for reactive widgets.
3
+ *
4
+ * Provides data change notification system allowing subscribers to react to state updates.
5
+ */
1
6
  export declare class BaseObserver {
2
- /**
3
- * This is where the data of the widget needs to be stored.
4
- */
7
+ /** Widget data that can be observed for changes */
5
8
  data: any;
9
+ /** Flag to enable development mode features */
6
10
  inDevelopment: boolean;
7
- /**
8
- * This is the subscribers of the data. If any thing on this widget changes then all the functions
9
- * in the subscribers are called.
10
- */
11
+ /** Array of callback functions subscribed to data changes */
11
12
  subscribers: any;
12
13
  /**
13
- * This is called by any data change. So that any data change will notify all the callback functions to execute.
14
+ * Notifies all subscribers when data changes.
15
+ *
16
+ * @param passedData - Optional data to pass to subscribers. Uses this.data if not provided.
14
17
  */
15
18
  notify(passedData?: any): void;
16
19
  /**
17
- * This function is used to register the callback into the function in case of any dataChange.
18
- * @param callback sets this callback to the subscribers list in the widget. So that in any change we can call this callback
19
- * @returns execution of the callback passed.
20
+ * Registers a callback function to be invoked on data changes.
21
+ *
22
+ * @param callback - Function to execute when data changes
20
23
  */
21
24
  dataChange(callback: any): void;
22
25
  }
@@ -1,24 +1,37 @@
1
1
  import { BaseObserver } from "./BaseObserver";
2
+ /**
3
+ * Base widget class providing core DOM element management and identification.
4
+ *
5
+ * Extends BaseObserver to provide reactive data capabilities along with fundamental
6
+ * widget element operations and unique identification.
7
+ */
2
8
  export declare class BaseWidget extends BaseObserver {
3
- /**
4
- * This is the element that is a copy of the element that is mounted.
5
- */
9
+ /** The mounted DOM element wrapper for this widget */
6
10
  element: HTMLElement | null;
7
- /**
8
- * This is a random identifier to the widget that is used to identify the widget and other elements
9
- * inside of it.
10
- */
11
+ /** Unique numeric identifier for this widget instance */
11
12
  elementIdentifier: number;
13
+ /** Flag indicating whether the widget has been mounted to the DOM */
14
+ widgetMounted: boolean;
12
15
  /**
13
- * This flag is set to denote that that widget has been mounted
16
+ * Gets the root component element of this widget.
17
+ *
18
+ * @returns The widget's root HTML element or null if not mounted
14
19
  */
15
- widgetMounted: boolean;
16
20
  getComponent(): HTMLElement | null;
21
+ /**
22
+ * Finds an element by ID within this widget's scope.
23
+ *
24
+ * @param identifier - The element ID to search for (without '#' prefix)
25
+ * @returns The found HTML element or null if not found
26
+ */
17
27
  getElementById(identifier: string): HTMLElement | null;
18
28
  /**
29
+ * Generates a unique identifier for this widget's wrapper element.
30
+ *
31
+ * Creates a random number to uniquely identify the widget and its children
32
+ * from other widgets in the DOM.
19
33
  *
20
- * @returns random number that will be used to put into the main widget div so that we can uniqely identify
21
- * the widget and its children from others.
34
+ * @returns The generated identifier as a string
22
35
  */
23
36
  createWidgetWrapperIdentifier(): string;
24
37
  }
@@ -1,2 +1,11 @@
1
1
  import { BuilderStatefulWidget } from "./BuilderStatefulWidget";
2
+ /**
3
+ * Opens the type editor interface for a widget in development mode.
4
+ *
5
+ * Creates an input field allowing developers to change the widget type
6
+ * dynamically. Updates the widget when type value changes.
7
+ *
8
+ * @param event - The click event that triggered the editor
9
+ * @param that - The BuilderStatefulWidget instance to edit
10
+ */
2
11
  export declare function TypeEditor(event: any, that: BuilderStatefulWidget): void;