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

Commit 7b8dc21

Browse files
author
Kamil Kisiela
committed
refactor(textarea): move grow to textarea def
use new ngModelAttrsTransformer instead of template manipulator
1 parent 71737da commit 7b8dc21

File tree

6 files changed

+29
-84
lines changed

6 files changed

+29
-84
lines changed

src/runs/grow.js

Lines changed: 0 additions & 22 deletions
This file was deleted.

src/runs/index.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
11
import theme from './theme';
2-
import grow from './grow';
2+
// import grow from './grow';
33

4-
export default [theme, grow];
4+
export default [theme];

src/types/textarea/textarea.js

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
import template from './textarea.html';
2+
import { ngModelAttrsTransformer } from './../../helpers';
23

34
export default (formlyConfigProvider) => {
45
formlyConfigProvider.setType({
@@ -26,4 +27,17 @@ export default (formlyConfigProvider) => {
2627
}
2728
})
2829
});
30+
31+
if (!angular.isArray(formlyConfigProvider.extras.fieldTransform)) {
32+
formlyConfigProvider.extras.fieldTransform = [];
33+
}
34+
35+
formlyConfigProvider.extras.fieldTransform.push((fields) => {
36+
return ngModelAttrsTransformer(fields, (field) => (
37+
field.type === 'textarea' &&
38+
field.templateOptions.grow === false
39+
), 'grow', {
40+
attribute: 'md-no-autogrow'
41+
});
42+
});
2943
};

tests/runs/grow-spec.js

Lines changed: 0 additions & 59 deletions
This file was deleted.

tests/runs/index.js

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,2 +1 @@
11
import './theme-spec';
2-
import './grow-spec';

tests/types/textarea-spec.js

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -64,6 +64,19 @@ describe('formlyMaterial - textarea type', () => {
6464
expect(label.html()).toContain(field.templateOptions.label);
6565
});
6666

67+
it('should not auto grow', function() {
68+
expect(element.attr('md-no-autogrow')).toBeUndefined();
69+
});
70+
71+
it('should be able to disable autogrowing', function() {
72+
compile({
73+
templateOptions: {
74+
grow: false
75+
}
76+
});
77+
expect(element.attr('md-no-autogrow')).toBeDefined();
78+
});
79+
6780
it('should have inputContainer wrapper', () => {
6881
expect(form.find('md-input-container').length).toBe(1);
6982
});

0 commit comments

Comments
 (0)