import { debounce } from 'lodash';
import { me } from 'flavours/glitch/util/initial_state';
-const makeGetStatusIds = () => createSelector([
- (state, { type }) => state.getIn(['settings', type], ImmutableMap()),
- (state, { type }) => state.getIn(['timelines', type, 'items'], ImmutableList()),
- (state) => state.get('statuses'),
-], (columnSettings, statusIds, statuses) => {
- const rawRegex = columnSettings.getIn(['regex', 'body'], '').trim();
- let regex = null;
+const getRegex = createSelector([
+ (state, { type }) => state.getIn(['settings', type, 'regex', 'body']),
+], (rawRegex) => {
+ let regex = null;
try {
- regex = rawRegex && new RegExp(rawRegex, 'i');
+ regex = rawRegex && new RegExp(rawRegex.trim(), 'i');
} catch (e) {
// Bad regex, don't affect filters
}
+ return regex;
+});
+
+const makeGetStatusIds = () => createSelector([
+ (state, { type }) => state.getIn(['settings', type], ImmutableMap()),
+ (state, { type }) => state.getIn(['timelines', type, 'items'], ImmutableList()),
+ (state) => state.get('statuses'),
+ getRegex,
+], (columnSettings, statusIds, statuses, regex) => {
+ const rawRegex = columnSettings.getIn(['regex', 'body'], '').trim();
return statusIds.filter(id => {
if (id === null) return true;