@po-ui/ng-components 20.4.0 → 20.6.0
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/fesm2022/po-ui-ng-components.mjs +400 -74
- package/fesm2022/po-ui-ng-components.mjs.map +1 -1
- package/index.d.ts +180 -19
- package/lib/components/po-dynamic/po-dynamic-form/interfaces/po-dynamic-form-field.interface.d.ts +11 -3
- package/lib/components/po-field/po-upload/interfaces/po-upload-literals.interface.d.ts +14 -0
- package/lib/components/po-field/po-upload/po-upload-base.component.d.ts +112 -1
- package/lib/components/po-field/po-upload/po-upload-file.d.ts +6 -0
- package/lib/components/po-field/po-upload/po-upload.component.d.ts +28 -4
- package/lib/components/po-table/interfaces/po-table-column.interface.d.ts +10 -10
- package/package.json +4 -4
- package/po-ui-ng-components-20.6.0.tgz +0 -0
- package/schematics/ng-add/index.js +1 -1
- package/schematics/ng-update/v14/index.js +1 -1
- package/schematics/ng-update/v15/index.js +1 -1
- package/schematics/ng-update/v16/index.js +1 -1
- package/schematics/ng-update/v17/index.js +1 -1
- package/schematics/ng-update/v18/index.js +2 -2
- package/schematics/ng-update/v19/index.js +2 -2
- package/schematics/ng-update/v2/index.js +1 -1
- package/schematics/ng-update/v20/index.js +2 -2
- package/schematics/ng-update/v3/index.js +1 -1
- package/schematics/ng-update/v4/index.js +1 -1
- package/schematics/ng-update/v5/index.js +1 -1
- package/schematics/ng-update/v6/index.js +1 -1
- package/po-ui-ng-components-20.4.0.tgz +0 -0
|
@@ -387,6 +387,7 @@ const AnimaliaIconDictionary = {
|
|
|
387
387
|
ICON_OK: 'an an-check',
|
|
388
388
|
ICON_PARAMETERS: 'an an-sliders-horizontal',
|
|
389
389
|
ICON_PICTURE: 'an an-image',
|
|
390
|
+
ICON_PICTURE_BROKEN: 'an an-image-broken',
|
|
390
391
|
ICON_PUSH_PIN: 'an an-push-pin',
|
|
391
392
|
ICON_PUSH_PIN_SLASH: 'an an-push-pin-slash',
|
|
392
393
|
ICON_REFRESH: 'an an-arrow-clockwise',
|
|
@@ -7551,11 +7552,13 @@ class PoCheckboxComponent extends PoCheckboxBaseComponent {
|
|
|
7551
7552
|
if (this.autoFocus) {
|
|
7552
7553
|
this.focus();
|
|
7553
7554
|
}
|
|
7554
|
-
|
|
7555
|
-
|
|
7556
|
-
this.
|
|
7557
|
-
|
|
7558
|
-
|
|
7555
|
+
if (this.checkboxLabel?.nativeElement?.closest('.components-form-custom-template')) {
|
|
7556
|
+
setTimeout(() => {
|
|
7557
|
+
if (this.checkboxLabel?.nativeElement?.classList?.contains('enable-append-box')) {
|
|
7558
|
+
this.appendBox = true;
|
|
7559
|
+
}
|
|
7560
|
+
}, 300);
|
|
7561
|
+
}
|
|
7559
7562
|
}
|
|
7560
7563
|
ngOnChanges(changes) {
|
|
7561
7564
|
if (changes.label || changes.additionalHelpTooltip || changes.helper || changes.size) {
|
|
@@ -16194,12 +16197,13 @@ class PoDatepickerComponent extends PoDatepickerBaseComponent {
|
|
|
16194
16197
|
this.focus();
|
|
16195
16198
|
}
|
|
16196
16199
|
this.renderer.setAttribute(this.iconDatepicker.buttonElement.nativeElement, 'aria-label', this.literals.open);
|
|
16197
|
-
|
|
16198
|
-
|
|
16199
|
-
|
|
16200
|
-
|
|
16201
|
-
|
|
16202
|
-
|
|
16200
|
+
if (this.inputEl?.nativeElement?.closest('.components-form-custom-template')) {
|
|
16201
|
+
setTimeout(() => {
|
|
16202
|
+
if (this.inputEl?.nativeElement?.classList?.contains('enable-append-box')) {
|
|
16203
|
+
this.appendBox = true;
|
|
16204
|
+
}
|
|
16205
|
+
}, 300);
|
|
16206
|
+
}
|
|
16203
16207
|
}
|
|
16204
16208
|
ngOnDestroy() {
|
|
16205
16209
|
this.subscriptionValidator?.unsubscribe();
|
|
@@ -21051,11 +21055,13 @@ class PoSwitchComponent extends PoFieldModel {
|
|
|
21051
21055
|
}
|
|
21052
21056
|
ngAfterViewInit() {
|
|
21053
21057
|
this.setControl();
|
|
21054
|
-
|
|
21055
|
-
|
|
21056
|
-
this.
|
|
21057
|
-
|
|
21058
|
-
|
|
21058
|
+
if (this.switchContainer?.nativeElement?.closest('.components-form-custom-template')) {
|
|
21059
|
+
setTimeout(() => {
|
|
21060
|
+
if (this.switchContainer?.nativeElement?.classList?.contains('enable-append-box')) {
|
|
21061
|
+
this.appendBox = true;
|
|
21062
|
+
}
|
|
21063
|
+
}, 300);
|
|
21064
|
+
}
|
|
21059
21065
|
}
|
|
21060
21066
|
setControl() {
|
|
21061
21067
|
const ngControl = this.injector.get(NgControl, null, this.injectOptions);
|
|
@@ -27603,12 +27609,13 @@ class PoComboComponent extends PoComboBaseComponent {
|
|
|
27603
27609
|
this.focus();
|
|
27604
27610
|
}
|
|
27605
27611
|
this.setContainerWidth();
|
|
27606
|
-
|
|
27607
|
-
|
|
27608
|
-
|
|
27609
|
-
|
|
27610
|
-
|
|
27611
|
-
|
|
27612
|
+
if (this.inputEl?.nativeElement?.closest('.components-form-custom-template')) {
|
|
27613
|
+
setTimeout(() => {
|
|
27614
|
+
if (this.inputEl?.nativeElement?.classList?.contains('enable-append-box')) {
|
|
27615
|
+
this.appendBox = true;
|
|
27616
|
+
}
|
|
27617
|
+
}, 300);
|
|
27618
|
+
}
|
|
27612
27619
|
}
|
|
27613
27620
|
ngOnChanges(changes) {
|
|
27614
27621
|
if (changes.debounceTime) {
|
|
@@ -30497,11 +30504,13 @@ class PoDecimalComponent extends PoInputBaseComponent {
|
|
|
30497
30504
|
ngAfterViewInit() {
|
|
30498
30505
|
this.helperSettings = this.setHelper(this.label, this.additionalHelpTooltip).helperSettings;
|
|
30499
30506
|
this.verifyAutoFocus();
|
|
30500
|
-
|
|
30501
|
-
|
|
30502
|
-
this.
|
|
30503
|
-
|
|
30504
|
-
|
|
30507
|
+
if (this.inputEl?.nativeElement?.closest('.components-form-custom-template')) {
|
|
30508
|
+
setTimeout(() => {
|
|
30509
|
+
if (this.inputEl?.nativeElement?.classList?.contains('enable-append-box')) {
|
|
30510
|
+
this.appendBox = true;
|
|
30511
|
+
}
|
|
30512
|
+
}, 300);
|
|
30513
|
+
}
|
|
30505
30514
|
}
|
|
30506
30515
|
ngOnDestroy() {
|
|
30507
30516
|
this.subscriptionValidator?.unsubscribe();
|
|
@@ -31018,11 +31027,13 @@ class PoInputGeneric extends PoInputBaseComponent {
|
|
|
31018
31027
|
afterViewInit() {
|
|
31019
31028
|
this.helperSettings = this.setHelper(this.label, this.additionalHelpTooltip).helperSettings;
|
|
31020
31029
|
this.verifyAutoFocus();
|
|
31021
|
-
|
|
31022
|
-
|
|
31023
|
-
this.
|
|
31024
|
-
|
|
31025
|
-
|
|
31030
|
+
if (this.inputEl?.nativeElement?.closest('.components-form-custom-template')) {
|
|
31031
|
+
setTimeout(() => {
|
|
31032
|
+
if (this.inputEl?.nativeElement?.classList?.contains('enable-append-box')) {
|
|
31033
|
+
this.appendBox = true;
|
|
31034
|
+
}
|
|
31035
|
+
}, 300);
|
|
31036
|
+
}
|
|
31026
31037
|
}
|
|
31027
31038
|
ngOnDestroy() {
|
|
31028
31039
|
this.subscriptionValidator?.unsubscribe();
|
|
@@ -35063,12 +35074,13 @@ class PoMultiselectComponent extends PoMultiselectBaseComponent {
|
|
|
35063
35074
|
this.focus();
|
|
35064
35075
|
}
|
|
35065
35076
|
this.initialized = true;
|
|
35066
|
-
|
|
35067
|
-
|
|
35068
|
-
|
|
35069
|
-
|
|
35070
|
-
|
|
35071
|
-
|
|
35077
|
+
if (this.inputElement?.nativeElement?.closest('.components-form-custom-template')) {
|
|
35078
|
+
setTimeout(() => {
|
|
35079
|
+
if (this.inputElement?.nativeElement?.classList?.contains('enable-append-box')) {
|
|
35080
|
+
this.appendBox = true;
|
|
35081
|
+
}
|
|
35082
|
+
}, 300);
|
|
35083
|
+
}
|
|
35072
35084
|
}
|
|
35073
35085
|
ngOnChanges(changes) {
|
|
35074
35086
|
if (this.filterService && (changes.filterService || changes.fieldValue || changes.fieldLabel)) {
|
|
@@ -35792,11 +35804,13 @@ class PoNumberComponent extends PoNumberBaseComponent {
|
|
|
35792
35804
|
event.preventDefault();
|
|
35793
35805
|
}
|
|
35794
35806
|
ngAfterViewInit() {
|
|
35795
|
-
|
|
35796
|
-
|
|
35797
|
-
this.
|
|
35798
|
-
|
|
35799
|
-
|
|
35807
|
+
if (this.inputEl?.nativeElement?.closest('.components-form-custom-template')) {
|
|
35808
|
+
setTimeout(() => {
|
|
35809
|
+
if (this.inputEl?.nativeElement?.classList?.contains('enable-append-box')) {
|
|
35810
|
+
this.appendBox = true;
|
|
35811
|
+
}
|
|
35812
|
+
}, 300);
|
|
35813
|
+
}
|
|
35800
35814
|
}
|
|
35801
35815
|
extraValidation(abstractControl) {
|
|
35802
35816
|
// Verifica se já possui algum error pattern padrão.
|
|
@@ -36916,6 +36930,18 @@ class PoUploadFile {
|
|
|
36916
36930
|
displayName;
|
|
36917
36931
|
// porcentagem utilizada para repassar ao componente progress
|
|
36918
36932
|
percent;
|
|
36933
|
+
// indica que o tamanho do arquivo não é permitido
|
|
36934
|
+
sizeNotAllowed;
|
|
36935
|
+
// indica que a extensão do arquivo não é permitida
|
|
36936
|
+
extensionNotAllowed;
|
|
36937
|
+
// Propriedade interna que indica que o status de sucesso deve estar oculto
|
|
36938
|
+
hideDoneContent;
|
|
36939
|
+
// Propriedade interna para mensagem de erro
|
|
36940
|
+
errorMessage;
|
|
36941
|
+
// Propriedade interna para url da thumbnail
|
|
36942
|
+
thumbnailUrl;
|
|
36943
|
+
// Propriedade interna para controlar se houve erro ao carregar a imagem da thumbnail.
|
|
36944
|
+
imageError;
|
|
36919
36945
|
constructor(file) {
|
|
36920
36946
|
if (file) {
|
|
36921
36947
|
this.name = file.name;
|
|
@@ -37083,7 +37109,14 @@ const poUploadLiteralsDefault = {
|
|
|
37083
37109
|
maxFileSizeAllowed: 'Size limit per file: {0} maximum',
|
|
37084
37110
|
minFileSizeAllowed: 'Size limit per file: {0} minimum',
|
|
37085
37111
|
errorOccurred: 'An error has occurred',
|
|
37086
|
-
sentWithSuccess: 'Sent with success'
|
|
37112
|
+
sentWithSuccess: 'Sent with success',
|
|
37113
|
+
doneText: 'Done',
|
|
37114
|
+
uploadingText: 'Uploading',
|
|
37115
|
+
tryAgain: 'Try again',
|
|
37116
|
+
close: 'Close file',
|
|
37117
|
+
preview: 'Preview',
|
|
37118
|
+
thumbnail: 'thumbnail',
|
|
37119
|
+
continue: 'Continue'
|
|
37087
37120
|
},
|
|
37088
37121
|
es: {
|
|
37089
37122
|
files: 'archivos',
|
|
@@ -37109,7 +37142,14 @@ const poUploadLiteralsDefault = {
|
|
|
37109
37142
|
maxFileSizeAllowed: 'Limite de tamaño de archivo: hasta {0}',
|
|
37110
37143
|
minFileSizeAllowed: 'Limite de tamaño de archivo: minimo {0}',
|
|
37111
37144
|
errorOccurred: 'Ocurrio un error',
|
|
37112
|
-
sentWithSuccess: 'Enviado con éxito'
|
|
37145
|
+
sentWithSuccess: 'Enviado con éxito',
|
|
37146
|
+
doneText: 'Hecho',
|
|
37147
|
+
uploadingText: 'Subiendo',
|
|
37148
|
+
tryAgain: 'Inténtalo de nuevo',
|
|
37149
|
+
close: 'Cerrar archivo',
|
|
37150
|
+
preview: 'Vista previa',
|
|
37151
|
+
thumbnail: 'miniatura',
|
|
37152
|
+
continue: 'Continuar'
|
|
37113
37153
|
},
|
|
37114
37154
|
pt: {
|
|
37115
37155
|
files: 'arquivos',
|
|
@@ -37135,7 +37175,14 @@ const poUploadLiteralsDefault = {
|
|
|
37135
37175
|
maxFileSizeAllowed: 'Limite de tamanho por arquivo: até {0}',
|
|
37136
37176
|
minFileSizeAllowed: 'Limite de tamanho por arquivo: no mínimo {0}',
|
|
37137
37177
|
errorOccurred: 'Ocorreu um erro',
|
|
37138
|
-
sentWithSuccess: 'Enviado com sucesso'
|
|
37178
|
+
sentWithSuccess: 'Enviado com sucesso',
|
|
37179
|
+
doneText: 'Concluido',
|
|
37180
|
+
uploadingText: 'Enviando',
|
|
37181
|
+
tryAgain: 'Tente novamente',
|
|
37182
|
+
close: 'Fechar arquivo',
|
|
37183
|
+
preview: 'Pré-visualizar',
|
|
37184
|
+
thumbnail: 'miniatura',
|
|
37185
|
+
continue: 'Continuar'
|
|
37139
37186
|
},
|
|
37140
37187
|
ru: {
|
|
37141
37188
|
files: 'файлы',
|
|
@@ -37161,7 +37208,14 @@ const poUploadLiteralsDefault = {
|
|
|
37161
37208
|
maxFileSizeAllowed: 'Ограничение размера файла: до {0}',
|
|
37162
37209
|
minFileSizeAllowed: 'Ограничение размера файла: не менее {0}',
|
|
37163
37210
|
errorOccurred: 'Произошла ошибка.',
|
|
37164
|
-
sentWithSuccess: 'Успешно отправлено'
|
|
37211
|
+
sentWithSuccess: 'Успешно отправлено',
|
|
37212
|
+
doneText: 'Сделанный',
|
|
37213
|
+
uploadingText: 'Загрузка',
|
|
37214
|
+
tryAgain: 'Попробуйте еще раз',
|
|
37215
|
+
close: 'Закрыть файл',
|
|
37216
|
+
preview: 'Просмотр',
|
|
37217
|
+
thumbnail: 'миниатюра',
|
|
37218
|
+
continue: 'Продолжить'
|
|
37165
37219
|
}
|
|
37166
37220
|
};
|
|
37167
37221
|
const poUploadFormFieldDefault = 'files';
|
|
@@ -37180,6 +37234,44 @@ const poUploadMinFileSize = 0;
|
|
|
37180
37234
|
* - Função de sucesso que será disparada quando os arquivos forem enviados com sucesso.
|
|
37181
37235
|
* - Função de erro que será disparada quando houver erro no envio dos arquivos.
|
|
37182
37236
|
* - Permite habilitar uma área onde os arquivos podem ser arrastados.
|
|
37237
|
+
*
|
|
37238
|
+
* #### Tokens customizáveis
|
|
37239
|
+
*
|
|
37240
|
+
* É possível alterar o estilo do componente usando os seguintes tokens (CSS):
|
|
37241
|
+
*
|
|
37242
|
+
* > Para maiores informações, acesse o guia [Personalizando o Tema Padrão com Tokens CSS](https://po-ui.io/guides/theme-customization).
|
|
37243
|
+
*
|
|
37244
|
+
* | Propriedade | Descrição | Valor Padrão |
|
|
37245
|
+
* |----------------------------------------|-------------------------------------------------------|---------------------------------------------------|
|
|
37246
|
+
* | **TEXT SUPPORT** | | |
|
|
37247
|
+
* | `--font-family-text-support` | Família tipográfica usada no texto de suporte | `var(--font-family-theme)` |
|
|
37248
|
+
* | `--text-color-text-support` | Cor da fonte no texto de suporte | `var(--color-neutral-dark-90)` |
|
|
37249
|
+
* | **UPLOAD CONTENT** | | |
|
|
37250
|
+
* | `--background-color-content` | Cor de fundo | `var(--color-neutral-light-10)` |
|
|
37251
|
+
* | `--border-color-content` | Cor da borda | `var(--color-neutral-light-20)` |
|
|
37252
|
+
* | `--border-radius-content` | Contém o valor do raio dos cantos do elemento | `var(--border-radius-md)` |
|
|
37253
|
+
* | `--text-color-file-name` | Cor do texto do nome do arquivo | `var(--color-neutral-dark-90)` |
|
|
37254
|
+
* | `--font-family-file-name` | Família tipográfica usada no texto do arquivo | `var(--font-family-theme)` |
|
|
37255
|
+
* | `--text-color-info-bar` | Cor do texto de informação | `var(--color-neutral-mid-60)` |
|
|
37256
|
+
* | `--font-family-info-bar` | Família tipográfica usada no texto de informação | `var(--font-family-theme)` |
|
|
37257
|
+
* | **ERROR STATE** | | |
|
|
37258
|
+
* | `--background-color-content-error` | Cor de fundo do container de erro | `var(--color-neutral-light-00)` |
|
|
37259
|
+
* | `--border-color-content-error` | Cor da borda do container de erro | `var(--color-feedback-negative-base)` |
|
|
37260
|
+
* | `--text-color-error` | Cor do texto do container de erro | `var(--color-feedback-negative-dark)` |
|
|
37261
|
+
* | `--color-icon-error` | Cor do ícone no estado de erro | `var(--color-feedback-negative-base)` |
|
|
37262
|
+
* | `--font-family-error` | Família tipográfica usada no texto de erro | `var(--font-family-theme)` |
|
|
37263
|
+
* | **UPLOADED STATE** | | |
|
|
37264
|
+
* | `--background-color-content-uploaded` | Cor de fundo do container com status de enviado | `var(--color-neutral-light-00)` |
|
|
37265
|
+
* | `--border-color-content-uploaded` | Cor da borda do container com status de enviado | `var(--color-neutral-light-20)` |
|
|
37266
|
+
* | **INTERACTIVE STATE** | | |
|
|
37267
|
+
* | `--text-color-file-name-interactive` | Cor do texto do nome do arquivo quando interativo | `var(--color-action-default)` |
|
|
37268
|
+
* | **THUMBNAIL** | | |
|
|
37269
|
+
* | `--color-icon-thumbnail` | Cor do ícone na thumbnail | `var(--color-action-default)` |
|
|
37270
|
+
* | `--border-width-thumbnail` | Tamanho da fonte na thumbnail | `var(--border-width-sm)` |
|
|
37271
|
+
* | `--border-radius-thumbnail` | Contém o valor do raio dos cantos na thumbnail | `var(--border-radius-md)` |
|
|
37272
|
+
* | `--background-color-thumbnail` | Cor de fundo na thumbnail | `var(--color-neutral-light-05)` |
|
|
37273
|
+
* | **Focused** | | |
|
|
37274
|
+
* | `--outline-color-focused` | Cor do outline do estado de focus | `var(--color-action-focus)` |
|
|
37183
37275
|
*/
|
|
37184
37276
|
class PoUploadBaseComponent {
|
|
37185
37277
|
uploadService;
|
|
@@ -37283,6 +37375,19 @@ class PoUploadBaseComponent {
|
|
|
37283
37375
|
* @default `false`
|
|
37284
37376
|
*/
|
|
37285
37377
|
optional;
|
|
37378
|
+
/**
|
|
37379
|
+
* @optional
|
|
37380
|
+
*
|
|
37381
|
+
* @description
|
|
37382
|
+
*
|
|
37383
|
+
* Exibe a pré-visualização de imagens ao anexá-las.
|
|
37384
|
+
*
|
|
37385
|
+
* > Propriedade funciona apenas em arquivos de formato de imagem (`.png`, `.jpg`, `.jpeg` e `.gif`).
|
|
37386
|
+
* Será ignorada em outros tipos de arquivo.
|
|
37387
|
+
*
|
|
37388
|
+
* @default `true`
|
|
37389
|
+
*/
|
|
37390
|
+
showThumbnail = true;
|
|
37286
37391
|
/** Objeto que contém os cabeçalhos que será enviado na requisição dos arquivos. */
|
|
37287
37392
|
headers;
|
|
37288
37393
|
/**
|
|
@@ -37379,6 +37484,38 @@ class PoUploadBaseComponent {
|
|
|
37379
37484
|
* ```
|
|
37380
37485
|
*/
|
|
37381
37486
|
customAction;
|
|
37487
|
+
/**
|
|
37488
|
+
* @optional
|
|
37489
|
+
*
|
|
37490
|
+
* @description
|
|
37491
|
+
*
|
|
37492
|
+
* Define uma ou duas ações personalizadas do modal de pré-visualização, adicionando um botão ou dois botões no canto inferior direito
|
|
37493
|
+
* do modal.
|
|
37494
|
+
*
|
|
37495
|
+
* A ação deve implementar a interface **PoModalAction**, permitindo configurar propriedades como:
|
|
37496
|
+
* - `label`: Texto do botão.
|
|
37497
|
+
* - `action`: Ícone a ser exibido no botão.
|
|
37498
|
+
* - `danger`: Define a propriedade `p-danger` do botão.
|
|
37499
|
+
* - `disabled`: Indica se o botão deve estar desabilitado.
|
|
37500
|
+
* - `visible`: Indica se o botão deve estar visível.
|
|
37501
|
+
*
|
|
37502
|
+
* **Exemplo de uso:**
|
|
37503
|
+
*
|
|
37504
|
+
* ```html
|
|
37505
|
+
* <po-upload
|
|
37506
|
+
* [p-custom-modal-actions]="customActions"
|
|
37507
|
+
* </po-upload>
|
|
37508
|
+
* ```
|
|
37509
|
+
*
|
|
37510
|
+
* ```typescript
|
|
37511
|
+
* customActions: Array<PoModalAction> = [
|
|
37512
|
+
* { label: 'Confirmar', action: this.confirmModal.bind(this) },
|
|
37513
|
+
* { label: 'Cancelar', action: this.closeModal.bind(this) }
|
|
37514
|
+
*];
|
|
37515
|
+
*
|
|
37516
|
+
* ```
|
|
37517
|
+
*/
|
|
37518
|
+
customModalActions;
|
|
37382
37519
|
/**
|
|
37383
37520
|
* @optional
|
|
37384
37521
|
*
|
|
@@ -37449,6 +37586,33 @@ class PoUploadBaseComponent {
|
|
|
37449
37586
|
* ```
|
|
37450
37587
|
*/
|
|
37451
37588
|
onUpload = new EventEmitter();
|
|
37589
|
+
/**
|
|
37590
|
+
* @optional
|
|
37591
|
+
*
|
|
37592
|
+
* @description
|
|
37593
|
+
*
|
|
37594
|
+
* Evento será disparado ao clicar no ícone de fechar.
|
|
37595
|
+
* > Por parâmetro será passado o objeto do arquivo.
|
|
37596
|
+
*/
|
|
37597
|
+
onCancel = new EventEmitter();
|
|
37598
|
+
/**
|
|
37599
|
+
* @optional
|
|
37600
|
+
*
|
|
37601
|
+
* @description
|
|
37602
|
+
*
|
|
37603
|
+
* Evento será disparado ao abrir o modal de pré-visualização.
|
|
37604
|
+
* > Por parâmetro será passado o objeto do arquivo.
|
|
37605
|
+
*/
|
|
37606
|
+
onOpenModalPreview = new EventEmitter();
|
|
37607
|
+
/**
|
|
37608
|
+
* @optional
|
|
37609
|
+
*
|
|
37610
|
+
* @description
|
|
37611
|
+
*
|
|
37612
|
+
* Evento será disparado ao clicar no ícone de remover.
|
|
37613
|
+
* > Por parâmetro será passado o objeto do arquivo.
|
|
37614
|
+
*/
|
|
37615
|
+
onRemove = new EventEmitter();
|
|
37452
37616
|
/**
|
|
37453
37617
|
* @optional
|
|
37454
37618
|
*
|
|
@@ -37798,9 +37962,28 @@ class PoUploadBaseComponent {
|
|
|
37798
37962
|
break;
|
|
37799
37963
|
}
|
|
37800
37964
|
const file = new PoUploadFile(files[i]);
|
|
37801
|
-
|
|
37802
|
-
|
|
37965
|
+
let currentFile = file;
|
|
37966
|
+
if (!this.checkRestrictions(file)) {
|
|
37967
|
+
currentFile = {
|
|
37968
|
+
uid: file.uid,
|
|
37969
|
+
displayName: file.displayName,
|
|
37970
|
+
name: file.name,
|
|
37971
|
+
extension: file.extension,
|
|
37972
|
+
size: file.size,
|
|
37973
|
+
status: 2,
|
|
37974
|
+
sizeNotAllowed: file.sizeNotAllowed,
|
|
37975
|
+
extensionNotAllowed: file.extensionNotAllowed,
|
|
37976
|
+
errorMessage: ''
|
|
37977
|
+
};
|
|
37803
37978
|
}
|
|
37979
|
+
if (this.showThumbnail && currentFile.rawFile?.type?.startsWith('image/')) {
|
|
37980
|
+
convertImageToBase64(currentFile.rawFile).then(base64 => {
|
|
37981
|
+
currentFile.thumbnailUrl = base64;
|
|
37982
|
+
this.cd.detectChanges();
|
|
37983
|
+
});
|
|
37984
|
+
}
|
|
37985
|
+
poUploadFiles = this.insertFileInFiles(currentFile, poUploadFiles);
|
|
37986
|
+
this.sendFeedback(currentFile);
|
|
37804
37987
|
}
|
|
37805
37988
|
this.sendFeedback();
|
|
37806
37989
|
return poUploadFiles;
|
|
@@ -37820,8 +38003,12 @@ class PoUploadBaseComponent {
|
|
|
37820
38003
|
const isAccept = allowedExtensions ? this.isAllowedExtension(file.extension, allowedExtensions) : true;
|
|
37821
38004
|
const isAcceptSize = file.size >= minFileSize && file.size <= maxFileSize;
|
|
37822
38005
|
if (!isAcceptSize) {
|
|
38006
|
+
file.sizeNotAllowed = true;
|
|
37823
38007
|
this.sizeNotAllowed = this.sizeNotAllowed + 1;
|
|
37824
38008
|
}
|
|
38009
|
+
if (!isAccept) {
|
|
38010
|
+
file.extensionNotAllowed = true;
|
|
38011
|
+
}
|
|
37825
38012
|
return isAccept && isAcceptSize;
|
|
37826
38013
|
}
|
|
37827
38014
|
return true;
|
|
@@ -37875,7 +38062,7 @@ class PoUploadBaseComponent {
|
|
|
37875
38062
|
return files;
|
|
37876
38063
|
}
|
|
37877
38064
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.7", ngImport: i0, type: PoUploadBaseComponent, deps: [{ token: PoUploadService }, { token: PoLanguageService }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Directive });
|
|
37878
|
-
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "20.0.7", type: PoUploadBaseComponent, isStandalone: true, inputs: { additionalHelpEventTrigger: { classPropertyName: "additionalHelpEventTrigger", publicName: "additionalHelpEventTrigger", isSignal: false, isRequired: false, transformFunction: null }, additionalHelpTooltip: { classPropertyName: "additionalHelpTooltip", publicName: "p-additional-help-tooltip", isSignal: false, isRequired: false, transformFunction: null }, appendBox: { classPropertyName: "appendBox", publicName: "p-append-in-body", isSignal: false, isRequired: false, transformFunction: convertToBoolean }, autoFocus: { classPropertyName: "autoFocus", publicName: "p-auto-focus", isSignal: false, isRequired: false, transformFunction: convertToBoolean }, dragDropHeight: { classPropertyName: "dragDropHeight", publicName: "p-drag-drop-height", isSignal: false, isRequired: false, transformFunction: null }, label: { classPropertyName: "label", publicName: "p-label", isSignal: false, isRequired: false, transformFunction: null }, help: { classPropertyName: "help", publicName: "p-help", isSignal: false, isRequired: false, transformFunction: null }, url: { classPropertyName: "url", publicName: "p-url", isSignal: false, isRequired: false, transformFunction: null }, name: { classPropertyName: "name", publicName: "name", isSignal: false, isRequired: false, transformFunction: null }, autoUpload: { classPropertyName: "autoUpload", publicName: "p-auto-upload", isSignal: false, isRequired: false, transformFunction: null }, disabledRemoveFile: { classPropertyName: "disabledRemoveFile", publicName: "p-disabled-remove-file", isSignal: false, isRequired: false, transformFunction: convertToBoolean }, optional: { classPropertyName: "optional", publicName: "p-optional", isSignal: false, isRequired: false, transformFunction: null }, headers: { classPropertyName: "headers", publicName: "p-headers", isSignal: false, isRequired: false, transformFunction: null }, requiredUrl: { classPropertyName: "requiredUrl", publicName: "p-required-url", isSignal: false, isRequired: false, transformFunction: convertToBoolean }, poHelperComponent: { classPropertyName: "poHelperComponent", publicName: "p-helper", isSignal: true, isRequired: false, transformFunction: null }, labelTextWrap: { classPropertyName: "labelTextWrap", publicName: "p-label-text-wrap", isSignal: true, isRequired: false, transformFunction: null }, customAction: { classPropertyName: "customAction", publicName: "p-custom-action", isSignal: false, isRequired: false, transformFunction: null }, directory: { classPropertyName: "directory", publicName: "p-directory", isSignal: false, isRequired: false, transformFunction: null }, dragDrop: { classPropertyName: "dragDrop", publicName: "p-drag-drop", isSignal: false, isRequired: false, transformFunction: null }, hideRestrictionsInfo: { classPropertyName: "hideRestrictionsInfo", publicName: "p-hide-restrictions-info", isSignal: false, isRequired: false, transformFunction: null }, hideSelectButton: { classPropertyName: "hideSelectButton", publicName: "p-hide-select-button", isSignal: false, isRequired: false, transformFunction: null }, hideSendButton: { classPropertyName: "hideSendButton", publicName: "p-hide-send-button", isSignal: false, isRequired: false, transformFunction: null }, literals: { classPropertyName: "literals", publicName: "p-literals", isSignal: false, isRequired: false, transformFunction: null }, fileRestrictions: { classPropertyName: "fileRestrictions", publicName: "p-restrictions", isSignal: false, isRequired: false, transformFunction: null }, formField: { classPropertyName: "formField", publicName: "p-form-field", isSignal: false, isRequired: false, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "p-disabled", isSignal: false, isRequired: false, transformFunction: null }, isMultiple: { classPropertyName: "isMultiple", publicName: "p-multiple", isSignal: false, isRequired: false, transformFunction: null }, required: { classPropertyName: "required", publicName: "p-required", isSignal: false, isRequired: false, transformFunction: null }, showRequired: { classPropertyName: "showRequired", publicName: "p-show-required", isSignal: false, isRequired: false, transformFunction: null }, size: { classPropertyName: "size", publicName: "p-size", isSignal: false, isRequired: false, transformFunction: null } }, outputs: { additionalHelp: "p-additional-help", customActionClick: "p-custom-action-click", keydown: "p-keydown", onUpload: "p-upload", onError: "p-error", onSuccess: "p-success", ngModelChange: "ngModelChange" }, host: { properties: { "attr.p-required-url": "this.requiredUrl" } }, ngImport: i0 });
|
|
38065
|
+
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "20.0.7", type: PoUploadBaseComponent, isStandalone: true, inputs: { additionalHelpEventTrigger: { classPropertyName: "additionalHelpEventTrigger", publicName: "additionalHelpEventTrigger", isSignal: false, isRequired: false, transformFunction: null }, additionalHelpTooltip: { classPropertyName: "additionalHelpTooltip", publicName: "p-additional-help-tooltip", isSignal: false, isRequired: false, transformFunction: null }, appendBox: { classPropertyName: "appendBox", publicName: "p-append-in-body", isSignal: false, isRequired: false, transformFunction: convertToBoolean }, autoFocus: { classPropertyName: "autoFocus", publicName: "p-auto-focus", isSignal: false, isRequired: false, transformFunction: convertToBoolean }, dragDropHeight: { classPropertyName: "dragDropHeight", publicName: "p-drag-drop-height", isSignal: false, isRequired: false, transformFunction: null }, label: { classPropertyName: "label", publicName: "p-label", isSignal: false, isRequired: false, transformFunction: null }, help: { classPropertyName: "help", publicName: "p-help", isSignal: false, isRequired: false, transformFunction: null }, url: { classPropertyName: "url", publicName: "p-url", isSignal: false, isRequired: false, transformFunction: null }, name: { classPropertyName: "name", publicName: "name", isSignal: false, isRequired: false, transformFunction: null }, autoUpload: { classPropertyName: "autoUpload", publicName: "p-auto-upload", isSignal: false, isRequired: false, transformFunction: null }, disabledRemoveFile: { classPropertyName: "disabledRemoveFile", publicName: "p-disabled-remove-file", isSignal: false, isRequired: false, transformFunction: convertToBoolean }, optional: { classPropertyName: "optional", publicName: "p-optional", isSignal: false, isRequired: false, transformFunction: null }, showThumbnail: { classPropertyName: "showThumbnail", publicName: "p-show-thumbnail", isSignal: false, isRequired: false, transformFunction: null }, headers: { classPropertyName: "headers", publicName: "p-headers", isSignal: false, isRequired: false, transformFunction: null }, requiredUrl: { classPropertyName: "requiredUrl", publicName: "p-required-url", isSignal: false, isRequired: false, transformFunction: convertToBoolean }, poHelperComponent: { classPropertyName: "poHelperComponent", publicName: "p-helper", isSignal: true, isRequired: false, transformFunction: null }, labelTextWrap: { classPropertyName: "labelTextWrap", publicName: "p-label-text-wrap", isSignal: true, isRequired: false, transformFunction: null }, customAction: { classPropertyName: "customAction", publicName: "p-custom-action", isSignal: false, isRequired: false, transformFunction: null }, customModalActions: { classPropertyName: "customModalActions", publicName: "p-custom-modal-actions", isSignal: false, isRequired: false, transformFunction: null }, directory: { classPropertyName: "directory", publicName: "p-directory", isSignal: false, isRequired: false, transformFunction: null }, dragDrop: { classPropertyName: "dragDrop", publicName: "p-drag-drop", isSignal: false, isRequired: false, transformFunction: null }, hideRestrictionsInfo: { classPropertyName: "hideRestrictionsInfo", publicName: "p-hide-restrictions-info", isSignal: false, isRequired: false, transformFunction: null }, hideSelectButton: { classPropertyName: "hideSelectButton", publicName: "p-hide-select-button", isSignal: false, isRequired: false, transformFunction: null }, hideSendButton: { classPropertyName: "hideSendButton", publicName: "p-hide-send-button", isSignal: false, isRequired: false, transformFunction: null }, literals: { classPropertyName: "literals", publicName: "p-literals", isSignal: false, isRequired: false, transformFunction: null }, fileRestrictions: { classPropertyName: "fileRestrictions", publicName: "p-restrictions", isSignal: false, isRequired: false, transformFunction: null }, formField: { classPropertyName: "formField", publicName: "p-form-field", isSignal: false, isRequired: false, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "p-disabled", isSignal: false, isRequired: false, transformFunction: null }, isMultiple: { classPropertyName: "isMultiple", publicName: "p-multiple", isSignal: false, isRequired: false, transformFunction: null }, required: { classPropertyName: "required", publicName: "p-required", isSignal: false, isRequired: false, transformFunction: null }, showRequired: { classPropertyName: "showRequired", publicName: "p-show-required", isSignal: false, isRequired: false, transformFunction: null }, size: { classPropertyName: "size", publicName: "p-size", isSignal: false, isRequired: false, transformFunction: null } }, outputs: { additionalHelp: "p-additional-help", customActionClick: "p-custom-action-click", keydown: "p-keydown", onUpload: "p-upload", onCancel: "p-cancel", onOpenModalPreview: "p-open-modal-preview", onRemove: "p-remove", onError: "p-error", onSuccess: "p-success", ngModelChange: "ngModelChange" }, host: { properties: { "attr.p-required-url": "this.requiredUrl" } }, ngImport: i0 });
|
|
37879
38066
|
}
|
|
37880
38067
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.7", ngImport: i0, type: PoUploadBaseComponent, decorators: [{
|
|
37881
38068
|
type: Directive
|
|
@@ -37914,6 +38101,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.7", ngImpor
|
|
|
37914
38101
|
}], optional: [{
|
|
37915
38102
|
type: Input,
|
|
37916
38103
|
args: ['p-optional']
|
|
38104
|
+
}], showThumbnail: [{
|
|
38105
|
+
type: Input,
|
|
38106
|
+
args: ['p-show-thumbnail']
|
|
37917
38107
|
}], headers: [{
|
|
37918
38108
|
type: Input,
|
|
37919
38109
|
args: ['p-headers']
|
|
@@ -37929,6 +38119,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.7", ngImpor
|
|
|
37929
38119
|
}], customAction: [{
|
|
37930
38120
|
type: Input,
|
|
37931
38121
|
args: ['p-custom-action']
|
|
38122
|
+
}], customModalActions: [{
|
|
38123
|
+
type: Input,
|
|
38124
|
+
args: ['p-custom-modal-actions']
|
|
37932
38125
|
}], customActionClick: [{
|
|
37933
38126
|
type: Output,
|
|
37934
38127
|
args: ['p-custom-action-click']
|
|
@@ -37938,6 +38131,15 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.7", ngImpor
|
|
|
37938
38131
|
}], onUpload: [{
|
|
37939
38132
|
type: Output,
|
|
37940
38133
|
args: ['p-upload']
|
|
38134
|
+
}], onCancel: [{
|
|
38135
|
+
type: Output,
|
|
38136
|
+
args: ['p-cancel']
|
|
38137
|
+
}], onOpenModalPreview: [{
|
|
38138
|
+
type: Output,
|
|
38139
|
+
args: ['p-open-modal-preview']
|
|
38140
|
+
}], onRemove: [{
|
|
38141
|
+
type: Output,
|
|
38142
|
+
args: ['p-remove']
|
|
37941
38143
|
}], onError: [{
|
|
37942
38144
|
type: Output,
|
|
37943
38145
|
args: ['p-error']
|
|
@@ -38376,11 +38578,11 @@ class PoUploadFileRestrictionsComponent {
|
|
|
38376
38578
|
this.changeDetector.detectChanges();
|
|
38377
38579
|
}
|
|
38378
38580
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.7", ngImport: i0, type: PoUploadFileRestrictionsComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
38379
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.0.7", type: PoUploadFileRestrictionsComponent, isStandalone: false, selector: "po-upload-file-restrictions", inputs: { maxFiles: ["p-max-files", "maxFiles"], allowedExtensions: ["p-allowed-extensions", "allowedExtensions"], maxFileSize: ["p-max-file-size", "maxFileSize"], minFileSize: ["p-min-file-size", "minFileSize"] }, ngImport: i0, template: "@if (maxFiles > 1) {\n <p
|
|
38581
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.0.7", type: PoUploadFileRestrictionsComponent, isStandalone: false, selector: "po-upload-file-restrictions", inputs: { maxFiles: ["p-max-files", "maxFiles"], allowedExtensions: ["p-allowed-extensions", "allowedExtensions"], maxFileSize: ["p-max-file-size", "maxFileSize"], minFileSize: ["p-min-file-size", "minFileSize"] }, ngImport: i0, template: "@if (maxFiles > 1) {\n <p>\n {{ literals?.numberOfFilesAllowed | poI18n: maxFiles }}\n </p>\n}\n\n@if (allowedExtensions) {\n <p>\n {{ literals?.allowedFormats | poI18n: allowedExtensions }}\n </p>\n}\n\n@if (minFileSize || maxFileSize) {\n <p>\n <span>{{ literals?.allowedSizes }}</span>\n @if (minFileSize && maxFileSize) {\n <span>\n {{ literals?.allowedFileSizeRange | poI18n: [minFileSize, maxFileSize] }}\n </span>\n }\n @if (minFileSize && !maxFileSize) {\n <span>\n {{ literals?.minFileSizeAllowed | poI18n: minFileSize }}\n </span>\n }\n @if (maxFileSize && !minFileSize) {\n <span>\n {{ literals?.maxFileSizeAllowed | poI18n: maxFileSize }}\n </span>\n }\n </p>\n}\n", dependencies: [{ kind: "pipe", type: PoI18nPipe, name: "poI18n" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
38380
38582
|
}
|
|
38381
38583
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.7", ngImport: i0, type: PoUploadFileRestrictionsComponent, decorators: [{
|
|
38382
38584
|
type: Component,
|
|
38383
|
-
args: [{ selector: 'po-upload-file-restrictions', changeDetection: ChangeDetectionStrategy.OnPush, standalone: false, template: "@if (maxFiles > 1) {\n <p
|
|
38585
|
+
args: [{ selector: 'po-upload-file-restrictions', changeDetection: ChangeDetectionStrategy.OnPush, standalone: false, template: "@if (maxFiles > 1) {\n <p>\n {{ literals?.numberOfFilesAllowed | poI18n: maxFiles }}\n </p>\n}\n\n@if (allowedExtensions) {\n <p>\n {{ literals?.allowedFormats | poI18n: allowedExtensions }}\n </p>\n}\n\n@if (minFileSize || maxFileSize) {\n <p>\n <span>{{ literals?.allowedSizes }}</span>\n @if (minFileSize && maxFileSize) {\n <span>\n {{ literals?.allowedFileSizeRange | poI18n: [minFileSize, maxFileSize] }}\n </span>\n }\n @if (minFileSize && !maxFileSize) {\n <span>\n {{ literals?.minFileSizeAllowed | poI18n: minFileSize }}\n </span>\n }\n @if (maxFileSize && !minFileSize) {\n <span>\n {{ literals?.maxFileSizeAllowed | poI18n: maxFileSize }}\n </span>\n }\n </p>\n}\n" }]
|
|
38384
38586
|
}], ctorParameters: () => [], propDecorators: { maxFiles: [{
|
|
38385
38587
|
type: Input,
|
|
38386
38588
|
args: ['p-max-files']
|
|
@@ -38424,6 +38626,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.7", ngImpor
|
|
|
38424
38626
|
* <file name="sample-po-upload-download/sample-po-upload-download.component.html"> </file>
|
|
38425
38627
|
* <file name="sample-po-upload-download/sample-po-upload-download.component.ts"> </file>
|
|
38426
38628
|
* </example>
|
|
38629
|
+
*
|
|
38630
|
+
* <example name="po-upload-preview" title="PO Upload - with Preview">
|
|
38631
|
+
* <file name="sample-po-upload-preview/sample-po-upload-preview.component.html"> </file>
|
|
38632
|
+
* <file name="sample-po-upload-preview/sample-po-upload-preview.component.ts"> </file>
|
|
38633
|
+
* </example>
|
|
38427
38634
|
*/
|
|
38428
38635
|
class PoUploadComponent extends PoUploadBaseComponent {
|
|
38429
38636
|
renderer = inject(Renderer2);
|
|
@@ -38432,6 +38639,7 @@ class PoUploadComponent extends PoUploadBaseComponent {
|
|
|
38432
38639
|
inputFile;
|
|
38433
38640
|
poUploadDragDropComponent;
|
|
38434
38641
|
uploadButton;
|
|
38642
|
+
modalComponent;
|
|
38435
38643
|
id = `po-upload[${uuid()}]`;
|
|
38436
38644
|
infoByUploadStatus = {
|
|
38437
38645
|
[PoUploadStatus.Uploaded]: {
|
|
@@ -38450,6 +38658,12 @@ class PoUploadComponent extends PoUploadBaseComponent {
|
|
|
38450
38658
|
[PoUploadStatus.Error]: PoProgressStatus.Error
|
|
38451
38659
|
};
|
|
38452
38660
|
calledByCleanInputValue = false;
|
|
38661
|
+
modalPrimaryAction;
|
|
38662
|
+
modalSecondaryAction;
|
|
38663
|
+
errorMessage;
|
|
38664
|
+
tooltipTitle = '';
|
|
38665
|
+
modalImageUrl = '';
|
|
38666
|
+
errorModalImage = false;
|
|
38453
38667
|
constructor() {
|
|
38454
38668
|
const uploadService = inject(PoUploadService);
|
|
38455
38669
|
const languageService = inject(PoLanguageService);
|
|
@@ -38482,7 +38696,7 @@ class PoUploadComponent extends PoUploadBaseComponent {
|
|
|
38482
38696
|
}
|
|
38483
38697
|
get hasFileNotUploaded() {
|
|
38484
38698
|
if (Array.isArray(this.currentFiles)) {
|
|
38485
|
-
return this.currentFiles.some(file => file.status !== PoUploadStatus.Uploaded);
|
|
38699
|
+
return this.currentFiles.some(file => file.status !== PoUploadStatus.Uploaded && file.status !== PoUploadStatus.Error);
|
|
38486
38700
|
}
|
|
38487
38701
|
return false;
|
|
38488
38702
|
}
|
|
@@ -38501,13 +38715,35 @@ class PoUploadComponent extends PoUploadBaseComponent {
|
|
|
38501
38715
|
get maxFiles() {
|
|
38502
38716
|
return this.isMultiple && this.fileRestrictions && this.fileRestrictions.maxFiles;
|
|
38503
38717
|
}
|
|
38504
|
-
cancel(file) {
|
|
38718
|
+
cancel(file, keydown) {
|
|
38719
|
+
if (this.disabledRemoveFile || (keydown && keydown.code !== 'Enter' && keydown.code !== 'Space'))
|
|
38720
|
+
return;
|
|
38505
38721
|
if (file.status === PoUploadStatus.Uploading) {
|
|
38506
38722
|
return this.stopUpload(file);
|
|
38507
38723
|
}
|
|
38508
38724
|
this.removeFile(file);
|
|
38725
|
+
if (file.status !== PoUploadStatus.Uploaded) {
|
|
38726
|
+
this.onCancel.emit(file);
|
|
38727
|
+
}
|
|
38728
|
+
else {
|
|
38729
|
+
this.onRemove.emit(file);
|
|
38730
|
+
}
|
|
38731
|
+
}
|
|
38732
|
+
ngOnChanges(changes) {
|
|
38733
|
+
if (changes['customModalActions']) {
|
|
38734
|
+
if (this.customModalActions?.length > 0) {
|
|
38735
|
+
this.modalPrimaryAction = this.customModalActions[0];
|
|
38736
|
+
this.modalSecondaryAction = this.customModalActions[1] || undefined;
|
|
38737
|
+
}
|
|
38738
|
+
else {
|
|
38739
|
+
this.setPrimaryActionModal();
|
|
38740
|
+
}
|
|
38741
|
+
}
|
|
38509
38742
|
}
|
|
38510
38743
|
ngAfterViewInit() {
|
|
38744
|
+
if (!this.customModalActions?.length) {
|
|
38745
|
+
this.setPrimaryActionModal();
|
|
38746
|
+
}
|
|
38511
38747
|
if (this.autoFocus) {
|
|
38512
38748
|
this.focus();
|
|
38513
38749
|
}
|
|
@@ -38587,9 +38823,30 @@ class PoUploadComponent extends PoUploadBaseComponent {
|
|
|
38587
38823
|
this.keydown.emit(event);
|
|
38588
38824
|
}
|
|
38589
38825
|
}
|
|
38826
|
+
/**
|
|
38827
|
+
* Método responsável por fechar o modal.
|
|
38828
|
+
*/
|
|
38829
|
+
closeModal() {
|
|
38830
|
+
this.errorModalImage = false;
|
|
38831
|
+
this.modalComponent.close();
|
|
38832
|
+
this.modalImageUrl = '';
|
|
38833
|
+
}
|
|
38834
|
+
openModal(file, keydown) {
|
|
38835
|
+
if (keydown && keydown.code !== 'Enter' && keydown.code !== 'Space')
|
|
38836
|
+
return;
|
|
38837
|
+
if (file?.thumbnailUrl && !file.errorMessage) {
|
|
38838
|
+
this.errorModalImage = false;
|
|
38839
|
+
this.modalComponent.open();
|
|
38840
|
+
this.modalImageUrl = file.thumbnailUrl;
|
|
38841
|
+
this.onOpenModalPreview.emit(file);
|
|
38842
|
+
}
|
|
38843
|
+
}
|
|
38844
|
+
// Remove o arquivo passado por parâmetro da lista dos arquivos correntes.
|
|
38590
38845
|
removeFile(file) {
|
|
38591
|
-
const index = this.currentFiles.
|
|
38592
|
-
|
|
38846
|
+
const index = this.currentFiles.findIndex(f => f.uid === file.uid);
|
|
38847
|
+
if (index !== -1) {
|
|
38848
|
+
this.currentFiles.splice(index, 1);
|
|
38849
|
+
}
|
|
38593
38850
|
this.updateModel([...this.currentFiles]);
|
|
38594
38851
|
}
|
|
38595
38852
|
/** Método responsável por **abrir** a janela para seleção de arquivo(s). */
|
|
@@ -38598,21 +38855,29 @@ class PoUploadComponent extends PoUploadBaseComponent {
|
|
|
38598
38855
|
this.calledByCleanInputValue = false;
|
|
38599
38856
|
this.inputFile.nativeElement.click();
|
|
38600
38857
|
}
|
|
38601
|
-
sendFeedback() {
|
|
38602
|
-
|
|
38858
|
+
sendFeedback(file) {
|
|
38859
|
+
let sizeNotAllowed = this.sizeNotAllowed;
|
|
38860
|
+
let extensionNotAllowed = this.extensionNotAllowed;
|
|
38861
|
+
let quantityNotAllowed = this.quantityNotAllowed;
|
|
38862
|
+
if (file) {
|
|
38863
|
+
sizeNotAllowed = file.sizeNotAllowed ? 1 : undefined;
|
|
38864
|
+
extensionNotAllowed = file.extensionNotAllowed ? 1 : undefined;
|
|
38865
|
+
quantityNotAllowed = undefined;
|
|
38866
|
+
}
|
|
38867
|
+
if (sizeNotAllowed > 0) {
|
|
38603
38868
|
const minFileSize = formatBytes(this.fileRestrictions.minFileSize);
|
|
38604
38869
|
const maxFileSize = formatBytes(this.fileRestrictions.maxFileSize);
|
|
38605
38870
|
const args = [this.sizeNotAllowed, minFileSize || '0', maxFileSize];
|
|
38606
|
-
this.setPipeArguments('invalidSize', args);
|
|
38871
|
+
this.setPipeArguments('invalidSize', args, file);
|
|
38607
38872
|
this.sizeNotAllowed = 0;
|
|
38608
38873
|
}
|
|
38609
|
-
if (
|
|
38874
|
+
if (extensionNotAllowed > 0) {
|
|
38610
38875
|
const allowedExtensionsFormatted = this.fileRestrictions.allowedExtensions.join(', ').toUpperCase();
|
|
38611
38876
|
const args = [this.extensionNotAllowed, allowedExtensionsFormatted];
|
|
38612
|
-
this.setPipeArguments('invalidFormat', args);
|
|
38877
|
+
this.setPipeArguments('invalidFormat', args, file);
|
|
38613
38878
|
this.extensionNotAllowed = 0;
|
|
38614
38879
|
}
|
|
38615
|
-
if (
|
|
38880
|
+
if (quantityNotAllowed > 0) {
|
|
38616
38881
|
const args = [this.quantityNotAllowed];
|
|
38617
38882
|
this.setPipeArguments('invalidAmount', args);
|
|
38618
38883
|
this.quantityNotAllowed = 0;
|
|
@@ -38686,7 +38951,9 @@ class PoUploadComponent extends PoUploadBaseComponent {
|
|
|
38686
38951
|
return file.uid;
|
|
38687
38952
|
}
|
|
38688
38953
|
uploadFiles(files) {
|
|
38689
|
-
const filesFiltered = files.filter(file => file.status !== PoUploadStatus.Uploaded);
|
|
38954
|
+
const filesFiltered = files.filter(file => file.status !== PoUploadStatus.Uploaded && !file.sizeNotAllowed && !file.extensionNotAllowed);
|
|
38955
|
+
if (files.length === 0)
|
|
38956
|
+
return;
|
|
38690
38957
|
this.uploadService.upload(this.url, filesFiltered, this.headers, this.onUpload, (file, percent) => {
|
|
38691
38958
|
// UPLOADING
|
|
38692
38959
|
this.uploadingHandler(file, percent);
|
|
@@ -38694,6 +38961,14 @@ class PoUploadComponent extends PoUploadBaseComponent {
|
|
|
38694
38961
|
// SUCCESS
|
|
38695
38962
|
this.responseHandler(file, PoUploadStatus.Uploaded);
|
|
38696
38963
|
this.onSuccess.emit(eventResponse);
|
|
38964
|
+
// esconde o status de sucesso após 500ms
|
|
38965
|
+
setTimeout(() => {
|
|
38966
|
+
const currentFile = this.currentFiles.find(f => f.uid === file.uid);
|
|
38967
|
+
if (currentFile) {
|
|
38968
|
+
currentFile.hideDoneContent = true;
|
|
38969
|
+
this.cd.detectChanges();
|
|
38970
|
+
}
|
|
38971
|
+
}, 500);
|
|
38697
38972
|
}, (file, eventError) => {
|
|
38698
38973
|
// Error
|
|
38699
38974
|
this.responseHandler(file, PoUploadStatus.Error);
|
|
@@ -38708,6 +38983,33 @@ class PoUploadComponent extends PoUploadBaseComponent {
|
|
|
38708
38983
|
setHelper(label, additionalHelpTooltip) {
|
|
38709
38984
|
return setHelperSettings(label, additionalHelpTooltip, this.poHelperComponent(), this.size, this.isAdditionalHelpEventTriggered() ? this.additionalHelp : undefined);
|
|
38710
38985
|
}
|
|
38986
|
+
actionIsDisabled(action) {
|
|
38987
|
+
return isTypeof(action.disabled, 'function') ? action.disabled(action) : action.disabled;
|
|
38988
|
+
}
|
|
38989
|
+
isActionVisible(action) {
|
|
38990
|
+
if (!action || (!action.label && !action.icon)) {
|
|
38991
|
+
return false;
|
|
38992
|
+
}
|
|
38993
|
+
if (action.visible === undefined) {
|
|
38994
|
+
return true;
|
|
38995
|
+
}
|
|
38996
|
+
if (isTypeof(action.visible, 'function')) {
|
|
38997
|
+
return action.visible();
|
|
38998
|
+
}
|
|
38999
|
+
return !!action.visible;
|
|
39000
|
+
}
|
|
39001
|
+
onImageError(file) {
|
|
39002
|
+
file.imageError = true;
|
|
39003
|
+
}
|
|
39004
|
+
showTooltipText(e, text) {
|
|
39005
|
+
const element = e.target;
|
|
39006
|
+
if (element.offsetWidth < element.scrollWidth) {
|
|
39007
|
+
this.tooltipTitle = text;
|
|
39008
|
+
}
|
|
39009
|
+
else {
|
|
39010
|
+
this.tooltipTitle = undefined;
|
|
39011
|
+
}
|
|
39012
|
+
}
|
|
38711
39013
|
cleanInputValue() {
|
|
38712
39014
|
this.calledByCleanInputValue = true;
|
|
38713
39015
|
this.inputFile.nativeElement.value = '';
|
|
@@ -38725,10 +39027,25 @@ class PoUploadComponent extends PoUploadBaseComponent {
|
|
|
38725
39027
|
file.percent = 100;
|
|
38726
39028
|
this.cd.markForCheck();
|
|
38727
39029
|
}
|
|
38728
|
-
|
|
39030
|
+
// método responsável por setar os argumentos do i18nPipe de acordo com a restrição.
|
|
39031
|
+
setPipeArguments(literalAttributes, literalArguments, file) {
|
|
38729
39032
|
const pipeArguments = this.i18nPipe.transform(this.literals[literalAttributes], literalArguments);
|
|
38730
|
-
this.
|
|
39033
|
+
this.errorMessage = pipeArguments;
|
|
39034
|
+
if (literalAttributes === 'invalidAmount') {
|
|
39035
|
+
this.notification.information(pipeArguments);
|
|
39036
|
+
}
|
|
39037
|
+
if (file) {
|
|
39038
|
+
file.errorMessage = pipeArguments;
|
|
39039
|
+
}
|
|
39040
|
+
}
|
|
39041
|
+
setPrimaryActionModal() {
|
|
39042
|
+
this.modalPrimaryAction = {
|
|
39043
|
+
label: this.literals.continue,
|
|
39044
|
+
action: this.closeModal.bind(this)
|
|
39045
|
+
};
|
|
39046
|
+
this.modalSecondaryAction = undefined;
|
|
38731
39047
|
}
|
|
39048
|
+
// Função disparada ao parar um envio de arquivo.
|
|
38732
39049
|
stopUploadHandler(file) {
|
|
38733
39050
|
file.status = PoUploadStatus.None;
|
|
38734
39051
|
file.percent = 0;
|
|
@@ -38753,6 +39070,7 @@ class PoUploadComponent extends PoUploadBaseComponent {
|
|
|
38753
39070
|
mapCleanUploadFiles(files) {
|
|
38754
39071
|
const mapedByUploadFile = progressFile => {
|
|
38755
39072
|
const { percent, displayName, ...uploadFile } = progressFile;
|
|
39073
|
+
delete uploadFile.thumbnailUrl;
|
|
38756
39074
|
return uploadFile;
|
|
38757
39075
|
};
|
|
38758
39076
|
return files.map(mapedByUploadFile);
|
|
@@ -38771,7 +39089,7 @@ class PoUploadComponent extends PoUploadBaseComponent {
|
|
|
38771
39089
|
useExisting: forwardRef(() => PoUploadComponent),
|
|
38772
39090
|
multi: true
|
|
38773
39091
|
}
|
|
38774
|
-
], viewQueries: [{ propertyName: "inputFile", first: true, predicate: ["inputFile"], descendants: true, read: ElementRef, static: true }, { propertyName: "poUploadDragDropComponent", first: true, predicate: PoUploadDragDropComponent, descendants: true }, { propertyName: "uploadButton", first: true, predicate: ["uploadButton"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<po-field-container\n [p-disabled]=\"isDisabled\"\n [p-id]=\"id\"\n [p-label]=\"label\"\n [p-optional]=\"optional\"\n [p-required]=\"required\"\n [p-show-required]=\"showRequired\"\n [p-show-helper]=\"displayAdditionalHelp\"\n [p-helper]=\"setHelper(this.label, this.additionalHelpTooltip).helperSettings\"\n [p-text-wrap]=\"labelTextWrap()\"\n>\n <div class=\"po-field-container-content\">\n <div class=\"po-upload\">\n <input\n #inputFile\n class=\"po-upload-input\"\n type=\"file\"\n [accept]=\"allowedExtensions\"\n [attr.name]=\"name\"\n [id]=\"id\"\n [disabled]=\"isDisabled\"\n [multiple]=\"isMultiple\"\n [required]=\"required\"\n (change)=\"onFileChange($event)\"\n />\n\n @if (displayDragDrop) {\n <po-upload-drag-drop\n [p-directory-compatible]=\"canHandleDirectory\"\n [p-disabled]=\"isDisabled\"\n [p-drag-drop-height]=\"dragDropHeight\"\n [p-literals]=\"literals\"\n (p-file-change)=\"onFileChangeDragDrop($event)\"\n (p-select-files)=\"selectFiles()\"\n >\n </po-upload-drag-drop>\n }\n\n @if (!hideSelectButton && !displayDragDrop) {\n <po-button\n #uploadButton\n class=\"po-upload-button\"\n for=\"file\"\n [p-disabled]=\"isDisabled\"\n [p-label]=\"selectFileButtonLabel\"\n [p-size]=\"size\"\n (p-blur)=\"onBlur()\"\n (p-click)=\"selectFiles()\"\n (keydown)=\"onKeyDown($event)\"\n >\n </po-button>\n }\n\n @if (fileRestrictions && !hideRestrictionsInfo) {\n <po-upload-file-restrictions\n class=\"po-upload-file-restrictions\"\n [ngClass]=\"{ 'po-upload-file-restrictions-drag-drop': displayDragDrop }\"\n [p-allowed-extensions]=\"fileRestrictions?.allowedExtensions\"\n [p-max-files]=\"maxFiles\"\n [p-max-file-size]=\"fileRestrictions?.maxFileSize\"\n [p-min-file-size]=\"fileRestrictions?.minFileSize\"\n >\n </po-upload-file-restrictions>\n }\n\n @if (currentFiles && currentFiles.length) {\n <div class=\"po-upload-progress-container\">\n <po-container\n [p-height]=\"hasMoreThanFourItems ? 280 : 'auto'\"\n [p-no-border]=\"!hasMoreThanFourItems\"\n [p-no-padding]=\"!hasMoreThanFourItems\"\n >\n <div [ngClass]=\"{ 'po-upload-progress-container-area po-pt-2 po-pl-1': hasMoreThanFourItems }\">\n @for (file of currentFiles; track trackByFn($index, file)) {\n <po-progress\n [p-disabled-cancel]=\"disabledRemoveFile\"\n [p-info]=\"infoByUploadStatus[file.status]?.text(file.percent)\"\n [p-info-icon]=\"infoByUploadStatus[file.status]?.icon\"\n [p-status]=\"progressStatusByFileStatus[file.status]\"\n [p-text]=\"file.displayName\"\n [p-value]=\"file.percent\"\n [p-custom-action]=\"customAction\"\n (p-custom-action-click)=\"customClick(file)\"\n (p-cancel)=\"cancel(file)\"\n (p-retry)=\"uploadFiles([file])\"\n [p-size-actions]=\"size\"\n >\n </po-progress>\n }\n </div>\n </po-container>\n </div>\n }\n\n @if (displaySendButton) {\n <po-button\n class=\"po-upload-send-button\"\n [class.po-mt-3]=\"hasMoreThanFourItems\"\n p-kind=\"primary\"\n [p-disabled]=\"hasAnyFileUploading(currentFiles)\"\n [p-label]=\"literals.startSending\"\n [p-size]=\"size\"\n (p-click)=\"uploadFiles(currentFiles)\"\n ></po-button>\n }\n </div>\n </div>\n <po-field-container-bottom\n [p-additional-help-tooltip]=\"getAdditionalHelpTooltip()\"\n [p-append-in-body]=\"appendBox\"\n [p-help]=\"help\"\n [p-disabled]=\"disabled\"\n [p-hide-additional-help-by-label]=\"setHelper(this.label, this.additionalHelpTooltip).hideAdditionalHelp\"\n [p-show-additional-help]=\"displayAdditionalHelp\"\n [p-show-additional-help-icon]=\"showAdditionalHelpIcon()\"\n (p-additional-help)=\"emitAdditionalHelp()\"\n ></po-field-container-bottom>\n</po-field-container>\n", dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "component", type: PoButtonComponent, selector: "po-button" }, { kind: "component", type: PoContainerComponent, selector: "po-container" }, { kind: "component", type: PoFieldContainerBottomComponent, selector: "po-field-container-bottom", inputs: ["p-additional-help-tooltip", "p-append-in-body", "p-disabled", "p-error-pattern", "p-error-limit", "p-help", "p-show-additional-help", "p-show-additional-help-icon", "p-hide-additional-help-by-label"], outputs: ["p-additional-help"] }, { kind: "component", type: PoFieldContainerComponent, selector: "po-field-container", inputs: ["p-disabled", "p-id", "p-label", "p-help", "p-helper", "p-show-helper", "p-text-wrap", "p-optional", "p-required", "p-show-required"] }, { kind: "component", type: PoProgressComponent, selector: "po-progress" }, { kind: "component", type: PoUploadDragDropComponent, selector: "po-upload-drag-drop", inputs: ["p-directory-compatible", "p-disabled", "p-literals", "p-drag-drop-height"], outputs: ["p-file-change", "p-select-files"] }, { kind: "component", type: PoUploadFileRestrictionsComponent, selector: "po-upload-file-restrictions", inputs: ["p-max-files", "p-allowed-extensions", "p-max-file-size", "p-min-file-size"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
39092
|
+
], viewQueries: [{ propertyName: "inputFile", first: true, predicate: ["inputFile"], descendants: true, read: ElementRef, static: true }, { propertyName: "poUploadDragDropComponent", first: true, predicate: PoUploadDragDropComponent, descendants: true }, { propertyName: "uploadButton", first: true, predicate: ["uploadButton"], descendants: true }, { propertyName: "modalComponent", first: true, predicate: ["modal"], descendants: true }], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<po-field-container\n [p-disabled]=\"isDisabled\"\n [p-id]=\"id\"\n [p-label]=\"label\"\n [p-optional]=\"optional\"\n [p-required]=\"required\"\n [p-show-required]=\"showRequired\"\n [p-show-helper]=\"displayAdditionalHelp\"\n [p-helper]=\"setHelper(this.label, this.additionalHelpTooltip).helperSettings\"\n [p-text-wrap]=\"labelTextWrap()\"\n>\n <div class=\"po-field-container-content\">\n <div class=\"po-upload\">\n <input\n #inputFile\n class=\"po-upload-input\"\n type=\"file\"\n [accept]=\"allowedExtensions\"\n [attr.name]=\"name\"\n [id]=\"id\"\n [disabled]=\"isDisabled\"\n [multiple]=\"isMultiple\"\n [required]=\"required\"\n (change)=\"onFileChange($event)\"\n />\n\n @if (displayDragDrop) {\n <po-upload-drag-drop\n [p-directory-compatible]=\"canHandleDirectory\"\n [p-disabled]=\"isDisabled\"\n [p-drag-drop-height]=\"dragDropHeight\"\n [p-literals]=\"literals\"\n (p-file-change)=\"onFileChangeDragDrop($event)\"\n (p-select-files)=\"selectFiles()\"\n >\n </po-upload-drag-drop>\n }\n\n @if (fileRestrictions && !hideRestrictionsInfo) {\n <po-upload-file-restrictions\n class=\"po-upload-file-restrictions\"\n [ngClass]=\"{ 'po-upload-file-restrictions-drag-drop': displayDragDrop }\"\n [class.po-pb-1]=\"!displayDragDrop\"\n [p-allowed-extensions]=\"fileRestrictions?.allowedExtensions\"\n [p-max-files]=\"maxFiles\"\n [p-max-file-size]=\"fileRestrictions?.maxFileSize\"\n [p-min-file-size]=\"fileRestrictions?.minFileSize\"\n >\n </po-upload-file-restrictions>\n }\n\n @if (!hideSelectButton && !displayDragDrop) {\n <po-button\n #uploadButton\n class=\"po-upload-button\"\n for=\"file\"\n [p-disabled]=\"isDisabled\"\n [p-label]=\"selectFileButtonLabel\"\n [p-size]=\"size\"\n (p-blur)=\"onBlur()\"\n (p-click)=\"selectFiles()\"\n (keydown)=\"onKeyDown($event)\"\n >\n </po-button>\n }\n\n @if (currentFiles && currentFiles.length) {\n <div class=\"po-upload-files-content\">\n @for (file of currentFiles; track trackByFn($index, file)) {\n <div\n class=\"po-upload-progress-container\"\n [class.po-upload-container-error]=\"file.status === 2\"\n [class.po-upload-progress-container-aa]=\"size === 'small'\"\n [class.po-upload-status-uploaded]=\"file.hideDoneContent\"\n >\n <po-container>\n <div\n [ngClass]=\"showThumbnail && file.thumbnailUrl ? 'po-upload-content-thumbnail' : 'po-upload-content'\"\n class=\"po-upload-content\"\n >\n <div class=\"po-upload-file-name\" [class.po-upload-file-name-aa]=\"size === 'small'\">\n <div class=\"po-upload-file-name-display\">\n @if (showThumbnail && file.thumbnailUrl) {\n <div class=\"po-upload-thumbnail\" (click)=\"openModal(file)\" (keydown)=\"openModal(file, $event)\">\n @if (!file.imageError) {\n <div class=\"po-upload-thumbnail-icon\">\n <po-icon p-icon=\"ICON_PICTURE\"></po-icon>\n </div>\n <img\n class=\"po-upload-thumbnail-img\"\n [src]=\"file.thumbnailUrl\"\n [alt]=\"literals.thumbnail\"\n (error)=\"onImageError(file)\"\n />\n } @else {\n <div class=\"po-upload-thumbnail-broken\">\n <po-icon p-icon=\"ICON_PICTURE_BROKEN\"></po-icon>\n </div>\n }\n </div>\n }\n <span\n class=\"po-upload-display-name\"\n [class.po-upload-name-interactive]=\"showThumbnail && file.thumbnailUrl\"\n [p-tooltip]=\"tooltipTitle\"\n (keydown)=\"openModal(file, $event)\"\n (click)=\"openModal(file)\"\n (mouseover)=\"showTooltipText($event, file?.displayName)\"\n (focus)=\"showTooltipText($event, file?.displayName)\"\n >{{ file.displayName }}</span\n >\n </div>\n <div class=\"po-upload-buttons-content\">\n @if (isActionVisible(customAction)) {\n <po-button\n class=\"po-upload-custom-action-button\"\n [p-danger]=\"customAction.type === 'danger'\"\n [p-disabled]=\"actionIsDisabled(customAction)\"\n [p-label]=\"customAction.label || ''\"\n [p-icon]=\"customAction.icon\"\n [p-size]=\"size\"\n (p-click)=\"customClick(file)\"\n >\n </po-button>\n }\n @if (file.status !== 0 || onRemove?.observers?.length > 0) {\n <div\n class=\"po-upload-icon-focus\"\n [class.po-upload-cancel-disabled]=\"disabledRemoveFile\"\n [class.po-upload-icon-focus-aa]=\"size === 'small'\"\n [attr.aria-label]=\"literals.close\"\n [tabindex]=\"disabledRemoveFile ? -1 : 0\"\n (keydown)=\"cancel(file, $event)\"\n (click)=\"cancel(file)\"\n >\n <po-icon\n class=\"po-upload-icon-close\"\n [class.po-upload-icon-remove]=\"file.status === 0\"\n [p-icon]=\"file.status === 0 ? 'ICON_DELETE' : 'ICON_CLOSE'\"\n >\n </po-icon>\n </div>\n }\n </div>\n </div>\n @if (!file.hideDoneContent) {\n <div class=\"po-upload-info-bar\" [class.fade-out]=\"file.status === 0\">\n @if (file.status === 0) {\n <span> {{ literals.doneText }} </span>\n } @else if (file.status === 2) {\n <div class=\"po-upload-content-error\">\n <po-icon class=\"po-upload-icon-error\" p-icon=\"ICON_EXCLAMATION\"></po-icon\n ><span class=\"po-upload-content-error-text\">\n {{ file?.errorMessage || literals?.errorOccurred }}\n </span>\n @if (!file.errorMessage) {\n <po-link\n class=\"po-upload-retry-link\"\n [p-label]=\"literals.tryAgain\"\n (p-action)=\"uploadFiles([file])\"\n ></po-link>\n }\n </div>\n } @else if (file.status === 1) {\n <span>{{ literals.uploadingText }}</span>\n } @else if (file.status === 3) {\n <span>{{ literals.startSending }}</span>\n }\n @if (file.status !== 2) {\n <span class=\"po-upload-value-percent\">{{ file.percent || 0 }}%</span>\n }\n </div>\n }\n </div>\n @if (file.status !== 2 && !file.hideDoneContent) {\n <po-progress\n [class.fade-out]=\"file.status === 0\"\n class=\"po-upload-progress\"\n p-size=\"medium\"\n [p-disabled-cancel]=\"disabledRemoveFile\"\n [p-value]=\"file.percent\"\n [p-status]=\"progressStatusByFileStatus[file.status]\"\n [p-size-actions]=\"size\"\n >\n </po-progress>\n }\n </po-container>\n </div>\n }\n </div>\n }\n\n @if (displaySendButton) {\n <po-button\n class=\"po-upload-send-button\"\n [class.po-mt-3]=\"hasMoreThanFourItems\"\n p-kind=\"primary\"\n [p-disabled]=\"hasAnyFileUploading(currentFiles)\"\n [p-label]=\"literals.startSending\"\n [p-size]=\"size\"\n (p-click)=\"uploadFiles(currentFiles)\"\n ></po-button>\n }\n </div>\n </div>\n <po-field-container-bottom\n [p-additional-help-tooltip]=\"getAdditionalHelpTooltip()\"\n [p-append-in-body]=\"appendBox\"\n [p-help]=\"help\"\n [p-disabled]=\"disabled\"\n [p-hide-additional-help-by-label]=\"setHelper(this.label, this.additionalHelpTooltip).hideAdditionalHelp\"\n [p-show-additional-help]=\"displayAdditionalHelp\"\n [p-show-additional-help-icon]=\"showAdditionalHelpIcon()\"\n (p-additional-help)=\"emitAdditionalHelp()\"\n ></po-field-container-bottom>\n</po-field-container>\n\n<po-modal\n #modal\n [p-components-size]=\"size\"\n [p-primary-action]=\"modalPrimaryAction\"\n [p-secondary-action]=\"modalSecondaryAction\"\n [p-title]=\"literals.preview\"\n [p-click-out]=\"true\"\n (p-close)=\"closeModal.bind(this)\"\n>\n @if (!errorModalImage) {\n <img [src]=\"modalImageUrl\" [alt]=\"literals.thumbnail\" (error)=\"errorModalImage = true\" />\n } @else {\n <div class=\"po-upload-thumbnail-broken\">\n <po-icon p-icon=\"ICON_PICTURE_BROKEN\"></po-icon>\n </div>\n }\n</po-modal>\n", dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "component", type: PoButtonComponent, selector: "po-button" }, { kind: "component", type: PoContainerComponent, selector: "po-container" }, { kind: "component", type: PoFieldContainerBottomComponent, selector: "po-field-container-bottom", inputs: ["p-additional-help-tooltip", "p-append-in-body", "p-disabled", "p-error-pattern", "p-error-limit", "p-help", "p-show-additional-help", "p-show-additional-help-icon", "p-hide-additional-help-by-label"], outputs: ["p-additional-help"] }, { kind: "component", type: PoFieldContainerComponent, selector: "po-field-container", inputs: ["p-disabled", "p-id", "p-label", "p-help", "p-helper", "p-show-helper", "p-text-wrap", "p-optional", "p-required", "p-show-required"] }, { kind: "component", type: PoModalComponent, selector: "po-modal" }, { kind: "component", type: PoProgressComponent, selector: "po-progress" }, { kind: "directive", type: PoTooltipDirective, selector: "[p-tooltip]" }, { kind: "component", type: PoIconComponent, selector: "po-icon", inputs: ["p-icon"] }, { kind: "component", type: PoLinkComponent, selector: "po-link" }, { kind: "component", type: PoUploadDragDropComponent, selector: "po-upload-drag-drop", inputs: ["p-directory-compatible", "p-disabled", "p-literals", "p-drag-drop-height"], outputs: ["p-file-change", "p-select-files"] }, { kind: "component", type: PoUploadFileRestrictionsComponent, selector: "po-upload-file-restrictions", inputs: ["p-max-files", "p-allowed-extensions", "p-max-file-size", "p-min-file-size"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
38775
39093
|
}
|
|
38776
39094
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.7", ngImport: i0, type: PoUploadComponent, decorators: [{
|
|
38777
39095
|
type: Component,
|
|
@@ -38788,7 +39106,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.7", ngImpor
|
|
|
38788
39106
|
useExisting: forwardRef(() => PoUploadComponent),
|
|
38789
39107
|
multi: true
|
|
38790
39108
|
}
|
|
38791
|
-
], standalone: false, template: "<po-field-container\n [p-disabled]=\"isDisabled\"\n [p-id]=\"id\"\n [p-label]=\"label\"\n [p-optional]=\"optional\"\n [p-required]=\"required\"\n [p-show-required]=\"showRequired\"\n [p-show-helper]=\"displayAdditionalHelp\"\n [p-helper]=\"setHelper(this.label, this.additionalHelpTooltip).helperSettings\"\n [p-text-wrap]=\"labelTextWrap()\"\n>\n <div class=\"po-field-container-content\">\n <div class=\"po-upload\">\n <input\n #inputFile\n class=\"po-upload-input\"\n type=\"file\"\n [accept]=\"allowedExtensions\"\n [attr.name]=\"name\"\n [id]=\"id\"\n [disabled]=\"isDisabled\"\n [multiple]=\"isMultiple\"\n [required]=\"required\"\n (change)=\"onFileChange($event)\"\n />\n\n @if (displayDragDrop) {\n <po-upload-drag-drop\n [p-directory-compatible]=\"canHandleDirectory\"\n [p-disabled]=\"isDisabled\"\n [p-drag-drop-height]=\"dragDropHeight\"\n [p-literals]=\"literals\"\n (p-file-change)=\"onFileChangeDragDrop($event)\"\n (p-select-files)=\"selectFiles()\"\n >\n </po-upload-drag-drop>\n }\n\n @if (!hideSelectButton && !displayDragDrop) {\n <po-button\n #uploadButton\n class=\"po-upload-button\"\n for=\"file\"\n [p-disabled]=\"isDisabled\"\n [p-label]=\"selectFileButtonLabel\"\n [p-size]=\"size\"\n (p-blur)=\"onBlur()\"\n (p-click)=\"selectFiles()\"\n (keydown)=\"onKeyDown($event)\"\n >\n </po-button>\n }\n\n @if (fileRestrictions && !hideRestrictionsInfo) {\n <po-upload-file-restrictions\n class=\"po-upload-file-restrictions\"\n [ngClass]=\"{ 'po-upload-file-restrictions-drag-drop': displayDragDrop }\"\n [p-allowed-extensions]=\"fileRestrictions?.allowedExtensions\"\n [p-max-files]=\"maxFiles\"\n [p-max-file-size]=\"fileRestrictions?.maxFileSize\"\n [p-min-file-size]=\"fileRestrictions?.minFileSize\"\n >\n </po-upload-file-restrictions>\n }\n\n @if (currentFiles && currentFiles.length) {\n <div class=\"po-upload-progress-container\">\n <po-container\n [p-height]=\"hasMoreThanFourItems ? 280 : 'auto'\"\n [p-no-border]=\"!hasMoreThanFourItems\"\n [p-no-padding]=\"!hasMoreThanFourItems\"\n >\n <div [ngClass]=\"{ 'po-upload-progress-container-area po-pt-2 po-pl-1': hasMoreThanFourItems }\">\n @for (file of currentFiles; track trackByFn($index, file)) {\n <po-progress\n [p-disabled-cancel]=\"disabledRemoveFile\"\n [p-info]=\"infoByUploadStatus[file.status]?.text(file.percent)\"\n [p-info-icon]=\"infoByUploadStatus[file.status]?.icon\"\n [p-status]=\"progressStatusByFileStatus[file.status]\"\n [p-text]=\"file.displayName\"\n [p-value]=\"file.percent\"\n [p-custom-action]=\"customAction\"\n (p-custom-action-click)=\"customClick(file)\"\n (p-cancel)=\"cancel(file)\"\n (p-retry)=\"uploadFiles([file])\"\n [p-size-actions]=\"size\"\n >\n </po-progress>\n }\n </div>\n </po-container>\n </div>\n }\n\n @if (displaySendButton) {\n <po-button\n class=\"po-upload-send-button\"\n [class.po-mt-3]=\"hasMoreThanFourItems\"\n p-kind=\"primary\"\n [p-disabled]=\"hasAnyFileUploading(currentFiles)\"\n [p-label]=\"literals.startSending\"\n [p-size]=\"size\"\n (p-click)=\"uploadFiles(currentFiles)\"\n ></po-button>\n }\n </div>\n </div>\n <po-field-container-bottom\n [p-additional-help-tooltip]=\"getAdditionalHelpTooltip()\"\n [p-append-in-body]=\"appendBox\"\n [p-help]=\"help\"\n [p-disabled]=\"disabled\"\n [p-hide-additional-help-by-label]=\"setHelper(this.label, this.additionalHelpTooltip).hideAdditionalHelp\"\n [p-show-additional-help]=\"displayAdditionalHelp\"\n [p-show-additional-help-icon]=\"showAdditionalHelpIcon()\"\n (p-additional-help)=\"emitAdditionalHelp()\"\n ></po-field-container-bottom>\n</po-field-container>\n" }]
|
|
39109
|
+
], standalone: false, template: "<po-field-container\n [p-disabled]=\"isDisabled\"\n [p-id]=\"id\"\n [p-label]=\"label\"\n [p-optional]=\"optional\"\n [p-required]=\"required\"\n [p-show-required]=\"showRequired\"\n [p-show-helper]=\"displayAdditionalHelp\"\n [p-helper]=\"setHelper(this.label, this.additionalHelpTooltip).helperSettings\"\n [p-text-wrap]=\"labelTextWrap()\"\n>\n <div class=\"po-field-container-content\">\n <div class=\"po-upload\">\n <input\n #inputFile\n class=\"po-upload-input\"\n type=\"file\"\n [accept]=\"allowedExtensions\"\n [attr.name]=\"name\"\n [id]=\"id\"\n [disabled]=\"isDisabled\"\n [multiple]=\"isMultiple\"\n [required]=\"required\"\n (change)=\"onFileChange($event)\"\n />\n\n @if (displayDragDrop) {\n <po-upload-drag-drop\n [p-directory-compatible]=\"canHandleDirectory\"\n [p-disabled]=\"isDisabled\"\n [p-drag-drop-height]=\"dragDropHeight\"\n [p-literals]=\"literals\"\n (p-file-change)=\"onFileChangeDragDrop($event)\"\n (p-select-files)=\"selectFiles()\"\n >\n </po-upload-drag-drop>\n }\n\n @if (fileRestrictions && !hideRestrictionsInfo) {\n <po-upload-file-restrictions\n class=\"po-upload-file-restrictions\"\n [ngClass]=\"{ 'po-upload-file-restrictions-drag-drop': displayDragDrop }\"\n [class.po-pb-1]=\"!displayDragDrop\"\n [p-allowed-extensions]=\"fileRestrictions?.allowedExtensions\"\n [p-max-files]=\"maxFiles\"\n [p-max-file-size]=\"fileRestrictions?.maxFileSize\"\n [p-min-file-size]=\"fileRestrictions?.minFileSize\"\n >\n </po-upload-file-restrictions>\n }\n\n @if (!hideSelectButton && !displayDragDrop) {\n <po-button\n #uploadButton\n class=\"po-upload-button\"\n for=\"file\"\n [p-disabled]=\"isDisabled\"\n [p-label]=\"selectFileButtonLabel\"\n [p-size]=\"size\"\n (p-blur)=\"onBlur()\"\n (p-click)=\"selectFiles()\"\n (keydown)=\"onKeyDown($event)\"\n >\n </po-button>\n }\n\n @if (currentFiles && currentFiles.length) {\n <div class=\"po-upload-files-content\">\n @for (file of currentFiles; track trackByFn($index, file)) {\n <div\n class=\"po-upload-progress-container\"\n [class.po-upload-container-error]=\"file.status === 2\"\n [class.po-upload-progress-container-aa]=\"size === 'small'\"\n [class.po-upload-status-uploaded]=\"file.hideDoneContent\"\n >\n <po-container>\n <div\n [ngClass]=\"showThumbnail && file.thumbnailUrl ? 'po-upload-content-thumbnail' : 'po-upload-content'\"\n class=\"po-upload-content\"\n >\n <div class=\"po-upload-file-name\" [class.po-upload-file-name-aa]=\"size === 'small'\">\n <div class=\"po-upload-file-name-display\">\n @if (showThumbnail && file.thumbnailUrl) {\n <div class=\"po-upload-thumbnail\" (click)=\"openModal(file)\" (keydown)=\"openModal(file, $event)\">\n @if (!file.imageError) {\n <div class=\"po-upload-thumbnail-icon\">\n <po-icon p-icon=\"ICON_PICTURE\"></po-icon>\n </div>\n <img\n class=\"po-upload-thumbnail-img\"\n [src]=\"file.thumbnailUrl\"\n [alt]=\"literals.thumbnail\"\n (error)=\"onImageError(file)\"\n />\n } @else {\n <div class=\"po-upload-thumbnail-broken\">\n <po-icon p-icon=\"ICON_PICTURE_BROKEN\"></po-icon>\n </div>\n }\n </div>\n }\n <span\n class=\"po-upload-display-name\"\n [class.po-upload-name-interactive]=\"showThumbnail && file.thumbnailUrl\"\n [p-tooltip]=\"tooltipTitle\"\n (keydown)=\"openModal(file, $event)\"\n (click)=\"openModal(file)\"\n (mouseover)=\"showTooltipText($event, file?.displayName)\"\n (focus)=\"showTooltipText($event, file?.displayName)\"\n >{{ file.displayName }}</span\n >\n </div>\n <div class=\"po-upload-buttons-content\">\n @if (isActionVisible(customAction)) {\n <po-button\n class=\"po-upload-custom-action-button\"\n [p-danger]=\"customAction.type === 'danger'\"\n [p-disabled]=\"actionIsDisabled(customAction)\"\n [p-label]=\"customAction.label || ''\"\n [p-icon]=\"customAction.icon\"\n [p-size]=\"size\"\n (p-click)=\"customClick(file)\"\n >\n </po-button>\n }\n @if (file.status !== 0 || onRemove?.observers?.length > 0) {\n <div\n class=\"po-upload-icon-focus\"\n [class.po-upload-cancel-disabled]=\"disabledRemoveFile\"\n [class.po-upload-icon-focus-aa]=\"size === 'small'\"\n [attr.aria-label]=\"literals.close\"\n [tabindex]=\"disabledRemoveFile ? -1 : 0\"\n (keydown)=\"cancel(file, $event)\"\n (click)=\"cancel(file)\"\n >\n <po-icon\n class=\"po-upload-icon-close\"\n [class.po-upload-icon-remove]=\"file.status === 0\"\n [p-icon]=\"file.status === 0 ? 'ICON_DELETE' : 'ICON_CLOSE'\"\n >\n </po-icon>\n </div>\n }\n </div>\n </div>\n @if (!file.hideDoneContent) {\n <div class=\"po-upload-info-bar\" [class.fade-out]=\"file.status === 0\">\n @if (file.status === 0) {\n <span> {{ literals.doneText }} </span>\n } @else if (file.status === 2) {\n <div class=\"po-upload-content-error\">\n <po-icon class=\"po-upload-icon-error\" p-icon=\"ICON_EXCLAMATION\"></po-icon\n ><span class=\"po-upload-content-error-text\">\n {{ file?.errorMessage || literals?.errorOccurred }}\n </span>\n @if (!file.errorMessage) {\n <po-link\n class=\"po-upload-retry-link\"\n [p-label]=\"literals.tryAgain\"\n (p-action)=\"uploadFiles([file])\"\n ></po-link>\n }\n </div>\n } @else if (file.status === 1) {\n <span>{{ literals.uploadingText }}</span>\n } @else if (file.status === 3) {\n <span>{{ literals.startSending }}</span>\n }\n @if (file.status !== 2) {\n <span class=\"po-upload-value-percent\">{{ file.percent || 0 }}%</span>\n }\n </div>\n }\n </div>\n @if (file.status !== 2 && !file.hideDoneContent) {\n <po-progress\n [class.fade-out]=\"file.status === 0\"\n class=\"po-upload-progress\"\n p-size=\"medium\"\n [p-disabled-cancel]=\"disabledRemoveFile\"\n [p-value]=\"file.percent\"\n [p-status]=\"progressStatusByFileStatus[file.status]\"\n [p-size-actions]=\"size\"\n >\n </po-progress>\n }\n </po-container>\n </div>\n }\n </div>\n }\n\n @if (displaySendButton) {\n <po-button\n class=\"po-upload-send-button\"\n [class.po-mt-3]=\"hasMoreThanFourItems\"\n p-kind=\"primary\"\n [p-disabled]=\"hasAnyFileUploading(currentFiles)\"\n [p-label]=\"literals.startSending\"\n [p-size]=\"size\"\n (p-click)=\"uploadFiles(currentFiles)\"\n ></po-button>\n }\n </div>\n </div>\n <po-field-container-bottom\n [p-additional-help-tooltip]=\"getAdditionalHelpTooltip()\"\n [p-append-in-body]=\"appendBox\"\n [p-help]=\"help\"\n [p-disabled]=\"disabled\"\n [p-hide-additional-help-by-label]=\"setHelper(this.label, this.additionalHelpTooltip).hideAdditionalHelp\"\n [p-show-additional-help]=\"displayAdditionalHelp\"\n [p-show-additional-help-icon]=\"showAdditionalHelpIcon()\"\n (p-additional-help)=\"emitAdditionalHelp()\"\n ></po-field-container-bottom>\n</po-field-container>\n\n<po-modal\n #modal\n [p-components-size]=\"size\"\n [p-primary-action]=\"modalPrimaryAction\"\n [p-secondary-action]=\"modalSecondaryAction\"\n [p-title]=\"literals.preview\"\n [p-click-out]=\"true\"\n (p-close)=\"closeModal.bind(this)\"\n>\n @if (!errorModalImage) {\n <img [src]=\"modalImageUrl\" [alt]=\"literals.thumbnail\" (error)=\"errorModalImage = true\" />\n } @else {\n <div class=\"po-upload-thumbnail-broken\">\n <po-icon p-icon=\"ICON_PICTURE_BROKEN\"></po-icon>\n </div>\n }\n</po-modal>\n" }]
|
|
38792
39110
|
}], ctorParameters: () => [], propDecorators: { inputFile: [{
|
|
38793
39111
|
type: ViewChild,
|
|
38794
39112
|
args: ['inputFile', { read: ElementRef, static: true }]
|
|
@@ -38798,6 +39116,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.7", ngImpor
|
|
|
38798
39116
|
}], uploadButton: [{
|
|
38799
39117
|
type: ViewChild,
|
|
38800
39118
|
args: ['uploadButton']
|
|
39119
|
+
}], modalComponent: [{
|
|
39120
|
+
type: ViewChild,
|
|
39121
|
+
args: ['modal']
|
|
38801
39122
|
}] } });
|
|
38802
39123
|
|
|
38803
39124
|
/**
|
|
@@ -40004,11 +40325,13 @@ class PoSelectComponent extends PoFieldValidateModel {
|
|
|
40004
40325
|
}
|
|
40005
40326
|
}
|
|
40006
40327
|
ngAfterViewInit() {
|
|
40007
|
-
|
|
40008
|
-
|
|
40009
|
-
this.
|
|
40010
|
-
|
|
40011
|
-
|
|
40328
|
+
if (this.selectElement?.nativeElement?.closest('.components-form-custom-template')) {
|
|
40329
|
+
setTimeout(() => {
|
|
40330
|
+
if (this.selectElement?.nativeElement?.classList?.contains('enable-append-box')) {
|
|
40331
|
+
this.appendBox = true;
|
|
40332
|
+
}
|
|
40333
|
+
}, 300);
|
|
40334
|
+
}
|
|
40012
40335
|
}
|
|
40013
40336
|
/**
|
|
40014
40337
|
* Função que atribui foco ao componente.
|
|
@@ -41199,6 +41522,7 @@ class PoFieldModule {
|
|
|
41199
41522
|
PoCheckboxModule,
|
|
41200
41523
|
PoRadioModule,
|
|
41201
41524
|
PoLabelModule,
|
|
41525
|
+
PoLinkModule,
|
|
41202
41526
|
PoListBoxModule,
|
|
41203
41527
|
PoSwitchModule,
|
|
41204
41528
|
PoTagModule,
|
|
@@ -41257,6 +41581,7 @@ class PoFieldModule {
|
|
|
41257
41581
|
PoCheckboxModule,
|
|
41258
41582
|
PoRadioModule,
|
|
41259
41583
|
PoLabelModule,
|
|
41584
|
+
PoLinkModule,
|
|
41260
41585
|
PoListBoxModule,
|
|
41261
41586
|
PoSwitchModule,
|
|
41262
41587
|
PoTagModule,
|
|
@@ -41302,6 +41627,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.7", ngImpor
|
|
|
41302
41627
|
PoCheckboxModule,
|
|
41303
41628
|
PoRadioModule,
|
|
41304
41629
|
PoLabelModule,
|
|
41630
|
+
PoLinkModule,
|
|
41305
41631
|
PoListBoxModule,
|
|
41306
41632
|
PoSwitchModule,
|
|
41307
41633
|
PoTagModule,
|
|
@@ -42533,11 +42859,11 @@ class PoDynamicFormFieldsComponent extends PoDynamicFormFieldsBaseComponent {
|
|
|
42533
42859
|
}
|
|
42534
42860
|
}
|
|
42535
42861
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.7", ngImport: i0, type: PoDynamicFormFieldsComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
42536
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.0.7", type: PoDynamicFormFieldsComponent, isStandalone: false, selector: "po-dynamic-form-fields", providers: [PoDynamicFormValidationService], viewQueries: [{ propertyName: "components", predicate: ["component"], descendants: true }], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "@if (visibleFields && visibleFields.length > 0) {\n <div class=\"po-row\" [class.po-dynamic]=\"hasContainers\">\n <ng-container\n *ngTemplateOutlet=\"\n hasContainers ? poContentContainer : poContent;\n context: { $implicit: hasContainers ? containerFields : visibleFields }\n \"\n ></ng-container>\n </div>\n}\n\n<ng-template #poContent let-fields>\n @for (field of fields; track trackBy($index, field)) {\n @if (field?.divider?.trim()) {\n <po-divider class=\"po-sm-12\" [p-label]=\"field.divider\"> </po-divider>\n }\n @if (compareTo(field.control, 'datepicker')) {\n <po-datepicker\n #component\n [name]=\"field.property\"\n [(ngModel)]=\"value[field.property]\"\n [ngClass]=\"field.componentClass\"\n [additionalHelpEventTrigger]=\"field.additionalHelp ? 'event' : 'noEvent'\"\n [p-additional-help-tooltip]=\"field.additionalHelpTooltip\"\n [p-clean]=\"field.clean\"\n [p-disabled]=\"isDisabled(field)\"\n [p-error-pattern]=\"field.errorMessage\"\n [p-error-limit]=\"field.errorLimit\"\n [p-error-async]=\"field.errorAsyncFunction\"\n [p-auto-focus]=\"field.focus\"\n [p-format]=\"field.format\"\n [p-help]=\"field.help\"\n [p-iso-format]=\"field.isoFormat\"\n [p-label]=\"field.label\"\n [p-locale]=\"field.locale\"\n [p-max-date]=\"field.maxValue\"\n [p-min-date]=\"field.minValue\"\n [p-no-autocomplete]=\"field.noAutocomplete\"\n [p-optional]=\"field.optional\"\n [p-readonly]=\"field.readonly\"\n [p-required]=\"field.required\"\n [p-required-field-error-message]=\"field.requiredFieldErrorMessage\"\n [p-size]=\"field.size || componentsSize\"\n [p-show-required]=\"field.showRequired\"\n (p-change)=\"onChangeField(field)\"\n [p-placeholder]=\"field.placeholder\"\n (p-additional-help)=\"field.additionalHelp?.($event)\"\n (p-keydown)=\"field.keydown?.($event)\"\n >\n </po-datepicker>\n }\n @if (compareTo(field.control, 'datepickerrange')) {\n <po-datepicker-range\n #component\n [name]=\"field.property\"\n [(ngModel)]=\"value[field.property]\"\n [ngClass]=\"field.componentClass\"\n [additionalHelpEventTrigger]=\"field.additionalHelp ? 'event' : 'noEvent'\"\n [p-additional-help-tooltip]=\"field.additionalHelpTooltip\"\n [p-clean]=\"field.clean\"\n [p-disabled]=\"isDisabled(field)\"\n [p-auto-focus]=\"field.focus\"\n [p-help]=\"field.help\"\n [p-label]=\"field.label\"\n [p-literals]=\"field.literals\"\n [p-max-date]=\"field.maxValue\"\n [p-min-date]=\"field.minValue\"\n [p-no-autocomplete]=\"field.noAutocomplete\"\n [p-optional]=\"field.optional\"\n [p-readonly]=\"field.readonly\"\n [p-required]=\"field.required\"\n [p-field-error-message]=\"field.errorMessage\"\n [p-error-limit]=\"field.errorLimit\"\n [p-show-required]=\"field.showRequired\"\n [p-size]=\"field.size || componentsSize\"\n (p-additional-help)=\"field.additionalHelp?.($event)\"\n (p-change)=\"onChangeField(field)\"\n (p-keydown)=\"field.keydown?.($event)\"\n >\n </po-datepicker-range>\n }\n @if (compareTo(field.control, 'input')) {\n <po-input\n #component\n [name]=\"field.property\"\n [(ngModel)]=\"value[field.property]\"\n [ngClass]=\"field.componentClass\"\n [additionalHelpEventTrigger]=\"field.additionalHelp ? 'event' : 'noEvent'\"\n [p-additional-help-tooltip]=\"field.additionalHelpTooltip\"\n [p-clean]=\"field.clean\"\n [p-disabled]=\"isDisabled(field)\"\n [p-error-pattern]=\"field.errorMessage\"\n [p-error-limit]=\"field.errorLimit\"\n [p-error-async-properties]=\"field.errorAsyncProperties\"\n [p-auto-focus]=\"field.focus\"\n [p-help]=\"field.help\"\n [p-label]=\"field.label\"\n [p-mask-format-model]=\"field.maskFormatModel\"\n [p-mask]=\"field.mask\"\n [p-maxlength]=\"field.maxLength\"\n [p-minlength]=\"field.minLength\"\n [p-no-autocomplete]=\"field.noAutocomplete\"\n [p-optional]=\"field.optional\"\n [p-pattern]=\"field.pattern\"\n [p-required]=\"field.required\"\n [p-required-field-error-message]=\"field.requiredFieldErrorMessage\"\n [p-show-required]=\"field.showRequired\"\n [p-size]=\"field.size || componentsSize\"\n (p-additional-help)=\"field.additionalHelp?.($event)\"\n (p-change)=\"onChangeField(field)\"\n (p-change-model)=\"onChangeFieldModel(field)\"\n (p-keydown)=\"field.keydown?.($event)\"\n [p-icon]=\"field.icon\"\n [p-placeholder]=\"field.placeholder\"\n [p-readonly]=\"field.readonly\"\n >\n </po-input>\n }\n @if (compareTo(field.control, 'number')) {\n <po-number\n #component\n [name]=\"field.property\"\n [(ngModel)]=\"value[field.property]\"\n [ngClass]=\"field.componentClass\"\n [additionalHelpEventTrigger]=\"field.additionalHelp ? 'event' : 'noEvent'\"\n [p-additional-help-tooltip]=\"field.additionalHelpTooltip\"\n [p-clean]=\"field.clean\"\n [p-disabled]=\"isDisabled(field)\"\n [p-error-pattern]=\"field.errorMessage\"\n [p-error-limit]=\"field.errorLimit\"\n [p-error-async-properties]=\"field.errorAsyncProperties\"\n [p-auto-focus]=\"field.focus\"\n [p-help]=\"field.help\"\n [p-label]=\"field.label\"\n [p-min]=\"field.minValue\"\n [p-max]=\"field.maxValue\"\n [p-maxlength]=\"field.maxLength\"\n [p-minlength]=\"field.minLength\"\n [p-no-autocomplete]=\"field.noAutocomplete\"\n [p-optional]=\"field.optional\"\n [p-step]=\"field.step\"\n [p-readonly]=\"field.readonly\"\n [p-required]=\"field.required\"\n [p-required-field-error-message]=\"field.requiredFieldErrorMessage\"\n [p-show-required]=\"field.showRequired\"\n [p-size]=\"field.size || componentsSize\"\n (p-additional-help)=\"field.additionalHelp?.($event)\"\n (p-change)=\"onChangeField(field)\"\n (p-change-model)=\"onChangeFieldModel(field)\"\n (p-keydown)=\"field.keydown?.($event)\"\n [p-icon]=\"field.icon\"\n [p-placeholder]=\"field.placeholder\"\n >\n </po-number>\n }\n @if (compareTo(field.control, 'decimal')) {\n <po-decimal\n #component\n [name]=\"field.property\"\n [(ngModel)]=\"value[field.property]\"\n [ngClass]=\"field.componentClass\"\n [additionalHelpEventTrigger]=\"field.additionalHelp ? 'event' : 'noEvent'\"\n [p-additional-help-tooltip]=\"field.additionalHelpTooltip\"\n [p-clean]=\"field.clean\"\n [p-error-pattern]=\"field.errorMessage\"\n [p-error-limit]=\"field.errorLimit\"\n [p-error-async-properties]=\"field.errorAsyncProperties\"\n [p-disabled]=\"isDisabled(field)\"\n [p-decimals-length]=\"field.decimalsLength\"\n [p-thousand-maxlength]=\"field.thousandMaxlength\"\n [p-icon]=\"field.icon\"\n [p-auto-focus]=\"field.focus\"\n [p-help]=\"field.help\"\n [p-label]=\"field.label\"\n [p-locale]=\"field.locale\"\n [p-min]=\"field.minValue\"\n [p-max]=\"field.maxValue\"\n [p-maxlength]=\"field.maxLength\"\n [p-minlength]=\"field.minLength\"\n [p-no-autocomplete]=\"field.noAutocomplete\"\n [p-optional]=\"field.optional\"\n [p-readonly]=\"field.readonly\"\n [p-required]=\"field.required\"\n [p-required-field-error-message]=\"field.requiredFieldErrorMessage\"\n [p-show-required]=\"field.showRequired\"\n [p-size]=\"field.size || componentsSize\"\n (p-additional-help)=\"field.additionalHelp?.($event)\"\n (p-change)=\"onChangeField(field)\"\n (p-change-model)=\"onChangeFieldModel(field)\"\n (p-keydown)=\"field.keydown?.($event)\"\n [p-placeholder]=\"field.placeholder\"\n >\n </po-decimal>\n }\n @if (compareTo(field.control, 'select')) {\n <po-select\n #component\n [name]=\"field.property\"\n [(ngModel)]=\"value[field.property]\"\n [ngClass]=\"field.componentClass\"\n [additionalHelpEventTrigger]=\"field.additionalHelp ? 'event' : 'noEvent'\"\n [p-additional-help-tooltip]=\"field.additionalHelpTooltip\"\n [p-field-label]=\"field.fieldLabel\"\n [p-field-value]=\"field.fieldValue\"\n [p-disabled]=\"isDisabled(field)\"\n [p-help]=\"field.help\"\n [p-label]=\"field.label\"\n [p-optional]=\"field.optional\"\n [p-options]=\"field.options\"\n [p-required]=\"field.required\"\n [p-field-error-message]=\"field.errorMessage\"\n [p-error-limit]=\"field.errorLimit\"\n [p-show-required]=\"field.showRequired\"\n [p-size]=\"field.size || componentsSize\"\n (p-additional-help)=\"field.additionalHelp?.($event)\"\n (p-change)=\"onChangeField(field)\"\n (p-keydown)=\"field.keydown?.($event)\"\n [p-placeholder]=\"field.placeholder\"\n [p-readonly]=\"field.readonly\"\n >\n </po-select>\n }\n @if (compareTo(field.control, 'radioGroup')) {\n <po-radio-group\n #component\n [name]=\"field.property\"\n [(ngModel)]=\"value[field.property]\"\n [ngClass]=\"field.componentClass\"\n [additionalHelpEventTrigger]=\"field.additionalHelp ? 'event' : 'noEvent'\"\n [p-additional-help-tooltip]=\"field.additionalHelpTooltip\"\n [p-columns]=\"field.columns || 3\"\n [p-auto-focus]=\"field.focus\"\n [p-disabled]=\"isDisabled(field)\"\n [p-help]=\"field.help\"\n [p-label]=\"field.label\"\n [p-optional]=\"field.optional\"\n [p-options]=\"field.options\"\n [p-required]=\"field.required\"\n [p-field-error-message]=\"field.errorMessage\"\n [p-error-limit]=\"field.errorLimit\"\n [p-show-required]=\"field.showRequired\"\n [p-size]=\"field.size || componentsSize\"\n (p-additional-help)=\"field.additionalHelp?.($event)\"\n (p-change)=\"onChangeField(field)\"\n (p-keydown)=\"field.keydown?.($event)\"\n >\n </po-radio-group>\n }\n @if (compareTo(field.control, 'switch')) {\n <po-switch\n #component\n [name]=\"field.property\"\n [(ngModel)]=\"value[field.property]\"\n [ngClass]=\"field.componentClass\"\n [additionalHelpEventTrigger]=\"field.additionalHelp ? 'event' : 'noEvent'\"\n [p-additional-help-tooltip]=\"field.additionalHelpTooltip\"\n [p-disabled]=\"isDisabled(field)\"\n [p-error-limit]=\"field.errorLimit\"\n [p-field-error-message]=\"field.errorMessage\"\n [p-format-model]=\"field.formatModel\"\n [p-help]=\"field.help\"\n [p-label]=\"field.label\"\n [p-label-off]=\"field.booleanFalse\"\n [p-label-on]=\"field.booleanTrue\"\n [p-label-position]=\"field.labelPosition\"\n [p-hide-label-status]=\"field.hideLabelStatus\"\n [p-invalid-value]=\"field.invalidValue\"\n [p-size]=\"field.size || componentsSize\"\n (p-additional-help)=\"field.additionalHelp?.($event)\"\n (p-change)=\"onChangeField(field)\"\n (p-keydown)=\"field.keydown?.($event)\"\n >\n </po-switch>\n }\n @if (compareTo(field.control, 'checkbox')) {\n <po-checkbox\n #component\n [name]=\"field.property\"\n [(ngModel)]=\"value[field.property]\"\n [ngClass]=\"field.componentClass\"\n [additionalHelpEventTrigger]=\"field.additionalHelp ? 'event' : 'noEvent'\"\n [p-additional-help-tooltip]=\"field.additionalHelpTooltip\"\n [p-auto-focus]=\"field.focus\"\n [p-disabled]=\"isDisabled(field)\"\n [p-help]=\"field.help\"\n [p-label]=\"field.label\"\n [p-size]=\"field.size || componentsSize\"\n (p-additional-help)=\"field.additionalHelp?.($event)\"\n (p-change)=\"onChangeField(field)\"\n (p-keydown)=\"field.keydown?.($event)\"\n >\n </po-checkbox>\n }\n @if (compareTo(field.control, 'combo')) {\n <po-combo\n #component\n [name]=\"field.property\"\n [(ngModel)]=\"value[field.property]\"\n [ngClass]=\"field.componentClass\"\n p-emit-object-value\n [additionalHelpEventTrigger]=\"field.additionalHelp ? 'event' : 'noEvent'\"\n [p-additional-help-tooltip]=\"field.additionalHelpTooltip\"\n [p-auto-focus]=\"field.focus\"\n [p-clean]=\"field.clean\"\n [p-disabled]=\"isDisabled(field)\"\n [p-field-label]=\"field.fieldLabel\"\n [p-field-value]=\"field.fieldValue\"\n [p-filter-params]=\"field.params\"\n [p-filter-service]=\"field.optionsService\"\n [p-help]=\"field.help\"\n [p-infinite-scroll]=\"field.infiniteScroll\"\n [p-infinite-scroll-distance]=\"field.infiniteScrollDistance || 100\"\n [p-label]=\"field.label\"\n [p-literals]=\"field.literals\"\n [p-options]=\"field.options\"\n [p-optional]=\"field.optional\"\n [p-sort]=\"field.sort\"\n [p-required]=\"field.required\"\n [p-field-error-message]=\"field.errorMessage\"\n [p-error-limit]=\"field.errorLimit\"\n [p-show-required]=\"field.showRequired\"\n (p-change)=\"onChangeField(field, $event)\"\n [p-icon]=\"field.icon\"\n [p-placeholder]=\"field.placeholder\"\n [p-filter-minlength]=\"field.filterMinlength\"\n [p-filter-mode]=\"field.filterMode\"\n [p-disabled-init-filter]=\"field.disabledInitFilter\"\n [p-disabled-tab-filter]=\"field.disabledTabFilter\"\n [p-debounce-time]=\"field.debounceTime\"\n [p-change-on-enter]=\"field.changeOnEnter\"\n [p-remove-initial-filter]=\"field.removeInitialFilter\"\n [p-size]=\"field.size || componentsSize\"\n (p-keydown)=\"field.keydown?.($event)\"\n (p-additional-help)=\"field.additionalHelp?.($event)\"\n [p-listbox-control-position]=\"field.listboxControlPosition\"\n >\n </po-combo>\n }\n @if (compareTo(field.control, 'lookup')) {\n <po-lookup\n #component\n [name]=\"field.property\"\n [(ngModel)]=\"value[field.property]\"\n p-field-label=\"label\"\n p-field-value=\"value\"\n [ngClass]=\"field.componentClass\"\n [additionalHelpEventTrigger]=\"field.additionalHelp ? 'event' : 'noEvent'\"\n [p-additional-help-tooltip]=\"field.additionalHelpTooltip\"\n [p-clean]=\"field.clean\"\n [p-columns]=\"field.columns\"\n [p-disabled]=\"isDisabled(field)\"\n [p-field-label]=\"field.fieldLabel || 'label'\"\n [p-field-value]=\"field.fieldValue || 'value'\"\n [p-filter-params]=\"field.params\"\n [p-filter-service]=\"field.searchService\"\n [p-auto-focus]=\"field.focus\"\n [p-auto-height]=\"field.autoHeight\"\n [p-help]=\"field.help\"\n [p-field-format]=\"field.format\"\n [p-infinite-scroll]=\"field.infiniteScroll\"\n [p-label]=\"field.label\"\n [p-literals]=\"field.literals\"\n [p-multiple]=\"field.multiple\"\n [p-no-autocomplete]=\"field.noAutocomplete\"\n [p-optional]=\"field.optional\"\n [p-required]=\"field.required\"\n [p-field-error-message]=\"field.errorMessage\"\n [p-error-limit]=\"field.errorLimit\"\n [p-show-required]=\"field.showRequired\"\n [p-size]=\"field.size || componentsSize\"\n (p-change)=\"onChangeField(field)\"\n [p-placeholder]=\"field.placeholder\"\n [p-advanced-filters]=\"field.advancedFilters\"\n (p-additional-help)=\"field.additionalHelp?.($event)\"\n (p-change-visible-columns)=\"field.changeVisibleColumns?.($event)\"\n (p-keydown)=\"field.keydown?.($event)\"\n (p-restore-column-manager)=\"field.columnRestoreManager?.($event)\"\n >\n </po-lookup>\n }\n @if (compareTo(field.control, 'checkboxGroup')) {\n <po-checkbox-group\n #component\n [name]=\"field.property\"\n [(ngModel)]=\"value[field.property]\"\n [ngClass]=\"field.componentClass\"\n [additionalHelpEventTrigger]=\"field.additionalHelp ? 'event' : 'noEvent'\"\n [p-additional-help-tooltip]=\"field.additionalHelpTooltip\"\n [p-columns]=\"field.columns || 3\"\n [p-auto-focus]=\"field.focus\"\n [p-disabled]=\"isDisabled(field)\"\n [p-help]=\"field.help\"\n [p-label]=\"field.label\"\n [p-optional]=\"field.optional\"\n [p-options]=\"field.options\"\n [p-required]=\"field.required\"\n [p-show-required]=\"field.showRequired\"\n [p-field-error-message]=\"field.errorMessage\"\n [p-error-limit]=\"field.errorLimit\"\n [p-size]=\"field.size || componentsSize\"\n (p-additional-help)=\"field.additionalHelp?.($event)\"\n (p-change)=\"onChangeField(field)\"\n (p-keydown)=\"field.keydown?.($event)\"\n >\n </po-checkbox-group>\n }\n @if (compareTo(field.control, 'multiselect')) {\n <po-multiselect\n #component\n [name]=\"field.property\"\n [(ngModel)]=\"value[field.property]\"\n [ngClass]=\"field.componentClass\"\n [additionalHelpEventTrigger]=\"field.additionalHelp ? 'event' : 'noEvent'\"\n [p-additional-help-tooltip]=\"field.additionalHelpTooltip\"\n [p-disabled]=\"isDisabled(field)\"\n [p-auto-focus]=\"field.focus\"\n [p-auto-height]=\"field.autoHeight\"\n [p-help]=\"field.help\"\n [p-label]=\"field.label\"\n [p-literals]=\"field.literals\"\n [p-optional]=\"field.optional\"\n [p-options]=\"field.options\"\n [p-required]=\"field.required\"\n [p-field-error-message]=\"field.errorMessage\"\n [p-error-limit]=\"field.errorLimit\"\n [p-show-required]=\"field.showRequired\"\n (p-change)=\"onChangeField(field)\"\n [p-placeholder]=\"field.placeholder\"\n [p-field-label]=\"field.fieldLabel\"\n [p-field-value]=\"field.fieldValue\"\n [p-filter-service]=\"field.optionsService\"\n [p-filter-mode]=\"field.filterMode\"\n [p-debounce-time]=\"field.debounceTime\"\n [p-sort]=\"field.sort\"\n [p-placeholder-search]=\"field.placeholderSearch\"\n [p-hide-search]=\"field.hideSearch\"\n [p-hide-select-all]=\"field.hideSelectAll\"\n [p-size]=\"field.size || componentsSize\"\n (p-additional-help)=\"field.additionalHelp?.($event)\"\n (p-keydown)=\"field.keydown?.($event)\"\n [p-listbox-control-position]=\"field.listboxControlPosition\"\n >\n </po-multiselect>\n }\n @if (compareTo(field.control, 'textarea')) {\n <po-textarea\n #component\n [name]=\"field.property\"\n [(ngModel)]=\"value[field.property]\"\n [ngClass]=\"field.componentClass\"\n [additionalHelpEventTrigger]=\"field.additionalHelp ? 'event' : 'noEvent'\"\n [p-additional-help-tooltip]=\"field.additionalHelpTooltip\"\n [p-disabled]=\"isDisabled(field)\"\n [p-auto-focus]=\"field.focus\"\n [p-help]=\"field.help\"\n [p-label]=\"field.label\"\n [p-maxlength]=\"field.maxLength\"\n [p-minlength]=\"field.minLength\"\n [p-optional]=\"field.optional\"\n [p-readonly]=\"field.readonly\"\n [p-required]=\"field.required\"\n [p-field-error-message]=\"field.errorMessage\"\n [p-error-limit]=\"field.errorLimit\"\n [p-show-required]=\"field.showRequired\"\n [p-rows]=\"field.rows\"\n [p-size]=\"field.size || componentsSize\"\n (p-additional-help)=\"field.additionalHelp?.($event)\"\n (p-change)=\"onChangeField(field)\"\n (p-change-model)=\"onChangeFieldModel(field)\"\n (p-keydown)=\"field.keydown?.($event)\"\n [p-placeholder]=\"field.placeholder\"\n >\n </po-textarea>\n }\n @if (compareTo(field.control, 'password')) {\n <po-password\n #component\n [name]=\"field.property\"\n [(ngModel)]=\"value[field.property]\"\n [ngClass]=\"field.componentClass\"\n [additionalHelpEventTrigger]=\"field.additionalHelp ? 'event' : 'noEvent'\"\n [p-additional-help-tooltip]=\"field.additionalHelpTooltip\"\n [p-clean]=\"field.clean\"\n [p-disabled]=\"isDisabled(field)\"\n [p-error-pattern]=\"field.errorMessage\"\n [p-error-limit]=\"field.errorLimit\"\n [p-error-async-properties]=\"field.errorAsyncProperties\"\n [p-auto-focus]=\"field.focus\"\n [p-help]=\"field.help\"\n [p-hide-password-peek]=\"field.hidePasswordPeek\"\n [p-icon]=\"field.icon\"\n [p-label]=\"field.label\"\n [p-maxlength]=\"field.maxLength\"\n [p-minlength]=\"field.minLength\"\n [p-no-autocomplete]=\"field.noAutocomplete\"\n [p-optional]=\"field.optional\"\n [p-pattern]=\"field.pattern\"\n [p-readonly]=\"field.readonly\"\n [p-required]=\"field.required\"\n [p-required-field-error-message]=\"field.requiredFieldErrorMessage\"\n [p-show-required]=\"field.showRequired\"\n [p-size]=\"field.size || componentsSize\"\n (p-additional-help)=\"field.additionalHelp?.($event)\"\n (p-change)=\"onChangeField(field)\"\n (p-change-model)=\"onChangeFieldModel(field)\"\n (p-keydown)=\"field.keydown?.($event)\"\n [p-placeholder]=\"field.placeholder\"\n >\n </po-password>\n }\n @if (compareTo(field.control, 'upload')) {\n <po-upload\n #component\n [(ngModel)]=\"value[field.property]\"\n [ngClass]=\"field.componentClass\"\n [additionalHelpEventTrigger]=\"field.additionalHelp ? 'event' : 'noEvent'\"\n [p-additional-help-tooltip]=\"field.additionalHelpTooltip\"\n [p-auto-upload]=\"field.autoUpload\"\n [p-directory]=\"field.directory\"\n [p-disabled]=\"isDisabled(field)\"\n [p-drag-drop]=\"field.dragDrop\"\n [p-drag-drop-height]=\"field.dragDropHeight\"\n [p-restrictions]=\"field.restrictions\"\n [p-form-field]=\"field.formField\"\n [p-headers]=\"field.headers\"\n [p-help]=\"field.help\"\n [p-hide-restrictions-info]=\"field.hideRestrictionsInfo\"\n [p-hide-select-button]=\"field.hideSelectButton\"\n [p-hide-send-button]=\"field.hideSendButton\"\n [p-multiple]=\"field.multiple\"\n [p-label]=\"field.label\"\n [p-literals]=\"field.literals\"\n [name]=\"field.property\"\n [p-custom-action]=\"field.customAction\"\n (p-custom-action-click)=\"field.customActionClick($event)\"\n (p-error)=\"field.onError($event)\"\n (p-success)=\"field.onSuccess($event)\"\n (p-upload)=\"field.onUpload($event)\"\n [p-optional]=\"field.optional\"\n [p-required]=\"field.required\"\n [p-show-required]=\"field.showRequired\"\n [p-size]=\"field.size || componentsSize\"\n (p-additional-help)=\"field.additionalHelp?.($event)\"\n (p-change)=\"onChangeField(field)\"\n (p-change-model)=\"onChangeFieldModel(field)\"\n (p-keydown)=\"field.keydown?.($event)\"\n [p-url]=\"field.url\"\n >\n </po-upload>\n }\n }\n</ng-template>\n\n<ng-template #poContentContainer let-fields>\n <po-dynamic-container [p-fields]=\"fields\" [p-content]=\"poContent\"></po-dynamic-container>\n</ng-template>\n", dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i1$2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: PoDividerComponent, selector: "po-divider" }, { kind: "component", type: PoCheckboxGroupComponent, selector: "po-checkbox-group" }, { kind: "component", type: PoRadioGroupComponent, selector: "po-radio-group", inputs: ["p-label", "p-help"] }, { kind: "component", type: PoDatepickerComponent, selector: "po-datepicker", inputs: ["p-label", "p-help"] }, { kind: "component", type: PoComboComponent, selector: "po-combo" }, { kind: "component", type: PoDecimalComponent, selector: "po-decimal", inputs: ["p-decimals-length", "p-thousand-maxlength", "p-locale", "p-min", "p-max"] }, { kind: "component", type: PoDatepickerRangeComponent, selector: "po-datepicker-range" }, { kind: "component", type: PoInputComponent, selector: "po-input" }, { kind: "component", type: PoLookupComponent, selector: "po-lookup" }, { kind: "component", type: PoMultiselectComponent, selector: "po-multiselect" }, { kind: "component", type: PoNumberComponent, selector: "po-number", inputs: ["p-step", "p-min", "p-max"] }, { kind: "component", type: PoPasswordComponent, selector: "po-password", inputs: ["p-hide-password-peek", "p-no-autocomplete"] }, { kind: "component", type: PoSelectComponent, selector: "po-select", inputs: ["p-readonly", "p-placeholder", "p-options", "p-field-label", "p-field-value", "p-control-value-with-label", "p-size", "p-helper", "p-label-text-wrap"], outputs: ["p-blur", "ngModelChange"] }, { kind: "component", type: PoTextareaComponent, selector: "po-textarea" }, { kind: "component", type: PoUploadComponent, selector: "po-upload" }, { kind: "component", type: PoCheckboxComponent, selector: "po-checkbox" }, { kind: "component", type: PoSwitchComponent, selector: "po-switch", inputs: ["p-value", "p-format-model", "p-hide-label-status", "p-label-position", "p-label-off", "p-label-on", "p-field-error-message", "p-error-limit", "p-invalid-value", "p-size", "p-helper", "p-label-text-wrap"] }, { kind: "component", type: PoDynamicContainerComponent, selector: "po-dynamic-container", inputs: ["p-content", "p-fields"] }], viewProviders: [{ provide: ControlContainer, useExisting: NgForm }] });
|
|
42862
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.0.7", type: PoDynamicFormFieldsComponent, isStandalone: false, selector: "po-dynamic-form-fields", providers: [PoDynamicFormValidationService], viewQueries: [{ propertyName: "components", predicate: ["component"], descendants: true }], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "@if (visibleFields && visibleFields.length > 0) {\n <div class=\"po-row\" [class.po-dynamic]=\"hasContainers\">\n <ng-container\n *ngTemplateOutlet=\"\n hasContainers ? poContentContainer : poContent;\n context: { $implicit: hasContainers ? containerFields : visibleFields }\n \"\n ></ng-container>\n </div>\n}\n\n<ng-template #poContent let-fields>\n @for (field of fields; track trackBy($index, field)) {\n @if (field?.divider?.trim()) {\n <po-divider class=\"po-sm-12\" [p-label]=\"field.divider\"> </po-divider>\n }\n @if (compareTo(field.control, 'datepicker')) {\n <po-datepicker\n #component\n [name]=\"field.property\"\n [(ngModel)]=\"value[field.property]\"\n [ngClass]=\"field.componentClass\"\n [additionalHelpEventTrigger]=\"field.additionalHelp ? 'event' : 'noEvent'\"\n [p-additional-help-tooltip]=\"field.additionalHelpTooltip\"\n [p-clean]=\"field.clean\"\n [p-disabled]=\"isDisabled(field)\"\n [p-error-pattern]=\"field.errorMessage\"\n [p-error-limit]=\"field.errorLimit\"\n [p-error-async]=\"field.errorAsyncFunction\"\n [p-auto-focus]=\"field.focus\"\n [p-format]=\"field.format\"\n [p-help]=\"field.help\"\n [p-iso-format]=\"field.isoFormat\"\n [p-label]=\"field.label\"\n [p-locale]=\"field.locale\"\n [p-max-date]=\"field.maxValue\"\n [p-min-date]=\"field.minValue\"\n [p-no-autocomplete]=\"field.noAutocomplete\"\n [p-optional]=\"field.optional\"\n [p-readonly]=\"field.readonly\"\n [p-required]=\"field.required\"\n [p-required-field-error-message]=\"field.requiredFieldErrorMessage\"\n [p-size]=\"field.size || componentsSize\"\n [p-show-required]=\"field.showRequired\"\n (p-change)=\"onChangeField(field)\"\n [p-placeholder]=\"field.placeholder\"\n (p-additional-help)=\"field.additionalHelp?.($event)\"\n (p-keydown)=\"field.keydown?.($event)\"\n >\n </po-datepicker>\n }\n @if (compareTo(field.control, 'datepickerrange')) {\n <po-datepicker-range\n #component\n [name]=\"field.property\"\n [(ngModel)]=\"value[field.property]\"\n [ngClass]=\"field.componentClass\"\n [additionalHelpEventTrigger]=\"field.additionalHelp ? 'event' : 'noEvent'\"\n [p-additional-help-tooltip]=\"field.additionalHelpTooltip\"\n [p-clean]=\"field.clean\"\n [p-disabled]=\"isDisabled(field)\"\n [p-auto-focus]=\"field.focus\"\n [p-help]=\"field.help\"\n [p-label]=\"field.label\"\n [p-literals]=\"field.literals\"\n [p-max-date]=\"field.maxValue\"\n [p-min-date]=\"field.minValue\"\n [p-no-autocomplete]=\"field.noAutocomplete\"\n [p-optional]=\"field.optional\"\n [p-readonly]=\"field.readonly\"\n [p-required]=\"field.required\"\n [p-field-error-message]=\"field.errorMessage\"\n [p-error-limit]=\"field.errorLimit\"\n [p-show-required]=\"field.showRequired\"\n [p-size]=\"field.size || componentsSize\"\n (p-additional-help)=\"field.additionalHelp?.($event)\"\n (p-change)=\"onChangeField(field)\"\n (p-keydown)=\"field.keydown?.($event)\"\n >\n </po-datepicker-range>\n }\n @if (compareTo(field.control, 'input')) {\n <po-input\n #component\n [name]=\"field.property\"\n [(ngModel)]=\"value[field.property]\"\n [ngClass]=\"field.componentClass\"\n [additionalHelpEventTrigger]=\"field.additionalHelp ? 'event' : 'noEvent'\"\n [p-additional-help-tooltip]=\"field.additionalHelpTooltip\"\n [p-clean]=\"field.clean\"\n [p-disabled]=\"isDisabled(field)\"\n [p-error-pattern]=\"field.errorMessage\"\n [p-error-limit]=\"field.errorLimit\"\n [p-error-async-properties]=\"field.errorAsyncProperties\"\n [p-auto-focus]=\"field.focus\"\n [p-help]=\"field.help\"\n [p-label]=\"field.label\"\n [p-mask-format-model]=\"field.maskFormatModel\"\n [p-mask]=\"field.mask\"\n [p-maxlength]=\"field.maxLength\"\n [p-minlength]=\"field.minLength\"\n [p-no-autocomplete]=\"field.noAutocomplete\"\n [p-optional]=\"field.optional\"\n [p-pattern]=\"field.pattern\"\n [p-required]=\"field.required\"\n [p-required-field-error-message]=\"field.requiredFieldErrorMessage\"\n [p-show-required]=\"field.showRequired\"\n [p-size]=\"field.size || componentsSize\"\n (p-additional-help)=\"field.additionalHelp?.($event)\"\n (p-change)=\"onChangeField(field)\"\n (p-change-model)=\"onChangeFieldModel(field)\"\n (p-keydown)=\"field.keydown?.($event)\"\n [p-icon]=\"field.icon\"\n [p-placeholder]=\"field.placeholder\"\n [p-readonly]=\"field.readonly\"\n >\n </po-input>\n }\n @if (compareTo(field.control, 'number')) {\n <po-number\n #component\n [name]=\"field.property\"\n [(ngModel)]=\"value[field.property]\"\n [ngClass]=\"field.componentClass\"\n [additionalHelpEventTrigger]=\"field.additionalHelp ? 'event' : 'noEvent'\"\n [p-additional-help-tooltip]=\"field.additionalHelpTooltip\"\n [p-clean]=\"field.clean\"\n [p-disabled]=\"isDisabled(field)\"\n [p-error-pattern]=\"field.errorMessage\"\n [p-error-limit]=\"field.errorLimit\"\n [p-error-async-properties]=\"field.errorAsyncProperties\"\n [p-auto-focus]=\"field.focus\"\n [p-help]=\"field.help\"\n [p-label]=\"field.label\"\n [p-min]=\"field.minValue\"\n [p-max]=\"field.maxValue\"\n [p-maxlength]=\"field.maxLength\"\n [p-minlength]=\"field.minLength\"\n [p-no-autocomplete]=\"field.noAutocomplete\"\n [p-optional]=\"field.optional\"\n [p-step]=\"field.step\"\n [p-readonly]=\"field.readonly\"\n [p-required]=\"field.required\"\n [p-required-field-error-message]=\"field.requiredFieldErrorMessage\"\n [p-show-required]=\"field.showRequired\"\n [p-size]=\"field.size || componentsSize\"\n (p-additional-help)=\"field.additionalHelp?.($event)\"\n (p-change)=\"onChangeField(field)\"\n (p-change-model)=\"onChangeFieldModel(field)\"\n (p-keydown)=\"field.keydown?.($event)\"\n [p-icon]=\"field.icon\"\n [p-placeholder]=\"field.placeholder\"\n >\n </po-number>\n }\n @if (compareTo(field.control, 'decimal')) {\n <po-decimal\n #component\n [name]=\"field.property\"\n [(ngModel)]=\"value[field.property]\"\n [ngClass]=\"field.componentClass\"\n [additionalHelpEventTrigger]=\"field.additionalHelp ? 'event' : 'noEvent'\"\n [p-additional-help-tooltip]=\"field.additionalHelpTooltip\"\n [p-clean]=\"field.clean\"\n [p-error-pattern]=\"field.errorMessage\"\n [p-error-limit]=\"field.errorLimit\"\n [p-error-async-properties]=\"field.errorAsyncProperties\"\n [p-disabled]=\"isDisabled(field)\"\n [p-decimals-length]=\"field.decimalsLength\"\n [p-thousand-maxlength]=\"field.thousandMaxlength\"\n [p-icon]=\"field.icon\"\n [p-auto-focus]=\"field.focus\"\n [p-help]=\"field.help\"\n [p-label]=\"field.label\"\n [p-locale]=\"field.locale\"\n [p-min]=\"field.minValue\"\n [p-max]=\"field.maxValue\"\n [p-maxlength]=\"field.maxLength\"\n [p-minlength]=\"field.minLength\"\n [p-no-autocomplete]=\"field.noAutocomplete\"\n [p-optional]=\"field.optional\"\n [p-readonly]=\"field.readonly\"\n [p-required]=\"field.required\"\n [p-required-field-error-message]=\"field.requiredFieldErrorMessage\"\n [p-show-required]=\"field.showRequired\"\n [p-size]=\"field.size || componentsSize\"\n (p-additional-help)=\"field.additionalHelp?.($event)\"\n (p-change)=\"onChangeField(field)\"\n (p-change-model)=\"onChangeFieldModel(field)\"\n (p-keydown)=\"field.keydown?.($event)\"\n [p-placeholder]=\"field.placeholder\"\n >\n </po-decimal>\n }\n @if (compareTo(field.control, 'select')) {\n <po-select\n #component\n [name]=\"field.property\"\n [(ngModel)]=\"value[field.property]\"\n [ngClass]=\"field.componentClass\"\n [additionalHelpEventTrigger]=\"field.additionalHelp ? 'event' : 'noEvent'\"\n [p-additional-help-tooltip]=\"field.additionalHelpTooltip\"\n [p-field-label]=\"field.fieldLabel\"\n [p-field-value]=\"field.fieldValue\"\n [p-disabled]=\"isDisabled(field)\"\n [p-help]=\"field.help\"\n [p-label]=\"field.label\"\n [p-optional]=\"field.optional\"\n [p-options]=\"field.options\"\n [p-required]=\"field.required\"\n [p-field-error-message]=\"field.errorMessage\"\n [p-error-limit]=\"field.errorLimit\"\n [p-show-required]=\"field.showRequired\"\n [p-size]=\"field.size || componentsSize\"\n (p-additional-help)=\"field.additionalHelp?.($event)\"\n (p-change)=\"onChangeField(field)\"\n (p-keydown)=\"field.keydown?.($event)\"\n [p-placeholder]=\"field.placeholder\"\n [p-readonly]=\"field.readonly\"\n >\n </po-select>\n }\n @if (compareTo(field.control, 'radioGroup')) {\n <po-radio-group\n #component\n [name]=\"field.property\"\n [(ngModel)]=\"value[field.property]\"\n [ngClass]=\"field.componentClass\"\n [additionalHelpEventTrigger]=\"field.additionalHelp ? 'event' : 'noEvent'\"\n [p-additional-help-tooltip]=\"field.additionalHelpTooltip\"\n [p-columns]=\"field.columns || 3\"\n [p-auto-focus]=\"field.focus\"\n [p-disabled]=\"isDisabled(field)\"\n [p-help]=\"field.help\"\n [p-label]=\"field.label\"\n [p-optional]=\"field.optional\"\n [p-options]=\"field.options\"\n [p-required]=\"field.required\"\n [p-field-error-message]=\"field.errorMessage\"\n [p-error-limit]=\"field.errorLimit\"\n [p-show-required]=\"field.showRequired\"\n [p-size]=\"field.size || componentsSize\"\n (p-additional-help)=\"field.additionalHelp?.($event)\"\n (p-change)=\"onChangeField(field)\"\n (p-keydown)=\"field.keydown?.($event)\"\n >\n </po-radio-group>\n }\n @if (compareTo(field.control, 'switch')) {\n <po-switch\n #component\n [name]=\"field.property\"\n [(ngModel)]=\"value[field.property]\"\n [ngClass]=\"field.componentClass\"\n [additionalHelpEventTrigger]=\"field.additionalHelp ? 'event' : 'noEvent'\"\n [p-additional-help-tooltip]=\"field.additionalHelpTooltip\"\n [p-disabled]=\"isDisabled(field)\"\n [p-error-limit]=\"field.errorLimit\"\n [p-field-error-message]=\"field.errorMessage\"\n [p-format-model]=\"field.formatModel\"\n [p-help]=\"field.help\"\n [p-label]=\"field.label\"\n [p-label-off]=\"field.booleanFalse\"\n [p-label-on]=\"field.booleanTrue\"\n [p-label-position]=\"field.labelPosition\"\n [p-hide-label-status]=\"field.hideLabelStatus\"\n [p-invalid-value]=\"field.invalidValue\"\n [p-size]=\"field.size || componentsSize\"\n (p-additional-help)=\"field.additionalHelp?.($event)\"\n (p-change)=\"onChangeField(field)\"\n (p-keydown)=\"field.keydown?.($event)\"\n >\n </po-switch>\n }\n @if (compareTo(field.control, 'checkbox')) {\n <po-checkbox\n #component\n [name]=\"field.property\"\n [(ngModel)]=\"value[field.property]\"\n [ngClass]=\"field.componentClass\"\n [additionalHelpEventTrigger]=\"field.additionalHelp ? 'event' : 'noEvent'\"\n [p-additional-help-tooltip]=\"field.additionalHelpTooltip\"\n [p-auto-focus]=\"field.focus\"\n [p-disabled]=\"isDisabled(field)\"\n [p-help]=\"field.help\"\n [p-label]=\"field.label\"\n [p-size]=\"field.size || componentsSize\"\n (p-additional-help)=\"field.additionalHelp?.($event)\"\n (p-change)=\"onChangeField(field)\"\n (p-keydown)=\"field.keydown?.($event)\"\n >\n </po-checkbox>\n }\n @if (compareTo(field.control, 'combo')) {\n <po-combo\n #component\n [name]=\"field.property\"\n [(ngModel)]=\"value[field.property]\"\n [ngClass]=\"field.componentClass\"\n p-emit-object-value\n [additionalHelpEventTrigger]=\"field.additionalHelp ? 'event' : 'noEvent'\"\n [p-additional-help-tooltip]=\"field.additionalHelpTooltip\"\n [p-auto-focus]=\"field.focus\"\n [p-clean]=\"field.clean\"\n [p-disabled]=\"isDisabled(field)\"\n [p-field-label]=\"field.fieldLabel\"\n [p-field-value]=\"field.fieldValue\"\n [p-filter-params]=\"field.params\"\n [p-filter-service]=\"field.optionsService\"\n [p-help]=\"field.help\"\n [p-infinite-scroll]=\"field.infiniteScroll\"\n [p-infinite-scroll-distance]=\"field.infiniteScrollDistance || 100\"\n [p-label]=\"field.label\"\n [p-literals]=\"field.literals\"\n [p-options]=\"field.options\"\n [p-optional]=\"field.optional\"\n [p-sort]=\"field.sort\"\n [p-required]=\"field.required\"\n [p-field-error-message]=\"field.errorMessage\"\n [p-error-limit]=\"field.errorLimit\"\n [p-show-required]=\"field.showRequired\"\n (p-change)=\"onChangeField(field, $event)\"\n [p-icon]=\"field.icon\"\n [p-placeholder]=\"field.placeholder\"\n [p-filter-minlength]=\"field.filterMinlength\"\n [p-filter-mode]=\"field.filterMode\"\n [p-disabled-init-filter]=\"field.disabledInitFilter\"\n [p-disabled-tab-filter]=\"field.disabledTabFilter\"\n [p-debounce-time]=\"field.debounceTime\"\n [p-change-on-enter]=\"field.changeOnEnter\"\n [p-remove-initial-filter]=\"field.removeInitialFilter\"\n [p-size]=\"field.size || componentsSize\"\n (p-keydown)=\"field.keydown?.($event)\"\n (p-additional-help)=\"field.additionalHelp?.($event)\"\n [p-listbox-control-position]=\"field.listboxControlPosition\"\n >\n </po-combo>\n }\n @if (compareTo(field.control, 'lookup')) {\n <po-lookup\n #component\n [name]=\"field.property\"\n [(ngModel)]=\"value[field.property]\"\n p-field-label=\"label\"\n p-field-value=\"value\"\n [ngClass]=\"field.componentClass\"\n [additionalHelpEventTrigger]=\"field.additionalHelp ? 'event' : 'noEvent'\"\n [p-additional-help-tooltip]=\"field.additionalHelpTooltip\"\n [p-clean]=\"field.clean\"\n [p-columns]=\"field.columns\"\n [p-disabled]=\"isDisabled(field)\"\n [p-field-label]=\"field.fieldLabel || 'label'\"\n [p-field-value]=\"field.fieldValue || 'value'\"\n [p-filter-params]=\"field.params\"\n [p-filter-service]=\"field.searchService\"\n [p-auto-focus]=\"field.focus\"\n [p-auto-height]=\"field.autoHeight\"\n [p-help]=\"field.help\"\n [p-field-format]=\"field.format\"\n [p-infinite-scroll]=\"field.infiniteScroll\"\n [p-label]=\"field.label\"\n [p-literals]=\"field.literals\"\n [p-multiple]=\"field.multiple\"\n [p-no-autocomplete]=\"field.noAutocomplete\"\n [p-optional]=\"field.optional\"\n [p-required]=\"field.required\"\n [p-field-error-message]=\"field.errorMessage\"\n [p-error-limit]=\"field.errorLimit\"\n [p-show-required]=\"field.showRequired\"\n [p-size]=\"field.size || componentsSize\"\n (p-change)=\"onChangeField(field)\"\n [p-placeholder]=\"field.placeholder\"\n [p-advanced-filters]=\"field.advancedFilters\"\n (p-additional-help)=\"field.additionalHelp?.($event)\"\n (p-change-visible-columns)=\"field.changeVisibleColumns?.($event)\"\n (p-keydown)=\"field.keydown?.($event)\"\n (p-restore-column-manager)=\"field.columnRestoreManager?.($event)\"\n >\n </po-lookup>\n }\n @if (compareTo(field.control, 'checkboxGroup')) {\n <po-checkbox-group\n #component\n [name]=\"field.property\"\n [(ngModel)]=\"value[field.property]\"\n [ngClass]=\"field.componentClass\"\n [additionalHelpEventTrigger]=\"field.additionalHelp ? 'event' : 'noEvent'\"\n [p-additional-help-tooltip]=\"field.additionalHelpTooltip\"\n [p-columns]=\"field.columns || 3\"\n [p-auto-focus]=\"field.focus\"\n [p-disabled]=\"isDisabled(field)\"\n [p-help]=\"field.help\"\n [p-label]=\"field.label\"\n [p-optional]=\"field.optional\"\n [p-options]=\"field.options\"\n [p-required]=\"field.required\"\n [p-show-required]=\"field.showRequired\"\n [p-field-error-message]=\"field.errorMessage\"\n [p-error-limit]=\"field.errorLimit\"\n [p-size]=\"field.size || componentsSize\"\n (p-additional-help)=\"field.additionalHelp?.($event)\"\n (p-change)=\"onChangeField(field)\"\n (p-keydown)=\"field.keydown?.($event)\"\n >\n </po-checkbox-group>\n }\n @if (compareTo(field.control, 'multiselect')) {\n <po-multiselect\n #component\n [name]=\"field.property\"\n [(ngModel)]=\"value[field.property]\"\n [ngClass]=\"field.componentClass\"\n [additionalHelpEventTrigger]=\"field.additionalHelp ? 'event' : 'noEvent'\"\n [p-additional-help-tooltip]=\"field.additionalHelpTooltip\"\n [p-disabled]=\"isDisabled(field)\"\n [p-auto-focus]=\"field.focus\"\n [p-auto-height]=\"field.autoHeight\"\n [p-help]=\"field.help\"\n [p-label]=\"field.label\"\n [p-literals]=\"field.literals\"\n [p-optional]=\"field.optional\"\n [p-options]=\"field.options\"\n [p-required]=\"field.required\"\n [p-field-error-message]=\"field.errorMessage\"\n [p-error-limit]=\"field.errorLimit\"\n [p-show-required]=\"field.showRequired\"\n (p-change)=\"onChangeField(field)\"\n [p-placeholder]=\"field.placeholder\"\n [p-field-label]=\"field.fieldLabel\"\n [p-field-value]=\"field.fieldValue\"\n [p-filter-service]=\"field.optionsService\"\n [p-filter-mode]=\"field.filterMode\"\n [p-debounce-time]=\"field.debounceTime\"\n [p-sort]=\"field.sort\"\n [p-placeholder-search]=\"field.placeholderSearch\"\n [p-hide-search]=\"field.hideSearch\"\n [p-hide-select-all]=\"field.hideSelectAll\"\n [p-size]=\"field.size || componentsSize\"\n (p-additional-help)=\"field.additionalHelp?.($event)\"\n (p-keydown)=\"field.keydown?.($event)\"\n [p-listbox-control-position]=\"field.listboxControlPosition\"\n >\n </po-multiselect>\n }\n @if (compareTo(field.control, 'textarea')) {\n <po-textarea\n #component\n [name]=\"field.property\"\n [(ngModel)]=\"value[field.property]\"\n [ngClass]=\"field.componentClass\"\n [additionalHelpEventTrigger]=\"field.additionalHelp ? 'event' : 'noEvent'\"\n [p-additional-help-tooltip]=\"field.additionalHelpTooltip\"\n [p-disabled]=\"isDisabled(field)\"\n [p-auto-focus]=\"field.focus\"\n [p-help]=\"field.help\"\n [p-label]=\"field.label\"\n [p-maxlength]=\"field.maxLength\"\n [p-minlength]=\"field.minLength\"\n [p-optional]=\"field.optional\"\n [p-readonly]=\"field.readonly\"\n [p-required]=\"field.required\"\n [p-field-error-message]=\"field.errorMessage\"\n [p-error-limit]=\"field.errorLimit\"\n [p-show-required]=\"field.showRequired\"\n [p-rows]=\"field.rows\"\n [p-size]=\"field.size || componentsSize\"\n (p-additional-help)=\"field.additionalHelp?.($event)\"\n (p-change)=\"onChangeField(field)\"\n (p-change-model)=\"onChangeFieldModel(field)\"\n (p-keydown)=\"field.keydown?.($event)\"\n [p-placeholder]=\"field.placeholder\"\n >\n </po-textarea>\n }\n @if (compareTo(field.control, 'password')) {\n <po-password\n #component\n [name]=\"field.property\"\n [(ngModel)]=\"value[field.property]\"\n [ngClass]=\"field.componentClass\"\n [additionalHelpEventTrigger]=\"field.additionalHelp ? 'event' : 'noEvent'\"\n [p-additional-help-tooltip]=\"field.additionalHelpTooltip\"\n [p-clean]=\"field.clean\"\n [p-disabled]=\"isDisabled(field)\"\n [p-error-pattern]=\"field.errorMessage\"\n [p-error-limit]=\"field.errorLimit\"\n [p-error-async-properties]=\"field.errorAsyncProperties\"\n [p-auto-focus]=\"field.focus\"\n [p-help]=\"field.help\"\n [p-hide-password-peek]=\"field.hidePasswordPeek\"\n [p-icon]=\"field.icon\"\n [p-label]=\"field.label\"\n [p-maxlength]=\"field.maxLength\"\n [p-minlength]=\"field.minLength\"\n [p-no-autocomplete]=\"field.noAutocomplete\"\n [p-optional]=\"field.optional\"\n [p-pattern]=\"field.pattern\"\n [p-readonly]=\"field.readonly\"\n [p-required]=\"field.required\"\n [p-required-field-error-message]=\"field.requiredFieldErrorMessage\"\n [p-show-required]=\"field.showRequired\"\n [p-size]=\"field.size || componentsSize\"\n (p-additional-help)=\"field.additionalHelp?.($event)\"\n (p-change)=\"onChangeField(field)\"\n (p-change-model)=\"onChangeFieldModel(field)\"\n (p-keydown)=\"field.keydown?.($event)\"\n [p-placeholder]=\"field.placeholder\"\n >\n </po-password>\n }\n @if (compareTo(field.control, 'upload')) {\n <po-upload\n #component\n [(ngModel)]=\"value[field.property]\"\n [ngClass]=\"field.componentClass\"\n [additionalHelpEventTrigger]=\"field.additionalHelp ? 'event' : 'noEvent'\"\n [p-additional-help-tooltip]=\"field.additionalHelpTooltip\"\n [p-auto-upload]=\"field.autoUpload\"\n [p-directory]=\"field.directory\"\n [p-disabled]=\"isDisabled(field)\"\n [p-drag-drop]=\"field.dragDrop\"\n [p-drag-drop-height]=\"field.dragDropHeight\"\n [p-restrictions]=\"field.restrictions\"\n [p-form-field]=\"field.formField\"\n [p-headers]=\"field.headers\"\n [p-help]=\"field.help\"\n [p-hide-restrictions-info]=\"field.hideRestrictionsInfo\"\n [p-hide-select-button]=\"field.hideSelectButton\"\n [p-hide-send-button]=\"field.hideSendButton\"\n [p-multiple]=\"field.multiple\"\n [p-label]=\"field.label\"\n [p-literals]=\"field.literals\"\n [name]=\"field.property\"\n [p-custom-action]=\"field.customAction\"\n (p-custom-action-click)=\"field.customActionClick($event)\"\n (p-error)=\"field.onError($event)\"\n (p-success)=\"field.onSuccess($event)\"\n (p-upload)=\"field.onUpload($event)\"\n [p-optional]=\"field.optional\"\n [p-required]=\"field.required\"\n [p-show-required]=\"field.showRequired\"\n [p-show-thumbnail]=\"field.showThumbnail ?? true\"\n [p-size]=\"field.size || componentsSize\"\n (p-additional-help)=\"field.additionalHelp?.($event)\"\n (p-change)=\"onChangeField(field)\"\n (p-change-model)=\"onChangeFieldModel(field)\"\n (p-keydown)=\"field.keydown?.($event)\"\n [p-url]=\"field.url\"\n >\n </po-upload>\n }\n }\n</ng-template>\n\n<ng-template #poContentContainer let-fields>\n <po-dynamic-container [p-fields]=\"fields\" [p-content]=\"poContent\"></po-dynamic-container>\n</ng-template>\n", dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i1$2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: PoDividerComponent, selector: "po-divider" }, { kind: "component", type: PoCheckboxGroupComponent, selector: "po-checkbox-group" }, { kind: "component", type: PoRadioGroupComponent, selector: "po-radio-group", inputs: ["p-label", "p-help"] }, { kind: "component", type: PoDatepickerComponent, selector: "po-datepicker", inputs: ["p-label", "p-help"] }, { kind: "component", type: PoComboComponent, selector: "po-combo" }, { kind: "component", type: PoDecimalComponent, selector: "po-decimal", inputs: ["p-decimals-length", "p-thousand-maxlength", "p-locale", "p-min", "p-max"] }, { kind: "component", type: PoDatepickerRangeComponent, selector: "po-datepicker-range" }, { kind: "component", type: PoInputComponent, selector: "po-input" }, { kind: "component", type: PoLookupComponent, selector: "po-lookup" }, { kind: "component", type: PoMultiselectComponent, selector: "po-multiselect" }, { kind: "component", type: PoNumberComponent, selector: "po-number", inputs: ["p-step", "p-min", "p-max"] }, { kind: "component", type: PoPasswordComponent, selector: "po-password", inputs: ["p-hide-password-peek", "p-no-autocomplete"] }, { kind: "component", type: PoSelectComponent, selector: "po-select", inputs: ["p-readonly", "p-placeholder", "p-options", "p-field-label", "p-field-value", "p-control-value-with-label", "p-size", "p-helper", "p-label-text-wrap"], outputs: ["p-blur", "ngModelChange"] }, { kind: "component", type: PoTextareaComponent, selector: "po-textarea" }, { kind: "component", type: PoUploadComponent, selector: "po-upload" }, { kind: "component", type: PoCheckboxComponent, selector: "po-checkbox" }, { kind: "component", type: PoSwitchComponent, selector: "po-switch", inputs: ["p-value", "p-format-model", "p-hide-label-status", "p-label-position", "p-label-off", "p-label-on", "p-field-error-message", "p-error-limit", "p-invalid-value", "p-size", "p-helper", "p-label-text-wrap"] }, { kind: "component", type: PoDynamicContainerComponent, selector: "po-dynamic-container", inputs: ["p-content", "p-fields"] }], viewProviders: [{ provide: ControlContainer, useExisting: NgForm }] });
|
|
42537
42863
|
}
|
|
42538
42864
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.7", ngImport: i0, type: PoDynamicFormFieldsComponent, decorators: [{
|
|
42539
42865
|
type: Component,
|
|
42540
|
-
args: [{ selector: 'po-dynamic-form-fields', viewProviders: [{ provide: ControlContainer, useExisting: NgForm }], providers: [PoDynamicFormValidationService], standalone: false, template: "@if (visibleFields && visibleFields.length > 0) {\n <div class=\"po-row\" [class.po-dynamic]=\"hasContainers\">\n <ng-container\n *ngTemplateOutlet=\"\n hasContainers ? poContentContainer : poContent;\n context: { $implicit: hasContainers ? containerFields : visibleFields }\n \"\n ></ng-container>\n </div>\n}\n\n<ng-template #poContent let-fields>\n @for (field of fields; track trackBy($index, field)) {\n @if (field?.divider?.trim()) {\n <po-divider class=\"po-sm-12\" [p-label]=\"field.divider\"> </po-divider>\n }\n @if (compareTo(field.control, 'datepicker')) {\n <po-datepicker\n #component\n [name]=\"field.property\"\n [(ngModel)]=\"value[field.property]\"\n [ngClass]=\"field.componentClass\"\n [additionalHelpEventTrigger]=\"field.additionalHelp ? 'event' : 'noEvent'\"\n [p-additional-help-tooltip]=\"field.additionalHelpTooltip\"\n [p-clean]=\"field.clean\"\n [p-disabled]=\"isDisabled(field)\"\n [p-error-pattern]=\"field.errorMessage\"\n [p-error-limit]=\"field.errorLimit\"\n [p-error-async]=\"field.errorAsyncFunction\"\n [p-auto-focus]=\"field.focus\"\n [p-format]=\"field.format\"\n [p-help]=\"field.help\"\n [p-iso-format]=\"field.isoFormat\"\n [p-label]=\"field.label\"\n [p-locale]=\"field.locale\"\n [p-max-date]=\"field.maxValue\"\n [p-min-date]=\"field.minValue\"\n [p-no-autocomplete]=\"field.noAutocomplete\"\n [p-optional]=\"field.optional\"\n [p-readonly]=\"field.readonly\"\n [p-required]=\"field.required\"\n [p-required-field-error-message]=\"field.requiredFieldErrorMessage\"\n [p-size]=\"field.size || componentsSize\"\n [p-show-required]=\"field.showRequired\"\n (p-change)=\"onChangeField(field)\"\n [p-placeholder]=\"field.placeholder\"\n (p-additional-help)=\"field.additionalHelp?.($event)\"\n (p-keydown)=\"field.keydown?.($event)\"\n >\n </po-datepicker>\n }\n @if (compareTo(field.control, 'datepickerrange')) {\n <po-datepicker-range\n #component\n [name]=\"field.property\"\n [(ngModel)]=\"value[field.property]\"\n [ngClass]=\"field.componentClass\"\n [additionalHelpEventTrigger]=\"field.additionalHelp ? 'event' : 'noEvent'\"\n [p-additional-help-tooltip]=\"field.additionalHelpTooltip\"\n [p-clean]=\"field.clean\"\n [p-disabled]=\"isDisabled(field)\"\n [p-auto-focus]=\"field.focus\"\n [p-help]=\"field.help\"\n [p-label]=\"field.label\"\n [p-literals]=\"field.literals\"\n [p-max-date]=\"field.maxValue\"\n [p-min-date]=\"field.minValue\"\n [p-no-autocomplete]=\"field.noAutocomplete\"\n [p-optional]=\"field.optional\"\n [p-readonly]=\"field.readonly\"\n [p-required]=\"field.required\"\n [p-field-error-message]=\"field.errorMessage\"\n [p-error-limit]=\"field.errorLimit\"\n [p-show-required]=\"field.showRequired\"\n [p-size]=\"field.size || componentsSize\"\n (p-additional-help)=\"field.additionalHelp?.($event)\"\n (p-change)=\"onChangeField(field)\"\n (p-keydown)=\"field.keydown?.($event)\"\n >\n </po-datepicker-range>\n }\n @if (compareTo(field.control, 'input')) {\n <po-input\n #component\n [name]=\"field.property\"\n [(ngModel)]=\"value[field.property]\"\n [ngClass]=\"field.componentClass\"\n [additionalHelpEventTrigger]=\"field.additionalHelp ? 'event' : 'noEvent'\"\n [p-additional-help-tooltip]=\"field.additionalHelpTooltip\"\n [p-clean]=\"field.clean\"\n [p-disabled]=\"isDisabled(field)\"\n [p-error-pattern]=\"field.errorMessage\"\n [p-error-limit]=\"field.errorLimit\"\n [p-error-async-properties]=\"field.errorAsyncProperties\"\n [p-auto-focus]=\"field.focus\"\n [p-help]=\"field.help\"\n [p-label]=\"field.label\"\n [p-mask-format-model]=\"field.maskFormatModel\"\n [p-mask]=\"field.mask\"\n [p-maxlength]=\"field.maxLength\"\n [p-minlength]=\"field.minLength\"\n [p-no-autocomplete]=\"field.noAutocomplete\"\n [p-optional]=\"field.optional\"\n [p-pattern]=\"field.pattern\"\n [p-required]=\"field.required\"\n [p-required-field-error-message]=\"field.requiredFieldErrorMessage\"\n [p-show-required]=\"field.showRequired\"\n [p-size]=\"field.size || componentsSize\"\n (p-additional-help)=\"field.additionalHelp?.($event)\"\n (p-change)=\"onChangeField(field)\"\n (p-change-model)=\"onChangeFieldModel(field)\"\n (p-keydown)=\"field.keydown?.($event)\"\n [p-icon]=\"field.icon\"\n [p-placeholder]=\"field.placeholder\"\n [p-readonly]=\"field.readonly\"\n >\n </po-input>\n }\n @if (compareTo(field.control, 'number')) {\n <po-number\n #component\n [name]=\"field.property\"\n [(ngModel)]=\"value[field.property]\"\n [ngClass]=\"field.componentClass\"\n [additionalHelpEventTrigger]=\"field.additionalHelp ? 'event' : 'noEvent'\"\n [p-additional-help-tooltip]=\"field.additionalHelpTooltip\"\n [p-clean]=\"field.clean\"\n [p-disabled]=\"isDisabled(field)\"\n [p-error-pattern]=\"field.errorMessage\"\n [p-error-limit]=\"field.errorLimit\"\n [p-error-async-properties]=\"field.errorAsyncProperties\"\n [p-auto-focus]=\"field.focus\"\n [p-help]=\"field.help\"\n [p-label]=\"field.label\"\n [p-min]=\"field.minValue\"\n [p-max]=\"field.maxValue\"\n [p-maxlength]=\"field.maxLength\"\n [p-minlength]=\"field.minLength\"\n [p-no-autocomplete]=\"field.noAutocomplete\"\n [p-optional]=\"field.optional\"\n [p-step]=\"field.step\"\n [p-readonly]=\"field.readonly\"\n [p-required]=\"field.required\"\n [p-required-field-error-message]=\"field.requiredFieldErrorMessage\"\n [p-show-required]=\"field.showRequired\"\n [p-size]=\"field.size || componentsSize\"\n (p-additional-help)=\"field.additionalHelp?.($event)\"\n (p-change)=\"onChangeField(field)\"\n (p-change-model)=\"onChangeFieldModel(field)\"\n (p-keydown)=\"field.keydown?.($event)\"\n [p-icon]=\"field.icon\"\n [p-placeholder]=\"field.placeholder\"\n >\n </po-number>\n }\n @if (compareTo(field.control, 'decimal')) {\n <po-decimal\n #component\n [name]=\"field.property\"\n [(ngModel)]=\"value[field.property]\"\n [ngClass]=\"field.componentClass\"\n [additionalHelpEventTrigger]=\"field.additionalHelp ? 'event' : 'noEvent'\"\n [p-additional-help-tooltip]=\"field.additionalHelpTooltip\"\n [p-clean]=\"field.clean\"\n [p-error-pattern]=\"field.errorMessage\"\n [p-error-limit]=\"field.errorLimit\"\n [p-error-async-properties]=\"field.errorAsyncProperties\"\n [p-disabled]=\"isDisabled(field)\"\n [p-decimals-length]=\"field.decimalsLength\"\n [p-thousand-maxlength]=\"field.thousandMaxlength\"\n [p-icon]=\"field.icon\"\n [p-auto-focus]=\"field.focus\"\n [p-help]=\"field.help\"\n [p-label]=\"field.label\"\n [p-locale]=\"field.locale\"\n [p-min]=\"field.minValue\"\n [p-max]=\"field.maxValue\"\n [p-maxlength]=\"field.maxLength\"\n [p-minlength]=\"field.minLength\"\n [p-no-autocomplete]=\"field.noAutocomplete\"\n [p-optional]=\"field.optional\"\n [p-readonly]=\"field.readonly\"\n [p-required]=\"field.required\"\n [p-required-field-error-message]=\"field.requiredFieldErrorMessage\"\n [p-show-required]=\"field.showRequired\"\n [p-size]=\"field.size || componentsSize\"\n (p-additional-help)=\"field.additionalHelp?.($event)\"\n (p-change)=\"onChangeField(field)\"\n (p-change-model)=\"onChangeFieldModel(field)\"\n (p-keydown)=\"field.keydown?.($event)\"\n [p-placeholder]=\"field.placeholder\"\n >\n </po-decimal>\n }\n @if (compareTo(field.control, 'select')) {\n <po-select\n #component\n [name]=\"field.property\"\n [(ngModel)]=\"value[field.property]\"\n [ngClass]=\"field.componentClass\"\n [additionalHelpEventTrigger]=\"field.additionalHelp ? 'event' : 'noEvent'\"\n [p-additional-help-tooltip]=\"field.additionalHelpTooltip\"\n [p-field-label]=\"field.fieldLabel\"\n [p-field-value]=\"field.fieldValue\"\n [p-disabled]=\"isDisabled(field)\"\n [p-help]=\"field.help\"\n [p-label]=\"field.label\"\n [p-optional]=\"field.optional\"\n [p-options]=\"field.options\"\n [p-required]=\"field.required\"\n [p-field-error-message]=\"field.errorMessage\"\n [p-error-limit]=\"field.errorLimit\"\n [p-show-required]=\"field.showRequired\"\n [p-size]=\"field.size || componentsSize\"\n (p-additional-help)=\"field.additionalHelp?.($event)\"\n (p-change)=\"onChangeField(field)\"\n (p-keydown)=\"field.keydown?.($event)\"\n [p-placeholder]=\"field.placeholder\"\n [p-readonly]=\"field.readonly\"\n >\n </po-select>\n }\n @if (compareTo(field.control, 'radioGroup')) {\n <po-radio-group\n #component\n [name]=\"field.property\"\n [(ngModel)]=\"value[field.property]\"\n [ngClass]=\"field.componentClass\"\n [additionalHelpEventTrigger]=\"field.additionalHelp ? 'event' : 'noEvent'\"\n [p-additional-help-tooltip]=\"field.additionalHelpTooltip\"\n [p-columns]=\"field.columns || 3\"\n [p-auto-focus]=\"field.focus\"\n [p-disabled]=\"isDisabled(field)\"\n [p-help]=\"field.help\"\n [p-label]=\"field.label\"\n [p-optional]=\"field.optional\"\n [p-options]=\"field.options\"\n [p-required]=\"field.required\"\n [p-field-error-message]=\"field.errorMessage\"\n [p-error-limit]=\"field.errorLimit\"\n [p-show-required]=\"field.showRequired\"\n [p-size]=\"field.size || componentsSize\"\n (p-additional-help)=\"field.additionalHelp?.($event)\"\n (p-change)=\"onChangeField(field)\"\n (p-keydown)=\"field.keydown?.($event)\"\n >\n </po-radio-group>\n }\n @if (compareTo(field.control, 'switch')) {\n <po-switch\n #component\n [name]=\"field.property\"\n [(ngModel)]=\"value[field.property]\"\n [ngClass]=\"field.componentClass\"\n [additionalHelpEventTrigger]=\"field.additionalHelp ? 'event' : 'noEvent'\"\n [p-additional-help-tooltip]=\"field.additionalHelpTooltip\"\n [p-disabled]=\"isDisabled(field)\"\n [p-error-limit]=\"field.errorLimit\"\n [p-field-error-message]=\"field.errorMessage\"\n [p-format-model]=\"field.formatModel\"\n [p-help]=\"field.help\"\n [p-label]=\"field.label\"\n [p-label-off]=\"field.booleanFalse\"\n [p-label-on]=\"field.booleanTrue\"\n [p-label-position]=\"field.labelPosition\"\n [p-hide-label-status]=\"field.hideLabelStatus\"\n [p-invalid-value]=\"field.invalidValue\"\n [p-size]=\"field.size || componentsSize\"\n (p-additional-help)=\"field.additionalHelp?.($event)\"\n (p-change)=\"onChangeField(field)\"\n (p-keydown)=\"field.keydown?.($event)\"\n >\n </po-switch>\n }\n @if (compareTo(field.control, 'checkbox')) {\n <po-checkbox\n #component\n [name]=\"field.property\"\n [(ngModel)]=\"value[field.property]\"\n [ngClass]=\"field.componentClass\"\n [additionalHelpEventTrigger]=\"field.additionalHelp ? 'event' : 'noEvent'\"\n [p-additional-help-tooltip]=\"field.additionalHelpTooltip\"\n [p-auto-focus]=\"field.focus\"\n [p-disabled]=\"isDisabled(field)\"\n [p-help]=\"field.help\"\n [p-label]=\"field.label\"\n [p-size]=\"field.size || componentsSize\"\n (p-additional-help)=\"field.additionalHelp?.($event)\"\n (p-change)=\"onChangeField(field)\"\n (p-keydown)=\"field.keydown?.($event)\"\n >\n </po-checkbox>\n }\n @if (compareTo(field.control, 'combo')) {\n <po-combo\n #component\n [name]=\"field.property\"\n [(ngModel)]=\"value[field.property]\"\n [ngClass]=\"field.componentClass\"\n p-emit-object-value\n [additionalHelpEventTrigger]=\"field.additionalHelp ? 'event' : 'noEvent'\"\n [p-additional-help-tooltip]=\"field.additionalHelpTooltip\"\n [p-auto-focus]=\"field.focus\"\n [p-clean]=\"field.clean\"\n [p-disabled]=\"isDisabled(field)\"\n [p-field-label]=\"field.fieldLabel\"\n [p-field-value]=\"field.fieldValue\"\n [p-filter-params]=\"field.params\"\n [p-filter-service]=\"field.optionsService\"\n [p-help]=\"field.help\"\n [p-infinite-scroll]=\"field.infiniteScroll\"\n [p-infinite-scroll-distance]=\"field.infiniteScrollDistance || 100\"\n [p-label]=\"field.label\"\n [p-literals]=\"field.literals\"\n [p-options]=\"field.options\"\n [p-optional]=\"field.optional\"\n [p-sort]=\"field.sort\"\n [p-required]=\"field.required\"\n [p-field-error-message]=\"field.errorMessage\"\n [p-error-limit]=\"field.errorLimit\"\n [p-show-required]=\"field.showRequired\"\n (p-change)=\"onChangeField(field, $event)\"\n [p-icon]=\"field.icon\"\n [p-placeholder]=\"field.placeholder\"\n [p-filter-minlength]=\"field.filterMinlength\"\n [p-filter-mode]=\"field.filterMode\"\n [p-disabled-init-filter]=\"field.disabledInitFilter\"\n [p-disabled-tab-filter]=\"field.disabledTabFilter\"\n [p-debounce-time]=\"field.debounceTime\"\n [p-change-on-enter]=\"field.changeOnEnter\"\n [p-remove-initial-filter]=\"field.removeInitialFilter\"\n [p-size]=\"field.size || componentsSize\"\n (p-keydown)=\"field.keydown?.($event)\"\n (p-additional-help)=\"field.additionalHelp?.($event)\"\n [p-listbox-control-position]=\"field.listboxControlPosition\"\n >\n </po-combo>\n }\n @if (compareTo(field.control, 'lookup')) {\n <po-lookup\n #component\n [name]=\"field.property\"\n [(ngModel)]=\"value[field.property]\"\n p-field-label=\"label\"\n p-field-value=\"value\"\n [ngClass]=\"field.componentClass\"\n [additionalHelpEventTrigger]=\"field.additionalHelp ? 'event' : 'noEvent'\"\n [p-additional-help-tooltip]=\"field.additionalHelpTooltip\"\n [p-clean]=\"field.clean\"\n [p-columns]=\"field.columns\"\n [p-disabled]=\"isDisabled(field)\"\n [p-field-label]=\"field.fieldLabel || 'label'\"\n [p-field-value]=\"field.fieldValue || 'value'\"\n [p-filter-params]=\"field.params\"\n [p-filter-service]=\"field.searchService\"\n [p-auto-focus]=\"field.focus\"\n [p-auto-height]=\"field.autoHeight\"\n [p-help]=\"field.help\"\n [p-field-format]=\"field.format\"\n [p-infinite-scroll]=\"field.infiniteScroll\"\n [p-label]=\"field.label\"\n [p-literals]=\"field.literals\"\n [p-multiple]=\"field.multiple\"\n [p-no-autocomplete]=\"field.noAutocomplete\"\n [p-optional]=\"field.optional\"\n [p-required]=\"field.required\"\n [p-field-error-message]=\"field.errorMessage\"\n [p-error-limit]=\"field.errorLimit\"\n [p-show-required]=\"field.showRequired\"\n [p-size]=\"field.size || componentsSize\"\n (p-change)=\"onChangeField(field)\"\n [p-placeholder]=\"field.placeholder\"\n [p-advanced-filters]=\"field.advancedFilters\"\n (p-additional-help)=\"field.additionalHelp?.($event)\"\n (p-change-visible-columns)=\"field.changeVisibleColumns?.($event)\"\n (p-keydown)=\"field.keydown?.($event)\"\n (p-restore-column-manager)=\"field.columnRestoreManager?.($event)\"\n >\n </po-lookup>\n }\n @if (compareTo(field.control, 'checkboxGroup')) {\n <po-checkbox-group\n #component\n [name]=\"field.property\"\n [(ngModel)]=\"value[field.property]\"\n [ngClass]=\"field.componentClass\"\n [additionalHelpEventTrigger]=\"field.additionalHelp ? 'event' : 'noEvent'\"\n [p-additional-help-tooltip]=\"field.additionalHelpTooltip\"\n [p-columns]=\"field.columns || 3\"\n [p-auto-focus]=\"field.focus\"\n [p-disabled]=\"isDisabled(field)\"\n [p-help]=\"field.help\"\n [p-label]=\"field.label\"\n [p-optional]=\"field.optional\"\n [p-options]=\"field.options\"\n [p-required]=\"field.required\"\n [p-show-required]=\"field.showRequired\"\n [p-field-error-message]=\"field.errorMessage\"\n [p-error-limit]=\"field.errorLimit\"\n [p-size]=\"field.size || componentsSize\"\n (p-additional-help)=\"field.additionalHelp?.($event)\"\n (p-change)=\"onChangeField(field)\"\n (p-keydown)=\"field.keydown?.($event)\"\n >\n </po-checkbox-group>\n }\n @if (compareTo(field.control, 'multiselect')) {\n <po-multiselect\n #component\n [name]=\"field.property\"\n [(ngModel)]=\"value[field.property]\"\n [ngClass]=\"field.componentClass\"\n [additionalHelpEventTrigger]=\"field.additionalHelp ? 'event' : 'noEvent'\"\n [p-additional-help-tooltip]=\"field.additionalHelpTooltip\"\n [p-disabled]=\"isDisabled(field)\"\n [p-auto-focus]=\"field.focus\"\n [p-auto-height]=\"field.autoHeight\"\n [p-help]=\"field.help\"\n [p-label]=\"field.label\"\n [p-literals]=\"field.literals\"\n [p-optional]=\"field.optional\"\n [p-options]=\"field.options\"\n [p-required]=\"field.required\"\n [p-field-error-message]=\"field.errorMessage\"\n [p-error-limit]=\"field.errorLimit\"\n [p-show-required]=\"field.showRequired\"\n (p-change)=\"onChangeField(field)\"\n [p-placeholder]=\"field.placeholder\"\n [p-field-label]=\"field.fieldLabel\"\n [p-field-value]=\"field.fieldValue\"\n [p-filter-service]=\"field.optionsService\"\n [p-filter-mode]=\"field.filterMode\"\n [p-debounce-time]=\"field.debounceTime\"\n [p-sort]=\"field.sort\"\n [p-placeholder-search]=\"field.placeholderSearch\"\n [p-hide-search]=\"field.hideSearch\"\n [p-hide-select-all]=\"field.hideSelectAll\"\n [p-size]=\"field.size || componentsSize\"\n (p-additional-help)=\"field.additionalHelp?.($event)\"\n (p-keydown)=\"field.keydown?.($event)\"\n [p-listbox-control-position]=\"field.listboxControlPosition\"\n >\n </po-multiselect>\n }\n @if (compareTo(field.control, 'textarea')) {\n <po-textarea\n #component\n [name]=\"field.property\"\n [(ngModel)]=\"value[field.property]\"\n [ngClass]=\"field.componentClass\"\n [additionalHelpEventTrigger]=\"field.additionalHelp ? 'event' : 'noEvent'\"\n [p-additional-help-tooltip]=\"field.additionalHelpTooltip\"\n [p-disabled]=\"isDisabled(field)\"\n [p-auto-focus]=\"field.focus\"\n [p-help]=\"field.help\"\n [p-label]=\"field.label\"\n [p-maxlength]=\"field.maxLength\"\n [p-minlength]=\"field.minLength\"\n [p-optional]=\"field.optional\"\n [p-readonly]=\"field.readonly\"\n [p-required]=\"field.required\"\n [p-field-error-message]=\"field.errorMessage\"\n [p-error-limit]=\"field.errorLimit\"\n [p-show-required]=\"field.showRequired\"\n [p-rows]=\"field.rows\"\n [p-size]=\"field.size || componentsSize\"\n (p-additional-help)=\"field.additionalHelp?.($event)\"\n (p-change)=\"onChangeField(field)\"\n (p-change-model)=\"onChangeFieldModel(field)\"\n (p-keydown)=\"field.keydown?.($event)\"\n [p-placeholder]=\"field.placeholder\"\n >\n </po-textarea>\n }\n @if (compareTo(field.control, 'password')) {\n <po-password\n #component\n [name]=\"field.property\"\n [(ngModel)]=\"value[field.property]\"\n [ngClass]=\"field.componentClass\"\n [additionalHelpEventTrigger]=\"field.additionalHelp ? 'event' : 'noEvent'\"\n [p-additional-help-tooltip]=\"field.additionalHelpTooltip\"\n [p-clean]=\"field.clean\"\n [p-disabled]=\"isDisabled(field)\"\n [p-error-pattern]=\"field.errorMessage\"\n [p-error-limit]=\"field.errorLimit\"\n [p-error-async-properties]=\"field.errorAsyncProperties\"\n [p-auto-focus]=\"field.focus\"\n [p-help]=\"field.help\"\n [p-hide-password-peek]=\"field.hidePasswordPeek\"\n [p-icon]=\"field.icon\"\n [p-label]=\"field.label\"\n [p-maxlength]=\"field.maxLength\"\n [p-minlength]=\"field.minLength\"\n [p-no-autocomplete]=\"field.noAutocomplete\"\n [p-optional]=\"field.optional\"\n [p-pattern]=\"field.pattern\"\n [p-readonly]=\"field.readonly\"\n [p-required]=\"field.required\"\n [p-required-field-error-message]=\"field.requiredFieldErrorMessage\"\n [p-show-required]=\"field.showRequired\"\n [p-size]=\"field.size || componentsSize\"\n (p-additional-help)=\"field.additionalHelp?.($event)\"\n (p-change)=\"onChangeField(field)\"\n (p-change-model)=\"onChangeFieldModel(field)\"\n (p-keydown)=\"field.keydown?.($event)\"\n [p-placeholder]=\"field.placeholder\"\n >\n </po-password>\n }\n @if (compareTo(field.control, 'upload')) {\n <po-upload\n #component\n [(ngModel)]=\"value[field.property]\"\n [ngClass]=\"field.componentClass\"\n [additionalHelpEventTrigger]=\"field.additionalHelp ? 'event' : 'noEvent'\"\n [p-additional-help-tooltip]=\"field.additionalHelpTooltip\"\n [p-auto-upload]=\"field.autoUpload\"\n [p-directory]=\"field.directory\"\n [p-disabled]=\"isDisabled(field)\"\n [p-drag-drop]=\"field.dragDrop\"\n [p-drag-drop-height]=\"field.dragDropHeight\"\n [p-restrictions]=\"field.restrictions\"\n [p-form-field]=\"field.formField\"\n [p-headers]=\"field.headers\"\n [p-help]=\"field.help\"\n [p-hide-restrictions-info]=\"field.hideRestrictionsInfo\"\n [p-hide-select-button]=\"field.hideSelectButton\"\n [p-hide-send-button]=\"field.hideSendButton\"\n [p-multiple]=\"field.multiple\"\n [p-label]=\"field.label\"\n [p-literals]=\"field.literals\"\n [name]=\"field.property\"\n [p-custom-action]=\"field.customAction\"\n (p-custom-action-click)=\"field.customActionClick($event)\"\n (p-error)=\"field.onError($event)\"\n (p-success)=\"field.onSuccess($event)\"\n (p-upload)=\"field.onUpload($event)\"\n [p-optional]=\"field.optional\"\n [p-required]=\"field.required\"\n [p-show-required]=\"field.showRequired\"\n [p-size]=\"field.size || componentsSize\"\n (p-additional-help)=\"field.additionalHelp?.($event)\"\n (p-change)=\"onChangeField(field)\"\n (p-change-model)=\"onChangeFieldModel(field)\"\n (p-keydown)=\"field.keydown?.($event)\"\n [p-url]=\"field.url\"\n >\n </po-upload>\n }\n }\n</ng-template>\n\n<ng-template #poContentContainer let-fields>\n <po-dynamic-container [p-fields]=\"fields\" [p-content]=\"poContent\"></po-dynamic-container>\n</ng-template>\n" }]
|
|
42866
|
+
args: [{ selector: 'po-dynamic-form-fields', viewProviders: [{ provide: ControlContainer, useExisting: NgForm }], providers: [PoDynamicFormValidationService], standalone: false, template: "@if (visibleFields && visibleFields.length > 0) {\n <div class=\"po-row\" [class.po-dynamic]=\"hasContainers\">\n <ng-container\n *ngTemplateOutlet=\"\n hasContainers ? poContentContainer : poContent;\n context: { $implicit: hasContainers ? containerFields : visibleFields }\n \"\n ></ng-container>\n </div>\n}\n\n<ng-template #poContent let-fields>\n @for (field of fields; track trackBy($index, field)) {\n @if (field?.divider?.trim()) {\n <po-divider class=\"po-sm-12\" [p-label]=\"field.divider\"> </po-divider>\n }\n @if (compareTo(field.control, 'datepicker')) {\n <po-datepicker\n #component\n [name]=\"field.property\"\n [(ngModel)]=\"value[field.property]\"\n [ngClass]=\"field.componentClass\"\n [additionalHelpEventTrigger]=\"field.additionalHelp ? 'event' : 'noEvent'\"\n [p-additional-help-tooltip]=\"field.additionalHelpTooltip\"\n [p-clean]=\"field.clean\"\n [p-disabled]=\"isDisabled(field)\"\n [p-error-pattern]=\"field.errorMessage\"\n [p-error-limit]=\"field.errorLimit\"\n [p-error-async]=\"field.errorAsyncFunction\"\n [p-auto-focus]=\"field.focus\"\n [p-format]=\"field.format\"\n [p-help]=\"field.help\"\n [p-iso-format]=\"field.isoFormat\"\n [p-label]=\"field.label\"\n [p-locale]=\"field.locale\"\n [p-max-date]=\"field.maxValue\"\n [p-min-date]=\"field.minValue\"\n [p-no-autocomplete]=\"field.noAutocomplete\"\n [p-optional]=\"field.optional\"\n [p-readonly]=\"field.readonly\"\n [p-required]=\"field.required\"\n [p-required-field-error-message]=\"field.requiredFieldErrorMessage\"\n [p-size]=\"field.size || componentsSize\"\n [p-show-required]=\"field.showRequired\"\n (p-change)=\"onChangeField(field)\"\n [p-placeholder]=\"field.placeholder\"\n (p-additional-help)=\"field.additionalHelp?.($event)\"\n (p-keydown)=\"field.keydown?.($event)\"\n >\n </po-datepicker>\n }\n @if (compareTo(field.control, 'datepickerrange')) {\n <po-datepicker-range\n #component\n [name]=\"field.property\"\n [(ngModel)]=\"value[field.property]\"\n [ngClass]=\"field.componentClass\"\n [additionalHelpEventTrigger]=\"field.additionalHelp ? 'event' : 'noEvent'\"\n [p-additional-help-tooltip]=\"field.additionalHelpTooltip\"\n [p-clean]=\"field.clean\"\n [p-disabled]=\"isDisabled(field)\"\n [p-auto-focus]=\"field.focus\"\n [p-help]=\"field.help\"\n [p-label]=\"field.label\"\n [p-literals]=\"field.literals\"\n [p-max-date]=\"field.maxValue\"\n [p-min-date]=\"field.minValue\"\n [p-no-autocomplete]=\"field.noAutocomplete\"\n [p-optional]=\"field.optional\"\n [p-readonly]=\"field.readonly\"\n [p-required]=\"field.required\"\n [p-field-error-message]=\"field.errorMessage\"\n [p-error-limit]=\"field.errorLimit\"\n [p-show-required]=\"field.showRequired\"\n [p-size]=\"field.size || componentsSize\"\n (p-additional-help)=\"field.additionalHelp?.($event)\"\n (p-change)=\"onChangeField(field)\"\n (p-keydown)=\"field.keydown?.($event)\"\n >\n </po-datepicker-range>\n }\n @if (compareTo(field.control, 'input')) {\n <po-input\n #component\n [name]=\"field.property\"\n [(ngModel)]=\"value[field.property]\"\n [ngClass]=\"field.componentClass\"\n [additionalHelpEventTrigger]=\"field.additionalHelp ? 'event' : 'noEvent'\"\n [p-additional-help-tooltip]=\"field.additionalHelpTooltip\"\n [p-clean]=\"field.clean\"\n [p-disabled]=\"isDisabled(field)\"\n [p-error-pattern]=\"field.errorMessage\"\n [p-error-limit]=\"field.errorLimit\"\n [p-error-async-properties]=\"field.errorAsyncProperties\"\n [p-auto-focus]=\"field.focus\"\n [p-help]=\"field.help\"\n [p-label]=\"field.label\"\n [p-mask-format-model]=\"field.maskFormatModel\"\n [p-mask]=\"field.mask\"\n [p-maxlength]=\"field.maxLength\"\n [p-minlength]=\"field.minLength\"\n [p-no-autocomplete]=\"field.noAutocomplete\"\n [p-optional]=\"field.optional\"\n [p-pattern]=\"field.pattern\"\n [p-required]=\"field.required\"\n [p-required-field-error-message]=\"field.requiredFieldErrorMessage\"\n [p-show-required]=\"field.showRequired\"\n [p-size]=\"field.size || componentsSize\"\n (p-additional-help)=\"field.additionalHelp?.($event)\"\n (p-change)=\"onChangeField(field)\"\n (p-change-model)=\"onChangeFieldModel(field)\"\n (p-keydown)=\"field.keydown?.($event)\"\n [p-icon]=\"field.icon\"\n [p-placeholder]=\"field.placeholder\"\n [p-readonly]=\"field.readonly\"\n >\n </po-input>\n }\n @if (compareTo(field.control, 'number')) {\n <po-number\n #component\n [name]=\"field.property\"\n [(ngModel)]=\"value[field.property]\"\n [ngClass]=\"field.componentClass\"\n [additionalHelpEventTrigger]=\"field.additionalHelp ? 'event' : 'noEvent'\"\n [p-additional-help-tooltip]=\"field.additionalHelpTooltip\"\n [p-clean]=\"field.clean\"\n [p-disabled]=\"isDisabled(field)\"\n [p-error-pattern]=\"field.errorMessage\"\n [p-error-limit]=\"field.errorLimit\"\n [p-error-async-properties]=\"field.errorAsyncProperties\"\n [p-auto-focus]=\"field.focus\"\n [p-help]=\"field.help\"\n [p-label]=\"field.label\"\n [p-min]=\"field.minValue\"\n [p-max]=\"field.maxValue\"\n [p-maxlength]=\"field.maxLength\"\n [p-minlength]=\"field.minLength\"\n [p-no-autocomplete]=\"field.noAutocomplete\"\n [p-optional]=\"field.optional\"\n [p-step]=\"field.step\"\n [p-readonly]=\"field.readonly\"\n [p-required]=\"field.required\"\n [p-required-field-error-message]=\"field.requiredFieldErrorMessage\"\n [p-show-required]=\"field.showRequired\"\n [p-size]=\"field.size || componentsSize\"\n (p-additional-help)=\"field.additionalHelp?.($event)\"\n (p-change)=\"onChangeField(field)\"\n (p-change-model)=\"onChangeFieldModel(field)\"\n (p-keydown)=\"field.keydown?.($event)\"\n [p-icon]=\"field.icon\"\n [p-placeholder]=\"field.placeholder\"\n >\n </po-number>\n }\n @if (compareTo(field.control, 'decimal')) {\n <po-decimal\n #component\n [name]=\"field.property\"\n [(ngModel)]=\"value[field.property]\"\n [ngClass]=\"field.componentClass\"\n [additionalHelpEventTrigger]=\"field.additionalHelp ? 'event' : 'noEvent'\"\n [p-additional-help-tooltip]=\"field.additionalHelpTooltip\"\n [p-clean]=\"field.clean\"\n [p-error-pattern]=\"field.errorMessage\"\n [p-error-limit]=\"field.errorLimit\"\n [p-error-async-properties]=\"field.errorAsyncProperties\"\n [p-disabled]=\"isDisabled(field)\"\n [p-decimals-length]=\"field.decimalsLength\"\n [p-thousand-maxlength]=\"field.thousandMaxlength\"\n [p-icon]=\"field.icon\"\n [p-auto-focus]=\"field.focus\"\n [p-help]=\"field.help\"\n [p-label]=\"field.label\"\n [p-locale]=\"field.locale\"\n [p-min]=\"field.minValue\"\n [p-max]=\"field.maxValue\"\n [p-maxlength]=\"field.maxLength\"\n [p-minlength]=\"field.minLength\"\n [p-no-autocomplete]=\"field.noAutocomplete\"\n [p-optional]=\"field.optional\"\n [p-readonly]=\"field.readonly\"\n [p-required]=\"field.required\"\n [p-required-field-error-message]=\"field.requiredFieldErrorMessage\"\n [p-show-required]=\"field.showRequired\"\n [p-size]=\"field.size || componentsSize\"\n (p-additional-help)=\"field.additionalHelp?.($event)\"\n (p-change)=\"onChangeField(field)\"\n (p-change-model)=\"onChangeFieldModel(field)\"\n (p-keydown)=\"field.keydown?.($event)\"\n [p-placeholder]=\"field.placeholder\"\n >\n </po-decimal>\n }\n @if (compareTo(field.control, 'select')) {\n <po-select\n #component\n [name]=\"field.property\"\n [(ngModel)]=\"value[field.property]\"\n [ngClass]=\"field.componentClass\"\n [additionalHelpEventTrigger]=\"field.additionalHelp ? 'event' : 'noEvent'\"\n [p-additional-help-tooltip]=\"field.additionalHelpTooltip\"\n [p-field-label]=\"field.fieldLabel\"\n [p-field-value]=\"field.fieldValue\"\n [p-disabled]=\"isDisabled(field)\"\n [p-help]=\"field.help\"\n [p-label]=\"field.label\"\n [p-optional]=\"field.optional\"\n [p-options]=\"field.options\"\n [p-required]=\"field.required\"\n [p-field-error-message]=\"field.errorMessage\"\n [p-error-limit]=\"field.errorLimit\"\n [p-show-required]=\"field.showRequired\"\n [p-size]=\"field.size || componentsSize\"\n (p-additional-help)=\"field.additionalHelp?.($event)\"\n (p-change)=\"onChangeField(field)\"\n (p-keydown)=\"field.keydown?.($event)\"\n [p-placeholder]=\"field.placeholder\"\n [p-readonly]=\"field.readonly\"\n >\n </po-select>\n }\n @if (compareTo(field.control, 'radioGroup')) {\n <po-radio-group\n #component\n [name]=\"field.property\"\n [(ngModel)]=\"value[field.property]\"\n [ngClass]=\"field.componentClass\"\n [additionalHelpEventTrigger]=\"field.additionalHelp ? 'event' : 'noEvent'\"\n [p-additional-help-tooltip]=\"field.additionalHelpTooltip\"\n [p-columns]=\"field.columns || 3\"\n [p-auto-focus]=\"field.focus\"\n [p-disabled]=\"isDisabled(field)\"\n [p-help]=\"field.help\"\n [p-label]=\"field.label\"\n [p-optional]=\"field.optional\"\n [p-options]=\"field.options\"\n [p-required]=\"field.required\"\n [p-field-error-message]=\"field.errorMessage\"\n [p-error-limit]=\"field.errorLimit\"\n [p-show-required]=\"field.showRequired\"\n [p-size]=\"field.size || componentsSize\"\n (p-additional-help)=\"field.additionalHelp?.($event)\"\n (p-change)=\"onChangeField(field)\"\n (p-keydown)=\"field.keydown?.($event)\"\n >\n </po-radio-group>\n }\n @if (compareTo(field.control, 'switch')) {\n <po-switch\n #component\n [name]=\"field.property\"\n [(ngModel)]=\"value[field.property]\"\n [ngClass]=\"field.componentClass\"\n [additionalHelpEventTrigger]=\"field.additionalHelp ? 'event' : 'noEvent'\"\n [p-additional-help-tooltip]=\"field.additionalHelpTooltip\"\n [p-disabled]=\"isDisabled(field)\"\n [p-error-limit]=\"field.errorLimit\"\n [p-field-error-message]=\"field.errorMessage\"\n [p-format-model]=\"field.formatModel\"\n [p-help]=\"field.help\"\n [p-label]=\"field.label\"\n [p-label-off]=\"field.booleanFalse\"\n [p-label-on]=\"field.booleanTrue\"\n [p-label-position]=\"field.labelPosition\"\n [p-hide-label-status]=\"field.hideLabelStatus\"\n [p-invalid-value]=\"field.invalidValue\"\n [p-size]=\"field.size || componentsSize\"\n (p-additional-help)=\"field.additionalHelp?.($event)\"\n (p-change)=\"onChangeField(field)\"\n (p-keydown)=\"field.keydown?.($event)\"\n >\n </po-switch>\n }\n @if (compareTo(field.control, 'checkbox')) {\n <po-checkbox\n #component\n [name]=\"field.property\"\n [(ngModel)]=\"value[field.property]\"\n [ngClass]=\"field.componentClass\"\n [additionalHelpEventTrigger]=\"field.additionalHelp ? 'event' : 'noEvent'\"\n [p-additional-help-tooltip]=\"field.additionalHelpTooltip\"\n [p-auto-focus]=\"field.focus\"\n [p-disabled]=\"isDisabled(field)\"\n [p-help]=\"field.help\"\n [p-label]=\"field.label\"\n [p-size]=\"field.size || componentsSize\"\n (p-additional-help)=\"field.additionalHelp?.($event)\"\n (p-change)=\"onChangeField(field)\"\n (p-keydown)=\"field.keydown?.($event)\"\n >\n </po-checkbox>\n }\n @if (compareTo(field.control, 'combo')) {\n <po-combo\n #component\n [name]=\"field.property\"\n [(ngModel)]=\"value[field.property]\"\n [ngClass]=\"field.componentClass\"\n p-emit-object-value\n [additionalHelpEventTrigger]=\"field.additionalHelp ? 'event' : 'noEvent'\"\n [p-additional-help-tooltip]=\"field.additionalHelpTooltip\"\n [p-auto-focus]=\"field.focus\"\n [p-clean]=\"field.clean\"\n [p-disabled]=\"isDisabled(field)\"\n [p-field-label]=\"field.fieldLabel\"\n [p-field-value]=\"field.fieldValue\"\n [p-filter-params]=\"field.params\"\n [p-filter-service]=\"field.optionsService\"\n [p-help]=\"field.help\"\n [p-infinite-scroll]=\"field.infiniteScroll\"\n [p-infinite-scroll-distance]=\"field.infiniteScrollDistance || 100\"\n [p-label]=\"field.label\"\n [p-literals]=\"field.literals\"\n [p-options]=\"field.options\"\n [p-optional]=\"field.optional\"\n [p-sort]=\"field.sort\"\n [p-required]=\"field.required\"\n [p-field-error-message]=\"field.errorMessage\"\n [p-error-limit]=\"field.errorLimit\"\n [p-show-required]=\"field.showRequired\"\n (p-change)=\"onChangeField(field, $event)\"\n [p-icon]=\"field.icon\"\n [p-placeholder]=\"field.placeholder\"\n [p-filter-minlength]=\"field.filterMinlength\"\n [p-filter-mode]=\"field.filterMode\"\n [p-disabled-init-filter]=\"field.disabledInitFilter\"\n [p-disabled-tab-filter]=\"field.disabledTabFilter\"\n [p-debounce-time]=\"field.debounceTime\"\n [p-change-on-enter]=\"field.changeOnEnter\"\n [p-remove-initial-filter]=\"field.removeInitialFilter\"\n [p-size]=\"field.size || componentsSize\"\n (p-keydown)=\"field.keydown?.($event)\"\n (p-additional-help)=\"field.additionalHelp?.($event)\"\n [p-listbox-control-position]=\"field.listboxControlPosition\"\n >\n </po-combo>\n }\n @if (compareTo(field.control, 'lookup')) {\n <po-lookup\n #component\n [name]=\"field.property\"\n [(ngModel)]=\"value[field.property]\"\n p-field-label=\"label\"\n p-field-value=\"value\"\n [ngClass]=\"field.componentClass\"\n [additionalHelpEventTrigger]=\"field.additionalHelp ? 'event' : 'noEvent'\"\n [p-additional-help-tooltip]=\"field.additionalHelpTooltip\"\n [p-clean]=\"field.clean\"\n [p-columns]=\"field.columns\"\n [p-disabled]=\"isDisabled(field)\"\n [p-field-label]=\"field.fieldLabel || 'label'\"\n [p-field-value]=\"field.fieldValue || 'value'\"\n [p-filter-params]=\"field.params\"\n [p-filter-service]=\"field.searchService\"\n [p-auto-focus]=\"field.focus\"\n [p-auto-height]=\"field.autoHeight\"\n [p-help]=\"field.help\"\n [p-field-format]=\"field.format\"\n [p-infinite-scroll]=\"field.infiniteScroll\"\n [p-label]=\"field.label\"\n [p-literals]=\"field.literals\"\n [p-multiple]=\"field.multiple\"\n [p-no-autocomplete]=\"field.noAutocomplete\"\n [p-optional]=\"field.optional\"\n [p-required]=\"field.required\"\n [p-field-error-message]=\"field.errorMessage\"\n [p-error-limit]=\"field.errorLimit\"\n [p-show-required]=\"field.showRequired\"\n [p-size]=\"field.size || componentsSize\"\n (p-change)=\"onChangeField(field)\"\n [p-placeholder]=\"field.placeholder\"\n [p-advanced-filters]=\"field.advancedFilters\"\n (p-additional-help)=\"field.additionalHelp?.($event)\"\n (p-change-visible-columns)=\"field.changeVisibleColumns?.($event)\"\n (p-keydown)=\"field.keydown?.($event)\"\n (p-restore-column-manager)=\"field.columnRestoreManager?.($event)\"\n >\n </po-lookup>\n }\n @if (compareTo(field.control, 'checkboxGroup')) {\n <po-checkbox-group\n #component\n [name]=\"field.property\"\n [(ngModel)]=\"value[field.property]\"\n [ngClass]=\"field.componentClass\"\n [additionalHelpEventTrigger]=\"field.additionalHelp ? 'event' : 'noEvent'\"\n [p-additional-help-tooltip]=\"field.additionalHelpTooltip\"\n [p-columns]=\"field.columns || 3\"\n [p-auto-focus]=\"field.focus\"\n [p-disabled]=\"isDisabled(field)\"\n [p-help]=\"field.help\"\n [p-label]=\"field.label\"\n [p-optional]=\"field.optional\"\n [p-options]=\"field.options\"\n [p-required]=\"field.required\"\n [p-show-required]=\"field.showRequired\"\n [p-field-error-message]=\"field.errorMessage\"\n [p-error-limit]=\"field.errorLimit\"\n [p-size]=\"field.size || componentsSize\"\n (p-additional-help)=\"field.additionalHelp?.($event)\"\n (p-change)=\"onChangeField(field)\"\n (p-keydown)=\"field.keydown?.($event)\"\n >\n </po-checkbox-group>\n }\n @if (compareTo(field.control, 'multiselect')) {\n <po-multiselect\n #component\n [name]=\"field.property\"\n [(ngModel)]=\"value[field.property]\"\n [ngClass]=\"field.componentClass\"\n [additionalHelpEventTrigger]=\"field.additionalHelp ? 'event' : 'noEvent'\"\n [p-additional-help-tooltip]=\"field.additionalHelpTooltip\"\n [p-disabled]=\"isDisabled(field)\"\n [p-auto-focus]=\"field.focus\"\n [p-auto-height]=\"field.autoHeight\"\n [p-help]=\"field.help\"\n [p-label]=\"field.label\"\n [p-literals]=\"field.literals\"\n [p-optional]=\"field.optional\"\n [p-options]=\"field.options\"\n [p-required]=\"field.required\"\n [p-field-error-message]=\"field.errorMessage\"\n [p-error-limit]=\"field.errorLimit\"\n [p-show-required]=\"field.showRequired\"\n (p-change)=\"onChangeField(field)\"\n [p-placeholder]=\"field.placeholder\"\n [p-field-label]=\"field.fieldLabel\"\n [p-field-value]=\"field.fieldValue\"\n [p-filter-service]=\"field.optionsService\"\n [p-filter-mode]=\"field.filterMode\"\n [p-debounce-time]=\"field.debounceTime\"\n [p-sort]=\"field.sort\"\n [p-placeholder-search]=\"field.placeholderSearch\"\n [p-hide-search]=\"field.hideSearch\"\n [p-hide-select-all]=\"field.hideSelectAll\"\n [p-size]=\"field.size || componentsSize\"\n (p-additional-help)=\"field.additionalHelp?.($event)\"\n (p-keydown)=\"field.keydown?.($event)\"\n [p-listbox-control-position]=\"field.listboxControlPosition\"\n >\n </po-multiselect>\n }\n @if (compareTo(field.control, 'textarea')) {\n <po-textarea\n #component\n [name]=\"field.property\"\n [(ngModel)]=\"value[field.property]\"\n [ngClass]=\"field.componentClass\"\n [additionalHelpEventTrigger]=\"field.additionalHelp ? 'event' : 'noEvent'\"\n [p-additional-help-tooltip]=\"field.additionalHelpTooltip\"\n [p-disabled]=\"isDisabled(field)\"\n [p-auto-focus]=\"field.focus\"\n [p-help]=\"field.help\"\n [p-label]=\"field.label\"\n [p-maxlength]=\"field.maxLength\"\n [p-minlength]=\"field.minLength\"\n [p-optional]=\"field.optional\"\n [p-readonly]=\"field.readonly\"\n [p-required]=\"field.required\"\n [p-field-error-message]=\"field.errorMessage\"\n [p-error-limit]=\"field.errorLimit\"\n [p-show-required]=\"field.showRequired\"\n [p-rows]=\"field.rows\"\n [p-size]=\"field.size || componentsSize\"\n (p-additional-help)=\"field.additionalHelp?.($event)\"\n (p-change)=\"onChangeField(field)\"\n (p-change-model)=\"onChangeFieldModel(field)\"\n (p-keydown)=\"field.keydown?.($event)\"\n [p-placeholder]=\"field.placeholder\"\n >\n </po-textarea>\n }\n @if (compareTo(field.control, 'password')) {\n <po-password\n #component\n [name]=\"field.property\"\n [(ngModel)]=\"value[field.property]\"\n [ngClass]=\"field.componentClass\"\n [additionalHelpEventTrigger]=\"field.additionalHelp ? 'event' : 'noEvent'\"\n [p-additional-help-tooltip]=\"field.additionalHelpTooltip\"\n [p-clean]=\"field.clean\"\n [p-disabled]=\"isDisabled(field)\"\n [p-error-pattern]=\"field.errorMessage\"\n [p-error-limit]=\"field.errorLimit\"\n [p-error-async-properties]=\"field.errorAsyncProperties\"\n [p-auto-focus]=\"field.focus\"\n [p-help]=\"field.help\"\n [p-hide-password-peek]=\"field.hidePasswordPeek\"\n [p-icon]=\"field.icon\"\n [p-label]=\"field.label\"\n [p-maxlength]=\"field.maxLength\"\n [p-minlength]=\"field.minLength\"\n [p-no-autocomplete]=\"field.noAutocomplete\"\n [p-optional]=\"field.optional\"\n [p-pattern]=\"field.pattern\"\n [p-readonly]=\"field.readonly\"\n [p-required]=\"field.required\"\n [p-required-field-error-message]=\"field.requiredFieldErrorMessage\"\n [p-show-required]=\"field.showRequired\"\n [p-size]=\"field.size || componentsSize\"\n (p-additional-help)=\"field.additionalHelp?.($event)\"\n (p-change)=\"onChangeField(field)\"\n (p-change-model)=\"onChangeFieldModel(field)\"\n (p-keydown)=\"field.keydown?.($event)\"\n [p-placeholder]=\"field.placeholder\"\n >\n </po-password>\n }\n @if (compareTo(field.control, 'upload')) {\n <po-upload\n #component\n [(ngModel)]=\"value[field.property]\"\n [ngClass]=\"field.componentClass\"\n [additionalHelpEventTrigger]=\"field.additionalHelp ? 'event' : 'noEvent'\"\n [p-additional-help-tooltip]=\"field.additionalHelpTooltip\"\n [p-auto-upload]=\"field.autoUpload\"\n [p-directory]=\"field.directory\"\n [p-disabled]=\"isDisabled(field)\"\n [p-drag-drop]=\"field.dragDrop\"\n [p-drag-drop-height]=\"field.dragDropHeight\"\n [p-restrictions]=\"field.restrictions\"\n [p-form-field]=\"field.formField\"\n [p-headers]=\"field.headers\"\n [p-help]=\"field.help\"\n [p-hide-restrictions-info]=\"field.hideRestrictionsInfo\"\n [p-hide-select-button]=\"field.hideSelectButton\"\n [p-hide-send-button]=\"field.hideSendButton\"\n [p-multiple]=\"field.multiple\"\n [p-label]=\"field.label\"\n [p-literals]=\"field.literals\"\n [name]=\"field.property\"\n [p-custom-action]=\"field.customAction\"\n (p-custom-action-click)=\"field.customActionClick($event)\"\n (p-error)=\"field.onError($event)\"\n (p-success)=\"field.onSuccess($event)\"\n (p-upload)=\"field.onUpload($event)\"\n [p-optional]=\"field.optional\"\n [p-required]=\"field.required\"\n [p-show-required]=\"field.showRequired\"\n [p-show-thumbnail]=\"field.showThumbnail ?? true\"\n [p-size]=\"field.size || componentsSize\"\n (p-additional-help)=\"field.additionalHelp?.($event)\"\n (p-change)=\"onChangeField(field)\"\n (p-change-model)=\"onChangeFieldModel(field)\"\n (p-keydown)=\"field.keydown?.($event)\"\n [p-url]=\"field.url\"\n >\n </po-upload>\n }\n }\n</ng-template>\n\n<ng-template #poContentContainer let-fields>\n <po-dynamic-container [p-fields]=\"fields\" [p-content]=\"poContent\"></po-dynamic-container>\n</ng-template>\n" }]
|
|
42541
42867
|
}], ctorParameters: () => [], propDecorators: { components: [{
|
|
42542
42868
|
type: ViewChildren,
|
|
42543
42869
|
args: ['component']
|