CrosstabPropertyCallbacks.js 2.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889
  1. 'use strict';
  2. function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
  3. /**
  4. * Licensed Materials - Property of IBM
  5. * IBM Business Analytics (C) Copyright IBM Corp. 2019
  6. * US Government Users Restricted Rights - Use, duplication or disclosure restricted by GSA ADP Schedule Contract with IBM Corp.
  7. */
  8. /**
  9. * @class CrosstabPropertyCallbacks
  10. * @hideconstructor
  11. * @classdesc This class provides APIs for dashboard avtivity state
  12. */
  13. define(['underscore', '../../../widgets/livewidget/nls/StringResources'], function (_, StringResources) {
  14. var MIN_ROW_HEIGHT = 24;
  15. var MIN_COLUMN_WIDTH = 24;
  16. /**
  17. * this class is used in VisPropertyProvider.
  18. */
  19. var CrosstabPropertyCallbacks = function () {
  20. function CrosstabPropertyCallbacks() {
  21. _classCallCheck(this, CrosstabPropertyCallbacks);
  22. }
  23. CrosstabPropertyCallbacks.prototype.getAPI = function getAPI() {
  24. // we have to return implementation here.
  25. return this;
  26. };
  27. /**
  28. * validate the input for property input
  29. * @param {number} propertyValue
  30. * @param {number} range
  31. */
  32. CrosstabPropertyCallbacks.prototype._checkValidInput = function _checkValidInput(propertyValue, range) {
  33. if (isNaN(propertyValue)) {
  34. return this._buildValidateResponse(false, StringResources.get('prop_sizeInputNonNumericValue'));
  35. }
  36. if (parseInt(propertyValue) < range) {
  37. return this._buildValidateResponse(false, StringResources.get('prop_sizeValueShouldBeHigher', {
  38. value: range
  39. }));
  40. }
  41. return this._buildValidateResponse(true);
  42. };
  43. /**
  44. * validate the input for rowHeight property input
  45. * @param {number} rowHeightInput
  46. */
  47. CrosstabPropertyCallbacks.prototype.checkValidRowHeightInput = function checkValidRowHeightInput(_content, rowHeightInput) {
  48. return this._checkValidInput(rowHeightInput, MIN_ROW_HEIGHT);
  49. };
  50. /**
  51. * validate the input for columnWidth property input
  52. * @param {number} columnWidthInput
  53. */
  54. CrosstabPropertyCallbacks.prototype.checkValidColumnWidthInput = function checkValidColumnWidthInput(_content, columnWidthInput) {
  55. return this._checkValidInput(columnWidthInput, MIN_COLUMN_WIDTH);
  56. };
  57. /**
  58. * build validation response
  59. * @param {boolean} isValid
  60. * @param {string} message
  61. * @returns {object}
  62. */
  63. CrosstabPropertyCallbacks.prototype._buildValidateResponse = function _buildValidateResponse(isValid, message) {
  64. return { isValid: isValid, message: message };
  65. };
  66. return CrosstabPropertyCallbacks;
  67. }();
  68. return CrosstabPropertyCallbacks;
  69. });
  70. //# sourceMappingURL=CrosstabPropertyCallbacks.js.map