'Initial state of filters'
);
- model.updateFilters( {
+ model.toggleFiltersSelected( {
group1filter1: true,
group2filter2: true,
group3filter1: true
);
// Select 1 filter
- model.updateFilters( {
+ model.toggleFiltersSelected( {
hidefilter1: true,
hidefilter2: false,
hidefilter3: false,
);
// Select 2 filters
- model.updateFilters( {
+ model.toggleFiltersSelected( {
hidefilter1: true,
hidefilter2: true,
hidefilter3: false,
);
// Select 3 filters
- model.updateFilters( {
+ model.toggleFiltersSelected( {
hidefilter1: true,
hidefilter2: true,
hidefilter3: true,
);
// Select 1 filter from string_options
- model.updateFilters( {
+ model.toggleFiltersSelected( {
filter7: true,
filter8: false,
filter9: false
);
// Select 2 filters from string_options
- model.updateFilters( {
+ model.toggleFiltersSelected( {
filter7: true,
filter8: true,
filter9: false
);
// Select 3 filters from string_options
- model.updateFilters( {
+ model.toggleFiltersSelected( {
filter7: true,
filter8: true,
filter9: true
// This test is demonstrating wrong usage of the method;
// We should be aware that getFiltersFromParameters is stateless,
// so each call gives us a filter state that only reflects the query given.
- // This means that the two calls to updateFilters() below collide.
+ // This means that the two calls to toggleFiltersSelected() below collide.
// The result of the first is overridden by the result of the second,
// since both get a full state object from getFiltersFromParameters that **only** relates
// to the input it receives.
- model.updateFilters(
+ model.toggleFiltersSelected(
model.getFiltersFromParameters( {
hidefilter1: '1'
} )
);
- model.updateFilters(
+ model.toggleFiltersSelected(
model.getFiltersFromParameters( {
hidefilter6: '1'
} )
);
- // The result here is ignoring the first updateFilters call
+ // The result here is ignoring the first toggleFiltersSelected call
// We should receive default values + hidefilter6 as false
assert.deepEqual(
model.getSelectedState(),
model = new mw.rcfilters.dm.FiltersViewModel();
model.initializeFilters( definition );
- model.updateFilters(
+ model.toggleFiltersSelected(
model.getFiltersFromParameters( {
hidefilter1: '0'
} )
);
- model.updateFilters(
+ model.toggleFiltersSelected(
model.getFiltersFromParameters( {
hidefilter1: '1'
} )
'After checking and then unchecking a \'send_unselected_if_any\' filter (without touching other filters in that group), results are default'
);
- model.updateFilters(
+ model.toggleFiltersSelected(
model.getFiltersFromParameters( {
group3: 'filter7'
} )
'A \'string_options\' parameter containing 1 value, results in the corresponding filter as checked'
);
- model.updateFilters(
+ model.toggleFiltersSelected(
model.getFiltersFromParameters( {
group3: 'filter7,filter8'
} )
'A \'string_options\' parameter containing 2 values, results in both corresponding filters as checked'
);
- model.updateFilters(
+ model.toggleFiltersSelected(
model.getFiltersFromParameters( {
group3: 'filter7,filter8,filter9'
} )
'A \'string_options\' parameter containing all values, results in all filters of the group as unchecked.'
);
- model.updateFilters(
+ model.toggleFiltersSelected(
model.getFiltersFromParameters( {
group3: 'filter7,all,filter9'
} )
'A \'string_options\' parameter containing the value \'all\', results in all filters of the group as unchecked.'
);
- model.updateFilters(
+ model.toggleFiltersSelected(
model.getFiltersFromParameters( {
group3: 'filter7,foo,filter9'
} )
'Initial state: default filters are not selected (controller selects defaults explicitly).'
);
- model.updateFilters( {
+ model.toggleFiltersSelected( {
hidefilter1: false,
hidefilter3: false
} );
model.initializeFilters( definition );
// Select a filter that has subset with another filter
- model.updateFilters( {
+ model.toggleFiltersSelected( {
filter1: true
} );
);
// Select another filter that has a subset with the same previous filter
- model.updateFilters( {
+ model.toggleFiltersSelected( {
filter4: true
} );
model.reassessFilterInteractions( model.getItemByName( 'filter4' ) );
);
// Remove one filter (but leave the other) that affects filter2
- model.updateFilters( {
+ model.toggleFiltersSelected( {
filter1: false
} );
model.reassessFilterInteractions( model.getItemByName( 'filter1' ) );
'Removing a filter only un-includes its subset if there is no other filter affecting.'
);
- model.updateFilters( {
+ model.toggleFiltersSelected( {
filter4: false
} );
model.reassessFilterInteractions( model.getItemByName( 'filter4' ) );
);
// Select most (but not all) items in each group
- model.updateFilters( {
+ model.toggleFiltersSelected( {
filter1: true,
filter2: true,
filter4: true,
);
// Select all items in 'fullCoverage' group (group2)
- model.updateFilters( {
+ model.toggleFiltersSelected( {
filter6: true
} );
);
// Select all items in non 'fullCoverage' group (group1)
- model.updateFilters( {
+ model.toggleFiltersSelected( {
filter3: true
} );
);
// Uncheck an item from each group
- model.updateFilters( {
+ model.toggleFiltersSelected( {
filter3: false,
filter5: false
} );
);
// Select a filter that has a conflict with another
- model.updateFilters( {
+ model.toggleFiltersSelected( {
filter1: true // conflicts: filter2, filter4
} );
);
// Select one of the conflicts (both filters are now conflicted and selected)
- model.updateFilters( {
+ model.toggleFiltersSelected( {
filter4: true // conflicts: filter 1
} );
model.reassessFilterInteractions( model.getItemByName( 'filter4' ) );
// Select another filter from filter4 group, meaning:
// now filter1 no longer conflicts with filter4
- model.updateFilters( {
+ model.toggleFiltersSelected( {
filter6: true // conflicts: filter2
} );
model.reassessFilterInteractions( model.getItemByName( 'filter6' ) );