2018-05-09 12:01:36 +05:30
|
|
|
import $ from 'jquery';
|
2018-03-17 18:26:18 +05:30
|
|
|
import axios from '../lib/utils/axios_utils';
|
|
|
|
import { __ } from '../locale';
|
|
|
|
import Flash from '../flash';
|
|
|
|
import LazyLoader from '../lazy_loader';
|
2018-10-15 14:42:47 +05:30
|
|
|
import { togglePopover } from '../shared/popover';
|
2018-03-17 18:26:18 +05:30
|
|
|
|
|
|
|
export const getSelector = highlightId => `.js-feature-highlight[data-highlight=${highlightId}]`;
|
|
|
|
|
|
|
|
export function dismiss(highlightId) {
|
|
|
|
axios.post(this.attr('data-dismiss-endpoint'), {
|
|
|
|
feature_name: highlightId,
|
|
|
|
})
|
|
|
|
.catch(() => Flash(__('An error occurred while dismissing the feature highlight. Refresh the page and try dismissing again.')));
|
|
|
|
|
|
|
|
togglePopover.call(this, false);
|
|
|
|
this.hide();
|
|
|
|
}
|
|
|
|
|
|
|
|
export function inserted() {
|
|
|
|
const popoverId = this.getAttribute('aria-describedby');
|
|
|
|
const highlightId = this.dataset.highlight;
|
|
|
|
const $popover = $(this);
|
|
|
|
const dismissWrapper = dismiss.bind($popover, highlightId);
|
|
|
|
|
|
|
|
$(`#${popoverId} .dismiss-feature-highlight`)
|
|
|
|
.on('click', dismissWrapper);
|
|
|
|
|
|
|
|
const lazyImg = $(`#${popoverId} .feature-highlight-illustration`)[0];
|
|
|
|
if (lazyImg) {
|
|
|
|
LazyLoader.loadImage(lazyImg);
|
|
|
|
}
|
|
|
|
}
|