smart-webcomponents-react 14.2.83 → 14.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (376) hide show
  1. package/alertwindow/alertwindow.d.ts +5 -5
  2. package/alertwindow/alertwindow.esm.js +10 -85
  3. package/alertwindow/alertwindow.umd.js +1134 -1209
  4. package/array/array.d.ts +5 -5
  5. package/array/array.esm.js +13 -88
  6. package/array/array.umd.js +752 -827
  7. package/barcode/barcode.d.ts +3 -3
  8. package/barcode/barcode.esm.js +6 -61
  9. package/barcode/barcode.umd.js +311 -366
  10. package/button/dropdownbutton.d.ts +2 -2
  11. package/button/multisplitbutton.d.ts +2 -2
  12. package/calendar/calendar.d.ts +2 -2
  13. package/calendar/calendar.esm.js +4 -49
  14. package/calendar/calendar.umd.js +710 -755
  15. package/card/cardview.d.ts +1 -1
  16. package/cardview/cardview.d.ts +1 -1
  17. package/cardview/cardview.esm.js +2 -37
  18. package/cardview/cardview.umd.js +515 -550
  19. package/chart/chart.d.ts +9 -9
  20. package/chart/chart.esm.js +18 -133
  21. package/chart/chart.umd.js +822 -937
  22. package/chart/ganttchart.d.ts +20 -20
  23. package/combobox/combobox.d.ts +4 -4
  24. package/combobox/combobox.esm.js +8 -73
  25. package/combobox/combobox.umd.js +1341 -1406
  26. package/datetimepicker/datetimepicker.d.ts +1 -1
  27. package/datetimepicker/datetimepicker.esm.js +2 -37
  28. package/datetimepicker/datetimepicker.umd.js +826 -861
  29. package/dialogwindow/dialogwindow.d.ts +5 -5
  30. package/dialogwindow/dialogwindow.esm.js +10 -85
  31. package/dialogwindow/dialogwindow.umd.js +1134 -1209
  32. package/dockinglayout/dockinglayout.d.ts +7 -7
  33. package/dockinglayout/dockinglayout.esm.js +14 -109
  34. package/dockinglayout/dockinglayout.umd.js +765 -860
  35. package/dropdownbutton/dropdownbutton.d.ts +2 -2
  36. package/dropdownbutton/dropdownbutton.esm.js +4 -49
  37. package/dropdownbutton/dropdownbutton.umd.js +527 -572
  38. package/dropdownlist/dropdownlist.d.ts +4 -4
  39. package/dropdownlist/dropdownlist.esm.js +8 -73
  40. package/dropdownlist/dropdownlist.umd.js +1275 -1340
  41. package/editor/editor.d.ts +11 -9
  42. package/editor/editor.esm.js +14 -109
  43. package/editor/editor.umd.js +911 -1006
  44. package/fileupload/fileupload.d.ts +2 -1
  45. package/filterbuilder/filterbuilder.d.ts +1 -1
  46. package/filterbuilder/filterbuilder.esm.js +2 -37
  47. package/filterbuilder/filterbuilder.umd.js +463 -498
  48. package/filterpanel/filterpanel.d.ts +1 -1
  49. package/filterpanel/filterpanel.esm.js +2 -37
  50. package/filterpanel/filterpanel.umd.js +354 -389
  51. package/form/form.d.ts +1 -1
  52. package/form/form.esm.js +4 -49
  53. package/form/form.umd.js +1016 -1061
  54. package/form/formgroup.d.ts +1 -1
  55. package/ganttchart/ganttchart.d.ts +20 -20
  56. package/ganttchart/ganttchart.esm.js +40 -265
  57. package/ganttchart/ganttchart.umd.js +1666 -1891
  58. package/gauge/gauge.d.ts +2 -2
  59. package/gauge/gauge.esm.js +4 -49
  60. package/gauge/gauge.umd.js +664 -709
  61. package/grid/grid.d.ts +56 -51
  62. package/grid/grid.esm.js +96 -460
  63. package/grid/grid.umd.js +2107 -2471
  64. package/index.d.ts +45 -3
  65. package/input/input.d.ts +2 -2
  66. package/input/input.esm.js +4 -49
  67. package/input/input.umd.js +505 -550
  68. package/input/numberinput.d.ts +2 -2
  69. package/input/phoneinput.d.ts +4 -4
  70. package/kanban/kanban.d.ts +6 -6
  71. package/kanban/kanban.esm.js +12 -97
  72. package/kanban/kanban.umd.js +1334 -1419
  73. package/layout/dockinglayout.d.ts +7 -7
  74. package/listbox/listbox.d.ts +5 -5
  75. package/listbox/listbox.esm.js +10 -85
  76. package/listbox/listbox.umd.js +1170 -1245
  77. package/listmenu/listmenu.d.ts +1 -1
  78. package/listmenu/listmenu.esm.js +2 -37
  79. package/listmenu/listmenu.umd.js +1005 -1040
  80. package/menu/listmenu.d.ts +1 -1
  81. package/menu/menu.d.ts +1 -1
  82. package/menu/menu.esm.js +2 -37
  83. package/menu/menu.umd.js +1025 -1060
  84. package/multilinetextbox/multilinetextbox.d.ts +1 -1
  85. package/multilinetextbox/multilinetextbox.esm.js +2 -37
  86. package/multilinetextbox/multilinetextbox.umd.js +907 -942
  87. package/multilinewindow/multilinewindow.d.ts +5 -5
  88. package/multilinewindow/multilinewindow.esm.js +10 -85
  89. package/multilinewindow/multilinewindow.umd.js +1134 -1209
  90. package/multisplitbutton/multisplitbutton.d.ts +2 -2
  91. package/multisplitbutton/multisplitbutton.esm.js +4 -49
  92. package/multisplitbutton/multisplitbutton.umd.js +941 -986
  93. package/numberinput/numberinput.d.ts +2 -2
  94. package/numberinput/numberinput.esm.js +4 -49
  95. package/numberinput/numberinput.umd.js +348 -393
  96. package/numerictextbox/numerictextbox.d.ts +1 -1
  97. package/numerictextbox/numerictextbox.esm.js +2 -37
  98. package/numerictextbox/numerictextbox.umd.js +592 -627
  99. package/package.json +1 -1
  100. package/phoneinput/phoneinput.d.ts +4 -4
  101. package/phoneinput/phoneinput.esm.js +8 -73
  102. package/phoneinput/phoneinput.umd.js +386 -451
  103. package/pivottable/pivottable.d.ts +3 -3
  104. package/pivottable/pivottable.esm.js +6 -61
  105. package/pivottable/pivottable.umd.js +762 -817
  106. package/progresswindow/progresswindow.d.ts +5 -5
  107. package/progresswindow/progresswindow.esm.js +10 -85
  108. package/progresswindow/progresswindow.umd.js +1134 -1209
  109. package/promptwindow/promptwindow.d.ts +5 -5
  110. package/promptwindow/promptwindow.esm.js +10 -85
  111. package/promptwindow/promptwindow.umd.js +1134 -1209
  112. package/qrcode/qrcode.d.ts +3 -3
  113. package/qrcode/qrcode.esm.js +6 -61
  114. package/qrcode/qrcode.umd.js +333 -388
  115. package/querybuilder/querybuilder.d.ts +6 -1
  116. package/querybuilder/querybuilder.esm.js +14 -38
  117. package/querybuilder/querybuilder.umd.js +446 -470
  118. package/rating/rating.d.ts +1 -1
  119. package/rating/rating.esm.js +2 -37
  120. package/rating/rating.umd.js +261 -296
  121. package/scheduler/scheduler.d.ts +17 -17
  122. package/scheduler/scheduler.esm.js +34 -229
  123. package/scheduler/scheduler.umd.js +1782 -1977
  124. package/slider/slider.d.ts +2 -2
  125. package/slider/slider.esm.js +4 -49
  126. package/slider/slider.umd.js +642 -687
  127. package/source/modules/smart.accordion.js +1 -1
  128. package/source/modules/smart.array.js +2 -2
  129. package/source/modules/smart.barcode.js +1 -1
  130. package/source/modules/smart.breadcrumb.js +1 -1
  131. package/source/modules/smart.button.js +1 -1
  132. package/source/modules/smart.buttongroup.js +1 -1
  133. package/source/modules/smart.calendar.js +3 -3
  134. package/source/modules/smart.card.js +1 -1
  135. package/source/modules/smart.cardview.js +4 -4
  136. package/source/modules/smart.carousel.js +1 -1
  137. package/source/modules/smart.chart.js +1 -1
  138. package/source/modules/smart.checkbox.js +1 -1
  139. package/source/modules/smart.checkinput.js +2 -2
  140. package/source/modules/smart.chip.js +1 -1
  141. package/source/modules/smart.colorinput.js +2 -2
  142. package/source/modules/smart.colorpanel.js +2 -2
  143. package/source/modules/smart.colorpicker.js +2 -2
  144. package/source/modules/smart.combobox.js +2 -2
  145. package/source/modules/smart.common.js +1 -1
  146. package/source/modules/smart.countryinput.js +2 -2
  147. package/source/modules/smart.dateinput.js +3 -3
  148. package/source/modules/smart.daterangeinput.js +4 -4
  149. package/source/modules/smart.datetimepicker.js +3 -3
  150. package/source/modules/smart.dockinglayout.js +1 -1
  151. package/source/modules/smart.dropdownbutton.js +1 -1
  152. package/source/modules/smart.dropdownlist.js +2 -2
  153. package/source/modules/smart.editor.js +5 -5
  154. package/source/modules/smart.element.js +1 -1
  155. package/source/modules/smart.fileupload.js +3 -3
  156. package/source/modules/smart.form.js +2 -2
  157. package/source/modules/smart.formulaparser.js +1 -1
  158. package/source/modules/smart.ganttchart.js +5 -5
  159. package/source/modules/smart.gauge.js +1 -1
  160. package/source/modules/smart.grid.js +14 -14
  161. package/source/modules/smart.gridpanel.js +4 -4
  162. package/source/modules/smart.input.js +2 -2
  163. package/source/modules/smart.kanban.js +5 -5
  164. package/source/modules/smart.layout.js +1 -1
  165. package/source/modules/smart.led.js +1 -1
  166. package/source/modules/smart.listbox.js +2 -2
  167. package/source/modules/smart.listmenu.js +1 -1
  168. package/source/modules/smart.map.js +1 -1
  169. package/source/modules/smart.maskedtextbox.js +2 -2
  170. package/source/modules/smart.menu.js +1 -1
  171. package/source/modules/smart.multicomboinput.js +2 -2
  172. package/source/modules/smart.multiinput.js +2 -2
  173. package/source/modules/smart.multilinetextbox.js +2 -2
  174. package/source/modules/smart.multisplitbutton.js +2 -2
  175. package/source/modules/smart.numberinput.js +2 -2
  176. package/source/modules/smart.numerictextbox.js +2 -2
  177. package/source/modules/smart.pager.js +2 -2
  178. package/source/modules/smart.passwordinput.js +2 -2
  179. package/source/modules/smart.passwordtextbox.js +2 -2
  180. package/source/modules/smart.path.js +1 -1
  181. package/source/modules/smart.phoneinput.js +2 -2
  182. package/source/modules/smart.pivottable.js +3 -3
  183. package/source/modules/smart.progressbar.js +1 -1
  184. package/source/modules/smart.qrcode.js +1 -1
  185. package/source/modules/smart.querybuilder.js +5 -5
  186. package/source/modules/smart.radiobutton.js +1 -1
  187. package/source/modules/smart.rating.js +1 -1
  188. package/source/modules/smart.router.js +1 -1
  189. package/source/modules/smart.scheduler.js +4 -4
  190. package/source/modules/smart.scrollbar.js +1 -1
  191. package/source/modules/smart.slider.js +1 -1
  192. package/source/modules/smart.sortable.js +1 -1
  193. package/source/modules/smart.splitter.js +1 -1
  194. package/source/modules/smart.switchbutton.js +1 -1
  195. package/source/modules/smart.table.js +3 -3
  196. package/source/modules/smart.tabs.js +1 -1
  197. package/source/modules/smart.tank.js +1 -1
  198. package/source/modules/smart.textarea.js +2 -2
  199. package/source/modules/smart.textbox.js +2 -2
  200. package/source/modules/smart.timeinput.js +2 -2
  201. package/source/modules/smart.timepicker.js +1 -1
  202. package/source/modules/smart.toast.js +1 -1
  203. package/source/modules/smart.tooltip.js +1 -1
  204. package/source/modules/smart.tree.js +1 -1
  205. package/source/modules/smart.validator.js +1 -1
  206. package/source/modules/smart.window.js +2 -2
  207. package/source/smart.accordion.js +1 -1
  208. package/source/smart.ajax.js +1 -1
  209. package/source/smart.array.js +1 -1
  210. package/source/smart.barcode.js +1 -1
  211. package/source/smart.bootstrap.js +1 -1
  212. package/source/smart.breadcrumb.js +1 -1
  213. package/source/smart.button.js +1 -1
  214. package/source/smart.buttongroup.js +1 -1
  215. package/source/smart.calendar.js +2 -2
  216. package/source/smart.card.js +1 -1
  217. package/source/smart.cardview.js +1 -1
  218. package/source/smart.carousel.js +1 -1
  219. package/source/smart.chart.annotations.js +1 -1
  220. package/source/smart.chart.api.js +1 -1
  221. package/source/smart.chart.core.js +1 -1
  222. package/source/smart.chart.js +1 -1
  223. package/source/smart.chart.rangeselector.js +1 -1
  224. package/source/smart.chart.waterfall.js +1 -1
  225. package/source/smart.checkbox.js +1 -1
  226. package/source/smart.checkinput.js +1 -1
  227. package/source/smart.chip.js +1 -1
  228. package/source/smart.colorinput.js +1 -1
  229. package/source/smart.colorpanel.js +1 -1
  230. package/source/smart.colorpicker.js +1 -1
  231. package/source/smart.combobox.js +1 -1
  232. package/source/smart.complex.js +1 -1
  233. package/source/smart.core.js +1 -1
  234. package/source/smart.countryinput.js +1 -1
  235. package/source/smart.data.js +1 -1
  236. package/source/smart.date.js +1 -1
  237. package/source/smart.dateformatpanel.js +1 -1
  238. package/source/smart.dateinput.js +1 -1
  239. package/source/smart.daterangeinput.js +1 -1
  240. package/source/smart.datetimepicker.js +1 -1
  241. package/source/smart.dockinglayout.js +1 -1
  242. package/source/smart.draw.js +1 -1
  243. package/source/smart.dropdownbutton.js +1 -1
  244. package/source/smart.dropdownlist.js +1 -1
  245. package/source/smart.editor.js +2 -2
  246. package/source/smart.element.js +1 -1
  247. package/source/smart.elements.js +17 -17
  248. package/source/smart.export.js +1 -1
  249. package/source/smart.fileupload.js +2 -2
  250. package/source/smart.filter.js +1 -1
  251. package/source/smart.filterbuilder.js +2 -2
  252. package/source/smart.filterpanel.js +1 -1
  253. package/source/smart.form.js +1 -1
  254. package/source/smart.format.js +1 -1
  255. package/source/smart.formulaparser.js +1 -1
  256. package/source/smart.ganttchart.js +2 -2
  257. package/source/smart.gauge.js +1 -1
  258. package/source/smart.grid.cell.js +2 -2
  259. package/source/smart.grid.chart.js +1 -1
  260. package/source/smart.grid.column.js +1 -1
  261. package/source/smart.grid.core.js +2 -2
  262. package/source/smart.grid.dialog.js +2 -2
  263. package/source/smart.grid.edit.js +2 -2
  264. package/source/smart.grid.export.js +1 -1
  265. package/source/smart.grid.filter.js +1 -1
  266. package/source/smart.grid.group.js +1 -1
  267. package/source/smart.grid.js +1 -1
  268. package/source/smart.grid.menu.js +2 -2
  269. package/source/smart.grid.pager.js +1 -1
  270. package/source/smart.grid.reorder.js +1 -1
  271. package/source/smart.grid.resize.js +2 -2
  272. package/source/smart.grid.row.js +1 -1
  273. package/source/smart.grid.select.js +2 -2
  274. package/source/smart.grid.sort.js +1 -1
  275. package/source/smart.grid.toolbar.js +2 -2
  276. package/source/smart.grid.tree.js +1 -1
  277. package/source/smart.grid.view.js +2 -2
  278. package/source/smart.gridpanel.js +1 -1
  279. package/source/smart.input.js +2 -2
  280. package/source/smart.kanban.js +2 -2
  281. package/source/smart.layout.js +1 -1
  282. package/source/smart.led.js +1 -1
  283. package/source/smart.listbox.js +2 -2
  284. package/source/smart.listmenu.js +1 -1
  285. package/source/smart.map.js +1 -1
  286. package/source/smart.maskedtextbox.js +1 -1
  287. package/source/smart.math.js +1 -1
  288. package/source/smart.menu.js +1 -1
  289. package/source/smart.multicomboinput.js +1 -1
  290. package/source/smart.multiinput.js +1 -1
  291. package/source/smart.multilinetextbox.js +1 -1
  292. package/source/smart.multisplitbutton.js +1 -1
  293. package/source/smart.numberformatpanel.js +1 -1
  294. package/source/smart.numberinput.js +1 -1
  295. package/source/smart.numeric.js +1 -1
  296. package/source/smart.numerictextbox.js +1 -1
  297. package/source/smart.pager.js +1 -1
  298. package/source/smart.passwordinput.js +1 -1
  299. package/source/smart.passwordtextbox.js +1 -1
  300. package/source/smart.path.js +1 -1
  301. package/source/smart.phoneinput.js +1 -1
  302. package/source/smart.pivottable.js +1 -1
  303. package/source/smart.powerbutton.js +1 -1
  304. package/source/smart.progressbar.js +1 -1
  305. package/source/smart.qrcode.js +1 -1
  306. package/source/smart.radiobutton.js +1 -1
  307. package/source/smart.rating.js +1 -1
  308. package/source/smart.router.js +1 -1
  309. package/source/smart.scheduler.js +1 -1
  310. package/source/smart.scrollbar.js +1 -1
  311. package/source/smart.slider.js +1 -1
  312. package/source/smart.sortable.js +1 -1
  313. package/source/smart.splitter.js +1 -1
  314. package/source/smart.switchbutton.js +1 -1
  315. package/source/smart.table.js +1 -1
  316. package/source/smart.tabs.js +1 -1
  317. package/source/smart.tank.js +1 -1
  318. package/source/smart.textarea.js +1 -1
  319. package/source/smart.textbox.js +1 -1
  320. package/source/smart.tickintervalhandler.js +1 -1
  321. package/source/smart.timeinput.js +1 -1
  322. package/source/smart.timepicker.js +1 -1
  323. package/source/smart.toast.js +1 -1
  324. package/source/smart.tooltip.js +1 -1
  325. package/source/smart.tree.js +1 -1
  326. package/source/smart.validationpanel.js +1 -1
  327. package/source/smart.validator.js +1 -1
  328. package/source/smart.window.js +1 -1
  329. package/source/styles/components/smart.grid.css +1 -1
  330. package/source/styles/default/scss/smart.grid.scss +10 -3
  331. package/source/styles/default/smart.grid.css +7 -3
  332. package/source/styles/smart.default.css +1 -1
  333. package/source/typescript/smart.editor.d.ts +4 -2
  334. package/source/typescript/smart.elements.d.ts +45 -3
  335. package/source/typescript/smart.fileupload.d.ts +2 -1
  336. package/source/typescript/smart.grid.d.ts +34 -0
  337. package/source/typescript/smart.querybuilder.d.ts +5 -0
  338. package/splitter/splitter.d.ts +3 -3
  339. package/splitter/splitter.esm.js +6 -61
  340. package/splitter/splitter.umd.js +901 -956
  341. package/table/pivottable.d.ts +3 -3
  342. package/table/table.d.ts +7 -7
  343. package/table/table.esm.js +14 -109
  344. package/table/table.umd.js +1278 -1373
  345. package/tabs/tabs.d.ts +4 -4
  346. package/tabs/tabs.esm.js +8 -73
  347. package/tabs/tabs.umd.js +875 -940
  348. package/tabs/tabswindow.d.ts +5 -5
  349. package/tabswindow/tabswindow.d.ts +5 -5
  350. package/tabswindow/tabswindow.esm.js +10 -85
  351. package/tabswindow/tabswindow.umd.js +1134 -1209
  352. package/tank/tank.d.ts +2 -2
  353. package/tank/tank.esm.js +4 -49
  354. package/tank/tank.umd.js +598 -643
  355. package/textbox/multilinetextbox.d.ts +1 -1
  356. package/textbox/numerictextbox.d.ts +1 -1
  357. package/timepicker/datetimepicker.d.ts +1 -1
  358. package/toast/toast.d.ts +1 -1
  359. package/toast/toast.esm.js +2 -37
  360. package/toast/toast.umd.js +397 -432
  361. package/tree/tree.d.ts +4 -4
  362. package/tree/tree.esm.js +8 -73
  363. package/tree/tree.umd.js +1310 -1375
  364. package/waitwindow/waitwindow.d.ts +5 -5
  365. package/waitwindow/waitwindow.esm.js +10 -85
  366. package/waitwindow/waitwindow.umd.js +1134 -1209
  367. package/window/alertwindow.d.ts +5 -5
  368. package/window/dialogwindow.d.ts +5 -5
  369. package/window/multilinewindow.d.ts +5 -5
  370. package/window/progresswindow.d.ts +5 -5
  371. package/window/promptwindow.d.ts +5 -5
  372. package/window/tabswindow.d.ts +5 -5
  373. package/window/waitwindow.d.ts +5 -5
  374. package/window/window.d.ts +5 -5
  375. package/window/window.esm.js +10 -85
  376. package/window/window.umd.js +1134 -1209
@@ -2,827 +2,772 @@
2
2
  require('../source/modules/smart.pivottable');
3
3
 
4
4
  (function (global, factory) {
5
- typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('react')) :
6
- typeof define === 'function' && define.amd ? define(['exports', 'react'], factory) :
7
- (factory((global.pivottable = {}),global.React));
5
+ typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('react')) :
6
+ typeof define === 'function' && define.amd ? define(['exports', 'react'], factory) :
7
+ (factory((global.pivottable = {}),global.React));
8
8
  }(this, (function (exports,React) { 'use strict';
9
9
 
10
- React = React && React.hasOwnProperty('default') ? React['default'] : React;
10
+ React = React && React.hasOwnProperty('default') ? React['default'] : React;
11
11
 
12
- /*! *****************************************************************************
13
- Copyright (c) Microsoft Corporation. All rights reserved.
14
- Licensed under the Apache License, Version 2.0 (the "License"); you may not use
15
- this file except in compliance with the License. You may obtain a copy of the
16
- License at http://www.apache.org/licenses/LICENSE-2.0
17
-
18
- THIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
19
- KIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED
20
- WARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,
21
- MERCHANTABLITY OR NON-INFRINGEMENT.
22
-
23
- See the Apache Version 2.0 License for specific language governing permissions
24
- and limitations under the License.
25
- ***************************************************************************** */
26
-
27
- function __awaiter(thisArg, _arguments, P, generator) {
28
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
29
- return new (P || (P = Promise))(function (resolve, reject) {
30
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
31
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
32
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
33
- step((generator = generator.apply(thisArg, _arguments || [])).next());
34
- });
35
- }
12
+ const Smart = window.Smart;
13
+ /**
14
+ PivotTable is a table of statistics that summarizes the data of a more extensive table.
15
+ */
16
+ class PivotTable extends React.Component {
17
+ constructor(props) {
18
+ super(props);
19
+ this.componentRef = React.createRef();
20
+ }
21
+ // Gets the id of the React component.
22
+ get id() {
23
+ if (!this._id) {
24
+ this._id = 'PivotTable' + Math.floor((1 + Math.random()) * 0x10000).toString(16).substring(1);
25
+ }
26
+ return this._id;
27
+ }
28
+ /** Sets or gets the animation mode. Animation is disabled when the property is set to 'none'
29
+ * Property type: Animation | string
30
+ */
31
+ get animation() {
32
+ return this.nativeElement ? this.nativeElement.animation : undefined;
33
+ }
34
+ set animation(value) {
35
+ if (this.nativeElement) {
36
+ this.nativeElement.animation = value;
37
+ }
38
+ }
39
+ /** Sets or gets whether the reordering of columns is enabled.
40
+ * Property type: boolean
41
+ */
42
+ get columnReorder() {
43
+ return this.nativeElement ? this.nativeElement.columnReorder : undefined;
44
+ }
45
+ set columnReorder(value) {
46
+ if (this.nativeElement) {
47
+ this.nativeElement.columnReorder = value;
48
+ }
49
+ }
50
+ /** Describes the columns of the PivotTable's original tabular data. Based on these settings and the data source, the actual columns of the PivotTable are dynamically generated.
51
+ * Property type: PivotTableColumn[]
52
+ */
53
+ get columns() {
54
+ return this.nativeElement ? this.nativeElement.columns : undefined;
55
+ }
56
+ set columns(value) {
57
+ if (this.nativeElement) {
58
+ this.nativeElement.columns = value;
59
+ }
60
+ }
61
+ /** Sets or gets whether to show total columns for each pivot data point. When enabled, all summary columns must have the same summary function set by which total columns are calculated.
62
+ * Property type: boolean
63
+ */
64
+ get columnTotals() {
65
+ return this.nativeElement ? this.nativeElement.columnTotals : undefined;
66
+ }
67
+ set columnTotals(value) {
68
+ if (this.nativeElement) {
69
+ this.nativeElement.columnTotals = value;
70
+ }
71
+ }
72
+ /** Sets or gets the position of total columns (shown when columnTotals is enabled).
73
+ * Property type: PivotTableColumnTotalsPosition | string
74
+ */
75
+ get columnTotalsPosition() {
76
+ return this.nativeElement ? this.nativeElement.columnTotalsPosition : undefined;
77
+ }
78
+ set columnTotalsPosition(value) {
79
+ if (this.nativeElement) {
80
+ this.nativeElement.columnTotalsPosition = value;
81
+ }
82
+ }
83
+ /** Sets or gets details about conditional formatting to be applied to the PivotTable's cells.
84
+ * Property type: PivotTableConditionalFormatting[]
85
+ */
86
+ get conditionalFormatting() {
87
+ return this.nativeElement ? this.nativeElement.conditionalFormatting : undefined;
88
+ }
89
+ set conditionalFormatting(value) {
90
+ if (this.nativeElement) {
91
+ this.nativeElement.conditionalFormatting = value;
92
+ }
93
+ }
94
+ /** Determines the original tabular data source of the PivotTable.
95
+ * Property type: any
96
+ */
97
+ get dataSource() {
98
+ return this.nativeElement ? this.nativeElement.dataSource : undefined;
99
+ }
100
+ set dataSource(value) {
101
+ if (this.nativeElement) {
102
+ this.nativeElement.dataSource = value;
103
+ }
104
+ }
105
+ /** Sets or gets whether the original tabular data sourse of the PivotTable will be pre-sorted based on columns with the rowGroup property (and their order).
106
+ * Property type: boolean
107
+ */
108
+ get defaultSortByRowGroups() {
109
+ return this.nativeElement ? this.nativeElement.defaultSortByRowGroups : undefined;
110
+ }
111
+ set defaultSortByRowGroups(value) {
112
+ if (this.nativeElement) {
113
+ this.nativeElement.defaultSortByRowGroups = value;
114
+ }
115
+ }
116
+ /** Sets or gets whether to display the PivotTable's designer alongside the table itself. The designer allows for configuring column settings and applying filtering.
117
+ * Property type: boolean
118
+ */
119
+ get designer() {
120
+ return this.nativeElement ? this.nativeElement.designer : undefined;
121
+ }
122
+ set designer(value) {
123
+ if (this.nativeElement) {
124
+ this.nativeElement.designer = value;
125
+ }
126
+ }
127
+ /** Sets or gets the position of the PivotTable's designer (shown when designer is enabled).
128
+ * Property type: PivotTableDesignerPosition | string
129
+ */
130
+ get designerPosition() {
131
+ return this.nativeElement ? this.nativeElement.designerPosition : undefined;
132
+ }
133
+ set designerPosition(value) {
134
+ if (this.nativeElement) {
135
+ this.nativeElement.designerPosition = value;
136
+ }
137
+ }
138
+ /** Disables the interaction with the element.
139
+ * Property type: boolean
140
+ */
141
+ get disabled() {
142
+ return this.nativeElement ? this.nativeElement.disabled : undefined;
143
+ }
144
+ set disabled(value) {
145
+ if (this.nativeElement) {
146
+ this.nativeElement.disabled = value;
147
+ }
148
+ }
149
+ /** If enabled, shows the original tabular data that has been aggregated in a PivotTable summary cell when the cell is double-clicked or F2 is pressed.
150
+ * Property type: boolean
151
+ */
152
+ get drillDown() {
153
+ return this.nativeElement ? this.nativeElement.drillDown : undefined;
154
+ }
155
+ set drillDown(value) {
156
+ if (this.nativeElement) {
157
+ this.nativeElement.drillDown = value;
158
+ }
159
+ }
160
+ /** If set, shows an export button in the drill down dialog.
161
+ * Property type: PivotTableDrillDownDataExport | string
162
+ */
163
+ get drillDownDataExport() {
164
+ return this.nativeElement ? this.nativeElement.drillDownDataExport : undefined;
165
+ }
166
+ set drillDownDataExport(value) {
167
+ if (this.nativeElement) {
168
+ this.nativeElement.drillDownDataExport = value;
169
+ }
170
+ }
171
+ /** Sets or gets the drill down table export file name.
172
+ * Property type: string
173
+ */
174
+ get drillDownDataExportName() {
175
+ return this.nativeElement ? this.nativeElement.drillDownDataExportName : undefined;
176
+ }
177
+ set drillDownDataExportName(value) {
178
+ if (this.nativeElement) {
179
+ this.nativeElement.drillDownDataExportName = value;
180
+ }
181
+ }
182
+ /** Sets or gets whether sorting based on columns in classic row groups layout mode is enabled.
183
+ * Property type: { (table: HTMLElement ): void }
184
+ */
185
+ get drillDownTableInit() {
186
+ return this.nativeElement ? this.nativeElement.drillDownTableInit : undefined;
187
+ }
188
+ set drillDownTableInit(value) {
189
+ if (this.nativeElement) {
190
+ this.nativeElement.drillDownTableInit = value;
191
+ }
192
+ }
193
+ /** Sets or gets whether the PivotTable's column header is sticky/frozen.
194
+ * Property type: { (originalRecords: [] ): void }
195
+ */
196
+ get drillDownCustomAction() {
197
+ return this.nativeElement ? this.nativeElement.drillDownCustomAction : undefined;
198
+ }
199
+ set drillDownCustomAction(value) {
200
+ if (this.nativeElement) {
201
+ this.nativeElement.drillDownCustomAction = value;
202
+ }
203
+ }
204
+ /** Sets or gets whether to show a Grand total row aggregating the data of all rows.
205
+ * Property type: boolean
206
+ */
207
+ get enableSortByRowGroups() {
208
+ return this.nativeElement ? this.nativeElement.enableSortByRowGroups : undefined;
209
+ }
210
+ set enableSortByRowGroups(value) {
211
+ if (this.nativeElement) {
212
+ this.nativeElement.enableSortByRowGroups = value;
213
+ }
214
+ }
215
+ /** Sets or gets the way row nesting (based on rowGroup columns) is displayed.
216
+ * Property type: boolean
217
+ */
218
+ get freezeHeader() {
219
+ return this.nativeElement ? this.nativeElement.freezeHeader : undefined;
220
+ }
221
+ set freezeHeader(value) {
222
+ if (this.nativeElement) {
223
+ this.nativeElement.freezeHeader = value;
224
+ }
225
+ }
226
+ /** Sets or gets whether to hide the tooltip that displays details when multiple summary cells with non-null values are selected.
227
+ * Property type: { (column: PivotTableColumn): string }
228
+ */
229
+ get getDefaultSummaryFunction() {
230
+ return this.nativeElement ? this.nativeElement.getDefaultSummaryFunction : undefined;
231
+ }
232
+ set getDefaultSummaryFunction(value) {
233
+ if (this.nativeElement) {
234
+ this.nativeElement.getDefaultSummaryFunction = value;
235
+ }
236
+ }
237
+ /** Sets or gets whether to hide rows that contain only 0 or null values. Applicable only when there are rowGroup columns.
238
+ * Property type: boolean
239
+ */
240
+ get grandTotal() {
241
+ return this.nativeElement ? this.nativeElement.grandTotal : undefined;
242
+ }
243
+ set grandTotal(value) {
244
+ if (this.nativeElement) {
245
+ this.nativeElement.grandTotal = value;
246
+ }
247
+ }
248
+ /** Sets or gets whether navigation with the keyboard is enabled in the PivotTable.
249
+ * Property type: PivotTableGroupLayout | string
250
+ */
251
+ get groupLayout() {
252
+ return this.nativeElement ? this.nativeElement.groupLayout : undefined;
253
+ }
254
+ set groupLayout(value) {
255
+ if (this.nativeElement) {
256
+ this.nativeElement.groupLayout = value;
257
+ }
258
+ }
259
+ /** Sets or gets the language. Used in conjunction with the property messages.
260
+ * Property type: boolean
261
+ */
262
+ get hideCellSelectionTooltip() {
263
+ return this.nativeElement ? this.nativeElement.hideCellSelectionTooltip : undefined;
264
+ }
265
+ set hideCellSelectionTooltip(value) {
266
+ if (this.nativeElement) {
267
+ this.nativeElement.hideCellSelectionTooltip = value;
268
+ }
269
+ }
270
+ /** Sets or gets an object specifying strings used in the element that can be localized. Used in conjunction with the property locale.
271
+ * Property type: boolean
272
+ */
273
+ get hideEmptyRows() {
274
+ return this.nativeElement ? this.nativeElement.hideEmptyRows : undefined;
275
+ }
276
+ set hideEmptyRows(value) {
277
+ if (this.nativeElement) {
278
+ this.nativeElement.hideEmptyRows = value;
279
+ }
280
+ }
281
+ /** Sets or gets what value is shown in cells that do not have aggregated data to display. By default (null), such cells are empty.
282
+ * Property type: boolean
283
+ */
284
+ get keyboardNavigation() {
285
+ return this.nativeElement ? this.nativeElement.keyboardNavigation : undefined;
286
+ }
287
+ set keyboardNavigation(value) {
288
+ if (this.nativeElement) {
289
+ this.nativeElement.keyboardNavigation = value;
290
+ }
291
+ }
292
+ /** Sets or gets the value indicating whether the element is aligned to support locales using right-to-left fonts.
293
+ * Property type: string
294
+ */
295
+ get locale() {
296
+ return this.nativeElement ? this.nativeElement.locale : undefined;
297
+ }
298
+ set locale(value) {
299
+ if (this.nativeElement) {
300
+ this.nativeElement.locale = value;
301
+ }
302
+ }
303
+ /** Sets or gets whether sorting by row (when a row group cell is clicked) is enabled. When columnTotals is also enabled, sorting is applied per "column group"; otherwise - for all columns.
304
+ * Property type: any
305
+ */
306
+ get messages() {
307
+ return this.nativeElement ? this.nativeElement.messages : undefined;
308
+ }
309
+ set messages(value) {
310
+ if (this.nativeElement) {
311
+ this.nativeElement.messages = value;
312
+ }
313
+ }
314
+ /** Sets or gets whether row summaries are displayed in the row headers. Example: Peterson(40) vs Peterson, when rowSummary is set to false.
315
+ * Property type: number
316
+ */
317
+ get nullDefaultValue() {
318
+ return this.nativeElement ? this.nativeElement.nullDefaultValue : undefined;
319
+ }
320
+ set nullDefaultValue(value) {
321
+ if (this.nativeElement) {
322
+ this.nativeElement.nullDefaultValue = value;
323
+ }
324
+ }
325
+ /** Sets or gets whether to show row total columns for each summary column.
326
+ * Property type: { (data: any, dynamicColumn: any, value: any, cell: HTMLTableCellElement): void }
327
+ */
328
+ get onCellRender() {
329
+ return this.nativeElement ? this.nativeElement.onCellRender : undefined;
330
+ }
331
+ set onCellRender(value) {
332
+ if (this.nativeElement) {
333
+ this.nativeElement.onCellRender = value;
334
+ }
335
+ }
336
+ /** Sets or gets the position of row total columns (shown when rowTotals is enabled).
337
+ * Property type: { (settings: { text: string, cell: HTMLTableCellElement, column: PivotTableColumn, fullDefinition: any }): void }
338
+ */
339
+ get onColumnRender() {
340
+ return this.nativeElement ? this.nativeElement.onColumnRender : undefined;
341
+ }
342
+ set onColumnRender(value) {
343
+ if (this.nativeElement) {
344
+ this.nativeElement.onColumnRender = value;
345
+ }
346
+ }
347
+ /** Sets or gets whether row selection (via checkboxes) is enabled.
348
+ * Property type: { (): void }
349
+ */
350
+ get onInit() {
351
+ return this.nativeElement ? this.nativeElement.onInit : undefined;
352
+ }
353
+ set onInit(value) {
354
+ if (this.nativeElement) {
355
+ this.nativeElement.onInit = value;
356
+ }
357
+ }
358
+ /** Sets or gets the selection mode. Only applicable when selection is enabled.
359
+ * Property type: boolean
360
+ */
361
+ get rightToLeft() {
362
+ return this.nativeElement ? this.nativeElement.rightToLeft : undefined;
363
+ }
364
+ set rightToLeft(value) {
365
+ if (this.nativeElement) {
366
+ this.nativeElement.rightToLeft = value;
367
+ }
368
+ }
369
+ /** Determines the sorting mode of the PivotTable.
370
+ * Property type: boolean
371
+ */
372
+ get rowSort() {
373
+ return this.nativeElement ? this.nativeElement.rowSort : undefined;
374
+ }
375
+ set rowSort(value) {
376
+ if (this.nativeElement) {
377
+ this.nativeElement.rowSort = value;
378
+ }
379
+ }
380
+ /** Determines the theme. Theme defines the look of the element
381
+ * Property type: boolean
382
+ */
383
+ get rowSummary() {
384
+ return this.nativeElement ? this.nativeElement.rowSummary : undefined;
385
+ }
386
+ set rowSummary(value) {
387
+ if (this.nativeElement) {
388
+ this.nativeElement.rowSummary = value;
389
+ }
390
+ }
391
+ /** Sets or gets whether the PivotTable's toolbar is shown. It contains two breadcrumb components that allow the modification of the row group and pivot columns, as well as the "Conditional Formatting" and "Fields" buttons that open a dialog with additional settings.
392
+ * Property type: boolean
393
+ */
394
+ get rowTotals() {
395
+ return this.nativeElement ? this.nativeElement.rowTotals : undefined;
396
+ }
397
+ set rowTotals(value) {
398
+ if (this.nativeElement) {
399
+ this.nativeElement.rowTotals = value;
400
+ }
401
+ }
402
+ /** Sets or gets whether when hovering a cell with truncated content, a tooltip with the full content will be shown.
403
+ * Property type: PivotTableRowTotalsPosition | string
404
+ */
405
+ get rowTotalsPosition() {
406
+ return this.nativeElement ? this.nativeElement.rowTotalsPosition : undefined;
407
+ }
408
+ set rowTotalsPosition(value) {
409
+ if (this.nativeElement) {
410
+ this.nativeElement.rowTotalsPosition = value;
411
+ }
412
+ }
413
+ /** undefined
414
+ * Property type: boolean
415
+ */
416
+ get selection() {
417
+ return this.nativeElement ? this.nativeElement.selection : undefined;
418
+ }
419
+ set selection(value) {
420
+ if (this.nativeElement) {
421
+ this.nativeElement.selection = value;
422
+ }
423
+ }
424
+ /** undefined
425
+ * Property type: PivotTableSelectionMode | string
426
+ */
427
+ get selectionMode() {
428
+ return this.nativeElement ? this.nativeElement.selectionMode : undefined;
429
+ }
430
+ set selectionMode(value) {
431
+ if (this.nativeElement) {
432
+ this.nativeElement.selectionMode = value;
433
+ }
434
+ }
435
+ /** undefined
436
+ * Property type: PivotTableSortMode | string
437
+ */
438
+ get sortMode() {
439
+ return this.nativeElement ? this.nativeElement.sortMode : undefined;
440
+ }
441
+ set sortMode(value) {
442
+ if (this.nativeElement) {
443
+ this.nativeElement.sortMode = value;
444
+ }
445
+ }
446
+ /** undefined
447
+ * Property type: string
448
+ */
449
+ get theme() {
450
+ return this.nativeElement ? this.nativeElement.theme : undefined;
451
+ }
452
+ set theme(value) {
453
+ if (this.nativeElement) {
454
+ this.nativeElement.theme = value;
455
+ }
456
+ }
457
+ /** undefined
458
+ * Property type: boolean
459
+ */
460
+ get toolbar() {
461
+ return this.nativeElement ? this.nativeElement.toolbar : undefined;
462
+ }
463
+ set toolbar(value) {
464
+ if (this.nativeElement) {
465
+ this.nativeElement.toolbar = value;
466
+ }
467
+ }
468
+ /** undefined
469
+ * Property type: boolean
470
+ */
471
+ get tooltip() {
472
+ return this.nativeElement ? this.nativeElement.tooltip : undefined;
473
+ }
474
+ set tooltip(value) {
475
+ if (this.nativeElement) {
476
+ this.nativeElement.tooltip = value;
477
+ }
478
+ }
479
+ // Gets the properties of the React component.
480
+ get properties() {
481
+ return ["animation", "columnReorder", "columns", "columnTotals", "columnTotalsPosition", "conditionalFormatting", "dataSource", "defaultSortByRowGroups", "designer", "designerPosition", "disabled", "drillDown", "drillDownDataExport", "drillDownDataExportName", "drillDownTableInit", "drillDownCustomAction", "enableSortByRowGroups", "freezeHeader", "getDefaultSummaryFunction", "grandTotal", "groupLayout", "hideCellSelectionTooltip", "hideEmptyRows", "keyboardNavigation", "locale", "messages", "nullDefaultValue", "onCellRender", "onColumnRender", "onInit", "rightToLeft", "rowSort", "rowSummary", "rowTotals", "rowTotalsPosition", "selection", "selectionMode", "sortMode", "theme", "toolbar", "tooltip"];
482
+ }
483
+ // Gets the events of the React component.
484
+ get eventListeners() {
485
+ return ["onCellClick", "onChange", "onColumnClick", "onCollapse", "onCollapseTotalColumn", "onExpand", "onExpandTotalColumn", "onFilter", "onSort", "onCreate", "onReady"];
486
+ }
487
+ /** Adds a filter to a specific column.
488
+ * @param {string} dataField. The column's data field.
489
+ * @param {any} filter. FilterGroup object.
490
+ */
491
+ addFilter(dataField, filter) {
492
+ if (this.nativeElement.isRendered) {
493
+ this.nativeElement.addFilter(dataField, filter);
494
+ }
495
+ else {
496
+ this.nativeElement.whenRendered(() => {
497
+ this.nativeElement.addFilter(dataField, filter);
498
+ });
499
+ }
500
+ }
501
+ /** Clears applied filters.
502
+ */
503
+ clearFilters() {
504
+ if (this.nativeElement.isRendered) {
505
+ this.nativeElement.clearFilters();
506
+ }
507
+ else {
508
+ this.nativeElement.whenRendered(() => {
509
+ this.nativeElement.clearFilters();
510
+ });
511
+ }
512
+ }
513
+ /** Clears selection.
514
+ */
515
+ clearSelection() {
516
+ if (this.nativeElement.isRendered) {
517
+ this.nativeElement.clearSelection();
518
+ }
519
+ else {
520
+ this.nativeElement.whenRendered(() => {
521
+ this.nativeElement.clearSelection();
522
+ });
523
+ }
524
+ }
525
+ /** Clears the PivotTable sorting.
526
+ */
527
+ clearSort() {
528
+ if (this.nativeElement.isRendered) {
529
+ this.nativeElement.clearSort();
530
+ }
531
+ else {
532
+ this.nativeElement.whenRendered(() => {
533
+ this.nativeElement.clearSort();
534
+ });
535
+ }
536
+ }
537
+ /** Collapses all rows (when multiple row groups are applied).
538
+ */
539
+ collapseAllRows() {
540
+ if (this.nativeElement.isRendered) {
541
+ this.nativeElement.collapseAllRows();
542
+ }
543
+ else {
544
+ this.nativeElement.whenRendered(() => {
545
+ this.nativeElement.collapseAllRows();
546
+ });
547
+ }
548
+ }
549
+ /** Collapses a row (when multiple row groups are applied).
550
+ * @param {string | number} rowId. The id of the row to collapse. Can be retrieved from the <strong>rows</strong> collection.
551
+ */
552
+ collapseRow(rowId) {
553
+ if (this.nativeElement.isRendered) {
554
+ this.nativeElement.collapseRow(rowId);
555
+ }
556
+ else {
557
+ this.nativeElement.whenRendered(() => {
558
+ this.nativeElement.collapseRow(rowId);
559
+ });
560
+ }
561
+ }
562
+ /** Expands all rows (when multiple row groups are applied).
563
+ */
564
+ expandAllRows() {
565
+ if (this.nativeElement.isRendered) {
566
+ this.nativeElement.expandAllRows();
567
+ }
568
+ else {
569
+ this.nativeElement.whenRendered(() => {
570
+ this.nativeElement.expandAllRows();
571
+ });
572
+ }
573
+ }
574
+ /** Expands a row (when multiple row groups are applied).
575
+ * @param {string | number} rowId. The id of the row to expand. Can be retrieved from the <strong>rows</strong> collection.
576
+ */
577
+ expandRow(rowId) {
578
+ if (this.nativeElement.isRendered) {
579
+ this.nativeElement.expandRow(rowId);
580
+ }
581
+ else {
582
+ this.nativeElement.whenRendered(() => {
583
+ this.nativeElement.expandRow(rowId);
584
+ });
585
+ }
586
+ }
587
+ /** Exports the PivotTable's data.
588
+ * @param {string} dataFormat. The file format to export to. Supported formats: 'csv', 'html', 'json', 'pdf', 'tsv', 'xlsx', 'xml'.
589
+ * @param {string} fileName. The name of the file to export to
590
+ * @param {Function} callback?. A callback function to pass the exported data to (if fileName is not provided)
591
+ * @returns {any}
592
+ */
593
+ exportData(dataFormat, fileName, callback) {
594
+ const result = this.nativeElement.exportData(dataFormat, fileName, callback);
595
+ return result;
596
+ }
597
+ /** Returns the current dynamic pivot columns.
598
+ * @returns {any}
599
+ */
600
+ getDynamicColumns() {
601
+ const result = this.nativeElement.getDynamicColumns();
602
+ return result;
603
+ }
604
+ /** Returns an array of selected row ids (when selectionMode is 'many' or 'extended') or an array of selected cell details (when selectionMode is 'cell').
605
+ * @returns {(string | number)[] | { dataField: string, rowId: string | number }[]}
606
+ */
607
+ getSelection() {
608
+ const result = this.nativeElement.getSelection();
609
+ return result;
610
+ }
611
+ /** Refreshes the PivotTable.
612
+ */
613
+ refresh() {
614
+ if (this.nativeElement.isRendered) {
615
+ this.nativeElement.refresh();
616
+ }
617
+ else {
618
+ this.nativeElement.whenRendered(() => {
619
+ this.nativeElement.refresh();
620
+ });
621
+ }
622
+ }
623
+ /** Removes filters applied to a specific column.
624
+ * @param {string} dataField. The column's data field.
625
+ */
626
+ removeFilter(dataField) {
627
+ if (this.nativeElement.isRendered) {
628
+ this.nativeElement.removeFilter(dataField);
629
+ }
630
+ else {
631
+ this.nativeElement.whenRendered(() => {
632
+ this.nativeElement.removeFilter(dataField);
633
+ });
634
+ }
635
+ }
636
+ /** Selects one or more rows (when selectionMode is 'many' or 'extended') or a single cell (when selectionMode is 'cell' and the second argument is passed).
637
+ * @param {string | number | (string | number)[]} rowId. The id of the row (or an array of row ids) to select (or of the cell's parent row when <strong>selectionMode</strong> is <em>'cell'</em>). Can be retrieved from the <strong>rows</strong> collection.
638
+ * @param {string} dataField?. The dataField of the dynamic column (can be retrieved by calling <strong>getDynamicColumns</strong>) of the cell to select (only applicable when <strong>selectionMode</strong> is <em>'cell'</em>).
639
+ */
640
+ select(rowId, dataField) {
641
+ if (this.nativeElement.isRendered) {
642
+ this.nativeElement.select(rowId, dataField);
643
+ }
644
+ else {
645
+ this.nativeElement.whenRendered(() => {
646
+ this.nativeElement.select(rowId, dataField);
647
+ });
648
+ }
649
+ }
650
+ /** Sorts by a summary or group column.
651
+ * @param {any} columnDefinition. The dynamic column's definition. Can be retrieved from the method <strong>getDynamicColumns</strong>.
652
+ * @param {string} sortOrder?. Sort order. Possible values: 'asc' (ascending), 'desc' (descending), and null (removes sorting by column). If not provided, toggles the sorting.
653
+ */
654
+ sortBy(columnDefinition, sortOrder) {
655
+ if (this.nativeElement.isRendered) {
656
+ this.nativeElement.sortBy(columnDefinition, sortOrder);
657
+ }
658
+ else {
659
+ this.nativeElement.whenRendered(() => {
660
+ this.nativeElement.sortBy(columnDefinition, sortOrder);
661
+ });
662
+ }
663
+ }
664
+ /** Unselects one or more rows (when selectionMode is 'many' or 'extended') or a single cell (when selectionMode is 'cell' and the second argument is passed).
665
+ * @param {string | number | (string | number)[]} rowId. The id of the row (or an array of row ids) to select (or of the cell's parent row when <strong>selectionMode</strong> is <em>'cell'</em>). Can be retrieved from the <strong>rows</strong> collection.
666
+ * @param {string} dataField?. The dataField of the dynamic column (can be retrieved by calling <strong>getDynamicColumns</strong>) of the cell to select (only applicable when <strong>selectionMode</strong> is <em>'cell'</em>).
667
+ */
668
+ unselect(rowId, dataField) {
669
+ if (this.nativeElement.isRendered) {
670
+ this.nativeElement.unselect(rowId, dataField);
671
+ }
672
+ else {
673
+ this.nativeElement.whenRendered(() => {
674
+ this.nativeElement.unselect(rowId, dataField);
675
+ });
676
+ }
677
+ }
678
+ componentDidRender(initialize) {
679
+ const that = this;
680
+ const props = {};
681
+ const events = {};
682
+ let styles = null;
683
+ for (let prop in that.props) {
684
+ if (prop === 'children') {
685
+ continue;
686
+ }
687
+ if (prop === 'style') {
688
+ styles = that.props[prop];
689
+ continue;
690
+ }
691
+ if (prop.startsWith('on') && that.properties.indexOf(prop) === -1) {
692
+ events[prop] = that.props[prop];
693
+ continue;
694
+ }
695
+ props[prop] = that.props[prop];
696
+ }
697
+ if (initialize) {
698
+ that.nativeElement = this.componentRef.current;
699
+ }
700
+ for (let prop in props) {
701
+ if (prop === 'class' || prop === 'className') {
702
+ const classNames = props[prop].trim().split(' ');
703
+ for (let className in classNames) {
704
+ if (!that.nativeElement.classList.contains(classNames[className]) && classNames[className] !== "") {
705
+ that.nativeElement.classList.add(classNames[className]);
706
+ }
707
+ }
708
+ continue;
709
+ }
710
+ if (props[prop] !== that.nativeElement[prop]) {
711
+ const normalizeProp = (str) => {
712
+ return str.replace(/-([a-z])/g, function (g) {
713
+ return g[1].toUpperCase();
714
+ });
715
+ };
716
+ if (prop === 'hover' || prop === 'active' || prop === 'focus' || prop === 'selected') {
717
+ that.nativeElement.setAttribute(prop, '');
718
+ }
719
+ const normalizedProp = normalizeProp(prop);
720
+ that.nativeElement[normalizedProp] = props[prop];
721
+ }
722
+ }
723
+ for (let eventName in events) {
724
+ that[eventName] = events[eventName];
725
+ that.nativeElement[eventName.toLowerCase()] = events[eventName];
726
+ }
727
+ if (initialize) {
728
+ Smart.Render();
729
+ if (that.onCreate) {
730
+ that.onCreate();
731
+ }
732
+ that.nativeElement.whenRendered(() => {
733
+ if (that.onReady) {
734
+ that.onReady();
735
+ }
736
+ });
737
+ }
738
+ // setup styles.
739
+ if (styles) {
740
+ for (let styleName in styles) {
741
+ that.nativeElement.style[styleName] = styles[styleName];
742
+ }
743
+ }
744
+ }
745
+ componentDidMount() {
746
+ this.componentDidRender(true);
747
+ }
748
+ componentDidUpdate() {
749
+ this.componentDidRender(false);
750
+ }
751
+ componentWillUnmount() {
752
+ const that = this;
753
+ if (!that.nativeElement) {
754
+ return;
755
+ }
756
+ that.nativeElement.whenRenderedCallbacks = [];
757
+ for (let i = 0; i < that.eventListeners.length; i++) {
758
+ const eventName = that.eventListeners[i];
759
+ that.nativeElement.removeEventListener(eventName.substring(2).toLowerCase(), that[eventName]);
760
+ }
761
+ }
762
+ render() {
763
+ return (React.createElement("smart-pivot-table", { ref: this.componentRef }, this.props.children));
764
+ }
765
+ }
36
766
 
37
- const Smart = window.Smart;
38
- /**
39
- PivotTable is a table of statistics that summarizes the data of a more extensive table.
40
- */
41
- class PivotTable extends React.Component {
42
- constructor(props) {
43
- super(props);
44
- this.componentRef = React.createRef();
45
- }
46
- // Gets the id of the React component.
47
- get id() {
48
- if (!this._id) {
49
- this._id = 'PivotTable' + Math.floor((1 + Math.random()) * 0x10000).toString(16).substring(1);
50
- }
51
- return this._id;
52
- }
53
- /** Sets or gets the animation mode. Animation is disabled when the property is set to 'none'
54
- * Property type: Animation | string
55
- */
56
- get animation() {
57
- return this.nativeElement ? this.nativeElement.animation : undefined;
58
- }
59
- set animation(value) {
60
- if (this.nativeElement) {
61
- this.nativeElement.animation = value;
62
- }
63
- }
64
- /** Sets or gets whether the reordering of columns is enabled.
65
- * Property type: boolean
66
- */
67
- get columnReorder() {
68
- return this.nativeElement ? this.nativeElement.columnReorder : undefined;
69
- }
70
- set columnReorder(value) {
71
- if (this.nativeElement) {
72
- this.nativeElement.columnReorder = value;
73
- }
74
- }
75
- /** Describes the columns of the PivotTable's original tabular data. Based on these settings and the data source, the actual columns of the PivotTable are dynamically generated.
76
- * Property type: PivotTableColumn[]
77
- */
78
- get columns() {
79
- return this.nativeElement ? this.nativeElement.columns : undefined;
80
- }
81
- set columns(value) {
82
- if (this.nativeElement) {
83
- this.nativeElement.columns = value;
84
- }
85
- }
86
- /** Sets or gets whether to show total columns for each pivot data point. When enabled, all summary columns must have the same summary function set by which total columns are calculated.
87
- * Property type: boolean
88
- */
89
- get columnTotals() {
90
- return this.nativeElement ? this.nativeElement.columnTotals : undefined;
91
- }
92
- set columnTotals(value) {
93
- if (this.nativeElement) {
94
- this.nativeElement.columnTotals = value;
95
- }
96
- }
97
- /** Sets or gets the position of total columns (shown when columnTotals is enabled).
98
- * Property type: PivotTableColumnTotalsPosition | string
99
- */
100
- get columnTotalsPosition() {
101
- return this.nativeElement ? this.nativeElement.columnTotalsPosition : undefined;
102
- }
103
- set columnTotalsPosition(value) {
104
- if (this.nativeElement) {
105
- this.nativeElement.columnTotalsPosition = value;
106
- }
107
- }
108
- /** Sets or gets details about conditional formatting to be applied to the PivotTable's cells.
109
- * Property type: PivotTableConditionalFormatting[]
110
- */
111
- get conditionalFormatting() {
112
- return this.nativeElement ? this.nativeElement.conditionalFormatting : undefined;
113
- }
114
- set conditionalFormatting(value) {
115
- if (this.nativeElement) {
116
- this.nativeElement.conditionalFormatting = value;
117
- }
118
- }
119
- /** Determines the original tabular data source of the PivotTable.
120
- * Property type: any
121
- */
122
- get dataSource() {
123
- return this.nativeElement ? this.nativeElement.dataSource : undefined;
124
- }
125
- set dataSource(value) {
126
- if (this.nativeElement) {
127
- this.nativeElement.dataSource = value;
128
- }
129
- }
130
- /** Sets or gets whether the original tabular data sourse of the PivotTable will be pre-sorted based on columns with the rowGroup property (and their order).
131
- * Property type: boolean
132
- */
133
- get defaultSortByRowGroups() {
134
- return this.nativeElement ? this.nativeElement.defaultSortByRowGroups : undefined;
135
- }
136
- set defaultSortByRowGroups(value) {
137
- if (this.nativeElement) {
138
- this.nativeElement.defaultSortByRowGroups = value;
139
- }
140
- }
141
- /** Sets or gets whether to display the PivotTable's designer alongside the table itself. The designer allows for configuring column settings and applying filtering.
142
- * Property type: boolean
143
- */
144
- get designer() {
145
- return this.nativeElement ? this.nativeElement.designer : undefined;
146
- }
147
- set designer(value) {
148
- if (this.nativeElement) {
149
- this.nativeElement.designer = value;
150
- }
151
- }
152
- /** Sets or gets the position of the PivotTable's designer (shown when designer is enabled).
153
- * Property type: PivotTableDesignerPosition | string
154
- */
155
- get designerPosition() {
156
- return this.nativeElement ? this.nativeElement.designerPosition : undefined;
157
- }
158
- set designerPosition(value) {
159
- if (this.nativeElement) {
160
- this.nativeElement.designerPosition = value;
161
- }
162
- }
163
- /** Disables the interaction with the element.
164
- * Property type: boolean
165
- */
166
- get disabled() {
167
- return this.nativeElement ? this.nativeElement.disabled : undefined;
168
- }
169
- set disabled(value) {
170
- if (this.nativeElement) {
171
- this.nativeElement.disabled = value;
172
- }
173
- }
174
- /** If enabled, shows the original tabular data that has been aggregated in a PivotTable summary cell when the cell is double-clicked or F2 is pressed.
175
- * Property type: boolean
176
- */
177
- get drillDown() {
178
- return this.nativeElement ? this.nativeElement.drillDown : undefined;
179
- }
180
- set drillDown(value) {
181
- if (this.nativeElement) {
182
- this.nativeElement.drillDown = value;
183
- }
184
- }
185
- /** If set, shows an export button in the drill down dialog.
186
- * Property type: PivotTableDrillDownDataExport | string
187
- */
188
- get drillDownDataExport() {
189
- return this.nativeElement ? this.nativeElement.drillDownDataExport : undefined;
190
- }
191
- set drillDownDataExport(value) {
192
- if (this.nativeElement) {
193
- this.nativeElement.drillDownDataExport = value;
194
- }
195
- }
196
- /** Sets or gets the drill down table export file name.
197
- * Property type: string
198
- */
199
- get drillDownDataExportName() {
200
- return this.nativeElement ? this.nativeElement.drillDownDataExportName : undefined;
201
- }
202
- set drillDownDataExportName(value) {
203
- if (this.nativeElement) {
204
- this.nativeElement.drillDownDataExportName = value;
205
- }
206
- }
207
- /** Sets or gets whether sorting based on columns in classic row groups layout mode is enabled.
208
- * Property type: { (table: HTMLElement ): void }
209
- */
210
- get drillDownTableInit() {
211
- return this.nativeElement ? this.nativeElement.drillDownTableInit : undefined;
212
- }
213
- set drillDownTableInit(value) {
214
- if (this.nativeElement) {
215
- this.nativeElement.drillDownTableInit = value;
216
- }
217
- }
218
- /** Sets or gets whether the PivotTable's column header is sticky/frozen.
219
- * Property type: { (originalRecords: [] ): void }
220
- */
221
- get drillDownCustomAction() {
222
- return this.nativeElement ? this.nativeElement.drillDownCustomAction : undefined;
223
- }
224
- set drillDownCustomAction(value) {
225
- if (this.nativeElement) {
226
- this.nativeElement.drillDownCustomAction = value;
227
- }
228
- }
229
- /** Sets or gets whether to show a Grand total row aggregating the data of all rows.
230
- * Property type: boolean
231
- */
232
- get enableSortByRowGroups() {
233
- return this.nativeElement ? this.nativeElement.enableSortByRowGroups : undefined;
234
- }
235
- set enableSortByRowGroups(value) {
236
- if (this.nativeElement) {
237
- this.nativeElement.enableSortByRowGroups = value;
238
- }
239
- }
240
- /** Sets or gets the way row nesting (based on rowGroup columns) is displayed.
241
- * Property type: boolean
242
- */
243
- get freezeHeader() {
244
- return this.nativeElement ? this.nativeElement.freezeHeader : undefined;
245
- }
246
- set freezeHeader(value) {
247
- if (this.nativeElement) {
248
- this.nativeElement.freezeHeader = value;
249
- }
250
- }
251
- /** Sets or gets whether to hide the tooltip that displays details when multiple summary cells with non-null values are selected.
252
- * Property type: { (column: PivotTableColumn): string }
253
- */
254
- get getDefaultSummaryFunction() {
255
- return this.nativeElement ? this.nativeElement.getDefaultSummaryFunction : undefined;
256
- }
257
- set getDefaultSummaryFunction(value) {
258
- if (this.nativeElement) {
259
- this.nativeElement.getDefaultSummaryFunction = value;
260
- }
261
- }
262
- /** Sets or gets whether to hide rows that contain only 0 or null values. Applicable only when there are rowGroup columns.
263
- * Property type: boolean
264
- */
265
- get grandTotal() {
266
- return this.nativeElement ? this.nativeElement.grandTotal : undefined;
267
- }
268
- set grandTotal(value) {
269
- if (this.nativeElement) {
270
- this.nativeElement.grandTotal = value;
271
- }
272
- }
273
- /** Sets or gets whether navigation with the keyboard is enabled in the PivotTable.
274
- * Property type: PivotTableGroupLayout | string
275
- */
276
- get groupLayout() {
277
- return this.nativeElement ? this.nativeElement.groupLayout : undefined;
278
- }
279
- set groupLayout(value) {
280
- if (this.nativeElement) {
281
- this.nativeElement.groupLayout = value;
282
- }
283
- }
284
- /** Sets or gets the language. Used in conjunction with the property messages.
285
- * Property type: boolean
286
- */
287
- get hideCellSelectionTooltip() {
288
- return this.nativeElement ? this.nativeElement.hideCellSelectionTooltip : undefined;
289
- }
290
- set hideCellSelectionTooltip(value) {
291
- if (this.nativeElement) {
292
- this.nativeElement.hideCellSelectionTooltip = value;
293
- }
294
- }
295
- /** Sets or gets an object specifying strings used in the element that can be localized. Used in conjunction with the property locale.
296
- * Property type: boolean
297
- */
298
- get hideEmptyRows() {
299
- return this.nativeElement ? this.nativeElement.hideEmptyRows : undefined;
300
- }
301
- set hideEmptyRows(value) {
302
- if (this.nativeElement) {
303
- this.nativeElement.hideEmptyRows = value;
304
- }
305
- }
306
- /** Sets or gets what value is shown in cells that do not have aggregated data to display. By default (null), such cells are empty.
307
- * Property type: boolean
308
- */
309
- get keyboardNavigation() {
310
- return this.nativeElement ? this.nativeElement.keyboardNavigation : undefined;
311
- }
312
- set keyboardNavigation(value) {
313
- if (this.nativeElement) {
314
- this.nativeElement.keyboardNavigation = value;
315
- }
316
- }
317
- /** Sets or gets the value indicating whether the element is aligned to support locales using right-to-left fonts.
318
- * Property type: string
319
- */
320
- get locale() {
321
- return this.nativeElement ? this.nativeElement.locale : undefined;
322
- }
323
- set locale(value) {
324
- if (this.nativeElement) {
325
- this.nativeElement.locale = value;
326
- }
327
- }
328
- /** Sets or gets whether sorting by row (when a row group cell is clicked) is enabled. When columnTotals is also enabled, sorting is applied per "column group"; otherwise - for all columns.
329
- * Property type: any
330
- */
331
- get messages() {
332
- return this.nativeElement ? this.nativeElement.messages : undefined;
333
- }
334
- set messages(value) {
335
- if (this.nativeElement) {
336
- this.nativeElement.messages = value;
337
- }
338
- }
339
- /** Sets or gets whether row summaries are displayed in the row headers. Example: Peterson(40) vs Peterson, when rowSummary is set to false.
340
- * Property type: number
341
- */
342
- get nullDefaultValue() {
343
- return this.nativeElement ? this.nativeElement.nullDefaultValue : undefined;
344
- }
345
- set nullDefaultValue(value) {
346
- if (this.nativeElement) {
347
- this.nativeElement.nullDefaultValue = value;
348
- }
349
- }
350
- /** Sets or gets whether to show row total columns for each summary column.
351
- * Property type: { (data: any, dynamicColumn: any, value: any, cell: HTMLTableCellElement): void }
352
- */
353
- get onCellRender() {
354
- return this.nativeElement ? this.nativeElement.onCellRender : undefined;
355
- }
356
- set onCellRender(value) {
357
- if (this.nativeElement) {
358
- this.nativeElement.onCellRender = value;
359
- }
360
- }
361
- /** Sets or gets the position of row total columns (shown when rowTotals is enabled).
362
- * Property type: { (settings: { text: string, cell: HTMLTableCellElement, column: PivotTableColumn, fullDefinition: any }): void }
363
- */
364
- get onColumnRender() {
365
- return this.nativeElement ? this.nativeElement.onColumnRender : undefined;
366
- }
367
- set onColumnRender(value) {
368
- if (this.nativeElement) {
369
- this.nativeElement.onColumnRender = value;
370
- }
371
- }
372
- /** Sets or gets whether row selection (via checkboxes) is enabled.
373
- * Property type: { (): void }
374
- */
375
- get onInit() {
376
- return this.nativeElement ? this.nativeElement.onInit : undefined;
377
- }
378
- set onInit(value) {
379
- if (this.nativeElement) {
380
- this.nativeElement.onInit = value;
381
- }
382
- }
383
- /** Sets or gets the selection mode. Only applicable when selection is enabled.
384
- * Property type: boolean
385
- */
386
- get rightToLeft() {
387
- return this.nativeElement ? this.nativeElement.rightToLeft : undefined;
388
- }
389
- set rightToLeft(value) {
390
- if (this.nativeElement) {
391
- this.nativeElement.rightToLeft = value;
392
- }
393
- }
394
- /** Determines the sorting mode of the PivotTable.
395
- * Property type: boolean
396
- */
397
- get rowSort() {
398
- return this.nativeElement ? this.nativeElement.rowSort : undefined;
399
- }
400
- set rowSort(value) {
401
- if (this.nativeElement) {
402
- this.nativeElement.rowSort = value;
403
- }
404
- }
405
- /** Determines the theme. Theme defines the look of the element
406
- * Property type: boolean
407
- */
408
- get rowSummary() {
409
- return this.nativeElement ? this.nativeElement.rowSummary : undefined;
410
- }
411
- set rowSummary(value) {
412
- if (this.nativeElement) {
413
- this.nativeElement.rowSummary = value;
414
- }
415
- }
416
- /** Sets or gets whether the PivotTable's toolbar is shown. It contains two breadcrumb components that allow the modification of the row group and pivot columns, as well as the "Conditional Formatting" and "Fields" buttons that open a dialog with additional settings.
417
- * Property type: boolean
418
- */
419
- get rowTotals() {
420
- return this.nativeElement ? this.nativeElement.rowTotals : undefined;
421
- }
422
- set rowTotals(value) {
423
- if (this.nativeElement) {
424
- this.nativeElement.rowTotals = value;
425
- }
426
- }
427
- /** Sets or gets whether when hovering a cell with truncated content, a tooltip with the full content will be shown.
428
- * Property type: PivotTableRowTotalsPosition | string
429
- */
430
- get rowTotalsPosition() {
431
- return this.nativeElement ? this.nativeElement.rowTotalsPosition : undefined;
432
- }
433
- set rowTotalsPosition(value) {
434
- if (this.nativeElement) {
435
- this.nativeElement.rowTotalsPosition = value;
436
- }
437
- }
438
- /** undefined
439
- * Property type: boolean
440
- */
441
- get selection() {
442
- return this.nativeElement ? this.nativeElement.selection : undefined;
443
- }
444
- set selection(value) {
445
- if (this.nativeElement) {
446
- this.nativeElement.selection = value;
447
- }
448
- }
449
- /** undefined
450
- * Property type: PivotTableSelectionMode | string
451
- */
452
- get selectionMode() {
453
- return this.nativeElement ? this.nativeElement.selectionMode : undefined;
454
- }
455
- set selectionMode(value) {
456
- if (this.nativeElement) {
457
- this.nativeElement.selectionMode = value;
458
- }
459
- }
460
- /** undefined
461
- * Property type: PivotTableSortMode | string
462
- */
463
- get sortMode() {
464
- return this.nativeElement ? this.nativeElement.sortMode : undefined;
465
- }
466
- set sortMode(value) {
467
- if (this.nativeElement) {
468
- this.nativeElement.sortMode = value;
469
- }
470
- }
471
- /** undefined
472
- * Property type: string
473
- */
474
- get theme() {
475
- return this.nativeElement ? this.nativeElement.theme : undefined;
476
- }
477
- set theme(value) {
478
- if (this.nativeElement) {
479
- this.nativeElement.theme = value;
480
- }
481
- }
482
- /** undefined
483
- * Property type: boolean
484
- */
485
- get toolbar() {
486
- return this.nativeElement ? this.nativeElement.toolbar : undefined;
487
- }
488
- set toolbar(value) {
489
- if (this.nativeElement) {
490
- this.nativeElement.toolbar = value;
491
- }
492
- }
493
- /** undefined
494
- * Property type: boolean
495
- */
496
- get tooltip() {
497
- return this.nativeElement ? this.nativeElement.tooltip : undefined;
498
- }
499
- set tooltip(value) {
500
- if (this.nativeElement) {
501
- this.nativeElement.tooltip = value;
502
- }
503
- }
504
- // Gets the properties of the React component.
505
- get properties() {
506
- return ["animation", "columnReorder", "columns", "columnTotals", "columnTotalsPosition", "conditionalFormatting", "dataSource", "defaultSortByRowGroups", "designer", "designerPosition", "disabled", "drillDown", "drillDownDataExport", "drillDownDataExportName", "drillDownTableInit", "drillDownCustomAction", "enableSortByRowGroups", "freezeHeader", "getDefaultSummaryFunction", "grandTotal", "groupLayout", "hideCellSelectionTooltip", "hideEmptyRows", "keyboardNavigation", "locale", "messages", "nullDefaultValue", "onCellRender", "onColumnRender", "onInit", "rightToLeft", "rowSort", "rowSummary", "rowTotals", "rowTotalsPosition", "selection", "selectionMode", "sortMode", "theme", "toolbar", "tooltip"];
507
- }
508
- // Gets the events of the React component.
509
- get eventListeners() {
510
- return ["onCellClick", "onChange", "onColumnClick", "onCollapse", "onCollapseTotalColumn", "onExpand", "onExpandTotalColumn", "onFilter", "onSort", "onCreate", "onReady"];
511
- }
512
- /** Adds a filter to a specific column.
513
- * @param {string} dataField. The column's data field.
514
- * @param {any} filter. FilterGroup object.
515
- */
516
- addFilter(dataField, filter) {
517
- if (this.nativeElement.isRendered) {
518
- this.nativeElement.addFilter(dataField, filter);
519
- }
520
- else {
521
- this.nativeElement.whenRendered(() => {
522
- this.nativeElement.addFilter(dataField, filter);
523
- });
524
- }
525
- }
526
- /** Clears applied filters.
527
- */
528
- clearFilters() {
529
- if (this.nativeElement.isRendered) {
530
- this.nativeElement.clearFilters();
531
- }
532
- else {
533
- this.nativeElement.whenRendered(() => {
534
- this.nativeElement.clearFilters();
535
- });
536
- }
537
- }
538
- /** Clears selection.
539
- */
540
- clearSelection() {
541
- if (this.nativeElement.isRendered) {
542
- this.nativeElement.clearSelection();
543
- }
544
- else {
545
- this.nativeElement.whenRendered(() => {
546
- this.nativeElement.clearSelection();
547
- });
548
- }
549
- }
550
- /** Clears the PivotTable sorting.
551
- */
552
- clearSort() {
553
- if (this.nativeElement.isRendered) {
554
- this.nativeElement.clearSort();
555
- }
556
- else {
557
- this.nativeElement.whenRendered(() => {
558
- this.nativeElement.clearSort();
559
- });
560
- }
561
- }
562
- /** Collapses all rows (when multiple row groups are applied).
563
- */
564
- collapseAllRows() {
565
- if (this.nativeElement.isRendered) {
566
- this.nativeElement.collapseAllRows();
567
- }
568
- else {
569
- this.nativeElement.whenRendered(() => {
570
- this.nativeElement.collapseAllRows();
571
- });
572
- }
573
- }
574
- /** Collapses a row (when multiple row groups are applied).
575
- * @param {string | number} rowId. The id of the row to collapse. Can be retrieved from the <strong>rows</strong> collection.
576
- */
577
- collapseRow(rowId) {
578
- if (this.nativeElement.isRendered) {
579
- this.nativeElement.collapseRow(rowId);
580
- }
581
- else {
582
- this.nativeElement.whenRendered(() => {
583
- this.nativeElement.collapseRow(rowId);
584
- });
585
- }
586
- }
587
- /** Expands all rows (when multiple row groups are applied).
588
- */
589
- expandAllRows() {
590
- if (this.nativeElement.isRendered) {
591
- this.nativeElement.expandAllRows();
592
- }
593
- else {
594
- this.nativeElement.whenRendered(() => {
595
- this.nativeElement.expandAllRows();
596
- });
597
- }
598
- }
599
- /** Expands a row (when multiple row groups are applied).
600
- * @param {string | number} rowId. The id of the row to expand. Can be retrieved from the <strong>rows</strong> collection.
601
- */
602
- expandRow(rowId) {
603
- if (this.nativeElement.isRendered) {
604
- this.nativeElement.expandRow(rowId);
605
- }
606
- else {
607
- this.nativeElement.whenRendered(() => {
608
- this.nativeElement.expandRow(rowId);
609
- });
610
- }
611
- }
612
- /** Exports the PivotTable's data.
613
- * @param {string} dataFormat. The file format to export to. Supported formats: 'csv', 'html', 'json', 'pdf', 'tsv', 'xlsx', 'xml'.
614
- * @param {string} fileName. The name of the file to export to
615
- * @param {Function} callback?. A callback function to pass the exported data to (if fileName is not provided)
616
- * @returns {any}
617
- */
618
- exportData(dataFormat, fileName, callback) {
619
- return __awaiter(this, void 0, void 0, function* () {
620
- const getResultOnRender = () => {
621
- return new Promise(resolve => {
622
- this.nativeElement.whenRendered(() => {
623
- const result = this.nativeElement.exportData(dataFormat, fileName, callback);
624
- resolve(result);
625
- });
626
- });
627
- };
628
- const result = yield getResultOnRender();
629
- return result;
630
- });
631
- }
632
- /** Returns the current dynamic pivot columns.
633
- * @returns {any}
634
- */
635
- getDynamicColumns() {
636
- return __awaiter(this, void 0, void 0, function* () {
637
- const getResultOnRender = () => {
638
- return new Promise(resolve => {
639
- this.nativeElement.whenRendered(() => {
640
- const result = this.nativeElement.getDynamicColumns();
641
- resolve(result);
642
- });
643
- });
644
- };
645
- const result = yield getResultOnRender();
646
- return result;
647
- });
648
- }
649
- /** Returns an array of selected row ids (when selectionMode is 'many' or 'extended') or an array of selected cell details (when selectionMode is 'cell').
650
- * @returns {(string | number)[] | { dataField: string, rowId: string | number }[]}
651
- */
652
- getSelection() {
653
- return __awaiter(this, void 0, void 0, function* () {
654
- const getResultOnRender = () => {
655
- return new Promise(resolve => {
656
- this.nativeElement.whenRendered(() => {
657
- const result = this.nativeElement.getSelection();
658
- resolve(result);
659
- });
660
- });
661
- };
662
- const result = yield getResultOnRender();
663
- return result;
664
- });
665
- }
666
- /** Refreshes the PivotTable.
667
- */
668
- refresh() {
669
- if (this.nativeElement.isRendered) {
670
- this.nativeElement.refresh();
671
- }
672
- else {
673
- this.nativeElement.whenRendered(() => {
674
- this.nativeElement.refresh();
675
- });
676
- }
677
- }
678
- /** Removes filters applied to a specific column.
679
- * @param {string} dataField. The column's data field.
680
- */
681
- removeFilter(dataField) {
682
- if (this.nativeElement.isRendered) {
683
- this.nativeElement.removeFilter(dataField);
684
- }
685
- else {
686
- this.nativeElement.whenRendered(() => {
687
- this.nativeElement.removeFilter(dataField);
688
- });
689
- }
690
- }
691
- /** Selects one or more rows (when selectionMode is 'many' or 'extended') or a single cell (when selectionMode is 'cell' and the second argument is passed).
692
- * @param {string | number | (string | number)[]} rowId. The id of the row (or an array of row ids) to select (or of the cell's parent row when <strong>selectionMode</strong> is <em>'cell'</em>). Can be retrieved from the <strong>rows</strong> collection.
693
- * @param {string} dataField?. The dataField of the dynamic column (can be retrieved by calling <strong>getDynamicColumns</strong>) of the cell to select (only applicable when <strong>selectionMode</strong> is <em>'cell'</em>).
694
- */
695
- select(rowId, dataField) {
696
- if (this.nativeElement.isRendered) {
697
- this.nativeElement.select(rowId, dataField);
698
- }
699
- else {
700
- this.nativeElement.whenRendered(() => {
701
- this.nativeElement.select(rowId, dataField);
702
- });
703
- }
704
- }
705
- /** Sorts by a summary or group column.
706
- * @param {any} columnDefinition. The dynamic column's definition. Can be retrieved from the method <strong>getDynamicColumns</strong>.
707
- * @param {string} sortOrder?. Sort order. Possible values: 'asc' (ascending), 'desc' (descending), and null (removes sorting by column). If not provided, toggles the sorting.
708
- */
709
- sortBy(columnDefinition, sortOrder) {
710
- if (this.nativeElement.isRendered) {
711
- this.nativeElement.sortBy(columnDefinition, sortOrder);
712
- }
713
- else {
714
- this.nativeElement.whenRendered(() => {
715
- this.nativeElement.sortBy(columnDefinition, sortOrder);
716
- });
717
- }
718
- }
719
- /** Unselects one or more rows (when selectionMode is 'many' or 'extended') or a single cell (when selectionMode is 'cell' and the second argument is passed).
720
- * @param {string | number | (string | number)[]} rowId. The id of the row (or an array of row ids) to select (or of the cell's parent row when <strong>selectionMode</strong> is <em>'cell'</em>). Can be retrieved from the <strong>rows</strong> collection.
721
- * @param {string} dataField?. The dataField of the dynamic column (can be retrieved by calling <strong>getDynamicColumns</strong>) of the cell to select (only applicable when <strong>selectionMode</strong> is <em>'cell'</em>).
722
- */
723
- unselect(rowId, dataField) {
724
- if (this.nativeElement.isRendered) {
725
- this.nativeElement.unselect(rowId, dataField);
726
- }
727
- else {
728
- this.nativeElement.whenRendered(() => {
729
- this.nativeElement.unselect(rowId, dataField);
730
- });
731
- }
732
- }
733
- componentDidRender(initialize) {
734
- const that = this;
735
- const props = {};
736
- const events = {};
737
- let styles = null;
738
- for (let prop in that.props) {
739
- if (prop === 'children') {
740
- continue;
741
- }
742
- if (prop === 'style') {
743
- styles = that.props[prop];
744
- continue;
745
- }
746
- if (prop.startsWith('on') && that.properties.indexOf(prop) === -1) {
747
- events[prop] = that.props[prop];
748
- continue;
749
- }
750
- props[prop] = that.props[prop];
751
- }
752
- if (initialize) {
753
- that.nativeElement = this.componentRef.current;
754
- }
755
- for (let prop in props) {
756
- if (prop === 'class' || prop === 'className') {
757
- const classNames = props[prop].trim().split(' ');
758
- for (let className in classNames) {
759
- if (!that.nativeElement.classList.contains(classNames[className]) && classNames[className] !== "") {
760
- that.nativeElement.classList.add(classNames[className]);
761
- }
762
- }
763
- continue;
764
- }
765
- if (props[prop] !== that.nativeElement[prop]) {
766
- const normalizeProp = (str) => {
767
- return str.replace(/-([a-z])/g, function (g) {
768
- return g[1].toUpperCase();
769
- });
770
- };
771
- if (prop === 'hover' || prop === 'active' || prop === 'focus' || prop === 'selected') {
772
- that.nativeElement.setAttribute(prop, '');
773
- }
774
- const normalizedProp = normalizeProp(prop);
775
- that.nativeElement[normalizedProp] = props[prop];
776
- }
777
- }
778
- for (let eventName in events) {
779
- that[eventName] = events[eventName];
780
- that.nativeElement[eventName.toLowerCase()] = events[eventName];
781
- }
782
- if (initialize) {
783
- Smart.Render();
784
- if (that.onCreate) {
785
- that.onCreate();
786
- }
787
- that.nativeElement.whenRendered(() => {
788
- if (that.onReady) {
789
- that.onReady();
790
- }
791
- });
792
- }
793
- // setup styles.
794
- if (styles) {
795
- for (let styleName in styles) {
796
- that.nativeElement.style[styleName] = styles[styleName];
797
- }
798
- }
799
- }
800
- componentDidMount() {
801
- this.componentDidRender(true);
802
- }
803
- componentDidUpdate() {
804
- this.componentDidRender(false);
805
- }
806
- componentWillUnmount() {
807
- const that = this;
808
- if (!that.nativeElement) {
809
- return;
810
- }
811
- that.nativeElement.whenRenderedCallbacks = [];
812
- for (let i = 0; i < that.eventListeners.length; i++) {
813
- const eventName = that.eventListeners[i];
814
- that.nativeElement.removeEventListener(eventName.substring(2).toLowerCase(), that[eventName]);
815
- }
816
- }
817
- render() {
818
- return (React.createElement("smart-pivot-table", { ref: this.componentRef }, this.props.children));
819
- }
820
- }
767
+ exports.Smart = Smart;
768
+ exports.PivotTable = PivotTable;
769
+ exports.default = PivotTable;
821
770
 
822
- exports.Smart = Smart;
823
- exports.PivotTable = PivotTable;
824
- exports.default = PivotTable;
825
-
826
- Object.defineProperty(exports, '__esModule', { value: true });
771
+ Object.defineProperty(exports, '__esModule', { value: true });
827
772
 
828
773
  })));