{"version":3,"file":"acknow-srl-ack6-lib-settings-import.mjs","sources":["../../../projects/ack6-lib/settings-import/components/settings-import-form/settings-import-form.component.ts","../../../projects/ack6-lib/settings-import/components/settings-import-form/settings-import-form.component.html","../../../projects/ack6-lib/settings-import/injection/injection.token.ts","../../../projects/ack6-lib/settings-import/settings-import.module.ts","../../../projects/ack6-lib/settings-import/services/settings-import.service.ts","../../../projects/ack6-lib/settings-import/acknow-srl-ack6-lib-settings-import.ts"],"sourcesContent":["import { Component, OnInit, AfterViewChecked, Input, Output, EventEmitter, ChangeDetectorRef } from '@angular/core';\nimport { FormBuilder, FormControl, FormGroup, Validators } from '@angular/forms';\nimport { takeWhile } from 'rxjs/operators';\nimport { each, sortBy } from 'lodash';\nimport { SettingsImportService } from '../../services/settings-import.service';\n\n@Component({\n  selector: 'ack6-settings-import-form',\n  templateUrl: './settings-import-form.component.html',\n  styleUrls: ['./settings-import-form.component.scss']\n})\nexport class SettingsImportFormComponent implements OnInit, AfterViewChecked {\n\n  @Input() public formFields: any[];\n\n  public form: FormGroup;\n\n  @Output() public formChange: EventEmitter<FormGroup>;\n\n  private isDestroying: boolean;\n\n  constructor(\n    private fb: FormBuilder,\n    private cdr: ChangeDetectorRef\n  ) {\n    this.formFields = [];\n    this.formChange = new EventEmitter<FormGroup>();\n    this.isDestroying = false;\n  }\n\n  sortOptions = (options: Array<{value: string, label: string}>, prop: 'label' | 'value' = 'label'): Array<{value: string, label: string}> => sortBy(options, [prop]);\n\n  ngOnInit(): void {\n\n    this.form = this.fb.group({});\n\n    if (this.formFields) each(this.formFields, (field: any) => this.form.addControl(field.key, new FormControl(field.value || null, (field.required)? [Validators.required] : [])));\n\n    this.form.valueChanges.pipe(\n      takeWhile(() => !this.isDestroying)\n    ).subscribe((value: any) => this.formChange.emit(this.form));\n\n    this.formChange.emit(this.form);\n\n  }\n\n  ngAfterViewChecked(): void {\n    this.cdr.detectChanges();\n  }\n\n  ngOnDestroy(): void {\n    this.isDestroying = true;\n  }\n\n}\n","<form method=\"post\" novalidate autocomplete=\"off\" autocapitalize=\"off\" spellcheck=\"false\" [formGroup]=\"form\">\n\n <ng-container *ngIf=\"formFields && formFields.length\">\n\n  <ng-container *ngFor=\"let f of formFields\">\n\n    <ng-container [ngSwitch]=\"f.controlType\">\n\n      <div class=\"field grid mb-2\" *ngSwitchCase=\"'text'\">\n        <label for=\"{{f.id}}\" class=\"col-12 md:col-4 md:justify-content-end\" [ngClass]=\"(f.required)? 'asterisk-if-mandatory' : ''\">{{f.label}}:</label>\n        <div class=\"col-12 md:col-5\">\n          <input type=\"text\" id=\"{{f.id}}\" [size]=\"f.size\" [maxlength]=\"f.maxlength\" pInputText [formControlName]=\"f.key\" [attr.required]=\"f.required\" />\n        </div>\n      </div>\n\n      <div class=\"field grid mb-2\" *ngSwitchCase=\"'textarea'\">\n        <label for=\"{{f.id}}\" class=\"col-12 md:col-4 md:justify-content-end\" [ngClass]=\"(f.required)? 'asterisk-if-mandatory' : ''\">{{f.label}}:</label>\n        <div class=\"col-12 md:col-5\">\n          <textarea id=\"{{f.id}}\" [rows]=\"f.rows\" [cols]=\"f.cols\" pInputTextarea [autoResize]=\"f.autoresize\" [attr.required]=\"f.required\"></textarea>\n        </div>\n      </div>\n\n      <div class=\"field grid mb-2\" *ngSwitchCase=\"'dropdown'\">\n        <label for=\"{{f.id}}\" class=\"col-12 md:col-4 md:justify-content-end\" [ngClass]=\"(f.required)? 'asterisk-if-mandatory' : ''\">{{f.label}}:</label>\n        <div class=\"col-12 md:col-5\">\n          <p-dropdown [inputId]=\"f.id\" [options]=\"sortOptions(f.options)\" optionValue=\"value\" optionLabel=\"label\" appendTo=\"body\" [formControlName]=\"f.key\" [required]=\"f.required\"></p-dropdown>\n        </div>\n      </div>\n\n      <div class=\"field grid mb-2\" *ngSwitchCase=\"'multi-dropdown'\">\n        <label for=\"{{f.id}}\" class=\"col-12 md:col-4 md:justify-content-end\" [ngClass]=\"(f.required)? 'asterisk-if-mandatory' : ''\">{{f.label}}:</label>\n        <div class=\"col-12 md:col-5\">\n          <p-multiSelect [inputId]=\"f.id\" [options]=\"sortOptions(f.options)\" optionValue=\"value\" optionLabel=\"label\" appendTo=\"body\" [style]=\"{'max-width': '240px'}\" [formControlName]=\"f.key\" [required]=\"f.required\"></p-multiSelect>\n        </div>\n      </div>\n\n    </ng-container>\n\n  </ng-container>\n\n</ng-container>\n\n</form>\n","import { InjectionToken } from '@angular/core';\n\nexport const API_PREFIX = new InjectionToken<string>('api_prefix');\n","import { ModuleWithProviders, NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { ReactiveFormsModule } from '@angular/forms';\nimport { SettingsImportFormComponent } from './components/settings-import-form/settings-import-form.component';\nimport { API_PREFIX } from './injection/injection.token';\nimport { InputTextModule } from 'primeng/inputtext';\nimport { InputTextareaModule } from 'primeng/inputtextarea';\nimport { DropdownModule } from 'primeng/dropdown';\nimport { MultiSelectModule } from 'primeng/multiselect';\n\n@NgModule({\n  declarations: [\n    SettingsImportFormComponent\n  ],\n  imports: [\n    CommonModule,\n    ReactiveFormsModule,\n    InputTextModule,\n    InputTextareaModule,\n    DropdownModule,\n    MultiSelectModule\n  ],\n  exports: [\n    SettingsImportFormComponent\n  ]\n})\nexport class SettingsImportModule {\n  static forRoot(api_prefix: string): ModuleWithProviders<SettingsImportModule> {\n    return {\n      ngModule: SettingsImportModule,\n      providers: [{ provide: API_PREFIX, useValue: api_prefix }]\n    };\n  }\n}\n","import { HttpClient } from '@angular/common/http';\nimport { Injectable, Inject } from '@angular/core';\nimport { API_PREFIX } from '../injection/injection.token';\n\n@Injectable({\n  providedIn: 'root'\n})\nexport class SettingsImportService {\n\n  constructor(\n    private http: HttpClient,\n    @Inject(API_PREFIX) private api_prefix: string\n  ) {\n    if (!api_prefix) console.warn('ATTENTION: no api_prefix found, please set on module.forRoot');\n  }\n\n  get = () => this.http.get<any>(`${this.api_prefix}/settings-import`)\n\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}