42 lines
994 B
JavaScript
42 lines
994 B
JavaScript
import IIIFResource from './IIIFResource.js';
|
|
import Canvas from './Canvas.js';
|
|
/**
|
|
* @todo Not needed in IIIF API v3,
|
|
* replaced by items
|
|
* @implements IIIFResource
|
|
*/
|
|
class Sequence {
|
|
canvases = [];
|
|
id = '';
|
|
#type = 'sc:Sequence';
|
|
resourceId = '';
|
|
|
|
constructor(baseUrl) {
|
|
this.BASE_URL = baseUrl;
|
|
}
|
|
/**
|
|
* @param {string} resourceId The resource ID for this sequence
|
|
* @param {int|string} name A unique name for this sequence
|
|
*/
|
|
generateID(resourceId, name) {
|
|
this.id = `${this.BASE_URL}/${resourceId}/sequence/${name}`;
|
|
this.resourceId = resourceId;
|
|
}
|
|
/**
|
|
* @param {Canvas} canvas The Canvas object
|
|
*/
|
|
addCanvas(canvas) {
|
|
this.canvases.push(canvas.toObject());
|
|
}
|
|
/**
|
|
* @todo Implement
|
|
*/
|
|
toObject() {
|
|
return {
|
|
"@id" : this.id,
|
|
"@type" : this.#type,
|
|
canvases : this.canvases
|
|
}
|
|
}
|
|
}
|
|
export default Sequence; |