From 3d3c6d53500391ff21bee657ea3eab92c4d3b6a7 Mon Sep 17 00:00:00 2001 From: Urban Rotnik Date: Tue, 4 Jun 2019 15:55:44 +0200 Subject: [PATCH] Toolbar position fix for Safari --- app/assets/javascripts/sitewide/constants.js.erb | 4 ++++ app/assets/javascripts/sitewide/tiny_mce.js | 8 ++++++-- 2 files changed, 10 insertions(+), 2 deletions(-) create mode 100644 app/assets/javascripts/sitewide/constants.js.erb diff --git a/app/assets/javascripts/sitewide/constants.js.erb b/app/assets/javascripts/sitewide/constants.js.erb new file mode 100644 index 000000000..81880bb97 --- /dev/null +++ b/app/assets/javascripts/sitewide/constants.js.erb @@ -0,0 +1,4 @@ +const globalConstants = { + name_truncation_length: <%= Constants::NAME_TRUNCATION_LENGTH %>, + is_safari: /^((?!chrome|android).)*safari/i.test(navigator.userAgent) +} diff --git a/app/assets/javascripts/sitewide/tiny_mce.js b/app/assets/javascripts/sitewide/tiny_mce.js index fe2509f6b..bb383a7c9 100644 --- a/app/assets/javascripts/sitewide/tiny_mce.js +++ b/app/assets/javascripts/sitewide/tiny_mce.js @@ -1,4 +1,4 @@ -/* global _ hljs tinyMCE SmartAnnotation I18n */ +/* global _ hljs tinyMCE SmartAnnotation I18n globalConstants */ /* eslint-disable no-unused-vars */ var TinyMCE = (function() { @@ -132,7 +132,11 @@ var TinyMCE = (function() { editorToolbaroffset = 0; } - editorToolbar.css('position', 'sticky'); + if (globalConstants.is_safari) { + editorToolbar.css('position', '-webkit-sticky'); + } else { + editorToolbar.css('position', 'sticky'); + } editorToolbar.css('top', editorToolbaroffset + 'px'); // Update scroll position after exit