Commit a665a354 authored by Filipa Lacerda's avatar Filipa Lacerda

Remove issuableContext from global namespace

parent cf542f9e
/* eslint-disable comma-dangle, space-before-function-paren, no-new */ /* eslint-disable comma-dangle, space-before-function-paren, no-new */
/* global IssuableContext */ import IssuableContext from '../../issuable_context';
/* global MilestoneSelect */ /* global MilestoneSelect */
/* global LabelsSelect */ /* global LabelsSelect */
/* global Sidebar */ /* global Sidebar */
......
/* eslint-disable no-new */ /* eslint-disable no-new */
/* global MilestoneSelect */ /* global MilestoneSelect */
/* global LabelsSelect */ /* global LabelsSelect */
/* global IssuableContext */ import IssuableContext from './issuable_context';
/* global Sidebar */ /* global Sidebar */
import DueDateSelectors from './due_date_select'; import DueDateSelectors from './due_date_select';
......
/* eslint-disable func-names, space-before-function-paren, wrap-iife, no-new, comma-dangle, quotes, prefer-arrow-callback, consistent-return, one-var, no-var, one-var-declaration-per-line, no-underscore-dangle, max-len */
import Cookies from 'js-cookie'; import Cookies from 'js-cookie';
import bp from './breakpoints'; import bp from './breakpoints';
import UsersSelect from './users_select'; import UsersSelect from './users_select';
const PARTICIPANTS_ROW_COUNT = 7; const PARTICIPANTS_ROW_COUNT = 7;
(function() { export default class IssuableContext {
this.IssuableContext = (function() { constructor(currentUser) {
function IssuableContext(currentUser) { this.initParticipants();
this.initParticipants(); this.userSelect = new UsersSelect(currentUser);
new UsersSelect(currentUser);
$('select.select2').select2({ $('select.select2').select2({
width: 'resolve', width: 'resolve',
dropdownAutoWidth: true dropdownAutoWidth: true,
}); });
$(".issuable-sidebar .inline-update").on("change", "select", function() {
return $(this).submit(); $('.issuable-sidebar .inline-update').on('change', 'select', function onClickSelect() {
}); return $(this).submit();
$(".issuable-sidebar .inline-update").on("change", ".js-assignee", function() { });
return $(this).submit(); $('.issuable-sidebar .inline-update').on('change', '.js-assignee', function onClickAssignee() {
}); return $(this).submit();
$(document).off('click', '.issuable-sidebar .dropdown-content a').on('click', '.issuable-sidebar .dropdown-content a', function(e) { });
return e.preventDefault(); $(document)
}); .off('click', '.issuable-sidebar .dropdown-content a')
$(document).off('click', '.edit-link').on('click', '.edit-link', function(e) { .on('click', '.issuable-sidebar .dropdown-content a', e => e.preventDefault());
var $block, $selectbox;
$(document)
.off('click', '.edit-link')
.on('click', '.edit-link', function onClickEdit(e) {
e.preventDefault(); e.preventDefault();
$block = $(this).parents('.block'); const $block = $(this).parents('.block');
$selectbox = $block.find('.selectbox'); const $selectbox = $block.find('.selectbox');
if ($selectbox.is(':visible')) { if ($selectbox.is(':visible')) {
$selectbox.hide(); $selectbox.hide();
$block.find('.value').show(); $block.find('.value').show();
...@@ -35,46 +37,43 @@ const PARTICIPANTS_ROW_COUNT = 7; ...@@ -35,46 +37,43 @@ const PARTICIPANTS_ROW_COUNT = 7;
$selectbox.show(); $selectbox.show();
$block.find('.value').hide(); $block.find('.value').hide();
} }
if ($selectbox.is(':visible')) { if ($selectbox.is(':visible')) {
return setTimeout(function() { setTimeout(() => $block.find('.dropdown-menu-toggle').trigger('click'), 0);
return $block.find('.dropdown-menu-toggle').trigger('click');
}, 0);
} }
}); });
window.addEventListener('beforeunload', function() {
// collapsed_gutter cookie hides the sidebar
var bpBreakpoint = bp.getBreakpointSize();
if (bpBreakpoint === 'xs' || bpBreakpoint === 'sm') {
Cookies.set('collapsed_gutter', true);
}
});
}
IssuableContext.prototype.initParticipants = function() { window.addEventListener('beforeunload', () => {
$(document).on('click', '.js-participants-more', this.toggleHiddenParticipants); // collapsed_gutter cookie hides the sidebar
return $('.js-participants-author').each(function(i) { const bpBreakpoint = bp.getBreakpointSize();
if (i >= PARTICIPANTS_ROW_COUNT) { if (bpBreakpoint === 'xs' || bpBreakpoint === 'sm') {
return $(this).addClass('js-participants-hidden').hide(); Cookies.set('collapsed_gutter', true);
} }
}); });
}; }
IssuableContext.prototype.toggleHiddenParticipants = function() { initParticipants() {
const currentText = $(this).text().trim(); $(document).on('click', '.js-participants-more', this.toggleHiddenParticipants);
const lessText = $(this).data('less-text'); return $('.js-participants-author').each(function forEachAuthor(i) {
const originalText = $(this).data('original-text'); if (i >= PARTICIPANTS_ROW_COUNT) {
$(this).addClass('js-participants-hidden').hide();
}
});
}
if (currentText === originalText) { toggleHiddenParticipants() {
$(this).text(lessText); const currentText = $(this).text().trim();
const lessText = $(this).data('less-text');
const originalText = $(this).data('original-text');
if (gl.lazyLoader) gl.lazyLoader.loadCheck(); if (currentText === originalText) {
} else { $(this).text(lessText);
$(this).text(originalText);
}
$('.js-participants-hidden').toggle(); if (gl.lazyLoader) gl.lazyLoader.loadCheck();
}; } else {
$(this).text(originalText);
}
return IssuableContext; $('.js-participants-hidden').toggle();
})(); }
}).call(window); }
...@@ -58,8 +58,6 @@ import './gl_form'; ...@@ -58,8 +58,6 @@ import './gl_form';
import './groups_select'; import './groups_select';
import './header'; import './header';
import initImporterStatus from './importer_status'; import initImporterStatus from './importer_status';
import './issuable_index';
import './issuable_context';
import './issuable_form'; import './issuable_form';
import './issue'; import './issue';
import './issue_status_select'; import './issue_status_select';
......
/* global IssuableContext */
import '~/issuable_context';
import $ from 'jquery'; import $ from 'jquery';
import IssuableContext from '~/issuable_context';
describe('IssuableContext', () => { describe('IssuableContext', () => {
describe('toggleHiddenParticipants', () => { describe('toggleHiddenParticipants', () => {
......
/* eslint-disable no-new */ /* eslint-disable no-new */
/* global IssuableContext */ import IssuableContext from '~/issuable_context';
/* global LabelsSelect */ /* global LabelsSelect */
import '~/gl_dropdown'; import '~/gl_dropdown';
......
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