mirror of
https://github.com/yu-i-i/overleaf-cep.git
synced 2026-05-23 09:09:36 +02:00
Merge pull request #17162 from overleaf/em-handle-comments
Handle comment updates in project-history GitOrigin-RevId: 46f0043c1c20200bdb665e66643a7870c18d797f
This commit is contained in:
@@ -1,30 +1,61 @@
|
||||
exports.Author = require('./lib/author')
|
||||
exports.AuthorList = require('./lib/author_list')
|
||||
exports.Blob = require('./lib/blob')
|
||||
exports.Change = require('./lib/change')
|
||||
exports.ChangeRequest = require('./lib/change_request')
|
||||
exports.ChangeNote = require('./lib/change_note')
|
||||
exports.Chunk = require('./lib/chunk')
|
||||
exports.ChunkResponse = require('./lib/chunk_response')
|
||||
exports.File = require('./lib/file')
|
||||
exports.FileMap = require('./lib/file_map')
|
||||
exports.History = require('./lib/history')
|
||||
exports.Label = require('./lib/label')
|
||||
exports.AddFileOperation = require('./lib/operation/add_file_operation')
|
||||
exports.MoveFileOperation = require('./lib/operation/move_file_operation')
|
||||
exports.EditFileOperation = require('./lib/operation/edit_file_operation')
|
||||
exports.EditNoOperation = require('./lib/operation/edit_no_operation')
|
||||
exports.AddCommentOperation = require('./lib/operation/add_comment_operation')
|
||||
exports.DeleteCommentOperation = require('./lib/operation/delete_comment_operation')
|
||||
exports.SetFileMetadataOperation = require('./lib/operation/set_file_metadata_operation')
|
||||
exports.NoOperation = require('./lib/operation/no_operation')
|
||||
exports.Operation = require('./lib/operation')
|
||||
exports.RestoreOrigin = require('./lib/origin/restore_origin')
|
||||
exports.Origin = require('./lib/origin')
|
||||
exports.OtClient = require('./lib/ot_client')
|
||||
exports.TextOperation = require('./lib/operation/text_operation')
|
||||
exports.EditOperation = require('./lib/operation/edit_operation')
|
||||
exports.safePathname = require('./lib/safe_pathname')
|
||||
exports.Snapshot = require('./lib/snapshot')
|
||||
exports.util = require('./lib/util')
|
||||
exports.V2DocVersions = require('./lib/v2_doc_versions')
|
||||
const AddCommentOperation = require('./lib/operation/add_comment_operation')
|
||||
const Author = require('./lib/author')
|
||||
const AuthorList = require('./lib/author_list')
|
||||
const Blob = require('./lib/blob')
|
||||
const Change = require('./lib/change')
|
||||
const ChangeRequest = require('./lib/change_request')
|
||||
const ChangeNote = require('./lib/change_note')
|
||||
const Chunk = require('./lib/chunk')
|
||||
const ChunkResponse = require('./lib/chunk_response')
|
||||
const DeleteCommentOperation = require('./lib/operation/delete_comment_operation')
|
||||
const File = require('./lib/file')
|
||||
const FileMap = require('./lib/file_map')
|
||||
const History = require('./lib/history')
|
||||
const Label = require('./lib/label')
|
||||
const AddFileOperation = require('./lib/operation/add_file_operation')
|
||||
const MoveFileOperation = require('./lib/operation/move_file_operation')
|
||||
const EditFileOperation = require('./lib/operation/edit_file_operation')
|
||||
const EditNoOperation = require('./lib/operation/edit_no_operation')
|
||||
const SetFileMetadataOperation = require('./lib/operation/set_file_metadata_operation')
|
||||
const NoOperation = require('./lib/operation/no_operation')
|
||||
const Operation = require('./lib/operation')
|
||||
const RestoreOrigin = require('./lib/origin/restore_origin')
|
||||
const Origin = require('./lib/origin')
|
||||
const OtClient = require('./lib/ot_client')
|
||||
const TextOperation = require('./lib/operation/text_operation')
|
||||
const EditOperation = require('./lib/operation/edit_operation')
|
||||
const safePathname = require('./lib/safe_pathname')
|
||||
const Snapshot = require('./lib/snapshot')
|
||||
const util = require('./lib/util')
|
||||
const V2DocVersions = require('./lib/v2_doc_versions')
|
||||
|
||||
exports.AddCommentOperation = AddCommentOperation
|
||||
exports.Author = Author
|
||||
exports.AuthorList = AuthorList
|
||||
exports.Blob = Blob
|
||||
exports.Change = Change
|
||||
exports.ChangeRequest = ChangeRequest
|
||||
exports.ChangeNote = ChangeNote
|
||||
exports.Chunk = Chunk
|
||||
exports.ChunkResponse = ChunkResponse
|
||||
exports.DeleteCommentOperation = DeleteCommentOperation
|
||||
exports.File = File
|
||||
exports.FileMap = FileMap
|
||||
exports.History = History
|
||||
exports.Label = Label
|
||||
exports.AddFileOperation = AddFileOperation
|
||||
exports.MoveFileOperation = MoveFileOperation
|
||||
exports.EditFileOperation = EditFileOperation
|
||||
exports.EditNoOperation = EditNoOperation
|
||||
exports.SetFileMetadataOperation = SetFileMetadataOperation
|
||||
exports.NoOperation = NoOperation
|
||||
exports.Operation = Operation
|
||||
exports.RestoreOrigin = RestoreOrigin
|
||||
exports.Origin = Origin
|
||||
exports.OtClient = OtClient
|
||||
exports.TextOperation = TextOperation
|
||||
exports.EditOperation = EditOperation
|
||||
exports.safePathname = safePathname
|
||||
exports.Snapshot = Snapshot
|
||||
exports.util = util
|
||||
exports.V2DocVersions = V2DocVersions
|
||||
|
||||
@@ -29,16 +29,16 @@ class Operation {
|
||||
* @return {Operation} one of the subclasses
|
||||
*/
|
||||
static fromRaw(raw) {
|
||||
if (Object.prototype.hasOwnProperty.call(raw, 'file')) {
|
||||
if ('file' in raw) {
|
||||
return AddFileOperation.fromRaw(raw)
|
||||
}
|
||||
if (Object.prototype.hasOwnProperty.call(raw, 'textOperation')) {
|
||||
if ('textOperation' in raw || 'commentId' in raw) {
|
||||
return EditFileOperation.fromRaw(raw)
|
||||
}
|
||||
if (Object.prototype.hasOwnProperty.call(raw, 'newPathname')) {
|
||||
if ('newPathname' in raw) {
|
||||
return new MoveFileOperation(raw.pathname, raw.newPathname)
|
||||
}
|
||||
if (Object.prototype.hasOwnProperty.call(raw, 'metadata')) {
|
||||
if ('metadata' in raw) {
|
||||
return new SetFileMetadataOperation(raw.pathname, raw.metadata)
|
||||
}
|
||||
if (_.isEmpty(raw)) {
|
||||
|
||||
@@ -32,9 +32,7 @@ describe('DeleteCommentOperation', function () {
|
||||
const fileData = new StringFileData('abc')
|
||||
const op = new DeleteCommentOperation('123')
|
||||
fileData.comments.add('123', new Comment([new Range(0, 1)]))
|
||||
const invertedOp = /** @type {InstanceType<AddCommentOperation>} */ (
|
||||
op.invert(fileData)
|
||||
)
|
||||
const invertedOp = /** @type {AddCommentOperation} */ (op.invert(fileData))
|
||||
expect(invertedOp).to.be.instanceOf(AddCommentOperation)
|
||||
expect(invertedOp.commentId).to.equal('123')
|
||||
expect(invertedOp.comment).to.be.instanceOf(Comment)
|
||||
|
||||
Reference in New Issue
Block a user