www/roster/views/utils.js.rb (26 lines of code) (raw):

class Utils # escape a string so that it can be used as a regular expression def self.escapeRegExp(string) # https://developer.mozilla.org/en/docs/Web/JavaScript/Guide/Regular_Expressions return string.gsub(/([.*+?^=!:${}()|\[\]\/\\])/, '\\$1'); end # Common processing to handle a response that is expected to be JSON def self.handle_json(response, success) content_type = response.headers.get('content-type') || '' isJson = content_type.include? 'json' if response.status == 200 and isJson response.json().then do |json| success json end else footer = 'See server log for full details' if isJson response.json().then do |json| # Pick out the exception message = json['exception'] || '' alert "#{response.status} #{response.statusText}\n#{message}\n#{footer}" end else # not JSON response.text() do |text| alert "#{response.status} #{response.statusText}\n#{text}\n#{footer}" end end end end end