/* global MathJax */ /* eslint-disable camelcase, max-len, no-useless-escape, */ // TODO: This file was created by bulk-decaffeinate. // Fix any style issues and re-enable lint. /* * decaffeinate suggestions: * DS101: Remove unnecessary use of Array.from * DS102: Remove unnecessary code created because of implicit returns * DS103: Rewrite code to no longer use __guard__ * DS207: Consider shorter variations of null checks * Full docs: https://github.com/decaffeinate/decaffeinate/blob/master/docs/suggestions.md */ import './libraries' import './utils/sentry' import './modules/recursionHelper' import './modules/errorCatcher' import './modules/localStorage' import './modules/sessionStorage' // Configure dynamically loaded assets (via webpack) to be downloaded from CDN // See: https://webpack.js.org/guides/public-path/#on-the-fly // eslint-disable-next-line no-undef __webpack_public_path__ = window.baseAssetPath const App = angular .module('SharelatexApp', [ 'ui.bootstrap', 'autocomplete', 'RecursionHelper', 'ng-context-menu', 'ngSanitize', 'ipCookie', 'ErrorCatcher', 'localStorage', 'sessionStorage', 'ngTagsInput', 'ui.select' ]) .config(function($qProvider, $httpProvider, uiSelectConfig) { $qProvider.errorOnUnhandledRejections(false) uiSelectConfig.spinnerClass = 'fa fa-refresh ui-select-spin' return __guard__( typeof MathJax !== 'undefined' && MathJax !== null ? MathJax.Hub : undefined, x => x.Config({ messageStyle: 'none', imageFont: null, 'HTML-CSS': { availableFonts: ['TeX'], // MathJax's automatic font scaling does not work well when we render math // that isn't yet on the page, so we disable it and set a global font // scale factor scale: 110, matchFontHeight: false }, TeX: { equationNumbers: { autoNumber: 'AMS' }, useLabelIDs: false }, skipStartupTypeset: true, tex2jax: { processEscapes: true, // Dollar delimiters are added by the mathjax directive inlineMath: [['\\(', '\\)']], displayMath: [['$$', '$$'], ['\\[', '\\]']] } }) ) }) App.run($templateCache => // UI Select templates are hard-coded and use Glyphicon icons (which we don't import). // The line below simply overrides the hard-coded template with our own, which is // basically the same but using Font Awesome icons. $templateCache.put( 'bootstrap/match.tpl.html', '
' ) ) const sl_debugging = __guard__(window.location != null ? window.location.search : undefined, x => x.match(/debug=true/) ) != null var sl_console_last_log = null window.sl_debugging = sl_debugging // make a global flag for debugging code window.sl_console = { log(...args) { if (sl_debugging) { sl_console_last_log = null return console.log(...Array.from(args || [])) } }, logOnce(...args) { if (sl_debugging && args[0] !== sl_console_last_log) { sl_console_last_log = args[0] return console.log(...Array.from(args || [])) } } } export default App function __guard__(value, transform) { return typeof value !== 'undefined' && value !== null ? transform(value) : undefined }