@jm-7c3/common-lib 1.7.2
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/README.md +9 -0
- package/fesm2022/jm-7c3-common-lib.mjs +956 -0
- package/fesm2022/jm-7c3-common-lib.mjs.map +1 -0
- package/index.d.ts +5 -0
- package/jm-7c3-common-lib-1.7.2.tgz +0 -0
- package/lib/common-lib.module.d.ts +6 -0
- package/lib/controls/button/button.component.d.ts +14 -0
- package/lib/controls/button/button.models.d.ts +1 -0
- package/lib/controls/button/index.d.ts +1 -0
- package/lib/controls/confirmation/confirmation.component.d.ts +12 -0
- package/lib/controls/confirmation/confirmation.models.d.ts +7 -0
- package/lib/controls/confirmation/confirmation.service.d.ts +11 -0
- package/lib/controls/confirmation/index.d.ts +3 -0
- package/lib/controls/content-dialog/content-dialog.component.d.ts +15 -0
- package/lib/controls/content-dialog/content-dialog.models.d.ts +10 -0
- package/lib/controls/content-dialog/content-dialog.service.d.ts +13 -0
- package/lib/controls/content-dialog/index.d.ts +3 -0
- package/lib/controls/form-dialog/form-dialog.component.d.ts +21 -0
- package/lib/controls/form-dialog/form-dialog.models.d.ts +13 -0
- package/lib/controls/form-dialog/form-dialog.service.d.ts +12 -0
- package/lib/controls/form-dialog/index.d.ts +3 -0
- package/lib/controls/icon-button/icon-button.component.d.ts +15 -0
- package/lib/controls/icon-button/index.d.ts +1 -0
- package/lib/controls/progress-bar-dialog/index.d.ts +2 -0
- package/lib/controls/progress-bar-dialog/progress-bar-dialog.component.d.ts +9 -0
- package/lib/controls/progress-bar-dialog/progress-bar-dialog.service.d.ts +8 -0
- package/lib/controls/readonly-value/index.d.ts +1 -0
- package/lib/controls/readonly-value/readonly-value.component.d.ts +7 -0
- package/lib/controls/toasts/index.d.ts +3 -0
- package/lib/controls/toasts/toasts.component.d.ts +9 -0
- package/lib/controls/toasts/toasts.models.d.ts +5 -0
- package/lib/controls/toasts/toasts.service.d.ts +9 -0
- package/lib/forms/base-form/base-form.component.d.ts +24 -0
- package/lib/forms/base-form/index.d.ts +1 -0
- package/lib/forms/file-input/file-input.component.d.ts +40 -0
- package/lib/forms/file-input/index.d.ts +1 -0
- package/lib/forms/file-inputs/file-inputs.component.d.ts +24 -0
- package/lib/forms/file-inputs/index.d.ts +1 -0
- package/lib/forms/form-field/error.directive.d.ts +7 -0
- package/lib/forms/form-field/form-field.component.d.ts +10 -0
- package/lib/forms/form-field/form-field.module.d.ts +9 -0
- package/lib/forms/form-field/index.d.ts +4 -0
- package/lib/forms/form-field/label.directive.d.ts +7 -0
- package/lib/models/cl-dialog.model.d.ts +15 -0
- package/lib/models/cl-state.model.d.ts +9 -0
- package/lib/models/index.d.ts +2 -0
- package/lib/rxjs-operators/index.d.ts +1 -0
- package/lib/rxjs-operators/operators.d.ts +2 -0
- package/lib/services/cl-state.service.d.ts +12 -0
- package/lib/services/index.d.ts +1 -0
- package/package.json +29 -0
- package/public-api.d.ts +16 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"jm-7c3-common-lib.mjs","sources":["../../../projects/common-lib/src/lib/controls/button/button.component.ts","../../../projects/common-lib/src/lib/controls/button/button.component.html","../../../projects/common-lib/src/lib/services/cl-state.service.ts","../../../projects/common-lib/src/lib/controls/confirmation/confirmation.component.ts","../../../projects/common-lib/src/lib/controls/confirmation/confirmation.component.html","../../../projects/common-lib/src/lib/controls/confirmation/confirmation.service.ts","../../../projects/common-lib/src/lib/controls/content-dialog/content-dialog.component.ts","../../../projects/common-lib/src/lib/controls/content-dialog/content-dialog.component.html","../../../projects/common-lib/src/lib/controls/content-dialog/content-dialog.service.ts","../../../projects/common-lib/src/lib/controls/form-dialog/form-dialog.component.ts","../../../projects/common-lib/src/lib/controls/form-dialog/form-dialog.component.html","../../../projects/common-lib/src/lib/controls/form-dialog/form-dialog.service.ts","../../../projects/common-lib/src/lib/controls/icon-button/icon-button.component.ts","../../../projects/common-lib/src/lib/controls/icon-button/icon-button.component.html","../../../projects/common-lib/src/lib/controls/progress-bar-dialog/progress-bar-dialog.component.ts","../../../projects/common-lib/src/lib/controls/progress-bar-dialog/progress-bar-dialog.component.html","../../../projects/common-lib/src/lib/controls/progress-bar-dialog/progress-bar-dialog.service.ts","../../../projects/common-lib/src/lib/controls/readonly-value/readonly-value.component.ts","../../../projects/common-lib/src/lib/controls/readonly-value/readonly-value.component.html","../../../projects/common-lib/src/lib/controls/toasts/toasts.component.ts","../../../projects/common-lib/src/lib/controls/toasts/toasts.component.html","../../../projects/common-lib/src/lib/controls/toasts/toasts.service.ts","../../../projects/common-lib/src/lib/forms/base-form/base-form.component.ts","../../../projects/common-lib/src/lib/forms/file-input/file-input.component.ts","../../../projects/common-lib/src/lib/forms/file-input/file-input.component.html","../../../projects/common-lib/src/lib/forms/file-inputs/file-inputs.component.ts","../../../projects/common-lib/src/lib/forms/file-inputs/file-inputs.component.html","../../../projects/common-lib/src/lib/forms/form-field/error.directive.ts","../../../projects/common-lib/src/lib/forms/form-field/form-field.component.ts","../../../projects/common-lib/src/lib/forms/form-field/form-field.component.html","../../../projects/common-lib/src/lib/forms/form-field/label.directive.ts","../../../projects/common-lib/src/lib/forms/form-field/form-field.module.ts","../../../projects/common-lib/src/lib/models/cl-state.model.ts","../../../projects/common-lib/src/lib/common-lib.module.ts","../../../projects/common-lib/src/lib/rxjs-operators/operators.ts","../../../projects/common-lib/src/public-api.ts","../../../projects/common-lib/src/jm-7c3-common-lib.ts"],"sourcesContent":["import { ChangeDetectionStrategy, Component, effect, input, signal }\n from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { ButtonModule as PrimengButtonModule } from 'primeng/button';\n\nimport { ButtonColor } from './button.models';\n\n@Component({\n selector: 'cl-button',\n imports: [\n CommonModule,\n PrimengButtonModule\n ],\n templateUrl: './button.component.html',\n styleUrl: './button.component.scss',\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class ButtonComponent {\n readonly color = input<ButtonColor>('primary');\n readonly disabled = input(false);\n readonly icon = input<string>();\n readonly label = input<string>();\n readonly loading = input(false);\n readonly type = input<'button' | 'submit'>('button');\n\n readonly buttonClass = signal('');\n\n constructor() {\n effect(() => {\n switch (this.color()) {\n case 'danger':\n this.buttonClass.set('p-button-danger p-button-raised p-button-text');\n break;\n case 'main':\n this.buttonClass.set('p-button-primary p-button-raised');\n break;\n case 'primary':\n this.buttonClass.set('p-button-primary p-button-raised p-button-text');\n break;\n case 'secondary':\n this.buttonClass.set('p-button-secondary p-button-raised p-button-text');\n break;\n }\n });\n }\n}\n","<button [class]=\"buttonClass()\" [disabled]=\"disabled()\" [icon]=\"icon()!\" [label]=\"label()!\" [loading]=\"loading()\" pButton\n [type]=\"type()\">\n</button>\n","import { Injectable } from '@angular/core';\nimport { toObservable } from '@angular/core/rxjs-interop';\nimport { patchState, signalState } from '@ngrx/signals';\nimport { filter, Observable } from 'rxjs';\n\nimport { ClState, ClStateMessage, ClStateMessageType } from '../models';\n\nconst initialState: ClState = {\n stateMessage: null\n};\n\n@Injectable({\n providedIn: 'root'\n})\nexport class ClStateService {\n private readonly state = signalState(initialState);\n\n readonly stateMessage: any = this.state.stateMessage;\n private readonly stateMessage$ = toObservable(this.state.stateMessage);\n\n onStateMessage(type: ClStateMessageType): Observable<ClStateMessage | null> {\n return this.stateMessage$.pipe(\n filter(message => message?.type === type)\n );\n }\n\n updateStateMessage(stateMessage: ClStateMessage | null): void {\n patchState(this.state, {stateMessage});\n }\n}\n","import { ChangeDetectionStrategy, Component, Inject, effect, inject, signal }\n from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { ConfirmationService as PngConfirmationService } from 'primeng/api';\nimport { ConfirmDialogModule } from 'primeng/confirmdialog';\n\nimport { ClStateMessage, ConfirmationConfig } from '../../models';\nimport { ClStateService } from '../../services';\nimport { ButtonComponent } from '../button';\n\n@Component({\n selector: 'cl-confirmation',\n imports: [\n ButtonComponent,\n CommonModule,\n ConfirmDialogModule,\n ],\n templateUrl: './confirmation.component.html',\n styleUrls: ['./confirmation.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class ConfirmationComponent {\n private readonly clStateService = inject(ClStateService);\n private readonly confirmationService = inject(PngConfirmationService);\n\n readonly acceptLabel = signal('Accept');\n readonly cancelLabel = signal('Cancel');\n\n constructor(\n @Inject('env') private readonly env: any\n ) {\n const confirmationConfig: ConfirmationConfig = this.env?.commonLib?.confirmation;\n\n if (confirmationConfig) {\n if (confirmationConfig.acceptLabel) {\n this.acceptLabel.set(confirmationConfig.acceptLabel);\n }\n if (confirmationConfig.cancelLabel) {\n this.cancelLabel.set(confirmationConfig.cancelLabel);\n }\n }\n\n effect(() => {\n const message = this.clStateService.stateMessage();\n\n if (message?.type === 'confirmation') {\n this.openConfirmDialog(message);\n }\n });\n }\n\n private openConfirmDialog(stateMessge: ClStateMessage): void {\n const {data, header, key, message} = stateMessge.payload;\n\n this.confirmationService.confirm({\n accept: () => {\n this.clStateService.updateStateMessage({\n key: stateMessge.key,\n payload: data,\n type: 'confirmation-accept'\n });\n },\n acceptButtonStyleClass: 'primary',\n closeOnEscape: false,\n header,\n key,\n message,\n reject: () => {\n this.clStateService.updateStateMessage({\n key: stateMessge.key,\n payload: data,\n type: 'confirmation-cancel'\n });\n },\n });\n }\n}\n","<p-confirmDialog #general key=\"general\">\n <ng-template pTemplate=\"footer\">\n <cl-button class=\"mr-2\" (click)=\"general.onAccept()\" color=\"primary\" icon=\"pi pi-check\" [label]=\"acceptLabel()\" />\n <cl-button (click)=\"general.onReject()\" color=\"secondary\" icon=\"pi pi-times\" [label]=\"cancelLabel()\" />\n </ng-template>\n</p-confirmDialog>\n\n<p-confirmDialog icon=\"pi pi-exclamation-triangle\" key=\"general-warning\" #warning>\n <ng-template pTemplate=\"footer\">\n <cl-button class=\"mr-2\" (click)=\"warning.onAccept()\" color=\"primary\" icon=\"pi pi-check\" [label]=\"acceptLabel()\" />\n <cl-button (click)=\"warning.onReject()\" color=\"secondary\" icon=\"pi pi-times\" [label]=\"cancelLabel()\" />\n </ng-template>\n</p-confirmDialog>\n","import { Injectable, inject } from '@angular/core';\nimport { Observable, filter, map } from 'rxjs';\n\nimport { ClStateService } from '../../services';\nimport { ConfirmationData } from './confirmation.models';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class ConfirmationService {\n private readonly clStateService = inject(ClStateService);\n\n confirm({data, header, key, message, type}: ConfirmationData): void {\n const confirmationData: ConfirmationData = {\n data,\n header,\n key: 'general',\n message\n };\n\n switch (type) {\n case 'warning':\n confirmationData.key = 'general-warning';\n break;\n }\n\n this.clStateService.updateStateMessage({\n key,\n payload: confirmationData,\n type: 'confirmation'\n });\n }\n\n onAccept(key: string): Observable<any> {\n return this.clStateService.onStateMessage('confirmation-accept').pipe(\n filter(message => message?.key === key),\n map(message => message?.payload)\n );\n }\n\n onCancel(key: string): Observable<null> {\n return this.clStateService.onStateMessage('confirmation-cancel').pipe(\n filter(message => message?.key === key),\n map(() => null)\n );\n }\n}\n","import { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, Inject, OnInit, inject, signal }\n from '@angular/core';\nimport { DynamicDialogConfig, DynamicDialogRef } from 'primeng/dynamicdialog';\n\nimport { ContentDialogConfig } from '../../models';\nimport { ButtonComponent } from '../button';\n\n@Component({\n selector: 'cl-content-dialog',\n imports: [\n ButtonComponent,\n CommonModule,\n ],\n templateUrl: './content-dialog.component.html',\n styleUrl: './content-dialog.component.scss',\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class ContentDialogComponent implements OnInit {\n private readonly dialogConfig = inject(DynamicDialogConfig);\n private readonly dialogRef = inject(DynamicDialogRef);\n\n readonly component = signal<any>(null);\n readonly closeLabel = signal('Close');\n readonly header = signal('');\n\n constructor(\n @Inject('env') private readonly env: any\n ) {\n const contentDialogConfig: ContentDialogConfig = this.env?.commonLib?.contentDialog;\n\n if (contentDialogConfig) {\n if (contentDialogConfig.closeLabel) {\n this.closeLabel.set(contentDialogConfig.closeLabel);\n }\n }\n }\n\n ngOnInit(): void {\n const {component, config, header} = this.dialogConfig.data;\n\n if (component) {\n this.component.set(component);\n }\n\n if (config) {\n const {closeLabel} = config;\n\n if (closeLabel) {\n this.closeLabel.set(closeLabel);\n }\n }\n\n if (header) {\n this.header.set(header);\n }\n }\n\n onClose(): void {\n this.dialogRef.close();\n }\n}\n","@if (component()) {\n <ng-container *ngComponentOutlet=\"component()\" />\n}\n\n<div class=\"text-right\">\n <cl-button (click)=\"onClose()\" color=\"secondary\" [label]=\"closeLabel()\" />\n</div>\n","import { Injectable, inject } from '@angular/core';\nimport { DialogService, DynamicDialogConfig } from 'primeng/dynamicdialog';\nimport { Observable, filter, map } from 'rxjs';\n\nimport { ClStateService } from '../../services';\nimport { ContentDialogComponent } from './content-dialog.component';\nimport { ContentDialogData } from './content-dialog.models';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class ContentDialogService {\n private readonly clStateService = inject(ClStateService);\n private readonly dialogService = inject(DialogService);\n\n onCancel(key: string): Observable<{key: string}> {\n return this.clStateService.onStateMessage('content-dialog-close').pipe(\n filter(message => message?.payload.key === key),\n map(() => ({key}))\n )\n }\n\n open(data: ContentDialogData): void {\n const {component, config, header, key, styleClass} = data;\n const dialogConfig: DynamicDialogConfig = {\n closable: false,\n data: { component, config, key },\n header,\n showHeader: true,\n styleClass: styleClass ?? 'w-4'\n };\n\n this.dialogService.open(ContentDialogComponent, dialogConfig).onClose\n .subscribe(() => {\n this.clStateService.updateStateMessage({\n key,\n type: 'content-dialog-close'\n });\n });\n }\n}\n","import { ChangeDetectionStrategy, ChangeDetectorRef, Component, Inject, OnInit,\n ViewContainerRef, inject, signal, viewChild} from '@angular/core';\nimport { FormsModule, ReactiveFormsModule, UntypedFormGroup }\n from '@angular/forms';\nimport { DynamicDialogConfig, DynamicDialogModule, DynamicDialogRef }\n from 'primeng/dynamicdialog';\n\nimport { FormDialogConfig } from '../../models';\nimport { ButtonComponent } from '../button';\n\n@Component({\n selector: 'cl-form-dialog',\n imports: [\n ButtonComponent,\n DynamicDialogModule,\n FormsModule,\n ReactiveFormsModule,\n ],\n templateUrl: './form-dialog.component.html',\n styleUrls: ['./form-dialog.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class FormDialogComponent implements OnInit {\n private readonly cdRef = inject(ChangeDetectorRef);\n private readonly dialogConfig = inject(DynamicDialogConfig);\n private readonly dialogRef = inject(DynamicDialogRef);\n\n private readonly formContainer = viewChild('formContainer', {read: ViewContainerRef});\n\n readonly cancelLabel = signal('Cancel');\n readonly form = signal<UntypedFormGroup | null>(null);\n readonly header = signal<string>('');\n readonly hideSubmitButton = signal(false);\n readonly submitLabel = signal('Submit');\n\n constructor(\n @Inject('env') private readonly env: any\n ) {\n const formDialogConfig: FormDialogConfig = this.env?.commonLib?.formDialog;\n\n if (formDialogConfig) {\n if (formDialogConfig.cancelLabel) {\n this.cancelLabel.set(formDialogConfig.cancelLabel);\n }\n if (formDialogConfig.submitLabel) {\n this.submitLabel.set(formDialogConfig.submitLabel);\n }\n }\n }\n\n ngOnInit(): void {\n const {component, config, header, value} = this.dialogConfig.data;\n\n this.header.set(header);\n\n if (component) {\n setTimeout(() => {\n const {instance} = this.formContainer()!.createComponent(component) as any;\n\n this.form.set(instance.form);\n\n if (!this.form) {\n throw new Error('Form not found.');\n }\n\n if (value) {\n this.form()?.patchValue(value);\n }\n\n this.cdRef.markForCheck();\n });\n }\n\n if (config) {\n this.hideSubmitButton.set(config.hideSubmitButton ?? this.hideSubmitButton);\n\n if (config.cancelLabel) {\n this.cancelLabel.set(config.cancelLabel);\n }\n if (config.submitLabel) {\n this.submitLabel.set(config.submitLabel);\n }\n }\n }\n\n onCancel(): void {\n this.dialogRef.close();\n }\n\n onSubmit(): void {\n if (this.form()?.valid) {\n this.dialogRef.close(this.form()!.value);\n }\n }\n\n}\n","<h2>{{ header() }}</h2>\n\n<div class=\"mb-2\">\n <ng-container #formContainer />\n</div>\n\n@if (form()) {\n <div class=\"text-right\">\n @if (!hideSubmitButton()) {\n <cl-button class=\"mr-2\" (click)=\"onSubmit()\" color=\"main\" [disabled]=\"form()!.invalid || form()!.pristine\"\n [label]=\"submitLabel()\" />\n }\n\n <cl-button (click)=\"onCancel()\" color=\"secondary\" [label]=\"cancelLabel()\" />\n </div>\n}\n","import { Injectable, inject } from '@angular/core';\nimport { DialogService, DynamicDialogConfig } from 'primeng/dynamicdialog';\nimport { Observable, filter, map } from 'rxjs';\n\nimport { ClStateService } from '../../services';\nimport { FormDialogComponent } from './form-dialog.component';\nimport { FormDialogData } from './form-dialog.models';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class FormDialogService {\n private readonly clStateService = inject(ClStateService);\n private readonly dialogService = inject(DialogService);\n\n onCancel(key: string): Observable<null> {\n return this.clStateService.onStateMessage('form-dialog-cancel').pipe(\n filter(message => message?.key === key),\n map(() => null)\n );\n }\n\n onSubmit(key: string): Observable<any> {\n return this.clStateService.onStateMessage('form-dialog-submit').pipe(\n filter(message => message?.key === key),\n map(message => message?.payload)\n );\n }\n\n // Workaround untill primeng v16.2.1 is available\n open(data: FormDialogData): void {\n const {component, config, header, key, styleClass, value} = data;\n const dialogConfig: DynamicDialogConfig = {\n data: { component, config, key, value },\n focusOnShow: false,\n header,\n modal: true,\n styleClass\n };\n\n const ref = this.dialogService.open(FormDialogComponent, dialogConfig);\n\n ref.onClose.subscribe(value => {\n if (value) {\n this.clStateService.updateStateMessage({\n key,\n payload: value,\n type: 'form-dialog-submit'\n });\n } else {\n this.clStateService.updateStateMessage({\n key,\n type: 'form-dialog-cancel'\n });\n }\n });\n }\n}\n","import { ChangeDetectionStrategy, Component, effect, input, signal }\n from '@angular/core';\nimport { ButtonModule as PrimengButtonModule } from 'primeng/button';\n\n@Component({\n selector: 'cl-icon-button',\n imports: [\n PrimengButtonModule,\n ],\n templateUrl: './icon-button.component.html',\n styleUrl: './icon-button.component.scss',\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class IconButtonComponent {\n readonly disabled = input(false);\n readonly icon = input.required<string>();\n readonly loading = input(false);\n readonly severity = input<Severity>('');\n readonly type = input<'button' | 'submit'>('button');\n\n readonly class = signal('p-button-icon-only p-button-text');\n\n constructor() {\n effect(() => {\n this.updateClass(this.severity());\n });\n }\n\n private updateClass(severity: string) {\n this.class.update(value => value + ' p-button-' + severity);\n }\n}\n\ntype Severity = '' | 'danger' | 'help' | 'info' | 'secondary' | 'success' | 'warning';\n","<button [class]=\"class()\" [disabled]=\"disabled()\" [icon]=\"icon()\" [loading]=\"loading()\" pButton [type]=\"type()\">\n</button>\n","import { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, ChangeDetectorRef, Component, effect, inject }\n from '@angular/core';\nimport { DialogModule } from 'primeng/dialog';\nimport { ProgressBarModule } from 'primeng/progressbar';\n\nimport { ClStateService } from '../../services';\n\n@Component({\n selector: 'cl-progress-bar-dialog',\n imports: [\n CommonModule,\n DialogModule,\n ProgressBarModule,\n ],\n templateUrl: './progress-bar-dialog.component.html',\n styleUrl: './progress-bar-dialog.component.scss',\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class ProgressBarDialogComponent {\n private readonly cdRef = inject(ChangeDetectorRef);\n private readonly clStateService = inject(ClStateService);\n\n visible = false;\n\n constructor () {\n effect(() => {\n switch (this.clStateService.stateMessage()?.type) {\n case 'progess-bar-dialog-close':\n this.visible = false;\n\n this.cdRef.markForCheck();\n break;\n case 'progess-bar-dialog-open':\n this.visible = true;\n\n this.cdRef.markForCheck();\n break;\n }\n });\n }\n}\n","<p-dialog [closable]=\"false\" [closeOnEscape]=\"false\" [draggable]=\"false\" [modal]=\"true\" [resizable]=\"false\"\n [showHeader]=\"true\" styleClass=\"w-4\" [(visible)]=\"visible\">\n <p-progressBar mode=\"indeterminate\" />\n</p-dialog>\n","import { Injectable, inject } from '@angular/core';\n\nimport { ClStateService } from '../../services';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class ProgressBarDialogService {\n private readonly clStateService = inject(ClStateService);\n\n close(): void {\n this.clStateService.updateStateMessage({\n type: 'progess-bar-dialog-close'\n });\n }\n\n open(): void {\n this.clStateService.updateStateMessage({\n type: 'progess-bar-dialog-open'\n });\n }\n}\n","import { ChangeDetectionStrategy, Component, input } from '@angular/core';\n\n@Component({\n selector: 'cl-readonly-value',\n imports: [],\n templateUrl: './readonly-value.component.html',\n styleUrl: './readonly-value.component.scss',\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class ReadonlyValueComponent {\n readonly label = input<string>();\n readonly value = input<any>();\n}\n","<div>\n <strong>{{ label() }}</strong>\n <div>{{ value() }}</div>\n</div>\n","import { ChangeDetectionStrategy, Component, effect, inject } from '@angular/core';\nimport { ToastModule } from 'primeng/toast';\nimport { MessageService, ToastMessageOptions } from 'primeng/api';\n\nimport { ClStateService } from '../../services';\n\n@Component({\n selector: 'cl-toasts',\n imports: [\n ToastModule,\n ],\n templateUrl: './toasts.component.html',\n styleUrl: './toasts.component.scss',\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class ToastsComponent {\n private readonly clStateService = inject(ClStateService);\n private readonly messageService = inject(MessageService);\n\n constructor () {\n effect(() => {\n const message = this.clStateService.stateMessage();\n\n if (message?.type === 'toast') {\n const {detail, severity, summary} = message?.payload;\n\n this.add(detail, summary, severity, 'general');\n }\n });\n }\n\n private add(detail: string, summary: string, severity: string, key?: string): void {\n const message: ToastMessageOptions = { detail, severity, summary };\n\n if (key) {\n message.key = key;\n }\n\n setTimeout(() => {\n this.messageService.add(message);\n });\n }\n}\n","<p-toast key=\"general\" position=\"bottom-center\" />\n","import { Injectable, inject } from '@angular/core';\n\nimport { ClStateService } from '../../services';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class ToastsService {\n private readonly clStateService = inject(ClStateService);\n\n toastError(detail: string, summary = 'Error'): void {\n this.clStateService.updateStateMessage({\n payload: {\n detail,\n severity: 'error',\n summary\n },\n type: 'toast'\n });\n }\n\n toastSuccess(detail: string, summary = 'Success'): void {\n this.clStateService.updateStateMessage({\n payload: {\n detail,\n severity: 'success',\n summary\n },\n type: 'toast'\n });\n }\n\n toastWarning(detail: string, summary = 'Warning'): void {\n this.clStateService.updateStateMessage({\n payload: {\n detail,\n severity: 'warning',\n summary\n },\n type: 'toast'\n });\n }\n}\n","import { ChangeDetectionStrategy, Component, OnDestroy, signal } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { AbstractControl, ControlValueAccessor, FormArray, FormControl, FormGroup,\n ValidationErrors, Validator } from '@angular/forms';\nimport { Subscription } from 'rxjs';\n\n@Component({\n imports: [CommonModule],\n template: '',\n styles: '',\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class BaseFormComponent implements ControlValueAccessor, OnDestroy,\n Validator {\n readonly control = this.getForm();\n readonly disabled = signal(false);\n protected readonly subscription = new Subscription();\n\n ngOnDestroy(): void {\n this.subscription.unsubscribe();\n }\n\n // Control Value Accessor methods\n\n registerOnChange(fn: any): void {\n this.subscription.add(\n this.control.valueChanges.subscribe(fn)\n );\n }\n\n registerOnTouched(fn: any): void {\n this.onTouched = fn;\n }\n\n setDisabledState(isDisabled: boolean): void {\n if (isDisabled) {\n this.control.disable();\n } else {\n this.control.enable();\n }\n\n setTimeout(() => {\n this.disabled.set(isDisabled);\n });\n }\n\n writeValue(obj: any): void {\n if (obj) {\n this.setValue(obj);\n }\n }\n\n // Validator methods\n\n validate(control?: AbstractControl): ValidationErrors | null {\n if (this.control.invalid) {\n return { invalid: true };\n }\n\n return null;\n }\n\n // Custom protected methods\n\n protected getForm(): FormArray | FormControl | FormGroup {\n throw new Error('Not implemented.');\n }\n\n protected setValue(value: any): void {\n this.control.patchValue(value);\n\n this.onChanged(value);\n this.onTouched();\n }\n\n // Custom private methods\n\n private onChanged: any = (value: any) => {};\n\n private onTouched: any = () => {};\n\n // Getters and setters\n\n get formArray(): FormArray {\n return this.control as FormArray;\n }\n\n get formControl(): FormControl {\n return this.control as FormControl;\n }\n\n get formGroup(): FormGroup {\n return this.control as FormGroup;\n }\n}\n","import { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, ElementRef, input, output, signal,\n viewChild } from '@angular/core';\nimport { ControlValueAccessor, FormsModule, NG_VALUE_ACCESSOR }\nfrom '@angular/forms';\nimport { cloneDeep } from 'lodash-es';\nimport { ButtonModule } from 'primeng/button';\nimport { v4 } from 'uuid';\n\nimport { ButtonComponent } from '../../controls/button';\n\n@Component({\n selector: 'cl-file-input',\n imports: [\n ButtonComponent,\n ButtonModule,\n CommonModule,\n FormsModule\n ],\n templateUrl: './file-input.component.html',\n styleUrl: './file-input.component.scss',\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n {\n multi: true,\n provide: NG_VALUE_ACCESSOR,\n useExisting: FileInputComponent,\n }\n ]\n})\nexport class FileInputComponent implements ControlValueAccessor {\n readonly directory = input('');\n readonly icon = input('pi pi-plus');\n readonly label = input('Browse');\n readonly readonly = input(false);\n readonly onDownloadEmitter = output<FileInput[]>({alias: 'onDownload'});\n readonly fileInput = viewChild<ElementRef>('fileInput');\n\n readonly fileName = signal('');\n readonly isDisabled = signal(false);\n readonly isFileSelected = signal(false);\n readonly value = signal<FileInputValue>(null);\n\n // ControlValueAccessor interface methods\n\n registerOnChange(fn: any): void {\n this.onChange = fn;\n }\n\n registerOnTouched(fn: any): void {\n this.onTouched = fn;\n }\n\n setDisabledState(isDisabled: boolean): void {\n setTimeout(() => {\n this.isDisabled.set(isDisabled);\n });\n }\n\n writeValue(value: FileInput[] | string | null = null): void {\n let newValue: FileInput[] = [];\n\n if (Array.isArray(value)) {\n newValue = cloneDeep(value);\n\n this.selectFile(newValue[0]);\n } else if (typeof value === 'string') {\n const lastSlashPosition = value.lastIndexOf('/');\n const fileName = value.substring(lastSlashPosition + 1, value.length);\n const name = fileName.split('.');\n\n const file: FileInput = {\n isNew: !value,\n hash: name[1],\n name: fileName,\n path: this.directory(),\n toDelete: false\n };\n\n newValue.push(file);\n\n this.selectFile(file);\n }\n\n this.setValue(newValue);\n }\n\n // Custom public methods\n\n onClick(): void {\n this.fileInput()?.nativeElement.click();\n this.onTouched();\n }\n\n onFileSelected(event: Event): void {\n const file: File = (event.target as HTMLInputElement).files![0];\n const name = file.name.split('.');\n\n if (file) {\n const hash = v4().split('-')[0];\n const newFile: FileInput = {\n file,\n hash,\n isNew: true,\n name: `${encodeURIComponent(name[0])}.${hash}.${name[1]}`,\n path: this.directory(),\n toDelete: false\n };\n const newValue = [...this.value()!] as FileInput[];\n\n newValue.push(newFile);\n\n this.selectFile(newFile);\n this.setValue(newValue);\n }\n }\n\n onDelete(): void {\n const newValue = [...this.value()!];\n const file = this.getLastFile(newValue);\n\n if (file) {\n if (file.isNew) {\n newValue.pop();\n } else {\n file.toDelete = true;\n }\n\n this.fileName.set('');\n this.isFileSelected.set(false);\n this.setValue(newValue);\n }\n }\n\n onDownload(): void {\n this.onDownloadEmitter.emit(this.value() as FileInput[]);\n }\n\n // Custom private methods\n\n private getLastFile(value: FileInput[]): FileInput | undefined {\n return value[value.length - 1];\n }\n\n private onChange: any = (value: FileInputValue) => {};\n\n private onTouched: any = () => {};\n\n private selectFile(file: FileInput): void {\n this.fileName.set(getSafeFileName(file));\n this.isFileSelected.set(true);\n }\n\n private setValue(value: FileInputValue): void {\n this.value.set(value);\n\n this.onChange(value);\n this.onTouched();\n }\n}\n\nfunction getSafeFileName(file: FileInput): string {\n const name = file.name.split('.');\n\n return `${decodeURIComponent(name[0])}.${name[2]}`;\n}\n\nexport interface FileInput {\n file?: File;\n hash: string;\n isNew: boolean;\n name: string;\n path: string;\n toDelete: boolean;\n}\n\ntype FileInputValue = FileInput[] | null;\n","<input type=\"hidden\" [value]=\"value()\" />\n<input (change)=\"onFileSelected($event)\" class=\"file-input\" #fileInput type=\"file\" />\n\n@if (isFileSelected()) {\n @if (readonly()) {\n <button class=\"link-button\" (click)=\"onDownload()\" type=\"button\">\n {{ fileName() }}\n </button>\n } @else {\n <div class=\"flex\">\n <cl-button class=\"mr-3\" [label]=\"fileName()\" />\n <button class=\"p-button-danger p-button-rounded p-button-text\" (click)=\"onDelete()\" [disabled]=\"isDisabled()\"\n icon=\"pi pi-trash\" pButton type=\"button\">\n </button>\n </div>\n }\n} @else {\n <cl-button (click)=\"onClick()\" [disabled]=\"isDisabled()\" [icon]=\"icon()\" [label]=\"label()\" />\n}\n\n","import { ChangeDetectionStrategy, ChangeDetectorRef, Component, inject, input,\n output} from '@angular/core';\nimport { AbstractControl, FormArray, FormControl, FormsModule, NG_VALIDATORS,\n NG_VALUE_ACCESSOR, ReactiveFormsModule, ValidationErrors, Validators }\n from '@angular/forms';\nimport { ButtonModule } from 'primeng/button';\n\nimport { BaseFormComponent } from '../base-form';\nimport { FileInput, FileInputComponent } from '../file-input';\n\n@Component({\n selector: 'cl-file-inputs',\n imports: [\n ButtonModule,\n FileInputComponent,\n FormsModule,\n ReactiveFormsModule,\n ],\n templateUrl: './file-inputs.component.html',\n styleUrl: './file-inputs.component.scss',\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n {\n multi: true,\n provide: NG_VALIDATORS,\n useExisting: FileInputsComponent\n },\n {\n multi: true,\n provide: NG_VALUE_ACCESSOR,\n useExisting: FileInputsComponent\n }\n ]\n})\nexport class FileInputsComponent extends BaseFormComponent {\n private readonly cdRef = inject(ChangeDetectorRef);\n\n readonly directory = input('');\n readonly icon = input('pi pi-plus');\n readonly label = input('Browse');\n readonly max = input<number>(5);\n readonly readonly = input(false);\n readonly onDownloadEmitter = output<FileInput[]>({alias: 'onDownload'});\n\n onAdd(): void {\n this.formArray.push(\n new FormControl()\n );\n\n this.cdRef.markForCheck();\n }\n\n onDelete(index: number): void {\n this.formArray.removeAt(index);\n\n this.cdRef.markForCheck();\n }\n\n onDownload(file: FileInput[]): void {\n this.onDownloadEmitter.emit(file);\n }\n\n override setDisabledState(isDisabled: boolean): void {\n for (const control of this.formArray.controls) {\n if (isDisabled) {\n control.disable();\n } else {\n control.enable();\n }\n }\n }\n\n override validate(control?: AbstractControl): ValidationErrors | null {\n if (control?.hasValidator(Validators.required) && Array.isArray(control?.value)) {\n const first = control.value[0];\n\n if (!(\n typeof first === 'string' ||\n (Array.isArray(first) && first.some(({toDelete}) => toDelete === false))\n )) {\n return {\n required: true\n };\n }\n }\n\n return null;\n }\n\n override writeValue(value: FileInputsValue): void {\n if (Array.isArray(value)) {\n setTimeout(() => {\n if (value.length === 0) {\n this.onAdd();\n } else {\n for (let i = 0, j = value.length; i < j; i++) {\n this.onAdd();\n }\n\n this.setValue(value);\n }\n });\n } else if (!this.readonly()) {\n this.onAdd();\n }\n }\n\n protected override getForm(): FormArray<any> {\n return new FormArray<any>([]);\n }\n}\n\ntype FileInputsValue = FileInput[][] | null;\n","<ng-container [formGroup]=\"formGroup\">\n @for (item of formArray.value; track index; let index = $index) {\n <div class=\"flex mb-3\">\n <cl-file-input [formControlName]=\"index\" [directory]=\"directory()\" [icon]=\"icon()\" [label]=\"label()\"\n (onDownload)=\"onDownload($event)\" [readonly]=\"readonly()\" />\n @if (!readonly()) {\n @if (index === 0) {\n <button class=\"p-button-rounded p-button-text\" (click)=\"onAdd()\" [disabled]=\"formArray.length >= max()\"\n icon=\"pi pi-plus\" pButton type=\"button\">\n </button>\n } @else if (index > 0) {\n <button class=\"p-button-rounded p-button-text\" (click)=\"onDelete(index)\" icon=\"pi pi-minus\" pButton\n type=\"button\">\n </button>\n }\n }\n </div>\n }\n</ng-container>\n","import { Directive, InjectionToken } from '@angular/core';\n\nexport const ERROR_DIRECTIVE = new InjectionToken<ErrorDirective>('ErrorDirective');\n\n@Directive({\n selector: 'ff-error',\n standalone: true,\n providers: [\n { provide: ERROR_DIRECTIVE, useExisting: ErrorDirective }\n ]\n})\nexport class ErrorDirective {\n\n}\n","import { Component, InjectionToken, ViewEncapsulation, computed, contentChild }\n from '@angular/core';\nimport { FormControlName, Validators } from '@angular/forms';\n\nexport const FORM_FIELD = new InjectionToken<FormFieldComponent>('FormFieldComponent');\n\n@Component({\n selector: 'cl-form-field',\n imports: [],\n templateUrl: './form-field.component.html',\n styleUrl: './form-field.component.scss',\n // changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n providers: [\n { provide: FORM_FIELD, useExisting: FormFieldComponent }\n ]\n})\nexport class FormFieldComponent {\n readonly control = contentChild(FormControlName);\n\n readonly isRequired = computed(() =>\n this.control()?.control.hasValidator(Validators.required) ?? false\n );\n}\n","<div class=\"field\">\n <label class=\"block\" [class.required]=\"isRequired()\">\n <ng-content select=\"ff-label\" />\n </label>\n <div>\n <ng-content />\n </div>\n @if ((control()?.dirty || control()?.touched) && control()?.errors) {\n <small class=\"p-block p-error\">\n <ng-content select=\"ff-error\" />\n </small>\n }\n</div>\n","import { Directive, InjectionToken } from '@angular/core';\n\nexport const LABEL_DIRECTIVE = new InjectionToken<LabelDirective>('LabelDirective');\n\n@Directive({\n selector: 'ff-label',\n standalone: true,\n providers: [\n { provide: LABEL_DIRECTIVE, useExisting: LabelDirective }\n ]\n})\nexport class LabelDirective {\n\n}\n","import { NgModule } from '@angular/core';\n\nimport { ErrorDirective } from './error.directive';\nimport { FormFieldComponent } from './form-field.component';\nimport { LabelDirective } from './label.directive';\n\n@NgModule({\n exports: [\n ErrorDirective,\n FormFieldComponent,\n LabelDirective,\n ],\n imports: [\n ErrorDirective,\n FormFieldComponent,\n LabelDirective,\n ]\n})\nexport class FormFieldModule { }\n","export type ClState = {\n stateMessage: ClStateMessage | null;\n};\n\nexport interface ClStateMessage {\n key?: string;\n payload?: any;\n type: ClStateMessageType;\n};\n\nexport type ClStateMessageType = 'confirmation' | 'confirmation-accept' |\n 'confirmation-cancel' | 'content-dialog' | 'content-dialog-cancel' |\n 'content-dialog-close' | 'form-dialog' | 'form-dialog-cancel' |\n 'form-dialog-submit' | 'progess-bar-dialog-close' | 'progess-bar-dialog-open' |\n 'toast';\n","import { NgModule } from '@angular/core';\nimport { ConfirmationService, MessageService } from 'primeng/api';\nimport { DialogService, DynamicDialogConfig } from 'primeng/dynamicdialog';\n\n@NgModule({\n providers: [\n ConfirmationService,\n DialogService,\n DynamicDialogConfig,\n MessageService,\n ]\n})\nexport class CommonLibModule { }\n","import { concatWith, Observable, toArray } from 'rxjs';\n\nexport function concatWithToArray<T>(values: Observable<T>[]): Observable<T[]> {\n return values[0].pipe(\n concatWith(...values.slice(1)),\n toArray()\n );\n}\n","/*\n * Public API Surface of common-lib\n */\n\n// Controls\n\nexport * from './lib/controls/button';\nexport * from './lib/controls/confirmation';\nexport * from './lib/controls/content-dialog';\nexport * from './lib/controls/form-dialog';\nexport * from './lib/controls/icon-button';\nexport * from './lib/controls/progress-bar-dialog';\nexport * from './lib/controls/readonly-value';\nexport * from './lib/controls/toasts';\n\n// Forms\n\nexport * from './lib/forms/base-form';\nexport * from './lib/forms/file-input';\nexport * from './lib/forms/file-inputs';\nexport * from './lib/forms/form-field';\n\n// Models\n\nexport * from './lib/models';\n\n// Modules\n\nexport * from './lib/common-lib.module';\n\n// RXJS Operators\n\nexport * from './lib/rxjs-operators';\n\n// Services\n\nexport * from './lib/services'\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["PrimengButtonModule","PngConfirmationService","i1","i2","ConfirmationService"],"mappings":"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"}
|
package/index.d.ts
ADDED
|
Binary file
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import * as i0 from "@angular/core";
|
|
2
|
+
export declare class CommonLibModule {
|
|
3
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<CommonLibModule, never>;
|
|
4
|
+
static ɵmod: i0.ɵɵNgModuleDeclaration<CommonLibModule, never, never, never>;
|
|
5
|
+
static ɵinj: i0.ɵɵInjectorDeclaration<CommonLibModule>;
|
|
6
|
+
}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { ButtonColor } from './button.models';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
export declare class ButtonComponent {
|
|
4
|
+
readonly color: import("@angular/core").InputSignal<ButtonColor>;
|
|
5
|
+
readonly disabled: import("@angular/core").InputSignal<boolean>;
|
|
6
|
+
readonly icon: import("@angular/core").InputSignal<string | undefined>;
|
|
7
|
+
readonly label: import("@angular/core").InputSignal<string | undefined>;
|
|
8
|
+
readonly loading: import("@angular/core").InputSignal<boolean>;
|
|
9
|
+
readonly type: import("@angular/core").InputSignal<"button" | "submit">;
|
|
10
|
+
readonly buttonClass: import("@angular/core").WritableSignal<string>;
|
|
11
|
+
constructor();
|
|
12
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<ButtonComponent, never>;
|
|
13
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<ButtonComponent, "cl-button", never, { "color": { "alias": "color"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "icon": { "alias": "icon"; "required": false; "isSignal": true; }; "label": { "alias": "label"; "required": false; "isSignal": true; }; "loading": { "alias": "loading"; "required": false; "isSignal": true; }; "type": { "alias": "type"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
14
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export type ButtonColor = 'danger' | 'main' | 'primary' | 'secondary';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './button.component';
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import * as i0 from "@angular/core";
|
|
2
|
+
export declare class ConfirmationComponent {
|
|
3
|
+
private readonly env;
|
|
4
|
+
private readonly clStateService;
|
|
5
|
+
private readonly confirmationService;
|
|
6
|
+
readonly acceptLabel: import("@angular/core").WritableSignal<string>;
|
|
7
|
+
readonly cancelLabel: import("@angular/core").WritableSignal<string>;
|
|
8
|
+
constructor(env: any);
|
|
9
|
+
private openConfirmDialog;
|
|
10
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<ConfirmationComponent, never>;
|
|
11
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<ConfirmationComponent, "cl-confirmation", never, {}, {}, never, never, true, never>;
|
|
12
|
+
}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { Observable } from 'rxjs';
|
|
2
|
+
import { ConfirmationData } from './confirmation.models';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
export declare class ConfirmationService {
|
|
5
|
+
private readonly clStateService;
|
|
6
|
+
confirm({ data, header, key, message, type }: ConfirmationData): void;
|
|
7
|
+
onAccept(key: string): Observable<any>;
|
|
8
|
+
onCancel(key: string): Observable<null>;
|
|
9
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<ConfirmationService, never>;
|
|
10
|
+
static ɵprov: i0.ɵɵInjectableDeclaration<ConfirmationService>;
|
|
11
|
+
}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { OnInit } from '@angular/core';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
export declare class ContentDialogComponent implements OnInit {
|
|
4
|
+
private readonly env;
|
|
5
|
+
private readonly dialogConfig;
|
|
6
|
+
private readonly dialogRef;
|
|
7
|
+
readonly component: import("@angular/core").WritableSignal<any>;
|
|
8
|
+
readonly closeLabel: import("@angular/core").WritableSignal<string>;
|
|
9
|
+
readonly header: import("@angular/core").WritableSignal<string>;
|
|
10
|
+
constructor(env: any);
|
|
11
|
+
ngOnInit(): void;
|
|
12
|
+
onClose(): void;
|
|
13
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<ContentDialogComponent, never>;
|
|
14
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<ContentDialogComponent, "cl-content-dialog", never, {}, {}, never, never, true, never>;
|
|
15
|
+
}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { Observable } from 'rxjs';
|
|
2
|
+
import { ContentDialogData } from './content-dialog.models';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
export declare class ContentDialogService {
|
|
5
|
+
private readonly clStateService;
|
|
6
|
+
private readonly dialogService;
|
|
7
|
+
onCancel(key: string): Observable<{
|
|
8
|
+
key: string;
|
|
9
|
+
}>;
|
|
10
|
+
open(data: ContentDialogData): void;
|
|
11
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<ContentDialogService, never>;
|
|
12
|
+
static ɵprov: i0.ɵɵInjectableDeclaration<ContentDialogService>;
|
|
13
|
+
}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { OnInit } from '@angular/core';
|
|
2
|
+
import { UntypedFormGroup } from '@angular/forms';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
export declare class FormDialogComponent implements OnInit {
|
|
5
|
+
private readonly env;
|
|
6
|
+
private readonly cdRef;
|
|
7
|
+
private readonly dialogConfig;
|
|
8
|
+
private readonly dialogRef;
|
|
9
|
+
private readonly formContainer;
|
|
10
|
+
readonly cancelLabel: import("@angular/core").WritableSignal<string>;
|
|
11
|
+
readonly form: import("@angular/core").WritableSignal<UntypedFormGroup | null>;
|
|
12
|
+
readonly header: import("@angular/core").WritableSignal<string>;
|
|
13
|
+
readonly hideSubmitButton: import("@angular/core").WritableSignal<boolean>;
|
|
14
|
+
readonly submitLabel: import("@angular/core").WritableSignal<string>;
|
|
15
|
+
constructor(env: any);
|
|
16
|
+
ngOnInit(): void;
|
|
17
|
+
onCancel(): void;
|
|
18
|
+
onSubmit(): void;
|
|
19
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<FormDialogComponent, never>;
|
|
20
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<FormDialogComponent, "cl-form-dialog", never, {}, {}, never, never, true, never>;
|
|
21
|
+
}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
export interface FormDialogData {
|
|
2
|
+
component: any;
|
|
3
|
+
config?: FormDialogDataConfig;
|
|
4
|
+
header: string;
|
|
5
|
+
key: string;
|
|
6
|
+
styleClass?: string;
|
|
7
|
+
value?: any;
|
|
8
|
+
}
|
|
9
|
+
export interface FormDialogDataConfig {
|
|
10
|
+
cancelLabel?: string;
|
|
11
|
+
hideSubmitButton?: boolean;
|
|
12
|
+
submitLabel?: string;
|
|
13
|
+
}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { Observable } from 'rxjs';
|
|
2
|
+
import { FormDialogData } from './form-dialog.models';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
export declare class FormDialogService {
|
|
5
|
+
private readonly clStateService;
|
|
6
|
+
private readonly dialogService;
|
|
7
|
+
onCancel(key: string): Observable<null>;
|
|
8
|
+
onSubmit(key: string): Observable<any>;
|
|
9
|
+
open(data: FormDialogData): void;
|
|
10
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<FormDialogService, never>;
|
|
11
|
+
static ɵprov: i0.ɵɵInjectableDeclaration<FormDialogService>;
|
|
12
|
+
}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import * as i0 from "@angular/core";
|
|
2
|
+
export declare class IconButtonComponent {
|
|
3
|
+
readonly disabled: import("@angular/core").InputSignal<boolean>;
|
|
4
|
+
readonly icon: import("@angular/core").InputSignal<string>;
|
|
5
|
+
readonly loading: import("@angular/core").InputSignal<boolean>;
|
|
6
|
+
readonly severity: import("@angular/core").InputSignal<Severity>;
|
|
7
|
+
readonly type: import("@angular/core").InputSignal<"button" | "submit">;
|
|
8
|
+
readonly class: import("@angular/core").WritableSignal<string>;
|
|
9
|
+
constructor();
|
|
10
|
+
private updateClass;
|
|
11
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<IconButtonComponent, never>;
|
|
12
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<IconButtonComponent, "cl-icon-button", never, { "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "icon": { "alias": "icon"; "required": true; "isSignal": true; }; "loading": { "alias": "loading"; "required": false; "isSignal": true; }; "severity": { "alias": "severity"; "required": false; "isSignal": true; }; "type": { "alias": "type"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
13
|
+
}
|
|
14
|
+
type Severity = '' | 'danger' | 'help' | 'info' | 'secondary' | 'success' | 'warning';
|
|
15
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './icon-button.component';
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import * as i0 from "@angular/core";
|
|
2
|
+
export declare class ProgressBarDialogComponent {
|
|
3
|
+
private readonly cdRef;
|
|
4
|
+
private readonly clStateService;
|
|
5
|
+
visible: boolean;
|
|
6
|
+
constructor();
|
|
7
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<ProgressBarDialogComponent, never>;
|
|
8
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<ProgressBarDialogComponent, "cl-progress-bar-dialog", never, {}, {}, never, never, true, never>;
|
|
9
|
+
}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import * as i0 from "@angular/core";
|
|
2
|
+
export declare class ProgressBarDialogService {
|
|
3
|
+
private readonly clStateService;
|
|
4
|
+
close(): void;
|
|
5
|
+
open(): void;
|
|
6
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<ProgressBarDialogService, never>;
|
|
7
|
+
static ɵprov: i0.ɵɵInjectableDeclaration<ProgressBarDialogService>;
|
|
8
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './readonly-value.component';
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import * as i0 from "@angular/core";
|
|
2
|
+
export declare class ReadonlyValueComponent {
|
|
3
|
+
readonly label: import("@angular/core").InputSignal<string | undefined>;
|
|
4
|
+
readonly value: import("@angular/core").InputSignal<any>;
|
|
5
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<ReadonlyValueComponent, never>;
|
|
6
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<ReadonlyValueComponent, "cl-readonly-value", never, { "label": { "alias": "label"; "required": false; "isSignal": true; }; "value": { "alias": "value"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
7
|
+
}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import * as i0 from "@angular/core";
|
|
2
|
+
export declare class ToastsComponent {
|
|
3
|
+
private readonly clStateService;
|
|
4
|
+
private readonly messageService;
|
|
5
|
+
constructor();
|
|
6
|
+
private add;
|
|
7
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<ToastsComponent, never>;
|
|
8
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<ToastsComponent, "cl-toasts", never, {}, {}, never, never, true, never>;
|
|
9
|
+
}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import * as i0 from "@angular/core";
|
|
2
|
+
export declare class ToastsService {
|
|
3
|
+
private readonly clStateService;
|
|
4
|
+
toastError(detail: string, summary?: string): void;
|
|
5
|
+
toastSuccess(detail: string, summary?: string): void;
|
|
6
|
+
toastWarning(detail: string, summary?: string): void;
|
|
7
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<ToastsService, never>;
|
|
8
|
+
static ɵprov: i0.ɵɵInjectableDeclaration<ToastsService>;
|
|
9
|
+
}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { OnDestroy } from '@angular/core';
|
|
2
|
+
import { AbstractControl, ControlValueAccessor, FormArray, FormControl, FormGroup, ValidationErrors, Validator } from '@angular/forms';
|
|
3
|
+
import { Subscription } from 'rxjs';
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
export declare class BaseFormComponent implements ControlValueAccessor, OnDestroy, Validator {
|
|
6
|
+
readonly control: FormArray<any> | FormControl<any> | FormGroup<any>;
|
|
7
|
+
readonly disabled: import("@angular/core").WritableSignal<boolean>;
|
|
8
|
+
protected readonly subscription: Subscription;
|
|
9
|
+
ngOnDestroy(): void;
|
|
10
|
+
registerOnChange(fn: any): void;
|
|
11
|
+
registerOnTouched(fn: any): void;
|
|
12
|
+
setDisabledState(isDisabled: boolean): void;
|
|
13
|
+
writeValue(obj: any): void;
|
|
14
|
+
validate(control?: AbstractControl): ValidationErrors | null;
|
|
15
|
+
protected getForm(): FormArray | FormControl | FormGroup;
|
|
16
|
+
protected setValue(value: any): void;
|
|
17
|
+
private onChanged;
|
|
18
|
+
private onTouched;
|
|
19
|
+
get formArray(): FormArray;
|
|
20
|
+
get formControl(): FormControl;
|
|
21
|
+
get formGroup(): FormGroup;
|
|
22
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<BaseFormComponent, never>;
|
|
23
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<BaseFormComponent, "ng-component", never, {}, {}, never, never, true, never>;
|
|
24
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './base-form.component';
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
import { ElementRef } from '@angular/core';
|
|
2
|
+
import { ControlValueAccessor } from '@angular/forms';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
export declare class FileInputComponent implements ControlValueAccessor {
|
|
5
|
+
readonly directory: import("@angular/core").InputSignal<string>;
|
|
6
|
+
readonly icon: import("@angular/core").InputSignal<string>;
|
|
7
|
+
readonly label: import("@angular/core").InputSignal<string>;
|
|
8
|
+
readonly readonly: import("@angular/core").InputSignal<boolean>;
|
|
9
|
+
readonly onDownloadEmitter: import("@angular/core").OutputEmitterRef<FileInput[]>;
|
|
10
|
+
readonly fileInput: import("@angular/core").Signal<ElementRef<any> | undefined>;
|
|
11
|
+
readonly fileName: import("@angular/core").WritableSignal<string>;
|
|
12
|
+
readonly isDisabled: import("@angular/core").WritableSignal<boolean>;
|
|
13
|
+
readonly isFileSelected: import("@angular/core").WritableSignal<boolean>;
|
|
14
|
+
readonly value: import("@angular/core").WritableSignal<FileInputValue>;
|
|
15
|
+
registerOnChange(fn: any): void;
|
|
16
|
+
registerOnTouched(fn: any): void;
|
|
17
|
+
setDisabledState(isDisabled: boolean): void;
|
|
18
|
+
writeValue(value?: FileInput[] | string | null): void;
|
|
19
|
+
onClick(): void;
|
|
20
|
+
onFileSelected(event: Event): void;
|
|
21
|
+
onDelete(): void;
|
|
22
|
+
onDownload(): void;
|
|
23
|
+
private getLastFile;
|
|
24
|
+
private onChange;
|
|
25
|
+
private onTouched;
|
|
26
|
+
private selectFile;
|
|
27
|
+
private setValue;
|
|
28
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<FileInputComponent, never>;
|
|
29
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<FileInputComponent, "cl-file-input", never, { "directory": { "alias": "directory"; "required": false; "isSignal": true; }; "icon": { "alias": "icon"; "required": false; "isSignal": true; }; "label": { "alias": "label"; "required": false; "isSignal": true; }; "readonly": { "alias": "readonly"; "required": false; "isSignal": true; }; }, { "onDownloadEmitter": "onDownload"; }, never, never, true, never>;
|
|
30
|
+
}
|
|
31
|
+
export interface FileInput {
|
|
32
|
+
file?: File;
|
|
33
|
+
hash: string;
|
|
34
|
+
isNew: boolean;
|
|
35
|
+
name: string;
|
|
36
|
+
path: string;
|
|
37
|
+
toDelete: boolean;
|
|
38
|
+
}
|
|
39
|
+
type FileInputValue = FileInput[] | null;
|
|
40
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './file-input.component';
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { AbstractControl, FormArray, ValidationErrors } from '@angular/forms';
|
|
2
|
+
import { BaseFormComponent } from '../base-form';
|
|
3
|
+
import { FileInput } from '../file-input';
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
export declare class FileInputsComponent extends BaseFormComponent {
|
|
6
|
+
private readonly cdRef;
|
|
7
|
+
readonly directory: import("@angular/core").InputSignal<string>;
|
|
8
|
+
readonly icon: import("@angular/core").InputSignal<string>;
|
|
9
|
+
readonly label: import("@angular/core").InputSignal<string>;
|
|
10
|
+
readonly max: import("@angular/core").InputSignal<number>;
|
|
11
|
+
readonly readonly: import("@angular/core").InputSignal<boolean>;
|
|
12
|
+
readonly onDownloadEmitter: import("@angular/core").OutputEmitterRef<FileInput[]>;
|
|
13
|
+
onAdd(): void;
|
|
14
|
+
onDelete(index: number): void;
|
|
15
|
+
onDownload(file: FileInput[]): void;
|
|
16
|
+
setDisabledState(isDisabled: boolean): void;
|
|
17
|
+
validate(control?: AbstractControl): ValidationErrors | null;
|
|
18
|
+
writeValue(value: FileInputsValue): void;
|
|
19
|
+
protected getForm(): FormArray<any>;
|
|
20
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<FileInputsComponent, never>;
|
|
21
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<FileInputsComponent, "cl-file-inputs", never, { "directory": { "alias": "directory"; "required": false; "isSignal": true; }; "icon": { "alias": "icon"; "required": false; "isSignal": true; }; "label": { "alias": "label"; "required": false; "isSignal": true; }; "max": { "alias": "max"; "required": false; "isSignal": true; }; "readonly": { "alias": "readonly"; "required": false; "isSignal": true; }; }, { "onDownloadEmitter": "onDownload"; }, never, never, true, never>;
|
|
22
|
+
}
|
|
23
|
+
type FileInputsValue = FileInput[][] | null;
|
|
24
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './file-inputs.component';
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { InjectionToken } from '@angular/core';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
export declare const ERROR_DIRECTIVE: InjectionToken<ErrorDirective>;
|
|
4
|
+
export declare class ErrorDirective {
|
|
5
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<ErrorDirective, never>;
|
|
6
|
+
static ɵdir: i0.ɵɵDirectiveDeclaration<ErrorDirective, "ff-error", never, {}, {}, never, never, true, never>;
|
|
7
|
+
}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { InjectionToken } from '@angular/core';
|
|
2
|
+
import { FormControlName } from '@angular/forms';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
export declare const FORM_FIELD: InjectionToken<FormFieldComponent>;
|
|
5
|
+
export declare class FormFieldComponent {
|
|
6
|
+
readonly control: import("@angular/core").Signal<FormControlName | undefined>;
|
|
7
|
+
readonly isRequired: import("@angular/core").Signal<boolean>;
|
|
8
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<FormFieldComponent, never>;
|
|
9
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<FormFieldComponent, "cl-form-field", never, {}, {}, ["control"], ["ff-label", "*", "ff-error"], true, never>;
|
|
10
|
+
}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import * as i0 from "@angular/core";
|
|
2
|
+
import * as i1 from "./error.directive";
|
|
3
|
+
import * as i2 from "./form-field.component";
|
|
4
|
+
import * as i3 from "./label.directive";
|
|
5
|
+
export declare class FormFieldModule {
|
|
6
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<FormFieldModule, never>;
|
|
7
|
+
static ɵmod: i0.ɵɵNgModuleDeclaration<FormFieldModule, never, [typeof i1.ErrorDirective, typeof i2.FormFieldComponent, typeof i3.LabelDirective], [typeof i1.ErrorDirective, typeof i2.FormFieldComponent, typeof i3.LabelDirective]>;
|
|
8
|
+
static ɵinj: i0.ɵɵInjectorDeclaration<FormFieldModule>;
|
|
9
|
+
}
|