mirror of
https://github.com/overleaf/overleaf.git
synced 2024-11-21 20:47:08 -05:00
Update labels when docs are uploaded or removed
This commit is contained in:
parent
feb1d87de1
commit
ff7955dfdb
6 changed files with 20 additions and 27 deletions
|
@ -20,7 +20,7 @@ module.exports = LabelsController =
|
|||
if err?
|
||||
logger.err {project_id, doc_id, err}, "[LabelsController] error getting labels from doc"
|
||||
return next(err)
|
||||
EditorRealTimeController.emitToRoom project_id, 'doc:labels:updated', {
|
||||
EditorRealTimeController.emitToRoom project_id, 'docLabelsUpdated', {
|
||||
docId: doc_id, labels: docLabels
|
||||
}
|
||||
res.json {projectId: project_id, docId: doc_id, labels: docLabels}
|
||||
|
|
|
@ -51,3 +51,4 @@ module.exports = ProjectUploadController =
|
|||
project_id: project_id, file_path: path, file_name: name, folder_id: folder_id
|
||||
"uploaded file"
|
||||
res.send success: true, entity_id: entity?._id
|
||||
|
||||
|
|
|
@ -172,7 +172,7 @@ define [
|
|||
# User can append ?ft=somefeature to url to activate a feature toggle
|
||||
ide.featureToggle = location?.search?.match(/^\?ft=(\w+)$/)?[1]
|
||||
|
||||
ide.socket.on 'doc:labels:updated', (data) ->
|
||||
ide.socket.on 'docLabelsUpdated', (data) ->
|
||||
$scope.$broadcast 'doc:labels:updated', data
|
||||
|
||||
angular.bootstrap(document.body, ["SharelatexApp"])
|
||||
|
|
|
@ -27,6 +27,13 @@ define [
|
|||
if data.docId and data.labels
|
||||
@state.documents[data.docId] = data.labels
|
||||
|
||||
@$scope.$on 'entity:deleted', (e, entity) =>
|
||||
if entity.type == 'doc'
|
||||
delete @state.documents[entity.id]
|
||||
|
||||
@$scope.$on 'file:upload:complete', (e, entityId) =>
|
||||
@loadDocLabelsFromServer(entityId)
|
||||
|
||||
onChange = (change) =>
|
||||
if change.remote
|
||||
return
|
||||
|
@ -66,34 +73,17 @@ define [
|
|||
)
|
||||
|
||||
loadCurrentDocLabelsFromServer: () ->
|
||||
currentDocId = @$scope.docId
|
||||
@loadDocLabelsFromServer(currentDocId)
|
||||
|
||||
loadDocLabelsFromServer: (docId) ->
|
||||
$.get(
|
||||
"/project/#{window.project_id}/#{@$scope.docId}/labels"
|
||||
"/project/#{window.project_id}/#{docId}/labels"
|
||||
, (data) =>
|
||||
if data.docId and data.labels
|
||||
@state.documents[data.docId] = data.labels
|
||||
)
|
||||
|
||||
# loadLabelsFromOpenDoc: () ->
|
||||
# docId = @$scope.docId
|
||||
# docText = @editor.getValue()
|
||||
# labels = []
|
||||
# re = /\\label\{([^\}\n\\]{0,80})\}/g
|
||||
# while (labelMatch = re.exec(docText)) and labels.length < 1000
|
||||
# if labelMatch[1]
|
||||
# labels.push(labelMatch[1])
|
||||
# @state.documents[docId] = labels
|
||||
|
||||
# scheduleLoadLabelsFromOpenDoc: () ->
|
||||
# # De-bounce loading labels with a timeout
|
||||
# if @loadLabelsTimeout
|
||||
# clearTimeout(@loadLabelsTimeout)
|
||||
# @loadLabelsTimeout = setTimeout(
|
||||
# () =>
|
||||
# @loadLabelsFromOpenDoc()
|
||||
# , 1000
|
||||
# , this
|
||||
# )
|
||||
|
||||
scheduleLoadCurrentDocLabelsFromServer: () ->
|
||||
# De-bounce loading labels with a timeout
|
||||
if @loadLabelsTimeout
|
||||
|
|
|
@ -71,7 +71,7 @@ define [
|
|||
@$scope.$apply () =>
|
||||
@_deleteEntityFromScope entity
|
||||
@recalculateDocList()
|
||||
@$scope.$emit "entity:deleted", entity
|
||||
@$scope.$broadcast "entity:deleted", entity
|
||||
|
||||
@ide.socket.on "reciveEntityMove", (entity_id, folder_id) =>
|
||||
entity = @findEntityById(entity_id)
|
||||
|
|
|
@ -107,8 +107,8 @@ define [
|
|||
]
|
||||
|
||||
App.controller "UploadFileModalController", [
|
||||
"$scope", "ide", "$modalInstance", "$timeout", "parent_folder", "$window"
|
||||
($scope, ide, $modalInstance, $timeout, parent_folder, $window) ->
|
||||
"$scope", "$rootScope", "ide", "$modalInstance", "$timeout", "parent_folder", "$window"
|
||||
($scope, $rootScope, ide, $modalInstance, $timeout, parent_folder, $window) ->
|
||||
$scope.parent_folder_id = parent_folder?.id
|
||||
$scope.tooManyFiles = false
|
||||
$scope.rateLimitHit = false
|
||||
|
@ -134,6 +134,8 @@ define [
|
|||
$scope.onComplete = (error, name, response) ->
|
||||
$timeout (() ->
|
||||
uploadCount--
|
||||
if response.success
|
||||
$rootScope.$broadcast 'file:upload:complete', response.entity_id
|
||||
if uploadCount == 0 and response? and response.success
|
||||
$modalInstance.close("done")
|
||||
), 250
|
||||
|
|
Loading…
Reference in a new issue