1
- <a name =" module_challenges .filter" ></a >
1
+ <a name =" module_challenge .filter" ></a >
2
2
3
- ## challenges .filter
3
+ ## challenge .filter
4
4
Universal challenge filter. Must be used in all places where we need filter
5
5
or fetch challenges. This way we keep all related logic in the same place,
6
6
which simplifies maintenance and modifications of the code.
@@ -59,62 +59,62 @@ users {Array} - Permits only the challenges where the specified (by handles)
59
59
users are participating.
60
60
61
61
62
- * [ challenges .filter] ( #module_challenges .filter )
62
+ * [ challenge .filter] ( #module_challenge .filter )
63
63
* _ static_
64
- * [ .addTrack(state, track)] ( #module_challenges .filter.addTrack ) ⇒ <code >Object</code >
65
- * [ .getFilterFunction(state)] ( #module_challenges .filter.getFilterFunction ) ⇒ <code >function</code >
66
- * [ .getReviewOpportunitiesFilterFunction(state)] ( #module_challenges .filter.getReviewOpportunitiesFilterFunction ) ⇒ <code >function</code >
67
- * [ .combine(filters)] ( #module_challenges .filter.combine ) ⇒ <code >Object</code >
68
- * [ .mapToBackend(filter)] ( #module_challenges .filter.mapToBackend ) ⇒ <code >Object</code >
69
- * [ .removeTrack(state, track)] ( #module_challenges .filter.removeTrack ) ⇒ <code >Object</code >
70
- * [ .setEndDate(state, date)] ( #module_challenges .filter.setEndDate ) ⇒ <code >Object</code >
71
- * [ .setReviewOpportunityType(state, reviewOpportunityType)] ( #module_challenges .filter.setReviewOpportunityType ) ⇒ <code >Object</code >
72
- * [ .setStartDate(state, date)] ( #module_challenges .filter.setStartDate ) ⇒ <code >Object</code >
73
- * [ .setSubtracks(state, subtracks)] ( #module_challenges .filter.setSubtracks ) ⇒ <code >Object</code >
74
- * [ .setTags(state, tags)] ( #module_challenges .filter.setTags ) ⇒ <code >Object</code >
75
- * [ .setText(state, text)] ( #module_challenges .filter.setText ) ⇒ <code >Object</code >
64
+ * [ .addTrack(state, track)] ( #module_challenge .filter.addTrack ) ⇒ <code >Object</code >
65
+ * [ .getFilterFunction(state)] ( #module_challenge .filter.getFilterFunction ) ⇒ <code >function</code >
66
+ * [ .getReviewOpportunitiesFilterFunction(state)] ( #module_challenge .filter.getReviewOpportunitiesFilterFunction ) ⇒ <code >function</code >
67
+ * [ .combine(filters)] ( #module_challenge .filter.combine ) ⇒ <code >Object</code >
68
+ * [ .mapToBackend(filter)] ( #module_challenge .filter.mapToBackend ) ⇒ <code >Object</code >
69
+ * [ .removeTrack(state, track)] ( #module_challenge .filter.removeTrack ) ⇒ <code >Object</code >
70
+ * [ .setEndDate(state, date)] ( #module_challenge .filter.setEndDate ) ⇒ <code >Object</code >
71
+ * [ .setReviewOpportunityType(state, reviewOpportunityType)] ( #module_challenge .filter.setReviewOpportunityType ) ⇒ <code >Object</code >
72
+ * [ .setStartDate(state, date)] ( #module_challenge .filter.setStartDate ) ⇒ <code >Object</code >
73
+ * [ .setSubtracks(state, subtracks)] ( #module_challenge .filter.setSubtracks ) ⇒ <code >Object</code >
74
+ * [ .setTags(state, tags)] ( #module_challenge .filter.setTags ) ⇒ <code >Object</code >
75
+ * [ .setText(state, text)] ( #module_challenge .filter.setText ) ⇒ <code >Object</code >
76
76
* _ inner_
77
- * [ ~ filterByEndDate()] ( #module_challenges .filter..filterByEndDate )
78
- * [ ~ filterByReviewOpportunityType(opp, state)] ( #module_challenges .filter..filterByReviewOpportunityType ) ⇒ <code >Boolean</code >
77
+ * [ ~ filterByEndDate()] ( #module_challenge .filter..filterByEndDate )
78
+ * [ ~ filterByReviewOpportunityType(opp, state)] ( #module_challenge .filter..filterByReviewOpportunityType ) ⇒ <code >Boolean</code >
79
79
80
- <a name =" module_challenges .filter.addTrack" ></a >
80
+ <a name =" module_challenge .filter.addTrack" ></a >
81
81
82
- ### challenges .filter.addTrack(state, track) ⇒ <code >Object</code >
82
+ ### challenge .filter.addTrack(state, track) ⇒ <code >Object</code >
83
83
Returns clone of the state with the specified competition track added.
84
84
85
- ** Kind** : static method of [ <code >challenges .filter</code >] ( #module_challenges .filter )
85
+ ** Kind** : static method of [ <code >challenge .filter</code >] ( #module_challenge .filter )
86
86
** Returns** : <code >Object</code > - Resulting state.
87
87
88
88
| Param | Type |
89
89
| --- | --- |
90
90
| state | <code >Object</code > |
91
91
| track | <code >String</code > |
92
92
93
- <a name =" module_challenges .filter.getFilterFunction" ></a >
93
+ <a name =" module_challenge .filter.getFilterFunction" ></a >
94
94
95
- ### challenges .filter.getFilterFunction(state) ⇒ <code >function</code >
95
+ ### challenge .filter.getFilterFunction(state) ⇒ <code >function</code >
96
96
Generates filter function for the state.
97
97
98
- ** Kind** : static method of [ <code >challenges .filter</code >] ( #module_challenges .filter )
98
+ ** Kind** : static method of [ <code >challenge .filter</code >] ( #module_challenge .filter )
99
99
100
100
| Param | Type |
101
101
| --- | --- |
102
102
| state | <code >Object</code > |
103
103
104
- <a name =" module_challenges .filter.getReviewOpportunitiesFilterFunction" ></a >
104
+ <a name =" module_challenge .filter.getReviewOpportunitiesFilterFunction" ></a >
105
105
106
- ### challenges .filter.getReviewOpportunitiesFilterFunction(state) ⇒ <code >function</code >
106
+ ### challenge .filter.getReviewOpportunitiesFilterFunction(state) ⇒ <code >function</code >
107
107
Generates a Review Opportunities filter function for the provided filter state.
108
108
109
- ** Kind** : static method of [ <code >challenges .filter</code >] ( #module_challenges .filter )
109
+ ** Kind** : static method of [ <code >challenge .filter</code >] ( #module_challenge .filter )
110
110
111
111
| Param | Type |
112
112
| --- | --- |
113
113
| state | <code >Object</code > |
114
114
115
- <a name =" module_challenges .filter.combine" ></a >
115
+ <a name =" module_challenge .filter.combine" ></a >
116
116
117
- ### challenges .filter.combine(filters) ⇒ <code >Object</code >
117
+ ### challenge .filter.combine(filters) ⇒ <code >Object</code >
118
118
Combines multiple filter state objects together. Resulting state describes
119
119
the filter, which matches only those challenges that satisfy each of the
120
120
filters passed in as arguments.
@@ -123,15 +123,15 @@ The main intended use of this function is to combine multiple frontend
123
123
challenge filters into a single one, that can be mapped into the
124
124
corresponding backend filter by mapToBackend(..) function.
125
125
126
- ** Kind** : static method of [ <code >challenges .filter</code >] ( #module_challenges .filter )
126
+ ** Kind** : static method of [ <code >challenge .filter</code >] ( #module_challenge .filter )
127
127
128
128
| Param | Type | Description |
129
129
| --- | --- | --- |
130
130
| filters | <code >Object</code > | Input filter state objects to combine. |
131
131
132
- <a name =" module_challenges .filter.mapToBackend" ></a >
132
+ <a name =" module_challenge .filter.mapToBackend" ></a >
133
133
134
- ### challenges .filter.mapToBackend(filter) ⇒ <code >Object</code >
134
+ ### challenge .filter.mapToBackend(filter) ⇒ <code >Object</code >
135
135
Maps the frontend challenge filter into the corresponding backend (api) one.
136
136
As there is no 1:1 match between the frontend and backend challenge filters,
137
137
the resulting backend filter is always equal or broader than the given
@@ -143,114 +143,114 @@ It is assumed that this function will help us to load challenges from the
143
143
backend more specifically, though it does not prevent as from the need
144
144
always perform the final filtering at the frontend side.
145
145
146
- ** Kind** : static method of [ <code >challenges .filter</code >] ( #module_challenges .filter )
146
+ ** Kind** : static method of [ <code >challenge .filter</code >] ( #module_challenge .filter )
147
147
148
148
| Param | Type |
149
149
| --- | --- |
150
150
| filter | <code >Object</code > |
151
151
152
- <a name =" module_challenges .filter.removeTrack" ></a >
152
+ <a name =" module_challenge .filter.removeTrack" ></a >
153
153
154
- ### challenges .filter.removeTrack(state, track) ⇒ <code >Object</code >
154
+ ### challenge .filter.removeTrack(state, track) ⇒ <code >Object</code >
155
155
Returns clone of the state with the specified competition track removed.
156
156
157
- ** Kind** : static method of [ <code >challenges .filter</code >] ( #module_challenges .filter )
157
+ ** Kind** : static method of [ <code >challenge .filter</code >] ( #module_challenge .filter )
158
158
** Returns** : <code >Object</code > - Resulting state.
159
159
160
160
| Param | Type |
161
161
| --- | --- |
162
162
| state | <code >Object</code > |
163
163
| track | <code >String</code > |
164
164
165
- <a name =" module_challenges .filter.setEndDate" ></a >
165
+ <a name =" module_challenge .filter.setEndDate" ></a >
166
166
167
- ### challenges .filter.setEndDate(state, date) ⇒ <code >Object</code >
167
+ ### challenge .filter.setEndDate(state, date) ⇒ <code >Object</code >
168
168
Clone the state and sets the end date.
169
169
170
- ** Kind** : static method of [ <code >challenges .filter</code >] ( #module_challenges .filter )
170
+ ** Kind** : static method of [ <code >challenge .filter</code >] ( #module_challenge .filter )
171
171
172
172
| Param | Type |
173
173
| --- | --- |
174
174
| state | <code >Object</code > |
175
175
| date | <code >String</code > |
176
176
177
- <a name =" module_challenges .filter.setReviewOpportunityType" ></a >
177
+ <a name =" module_challenge .filter.setReviewOpportunityType" ></a >
178
178
179
- ### challenges .filter.setReviewOpportunityType(state, reviewOpportunityType) ⇒ <code >Object</code >
179
+ ### challenge .filter.setReviewOpportunityType(state, reviewOpportunityType) ⇒ <code >Object</code >
180
180
Clones the state and sets the review opportunity type.
181
181
182
- ** Kind** : static method of [ <code >challenges .filter</code >] ( #module_challenges .filter )
182
+ ** Kind** : static method of [ <code >challenge .filter</code >] ( #module_challenge .filter )
183
183
184
184
| Param | Type | Description |
185
185
| --- | --- | --- |
186
186
| state | <code >Object</code > | |
187
187
| reviewOpportunityType | <code >Array</code > | Possible values found in utils/tc REVIEW_OPPORTUNITY_TYPES |
188
188
189
- <a name =" module_challenges .filter.setStartDate" ></a >
189
+ <a name =" module_challenge .filter.setStartDate" ></a >
190
190
191
- ### challenges .filter.setStartDate(state, date) ⇒ <code >Object</code >
191
+ ### challenge .filter.setStartDate(state, date) ⇒ <code >Object</code >
192
192
Clones the state and sets the start date.
193
193
194
- ** Kind** : static method of [ <code >challenges .filter</code >] ( #module_challenges .filter )
194
+ ** Kind** : static method of [ <code >challenge .filter</code >] ( #module_challenge .filter )
195
195
196
196
| Param | Type | Description |
197
197
| --- | --- | --- |
198
198
| state | <code >Object</code > | |
199
199
| date | <code >String</code > | ISO date string. |
200
200
201
- <a name =" module_challenges .filter.setSubtracks" ></a >
201
+ <a name =" module_challenge .filter.setSubtracks" ></a >
202
202
203
- ### challenges .filter.setSubtracks(state, subtracks) ⇒ <code >Object</code >
203
+ ### challenge .filter.setSubtracks(state, subtracks) ⇒ <code >Object</code >
204
204
Clones the state and sets the subtracks.
205
205
206
- ** Kind** : static method of [ <code >challenges .filter</code >] ( #module_challenges .filter )
206
+ ** Kind** : static method of [ <code >challenge .filter</code >] ( #module_challenge .filter )
207
207
208
208
| Param | Type |
209
209
| --- | --- |
210
210
| state | <code >Object</code > |
211
211
| subtracks | <code >Array</code > |
212
212
213
- <a name =" module_challenges .filter.setTags" ></a >
213
+ <a name =" module_challenge .filter.setTags" ></a >
214
214
215
- ### challenges .filter.setTags(state, tags) ⇒ <code >Object</code >
215
+ ### challenge .filter.setTags(state, tags) ⇒ <code >Object</code >
216
216
Clones the state and sets the tags.
217
217
218
- ** Kind** : static method of [ <code >challenges .filter</code >] ( #module_challenges .filter )
218
+ ** Kind** : static method of [ <code >challenge .filter</code >] ( #module_challenge .filter )
219
219
220
220
| Param | Type | Description |
221
221
| --- | --- | --- |
222
222
| state | <code >Object</code > | |
223
223
| tags | <code >Array</code > | String array. |
224
224
225
- <a name =" module_challenges .filter.setText" ></a >
225
+ <a name =" module_challenge .filter.setText" ></a >
226
226
227
- ### challenges .filter.setText(state, text) ⇒ <code >Object</code >
227
+ ### challenge .filter.setText(state, text) ⇒ <code >Object</code >
228
228
Clones fitler state and sets the free-text string for the filtering by
229
229
challenge name and tags. To clear the string set it to anything evaluating
230
230
to falst (empty string, null, undefined).
231
231
232
- ** Kind** : static method of [ <code >challenges .filter</code >] ( #module_challenges .filter )
232
+ ** Kind** : static method of [ <code >challenge .filter</code >] ( #module_challenge .filter )
233
233
** Returns** : <code >Object</code > - Resulting string.
234
234
235
235
| Param | Type |
236
236
| --- | --- |
237
237
| state | <code >Object</code > |
238
238
| text | <code >String</code > |
239
239
240
- <a name =" module_challenges .filter..filterByEndDate" ></a >
240
+ <a name =" module_challenge .filter..filterByEndDate" ></a >
241
241
242
- ### challenges .filter~ filterByEndDate()
242
+ ### challenge .filter~ filterByEndDate()
243
243
Here are many similiar filerBy..(challenge, state) functions. Each of them
244
244
checks whether the given challenge fulfills the corresponding filtering rule
245
245
from the filter state object, and returns true or false depending on it.
246
246
247
- ** Kind** : inner method of [ <code >challenges .filter</code >] ( #module_challenges .filter )
248
- <a name =" module_challenges .filter..filterByReviewOpportunityType" ></a >
247
+ ** Kind** : inner method of [ <code >challenge .filter</code >] ( #module_challenge .filter )
248
+ <a name =" module_challenge .filter..filterByReviewOpportunityType" ></a >
249
249
250
- ### challenges .filter~ filterByReviewOpportunityType(opp, state) ⇒ <code >Boolean</code >
250
+ ### challenge .filter~ filterByReviewOpportunityType(opp, state) ⇒ <code >Boolean</code >
251
251
Filter function for Review Opportunity Type, will be used internally in filter.js
252
252
253
- ** Kind** : inner method of [ <code >challenges .filter</code >] ( #module_challenges .filter )
253
+ ** Kind** : inner method of [ <code >challenge .filter</code >] ( #module_challenge .filter )
254
254
** Returns** : <code >Boolean</code > - True if opp satifies the filter
255
255
256
256
| Param | Type | Description |
0 commit comments