Skip to content

Instantly share code, notes, and snippets.

@shoxter
Last active June 16, 2017 16:38
Show Gist options
  • Save shoxter/3977d596bbf9dde55f9d3e18ca8f60be to your computer and use it in GitHub Desktop.
Save shoxter/3977d596bbf9dde55f9d3e18ca8f60be to your computer and use it in GitHub Desktop.
New Twiddle
import Ember from 'ember';
export default Ember.Controller.extend({
init() {
this.setProperties({
name: '',
company: '',
phoneNumber: '',
address: '',
city: '',
state: '',
zip: '',
hearAboutUs: null,
description: '',
});
},
appName: 'Contact Form',
actions: {
clear() {
this.setProperties({
name: '',
company: '',
phoneNumber: '',
address: '',
city: '',
state: '',
zip: '',
hearAboutUs: null,
description: '',
});
},
submitForm() {
this.set('successfulSubmit', true);
this.send('clear');
Ember.run.later(this, function() {
this.set('successfulSubmit', false)
}, 5000);
}
}
});
<h1>Welcome to {{appName}}</h1>
<br>
<br>
{{#if successfulSubmit}}
Form submitted successfully!
{{else}}
{{#paper-form onSubmit=(action 'submitForm') submit=null tagName='' as |form|}}
<div class="layout-row layout-align-center">
<div class="layout-column flex-50">
{{paper-input label="Name" value=name onChange=(action (mut name)) maxlength=50 required=true}}
{{paper-input label="Company" value=company onChange=(action (mut company)) maxlength=50}}
{{paper-input label="Phone" value=phoneNumber onChange=(action (mut phoneNumber)) minlength=10 maxlength=10 required=true}}
{{paper-input label="Address" value=address onChange=(action (mut address)) maxlength=50}}
<div class="layout-row">
{{paper-input class="flex-60" label="City" value=city onChange=(action (mut city)) maxlength=30 required=true}}
{{paper-input class="flex-15" label="State" value=state onChange=(action (mut state)) minlength=2 maxlength=2}}
{{paper-input class="flex-25" label="Zip" value=zip onChange=(action (mut zip)) minlength=5 maxlength=5}}
</div>
{{paper-input textarea=true label="Inquiry Summary" value=description onChange=(action (mut description)) minlength=50 maxlength=150 required=true passThru=(hash rows=4)}}
<div class="layout-row layout-align-center">
{{paper-button raised=true label="Clear" onClick=(action "clear")}}
{{paper-button raised=true primary=true label="Submit" onClick=form.onSubmit}}
</div>
</div>
</div>
{{/paper-form}}
{{/if}}
<br><br>
{
"version": "0.12.1",
"EmberENV": {
"FEATURES": {}
},
"options": {
"use_pods": false,
"enable-testing": false
},
"dependencies": {
"jquery": "https://cdnjs.cloudflare.com/ajax/libs/jquery/1.11.3/jquery.js",
"ember": "2.12.0",
"ember-template-compiler": "2.12.0",
"ember-testing": "2.12.0"
},
"addons": {
"ember-data": "2.12.1",
"ember-paper": "v1.0.0-alpha.19"
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment