RC
This commit is contained in:
@@ -5,18 +5,19 @@ export default Component.extend({
|
|||||||
tagName: 'th',
|
tagName: 'th',
|
||||||
classNames: ['filter', 'filter-pablo-number-range'],
|
classNames: ['filter', 'filter-pablo-number-range'],
|
||||||
classNameBindings: ['has_active_filter_value:active-filter'],
|
classNameBindings: ['has_active_filter_value:active-filter'],
|
||||||
placeholder: '-/-',
|
placeholder: '[ ... ]',
|
||||||
display_addition: '',
|
display_addition: '',
|
||||||
apply_filters: function apply_filters() { },
|
apply_filters: function apply_filters() { },
|
||||||
eager_filter: true,
|
eager_filter: true,
|
||||||
has_active_filter_value: Ember.computed.or('lower_bound', 'upper_bound'),
|
has_active_filter_value: Ember.computed.or('lower_bound', 'upper_bound'),
|
||||||
lower_bound_candidate: '1',
|
lower_bound_candidate: '1',
|
||||||
upper_bound_candidate: '2',
|
upper_bound_candidate: '3',
|
||||||
filter_text: Ember.computed('{lower_bound,upper_bound,display_addition}', function () {
|
filter_text: Ember.computed('{lower_bound,upper_bound,display_addition,inclusive}', function () {
|
||||||
var gteq, lteq, range;
|
var lower_limit, upper_limit, range, isInclusive;
|
||||||
gteq = this.get('lower_bound') || '-';
|
isInclusive = this.get('inclusive');
|
||||||
lteq = this.get('upper_bound') || '-';
|
lower_limit = this.get('lower_bound') || '-';
|
||||||
range = gteq + " / " + lteq;
|
upper_limit = this.get('upper_bound') || '-';
|
||||||
|
range = isInclusive ? `[${lower_limit}, ${upper_limit}]` : `(${lower_limit}, ${upper_limit})`;
|
||||||
if (this.get('display_addition')) {
|
if (this.get('display_addition')) {
|
||||||
range += " " + this.get('display_addition');
|
range += " " + this.get('display_addition');
|
||||||
}
|
}
|
||||||
@@ -25,23 +26,38 @@ export default Component.extend({
|
|||||||
init: function init() {
|
init: function init() {
|
||||||
this._super();
|
this._super();
|
||||||
this.set('error', '');
|
this.set('error', '');
|
||||||
Ember.defineProperty(this, 'lower_bound', Ember.computed.alias("filters." + this.get('key') + "_gteq"));
|
Ember.defineProperty(this, 'lower_bound', Ember.computed.alias(`filters.${this.get('key')}_gteq`));
|
||||||
Ember.defineProperty(this, 'upper_bound', Ember.computed.alias("filters." + this.get('key') + "_lteq"));
|
Ember.defineProperty(this, 'upper_bound', Ember.computed.alias(`filters.${this.get('key')}_lteq`));
|
||||||
this.set('lower_bound_candidate', '1');
|
|
||||||
return this.set('upper_bound_candidate', '2');
|
|
||||||
},
|
},
|
||||||
actions: {
|
actions: {
|
||||||
|
toggle_inclusive() {
|
||||||
|
this.set('inclusive', !this.get('inclusive'));
|
||||||
|
const isInclusive = this.get('inclusive');
|
||||||
|
var lbc = this.get('lower_bound_candidate');
|
||||||
|
var hbc = this.get('upper_bound_candidate');
|
||||||
|
|
||||||
|
if (!isInclusive) {
|
||||||
|
lbc++;
|
||||||
|
hbc--;
|
||||||
|
} else {
|
||||||
|
lbc--
|
||||||
|
hbc++
|
||||||
|
}
|
||||||
|
|
||||||
|
this.set(`lower_bound_candidate`, lbc);
|
||||||
|
this.set(`upper_bound_candidate`, hbc);
|
||||||
|
},
|
||||||
set_filter: function set_filter(key, value) {
|
set_filter: function set_filter(key, value) {
|
||||||
this.set('error', '');
|
this.set('error', '');
|
||||||
let lbc = this.get('lower_bound_candidate');
|
let lbc = this.get('lower_bound_candidate');
|
||||||
let hbc = this.get('upper_bound_candidate')
|
let hbc = this.get('upper_bound_candidate');
|
||||||
|
|
||||||
if (hbc < lbc) {
|
if (hbc < lbc) {
|
||||||
this.set('error', `lower limit (${lbc}) cannot be greater \nthan the upper limit (${hbc}).`);
|
this.set('error', `lower limit (${lbc}) cannot be greater than the upper limit (${hbc}).`);
|
||||||
console.log(this.error);
|
console.log(this.error);
|
||||||
} else {
|
} else {
|
||||||
this.set('lower_bound', parseInt(this.get('lower_bound_candidate')) || '');
|
this.set('lower_bound', lbc || '');
|
||||||
this.set('upper_bound', parseInt(this.get('upper_bound_candidate')) || '');
|
this.set('upper_bound', hbc || '');
|
||||||
this.$('.dropdown').dropdown('hide');
|
this.$('.dropdown').dropdown('hide');
|
||||||
if (this.get('eager_filter')) {
|
if (this.get('eager_filter')) {
|
||||||
return this.get('apply_filters')(this);
|
return this.get('apply_filters')(this);
|
||||||
@@ -50,10 +66,11 @@ export default Component.extend({
|
|||||||
},
|
},
|
||||||
clear_filters: function clear_filters() {
|
clear_filters: function clear_filters() {
|
||||||
this.set('lower_bound', '');
|
this.set('lower_bound', '');
|
||||||
|
this.set('inclusive', true);
|
||||||
this.set('error', '');
|
this.set('error', '');
|
||||||
this.set('upper_bound', '');
|
this.set('upper_bound', '');
|
||||||
this.set('lower_bound_candidate', '1');
|
this.set('lower_bound_candidate', '1');
|
||||||
this.set('upper_bound_candidate', '2');
|
this.set('upper_bound_candidate', '3');
|
||||||
if (this.get('eager_filter')) {
|
if (this.get('eager_filter')) {
|
||||||
return this.get('apply_filters')(this);
|
return this.get('apply_filters')(this);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -7,9 +7,11 @@ ui-dropdown class='left basic labeled top left pointing icon select-number' acti
|
|||||||
' and
|
' and
|
||||||
.ui.input.select-number= input type='number' value=upper_bound_candidate enter=(action 'set_filter')
|
.ui.input.select-number= input type='number' value=upper_bound_candidate enter=(action 'set_filter')
|
||||||
if error
|
if error
|
||||||
// .flash-message {{error}}
|
|
||||||
br
|
br
|
||||||
.ui.pointing.red.basic.label {{error}}
|
.ui.pointing.red.basic.label {{error}}
|
||||||
|
.item
|
||||||
|
ui-checkbox class='item' checked=inclusive label='inclusive' onChange=(action 'toggle_inclusive' option)
|
||||||
|
|
||||||
.divider
|
.divider
|
||||||
.options-container
|
.options-container
|
||||||
button.ui.mini.secondary.button{action 'clear_filters'}= t 'Clear'
|
button.ui.mini.secondary.button{action 'clear_filters'}= t 'Clear'
|
||||||
|
|||||||
@@ -10,10 +10,10 @@ table.ui.celled.striped.compact.table.sortable
|
|||||||
= sortable-table-header filters=filters key='target_date' model=model
|
= sortable-table-header filters=filters key='target_date' model=model
|
||||||
/= sortable-table-header filters=filters key='target_date' action=(invoke 'reload' model) model=model
|
/= sortable-table-header filters=filters key='target_date' action=(invoke 'reload' model) model=model
|
||||||
th pablo-number-range (pablos)
|
th pablo-number-range (pablos)
|
||||||
|
th number-range
|
||||||
th dropdown-select-multiple
|
th dropdown-select-multiple
|
||||||
th select-multiple (using modal)
|
th select-multiple (using modal)
|
||||||
th CUSTOM
|
th CUSTOM
|
||||||
th number-range
|
|
||||||
th dropdown-select
|
th dropdown-select
|
||||||
th dropdown-select objects
|
th dropdown-select objects
|
||||||
th boolean-checkboxes
|
th boolean-checkboxes
|
||||||
@@ -29,6 +29,7 @@ table.ui.celled.striped.compact.table.sortable
|
|||||||
'
|
'
|
||||||
button.ui.mini.primary.button{action 'set_filter_target_date_next_fifteen_weeks'} Nu ↔ 15 weken
|
button.ui.mini.primary.button{action 'set_filter_target_date_next_fifteen_weeks'} Nu ↔ 15 weken
|
||||||
= filter.pablo-number-range key='pablos' inclusive=true
|
= filter.pablo-number-range key='pablos' inclusive=true
|
||||||
|
= filter.number-range key='age' inclusive=true
|
||||||
= filter.dropdown-select-multiple key='dropdown_select_multiple_ids_in' options=scenario_classification_objects labelPath='grumpy'
|
= filter.dropdown-select-multiple key='dropdown_select_multiple_ids_in' options=scenario_classification_objects labelPath='grumpy'
|
||||||
= filter.select-multiple key='select_multiple_modal_ids_in' options=scenario_classification_objects valueKey='id' textKey='grumpy'
|
= filter.select-multiple key='select_multiple_modal_ids_in' options=scenario_classification_objects valueKey='id' textKey='grumpy'
|
||||||
th class=filters.target_week:active-filter
|
th class=filters.target_week:active-filter
|
||||||
@@ -38,7 +39,6 @@ table.ui.celled.striped.compact.table.sortable
|
|||||||
i.close.icon.clear-target-week-filter{action 'clear_filter' 'target_week'}
|
i.close.icon.clear-target-week-filter{action 'clear_filter' 'target_week'}
|
||||||
else
|
else
|
||||||
i.filter.icon{action 'set_filter' 'target_week' '7-2018'}
|
i.filter.icon{action 'set_filter' 'target_week' '7-2018'}
|
||||||
= filter.number-range key='age' inclusive=true
|
|
||||||
= filter.dropdown-select key='location_planning_scenario_classification' options=scenario_classification_options
|
= filter.dropdown-select key='location_planning_scenario_classification' options=scenario_classification_options
|
||||||
= filter.dropdown-select key='location_planning_scenario_classification' options=scenario_classification_objects labelPath='grumpy'
|
= filter.dropdown-select key='location_planning_scenario_classification' options=scenario_classification_objects labelPath='grumpy'
|
||||||
= filter.boolean-checkboxes key='my_boolean'
|
= filter.boolean-checkboxes key='my_boolean'
|
||||||
|
|||||||
Reference in New Issue
Block a user