Skip to content
This repository was archived by the owner on Jan 22, 2018. It is now read-only.

Commit 53371b1

Browse files
author
Kamil Kisiela
committed
feat(label): are now available for with more types
- chips - datepicker - radio - slider CLOSES: #9 , #166004660
1 parent 61a5424 commit 53371b1

File tree

7 files changed

+49
-8
lines changed

7 files changed

+49
-8
lines changed

CHANGELOG.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,10 @@ All notable changes to this project will be documented in this file. This projec
77
### Added
88

99
- (input) support for **ng-pattern** as **templateOptions.pattern** (#10)
10+
- (chips) has now **label** wrapper
11+
- (datepicker) has now **label** wrapper
12+
- (radio) has now **label** wrapper
13+
- (slider) has now **label** wrapper
1014

1115
## [0.12.0](https://github.com/formly-js/angular-formly-templates-material/compare/v0.11.0...v0.12.0) - 2015-12-30
1216

src/types/chips/chips.js

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@ export default (formlyConfigProvider) => {
44
formlyConfigProvider.setType({
55
template,
66
name: 'chips',
7+
wrapper: ['label'],
78
defaultOptions: {
89
defaultValue: [],
910
ngModelAttrs: {

src/types/datepicker/datepicker.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ export default (formlyConfigProvider) => {
44
formlyConfigProvider.setType({
55
template,
66
name: 'datepicker',
7-
wrapper: ['messages'],
7+
wrapper: ['label', 'messages'],
88
defaultOptions: {
99
ngModelAttrs: {
1010
placeholder: {

src/types/radio/radio.js

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@ export default (formlyConfigProvider) => {
44
formlyConfigProvider.setType({
55
template,
66
name: 'radio',
7+
wrapper: ['label'],
78
apiCheck: (check) => ({
89
templateOptions: {
910
options: check.arrayOf(check.object),

src/types/slider/slider.js

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@ export default (formlyConfigProvider) => {
44
formlyConfigProvider.setType({
55
template,
66
name: 'slider',
7+
wrapper: ['label'],
78
defaultOptions: {
89
ngModelAttrs: {
910
min: {

src/wrappers/label/label.html

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
<label for="{{id}}">
2-
{{to.label}}
1+
<label for="{{id}}" ng-style="['input', 'textarea', 'select'].indexOf(options.type) === -1 && {'font-size':'12px', 'color': 'rgb(117, 117, 117)'}">
2+
{{to.label}}
33
</label>
44
<formly-transclude></formly-transclude>

tests/wrappers/label-spec.js

Lines changed: 39 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -9,21 +9,22 @@ describe('formlyMaterial - label wrapper', () => {
99
let $scope;
1010
let element;
1111
let field;
12+
const color = 'rgb(117, 117, 117)';
1213

1314
//
1415
// helpers
1516
//
1617

17-
function compile() {
18+
function compile(options) {
1819
$scope = $rootScope.$new();
19-
$scope.fields = [{
20+
$scope.fields = [angular.merge({}, {
2021
key: 'testField',
2122
type: 'checkbox',
2223
wrapper: ['label'],
2324
templateOptions: {
2425
label: 'test field'
2526
}
26-
}];
27+
}, options)];
2728

2829
const form = $compile(testUtils.getFormTemplate())($scope);
2930

@@ -43,20 +44,53 @@ describe('formlyMaterial - label wrapper', () => {
4344
$compile = _$compile_;
4445
$rootScope = _$rootScope_;
4546
});
46-
47-
compile();
4847
});
4948

5049
it('should exist', () => {
50+
compile();
5151
expect(element.length).toBe(1);
5252
});
5353

5454
it('should have proper value', () => {
55+
compile();
5556
expect(element.html()).toContain(field.templateOptions.label);
5657
});
5758

5859
it('should be before the field', () => {
60+
compile();
5961
expect(element.find('md-checkbox').length).toBe(0);
6062
expect(element.next().children()[0].nodeName).toBe('MD-CHECKBOX');
6163
});
64+
65+
it('should have styles added', () => {
66+
compile();
67+
expect(element.css('color')).toBe(color);
68+
});
69+
70+
it('should not have styles added when used with input', () => {
71+
compile({
72+
type: 'input'
73+
});
74+
expect(element.css('color')).not.toBe(color);
75+
});
76+
77+
it('should not have styles added when used with select', () => {
78+
compile({
79+
type: 'select',
80+
templateOptions: {
81+
options: [{
82+
name: 'foo',
83+
value: 'bar'
84+
}]
85+
}
86+
});
87+
expect(element.css('color')).not.toBe(color);
88+
});
89+
90+
it('should not have styles added when used with textarea', () => {
91+
compile({
92+
type: 'textarea'
93+
});
94+
expect(element.css('color')).not.toBe(color);
95+
});
6296
});

0 commit comments

Comments
 (0)