@yomotech/view-toolkit 1.0.14 → 1.0.16
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/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@yomotech/view-toolkit",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.16",
|
|
4
4
|
"peerDependencies": {
|
|
5
5
|
"@angular/cdk": "^21.0.0",
|
|
6
6
|
"@angular/common": "^21.0.0",
|
|
@@ -26,7 +26,8 @@
|
|
|
26
26
|
"primeflex": "^4.0.0",
|
|
27
27
|
"primeicons": "^7.0.0",
|
|
28
28
|
"primeng": "^21.1.3",
|
|
29
|
-
"rxjs": "^7.8.1"
|
|
29
|
+
"rxjs": "^7.8.1",
|
|
30
|
+
"@aparajita/capacitor-secure-storage": "^7.1.6"
|
|
30
31
|
},
|
|
31
32
|
"dependencies": {
|
|
32
33
|
"tslib": "^2.8.0"
|
|
@@ -45,9 +45,17 @@ declare class UtilityService {
|
|
|
45
45
|
};
|
|
46
46
|
setStorage(key: string, value: any): Promise<void>;
|
|
47
47
|
getStorage(key: string): Promise<string | null>;
|
|
48
|
+
/**
|
|
49
|
+
* Keys that hold a saved sign-in; on the devices they live in the keychain / keystore.
|
|
50
|
+
* keycloak: KeycloakInfo, oktaAuth: loginedUser, jwtToken: <project>Logined.
|
|
51
|
+
*/
|
|
52
|
+
private readonly secureKeys;
|
|
53
|
+
private isSecureKey;
|
|
48
54
|
setLocalStorage(key: string, value: any): Promise<void>;
|
|
49
55
|
removeLocalStorage(keyName: string): Promise<void>;
|
|
50
56
|
removeStorage(key: string): Promise<void>;
|
|
57
|
+
/** Reads a credential key from the keychain, moving a value stored the old way on first read. */
|
|
58
|
+
private getSecureItem;
|
|
51
59
|
getLocalStorage<T = unknown>(key: string): Promise<any>;
|
|
52
60
|
showAllProjects(): Promise<void>;
|
|
53
61
|
parseBodyObject(obj: any): any;
|
|
@@ -126,24 +134,6 @@ declare class Couchdb {
|
|
|
126
134
|
private getReadHeaders;
|
|
127
135
|
private buildTenantHeaders;
|
|
128
136
|
getImageSrcFromCouchDb(couchDbName: string, filePath: string): Promise<string>;
|
|
129
|
-
/**
|
|
130
|
-
* Returns a URL that a <video>, <audio> or <img> element can load directly.
|
|
131
|
-
*
|
|
132
|
-
* Unlike getImageSrcFromCouchDb above, this never reads the file. It asks
|
|
133
|
-
* jwt-auth for a short-lived signed URL and hands that back, so the browser
|
|
134
|
-
* fetches the attachment itself - with Range requests, so a video starts on
|
|
135
|
-
* the first chunk and a seek costs one request instead of the whole file.
|
|
136
|
-
*
|
|
137
|
-
* The reason a signed URL is needed at all: a media element issues its own
|
|
138
|
-
* HTTP requests, for the initial load and again for every seek, and those
|
|
139
|
-
* requests carry none of the tenant headers buildTenantHeaders adds here.
|
|
140
|
-
* The token in the query string is the only credential the element can pass.
|
|
141
|
-
*
|
|
142
|
-
* The path comes back from the endpoint and is used as given. The signature
|
|
143
|
-
* covers the raw, still-encoded path, so rebuilding it here with a different
|
|
144
|
-
* encoding would produce a URL that fails with a bare 403.
|
|
145
|
-
*/
|
|
146
|
-
getMediaUrlFromCouchDb(couchDbName: string, filePath: string, attachmentName?: string): Promise<string>;
|
|
147
137
|
static ɵfac: i0.ɵɵFactoryDeclaration<Couchdb, never>;
|
|
148
138
|
static ɵprov: i0.ɵɵInjectableDeclaration<Couchdb>;
|
|
149
139
|
}
|
|
@@ -169,6 +159,7 @@ declare class ConfigService {
|
|
|
169
159
|
logoutRedirectUri: any;
|
|
170
160
|
scope: any;
|
|
171
161
|
responseType: any;
|
|
162
|
+
offlineAccess: boolean;
|
|
172
163
|
} | null;
|
|
173
164
|
private updateLoaderValue;
|
|
174
165
|
currentLoader$: rxjs.Observable<any>;
|
|
@@ -188,6 +179,142 @@ declare class NotificationService {
|
|
|
188
179
|
static ɵprov: i0.ɵɵInjectableDeclaration<NotificationService>;
|
|
189
180
|
}
|
|
190
181
|
|
|
182
|
+
type CustomKeyboardType = 'email' | 'numeric' | 'alpha' | 'string' | 'date' | 'time';
|
|
183
|
+
declare function normalizeCustomKeyboardType(value: unknown): CustomKeyboardType | null;
|
|
184
|
+
/**
|
|
185
|
+
* Keyboard for a field: option.keyboardType when the layout sets one, otherwise derived from the
|
|
186
|
+
* attribute (property schema) type. Returns null where the system keyboard stays in charge.
|
|
187
|
+
*/
|
|
188
|
+
declare function resolveCustomKeyboardType(option: any, property: any): CustomKeyboardType | null;
|
|
189
|
+
|
|
190
|
+
type CustomKeyboardTarget = HTMLInputElement | HTMLTextAreaElement;
|
|
191
|
+
interface CustomKeyboardSession {
|
|
192
|
+
target: CustomKeyboardTarget;
|
|
193
|
+
type: CustomKeyboardType;
|
|
194
|
+
originalReadOnly: boolean;
|
|
195
|
+
originalInputMode: string | null;
|
|
196
|
+
originalInputType: string | null;
|
|
197
|
+
}
|
|
198
|
+
declare class CustomKeyboardService {
|
|
199
|
+
private openingSuspendedUntil;
|
|
200
|
+
private lastKeyboardHeight;
|
|
201
|
+
private pickerOverlayOpen;
|
|
202
|
+
private pickerTriggerPressedUntil;
|
|
203
|
+
readonly interactionBlocked: i0.WritableSignal<boolean>;
|
|
204
|
+
private interactionUnlockTimer;
|
|
205
|
+
readonly activeSession: i0.WritableSignal<CustomKeyboardSession | null>;
|
|
206
|
+
isNativeMobile(): boolean;
|
|
207
|
+
open(target: CustomKeyboardTarget, type: CustomKeyboardType): Promise<void>;
|
|
208
|
+
private blockInitialInteraction;
|
|
209
|
+
private scrollTargetIntoDialogView;
|
|
210
|
+
private updateKeyboardHeight;
|
|
211
|
+
private canProcessKeyboardAction;
|
|
212
|
+
insert(character: string): void;
|
|
213
|
+
backspace(): void;
|
|
214
|
+
clear(): void;
|
|
215
|
+
close(option?: {
|
|
216
|
+
blurTarget?: boolean;
|
|
217
|
+
restoreAccessoryBar?: boolean;
|
|
218
|
+
keepBottomArea?: boolean;
|
|
219
|
+
}): void;
|
|
220
|
+
closeIfTargetInside(container: HTMLElement): void;
|
|
221
|
+
private updateTarget;
|
|
222
|
+
private isValidValue;
|
|
223
|
+
private moveCursorToEnd;
|
|
224
|
+
private readonly documentPointerDownHandler;
|
|
225
|
+
private readonly activeTargetBlurHandler;
|
|
226
|
+
private handleDocumentPointerDown;
|
|
227
|
+
private handleActiveTargetBlur;
|
|
228
|
+
private insertDateTimeDigit;
|
|
229
|
+
private removeDateTimeDigit;
|
|
230
|
+
private setCaret;
|
|
231
|
+
/** Number of digits left of the cursor; the end when the field has no usable selection. */
|
|
232
|
+
private digitsBeforeCaret;
|
|
233
|
+
private updateDateTimeTarget;
|
|
234
|
+
/** String position right after the given number of digits, separators included. */
|
|
235
|
+
private positionAfterDigits;
|
|
236
|
+
private formatDateDigits;
|
|
237
|
+
private formatTimeDigits;
|
|
238
|
+
beginPickerOverlay(): void;
|
|
239
|
+
endPickerOverlay(option?: {
|
|
240
|
+
suspendReopen?: boolean;
|
|
241
|
+
keepBottomArea?: boolean;
|
|
242
|
+
}): void;
|
|
243
|
+
/**
|
|
244
|
+
* A panel docked at the bottom (date or time picker) takes the keyboard's place: the same body
|
|
245
|
+
* class and height variable let the dialog end above it.
|
|
246
|
+
*/
|
|
247
|
+
reserveBottomArea(panel: HTMLElement | null): void;
|
|
248
|
+
releaseBottomArea(): void;
|
|
249
|
+
getActiveValue(type: CustomKeyboardType, targetName?: string): string | null;
|
|
250
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<CustomKeyboardService, never>;
|
|
251
|
+
static ɵprov: i0.ɵɵInjectableDeclaration<CustomKeyboardService>;
|
|
252
|
+
}
|
|
253
|
+
|
|
254
|
+
declare class DateTimePickerService {
|
|
255
|
+
private readonly keyboard;
|
|
256
|
+
/** On the devices the date picker docks at the bottom like a keyboard; in a browser it drops down. */
|
|
257
|
+
readonly isNativeMobile: boolean;
|
|
258
|
+
/** panelStyleClass of a date picker. */
|
|
259
|
+
readonly datePanelClass: string;
|
|
260
|
+
/** panelStyleClass of a time picker: compact and attached to its field everywhere. */
|
|
261
|
+
readonly timePanelClass = "model-datepicker-panel model-timepicker-panel";
|
|
262
|
+
/**
|
|
263
|
+
* The docked date picker runs without PrimeNG's open/close animation. The animation scales the
|
|
264
|
+
* wrapper around the panel, and a transformed wrapper becomes the reference of the panel's
|
|
265
|
+
* position: fixed - the docked calendar flew up next to its field while closing.
|
|
266
|
+
*/
|
|
267
|
+
readonly dockedMotion: {
|
|
268
|
+
disabled: boolean;
|
|
269
|
+
} | undefined;
|
|
270
|
+
private activePicker;
|
|
271
|
+
private activePickerRequest;
|
|
272
|
+
private pickerOpening;
|
|
273
|
+
private lockedPickerInput;
|
|
274
|
+
constructor(keyboard: CustomKeyboardService);
|
|
275
|
+
/** (onShow) of a picker. */
|
|
276
|
+
onShown(): void;
|
|
277
|
+
/** (onClose) of a picker; pass the picker so a late close of a replaced one is ignored. */
|
|
278
|
+
onClose(picker?: any): void;
|
|
279
|
+
/** (pointerdown) of the calendar or clock icon inside a .picker-field. */
|
|
280
|
+
openFromIcon(event: PointerEvent, picker: any): Promise<void>;
|
|
281
|
+
/** (click) of the icon. */
|
|
282
|
+
blockIconClick(event: MouseEvent): void;
|
|
283
|
+
/** (pointerdown) of the p-datepicker: a tap into its field while a picker is open. */
|
|
284
|
+
onFieldPointerDown(event: PointerEvent, picker: any): void;
|
|
285
|
+
/** (onFocus) of the p-datepicker. */
|
|
286
|
+
onFieldFocus(event: any): void;
|
|
287
|
+
/**
|
|
288
|
+
* For ngOnDestroy of a container: a picker can still be open when its dialog or page goes away.
|
|
289
|
+
* Without this the keyboard service keeps "picker open" and the reserved bottom area: no
|
|
290
|
+
* toolkit keyboard opens any more and the next dialog is cut short above an empty strip.
|
|
291
|
+
*/
|
|
292
|
+
closeIfWithin(container: HTMLElement): void;
|
|
293
|
+
/**
|
|
294
|
+
* A month has five or six week rows, so the docked calendar grew and shrank while paging
|
|
295
|
+
* through the months and its upper edge went up and down. It keeps the height of six rows.
|
|
296
|
+
*/
|
|
297
|
+
private keepSixWeekHeight;
|
|
298
|
+
/**
|
|
299
|
+
* Scrolls the dialog so the field sits right above the docked picker: the eye and the thumb
|
|
300
|
+
* move a short way from the value to the picker instead of across the whole screen.
|
|
301
|
+
*/
|
|
302
|
+
private scrollFieldAbovePicker;
|
|
303
|
+
private configureDateTimeInput;
|
|
304
|
+
private lockPickerInput;
|
|
305
|
+
private unlockPickerInput;
|
|
306
|
+
/**
|
|
307
|
+
* The pointerdown on the icon closes the toolkit keyboard and the layout below the finger can
|
|
308
|
+
* change. The click that follows lands wherever the finger is now - in the emulator it opened
|
|
309
|
+
* the autocomplete list of the field that had moved under it. A click that no longer hits the
|
|
310
|
+
* icon is dropped; one on the icon passes, so other lists still close on it.
|
|
311
|
+
*/
|
|
312
|
+
private swallowShiftedClick;
|
|
313
|
+
private closeActivePicker;
|
|
314
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<DateTimePickerService, never>;
|
|
315
|
+
static ɵprov: i0.ɵɵInjectableDeclaration<DateTimePickerService>;
|
|
316
|
+
}
|
|
317
|
+
|
|
191
318
|
declare class CardComponent {
|
|
192
319
|
private utilityService;
|
|
193
320
|
private platform;
|
|
@@ -199,6 +326,9 @@ declare class CardComponent {
|
|
|
199
326
|
private notificationService;
|
|
200
327
|
private oauthService;
|
|
201
328
|
private requestService;
|
|
329
|
+
/** Date and time picker behaviour shared by all containers. */
|
|
330
|
+
readonly picker: DateTimePickerService;
|
|
331
|
+
private readonly pickerHost;
|
|
202
332
|
/** Keep existing checkbox data objects usable; new objects use boolean. */
|
|
203
333
|
renderFieldType(type: string | undefined): string | undefined;
|
|
204
334
|
itemInfo: any;
|
|
@@ -291,7 +421,11 @@ declare class CardComponent {
|
|
|
291
421
|
static ɵcmp: i0.ɵɵComponentDeclaration<CardComponent, "vl-card", never, { "itemInfo": { "alias": "itemInfo"; "required": false; }; "currentPage": { "alias": "currentPage"; "required": false; }; "pageSize": { "alias": "pageSize"; "required": false; }; "selectedLanguageInfo": { "alias": "selectedLanguageInfo"; "required": false; }; "mobileDisplay": { "alias": "mobileDisplay"; "required": false; }; "scrollPagination": { "alias": "scrollPagination"; "required": false; }; "pages": { "alias": "pages"; "required": false; }; "paginationMode": { "alias": "paginationMode"; "required": false; }; "paginationLoading": { "alias": "paginationLoading"; "required": false; }; }, { "cardButtonClick": "cardButtonClick"; "cardHeaderButtonClick": "cardHeaderButtonClick"; "linkDetails": "linkDetails"; "imageDetails": "imageDetails"; "onPageSizeChange": "onPageSizeChange"; "onPageChange": "onPageChange"; "cardDataChange": "cardDataChange"; }, never, never, true, never>;
|
|
292
422
|
}
|
|
293
423
|
|
|
294
|
-
declare class FormComponent implements OnInit, OnChanges, AfterViewInit {
|
|
424
|
+
declare class FormComponent implements OnInit, OnChanges, AfterViewInit, OnDestroy {
|
|
425
|
+
/** Date and time picker behaviour shared by all containers. */
|
|
426
|
+
readonly picker: DateTimePickerService;
|
|
427
|
+
private readonly host;
|
|
428
|
+
ngOnDestroy(): void;
|
|
295
429
|
/** Keep existing checkbox data objects usable; new objects use boolean. */
|
|
296
430
|
renderFieldType(type: string | undefined): string | undefined;
|
|
297
431
|
customEmailPattern: string;
|
|
@@ -324,16 +458,9 @@ declare class FormComponent implements OnInit, OnChanges, AfterViewInit {
|
|
|
324
458
|
setValidations(): void;
|
|
325
459
|
matchData: any;
|
|
326
460
|
getLabel(formField: any): any;
|
|
327
|
-
onPickerContainerPointerDown(event: any, datePicker: any): void;
|
|
328
|
-
onPickerInputFocus(event: any, datePicker: any): void;
|
|
329
|
-
openPickerFromIcon(event: any, datePicker: any): void;
|
|
330
|
-
onPickerShown(): void;
|
|
331
|
-
onPickerClose(): void;
|
|
332
461
|
dateChangeEvent(formField: any, event: any): void;
|
|
333
462
|
onDateTyping(event: any): void;
|
|
334
463
|
onTimeTyping(event: any): void;
|
|
335
|
-
onTimePanelShow(formField: any): void;
|
|
336
|
-
blockPickerIconClick(event: any): void;
|
|
337
464
|
timeChangeEvent(formField: any, event: any): void;
|
|
338
465
|
autocompChangeEvent(event: any, formfield: any): void;
|
|
339
466
|
autocompFocusOutEvent(event: any, formfield: any): void;
|
|
@@ -345,11 +472,15 @@ interface GridColumnFilterState {
|
|
|
345
472
|
operator: string;
|
|
346
473
|
value: string;
|
|
347
474
|
}
|
|
348
|
-
declare class GridComponent implements AfterViewInit {
|
|
475
|
+
declare class GridComponent implements AfterViewInit, OnDestroy {
|
|
349
476
|
private requestService;
|
|
350
477
|
private utilityService;
|
|
351
478
|
private notificationService;
|
|
352
479
|
private oktaAuthService;
|
|
480
|
+
/** Date and time picker behaviour shared by all containers. */
|
|
481
|
+
readonly picker: DateTimePickerService;
|
|
482
|
+
private readonly host;
|
|
483
|
+
ngOnDestroy(): void;
|
|
353
484
|
/** New data objects use boolean; older projects may still use checkbox. */
|
|
354
485
|
isLegacyCheckboxFieldType(type: string | undefined): boolean;
|
|
355
486
|
isLogined: boolean;
|
|
@@ -479,69 +610,20 @@ declare class LogsComponent {
|
|
|
479
610
|
static ɵcmp: i0.ɵɵComponentDeclaration<LogsComponent, "vl-logs", never, {}, {}, never, never, true, never>;
|
|
480
611
|
}
|
|
481
612
|
|
|
482
|
-
|
|
483
|
-
declare function normalizeCustomKeyboardType(value: unknown): CustomKeyboardType | null;
|
|
484
|
-
|
|
485
|
-
type CustomKeyboardTarget = HTMLInputElement | HTMLTextAreaElement;
|
|
486
|
-
interface CustomKeyboardSession {
|
|
487
|
-
target: CustomKeyboardTarget;
|
|
488
|
-
type: CustomKeyboardType;
|
|
489
|
-
originalReadOnly: boolean;
|
|
490
|
-
originalInputMode: string | null;
|
|
491
|
-
originalInputType: string | null;
|
|
492
|
-
}
|
|
493
|
-
declare class CustomKeyboardService {
|
|
494
|
-
private openingSuspendedUntil;
|
|
495
|
-
private pickerOverlayOpen;
|
|
496
|
-
private pickerTriggerPressedUntil;
|
|
497
|
-
readonly interactionBlocked: i0.WritableSignal<boolean>;
|
|
498
|
-
private interactionUnlockTimer;
|
|
499
|
-
readonly activeSession: i0.WritableSignal<CustomKeyboardSession | null>;
|
|
500
|
-
isNativeMobile(): boolean;
|
|
501
|
-
open(target: CustomKeyboardTarget, type: CustomKeyboardType): Promise<void>;
|
|
502
|
-
private blockInitialInteraction;
|
|
503
|
-
private scrollTargetIntoDialogView;
|
|
504
|
-
private updateKeyboardHeight;
|
|
505
|
-
private canProcessKeyboardAction;
|
|
506
|
-
insert(character: string): void;
|
|
507
|
-
backspace(): void;
|
|
508
|
-
clear(): void;
|
|
509
|
-
close(option?: {
|
|
510
|
-
blurTarget?: boolean;
|
|
511
|
-
restoreAccessoryBar?: boolean;
|
|
512
|
-
}): void;
|
|
513
|
-
closeIfTargetInside(container: HTMLElement): void;
|
|
514
|
-
private updateTarget;
|
|
515
|
-
private isValidValue;
|
|
516
|
-
private moveCursorToEnd;
|
|
517
|
-
private readonly documentPointerDownHandler;
|
|
518
|
-
private readonly activeTargetBlurHandler;
|
|
519
|
-
private handleDocumentPointerDown;
|
|
520
|
-
private handleActiveTargetBlur;
|
|
521
|
-
private insertDateTimeDigit;
|
|
522
|
-
private formatDateDigits;
|
|
523
|
-
private formatTimeDigits;
|
|
524
|
-
private removeDateTimeDigit;
|
|
525
|
-
beginPickerOverlay(): void;
|
|
526
|
-
endPickerOverlay(): void;
|
|
527
|
-
getActiveValue(type: CustomKeyboardType, targetName?: string): string | null;
|
|
528
|
-
static ɵfac: i0.ɵɵFactoryDeclaration<CustomKeyboardService, never>;
|
|
529
|
-
static ɵprov: i0.ɵɵInjectableDeclaration<CustomKeyboardService>;
|
|
530
|
-
}
|
|
531
|
-
|
|
532
|
-
declare class ModelComponent implements OnChanges {
|
|
613
|
+
declare class ModelComponent implements OnChanges, OnDestroy {
|
|
533
614
|
private cdr;
|
|
534
615
|
private readonly dialogRef;
|
|
535
616
|
private readonly dialogConfig;
|
|
536
617
|
private utilityService;
|
|
537
|
-
private readonly customKeyboardService;
|
|
538
618
|
/** Keep existing checkbox data objects usable; new objects use boolean. */
|
|
539
619
|
renderFieldType(type: string | undefined): string | undefined;
|
|
540
|
-
|
|
620
|
+
/** Date and time picker behaviour shared by all containers. */
|
|
621
|
+
readonly picker: DateTimePickerService;
|
|
622
|
+
private readonly host;
|
|
623
|
+
/** The toolkit keyboard for a field, from option.keyboardType or the attribute type. */
|
|
624
|
+
keyboardTypeFor(formField: any): CustomKeyboardType | null;
|
|
541
625
|
matchData: any[];
|
|
542
626
|
date2: Date | undefined;
|
|
543
|
-
private pickerOpening;
|
|
544
|
-
private lockedPickerInput;
|
|
545
627
|
errorMessages: any;
|
|
546
628
|
modalItemInfo: any;
|
|
547
629
|
selectedLanguageInfo: any;
|
|
@@ -550,8 +632,9 @@ declare class ModelComponent implements OnChanges {
|
|
|
550
632
|
copyLayoutSchema: any;
|
|
551
633
|
isLoading: boolean;
|
|
552
634
|
projectLanguage: any;
|
|
553
|
-
constructor(cdr: ChangeDetectorRef, dialogRef: DynamicDialogRef, dialogConfig: DynamicDialogConfig, utilityService: UtilityService
|
|
635
|
+
constructor(cdr: ChangeDetectorRef, dialogRef: DynamicDialogRef, dialogConfig: DynamicDialogConfig, utilityService: UtilityService);
|
|
554
636
|
ngAfterViewInit(): void;
|
|
637
|
+
ngOnDestroy(): void;
|
|
555
638
|
ngOnChanges(changes: SimpleChanges): void;
|
|
556
639
|
private initializeDialogContent;
|
|
557
640
|
private updateDialogHeader;
|
|
@@ -602,16 +685,6 @@ declare class ModelComponent implements OnChanges {
|
|
|
602
685
|
invokeFormBtnClick(option: any, propertySchema: any, form: NgForm): void;
|
|
603
686
|
checkValidty(form: NgForm): boolean;
|
|
604
687
|
onCancel(): void;
|
|
605
|
-
onPickerShown(): void;
|
|
606
|
-
onPickerClose(): void;
|
|
607
|
-
openPickerFromIcon(event: PointerEvent, picker: any): Promise<void>;
|
|
608
|
-
onPickerInputFocus(event: any): void;
|
|
609
|
-
forceNumericKeyboard(event: any): void;
|
|
610
|
-
private configureDateTimeInput;
|
|
611
|
-
private lockPickerInput;
|
|
612
|
-
private unlockPickerInput;
|
|
613
|
-
blockPickerIconClick(event: MouseEvent): void;
|
|
614
|
-
onPickerContainerPointerDown(event: PointerEvent, picker: any): void;
|
|
615
688
|
static ɵfac: i0.ɵɵFactoryDeclaration<ModelComponent, never>;
|
|
616
689
|
static ɵcmp: i0.ɵɵComponentDeclaration<ModelComponent, "vl-model", never, { "errorMessages": { "alias": "errorMessages"; "required": false; }; "modalItemInfo": { "alias": "modalItemInfo"; "required": false; }; "selectedLanguageInfo": { "alias": "selectedLanguageInfo"; "required": false; }; "userInfo": { "alias": "userInfo"; "required": false; }; "setFormDataHandler": { "alias": "setFormDataHandler"; "required": false; }; }, {}, never, never, true, never>;
|
|
617
690
|
}
|
|
@@ -662,6 +735,13 @@ declare class MobileKeycloakService {
|
|
|
662
735
|
private tokens;
|
|
663
736
|
constructor(config: ConfigService, http: HttpClient, utilityService: UtilityService, platform: Platform);
|
|
664
737
|
login(): Promise<any>;
|
|
738
|
+
/** The configured scope plus offline_access, without duplicating it. */
|
|
739
|
+
private withOfflineAccess;
|
|
740
|
+
/**
|
|
741
|
+
* New tokens from the refresh token (grant_type=refresh_token). Returns them in the stored token
|
|
742
|
+
* shape, or null when Keycloak refuses - then the caller falls back to the login.
|
|
743
|
+
*/
|
|
744
|
+
refreshTokens(stored: MobileAuthTokens | any): Promise<any | null>;
|
|
665
745
|
getUserInfo(accessToken: any, issuer: any): Promise<any>;
|
|
666
746
|
getAccessToken(): string | null;
|
|
667
747
|
getRefreshToken(): string | null;
|
|
@@ -690,6 +770,8 @@ declare class SideMenuComponent implements AfterViewInit, OnChanges, OnDestroy {
|
|
|
690
770
|
menuItemsCopy: any[];
|
|
691
771
|
settingMenu: any;
|
|
692
772
|
setLanguage: boolean;
|
|
773
|
+
/** Translations of the last language change, for menu items that arrive after it. */
|
|
774
|
+
private lastMenuTranslations;
|
|
693
775
|
tenantKey: string;
|
|
694
776
|
scrollPagination: any;
|
|
695
777
|
private oktaAuthStateSubscription?;
|
|
@@ -851,6 +933,8 @@ declare class Textbox {
|
|
|
851
933
|
classes: any;
|
|
852
934
|
style: any;
|
|
853
935
|
};
|
|
936
|
+
/** The toolkit keyboard for this field, from option.keyboardType or the attribute type. */
|
|
937
|
+
keyboardTypeFor(formField: any): CustomKeyboardType | null;
|
|
854
938
|
getPlaceholder(formField: any): any;
|
|
855
939
|
static ɵfac: i0.ɵɵFactoryDeclaration<Textbox, never>;
|
|
856
940
|
static ɵcmp: i0.ɵɵComponentDeclaration<Textbox, "vl-textbox", never, { "formField": { "alias": "formField"; "required": false; }; "modalItemInfo": { "alias": "modalItemInfo"; "required": false; }; }, {}, never, never, true, never>;
|
|
@@ -880,13 +964,21 @@ declare class AppVersionResetService {
|
|
|
880
964
|
declare class CustomKeyboardComponent {
|
|
881
965
|
readonly keyboard: CustomKeyboardService;
|
|
882
966
|
readonly uppercase: i0.WritableSignal<boolean>;
|
|
883
|
-
|
|
884
|
-
|
|
967
|
+
/** true while the ?123 page is shown instead of the letters. */
|
|
968
|
+
readonly symbols: i0.WritableSignal<boolean>;
|
|
969
|
+
private readonly languageCode;
|
|
970
|
+
private readonly projectLayout;
|
|
971
|
+
constructor();
|
|
885
972
|
get keyboardType(): CustomKeyboardType | null;
|
|
973
|
+
/** The symbol page exists where free text is typed. */
|
|
974
|
+
get hasSymbolPage(): boolean;
|
|
886
975
|
get rows(): string[][];
|
|
976
|
+
/** ß has no single-letter capital in common use ("SS"), so it keeps its form. */
|
|
977
|
+
private toUpper;
|
|
887
978
|
enterKey(key: string): void;
|
|
888
979
|
enterSpace(): void;
|
|
889
980
|
toggleCase(): void;
|
|
981
|
+
toggleSymbols(): void;
|
|
890
982
|
static ɵfac: i0.ɵɵFactoryDeclaration<CustomKeyboardComponent, never>;
|
|
891
983
|
static ɵcmp: i0.ɵɵComponentDeclaration<CustomKeyboardComponent, "vl-custom-keyboard", never, {}, {}, never, never, true, never>;
|
|
892
984
|
}
|
|
@@ -905,5 +997,5 @@ declare class CustomKeyboardDirective implements OnDestroy {
|
|
|
905
997
|
static ɵdir: i0.ɵɵDirectiveDeclaration<CustomKeyboardDirective, "[vlCustomKeyboard]", never, { "keyboardType": { "alias": "vlCustomKeyboard"; "required": false; }; }, {}, never, never, true, never>;
|
|
906
998
|
}
|
|
907
999
|
|
|
908
|
-
export { AppVersionResetService, CardComponent, ConfigService, Couchdb, CustomKeyboardComponent, CustomKeyboardDirective, CustomKeyboardService, FormComponent, GridComponent, HeaderMenuComponent, LogsComponent, MobileKeycloakService, ModelComponent, NetworkLogService, NotificationService, PaginationComponent, RequestService, SideMenuComponent, UtilityService, ViewToolkitModule, normalizeCustomKeyboardType };
|
|
1000
|
+
export { AppVersionResetService, CardComponent, ConfigService, Couchdb, CustomKeyboardComponent, CustomKeyboardDirective, CustomKeyboardService, FormComponent, GridComponent, HeaderMenuComponent, LogsComponent, MobileKeycloakService, ModelComponent, NetworkLogService, NotificationService, PaginationComponent, RequestService, SideMenuComponent, UtilityService, ViewToolkitModule, normalizeCustomKeyboardType, resolveCustomKeyboardType };
|
|
909
1001
|
export type { CustomKeyboardTarget, CustomKeyboardType, MobileAuthTokens };
|