szurubooru/client/js/models/note.js
2016-08-05 23:02:41 +02:00

34 lines
814 B
JavaScript

'use strict';
const events = require('../events.js');
const Point = require('./point.js');
const PointList = require('./point_list.js');
class Note extends events.EventTarget {
constructor() {
super();
this._text = '…';
this._polygon = new PointList();
}
get text() { return this._text; }
get polygon() { return this._polygon; }
set text(value) { this._text = value; }
static fromResponse(response) {
const note = new Note();
note._updateFromResponse(response);
return note;
}
_updateFromResponse(response) {
this._text = response.text;
this._polygon.clear();
for (let point of response.polygon) {
this._polygon.add(new Point(point[0], point[1]));
}
}
}
module.exports = Note;