| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124 |
- var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();
- function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
- /**
- * CellCoords holds cell coordinates (row, column) and few method to validate them and
- * retrieve as an array or an object
- *
- * @class CellCoords
- */
- var CellCoords = function () {
- /**
- * @param {Number} row Row index
- * @param {Number} col Column index
- */
- function CellCoords(row, col) {
- _classCallCheck(this, CellCoords);
- if (typeof row !== 'undefined' && typeof col !== 'undefined') {
- this.row = row;
- this.col = col;
- } else {
- this.row = null;
- this.col = null;
- }
- }
- /**
- * Checks if given set of coordinates is valid in context of a given Walkontable instance
- *
- * @param {Walkontable} wotInstance
- * @returns {Boolean}
- */
- _createClass(CellCoords, [{
- key: 'isValid',
- value: function isValid(wotInstance) {
- // is it a valid cell index (0 or higher)
- if (this.row < 0 || this.col < 0) {
- return false;
- }
- // is selection within total rows and columns
- if (this.row >= wotInstance.getSetting('totalRows') || this.col >= wotInstance.getSetting('totalColumns')) {
- return false;
- }
- return true;
- }
- /**
- * Checks if this cell coords are the same as cell coords given as a parameter
- *
- * @param {CellCoords} cellCoords
- * @returns {Boolean}
- */
- }, {
- key: 'isEqual',
- value: function isEqual(cellCoords) {
- if (cellCoords === this) {
- return true;
- }
- return this.row === cellCoords.row && this.col === cellCoords.col;
- }
- /**
- * Checks if tested coordinates are positioned in south-east from this cell coords
- *
- * @param {Object} testedCoords
- * @returns {Boolean}
- */
- }, {
- key: 'isSouthEastOf',
- value: function isSouthEastOf(testedCoords) {
- return this.row >= testedCoords.row && this.col >= testedCoords.col;
- }
- /**
- * Checks if tested coordinates are positioned in north-east from this cell coords
- *
- * @param {Object} testedCoords
- * @returns {Boolean}
- */
- }, {
- key: 'isNorthWestOf',
- value: function isNorthWestOf(testedCoords) {
- return this.row <= testedCoords.row && this.col <= testedCoords.col;
- }
- /**
- * Checks if tested coordinates are positioned in south-west from this cell coords
- *
- * @param {Object} testedCoords
- * @returns {Boolean}
- */
- }, {
- key: 'isSouthWestOf',
- value: function isSouthWestOf(testedCoords) {
- return this.row >= testedCoords.row && this.col <= testedCoords.col;
- }
- /**
- * Checks if tested coordinates are positioned in north-east from this cell coords
- *
- * @param {Object} testedCoords
- * @returns {Boolean}
- */
- }, {
- key: 'isNorthEastOf',
- value: function isNorthEastOf(testedCoords) {
- return this.row <= testedCoords.row && this.col >= testedCoords.col;
- }
- }]);
- return CellCoords;
- }();
- export default CellCoords;
|