UNPKG

@clr/angular

Version:

Angular components for Clarity

53 lines 6.42 kB
/* * Copyright (c) 2016-2023 VMware, Inc. All Rights Reserved. * This software is released under MIT license. * The full license information can be found in LICENSE in the root directory of this project. */ import { ContentChildren, Directive, HostListener, Input } from '@angular/core'; import { ClrLabel } from './label'; import { LayoutService } from './providers/layout.service'; import { MarkControlService } from './providers/mark-control.service'; import * as i0 from "@angular/core"; import * as i1 from "./providers/layout.service"; import * as i2 from "./providers/mark-control.service"; export class ClrForm { constructor(layoutService, markControlService) { this.layoutService = layoutService; this.markControlService = markControlService; } set labelSize(size) { const sizeNumber = parseInt(size, 10) || 2; this.layoutService.labelSize = sizeNumber; } onFormSubmit() { this.markAsTouched(); } // Trying to avoid adding an input and keep this backwards compatible at the same time markAsTouched() { this.markControlService.markAsTouched(); } } ClrForm.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.2", ngImport: i0, type: ClrForm, deps: [{ token: i1.LayoutService }, { token: i2.MarkControlService }], target: i0.ɵɵFactoryTarget.Directive }); ClrForm.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.2", type: ClrForm, selector: "[clrForm]", inputs: { labelSize: ["clrLabelSize", "labelSize"] }, host: { listeners: { "submit": "onFormSubmit()" }, properties: { "class.clr-form": "true", "class.clr-form-horizontal": "layoutService.isHorizontal()", "class.clr-form-compact": "layoutService.isCompact()" } }, providers: [LayoutService, MarkControlService], queries: [{ propertyName: "labels", predicate: ClrLabel, descendants: true }], ngImport: i0 }); i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.2", ngImport: i0, type: ClrForm, decorators: [{ type: Directive, args: [{ selector: '[clrForm]', providers: [LayoutService, MarkControlService], host: { '[class.clr-form]': 'true', '[class.clr-form-horizontal]': 'layoutService.isHorizontal()', '[class.clr-form-compact]': 'layoutService.isCompact()', }, }] }], ctorParameters: function () { return [{ type: i1.LayoutService }, { type: i2.MarkControlService }]; }, propDecorators: { labels: [{ type: ContentChildren, args: [ClrLabel, { descendants: true }] }], labelSize: [{ type: Input, args: ['clrLabelSize'] }], onFormSubmit: [{ type: HostListener, args: ['submit'] }] } }); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXIvc3JjL2Zvcm1zL2NvbW1vbi9mb3JtLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7O0dBSUc7QUFFSCxPQUFPLEVBQUUsZUFBZSxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFhLE1BQU0sZUFBZSxDQUFDO0FBRTNGLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxTQUFTLENBQUM7QUFDbkMsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQzNELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLGtDQUFrQyxDQUFDOzs7O0FBV3RFLE1BQU0sT0FBTyxPQUFPO0lBR2xCLFlBQW1CLGFBQTRCLEVBQVUsa0JBQXNDO1FBQTVFLGtCQUFhLEdBQWIsYUFBYSxDQUFlO1FBQVUsdUJBQWtCLEdBQWxCLGtCQUFrQixDQUFvQjtJQUFHLENBQUM7SUFFbkcsSUFDSSxTQUFTLENBQUMsSUFBcUI7UUFDakMsTUFBTSxVQUFVLEdBQUcsUUFBUSxDQUFDLElBQWMsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDckQsSUFBSSxDQUFDLGFBQWEsQ0FBQyxTQUFTLEdBQUcsVUFBVSxDQUFDO0lBQzVDLENBQUM7SUFHRCxZQUFZO1FBQ1YsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDO0lBQ3ZCLENBQUM7SUFFRCxzRkFBc0Y7SUFDdEYsYUFBYTtRQUNYLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxhQUFhLEVBQUUsQ0FBQztJQUMxQyxDQUFDOztvR0FuQlUsT0FBTzt3RkFBUCxPQUFPLDZTQVBQLENBQUMsYUFBYSxFQUFFLGtCQUFrQixDQUFDLGlEQVE3QixRQUFROzJGQURkLE9BQU87a0JBVG5CLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLFdBQVc7b0JBQ3JCLFNBQVMsRUFBRSxDQUFDLGFBQWEsRUFBRSxrQkFBa0IsQ0FBQztvQkFDOUMsSUFBSSxFQUFFO3dCQUNKLGtCQUFrQixFQUFFLE1BQU07d0JBQzFCLDZCQUE2QixFQUFFLDhCQUE4Qjt3QkFDN0QsMEJBQTBCLEVBQUUsMkJBQTJCO3FCQUN4RDtpQkFDRjtxSUFFbUQsTUFBTTtzQkFBdkQsZUFBZTt1QkFBQyxRQUFRLEVBQUUsRUFBRSxXQUFXLEVBQUUsSUFBSSxFQUFFO2dCQUs1QyxTQUFTO3NCQURaLEtBQUs7dUJBQUMsY0FBYztnQkFPckIsWUFBWTtzQkFEWCxZQUFZO3VCQUFDLFFBQVEiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogQ29weXJpZ2h0IChjKSAyMDE2LTIwMjMgVk13YXJlLCBJbmMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQuXG4gKiBUaGlzIHNvZnR3YXJlIGlzIHJlbGVhc2VkIHVuZGVyIE1JVCBsaWNlbnNlLlxuICogVGhlIGZ1bGwgbGljZW5zZSBpbmZvcm1hdGlvbiBjYW4gYmUgZm91bmQgaW4gTElDRU5TRSBpbiB0aGUgcm9vdCBkaXJlY3Rvcnkgb2YgdGhpcyBwcm9qZWN0LlxuICovXG5cbmltcG9ydCB7IENvbnRlbnRDaGlsZHJlbiwgRGlyZWN0aXZlLCBIb3N0TGlzdGVuZXIsIElucHV0LCBRdWVyeUxpc3QgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgQ2xyTGFiZWwgfSBmcm9tICcuL2xhYmVsJztcbmltcG9ydCB7IExheW91dFNlcnZpY2UgfSBmcm9tICcuL3Byb3ZpZGVycy9sYXlvdXQuc2VydmljZSc7XG5pbXBvcnQgeyBNYXJrQ29udHJvbFNlcnZpY2UgfSBmcm9tICcuL3Byb3ZpZGVycy9tYXJrLWNvbnRyb2wuc2VydmljZSc7XG5cbkBEaXJlY3RpdmUoe1xuICBzZWxlY3RvcjogJ1tjbHJGb3JtXScsXG4gIHByb3ZpZGVyczogW0xheW91dFNlcnZpY2UsIE1hcmtDb250cm9sU2VydmljZV0sXG4gIGhvc3Q6IHtcbiAgICAnW2NsYXNzLmNsci1mb3JtXSc6ICd0cnVlJyxcbiAgICAnW2NsYXNzLmNsci1mb3JtLWhvcml6b250YWxdJzogJ2xheW91dFNlcnZpY2UuaXNIb3Jpem9udGFsKCknLFxuICAgICdbY2xhc3MuY2xyLWZvcm0tY29tcGFjdF0nOiAnbGF5b3V0U2VydmljZS5pc0NvbXBhY3QoKScsXG4gIH0sXG59KVxuZXhwb3J0IGNsYXNzIENsckZvcm0ge1xuICBAQ29udGVudENoaWxkcmVuKENsckxhYmVsLCB7IGRlc2NlbmRhbnRzOiB0cnVlIH0pIGxhYmVsczogUXVlcnlMaXN0PENsckxhYmVsPjtcblxuICBjb25zdHJ1Y3RvcihwdWJsaWMgbGF5b3V0U2VydmljZTogTGF5b3V0U2VydmljZSwgcHJpdmF0ZSBtYXJrQ29udHJvbFNlcnZpY2U6IE1hcmtDb250cm9sU2VydmljZSkge31cblxuICBASW5wdXQoJ2NsckxhYmVsU2l6ZScpXG4gIHNldCBsYWJlbFNpemUoc2l6ZTogbnVtYmVyIHwgc3RyaW5nKSB7XG4gICAgY29uc3Qgc2l6ZU51bWJlciA9IHBhcnNlSW50KHNpemUgYXMgc3RyaW5nLCAxMCkgfHwgMjtcbiAgICB0aGlzLmxheW91dFNlcnZpY2UubGFiZWxTaXplID0gc2l6ZU51bWJlcjtcbiAgfVxuXG4gIEBIb3N0TGlzdGVuZXIoJ3N1Ym1pdCcpXG4gIG9uRm9ybVN1Ym1pdCgpIHtcbiAgICB0aGlzLm1hcmtBc1RvdWNoZWQoKTtcbiAgfVxuXG4gIC8vIFRyeWluZyB0byBhdm9pZCBhZGRpbmcgYW4gaW5wdXQgYW5kIGtlZXAgdGhpcyBiYWNrd2FyZHMgY29tcGF0aWJsZSBhdCB0aGUgc2FtZSB0aW1lXG4gIG1hcmtBc1RvdWNoZWQoKSB7XG4gICAgdGhpcy5tYXJrQ29udHJvbFNlcnZpY2UubWFya0FzVG91Y2hlZCgpO1xuICB9XG59XG4iXX0=