readOnly.js 1.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445
  1. 'use strict';
  2. exports.__esModule = true;
  3. exports.KEY = undefined;
  4. exports.default = readOnlyItem;
  5. var _utils = require('./../utils');
  6. var KEY = exports.KEY = 'make_read_only';
  7. function readOnlyItem() {
  8. return {
  9. key: KEY,
  10. name: function name() {
  11. var _this = this;
  12. var label = 'Read only';
  13. var atLeastOneReadOnly = (0, _utils.checkSelectionConsistency)(this.getSelectedRange(), function (row, col) {
  14. return _this.getCellMeta(row, col).readOnly;
  15. });
  16. if (atLeastOneReadOnly) {
  17. label = (0, _utils.markLabelAsSelected)(label);
  18. }
  19. return label;
  20. },
  21. callback: function callback() {
  22. var _this2 = this;
  23. var range = this.getSelectedRange();
  24. var atLeastOneReadOnly = (0, _utils.checkSelectionConsistency)(range, function (row, col) {
  25. return _this2.getCellMeta(row, col).readOnly;
  26. });
  27. range.forAll(function (row, col) {
  28. _this2.setCellMeta(row, col, 'readOnly', !atLeastOneReadOnly);
  29. });
  30. this.render();
  31. },
  32. disabled: function disabled() {
  33. return !(this.getSelectedRange() && !this.selection.selectedHeader.corner);
  34. }
  35. };
  36. }