Skip to content

Instantly share code, notes, and snippets.

@abueloshika
Created December 1, 2017 09:49
Show Gist options
  • Save abueloshika/a5ddb668fb377c9596a3fa05ac0b6f5e to your computer and use it in GitHub Desktop.
Save abueloshika/a5ddb668fb377c9596a3fa05ac0b6f5e to your computer and use it in GitHub Desktop.
exampletwiddlereports
import Ember from 'ember';
export default Ember.Controller.extend({
appName: 'Ember Twiddle'
});
import Controller from '@ember/controller';
export default Controller.extend({
queryParams: ['dateFrom', 'dateTo', 'unitNumber'],
dateFrom: null,
dateTo: null,
unitNumber: null,
actions: {
selected(x) {
module = x
},
onChangeDateFrom(selectedValue) {
this.set('dateFrom', moment(selectedValue).format('DD-MM-YYYY'))
},
onChangeDateTo(selectedValue) {
this.set('dateTo', moment(selectedValue).format('DD-MM-YYYY'))
},
submitQuery(dateFrom, dateTo, unitNumber) {
switch (module) {
case 'Option1 List':
this.transitionToRoute('Option1Route', {
queryParams: {
dateFrom: this.get('dateFrom'),
dateTo: this.get('dateTo'),
unitNumber: this.get('unitNumber')
}
})
break;
case 'Option2 List':
this.transitionToRoute('Option2Route', {
queryParams: {
dateFrom: this.get('dateFrom'),
dateTo: this.get('dateTo'),
unitNumber: this.get('unitNumber')
}
})
break;
case 'Option3 List':
this.transitionToRoute('Option3 Route', {
queryParams: {
dateFrom: this.get('dateFrom'),
dateTo: this.get('dateTo'),
unitNumber: this.get('unitNumber')
}
})
break;
case 'Option5 List':
this.transitionToRoute('Option4Route', {
queryParams: {
dateFrom: this.get('dateFrom'),
dateTo: this.get('dateTo'),
unitNumber: this.get('unitNumber')
}
})
break;
case 'Select a Module:':
alert('Please select a Module')
break;
default:
console.log('error')
}
}
}
});
import Ember from 'ember';
import config from './config/environment';
const Router = Ember.Router.extend({
location: 'none',
rootURL: config.rootURL
});
Router.map(function() {
this.route('reports');
});
export default Router;
import Ember from 'ember';
export default Ember.Route.extend({
});
<h1>Welcome to {{appName}}</h1>
<br>
<br>
{{#link-to "reports"}}reports{{/link-to}}
<br>
<br>
<div class="container" style="margin-top:100px">
<div class="panel panel-info">
<div class="panel-heading">
<h3 class="panel-title">Insight Report Builder</h3>
</div>
<div class="panel-body">
<form class="form-horizontal" method="get" {{action "submitQuery" dateFrom dateTo unitNumber on="submit"}}>
<div class="form-group">
<div class="col-sm-3"><label>Module:</label>
{{#select-box/native value=sb on-select=(action 'selected') class="form-control" as |sb| }}
{{sb.option value='Select a Module:'}} {{sb.option value='Option1'}} {{sb.option value="Option2" }} {{sb.option value="Option3" }} {{sb.option value="Option4" }}
{{/select-box/native}}
</div>
<div class="col-sm-3"><label>Date From:</label>{{pikaday-input locale=en value=dateFrom format='DD/MM/YYYY' class="form-control" name="dateFrom" onSelection=(action 'onChangeDateFrom') }}</div>
<div class="col-sm-3"><label>Date From:</label>{{pikaday-input locale=en value=dateTo format='DD/MM/YYYY' class="form-control" name="dateTo" onSelection=(action 'onChangeDateTo') }}</div>
<div class="col-sm-3"><label>Unit Number:</label>{{input type="text" value=unitNumber class="form-control" name="unitNumber" }}</div>
<div class="col-lg-10 col-lg-offset-5" style="margin-top:15px">
<button type="reset" class="btn btn-default">Reset</button>
<button type="submit" class="btn btn-info">Submit</button>
</div>
</div>
</form>
</div>
</div>
<!-- {{report-builder submitQuery=(action 'submitQuery') selected=(action 'selected')}} -->
</div>
{
"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"
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment