@clr/angular
Version:
Angular components for Clarity
53 lines • 6.42 kB
JavaScript
/*
* 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=