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,560 +2,525 @@
2
2
  require('../source/modules/smart.cardview');
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.cardview = {}),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.cardview = {}),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
+ CardView creates Card-based layout. Supports Filtering, Sorting, Grouping, Editing and UI Virtualization.
15
+ */
16
+ class CardView 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 = 'CardView' + Math.floor((1 + Math.random()) * 0x10000).toString(16).substring(1);
25
+ }
26
+ return this._id;
27
+ }
28
+ /** Toggles the button for adding new cards.
29
+ * Property type: boolean
30
+ */
31
+ get addNewButton() {
32
+ return this.nativeElement ? this.nativeElement.addNewButton : undefined;
33
+ }
34
+ set addNewButton(value) {
35
+ if (this.nativeElement) {
36
+ this.nativeElement.addNewButton = value;
37
+ }
38
+ }
39
+ /** Allows reordering by dragging cards.
40
+ * Property type: boolean
41
+ */
42
+ get allowDrag() {
43
+ return this.nativeElement ? this.nativeElement.allowDrag : undefined;
44
+ }
45
+ set allowDrag(value) {
46
+ if (this.nativeElement) {
47
+ this.nativeElement.allowDrag = value;
48
+ }
49
+ }
50
+ /** Sets or gets the animation mode. Animation is disabled when the property is set to 'none'
51
+ * Property type: Animation | string
52
+ */
53
+ get animation() {
54
+ return this.nativeElement ? this.nativeElement.animation : undefined;
55
+ }
56
+ set animation(value) {
57
+ if (this.nativeElement) {
58
+ this.nativeElement.animation = value;
59
+ }
60
+ }
61
+ /** Describes the height for each card.
62
+ * Property type: number | null
63
+ */
64
+ get cardHeight() {
65
+ return this.nativeElement ? this.nativeElement.cardHeight : undefined;
66
+ }
67
+ set cardHeight(value) {
68
+ if (this.nativeElement) {
69
+ this.nativeElement.cardHeight = value;
70
+ }
71
+ }
72
+ /** Describes the orientation of the card cells.
73
+ * Property type: Orientation | string
74
+ */
75
+ get cellOrientation() {
76
+ return this.nativeElement ? this.nativeElement.cellOrientation : undefined;
77
+ }
78
+ set cellOrientation(value) {
79
+ if (this.nativeElement) {
80
+ this.nativeElement.cellOrientation = value;
81
+ }
82
+ }
83
+ /** Allows collapsing the card content.
84
+ * Property type: boolean
85
+ */
86
+ get collapsible() {
87
+ return this.nativeElement ? this.nativeElement.collapsible : undefined;
88
+ }
89
+ set collapsible(value) {
90
+ if (this.nativeElement) {
91
+ this.nativeElement.collapsible = value;
92
+ }
93
+ }
94
+ /** Describes the columns properties:label - Sets the column namedataField - Sets the dataField nameicon - Sets the icon for the columnformatSettings - Sets the settings about the format for the current columnformatFunction - Function for customizing the value
95
+ * Property type: CardViewColumn[]
96
+ */
97
+ get columns() {
98
+ return this.nativeElement ? this.nativeElement.columns : undefined;
99
+ }
100
+ set columns(value) {
101
+ if (this.nativeElement) {
102
+ this.nativeElement.columns = value;
103
+ }
104
+ }
105
+ /** Describes which data field to be set as cover.
106
+ * Property type: string
107
+ */
108
+ get coverField() {
109
+ return this.nativeElement ? this.nativeElement.coverField : undefined;
110
+ }
111
+ set coverField(value) {
112
+ if (this.nativeElement) {
113
+ this.nativeElement.coverField = value;
114
+ }
115
+ }
116
+ /** Describes the cover image fit property.
117
+ * Property type: CardViewCoverMode | string
118
+ */
119
+ get coverMode() {
120
+ return this.nativeElement ? this.nativeElement.coverMode : undefined;
121
+ }
122
+ set coverMode(value) {
123
+ if (this.nativeElement) {
124
+ this.nativeElement.coverMode = value;
125
+ }
126
+ }
127
+ /** Determines the data source for the item that will be displayed inside the card.
128
+ * Property type: any
129
+ */
130
+ get dataSource() {
131
+ return this.nativeElement ? this.nativeElement.dataSource : undefined;
132
+ }
133
+ set dataSource(value) {
134
+ if (this.nativeElement) {
135
+ this.nativeElement.dataSource = value;
136
+ }
137
+ }
138
+ /** Sets the grid's data source settings when the dataSource property is set to an Array or URL.
139
+ * Property type: DataSourceSettings
140
+ */
141
+ get dataSourceSettings() {
142
+ return this.nativeElement ? this.nativeElement.dataSourceSettings : undefined;
143
+ }
144
+ set dataSourceSettings(value) {
145
+ if (this.nativeElement) {
146
+ this.nativeElement.dataSourceSettings = value;
147
+ }
148
+ }
149
+ /** Allows the edit option for the cards.
150
+ * Property type: boolean
151
+ */
152
+ get editable() {
153
+ return this.nativeElement ? this.nativeElement.editable : undefined;
154
+ }
155
+ set editable(value) {
156
+ if (this.nativeElement) {
157
+ this.nativeElement.editable = value;
158
+ }
159
+ }
160
+ /** Sets or gets the header position. The header contains the Customize, Filter, Sort, and Search buttons.
161
+ * Property type: CardViewHeaderPosition | string
162
+ */
163
+ get headerPosition() {
164
+ return this.nativeElement ? this.nativeElement.headerPosition : undefined;
165
+ }
166
+ set headerPosition(value) {
167
+ if (this.nativeElement) {
168
+ this.nativeElement.headerPosition = value;
169
+ }
170
+ }
171
+ /** Sets or gets the locale. Used in conjunction with the property messages.
172
+ * Property type: string
173
+ */
174
+ get locale() {
175
+ return this.nativeElement ? this.nativeElement.locale : undefined;
176
+ }
177
+ set locale(value) {
178
+ if (this.nativeElement) {
179
+ this.nativeElement.locale = value;
180
+ }
181
+ }
182
+ /** Sets or gets an object specifying strings used in the widget that can be localized. Used in conjunction with the property locale.
183
+ * Property type: any
184
+ */
185
+ get messages() {
186
+ return this.nativeElement ? this.nativeElement.messages : undefined;
187
+ }
188
+ set messages(value) {
189
+ if (this.nativeElement) {
190
+ this.nativeElement.messages = value;
191
+ }
192
+ }
193
+ /** Sets or gets the value indicating whether the element is aligned to support locales using right-to-left fonts.
194
+ * Property type: boolean
195
+ */
196
+ get rightToLeft() {
197
+ return this.nativeElement ? this.nativeElement.rightToLeft : undefined;
198
+ }
199
+ set rightToLeft(value) {
200
+ if (this.nativeElement) {
201
+ this.nativeElement.rightToLeft = value;
202
+ }
203
+ }
204
+ /** Determines the theme. Theme defines the look of the element
205
+ * Property type: string
206
+ */
207
+ get theme() {
208
+ return this.nativeElement ? this.nativeElement.theme : undefined;
209
+ }
210
+ set theme(value) {
211
+ if (this.nativeElement) {
212
+ this.nativeElement.theme = value;
213
+ }
214
+ }
215
+ /** Describes the scrolling behavior of the element.
216
+ * Property type: Scrolling | string
217
+ */
218
+ get scrolling() {
219
+ return this.nativeElement ? this.nativeElement.scrolling : undefined;
220
+ }
221
+ set scrolling(value) {
222
+ if (this.nativeElement) {
223
+ this.nativeElement.scrolling = value;
224
+ }
225
+ }
226
+ /** Describes which data field to be set as title.
227
+ * Property type: string
228
+ */
229
+ get titleField() {
230
+ return this.nativeElement ? this.nativeElement.titleField : undefined;
231
+ }
232
+ set titleField(value) {
233
+ if (this.nativeElement) {
234
+ this.nativeElement.titleField = value;
235
+ }
236
+ }
237
+ // Gets the properties of the React component.
238
+ get properties() {
239
+ return ["addNewButton", "allowDrag", "animation", "cardHeight", "cellOrientation", "collapsible", "columns", "coverField", "coverMode", "dataSource", "dataSourceSettings", "editable", "headerPosition", "locale", "messages", "rightToLeft", "theme", "scrolling", "titleField"];
240
+ }
241
+ // Gets the events of the React component.
242
+ get eventListeners() {
243
+ return ["onFilter", "onSort", "onOpen", "onOpening", "onClose", "onClosing", "onDragStart", "onDragging", "onDragEnd", "onCreate", "onReady"];
244
+ }
245
+ /** Adds filtering
246
+ * @param {string[]} filters. Filter information
247
+ * @param {string} operator?. Logical operator between the filters of different fields
248
+ */
249
+ addFilter(filters, operator) {
250
+ if (this.nativeElement.isRendered) {
251
+ this.nativeElement.addFilter(filters, operator);
252
+ }
253
+ else {
254
+ this.nativeElement.whenRendered(() => {
255
+ this.nativeElement.addFilter(filters, operator);
256
+ });
257
+ }
258
+ }
259
+ /** Adds a new record
260
+ * @param {number | string} recordId?. The id of the record to add
261
+ * @param {any} data?. The data of the record to add
262
+ * @param {string} position?. The position to add the record to. Possible values: 'first' and 'last'.
263
+ */
264
+ addRecord(recordId, data, position) {
265
+ if (this.nativeElement.isRendered) {
266
+ this.nativeElement.addRecord(recordId, data, position);
267
+ }
268
+ else {
269
+ this.nativeElement.whenRendered(() => {
270
+ this.nativeElement.addRecord(recordId, data, position);
271
+ });
272
+ }
273
+ }
274
+ /** Adds sorting
275
+ * @param {[] | string} dataFields. The data field(s) to sort by
276
+ * @param {[] | string} orderBy. The sort direction(s) to sort the data field(s) by
277
+ */
278
+ addSort(dataFields, orderBy) {
279
+ if (this.nativeElement.isRendered) {
280
+ this.nativeElement.addSort(dataFields, orderBy);
281
+ }
282
+ else {
283
+ this.nativeElement.whenRendered(() => {
284
+ this.nativeElement.addSort(dataFields, orderBy);
285
+ });
286
+ }
287
+ }
288
+ /** Begins an edit operation
289
+ * @param {number | string} recordId. The id of the record to edit
290
+ */
291
+ beginEdit(recordId) {
292
+ if (this.nativeElement.isRendered) {
293
+ this.nativeElement.beginEdit(recordId);
294
+ }
295
+ else {
296
+ this.nativeElement.whenRendered(() => {
297
+ this.nativeElement.beginEdit(recordId);
298
+ });
299
+ }
300
+ }
301
+ /** Ends the current edit operation and discards changes
302
+ */
303
+ cancelEdit() {
304
+ if (this.nativeElement.isRendered) {
305
+ this.nativeElement.cancelEdit();
306
+ }
307
+ else {
308
+ this.nativeElement.whenRendered(() => {
309
+ this.nativeElement.cancelEdit();
310
+ });
311
+ }
312
+ }
313
+ /** Closes any open header panel (drop down)
314
+ */
315
+ closePanel() {
316
+ if (this.nativeElement.isRendered) {
317
+ this.nativeElement.closePanel();
318
+ }
319
+ else {
320
+ this.nativeElement.whenRendered(() => {
321
+ this.nativeElement.closePanel();
322
+ });
323
+ }
324
+ }
325
+ /** Ends the current edit operation and saves changes
326
+ */
327
+ endEdit() {
328
+ if (this.nativeElement.isRendered) {
329
+ this.nativeElement.endEdit();
330
+ }
331
+ else {
332
+ this.nativeElement.whenRendered(() => {
333
+ this.nativeElement.endEdit();
334
+ });
335
+ }
336
+ }
337
+ /** Makes sure a record is visible by scrolling to it. If succcessful, the method returns the HTML element of the record's card.
338
+ * @param {number | string} recordId. The id of the record to scroll to
339
+ * @returns {HTMLElement}
340
+ */
341
+ ensureVisible(recordId) {
342
+ const result = this.nativeElement.ensureVisible(recordId);
343
+ return result;
344
+ }
345
+ /** Opens the "Customize cards" header panel (drop down)
346
+ */
347
+ openCustomizePanel() {
348
+ if (this.nativeElement.isRendered) {
349
+ this.nativeElement.openCustomizePanel();
350
+ }
351
+ else {
352
+ this.nativeElement.whenRendered(() => {
353
+ this.nativeElement.openCustomizePanel();
354
+ });
355
+ }
356
+ }
357
+ /** Opens the "Filter" header panel (drop down)
358
+ */
359
+ openFilterPanel() {
360
+ if (this.nativeElement.isRendered) {
361
+ this.nativeElement.openFilterPanel();
362
+ }
363
+ else {
364
+ this.nativeElement.whenRendered(() => {
365
+ this.nativeElement.openFilterPanel();
366
+ });
367
+ }
368
+ }
369
+ /** Opens the "Sort" header panel (drop down)
370
+ */
371
+ openSortPanel() {
372
+ if (this.nativeElement.isRendered) {
373
+ this.nativeElement.openSortPanel();
374
+ }
375
+ else {
376
+ this.nativeElement.whenRendered(() => {
377
+ this.nativeElement.openSortPanel();
378
+ });
379
+ }
380
+ }
381
+ /** Removes filtering
382
+ */
383
+ removeFilter() {
384
+ if (this.nativeElement.isRendered) {
385
+ this.nativeElement.removeFilter();
386
+ }
387
+ else {
388
+ this.nativeElement.whenRendered(() => {
389
+ this.nativeElement.removeFilter();
390
+ });
391
+ }
392
+ }
393
+ /** Removes a record
394
+ * @param {number | string} recordId. The id of the record to remove
395
+ */
396
+ removeRecord(recordId) {
397
+ if (this.nativeElement.isRendered) {
398
+ this.nativeElement.removeRecord(recordId);
399
+ }
400
+ else {
401
+ this.nativeElement.whenRendered(() => {
402
+ this.nativeElement.removeRecord(recordId);
403
+ });
404
+ }
405
+ }
406
+ /** Removes sorting
407
+ */
408
+ removeSort() {
409
+ if (this.nativeElement.isRendered) {
410
+ this.nativeElement.removeSort();
411
+ }
412
+ else {
413
+ this.nativeElement.whenRendered(() => {
414
+ this.nativeElement.removeSort();
415
+ });
416
+ }
417
+ }
418
+ /** Shows a column
419
+ * @param {string} dataField. The data field of the column
420
+ */
421
+ showColumn(dataField) {
422
+ if (this.nativeElement.isRendered) {
423
+ this.nativeElement.showColumn(dataField);
424
+ }
425
+ else {
426
+ this.nativeElement.whenRendered(() => {
427
+ this.nativeElement.showColumn(dataField);
428
+ });
429
+ }
430
+ }
431
+ componentDidRender(initialize) {
432
+ const that = this;
433
+ const props = {};
434
+ const events = {};
435
+ let styles = null;
436
+ for (let prop in that.props) {
437
+ if (prop === 'children') {
438
+ continue;
439
+ }
440
+ if (prop === 'style') {
441
+ styles = that.props[prop];
442
+ continue;
443
+ }
444
+ if (prop.startsWith('on') && that.properties.indexOf(prop) === -1) {
445
+ events[prop] = that.props[prop];
446
+ continue;
447
+ }
448
+ props[prop] = that.props[prop];
449
+ }
450
+ if (initialize) {
451
+ that.nativeElement = this.componentRef.current;
452
+ }
453
+ for (let prop in props) {
454
+ if (prop === 'class' || prop === 'className') {
455
+ const classNames = props[prop].trim().split(' ');
456
+ for (let className in classNames) {
457
+ if (!that.nativeElement.classList.contains(classNames[className]) && classNames[className] !== "") {
458
+ that.nativeElement.classList.add(classNames[className]);
459
+ }
460
+ }
461
+ continue;
462
+ }
463
+ if (props[prop] !== that.nativeElement[prop]) {
464
+ const normalizeProp = (str) => {
465
+ return str.replace(/-([a-z])/g, function (g) {
466
+ return g[1].toUpperCase();
467
+ });
468
+ };
469
+ if (prop === 'hover' || prop === 'active' || prop === 'focus' || prop === 'selected') {
470
+ that.nativeElement.setAttribute(prop, '');
471
+ }
472
+ const normalizedProp = normalizeProp(prop);
473
+ that.nativeElement[normalizedProp] = props[prop];
474
+ }
475
+ }
476
+ for (let eventName in events) {
477
+ that[eventName] = events[eventName];
478
+ that.nativeElement[eventName.toLowerCase()] = events[eventName];
479
+ }
480
+ if (initialize) {
481
+ Smart.Render();
482
+ if (that.onCreate) {
483
+ that.onCreate();
484
+ }
485
+ that.nativeElement.whenRendered(() => {
486
+ if (that.onReady) {
487
+ that.onReady();
488
+ }
489
+ });
490
+ }
491
+ // setup styles.
492
+ if (styles) {
493
+ for (let styleName in styles) {
494
+ that.nativeElement.style[styleName] = styles[styleName];
495
+ }
496
+ }
497
+ }
498
+ componentDidMount() {
499
+ this.componentDidRender(true);
500
+ }
501
+ componentDidUpdate() {
502
+ this.componentDidRender(false);
503
+ }
504
+ componentWillUnmount() {
505
+ const that = this;
506
+ if (!that.nativeElement) {
507
+ return;
508
+ }
509
+ that.nativeElement.whenRenderedCallbacks = [];
510
+ for (let i = 0; i < that.eventListeners.length; i++) {
511
+ const eventName = that.eventListeners[i];
512
+ that.nativeElement.removeEventListener(eventName.substring(2).toLowerCase(), that[eventName]);
513
+ }
514
+ }
515
+ render() {
516
+ return (React.createElement("smart-card-view", { ref: this.componentRef }, this.props.children));
517
+ }
518
+ }
36
519
 
37
- const Smart = window.Smart;
38
- /**
39
- CardView creates Card-based layout. Supports Filtering, Sorting, Grouping, Editing and UI Virtualization.
40
- */
41
- class CardView 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 = 'CardView' + Math.floor((1 + Math.random()) * 0x10000).toString(16).substring(1);
50
- }
51
- return this._id;
52
- }
53
- /** Toggles the button for adding new cards.
54
- * Property type: boolean
55
- */
56
- get addNewButton() {
57
- return this.nativeElement ? this.nativeElement.addNewButton : undefined;
58
- }
59
- set addNewButton(value) {
60
- if (this.nativeElement) {
61
- this.nativeElement.addNewButton = value;
62
- }
63
- }
64
- /** Allows reordering by dragging cards.
65
- * Property type: boolean
66
- */
67
- get allowDrag() {
68
- return this.nativeElement ? this.nativeElement.allowDrag : undefined;
69
- }
70
- set allowDrag(value) {
71
- if (this.nativeElement) {
72
- this.nativeElement.allowDrag = value;
73
- }
74
- }
75
- /** Sets or gets the animation mode. Animation is disabled when the property is set to 'none'
76
- * Property type: Animation | string
77
- */
78
- get animation() {
79
- return this.nativeElement ? this.nativeElement.animation : undefined;
80
- }
81
- set animation(value) {
82
- if (this.nativeElement) {
83
- this.nativeElement.animation = value;
84
- }
85
- }
86
- /** Describes the height for each card.
87
- * Property type: number | null
88
- */
89
- get cardHeight() {
90
- return this.nativeElement ? this.nativeElement.cardHeight : undefined;
91
- }
92
- set cardHeight(value) {
93
- if (this.nativeElement) {
94
- this.nativeElement.cardHeight = value;
95
- }
96
- }
97
- /** Describes the orientation of the card cells.
98
- * Property type: Orientation | string
99
- */
100
- get cellOrientation() {
101
- return this.nativeElement ? this.nativeElement.cellOrientation : undefined;
102
- }
103
- set cellOrientation(value) {
104
- if (this.nativeElement) {
105
- this.nativeElement.cellOrientation = value;
106
- }
107
- }
108
- /** Allows collapsing the card content.
109
- * Property type: boolean
110
- */
111
- get collapsible() {
112
- return this.nativeElement ? this.nativeElement.collapsible : undefined;
113
- }
114
- set collapsible(value) {
115
- if (this.nativeElement) {
116
- this.nativeElement.collapsible = value;
117
- }
118
- }
119
- /** Describes the columns properties:label - Sets the column namedataField - Sets the dataField nameicon - Sets the icon for the columnformatSettings - Sets the settings about the format for the current columnformatFunction - Function for customizing the value
120
- * Property type: CardViewColumn[]
121
- */
122
- get columns() {
123
- return this.nativeElement ? this.nativeElement.columns : undefined;
124
- }
125
- set columns(value) {
126
- if (this.nativeElement) {
127
- this.nativeElement.columns = value;
128
- }
129
- }
130
- /** Describes which data field to be set as cover.
131
- * Property type: string
132
- */
133
- get coverField() {
134
- return this.nativeElement ? this.nativeElement.coverField : undefined;
135
- }
136
- set coverField(value) {
137
- if (this.nativeElement) {
138
- this.nativeElement.coverField = value;
139
- }
140
- }
141
- /** Describes the cover image fit property.
142
- * Property type: CardViewCoverMode | string
143
- */
144
- get coverMode() {
145
- return this.nativeElement ? this.nativeElement.coverMode : undefined;
146
- }
147
- set coverMode(value) {
148
- if (this.nativeElement) {
149
- this.nativeElement.coverMode = value;
150
- }
151
- }
152
- /** Determines the data source for the item that will be displayed inside the card.
153
- * Property type: any
154
- */
155
- get dataSource() {
156
- return this.nativeElement ? this.nativeElement.dataSource : undefined;
157
- }
158
- set dataSource(value) {
159
- if (this.nativeElement) {
160
- this.nativeElement.dataSource = value;
161
- }
162
- }
163
- /** Sets the grid's data source settings when the dataSource property is set to an Array or URL.
164
- * Property type: DataSourceSettings
165
- */
166
- get dataSourceSettings() {
167
- return this.nativeElement ? this.nativeElement.dataSourceSettings : undefined;
168
- }
169
- set dataSourceSettings(value) {
170
- if (this.nativeElement) {
171
- this.nativeElement.dataSourceSettings = value;
172
- }
173
- }
174
- /** Allows the edit option for the cards.
175
- * Property type: boolean
176
- */
177
- get editable() {
178
- return this.nativeElement ? this.nativeElement.editable : undefined;
179
- }
180
- set editable(value) {
181
- if (this.nativeElement) {
182
- this.nativeElement.editable = value;
183
- }
184
- }
185
- /** Sets or gets the header position. The header contains the Customize, Filter, Sort, and Search buttons.
186
- * Property type: CardViewHeaderPosition | string
187
- */
188
- get headerPosition() {
189
- return this.nativeElement ? this.nativeElement.headerPosition : undefined;
190
- }
191
- set headerPosition(value) {
192
- if (this.nativeElement) {
193
- this.nativeElement.headerPosition = value;
194
- }
195
- }
196
- /** Sets or gets the locale. Used in conjunction with the property messages.
197
- * Property type: string
198
- */
199
- get locale() {
200
- return this.nativeElement ? this.nativeElement.locale : undefined;
201
- }
202
- set locale(value) {
203
- if (this.nativeElement) {
204
- this.nativeElement.locale = value;
205
- }
206
- }
207
- /** Sets or gets an object specifying strings used in the widget that can be localized. Used in conjunction with the property locale.
208
- * Property type: any
209
- */
210
- get messages() {
211
- return this.nativeElement ? this.nativeElement.messages : undefined;
212
- }
213
- set messages(value) {
214
- if (this.nativeElement) {
215
- this.nativeElement.messages = value;
216
- }
217
- }
218
- /** Sets or gets the value indicating whether the element is aligned to support locales using right-to-left fonts.
219
- * Property type: boolean
220
- */
221
- get rightToLeft() {
222
- return this.nativeElement ? this.nativeElement.rightToLeft : undefined;
223
- }
224
- set rightToLeft(value) {
225
- if (this.nativeElement) {
226
- this.nativeElement.rightToLeft = value;
227
- }
228
- }
229
- /** Determines the theme. Theme defines the look of the element
230
- * Property type: string
231
- */
232
- get theme() {
233
- return this.nativeElement ? this.nativeElement.theme : undefined;
234
- }
235
- set theme(value) {
236
- if (this.nativeElement) {
237
- this.nativeElement.theme = value;
238
- }
239
- }
240
- /** Describes the scrolling behavior of the element.
241
- * Property type: Scrolling | string
242
- */
243
- get scrolling() {
244
- return this.nativeElement ? this.nativeElement.scrolling : undefined;
245
- }
246
- set scrolling(value) {
247
- if (this.nativeElement) {
248
- this.nativeElement.scrolling = value;
249
- }
250
- }
251
- /** Describes which data field to be set as title.
252
- * Property type: string
253
- */
254
- get titleField() {
255
- return this.nativeElement ? this.nativeElement.titleField : undefined;
256
- }
257
- set titleField(value) {
258
- if (this.nativeElement) {
259
- this.nativeElement.titleField = value;
260
- }
261
- }
262
- // Gets the properties of the React component.
263
- get properties() {
264
- return ["addNewButton", "allowDrag", "animation", "cardHeight", "cellOrientation", "collapsible", "columns", "coverField", "coverMode", "dataSource", "dataSourceSettings", "editable", "headerPosition", "locale", "messages", "rightToLeft", "theme", "scrolling", "titleField"];
265
- }
266
- // Gets the events of the React component.
267
- get eventListeners() {
268
- return ["onFilter", "onSort", "onOpen", "onOpening", "onClose", "onClosing", "onDragStart", "onDragging", "onDragEnd", "onCreate", "onReady"];
269
- }
270
- /** Adds filtering
271
- * @param {string[]} filters. Filter information
272
- * @param {string} operator?. Logical operator between the filters of different fields
273
- */
274
- addFilter(filters, operator) {
275
- if (this.nativeElement.isRendered) {
276
- this.nativeElement.addFilter(filters, operator);
277
- }
278
- else {
279
- this.nativeElement.whenRendered(() => {
280
- this.nativeElement.addFilter(filters, operator);
281
- });
282
- }
283
- }
284
- /** Adds a new record
285
- * @param {number | string} recordId?. The id of the record to add
286
- * @param {any} data?. The data of the record to add
287
- * @param {string} position?. The position to add the record to. Possible values: 'first' and 'last'.
288
- */
289
- addRecord(recordId, data, position) {
290
- if (this.nativeElement.isRendered) {
291
- this.nativeElement.addRecord(recordId, data, position);
292
- }
293
- else {
294
- this.nativeElement.whenRendered(() => {
295
- this.nativeElement.addRecord(recordId, data, position);
296
- });
297
- }
298
- }
299
- /** Adds sorting
300
- * @param {[] | string} dataFields. The data field(s) to sort by
301
- * @param {[] | string} orderBy. The sort direction(s) to sort the data field(s) by
302
- */
303
- addSort(dataFields, orderBy) {
304
- if (this.nativeElement.isRendered) {
305
- this.nativeElement.addSort(dataFields, orderBy);
306
- }
307
- else {
308
- this.nativeElement.whenRendered(() => {
309
- this.nativeElement.addSort(dataFields, orderBy);
310
- });
311
- }
312
- }
313
- /** Begins an edit operation
314
- * @param {number | string} recordId. The id of the record to edit
315
- */
316
- beginEdit(recordId) {
317
- if (this.nativeElement.isRendered) {
318
- this.nativeElement.beginEdit(recordId);
319
- }
320
- else {
321
- this.nativeElement.whenRendered(() => {
322
- this.nativeElement.beginEdit(recordId);
323
- });
324
- }
325
- }
326
- /** Ends the current edit operation and discards changes
327
- */
328
- cancelEdit() {
329
- if (this.nativeElement.isRendered) {
330
- this.nativeElement.cancelEdit();
331
- }
332
- else {
333
- this.nativeElement.whenRendered(() => {
334
- this.nativeElement.cancelEdit();
335
- });
336
- }
337
- }
338
- /** Closes any open header panel (drop down)
339
- */
340
- closePanel() {
341
- if (this.nativeElement.isRendered) {
342
- this.nativeElement.closePanel();
343
- }
344
- else {
345
- this.nativeElement.whenRendered(() => {
346
- this.nativeElement.closePanel();
347
- });
348
- }
349
- }
350
- /** Ends the current edit operation and saves changes
351
- */
352
- endEdit() {
353
- if (this.nativeElement.isRendered) {
354
- this.nativeElement.endEdit();
355
- }
356
- else {
357
- this.nativeElement.whenRendered(() => {
358
- this.nativeElement.endEdit();
359
- });
360
- }
361
- }
362
- /** Makes sure a record is visible by scrolling to it. If succcessful, the method returns the HTML element of the record's card.
363
- * @param {number | string} recordId. The id of the record to scroll to
364
- * @returns {HTMLElement}
365
- */
366
- ensureVisible(recordId) {
367
- return __awaiter(this, void 0, void 0, function* () {
368
- const getResultOnRender = () => {
369
- return new Promise(resolve => {
370
- this.nativeElement.whenRendered(() => {
371
- const result = this.nativeElement.ensureVisible(recordId);
372
- resolve(result);
373
- });
374
- });
375
- };
376
- const result = yield getResultOnRender();
377
- return result;
378
- });
379
- }
380
- /** Opens the "Customize cards" header panel (drop down)
381
- */
382
- openCustomizePanel() {
383
- if (this.nativeElement.isRendered) {
384
- this.nativeElement.openCustomizePanel();
385
- }
386
- else {
387
- this.nativeElement.whenRendered(() => {
388
- this.nativeElement.openCustomizePanel();
389
- });
390
- }
391
- }
392
- /** Opens the "Filter" header panel (drop down)
393
- */
394
- openFilterPanel() {
395
- if (this.nativeElement.isRendered) {
396
- this.nativeElement.openFilterPanel();
397
- }
398
- else {
399
- this.nativeElement.whenRendered(() => {
400
- this.nativeElement.openFilterPanel();
401
- });
402
- }
403
- }
404
- /** Opens the "Sort" header panel (drop down)
405
- */
406
- openSortPanel() {
407
- if (this.nativeElement.isRendered) {
408
- this.nativeElement.openSortPanel();
409
- }
410
- else {
411
- this.nativeElement.whenRendered(() => {
412
- this.nativeElement.openSortPanel();
413
- });
414
- }
415
- }
416
- /** Removes filtering
417
- */
418
- removeFilter() {
419
- if (this.nativeElement.isRendered) {
420
- this.nativeElement.removeFilter();
421
- }
422
- else {
423
- this.nativeElement.whenRendered(() => {
424
- this.nativeElement.removeFilter();
425
- });
426
- }
427
- }
428
- /** Removes a record
429
- * @param {number | string} recordId. The id of the record to remove
430
- */
431
- removeRecord(recordId) {
432
- if (this.nativeElement.isRendered) {
433
- this.nativeElement.removeRecord(recordId);
434
- }
435
- else {
436
- this.nativeElement.whenRendered(() => {
437
- this.nativeElement.removeRecord(recordId);
438
- });
439
- }
440
- }
441
- /** Removes sorting
442
- */
443
- removeSort() {
444
- if (this.nativeElement.isRendered) {
445
- this.nativeElement.removeSort();
446
- }
447
- else {
448
- this.nativeElement.whenRendered(() => {
449
- this.nativeElement.removeSort();
450
- });
451
- }
452
- }
453
- /** Shows a column
454
- * @param {string} dataField. The data field of the column
455
- */
456
- showColumn(dataField) {
457
- if (this.nativeElement.isRendered) {
458
- this.nativeElement.showColumn(dataField);
459
- }
460
- else {
461
- this.nativeElement.whenRendered(() => {
462
- this.nativeElement.showColumn(dataField);
463
- });
464
- }
465
- }
466
- componentDidRender(initialize) {
467
- const that = this;
468
- const props = {};
469
- const events = {};
470
- let styles = null;
471
- for (let prop in that.props) {
472
- if (prop === 'children') {
473
- continue;
474
- }
475
- if (prop === 'style') {
476
- styles = that.props[prop];
477
- continue;
478
- }
479
- if (prop.startsWith('on') && that.properties.indexOf(prop) === -1) {
480
- events[prop] = that.props[prop];
481
- continue;
482
- }
483
- props[prop] = that.props[prop];
484
- }
485
- if (initialize) {
486
- that.nativeElement = this.componentRef.current;
487
- }
488
- for (let prop in props) {
489
- if (prop === 'class' || prop === 'className') {
490
- const classNames = props[prop].trim().split(' ');
491
- for (let className in classNames) {
492
- if (!that.nativeElement.classList.contains(classNames[className]) && classNames[className] !== "") {
493
- that.nativeElement.classList.add(classNames[className]);
494
- }
495
- }
496
- continue;
497
- }
498
- if (props[prop] !== that.nativeElement[prop]) {
499
- const normalizeProp = (str) => {
500
- return str.replace(/-([a-z])/g, function (g) {
501
- return g[1].toUpperCase();
502
- });
503
- };
504
- if (prop === 'hover' || prop === 'active' || prop === 'focus' || prop === 'selected') {
505
- that.nativeElement.setAttribute(prop, '');
506
- }
507
- const normalizedProp = normalizeProp(prop);
508
- that.nativeElement[normalizedProp] = props[prop];
509
- }
510
- }
511
- for (let eventName in events) {
512
- that[eventName] = events[eventName];
513
- that.nativeElement[eventName.toLowerCase()] = events[eventName];
514
- }
515
- if (initialize) {
516
- Smart.Render();
517
- if (that.onCreate) {
518
- that.onCreate();
519
- }
520
- that.nativeElement.whenRendered(() => {
521
- if (that.onReady) {
522
- that.onReady();
523
- }
524
- });
525
- }
526
- // setup styles.
527
- if (styles) {
528
- for (let styleName in styles) {
529
- that.nativeElement.style[styleName] = styles[styleName];
530
- }
531
- }
532
- }
533
- componentDidMount() {
534
- this.componentDidRender(true);
535
- }
536
- componentDidUpdate() {
537
- this.componentDidRender(false);
538
- }
539
- componentWillUnmount() {
540
- const that = this;
541
- if (!that.nativeElement) {
542
- return;
543
- }
544
- that.nativeElement.whenRenderedCallbacks = [];
545
- for (let i = 0; i < that.eventListeners.length; i++) {
546
- const eventName = that.eventListeners[i];
547
- that.nativeElement.removeEventListener(eventName.substring(2).toLowerCase(), that[eventName]);
548
- }
549
- }
550
- render() {
551
- return (React.createElement("smart-card-view", { ref: this.componentRef }, this.props.children));
552
- }
553
- }
520
+ exports.Smart = Smart;
521
+ exports.CardView = CardView;
522
+ exports.default = CardView;
554
523
 
555
- exports.Smart = Smart;
556
- exports.CardView = CardView;
557
- exports.default = CardView;
558
-
559
- Object.defineProperty(exports, '__esModule', { value: true });
524
+ Object.defineProperty(exports, '__esModule', { value: true });
560
525
 
561
526
  })));