@apia/execution 4.0.18 → 4.0.20

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/index.d.ts CHANGED
@@ -1,10 +1,9 @@
1
1
  import { AxiosRequestConfig, AxiosResponse } from 'axios';
2
2
  import { IStringifyOptions } from 'qs';
3
- import { DeepReadonly, TApiaLoad, TApiaFunction, Mutex, TApiaLoadForm } from '@apia/util';
4
- import { TableController, Row, Cell, CellState } from '@apia/table2';
5
- import { TMessageType, ChatMessage, ScreenLocker, TModal, TOpenModal as TOpenModal$1, TDispatchedNotification } from '@apia/components';
6
- import * as _apia_api from '@apia/api';
7
- import * as _apia_notifications from '@apia/notifications';
3
+ import { TableController, Row, Cell, CellState } from '@apia/table2-controller';
4
+ import { DeepReadonly, EventEmitter as EventEmitter$1, TApiaLoad, TApiaFunction, Mutex, TApiaLoadForm } from '@apia/util';
5
+ import { MobXTree } from '@apia/tree2-controller';
6
+ import { ButtonProps } from 'theme-ui';
8
7
 
9
8
  type TApiaButtonDefinition = TApiaFieldBaseDefinition<TApiaButtonProperties> & {
10
9
  fieldType: 'button';
@@ -44,7 +43,7 @@ type TApiaInputDefinition = TApiaFieldWithAttributeBaseProps<TApiaInputPropertie
44
43
  qryId?: string;
45
44
  qry_show_value?: string;
46
45
  value: string | number;
47
- valueType?: 'D';
46
+ valueType?: 'D' | 'S' | 'N';
48
47
  };
49
48
 
50
49
  type TApiaLinkDefinition = TApiaFieldBaseDefinition<TApiaLinkProperties> & {
@@ -72,6 +71,7 @@ type TApiaSelectDefinition = TApiaFieldWithAttributeBaseProps<TApiaSelectPropert
72
71
 
73
72
  type TApiaLabelDefinition = TApiaFieldBaseDefinition<TApiaLabelProperties> & {
74
73
  fieldType: 'label';
74
+ value: string;
75
75
  };
76
76
 
77
77
  type TApiaTextAreaDefinition = TApiaFieldWithAttributeBaseProps<TApiaTextareaProperties> & {
@@ -90,14 +90,17 @@ type TApiaEditorDefinition = TApiaFieldWithAttributeBaseProps<TApiaEditorPropert
90
90
  };
91
91
 
92
92
  interface IApiaDataGridColumn {
93
+ dataType: 'S' | 'N' | 'D';
93
94
  fldId: string;
95
+ fldType: string;
96
+ hasQuery: boolean;
94
97
  title: string;
95
98
  colTitle: string;
96
99
  colWidth: string;
97
100
  }
98
101
  type TApiaGridField = TApiaFieldBaseDefinition<any> & {
99
- fieldValue: Pick<TApiaFieldWithAttributeBaseProps<any>, 'value' | 'properties'>;
100
- row: Pick<TApiaFieldWithAttributeBaseProps<any>, 'value' | 'properties'> & Pick<TApiaSelectProperties, 'possibleValue'>;
102
+ fieldValue?: Pick<TApiaFieldWithAttributeBaseProps<any>, 'value' | 'properties' | 'qry_show_value'>;
103
+ row?: Pick<TApiaFieldWithAttributeBaseProps<any>, 'value' | 'properties'> & Pick<TApiaSelectProperties, 'possibleValue'>;
101
104
  };
102
105
  type TApiaGridDefinition = TApiaFieldBaseDefinition<TApiaGridProperties> & {
103
106
  curPage?: number;
@@ -109,6 +112,7 @@ type TApiaGridDefinition = TApiaFieldBaseDefinition<TApiaGridProperties> & {
109
112
  pages?: number;
110
113
  rowCount?: number;
111
114
  startIndex?: number;
115
+ hideMaximizeButton?: boolean;
112
116
  };
113
117
 
114
118
  type TApiaPasswordDefinition = TApiaFieldWithAttributeBaseProps<TApiaPasswordProperties> & {
@@ -167,6 +171,7 @@ type TApiaFieldWithAttributeBaseProps<T extends Record<any, any>> = TApiaFieldBa
167
171
  attId: string;
168
172
  attName: string;
169
173
  attLabel: string;
174
+ qry_show_value?: any;
170
175
  value: any;
171
176
  valueType: TApiaFieldValueType;
172
177
  trad?: string;
@@ -253,6 +258,7 @@ type TApiaFileProperties = TApiaFieldCommonProperties & TApiaGroupableFieldPrope
253
258
  allowEdition?: boolean;
254
259
  docType?: string;
255
260
  documentMonitorCus?: number;
261
+ fileRootFolder?: string;
256
262
  fileCollapseFldStrc?: boolean;
257
263
  fileCollapseMetadata?: boolean;
258
264
  fileCollapsePermission?: boolean;
@@ -267,6 +273,7 @@ type TApiaFileProperties = TApiaFieldCommonProperties & TApiaGroupableFieldPrope
267
273
  fileShwFoldTreeStr?: boolean;
268
274
  hideDocDownload?: boolean;
269
275
  hideDocMetadata?: boolean;
276
+ hideDocPermissions?: boolean;
270
277
  hideSignButtons?: boolean;
271
278
  noLock?: boolean;
272
279
  noErase?: boolean;
@@ -284,6 +291,7 @@ type TApiaGridProperties = TApiaFieldCommonProperties & {
284
291
  gridTitle?: string;
285
292
  hideAddButton?: boolean;
286
293
  hideDelButton?: boolean;
294
+ hideDocInfoButton?: boolean;
287
295
  hideDocMetadata?: boolean;
288
296
  hideDocPermissions?: boolean;
289
297
  hideGridButtons?: boolean;
@@ -293,6 +301,7 @@ type TApiaGridProperties = TApiaFieldCommonProperties & {
293
301
  maxRecords?: number;
294
302
  paged?: boolean;
295
303
  pagedGridSize?: number;
304
+ hideMaximizeButton: boolean;
296
305
  };
297
306
  type TApiaHiddenProperties = TApiaFieldCommonProperties & TApiaGroupableFieldProperties & TApiaFieldWithAttributeProperties & {};
298
307
  type TApiaImageProperties = TApiaFieldCommonProperties & TApiaGroupableFieldProperties & {
@@ -306,9 +315,11 @@ type TApiaInputProperties = TApiaFieldCommonProperties & TApiaTranslatableFieldP
306
315
  inputType?: string;
307
316
  storeMdlQryResult?: boolean;
308
317
  };
318
+ type TApiaSchedulerProperties = TApiaFieldCommonProperties & TApiaValuatedFieldProperties & TApiaGroupableFieldProperties & {
319
+ a: string;
320
+ };
309
321
  type TApiaLabelProperties = TApiaFieldCommonProperties & TApiaValuatedFieldProperties & TApiaGroupableFieldProperties & {
310
322
  underlined?: boolean;
311
- value?: unknown;
312
323
  };
313
324
  type TApiaLinkProperties = TApiaFieldCommonProperties & TApiaValuatedFieldProperties & TApiaGroupableFieldProperties & {
314
325
  url?: string;
@@ -322,12 +333,12 @@ type TApiaPasswordProperties = TApiaFieldCommonProperties & TApiaGroupableFieldP
322
333
  };
323
334
  type RadioPossibleValue = {
324
335
  value: string | number;
325
- text: string;
336
+ label: string;
326
337
  selected?: boolean;
327
338
  };
328
339
  type SelectPossibleValue = {
329
340
  value: string | number;
330
- text: string;
341
+ label: string;
331
342
  selected?: boolean;
332
343
  };
333
344
  type TApiaRadioProperties = TApiaFieldCommonProperties & TApiaGroupableFieldProperties & TApiaFieldWithAttributeProperties & {
@@ -337,7 +348,7 @@ type TApiaRadioProperties = TApiaFieldCommonProperties & TApiaGroupableFieldProp
337
348
  title?: string;
338
349
  };
339
350
  type TApiaSelectProperties = TApiaFieldCommonProperties & TApiaGroupableFieldProperties & TApiaFieldWithAttributeProperties & TApiaFieldSizableFieldProperties & {
340
- possibleValue?: SelectPossibleValue | SelectPossibleValue[];
351
+ possibleValue?: SelectPossibleValue[];
341
352
  autoFocus?: string;
342
353
  placeHolder?: string;
343
354
  autoComplete?: string;
@@ -361,8 +372,9 @@ type TApiaTreeProperties = TApiaFieldCommonProperties & TApiaFieldWithAttributeP
361
372
  };
362
373
 
363
374
  interface TApiaMessage {
364
- text: string;
365
375
  label?: string;
376
+ title: string;
377
+ text: string;
366
378
  }
367
379
  type ResponseSysMessages = {
368
380
  sysMessages?: {
@@ -389,155 +401,6 @@ interface IApiaApiPostConfig<DataType> extends IApiaApiRequestConfig {
389
401
  postDataTreatment?: 'stringify';
390
402
  }
391
403
 
392
- declare global {
393
- interface Window {
394
- [key: string]: string;
395
- }
396
- }
397
- declare function isJsonResponse(response: AxiosResponse<unknown>): RegExpMatchArray | null;
398
- declare function isXmlResponse(response: AxiosResponse<unknown>): RegExpMatchArray | null;
399
- declare function isHtmlResponse(response: AxiosResponse<unknown>): RegExpMatchArray | null;
400
- declare class InvalidSessionException extends Error {
401
- }
402
- declare const parseSuccessfulResponse: <LoadType extends Record<string, unknown>>(response: AxiosResponse<string>) => Promise<(ResponseSysMessages & LoadType & {
403
- onClose?: string;
404
- code?: unknown;
405
- load?: LoadType | undefined;
406
- }) | ({
407
- actions: unknown;
408
- onClose: string | undefined;
409
- exceptions: {
410
- exception: TApiaMessage | TApiaMessage[];
411
- } | undefined;
412
- sysExceptions: {
413
- exception: TApiaMessage | TApiaMessage[];
414
- } | undefined;
415
- sysMessages: {
416
- message: TApiaMessage | TApiaMessage[];
417
- } | undefined;
418
- } & LoadType) | null>;
419
- /**
420
- * IMPORTANT!! The ApiaApi is programmed under the slogan that
421
- * **should never throw an exception**. **Errors** coming from
422
- * connectivity or exceptions on the server **will be handled
423
- * automatically** by ApiaApi, using the notification system
424
- * of the application. It is possible to determine in what context they should
425
- * be thrown those exceptions (global, main, modal) using the
426
- * alertsCategory configuration properties **(see errorsHandling.md)**.
427
- *
428
- * @param url String, the url you want to call
429
- * @param config interface IApiaApiRequestConfig<DataType>;
430
- *
431
- * @throws Nothing
432
- *
433
- * @example
434
- *
435
- * ApiaApi.post<ResponseType>('url...', {
436
- axiosConfig?: AxiosRequestConfig;
437
-
438
- // Configuración de postData
439
- postData? unknown;
440
- postDataTreatement?: 'stringify' | undefined;
441
-
442
- // Configuración de queryString
443
- queryData?: string | Record<string, unknown>;
444
- stringifyOptions?: QueryString.IStringifyOptions;
445
-
446
- // Response validator,
447
- // If it returns true, everything continues correctly
448
- // If it returns false, the ApiaApi throws a standard error.
449
- // If it returns string, ApiaApi throws the error returned in the string.
450
- validateResponse?: (
451
- response: AxiosResponse<DataType | null>,
452
- ) => boolean | string;
453
-
454
- // Configuración de alertas
455
- alertsImportance?: TAlertImportance;
456
-
457
- // Configuración de ApiaApiHandler, falta documentar
458
- handleLoad?: boolean;
459
- eventsHandler?: IEventsHandler;
460
-
461
- // other configuration
462
- colors?: TColors;
463
- debug?: boolean;
464
- }
465
- * @returns The type of the return value depends on the type passed when calling the function. If there was an error it returns null.
466
- */
467
- declare function post<LoadType extends Record<string, unknown> = Record<string, unknown>, DataType = unknown, T = unknown>(actualUrl: string, behaveConfig?: IApiaApiPostConfig<DataType>): TApiaApiResult<LoadType>;
468
- /**
469
- * IMPORTANTE!! El ApiaApi está programado bajo la consigna de que
470
- * **no debe tirar núnca una excepción**. **Los errores** provenientes
471
- * de la conectividad o de excepciones en el servidor **serán manejados
472
- * automáticamente** por el ApiaApi utilizando el sistema de notificaciones
473
- * de la aplicación. Es posible determinar en qué contexto deben
474
- * ser lanzadas esas excepciones (global, main, modal) utilizando las
475
- * propiedades de configuración alertsCategory **(ver errorsHandling.md)**.
476
- *
477
- * @param url String, el url al que se desea llamar
478
- * @param config interface IApiaApiRequestConfig<DataType>;
479
- *
480
- * @throws Nothing
481
- *
482
- * @example
483
- *
484
- * ApiaApi.get<TipoDeRespuesta>('url...', {
485
- axiosConfig?: AxiosRequestConfig;
486
-
487
- // Configuración de queryString
488
- queryData?: string | Record<string, unknown>;
489
- stringifyOptions?: QueryString.IStringifyOptions;
490
-
491
- // Validador de respuesta,
492
- // Si devuelve true, todo sigue correctamente
493
- // Si devuelve false, el ApiaApi tira un error estándar.
494
- // Si devuelve string, el ApiaApi tira el error devuelto en el string.
495
- validateResponse?: (
496
- response: AxiosResponse<DataType | null>,
497
- ) => boolean | string;
498
-
499
- // Configuración de alertas
500
- alertsImportance?: TAlertImportance;
501
-
502
- // Configuración de ApiaApiHandler, falta documentar
503
- handleLoad?: boolean;
504
- eventsHandler?: IEventsHandler;
505
-
506
- // Otra configuración
507
- colors?: TColors;
508
- debug?: boolean;
509
- }
510
- * @returns El tipo del valor devuelto depende del tipo pasado al llamar a la función. Si hubo un error devuelve null
511
- */
512
- declare function get<LoadType extends Record<string, unknown> = Record<string, unknown>, T = unknown, D = unknown>(actualUrl: string, behaveConfig?: IApiaApiRequestConfig): TApiaApiResult<LoadType>;
513
- type MakeApiaUrlProps = {
514
- action?: string;
515
- ajaxUrl?: string;
516
- queryString?: string;
517
- stringifyOptions?: IStringifyOptions;
518
- tabId?: string | number;
519
- preventAsXmlParameter?: boolean;
520
- avoidTabId?: boolean;
521
- [key: string]: unknown;
522
- };
523
- /**
524
- * Creates an url based on the general requirements of Apia.
525
- * If the ajaxUrl property is not passed, it will use the
526
- * window.URL_REQUEST_AJAX. Its use is very simple, just pass the objects you
527
- * want to appear in the query string.
528
- *
529
- * @example makeApiaUrl({
530
- * ajaxUrl: 'the.endpoint.you.want',
531
- * queryString: 'an=existent&query=string',
532
- * action: 'theAction',
533
- * anotherProp: 15
534
- * })
535
- *
536
- * @returns the well formed url, in the example, the response url is:
537
- * /context/the.endpoint.you.want?an=existent&query=string&anotherProp=15&tabId=...&tokenId=...&action=theAction
538
- */
539
- declare function makeApiaUrl(props?: MakeApiaUrlProps): string;
540
-
541
404
  type TFormEventName = 'onLoad' | 'onSubmit' | 'onReload' | 'onBeforePrint' | 'onAfterPrint';
542
405
  type TFrmParent = 'E' | 'P';
543
406
  type TFormScriptEventParameters = {
@@ -553,8 +416,6 @@ type TFormScriptEvent = {
553
416
  };
554
417
  type TFormScriptEvents = TFormScriptEvent[];
555
418
  type TApiaFormProperties = {
556
- readOnly?: boolean;
557
- readonly?: boolean;
558
419
  frmHidden?: boolean;
559
420
  prpFrmClosed?: boolean;
560
421
  frmHighlight?: boolean;
@@ -643,6 +504,8 @@ declare const shallowEqual: Comparator$1<any>;
643
504
 
644
505
  type SetValueOptions = Partial<{
645
506
  comparator: Comparator$1<any>;
507
+ format: 'd/m/Y' | 'apia';
508
+ markAsDirty: boolean;
646
509
  synchronize: boolean;
647
510
  }>;
648
511
  type FireEventParameters = Record<string, unknown>;
@@ -718,9 +581,11 @@ type SetStateAction<S> = S | ((prevState: S) => S);
718
581
 
719
582
  declare class WithProperties<Props extends Record<string, any>> {
720
583
  properties: Props;
584
+ private parentGrid;
721
585
  constructor(initialState?: Props);
722
586
  getProperty<K extends keyof Props>(propName: K): Props[K];
723
587
  setProperty<K extends keyof Props>(propName: K, propValue: SetStateAction<Props[K]>): void;
588
+ setParentGrid(grid: Grid): this;
724
589
  }
725
590
 
726
591
  declare class Attribute {
@@ -736,7 +601,7 @@ declare abstract class FieldWithAttribute<FieldProps extends TApiaFieldWithAttri
736
601
  readonly attribute: Attribute;
737
602
  constructor({ attId, attName, attLabel, valueType, value, ...definition }: TApiaFieldWithAttributeBaseProps<FieldProps>);
738
603
  fireEvent(eventName: string): Promise<boolean>;
739
- protected getInitialValue({ value, }: TApiaFieldWithAttributeBaseProps<FieldProps>): ValueType;
604
+ protected getInitialValue({ value, }: TApiaFieldWithAttributeBaseProps<FieldProps>): Promise<ValueType>;
740
605
  getValidationState(): FieldValidationState;
741
606
  getValue(): ValueType;
742
607
  setValue(newValue: ValueType, options?: SetValueOptions): Promise<boolean>;
@@ -744,8 +609,11 @@ declare abstract class FieldWithAttribute<FieldProps extends TApiaFieldWithAttri
744
609
  protected getSynchronizeUrl(params?: Record<string, unknown>): string;
745
610
  protected processSynchronizeError(e: unknown): void;
746
611
  protected synchronize(newValue: ValueType): Promise<boolean>;
612
+ protected isValidValue(): boolean;
747
613
  validate(): Promise<boolean>;
614
+ setError(err: string): void;
748
615
  protected getServerEventParams(evtId: number, additionalParams?: Record<string, any>): MakeApiaUrlProps;
616
+ init(form: Form): Promise<void>;
749
617
  }
750
618
 
751
619
  type TCustomComponentState = {
@@ -756,10 +624,11 @@ type TCustomComponentState = {
756
624
  };
757
625
  declare class CustomComponent {
758
626
  #private;
627
+ execution: Execution;
759
628
  readonly definition: TCustomComponentDefinition;
760
629
  form: Form;
761
630
  private _state;
762
- constructor(definition: TCustomComponentDefinition);
631
+ constructor(execution: Execution, definition: TCustomComponentDefinition);
763
632
  get state(): DeepReadonly<TCustomComponentState>;
764
633
  getAdditional<T>(): DeepReadonly<T>;
765
634
  init(form: Form): Promise<void>;
@@ -779,6 +648,7 @@ declare class CustomComponent {
779
648
  }
780
649
 
781
650
  declare class Form extends WithProperties<TApiaFormProperties> {
651
+ execution: Execution;
782
652
  fields: TApiaFieldBaseDefinition<Record<string, any>>[];
783
653
  state: {
784
654
  isMarkedToSign: boolean;
@@ -794,7 +664,7 @@ declare class Form extends WithProperties<TApiaFormProperties> {
794
664
  protected fieldsByAttributeName: Map<string, FieldWithAttribute<Record<string, any>, any, TApiaFieldWithAttributeBaseProps<Record<string, any>>>>;
795
665
  protected fieldsGroups: Map<string, Grid>;
796
666
  definition: TApiaForm;
797
- constructor(definition: TApiaForm);
667
+ constructor(execution: Execution, definition: TApiaForm);
798
668
  get allFields(): Field<Record<string, any>, TApiaFieldBaseDefinition<Record<string, any>>, {
799
669
  definition: Omit<TApiaFieldBaseDefinition<Record<string, any>>, "properties">;
800
670
  }>[];
@@ -805,7 +675,7 @@ declare class Form extends WithProperties<TApiaFormProperties> {
805
675
  definition: Omit<TApiaFieldBaseDefinition<TApiaFieldCommonProperties>, "properties">;
806
676
  }> | Field<Record<string, any>, TApiaFieldBaseDefinition<Record<string, any>>, {
807
677
  definition: Omit<TApiaFieldBaseDefinition<Record<string, any>>, "properties">;
808
- }> | Field<TApiaFieldCommonProperties, TApiaFieldBaseDefinition<TApiaFieldCommonProperties>, {
678
+ }> | FieldWithAttribute<Record<string, any>, any, TApiaFieldWithAttributeBaseProps<Record<string, any>>> | Field<TApiaFieldCommonProperties, TApiaFieldBaseDefinition<TApiaFieldCommonProperties>, {
809
679
  definition: Omit<TApiaFieldBaseDefinition<TApiaFieldCommonProperties>, "properties">;
810
680
  }>[] | undefined;
811
681
  getFieldByAttributeId(attId: string | number, index?: number): Field<TApiaFieldCommonProperties, TApiaFieldBaseDefinition<TApiaFieldCommonProperties>, {
@@ -825,8 +695,7 @@ declare class Form extends WithProperties<TApiaFormProperties> {
825
695
  }> | Field<TApiaFieldCommonProperties, TApiaFieldBaseDefinition<TApiaFieldCommonProperties>, {
826
696
  definition: Omit<TApiaFieldBaseDefinition<TApiaFieldCommonProperties>, "properties">;
827
697
  }>[] | undefined;
828
- getFieldByName(name: string): Field | Field[] | undefined;
829
- getFieldByName(name: string, index: number): Field | undefined;
698
+ getFieldByName(name: string, index?: number): Field | Field[] | undefined;
830
699
  protected getHiddenFields(): Field<Record<string, any>, TApiaFieldBaseDefinition<Record<string, any>>, {
831
700
  definition: Omit<TApiaFieldBaseDefinition<Record<string, any>>, "properties">;
832
701
  }>[];
@@ -842,73 +711,9 @@ declare class Form extends WithProperties<TApiaFormProperties> {
842
711
  addFieldToRender(fldId: string, fldIndex?: number): void;
843
712
  markFieldAsRendered(fldId: string, fldIndex?: number): void;
844
713
  init(): Promise<void>;
845
- runEvent(eventType: TFormEventName): Promise<void>;
846
- validate(): Promise<true | Field>;
847
- }
848
-
849
- type TFncParams = {
850
- type: 'V' | 'P' | 'E';
851
- value?: string;
852
- attId?: string | number;
853
- };
854
- declare abstract class Field<FieldProps extends TApiaFieldCommonProperties = TApiaFieldCommonProperties, FieldDefinition extends TApiaFieldBaseDefinition<FieldProps> = TApiaFieldBaseDefinition<FieldProps>, State extends {
855
- definition: Omit<FieldDefinition, 'properties'>;
856
- } = {
857
- definition: Omit<FieldDefinition, 'properties'>;
858
- }> extends WithProperties<FieldProps> {
859
- #private;
860
- protected form: Form;
861
- definition: State['definition'];
862
- state: Omit<State, 'definition'> & {
863
- validation: FieldValidationState;
864
- };
865
- constructor({ properties, ...definition }: FieldDefinition);
866
714
  protected getScriptEventParams(fncParams: TFncParams[]): Promise<unknown[]>;
867
- protected getServerEventParams(evtId: number, additionalParams?: Record<string, any>): MakeApiaUrlProps;
868
- protected fireScriptEvent(eventName: string): Promise<boolean>;
869
- protected fireAjaxServerEvent(event: TFieldServerEvent, params?: FireEventParameters): Promise<boolean>;
870
- protected fireNoAjaxServerEvent(event: TFieldServerEvent, params?: FireEventParameters): Promise<boolean>;
871
- protected fireServerEvent(eventName: string, params?: FireEventParameters): Promise<boolean>;
872
- fireEvent(eventName: string, params?: FireEventParameters): Promise<boolean>;
873
- getForm(): Form;
874
- protected hasEventsOfType(eventName: string): TFieldScriptEvent | TFieldServerEvent | undefined;
875
- protected hasServerAjaxEventsOfType(eventName: string): TFieldServerEvent | undefined;
876
- protected hasServerNoAjaxEventsOfType(eventName: string): TFieldServerEvent | undefined;
877
- init(form: Form): Promise<void>;
878
- validate(): Promise<boolean | Field>;
879
- markAsRendered(): void;
880
- }
881
-
882
- type ButtonEvents = 'onClick';
883
- declare class Button extends Field<TApiaButtonProperties> {
884
- fireEvent(eventName: ButtonEvents): Promise<boolean>;
885
- }
886
-
887
- declare class Captcha extends Field<TApiaCaptchaProperties, TApiaFieldBaseDefinition<TApiaCaptchaProperties>, {
888
- definition: Omit<TApiaFieldBaseDefinition<TApiaCaptchaProperties>, 'properties'>;
889
- value: string;
890
- url: string;
891
- }> {
892
- private static emitter;
893
- static reload(): void;
894
- private id;
895
- private static confirmParams;
896
- static getConfirmParams(): Record<string, string>;
897
- constructor(definition: TApiaCaptchaProperties);
898
- init(form: Form): Promise<void>;
899
- private getCaptchaId;
900
- getUrl(): string;
901
- generateImgUrl(): void;
902
- generateVoiceUrl(): string;
903
- getId(): string;
904
- setValue(value: string): void;
905
- validate(): Promise<boolean>;
906
- }
907
-
908
- type CheckboxEvents = 'onClick';
909
- declare class Checkbox extends FieldWithAttribute<TApiaCheckboxProperties, boolean> {
910
- fireEvent(eventName: CheckboxEvents): Promise<boolean>;
911
- protected getInitialValue({ value, properties, }: TApiaFieldWithAttributeBaseProps<TApiaCheckboxProperties>): boolean;
715
+ fireScriptEvent(eventName: TFormEventName): Promise<boolean>;
716
+ validate(): Promise<true | Field>;
912
717
  }
913
718
 
914
719
  type TTranslationState = {
@@ -921,8 +726,9 @@ type TTranslationState = {
921
726
  };
922
727
 
923
728
  declare class Translation {
729
+ execution: Execution;
924
730
  state: TTranslationState;
925
- constructor(state: Pick<TTranslationState, 'id' | 'label' | 'isTranslated'>);
731
+ constructor(execution: Execution, state: Pick<TTranslationState, 'id' | 'label' | 'isTranslated'>);
926
732
  cancelTranslation(): void;
927
733
  readTranslations(url: string): Promise<void>;
928
734
  reset(): void;
@@ -954,10 +760,8 @@ declare abstract class TranslatableField<FieldProps extends TApiaTranslatableFie
954
760
  validate(): Promise<boolean>;
955
761
  }
956
762
 
957
- type EditorEvents = 'onChange';
958
- declare class Editor extends TranslatableField<TApiaEditorProperties, string> {
959
- fireEvent(eventName: EditorEvents): Promise<boolean>;
960
- }
763
+ type FieldConstructor = new (definition: any) => Field<any, any, any> | FieldWithAttribute<any, any, any> | TranslatableField<any, any, any>;
764
+ type FieldsMapping = Record<string, (definition: any) => FieldConstructor>;
961
765
 
962
766
  type NotificationIcon = string;
963
767
  type NotificationType = 'info' | 'error' | 'success' | 'warning';
@@ -983,36 +787,148 @@ declare abstract class Notification<State extends NotificationDefinition = Notif
983
787
  get type(): NotificationType | undefined;
984
788
  }
985
789
 
986
- /**
987
- * El comportamiento de esta función se explica por su
988
- * nombre.
989
- */
990
- declare function returnExactlyTheSame(defaultParameters: Record<string, unknown>): Record<string, unknown>;
991
- declare const parseFileDefinition: (fileDefinition: TFileUploaded | TUploaderFileInfo, isSignRequired: boolean) => TUploaderFileInfo;
992
- type TOnUploadProgress = (progress: number) => void;
993
- declare class UploaderApi {
994
- id: string;
995
- protected type: 'E' | 'P';
996
- modalConfig: TModalConfig;
997
- maxFiles: number;
998
- modalController: UploaderModalController | null;
999
- allowTranslations: boolean;
1000
- langs: Record<number, string> | undefined;
1001
- currentConfiguration: TUploaderLoadCurrentFunctionMessages | undefined;
1002
- docTypePermittedObjId: string | undefined;
1003
- state: UploaderState;
1004
- get filesArray(): TUploaderFileInfo[];
1005
- constructor(id: string, type: 'E' | 'P', modalConfig: TModalConfig);
1006
- onInit(): Promise<void>;
1007
- onStartUpload(files?: File[]): Promise<void>;
1008
- onTranslateUpload(conf: {
1009
- langId: number;
1010
- translatingFile: TUploaderFileInfo;
1011
- }): Promise<void>;
1012
- onVersionUpload(file: TUploaderFileInfo, conf?: {
1013
- newFiles?: File[];
1014
- langId?: number;
1015
- translatingFile?: TUploaderFileInfo;
790
+ declare class Notifications {
791
+ execution: Execution;
792
+ private emitter;
793
+ constructor(execution: Execution);
794
+ protected notifications: Notification[];
795
+ add(notification: Notification): void;
796
+ closeTab(): void;
797
+ getAll(): Notification<NotificationDefinition>[];
798
+ getById(id: string | number): Notification<NotificationDefinition> | undefined;
799
+ remove(notification: string | number | Notification): void;
800
+ on: <K extends "closeTab" | "notification">(event: K, cb: Callback<{
801
+ closeTab: null;
802
+ notification: Notification;
803
+ }, K>) => UnSubscriber;
804
+ }
805
+
806
+ type TProcess = {
807
+ calendar: {
808
+ fixed: boolean;
809
+ label: string;
810
+ name: string;
811
+ options: {
812
+ label: string;
813
+ value: string;
814
+ selected: boolean;
815
+ }[];
816
+ toolTip: string;
817
+ value: string;
818
+ viewButton: {
819
+ label: string;
820
+ toolTip: string;
821
+ };
822
+ };
823
+ comments: {
824
+ currentComment: string;
825
+ addMarker: boolean;
826
+ markAll: boolean;
827
+ deleteMarker: boolean;
828
+ history: {
829
+ comment: string;
830
+ marked: boolean;
831
+ date: string;
832
+ user: string;
833
+ }[];
834
+ };
835
+ identifier: {
836
+ body: {
837
+ name: string;
838
+ required: boolean;
839
+ toolTip: string;
840
+ type: 'fixed' | 'custom';
841
+ value: string;
842
+ };
843
+ label: string;
844
+ prefix: {
845
+ label: string;
846
+ name: string;
847
+ toolTip: string;
848
+ type: 'fixed' | 'custom' | 'none';
849
+ value: string;
850
+ };
851
+ required: boolean;
852
+ suffix: {
853
+ label: string;
854
+ name: string;
855
+ toolTip: string;
856
+ type: 'fixed' | 'custom' | 'none';
857
+ value: string;
858
+ };
859
+ toolTip: string;
860
+ value: string;
861
+ };
862
+ priority: {
863
+ disabled: boolean;
864
+ isMonitor: boolean;
865
+ label: string;
866
+ name: string;
867
+ options: {
868
+ label: string;
869
+ value: string;
870
+ selected: boolean;
871
+ }[];
872
+ toolTip: string;
873
+ value: string;
874
+ };
875
+ process: {
876
+ label: string;
877
+ toolTip: string;
878
+ value: string;
879
+ };
880
+ processAction: {
881
+ label: string;
882
+ toolTip: string;
883
+ value: string;
884
+ };
885
+ separator: string;
886
+ status?: {
887
+ label: string;
888
+ toolTip: string;
889
+ value: string;
890
+ };
891
+ title: string;
892
+ user: {
893
+ label: string;
894
+ toolTIp: string;
895
+ value: string;
896
+ };
897
+ };
898
+
899
+ /**
900
+ * El comportamiento de esta función se explica por su
901
+ * nombre.
902
+ */
903
+ declare function returnExactlyTheSame(defaultParameters: Record<string, unknown>): Record<string, unknown>;
904
+ declare const parseFileDefinition: (execution: Execution, fileDefinition: TFileUploaded | TUploaderFileInfo, isSignRequired: boolean) => TUploaderFileInfo;
905
+ type TOnUploadProgress = (progress: number) => void;
906
+ declare class UploaderApi extends EventEmitter$1<{
907
+ fileUploaded: null;
908
+ }> {
909
+ execution: Execution;
910
+ id: string;
911
+ type: 'E' | 'P';
912
+ modalConfig: TModalConfig;
913
+ maxFiles: number;
914
+ modalController: UploaderModalController | null;
915
+ allowTranslations: boolean;
916
+ langs: Record<number, string> | undefined;
917
+ currentConfiguration: TUploaderLoadCurrentFunctionMessages | undefined;
918
+ docTypePermittedObjId: string | undefined;
919
+ state: UploaderState;
920
+ get filesArray(): TUploaderFileInfo[];
921
+ constructor(execution: Execution, id: string, type: 'E' | 'P', modalConfig: TModalConfig);
922
+ init(): Promise<void>;
923
+ onStartUpload(files?: File[]): Promise<void>;
924
+ onTranslateUpload(conf: {
925
+ langId: number;
926
+ translatingFile: TUploaderFileInfo;
927
+ }): Promise<void>;
928
+ onVersionUpload(file: TUploaderFileInfo, conf?: {
929
+ newFiles?: File[];
930
+ langId?: number;
931
+ translatingFile?: TUploaderFileInfo;
1016
932
  }): Promise<void>;
1017
933
  autoLock(): Promise<boolean>;
1018
934
  notify(notification: NotificationDefinition): void;
@@ -1056,7 +972,7 @@ declare class UploaderApi {
1056
972
  docHistory: TDocumentDownloadHistory | TDocumentDownloadHistory[];
1057
973
  };
1058
974
  };
1059
- } & _apia_notifications.TNotificationMessage) | null>;
975
+ } & ResponseSysMessages) | null>;
1060
976
  /**
1061
977
  * This method searches for the provided id in several places:
1062
978
  *
@@ -1078,9 +994,9 @@ declare class UploaderApi {
1078
994
  }>, additionalProps?: Record<string, unknown>): Promise<void>;
1079
995
  saveDroppedFiles(unprocessedFiles: File[], conf?: TSaveDroppedFilesConf): Promise<void>;
1080
996
  checkWebDavLock(docId: string): Promise<unknown>;
1081
- checkSignature(file: TUploaderFileInfo): Promise<_apia_api.TApiaApiAxiosResponse<({
997
+ checkSignature(file: TUploaderFileInfo): Promise<TApiaApiAxiosResponse<({
1082
998
  markedToSign: boolean;
1083
- } & _apia_notifications.TNotificationMessage) | null> | null>;
999
+ } & ResponseSysMessages) | null> | null>;
1084
1000
  editDocument(id: string): Promise<void>;
1085
1001
  downloadDocument(id: string, version?: string): Promise<void>;
1086
1002
  ajaxDeleteDocument(id: string, langId?: number): Promise<void>;
@@ -1300,6 +1216,7 @@ type TDocumentMetadata = {
1300
1216
  type: 'S' | 'N' | 'D';
1301
1217
  value: string;
1302
1218
  errorMessage: string;
1219
+ labelErrorMessage: string;
1303
1220
  };
1304
1221
  type TModalConfig = {
1305
1222
  allowDocumentsMonitor: boolean;
@@ -1310,6 +1227,7 @@ type TModalConfig = {
1310
1227
  defaultDirectory?: number;
1311
1228
  monitorId?: number;
1312
1229
  oneClickUpload: boolean;
1230
+ rootFolder?: string;
1313
1231
  showDirectoriesStructure: boolean;
1314
1232
  showExpDate: boolean;
1315
1233
  showPermissions: boolean;
@@ -1436,10 +1354,11 @@ type TRequireOnlyOne<T, Keys extends keyof T = keyof T> = Pick<T, Exclude<keyof
1436
1354
  }[Keys];
1437
1355
 
1438
1356
  declare class FormsUploader extends UploaderApi {
1439
- protected type: 'E' | 'P';
1357
+ execution: Execution;
1358
+ type: 'E' | 'P';
1440
1359
  modalConfig: TModalConfig;
1441
- protected field: File$1;
1442
- constructor(type: 'E' | 'P', modalConfig: TModalConfig, field: File$1);
1360
+ private field;
1361
+ constructor(execution: Execution, type: 'E' | 'P', modalConfig: TModalConfig, field: File$1);
1443
1362
  isEditionMode: boolean | undefined;
1444
1363
  index(): number;
1445
1364
  elemId(): string;
@@ -1547,1460 +1466,1829 @@ declare class FormsUploader extends UploaderApi {
1547
1466
  saveDroppedFiles(unprocessedFiles: File[], conf?: TSaveDroppedFilesConf | undefined): Promise<void>;
1548
1467
  }
1549
1468
 
1550
- declare class File$1 extends TranslatableField<TApiaFileProperties> {
1551
- uploader: FormsUploader;
1552
- init(form: Form): Promise<void>;
1553
- validate(): Promise<boolean>;
1554
- setValue(_newValue: any, _options?: Partial<{
1555
- comparator: Comparator$1<any>;
1556
- synchronize: boolean;
1557
- }> | undefined): Promise<boolean>;
1469
+ declare class Process {
1470
+ execution: Execution;
1471
+ state: TProcess | null;
1472
+ uploader: UploaderApi;
1473
+ constructor(execution: Execution);
1474
+ get name(): string | undefined;
1475
+ private hasInited;
1476
+ init(): Promise<void>;
1477
+ getConfirmParams(): {
1478
+ cmbProPri: string | undefined;
1479
+ selCal: string | undefined;
1480
+ };
1481
+ setPriority(newPriority: string): void;
1558
1482
  }
1559
1483
 
1560
- type GridEvents = 'gridAdd' | 'gridDelete' | 'gridSort' | 'gridColumnSelect';
1561
- type GridColumn = {
1562
- fldId: string;
1563
- label: string;
1484
+ declare class Task {
1485
+ #private;
1486
+ constructor(task: any);
1487
+ setPriority(newPriority: string): void;
1488
+ get name(): string;
1489
+ }
1490
+
1491
+ type TEntity = {
1564
1492
  title: string;
1565
- width: string;
1493
+ readOnly: boolean;
1494
+ separator: string;
1495
+ associations: Associations[];
1496
+ date: {
1497
+ label: string;
1498
+ toolTip: string;
1499
+ value: string;
1500
+ };
1501
+ entityType: {
1502
+ label: string;
1503
+ toolTip: string;
1504
+ value: string;
1505
+ };
1506
+ identifier: {
1507
+ label: string;
1508
+ toolTip: string;
1509
+ value?: string;
1510
+ prefix?: {
1511
+ name: string;
1512
+ type: 'custom' | 'fixed' | 'none';
1513
+ label?: string;
1514
+ toolTip?: string;
1515
+ value?: string;
1516
+ };
1517
+ body: {
1518
+ type: 'autogenerated' | 'sameAsProcess';
1519
+ label: string;
1520
+ name?: string;
1521
+ toolTip?: string;
1522
+ value?: string;
1523
+ required?: false;
1524
+ } | {
1525
+ label: string;
1526
+ toolTip?: string;
1527
+ value?: string;
1528
+ type: 'custom';
1529
+ required: boolean;
1530
+ name: string;
1531
+ };
1532
+ suffix?: {
1533
+ name: string;
1534
+ type: 'custom' | 'fixed' | 'none';
1535
+ toolTip?: string;
1536
+ label?: string;
1537
+ value?: string;
1538
+ };
1539
+ };
1540
+ image: {
1541
+ label: string;
1542
+ toolTip: string;
1543
+ file: File | null;
1544
+ };
1545
+ status: {
1546
+ name: string;
1547
+ label: string;
1548
+ toolTip: string;
1549
+ type: 'fixex' | 'select' | 'none';
1550
+ value?: string;
1551
+ disabled?: boolean;
1552
+ options: {
1553
+ label: string;
1554
+ value: string;
1555
+ selected: boolean;
1556
+ }[];
1557
+ };
1558
+ user: {
1559
+ label: string;
1560
+ name: string;
1561
+ toolTip: string;
1562
+ };
1563
+ categories: TCategory[] | [];
1564
+ visibilities: PoolId[];
1566
1565
  };
1567
- type GridState = {
1568
- definition: Omit<TApiaFieldBaseDefinition<GridProps>, 'properties'>;
1569
- header: GridColumn[];
1570
- isLoading: boolean;
1571
- isMaximized: boolean;
1572
- showAdditionalColumn: boolean;
1566
+ type TCategory = {
1567
+ checked: boolean;
1568
+ envId: string;
1569
+ id: string;
1570
+ idFather: string;
1571
+ name: string;
1573
1572
  };
1574
- type GridDefinition = TApiaFieldBaseDefinition<GridProps>;
1575
- type FieldState = {
1576
- properties: any;
1577
- value?: any;
1573
+ type PoolId = {
1574
+ poolId: string;
1575
+ poolName: string;
1576
+ canUpdate: boolean;
1578
1577
  };
1579
- type FieldWithIndexedFieldsProps = TApiaFieldCommonProperties & {
1580
- currentPage: number;
1581
- maxRows: number;
1582
- pages: number;
1583
- pageSize: number;
1584
- paged: boolean;
1578
+ type Associations = {
1579
+ asocName: string;
1580
+ asocId: string;
1581
+ asocRelName: string;
1585
1582
  };
1586
- type GridProps = FieldWithIndexedFieldsProps & TApiaGridProperties & {
1587
- /**
1588
- * Mostrar u ocultar botones de eliminar específicos según fila
1589
- */
1590
- shownDeleteButtons: Map<string | number, boolean>;
1591
- /**
1592
- * Mostrar u ocultar botones de edición específicos según fila
1593
- */
1594
- shownEditionButtons: Map<string | number, boolean>;
1595
- };
1596
-
1597
- type GridEditionModal = {
1598
- close: () => unknown;
1599
- open: () => unknown;
1600
- };
1601
-
1602
- type GridFooterHandlerState = {
1603
- isSortUpDisabled: boolean;
1604
- isSortDownDisabled: boolean;
1605
- };
1606
- declare class GridFooterHandler {
1607
- #private;
1608
- private grid;
1609
- state: GridFooterHandlerState;
1610
- constructor(grid: Grid);
1611
- private init;
1612
- get showAddButton(): boolean;
1613
- get showDelButton(): boolean;
1614
- get showSortButtons(): boolean;
1615
- get isSortUpDisabled(): boolean;
1616
- get isSortDownDisabled(): boolean;
1617
- get isAddDisabled(): boolean;
1618
- get isDeleteDisabled(): boolean;
1619
- sortUp(): Promise<void>;
1620
- sortDown(): Promise<void>;
1621
- addRow(): Promise<void>;
1622
- deleteSelectedRows(): Promise<void>;
1623
- }
1624
-
1625
- declare class Grid extends Field<GridProps, GridDefinition, GridState> {
1626
- private rowId;
1627
- protected mutex: Mutex;
1628
- protected newRowStates: FieldState[][];
1629
- protected initialStates: FieldState[][];
1630
- protected fieldsDefinitions: Omit<TApiaFieldBaseDefinition<Record<string, any>>, 'properties'>[];
1631
- protected readonly managedAttIds: Set<string | number>;
1632
- protected readonly managedAttNames: Set<string>;
1633
- protected readonly managedFieldIds: Set<string | number>;
1634
- protected readonly managedFieldsNames: Set<string>;
1635
- protected _editionModalHandler: GridEditionModal | null;
1636
- protected readonly _footerController: GridFooterHandler;
1637
- protected readonly tableController: TableController;
1638
- get controller(): TableController;
1639
- get currentPage(): number;
1640
- get editionModalHandler(): GridEditionModal | null;
1641
- /**
1642
- * Returns the final index of the current page
1643
- */
1644
- get finalIndex(): number;
1645
- get footerController(): GridFooterHandler;
1646
- get header(): GridColumn[];
1647
- get isPaged(): boolean;
1648
- get length(): number;
1649
- get minIndex(): number;
1650
- get pageCount(): number;
1651
- get pageSize(): number;
1652
- get selectedIndices(): number[];
1653
- get selectedItems(): Field<TApiaFieldCommonProperties, TApiaFieldBaseDefinition<TApiaFieldCommonProperties>, {
1654
- definition: Omit<TApiaFieldBaseDefinition<TApiaFieldCommonProperties>, "properties">;
1655
- }>[][];
1656
- get startIndex(): number;
1657
- constructor({ properties, field, ...definition }: TApiaGridDefinition);
1658
- /**
1659
- * Grid methods
1660
- */
1661
- addRow(addRowsCount?: number): Promise<boolean>;
1662
- closeEditionModal(): void;
1663
- deleteAllRows(): Promise<boolean>;
1664
- /**
1665
- * @param index Si se pasa, se borran el o los índices provistos. Sino, se borran las filas seleccionadas, si es que hay alguna.
1666
- */
1667
- deleteRows(index?: number | number[]): Promise<boolean>;
1668
- fireScriptEvent(eventName: GridEvents): Promise<boolean>;
1669
- fireEvent(eventName: GridEvents, params?: FireEventParameters & {
1670
- mutex: boolean;
1671
- }): Promise<boolean>;
1672
- getAllColumns(): Field<TApiaFieldCommonProperties, TApiaFieldBaseDefinition<TApiaFieldCommonProperties>, {
1673
- definition: Omit<TApiaFieldBaseDefinition<TApiaFieldCommonProperties>, "properties">;
1674
- }>[][];
1675
- /**
1676
- * @param field - Nombre del campo o del atributo
1677
- */
1678
- getColumn(field: string): Field<TApiaFieldCommonProperties, TApiaFieldBaseDefinition<TApiaFieldCommonProperties>, {
1679
- definition: Omit<TApiaFieldBaseDefinition<TApiaFieldCommonProperties>, "properties">;
1680
- }> | Field<TApiaFieldCommonProperties, TApiaFieldBaseDefinition<TApiaFieldCommonProperties>, {
1681
- definition: Omit<TApiaFieldBaseDefinition<TApiaFieldCommonProperties>, "properties">;
1682
- }>[] | undefined;
1683
- getCurrentPage(): number;
1684
- /**
1685
- * @param field - Nombre del campo o del atributo
1686
- */
1687
- getField(field: string, index?: number): Field | Field[] | undefined;
1688
- getFieldByAttributeId(attId: string | number, index?: number): Field | Field[] | undefined;
1689
- getFieldByAttributeName(attName: string, index?: number): Field | Field[] | undefined;
1690
- getFieldById(id: string | number, index?: number): Field | Field[] | undefined;
1691
- getFieldByName(name: string, index?: number): Field | Field[] | undefined;
1692
- getRowByFieldIndex(index: number): Field<TApiaFieldCommonProperties, TApiaFieldBaseDefinition<TApiaFieldCommonProperties>, {
1693
- definition: Omit<TApiaFieldBaseDefinition<TApiaFieldCommonProperties>, "properties">;
1694
- }>[] | null;
1695
- getSelectedRows(): Field<TApiaFieldCommonProperties, TApiaFieldBaseDefinition<TApiaFieldCommonProperties>, {
1696
- definition: Omit<TApiaFieldBaseDefinition<TApiaFieldCommonProperties>, "properties">;
1697
- }>[][];
1698
- init(form: Form): Promise<void>;
1699
- openEditionModal(handler: GridEditionModal): void;
1700
- refresh(): Promise<boolean>;
1701
- sortColumn(fldId: string): Promise<boolean>;
1702
- sortDown(index?: number | number[]): Promise<boolean>;
1703
- sortUp(index?: number | number[]): Promise<boolean>;
1704
- toggleColumnVisibility(fieldName: string, isShown?: boolean): void;
1705
- toggleDeleteButton(rowIndex: number, isShown?: boolean): void;
1706
- toggleEditFormButton(rowIndex: number, isShown?: boolean): void;
1707
- validate(): Promise<true | Field>;
1708
- protected actualRefreshAction(): Promise<boolean>;
1709
- protected addRowFromDefinitions(definitions?: TApiaFieldBaseDefinition<Record<string, any>>[]): Promise<Row>;
1710
- protected asyncAction<T>(cb: () => Promise<T>, mutex?: boolean): Promise<T>;
1711
- protected calculateMustShowAdditionalColumn(): void;
1712
- protected getRow(index: number): Field<TApiaFieldCommonProperties, TApiaFieldBaseDefinition<TApiaFieldCommonProperties>, {
1713
- definition: Omit<TApiaFieldBaseDefinition<TApiaFieldCommonProperties>, "properties">;
1714
- }>[];
1715
- protected rebuildGrid(xmlString: string): Promise<void>;
1716
- protected runAction<T extends Record<string, any>>(behave: IApiaApiPostConfig<Record<string, any>>): Promise<TApiaApiAxiosResponse<(T & ResponseSysMessages) | null> | null>;
1717
- private swapRows;
1718
- toggleMaximize(): void;
1719
- }
1720
-
1721
- declare class GridPaginated extends Grid {
1722
- /**
1723
- * Returns the final index of the current page
1724
- */
1725
- get finalIndex(): number;
1726
- addRow(): Promise<boolean>;
1727
- deleteRows(index?: number | number[]): Promise<boolean>;
1728
- gotoPage(page: number): Promise<boolean>;
1729
- sortDown(index?: number | number[]): Promise<boolean>;
1730
- sortUp(index?: number | number[]): Promise<boolean>;
1731
- }
1732
-
1733
- declare class AdditionalCell extends Cell {
1734
- grid: Grid;
1735
- getIndex: () => number;
1736
- remove: () => unknown;
1737
- openEditionModal?: ((handler: GridEditionModal) => unknown) | undefined;
1738
- constructor(grid: Grid, getIndex: () => number, remove: () => unknown, openEditionModal?: ((handler: GridEditionModal) => unknown) | undefined);
1739
- get hasEditionModal(): boolean;
1740
- }
1741
-
1742
- declare class GridCell extends Cell {
1743
- getField(): Field;
1744
- }
1745
-
1746
- declare class HeaderCell extends Cell {
1747
- fireSelectionEvent: () => unknown;
1748
- constructor(state: CellState, fireSelectionEvent: () => unknown);
1749
- }
1750
-
1751
- declare class Hidden extends FieldWithAttribute<TApiaHiddenProperties> {
1752
- }
1753
1583
 
1754
- declare class Image extends Field<TApiaImageProperties> {
1584
+ declare class Entity {
1585
+ execution: Execution;
1586
+ state: TEntity | null;
1587
+ uploader: UploaderApi;
1588
+ controller: TableController;
1589
+ constructor(execution: Execution);
1590
+ get name(): string | undefined;
1591
+ private hasInited;
1592
+ init(): Promise<void>;
1593
+ getConfirmParams(): any;
1594
+ loadCategories: () => Promise<void>;
1595
+ loadPools: () => Promise<void>;
1596
+ loadAssociations: () => Promise<void>;
1597
+ private parseRows;
1598
+ deleteRow(): void;
1599
+ addRow(): void;
1755
1600
  }
1756
1601
 
1757
- type InputEvents$1 = 'onChange' | 'onModalReturn';
1758
- declare class Input<ValueType = any> extends TranslatableField<TApiaInputProperties, ValueType, TApiaInputDefinition> {
1759
- fireEvent(eventName: InputEvents$1): Promise<boolean>;
1760
- setValue(newValue: ValueType, options?: SetValueOptions): Promise<boolean>;
1761
- private validateRegex;
1762
- validate(): Promise<boolean>;
1763
- }
1602
+ type TObservations = {
1603
+ observations: TObservation[] | [];
1604
+ newObservation: {
1605
+ commentValue: string;
1606
+ chkAddAlert?: boolean;
1607
+ chkAddAllAlert?: boolean;
1608
+ chkRemAlert?: boolean;
1609
+ } | null;
1610
+ };
1611
+ type TObservation = {
1612
+ name: string;
1613
+ date: string;
1614
+ userTitle: string;
1615
+ groupTitle: string;
1616
+ taskTitle: string;
1617
+ userLabel: string;
1618
+ groupLabel: string;
1619
+ taskLabel: string;
1620
+ checked?: boolean;
1621
+ disabled?: boolean;
1622
+ marked?: boolean;
1623
+ comment: string;
1624
+ };
1764
1625
 
1765
- declare class Label extends Field<TApiaLabelProperties> {
1626
+ declare class Observations {
1627
+ execution: Execution;
1628
+ state: TObservations;
1629
+ constructor(execution: Execution);
1630
+ private hasInited;
1631
+ init(): Promise<void>;
1632
+ getConfirmParams(): {
1633
+ txtComment: string | undefined;
1634
+ chkAddAlert: string | undefined;
1635
+ chkAddAllAlert: string | undefined;
1636
+ chkRemAlert: string | undefined;
1637
+ };
1638
+ setPriority(newPriority: string): void;
1766
1639
  }
1767
1640
 
1768
- declare class Link extends Field<TApiaLinkProperties> {
1641
+ type ConfirmStep = 'CHECK_LOCK' | 'CONFIRM' | 'CHECK_SIGN' | 'CHECK_WIZARD' | 'SIGN';
1642
+ type Status = {
1643
+ step?: ConfirmStep;
1644
+ error?: string;
1645
+ finishedWithError?: boolean;
1646
+ };
1647
+ declare abstract class FlowModal<T extends {
1648
+ confirmed?: boolean;
1649
+ }> {
1650
+ abstract confirm(result: T): Promise<Status | FlowModal<any>>;
1769
1651
  }
1770
1652
 
1771
- type TApiaModalInputDefinition = TApiaFieldWithAttributeBaseProps<TApiaInputProperties> & {
1772
- alwaysShowMask?: boolean;
1773
- cantDecimals?: string;
1774
- decimalZeroes?: string;
1775
- fieldType: 'input';
1776
- isoDateValue?: string;
1777
- length?: number;
1778
- mask?: string;
1779
- maskPlaceholder?: string;
1780
- regExp?: string;
1781
- qryId?: string;
1782
- qry_show_value?: string;
1783
- value: {
1784
- showValue: string;
1785
- storeValue?: string;
1653
+ type TOnClose = 'clearEvalPath' | 'confirmOkOnClose' | 'confirmOkOnCloseSplash' | 'confirmOkOnSaveSplash' | 'releaseOkOnClose' | null;
1654
+ type TErrMessage = {
1655
+ message: {
1656
+ text: string;
1657
+ label?: string;
1786
1658
  };
1787
- valueType?: 'D';
1788
1659
  };
1789
-
1790
- type InputEvents = 'onChange' | 'onModalReturn';
1791
- type ModalInputValue = {
1792
- showValue: string;
1793
- storeValue?: string;
1660
+ type TFetchTaskActionResponse = {
1661
+ onClose?: TOnClose;
1662
+ sysMessages?: TErrMessage;
1663
+ sysExceptions?: TErrMessage;
1664
+ type?: string;
1665
+ actions?: {
1666
+ action: {
1667
+ param: string[];
1668
+ toDo: string;
1669
+ };
1670
+ };
1671
+ load?: {
1672
+ canClose: boolean;
1673
+ type: string;
1674
+ text: {
1675
+ label: string;
1676
+ closeAll: boolean;
1677
+ addClass?: string;
1678
+ title?: string;
1679
+ };
1680
+ };
1681
+ text?: {
1682
+ title?: string;
1683
+ label?: string;
1684
+ };
1794
1685
  };
1795
- declare class ModalInput extends FieldWithAttribute<TApiaInputProperties, ModalInputValue> {
1796
- constructor({ value, ...definition }: TApiaModalInputDefinition);
1797
- fireEvent(eventName: InputEvents): Promise<boolean>;
1798
- setValue(newValue: Required<ModalInputValue>, options?: Partial<{
1799
- comparator: Comparator$1<any>;
1800
- synchronize: boolean;
1801
- }> | undefined): Promise<boolean>;
1802
- setValueFromModalSelection(rowId: string): Promise<void>;
1803
- validate(): Promise<boolean>;
1804
- protected getSynchronizePostConfiguration(value: ModalInputValue): IApiaApiPostConfig<any>;
1805
- }
1806
1686
 
1807
- declare class Multiple extends FieldWithAttribute<TApiaMultipleProperties, Record<number, string>> {
1808
- constructor({ possibleValue, value, ...definition }: TApiaMultipleDefinition);
1809
- validate(): Promise<boolean>;
1687
+ declare enum ExecutionState {
1688
+ RUNNING = 0,
1689
+ LOADING = 1,
1690
+ FINISHED = 2,
1691
+ RENDERING = 3,
1692
+ CONFIRMING = 4
1810
1693
  }
1811
-
1812
- declare class Password extends FieldWithAttribute<TApiaPasswordProperties, string> {
1694
+ type TExecutionConfig = {
1695
+ canConfirm: boolean;
1696
+ canGoBack: boolean;
1697
+ canGoForward: boolean;
1698
+ canSave: boolean;
1699
+ canFree: boolean;
1700
+ canDelegate: boolean;
1701
+ canClose: boolean;
1702
+ canShare: boolean;
1703
+ isEntity?: boolean;
1704
+ };
1705
+ type TExecutionEnvironment = {
1706
+ fieldsMapping?: FieldsMapping;
1707
+ window: Window;
1708
+ document: Document;
1709
+ headers: any;
1710
+ };
1711
+ declare class Execution extends EventEmitter$1<{
1712
+ confirm: null;
1713
+ next: null;
1714
+ sendToDesktop: null;
1715
+ }> {
1716
+ environment: TExecutionEnvironment;
1717
+ fieldsMapping: FieldsMapping;
1718
+ private entity;
1719
+ private process;
1720
+ private observations;
1721
+ executionConfig: TExecutionConfig | null;
1722
+ private _steps;
1723
+ private _currentStep;
1724
+ private _stepCount;
1725
+ readonly notifications: Notifications;
1726
+ constructor(environment: TExecutionEnvironment);
1727
+ protected formsById: {
1728
+ E: Map<string, Form>;
1729
+ P: Map<string, Form>;
1730
+ };
1731
+ protected forms: {
1732
+ E: Map<string, Form>;
1733
+ P: Map<string, Form>;
1734
+ };
1735
+ state: {
1736
+ formsReady: ReturnType<Execution['getAllForms']>;
1737
+ executionState: ExecutionState;
1738
+ locked: boolean;
1739
+ hasChangedAnything: boolean;
1740
+ };
1741
+ getAllForms(): Form[];
1742
+ private hasInitializedFormsTabs;
1743
+ initializeFormsTabs(frmParent: TFrmParent, cb: () => unknown): void;
1744
+ getFormsByType(type: TFrmParent): Form[];
1745
+ getFormByName(formName: string, frmParent?: TFrmParent): Form | undefined;
1746
+ getFormById(formId: string | number, frmParent?: TFrmParent): Form | undefined;
1747
+ get currentStep(): number;
1748
+ get steps(): {
1749
+ title: string;
1750
+ stepNumber: number;
1751
+ status: "completed" | "pending" | "current";
1752
+ }[];
1753
+ getEntity(): Entity;
1754
+ getProcess(): Process;
1755
+ getObservations(): Observations;
1756
+ getCurrentTask(): Task;
1757
+ private mustRenderForms;
1758
+ run(executionConfig: TExecutionConfig): Promise<void>;
1759
+ protected getHiddenForms(): Form[];
1760
+ markFormAsRendered(frmParent: string, frmName: string): void;
1761
+ delegate(): Promise<void>;
1762
+ shareSocial(): Promise<void>;
1763
+ confirm(): void;
1764
+ next(): void;
1765
+ sendToDesktop(): void;
1766
+ doBack(): Promise<false | undefined>;
1767
+ doConfirm(status?: Status): Promise<boolean | FlowModal<any> | Field>;
1768
+ doFree(): Promise<TApiaApiAxiosResponse<(TFetchTaskActionResponse & ResponseSysMessages) | null> | null>;
1769
+ doNext(): Promise<boolean | Field<TApiaFieldCommonProperties, TApiaFieldBaseDefinition<TApiaFieldCommonProperties>, {
1770
+ definition: Omit<TApiaFieldBaseDefinition<TApiaFieldCommonProperties>, "properties">;
1771
+ }> | undefined>;
1772
+ doPrint(): Promise<void>;
1773
+ doSave(): Promise<TApiaApiAxiosResponse<(TFetchTaskActionResponse & ResponseSysMessages) | null> | undefined>;
1774
+ getStepTitle(step: number): {
1775
+ title: string;
1776
+ stepNumber: number;
1777
+ status: "completed" | "pending" | "current";
1778
+ } | undefined;
1779
+ viewDocs(): Promise<(Record<string, unknown> & ResponseSysMessages) | undefined>;
1780
+ setStepTitle(stepNumber: number, stepTitle: string): void;
1781
+ validate(): Promise<true | Field>;
1782
+ private fireEvents;
1813
1783
  }
1814
1784
 
1815
- type RadioEvents = 'onPopulate' | 'onChange' | 'onClick';
1816
- declare class Radio extends FieldWithAttribute<TApiaRadioProperties, number | string, TApiaRadioButtonDefinition> {
1817
- constructor({ possibleValue, ...definition }: TApiaRadioButtonDefinition);
1818
- init(form: Form): Promise<void>;
1819
- fireEvent(eventName: RadioEvents): Promise<boolean>;
1785
+ declare global {
1786
+ interface Window {
1787
+ [key: string]: string;
1788
+ }
1789
+ interface Document {
1790
+ headers: any;
1791
+ }
1820
1792
  }
1821
-
1822
- declare class Select extends FieldWithAttribute<TApiaSelectProperties, string, TApiaSelectDefinition> {
1823
- constructor({ possibleValue, ...definition }: TApiaSelectDefinition);
1824
- protected getInitialValue({ properties: { possibleValue }, value, }: TApiaFieldWithAttributeBaseProps<TApiaSelectProperties>): string;
1793
+ declare function isJsonResponse(response: AxiosResponse<unknown>): RegExpMatchArray | null;
1794
+ declare function isXmlResponse(response: AxiosResponse<unknown>): RegExpMatchArray | null;
1795
+ declare function isHtmlResponse(response: AxiosResponse<unknown>): RegExpMatchArray | null;
1796
+ declare class InvalidSessionException extends Error {
1825
1797
  }
1798
+ declare const parseSuccessfulResponse: <LoadType extends Record<string, unknown>>(execution: Execution, response: AxiosResponse<string>) => Promise<(ResponseSysMessages & LoadType & {
1799
+ onClose?: string;
1800
+ code?: unknown;
1801
+ load?: LoadType | undefined;
1802
+ }) | ({
1803
+ actions: unknown;
1804
+ onClose: string | undefined;
1805
+ exceptions: {
1806
+ exception: TApiaMessage | TApiaMessage[];
1807
+ } | undefined;
1808
+ sysExceptions: {
1809
+ exception: TApiaMessage | TApiaMessage[];
1810
+ } | undefined;
1811
+ sysMessages: {
1812
+ message: TApiaMessage | TApiaMessage[];
1813
+ } | undefined;
1814
+ } & LoadType) | null>;
1815
+ /**
1816
+ * IMPORTANT!! The ApiaApi is programmed under the slogan that
1817
+ * **should never throw an exception**. **Errors** coming from
1818
+ * connectivity or exceptions on the server **will be handled
1819
+ * automatically** by ApiaApi, using the notification system
1820
+ * of the application. It is possible to determine in what context they should
1821
+ * be thrown those exceptions (global, main, modal) using the
1822
+ * alertsCategory configuration properties **(see errorsHandling.md)**.
1823
+ *
1824
+ * @param url String, the url you want to call
1825
+ * @param config interface IApiaApiRequestConfig<DataType>;
1826
+ *
1827
+ * @throws Nothing
1828
+ *
1829
+ * @example
1830
+ *
1831
+ * ApiaApi.post<ResponseType>('url...', {
1832
+ axiosConfig?: AxiosRequestConfig;
1826
1833
 
1827
- declare class Textarea extends TranslatableField<TApiaTextareaProperties, string> {
1828
- }
1834
+ // Configuración de postData
1835
+ postData? unknown;
1836
+ postDataTreatement?: 'stringify' | undefined;
1829
1837
 
1830
- declare class Title extends Field<TApiaTitleProperties> {
1831
- }
1838
+ // Configuración de queryString
1839
+ queryData?: string | Record<string, unknown>;
1840
+ stringifyOptions?: QueryString.IStringifyOptions;
1832
1841
 
1833
- type TTreeValue = string | number;
1834
- type TreeEvents = 'onPopulate' | 'onChange' | 'onClick';
1835
- declare class Tree extends FieldWithAttribute<TApiaTreeProperties, TTreeValue | TTreeValue[], TApiaTreeDefinition> {
1836
- private treeNodes;
1837
- constructor({ possibleValue, ...props }: TApiaTreeDefinition);
1838
- getPossibleValues(): TApiaTreePossibleValue[];
1839
- onPossibleValuesChange: (cb: Callback<{
1840
- nodesList: TApiaTreePossibleValue[];
1841
- }, "nodesList">) => UnSubscriber;
1842
- protected getSynchronizePostConfiguration(value: TTreeValue | TTreeValue[]): IApiaApiPostConfig<any>;
1843
- fireEvent(eventName: TreeEvents): Promise<boolean>;
1844
- }
1842
+ // Response validator,
1843
+ // If it returns true, everything continues correctly
1844
+ // If it returns false, the ApiaApi throws a standard error.
1845
+ // If it returns string, ApiaApi throws the error returned in the string.
1846
+ validateResponse?: (
1847
+ response: AxiosResponse<DataType | null>,
1848
+ ) => boolean | string;
1845
1849
 
1846
- declare const IProperty: {
1847
- readonly FUNC_LOAD: "onload";
1848
- readonly FUNC_RELOAD: "onreload";
1849
- readonly PROPERTY_FORM_INVISIBLE: "frmInvisible";
1850
- readonly PROPERTY_FORM_HIDDEN: "frmHidden";
1851
- readonly PROPERTY_FORM_CLOSED: "prpFrmClosed";
1852
- readonly PROPERTY_FORM_TAB: "frmTab";
1853
- readonly PROPERTY_FORM_HIGHLIGHT: "frmHighlight";
1854
- readonly PROPERTY_FORM_DONT_FIRE: "frmDontFire";
1855
- readonly PROPERTY_FORM_READONLY: "readOnly";
1856
- readonly SIGNABLE_FORM: "signableForm";
1857
- readonly MARKED_TO_SIGN: "markedToSign";
1858
- readonly REQUIRED_SIGN: "requiredSignableForm";
1859
- readonly LANGUAGES: "langs";
1860
- readonly TYPE_INPUT: "input";
1861
- readonly TYPE_SELECT: "select";
1862
- readonly TYPE_RADIO: "radio";
1863
- readonly TYPE_CHECK: "check";
1864
- readonly TYPE_BUTTON: "button";
1865
- readonly TYPE_AREA: "area";
1866
- readonly TYPE_LABEL: "label";
1867
- readonly TYPE_TITLE: "title";
1868
- readonly TYPE_FILE: "file";
1869
- readonly TYPE_MULTIPLE: "multiple";
1870
- readonly TYPE_HIDDEN: "hidden";
1871
- readonly TYPE_PASSWORD: "password";
1872
- readonly TYPE_GRID: "grid";
1873
- readonly TYPE_IMAGE: "image";
1874
- readonly TYPE_HREF: "href";
1875
- readonly TYPE_EDITOR: "editor";
1876
- readonly TYPE_TREE: "tree";
1877
- readonly TYPE_CAPTCHA: "captcha";
1878
- readonly FUNC_CLICK: "onclick";
1879
- readonly FUNC_CHANGE: "onchange";
1880
- readonly FUNC_MODAL_RETURN: "onmodalreturn";
1881
- readonly FUNC_ROW_ADD: "onrowadd";
1882
- readonly FUNC_ROW_DELETE: "onrowdelete";
1883
- readonly FUNC_ROW_SORT: "onrowsort";
1884
- readonly FUNC_COL_SELECT: "oncolselect";
1885
- readonly FIELD_PROPERTIES: "properties";
1886
- readonly PROPERTY_NAME: "name";
1887
- readonly PROPERTY_SIZE: "size";
1888
- readonly PROPERTY_READONLY: "readonly";
1889
- readonly PROPERTY_DISABLED: "disabled";
1890
- readonly PROPERTY_MODAL_DISABLED: "modalDisabled";
1891
- readonly PROPERTY_FONT_COLOR: "fontColor";
1892
- readonly PROPERTY_VALUE: "value";
1893
- readonly PROPERTY_REQUIRED: "required";
1894
- readonly PROPERTY_COLSPAN: "colspan";
1895
- readonly PROPERTY_ROWSPAN: "rowspan";
1896
- readonly PROPERTY_MODAL: "modal";
1897
- readonly PROPERTY_ROWS: "thisRows";
1898
- readonly PROPERTY_BOLD: "bold";
1899
- readonly PROPERTY_UNDERLINED: "underlined";
1900
- readonly PROPERTY_ALIGNMENT: "alignment";
1901
- readonly PROPERTY_IMAGE: "imageUrl";
1902
- readonly PROPERTY_COL_WIDTH: "colWidth";
1903
- readonly PROPERTY_GRID_HEIGHT: "gridHeight";
1904
- readonly PROPERTY_HIDE_GRID_BTN: "hideGridButtons";
1905
- readonly PROPERTY_VISIBILITY_HIDDEN: "visibilityHidden";
1906
- readonly PROPERTY_TRANSIENT: "transient";
1907
- readonly PROPERTY_GRID_TITLE: "gridTitle";
1908
- readonly PROPERTY_GRID_FORM: "gridForm";
1909
- readonly PROPERTY_TOOLTIP: "tooltip";
1910
- readonly PROPERTY_VALUE_COLOR: "valueColor";
1911
- readonly PROPERTY_INPUT_AS_TEXT: "inputAsText";
1912
- readonly PROPERTY_NO_DOWNLOAD: "noDownload";
1913
- readonly PROPERTY_NO_ERASE: "noErase";
1914
- readonly PROPERTY_NO_LOCK: "noLock";
1915
- readonly PROPERTY_NO_HISTORY: "noHistory";
1916
- readonly PROPERTY_NO_MODIFY: "noModify";
1917
- readonly PROPERTY_ALLOW_EDITION: "allowEdition";
1918
- readonly PROPERTY_HIDE_SIGN_ICONS: "hideSignButtons";
1919
- readonly PROPERTY_URL: "url";
1920
- readonly PROPERTY_GRID_HIDE_BTN_ORDER: "hideOrderButton";
1921
- readonly PROPERTY_GRID_HIDE_BTN_INCLUDE: "hideIncludeButton";
1922
- readonly PROPERTY_REGEXP_MESSAGE: "regExpMessage";
1923
- readonly PROPERTY_PAGED_GRID: "paged";
1924
- readonly PROPERTY_PAGED_GRID_SIZE: "pagedGridSize";
1925
- readonly PROPERTY_GRID_ALTER_IN_LAST_PAGE: "alterOnlyLastPage";
1926
- readonly PROPERTY_GRID_PRINT_HORIZONTAL: "printHorizontal";
1927
- readonly PROPERTY_STORE_MODAL_QUERY_RESULT: "storeMdlQryResult";
1928
- readonly PROPERTY_INCLUDE_FIRST_ROW: "includeFirstRow";
1929
- readonly PROPERTY_MAX_REG_GRID: "maxRecords";
1930
- readonly PROPERTY_GRID_LABEL: "gridColTitle";
1931
- readonly PROPERTY_GRID_QUERY: "gridQuery";
1932
- readonly PROPERTY_HIDE_DOC_PERMISSIONS: "hideDocPermissions";
1933
- readonly PROPERTY_VERIFY_SIGNATURE_ONLY: "verifySignatureOnly";
1934
- readonly PROPERTY_GRID_HIDE_BTN_ADD: "hideAddButton";
1935
- readonly PROPERTY_GRID_HIDE_BTN_DEL: "hideDelButton";
1936
- readonly PROPERTY_HIDE_DOC_UPLOAD: "hideDocUpload";
1937
- readonly PROPERTY_HIDE_DOC_DOWNLOAD: "hideDocDownload";
1938
- readonly PROPERTY_HIDE_DOC_ERASE: "hideDocErase";
1939
- readonly PROPERTY_HIDE_DOC_LOCK: "hideDocLock";
1940
- readonly PROPERTY_HIDE_DOC_HISTORY: "hideDocHistory";
1941
- readonly PROPERTY_HIDE_DOC_SIGN: "hideSignButtons";
1942
- readonly PROPERTY_DISPLAY_NONE: "displayNone";
1943
- readonly PROPERTY_DONT_BREAK_RADIO: "dontBreakRadio";
1944
- readonly PROPERTY_CHECKED: "checked";
1945
- readonly PROPERTY_FILE_PREVIEW: "filePreview";
1946
- readonly PROPERTY_NOT_PRINT: "noPrint";
1947
- readonly PROPERTY_SELECT_PARENT: "selParent";
1948
- readonly PROPERTY_HEIGHT: "height";
1949
- readonly PROPERTY_MULTISELECT: "multiselect";
1950
- readonly PROPERTY_SEL_PARENT: "selParent";
1951
- readonly PROPERTY_PARENT_ICON: "parentIcon";
1952
- readonly PROPERTY_LEAF_ICON: "leafIcon";
1953
- readonly PROPERTY_CSS_CLASS: "cssClass";
1954
- readonly PROPERTY_DOC_TYPE: "docType";
1955
- readonly PROPERTY_HIDE_DOC_METADATA: "hideDocMetadata";
1956
- readonly PROPERTY_TRANSLATION_REQUIRED: "reqTrad";
1957
- readonly PROPERTY_SIGNATURE_REQUIRED: "reqSign";
1958
- readonly PROPERTY_SHOW_TOOLTIP_AS_HELP: "tooltipHelp";
1959
- readonly PROPERTY_DOCUMENT_MONITOR_DEF: "documentMonitorDef";
1960
- readonly PROPERTY_DOCUMENT_MONITOR_CUS: "documentMonitorCus";
1961
- readonly PROPERTY_DOCUMENT_SHOW_FOLD_TREE_BTN: "fileShwFoldTreeBtn";
1962
- readonly PROPERTY_DOCUMENT_SHOW_FOLD_TREE_STR: "fileShwFoldTreeStr";
1963
- readonly PROPERTY_DOCUMENT_NO_ALLOW_DRAG_DROP: "fileNoAllwDnD";
1964
- readonly PROPERTY_DOCUMENT_NO_SHOW_MODAL: "fileDntShwDocMdlOnDrop";
1965
- readonly PROPERTY_DOCUMENT_SHOW_DESC: "fileShowDesc";
1966
- readonly PROPERTY_DOCUMENT_DEFAULT_FOLDER: "fileDefFolder";
1967
- readonly PROPERTY_DOCUMENT_ROOT_FOLDER: "fileRootFolder";
1968
- readonly PROPERTY_DOCUMENT_EXP_DATE: "fileExpDate";
1969
- readonly PROPERTY_DOCUMENT_DNT_SHW_DOC_MON: "fileNotShowDocMon";
1970
- readonly PROPERTY_DOCUMENT_COLLAPSE_PERM: "fileCollapsePermission";
1971
- readonly PROPERTY_DOCUMENT_COLLAPSE_META: "fileCollapseMetadata";
1972
- readonly PROPERTY_DOCUMENT_COLLAPSE_FLD_STC: "fileCollapseFldStrc";
1973
- readonly WRONG_ATT_TYPE_ERROR: "Component does not support attributes of type <TOK>. Contact system administrator";
1974
- readonly STORE_KEY_FIELD: "field";
1975
- readonly STORE_KEY_FORM: "form";
1976
- readonly PROPERTY_ARIA_DESCRIPTION: "ariaDescription";
1977
- readonly PROPERTY_ARIA_LABEL: "ariaLabel";
1978
- readonly PROPERTY_ALT: "alt";
1979
- readonly PROPERTY_AUTO_COMPLETE: "autoComplete";
1980
- readonly PROPERTY_AUTO_FOCUS: "autoFocus";
1981
- readonly PROPERTY_INPUT_TYPE: "inputType";
1982
- readonly PROPERTY_PLACE_HOLDER: "placeHolder";
1983
- readonly PROPERTY_TITLE: "title";
1984
- };
1850
+ // Configuración de alertas
1851
+ alertsImportance?: TAlertImportance;
1985
1852
 
1986
- type FieldConstructor = new (definition: any) => Field<any, any, any> | FieldWithAttribute<any, any, any> | TranslatableField<any, any, any>;
1987
- type FieldsMapping = Record<string, (definition: any) => FieldConstructor>;
1853
+ // Configuración de ApiaApiHandler, falta documentar
1854
+ handleLoad?: boolean;
1855
+ eventsHandler?: IEventsHandler;
1988
1856
 
1989
- type TProcess = {
1990
- calendar: {
1991
- fixed: boolean;
1992
- label: string;
1993
- name: string;
1994
- options: {
1995
- label: string;
1996
- value: string;
1997
- selected: boolean;
1998
- }[];
1999
- toolTip: string;
2000
- value: string;
2001
- viewButton: {
2002
- label: string;
2003
- toolTip: string;
2004
- };
2005
- };
2006
- comments: {
2007
- currentComment: string;
2008
- addMarker: boolean;
2009
- markAll: boolean;
2010
- deleteMarker: boolean;
2011
- history: {
2012
- comment: string;
2013
- marked: boolean;
2014
- date: string;
2015
- user: string;
2016
- }[];
2017
- };
2018
- identifier: {
2019
- body: {
2020
- name: string;
2021
- required: boolean;
2022
- toolTip: string;
2023
- type: 'fixed' | 'custom';
2024
- value: string;
2025
- };
2026
- label: string;
2027
- prefix: {
2028
- label: string;
2029
- name: string;
2030
- toolTip: string;
2031
- type: 'fixed' | 'custom' | 'none';
2032
- value: string;
2033
- };
2034
- required: boolean;
2035
- suffix: {
2036
- label: string;
2037
- name: string;
2038
- toolTip: string;
2039
- type: 'fixed' | 'custom' | 'none';
2040
- value: string;
2041
- };
2042
- toolTip: string;
2043
- value: string;
2044
- };
2045
- priority: {
2046
- disabled: boolean;
2047
- isMonitor: boolean;
2048
- label: string;
2049
- name: string;
2050
- options: {
2051
- label: string;
2052
- value: string;
2053
- selected: boolean;
2054
- }[];
2055
- toolTip: string;
2056
- value: string;
2057
- };
2058
- process: {
2059
- label: string;
2060
- toolTip: string;
2061
- value: string;
2062
- };
2063
- processAction: {
2064
- label: string;
2065
- toolTip: string;
2066
- value: string;
2067
- };
2068
- separator: string;
2069
- status?: {
2070
- label: string;
2071
- toolTip: string;
2072
- value: string;
2073
- };
1857
+ // other configuration
1858
+ colors?: TColors;
1859
+ debug?: boolean;
1860
+ }
1861
+ * @returns The type of the return value depends on the type passed when calling the function. If there was an error it returns null.
1862
+ */
1863
+ declare function post<LoadType extends Record<string, unknown> = Record<string, unknown>, DataType = unknown, T = unknown>(execution: Execution, actualUrl: string, behaveConfig?: IApiaApiPostConfig<DataType>): TApiaApiResult<LoadType>;
1864
+ /**
1865
+ * IMPORTANTE!! El ApiaApi está programado bajo la consigna de que
1866
+ * **no debe tirar núnca una excepción**. **Los errores** provenientes
1867
+ * de la conectividad o de excepciones en el servidor **serán manejados
1868
+ * automáticamente** por el ApiaApi utilizando el sistema de notificaciones
1869
+ * de la aplicación. Es posible determinar en qué contexto deben
1870
+ * ser lanzadas esas excepciones (global, main, modal) utilizando las
1871
+ * propiedades de configuración alertsCategory **(ver errorsHandling.md)**.
1872
+ *
1873
+ * @param url String, el url al que se desea llamar
1874
+ * @param config interface IApiaApiRequestConfig<DataType>;
1875
+ *
1876
+ * @throws Nothing
1877
+ *
1878
+ * @example
1879
+ *
1880
+ * ApiaApi.get<TipoDeRespuesta>('url...', {
1881
+ axiosConfig?: AxiosRequestConfig;
1882
+
1883
+ // Configuración de queryString
1884
+ queryData?: string | Record<string, unknown>;
1885
+ stringifyOptions?: QueryString.IStringifyOptions;
1886
+
1887
+ // Validador de respuesta,
1888
+ // Si devuelve true, todo sigue correctamente
1889
+ // Si devuelve false, el ApiaApi tira un error estándar.
1890
+ // Si devuelve string, el ApiaApi tira el error devuelto en el string.
1891
+ validateResponse?: (
1892
+ response: AxiosResponse<DataType | null>,
1893
+ ) => boolean | string;
1894
+
1895
+ // Configuración de alertas
1896
+ alertsImportance?: TAlertImportance;
1897
+
1898
+ // Configuración de ApiaApiHandler, falta documentar
1899
+ handleLoad?: boolean;
1900
+ eventsHandler?: IEventsHandler;
1901
+
1902
+ // Otra configuración
1903
+ colors?: TColors;
1904
+ debug?: boolean;
1905
+ }
1906
+ * @returns El tipo del valor devuelto depende del tipo pasado al llamar a la función. Si hubo un error devuelve null
1907
+ */
1908
+ declare function get<LoadType extends Record<string, unknown> = Record<string, unknown>, T = unknown, D = unknown>(execution: Execution, actualUrl: string, behaveConfig?: IApiaApiRequestConfig): TApiaApiResult<LoadType>;
1909
+ type MakeApiaUrlProps = {
1910
+ action?: string;
1911
+ ajaxUrl?: string;
1912
+ queryString?: string;
1913
+ stringifyOptions?: IStringifyOptions;
1914
+ tabId?: string | number;
1915
+ preventAsXmlParameter?: boolean;
1916
+ avoidTabId?: boolean;
1917
+ [key: string]: unknown;
1918
+ };
1919
+ /**
1920
+ * Creates an url based on the general requirements of Apia.
1921
+ * If the ajaxUrl property is not passed, it will use the
1922
+ * getWindow(execution).URL_REQUEST_AJAX. Its use is very simple, just pass the objects you
1923
+ * want to appear in the query string.
1924
+ *
1925
+ * @example makeApiaUrl({
1926
+ * ajaxUrl: 'the.endpoint.you.want',
1927
+ * queryString: 'an=existent&query=string',
1928
+ * action: 'theAction',
1929
+ * anotherProp: 15
1930
+ * })
1931
+ *
1932
+ * @returns the well formed url, in the example, the response url is:
1933
+ * /context/the.endpoint.you.want?an=existent&query=string&anotherProp=15&tabId=...&tokenId=...&action=theAction
1934
+ */
1935
+ declare function makeApiaUrl(execution: Execution, props?: MakeApiaUrlProps): string;
1936
+
1937
+ interface IIProperty {
1938
+ [key: string]: string;
1939
+ }
1940
+ interface IApiaFunctions {
1941
+ getLastModalReturn: () => string[];
1942
+ getModalReturn: () => string[];
1943
+ getModalValue: () => string;
1944
+ getModalShowValue: () => string;
1945
+ setLastModalReturn: (value: string[]) => void;
1946
+ getModalSelectedRow: () => string[];
1947
+ getForm(frmName: string, frmType?: string): IApiaForm | null;
1948
+ getAllForms(): IApiaForm[];
1949
+ getEntityForm(frmName: string): IApiaForm | null;
1950
+ getProcessForm(frmName: string): IApiaForm | null;
1951
+ getAttField(attType: 'P' | 'E', attId: string): IApiaField | IApiaField[] | undefined;
1952
+ setStepTitle(stepNumber: number, stepTitle: string): void;
1953
+ getCurrentStep(): number | null;
1954
+ getCurrentTaskName(): string | null;
1955
+ getCurrentProcessName(): string | null;
1956
+ getRootPath(): string | null;
1957
+ getCurrentLanguageCode(): string | null;
1958
+ toJSNumber(value: string): number | string;
1959
+ toApiaNumber(value: number): number | string;
1960
+ disableActionButton(btnIdx: string): void;
1961
+ enableActionButton(btnIdx: string): void;
1962
+ disableOptionButton(btnIdx: string): void;
1963
+ enableOptionButton(btnIdx: string): void;
1964
+ hideOptionButton(btnIdx: string): void;
1965
+ showOptionButton(btnIdx: string): void;
1966
+ openTab(title: string, url: string): void;
1967
+ showMessage(text: string): void;
1968
+ showConfirm(text: string, title: string, callbackFn: (win: boolean) => unknown): void;
1969
+ }
1970
+ interface IApiaForm {
1971
+ getFrmId(): string | null;
1972
+ getFrmParent(): string;
1973
+ getFormName(): string;
1974
+ getFormTitle(): string;
1975
+ openForm(): void;
1976
+ closeForm(): void;
1977
+ getProperty<K extends keyof TApiaFormProperties>(name: K): TApiaFormProperties[K];
1978
+ setProperty<K extends keyof TApiaFormProperties>(name: K, value: TApiaFormProperties[K]): void;
1979
+ getField(fld: number | string, index?: number): IApiaField | undefined;
1980
+ getFieldColumn(fldName: string): IApiaField[];
1981
+ getAllFields(): IApiaField[];
1982
+ clearForm(clearReadonlyFields: boolean, deleteGridsRows: boolean): void;
1983
+ }
1984
+ interface IApiaField<Props extends TApiaFieldCommonProperties = TApiaFieldCommonProperties> {
1985
+ get fldType(): TApiaFieldType;
1986
+ get fldId(): string;
1987
+ /**
1988
+ * Assigns a new value to the property whoose name's correspond to that determined by the name paremeter.
1989
+ */
1990
+ setProperty<K extends keyof Props>(name: K, value: Props[K]): void;
1991
+ /**
1992
+ * Returns the current value of the property determined by the name in the paremeter.
1993
+ */
1994
+ getProperty<K extends keyof Props>(name: K): Props[K];
1995
+ /**
1996
+ * Sets the focus on the field if possible.
1997
+ */
1998
+ setFocus(): void;
1999
+ /**
2000
+ * Returns true if the field is part of a grid.
2001
+ */
2002
+ isInGrid(): boolean;
2003
+ }
2004
+ interface IButton {
2005
+ disabled: boolean;
2006
+ hidden: boolean;
2007
+ label: string;
2008
+ isLoading: boolean;
2074
2009
  title: string;
2075
- user: {
2076
- label: string;
2077
- toolTIp: string;
2078
- value: string;
2079
- };
2010
+ variant?: string;
2011
+ action: Promise<() => unknown> | string;
2012
+ id: TActionButtons;
2013
+ }
2014
+ type TActionButtons = 'VIEW_DOCS' | 'CLOSE' | 'DELEGATE' | 'CLOSE' | 'CONFIRM' | 'NEXT' | 'PRINT' | 'PREVIOUS' | 'RELEASE' | 'SAVE' | 'SIGN' | 'SHARE';
2015
+ type TApiaFieldType = 'area' | 'button' | 'captcha' | 'check' | 'editor' | 'file' | 'grid' | 'hidden' | 'href' | 'image' | 'input' | 'label' | 'multiple' | 'password' | 'radio' | 'select' | 'title' | 'tree' | 'form';
2016
+ type PossibleValue = {
2017
+ value: string | number;
2018
+ label: string;
2019
+ selected?: boolean;
2080
2020
  };
2081
2021
 
2082
- declare class Process {
2083
- state: TProcess | null;
2084
- uploader: UploaderApi;
2085
- constructor();
2086
- get name(): string | undefined;
2087
- init(): Promise<void>;
2088
- getConfirmParams(): {
2089
- cmbProPri: string | undefined;
2090
- selCal: string | undefined;
2022
+ declare class ButtonsAction {
2023
+ private button;
2024
+ constructor(button: IButton);
2025
+ private update;
2026
+ get action(): this;
2027
+ get disabled(): boolean;
2028
+ get props(): {
2029
+ disabled: boolean;
2030
+ hidden: boolean;
2031
+ loading: boolean;
2091
2032
  };
2092
- setPriority(newPriority: string): void;
2033
+ get label(): string;
2034
+ get title(): string;
2035
+ get variant(): string;
2036
+ set title(title: string);
2037
+ set variant(variant: string);
2038
+ disable(): void;
2039
+ enable(): void;
2040
+ hide(): void;
2041
+ show(): void;
2042
+ }
2043
+
2044
+ declare global {
2045
+ interface Window {
2046
+ lastModalReturn: string[];
2047
+ }
2048
+ }
2049
+ declare class ApiaFunctions implements IApiaFunctions {
2050
+ execution: Execution;
2051
+ constructor(execution: Execution);
2052
+ toJSNumber(_value: string): number | string;
2053
+ toApiaNumber(_value: number): number | string;
2054
+ openTab(_title: string, _url: string): void;
2055
+ showMessage(_text: string): void;
2056
+ showConfirm(_text: string, _title: string, _callbackFn: (win: boolean) => unknown): void;
2057
+ getFormByType(frmName: string, frmType: TFrmParent): IApiaForm | null;
2058
+ actionButton(id: string | number): ButtonsAction | undefined;
2059
+ admEntity(entName: string, entNum?: number, parameters?: string, width?: number, height?: number): void;
2060
+ clearMessages(): void;
2061
+ clickActionButton(button: number): void;
2062
+ disableActionButton(id: string | number): void;
2063
+ disableOptionButton(id: string | number): void;
2064
+ enableActionButton(id: string | number): void;
2065
+ enableOptionButton(id: string | number): void;
2066
+ getAllForms(): IApiaForm[];
2067
+ getAllFormsByType(type: 'P' | 'E'): IApiaForm[];
2068
+ getAttField(attType: 'P' | 'E', attId: string): IApiaField | IApiaField[] | undefined;
2069
+ getButtonAction(id: number | string): TActionButtons;
2070
+ getCurrentLanguageCode(): string | null;
2071
+ getCurrentProcessName(): string | null;
2072
+ getCurrentStep(): number | null;
2073
+ getCurrentTaskName(): string | null;
2074
+ getEntityForm(frmName: string): IApiaForm | null;
2075
+ getForm(frmName: string, frmType?: string): IApiaForm | null;
2076
+ getLastModalReturn(): string[];
2077
+ getModalReturn(): string[];
2078
+ getModalSelectedRow(): string[];
2079
+ getModalShowValue(): string;
2080
+ getModalValue(): string;
2081
+ getProcessForm(frmName: string): IApiaForm | null;
2082
+ getRootPath(): string | null;
2083
+ hideActionButton(id: string | number): void;
2084
+ hideOptionButton(id: string | number): void;
2085
+ saveTask(): void;
2086
+ setLastModalReturn(value: string[]): void;
2087
+ setStepTitle(stepNumber: number, stepTitle: string): void;
2088
+ showActionButton(id: string | number): void;
2089
+ showOptionButton(id: string | number): void;
2090
+ viewAdmEntity(entName: string, entNum?: number): void;
2091
+ }
2092
+
2093
+ declare class ActionsController {
2094
+ static CONFIRM: number;
2095
+ static NEXT: number;
2096
+ static PREVIOUS: number;
2097
+ static SIGN: number;
2098
+ static SAVE: number;
2099
+ static RELEASE: number;
2100
+ static DELEGATE: number;
2101
+ static SHARE: number;
2102
+ static PRINT: number;
2103
+ static VIEW_DOCS: number;
2104
+ static CLOSE: number;
2105
+ private static _instance;
2106
+ static get instance(): ActionsController;
2107
+ private buttons;
2108
+ addButton(button: IButton): void;
2109
+ getButton(id: TActionButtons): ButtonsAction | undefined;
2110
+ }
2111
+
2112
+ declare class ApiaForm implements IApiaForm {
2113
+ #private;
2114
+ execution: Execution;
2115
+ constructor(execution: Execution, form: Form);
2116
+ getFrmParent(): string;
2117
+ getFrmId(): string | null;
2118
+ getFormName(): string;
2119
+ getFormTitle(): string;
2120
+ openForm(): void;
2121
+ closeForm(): void;
2122
+ getProperty<K extends keyof TApiaFormProperties>(name: K): TApiaFormProperties[K];
2123
+ setProperty<K extends keyof TApiaFormProperties>(name: K, value: TApiaFormProperties[K]): void;
2124
+ getCustomComponent(attName: string): CustomComponent | undefined;
2125
+ getField(fld: string | number, index?: number): IApiaField | undefined;
2126
+ getFieldById(fldId: string): IApiaField<TApiaFieldCommonProperties> | null | undefined;
2127
+ getFieldColumn(name: string): IApiaField[];
2128
+ getAllFields(): IApiaField[];
2129
+ clearForm(clearReadonlyFields: boolean, deleteGridsRows: boolean): void;
2130
+ }
2131
+
2132
+ declare abstract class ApiaField<Props extends TApiaFieldCommonProperties = TApiaFieldCommonProperties> implements IApiaField<Props> {
2133
+ #private;
2134
+ execution: Execution;
2135
+ constructor(execution: Execution, field: Field<Props>);
2136
+ get fldType(): "button" | "check" | "file" | "hidden" | "image" | "input" | "href" | "multiple" | "radio" | "select" | "label" | "area" | "title" | "editor" | "grid" | "password" | "captcha" | "tree";
2137
+ get fldId(): string;
2138
+ get form(): ApiaForm;
2139
+ get index(): number;
2140
+ setProperty<K extends keyof Props>(name: K, value: Props[K]): void;
2141
+ getProperty<K extends keyof Props>(name: K): Props[K];
2142
+ setFocus(): IApiaField | null;
2143
+ isInGrid(): boolean;
2144
+ }
2145
+
2146
+ interface IButtonField extends IApiaField {
2147
+ fireClickEvent(): void;
2148
+ getValue(): string | null;
2149
+ }
2150
+ declare class ButtonField extends ApiaField implements IButtonField {
2151
+ #private;
2152
+ constructor(execution: Execution, field: Button);
2153
+ fireClickEvent(): void;
2154
+ getValue(): string | null;
2155
+ clearValue(): void;
2093
2156
  }
2094
2157
 
2095
- declare class Task {
2158
+ type TEditorField = IApiaField;
2159
+ declare class EditorField extends ApiaField implements TEditorField {
2160
+ }
2161
+
2162
+ declare class ApiaAttribute {
2096
2163
  #private;
2097
- constructor(task: any);
2098
- setPriority(newPriority: string): void;
2164
+ constructor(attribute: Attribute);
2165
+ get attLabel(): string;
2099
2166
  get name(): string;
2167
+ get id(): string;
2168
+ get valueType(): TApiaFieldValueType;
2169
+ }
2170
+ declare class ApiaFieldWithAttribute<T = string | boolean> extends ApiaField {
2171
+ #private;
2172
+ execution: Execution;
2173
+ constructor(execution: Execution, field: FieldWithAttribute);
2174
+ get attribute(): ApiaAttribute;
2175
+ clearValue(): void;
2176
+ getValue(): any;
2177
+ setValue(v: T): void;
2178
+ getLabel(): string | null | void;
2179
+ getProperty<K extends keyof TApiaFieldWithAttributeProperties>(name: K): TApiaFieldWithAttributeProperties[K];
2100
2180
  }
2101
2181
 
2102
- type TEntity = {
2103
- title: string;
2104
- readOnly: boolean;
2105
- separator: string;
2106
- associations: {
2107
- nameValue: string;
2108
- };
2109
- date: {
2110
- label: string;
2111
- toolTip: string;
2112
- value: string;
2113
- };
2114
- entityType: {
2115
- label: string;
2116
- toolTip: string;
2117
- value: string;
2118
- };
2119
- identifier: {
2120
- label: string;
2121
- toolTip: string;
2122
- value?: string;
2123
- prefix?: {
2124
- name: string;
2125
- type: 'custom' | 'fixed' | 'none';
2126
- label?: string;
2127
- toolTip?: string;
2128
- value?: string;
2129
- };
2130
- body: {
2131
- type: 'autogenerated' | 'sameAsProcess';
2132
- label: string;
2133
- name?: string;
2134
- toolTip?: string;
2135
- value?: string;
2136
- required?: false;
2137
- } | {
2138
- label: string;
2139
- toolTip?: string;
2140
- value?: string;
2141
- type: 'custom';
2142
- required: boolean;
2143
- name: string;
2144
- };
2145
- suffix?: {
2146
- name: string;
2147
- type: 'custom' | 'fixed' | 'none';
2148
- toolTip?: string;
2149
- label?: string;
2150
- value?: string;
2151
- };
2152
- };
2153
- image: {
2154
- label: string;
2155
- toolTip: string;
2156
- file: File | null;
2157
- };
2158
- status: {
2159
- name: string;
2160
- label: string;
2161
- toolTip: string;
2162
- type: 'fixex' | 'select' | 'none';
2163
- value?: string;
2164
- disabled?: boolean;
2165
- options: {
2166
- label: string;
2167
- value: string;
2168
- selected: boolean;
2169
- }[];
2170
- };
2171
- user: {
2172
- label: string;
2173
- name: string;
2174
- toolTip: string;
2175
- };
2176
- };
2182
+ type TOptionsMap$2 = Map<string, PossibleValue>;
2183
+ type TOptionsAsArray = PossibleValue[];
2184
+ declare class SelectField extends ApiaFieldWithAttribute<string | number | (string | number)[]> {
2185
+ #private;
2186
+ constructor(execution: Execution, field: Select);
2187
+ getOptions(asObject: boolean): TOptionsMap$2 | TOptionsAsArray | null;
2188
+ addOption(optionValue: string | number, showValue: string, allowRepeatedValue: boolean): void;
2189
+ setOptions(optionsArray: PossibleValue[]): void;
2190
+ removeOption(optionValue: string | number): void;
2191
+ getSelectedOption(asObject: boolean): TOptionsMap$2 | PossibleValue[] | null;
2192
+ getSelectedText(): string | null;
2193
+ clearOptions(): void;
2194
+ }
2177
2195
 
2178
- declare class Entity {
2179
- state: TEntity | null;
2180
- uploader: UploaderApi;
2181
- constructor();
2182
- get name(): string | undefined;
2183
- init(): Promise<void>;
2184
- getConfirmParams(): {
2185
- busEntSta: string | undefined;
2186
- };
2196
+ declare class InputField extends ApiaFieldWithAttribute {
2197
+ #private;
2198
+ constructor(execution: Execution, field: Input);
2199
+ getObjectValue(): number | string | boolean | null;
2200
+ setValue(v: string): void;
2187
2201
  }
2188
2202
 
2189
- type TObservations = {
2190
- observations: TObservation[] | [];
2191
- newObservation: {
2192
- commentValue: string;
2193
- chkAddAlert: boolean;
2194
- chkAddAllAlert: boolean;
2195
- chkRemAlert: boolean;
2196
- } | null;
2197
- };
2198
- type TObservation = {
2199
- name: string;
2200
- date: string;
2201
- userTitle: string;
2202
- groupTitle: string;
2203
- taskTitle: string;
2204
- userLabel: string;
2205
- groupLabel: string;
2206
- taskLabel: string;
2207
- checked?: boolean;
2208
- disabled?: boolean;
2209
- marked?: boolean;
2210
- comment: string;
2211
- };
2203
+ declare class TreeField extends ApiaFieldWithAttribute<string | number | (string | number)[]> {
2204
+ #private;
2205
+ constructor(execution: Execution, field: Tree);
2206
+ setValue(v: string | number | (string | number)[]): void;
2207
+ }
2212
2208
 
2213
- declare class Observations {
2214
- state: TObservations;
2215
- constructor();
2216
- init(): Promise<void>;
2217
- getConfirmParams(): {
2218
- txtComment: string | undefined;
2219
- chkAddAlert: string;
2220
- chkAddAllAlert: string;
2221
- chkRemAlert: string;
2222
- };
2223
- setPriority(newPriority: string): void;
2209
+ declare class CheckField extends ApiaFieldWithAttribute {
2210
+ clearValue(): void;
2211
+ setValue(value: string | boolean | number): void;
2224
2212
  }
2225
2213
 
2226
- type ConfirmStep = 'CHECK_LOCK' | 'CONFIRM' | 'CHECK_SIGN' | 'CHECK_WIZARD' | 'SIGN';
2227
- type Status = {
2228
- step?: ConfirmStep;
2229
- error?: string;
2230
- finishedWithError?: boolean;
2231
- };
2232
- declare abstract class FlowModal<T extends {
2233
- confirmed?: boolean;
2234
- }> {
2235
- abstract confirm(result: T): Promise<Status | FlowModal<any>>;
2214
+ type TOptionsMap$1 = Map<string, PossibleValue>;
2215
+ declare class RadioField extends ApiaFieldWithAttribute {
2216
+ #private;
2217
+ constructor(execution: Execution, field: Radio);
2218
+ getOptions(asObject: boolean): TOptionsMap$1 | PossibleValue[] | null;
2219
+ clearOptions(): void | null;
2220
+ addOption(radioValue: string | number, showValue: string, allowRepeatedValue: boolean): void;
2221
+ setOptions(options: PossibleValue[]): void;
2222
+ removeOption(radioValue: string | number): void;
2223
+ getSelectedOption(asObject: boolean): TOptionsMap$1 | PossibleValue | null;
2224
+ getSelectedText(): string | undefined | null;
2236
2225
  }
2237
2226
 
2238
- type TOnClose = 'clearEvalPath' | 'confirmOkOnClose' | 'confirmOkOnCloseSplash' | 'confirmOkOnSaveSplash' | 'releaseOkOnClose' | null;
2239
- type TErrMessage = {
2240
- message: {
2241
- text: string;
2242
- label?: string;
2243
- };
2244
- };
2245
- type TFetchTaskActionResponse = {
2246
- onClose?: TOnClose;
2247
- sysMessages?: TErrMessage;
2248
- sysExceptions?: TErrMessage;
2249
- type?: string;
2250
- actions?: {
2251
- action: {
2252
- param: {
2253
- text: string;
2254
- }[];
2255
- toDo: string;
2256
- };
2257
- };
2258
- load?: {
2259
- canClose: boolean;
2260
- type: string;
2261
- text: {
2262
- label: string;
2263
- closeAll: boolean;
2264
- addClass?: string;
2265
- title?: string;
2266
- };
2267
- };
2268
- text?: {
2269
- title?: string;
2270
- text?: string;
2271
- };
2272
- };
2227
+ type TOptionsMap = Map<string, PossibleValue>;
2228
+ declare class MultipleField extends ApiaFieldWithAttribute<string[]> {
2229
+ #private;
2230
+ constructor(execution: Execution, field: Multiple);
2231
+ addOption(optionValue: string | number, showValue: string, allowRepeatedValue: boolean): void;
2232
+ setValue(value: string[]): void;
2233
+ clearOptions(): void;
2234
+ getSelectedOption(asObject: boolean): TOptionsMap | PossibleValue[] | null;
2235
+ getOptions(asObject: boolean): TOptionsMap | PossibleValue[] | null;
2236
+ setOptions(optionsArray: PossibleValue[]): void;
2237
+ removeOption(optionValue: string | number): void;
2238
+ }
2239
+
2240
+ declare class HiddenField extends ApiaField {
2241
+ }
2242
+
2243
+ declare class AreaField extends ApiaFieldWithAttribute {
2244
+ }
2245
+
2246
+ interface IImageField extends IApiaField {
2247
+ getValue(): null;
2248
+ setValue(): null;
2249
+ getLabel(): void;
2250
+ clearValue(): null;
2251
+ }
2252
+ declare class ImageField extends ApiaField implements IImageField {
2253
+ #private;
2254
+ constructor(execution: Execution, field: Image);
2255
+ clearValue(): null;
2256
+ getLabel(): void;
2257
+ getValue(): null;
2258
+ setValue(): null;
2259
+ }
2260
+
2261
+ interface ILinkField extends IApiaField {
2262
+ getLabel(): void;
2263
+ }
2264
+ declare class LinkField extends ApiaField implements ILinkField {
2265
+ #private;
2266
+ constructor(execution: Execution, field: Link);
2267
+ getLabel(): void;
2268
+ }
2269
+
2270
+ interface ITextField extends IApiaField {
2271
+ getLabel(): void;
2272
+ }
2273
+ declare class TextField extends ApiaField implements ITextField {
2274
+ #private;
2275
+ constructor(execution: Execution, field: Field);
2276
+ getLabel(): void;
2277
+ }
2278
+
2279
+ declare class GridField extends ApiaField<TApiaGridProperties> {
2280
+ #private;
2281
+ constructor(execution: Execution, field: Grid);
2282
+ addRow(): Promise<IApiaField[]>;
2283
+ clearGrid(): void;
2284
+ clearPage(): void;
2285
+ clearRow(index: number): Promise<void>;
2286
+ closeForm(): GridField;
2287
+ deleteAllRows(): Promise<void>;
2288
+ deleteGrid(): Promise<void>;
2289
+ deletePage(): void;
2290
+ deleteRow(index: number): Promise<void>;
2291
+ editRow(index: number): void;
2292
+ getAllColumns(): (IApiaField<TApiaFieldCommonProperties> | null)[][];
2293
+ getColumn(fieldName: string): (IApiaField<TApiaFieldCommonProperties> | null)[];
2294
+ getCurrentPage(): number;
2295
+ getField(fieldName: string, fieldIndex?: number): IApiaField<TApiaFieldCommonProperties> | IApiaField<TApiaFieldCommonProperties>[] | null;
2296
+ getPageCount(): number;
2297
+ getPageSize(): number;
2298
+ getRow(index: number): IApiaField<TApiaFieldCommonProperties>[] | undefined;
2299
+ getSelection(): IApiaField[][];
2300
+ get id(): string;
2301
+ isPaged(): boolean;
2302
+ get rowsCount(): number;
2303
+ toggleColumnVisibility(fieldName: string, isShown?: boolean): void;
2304
+ toggleDeleteButton(index: number, isShown?: boolean): void;
2305
+ toggleEditFormButton(rowIndex: number, isShown?: boolean): void;
2306
+ }
2273
2307
 
2274
- type TPromptPromiseResponse = {
2275
- message: string;
2276
- messageType: TMessageType;
2277
- };
2308
+ type TCaptchaField = IApiaField;
2309
+ declare class CaptchaField extends ApiaField implements TCaptchaField {
2310
+ }
2278
2311
 
2279
- declare class AssistantController {
2312
+ declare class FileUploaderField extends ApiaFieldWithAttribute {
2280
2313
  #private;
2281
- get isEnabled(): boolean;
2282
- constructor();
2283
- init(execution: Execution): void;
2284
- run(message: ChatMessage): Promise<TPromptPromiseResponse | undefined>;
2285
- private generateFormsContent;
2286
- private resolveResponseResult;
2287
- private shouldGoToNextStep;
2288
- private resolveFinalMessage;
2289
- private generateConfirmedValues;
2290
- private fillForms;
2291
- private fillForm;
2292
- private fillFields;
2293
- private fillGridField;
2294
- private resolveFieldValue;
2314
+ constructor(execution: Execution, field: File$1);
2315
+ onChange(cb: (newValue: unknown) => unknown): void;
2316
+ setValue(): null;
2295
2317
  }
2296
2318
 
2297
- declare enum ExecutionState {
2298
- RUNNING = 0,
2299
- LOADING = 1,
2300
- FINISHED = 2,
2301
- RENDERING = 3
2319
+ declare class PasswordField extends ApiaField {
2302
2320
  }
2303
- type TExecutionConfig = {
2304
- canConfirm: boolean;
2305
- canGoBack: boolean;
2306
- canGoForward: boolean;
2307
- canSave: boolean;
2308
- canFree: boolean;
2309
- canDelegate: boolean;
2310
- canClose: boolean;
2311
- canShare: boolean;
2312
- isEntity?: boolean;
2321
+
2322
+ declare class ModalInputField extends ApiaFieldWithAttribute {
2323
+ #private;
2324
+ constructor(execution: Execution, field: ModalInput);
2325
+ getObjectValue(): any | null;
2326
+ setValue(v: any): void;
2327
+ setValueFromInputWrite(value: string): Promise<void>;
2328
+ }
2329
+
2330
+ type TCreateNewField = (execution: Execution, field: Field | FieldWithAttribute | CustomComponent) => IApiaField | null;
2331
+
2332
+ declare const createNewField: TCreateNewField;
2333
+
2334
+ type TFncParams = {
2335
+ type: 'V' | 'P' | 'E';
2336
+ value?: string;
2337
+ attId?: string | number;
2313
2338
  };
2314
- declare class Execution {
2339
+ declare abstract class Field<FieldProps extends TApiaFieldCommonProperties = TApiaFieldCommonProperties, FieldDefinition extends TApiaFieldBaseDefinition<FieldProps> = TApiaFieldBaseDefinition<FieldProps>, State extends {
2340
+ definition: Omit<FieldDefinition, 'properties'>;
2341
+ } = {
2342
+ definition: Omit<FieldDefinition, 'properties'>;
2343
+ }> extends WithProperties<FieldProps> {
2315
2344
  #private;
2316
- static get instance(): Execution;
2317
- fieldsMapping: FieldsMapping;
2318
- private entity;
2319
- private process;
2320
- private observations;
2321
- assistantController: AssistantController;
2322
- executionConfig: TExecutionConfig | null;
2323
- private _steps;
2324
- private _currentStep;
2325
- private _stepCount;
2326
- private constructor();
2327
- protected formsById: {
2328
- E: Map<string, Form>;
2329
- P: Map<string, Form>;
2330
- };
2331
- protected forms: {
2332
- E: Map<string, Form>;
2333
- P: Map<string, Form>;
2334
- };
2335
- state: {
2336
- formsReady: ReturnType<Execution['getAllForms']>;
2337
- executionState: ExecutionState;
2338
- locked: boolean;
2345
+ protected form: Form;
2346
+ definition: State['definition'];
2347
+ state: Omit<State, 'definition'> & {
2348
+ validation: FieldValidationState;
2339
2349
  };
2340
- locker: ScreenLocker;
2341
- getAllForms(): Form[];
2342
- getFormsByType(type: TFrmParent): Form[];
2343
- getFormByName(formName: string, frmParent?: TFrmParent): Form | undefined;
2344
- getFormById(formId: string | number, frmParent?: TFrmParent): Form | undefined;
2345
- get currentStep(): number;
2346
- get steps(): {
2347
- title: string;
2348
- stepNumber: number;
2349
- status: "completed" | "pending" | "current";
2350
- }[];
2351
- getEntity(): Entity;
2352
- getProcess(): Process;
2353
- getObservations(): Observations;
2354
- getCurrentTask(): Task;
2355
- private mustRenderForms;
2356
- run(executionConfig: TExecutionConfig): Promise<void>;
2357
- protected getHiddenForms(): Form[];
2358
- markFormAsRendered(frmParent: string, frmName: string): void;
2359
- back(): Promise<false | undefined>;
2360
- delegate(): Promise<void>;
2361
- shareSocial(): Promise<void>;
2362
- close(): Promise<void>;
2363
- desktop(): Promise<void>;
2364
- confirm(status?: Status, step?: ConfirmStep): Promise<boolean | FlowModal<any> | Field>;
2365
- free(): Promise<TApiaApiAxiosResponse<(TFetchTaskActionResponse & ResponseSysMessages) | null> | null>;
2366
- print(): Promise<void>;
2367
- getStepTitle(step: number): {
2368
- title: string;
2369
- stepNumber: number;
2370
- status: "completed" | "pending" | "current";
2371
- } | undefined;
2372
- next(): Promise<boolean | Field<TApiaFieldCommonProperties, TApiaFieldBaseDefinition<TApiaFieldCommonProperties>, {
2373
- definition: Omit<TApiaFieldBaseDefinition<TApiaFieldCommonProperties>, "properties">;
2374
- }> | undefined>;
2375
- save(): Promise<TApiaApiAxiosResponse<(TFetchTaskActionResponse & ResponseSysMessages) | null> | undefined>;
2376
- viewDocs(): Promise<(Record<string, unknown> & ResponseSysMessages) | undefined>;
2377
- setStepTitle(stepNumber: number, stepTitle: string): void;
2378
- validate(): Promise<true | Field>;
2350
+ constructor({ properties, ...definition }: FieldDefinition);
2351
+ protected getScriptEventParams(fncParams: TFncParams[]): Promise<unknown[]>;
2352
+ protected getServerEventParams(evtId: number, additionalParams?: Record<string, any>): MakeApiaUrlProps;
2353
+ protected fireScriptEvent(eventName: string): Promise<boolean>;
2354
+ protected fireAjaxServerEvent(event: TFieldServerEvent, params?: FireEventParameters): Promise<boolean>;
2355
+ protected fireNoAjaxServerEvent(event: TFieldServerEvent, params?: FireEventParameters): Promise<boolean>;
2356
+ protected fireServerEvent(eventName: string, params?: FireEventParameters): Promise<boolean>;
2357
+ fireEvent(eventName: string, params?: FireEventParameters): Promise<boolean>;
2358
+ getForm(): Form;
2359
+ protected hasEventsOfType(eventName: string): TFieldScriptEvent | TFieldServerEvent | undefined;
2360
+ protected hasServerAjaxEventsOfType(eventName: string): TFieldServerEvent | undefined;
2361
+ protected hasServerNoAjaxEventsOfType(eventName: string): TFieldServerEvent | undefined;
2362
+ init(form: Form): Promise<void>;
2363
+ validate(): Promise<boolean | Field>;
2364
+ markAsRendered(): void;
2379
2365
  }
2380
2366
 
2381
- declare class MessageNotification extends Notification {
2382
- close(): void;
2367
+ type ButtonEvents = 'onClick';
2368
+ declare class Button extends Field<TApiaButtonProperties> {
2369
+ fireEvent(eventName: ButtonEvents): Promise<boolean>;
2383
2370
  }
2384
2371
 
2385
- declare class StatusNotification extends Notification<NotificationDefinition & {
2386
- blocking: boolean;
2372
+ declare class Captcha extends Field<TApiaCaptchaProperties, TApiaCaptchaDefinition, {
2373
+ definition: Omit<TApiaCaptchaDefinition, 'properties'>;
2374
+ value: string;
2375
+ url: string;
2387
2376
  }> {
2388
- readonly props: NotificationDefinition & {
2389
- blocking: boolean;
2390
- };
2391
- constructor(props: NotificationDefinition & {
2392
- blocking: boolean;
2393
- });
2377
+ private static emitter;
2378
+ static reload(): void;
2379
+ private id;
2380
+ private static confirmParams;
2381
+ static getConfirmParams(): Record<string, string>;
2382
+ constructor(definition: TApiaCaptchaProperties);
2383
+ init(form: Form): Promise<void>;
2384
+ private getCaptchaId;
2385
+ getUrl(): string;
2386
+ generateImgUrl(): void;
2387
+ generateVoiceUrl(): string;
2388
+ getId(): string;
2389
+ setValue(value: string): void;
2390
+ validate(): Promise<boolean>;
2394
2391
  }
2395
2392
 
2396
- declare class Notifications {
2397
- #private;
2398
- static get instance(): Notifications;
2399
- private emitter;
2400
- private constructor();
2401
- protected notifications: Notification[];
2402
- add(notification: Notification): void;
2403
- getAll(): Notification<NotificationDefinition>[];
2404
- getById(id: string | number): Notification<NotificationDefinition> | undefined;
2405
- remove(notification: string | number | Notification): void;
2406
- on: <K extends "notification">(event: K, cb: Callback<{
2407
- notification: Notification;
2408
- }, K>) => UnSubscriber;
2393
+ type CheckboxEvents = 'onClick';
2394
+ declare class Checkbox extends FieldWithAttribute<TApiaCheckboxProperties, boolean> {
2395
+ fireEvent(eventName: CheckboxEvents): Promise<boolean>;
2396
+ protected getInitialValue({ value, properties, }: TApiaFieldWithAttributeBaseProps<TApiaCheckboxProperties>): Promise<boolean>;
2397
+ setValue(newValue: boolean, options?: Partial<{
2398
+ comparator: Comparator$1<any>;
2399
+ format: 'd/m/Y' | 'apia';
2400
+ markAsDirty: boolean;
2401
+ synchronize: boolean;
2402
+ }> | undefined): Promise<boolean>;
2409
2403
  }
2410
2404
 
2411
- type Comparator<T> = (a: T, b: T) => boolean;
2412
- declare const deepEqual: Comparator<any>;
2413
-
2414
- /**
2415
- * @public
2416
- *
2417
- * The `EventEmitter` class is a generic utility for handling events. It allows subscribing to and emitting events.
2418
- * This class is generic and works with a `Map` where keys are event names and values are the types associated with those events.
2419
- *
2420
- * @typeParam Events - An extension of `Map` where the key is the event name and the value is the type of data associated with that event.
2421
- */
2422
- declare class EventEmitter<Events extends Map$1> {
2423
- protected callbacks: Record<'on' | 'once', Callbacks<Events>>;
2424
- protected enabled: boolean;
2425
- protected debugMode: boolean;
2426
- debug(enable?: boolean): void;
2427
- /**
2428
- * Emits an event with the given data. Any listeners subscribed to this event will be invoked with the passed data.
2429
- *
2430
- * @param event - The event name to emit.
2431
- * @param data - The data associated with the event. Its type is dependent on the event name.
2432
- */
2433
- emit<K extends keyof Events>(event: K, data: Events[K]): void;
2434
- /**
2435
- * Reflects the current emitter state. A disabled state indicates that the emitter wont call listeners until its functionality gets enabled again.
2436
- */
2437
- get isEnabled(): boolean;
2438
- off<K extends keyof Events>(event: K, cb: Callback<Events, K>): void;
2439
- /**
2440
- * Subscribes a callback function to an event. The callback is invoked each time the event is emitted.
2441
- *
2442
- * @param event - The event name to listen to.
2443
- * @param cb - The callback function to be invoked when the event is emitted.
2444
- * @returns A function to unsubscribe the event listener.
2445
- */
2446
- on<K extends keyof Events>(event: K, cb: Callback<Events, K>): UnSubscriber;
2447
- /**
2448
- * Subscribes a callback function to an event for a single occurrence. After the event is emitted once, the listener is automatically removed.
2449
- *
2450
- * @param event - The event name to listen to for a single occurrence.
2451
- * @param cb - The callback function to be invoked when the event is emitted.
2452
- * @returns A function to unsubscribe the event listener.
2453
- */
2454
- once<K extends keyof Events>(event: K, cb: Callback<Events, K>): UnSubscriber;
2405
+ type EditorEvents = 'onChange';
2406
+ declare class Editor extends TranslatableField<TApiaEditorProperties, string> {
2407
+ fireEvent(eventName: EditorEvents): Promise<boolean>;
2408
+ protected isValidValue(): boolean;
2455
2409
  }
2456
2410
 
2457
- /**
2458
- * @private
2459
- */
2460
- type EmitterState<Events extends Map$1> = {
2461
- [K in keyof Events]: Events[K];
2462
- };
2463
- /**
2464
- * Extends EventEmitter to manage and emit events with state persistence.
2465
- * This class allows emitting and listening to typed events while also keeping
2466
- * a state that can be accessed synchronously for each event.
2467
- *
2468
- * @param initialState - If given will be passed to subscriptions
2469
- *
2470
- * @template Events - A mapping of event names to their associated data types.
2471
- * @extends EventEmitter<Events>
2472
- */
2473
- declare class StatefulEmitter<Events extends Map$1> extends EventEmitter<Events> {
2474
- protected state: EmitterState<Events>;
2475
- constructor(initialState?: Partial<Events>);
2476
- emit<K extends keyof Events>(event: K, data: Events[K]): void;
2477
- on<K extends keyof Events>(event: K, cb: Callback<Events, K>): UnSubscriber;
2478
- once<K extends keyof Events>(event: K, cb: Callback<Events, K>): UnSubscriber;
2479
- /**
2480
- * Retrieves the stored state for a given event
2481
- */
2482
- getState<K extends keyof Events>(event: K): Events[K];
2483
- /**
2484
- * Just an alias for emit, with the advantage that can be called with a callback as second parameter in which case behaves exactly as react's setState.
2485
- */
2486
- setState<K extends keyof Events>(event: K, data: SetStateAction<Events[K]>): void;
2411
+ declare class File$1 extends TranslatableField<TApiaFileProperties> {
2412
+ uploader: FormsUploader;
2413
+ init(form: Form): Promise<void>;
2414
+ validate(): Promise<boolean>;
2415
+ setValue(_newValue: any, _options?: Partial<{
2416
+ comparator: Comparator$1<any>;
2417
+ synchronize: boolean;
2418
+ }> | undefined): Promise<boolean>;
2419
+ loadFromDefinition(def: string): void;
2487
2420
  }
2488
2421
 
2489
- type BouncingMap<Events extends Map$1> = {
2490
- [K in keyof Events]: number;
2422
+ type GridEvents = 'gridAdd' | 'gridDelete' | 'gridSort' | 'gridColumnSelect';
2423
+ type GridColumn = {
2424
+ fldId: string;
2425
+ label: string;
2426
+ title: string;
2427
+ width: string;
2428
+ required: boolean;
2429
+ hidden: boolean;
2491
2430
  };
2492
- declare const NullObject: unique symbol;
2493
- type ThrottlingMap<Events extends Map$1> = {
2494
- [K in keyof Events]: Events[K] | typeof NullObject;
2431
+ type GridState = {
2432
+ definition: Omit<TApiaFieldBaseDefinition<GridProps>, 'properties'>;
2433
+ header: GridColumn[];
2434
+ isLoading: boolean;
2435
+ isMaximized: boolean;
2436
+ showAdditionalColumn: boolean;
2495
2437
  };
2496
- type ThrottlingMarkers<Events extends Map$1> = {
2497
- [K in keyof Events]: boolean;
2438
+ type GridDefinition = TApiaFieldBaseDefinition<GridProps>;
2439
+ type FieldState = {
2440
+ properties: any;
2441
+ value?: any;
2498
2442
  };
2499
- type DebounceOptions = Partial<{
2500
- timing: number;
2501
- }>;
2502
- type ThrottleOptions = Partial<{
2503
- emitOnStart?: boolean;
2504
- timing: number;
2505
- }>;
2506
- /**
2507
- * @public
2508
- *
2509
- * The BouncingEmitter class is an extension of EventEmitter which adds debouncing and throttling functionality.
2510
- *
2511
- * @typeParam — Events - An extension of Map where the key is the event name and the value is the type of data associated with that event.
2512
- */
2513
- declare class BouncingEmitter<Events extends Map$1> extends StatefulEmitter<Events> {
2514
- protected bouncingTimeouts: BouncingMap<Events>;
2515
- protected defaultTiming: number;
2516
- /**
2517
- * Debounces a event emit with until there is no call to the emit methods by (timing)ms. Take the following event throttling, where each E is a call to this method and each character represents 20ms:
2518
- *
2519
- * E_E_E_E_E_E_E_E_E
2520
- *
2521
- * If timing is configured to 100ms, which is the default, the emission will occur as follows:
2522
- *
2523
- * _____________________E
2524
- */
2525
- debounce<K extends keyof Events>(event: K, data: Events[K], configuration?: DebounceOptions): void;
2443
+ type GridProps = TApiaFieldCommonProperties & TApiaGridProperties & {
2526
2444
  /**
2527
- * Throttles a event emit with the warranty that the data will be emitted at most every (timing)ms. Take the following event throttling, where each E is a call to this method and each character represents 20ms:
2528
- *
2529
- * E_E_E_E_E_E_E_E_E
2530
- *
2531
- * If timing is configured to 100ms, which is the default, the emission will occur as follows:
2532
- *
2533
- * ____E____E____E______E
2534
- *
2535
- * @param configuration.emitOnStart - Emits an event on the first call to throttle when no pending throttle is stored. **If emitOnStart is true and an only call to throttle is made, it will emit an only event.**
2445
+ * Mostrar u ocultar botones de eliminar específicos según fila
2536
2446
  */
2537
- protected throttleData: ThrottlingMap<Events>;
2538
- protected throttleEmittedOnInit: ThrottlingMarkers<Events>;
2539
- throttle<K extends keyof Events>(event: K, data: Events[K], configuration?: ThrottleOptions): void;
2447
+ shownDeleteButtons: Map<string | number, boolean>;
2540
2448
  /**
2541
- * This method is a mix between setState and debounce
2449
+ * Mostrar u ocultar botones de edición específicos según fila
2542
2450
  */
2543
- setStateDebounced<K extends keyof Events>(event: K, data: SetStateAction<Events[K]>, configuration?: DebounceOptions): void;
2451
+ shownEditionButtons: Map<string | number, boolean>;
2544
2452
  /**
2545
- * This method is a mix between setState and throttle
2453
+ * Shorthands for better semantics
2546
2454
  */
2547
- setStateThrottled<K extends keyof Events>(event: K, data: SetStateAction<Events[K]>, configuration?: ThrottleOptions): void;
2548
- }
2549
-
2550
- declare function getLabel(label: string, replacers?: Partial<{
2551
- text: Record<string, string>;
2552
- tooltip: Record<string, string>;
2553
- }>): {
2554
- text: string;
2555
- tooltip: string;
2455
+ hideDocInfoButton: boolean;
2456
+ currentPage: number;
2457
+ maxRows: number;
2458
+ pages: number;
2459
+ pageSize: number;
2460
+ paged: boolean;
2461
+ gridQuery?: string;
2556
2462
  };
2557
2463
 
2558
- declare function parseXml<T>(xmlString: string): T;
2559
-
2560
- declare class ShowPathSelection extends FlowModal<{
2561
- confirmed: boolean;
2562
- path: string;
2563
- }> {
2564
- fetchResult: TApiaLoadForm['form'];
2565
- confirm: (result: {
2566
- confirmed: boolean;
2567
- path: string;
2568
- }) => Promise<Status | FlowModal<any>>;
2569
- constructor(fetchResult: TApiaLoadForm['form'], confirm: (result: {
2570
- confirmed: boolean;
2571
- path: string;
2572
- }) => Promise<Status | FlowModal<any>>);
2573
- }
2574
-
2575
- declare class ShowPoolSelection extends FlowModal<{
2576
- confirmed: boolean;
2577
- group: string;
2578
- }> {
2579
- fetchResult: TApiaLoadForm['form'];
2580
- confirm: (result: {
2581
- confirmed: boolean;
2582
- group: string;
2583
- }) => Promise<Status>;
2584
- constructor(fetchResult: TApiaLoadForm['form'], confirm: (result: {
2585
- confirmed: boolean;
2586
- group: string;
2587
- }) => Promise<Status>);
2588
- }
2589
-
2590
- declare class ShowSignSelection extends FlowModal<{
2591
- confirmed: boolean;
2592
- signed: boolean;
2593
- }> {
2594
- fetchResult: any;
2595
- confirm: (result: {
2596
- confirmed: boolean;
2597
- signed: boolean;
2598
- }) => Promise<Status>;
2599
- constructor(fetchResult: any, confirm: (result: {
2600
- confirmed: boolean;
2601
- signed: boolean;
2602
- }) => Promise<Status>);
2603
- }
2464
+ type GridEditionModal = {
2465
+ close: () => unknown;
2466
+ open: () => unknown;
2467
+ };
2604
2468
 
2605
- declare class ShowConfirmMessage extends FlowModal<{
2606
- confirmed: boolean;
2607
- }> {
2608
- fetchResult: any;
2609
- confirm: (result: {
2610
- confirmed: boolean;
2611
- }) => Promise<Status>;
2612
- constructor(fetchResult: any, confirm: (result: {
2613
- confirmed: boolean;
2614
- }) => Promise<Status>);
2469
+ type GridFooterHandlerState = {
2470
+ isSortUpDisabled: boolean;
2471
+ isSortDownDisabled: boolean;
2472
+ };
2473
+ declare class GridFooterHandler {
2474
+ #private;
2475
+ private grid;
2476
+ state: GridFooterHandlerState;
2477
+ constructor(grid: Grid);
2478
+ private init;
2479
+ get showAddButton(): boolean;
2480
+ get showDelButton(): boolean;
2481
+ get showSortButtons(): boolean;
2482
+ get isSortUpDisabled(): boolean;
2483
+ get isSortDownDisabled(): boolean;
2484
+ get isAddDisabled(): boolean;
2485
+ get isDeleteDisabled(): boolean;
2486
+ sortUp(): Promise<void>;
2487
+ sortDown(): Promise<void>;
2488
+ addRow(): Promise<void>;
2489
+ deleteSelectedRows(): Promise<void>;
2615
2490
  }
2616
2491
 
2617
- declare class ShowSign extends FlowModal<{
2618
- confirmed: boolean;
2619
- }> {
2620
- fetchResult: any;
2621
- confirm: (result: {
2622
- confirmed: boolean;
2623
- }) => Promise<Status>;
2624
- constructor(fetchResult: any, confirm: (result: {
2625
- confirmed: boolean;
2626
- }) => Promise<Status>);
2492
+ /**
2493
+ * Esta clase se encarga de recordar los campos que ya fueron accedidos,
2494
+ * optimizando el tiempo de acceso en grillas de gran tamaño.
2495
+ */
2496
+ declare class FieldsCache {
2497
+ private cached;
2498
+ private getIndex;
2499
+ clear(): void;
2500
+ clearIndex(index: number): void;
2501
+ get(index: number, id: number | string): Field<any, TApiaFieldBaseDefinition<any>, {
2502
+ definition: Omit<TApiaFieldBaseDefinition<any>, "properties">;
2503
+ }>;
2504
+ set(index: number, id: number | string, field: Field<any>): void;
2505
+ swap(index1: number, index2: number): void;
2506
+ truncate(index: number): void;
2627
2507
  }
2628
2508
 
2629
- interface IIProperty {
2630
- [key: string]: string;
2631
- }
2632
- interface IApiaFunctions {
2633
- getLastModalReturn: () => string[];
2634
- getModalReturn: () => string[];
2635
- getModalValue: () => string;
2636
- getModalShowValue: () => string;
2637
- setLastModalReturn: (value: string[]) => void;
2638
- getModalSelectedRow: () => string[];
2639
- getForm(frmName: string, frmType?: string): IApiaForm | null;
2640
- getAllForms(): IApiaForm[];
2641
- getEntityForm(frmName: string): IApiaForm | null;
2642
- getProcessForm(frmName: string): IApiaForm | null;
2643
- getAttField(attType: 'P' | 'E', attId: string): IApiaField | IApiaField[] | undefined;
2644
- setStepTitle(stepNumber: number, stepTitle: string): void;
2645
- getCurrentStep(): number | null;
2646
- getCurrentTaskName(): string | null;
2647
- getCurrentProcessName(): string | null;
2648
- getRootPath(): string | null;
2649
- getCurrentLanguageCode(): string | null;
2650
- toJSNumber(value: string): number | string;
2651
- toApiaNumber(value: number): number | string;
2652
- disableActionButton(btnIdx: string): void;
2653
- enableActionButton(btnIdx: string): void;
2654
- disableOptionButton(btnIdx: string): void;
2655
- enableOptionButton(btnIdx: string): void;
2656
- hideOptionButton(btnIdx: string): void;
2657
- showOptionButton(btnIdx: string): void;
2658
- openTab(title: string, url: string): void;
2659
- closeCurrentTab(): void;
2660
- showMessage(text: string): void;
2661
- showConfirm(text: string, title: string, callbackFn: (win: boolean) => unknown): void;
2662
- }
2663
- interface IApiaForm {
2664
- getFrmId(): string | null;
2665
- getFrmParent(): string;
2666
- getFormName(): string;
2667
- getFormTitle(): string;
2668
- openForm(): void;
2669
- closeForm(): void;
2670
- getProperty<K extends keyof TApiaFormProperties>(name: K): TApiaFormProperties[K];
2671
- setProperty<K extends keyof TApiaFormProperties>(name: K, value: TApiaFormProperties[K]): void;
2672
- getField(fld: number | string, index?: number): IApiaField | undefined;
2673
- getFieldColumn(fldName: string): IApiaField[];
2674
- getAllFields(): IApiaField[];
2675
- clearForm(clearReadonlyFields: boolean, deleteGridsRows: boolean): void;
2676
- }
2677
- interface IApiaField {
2678
- get fldType(): TApiaFieldType;
2679
- get fldId(): string;
2509
+ declare class Grid extends Field<GridProps, GridDefinition, GridState> {
2510
+ private rowId;
2511
+ protected cache: FieldsCache;
2512
+ protected mutex: Mutex;
2513
+ protected newRowStates: FieldState[][];
2514
+ protected initialStates: FieldState[][];
2515
+ protected fieldsDefinitions: TApiaFieldBaseDefinition<Record<string, any>>[];
2516
+ protected readonly managedAttIds: Set<string | number>;
2517
+ protected readonly managedAttNames: Set<string>;
2518
+ protected readonly managedFieldIds: Set<string | number>;
2519
+ protected readonly managedFieldsNames: Set<string>;
2520
+ protected _editionModalHandler: GridEditionModal | null;
2521
+ protected readonly _footerController: GridFooterHandler;
2522
+ protected readonly tableController: TableController;
2523
+ get controller(): TableController;
2524
+ get currentPage(): number;
2525
+ get editionModalHandler(): GridEditionModal | null;
2526
+ /**
2527
+ * Returns the final index of the current page
2528
+ */
2529
+ get finalIndex(): number;
2530
+ get footerController(): GridFooterHandler;
2531
+ get header(): GridColumn[];
2532
+ get isPaged(): boolean;
2533
+ get length(): number;
2534
+ get minIndex(): number;
2535
+ get pageCount(): number;
2536
+ get pageSize(): number;
2537
+ get selectedIndices(): number[];
2538
+ get selectedItems(): Field<TApiaFieldCommonProperties, TApiaFieldBaseDefinition<TApiaFieldCommonProperties>, {
2539
+ definition: Omit<TApiaFieldBaseDefinition<TApiaFieldCommonProperties>, "properties">;
2540
+ }>[][];
2541
+ get startIndex(): number;
2542
+ constructor({ properties, field, ...definition }: TApiaGridDefinition);
2543
+ private resolveHeaderWidth;
2544
+ protected getGridActionFromEventName(eventName: GridEvents): "delete" | "add" | undefined;
2545
+ protected fireServerEvent(eventName: GridEvents, params?: FireEventParameters): Promise<boolean>;
2680
2546
  /**
2681
- * Assigns a new value to the property whoose name's correspond to that determined by the name paremeter.
2547
+ * Grid methods
2682
2548
  */
2683
- setProperty<K extends keyof TApiaFieldCommonProperties>(name: K, value: TApiaFieldCommonProperties[K]): void;
2549
+ addRow(): Promise<boolean>;
2550
+ closeEditionModal(): void;
2551
+ deleteAllRows(): Promise<boolean>;
2684
2552
  /**
2685
- * Returns the current value of the property determined by the name in the paremeter.
2553
+ * @param index Si se pasa, se borran el o los índices provistos. Sino, se borran las filas seleccionadas, si es que hay alguna.
2686
2554
  */
2687
- getProperty<K extends keyof TApiaFieldCommonProperties>(name: K): TApiaFieldCommonProperties[K];
2555
+ deleteRows(index?: number | number[]): Promise<boolean>;
2556
+ fireScriptEvent(eventName: GridEvents): Promise<boolean>;
2557
+ fireEvent(eventName: GridEvents, params?: FireEventParameters & {
2558
+ mutex: boolean;
2559
+ }): Promise<boolean>;
2560
+ getAllColumns(): Field<TApiaFieldCommonProperties, TApiaFieldBaseDefinition<TApiaFieldCommonProperties>, {
2561
+ definition: Omit<TApiaFieldBaseDefinition<TApiaFieldCommonProperties>, "properties">;
2562
+ }>[][];
2688
2563
  /**
2689
- * Sets the focus on the field if possible.
2564
+ * @param field - Nombre del campo o del atributo
2690
2565
  */
2691
- setFocus(): void;
2566
+ getColumn(field: string): Field<TApiaFieldCommonProperties, TApiaFieldBaseDefinition<TApiaFieldCommonProperties>, {
2567
+ definition: Omit<TApiaFieldBaseDefinition<TApiaFieldCommonProperties>, "properties">;
2568
+ }> | Field<TApiaFieldCommonProperties, TApiaFieldBaseDefinition<TApiaFieldCommonProperties>, {
2569
+ definition: Omit<TApiaFieldBaseDefinition<TApiaFieldCommonProperties>, "properties">;
2570
+ }>[] | undefined;
2571
+ getCurrentPage(): number;
2692
2572
  /**
2693
- * Returns true if the field is part of a grid.
2573
+ * @param field - Nombre del campo o del atributo
2694
2574
  */
2695
- isInGrid(): boolean;
2575
+ getField(field: string, index?: number): Field | Field[] | undefined;
2576
+ getFieldByAttributeId(attId: string | number, index?: number): Field | Field[] | undefined;
2577
+ getFieldByAttributeName(attName: string, index?: number): Field | Field[] | undefined;
2578
+ getFieldById(id: string | number, index?: number): Field | Field[] | undefined;
2579
+ getFieldByName(name: string, index?: number): Field | Field[] | undefined;
2580
+ getRowByFieldIndex(index: number): Field<TApiaFieldCommonProperties, TApiaFieldBaseDefinition<TApiaFieldCommonProperties>, {
2581
+ definition: Omit<TApiaFieldBaseDefinition<TApiaFieldCommonProperties>, "properties">;
2582
+ }>[] | null;
2583
+ getSelectedRows(): Field<TApiaFieldCommonProperties, TApiaFieldBaseDefinition<TApiaFieldCommonProperties>, {
2584
+ definition: Omit<TApiaFieldBaseDefinition<TApiaFieldCommonProperties>, "properties">;
2585
+ }>[][];
2586
+ refreshColumnsVisibilities(): void;
2587
+ init(form: Form): Promise<void>;
2588
+ openEditionModal(handler: GridEditionModal): void;
2589
+ refresh(): Promise<boolean>;
2590
+ sortColumn(fldId: string): Promise<boolean>;
2591
+ sortDown(index?: number | number[]): Promise<boolean>;
2592
+ sortUp(index?: number | number[]): Promise<boolean>;
2593
+ toggleColumnVisibility(fieldName: string, isShown?: boolean): void;
2594
+ toggleDeleteButton(rowIndex: number, isShown?: boolean): void;
2595
+ toggleEditFormButton(rowIndex: number, isShown?: boolean): void;
2596
+ validate(): Promise<true | Field>;
2597
+ protected actualRefreshAction(): Promise<boolean>;
2598
+ protected addRowFromDefinitions(select: boolean, definitions?: TApiaFieldBaseDefinition<Record<string, any>>[]): Promise<Row>;
2599
+ protected asyncAction<T>(cb: () => Promise<T>, mutex?: boolean): Promise<T>;
2600
+ protected calculateMustShowAdditionalColumn(): void;
2601
+ protected getRow(index: number): Field<TApiaFieldCommonProperties, TApiaFieldBaseDefinition<TApiaFieldCommonProperties>, {
2602
+ definition: Omit<TApiaFieldBaseDefinition<TApiaFieldCommonProperties>, "properties">;
2603
+ }>[];
2604
+ protected rebuildGrid(xmlString: string | TApiaGridDefinition): Promise<void>;
2605
+ protected runAction<T extends Record<string, any>>(behave: IApiaApiPostConfig<Record<string, any>>): Promise<TApiaApiAxiosResponse<(T & ResponseSysMessages) | null> | null>;
2606
+ private swapRows;
2607
+ toggleMaximize(): void;
2696
2608
  }
2697
- type TOpenModal = {
2698
- height?: number;
2699
- onClose?: () => unknown;
2700
- url: string;
2701
- width?: number;
2702
- } & Pick<TModal, 'size' | 'className' | 'hideCloseButton' | 'maxWidth' | 'noHeader' | 'shouldCloseOnEsc' | 'shouldCloseOnOverlayClick' | 'title'>;
2703
- interface IButton {
2704
- disabled: boolean;
2705
- hidden: boolean;
2706
- label: string;
2707
- isLoading: boolean;
2708
- title: string;
2709
- variant?: string;
2710
- action: Promise<() => unknown> | string;
2711
- id: TActionButtons;
2609
+
2610
+ declare class GridPaginated extends Grid {
2611
+ /**
2612
+ * Returns the final index of the current page
2613
+ */
2614
+ get finalIndex(): number;
2615
+ addRow(): Promise<boolean>;
2616
+ deleteRows(index?: number | number[]): Promise<boolean>;
2617
+ gotoPage(page: number): Promise<boolean>;
2618
+ sortDown(index?: number | number[]): Promise<boolean>;
2619
+ sortUp(index?: number | number[]): Promise<boolean>;
2712
2620
  }
2713
- type TActionButtons = 'VIEW_DOCS' | 'CLOSE' | 'DELEGATE' | 'CLOSE' | 'CONFIRM' | 'NEXT' | 'PRINT' | 'PREVIOUS' | 'RELEASE' | 'SAVE' | 'SIGN' | 'SHARE';
2714
- type TApiaFieldType = 'area' | 'button' | 'captcha' | 'check' | 'editor' | 'file' | 'grid' | 'hidden' | 'href' | 'image' | 'input' | 'label' | 'multiple' | 'password' | 'radio' | 'select' | 'title' | 'tree' | 'form';
2715
- type PossibleValue = {
2716
- value: string | number;
2717
- text: string;
2718
- selected?: boolean;
2719
- };
2720
2621
 
2721
- declare class ButtonsAction {
2722
- private button;
2723
- constructor(button: IButton);
2724
- private update;
2725
- get action(): this;
2726
- get disabled(): boolean;
2727
- get props(): {
2728
- disabled: boolean;
2729
- hidden: boolean;
2730
- loading: boolean;
2731
- };
2732
- get label(): string;
2733
- get title(): string;
2734
- get variant(): string;
2735
- set title(title: string);
2736
- set variant(variant: string);
2737
- disable(): void;
2738
- enable(): void;
2739
- hide(): void;
2740
- show(): void;
2622
+ declare class AdditionalCell extends Cell {
2623
+ grid: Grid;
2624
+ getIndex: () => number;
2625
+ remove: () => unknown;
2626
+ openEditionModal?: ((handler: GridEditionModal) => unknown) | undefined;
2627
+ constructor(grid: Grid, getIndex: () => number, remove: () => unknown, openEditionModal?: ((handler: GridEditionModal) => unknown) | undefined);
2628
+ get hasEditionModal(): boolean;
2741
2629
  }
2742
2630
 
2743
- declare global {
2744
- interface Window {
2745
- lastModalReturn: string[];
2746
- }
2631
+ declare class GridCell extends Cell {
2632
+ getField(): Field;
2747
2633
  }
2748
- declare class ApiaFunctions implements IApiaFunctions {
2749
- static instance: ApiaFunctions;
2750
- private constructor();
2751
- getFormByType(frmName: string, frmType: TFrmParent): IApiaForm | null;
2752
- actionButton(id: string | number): ButtonsAction | undefined;
2753
- admEntity(entName: string, entNum?: number, parameters?: string, width?: number, height?: number): void;
2754
- clearMessages(): void;
2755
- clickActionButton(button: number): void;
2756
- closeCurrentTab(): void;
2757
- disableActionButton(id: string | number): void;
2758
- disableOptionButton(id: string | number): void;
2759
- enableActionButton(id: string | number): void;
2760
- enableOptionButton(id: string | number): void;
2761
- getAllForms(): IApiaForm[];
2762
- getAllFormsByType(type: 'P' | 'E'): IApiaForm[];
2763
- getAttField(attType: 'P' | 'E', attId: string): IApiaField | IApiaField[] | undefined;
2764
- getButtonAction(id: number | string): TActionButtons;
2765
- getCurrentLanguageCode(): string | null;
2766
- getCurrentProcessName(): string | null;
2767
- getCurrentStep(): number | null;
2768
- getCurrentTaskName(): string | null;
2769
- getEntityForm(frmName: string): IApiaForm | null;
2770
- getForm(frmName: string, frmType?: string): IApiaForm | null;
2771
- getLastModalReturn(): string[];
2772
- getModalReturn(): string[];
2773
- getModalSelectedRow(): string[];
2774
- getModalShowValue(): string;
2775
- getModalValue(): string;
2776
- getProcessForm(frmName: string): IApiaForm | null;
2777
- getRootPath(): string | null;
2778
- hideActionButton(id: string | number): void;
2779
- hideOptionButton(id: string | number): void;
2780
- openModal(props: TOpenModal$1): void;
2781
- openTab(title: string, url: string): void;
2782
- saveTask(): void;
2783
- setLastModalReturn(value: string[]): void;
2784
- setStepTitle(stepNumber: number, stepTitle: string): void;
2785
- showActionButton(id: string | number): void;
2786
- showConfirm(text: string, title: string, callbackFn: (win: boolean) => unknown): void;
2787
- showMessage(text: string, title?: string, type?: TDispatchedNotification['type']): void;
2788
- showOptionButton(id: string | number): void;
2789
- toApiaNumber(value: number): number | string;
2790
- toJSNumber(value: string): number | string;
2791
- viewAdmEntity(entName: string, entNum?: number): void;
2634
+
2635
+ type HeaderCellState = CellState;
2636
+ declare class HeaderCell extends Cell<HeaderCellState> {
2637
+ grid: Grid;
2638
+ constructor(grid: Grid, state: CellState);
2639
+ sort(): void;
2640
+ getField(): Field;
2792
2641
  }
2793
2642
 
2794
- declare class ActionsController {
2795
- static CONFIRM: number;
2796
- static NEXT: number;
2797
- static PREVIOUS: number;
2798
- static SIGN: number;
2799
- static SAVE: number;
2800
- static RELEASE: number;
2801
- static DELEGATE: number;
2802
- static SHARE: number;
2803
- static PRINT: number;
2804
- static VIEW_DOCS: number;
2805
- static CLOSE: number;
2806
- private static _instance;
2807
- static get instance(): ActionsController;
2808
- private buttons;
2809
- addButton(button: IButton): void;
2810
- getButton(id: TActionButtons): ButtonsAction | undefined;
2643
+ declare class Hidden extends FieldWithAttribute<TApiaHiddenProperties> {
2811
2644
  }
2812
2645
 
2813
- declare abstract class ApiaField implements IApiaField {
2814
- #private;
2815
- constructor(field: Field);
2816
- get fldType(): "button" | "check" | "file" | "hidden" | "image" | "input" | "href" | "multiple" | "radio" | "select" | "label" | "area" | "title" | "editor" | "grid" | "password" | "captcha" | "tree";
2817
- get fldId(): string;
2818
- get index(): number;
2819
- setProperty<K extends keyof TApiaFieldCommonProperties>(name: K, value: TApiaFieldCommonProperties[K]): void;
2820
- getProperty<K extends keyof TApiaFieldCommonProperties>(name: K): TApiaFieldCommonProperties[K];
2821
- setFocus(): IApiaField | null;
2822
- isInGrid(): boolean;
2646
+ declare class Image extends Field<TApiaImageProperties> {
2823
2647
  }
2824
2648
 
2825
- interface IButtonField extends IApiaField {
2826
- fireClickEvent(): void;
2827
- getValue(): string | null;
2649
+ type InputEvents$1 = 'onChange' | 'onModalReturn';
2650
+ declare class Input extends TranslatableField<TApiaInputProperties, string, TApiaInputDefinition> {
2651
+ fireEvent(eventName: InputEvents$1): Promise<boolean>;
2652
+ setValue(newValue: string | Date | number, options?: SetValueOptions): Promise<boolean>;
2653
+ private validateRegex;
2654
+ validate(): Promise<boolean>;
2655
+ protected isValidValue(): boolean;
2828
2656
  }
2829
- declare class ButtonField extends ApiaField implements IButtonField {
2830
- #private;
2831
- constructor(field: Button);
2832
- fireClickEvent(): void;
2833
- getValue(): string | null;
2834
- clearValue(): void;
2657
+
2658
+ declare class Label extends Field<TApiaLabelProperties, TApiaLabelDefinition> {
2659
+ }
2660
+
2661
+ declare class Link extends Field<TApiaLinkProperties> {
2662
+ }
2663
+
2664
+ type TApiaModalInputDefinition = TApiaFieldWithAttributeBaseProps<TApiaInputProperties> & {
2665
+ alwaysShowMask?: boolean;
2666
+ cantDecimals?: string;
2667
+ decimalZeroes?: string;
2668
+ fieldType: 'input';
2669
+ isoDateValue?: string;
2670
+ length?: number;
2671
+ mask?: string;
2672
+ maskPlaceholder?: string;
2673
+ regExp?: string;
2674
+ qryId?: string;
2675
+ qry_show_value?: string;
2676
+ value: {
2677
+ showValue: string;
2678
+ storeValue?: string;
2679
+ };
2680
+ valueType?: 'D';
2681
+ };
2682
+
2683
+ type InputEvents = 'onChange' | 'onModalReturn';
2684
+ type ModalInputValue = {
2685
+ showValue: string;
2686
+ storeValue?: string;
2687
+ };
2688
+ declare class ModalInput extends FieldWithAttribute<TApiaInputProperties, ModalInputValue> {
2689
+ constructor({ value, ...definition }: TApiaModalInputDefinition);
2690
+ fireEvent(eventName: InputEvents): Promise<boolean>;
2691
+ setValueFromInputWrite(value: string): Promise<void>;
2692
+ setValueFromModalSelection(rowId: string): Promise<void>;
2693
+ validate(): Promise<boolean>;
2694
+ protected getSynchronizePostConfiguration(value: ModalInputValue): IApiaApiPostConfig<any>;
2695
+ }
2696
+
2697
+ declare class Multiple extends FieldWithAttribute<TApiaMultipleProperties, string[]> {
2698
+ constructor({ possibleValue, value, ...definition }: TApiaMultipleDefinition);
2699
+ setValue(newValue: string[], options?: Partial<{
2700
+ comparator: Comparator$1<any>;
2701
+ format: 'd/m/Y' | 'apia';
2702
+ markAsDirty: boolean;
2703
+ synchronize: boolean;
2704
+ }> | undefined): Promise<boolean>;
2705
+ validate(): Promise<boolean>;
2706
+ }
2707
+
2708
+ declare class Password extends FieldWithAttribute<TApiaPasswordProperties, string> {
2709
+ protected isValidValue(): boolean;
2710
+ }
2711
+
2712
+ type RadioEvents = 'onPopulate' | 'onChange' | 'onClick';
2713
+ declare class Radio extends FieldWithAttribute<TApiaRadioProperties, number | string, TApiaRadioButtonDefinition> {
2714
+ constructor({ possibleValue, ...definition }: TApiaRadioButtonDefinition);
2715
+ init(form: Form): Promise<void>;
2716
+ fireEvent(eventName: RadioEvents): Promise<boolean>;
2717
+ }
2718
+
2719
+ declare class Select extends FieldWithAttribute<TApiaSelectProperties, string, TApiaSelectDefinition> {
2720
+ constructor({ possibleValue, ...definition }: TApiaSelectDefinition);
2721
+ protected getInitialValue({ properties: { possibleValue }, }: TApiaFieldWithAttributeBaseProps<TApiaSelectProperties>): Promise<string>;
2835
2722
  }
2836
2723
 
2837
- type TEditorField = IApiaField;
2838
- declare class EditorField extends ApiaField implements TEditorField {
2839
- constructor(field: Editor);
2724
+ declare class Textarea extends TranslatableField<TApiaTextareaProperties, string> {
2725
+ protected isValidValue(): boolean;
2840
2726
  }
2841
2727
 
2842
- declare class ApiaAttribute {
2843
- #private;
2844
- constructor(attribute: Attribute);
2845
- get attLabel(): string;
2846
- get name(): string;
2847
- get id(): string;
2848
- get valueType(): TApiaFieldValueType;
2728
+ declare class Title extends Field<TApiaTitleProperties> {
2849
2729
  }
2850
- declare class ApiaFieldWithAttribute<T = string | boolean> extends ApiaField {
2851
- #private;
2852
- constructor(field: FieldWithAttribute);
2853
- get attribute(): ApiaAttribute;
2854
- clearValue(): void;
2855
- getValue(): any;
2856
- setValue(v: T): void;
2857
- getLabel(): string | null | void;
2858
- getProperty<K extends keyof TApiaFieldWithAttributeProperties>(name: K): TApiaFieldWithAttributeProperties[K];
2730
+
2731
+ type TTreeValue = string | number;
2732
+ type TreeEvents = 'onPopulate' | 'onChange' | 'onClick';
2733
+ declare class Tree extends FieldWithAttribute<TApiaTreeProperties, TTreeValue[], TApiaTreeDefinition> {
2734
+ controller: MobXTree;
2735
+ private parseTreeValues;
2736
+ constructor({ possibleValue, ...props }: TApiaTreeDefinition);
2737
+ protected getSynchronizePostConfiguration(value: TTreeValue[]): IApiaApiPostConfig<any>;
2738
+ fireEvent(eventName: TreeEvents): Promise<boolean>;
2739
+ setProperty<K extends keyof TApiaTreeProperties>(propName: K, propValue: TApiaTreeProperties[K]): void;
2740
+ init(form: Form): Promise<void>;
2741
+ protected isValidValue(): boolean;
2742
+ setValue(newValue: TTreeValue[], options?: Partial<{
2743
+ comparator: Comparator$1<any>;
2744
+ format: 'd/m/Y' | 'apia';
2745
+ markAsDirty: boolean;
2746
+ synchronize: boolean;
2747
+ }> | undefined): Promise<boolean>;
2859
2748
  }
2860
2749
 
2861
- type TOptionsMap$2 = Map<string, PossibleValue>;
2862
- type TOptionsAsArray = PossibleValue[];
2863
- declare class SelectField extends ApiaFieldWithAttribute<string | number | (string | number)[]> {
2864
- #private;
2865
- constructor(field: Select);
2866
- getOptions(asObject: boolean): TOptionsMap$2 | TOptionsAsArray | null;
2867
- addOption(optionValue: string | number, showValue: string, allowRepeatedValue: boolean): void;
2868
- setOptions(optionsArray: PossibleValue[] | PossibleValue): void;
2869
- removeOption(optionValue: string | number): void;
2870
- getSelectedOption(asObject: boolean): TOptionsMap$2 | PossibleValue[] | null;
2871
- getSelectedText(): string | null;
2872
- clearOptions(): void;
2750
+ type TSchedulerState = {
2751
+ data?: TScheduleResult;
2752
+ initialProps: IScheduleInitialProps;
2753
+ url?: string;
2754
+ selectedCell?: string | null;
2755
+ focusStage?: string;
2756
+ stageList?: string[];
2757
+ selectedDay?: ISelectedDay;
2758
+ stageData: IStage[];
2759
+ isStageMounted: Record<string, boolean>;
2760
+ validation: FieldValidationState;
2761
+ isLoading?: 'NotLoading' | 'Today' | 'LastWeek' | 'DateInput' | 'NextWeek' | 'DeleteWeek';
2762
+ };
2763
+ type TSelectedDateResponse = {
2764
+ success: boolean;
2765
+ };
2766
+ type TTskSchHour = {
2767
+ hour: string;
2768
+ disabled: boolean;
2769
+ value: string;
2770
+ };
2771
+ type TTskSchDay = {
2772
+ type: string;
2773
+ day: string;
2774
+ tskSchHour?: TTskSchHour | TTskSchHour[];
2775
+ isDisabled?: boolean;
2776
+ };
2777
+ type TScheduleResult = {
2778
+ calId: string;
2779
+ mode: string;
2780
+ overassign: string;
2781
+ weekNotConfigured: boolean;
2782
+ frec: string;
2783
+ tskSchId: string;
2784
+ mondayWeek: string;
2785
+ success: boolean;
2786
+ tskSchDay: TTskSchDay | TTskSchDay[];
2787
+ };
2788
+ interface IScheduleInitialProps {
2789
+ schId: string;
2790
+ proId: string;
2791
+ proVerId: string;
2792
+ tskId: string;
2793
+ showDisponibility: string;
2794
+ showAttributes: string;
2795
+ }
2796
+ interface ILabelSelectedDay {
2797
+ hour: string;
2798
+ day?: string | undefined;
2799
+ }
2800
+ interface ISelectedDay {
2801
+ hour?: string;
2802
+ day?: string;
2803
+ mondayWeek?: string;
2804
+ dayNumber?: number;
2805
+ morningOrAfternoonSelected?: number | null;
2806
+ }
2807
+ interface IStage {
2808
+ name: string;
2809
+ buttons?: IStageButton[];
2810
+ }
2811
+ interface IStageButton extends ButtonProps {
2812
+ label: string;
2813
+ title: string;
2814
+ action: () => unknown;
2815
+ isDisabled?: boolean;
2816
+ value?: string;
2817
+ isSelectedSelector: () => boolean;
2873
2818
  }
2819
+ type TSchInfoResult = {
2820
+ pro_instances: {
2821
+ pro_instance: TProcesses;
2822
+ };
2823
+ };
2824
+ type TProcesses = {
2825
+ id: number;
2826
+ attributes: {
2827
+ attribute: {
2828
+ title: string;
2829
+ value: string;
2830
+ }[];
2831
+ };
2832
+ }[];
2874
2833
 
2875
- declare class InputField extends ApiaFieldWithAttribute {
2876
- #private;
2877
- constructor(field: Input);
2878
- getObjectValue(): number | string | boolean | null;
2834
+ declare function getCurrentDate(): string;
2835
+ interface ISchedulerStore {
2836
+ }
2837
+ declare class Scheduler extends Field<TApiaSchedulerProperties> {
2838
+ state: TSchedulerState;
2839
+ private inited;
2840
+ protected readonly tableController: TableController;
2841
+ constructor(definition: TApiaFieldBaseDefinition<TApiaSchedulerProperties>);
2842
+ get controller(): TableController;
2843
+ get initialProperties(): {
2844
+ schId: string;
2845
+ proId: string;
2846
+ proVerId: string;
2847
+ tskId: string;
2848
+ showDisponibility: string;
2849
+ showAttributes: string;
2850
+ };
2851
+ init(form: Form): Promise<void>;
2852
+ loadWeek(weekDay?: string): Promise<void>;
2853
+ private parseRows;
2854
+ private isMorningTime;
2855
+ setState(newState: Partial<TSchedulerState>): void;
2856
+ setDay(day: ISelectedDay): void;
2857
+ setStage({ index, newStage }: {
2858
+ index: number;
2859
+ newStage: IStage;
2860
+ }): void;
2861
+ syncStage(day: TTskSchDay, hour: number): void;
2862
+ makeDaysStage(data?: TScheduleResult): void;
2863
+ private makeMorningOrAfternoonStage;
2864
+ private makeHoursStage;
2865
+ deleteDate(): Promise<void>;
2866
+ goNextWeek(): Promise<void>;
2867
+ goPreviousWeek(): Promise<void>;
2868
+ parsedDateLabel: () => string;
2869
+ getSchedulerColumns(data: TScheduleResult | null): CellState[];
2879
2870
  }
2880
2871
 
2881
- declare class TreeField extends ApiaFieldWithAttribute<string | number | (string | number)[]> {
2882
- #private;
2883
- constructor(field: Tree);
2884
- setValue(v: string | number | (string | number)[]): void;
2872
+ declare const IProperty: {
2873
+ readonly FUNC_LOAD: "onload";
2874
+ readonly FUNC_RELOAD: "onreload";
2875
+ readonly PROPERTY_FORM_INVISIBLE: "frmInvisible";
2876
+ readonly PROPERTY_FORM_HIDDEN: "frmHidden";
2877
+ readonly PROPERTY_FORM_CLOSED: "prpFrmClosed";
2878
+ readonly PROPERTY_FORM_TAB: "frmTab";
2879
+ readonly PROPERTY_FORM_HIGHLIGHT: "frmHighlight";
2880
+ readonly PROPERTY_FORM_DONT_FIRE: "frmDontFire";
2881
+ readonly PROPERTY_FORM_READONLY: "readOnly";
2882
+ readonly SIGNABLE_FORM: "signableForm";
2883
+ readonly MARKED_TO_SIGN: "markedToSign";
2884
+ readonly REQUIRED_SIGN: "requiredSignableForm";
2885
+ readonly LANGUAGES: "langs";
2886
+ readonly TYPE_INPUT: "input";
2887
+ readonly TYPE_SELECT: "select";
2888
+ readonly TYPE_RADIO: "radio";
2889
+ readonly TYPE_CHECK: "check";
2890
+ readonly TYPE_BUTTON: "button";
2891
+ readonly TYPE_AREA: "area";
2892
+ readonly TYPE_LABEL: "label";
2893
+ readonly TYPE_TITLE: "title";
2894
+ readonly TYPE_FILE: "file";
2895
+ readonly TYPE_MULTIPLE: "multiple";
2896
+ readonly TYPE_HIDDEN: "hidden";
2897
+ readonly TYPE_PASSWORD: "password";
2898
+ readonly TYPE_GRID: "grid";
2899
+ readonly TYPE_IMAGE: "image";
2900
+ readonly TYPE_HREF: "href";
2901
+ readonly TYPE_EDITOR: "editor";
2902
+ readonly TYPE_TREE: "tree";
2903
+ readonly TYPE_CAPTCHA: "captcha";
2904
+ readonly FUNC_CLICK: "onclick";
2905
+ readonly FUNC_CHANGE: "onchange";
2906
+ readonly FUNC_MODAL_RETURN: "onmodalreturn";
2907
+ readonly FUNC_ROW_ADD: "onrowadd";
2908
+ readonly FUNC_ROW_DELETE: "onrowdelete";
2909
+ readonly FUNC_ROW_SORT: "onrowsort";
2910
+ readonly FUNC_COL_SELECT: "oncolselect";
2911
+ readonly FIELD_PROPERTIES: "properties";
2912
+ readonly PROPERTY_NAME: "name";
2913
+ readonly PROPERTY_SIZE: "size";
2914
+ readonly PROPERTY_READONLY: "readonly";
2915
+ readonly PROPERTY_DISABLED: "disabled";
2916
+ readonly PROPERTY_MODAL_DISABLED: "modalDisabled";
2917
+ readonly PROPERTY_FONT_COLOR: "fontColor";
2918
+ readonly PROPERTY_VALUE: "value";
2919
+ readonly PROPERTY_REQUIRED: "required";
2920
+ readonly PROPERTY_COLSPAN: "colspan";
2921
+ readonly PROPERTY_ROWSPAN: "rowspan";
2922
+ readonly PROPERTY_MODAL: "modal";
2923
+ readonly PROPERTY_ROWS: "thisRows";
2924
+ readonly PROPERTY_BOLD: "bold";
2925
+ readonly PROPERTY_UNDERLINED: "underlined";
2926
+ readonly PROPERTY_ALIGNMENT: "alignment";
2927
+ readonly PROPERTY_IMAGE: "imageUrl";
2928
+ readonly PROPERTY_COL_WIDTH: "colWidth";
2929
+ readonly PROPERTY_GRID_HEIGHT: "gridHeight";
2930
+ readonly PROPERTY_HIDE_GRID_BTN: "hideGridButtons";
2931
+ readonly PROPERTY_VISIBILITY_HIDDEN: "visibilityHidden";
2932
+ readonly PROPERTY_TRANSIENT: "transient";
2933
+ readonly PROPERTY_GRID_TITLE: "gridTitle";
2934
+ readonly PROPERTY_GRID_FORM: "gridForm";
2935
+ readonly PROPERTY_TOOLTIP: "tooltip";
2936
+ readonly PROPERTY_VALUE_COLOR: "valueColor";
2937
+ readonly PROPERTY_INPUT_AS_TEXT: "inputAsText";
2938
+ readonly PROPERTY_NO_DOWNLOAD: "noDownload";
2939
+ readonly PROPERTY_NO_ERASE: "noErase";
2940
+ readonly PROPERTY_NO_LOCK: "noLock";
2941
+ readonly PROPERTY_NO_HISTORY: "noHistory";
2942
+ readonly PROPERTY_NO_MODIFY: "noModify";
2943
+ readonly PROPERTY_ALLOW_EDITION: "allowEdition";
2944
+ readonly PROPERTY_HIDE_SIGN_ICONS: "hideSignButtons";
2945
+ readonly PROPERTY_URL: "url";
2946
+ readonly PROPERTY_GRID_HIDE_BTN_ORDER: "hideOrderButton";
2947
+ readonly PROPERTY_GRID_HIDE_BTN_INCLUDE: "hideIncludeButton";
2948
+ readonly PROPERTY_REGEXP_MESSAGE: "regExpMessage";
2949
+ readonly PROPERTY_PAGED_GRID: "paged";
2950
+ readonly PROPERTY_PAGED_GRID_SIZE: "pagedGridSize";
2951
+ readonly PROPERTY_GRID_ALTER_IN_LAST_PAGE: "alterOnlyLastPage";
2952
+ readonly PROPERTY_GRID_PRINT_HORIZONTAL: "printHorizontal";
2953
+ readonly PROPERTY_STORE_MODAL_QUERY_RESULT: "storeMdlQryResult";
2954
+ readonly PROPERTY_INCLUDE_FIRST_ROW: "includeFirstRow";
2955
+ readonly PROPERTY_MAX_REG_GRID: "maxRecords";
2956
+ readonly PROPERTY_GRID_LABEL: "gridColTitle";
2957
+ readonly PROPERTY_GRID_QUERY: "gridQuery";
2958
+ readonly PROPERTY_HIDE_DOC_PERMISSIONS: "hideDocPermissions";
2959
+ readonly PROPERTY_VERIFY_SIGNATURE_ONLY: "verifySignatureOnly";
2960
+ readonly PROPERTY_GRID_HIDE_BTN_ADD: "hideAddButton";
2961
+ readonly PROPERTY_GRID_HIDE_BTN_DEL: "hideDelButton";
2962
+ readonly PROPERTY_HIDE_DOC_UPLOAD: "hideDocUpload";
2963
+ readonly PROPERTY_HIDE_DOC_DOWNLOAD: "hideDocDownload";
2964
+ readonly PROPERTY_HIDE_DOC_ERASE: "hideDocErase";
2965
+ readonly PROPERTY_HIDE_DOC_LOCK: "hideDocLock";
2966
+ readonly PROPERTY_HIDE_DOC_HISTORY: "hideDocHistory";
2967
+ readonly PROPERTY_HIDE_DOC_SIGN: "hideSignButtons";
2968
+ readonly PROPERTY_DISPLAY_NONE: "displayNone";
2969
+ readonly PROPERTY_DONT_BREAK_RADIO: "dontBreakRadio";
2970
+ readonly PROPERTY_CHECKED: "checked";
2971
+ readonly PROPERTY_FILE_PREVIEW: "filePreview";
2972
+ readonly PROPERTY_NOT_PRINT: "noPrint";
2973
+ readonly PROPERTY_SELECT_PARENT: "selParent";
2974
+ readonly PROPERTY_HEIGHT: "height";
2975
+ readonly PROPERTY_MULTISELECT: "multiselect";
2976
+ readonly PROPERTY_SEL_PARENT: "selParent";
2977
+ readonly PROPERTY_PARENT_ICON: "parentIcon";
2978
+ readonly PROPERTY_LEAF_ICON: "leafIcon";
2979
+ readonly PROPERTY_CSS_CLASS: "cssClass";
2980
+ readonly PROPERTY_DOC_TYPE: "docType";
2981
+ readonly PROPERTY_HIDE_DOC_METADATA: "hideDocMetadata";
2982
+ readonly PROPERTY_TRANSLATION_REQUIRED: "reqTrad";
2983
+ readonly PROPERTY_SIGNATURE_REQUIRED: "reqSign";
2984
+ readonly PROPERTY_SHOW_TOOLTIP_AS_HELP: "tooltipHelp";
2985
+ readonly PROPERTY_DOCUMENT_MONITOR_DEF: "documentMonitorDef";
2986
+ readonly PROPERTY_DOCUMENT_MONITOR_CUS: "documentMonitorCus";
2987
+ readonly PROPERTY_DOCUMENT_SHOW_FOLD_TREE_BTN: "fileShwFoldTreeBtn";
2988
+ readonly PROPERTY_DOCUMENT_SHOW_FOLD_TREE_STR: "fileShwFoldTreeStr";
2989
+ readonly PROPERTY_DOCUMENT_NO_ALLOW_DRAG_DROP: "fileNoAllwDnD";
2990
+ readonly PROPERTY_DOCUMENT_NO_SHOW_MODAL: "fileDntShwDocMdlOnDrop";
2991
+ readonly PROPERTY_DOCUMENT_SHOW_DESC: "fileShowDesc";
2992
+ readonly PROPERTY_DOCUMENT_DEFAULT_FOLDER: "fileDefFolder";
2993
+ readonly PROPERTY_DOCUMENT_ROOT_FOLDER: "fileRootFolder";
2994
+ readonly PROPERTY_DOCUMENT_EXP_DATE: "fileExpDate";
2995
+ readonly PROPERTY_DOCUMENT_DNT_SHW_DOC_MON: "fileNotShowDocMon";
2996
+ readonly PROPERTY_DOCUMENT_COLLAPSE_PERM: "fileCollapsePermission";
2997
+ readonly PROPERTY_DOCUMENT_COLLAPSE_META: "fileCollapseMetadata";
2998
+ readonly PROPERTY_DOCUMENT_COLLAPSE_FLD_STC: "fileCollapseFldStrc";
2999
+ readonly WRONG_ATT_TYPE_ERROR: "Component does not support attributes of type <TOK>. Contact system administrator";
3000
+ readonly STORE_KEY_FIELD: "field";
3001
+ readonly STORE_KEY_FORM: "form";
3002
+ readonly PROPERTY_ARIA_DESCRIPTION: "ariaDescription";
3003
+ readonly PROPERTY_ARIA_LABEL: "ariaLabel";
3004
+ readonly PROPERTY_ALT: "alt";
3005
+ readonly PROPERTY_AUTO_COMPLETE: "autoComplete";
3006
+ readonly PROPERTY_AUTO_FOCUS: "autoFocus";
3007
+ readonly PROPERTY_INPUT_TYPE: "inputType";
3008
+ readonly PROPERTY_PLACE_HOLDER: "placeHolder";
3009
+ readonly PROPERTY_TITLE: "title";
3010
+ };
3011
+
3012
+ declare class MessageNotification extends Notification {
3013
+ close(): void;
2885
3014
  }
2886
3015
 
2887
- declare class CheckField extends ApiaFieldWithAttribute {
2888
- constructor(field: Checkbox);
2889
- clearValue(): void;
2890
- setValue(value: string | boolean | number): void;
3016
+ declare class StatusNotification extends Notification<NotificationDefinition & {
3017
+ blocking: boolean;
3018
+ }> {
3019
+ readonly props: NotificationDefinition & {
3020
+ blocking: boolean;
3021
+ };
3022
+ constructor(props: NotificationDefinition & {
3023
+ blocking: boolean;
3024
+ });
2891
3025
  }
2892
3026
 
2893
- type TOptionsMap$1 = Map<string, PossibleValue>;
2894
- declare class RadioField extends ApiaFieldWithAttribute {
2895
- #private;
2896
- constructor(field: Radio);
2897
- getOptions(asObject: boolean): TOptionsMap$1 | PossibleValue[] | null;
2898
- clearOptions(): void | null;
2899
- addOption(radioValue: string | number, showValue: string, allowRepeatedValue: boolean): void;
2900
- setOptions(options: PossibleValue[]): void;
2901
- removeOption(radioValue: string | number): void;
2902
- getSelectedOption(asObject: boolean): TOptionsMap$1 | PossibleValue | null;
2903
- getSelectedText(): string | undefined | null;
3027
+ type Comparator<T> = (a: T, b: T) => boolean;
3028
+ declare const deepEqual: Comparator<any>;
3029
+
3030
+ /**
3031
+ * @public
3032
+ *
3033
+ * The `EventEmitter` class is a generic utility for handling events. It allows subscribing to and emitting events.
3034
+ * This class is generic and works with a `Map` where keys are event names and values are the types associated with those events.
3035
+ *
3036
+ * @typeParam Events - An extension of `Map` where the key is the event name and the value is the type of data associated with that event.
3037
+ */
3038
+ declare class EventEmitter<Events extends Map$1> {
3039
+ protected callbacks: Record<'on' | 'once', Callbacks<Events>>;
3040
+ protected enabled: boolean;
3041
+ protected debugMode: boolean;
3042
+ debug(enable?: boolean): void;
3043
+ /**
3044
+ * Emits an event with the given data. Any listeners subscribed to this event will be invoked with the passed data.
3045
+ *
3046
+ * @param event - The event name to emit.
3047
+ * @param data - The data associated with the event. Its type is dependent on the event name.
3048
+ */
3049
+ emit<K extends keyof Events>(event: K, data: Events[K]): void;
3050
+ /**
3051
+ * Reflects the current emitter state. A disabled state indicates that the emitter wont call listeners until its functionality gets enabled again.
3052
+ */
3053
+ get isEnabled(): boolean;
3054
+ off<K extends keyof Events>(event: K, cb: Callback<Events, K>): void;
3055
+ /**
3056
+ * Subscribes a callback function to an event. The callback is invoked each time the event is emitted.
3057
+ *
3058
+ * @param event - The event name to listen to.
3059
+ * @param cb - The callback function to be invoked when the event is emitted.
3060
+ * @returns A function to unsubscribe the event listener.
3061
+ */
3062
+ on<K extends keyof Events>(event: K, cb: Callback<Events, K>): UnSubscriber;
3063
+ /**
3064
+ * Subscribes a callback function to an event for a single occurrence. After the event is emitted once, the listener is automatically removed.
3065
+ *
3066
+ * @param event - The event name to listen to for a single occurrence.
3067
+ * @param cb - The callback function to be invoked when the event is emitted.
3068
+ * @returns A function to unsubscribe the event listener.
3069
+ */
3070
+ once<K extends keyof Events>(event: K, cb: Callback<Events, K>): UnSubscriber;
2904
3071
  }
2905
3072
 
2906
- type TOptionsMap = Map<string, PossibleValue>;
2907
- declare class MultipleField extends ApiaFieldWithAttribute<string[]> {
2908
- #private;
2909
- constructor(field: Multiple);
2910
- addOption(optionValue: string | number, showValue: string, allowRepeatedValue: boolean): void;
2911
- setValue(value: string[]): void;
2912
- clearOptions(): void;
2913
- getSelectedOption(asObject: boolean): TOptionsMap | PossibleValue[] | null;
2914
- getOptions(asObject: boolean): TOptionsMap | PossibleValue[] | null;
2915
- setOptions(optionsArray: PossibleValue[] | PossibleValue): void;
2916
- removeOption(optionValue: string | number): void;
3073
+ /**
3074
+ * @private
3075
+ */
3076
+ type EmitterState<Events extends Map$1> = {
3077
+ [K in keyof Events]: Events[K];
3078
+ };
3079
+ /**
3080
+ * Extends EventEmitter to manage and emit events with state persistence.
3081
+ * This class allows emitting and listening to typed events while also keeping
3082
+ * a state that can be accessed synchronously for each event.
3083
+ *
3084
+ * @param initialState - If given will be passed to subscriptions
3085
+ *
3086
+ * @template Events - A mapping of event names to their associated data types.
3087
+ * @extends EventEmitter<Events>
3088
+ */
3089
+ declare class StatefulEmitter<Events extends Map$1> extends EventEmitter<Events> {
3090
+ protected state: EmitterState<Events>;
3091
+ constructor(initialState?: Partial<Events>);
3092
+ emit<K extends keyof Events>(event: K, data: Events[K]): void;
3093
+ on<K extends keyof Events>(event: K, cb: Callback<Events, K>): UnSubscriber;
3094
+ once<K extends keyof Events>(event: K, cb: Callback<Events, K>): UnSubscriber;
3095
+ /**
3096
+ * Retrieves the stored state for a given event
3097
+ */
3098
+ getState<K extends keyof Events>(event: K): Events[K];
3099
+ /**
3100
+ * Just an alias for emit, with the advantage that can be called with a callback as second parameter in which case behaves exactly as react's setState.
3101
+ */
3102
+ setState<K extends keyof Events>(event: K, data: SetStateAction<Events[K]>): void;
2917
3103
  }
2918
3104
 
2919
- declare class HiddenField extends ApiaField {
2920
- constructor(field: Hidden);
3105
+ type BouncingMap<Events extends Map$1> = {
3106
+ [K in keyof Events]: number;
3107
+ };
3108
+ declare const NullObject: unique symbol;
3109
+ type ThrottlingMap<Events extends Map$1> = {
3110
+ [K in keyof Events]: Events[K] | typeof NullObject;
3111
+ };
3112
+ type ThrottlingMarkers<Events extends Map$1> = {
3113
+ [K in keyof Events]: boolean;
3114
+ };
3115
+ type DebounceOptions = Partial<{
3116
+ timing: number;
3117
+ }>;
3118
+ type ThrottleOptions = Partial<{
3119
+ emitOnStart?: boolean;
3120
+ timing: number;
3121
+ }>;
3122
+ /**
3123
+ * @public
3124
+ *
3125
+ * The BouncingEmitter class is an extension of EventEmitter which adds debouncing and throttling functionality.
3126
+ *
3127
+ * @typeParam — Events - An extension of Map where the key is the event name and the value is the type of data associated with that event.
3128
+ */
3129
+ declare class BouncingEmitter<Events extends Map$1> extends StatefulEmitter<Events> {
3130
+ protected bouncingTimeouts: BouncingMap<Events>;
3131
+ protected defaultTiming: number;
3132
+ /**
3133
+ * Debounces a event emit with until there is no call to the emit methods by (timing)ms. Take the following event throttling, where each E is a call to this method and each character represents 20ms:
3134
+ *
3135
+ * E_E_E_E_E_E_E_E_E
3136
+ *
3137
+ * If timing is configured to 100ms, which is the default, the emission will occur as follows:
3138
+ *
3139
+ * _____________________E
3140
+ */
3141
+ debounce<K extends keyof Events>(event: K, data: Events[K], configuration?: DebounceOptions): void;
3142
+ /**
3143
+ * Throttles a event emit with the warranty that the data will be emitted at most every (timing)ms. Take the following event throttling, where each E is a call to this method and each character represents 20ms:
3144
+ *
3145
+ * E_E_E_E_E_E_E_E_E
3146
+ *
3147
+ * If timing is configured to 100ms, which is the default, the emission will occur as follows:
3148
+ *
3149
+ * ____E____E____E______E
3150
+ *
3151
+ * @param configuration.emitOnStart - Emits an event on the first call to throttle when no pending throttle is stored. **If emitOnStart is true and an only call to throttle is made, it will emit an only event.**
3152
+ */
3153
+ protected throttleData: ThrottlingMap<Events>;
3154
+ protected throttleEmittedOnInit: ThrottlingMarkers<Events>;
3155
+ throttle<K extends keyof Events>(event: K, data: Events[K], configuration?: ThrottleOptions): void;
3156
+ /**
3157
+ * This method is a mix between setState and debounce
3158
+ */
3159
+ setStateDebounced<K extends keyof Events>(event: K, data: SetStateAction<Events[K]>, configuration?: DebounceOptions): void;
3160
+ /**
3161
+ * This method is a mix between setState and throttle
3162
+ */
3163
+ setStateThrottled<K extends keyof Events>(event: K, data: SetStateAction<Events[K]>, configuration?: ThrottleOptions): void;
2921
3164
  }
2922
3165
 
2923
- declare class AreaField extends ApiaFieldWithAttribute {
2924
- constructor(field: Textarea);
2925
- }
3166
+ declare function getLabel(execution: Execution, label: string, replacers?: Partial<{
3167
+ text: Record<string, string>;
3168
+ tooltip: Record<string, string>;
3169
+ }>): {
3170
+ text: string;
3171
+ tooltip: string;
3172
+ };
2926
3173
 
2927
- interface IImageField extends IApiaField {
2928
- getValue(): null;
2929
- setValue(): null;
2930
- getLabel(): void;
2931
- clearValue(): null;
2932
- }
2933
- declare class ImageField extends ApiaField implements IImageField {
2934
- #private;
2935
- constructor(field: Image);
2936
- clearValue(): null;
2937
- getLabel(): void;
2938
- getValue(): null;
2939
- setValue(): null;
2940
- }
3174
+ declare const parseXml: <T = Record<string, unknown>>(xml: XMLDocument | string) => T;
2941
3175
 
2942
- interface ILinkField extends IApiaField {
2943
- getLabel(): void;
2944
- }
2945
- declare class LinkField extends ApiaField implements ILinkField {
2946
- #private;
2947
- constructor(field: Link);
2948
- getLabel(): void;
2949
- }
3176
+ type TCheckWizardResponse = {
3177
+ url: string;
3178
+ };
3179
+ type TFetchConfirmPathResponse = {
3180
+ onClose?: string;
3181
+ sysMessages?: {
3182
+ message?: {
3183
+ text: string;
3184
+ };
3185
+ };
3186
+ pathSelection?: boolean | null;
3187
+ groupSelection?: boolean | null;
3188
+ load?: TApiaLoadForm & {
3189
+ type: 'form' | 'text' | 'table' | 'function';
3190
+ canClose: boolean;
3191
+ text?: {
3192
+ closeAll: string;
3193
+ title: string;
3194
+ addClass: string;
3195
+ label: string;
3196
+ content?: string;
3197
+ };
3198
+ };
3199
+ actions?: {
3200
+ action: {
3201
+ toDo: 'functionTimedCall';
3202
+ param: [number, string];
3203
+ };
3204
+ };
3205
+ };
3206
+ type TItemTreeObj = {
3207
+ id: string;
3208
+ name: string;
3209
+ level: number;
3210
+ value: boolean;
3211
+ type: TPathType;
3212
+ isOn: boolean;
3213
+ };
3214
+ type TPathType = 'OR' | 'XOR' | 'AND';
2950
3215
 
2951
- interface ITextField extends IApiaField {
2952
- getLabel(): void;
2953
- }
2954
- declare class TextField extends ApiaField implements ITextField {
2955
- #private;
2956
- constructor(field: Field);
2957
- getLabel(): void;
3216
+ declare class ShowPathSelection extends FlowModal<{
3217
+ confirmed: boolean;
3218
+ path: string;
3219
+ }> {
3220
+ fetchResult: TApiaLoadForm['form'];
3221
+ confirm: (result: {
3222
+ confirmed: boolean;
3223
+ path: string;
3224
+ }) => Promise<Status | FlowModal<any>>;
3225
+ state: {
3226
+ disabledParents: TItemTreeObj | TItemTreeObj[] | null;
3227
+ groupSelectionObj: TFetchConfirmPathResponse | null;
3228
+ };
3229
+ constructor(fetchResult: TApiaLoadForm['form'], confirm: (result: {
3230
+ confirmed: boolean;
3231
+ path: string;
3232
+ }) => Promise<Status | FlowModal<any>>);
3233
+ setDisabledParent(treeItem: TItemTreeObj): void;
3234
+ clearPaths(): void;
3235
+ showGroupsSelection(fetchConfirmPathResponse: TFetchConfirmPathResponse): void;
3236
+ updateDisabledList(itemObj: TItemTreeObj, itemArr: TItemTreeObj[]): TItemTreeObj[];
2958
3237
  }
2959
3238
 
2960
- declare class GridField extends ApiaField {
2961
- #private;
2962
- constructor(field: Grid);
2963
- addRow(): Promise<IApiaField[]>;
2964
- clearGrid(): void;
2965
- clearPage(): void;
2966
- clearRow(index: number): Promise<void>;
2967
- closeForm(): GridField;
2968
- deleteAllRows(): Promise<void>;
2969
- deleteGrid(): Promise<void>;
2970
- deletePage(): void;
2971
- deleteRow(index: number): Promise<void>;
2972
- editRow(index: number): void;
2973
- getAllColumns(): (IApiaField | null)[][];
2974
- getColumn(fieldName: string): (IApiaField | null)[];
2975
- getCurrentPage(): number;
2976
- getField(fieldName: string, fieldIndex?: number): (IApiaField | null)[] | null;
2977
- getPageCount(): number;
2978
- getPageSize(): number;
2979
- getRow(index: number): IApiaField[] | undefined;
2980
- getSelection(): IApiaField[][];
2981
- get id(): string;
2982
- isPaged(): boolean;
2983
- get rowsCount(): number;
2984
- toggleColumnVisibility(fieldName: string, isShown?: boolean): void;
2985
- toggleDeleteButton(index: number, isShown?: boolean): void;
2986
- toggleEditFormButton(rowIndex: number, isShown?: boolean): void;
3239
+ declare class ShowPoolSelection extends FlowModal<{
3240
+ confirmed: boolean;
3241
+ group: string;
3242
+ }> {
3243
+ fetchResult: TApiaLoadForm['form'];
3244
+ confirm: (result: {
3245
+ confirmed: boolean;
3246
+ group: string;
3247
+ }) => Promise<Status>;
3248
+ constructor(fetchResult: TApiaLoadForm['form'], confirm: (result: {
3249
+ confirmed: boolean;
3250
+ group: string;
3251
+ }) => Promise<Status>);
2987
3252
  }
2988
3253
 
2989
- type TCaptchaField = IApiaField;
2990
- declare class CaptchaField extends ApiaField implements TCaptchaField {
2991
- constructor(field: Captcha);
3254
+ declare class ShowSignSelection extends FlowModal<{
3255
+ confirmed: boolean;
3256
+ signed: boolean;
3257
+ }> {
3258
+ fetchResult: any;
3259
+ confirm: (result: {
3260
+ confirmed: boolean;
3261
+ signed: boolean;
3262
+ }) => Promise<Status>;
3263
+ constructor(fetchResult: any, confirm: (result: {
3264
+ confirmed: boolean;
3265
+ signed: boolean;
3266
+ }) => Promise<Status>);
2992
3267
  }
2993
3268
 
2994
- declare class FileUploaderField extends ApiaFieldWithAttribute {
2995
- #private;
2996
- constructor(field: File$1);
2997
- onChange(cb: (newValue: unknown) => unknown): void;
2998
- setValue(): null;
3269
+ declare class ShowConfirmMessage extends FlowModal<{
3270
+ confirmed: boolean;
3271
+ }> {
3272
+ fetchResult: any;
3273
+ confirm: (result: {
3274
+ confirmed: boolean;
3275
+ }) => Promise<Status>;
3276
+ constructor(fetchResult: any, confirm: (result: {
3277
+ confirmed: boolean;
3278
+ }) => Promise<Status>);
2999
3279
  }
3000
3280
 
3001
- declare class PasswordField extends ApiaField {
3002
- constructor(field: Password);
3281
+ declare class ShowSign extends FlowModal<{
3282
+ confirmed: boolean;
3283
+ }> {
3284
+ fetchResult: any;
3285
+ confirm: (result: {
3286
+ confirmed: boolean;
3287
+ }) => Promise<Status>;
3288
+ constructor(fetchResult: any, confirm: (result: {
3289
+ confirmed: boolean;
3290
+ }) => Promise<Status>);
3003
3291
  }
3004
3292
 
3005
- export { ActionsController, AdditionalCell, ApiaAttribute, ApiaFieldWithAttribute, ApiaFunctions, BouncingEmitter, Button, ButtonField, Captcha, CaptchaField, CheckField, Checkbox, type ComponentEvent, CustomComponent, GridField as DataGridField, Editor, EditorField, EventEmitter, Execution, ExecutionState, Field, FieldWithAttribute, type FieldWithAttributeState, type FieldsMapping, File$1 as File, FileUploaderField, FlowModal, Form, FormsUploader, Grid, GridCell, GridField, GridPaginated, HeaderCell, Hidden, HiddenField, type IApiaField, type IApiaForm, type IApiaFunctions, type IButton, type IIProperty, type IPoolsPermissions, IProperty, type ISignatureData, type IUsersPermissions, Image, ImageField, Input, InputField, InvalidSessionException, Label, Link, LinkField, MessageNotification, ModalInput, Multiple, MultipleField, Notifications, Password, PasswordField, type PossibleValue, Radio, RadioField, type RadioPossibleValue, Select, SelectField, type SelectPossibleValue, ShowConfirmMessage, ShowPathSelection, ShowPoolSelection, ShowSign, ShowSignSelection, StatefulEmitter, type Status, StatusNotification, type TActionButtons, type TAjaxUploadFileStatus, type TAjaxUploadStart, type TApiaButtonProperties, type TApiaCaptchaProperties, type TApiaCheckboxProperties, type TApiaDocumentDefinition, type TApiaEditorProperties, type TApiaFieldBaseDefinition, type TApiaFieldCommonProperties, type TApiaFieldDefinition, type TApiaFieldPossibleValue, type TApiaFieldSizableFieldProperties, type TApiaFieldType, type TApiaFieldValueType, type TApiaFieldWithAttributeBaseProps, type TApiaFieldWithAttributeProperties, type TApiaFileProperties, type TApiaForm, type TApiaFormProperties, type TApiaGridProperties, type TApiaGroupableFieldProperties, type TApiaHiddenProperties, type TApiaImageProperties, type TApiaInputProperties, type TApiaLabelProperties, type TApiaLinkProperties, type TApiaMultipleProperties, type TApiaPasswordProperties, type TApiaRadioProperties, type TApiaSelectProperties, type TApiaTextareaProperties, type TApiaTitleProperties, type TApiaTranslatableFieldProperties, type TApiaTreePossibleValue, type TApiaTreeProperties, type TApiaValuatedFieldProperties, type TConfirmDropModal, type TCusCmpStateRequest, type TCustomComponentDefaultResponse, type TCustomComponentDefinition, type TDocInfo, type TDocType, type TDocumentDownloadHistory, type TDocumentInformation, type TDocumentMetadata, type TDocumentPermission, type TDocumentVersion, type TExecutionConfig, type TFieldEvent, type TFieldScriptEvent, type TFieldScriptEventParameters, type TFieldScriptEvents, type TFieldServerEvent, type TFieldServerEvents, type TFileUploaded, type TFormEventName, type TFormScriptEvent, type TFormScriptEventParameters, type TFormScriptEvents, type TFrmParent, type TModalConfig, type TObservation, type TObservations, type TOnUploadProgress, type TOpenModal, type TProcessDroppedFiles, type TRequireOnlyOne, type TSaveDroppedFilesConf, type TSignaturesData, type TUploadModalOpener, type TUploaderFileInfo, type TUploaderLoadCurrentFunction, type TUploaderLoadCurrentFunctionMessages, AreaField as TextAreaField, TextField, Textarea, Title, TranslatableField, Translation, Tree, TreeField, UploaderApi, UploaderModalController, type UploaderModalState, type UploaderState, deepEqual, get, getLabel, isHtmlResponse, isJsonResponse, isXmlResponse, makeApiaUrl, parseFileDefinition, parseSuccessfulResponse, parseXml, post, returnExactlyTheSame, shallowEqual };
3293
+ export { ActionsController, AdditionalCell, ApiaAttribute, ApiaField, ApiaFieldWithAttribute, ApiaForm, ApiaFunctions, BouncingEmitter, Button, ButtonField, Captcha, CaptchaField, CheckField, Checkbox, type ComponentEvent, CustomComponent, GridField as DataGridField, Editor, EditorField, EventEmitter, Execution, ExecutionState, Field, FieldWithAttribute, type FieldWithAttributeState, type FieldsMapping, File$1 as File, FileUploaderField, FlowModal, Form, FormsUploader, Grid, GridCell, GridField, GridPaginated, HeaderCell, Hidden, HiddenField, type IApiaField, type IApiaForm, type IApiaFunctions, type IButton, type IIProperty, type ILabelSelectedDay, type IPoolsPermissions, IProperty, type IScheduleInitialProps, type ISchedulerStore, type ISelectedDay, type ISignatureData, type IStage, type IStageButton, type IUsersPermissions, Image, ImageField, Input, InputField, InvalidSessionException, Label, Link, LinkField, MessageNotification, ModalInput, ModalInputField, Multiple, MultipleField, Notifications, Password, PasswordField, type PossibleValue, Radio, RadioField, type RadioPossibleValue, Scheduler, Select, SelectField, type SelectPossibleValue, ShowConfirmMessage, ShowPathSelection, ShowPoolSelection, ShowSign, ShowSignSelection, StatefulEmitter, type Status, StatusNotification, type TActionButtons, type TAjaxUploadFileStatus, type TAjaxUploadStart, type TApiaButtonProperties, type TApiaCaptchaProperties, type TApiaCheckboxProperties, type TApiaDocumentDefinition, type TApiaEditorProperties, type TApiaFieldBaseDefinition, type TApiaFieldCommonProperties, type TApiaFieldDefinition, type TApiaFieldPossibleValue, type TApiaFieldSizableFieldProperties, type TApiaFieldType, type TApiaFieldValueType, type TApiaFieldWithAttributeBaseProps, type TApiaFieldWithAttributeProperties, type TApiaFileProperties, type TApiaForm, type TApiaFormProperties, type TApiaGridProperties, type TApiaGroupableFieldProperties, type TApiaHiddenProperties, type TApiaImageProperties, type TApiaInputProperties, type TApiaLabelProperties, type TApiaLinkProperties, type TApiaMultipleProperties, type TApiaPasswordProperties, type TApiaRadioProperties, type TApiaSchedulerProperties, type TApiaSelectProperties, type TApiaTextareaProperties, type TApiaTitleProperties, type TApiaTranslatableFieldProperties, type TApiaTreePossibleValue, type TApiaTreeProperties, type TApiaValuatedFieldProperties, type TCheckWizardResponse, type TConfirmDropModal, type TCusCmpStateRequest, type TCustomComponentDefaultResponse, type TCustomComponentDefinition, type TDocInfo, type TDocType, type TDocumentDownloadHistory, type TDocumentInformation, type TDocumentMetadata, type TDocumentPermission, type TDocumentVersion, type TExecutionConfig, type TFetchConfirmPathResponse, type TFieldEvent, type TFieldScriptEvent, type TFieldScriptEventParameters, type TFieldScriptEvents, type TFieldServerEvent, type TFieldServerEvents, type TFileUploaded, type TFormEventName, type TFormScriptEvent, type TFormScriptEventParameters, type TFormScriptEvents, type TFrmParent, type TItemTreeObj, type TModalConfig, type TObservation, type TObservations, type TOnUploadProgress, type TPathType, type TProcessDroppedFiles, type TProcesses, type TRequireOnlyOne, type TSaveDroppedFilesConf, type TSchInfoResult, type TScheduleResult, type TSchedulerState, type TSelectedDateResponse, type TSignaturesData, type TTskSchDay, type TTskSchHour, type TUploadModalOpener, type TUploaderFileInfo, type TUploaderLoadCurrentFunction, type TUploaderLoadCurrentFunctionMessages, AreaField as TextAreaField, TextField, Textarea, Title, TranslatableField, Translation, Tree, TreeField, UploaderApi, UploaderModalController, type UploaderModalState, type UploaderState, createNewField, deepEqual, get, getCurrentDate, getLabel, isHtmlResponse, isJsonResponse, isXmlResponse, makeApiaUrl, parseFileDefinition, parseSuccessfulResponse, parseXml, post, returnExactlyTheSame, shallowEqual };
3006
3294
  //# sourceMappingURL=index.d.ts.map