Merge branch 'main-js-tidy-up' into 'master'
Tidy up main JS file See merge request gitlab-org/gitlab-ce!16007
This commit is contained in:
commit
1245d35f14
|
|
@ -10,7 +10,6 @@
|
|||
],
|
||||
"globals": {
|
||||
"__webpack_public_path__": true,
|
||||
"_": false,
|
||||
"gl": false,
|
||||
"gon": false,
|
||||
"localStorage": false
|
||||
|
|
|
|||
|
|
@ -4,6 +4,8 @@ import { visitUrl } from '../lib/utils/url_utility';
|
|||
import { HIDDEN_CLASS } from '../lib/utils/constants';
|
||||
import csrf from '../lib/utils/csrf';
|
||||
|
||||
Dropzone.autoDiscover = false;
|
||||
|
||||
function toggleLoading($el, $icon, loading) {
|
||||
if (loading) {
|
||||
$el.disable();
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
/* eslint-disable comma-dangle, space-before-function-paren, one-var */
|
||||
/* global Sortable */
|
||||
import Sortable from 'vendor/Sortable';
|
||||
import Vue from 'vue';
|
||||
import AccessorUtilities from '../../lib/utils/accessor';
|
||||
import boardList from './board_list';
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
/* global Sortable */
|
||||
import Sortable from 'vendor/Sortable';
|
||||
import boardNewIssue from './board_new_issue';
|
||||
import boardCard from './board_card.vue';
|
||||
import eventHub from '../eventhub';
|
||||
|
|
|
|||
|
|
@ -1,4 +1,5 @@
|
|||
/* eslint-disable no-new */
|
||||
import _ from 'underscore';
|
||||
import Flash from './flash';
|
||||
import DropLab from './droplab/drop_lab';
|
||||
import ISetter from './droplab/plugins/input_setter';
|
||||
|
|
|
|||
|
|
@ -3,6 +3,8 @@ import _ from 'underscore';
|
|||
import './preview_markdown';
|
||||
import csrf from './lib/utils/csrf';
|
||||
|
||||
Dropzone.autoDiscover = false;
|
||||
|
||||
export default function dropzoneInput(form) {
|
||||
const divHover = '<div class="div-dropzone-hover"></div>';
|
||||
const iconPaperclip = '<i class="fa fa-paperclip div-dropzone-icon"></i>';
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
/**
|
||||
* Common code between environmets app and folder view
|
||||
*/
|
||||
|
||||
import _ from 'underscore';
|
||||
import Visibility from 'visibilityjs';
|
||||
import Poll from '../../lib/utils/poll';
|
||||
import {
|
||||
|
|
|
|||
|
|
@ -1,3 +1,4 @@
|
|||
import _ from 'underscore';
|
||||
import DropLab from '~/droplab/drop_lab';
|
||||
import FilteredSearchContainer from './container';
|
||||
|
||||
|
|
|
|||
|
|
@ -1,3 +1,4 @@
|
|||
import _ from 'underscore';
|
||||
import { visitUrl } from '../lib/utils/url_utility';
|
||||
import Flash from '../flash';
|
||||
import FilteredSearchContainer from './container';
|
||||
|
|
|
|||
|
|
@ -1,3 +1,4 @@
|
|||
import _ from 'underscore';
|
||||
import AjaxCache from '../lib/utils/ajax_cache';
|
||||
import Flash from '../flash';
|
||||
import FilteredSearchContainer from './container';
|
||||
|
|
|
|||
|
|
@ -1,3 +1,4 @@
|
|||
import _ from 'underscore';
|
||||
import DecorationsController from './decorations/controller';
|
||||
import DirtyDiffController from './diff/controller';
|
||||
import Disposable from './common/disposable';
|
||||
|
|
|
|||
|
|
@ -1,3 +1,5 @@
|
|||
import _ from 'underscore';
|
||||
|
||||
export const dataStructure = () => ({
|
||||
id: '',
|
||||
key: '',
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
/* eslint-disable comma-dangle, class-methods-use-this, no-underscore-dangle, no-param-reassign, no-unused-vars, consistent-return, func-names, space-before-function-paren, max-len */
|
||||
/* global Sortable */
|
||||
import Sortable from 'vendor/Sortable';
|
||||
|
||||
import Flash from './flash';
|
||||
|
||||
|
|
|
|||
|
|
@ -1,33 +1,17 @@
|
|||
/* eslint-disable func-names, space-before-function-paren, no-var, quotes, consistent-return, prefer-arrow-callback, comma-dangle, object-shorthand, no-new, max-len, no-multi-spaces, import/newline-after-import, import/first */
|
||||
/* eslint-disable import/first */
|
||||
/* global ConfirmDangerModal */
|
||||
|
||||
import jQuery from 'jquery';
|
||||
import _ from 'underscore';
|
||||
import Cookies from 'js-cookie';
|
||||
import Dropzone from 'dropzone';
|
||||
import Sortable from 'vendor/Sortable';
|
||||
import svg4everybody from 'svg4everybody';
|
||||
|
||||
// libraries with import side-effects
|
||||
import 'mousetrap';
|
||||
import 'mousetrap/plugins/pause/mousetrap-pause';
|
||||
|
||||
// expose common libraries as globals (TODO: remove these)
|
||||
window.jQuery = jQuery;
|
||||
window.$ = jQuery;
|
||||
window._ = _;
|
||||
window.Dropzone = Dropzone;
|
||||
window.Sortable = Sortable;
|
||||
|
||||
// templates
|
||||
import './templates/issuable_template_selector';
|
||||
import './templates/issuable_template_selectors';
|
||||
|
||||
import './commit/image_file';
|
||||
|
||||
// lib/utils
|
||||
import { handleLocationHash } from './lib/utils/common_utils';
|
||||
import { localTimeAgo, renderTimeago } from './lib/utils/datetime_utility';
|
||||
import { localTimeAgo } from './lib/utils/datetime_utility';
|
||||
import { getLocationHash, visitUrl } from './lib/utils/url_utility';
|
||||
|
||||
// behaviors
|
||||
|
|
@ -43,7 +27,6 @@ import initTodoToggle from './header';
|
|||
import initImporterStatus from './importer_status';
|
||||
import initLayoutNav from './layout_nav';
|
||||
import LazyLoader from './lazy_loader';
|
||||
import './line_highlighter';
|
||||
import initLogoAnimation from './logo';
|
||||
import './milestone_select';
|
||||
import './projects_dropdown';
|
||||
|
|
@ -55,11 +38,9 @@ import './dispatcher';
|
|||
// eslint-disable-next-line global-require, import/no-commonjs
|
||||
if (process.env.NODE_ENV !== 'production') require('./test_utils/');
|
||||
|
||||
Dropzone.autoDiscover = false;
|
||||
|
||||
svg4everybody();
|
||||
|
||||
document.addEventListener('beforeunload', function () {
|
||||
document.addEventListener('beforeunload', () => {
|
||||
// Unbind scroll events
|
||||
$(document).off('scroll');
|
||||
// Close any open tooltips
|
||||
|
|
@ -76,16 +57,15 @@ window.addEventListener('load', function onLoad() {
|
|||
|
||||
gl.lazyLoader = new LazyLoader({
|
||||
scrollContainer: window,
|
||||
observerNode: '#content-body'
|
||||
observerNode: '#content-body',
|
||||
});
|
||||
|
||||
$(function () {
|
||||
var $body = $('body');
|
||||
var $document = $(document);
|
||||
var $window = $(window);
|
||||
var $sidebarGutterToggle = $('.js-sidebar-toggle');
|
||||
var bootstrapBreakpoint = bp.getBreakpointSize();
|
||||
var fitSidebarForSize;
|
||||
$(() => {
|
||||
const $body = $('body');
|
||||
const $document = $(document);
|
||||
const $window = $(window);
|
||||
const $sidebarGutterToggle = $('.js-sidebar-toggle');
|
||||
let bootstrapBreakpoint = bp.getBreakpointSize();
|
||||
|
||||
initBreadcrumbs();
|
||||
initLayoutNav();
|
||||
|
|
@ -97,8 +77,8 @@ $(function () {
|
|||
Cookies.defaults.path = gon.relative_url_root || '/';
|
||||
|
||||
// `hashchange` is not triggered when link target is already in window.location
|
||||
$body.on('click', 'a[href^="#"]', function() {
|
||||
var href = this.getAttribute('href');
|
||||
$body.on('click', 'a[href^="#"]', function clickHashLinkCallback() {
|
||||
const href = this.getAttribute('href');
|
||||
if (href.substr(1) === getLocationHash()) {
|
||||
setTimeout(handleLocationHash, 1);
|
||||
}
|
||||
|
|
@ -113,155 +93,162 @@ $(function () {
|
|||
}
|
||||
|
||||
// prevent default action for disabled buttons
|
||||
$('.btn').click(function(e) {
|
||||
$('.btn').click(function clickDisabledButtonCallback(e) {
|
||||
if ($(this).hasClass('disabled')) {
|
||||
e.preventDefault();
|
||||
e.stopImmediatePropagation();
|
||||
return false;
|
||||
}
|
||||
|
||||
return true;
|
||||
});
|
||||
|
||||
$('.js-select-on-focus').on('focusin', function () {
|
||||
return $(this).select().one('mouseup', function (e) {
|
||||
return e.preventDefault();
|
||||
});
|
||||
// Click a .js-select-on-focus field, select the contents
|
||||
// Prevent a mouseup event from deselecting the input
|
||||
$('.js-select-on-focus').on('focusin', function selectOnFocusCallback() {
|
||||
$(this).select().one('mouseup', (e) => {
|
||||
e.preventDefault();
|
||||
});
|
||||
});
|
||||
$('.remove-row').bind('ajax:success', function () {
|
||||
|
||||
$('.remove-row').on('ajax:success', function removeRowAjaxSuccessCallback() {
|
||||
$(this).tooltip('destroy')
|
||||
.closest('li')
|
||||
.fadeOut();
|
||||
});
|
||||
$('.js-remove-tr').bind('ajax:before', function () {
|
||||
return $(this).hide();
|
||||
|
||||
$('.js-remove-tr').on('ajax:before', function removeTRAjaxBeforeCallback() {
|
||||
$(this).hide();
|
||||
});
|
||||
$('.js-remove-tr').bind('ajax:success', function () {
|
||||
return $(this).closest('tr').fadeOut();
|
||||
|
||||
$('.js-remove-tr').on('ajax:success', function removeTRAjaxSuccessCallback() {
|
||||
$(this).closest('tr').fadeOut();
|
||||
});
|
||||
|
||||
// Initialize select2 selects
|
||||
$('select.select2').select2({
|
||||
width: 'resolve',
|
||||
// Initialize select2 selects
|
||||
dropdownAutoWidth: true
|
||||
dropdownAutoWidth: true,
|
||||
});
|
||||
$('.js-select2').bind('select2-close', function () {
|
||||
return setTimeout((function () {
|
||||
$('.select2-container-active').removeClass('select2-container-active');
|
||||
return $(':focus').blur();
|
||||
}), 1);
|
||||
|
||||
// Close select2 on escape
|
||||
$('.js-select2').on('select2-close', () => {
|
||||
setTimeout(() => {
|
||||
$('.select2-container-active').removeClass('select2-container-active');
|
||||
$(':focus').blur();
|
||||
}, 1);
|
||||
});
|
||||
|
||||
// Initialize tooltips
|
||||
$.fn.tooltip.Constructor.DEFAULTS.trigger = 'hover';
|
||||
$body.tooltip({
|
||||
selector: '.has-tooltip, [data-toggle="tooltip"]',
|
||||
placement: function (tip, el) {
|
||||
placement(tip, el) {
|
||||
return $(el).data('placement') || 'bottom';
|
||||
}
|
||||
},
|
||||
});
|
||||
|
||||
// Initialize popovers
|
||||
$body.popover({
|
||||
selector: '[data-toggle="popover"]',
|
||||
trigger: 'focus',
|
||||
// set the viewport to the main content, excluding the navigation bar, so
|
||||
// the navigation can't overlap the popover
|
||||
viewport: '.layout-page'
|
||||
viewport: '.layout-page',
|
||||
});
|
||||
$('.trigger-submit').on('change', function () {
|
||||
return $(this).parents('form').submit();
|
||||
|
||||
// Form submitter
|
||||
$('.trigger-submit').on('change', function triggerSubmitCallback() {
|
||||
$(this).parents('form').submit();
|
||||
});
|
||||
|
||||
localTimeAgo($('abbr.timeago, .js-timeago'), true);
|
||||
|
||||
// Disable form buttons while a form is submitting
|
||||
$body.on('ajax:complete, ajax:beforeSend, submit', 'form', function (e) {
|
||||
var buttons;
|
||||
buttons = $('[type="submit"], .js-disable-on-submit', this);
|
||||
$body.on('ajax:complete, ajax:beforeSend, submit', 'form', function ajaxCompleteCallback(e) {
|
||||
const $buttons = $('[type="submit"], .js-disable-on-submit', this);
|
||||
switch (e.type) {
|
||||
case 'ajax:beforeSend':
|
||||
case 'submit':
|
||||
return buttons.disable();
|
||||
return $buttons.disable();
|
||||
default:
|
||||
return buttons.enable();
|
||||
return $buttons.enable();
|
||||
}
|
||||
});
|
||||
$(document).ajaxError(function (e, xhrObj) {
|
||||
var ref = xhrObj.status;
|
||||
if (xhrObj.status === 401) {
|
||||
return new Flash('You need to be logged in.', 'alert');
|
||||
|
||||
$(document).ajaxError((e, xhrObj) => {
|
||||
const ref = xhrObj.status;
|
||||
|
||||
if (ref === 401) {
|
||||
Flash('You need to be logged in.');
|
||||
} else if (ref === 404 || ref === 500) {
|
||||
return new Flash('Something went wrong on our end.', 'alert');
|
||||
Flash('Something went wrong on our end.');
|
||||
}
|
||||
});
|
||||
$('.account-box').hover(function () {
|
||||
// Show/Hide the profile menu when hovering the account box
|
||||
return $(this).toggleClass('hover');
|
||||
});
|
||||
$document.on('click', '.diff-content .js-show-suppressed-diff', function () {
|
||||
var $container;
|
||||
$container = $(this).parent();
|
||||
$container.next('table').show();
|
||||
return $container.remove();
|
||||
|
||||
// Commit show suppressed diff
|
||||
$document.on('click', '.diff-content .js-show-suppressed-diff', function showDiffCallback() {
|
||||
const $container = $(this).parent();
|
||||
$container.next('table').show();
|
||||
$container.remove();
|
||||
});
|
||||
|
||||
$('.navbar-toggle').on('click', () => {
|
||||
$('.header-content').toggleClass('menu-expanded');
|
||||
gl.lazyLoader.loadCheck();
|
||||
});
|
||||
|
||||
// Show/hide comments on diff
|
||||
$body.on('click', '.js-toggle-diff-comments', function (e) {
|
||||
var $this = $(this);
|
||||
var notesHolders = $this.closest('.diff-file').find('.notes_holder');
|
||||
$body.on('click', '.js-toggle-diff-comments', function toggleDiffCommentsCallback(e) {
|
||||
const $this = $(this);
|
||||
const notesHolders = $this.closest('.diff-file').find('.notes_holder');
|
||||
|
||||
e.preventDefault();
|
||||
|
||||
$this.toggleClass('active');
|
||||
|
||||
if ($this.hasClass('active')) {
|
||||
notesHolders.show().find('.hide, .content').show();
|
||||
} else {
|
||||
notesHolders.hide().find('.content').hide();
|
||||
}
|
||||
|
||||
$(document).trigger('toggle.comments');
|
||||
return e.preventDefault();
|
||||
});
|
||||
$document.off('click', '.js-confirm-danger');
|
||||
$document.on('click', '.js-confirm-danger', function (e) {
|
||||
var btn = $(e.target);
|
||||
var form = btn.closest('form');
|
||||
var text = btn.data('confirm-danger-message');
|
||||
|
||||
$document.on('click', '.js-confirm-danger', (e) => {
|
||||
const btn = $(e.target);
|
||||
const form = btn.closest('form');
|
||||
const text = btn.data('confirm-danger-message');
|
||||
e.preventDefault();
|
||||
return new ConfirmDangerModal(form, text);
|
||||
|
||||
// eslint-disable-next-line no-new
|
||||
new ConfirmDangerModal(form, text);
|
||||
});
|
||||
$('input[type="search"]').each(function () {
|
||||
var $this = $(this);
|
||||
$this.attr('value', $this.val());
|
||||
});
|
||||
$document.off('keyup', 'input[type="search"]').on('keyup', 'input[type="search"]', function () {
|
||||
var $this;
|
||||
$this = $(this);
|
||||
return $this.attr('value', $this.val());
|
||||
});
|
||||
$document.off('breakpoint:change').on('breakpoint:change', function (e, breakpoint) {
|
||||
var $gutterIcon;
|
||||
|
||||
$document.on('breakpoint:change', (e, breakpoint) => {
|
||||
if (breakpoint === 'sm' || breakpoint === 'xs') {
|
||||
$gutterIcon = $sidebarGutterToggle.find('i');
|
||||
const $gutterIcon = $sidebarGutterToggle.find('i');
|
||||
if ($gutterIcon.hasClass('fa-angle-double-right')) {
|
||||
return $sidebarGutterToggle.trigger('click');
|
||||
$sidebarGutterToggle.trigger('click');
|
||||
}
|
||||
}
|
||||
});
|
||||
fitSidebarForSize = function () {
|
||||
var oldBootstrapBreakpoint;
|
||||
oldBootstrapBreakpoint = bootstrapBreakpoint;
|
||||
|
||||
function fitSidebarForSize() {
|
||||
const oldBootstrapBreakpoint = bootstrapBreakpoint;
|
||||
bootstrapBreakpoint = bp.getBreakpointSize();
|
||||
|
||||
if (bootstrapBreakpoint !== oldBootstrapBreakpoint) {
|
||||
return $document.trigger('breakpoint:change', [bootstrapBreakpoint]);
|
||||
$document.trigger('breakpoint:change', [bootstrapBreakpoint]);
|
||||
}
|
||||
};
|
||||
$window.off('resize.app').on('resize.app', function () {
|
||||
return fitSidebarForSize();
|
||||
});
|
||||
}
|
||||
|
||||
$window.on('resize.app', fitSidebarForSize);
|
||||
|
||||
loadAwardsHandler();
|
||||
|
||||
renderTimeago();
|
||||
|
||||
$('form.filter-form').on('submit', function (event) {
|
||||
$('form.filter-form').on('submit', function filterFormSubmitCallback(event) {
|
||||
const link = document.createElement('a');
|
||||
link.href = this.action;
|
||||
|
||||
|
|
|
|||
|
|
@ -1,5 +1,3 @@
|
|||
/* global Sortable */
|
||||
|
||||
import Flash from './flash';
|
||||
|
||||
export default class Milestone {
|
||||
|
|
|
|||
|
|
@ -1,3 +1,5 @@
|
|||
import _ from 'underscore';
|
||||
|
||||
export default function initBroadcastMessagesForm() {
|
||||
$('input#broadcast_message_color').on('input', function onMessageColorInput() {
|
||||
const previewColor = $(this).val();
|
||||
|
|
|
|||
|
|
@ -1,3 +1,4 @@
|
|||
import _ from 'underscore';
|
||||
import Vue from 'vue';
|
||||
import VueResource from 'vue-resource';
|
||||
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
/* global Mousetrap */
|
||||
import Mousetrap from 'mousetrap';
|
||||
import { getLocationHash, visitUrl } from './lib/utils/url_utility';
|
||||
import Shortcuts from './shortcuts';
|
||||
|
||||
|
|
|
|||
|
|
@ -1,5 +1,4 @@
|
|||
/* global Mousetrap */
|
||||
|
||||
import Mousetrap from 'mousetrap';
|
||||
import ShortcutsNavigation from './shortcuts_navigation';
|
||||
|
||||
export default class ShortcutsFindFile extends ShortcutsNavigation {
|
||||
|
|
|
|||
|
|
@ -1,7 +1,5 @@
|
|||
/* global Mousetrap */
|
||||
|
||||
import Mousetrap from 'mousetrap';
|
||||
import _ from 'underscore';
|
||||
import 'mousetrap';
|
||||
import Sidebar from './right_sidebar';
|
||||
import ShortcutsNavigation from './shortcuts_navigation';
|
||||
import { CopyAsGFM } from './behaviors/copy_as_gfm';
|
||||
|
|
|
|||
|
|
@ -1,5 +1,4 @@
|
|||
/* global Mousetrap */
|
||||
|
||||
import Mousetrap from 'mousetrap';
|
||||
import findAndFollowLink from './shortcuts_dashboard_navigation';
|
||||
import Shortcuts from './shortcuts';
|
||||
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
/* global Mousetrap */
|
||||
import Mousetrap from 'mousetrap';
|
||||
import ShortcutsNavigation from './shortcuts_navigation';
|
||||
|
||||
export default class ShortcutsNetwork extends ShortcutsNavigation {
|
||||
|
|
|
|||
|
|
@ -1,16 +1,14 @@
|
|||
/* eslint-disable class-methods-use-this */
|
||||
/* global Mousetrap */
|
||||
|
||||
import Mousetrap from 'mousetrap';
|
||||
import ShortcutsNavigation from './shortcuts_navigation';
|
||||
import findAndFollowLink from './shortcuts_dashboard_navigation';
|
||||
|
||||
export default class ShortcutsWiki extends ShortcutsNavigation {
|
||||
constructor() {
|
||||
super();
|
||||
Mousetrap.bind('e', this.editWiki);
|
||||
Mousetrap.bind('e', ShortcutsWiki.editWiki);
|
||||
}
|
||||
|
||||
editWiki() {
|
||||
static editWiki() {
|
||||
findAndFollowLink('.js-wiki-edit');
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,5 +1,4 @@
|
|||
/* eslint-disable func-names, space-before-function-paren, wrap-iife, prefer-arrow-callback, no-unused-vars, consistent-return, camelcase, comma-dangle, max-len, class-methods-use-this */
|
||||
/* global Mousetrap */
|
||||
|
||||
// Zen Mode (full screen) textarea
|
||||
//
|
||||
|
|
@ -8,9 +7,11 @@
|
|||
|
||||
import 'vendor/jquery.scrollTo';
|
||||
import Dropzone from 'dropzone';
|
||||
import 'mousetrap';
|
||||
import Mousetrap from 'mousetrap';
|
||||
import 'mousetrap/plugins/pause/mousetrap-pause';
|
||||
|
||||
Dropzone.autoDiscover = false;
|
||||
|
||||
//
|
||||
// ### Events
|
||||
//
|
||||
|
|
|
|||
|
|
@ -750,7 +750,7 @@ describe 'Copy as GFM', :js do
|
|||
js = <<-JS.strip_heredoc
|
||||
(function(selector) {
|
||||
var els = document.querySelectorAll(selector);
|
||||
var htmls = _.map(els, function(el) { return el.outerHTML; });
|
||||
var htmls = [].slice.call(els).map(function(el) { return el.outerHTML; });
|
||||
return htmls.join("\\n");
|
||||
})("#{escape_javascript(selector)}")
|
||||
JS
|
||||
|
|
|
|||
|
|
@ -5,7 +5,7 @@
|
|||
|
||||
import MockAdapter from 'axios-mock-adapter';
|
||||
import axios from '~/lib/utils/axios_utils';
|
||||
|
||||
import _ from 'underscore';
|
||||
import '~/boards/models/issue';
|
||||
import '~/boards/models/label';
|
||||
import '~/boards/models/list';
|
||||
|
|
|
|||
|
|
@ -1,5 +1,6 @@
|
|||
/* global BoardService */
|
||||
/* eslint-disable comma-dangle, no-unused-vars, quote-props */
|
||||
import _ from 'underscore';
|
||||
|
||||
export const listObj = {
|
||||
id: 300,
|
||||
|
|
|
|||
|
|
@ -1,3 +1,4 @@
|
|||
import _ from 'underscore';
|
||||
import Vue from 'vue';
|
||||
import pipelinesTable from '~/commit/pipelines/pipelines_table.vue';
|
||||
|
||||
|
|
|
|||
|
|
@ -1,3 +1,4 @@
|
|||
import _ from 'underscore';
|
||||
import Vue from 'vue';
|
||||
import eventHub from '~/deploy_keys/eventhub';
|
||||
import deployKeysApp from '~/deploy_keys/components/app.vue';
|
||||
|
|
|
|||
|
|
@ -1,3 +1,4 @@
|
|||
import _ from 'underscore';
|
||||
import Vue from 'vue';
|
||||
import environmentsComponent from '~/environments/components/environments_app.vue';
|
||||
import { environment, folder } from './mock_data';
|
||||
|
|
|
|||
|
|
@ -1,3 +1,4 @@
|
|||
import _ from 'underscore';
|
||||
import Vue from 'vue';
|
||||
import environmentsFolderViewComponent from '~/environments/folder/environments_folder_view.vue';
|
||||
import { environmentsList } from '../mock_data';
|
||||
|
|
|
|||
|
|
@ -1,3 +1,4 @@
|
|||
import _ from 'underscore';
|
||||
import AjaxCache from '~/lib/utils/ajax_cache';
|
||||
import UsersCache from '~/lib/utils/users_cache';
|
||||
|
||||
|
|
|
|||
|
|
@ -1,7 +1,5 @@
|
|||
import Vue from 'vue';
|
||||
import descriptionTemplate from '~/issue_show/components/fields/description_template.vue';
|
||||
import '~/templates/issuable_template_selector';
|
||||
import '~/templates/issuable_template_selectors';
|
||||
|
||||
describe('Issue description template component', () => {
|
||||
let vm;
|
||||
|
|
|
|||
|
|
@ -1,7 +1,5 @@
|
|||
import Vue from 'vue';
|
||||
import formComponent from '~/issue_show/components/form.vue';
|
||||
import '~/templates/issuable_template_selector';
|
||||
import '~/templates/issuable_template_selectors';
|
||||
|
||||
describe('Inline edit form component', () => {
|
||||
let vm;
|
||||
|
|
|
|||
|
|
@ -1,3 +1,4 @@
|
|||
import _ from 'underscore';
|
||||
import 'autosize';
|
||||
import '~/gl_form';
|
||||
import '~/lib/utils/text_utility';
|
||||
|
|
|
|||
|
|
@ -1,3 +1,4 @@
|
|||
import _ from 'underscore';
|
||||
import Vue from 'vue';
|
||||
import notesApp from '~/notes/components/notes_app.vue';
|
||||
import service from '~/notes/services/notes_service';
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
|
||||
import _ from 'underscore';
|
||||
import Vue from 'vue';
|
||||
import store from '~/notes/stores';
|
||||
import issueNote from '~/notes/components/noteable_note.vue';
|
||||
|
|
|
|||
|
|
@ -1,4 +1,5 @@
|
|||
/* eslint-disable space-before-function-paren, no-unused-expressions, no-var, object-shorthand, comma-dangle, max-len */
|
||||
import _ from 'underscore';
|
||||
import * as urlUtils from '~/lib/utils/url_utility';
|
||||
import 'autosize';
|
||||
import '~/gl_form';
|
||||
|
|
|
|||
|
|
@ -1,3 +1,4 @@
|
|||
import _ from 'underscore';
|
||||
import Vue from 'vue';
|
||||
import PipelineMediator from '~/pipelines/pipeline_details_mediatior';
|
||||
|
||||
|
|
|
|||
|
|
@ -1,3 +1,4 @@
|
|||
import _ from 'underscore';
|
||||
import Vue from 'vue';
|
||||
import pipelinesComp from '~/pipelines/components/pipelines.vue';
|
||||
import Store from '~/pipelines/stores/pipelines_store';
|
||||
|
|
|
|||
|
|
@ -1,3 +1,4 @@
|
|||
import _ from 'underscore';
|
||||
import Vue from 'vue';
|
||||
import stage from '~/pipelines/components/stage.vue';
|
||||
|
||||
|
|
|
|||
|
|
@ -1,3 +1,4 @@
|
|||
import _ from 'underscore';
|
||||
import Vue from 'vue';
|
||||
import registry from '~/registry/components/app.vue';
|
||||
import mountComponent from '../../helpers/vue_mount_component_helper';
|
||||
|
|
|
|||
|
|
@ -1,3 +1,4 @@
|
|||
import _ from 'underscore';
|
||||
import Vue from 'vue';
|
||||
import SidebarAssignees from '~/sidebar/components/assignees/sidebar_assignees';
|
||||
import SidebarMediator from '~/sidebar/sidebar_mediator';
|
||||
|
|
|
|||
|
|
@ -1,3 +1,4 @@
|
|||
import _ from 'underscore';
|
||||
import Vue from 'vue';
|
||||
import * as urlUtils from '~/lib/utils/url_utility';
|
||||
import SidebarMediator from '~/sidebar/sidebar_mediator';
|
||||
|
|
|
|||
|
|
@ -1,3 +1,4 @@
|
|||
import _ from 'underscore';
|
||||
import Vue from 'vue';
|
||||
import SidebarMediator from '~/sidebar/sidebar_mediator';
|
||||
import SidebarStore from '~/sidebar/stores/sidebar_store';
|
||||
|
|
|
|||
|
|
@ -1,3 +1,4 @@
|
|||
import _ from 'underscore';
|
||||
import SmartInterval from '~/smart_interval';
|
||||
|
||||
describe('SmartInterval', function () {
|
||||
|
|
|
|||
|
|
@ -1,6 +1,5 @@
|
|||
/* eslint-disable jasmine/no-global-setup */
|
||||
import $ from 'jquery';
|
||||
import _ from 'underscore';
|
||||
import 'jasmine-jquery';
|
||||
import '~/commons';
|
||||
|
||||
|
|
@ -31,7 +30,6 @@ jasmine.getJSONFixtures().fixturesPath = '/base/spec/javascripts/fixtures';
|
|||
|
||||
// globalize common libraries
|
||||
window.$ = window.jQuery = $;
|
||||
window._ = _;
|
||||
|
||||
// stub expected globals
|
||||
window.gl = window.gl || {};
|
||||
|
|
|
|||
|
|
@ -1,3 +1,4 @@
|
|||
import _ from 'underscore';
|
||||
import Vue from 'vue';
|
||||
import UserAvatarLink from '~/vue_shared/components/user_avatar/user_avatar_link.vue';
|
||||
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
/* global Mousetrap */
|
||||
import Mousetrap from 'mousetrap';
|
||||
import Dropzone from 'dropzone';
|
||||
import ZenMode from '~/zen_mode';
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue