Skip to content

Commit 5e9f16a

Browse files
committed
fix(forms): remove nglForm prefix from input attributes
BREAKING CHANGE: renamed `nglForm*` attributes to just `*` Before: ```html <... [nglFormLabel]="..."></...> <... [nglFormError]="..."></...> <... [nglFormRequired]="..."></...> ``` After: ```html <... [label]="..."></...> <... [error]="..."></...> <... [required]="..."></...> ``` Closes #217
1 parent 2c599fa commit 5e9f16a

File tree

13 files changed

+77
-52
lines changed

13 files changed

+77
-52
lines changed

demo/components/demo/components/forms/API.md

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
# `<ngl-form-element>`
22

33
### Input
4-
* `nglFormLabel?: string | TemplateRef`: Input label.
5-
* `nglFormError?: string`: Error message.
4+
* `label?: string | TemplateRef`: Input label.
5+
* `error?: string`: Error message.
66

77
### Content
88

@@ -13,9 +13,9 @@
1313
# `<fieldset[ngl-form-group], fieldset[ngl-form-group-alt]>`
1414

1515
### Input
16-
* `nglFormLabel?: string`: Group label.
17-
* `nglFormError?: string`: Error message.
18-
* `nglFormRequired?: boolean = false`: Wheter it is required.
16+
* `label?: string`: Group label.
17+
* `error?: string`: Error message.
18+
* `required?: boolean = false`: Wheter it is required.
1919

2020
### Content
2121

Lines changed: 15 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -1,46 +1,46 @@
1-
<ngl-form-element nglFormLabel="Required" style="display: inline-block;">
1+
<ngl-form-element label="Required" style="display: inline-block;">
22
<input type="checkbox" [(ngModel)]="required" />
33
</ngl-form-element>
4-
<ngl-form-element nglFormLabel="Error" style="display: inline-block;">
4+
<ngl-form-element label="Error" style="display: inline-block;">
55
<input type="checkbox" [(ngModel)]="hasError" />
66
</ngl-form-element>
77

8-
<ngl-form-element nglFormLabel="Input Label" [nglFormError]="hasError ? error : null" class="slds-m-top--small">
8+
<ngl-form-element label="Input Label" [error]="hasError ? error : null" class="slds-m-top--small">
99
<input type="text" placeholder="My input" [required]="required">
1010
</ngl-form-element>
1111

12-
<ngl-form-element [nglFormError]="hasError ? error : null" class="slds-m-top--small">
12+
<ngl-form-element [error]="hasError ? error : null" class="slds-m-top--small">
1313
<template nglFormLabel><i>Textarea Label</i> <span *ngIf="required">(<b>required</b>!)</span></template>
1414
<textarea placeholder="Placeholder Text" [required]="required"></textarea>
1515
</ngl-form-element>
1616

17-
<ngl-form-element nglFormLabel="Select Label" [nglFormError]="hasError ? error : null" class="slds-m-top--small">
17+
<ngl-form-element label="Select Label" [error]="hasError ? error : null" class="slds-m-top--small">
1818
<select class="slds-select" [required]="required">
1919
<option>Option One</option>
2020
<option>Option Two</option>
2121
<option>Option Three</option>
2222
</select>
2323
</ngl-form-element>
2424

25-
<ngl-form-element nglFormLabel="Checkbox Label" [nglFormError]="hasError ? error : null" class="slds-m-top--small">
25+
<ngl-form-element label="Checkbox Label" [error]="hasError ? error : null" class="slds-m-top--small">
2626
<input type="checkbox" [required]="required" />
2727
</ngl-form-element>
2828

29-
<fieldset ngl-form-group nglFormLabel="Radio Group Label" [nglFormRequired]="required" [nglFormError]="hasError ? error : null" class="slds-m-top--small">
30-
<label ngl-form-group-element nglFormLabel="Radio Label One"><input type="radio" /></label>
31-
<label ngl-form-group-element nglFormLabel="Radio Label Two"><input type="radio" /></label>
29+
<fieldset ngl-form-group label="Radio Group Label" [required]="required" [error]="hasError ? error : null" class="slds-m-top--small">
30+
<label ngl-form-group-element label="Radio Label One"><input type="radio" /></label>
31+
<label ngl-form-group-element label="Radio Label Two"><input type="radio" /></label>
3232
</fieldset>
3333

34-
<fieldset ngl-form-group-alt [nglFormRequired]="required" [nglFormError]="hasError ? error : null" class="slds-m-top--small">
34+
<fieldset ngl-form-group-alt [required]="required" [error]="hasError ? error : null" class="slds-m-top--small">
3535
<template nglFormLabel><i>Alternate Radio Group</i></template>
3636
<label ngl-form-group-element *ngFor="let day of days"><template nglFormLabel>{{day}}</template><input type="radio" /></label>
3737
</fieldset>
3838

39-
<fieldset ngl-form-group nglFormLabel="Checkbox Group Label" [nglFormRequired]="required" [nglFormError]="hasError ? error : null" class="slds-m-top--small">
40-
<label ngl-form-group-element nglFormLabel="Checkbox Label One"><input type="checkbox" /></label>
41-
<label ngl-form-group-element nglFormLabel="Checkbox Label Two"><input type="checkbox" /></label>
39+
<fieldset ngl-form-group label="Checkbox Group Label" [required]="required" [error]="hasError ? error : null" class="slds-m-top--small">
40+
<label ngl-form-group-element label="Checkbox Label One"><input type="checkbox" /></label>
41+
<label ngl-form-group-element label="Checkbox Label Two"><input type="checkbox" /></label>
4242
</fieldset>
4343

44-
<fieldset ngl-form-group-alt nglFormLabel="Alternate Checkbox Group" [nglFormRequired]="required" [nglFormError]="hasError ? error : null" class="slds-m-top--small">
45-
<label ngl-form-group-element *ngFor="let day of days" [nglFormLabel]="day"><input type="checkbox" /></label>
44+
<fieldset ngl-form-group-alt label="Alternate Checkbox Group" [required]="required" [error]="hasError ? error : null" class="slds-m-top--small">
45+
<label ngl-form-group-element *ngFor="let day of days" [label]="day"><input type="checkbox" /></label>
4646
</fieldset>

demo/components/demo/components/modals/modals.html

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -13,12 +13,12 @@
1313
</template>
1414
</ngl-modal>
1515

16-
<ngl-form-element nglFormLabel="Empty header" class="slds-m-top--small">
16+
<ngl-form-element label="Empty header" class="slds-m-top--small">
1717
<input type="checkbox" [(ngModel)]="noHeader" />
1818
</ngl-form-element>
19-
<ngl-form-element nglFormLabel="Empty footer" class="slds-m-top--small">
19+
<ngl-form-element label="Empty footer" class="slds-m-top--small">
2020
<input type="checkbox" [(ngModel)]="noFooter" />
2121
</ngl-form-element>
22-
<ngl-form-element nglFormLabel="Directional footer" class="slds-m-top--small">
22+
<ngl-form-element label="Directional footer" class="slds-m-top--small">
2323
<input type="checkbox" [(ngModel)]="directional" [disabled]="noFooter" />
2424
</ngl-form-element>

src/forms/elements/checkbox.spec.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,7 @@ describe('`NglFormCheckbox`', () => {
4141

4242
@Component({
4343
template: `
44-
<ngl-form-element [nglFormLabel]="label">
44+
<ngl-form-element [label]="label">
4545
<input type="checkbox" />
4646
</ngl-form-element>
4747
`,

src/forms/elements/element.ts

Lines changed: 12 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -15,10 +15,10 @@ import {NglFormLabelTemplate, getFormLabel} from '../form-label';
1515
export class NglFormElement {
1616
@ContentChild(NglFormInput) contentEl: NglFormInput;
1717

18-
@Input('nglFormLabel') label: string;
18+
@Input('label') labelStr: string;
1919
@ContentChild(NglFormLabelTemplate) labelTpl: NglFormLabelTemplate;
2020

21-
@Input('nglFormError') set setError(error: string) {
21+
@Input('error') set setError(error: string) {
2222
this.error = error;
2323
if (this.contentEl) {
2424
this.setInputErrorId();
@@ -31,22 +31,29 @@ export class NglFormElement {
3131

3232
required = false;
3333

34-
get _label(): TemplateRef<any> | string {
35-
return getFormLabel(this.label, this.labelTpl);
36-
}
34+
_label: TemplateRef<any> | string;
3735

3836
get isCheckbox() {
3937
return this.contentEl instanceof NglFormCheckbox;
4038
}
4139

4240
constructor(public detector: ChangeDetectorRef) {}
4341

42+
ngOnChanges() {
43+
this.setFormLabel();
44+
}
45+
4446
ngAfterContentInit() {
4547
this.contentEl.setup(this.uid);
4648
this.setInputErrorId();
49+
this.setFormLabel();
4750
}
4851

4952
private setInputErrorId() {
5053
this.contentEl.describedBy = this.error ? `error_${this.uid}` : null;
5154
}
55+
56+
private setFormLabel() {
57+
this._label = getFormLabel(this.labelStr, this.labelTpl);
58+
}
5259
};

src/forms/elements/input.spec.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -52,7 +52,7 @@ describe('`NglFormInput`', () => {
5252
});
5353

5454
it('should render error message', () => {
55-
const fixture = createTestComponent(`<ngl-form-element [nglFormError]="error"><input type="text"></ngl-form-element>`);
55+
const fixture = createTestComponent(`<ngl-form-element [error]="error"><input type="text"></ngl-form-element>`);
5656
const element = fixture.nativeElement.firstElementChild;
5757

5858
expect(element).not.toHaveCssClass('slds-has-error');
@@ -77,7 +77,7 @@ describe('`NglFormInput`', () => {
7777

7878
@Component({
7979
template: `
80-
<ngl-form-element [nglFormLabel]="label">
80+
<ngl-form-element [label]="label">
8181
<input type="text">
8282
</ngl-form-element>
8383
`,

src/forms/elements/select.spec.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -55,7 +55,7 @@ describe('`NglFormSelect`', () => {
5555

5656
@Component({
5757
template: `
58-
<ngl-form-element [nglFormLabel]="label">
58+
<ngl-form-element [label]="label">
5959
<select></select>
6060
</ngl-form-element>
6161
`,

src/forms/elements/textarea.spec.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -55,7 +55,7 @@ describe('`NglFormTextarea`', () => {
5555

5656
@Component({
5757
template: `
58-
<ngl-form-element [nglFormLabel]="label">
58+
<ngl-form-element [label]="label">
5959
<textarea></textarea>
6060
</ngl-form-element>
6161
`,

src/forms/groups/element.spec.ts

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -20,8 +20,8 @@ describe('`NglFormGroupElement`', () => {
2020

2121
it('should render checkbox group correctly', () => {
2222
const fixture = createTestComponent(`<fieldset ngl-form-group>
23-
<label ngl-form-group-element [nglFormLabel]="label"><input type="checkbox" /></label>
24-
<label ngl-form-group-element nglFormLabel="Checkbox Label Two"><input type="checkbox" /></label>
23+
<label ngl-form-group-element [label]="label"><input type="checkbox" /></label>
24+
<label ngl-form-group-element label="Checkbox Label Two"><input type="checkbox" /></label>
2525
</fieldset>`);
2626
const labelEls = getLabelElements(fixture.nativeElement);
2727
expect(labelEls.map(e => e.textContent.trim())).toEqual(['Label One', 'Checkbox Label Two']);
@@ -37,8 +37,8 @@ describe('`NglFormGroupElement`', () => {
3737
it('should render radio group correctly', () => {
3838
const fixture = createTestComponent(`
3939
<fieldset ngl-form-group>
40-
<label ngl-form-group-element [nglFormLabel]="label"><input type="radio" /></label>
41-
<label ngl-form-group-element nglFormLabel="Radio Label Two"><input type="radio" /></label>
40+
<label ngl-form-group-element [label]="label"><input type="radio" /></label>
41+
<label ngl-form-group-element label="Radio Label Two"><input type="radio" /></label>
4242
</fieldset>`);
4343
const labelEls = getLabelElements(fixture.nativeElement);
4444
expect(labelEls.map(e => e.textContent.trim())).toEqual(['Label One', 'Radio Label Two']);

src/forms/groups/element.ts

Lines changed: 12 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -11,15 +11,17 @@ import {NglFormLabelTemplate, getFormLabel} from '../form-label';
1111
export class NglFormGroupElement {
1212
@ContentChild(NglFormGroupCheckbox) contentEl: NglFormGroupCheckbox;
1313

14-
@Input('nglFormLabel') label: string;
14+
@Input('label') labelStr: string;
1515
@ContentChild(NglFormLabelTemplate) labelTpl: NglFormLabelTemplate;
1616

17-
get _label(): TemplateRef<any> | string {
18-
return getFormLabel(this.label, this.labelTpl);
19-
}
17+
_label: TemplateRef<any> | string;
2018

2119
constructor(@Optional() private groupAlt: NglFormGroupAlternate, private element: ElementRef, private renderer: Renderer) {}
2220

21+
ngOnChanges() {
22+
this.setFormLabel();
23+
}
24+
2325
ngAfterContentInit() {
2426
const { type } = this.contentEl;
2527

@@ -30,5 +32,11 @@ export class NglFormGroupElement {
3032
} else {
3133
this.renderer.setElementClass(this.element.nativeElement, `slds-${type}`, true);
3234
}
35+
36+
this.setFormLabel();
37+
}
38+
39+
private setFormLabel() {
40+
this._label = getFormLabel(this.labelStr, this.labelTpl);
3341
}
3442
};

0 commit comments

Comments
 (0)