Commit 9cce812a authored by Kushal Pandya's avatar Kushal Pandya

Add `client_detection` helper to add browser and plaform flags

parent 60d3fe58
...@@ -268,6 +268,17 @@ module ApplicationHelper ...@@ -268,6 +268,17 @@ module ApplicationHelper
_('You are on a read-only GitLab instance.') _('You are on a read-only GitLab instance.')
end end
def client_class_list
"gl-browser-#{browser.id} gl-platform-#{browser.platform.id}"
end
def client_js_flags
{
"is#{browser.id.to_s.titlecase}": true,
"is#{browser.platform.id.to_s.titlecase}": true
}
end
def autocomplete_data_sources(object, noteable_type) def autocomplete_data_sources(object, noteable_type)
return {} unless object && noteable_type return {} unless object && noteable_type
......
...@@ -168,6 +168,21 @@ describe ApplicationHelper do ...@@ -168,6 +168,21 @@ describe ApplicationHelper do
end end
end end
describe '#client_class_list' do
it 'returns string containing CSS classes representing client browser and platform' do
class_list = helper.client_class_list
expect(class_list).to eq('gl-browser-generic gl-platform-other')
end
end
describe '#client_js_flags' do
it 'returns map containing JS flags representing client browser and platform' do
flags_list = helper.client_js_flags
expect(flags_list[:isGeneric]).to eq(true)
expect(flags_list[:isOther]).to eq(true)
end
end
describe '#autocomplete_data_sources' do describe '#autocomplete_data_sources' do
let(:project) { create(:project) } let(:project) { create(:project) }
let(:noteable_type) { Issue } let(:noteable_type) { Issue }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment