Skip to content

Commit f656fbb

Browse files
Make one-way-ssn-mask component (#55)
1 parent 948ba31 commit f656fbb

File tree

6 files changed

+44
-2
lines changed

6 files changed

+44
-2
lines changed

README.md

+1
Original file line numberDiff line numberDiff line change
@@ -69,6 +69,7 @@ This component has the same interface as it's [ember-one-way-controls counterpar
6969
* [{{one-way-email-mask}}](docs/one-way-email-mask.md)
7070
* [{{one-way-number-mask}}](docs/one-way-number-mask.md)
7171
* [{{one-way-phone-mask}}](docs/one-way-phone-mask.md)
72+
* [{{one-way-ssn-mask}}](docs/one-way-ssn-mask.md)
7273

7374
## Input Mask Component (deprecated)
7475

addon/components/one-way-ssn-mask.js

+12
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
import OneWayInputMask from 'ember-inputmask/components/one-way-input-mask';
2+
3+
/**
4+
* `{{one-way-ssn-mask}}` component
5+
* Displays an input that masks SSN format
6+
*/
7+
export default OneWayInputMask.extend({
8+
/**
9+
* @override
10+
*/
11+
mask: '999-99-9999',
12+
});

app/components/one-way-ssn-mask.js

+1
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
export { default } from 'ember-inputmask/components/one-way-ssn-mask';

docs/one-way-ssn-mask.md

+8
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
One Way SSN Mask
2+
================
3+
4+
```
5+
{{one-way-ssn-mask value update=(action (mut value))}}
6+
```
7+
8+
This component defaults to masking Social Security numbers.

tests/dummy/app/templates/application.hbs

+2-2
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@
1313

1414
<fieldset>
1515
<legend>SSN input:</legend>
16-
{{ssn-input value=ssnValue pattern='^\d{3}-\d{2}-\d{4}$'}}
16+
{{one-way-ssn-mask value=ssnValue pattern='^\d{3}-\d{2}-\d{4}$'}}
1717
</fieldset>
1818

1919
<fieldset>
@@ -28,7 +28,7 @@
2828

2929
<fieldset>
3030
<legend>Email input:</legend>
31-
{{email-input value=testValue}}
31+
{{one-way-email-mask value=testValue}}
3232
</fieldset>
3333

3434
<fieldset>
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
import { moduleForComponent, test } from 'ember-qunit';
2+
import hbs from 'htmlbars-inline-precompile';
3+
import { fillIn, find } from 'ember-native-dom-helpers';
4+
5+
moduleForComponent('one-way-ssn-mask', 'Integration | Component | one way ssn mask', {
6+
integration: true,
7+
8+
beforeEach() {
9+
this.set('update', unmaskedValue => {
10+
this.set('unmaskedValue', unmaskedValue);
11+
});
12+
},
13+
});
14+
15+
test('filled-in value', async function(assert) {
16+
this.render(hbs`{{one-way-ssn-mask value=unmaskedValue update=update}}`);
17+
await fillIn('input', '123456789');
18+
assert.equal(find('input').value, '123-45-6789');
19+
assert.equal(this.unmaskedValue, 123456789);
20+
});

0 commit comments

Comments
 (0)