Files
edx-platform/lms/static/js/edxnotes/models/note.js
2016-08-05 15:29:20 -04:00

61 lines
1.8 KiB
JavaScript

(function(define) {
'use strict';
define(['backbone', 'js/edxnotes/utils/utils', 'underscore.string'], function(Backbone, Utils, str) {
var NoteModel = Backbone.Model.extend({
defaults: {
'id': null,
'created': '',
'updated': '',
'user': '',
'usage_id': '',
'course_id': '',
'text': '',
'quote': '',
'ranges': [],
'tags': [],
'unit': {
'display_name': '',
'url': '',
'location': ''
},
'section': {
'display_name': '',
'location': '',
'children': []
},
'chapter': {
'display_name': '',
'location': '',
'index': 0,
'children': []
},
// Flag indicating current state of the note: expanded or collapsed.
'is_expanded': false,
// Flag indicating whether `More` link should be shown.
'show_link': false
},
textSize: 300,
initialize: function() {
if (this.get('quote').length > this.textSize) {
this.set('show_link', true);
}
},
getQuote: function() {
var message = this.get('quote');
if (!this.get('is_expanded') && this.get('show_link')) {
message = str.prune(message, this.textSize);
}
return message;
}
});
return NoteModel;
});
}).call(this, define || RequireJS.define);