// JS import * as StackTrace from 'stacktrace-js' // import 'expose-loader?exposes=$,jQuery!jquery'; // Needs be done with expose otherwise other imports error "jQuery/$ is not defined." e.g. plugins like i18n. // import _ from 'underscore'; // no longer needed here after importing differently in webpack config. import 'backbone'; // does not seem to need expose loader. import * as moment from 'moment'; import './framework/jquery.i18n.js'; import html2canvas from 'html2canvas'; // Vue imports import { createApp, reactive } from 'vue'; // If there are any errors relating to 'vue' remember the alias in webpack.config points to the vue runtime import main_ui_router from '@/components/main_ui_router'; import TTMainUI from '@/components/TTMainUI.vue'; import PrimeVue from 'primevue/config'; import Tooltip from 'primevue/tooltip'; import Ripple from 'primevue/ripple'; import Toast from 'primevue/toast'; import ToastService from 'primevue/toastservice'; import BadgeDirective from 'primevue/badgedirective'; import TTEventBus from '@/services/TTEventBus'; // import 'expose-loader?exposes=Global|Global!@/global/Global'; import { Global } from '@/global/Global'; import { LocalCacheData } from '@/global/LocalCacheData'; import { Base } from '@/model/Base'; import { BaseWindowController } from '@/views/BaseWindowController'; import { ServiceCaller } from '@/services/ServiceCaller'; import { BaseViewController } from '@/views/BaseViewController'; import { TTAPI } from '@/services/TimeTrexClientAPI'; import { NotificationConsumerObj } from '@/services/NotificationConsumer'; import { IndexViewController } from '@/IndexController'; // import { ReportBaseViewController } from '@/views/reports/ReportBaseViewController'; // Moved to post-login-app-dependancies import { TTUUID } from '@/global/TTUUID'; import { TTPromise } from '@/global/TTPromise';// Potentially the same issue as ProgressBar (multiple instances, no single state), so lets just make it global to be safe. import { ProgressBar } from '@/global/ProgressBarManager'; // Must only be imported in one place, otherwise multiple instances could be loaded and clash by leaving open Progressbars. e.g. Seen in TimeSheet import { BaseWizardController } from '@/views/wizard/BaseWizardController'; import { PermissionManager } from '@/global/PermissionManager'; import { TAlertManager } from '@/global/TAlertManager'; //import { TopMenuManager } from 'exports-loader?exports=TopMenuManager!@/global/TopMenuManager'; import ContextMenuManager from '@/components/context_menu/ContextMenuManager'; import MenuManager from '@/components/main_menu/MenuManager'; import '@/global/widgets/text_input/TTextInput.js'; import '@/global/widgets/text_input/TPasswordInput.js'; import '@/global/widgets/combobox/TComboBox.js'; // Main execution for imported code window.html2canvas = html2canvas; window.StackTrace = StackTrace; window.moment = moment; // Function(jQueryBaResize)(); // Need this to execute in correct scope where this=window, otherwise the 'this' value in the jquery plugin results to {} instead of real window, as the 'this' param passed into the plugins IIFE is not window, but {}, which means `window` in plugin = {}. Results in error: "TypeError: window[str_setTimeout] is not a function" // not needed if cookie script included in html