mirror of
https://gerrit.wikimedia.org/r/mediawiki/extensions/RevisionSlider
synced 2024-11-15 11:40:43 +00:00
ddcd65f4de
Change-Id: I8e06c9eeb47688741a95bca8f996b2148b03028c
73 lines
1.1 KiB
JavaScript
73 lines
1.1 KiB
JavaScript
/**
|
|
* @external PointerLine
|
|
* @external PointerView
|
|
*/
|
|
( function () {
|
|
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
|
|
};
|
|
}() );
|