Use automerge for defaults and ensure correct typing.
Review Request #13895 — Created May 24, 2024 and submitted — Latest diff uploaded
This change accomplishes 3 things related to the
defaults
member for
models.First, it fixes up the typing for the
defaults
definitions in all the
models that we've implemented so far to beResult<Partial<AttrsType>>
.Second, for things that inherit from base classes, we now rely on
automerge instead of manually calling_.defaults()
.Finally, we had a few instances where the defaults were including
objects or arrays but were implemented as a plain object instead of a
function. We've had problems in the past where these weren't deep
copied, and multiple objects ended up sharing the same object or array
value. These have been fixed up to always be a function that returns new
data.
Ran js-tests.
Diff Revision 1 (Latest)
Commits
Files
reviewboard/static/rb/js/common/actions/models/actionModel.ts |
---|
reviewboard/static/rb/js/common/actions/models/menuActionModel.ts |
---|
reviewboard/static/rb/js/common/models/userSessionModel.ts |
---|
reviewboard/static/rb/js/reviews/models/abstractCommentBlockModel.ts |
---|
reviewboard/static/rb/js/reviews/models/abstractReviewableModel.ts |
---|
reviewboard/static/rb/js/reviews/models/commentEditorModel.ts |
---|
reviewboard/static/rb/js/reviews/models/commentIssueManagerModel.ts |
---|
reviewboard/static/rb/js/reviews/models/diffCommentBlockModel.ts |
---|
reviewboard/static/rb/js/reviews/models/diffCommentsHintModel.ts |
---|
reviewboard/static/rb/js/reviews/models/diffFileModel.ts |
---|
reviewboard/static/rb/js/reviews/models/diffReviewableModel.ts |
---|
reviewboard/static/rb/js/reviews/models/diffViewerPageModel.ts |
---|
reviewboard/static/rb/js/reviews/models/fileAttachmentCommentBlockModel.ts |
---|
reviewboard/static/rb/js/reviews/models/fileAttachmentReviewableModel.ts |
---|
reviewboard/static/rb/js/reviews/models/imageReviewableModel.ts |
---|
reviewboard/static/rb/js/reviews/models/regionCommentBlockModel.ts |
---|
reviewboard/static/rb/js/reviews/models/reviewRequestEditorModel.ts |
---|
reviewboard/static/rb/js/reviews/models/reviewablePageModel.ts |
---|
reviewboard/static/rb/js/reviews/models/screenshotCommentBlockModel.ts |
---|
reviewboard/static/rb/js/reviews/models/screenshotReviewableModel.ts |
---|
reviewboard/static/rb/js/reviews/models/textBasedReviewableModel.ts |
---|
reviewboard/static/rb/js/reviews/models/textCommentBlockModel.ts |
---|
reviewboard/static/rb/js/reviews/models/unifiedBannerModel.ts |
---|
reviewboard/static/rb/js/ui/models/contentViewport.ts |
---|
reviewboard/static/rb/js/ui/views/dndUploaderView.ts |
---|