mediawiki-extensions-Revisi.../modules/ext.RevisionSlider.Pointer.js

71 lines
1.1 KiB
JavaScript
Raw Normal View History

/**
* @external PointerLine
* @external PointerView
*/
var PointerLine = require( './ext.RevisionSlider.PointerLine.js' ),
PointerView = require( './ext.RevisionSlider.PointerView.js' );
/**
* Module containing logic for the revision pointers
*
* @class Pointer
* @param {string} name
* @constructor
*/
function Pointer( name ) {
this.view = new PointerView( this, name );
this.line = new PointerLine( this, name );
}
$.extend( Pointer.prototype, {
/**
* @type {number}
*/
position: 0,
/**
* @type {PointerView}
*/
view: null,
/**
* @type {PointerLine}
*/
line: null,
/**
* @param {number} p
*/
setPosition: function ( p ) {
this.position = p;
this.getView().setDataPositionAttribute( p );
},
/**
* @return {number}
*/
getPosition: function () {
return this.position;
},
/**
* @return {PointerView}
*/
getView: function () {
return this.view;
},
/**
* @return {PointerLine}
*/
getLine: function () {
return this.line;
}
} );
module.exports = {
Pointer: Pointer,
PointerLine: PointerLine,
PointerView: PointerView
};