@techextensor/tab-sdk 0.0.3 → 0.0.4
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/esm2022/lib/auth/auth.service.mjs +95 -0
- package/esm2022/lib/enums/ui.enum.mjs +16 -0
- package/esm2022/lib/interfaces/ui.interface.mjs +2 -0
- package/esm2022/lib/tab-sdk.service.mjs +5 -19
- package/esm2022/lib/ui/ui.service.mjs +140 -2
- package/fesm2022/techextensor-tab-sdk.mjs +186 -329
- package/fesm2022/techextensor-tab-sdk.mjs.map +1 -1
- package/lib/auth/auth.service.d.ts +58 -0
- package/lib/enums/ui.enum.d.ts +13 -0
- package/lib/interfaces/ui.interface.d.ts +56 -0
- package/lib/tab-sdk.service.d.ts +3 -9
- package/lib/ui/ui.service.d.ts +80 -0
- package/package.json +2 -2
- package/esm2022/lib/common/utils.service.mjs +0 -163
- package/esm2022/lib/core/auth.service.mjs +0 -48
- package/esm2022/lib/data/data.service.mjs +0 -81
- package/esm2022/lib/ui/form.service.mjs +0 -97
- package/lib/common/utils.service.d.ts +0 -58
- package/lib/core/auth.service.d.ts +0 -28
- package/lib/data/data.service.d.ts +0 -36
- package/lib/ui/form.service.d.ts +0 -56
|
@@ -1,81 +0,0 @@
|
|
|
1
|
-
import { inject, Injectable } from "@angular/core";
|
|
2
|
-
import { TabDeleteService, TabInsertService, TabUpdateService } from '@techextensor/tab-core-utility';
|
|
3
|
-
import * as i0 from "@angular/core";
|
|
4
|
-
export class DataService {
|
|
5
|
-
_tabInsertService = inject(TabInsertService);
|
|
6
|
-
_tabUpdateService = inject(TabUpdateService);
|
|
7
|
-
_tabDeleteService = inject(TabDeleteService);
|
|
8
|
-
/**
|
|
9
|
-
* Insert a new record
|
|
10
|
-
*
|
|
11
|
-
* @example
|
|
12
|
-
* const newRecord = await sdk.data.insert('123456', {
|
|
13
|
-
* name: 'ACME Corp',
|
|
14
|
-
* email: 'contact@acme.com'
|
|
15
|
-
* });
|
|
16
|
-
*/
|
|
17
|
-
insert(objectId, data) {
|
|
18
|
-
return new Promise((resolve, reject) => {
|
|
19
|
-
this._tabInsertService.insertByObjectId(objectId, { data })
|
|
20
|
-
?.subscribe((response) => {
|
|
21
|
-
if (response?.StatusCode == 200 && response?.Result) {
|
|
22
|
-
resolve(response.Result);
|
|
23
|
-
}
|
|
24
|
-
else {
|
|
25
|
-
reject(new Error('Failed to insert record'));
|
|
26
|
-
}
|
|
27
|
-
});
|
|
28
|
-
});
|
|
29
|
-
}
|
|
30
|
-
/**
|
|
31
|
-
* Update an existing record
|
|
32
|
-
*
|
|
33
|
-
* @example
|
|
34
|
-
* await sdk.data.update('12345', {
|
|
35
|
-
* Id: '12345',
|
|
36
|
-
* name: 'ACME Corporation',
|
|
37
|
-
* status: 'active'
|
|
38
|
-
* });
|
|
39
|
-
*/
|
|
40
|
-
update(objectId, data) {
|
|
41
|
-
return new Promise((resolve, reject) => {
|
|
42
|
-
this._tabUpdateService.updateByObjectId(objectId, { data })
|
|
43
|
-
?.subscribe((response) => {
|
|
44
|
-
if (response?.StatusCode == 200 && response?.Result) {
|
|
45
|
-
resolve(response.Result);
|
|
46
|
-
}
|
|
47
|
-
else {
|
|
48
|
-
reject(new Error('Failed to update record'));
|
|
49
|
-
}
|
|
50
|
-
});
|
|
51
|
-
});
|
|
52
|
-
}
|
|
53
|
-
/**
|
|
54
|
-
* Delete a record
|
|
55
|
-
*
|
|
56
|
-
* @example
|
|
57
|
-
* await sdk.data.delete('12345', {Id: '12345'});
|
|
58
|
-
*/
|
|
59
|
-
delete(objectId, data) {
|
|
60
|
-
return new Promise((resolve, reject) => {
|
|
61
|
-
this._tabDeleteService.deleteRecord('', { data }, objectId)
|
|
62
|
-
?.subscribe((response) => {
|
|
63
|
-
if (response?.StatusCode == 200) {
|
|
64
|
-
resolve();
|
|
65
|
-
}
|
|
66
|
-
else {
|
|
67
|
-
reject(new Error('Failed to delete record'));
|
|
68
|
-
}
|
|
69
|
-
});
|
|
70
|
-
});
|
|
71
|
-
}
|
|
72
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: DataService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
73
|
-
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: DataService, providedIn: 'root' });
|
|
74
|
-
}
|
|
75
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: DataService, decorators: [{
|
|
76
|
-
type: Injectable,
|
|
77
|
-
args: [{
|
|
78
|
-
providedIn: 'root'
|
|
79
|
-
}]
|
|
80
|
-
}] });
|
|
81
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdGFiLXNkay9zcmMvbGliL2RhdGEvZGF0YS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ25ELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxnQkFBZ0IsRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGdDQUFnQyxDQUFDOztBQUt0RyxNQUFNLE9BQU8sV0FBVztJQUNILGlCQUFpQixHQUFxQixNQUFNLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztJQUMvRCxpQkFBaUIsR0FBcUIsTUFBTSxDQUFDLGdCQUFnQixDQUFDLENBQUM7SUFDL0QsaUJBQWlCLEdBQXFCLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO0lBRWhGOzs7Ozs7OztPQVFHO0lBQ0gsTUFBTSxDQUFDLFFBQWdCLEVBQUUsSUFBUztRQUM5QixPQUFPLElBQUksT0FBTyxDQUFDLENBQUMsT0FBTyxFQUFFLE1BQU0sRUFBRSxFQUFFO1lBQ25DLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxnQkFBZ0IsQ0FBQyxRQUFRLEVBQUUsRUFBRSxJQUFJLEVBQUUsQ0FBQztnQkFDdkQsRUFBRSxTQUFTLENBQUMsQ0FBQyxRQUFhLEVBQUUsRUFBRTtnQkFDMUIsSUFBSSxRQUFRLEVBQUUsVUFBVSxJQUFJLEdBQUcsSUFBSSxRQUFRLEVBQUUsTUFBTSxFQUFFLENBQUM7b0JBQ2xELE9BQU8sQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLENBQUM7Z0JBQzdCLENBQUM7cUJBQU0sQ0FBQztvQkFDSixNQUFNLENBQUMsSUFBSSxLQUFLLENBQUMseUJBQXlCLENBQUMsQ0FBQyxDQUFDO2dCQUNqRCxDQUFDO1lBQ0wsQ0FBQyxDQUFDLENBQUM7UUFDWCxDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7SUFFRDs7Ozs7Ozs7O09BU0c7SUFDSCxNQUFNLENBQUMsUUFBZ0IsRUFBRSxJQUFTO1FBQzlCLE9BQU8sSUFBSSxPQUFPLENBQUMsQ0FBQyxPQUFPLEVBQUUsTUFBTSxFQUFFLEVBQUU7WUFDbkMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLGdCQUFnQixDQUFDLFFBQVEsRUFBRSxFQUFFLElBQUksRUFBRSxDQUFDO2dCQUN2RCxFQUFFLFNBQVMsQ0FBQyxDQUFDLFFBQWEsRUFBRSxFQUFFO2dCQUMxQixJQUFJLFFBQVEsRUFBRSxVQUFVLElBQUksR0FBRyxJQUFJLFFBQVEsRUFBRSxNQUFNLEVBQUUsQ0FBQztvQkFDbEQsT0FBTyxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsQ0FBQztnQkFDN0IsQ0FBQztxQkFBTSxDQUFDO29CQUNKLE1BQU0sQ0FBQyxJQUFJLEtBQUssQ0FBQyx5QkFBeUIsQ0FBQyxDQUFDLENBQUM7Z0JBQ2pELENBQUM7WUFDTCxDQUFDLENBQUMsQ0FBQztRQUNYLENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUVEOzs7OztPQUtHO0lBQ0gsTUFBTSxDQUFDLFFBQWdCLEVBQUUsSUFBUztRQUM5QixPQUFPLElBQUksT0FBTyxDQUFDLENBQUMsT0FBTyxFQUFFLE1BQU0sRUFBRSxFQUFFO1lBQ25DLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxZQUFZLENBQUMsRUFBRSxFQUFFLEVBQUMsSUFBSSxFQUFDLEVBQUUsUUFBUSxDQUFDO2dCQUNyRCxFQUFFLFNBQVMsQ0FBQyxDQUFDLFFBQWEsRUFBRSxFQUFFO2dCQUMxQixJQUFJLFFBQVEsRUFBRSxVQUFVLElBQUksR0FBRyxFQUFFLENBQUM7b0JBQzlCLE9BQU8sRUFBRSxDQUFDO2dCQUNkLENBQUM7cUJBQU0sQ0FBQztvQkFDSixNQUFNLENBQUMsSUFBSSxLQUFLLENBQUMseUJBQXlCLENBQUMsQ0FBQyxDQUFDO2dCQUNqRCxDQUFDO1lBQ0wsQ0FBQyxDQUFDLENBQUM7UUFDWCxDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7d0dBbkVRLFdBQVc7NEdBQVgsV0FBVyxjQUZSLE1BQU07OzRGQUVULFdBQVc7a0JBSHZCLFVBQVU7bUJBQUM7b0JBQ1IsVUFBVSxFQUFFLE1BQU07aUJBQ3JCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgaW5qZWN0LCBJbmplY3RhYmxlIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7IFRhYkRlbGV0ZVNlcnZpY2UsIFRhYkluc2VydFNlcnZpY2UsIFRhYlVwZGF0ZVNlcnZpY2UgfSBmcm9tICdAdGVjaGV4dGVuc29yL3RhYi1jb3JlLXV0aWxpdHknO1xuXG5ASW5qZWN0YWJsZSh7XG4gICAgcHJvdmlkZWRJbjogJ3Jvb3QnXG59KVxuZXhwb3J0IGNsYXNzIERhdGFTZXJ2aWNlIHtcbiAgICBwcml2YXRlIHJlYWRvbmx5IF90YWJJbnNlcnRTZXJ2aWNlOiBUYWJJbnNlcnRTZXJ2aWNlID0gaW5qZWN0KFRhYkluc2VydFNlcnZpY2UpO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgX3RhYlVwZGF0ZVNlcnZpY2U6IFRhYlVwZGF0ZVNlcnZpY2UgPSBpbmplY3QoVGFiVXBkYXRlU2VydmljZSk7XG4gICAgcHJpdmF0ZSByZWFkb25seSBfdGFiRGVsZXRlU2VydmljZTogVGFiRGVsZXRlU2VydmljZSA9IGluamVjdChUYWJEZWxldGVTZXJ2aWNlKTtcblxuICAgIC8qKlxuICAgICAqIEluc2VydCBhIG5ldyByZWNvcmRcbiAgICAgKiBcbiAgICAgKiBAZXhhbXBsZVxuICAgICAqIGNvbnN0IG5ld1JlY29yZCA9IGF3YWl0IHNkay5kYXRhLmluc2VydCgnMTIzNDU2Jywge1xuICAgICAqICAgbmFtZTogJ0FDTUUgQ29ycCcsXG4gICAgICogICBlbWFpbDogJ2NvbnRhY3RAYWNtZS5jb20nXG4gICAgICogfSk7XG4gICAgICovXG4gICAgaW5zZXJ0KG9iamVjdElkOiBzdHJpbmcsIGRhdGE6IGFueSk6IFByb21pc2U8dm9pZD4ge1xuICAgICAgICByZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmUsIHJlamVjdCkgPT4ge1xuICAgICAgICAgICAgdGhpcy5fdGFiSW5zZXJ0U2VydmljZS5pbnNlcnRCeU9iamVjdElkKG9iamVjdElkLCB7IGRhdGEgfSlcbiAgICAgICAgICAgICAgICA/LnN1YnNjcmliZSgocmVzcG9uc2U6IGFueSkgPT4ge1xuICAgICAgICAgICAgICAgICAgICBpZiAocmVzcG9uc2U/LlN0YXR1c0NvZGUgPT0gMjAwICYmIHJlc3BvbnNlPy5SZXN1bHQpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJlc29sdmUocmVzcG9uc2UuUmVzdWx0KTtcbiAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJlamVjdChuZXcgRXJyb3IoJ0ZhaWxlZCB0byBpbnNlcnQgcmVjb3JkJykpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFVwZGF0ZSBhbiBleGlzdGluZyByZWNvcmRcbiAgICAgKiBcbiAgICAgKiBAZXhhbXBsZVxuICAgICAqIGF3YWl0IHNkay5kYXRhLnVwZGF0ZSgnMTIzNDUnLCB7XG4gICAgICogICBJZDogJzEyMzQ1JyxcbiAgICAgKiAgIG5hbWU6ICdBQ01FIENvcnBvcmF0aW9uJyxcbiAgICAgKiAgIHN0YXR1czogJ2FjdGl2ZSdcbiAgICAgKiB9KTtcbiAgICAgKi9cbiAgICB1cGRhdGUob2JqZWN0SWQ6IHN0cmluZywgZGF0YTogYW55KTogUHJvbWlzZTx2b2lkPiB7XG4gICAgICAgIHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZSwgcmVqZWN0KSA9PiB7XG4gICAgICAgICAgICB0aGlzLl90YWJVcGRhdGVTZXJ2aWNlLnVwZGF0ZUJ5T2JqZWN0SWQob2JqZWN0SWQsIHsgZGF0YSB9KVxuICAgICAgICAgICAgICAgID8uc3Vic2NyaWJlKChyZXNwb25zZTogYW55KSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGlmIChyZXNwb25zZT8uU3RhdHVzQ29kZSA9PSAyMDAgJiYgcmVzcG9uc2U/LlJlc3VsdCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgcmVzb2x2ZShyZXNwb25zZS5SZXN1bHQpO1xuICAgICAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAgcmVqZWN0KG5ldyBFcnJvcignRmFpbGVkIHRvIHVwZGF0ZSByZWNvcmQnKSk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogRGVsZXRlIGEgcmVjb3JkXG4gICAgICogXG4gICAgICogQGV4YW1wbGVcbiAgICAgKiBhd2FpdCBzZGsuZGF0YS5kZWxldGUoJzEyMzQ1Jywge0lkOiAnMTIzNDUnfSk7XG4gICAgICovXG4gICAgZGVsZXRlKG9iamVjdElkOiBzdHJpbmcsIGRhdGE6IGFueSk6IFByb21pc2U8dm9pZD4ge1xuICAgICAgICByZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmUsIHJlamVjdCkgPT4ge1xuICAgICAgICAgICAgdGhpcy5fdGFiRGVsZXRlU2VydmljZS5kZWxldGVSZWNvcmQoJycsIHtkYXRhfSwgb2JqZWN0SWQpXG4gICAgICAgICAgICAgICAgPy5zdWJzY3JpYmUoKHJlc3BvbnNlOiBhbnkpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgaWYgKHJlc3BvbnNlPy5TdGF0dXNDb2RlID09IDIwMCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgcmVzb2x2ZSgpO1xuICAgICAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAgcmVqZWN0KG5ldyBFcnJvcignRmFpbGVkIHRvIGRlbGV0ZSByZWNvcmQnKSk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgfSk7XG4gICAgfVxufSJdfQ==
|
|
@@ -1,97 +0,0 @@
|
|
|
1
|
-
import { Injectable } from "@angular/core";
|
|
2
|
-
import { TabSdk } from "../tab-sdk.service";
|
|
3
|
-
import * as i0 from "@angular/core";
|
|
4
|
-
export class FormService {
|
|
5
|
-
_helperFunctionService = TabSdk.context?.HelperFunctionService;
|
|
6
|
-
/**
|
|
7
|
-
* Processes form components with individual actions in a single pass
|
|
8
|
-
*
|
|
9
|
-
* @example
|
|
10
|
-
* // Process multiple components with different actions in one pass
|
|
11
|
-
* sdk.form.processComponents(
|
|
12
|
-
* screenParameters.rendererInstance.form.components,
|
|
13
|
-
* [
|
|
14
|
-
* {
|
|
15
|
-
* keys: 'documentDetails', // Single key
|
|
16
|
-
* action: (component) => component.hidden = true,
|
|
17
|
-
* type: 'columns' // Optional type filter
|
|
18
|
-
* },
|
|
19
|
-
* {
|
|
20
|
-
* keys: 'documentPreview,documentComments', // Multiple keys as comma-separated string
|
|
21
|
-
* action: (component) => component.hidden = false
|
|
22
|
-
* }
|
|
23
|
-
* ]
|
|
24
|
-
* );
|
|
25
|
-
*/
|
|
26
|
-
processComponents(components, processors) {
|
|
27
|
-
if (!components || !Array.isArray(components) || !processors?.length) {
|
|
28
|
-
return;
|
|
29
|
-
}
|
|
30
|
-
this._helperFunctionService?.eachComponent(components, (component) => {
|
|
31
|
-
processors.forEach(processor => {
|
|
32
|
-
// Split the keys string into an array
|
|
33
|
-
const keyList = processor.keys.split(',').map(k => k.trim());
|
|
34
|
-
// Check if component key is in the list of keys to process
|
|
35
|
-
if (!keyList.includes(component.key))
|
|
36
|
-
return;
|
|
37
|
-
// Check type match if specified
|
|
38
|
-
if (processor.type && component.type !== processor.type)
|
|
39
|
-
return;
|
|
40
|
-
// All criteria matched, execute the action
|
|
41
|
-
processor.action(component);
|
|
42
|
-
});
|
|
43
|
-
});
|
|
44
|
-
}
|
|
45
|
-
/**
|
|
46
|
-
* Updates visibility of multiple form components at once
|
|
47
|
-
*
|
|
48
|
-
* @example
|
|
49
|
-
* sdk.form.setComponentsVisibility(
|
|
50
|
-
* screenParameters.rendererInstance.form.components,
|
|
51
|
-
* {
|
|
52
|
-
* 'documentDetails': false,
|
|
53
|
-
* 'documentComments': true
|
|
54
|
-
* }
|
|
55
|
-
* );
|
|
56
|
-
*/
|
|
57
|
-
setComponentsVisibility(components, visibilityMap) {
|
|
58
|
-
const keys = Object.keys(visibilityMap);
|
|
59
|
-
this.processComponents(components, keys.map(key => ({
|
|
60
|
-
keys: key,
|
|
61
|
-
action: (component) => {
|
|
62
|
-
component.hidden = visibilityMap[key];
|
|
63
|
-
}
|
|
64
|
-
})));
|
|
65
|
-
}
|
|
66
|
-
/**
|
|
67
|
-
* Finds components by key and returns them in a structured object
|
|
68
|
-
*
|
|
69
|
-
* @example
|
|
70
|
-
* const components = sdk.form.findComponentsByKeys(
|
|
71
|
-
* form.components,
|
|
72
|
-
* ['documentDetails', 'documentPreview', 'documentComments']
|
|
73
|
-
* );
|
|
74
|
-
*/
|
|
75
|
-
findComponentsByKeys(components, keys, options) {
|
|
76
|
-
const result = {};
|
|
77
|
-
if (!components || !Array.isArray(components) || !keys?.length) {
|
|
78
|
-
return result;
|
|
79
|
-
}
|
|
80
|
-
// Use the existing eachComponent helper
|
|
81
|
-
this._helperFunctionService.eachComponent(components, (component) => {
|
|
82
|
-
if (!options?.type || component.type === options.type) {
|
|
83
|
-
result[component.key] = component;
|
|
84
|
-
}
|
|
85
|
-
}, keys);
|
|
86
|
-
return result;
|
|
87
|
-
}
|
|
88
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: FormService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
89
|
-
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: FormService, providedIn: 'root' });
|
|
90
|
-
}
|
|
91
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: FormService, decorators: [{
|
|
92
|
-
type: Injectable,
|
|
93
|
-
args: [{
|
|
94
|
-
providedIn: 'root'
|
|
95
|
-
}]
|
|
96
|
-
}] });
|
|
97
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdGFiLXNkay9zcmMvbGliL3VpL2Zvcm0uc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQzs7QUFLNUMsTUFBTSxPQUFPLFdBQVc7SUFDSCxzQkFBc0IsR0FBUSxNQUFNLENBQUMsT0FBTyxFQUFFLHFCQUFxQixDQUFDO0lBRXJGOzs7Ozs7Ozs7Ozs7Ozs7Ozs7O01BbUJFO0lBQ0YsaUJBQWlCLENBQ2IsVUFBaUIsRUFDakIsVUFJRTtRQUVGLElBQUksQ0FBQyxVQUFVLElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsVUFBVSxFQUFFLE1BQU0sRUFBRSxDQUFDO1lBQ25FLE9BQU87UUFDWCxDQUFDO1FBRUQsSUFBSSxDQUFDLHNCQUFzQixFQUFFLGFBQWEsQ0FBQyxVQUFVLEVBQUUsQ0FBQyxTQUFjLEVBQUUsRUFBRTtZQUN0RSxVQUFVLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxFQUFFO2dCQUMzQixzQ0FBc0M7Z0JBQ3RDLE1BQU0sT0FBTyxHQUFHLFNBQVMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDO2dCQUU3RCwyREFBMkQ7Z0JBQzNELElBQUksQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUM7b0JBQUUsT0FBTztnQkFFN0MsZ0NBQWdDO2dCQUNoQyxJQUFJLFNBQVMsQ0FBQyxJQUFJLElBQUksU0FBUyxDQUFDLElBQUksS0FBSyxTQUFTLENBQUMsSUFBSTtvQkFBRSxPQUFPO2dCQUVoRSwyQ0FBMkM7Z0JBQzNDLFNBQVMsQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLENBQUM7WUFDaEMsQ0FBQyxDQUFDLENBQUM7UUFDUCxDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7SUFFRDs7Ozs7Ozs7Ozs7T0FXRztJQUNILHVCQUF1QixDQUNuQixVQUFpQixFQUNqQixhQUFzQztRQUV0QyxNQUFNLElBQUksR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDO1FBRXhDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxVQUFVLEVBQzdCLElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDO1lBQ2IsSUFBSSxFQUFFLEdBQUc7WUFDVCxNQUFNLEVBQUUsQ0FBQyxTQUFTLEVBQUUsRUFBRTtnQkFDbEIsU0FBUyxDQUFDLE1BQU0sR0FBRyxhQUFhLENBQUMsR0FBRyxDQUFDLENBQUM7WUFDMUMsQ0FBQztTQUNKLENBQUMsQ0FBQyxDQUNOLENBQUM7SUFDTixDQUFDO0lBRUQ7Ozs7Ozs7O09BUUc7SUFDSCxvQkFBb0IsQ0FDaEIsVUFBaUIsRUFDakIsSUFBYyxFQUNkLE9BRUM7UUFFRCxNQUFNLE1BQU0sR0FBd0IsRUFBRSxDQUFDO1FBRXZDLElBQUksQ0FBQyxVQUFVLElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLE1BQU0sRUFBRSxDQUFDO1lBQzdELE9BQU8sTUFBTSxDQUFDO1FBQ2xCLENBQUM7UUFFRCx5Q0FBeUM7UUFDekMsSUFBSSxDQUFDLHNCQUFzQixDQUFDLGFBQWEsQ0FBQyxVQUFVLEVBQUUsQ0FBQyxTQUFjLEVBQUUsRUFBRTtZQUNyRSxJQUFJLENBQUMsT0FBTyxFQUFFLElBQUksSUFBSSxTQUFTLENBQUMsSUFBSSxLQUFLLE9BQU8sQ0FBQyxJQUFJLEVBQUUsQ0FBQztnQkFDcEQsTUFBTSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsR0FBRyxTQUFTLENBQUM7WUFDdEMsQ0FBQztRQUNMLENBQUMsRUFBRSxJQUFJLENBQUMsQ0FBQztRQUVULE9BQU8sTUFBTSxDQUFDO0lBQ2xCLENBQUM7d0dBOUdRLFdBQVc7NEdBQVgsV0FBVyxjQUZSLE1BQU07OzRGQUVULFdBQVc7a0JBSHZCLFVBQVU7bUJBQUM7b0JBQ1IsVUFBVSxFQUFFLE1BQU07aUJBQ3JCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5pbXBvcnQgeyBUYWJTZGsgfSBmcm9tIFwiLi4vdGFiLXNkay5zZXJ2aWNlXCI7XG5cbkBJbmplY3RhYmxlKHtcbiAgICBwcm92aWRlZEluOiAncm9vdCdcbn0pXG5leHBvcnQgY2xhc3MgRm9ybVNlcnZpY2Uge1xuICAgIHByaXZhdGUgcmVhZG9ubHkgX2hlbHBlckZ1bmN0aW9uU2VydmljZTogYW55ID0gVGFiU2RrLmNvbnRleHQ/LkhlbHBlckZ1bmN0aW9uU2VydmljZTtcblxuICAgIC8qKlxuICAgICogUHJvY2Vzc2VzIGZvcm0gY29tcG9uZW50cyB3aXRoIGluZGl2aWR1YWwgYWN0aW9ucyBpbiBhIHNpbmdsZSBwYXNzXG4gICAgKiBcbiAgICAqIEBleGFtcGxlXG4gICAgKiAvLyBQcm9jZXNzIG11bHRpcGxlIGNvbXBvbmVudHMgd2l0aCBkaWZmZXJlbnQgYWN0aW9ucyBpbiBvbmUgcGFzc1xuICAgICogc2RrLmZvcm0ucHJvY2Vzc0NvbXBvbmVudHMoXG4gICAgKiAgIHNjcmVlblBhcmFtZXRlcnMucmVuZGVyZXJJbnN0YW5jZS5mb3JtLmNvbXBvbmVudHMsXG4gICAgKiAgIFtcbiAgICAqICAgICB7IFxuICAgICogICAgICAga2V5czogJ2RvY3VtZW50RGV0YWlscycsIC8vIFNpbmdsZSBrZXlcbiAgICAqICAgICAgIGFjdGlvbjogKGNvbXBvbmVudCkgPT4gY29tcG9uZW50LmhpZGRlbiA9IHRydWUsXG4gICAgKiAgICAgICB0eXBlOiAnY29sdW1ucycgLy8gT3B0aW9uYWwgdHlwZSBmaWx0ZXJcbiAgICAqICAgICB9LFxuICAgICogICAgIHsgXG4gICAgKiAgICAgICBrZXlzOiAnZG9jdW1lbnRQcmV2aWV3LGRvY3VtZW50Q29tbWVudHMnLCAvLyBNdWx0aXBsZSBrZXlzIGFzIGNvbW1hLXNlcGFyYXRlZCBzdHJpbmdcbiAgICAqICAgICAgIGFjdGlvbjogKGNvbXBvbmVudCkgPT4gY29tcG9uZW50LmhpZGRlbiA9IGZhbHNlIFxuICAgICogICAgIH1cbiAgICAqICAgXVxuICAgICogKTtcbiAgICAqL1xuICAgIHByb2Nlc3NDb21wb25lbnRzKFxuICAgICAgICBjb21wb25lbnRzOiBhbnlbXSxcbiAgICAgICAgcHJvY2Vzc29yczogQXJyYXk8e1xuICAgICAgICAgICAga2V5czogc3RyaW5nLCAvLyBSZXF1aXJlZDogQ29tcG9uZW50IGtleShzKSB0byBtYXRjaCAoY29tbWEtc2VwYXJhdGVkIGZvciBtdWx0aXBsZSlcbiAgICAgICAgICAgIHR5cGU/OiBzdHJpbmcsIC8vIE9wdGlvbmFsOiBDb21wb25lbnQgdHlwZSB0byBtYXRjaFxuICAgICAgICAgICAgYWN0aW9uOiAoY29tcG9uZW50OiBhbnkpID0+IHZvaWQgLy8gQWN0aW9uIHRvIHBlcmZvcm0gb24gbWF0Y2hlZCBjb21wb25lbnRcbiAgICAgICAgfT5cbiAgICApOiB2b2lkIHtcbiAgICAgICAgaWYgKCFjb21wb25lbnRzIHx8ICFBcnJheS5pc0FycmF5KGNvbXBvbmVudHMpIHx8ICFwcm9jZXNzb3JzPy5sZW5ndGgpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuX2hlbHBlckZ1bmN0aW9uU2VydmljZT8uZWFjaENvbXBvbmVudChjb21wb25lbnRzLCAoY29tcG9uZW50OiBhbnkpID0+IHtcbiAgICAgICAgICAgIHByb2Nlc3NvcnMuZm9yRWFjaChwcm9jZXNzb3IgPT4ge1xuICAgICAgICAgICAgICAgIC8vIFNwbGl0IHRoZSBrZXlzIHN0cmluZyBpbnRvIGFuIGFycmF5XG4gICAgICAgICAgICAgICAgY29uc3Qga2V5TGlzdCA9IHByb2Nlc3Nvci5rZXlzLnNwbGl0KCcsJykubWFwKGsgPT4gay50cmltKCkpO1xuXG4gICAgICAgICAgICAgICAgLy8gQ2hlY2sgaWYgY29tcG9uZW50IGtleSBpcyBpbiB0aGUgbGlzdCBvZiBrZXlzIHRvIHByb2Nlc3NcbiAgICAgICAgICAgICAgICBpZiAoIWtleUxpc3QuaW5jbHVkZXMoY29tcG9uZW50LmtleSkpIHJldHVybjtcblxuICAgICAgICAgICAgICAgIC8vIENoZWNrIHR5cGUgbWF0Y2ggaWYgc3BlY2lmaWVkXG4gICAgICAgICAgICAgICAgaWYgKHByb2Nlc3Nvci50eXBlICYmIGNvbXBvbmVudC50eXBlICE9PSBwcm9jZXNzb3IudHlwZSkgcmV0dXJuO1xuXG4gICAgICAgICAgICAgICAgLy8gQWxsIGNyaXRlcmlhIG1hdGNoZWQsIGV4ZWN1dGUgdGhlIGFjdGlvblxuICAgICAgICAgICAgICAgIHByb2Nlc3Nvci5hY3Rpb24oY29tcG9uZW50KTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBVcGRhdGVzIHZpc2liaWxpdHkgb2YgbXVsdGlwbGUgZm9ybSBjb21wb25lbnRzIGF0IG9uY2VcbiAgICAgKiBcbiAgICAgKiBAZXhhbXBsZVxuICAgICAqIHNkay5mb3JtLnNldENvbXBvbmVudHNWaXNpYmlsaXR5KFxuICAgICAqICAgc2NyZWVuUGFyYW1ldGVycy5yZW5kZXJlckluc3RhbmNlLmZvcm0uY29tcG9uZW50cywgXG4gICAgICogICB7XG4gICAgICogICAgICdkb2N1bWVudERldGFpbHMnOiBmYWxzZSxcbiAgICAgKiAgICAgJ2RvY3VtZW50Q29tbWVudHMnOiB0cnVlXG4gICAgICogICB9XG4gICAgICogKTtcbiAgICAgKi9cbiAgICBzZXRDb21wb25lbnRzVmlzaWJpbGl0eShcbiAgICAgICAgY29tcG9uZW50czogYW55W10sXG4gICAgICAgIHZpc2liaWxpdHlNYXA6IFJlY29yZDxzdHJpbmcsIGJvb2xlYW4+XG4gICAgKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IGtleXMgPSBPYmplY3Qua2V5cyh2aXNpYmlsaXR5TWFwKTtcblxuICAgICAgICB0aGlzLnByb2Nlc3NDb21wb25lbnRzKGNvbXBvbmVudHMsXG4gICAgICAgICAgICBrZXlzLm1hcChrZXkgPT4gKHtcbiAgICAgICAgICAgICAgICBrZXlzOiBrZXksXG4gICAgICAgICAgICAgICAgYWN0aW9uOiAoY29tcG9uZW50KSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGNvbXBvbmVudC5oaWRkZW4gPSB2aXNpYmlsaXR5TWFwW2tleV07XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSkpXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogRmluZHMgY29tcG9uZW50cyBieSBrZXkgYW5kIHJldHVybnMgdGhlbSBpbiBhIHN0cnVjdHVyZWQgb2JqZWN0XG4gICAgICogXG4gICAgICogQGV4YW1wbGVcbiAgICAgKiBjb25zdCBjb21wb25lbnRzID0gc2RrLmZvcm0uZmluZENvbXBvbmVudHNCeUtleXMoXG4gICAgICogICBmb3JtLmNvbXBvbmVudHMsXG4gICAgICogICBbJ2RvY3VtZW50RGV0YWlscycsICdkb2N1bWVudFByZXZpZXcnLCAnZG9jdW1lbnRDb21tZW50cyddXG4gICAgICogKTtcbiAgICAgKi9cbiAgICBmaW5kQ29tcG9uZW50c0J5S2V5cyhcbiAgICAgICAgY29tcG9uZW50czogYW55W10sXG4gICAgICAgIGtleXM6IHN0cmluZ1tdLFxuICAgICAgICBvcHRpb25zPzoge1xuICAgICAgICAgICAgdHlwZT86IHN0cmluZ1xuICAgICAgICB9XG4gICAgKTogUmVjb3JkPHN0cmluZywgYW55PiB7XG4gICAgICAgIGNvbnN0IHJlc3VsdDogUmVjb3JkPHN0cmluZywgYW55PiA9IHt9O1xuXG4gICAgICAgIGlmICghY29tcG9uZW50cyB8fCAhQXJyYXkuaXNBcnJheShjb21wb25lbnRzKSB8fCAha2V5cz8ubGVuZ3RoKSB7XG4gICAgICAgICAgICByZXR1cm4gcmVzdWx0O1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gVXNlIHRoZSBleGlzdGluZyBlYWNoQ29tcG9uZW50IGhlbHBlciBcbiAgICAgICAgdGhpcy5faGVscGVyRnVuY3Rpb25TZXJ2aWNlLmVhY2hDb21wb25lbnQoY29tcG9uZW50cywgKGNvbXBvbmVudDogYW55KSA9PiB7XG4gICAgICAgICAgICBpZiAoIW9wdGlvbnM/LnR5cGUgfHwgY29tcG9uZW50LnR5cGUgPT09IG9wdGlvbnMudHlwZSkge1xuICAgICAgICAgICAgICAgIHJlc3VsdFtjb21wb25lbnQua2V5XSA9IGNvbXBvbmVudDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSwga2V5cyk7XG5cbiAgICAgICAgcmV0dXJuIHJlc3VsdDtcbiAgICB9XG59Il19
|
|
@@ -1,58 +0,0 @@
|
|
|
1
|
-
import * as i0 from "@angular/core";
|
|
2
|
-
export declare class UtilsService {
|
|
3
|
-
private readonly _authService;
|
|
4
|
-
private readonly _helperFunctionService;
|
|
5
|
-
/**
|
|
6
|
-
* Extracts the event name from various event parameter structures
|
|
7
|
-
*
|
|
8
|
-
* @example
|
|
9
|
-
* const eventName = sdk.utils.extractEventName(screenParameters.event);
|
|
10
|
-
* if (eventName === 'deleteDocument') {
|
|
11
|
-
* // Handle delete document event
|
|
12
|
-
* }
|
|
13
|
-
*/
|
|
14
|
-
extractEventName(event: any): string;
|
|
15
|
-
/**
|
|
16
|
-
* Builds an application URL with the specified path and parameters
|
|
17
|
-
*
|
|
18
|
-
* @example
|
|
19
|
-
* // Get full URL with protocol
|
|
20
|
-
* const fullUrl = sdk.utils.buildAppUrl('screen/12345', { id: '12345' });
|
|
21
|
-
*/
|
|
22
|
-
buildAppUrl(path: string, parameters?: Record<string, any>, includeProtocol?: boolean): string;
|
|
23
|
-
/**
|
|
24
|
-
* Generates and copies a screen URL to the clipboard
|
|
25
|
-
*
|
|
26
|
-
* @example
|
|
27
|
-
* // Copy URL to clipboard
|
|
28
|
-
* sdk.utils.copyScreenLink('12345', { id: '12345' });
|
|
29
|
-
*/
|
|
30
|
-
copyScreenLinkToClipboard(screenId: string, parameters?: Record<string, any>): any;
|
|
31
|
-
/**
|
|
32
|
-
* Downloads a blob as a file
|
|
33
|
-
*
|
|
34
|
-
* @example
|
|
35
|
-
* // Download a blob as 'report.pdf'
|
|
36
|
-
* const pdfBlob = new Blob([pdfContent], { type: 'application/pdf' });
|
|
37
|
-
* sdk.utils.downloadBlob(pdfBlob, 'report.pdf');
|
|
38
|
-
*/
|
|
39
|
-
downloadBlob(blob: Blob, filename: string): void;
|
|
40
|
-
/**
|
|
41
|
-
* Exports HTML content as a Word document (.doc)
|
|
42
|
-
*
|
|
43
|
-
* @example
|
|
44
|
-
* // Export editor content as Word document
|
|
45
|
-
* sdk.utils.exportAsWord(editorContent, 'report');
|
|
46
|
-
*/
|
|
47
|
-
exportAsWord(content: string, filename?: string): void;
|
|
48
|
-
/**
|
|
49
|
-
* Exports HTML content as PDF using browser print functionality
|
|
50
|
-
*
|
|
51
|
-
* @example
|
|
52
|
-
* // Export content as PDF
|
|
53
|
-
* sdk.utils.exportAsPdf(documentContent, 'Invoice');
|
|
54
|
-
*/
|
|
55
|
-
exportAsPdf(content: string, title?: string): void;
|
|
56
|
-
static ɵfac: i0.ɵɵFactoryDeclaration<UtilsService, never>;
|
|
57
|
-
static ɵprov: i0.ɵɵInjectableDeclaration<UtilsService>;
|
|
58
|
-
}
|
|
@@ -1,28 +0,0 @@
|
|
|
1
|
-
import * as i0 from "@angular/core";
|
|
2
|
-
export declare class AuthService {
|
|
3
|
-
private readonly _sessionStorageService;
|
|
4
|
-
private readonly _localStorageService;
|
|
5
|
-
/**
|
|
6
|
-
* Get the current application code/identifier
|
|
7
|
-
*
|
|
8
|
-
* @example
|
|
9
|
-
* const appCode = sdk.config.getAppCode();
|
|
10
|
-
*/
|
|
11
|
-
getAppCode(): string;
|
|
12
|
-
/**
|
|
13
|
-
* Get the current user ID
|
|
14
|
-
*
|
|
15
|
-
* @example
|
|
16
|
-
* const userId = sdk.auth.getCurrentUserId();
|
|
17
|
-
*/
|
|
18
|
-
getCurrentUserId(): string;
|
|
19
|
-
/**
|
|
20
|
-
* Get the current user information
|
|
21
|
-
*
|
|
22
|
-
* @example
|
|
23
|
-
* const user = sdk.auth.getCurrentUser();
|
|
24
|
-
*/
|
|
25
|
-
getCurrentUser(): any;
|
|
26
|
-
static ɵfac: i0.ɵɵFactoryDeclaration<AuthService, never>;
|
|
27
|
-
static ɵprov: i0.ɵɵInjectableDeclaration<AuthService>;
|
|
28
|
-
}
|
|
@@ -1,36 +0,0 @@
|
|
|
1
|
-
import * as i0 from "@angular/core";
|
|
2
|
-
export declare class DataService {
|
|
3
|
-
private readonly _tabInsertService;
|
|
4
|
-
private readonly _tabUpdateService;
|
|
5
|
-
private readonly _tabDeleteService;
|
|
6
|
-
/**
|
|
7
|
-
* Insert a new record
|
|
8
|
-
*
|
|
9
|
-
* @example
|
|
10
|
-
* const newRecord = await sdk.data.insert('123456', {
|
|
11
|
-
* name: 'ACME Corp',
|
|
12
|
-
* email: 'contact@acme.com'
|
|
13
|
-
* });
|
|
14
|
-
*/
|
|
15
|
-
insert(objectId: string, data: any): Promise<void>;
|
|
16
|
-
/**
|
|
17
|
-
* Update an existing record
|
|
18
|
-
*
|
|
19
|
-
* @example
|
|
20
|
-
* await sdk.data.update('12345', {
|
|
21
|
-
* Id: '12345',
|
|
22
|
-
* name: 'ACME Corporation',
|
|
23
|
-
* status: 'active'
|
|
24
|
-
* });
|
|
25
|
-
*/
|
|
26
|
-
update(objectId: string, data: any): Promise<void>;
|
|
27
|
-
/**
|
|
28
|
-
* Delete a record
|
|
29
|
-
*
|
|
30
|
-
* @example
|
|
31
|
-
* await sdk.data.delete('12345', {Id: '12345'});
|
|
32
|
-
*/
|
|
33
|
-
delete(objectId: string, data: any): Promise<void>;
|
|
34
|
-
static ɵfac: i0.ɵɵFactoryDeclaration<DataService, never>;
|
|
35
|
-
static ɵprov: i0.ɵɵInjectableDeclaration<DataService>;
|
|
36
|
-
}
|
package/lib/ui/form.service.d.ts
DELETED
|
@@ -1,56 +0,0 @@
|
|
|
1
|
-
import * as i0 from "@angular/core";
|
|
2
|
-
export declare class FormService {
|
|
3
|
-
private readonly _helperFunctionService;
|
|
4
|
-
/**
|
|
5
|
-
* Processes form components with individual actions in a single pass
|
|
6
|
-
*
|
|
7
|
-
* @example
|
|
8
|
-
* // Process multiple components with different actions in one pass
|
|
9
|
-
* sdk.form.processComponents(
|
|
10
|
-
* screenParameters.rendererInstance.form.components,
|
|
11
|
-
* [
|
|
12
|
-
* {
|
|
13
|
-
* keys: 'documentDetails', // Single key
|
|
14
|
-
* action: (component) => component.hidden = true,
|
|
15
|
-
* type: 'columns' // Optional type filter
|
|
16
|
-
* },
|
|
17
|
-
* {
|
|
18
|
-
* keys: 'documentPreview,documentComments', // Multiple keys as comma-separated string
|
|
19
|
-
* action: (component) => component.hidden = false
|
|
20
|
-
* }
|
|
21
|
-
* ]
|
|
22
|
-
* );
|
|
23
|
-
*/
|
|
24
|
-
processComponents(components: any[], processors: Array<{
|
|
25
|
-
keys: string;
|
|
26
|
-
type?: string;
|
|
27
|
-
action: (component: any) => void;
|
|
28
|
-
}>): void;
|
|
29
|
-
/**
|
|
30
|
-
* Updates visibility of multiple form components at once
|
|
31
|
-
*
|
|
32
|
-
* @example
|
|
33
|
-
* sdk.form.setComponentsVisibility(
|
|
34
|
-
* screenParameters.rendererInstance.form.components,
|
|
35
|
-
* {
|
|
36
|
-
* 'documentDetails': false,
|
|
37
|
-
* 'documentComments': true
|
|
38
|
-
* }
|
|
39
|
-
* );
|
|
40
|
-
*/
|
|
41
|
-
setComponentsVisibility(components: any[], visibilityMap: Record<string, boolean>): void;
|
|
42
|
-
/**
|
|
43
|
-
* Finds components by key and returns them in a structured object
|
|
44
|
-
*
|
|
45
|
-
* @example
|
|
46
|
-
* const components = sdk.form.findComponentsByKeys(
|
|
47
|
-
* form.components,
|
|
48
|
-
* ['documentDetails', 'documentPreview', 'documentComments']
|
|
49
|
-
* );
|
|
50
|
-
*/
|
|
51
|
-
findComponentsByKeys(components: any[], keys: string[], options?: {
|
|
52
|
-
type?: string;
|
|
53
|
-
}): Record<string, any>;
|
|
54
|
-
static ɵfac: i0.ɵɵFactoryDeclaration<FormService, never>;
|
|
55
|
-
static ɵprov: i0.ɵɵInjectableDeclaration<FormService>;
|
|
56
|
-
}
|