| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152 |
- define [
- "base"
- "ide/permissions/PermissionsManager"
- ], (App, PermissionsManager) ->
-
- POLLING_INTERVAL = 15
- ONE_MIN_MILI = 1000 * 60
- cachedState =
- gotLinkStatus: false
- startedLinkProcess: false
- userIsLinkedToDropbox: false
- hasDropboxFeature: false
- App.controller "DropboxController", ($scope, $modal, ide) ->
- $scope.openDropboxModal = () ->
- $modal.open {
- templateUrl: "dropboxModalTemplate"
- controller: "DropboxModalController"
- scope:$scope
- }
- App.controller "DropboxModalController", ($scope, $modalInstance, ide, $timeout) ->
- user_id = ide.$scope.user.id
- $scope.dbState = cachedState
- $scope.dbState.hasDropboxFeature = $scope.project.features.dropbox
-
- calculatePollTime = ->
- ide.socket.emit "getLastTimePollHappned", (err, lastTimePollHappened)=>
- milisecondsSinceLastPoll = new Date().getTime() - lastTimePollHappened
- roundedMinsSinceLastPoll = Math.round(milisecondsSinceLastPoll / ONE_MIN_MILI)
- $scope.dbState.minsTillNextPoll = POLLING_INTERVAL - roundedMinsSinceLastPoll
- $scope.dbState.percentageLeftTillNextPoll = ((roundedMinsSinceLastPoll / POLLING_INTERVAL) * 100)
- $timeout calculatePollTime, 60 * 1000
- ide.socket.emit "getUserDropboxLinkStatus", user_id, (err, status)=>
- $scope.dbState.gotLinkStatus = true
- if status.registered
- calculatePollTime()
- $scope.dbState.userIsLinkedToDropbox = true
- cachedState = $scope.dbState
-
- $scope.linkToDropbox = ->
- window.open("/user/settings#dropboxSettings")
- $scope.startedLinkProcess = true
- $scope.cancel = () ->
- $modalInstance.dismiss()
|