diff options
5 files changed, 9 insertions, 7 deletions
diff --git a/app/javascript/vehicle_journeys/actions/index.js b/app/javascript/vehicle_journeys/actions/index.js index 4272c7915..8d7c4d7a0 100644 --- a/app/javascript/vehicle_journeys/actions/index.js +++ b/app/javascript/vehicle_journeys/actions/index.js @@ -458,6 +458,10 @@ const actions = { } } }, + escapeWildcardCharacters(search) { + let newSearch = search.replace(/^_/, "\\_") + return newSearch.replace(/^%/, "\\%") + } } export default actions diff --git a/app/javascript/vehicle_journeys/components/tools/select2s/CompanySelect2.js b/app/javascript/vehicle_journeys/components/tools/select2s/CompanySelect2.js index 9c259630d..07f87d891 100644 --- a/app/javascript/vehicle_journeys/components/tools/select2s/CompanySelect2.js +++ b/app/javascript/vehicle_journeys/components/tools/select2s/CompanySelect2.js @@ -1,6 +1,7 @@ import _ from 'lodash' import React, { PropTypes, Component } from 'react' import Select2 from 'react-select2' +import actions from '../../../actions' // get JSON full path let origin = window.location.origin @@ -34,7 +35,7 @@ export default class BSelect4 extends Component { delay: '500', data: function(params) { return { - q: {name_cont: params.term}, + q: { name_cont: actions.escapeWildcardCharacters(params.term)}, }; }, processResults: function(data, params) { diff --git a/app/javascript/vehicle_journeys/components/tools/select2s/MissionSelect2.js b/app/javascript/vehicle_journeys/components/tools/select2s/MissionSelect2.js index e4abdd651..6069bf089 100644 --- a/app/javascript/vehicle_journeys/components/tools/select2s/MissionSelect2.js +++ b/app/javascript/vehicle_journeys/components/tools/select2s/MissionSelect2.js @@ -33,7 +33,7 @@ export default class BSelect4 extends Component { delay: '500', data: function(params) { return { - q: {published_name_or_objectid_or_registration_number_cont: params.term}, + q: { published_name_or_objectid_or_registration_number_cont: actions.escapeWildcardCharacters(params.term)}, }; }, processResults: function(data, params) { diff --git a/app/javascript/vehicle_journeys/components/tools/select2s/TimetableSelect2.js b/app/javascript/vehicle_journeys/components/tools/select2s/TimetableSelect2.js index 606bf8511..60c3eab83 100644 --- a/app/javascript/vehicle_journeys/components/tools/select2s/TimetableSelect2.js +++ b/app/javascript/vehicle_journeys/components/tools/select2s/TimetableSelect2.js @@ -32,12 +32,9 @@ export default class BSelect4 extends Component { dataType: 'json', delay: '500', data: function(params) { - let newParmas = params.term.split(" ") return { q: { - objectid_cont_any: newParmas, - comment_cont_any: newParmas, - m: 'or' + comment_or_objectid_cont_any: actions.escapeWildcardCharacters(params.term) } }; }, diff --git a/app/javascript/vehicle_journeys/components/tools/select2s/VJSelect2.js b/app/javascript/vehicle_journeys/components/tools/select2s/VJSelect2.js index e1af8816d..7cccbbc05 100644 --- a/app/javascript/vehicle_journeys/components/tools/select2s/VJSelect2.js +++ b/app/javascript/vehicle_journeys/components/tools/select2s/VJSelect2.js @@ -33,7 +33,7 @@ export default class BSelect4b extends Component { delay: '500', data: function(params) { return { - q: {objectid_cont: params.term}, + q: { objectid_cont: actions.escapeWildcardCharacters(params.term)}, }; }, processResults: function(data, params) { |
