| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111 |
- define [
- "base"
- "ide/file-tree/FileTreeManager"
- "ide/connection/ConnectionManager"
- "ide/editor/EditorManager"
- "ide/online-users/OnlineUsersManager"
- "ide/track-changes/TrackChangesManager"
- "ide/permissions/PermissionsManager"
- "ide/pdf/PdfManager"
- "ide/binary-files/BinaryFilesManager"
- "ide/settings/index"
- "ide/share/index"
- "ide/chat/index"
- "ide/clone/index"
- "ide/templates/index"
- "ide/dropbox/index"
- "ide/hotkeys/index"
- "ide/directives/layout"
- "ide/services/ide"
- "directives/focus"
- "directives/fineUpload"
- "directives/scroll"
- "directives/onEnter"
- "directives/stopPropagation"
- "directives/rightClick"
- "filters/formatDate"
- "main/event-tracking"
- ], (
- App
- FileTreeManager
- ConnectionManager
- EditorManager
- OnlineUsersManager
- TrackChangesManager
- PermissionsManager
- PdfManager
- BinaryFilesManager
- ) ->
- App.controller "IdeController", ["$scope", "$timeout", "ide", ($scope, $timeout, ide) ->
- # Don't freak out if we're already in an apply callback
- $scope.$originalApply = $scope.$apply
- $scope.$apply = (fn = () ->) ->
- phase = @$root.$$phase
- if (phase == '$apply' || phase == '$digest')
- fn()
- else
- this.$originalApply(fn);
- $scope.state = {
- loading: true
- load_progress: 40
- }
- $scope.ui = {
- leftMenuShown: false
- view: "editor"
- chatOpen: false
- pdfLayout: 'sideBySide'
- }
- $scope.user = window.user
- $scope.settings = window.userSettings
- $scope.anonymous = window.anonymous
- $scope.chat = {}
-
- $scope.startFreeTrial = (source) ->
- ga?('send', 'event', 'subscription-funnel', 'upgraded-free-trial', source)
- window.open("/user/subscription/new?planCode=student_free_trial")
- $scope.startedFreeTrial = true
- window._ide = ide
- ide.project_id = $scope.project_id = window.project_id
- ide.$scope = $scope
- ide.connectionManager = new ConnectionManager(ide, $scope)
- ide.fileTreeManager = new FileTreeManager(ide, $scope)
- ide.editorManager = new EditorManager(ide, $scope)
- ide.onlineUsersManager = new OnlineUsersManager(ide, $scope)
- ide.trackChangesManager = new TrackChangesManager(ide, $scope)
- ide.pdfManager = new PdfManager(ide, $scope)
- ide.permissionsManager = new PermissionsManager(ide, $scope)
- ide.binaryFilesManager = new BinaryFilesManager(ide, $scope)
-
- inited = false
- $scope.$on "project:joined", () ->
- return if inited
- inited = true
- if $scope.project.deletedByExternalDataSource
- ide.showGenericMessageModal("Project Renamed or Deleted", """
- This project has either been renamed or deleted by an external data source such as Dropbox.
- We don't want to delete your data on ShareLaTeX, so this project still contains your history and collaborators.
- If the project has been renamed please look in your project list for a new project under the new name.
- """)
-
- DARK_THEMES = [
- "ambiance", "chaos", "clouds_midnight", "cobalt", "idle_fingers",
- "merbivore", "merbivore_soft", "mono_industrial", "monokai",
- "pastel_on_dark", "solarized_dark", "terminal", "tomorrow_night",
- "tomorrow_night_blue", "tomorrow_night_bright", "tomorrow_night_eighties",
- "twilight", "vibrant_ink"
- ]
- $scope.darkTheme = false
- $scope.$watch "settings.theme", (theme) ->
- if theme in DARK_THEMES
- $scope.darkTheme = true
- else
- $scope.darkTheme = false
-
- ]
- angular.bootstrap(document.body, ["SharelatexApp"])
|