Commit be5588f1 authored by Martin Wortschack's avatar Martin Wortschack

Merge branch 'nicolasdular/broadcast-rerendering' into 'master'

Rerender broadcast preview when type changes

See merge request gitlab-org/gitlab!27338
parents 9f6ca9c8 91ea970f
...@@ -10,9 +10,30 @@ export default () => { ...@@ -10,9 +10,30 @@ export default () => {
const $broadcastMessageType = $('.js-broadcast-message-type'); const $broadcastMessageType = $('.js-broadcast-message-type');
const $broadcastBannerMessagePreview = $('.js-broadcast-banner-message-preview'); const $broadcastBannerMessagePreview = $('.js-broadcast-banner-message-preview');
const $broadcastMessage = $('.js-broadcast-message-message'); const $broadcastMessage = $('.js-broadcast-message-message');
const previewPath = $broadcastMessage.data('previewPath');
const $jsBroadcastMessagePreview = $('.js-broadcast-message-preview'); const $jsBroadcastMessagePreview = $('.js-broadcast-message-preview');
const reloadPreview = function reloadPreview() {
const previewPath = $broadcastMessage.data('previewPath');
const message = $broadcastMessage.val();
const type = $broadcastMessageType.val();
if (message === '') {
$jsBroadcastMessagePreview.text(__('Your message here'));
} else {
axios
.post(previewPath, {
broadcast_message: {
message,
broadcast_type: type,
},
})
.then(({ data }) => {
$jsBroadcastMessagePreview.html(data.message);
})
.catch(() => flash(__('An error occurred while rendering preview broadcast message')));
}
};
$broadcastMessageColor.on('input', function onMessageColorInput() { $broadcastMessageColor.on('input', function onMessageColorInput() {
const previewColor = $(this).val(); const previewColor = $(this).val();
$broadcastBannerMessagePreview.css('background-color', previewColor); $broadcastBannerMessagePreview.css('background-color', previewColor);
...@@ -32,26 +53,14 @@ export default () => { ...@@ -32,26 +53,14 @@ export default () => {
$broadcastMessageDismissableFormGroup.toggleClass('hidden'); $broadcastMessageDismissableFormGroup.toggleClass('hidden');
$broadcastBannerMessagePreview.toggleClass('hidden'); $broadcastBannerMessagePreview.toggleClass('hidden');
$broadcastNotificationMessagePreview.toggleClass('hidden'); $broadcastNotificationMessagePreview.toggleClass('hidden');
reloadPreview();
}); });
$broadcastMessage.on( $broadcastMessage.on(
'input', 'input',
debounce(function onMessageInput() { debounce(() => {
const message = $(this).val(); reloadPreview();
if (message === '') {
$jsBroadcastMessagePreview.text(__('Your message here'));
} else {
axios
.post(previewPath, {
broadcast_message: {
message,
},
})
.then(({ data }) => {
$jsBroadcastMessagePreview.html(data.message);
})
.catch(() => flash(__('An error occurred while rendering preview broadcast message')));
}
}, 250), }, 250),
); );
......
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