1010 * granted to it by virtue of its status as an Intergovernmental Organization
1111 * or submit itself to any jurisdiction.
1212 */
13+ import { FilteringModel } from '../../../components/Filters/common/FilteringModel.js' ;
1314import { TextTokensFilterModel } from '../../../components/Filters/common/filters/TextTokensFilterModel.js' ;
1415import { OverviewPageModel } from '../../../models/OverviewModel.js' ;
1516import { buildUrl } from '/js/src/index.js' ;
@@ -23,8 +24,15 @@ export class DataPassesPerLhcPeriodOverviewModel extends OverviewPageModel {
2324 */
2425 constructor ( ) {
2526 super ( ) ;
26- this . _nameFilterModel = new TextTokensFilterModel ( ) ;
27- this . _registerFilter ( this . _nameFilterModel ) ;
27+ this . _filteringModel = new FilteringModel ( {
28+ names : new TextTokensFilterModel ( ) ,
29+ } ) ;
30+
31+ this . _filteringModel . visualChange$ . bubbleTo ( this ) ;
32+ this . _filteringModel . observe ( ( ) => {
33+ this . _pagination . silentlySetCurrentPage ( 1 ) ;
34+ this . load ( ) ;
35+ } ) ;
2836 }
2937
3038 /**
@@ -42,7 +50,7 @@ export class DataPassesPerLhcPeriodOverviewModel extends OverviewPageModel {
4250 const params = {
4351 filter : {
4452 lhcPeriodIds : [ this . _lhcPeriodId ] ,
45- names : this . _nameFilterModel . normalized ,
53+ names : this . _filteringModel . get ( 'names' ) . normalized ,
4654 } ,
4755 } ;
4856
@@ -55,7 +63,7 @@ export class DataPassesPerLhcPeriodOverviewModel extends OverviewPageModel {
5563 * @returns {void }
5664 */
5765 reset ( ) {
58- this . _nameFilterModel . reset ( ) ;
66+ this . _filteringModel . reset ( ) ;
5967 super . reset ( ) ;
6068 }
6169
@@ -67,32 +75,19 @@ export class DataPassesPerLhcPeriodOverviewModel extends OverviewPageModel {
6775 }
6876
6977 /**
70- * Returns data pass name filter model
71- * @return {TextTokensFilterModel } data pass name filter model
72- */
73- get nameFilterModel ( ) {
74- return this . _nameFilterModel ;
75- }
76-
77- /**
78- * Register a new filter model
79- * @param {FilterModel } filterModel the filter model to register
80- * @return {void }
81- * @private
78+ * Return the filtering model
79+ *
80+ * @return {FilteringModel } the filtering model
8281 */
83- _registerFilter ( filterModel ) {
84- filterModel . visualChange$ . bubbleTo ( this ) ;
85- filterModel . observe ( ( ) => {
86- this . _pagination . silentlySetCurrentPage ( 1 ) ;
87- this . load ( ) ;
88- } ) ;
82+ get filteringModel ( ) {
83+ return this . _filteringModel ;
8984 }
9085
9186 /**
92- * States whether any filter is active
93- * @return {boolean } true if any filter is active
87+ * Checks if any filter value has been modified from their default (empty)
88+ * @return {Boolean } If any filter is active
9489 */
9590 isAnyFilterActive ( ) {
96- return ! this . _nameFilterModel . isEmpty ( ) ;
91+ return this . _filteringModel . isAnyFilterActive ( ) ;
9792 }
9893}
0 commit comments