Press n or j to go to the next uncovered block, b, p or k for the previous block.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 | import { GlToast } from '@gitlab/ui'; import Vue from 'vue'; import { parseBoolean } from '~/lib/utils/common_utils'; import NotificationsDropdown from './components/notifications_dropdown.vue'; import NotificationEmailListboxInput from './components/notification_email_listbox_input.vue'; Vue.use(GlToast); const initNotificationEmailListboxInputs = () => { const CLASS_NAME = 'js-notification-email-listbox-input'; const els = [...document.querySelectorAll(`.${CLASS_NAME}`)]; els.forEach((el, index) => { const { label, name, emptyValueText, value = '', placement } = el.dataset; return new Vue({ el, name: `NotificationEmailListboxInputRoot${index + 1}`, provide: { label, name, emails: JSON.parse(el.dataset.emails), emptyValueText, value, disabled: parseBoolean(el.dataset.disabled), placement, }, render(h) { return h(NotificationEmailListboxInput, { class: el.className.replace(CLASS_NAME, '').trim(), }); }, }); }); }; export default () => { initNotificationEmailListboxInputs(); const containers = document.querySelectorAll('.js-vue-notification-dropdown'); if (!containers.length) return false; return containers.forEach((el) => { const { containerClass, buttonSize, disabled, dropdownItems, notificationLevel, helpPagePath, projectId, groupId, showLabel, noFlip, } = el.dataset; return new Vue({ el, provide: { containerClass, buttonSize, emailsDisabled: parseBoolean(disabled), dropdownItems: JSON.parse(dropdownItems), initialNotificationLevel: notificationLevel, helpPagePath, projectId, groupId, showLabel: parseBoolean(showLabel), noFlip: parseBoolean(noFlip), }, render(h) { return h(NotificationsDropdown); }, }); }); }; |