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,480 +2,456 @@
2
2
  require('../source/modules/smart.querybuilder');
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.querybuilder = {}),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.querybuilder = {}),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
+ QueryBuilder allows you to build dynamically queries for filtering.
15
+ */
16
+ class QueryBuilder 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 = 'QueryBuilder' + Math.floor((1 + Math.random()) * 0x10000).toString(16).substring(1);
25
+ }
26
+ return this._id;
27
+ }
28
+ /** Enables the dragging of conditions inside a group or between groups.
29
+ * Property type: boolean
30
+ */
31
+ get allowDrag() {
32
+ return this.nativeElement ? this.nativeElement.allowDrag : undefined;
33
+ }
34
+ set allowDrag(value) {
35
+ if (this.nativeElement) {
36
+ this.nativeElement.allowDrag = value;
37
+ }
38
+ }
39
+ /** Sets or gets the animation mode. Animation is disabled when the property is set to 'none'
40
+ * Property type: Animation | string
41
+ */
42
+ get animation() {
43
+ return this.nativeElement ? this.nativeElement.animation : undefined;
44
+ }
45
+ set animation(value) {
46
+ if (this.nativeElement) {
47
+ this.nativeElement.animation = value;
48
+ }
49
+ }
50
+ /** Determines when the value of the element is updated with the new changes.
51
+ * Property type: QueryBuilderApplyMode | string
52
+ */
53
+ get applyMode() {
54
+ return this.nativeElement ? this.nativeElement.applyMode : undefined;
55
+ }
56
+ set applyMode(value) {
57
+ if (this.nativeElement) {
58
+ this.nativeElement.applyMode = value;
59
+ }
60
+ }
61
+ /** When 'applyMode' is set to 'immediately', the default value is applied to the editor's value and the QueryBuilder's value is updated automatically.
62
+ * Property type: boolean
63
+ */
64
+ get autoApplyValue() {
65
+ return this.nativeElement ? this.nativeElement.autoApplyValue : undefined;
66
+ }
67
+ set autoApplyValue(value) {
68
+ if (this.nativeElement) {
69
+ this.nativeElement.autoApplyValue = value;
70
+ }
71
+ }
72
+ /** Determines whether QueryBuilder will automatically prompt the user to enter a condition value when a new condition is created. When 'applyMode' is set to 'immediately', the operation field is automatically populated if empty when the selected condition operator is changed. The input field prompts the user when the operation or operator of the condition is changed.
73
+ * Property type: boolean
74
+ */
75
+ get autoPrompt() {
76
+ return this.nativeElement ? this.nativeElement.autoPrompt : undefined;
77
+ }
78
+ set autoPrompt(value) {
79
+ if (this.nativeElement) {
80
+ this.nativeElement.autoPrompt = value;
81
+ }
82
+ }
83
+ /** Adds more operations that can be used to the query bilder's conditions structure. Each custom operation can have the following fields:
84
+ * Property type: QueryBuilderCustomOperation[]
85
+ */
86
+ get customOperations() {
87
+ return this.nativeElement ? this.nativeElement.customOperations : undefined;
88
+ }
89
+ set customOperations(value) {
90
+ if (this.nativeElement) {
91
+ this.nativeElement.customOperations = value;
92
+ }
93
+ }
94
+ /** Enables or disables the element.
95
+ * Property type: boolean
96
+ */
97
+ get disabled() {
98
+ return this.nativeElement ? this.nativeElement.disabled : undefined;
99
+ }
100
+ set disabled(value) {
101
+ if (this.nativeElement) {
102
+ this.nativeElement.disabled = value;
103
+ }
104
+ }
105
+ /** Sets or gets the dropdown width of the property and operator editors.
106
+ * Property type: string
107
+ */
108
+ get dropDownWidth() {
109
+ return this.nativeElement ? this.nativeElement.dropDownWidth : undefined;
110
+ }
111
+ set dropDownWidth(value) {
112
+ if (this.nativeElement) {
113
+ this.nativeElement.dropDownWidth = value;
114
+ }
115
+ }
116
+ /** Array with filter fields and their settings. The available field settings are:label - the field's label, as it will appear in the field selection drop downdataField - the field's data fielddataType - the field's data typefilterOperations - an array of the filter operations applicable to the field; if not set, the default filter operations are appliedlookup - an object with settings for customizing the field's respective value selection input. It has the following settings:autoCompleteDelay - delay between typing in the input and opening the drop down with available optionsdataSource - an array of available options to choose from (appear in a drop down)minLength - minimum number of charactes to type in the input before the options drop down is displayedreadonly - if set to true, the value selection input acts as a drop down list, otherwise it acts as a combo box
117
+ * Property type: QueryBuilderField[]
118
+ */
119
+ get fields() {
120
+ return this.nativeElement ? this.nativeElement.fields : undefined;
121
+ }
122
+ set fields(value) {
123
+ if (this.nativeElement) {
124
+ this.nativeElement.fields = value;
125
+ }
126
+ }
127
+ /** Determines whether new fields can be dynamically added by typing in the field (property) box.
128
+ * Property type: QueryBuilderFieldsMode | string
129
+ */
130
+ get fieldsMode() {
131
+ return this.nativeElement ? this.nativeElement.fieldsMode : undefined;
132
+ }
133
+ set fieldsMode(value) {
134
+ if (this.nativeElement) {
135
+ this.nativeElement.fieldsMode = value;
136
+ }
137
+ }
138
+ /** Sets or gets the format string of the editor of fields with type 'date'.
139
+ * Property type: string
140
+ */
141
+ get formatStringDate() {
142
+ return this.nativeElement ? this.nativeElement.formatStringDate : undefined;
143
+ }
144
+ set formatStringDate(value) {
145
+ if (this.nativeElement) {
146
+ this.nativeElement.formatStringDate = value;
147
+ }
148
+ }
149
+ /** Sets or gets the format string of the editor of fields with type 'dateTime'.
150
+ * Property type: string
151
+ */
152
+ get formatStringDateTime() {
153
+ return this.nativeElement ? this.nativeElement.formatStringDateTime : undefined;
154
+ }
155
+ set formatStringDateTime(value) {
156
+ if (this.nativeElement) {
157
+ this.nativeElement.formatStringDateTime = value;
158
+ }
159
+ }
160
+ /** A callback function called when a field is added dynamically. Used for configuring settings of the new field. Applicable only when fieldsMode is 'dynamic'.
161
+ * Property type: any
162
+ */
163
+ get getDynamicField() {
164
+ return this.nativeElement ? this.nativeElement.getDynamicField : undefined;
165
+ }
166
+ set getDynamicField(value) {
167
+ if (this.nativeElement) {
168
+ this.nativeElement.getDynamicField = value;
169
+ }
170
+ }
171
+ /** Defines CSS classes to be applied to each of the built-in operations. Icons for these classes are applied in the smart-query-builder style sheet. This property is applicable only if showIcons is set to true.
172
+ * Property type: any
173
+ */
174
+ get icons() {
175
+ return this.nativeElement ? this.nativeElement.icons : undefined;
176
+ }
177
+ set icons(value) {
178
+ if (this.nativeElement) {
179
+ this.nativeElement.icons = value;
180
+ }
181
+ }
182
+ /** Sets or gets the language. Used in conjunction with the property messages.
183
+ * Property type: string
184
+ */
185
+ get locale() {
186
+ return this.nativeElement ? this.nativeElement.locale : undefined;
187
+ }
188
+ set locale(value) {
189
+ if (this.nativeElement) {
190
+ this.nativeElement.locale = value;
191
+ }
192
+ }
193
+ /** Callback used to customize the format of the messages that are returned from the Localization Module.
194
+ * Property type: any
195
+ */
196
+ get localizeFormatFunction() {
197
+ return this.nativeElement ? this.nativeElement.localizeFormatFunction : undefined;
198
+ }
199
+ set localizeFormatFunction(value) {
200
+ if (this.nativeElement) {
201
+ this.nativeElement.localizeFormatFunction = value;
202
+ }
203
+ }
204
+ /** Defines field names of the filtered element.
205
+ * Property type: any
206
+ */
207
+ get messages() {
208
+ return this.nativeElement ? this.nativeElement.messages : undefined;
209
+ }
210
+ set messages(value) {
211
+ if (this.nativeElement) {
212
+ this.nativeElement.messages = value;
213
+ }
214
+ }
215
+ /** Determines the placeholder text used inside the condition's operator box in case an operator is not selected.
216
+ * Property type: string
217
+ */
218
+ get operatorPlaceholder() {
219
+ return this.nativeElement ? this.nativeElement.operatorPlaceholder : undefined;
220
+ }
221
+ set operatorPlaceholder(value) {
222
+ if (this.nativeElement) {
223
+ this.nativeElement.operatorPlaceholder = value;
224
+ }
225
+ }
226
+ /** Determines the placeholder text used inside the condition's field (property) box in case a field is not selected.
227
+ * Property type: string
228
+ */
229
+ get propertyPlaceholder() {
230
+ return this.nativeElement ? this.nativeElement.propertyPlaceholder : undefined;
231
+ }
232
+ set propertyPlaceholder(value) {
233
+ if (this.nativeElement) {
234
+ this.nativeElement.propertyPlaceholder = value;
235
+ }
236
+ }
237
+ /** Sets or gets the value indicating whether the element is aligned to support locales using right-to-left fonts.
238
+ * Property type: boolean
239
+ */
240
+ get rightToLeft() {
241
+ return this.nativeElement ? this.nativeElement.rightToLeft : undefined;
242
+ }
243
+ set rightToLeft(value) {
244
+ if (this.nativeElement) {
245
+ this.nativeElement.rightToLeft = value;
246
+ }
247
+ }
248
+ /** Shows/Hides the operator icons shown in the operator selection drop down.
249
+ * Property type: boolean
250
+ */
251
+ get showIcons() {
252
+ return this.nativeElement ? this.nativeElement.showIcons : undefined;
253
+ }
254
+ set showIcons(value) {
255
+ if (this.nativeElement) {
256
+ this.nativeElement.showIcons = value;
257
+ }
258
+ }
259
+ /** Shows/Hides the drop down icon for the operator field name of the conditions.
260
+ * Property type: boolean
261
+ */
262
+ get showFieldNameArrow() {
263
+ return this.nativeElement ? this.nativeElement.showFieldNameArrow : undefined;
264
+ }
265
+ set showFieldNameArrow(value) {
266
+ if (this.nativeElement) {
267
+ this.nativeElement.showFieldNameArrow = value;
268
+ }
269
+ }
270
+ /** Determines the theme. Theme defines the look of the element
271
+ * Property type: string
272
+ */
273
+ get theme() {
274
+ return this.nativeElement ? this.nativeElement.theme : undefined;
275
+ }
276
+ set theme(value) {
277
+ if (this.nativeElement) {
278
+ this.nativeElement.theme = value;
279
+ }
280
+ }
281
+ /** If is set to true, the element cannot be focused.
282
+ * Property type: boolean
283
+ */
284
+ get unfocusable() {
285
+ return this.nativeElement ? this.nativeElement.unfocusable : undefined;
286
+ }
287
+ set unfocusable(value) {
288
+ if (this.nativeElement) {
289
+ this.nativeElement.unfocusable = value;
290
+ }
291
+ }
292
+ /** Determines whether the value of the condition is validated on key up or not. By default the value is validated when the user blur's the value input. The validationTimeout determines the time interval after the user has ended typing that triggers the value validation.
293
+ * Property type: boolean
294
+ */
295
+ get validateOnInput() {
296
+ return this.nativeElement ? this.nativeElement.validateOnInput : undefined;
297
+ }
298
+ set validateOnInput(value) {
299
+ if (this.nativeElement) {
300
+ this.nativeElement.validateOnInput = value;
301
+ }
302
+ }
303
+ /** Determines the timeout (starting after the user has finished typing in the value field) before the validation is applied to the condition value. This property works along validationOnInput.
304
+ * Property type: number
305
+ */
306
+ get validationTimeout() {
307
+ return this.nativeElement ? this.nativeElement.validationTimeout : undefined;
308
+ }
309
+ set validationTimeout(value) {
310
+ if (this.nativeElement) {
311
+ this.nativeElement.validationTimeout = value;
312
+ }
313
+ }
314
+ /** The value is represented by multidimensional array. The array contains group operators with conditions. Each group can contain multiple conditions.
315
+ * Property type: any
316
+ */
317
+ get value() {
318
+ return this.nativeElement ? this.nativeElement.value : undefined;
319
+ }
320
+ set value(value) {
321
+ if (this.nativeElement) {
322
+ this.nativeElement.value = value;
323
+ }
324
+ }
325
+ /** Callback used to format the content of the condition value fields.
326
+ * Property type: any
327
+ */
328
+ get valueFormatFunction() {
329
+ return this.nativeElement ? this.nativeElement.valueFormatFunction : undefined;
330
+ }
331
+ set valueFormatFunction(value) {
332
+ if (this.nativeElement) {
333
+ this.nativeElement.valueFormatFunction = value;
334
+ }
335
+ }
336
+ /** Determines the placeholder text used inside the condition's value box in case a value is not set.
337
+ * Property type: string
338
+ */
339
+ get valuePlaceholder() {
340
+ return this.nativeElement ? this.nativeElement.valuePlaceholder : undefined;
341
+ }
342
+ set valuePlaceholder(value) {
343
+ if (this.nativeElement) {
344
+ this.nativeElement.valuePlaceholder = value;
345
+ }
346
+ }
347
+ // Gets the properties of the React component.
348
+ get properties() {
349
+ return ["allowDrag", "animation", "applyMode", "autoApplyValue", "autoPrompt", "customOperations", "disabled", "dropDownWidth", "fields", "fieldsMode", "formatStringDate", "formatStringDateTime", "getDynamicField", "icons", "locale", "localizeFormatFunction", "messages", "operatorPlaceholder", "propertyPlaceholder", "rightToLeft", "showIcons", "showFieldNameArrow", "theme", "unfocusable", "validateOnInput", "validationTimeout", "value", "valueFormatFunction", "valuePlaceholder"];
350
+ }
351
+ // Gets the events of the React component.
352
+ get eventListeners() {
353
+ return ["onChange", "onDragEnd", "onDragging", "onDragStart", "onItemClick", "onPropertySelected", "onValidationChange", "onCreate", "onReady"];
354
+ }
355
+ /** Converts the current value of the element to DynamicLINQ expression.
356
+ * @returns {string}
357
+ */
358
+ getLinq() {
359
+ const result = this.nativeElement.getLinq();
360
+ return result;
361
+ }
362
+ componentDidRender(initialize) {
363
+ const that = this;
364
+ const props = {};
365
+ const events = {};
366
+ let styles = null;
367
+ for (let prop in that.props) {
368
+ if (prop === 'children') {
369
+ continue;
370
+ }
371
+ if (prop === 'style') {
372
+ styles = that.props[prop];
373
+ continue;
374
+ }
375
+ if (prop.startsWith('on') && that.properties.indexOf(prop) === -1) {
376
+ events[prop] = that.props[prop];
377
+ continue;
378
+ }
379
+ props[prop] = that.props[prop];
380
+ }
381
+ if (initialize) {
382
+ that.nativeElement = this.componentRef.current;
383
+ }
384
+ for (let prop in props) {
385
+ if (prop === 'class' || prop === 'className') {
386
+ const classNames = props[prop].trim().split(' ');
387
+ for (let className in classNames) {
388
+ if (!that.nativeElement.classList.contains(classNames[className]) && classNames[className] !== "") {
389
+ that.nativeElement.classList.add(classNames[className]);
390
+ }
391
+ }
392
+ continue;
393
+ }
394
+ if (props[prop] !== that.nativeElement[prop]) {
395
+ const normalizeProp = (str) => {
396
+ return str.replace(/-([a-z])/g, function (g) {
397
+ return g[1].toUpperCase();
398
+ });
399
+ };
400
+ if (prop === 'hover' || prop === 'active' || prop === 'focus' || prop === 'selected') {
401
+ that.nativeElement.setAttribute(prop, '');
402
+ }
403
+ const normalizedProp = normalizeProp(prop);
404
+ that.nativeElement[normalizedProp] = props[prop];
405
+ }
406
+ }
407
+ for (let eventName in events) {
408
+ that[eventName] = events[eventName];
409
+ that.nativeElement[eventName.toLowerCase()] = events[eventName];
410
+ }
411
+ if (initialize) {
412
+ Smart.Render();
413
+ if (that.onCreate) {
414
+ that.onCreate();
415
+ }
416
+ that.nativeElement.whenRendered(() => {
417
+ if (that.onReady) {
418
+ that.onReady();
419
+ }
420
+ });
421
+ }
422
+ // setup styles.
423
+ if (styles) {
424
+ for (let styleName in styles) {
425
+ that.nativeElement.style[styleName] = styles[styleName];
426
+ }
427
+ }
428
+ }
429
+ componentDidMount() {
430
+ this.componentDidRender(true);
431
+ }
432
+ componentDidUpdate() {
433
+ this.componentDidRender(false);
434
+ }
435
+ componentWillUnmount() {
436
+ const that = this;
437
+ if (!that.nativeElement) {
438
+ return;
439
+ }
440
+ that.nativeElement.whenRenderedCallbacks = [];
441
+ for (let i = 0; i < that.eventListeners.length; i++) {
442
+ const eventName = that.eventListeners[i];
443
+ that.nativeElement.removeEventListener(eventName.substring(2).toLowerCase(), that[eventName]);
444
+ }
445
+ }
446
+ render() {
447
+ return (React.createElement("smart-query-builder", { ref: this.componentRef }, this.props.children));
448
+ }
449
+ }
36
450
 
37
- const Smart = window.Smart;
38
- /**
39
- QueryBuilder allows you to build dynamically queries for filtering.
40
- */
41
- class QueryBuilder 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 = 'QueryBuilder' + Math.floor((1 + Math.random()) * 0x10000).toString(16).substring(1);
50
- }
51
- return this._id;
52
- }
53
- /** Enables the dragging of conditions inside a group or between groups.
54
- * Property type: boolean
55
- */
56
- get allowDrag() {
57
- return this.nativeElement ? this.nativeElement.allowDrag : undefined;
58
- }
59
- set allowDrag(value) {
60
- if (this.nativeElement) {
61
- this.nativeElement.allowDrag = value;
62
- }
63
- }
64
- /** Sets or gets the animation mode. Animation is disabled when the property is set to 'none'
65
- * Property type: Animation | string
66
- */
67
- get animation() {
68
- return this.nativeElement ? this.nativeElement.animation : undefined;
69
- }
70
- set animation(value) {
71
- if (this.nativeElement) {
72
- this.nativeElement.animation = value;
73
- }
74
- }
75
- /** Determines when the value of the element is updated with the new changes.
76
- * Property type: QueryBuilderApplyMode | string
77
- */
78
- get applyMode() {
79
- return this.nativeElement ? this.nativeElement.applyMode : undefined;
80
- }
81
- set applyMode(value) {
82
- if (this.nativeElement) {
83
- this.nativeElement.applyMode = value;
84
- }
85
- }
86
- /** Determines whether QueryBuilder will automatically prompt the user to enter a condition value when a new condition is created. When 'applyMode' is set to 'immediately', the operation field is automatically populated if empty when the selected condition operator is changed. The input field prompts the user when the operation or operator of the condition is changed.
87
- * Property type: boolean
88
- */
89
- get autoPrompt() {
90
- return this.nativeElement ? this.nativeElement.autoPrompt : undefined;
91
- }
92
- set autoPrompt(value) {
93
- if (this.nativeElement) {
94
- this.nativeElement.autoPrompt = value;
95
- }
96
- }
97
- /** Adds more operations that can be used to the query bilder's conditions structure. Each custom operation can have the following fields:
98
- * Property type: QueryBuilderCustomOperation[]
99
- */
100
- get customOperations() {
101
- return this.nativeElement ? this.nativeElement.customOperations : undefined;
102
- }
103
- set customOperations(value) {
104
- if (this.nativeElement) {
105
- this.nativeElement.customOperations = value;
106
- }
107
- }
108
- /** Enables or disables the element.
109
- * Property type: boolean
110
- */
111
- get disabled() {
112
- return this.nativeElement ? this.nativeElement.disabled : undefined;
113
- }
114
- set disabled(value) {
115
- if (this.nativeElement) {
116
- this.nativeElement.disabled = value;
117
- }
118
- }
119
- /** Sets or gets the dropdown width of the property and operator editors.
120
- * Property type: string
121
- */
122
- get dropDownWidth() {
123
- return this.nativeElement ? this.nativeElement.dropDownWidth : undefined;
124
- }
125
- set dropDownWidth(value) {
126
- if (this.nativeElement) {
127
- this.nativeElement.dropDownWidth = value;
128
- }
129
- }
130
- /** Array with filter fields and their settings. The available field settings are:label - the field's label, as it will appear in the field selection drop downdataField - the field's data fielddataType - the field's data typefilterOperations - an array of the filter operations applicable to the field; if not set, the default filter operations are appliedlookup - an object with settings for customizing the field's respective value selection input. It has the following settings:autoCompleteDelay - delay between typing in the input and opening the drop down with available optionsdataSource - an array of available options to choose from (appear in a drop down)minLength - minimum number of charactes to type in the input before the options drop down is displayedreadonly - if set to true, the value selection input acts as a drop down list, otherwise it acts as a combo box
131
- * Property type: QueryBuilderField[]
132
- */
133
- get fields() {
134
- return this.nativeElement ? this.nativeElement.fields : undefined;
135
- }
136
- set fields(value) {
137
- if (this.nativeElement) {
138
- this.nativeElement.fields = value;
139
- }
140
- }
141
- /** Determines whether new fields can be dynamically added by typing in the field (property) box.
142
- * Property type: QueryBuilderFieldsMode | string
143
- */
144
- get fieldsMode() {
145
- return this.nativeElement ? this.nativeElement.fieldsMode : undefined;
146
- }
147
- set fieldsMode(value) {
148
- if (this.nativeElement) {
149
- this.nativeElement.fieldsMode = value;
150
- }
151
- }
152
- /** Sets or gets the format string of the editor of fields with type 'date'.
153
- * Property type: string
154
- */
155
- get formatStringDate() {
156
- return this.nativeElement ? this.nativeElement.formatStringDate : undefined;
157
- }
158
- set formatStringDate(value) {
159
- if (this.nativeElement) {
160
- this.nativeElement.formatStringDate = value;
161
- }
162
- }
163
- /** Sets or gets the format string of the editor of fields with type 'dateTime'.
164
- * Property type: string
165
- */
166
- get formatStringDateTime() {
167
- return this.nativeElement ? this.nativeElement.formatStringDateTime : undefined;
168
- }
169
- set formatStringDateTime(value) {
170
- if (this.nativeElement) {
171
- this.nativeElement.formatStringDateTime = value;
172
- }
173
- }
174
- /** A callback function called when a field is added dynamically. Used for configuring settings of the new field. Applicable only when fieldsMode is 'dynamic'.
175
- * Property type: any
176
- */
177
- get getDynamicField() {
178
- return this.nativeElement ? this.nativeElement.getDynamicField : undefined;
179
- }
180
- set getDynamicField(value) {
181
- if (this.nativeElement) {
182
- this.nativeElement.getDynamicField = value;
183
- }
184
- }
185
- /** Defines CSS classes to be applied to each of the built-in operations. Icons for these classes are applied in the smart-query-builder style sheet. This property is applicable only if showIcons is set to true.
186
- * Property type: any
187
- */
188
- get icons() {
189
- return this.nativeElement ? this.nativeElement.icons : undefined;
190
- }
191
- set icons(value) {
192
- if (this.nativeElement) {
193
- this.nativeElement.icons = value;
194
- }
195
- }
196
- /** Sets or gets the language. 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
- /** Callback used to customize the format of the messages that are returned from the Localization Module.
208
- * Property type: any
209
- */
210
- get localizeFormatFunction() {
211
- return this.nativeElement ? this.nativeElement.localizeFormatFunction : undefined;
212
- }
213
- set localizeFormatFunction(value) {
214
- if (this.nativeElement) {
215
- this.nativeElement.localizeFormatFunction = value;
216
- }
217
- }
218
- /** Defines field names of the filtered element.
219
- * Property type: any
220
- */
221
- get messages() {
222
- return this.nativeElement ? this.nativeElement.messages : undefined;
223
- }
224
- set messages(value) {
225
- if (this.nativeElement) {
226
- this.nativeElement.messages = value;
227
- }
228
- }
229
- /** Determines the placeholder text used inside the condition's operator box in case an operator is not selected.
230
- * Property type: string
231
- */
232
- get operatorPlaceholder() {
233
- return this.nativeElement ? this.nativeElement.operatorPlaceholder : undefined;
234
- }
235
- set operatorPlaceholder(value) {
236
- if (this.nativeElement) {
237
- this.nativeElement.operatorPlaceholder = value;
238
- }
239
- }
240
- /** Determines the placeholder text used inside the condition's field (property) box in case a field is not selected.
241
- * Property type: string
242
- */
243
- get propertyPlaceholder() {
244
- return this.nativeElement ? this.nativeElement.propertyPlaceholder : undefined;
245
- }
246
- set propertyPlaceholder(value) {
247
- if (this.nativeElement) {
248
- this.nativeElement.propertyPlaceholder = value;
249
- }
250
- }
251
- /** Sets or gets the value indicating whether the element is aligned to support locales using right-to-left fonts.
252
- * Property type: boolean
253
- */
254
- get rightToLeft() {
255
- return this.nativeElement ? this.nativeElement.rightToLeft : undefined;
256
- }
257
- set rightToLeft(value) {
258
- if (this.nativeElement) {
259
- this.nativeElement.rightToLeft = value;
260
- }
261
- }
262
- /** Shows/Hides the operator icons shown in the operator selection drop down.
263
- * Property type: boolean
264
- */
265
- get showIcons() {
266
- return this.nativeElement ? this.nativeElement.showIcons : undefined;
267
- }
268
- set showIcons(value) {
269
- if (this.nativeElement) {
270
- this.nativeElement.showIcons = value;
271
- }
272
- }
273
- /** Shows/Hides the drop down icon for the operator field name of the conditions.
274
- * Property type: boolean
275
- */
276
- get showFieldNameArrow() {
277
- return this.nativeElement ? this.nativeElement.showFieldNameArrow : undefined;
278
- }
279
- set showFieldNameArrow(value) {
280
- if (this.nativeElement) {
281
- this.nativeElement.showFieldNameArrow = value;
282
- }
283
- }
284
- /** Determines the theme. Theme defines the look of the element
285
- * Property type: string
286
- */
287
- get theme() {
288
- return this.nativeElement ? this.nativeElement.theme : undefined;
289
- }
290
- set theme(value) {
291
- if (this.nativeElement) {
292
- this.nativeElement.theme = value;
293
- }
294
- }
295
- /** If is set to true, the element cannot be focused.
296
- * Property type: boolean
297
- */
298
- get unfocusable() {
299
- return this.nativeElement ? this.nativeElement.unfocusable : undefined;
300
- }
301
- set unfocusable(value) {
302
- if (this.nativeElement) {
303
- this.nativeElement.unfocusable = value;
304
- }
305
- }
306
- /** Determines whether the value of the condition is validated on key up or not. By default the value is validated when the user blur's the value input. The validationTimeout determines the time interval after the user has ended typing that triggers the value validation.
307
- * Property type: boolean
308
- */
309
- get validateOnInput() {
310
- return this.nativeElement ? this.nativeElement.validateOnInput : undefined;
311
- }
312
- set validateOnInput(value) {
313
- if (this.nativeElement) {
314
- this.nativeElement.validateOnInput = value;
315
- }
316
- }
317
- /** Determines the timeout (starting after the user has finished typing in the value field) before the validation is applied to the condition value. This property works along validationOnInput.
318
- * Property type: number
319
- */
320
- get validationTimeout() {
321
- return this.nativeElement ? this.nativeElement.validationTimeout : undefined;
322
- }
323
- set validationTimeout(value) {
324
- if (this.nativeElement) {
325
- this.nativeElement.validationTimeout = value;
326
- }
327
- }
328
- /** The value is represented by multidimensional array. The array contains group operators with conditions. Each group can contain multiple conditions.
329
- * Property type: any
330
- */
331
- get value() {
332
- return this.nativeElement ? this.nativeElement.value : undefined;
333
- }
334
- set value(value) {
335
- if (this.nativeElement) {
336
- this.nativeElement.value = value;
337
- }
338
- }
339
- /** Callback used to format the content of the condition value fields.
340
- * Property type: any
341
- */
342
- get valueFormatFunction() {
343
- return this.nativeElement ? this.nativeElement.valueFormatFunction : undefined;
344
- }
345
- set valueFormatFunction(value) {
346
- if (this.nativeElement) {
347
- this.nativeElement.valueFormatFunction = value;
348
- }
349
- }
350
- /** Determines the placeholder text used inside the condition's value box in case a value is not set.
351
- * Property type: string
352
- */
353
- get valuePlaceholder() {
354
- return this.nativeElement ? this.nativeElement.valuePlaceholder : undefined;
355
- }
356
- set valuePlaceholder(value) {
357
- if (this.nativeElement) {
358
- this.nativeElement.valuePlaceholder = value;
359
- }
360
- }
361
- // Gets the properties of the React component.
362
- get properties() {
363
- return ["allowDrag", "animation", "applyMode", "autoPrompt", "customOperations", "disabled", "dropDownWidth", "fields", "fieldsMode", "formatStringDate", "formatStringDateTime", "getDynamicField", "icons", "locale", "localizeFormatFunction", "messages", "operatorPlaceholder", "propertyPlaceholder", "rightToLeft", "showIcons", "showFieldNameArrow", "theme", "unfocusable", "validateOnInput", "validationTimeout", "value", "valueFormatFunction", "valuePlaceholder"];
364
- }
365
- // Gets the events of the React component.
366
- get eventListeners() {
367
- return ["onChange", "onDragEnd", "onDragging", "onDragStart", "onItemClick", "onPropertySelected", "onValidationChange", "onCreate", "onReady"];
368
- }
369
- /** Converts the current value of the element to DynamicLINQ expression.
370
- * @returns {string}
371
- */
372
- getLinq() {
373
- return __awaiter(this, void 0, void 0, function* () {
374
- const getResultOnRender = () => {
375
- return new Promise(resolve => {
376
- this.nativeElement.whenRendered(() => {
377
- const result = this.nativeElement.getLinq();
378
- resolve(result);
379
- });
380
- });
381
- };
382
- const result = yield getResultOnRender();
383
- return result;
384
- });
385
- }
386
- componentDidRender(initialize) {
387
- const that = this;
388
- const props = {};
389
- const events = {};
390
- let styles = null;
391
- for (let prop in that.props) {
392
- if (prop === 'children') {
393
- continue;
394
- }
395
- if (prop === 'style') {
396
- styles = that.props[prop];
397
- continue;
398
- }
399
- if (prop.startsWith('on') && that.properties.indexOf(prop) === -1) {
400
- events[prop] = that.props[prop];
401
- continue;
402
- }
403
- props[prop] = that.props[prop];
404
- }
405
- if (initialize) {
406
- that.nativeElement = this.componentRef.current;
407
- }
408
- for (let prop in props) {
409
- if (prop === 'class' || prop === 'className') {
410
- const classNames = props[prop].trim().split(' ');
411
- for (let className in classNames) {
412
- if (!that.nativeElement.classList.contains(classNames[className]) && classNames[className] !== "") {
413
- that.nativeElement.classList.add(classNames[className]);
414
- }
415
- }
416
- continue;
417
- }
418
- if (props[prop] !== that.nativeElement[prop]) {
419
- const normalizeProp = (str) => {
420
- return str.replace(/-([a-z])/g, function (g) {
421
- return g[1].toUpperCase();
422
- });
423
- };
424
- if (prop === 'hover' || prop === 'active' || prop === 'focus' || prop === 'selected') {
425
- that.nativeElement.setAttribute(prop, '');
426
- }
427
- const normalizedProp = normalizeProp(prop);
428
- that.nativeElement[normalizedProp] = props[prop];
429
- }
430
- }
431
- for (let eventName in events) {
432
- that[eventName] = events[eventName];
433
- that.nativeElement[eventName.toLowerCase()] = events[eventName];
434
- }
435
- if (initialize) {
436
- Smart.Render();
437
- if (that.onCreate) {
438
- that.onCreate();
439
- }
440
- that.nativeElement.whenRendered(() => {
441
- if (that.onReady) {
442
- that.onReady();
443
- }
444
- });
445
- }
446
- // setup styles.
447
- if (styles) {
448
- for (let styleName in styles) {
449
- that.nativeElement.style[styleName] = styles[styleName];
450
- }
451
- }
452
- }
453
- componentDidMount() {
454
- this.componentDidRender(true);
455
- }
456
- componentDidUpdate() {
457
- this.componentDidRender(false);
458
- }
459
- componentWillUnmount() {
460
- const that = this;
461
- if (!that.nativeElement) {
462
- return;
463
- }
464
- that.nativeElement.whenRenderedCallbacks = [];
465
- for (let i = 0; i < that.eventListeners.length; i++) {
466
- const eventName = that.eventListeners[i];
467
- that.nativeElement.removeEventListener(eventName.substring(2).toLowerCase(), that[eventName]);
468
- }
469
- }
470
- render() {
471
- return (React.createElement("smart-query-builder", { ref: this.componentRef }, this.props.children));
472
- }
473
- }
451
+ exports.Smart = Smart;
452
+ exports.QueryBuilder = QueryBuilder;
453
+ exports.default = QueryBuilder;
474
454
 
475
- exports.Smart = Smart;
476
- exports.QueryBuilder = QueryBuilder;
477
- exports.default = QueryBuilder;
478
-
479
- Object.defineProperty(exports, '__esModule', { value: true });
455
+ Object.defineProperty(exports, '__esModule', { value: true });
480
456
 
481
457
  })));