alignment.js 9.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306
  1. 'use strict';
  2. exports.__esModule = true;
  3. exports.KEY = undefined;
  4. exports.default = alignmentItem;
  5. var _utils = require('./../utils');
  6. var _separator = require('./separator');
  7. var KEY = exports.KEY = 'alignment';
  8. function alignmentItem() {
  9. return {
  10. key: KEY,
  11. name: 'Alignment',
  12. disabled: function disabled() {
  13. return !(this.getSelectedRange() && !this.selection.selectedHeader.corner);
  14. },
  15. submenu: {
  16. items: [{
  17. key: KEY + ':left',
  18. name: function name() {
  19. var _this = this;
  20. var label = 'Left';
  21. var hasClass = (0, _utils.checkSelectionConsistency)(this.getSelectedRange(), function (row, col) {
  22. var className = _this.getCellMeta(row, col).className;
  23. if (className && className.indexOf('htLeft') !== -1) {
  24. return true;
  25. }
  26. });
  27. if (hasClass) {
  28. label = (0, _utils.markLabelAsSelected)(label);
  29. }
  30. return label;
  31. },
  32. callback: function callback() {
  33. var _this2 = this;
  34. var range = this.getSelectedRange();
  35. var stateBefore = (0, _utils.getAlignmentClasses)(range, function (row, col) {
  36. return _this2.getCellMeta(row, col).className;
  37. });
  38. var type = 'horizontal';
  39. var alignment = 'htLeft';
  40. this.runHooks('beforeCellAlignment', stateBefore, range, type, alignment);
  41. (0, _utils.align)(range, type, alignment, function (row, col) {
  42. return _this2.getCellMeta(row, col);
  43. }, function (row, col, key, value) {
  44. return _this2.setCellMeta(row, col, key, value);
  45. });
  46. this.render();
  47. },
  48. disabled: false
  49. }, {
  50. key: KEY + ':center',
  51. name: function name() {
  52. var _this3 = this;
  53. var label = 'Center';
  54. var hasClass = (0, _utils.checkSelectionConsistency)(this.getSelectedRange(), function (row, col) {
  55. var className = _this3.getCellMeta(row, col).className;
  56. if (className && className.indexOf('htCenter') !== -1) {
  57. return true;
  58. }
  59. });
  60. if (hasClass) {
  61. label = (0, _utils.markLabelAsSelected)(label);
  62. }
  63. return label;
  64. },
  65. callback: function callback() {
  66. var _this4 = this;
  67. var range = this.getSelectedRange();
  68. var stateBefore = (0, _utils.getAlignmentClasses)(range, function (row, col) {
  69. return _this4.getCellMeta(row, col).className;
  70. });
  71. var type = 'horizontal';
  72. var alignment = 'htCenter';
  73. this.runHooks('beforeCellAlignment', stateBefore, range, type, alignment);
  74. (0, _utils.align)(range, type, alignment, function (row, col) {
  75. return _this4.getCellMeta(row, col);
  76. }, function (row, col, key, value) {
  77. return _this4.setCellMeta(row, col, key, value);
  78. });
  79. this.render();
  80. },
  81. disabled: false
  82. }, {
  83. key: KEY + ':right',
  84. name: function name() {
  85. var _this5 = this;
  86. var label = 'Right';
  87. var hasClass = (0, _utils.checkSelectionConsistency)(this.getSelectedRange(), function (row, col) {
  88. var className = _this5.getCellMeta(row, col).className;
  89. if (className && className.indexOf('htRight') !== -1) {
  90. return true;
  91. }
  92. });
  93. if (hasClass) {
  94. label = (0, _utils.markLabelAsSelected)(label);
  95. }
  96. return label;
  97. },
  98. callback: function callback() {
  99. var _this6 = this;
  100. var range = this.getSelectedRange();
  101. var stateBefore = (0, _utils.getAlignmentClasses)(range, function (row, col) {
  102. return _this6.getCellMeta(row, col).className;
  103. });
  104. var type = 'horizontal';
  105. var alignment = 'htRight';
  106. this.runHooks('beforeCellAlignment', stateBefore, range, type, alignment);
  107. (0, _utils.align)(range, type, alignment, function (row, col) {
  108. return _this6.getCellMeta(row, col);
  109. }, function (row, col, key, value) {
  110. return _this6.setCellMeta(row, col, key, value);
  111. });
  112. this.render();
  113. },
  114. disabled: false
  115. }, {
  116. key: KEY + ':justify',
  117. name: function name() {
  118. var _this7 = this;
  119. var label = 'Justify';
  120. var hasClass = (0, _utils.checkSelectionConsistency)(this.getSelectedRange(), function (row, col) {
  121. var className = _this7.getCellMeta(row, col).className;
  122. if (className && className.indexOf('htJustify') !== -1) {
  123. return true;
  124. }
  125. });
  126. if (hasClass) {
  127. label = (0, _utils.markLabelAsSelected)(label);
  128. }
  129. return label;
  130. },
  131. callback: function callback() {
  132. var _this8 = this;
  133. var range = this.getSelectedRange();
  134. var stateBefore = (0, _utils.getAlignmentClasses)(range, function (row, col) {
  135. return _this8.getCellMeta(row, col).className;
  136. });
  137. var type = 'horizontal';
  138. var alignment = 'htJustify';
  139. this.runHooks('beforeCellAlignment', stateBefore, range, type, alignment);
  140. (0, _utils.align)(range, type, alignment, function (row, col) {
  141. return _this8.getCellMeta(row, col);
  142. }, function (row, col, key, value) {
  143. return _this8.setCellMeta(row, col, key, value);
  144. });
  145. this.render();
  146. },
  147. disabled: false
  148. }, {
  149. name: _separator.KEY
  150. }, {
  151. key: KEY + ':top',
  152. name: function name() {
  153. var _this9 = this;
  154. var label = 'Top';
  155. var hasClass = (0, _utils.checkSelectionConsistency)(this.getSelectedRange(), function (row, col) {
  156. var className = _this9.getCellMeta(row, col).className;
  157. if (className && className.indexOf('htTop') !== -1) {
  158. return true;
  159. }
  160. });
  161. if (hasClass) {
  162. label = (0, _utils.markLabelAsSelected)(label);
  163. }
  164. return label;
  165. },
  166. callback: function callback() {
  167. var _this10 = this;
  168. var range = this.getSelectedRange();
  169. var stateBefore = (0, _utils.getAlignmentClasses)(range, function (row, col) {
  170. return _this10.getCellMeta(row, col).className;
  171. });
  172. var type = 'vertical';
  173. var alignment = 'htTop';
  174. this.runHooks('beforeCellAlignment', stateBefore, range, type, alignment);
  175. (0, _utils.align)(range, type, alignment, function (row, col) {
  176. return _this10.getCellMeta(row, col);
  177. }, function (row, col, key, value) {
  178. return _this10.setCellMeta(row, col, key, value);
  179. });
  180. this.render();
  181. },
  182. disabled: false
  183. }, {
  184. key: KEY + ':middle',
  185. name: function name() {
  186. var _this11 = this;
  187. var label = 'Middle';
  188. var hasClass = (0, _utils.checkSelectionConsistency)(this.getSelectedRange(), function (row, col) {
  189. var className = _this11.getCellMeta(row, col).className;
  190. if (className && className.indexOf('htMiddle') !== -1) {
  191. return true;
  192. }
  193. });
  194. if (hasClass) {
  195. label = (0, _utils.markLabelAsSelected)(label);
  196. }
  197. return label;
  198. },
  199. callback: function callback() {
  200. var _this12 = this;
  201. var range = this.getSelectedRange();
  202. var stateBefore = (0, _utils.getAlignmentClasses)(range, function (row, col) {
  203. return _this12.getCellMeta(row, col).className;
  204. });
  205. var type = 'vertical';
  206. var alignment = 'htMiddle';
  207. this.runHooks('beforeCellAlignment', stateBefore, range, type, alignment);
  208. (0, _utils.align)(range, type, alignment, function (row, col) {
  209. return _this12.getCellMeta(row, col);
  210. }, function (row, col, key, value) {
  211. return _this12.setCellMeta(row, col, key, value);
  212. });
  213. this.render();
  214. },
  215. disabled: false
  216. }, {
  217. key: KEY + ':bottom',
  218. name: function name() {
  219. var _this13 = this;
  220. var label = 'Bottom';
  221. var hasClass = (0, _utils.checkSelectionConsistency)(this.getSelectedRange(), function (row, col) {
  222. var className = _this13.getCellMeta(row, col).className;
  223. if (className && className.indexOf('htBottom') !== -1) {
  224. return true;
  225. }
  226. });
  227. if (hasClass) {
  228. label = (0, _utils.markLabelAsSelected)(label);
  229. }
  230. return label;
  231. },
  232. callback: function callback() {
  233. var _this14 = this;
  234. var range = this.getSelectedRange();
  235. var stateBefore = (0, _utils.getAlignmentClasses)(range, function (row, col) {
  236. return _this14.getCellMeta(row, col).className;
  237. });
  238. var type = 'vertical';
  239. var alignment = 'htBottom';
  240. this.runHooks('beforeCellAlignment', stateBefore, range, type, alignment);
  241. (0, _utils.align)(range, type, alignment, function (row, col) {
  242. return _this14.getCellMeta(row, col);
  243. }, function (row, col, key, value) {
  244. return _this14.setCellMeta(row, col, key, value);
  245. });
  246. this.render();
  247. },
  248. disabled: false
  249. }]
  250. }
  251. };
  252. }