From 0b36422f98430ad5b18692ef3e71a73debaa63dc Mon Sep 17 00:00:00 2001 From: Michael Kozono Date: Fri, 4 Jan 2019 15:14:15 -0800 Subject: [PATCH] Port of mk/geo-deprecate-legacy-storage to CE --- app/helpers/user_callouts_helper.rb | 4 ++++ app/views/shared/_flash_user_callout.html.haml | 11 +++++++++++ spec/helpers/user_callouts_helper_spec.rb | 9 +++++++++ 3 files changed, 24 insertions(+) create mode 100644 app/views/shared/_flash_user_callout.html.haml diff --git a/app/helpers/user_callouts_helper.rb b/app/helpers/user_callouts_helper.rb index 4aba48061ba..1ad7bb81784 100644 --- a/app/helpers/user_callouts_helper.rb +++ b/app/helpers/user_callouts_helper.rb @@ -13,6 +13,10 @@ module UserCalloutsHelper !user_dismissed?(GCP_SIGNUP_OFFER) end + def render_flash_user_callout(flash_type, message, feature_name) + render 'shared/flash_user_callout', flash_type: flash_type, message: message, feature_name: feature_name + end + private def user_dismissed?(feature_name) diff --git a/app/views/shared/_flash_user_callout.html.haml b/app/views/shared/_flash_user_callout.html.haml new file mode 100644 index 00000000000..fe175195e66 --- /dev/null +++ b/app/views/shared/_flash_user_callout.html.haml @@ -0,0 +1,11 @@ +- callout_data = { uid: "callout_feature_#{feature_name}_dismissed", feature_id: feature_name, dismiss_endpoint: user_callouts_path } +- extra_flash_class = local_assigns.fetch(:extra_flash_class, nil) + +.flash-container.flash-container-page.user-callout{ data: callout_data } + -# We currently only support `alert`, `warning`, `notice`, `success` + %div{ class: "flash-#{flash_type}" } + %div{ class: "#{(container_class unless fluid_layout)} #{(extra_flash_class unless @no_container)} #{@content_class}" } + %span= message + %button.btn.btn-default.close.js-close{ type: 'button', + 'aria-label' => _('Dismiss') } + = sprite_icon('close', css_class: 'dismiss-icon') diff --git a/spec/helpers/user_callouts_helper_spec.rb b/spec/helpers/user_callouts_helper_spec.rb index 27455705d23..8fa479a4474 100644 --- a/spec/helpers/user_callouts_helper_spec.rb +++ b/spec/helpers/user_callouts_helper_spec.rb @@ -44,4 +44,13 @@ describe UserCalloutsHelper do it { is_expected.to be false } end end + + describe '.render_flash_user_callout' do + it 'renders the flash_user_callout partial' do + expect(helper).to receive(:render) + .with(/flash_user_callout/, flash_type: :warning, message: 'foo', feature_name: 'bar') + + helper.render_flash_user_callout(:warning, 'foo', 'bar') + end + end end