(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);