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
@@ -4,1987 +4,1792 @@ require('../source/modules/smart.scheduler');
4
4
  import * as pkg from '../common/rrule.min.js';
5
5
  window.rrule = { RRule: pkg.default };
6
6
  (function (global, factory) {
7
- typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('react')) :
8
- typeof define === 'function' && define.amd ? define(['exports', 'react'], factory) :
9
- (factory((global.scheduler = {}),global.React));
7
+ typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('react')) :
8
+ typeof define === 'function' && define.amd ? define(['exports', 'react'], factory) :
9
+ (factory((global.scheduler = {}),global.React));
10
10
  }(this, (function (exports,React) { 'use strict';
11
11
 
12
- React = React && React.hasOwnProperty('default') ? React['default'] : React;
12
+ React = React && React.hasOwnProperty('default') ? React['default'] : React;
13
13
 
14
- /*! *****************************************************************************
15
- Copyright (c) Microsoft Corporation. All rights reserved.
16
- Licensed under the Apache License, Version 2.0 (the "License"); you may not use
17
- this file except in compliance with the License. You may obtain a copy of the
18
- License at http://www.apache.org/licenses/LICENSE-2.0
19
-
20
- THIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
21
- KIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED
22
- WARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,
23
- MERCHANTABLITY OR NON-INFRINGEMENT.
24
-
25
- See the Apache Version 2.0 License for specific language governing permissions
26
- and limitations under the License.
27
- ***************************************************************************** */
28
-
29
- function __awaiter(thisArg, _arguments, P, generator) {
30
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
31
- return new (P || (P = Promise))(function (resolve, reject) {
32
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
33
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
34
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
35
- step((generator = generator.apply(thisArg, _arguments || [])).next());
36
- });
37
- }
14
+ const Smart = window.Smart;
15
+ /**
16
+ Scheduler displays a set ot Events in Day, Week, Month, Agenda, Timeline Day, Timeline Week, Timeline Month views.
17
+ */
18
+ class Scheduler extends React.Component {
19
+ constructor(props) {
20
+ super(props);
21
+ this.componentRef = React.createRef();
22
+ }
23
+ // Gets the id of the React component.
24
+ get id() {
25
+ if (!this._id) {
26
+ this._id = 'Scheduler' + Math.floor((1 + Math.random()) * 0x10000).toString(16).substring(1);
27
+ }
28
+ return this._id;
29
+ }
30
+ /** Determines the scroll speed while dragging an event.
31
+ * Property type: number
32
+ */
33
+ get autoScrollStep() {
34
+ return this.nativeElement ? this.nativeElement.autoScrollStep : undefined;
35
+ }
36
+ set autoScrollStep(value) {
37
+ if (this.nativeElement) {
38
+ this.nativeElement.autoScrollStep = value;
39
+ }
40
+ }
41
+ /** Determines whether the all day cells in Day and Week views automatically change their height depending on the events count in these cells.
42
+ * Property type: boolean
43
+ */
44
+ get autoHeightAllDayCells() {
45
+ return this.nativeElement ? this.nativeElement.autoHeightAllDayCells : undefined;
46
+ }
47
+ set autoHeightAllDayCells(value) {
48
+ if (this.nativeElement) {
49
+ this.nativeElement.autoHeightAllDayCells = value;
50
+ }
51
+ }
52
+ /** Determines the color scheme for the event background selector in the event window editor.
53
+ * Property type: string[]
54
+ */
55
+ get colorScheme() {
56
+ return this.nativeElement ? this.nativeElement.colorScheme : undefined;
57
+ }
58
+ set colorScheme(value) {
59
+ if (this.nativeElement) {
60
+ this.nativeElement.colorScheme = value;
61
+ }
62
+ }
63
+ /** Enables/Disables the current time indicator. Current time indicator shows the current time in the appropriate view cells.
64
+ * Property type: boolean
65
+ */
66
+ get currentTimeIndicator() {
67
+ return this.nativeElement ? this.nativeElement.currentTimeIndicator : undefined;
68
+ }
69
+ set currentTimeIndicator(value) {
70
+ if (this.nativeElement) {
71
+ this.nativeElement.currentTimeIndicator = value;
72
+ }
73
+ }
74
+ /** Determines the refresh interval in seconds for the currentTimeIndicator.
75
+ * Property type: number
76
+ */
77
+ get currentTimeIndicatorInterval() {
78
+ return this.nativeElement ? this.nativeElement.currentTimeIndicatorInterval : undefined;
79
+ }
80
+ set currentTimeIndicatorInterval(value) {
81
+ if (this.nativeElement) {
82
+ this.nativeElement.currentTimeIndicatorInterval = value;
83
+ }
84
+ }
85
+ /** Determines the context menu items that are visible when the Context Menu is opened.
86
+ * Property type: any[]
87
+ */
88
+ get contextMenuDataSource() {
89
+ return this.nativeElement ? this.nativeElement.contextMenuDataSource : undefined;
90
+ }
91
+ set contextMenuDataSource(value) {
92
+ if (this.nativeElement) {
93
+ this.nativeElement.contextMenuDataSource = value;
94
+ }
95
+ }
96
+ /** Determines whether the clipboard shortcuts for copy/paste/cut action of events are visible in the Scheduler context menu or not.
97
+ * Property type: boolean
98
+ */
99
+ get contextMenuClipboardActions() {
100
+ return this.nativeElement ? this.nativeElement.contextMenuClipboardActions : undefined;
101
+ }
102
+ set contextMenuClipboardActions(value) {
103
+ if (this.nativeElement) {
104
+ this.nativeElement.contextMenuClipboardActions = value;
105
+ }
106
+ }
107
+ /** Allows to customize the content of the event elements. It can be an HTMLTemplateElement that will be applied to all events or it's id as a string or a function that will be called for each event with the following parameters: eventContent - the content holder for the event,eventObj - the event object.. When using an HTMLTemplateElement it's possible to add property bindings inside the template that will be mapped to the corresponding object properties.
108
+ * Property type: any
109
+ */
110
+ get eventTemplate() {
111
+ return this.nativeElement ? this.nativeElement.eventTemplate : undefined;
112
+ }
113
+ set eventTemplate(value) {
114
+ if (this.nativeElement) {
115
+ this.nativeElement.eventTemplate = value;
116
+ }
117
+ }
118
+ /** Allows to customize the content of the event collector elements. It can be an HTMLTemplateElement that will be applied to all events or it's id as a string or a function that will be called for each event with the following parameters: eventContent - the content holder for the event,eventObj - the event object.. When using an HTMLTemplateElement it's possible to add property bindings inside the template that will be mapped to the corresponding object properties.
119
+ * Property type: any
120
+ */
121
+ get eventCollectorTemplate() {
122
+ return this.nativeElement ? this.nativeElement.eventCollectorTemplate : undefined;
123
+ }
124
+ set eventCollectorTemplate(value) {
125
+ if (this.nativeElement) {
126
+ this.nativeElement.eventCollectorTemplate = value;
127
+ }
128
+ }
129
+ /** Determines how the events inside the Scheduler are rendered.classic - the events are arranged next to each other and try to fit inside the cells.modern - the events obey the CSS property that determines their size and if there's not enough space inside the cell for all events to appear, an event collector is created to hold the rest of the events. On mobile phones only collectors are created.
130
+ * Property type: SchedulerEventRenderMode | string
131
+ */
132
+ get eventRenderMode() {
133
+ return this.nativeElement ? this.nativeElement.eventRenderMode : undefined;
134
+ }
135
+ set eventRenderMode(value) {
136
+ if (this.nativeElement) {
137
+ this.nativeElement.eventRenderMode = value;
138
+ }
139
+ }
140
+ /** Allows to customize the content of the event menu items (tooltip). When clicked on an event element an event menu with details opens. It can be an HTMLTemplateElement that will be applied to all events or it's id as a string or a function that will be called for each event with the following parameters: eventContent - the content holder for the event,eventObj - the event object.. When using an HTMLTemplateElement it's possible to add property bindings inside the template that will be mapped to the corresponding object properties.
141
+ * Property type: any
142
+ */
143
+ get eventTooltipTemplate() {
144
+ return this.nativeElement ? this.nativeElement.eventTooltipTemplate : undefined;
145
+ }
146
+ set eventTooltipTemplate(value) {
147
+ if (this.nativeElement) {
148
+ this.nativeElement.eventTooltipTemplate = value;
149
+ }
150
+ }
151
+ /** Allows to customize the content of the timeline cells. It can be an HTMLTemplateElement that will be applied to all cells or it's id as a string or a function that will be called for each cell with the following parameters: cellContent - the content holder for the cell,cellDate - the cell date.. When using an HTMLTemplateElement it's possible to add property bindings inside the template that will be mapped to the value of the cell.
152
+ * Property type: any
153
+ */
154
+ get cellTemplate() {
155
+ return this.nativeElement ? this.nativeElement.cellTemplate : undefined;
156
+ }
157
+ set cellTemplate(value) {
158
+ if (this.nativeElement) {
159
+ this.nativeElement.cellTemplate = value;
160
+ }
161
+ }
162
+ /** Determines the currently visible date for the Scheduler.
163
+ * Property type: string | Date
164
+ */
165
+ get dateCurrent() {
166
+ return this.nativeElement ? this.nativeElement.dateCurrent : undefined;
167
+ }
168
+ set dateCurrent(value) {
169
+ if (this.nativeElement) {
170
+ this.nativeElement.dateCurrent = value;
171
+ }
172
+ }
173
+ /** Sets the Schedulers's Data Export options.
174
+ * Property type: SchedulerDataExport
175
+ */
176
+ get dataExport() {
177
+ return this.nativeElement ? this.nativeElement.dataExport : undefined;
178
+ }
179
+ set dataExport(value) {
180
+ if (this.nativeElement) {
181
+ this.nativeElement.dataExport = value;
182
+ }
183
+ }
184
+ /** Determines the events that will be loaded inside the Timeline. Each event represents an object that should contain the following properties:
185
+ * Property type: SchedulerEvent[]
186
+ */
187
+ get dataSource() {
188
+ return this.nativeElement ? this.nativeElement.dataSource : undefined;
189
+ }
190
+ set dataSource(value) {
191
+ if (this.nativeElement) {
192
+ this.nativeElement.dataSource = value;
193
+ }
194
+ }
195
+ /** A callback that can be used to customize the text inside the date selector located in the header. The callback has one parameter - the current date.
196
+ * Property type: any
197
+ */
198
+ get dateSelectorFormatFunction() {
199
+ return this.nativeElement ? this.nativeElement.dateSelectorFormatFunction : undefined;
200
+ }
201
+ set dateSelectorFormatFunction(value) {
202
+ if (this.nativeElement) {
203
+ this.nativeElement.dateSelectorFormatFunction = value;
204
+ }
205
+ }
206
+ /** Determines the day format of the dates in the timeline.
207
+ * Property type: SchedulerDayFormat | string
208
+ */
209
+ get dayFormat() {
210
+ return this.nativeElement ? this.nativeElement.dayFormat : undefined;
211
+ }
212
+ set dayFormat(value) {
213
+ if (this.nativeElement) {
214
+ this.nativeElement.dayFormat = value;
215
+ }
216
+ }
217
+ /** Enables or disables the element.
218
+ * Property type: boolean
219
+ */
220
+ get disabled() {
221
+ return this.nativeElement ? this.nativeElement.disabled : undefined;
222
+ }
223
+ set disabled(value) {
224
+ if (this.nativeElement) {
225
+ this.nativeElement.disabled = value;
226
+ }
227
+ }
228
+ /** Disables auto scrolling of the timeline while dragging/resizing an event.
229
+ * Property type: boolean
230
+ */
231
+ get disableAutoScroll() {
232
+ return this.nativeElement ? this.nativeElement.disableAutoScroll : undefined;
233
+ }
234
+ set disableAutoScroll(value) {
235
+ if (this.nativeElement) {
236
+ this.nativeElement.disableAutoScroll = value;
237
+ }
238
+ }
239
+ /** Disables dragging of events.
240
+ * Property type: boolean
241
+ */
242
+ get disableDrag() {
243
+ return this.nativeElement ? this.nativeElement.disableDrag : undefined;
244
+ }
245
+ set disableDrag(value) {
246
+ if (this.nativeElement) {
247
+ this.nativeElement.disableDrag = value;
248
+ }
249
+ }
250
+ /** Disables dropping of events.
251
+ * Property type: boolean
252
+ */
253
+ get disableDrop() {
254
+ return this.nativeElement ? this.nativeElement.disableDrop : undefined;
255
+ }
256
+ set disableDrop(value) {
257
+ if (this.nativeElement) {
258
+ this.nativeElement.disableDrop = value;
259
+ }
260
+ }
261
+ /** Disables resizing of events.
262
+ * Property type: boolean
263
+ */
264
+ get disableResize() {
265
+ return this.nativeElement ? this.nativeElement.disableResize : undefined;
266
+ }
267
+ set disableResize(value) {
268
+ if (this.nativeElement) {
269
+ this.nativeElement.disableResize = value;
270
+ }
271
+ }
272
+ /** Disables the cell selection.
273
+ * Property type: boolean
274
+ */
275
+ get disableSelection() {
276
+ return this.nativeElement ? this.nativeElement.disableSelection : undefined;
277
+ }
278
+ set disableSelection(value) {
279
+ if (this.nativeElement) {
280
+ this.nativeElement.disableSelection = value;
281
+ }
282
+ }
283
+ /** Disables the window editor for the events.
284
+ * Property type: boolean
285
+ */
286
+ get disableWindowEditor() {
287
+ return this.nativeElement ? this.nativeElement.disableWindowEditor : undefined;
288
+ }
289
+ set disableWindowEditor(value) {
290
+ if (this.nativeElement) {
291
+ this.nativeElement.disableWindowEditor = value;
292
+ }
293
+ }
294
+ /** Disables the context menu of the events and cells.
295
+ * Property type: boolean
296
+ */
297
+ get disableContextMenu() {
298
+ return this.nativeElement ? this.nativeElement.disableContextMenu : undefined;
299
+ }
300
+ set disableContextMenu(value) {
301
+ if (this.nativeElement) {
302
+ this.nativeElement.disableContextMenu = value;
303
+ }
304
+ }
305
+ /** Disables the event menu that appears when an event/collector has been clicked.
306
+ * Property type: boolean
307
+ */
308
+ get disableEventMenu() {
309
+ return this.nativeElement ? this.nativeElement.disableEventMenu : undefined;
310
+ }
311
+ set disableEventMenu(value) {
312
+ if (this.nativeElement) {
313
+ this.nativeElement.disableEventMenu = value;
314
+ }
315
+ }
316
+ /** Disables the view menu that allows to select the current Scheduler view.
317
+ * Property type: boolean
318
+ */
319
+ get disableViewMenu() {
320
+ return this.nativeElement ? this.nativeElement.disableViewMenu : undefined;
321
+ }
322
+ set disableViewMenu(value) {
323
+ if (this.nativeElement) {
324
+ this.nativeElement.disableViewMenu = value;
325
+ }
326
+ }
327
+ /** Disables the date menu that allows to select the current Scheduler date.
328
+ * Property type: boolean
329
+ */
330
+ get disableDateMenu() {
331
+ return this.nativeElement ? this.nativeElement.disableDateMenu : undefined;
332
+ }
333
+ set disableDateMenu(value) {
334
+ if (this.nativeElement) {
335
+ this.nativeElement.disableDateMenu = value;
336
+ }
337
+ }
338
+ /** A callback that can be used to customize the drag feedback that appears when an event is dragged.
339
+ * Property type: any
340
+ */
341
+ get dragFeedbackFormatFunction() {
342
+ return this.nativeElement ? this.nativeElement.dragFeedbackFormatFunction : undefined;
343
+ }
344
+ set dragFeedbackFormatFunction(value) {
345
+ if (this.nativeElement) {
346
+ this.nativeElement.dragFeedbackFormatFunction = value;
347
+ }
348
+ }
349
+ /** Determines the offset for the drag feedback from the pointer.
350
+ * Property type: any
351
+ */
352
+ get dragOffset() {
353
+ return this.nativeElement ? this.nativeElement.dragOffset : undefined;
354
+ }
355
+ set dragOffset(value) {
356
+ if (this.nativeElement) {
357
+ this.nativeElement.dragOffset = value;
358
+ }
359
+ }
360
+ /** Determines the filtering condition for the events.The filter property takes an array of objects or a function. Each object represents a single filtering condition with the following attributes: name - the name of the Scheduler event property that will be filtered by.value - the filtering condition value. The value will be used to compare the events based on the filterMode, for example: [{ name: 'price', value: 25 }]. The value can also be a function. The function accepts a single arguemnt - the value that corresponds to the filtered attribute. The function allows to apply custom condition that is different from the default filter modes. It should return true ( if the evnet passes the filtering condition ) or false ( if the event does not meet the filtering condition ). Here's an example: [{ name: 'roomId', value: (id) => ['2', '3'].indexOf(id + '') > -1 }]. In the example the events that do not have a 'roomId' property that is equal to '2' or '3' will be filtered out.. If a function is set to the filter property instead, it allows to completely customize the filtering logic. The function passes a single argument - each Scheduler event that will be displayed. The function should return true ( if the condition is met ) or false ( if not ).
361
+ * Property type: any
362
+ */
363
+ get filter() {
364
+ return this.nativeElement ? this.nativeElement.filter : undefined;
365
+ }
366
+ set filter(value) {
367
+ if (this.nativeElement) {
368
+ this.nativeElement.filter = value;
369
+ }
370
+ }
371
+ /** Determines whether Scheduler's filtering is enabled or not.
372
+ * Property type: any
373
+ */
374
+ get filterable() {
375
+ return this.nativeElement ? this.nativeElement.filterable : undefined;
376
+ }
377
+ set filterable(value) {
378
+ if (this.nativeElement) {
379
+ this.nativeElement.filterable = value;
380
+ }
381
+ }
382
+ /** Determines the filter mode.
383
+ * Property type: FilterMode | string
384
+ */
385
+ get filterMode() {
386
+ return this.nativeElement ? this.nativeElement.filterMode : undefined;
387
+ }
388
+ set filterMode(value) {
389
+ if (this.nativeElement) {
390
+ this.nativeElement.filterMode = value;
391
+ }
392
+ }
393
+ /** A getter that returns an array of all Scheduler events.
394
+ * Property type: SchedulerEvent[]
395
+ */
396
+ get events() {
397
+ return this.nativeElement ? this.nativeElement.events : undefined;
398
+ }
399
+ set events(value) {
400
+ if (this.nativeElement) {
401
+ this.nativeElement.events = value;
402
+ }
403
+ }
404
+ /** Determines the first day of week for the Scheduler. By default it's Sunday.
405
+ * Property type: number
406
+ */
407
+ get firstDayOfWeek() {
408
+ return this.nativeElement ? this.nativeElement.firstDayOfWeek : undefined;
409
+ }
410
+ set firstDayOfWeek(value) {
411
+ if (this.nativeElement) {
412
+ this.nativeElement.firstDayOfWeek = value;
413
+ }
414
+ }
415
+ /** Allows to customize the footer of the Scheduler. It can be an HTMLTemplateElement, it's id as a string or a function with the following parameters: footerContainer - the footer container..
416
+ * Property type: any
417
+ */
418
+ get footerTemplate() {
419
+ return this.nativeElement ? this.nativeElement.footerTemplate : undefined;
420
+ }
421
+ set footerTemplate(value) {
422
+ if (this.nativeElement) {
423
+ this.nativeElement.footerTemplate = value;
424
+ }
425
+ }
426
+ /** Determines whether the events will be grouped by date.
427
+ * Property type: boolean
428
+ */
429
+ get groupByDate() {
430
+ return this.nativeElement ? this.nativeElement.groupByDate : undefined;
431
+ }
432
+ set groupByDate(value) {
433
+ if (this.nativeElement) {
434
+ this.nativeElement.groupByDate = value;
435
+ }
436
+ }
437
+ /** Determines the grouping orientation.
438
+ * Property type: SchedulerGroupOrientation | string
439
+ */
440
+ get groupOrientation() {
441
+ return this.nativeElement ? this.nativeElement.groupOrientation : undefined;
442
+ }
443
+ set groupOrientation(value) {
444
+ if (this.nativeElement) {
445
+ this.nativeElement.groupOrientation = value;
446
+ }
447
+ }
448
+ /** Allows to customize the content of the group cells that are visible inside the header. It can be an HTMLTemplateElement that will be applied to all cells or it's id as a string or a function that will be called for each group cell with the following parameters: cellContent - the content holder for the group cell.cellObj - the group cell object.. When using an HTMLTemplateElement it's possible to add property bindings inside the template that will be mapped to the corresponding object properties.
449
+ * Property type: any
450
+ */
451
+ get groupTemplate() {
452
+ return this.nativeElement ? this.nativeElement.groupTemplate : undefined;
453
+ }
454
+ set groupTemplate(value) {
455
+ if (this.nativeElement) {
456
+ this.nativeElement.groupTemplate = value;
457
+ }
458
+ }
459
+ /** Determines the resources that the events are grouped by.
460
+ * Property type: any
461
+ */
462
+ get groups() {
463
+ return this.nativeElement ? this.nativeElement.groups : undefined;
464
+ }
465
+ set groups(value) {
466
+ if (this.nativeElement) {
467
+ this.nativeElement.groups = value;
468
+ }
469
+ }
470
+ /** Determines the end hour that will be displayed in 'day' and 'week' views.
471
+ * Property type: number
472
+ */
473
+ get hourEnd() {
474
+ return this.nativeElement ? this.nativeElement.hourEnd : undefined;
475
+ }
476
+ set hourEnd(value) {
477
+ if (this.nativeElement) {
478
+ this.nativeElement.hourEnd = value;
479
+ }
480
+ }
481
+ /** Determines the start hour that will be displayed in 'day' and 'week' views.
482
+ * Property type: number
483
+ */
484
+ get hourStart() {
485
+ return this.nativeElement ? this.nativeElement.hourStart : undefined;
486
+ }
487
+ set hourStart(value) {
488
+ if (this.nativeElement) {
489
+ this.nativeElement.hourStart = value;
490
+ }
491
+ }
492
+ /** Determines the formatting of hours inside the element.
493
+ * Property type: SchedulerHourFormat | string
494
+ */
495
+ get hourFormat() {
496
+ return this.nativeElement ? this.nativeElement.hourFormat : undefined;
497
+ }
498
+ set hourFormat(value) {
499
+ if (this.nativeElement) {
500
+ this.nativeElement.hourFormat = value;
501
+ }
502
+ }
503
+ /** Allows to customize the header of the Scheduler. It can be an HTMLTemplateElement, it's id as a string or a function with the following parameters: headerContent - the header container..
504
+ * Property type: any
505
+ */
506
+ get headerTemplate() {
507
+ return this.nativeElement ? this.nativeElement.headerTemplate : undefined;
508
+ }
509
+ set headerTemplate(value) {
510
+ if (this.nativeElement) {
511
+ this.nativeElement.headerTemplate = value;
512
+ }
513
+ }
514
+ /** Determines the position of the Date selector inside the Header of the element.
515
+ * Property type: SchedulerHeaderDatePosition | string
516
+ */
517
+ get headerDatePosition() {
518
+ return this.nativeElement ? this.nativeElement.headerDatePosition : undefined;
519
+ }
520
+ set headerDatePosition(value) {
521
+ if (this.nativeElement) {
522
+ this.nativeElement.headerDatePosition = value;
523
+ }
524
+ }
525
+ /** Determines the styling of the Header navigation controls.
526
+ * Property type: SchedulerHeaderNavigationStyle | string
527
+ */
528
+ get headerNavigationStyle() {
529
+ return this.nativeElement ? this.nativeElement.headerNavigationStyle : undefined;
530
+ }
531
+ set headerNavigationStyle(value) {
532
+ if (this.nativeElement) {
533
+ this.nativeElement.headerNavigationStyle = value;
534
+ }
535
+ }
536
+ /** Determines the position of the view selector control inside the Header of the element.
537
+ * Property type: SchedulerHeaderViewPosition | string
538
+ */
539
+ get headerViewPosition() {
540
+ return this.nativeElement ? this.nativeElement.headerViewPosition : undefined;
541
+ }
542
+ set headerViewPosition(value) {
543
+ if (this.nativeElement) {
544
+ this.nativeElement.headerViewPosition = value;
545
+ }
546
+ }
547
+ /** Determines whether the 'All Day' container with the all day events is hidden or not.
548
+ * Property type: boolean
549
+ */
550
+ get hideAllDay() {
551
+ return this.nativeElement ? this.nativeElement.hideAllDay : undefined;
552
+ }
553
+ set hideAllDay(value) {
554
+ if (this.nativeElement) {
555
+ this.nativeElement.hideAllDay = value;
556
+ }
557
+ }
558
+ /** Determines whether the days set by 'nonworkingDays' property are hidden or not.
559
+ * Property type: boolean
560
+ */
561
+ get hideNonworkingWeekdays() {
562
+ return this.nativeElement ? this.nativeElement.hideNonworkingWeekdays : undefined;
563
+ }
564
+ set hideNonworkingWeekdays(value) {
565
+ if (this.nativeElement) {
566
+ this.nativeElement.hideNonworkingWeekdays = value;
567
+ }
568
+ }
569
+ /** Determines whether other month days are visible when view is set to month. When enabled, events that start on other month days are not displayed and the cells that represent such days do not allow the creation of new events on them. Also dragging and droping an event on other month days is not allowed. Reszing is also affected. Events can end on other month days, but cannot start on one.
570
+ * Property type: boolean
571
+ */
572
+ get hideOtherMonthDays() {
573
+ return this.nativeElement ? this.nativeElement.hideOtherMonthDays : undefined;
574
+ }
575
+ set hideOtherMonthDays(value) {
576
+ if (this.nativeElement) {
577
+ this.nativeElement.hideOtherMonthDays = value;
578
+ }
579
+ }
580
+ /** Determines whether the 'Today' button is hidden or not.
581
+ * Property type: boolean
582
+ */
583
+ get hideTodayButton() {
584
+ return this.nativeElement ? this.nativeElement.hideTodayButton : undefined;
585
+ }
586
+ set hideTodayButton(value) {
587
+ if (this.nativeElement) {
588
+ this.nativeElement.hideTodayButton = value;
589
+ }
590
+ }
591
+ /** Determines whether the checkable items in the view selection menu are hidden or not.
592
+ * Property type: boolean
593
+ */
594
+ get hideViewMenuCheckableItems() {
595
+ return this.nativeElement ? this.nativeElement.hideViewMenuCheckableItems : undefined;
596
+ }
597
+ set hideViewMenuCheckableItems(value) {
598
+ if (this.nativeElement) {
599
+ this.nativeElement.hideViewMenuCheckableItems = value;
600
+ }
601
+ }
602
+ /** Determines whether the weekend days are hidden or not.
603
+ * Property type: boolean
604
+ */
605
+ get hideWeekend() {
606
+ return this.nativeElement ? this.nativeElement.hideWeekend : undefined;
607
+ }
608
+ set hideWeekend(value) {
609
+ if (this.nativeElement) {
610
+ this.nativeElement.hideWeekend = value;
611
+ }
612
+ }
613
+ /** Determines the location of the legend inside the Scheduler. By default the location is inside the footer but it can also reside in the header.
614
+ * Property type: SchedulerLegendLocation | string
615
+ */
616
+ get legendLocation() {
617
+ return this.nativeElement ? this.nativeElement.legendLocation : undefined;
618
+ }
619
+ set legendLocation(value) {
620
+ if (this.nativeElement) {
621
+ this.nativeElement.legendLocation = value;
622
+ }
623
+ }
624
+ /** Determines the position of the legend. By default it's positioned to the near side but setting it to 'far' will change that.
625
+ * Property type: SchedulerLegendPosition | string
626
+ */
627
+ get legendPosition() {
628
+ return this.nativeElement ? this.nativeElement.legendPosition : undefined;
629
+ }
630
+ set legendPosition(value) {
631
+ if (this.nativeElement) {
632
+ this.nativeElement.legendPosition = value;
633
+ }
634
+ }
635
+ /** Determines the mouse wheel step. When this property is set to a positive number, the scroll step with mouse wheel or trackpad will depend on the property value.
636
+ * Property type: number
637
+ */
638
+ get mouseWheelStep() {
639
+ return this.nativeElement ? this.nativeElement.mouseWheelStep : undefined;
640
+ }
641
+ set mouseWheelStep(value) {
642
+ if (this.nativeElement) {
643
+ this.nativeElement.mouseWheelStep = value;
644
+ }
645
+ }
646
+ /** Determines weather or not horizontal scrollbar is shown.
647
+ * Property type: HorizontalScrollBarVisibility | string
648
+ */
649
+ get horizontalScrollBarVisibility() {
650
+ return this.nativeElement ? this.nativeElement.horizontalScrollBarVisibility : undefined;
651
+ }
652
+ set horizontalScrollBarVisibility(value) {
653
+ if (this.nativeElement) {
654
+ this.nativeElement.horizontalScrollBarVisibility = value;
655
+ }
656
+ }
657
+ /** Determines the language of the Scheduler.
658
+ * Property type: string
659
+ */
660
+ get locale() {
661
+ return this.nativeElement ? this.nativeElement.locale : undefined;
662
+ }
663
+ set locale(value) {
664
+ if (this.nativeElement) {
665
+ this.nativeElement.locale = value;
666
+ }
667
+ }
668
+ /** Detetmines the maximum view date for the Scheduler.
669
+ * Property type: string | Date
670
+ */
671
+ get max() {
672
+ return this.nativeElement ? this.nativeElement.max : undefined;
673
+ }
674
+ set max(value) {
675
+ if (this.nativeElement) {
676
+ this.nativeElement.max = value;
677
+ }
678
+ }
679
+ /** Detetmines the maximum number of events per Scheduler cell. By default this property is null which means that the number of events per cell is automatically determined by the size of the events.
680
+ * Property type: number | null
681
+ */
682
+ get maxEventsPerCell() {
683
+ return this.nativeElement ? this.nativeElement.maxEventsPerCell : undefined;
684
+ }
685
+ set maxEventsPerCell(value) {
686
+ if (this.nativeElement) {
687
+ this.nativeElement.maxEventsPerCell = value;
688
+ }
689
+ }
690
+ /** Detetmines the minimum view date for the Scheduler.
691
+ * Property type: string | Date
692
+ */
693
+ get min() {
694
+ return this.nativeElement ? this.nativeElement.min : undefined;
695
+ }
696
+ set min(value) {
697
+ if (this.nativeElement) {
698
+ this.nativeElement.min = value;
699
+ }
700
+ }
701
+ /** Sets or gets an object specifying strings used in the element that can be localized. Used in conjunction with the property locale.
702
+ * Property type: any
703
+ */
704
+ get messages() {
705
+ return this.nativeElement ? this.nativeElement.messages : undefined;
706
+ }
707
+ set messages(value) {
708
+ if (this.nativeElement) {
709
+ this.nativeElement.messages = value;
710
+ }
711
+ }
712
+ /** Determines the minute formatting inside the Scheduler.
713
+ * Property type: MinuteFormat | string
714
+ */
715
+ get minuteFormat() {
716
+ return this.nativeElement ? this.nativeElement.minuteFormat : undefined;
717
+ }
718
+ set minuteFormat(value) {
719
+ if (this.nativeElement) {
720
+ this.nativeElement.minuteFormat = value;
721
+ }
722
+ }
723
+ /** Determines the month name formatting inside the Scheduler.
724
+ * Property type: MonthFormat | string
725
+ */
726
+ get monthFormat() {
727
+ return this.nativeElement ? this.nativeElement.monthFormat : undefined;
728
+ }
729
+ set monthFormat(value) {
730
+ if (this.nativeElement) {
731
+ this.nativeElement.monthFormat = value;
732
+ }
733
+ }
734
+ /** Determines the nonworking days of the week from 0 to 6, where 0 is the first day of the week and 6 is the last day. Nonworking days will be colored differently inside the Timeline. The color is determined by a CSS variable.
735
+ * Property type: any
736
+ */
737
+ get nonworkingDays() {
738
+ return this.nativeElement ? this.nativeElement.nonworkingDays : undefined;
739
+ }
740
+ set nonworkingDays(value) {
741
+ if (this.nativeElement) {
742
+ this.nativeElement.nonworkingDays = value;
743
+ }
744
+ }
745
+ /** Determines the nonworking hours of the day. Hours are represented as numbers inside an array, however ranges of hours can be defined as an array with starting and ending hour separated by a comma. In the timline the cells that represent nonworking days are colored differently from the rest.
746
+ * Property type: any
747
+ */
748
+ get nonworkingHours() {
749
+ return this.nativeElement ? this.nativeElement.nonworkingHours : undefined;
750
+ }
751
+ set nonworkingHours(value) {
752
+ if (this.nativeElement) {
753
+ this.nativeElement.nonworkingHours = value;
754
+ }
755
+ }
756
+ /** Determines the interval (in seconds) at which the element will check for notifications.
757
+ * Property type: number
758
+ */
759
+ get notificationInterval() {
760
+ return this.nativeElement ? this.nativeElement.notificationInterval : undefined;
761
+ }
762
+ set notificationInterval(value) {
763
+ if (this.nativeElement) {
764
+ this.nativeElement.notificationInterval = value;
765
+ }
766
+ }
767
+ /** Determines the visibility of the resize handles.
768
+ * Property type: ResizeHandlesVisibility | string
769
+ */
770
+ get resizeHandlesVisibility() {
771
+ return this.nativeElement ? this.nativeElement.resizeHandlesVisibility : undefined;
772
+ }
773
+ set resizeHandlesVisibility(value) {
774
+ if (this.nativeElement) {
775
+ this.nativeElement.resizeHandlesVisibility = value;
776
+ }
777
+ }
778
+ /** Determines the rate at which the element will refresh it's content on element resize. By default it's refresh immediately. This property is used for element resize throttling
779
+ * Property type: number
780
+ */
781
+ get resizeInterval() {
782
+ return this.nativeElement ? this.nativeElement.resizeInterval : undefined;
783
+ }
784
+ set resizeInterval(value) {
785
+ if (this.nativeElement) {
786
+ this.nativeElement.resizeInterval = value;
787
+ }
788
+ }
789
+ /** An array of resources that can be assigned to the events.
790
+ * Property type: SchedulerResource[]
791
+ */
792
+ get resources() {
793
+ return this.nativeElement ? this.nativeElement.resources : undefined;
794
+ }
795
+ set resources(value) {
796
+ if (this.nativeElement) {
797
+ this.nativeElement.resources = value;
798
+ }
799
+ }
800
+ /** Defines an array of dates that are not allowed to have events on. Events that overlap restricted Dates or start/end on them will not be displayed.
801
+ * Property type: any
802
+ */
803
+ get restrictedDates() {
804
+ return this.nativeElement ? this.nativeElement.restrictedDates : undefined;
805
+ }
806
+ set restrictedDates(value) {
807
+ if (this.nativeElement) {
808
+ this.nativeElement.restrictedDates = value;
809
+ }
810
+ }
811
+ /** Defines an array of hours that are not allowed to have events on. Events that overlap restricted Hours or start/end on them will not be displayed.
812
+ * Property type: any
813
+ */
814
+ get restrictedHours() {
815
+ return this.nativeElement ? this.nativeElement.restrictedHours : undefined;
816
+ }
817
+ set restrictedHours(value) {
818
+ if (this.nativeElement) {
819
+ this.nativeElement.restrictedHours = value;
820
+ }
821
+ }
822
+ /** Sets or gets the value indicating whether the element is aligned to support locales using right-to-left fonts.
823
+ * Property type: boolean
824
+ */
825
+ get rightToLeft() {
826
+ return this.nativeElement ? this.nativeElement.rightToLeft : undefined;
827
+ }
828
+ set rightToLeft(value) {
829
+ if (this.nativeElement) {
830
+ this.nativeElement.rightToLeft = value;
831
+ }
832
+ }
833
+ /** Determines the position of the date navigation navigation buttons inside the header of the element.
834
+ * Property type: SchedulerScrollButtonsPosition | string
835
+ */
836
+ get scrollButtonsPosition() {
837
+ return this.nativeElement ? this.nativeElement.scrollButtonsPosition : undefined;
838
+ }
839
+ set scrollButtonsPosition(value) {
840
+ if (this.nativeElement) {
841
+ this.nativeElement.scrollButtonsPosition = value;
842
+ }
843
+ }
844
+ /** Enables/Disables the current time shader. If enabled all cells that represent past time will be shaded.
845
+ * Property type: boolean
846
+ */
847
+ get shadeUntilCurrentTime() {
848
+ return this.nativeElement ? this.nativeElement.shadeUntilCurrentTime : undefined;
849
+ }
850
+ set shadeUntilCurrentTime(value) {
851
+ if (this.nativeElement) {
852
+ this.nativeElement.shadeUntilCurrentTime = value;
853
+ }
854
+ }
855
+ /** Determines whether the resource legend is visible or not. The Legend shows the resources and their items in the footer section of the Scheduler. If filterable is enabled it is possible to filter by resource items by clicking on the corresponding resource item from the legend.
856
+ * Property type: boolean
857
+ */
858
+ get showLegend() {
859
+ return this.nativeElement ? this.nativeElement.showLegend : undefined;
860
+ }
861
+ set showLegend(value) {
862
+ if (this.nativeElement) {
863
+ this.nativeElement.showLegend = value;
864
+ }
865
+ }
866
+ /** Determines the name of the resource data item property that will be used for sorting the resource data defined as the resource.dataSource.
867
+ * Property type: string
868
+ */
869
+ get sortBy() {
870
+ return this.nativeElement ? this.nativeElement.sortBy : undefined;
871
+ }
872
+ set sortBy(value) {
873
+ if (this.nativeElement) {
874
+ this.nativeElement.sortBy = value;
875
+ }
876
+ }
877
+ /** Allows to define a custom sorting function that will be used to sort the resource data. The sortFunction is used when sortOrder is set to custom.
878
+ * Property type: any
879
+ */
880
+ get sortFunction() {
881
+ return this.nativeElement ? this.nativeElement.sortFunction : undefined;
882
+ }
883
+ set sortFunction(value) {
884
+ if (this.nativeElement) {
885
+ this.nativeElement.sortFunction = value;
886
+ }
887
+ }
888
+ /** Determines the sorting order of the resource data items. When set to custom, a custom sorting function has to be defined for the sortFunction property. The asc stands for 'ascending' while desc means 'descending' sorting order.
889
+ * Property type: SchedulerSortOrder | string
890
+ */
891
+ get sortOrder() {
892
+ return this.nativeElement ? this.nativeElement.sortOrder : undefined;
893
+ }
894
+ set sortOrder(value) {
895
+ if (this.nativeElement) {
896
+ this.nativeElement.sortOrder = value;
897
+ }
898
+ }
899
+ /** Determines the repeating delay of the repeat buttons inside the header of the element. Such buttons are the Date navigation buttons and the view scroll buttons.
900
+ * Property type: number
901
+ */
902
+ get spinButtonsDelay() {
903
+ return this.nativeElement ? this.nativeElement.spinButtonsDelay : undefined;
904
+ }
905
+ set spinButtonsDelay(value) {
906
+ if (this.nativeElement) {
907
+ this.nativeElement.spinButtonsDelay = value;
908
+ }
909
+ }
910
+ /** Determines the initial delay of the repeat buttons inside the header of the element. Such buttons are the Date navigation buttons and the view scroll buttons.
911
+ * Property type: number
912
+ */
913
+ get spinButtonsInitialDelay() {
914
+ return this.nativeElement ? this.nativeElement.spinButtonsInitialDelay : undefined;
915
+ }
916
+ set spinButtonsInitialDelay(value) {
917
+ if (this.nativeElement) {
918
+ this.nativeElement.spinButtonsInitialDelay = value;
919
+ }
920
+ }
921
+ /** Defines the statuses that will be available for selection thourgh the window editor for the events.
922
+ * Property type: SchedulerStatuse[]
923
+ */
924
+ get statuses() {
925
+ return this.nativeElement ? this.nativeElement.statuses : undefined;
926
+ }
927
+ set statuses(value) {
928
+ if (this.nativeElement) {
929
+ this.nativeElement.statuses = value;
930
+ }
931
+ }
932
+ /** Sets or gets the element's visual theme.
933
+ * Property type: string
934
+ */
935
+ get theme() {
936
+ return this.nativeElement ? this.nativeElement.theme : undefined;
937
+ }
938
+ set theme(value) {
939
+ if (this.nativeElement) {
940
+ this.nativeElement.theme = value;
941
+ }
942
+ }
943
+ /** A format function for the Header of the Timeline. Allows to modify the date labels in the header cells.
944
+ * Property type: any
945
+ */
946
+ get timelineHeaderFormatFunction() {
947
+ return this.nativeElement ? this.nativeElement.timelineHeaderFormatFunction : undefined;
948
+ }
949
+ set timelineHeaderFormatFunction(value) {
950
+ if (this.nativeElement) {
951
+ this.nativeElement.timelineHeaderFormatFunction = value;
952
+ }
953
+ }
954
+ /** Determines the date scale for the timeline cells.
955
+ * Property type: SchedulerTimelineDayScale | string
956
+ */
957
+ get timelineDayScale() {
958
+ return this.nativeElement ? this.nativeElement.timelineDayScale : undefined;
959
+ }
960
+ set timelineDayScale(value) {
961
+ if (this.nativeElement) {
962
+ this.nativeElement.timelineDayScale = value;
963
+ }
964
+ }
965
+ /** Enables/Disables the tick marks next to the time cells in the vertical header of the element. Time header appears in 'day' and 'week' views.
966
+ * Property type: boolean
967
+ */
968
+ get timeRulerTicks() {
969
+ return this.nativeElement ? this.nativeElement.timeRulerTicks : undefined;
970
+ }
971
+ set timeRulerTicks(value) {
972
+ if (this.nativeElement) {
973
+ this.nativeElement.timeRulerTicks = value;
974
+ }
975
+ }
976
+ /** Determines the timeZone for the element. By default if the local time zone is used if the property is not set.
977
+ * Property type: SchedulerTimeZone | string
978
+ */
979
+ get timeZone() {
980
+ return this.nativeElement ? this.nativeElement.timeZone : undefined;
981
+ }
982
+ set timeZone(value) {
983
+ if (this.nativeElement) {
984
+ this.nativeElement.timeZone = value;
985
+ }
986
+ }
987
+ /** Allows to display additional timeZones at once along with the default that is set via the timeZone property. Accepts an array values that represent the ids of valid time zones. The possbile time zones can be viewed in the timeZone property description. By default the local time zone is displayed.
988
+ * Property type: any
989
+ */
990
+ get timeZones() {
991
+ return this.nativeElement ? this.nativeElement.timeZones : undefined;
992
+ }
993
+ set timeZones(value) {
994
+ if (this.nativeElement) {
995
+ this.nativeElement.timeZones = value;
996
+ }
997
+ }
998
+ /** Determines the delay ( in miliseconds) before the tooltip/menu appears.
999
+ * Property type: number
1000
+ */
1001
+ get tooltipDelay() {
1002
+ return this.nativeElement ? this.nativeElement.tooltipDelay : undefined;
1003
+ }
1004
+ set tooltipDelay(value) {
1005
+ if (this.nativeElement) {
1006
+ this.nativeElement.tooltipDelay = value;
1007
+ }
1008
+ }
1009
+ /** Determines the offset ot the tooltip/menu.
1010
+ * Property type: number[]
1011
+ */
1012
+ get tooltipOffset() {
1013
+ return this.nativeElement ? this.nativeElement.tooltipOffset : undefined;
1014
+ }
1015
+ set tooltipOffset(value) {
1016
+ if (this.nativeElement) {
1017
+ this.nativeElement.tooltipOffset = value;
1018
+ }
1019
+ }
1020
+ /** Determines weather or not vertical scrollbar is shown.
1021
+ * Property type: VerticalScrollBarVisibility | string
1022
+ */
1023
+ get verticalScrollBarVisibility() {
1024
+ return this.nativeElement ? this.nativeElement.verticalScrollBarVisibility : undefined;
1025
+ }
1026
+ set verticalScrollBarVisibility(value) {
1027
+ if (this.nativeElement) {
1028
+ this.nativeElement.verticalScrollBarVisibility = value;
1029
+ }
1030
+ }
1031
+ /** Determines the current view. The property accepts view values that are defined in the views property. Custom views should contain a valid value that will be set as the current view.
1032
+ * Property type: string
1033
+ */
1034
+ get view() {
1035
+ return this.nativeElement ? this.nativeElement.view : undefined;
1036
+ }
1037
+ set view(value) {
1038
+ if (this.nativeElement) {
1039
+ this.nativeElement.view = value;
1040
+ }
1041
+ }
1042
+ /** Indicates the current Scheduler viewType. Custom views must contain a valid type property that corresponds to one of the view types. This property should not be set.
1043
+ * Property type: SchedulerViewType | string
1044
+ */
1045
+ get viewType() {
1046
+ return this.nativeElement ? this.nativeElement.viewType : undefined;
1047
+ }
1048
+ set viewType(value) {
1049
+ if (this.nativeElement) {
1050
+ this.nativeElement.viewType = value;
1051
+ }
1052
+ }
1053
+ /** Determines the viewing date range of the timeline. The property should be set to an array of strings or view objects. When you set it to a string, you should use any of the following: 'day', 'week', 'month', 'agenda', 'timelineDay', 'timelineWeek', 'timelineMonth'. Custom views can be defined as objects instead of strings. The view object should contain the following properties: label - the label for the view.value - the value for the view. The value is the unique identifier for the view.type - the type of view. The type should be one of the default allowed values for a view.hideWeekend - an Optional property that allows to hide the weekend only for this specific view.hideNonworkingWeekdays - an Optional property that allows to hide the nonwrking weekdays for this specific view.shortcutKey - an Optional property that allows to set a custom shortcut key for the view.hideHours - an Optional property applicable only to timelineWeek view that allows to hide the hour cells and only show the day cells.
1054
+ * Property type: SchedulerViews | string
1055
+ */
1056
+ get views() {
1057
+ return this.nativeElement ? this.nativeElement.views : undefined;
1058
+ }
1059
+ set views(value) {
1060
+ if (this.nativeElement) {
1061
+ this.nativeElement.views = value;
1062
+ }
1063
+ }
1064
+ /** Determines type of the view selector located in the header of the element.
1065
+ * Property type: SchedulerViewSelectorType | string
1066
+ */
1067
+ get viewSelectorType() {
1068
+ return this.nativeElement ? this.nativeElement.viewSelectorType : undefined;
1069
+ }
1070
+ set viewSelectorType(value) {
1071
+ if (this.nativeElement) {
1072
+ this.nativeElement.viewSelectorType = value;
1073
+ }
1074
+ }
1075
+ /** Determines the Start Date rule. The Week and TimelineWeek views start by default from the current date taking into account the firstDayOfWeek property. When this property is set to 'dateCurrent', these views will start from the value of the 'dateCurrent'.
1076
+ * Property type: SchedulerViewStartDay | string
1077
+ */
1078
+ get viewStartDay() {
1079
+ return this.nativeElement ? this.nativeElement.viewStartDay : undefined;
1080
+ }
1081
+ set viewStartDay(value) {
1082
+ if (this.nativeElement) {
1083
+ this.nativeElement.viewStartDay = value;
1084
+ }
1085
+ }
1086
+ /** Determines the format of the week days inside the element.
1087
+ * Property type: WeekDayFormat | string
1088
+ */
1089
+ get weekdayFormat() {
1090
+ return this.nativeElement ? this.nativeElement.weekdayFormat : undefined;
1091
+ }
1092
+ set weekdayFormat(value) {
1093
+ if (this.nativeElement) {
1094
+ this.nativeElement.weekdayFormat = value;
1095
+ }
1096
+ }
1097
+ /** Determines the format of the dates inside the timeline header when they represent years.
1098
+ * Property type: YearFormat | string
1099
+ */
1100
+ get yearFormat() {
1101
+ return this.nativeElement ? this.nativeElement.yearFormat : undefined;
1102
+ }
1103
+ set yearFormat(value) {
1104
+ if (this.nativeElement) {
1105
+ this.nativeElement.yearFormat = value;
1106
+ }
1107
+ }
1108
+ /** Sets or gets if the element can be focused.
1109
+ * Property type: boolean
1110
+ */
1111
+ get unfocusable() {
1112
+ return this.nativeElement ? this.nativeElement.unfocusable : undefined;
1113
+ }
1114
+ set unfocusable(value) {
1115
+ if (this.nativeElement) {
1116
+ this.nativeElement.unfocusable = value;
1117
+ }
1118
+ }
1119
+ /** Determines the maximum number of redo/undo steps that will be remembered by the Scheduler. When the number is reached the oldest records are removed in order to add new.
1120
+ * Property type: number
1121
+ */
1122
+ get undoRedoSteps() {
1123
+ return this.nativeElement ? this.nativeElement.undoRedoSteps : undefined;
1124
+ }
1125
+ set undoRedoSteps(value) {
1126
+ if (this.nativeElement) {
1127
+ this.nativeElement.undoRedoSteps = value;
1128
+ }
1129
+ }
1130
+ /** A function that can be used to completly customize the popup Window that is used to edit events. The function has the following arguments: target - the target popup Window that is about to be opened.type - the type of the window. The type determines the purpose of the window. The default type is an empty string which means that it's the default event editing window. The other type is 'confirm' ( confirmation window) that appears when clicking on a repeating event. eventObj - the event object that is going to be edited.
1131
+ * Property type: any
1132
+ */
1133
+ get windowCustomizationFunction() {
1134
+ return this.nativeElement ? this.nativeElement.windowCustomizationFunction : undefined;
1135
+ }
1136
+ set windowCustomizationFunction(value) {
1137
+ if (this.nativeElement) {
1138
+ this.nativeElement.windowCustomizationFunction = value;
1139
+ }
1140
+ }
1141
+ // Gets the properties of the React component.
1142
+ get properties() {
1143
+ return ["autoScrollStep", "autoHeightAllDayCells", "colorScheme", "currentTimeIndicator", "currentTimeIndicatorInterval", "contextMenuDataSource", "contextMenuClipboardActions", "eventTemplate", "eventCollectorTemplate", "eventRenderMode", "eventTooltipTemplate", "cellTemplate", "dateCurrent", "dataExport", "dataSource", "dateSelectorFormatFunction", "dayFormat", "disabled", "disableAutoScroll", "disableDrag", "disableDrop", "disableResize", "disableSelection", "disableWindowEditor", "disableContextMenu", "disableEventMenu", "disableViewMenu", "disableDateMenu", "dragFeedbackFormatFunction", "dragOffset", "filter", "filterable", "filterMode", "events", "firstDayOfWeek", "footerTemplate", "groupByDate", "groupOrientation", "groupTemplate", "groups", "hourEnd", "hourStart", "hourFormat", "headerTemplate", "headerDatePosition", "headerNavigationStyle", "headerViewPosition", "hideAllDay", "hideNonworkingWeekdays", "hideOtherMonthDays", "hideTodayButton", "hideViewMenuCheckableItems", "hideWeekend", "legendLocation", "legendPosition", "mouseWheelStep", "horizontalScrollBarVisibility", "locale", "max", "maxEventsPerCell", "min", "messages", "minuteFormat", "monthFormat", "nonworkingDays", "nonworkingHours", "notificationInterval", "resizeHandlesVisibility", "resizeInterval", "resources", "restrictedDates", "restrictedHours", "rightToLeft", "scrollButtonsPosition", "shadeUntilCurrentTime", "showLegend", "sortBy", "sortFunction", "sortOrder", "spinButtonsDelay", "spinButtonsInitialDelay", "statuses", "theme", "timelineHeaderFormatFunction", "timelineDayScale", "timeRulerTicks", "timeZone", "timeZones", "tooltipDelay", "tooltipOffset", "verticalScrollBarVisibility", "view", "viewType", "views", "viewSelectorType", "viewStartDay", "weekdayFormat", "yearFormat", "unfocusable", "undoRedoSteps", "windowCustomizationFunction"];
1144
+ }
1145
+ // Gets the events of the React component.
1146
+ get eventListeners() {
1147
+ return ["onBeginUpdate", "onEndUpdate", "onChange", "onItemChange", "onItemChanging", "onItemClick", "onItemInsert", "onItemRemove", "onItemUpdate", "onViewChange", "onViewChanging", "onEventShortcutKey", "onDateChange", "onDragStart", "onDragEnd", "onDropoverCell", "onResizeStart", "onResizeEnd", "onEditDialogOpening", "onEditDialogOpen", "onEditDialogClose", "onEditDialogClosing", "onContextMenuOpening", "onContextMenuOpen", "onContextMenuClose", "onContextMenuClosing", "onEventMenuOpening", "onEventMenuOpen", "onEventMenuClose", "onEventMenuClosing", "onDateMenuOpen", "onDateMenuClose", "onViewMenuOpen", "onViewMenuClose", "onNotificationOpen", "onNotificationClose", "onCreate", "onReady"];
1148
+ }
1149
+ /** Adds an event to the Scheduler. Accepts an event object of the following format (same as the dataSource format): { label?: string, dateStart: date, dateEnd: date, description?: string, id?: string | number, class?: string, backgroundColor?: string, color?: string, notifications?: { interval: numeric, type?: string, time: number[] }[], allDay?: boolean, disableDrag?: boolean, disableResize?: boolean, repeat?: { repeatFreq: string, repeatInterval: number, repeatOn?: number | number[] | date, repeatEnd?: number | date, exceptions?: { date: date, dateStart?: date, dateEnd?: date, hidden?: boolean, backgroundColor?: string, status?: string, label?: string, description?: string, notifications?: { interval: numeric, type?: string, time: number[] }[], disableDrag?: boolean, disableResize?: boolean }[] }, status?: string }
1150
+ * @param {any} eventObj. An object describing a Scheduler event that is not already present in the element.
1151
+ */
1152
+ addEvent(eventObj) {
1153
+ if (this.nativeElement.isRendered) {
1154
+ this.nativeElement.addEvent(eventObj);
1155
+ }
1156
+ else {
1157
+ this.nativeElement.whenRendered(() => {
1158
+ this.nativeElement.addEvent(eventObj);
1159
+ });
1160
+ }
1161
+ }
1162
+ /** Adds a new view. Example: scheduler.addView('week', 'My View', 'myView', false, false, 10); scheduler.setView('myView');
1163
+ * @param {string} type. The view type.
1164
+ * @param {string} label. The view's label displayed in the header.
1165
+ * @param {string} value. The view's value used to identify the view.
1166
+ * @param {boolean} hideWeekend. Determines whether to hide the weekend.
1167
+ * @param {boolean} hideNonworkingWeekdays. Determines whether to hide the non working days.
1168
+ * @param {number} additionalDays. Determines whether to add additional days to the view.
1169
+ */
1170
+ addView(type, label, value, hideWeekend, hideNonworkingWeekdays, additionalDays) {
1171
+ if (this.nativeElement.isRendered) {
1172
+ this.nativeElement.addView(type, label, value, hideWeekend, hideNonworkingWeekdays, additionalDays);
1173
+ }
1174
+ else {
1175
+ this.nativeElement.whenRendered(() => {
1176
+ this.nativeElement.addView(type, label, value, hideWeekend, hideNonworkingWeekdays, additionalDays);
1177
+ });
1178
+ }
1179
+ }
1180
+ /** Starts an update operation. This is appropriate when calling multiple methods or set multiple properties at once.
1181
+ */
1182
+ beginUpdate() {
1183
+ if (this.nativeElement.isRendered) {
1184
+ this.nativeElement.beginUpdate();
1185
+ }
1186
+ else {
1187
+ this.nativeElement.whenRendered(() => {
1188
+ this.nativeElement.beginUpdate();
1189
+ });
1190
+ }
1191
+ }
1192
+ /** Creates an event and adds it to the Scheduler.
1193
+ * @param {string} label. Event label.
1194
+ * @param {string} value. Event value.
1195
+ * @param {string} dateStart. Event date start.
1196
+ * @param {string} dateEnd. Event date end.
1197
+ * @param {boolean} allDay. Event all day. Set it to true to create all day event.
1198
+ */
1199
+ createEvent(label, value, dateStart, dateEnd, allDay) {
1200
+ if (this.nativeElement.isRendered) {
1201
+ this.nativeElement.createEvent(label, value, dateStart, dateEnd, allDay);
1202
+ }
1203
+ else {
1204
+ this.nativeElement.whenRendered(() => {
1205
+ this.nativeElement.createEvent(label, value, dateStart, dateEnd, allDay);
1206
+ });
1207
+ }
1208
+ }
1209
+ /** Ends the update operation. This method will resume the rendering and will refresh the element.
1210
+ */
1211
+ endUpdate() {
1212
+ if (this.nativeElement.isRendered) {
1213
+ this.nativeElement.endUpdate();
1214
+ }
1215
+ else {
1216
+ this.nativeElement.whenRendered(() => {
1217
+ this.nativeElement.endUpdate();
1218
+ });
1219
+ }
1220
+ }
1221
+ /** Returns an array of the start and end view dates.
1222
+ * @returns {Date[]}
1223
+ */
1224
+ getViewDates() {
1225
+ const result = this.nativeElement.getViewDates();
1226
+ return result;
1227
+ }
1228
+ /** Refereshes the Scheduler by recalculating the Scrollbars.
1229
+ * @param {boolean} fullRefresh?. If set the Scheduler will be re-rendered completely.
1230
+ */
1231
+ refresh(fullRefresh) {
1232
+ if (this.nativeElement.isRendered) {
1233
+ this.nativeElement.refresh(fullRefresh);
1234
+ }
1235
+ else {
1236
+ this.nativeElement.whenRendered(() => {
1237
+ this.nativeElement.refresh(fullRefresh);
1238
+ });
1239
+ }
1240
+ }
1241
+ /** Exports the events from the Scheduler.
1242
+ * @param {string} dataFormat. Determines the format of the exported file. The following values are available: <ul><li><b>pdf</b></li><li><b>xlsx</b></li><li><b>html</b></li><li><b>iCal</b></li></ul>
1243
+ * @param {any} callback?. A callback that allows to format the exported data based on a condition. For additional details, refer ro the Smart Export Documentation.
1244
+ */
1245
+ exportData(dataFormat, callback) {
1246
+ if (this.nativeElement.isRendered) {
1247
+ this.nativeElement.exportData(dataFormat, callback);
1248
+ }
1249
+ else {
1250
+ this.nativeElement.whenRendered(() => {
1251
+ this.nativeElement.exportData(dataFormat, callback);
1252
+ });
1253
+ }
1254
+ }
1255
+ /** Returns a JSON representation of the events inside the Scheduler.
1256
+ * @returns {any}
1257
+ */
1258
+ getDataSource() {
1259
+ const result = this.nativeElement.getDataSource();
1260
+ return result;
1261
+ }
1262
+ /** Returns a JSON representation of the resources inside the Scheduler.
1263
+ * @returns {any}
1264
+ */
1265
+ getResources() {
1266
+ const result = this.nativeElement.getResources();
1267
+ return result;
1268
+ }
1269
+ /** Gets a date from coordinates
1270
+ * @param {number} x. X coordinate.
1271
+ * @param {number} y. Y coordinate.
1272
+ * @returns {string}
1273
+ */
1274
+ getDateFromCoordinates(x, y) {
1275
+ const result = this.nativeElement.getDateFromCoordinates(x, y);
1276
+ return result;
1277
+ }
1278
+ /** Gets whether a cell is all day cell from coordinates
1279
+ * @param {number} x. X coordinate.
1280
+ * @param {number} y. Y coordinate.
1281
+ * @returns {boolean}
1282
+ */
1283
+ getIsAllDayCellFromCoordinates(x, y) {
1284
+ const result = this.nativeElement.getIsAllDayCellFromCoordinates(x, y);
1285
+ return result;
1286
+ }
1287
+ /** Returns the current state of the Scheduler. Includes the current dateCurernt, dataSource and timeZone properties.
1288
+ * @returns {any}
1289
+ */
1290
+ getState() {
1291
+ const result = this.nativeElement.getState();
1292
+ return result;
1293
+ }
1294
+ /** Removes a previously saved state of the element form LocalStorage according to it's id. Requires an id to be set to the element.
1295
+ */
1296
+ clearState() {
1297
+ if (this.nativeElement.isRendered) {
1298
+ this.nativeElement.clearState();
1299
+ }
1300
+ else {
1301
+ this.nativeElement.whenRendered(() => {
1302
+ this.nativeElement.clearState();
1303
+ });
1304
+ }
1305
+ }
1306
+ /** Loads a previously saved state of the element or checks LocalStorage for any saved states if no argument is passed to the method.
1307
+ * @param {any[]} state?. An Array containing a valid structure of Scheduler events. If no state is provided, the element will check localStorage for a saved state.
1308
+ */
1309
+ loadState(state) {
1310
+ if (this.nativeElement.isRendered) {
1311
+ this.nativeElement.loadState(state);
1312
+ }
1313
+ else {
1314
+ this.nativeElement.whenRendered(() => {
1315
+ this.nativeElement.loadState(state);
1316
+ });
1317
+ }
1318
+ }
1319
+ /** Saves the current events of the element to LocalStorage. Requires an id to be set to the element.
1320
+ * @param {any[]} state?. An Array containing a valid structure of Scheduler events.
1321
+ */
1322
+ saveState(state) {
1323
+ if (this.nativeElement.isRendered) {
1324
+ this.nativeElement.saveState(state);
1325
+ }
1326
+ else {
1327
+ this.nativeElement.whenRendered(() => {
1328
+ this.nativeElement.saveState(state);
1329
+ });
1330
+ }
1331
+ }
1332
+ /** Sets the Scheduler's view. Example: scheduler.addView('week', 'My View', 'myView', false, false, 10); scheduler.setView('myView');
1333
+ * @param {string} view?. The view's value. For example: 'day'.
1334
+ */
1335
+ setView(view) {
1336
+ if (this.nativeElement.isRendered) {
1337
+ this.nativeElement.setView(view);
1338
+ }
1339
+ else {
1340
+ this.nativeElement.whenRendered(() => {
1341
+ this.nativeElement.setView(view);
1342
+ });
1343
+ }
1344
+ }
1345
+ /** Checks whether the Scheduler contains the event.
1346
+ * @param {any} eventObj. A Scheduler event object.
1347
+ * @returns {boolean}
1348
+ */
1349
+ containsEvent(eventObj) {
1350
+ const result = this.nativeElement.containsEvent(eventObj);
1351
+ return result;
1352
+ }
1353
+ /** Inserts an event as object of the following format (same as the dataSource format): { label?: string, dateStart: date, dateEnd: date, description?: string, id?: string | number, class?: string, backgroundColor?: string, color?: string, notifications?: { interval: numeric, type?: string, time: number[] }[], allDay?: boolean, disableDrag?: boolean, disableResize?: boolean, repeat?: { repeatFreq: string, repeatInterval: number, repeatOn?: number | number[] | date, repeatEnd?: number | date, exceptions?: { date: date, dateStart?: date, dateEnd?: date, hidden?: boolean, backgroundColor?: string, status?: string, label?: string, description?: string, notifications?: { interval: numeric, type?: string, time: number[] }[], disableDrag?: boolean, disableResize?: boolean }[] }, status?: string }
1354
+ * @param {any} eventObj. An object describing a Scheduler event that is not already present in the element.
1355
+ * @param {number} index?. A number that represents the index to insert the event at. If not provided the event is inserted at the end of the list.
1356
+ */
1357
+ insertEvent(eventObj, index) {
1358
+ if (this.nativeElement.isRendered) {
1359
+ this.nativeElement.insertEvent(eventObj, index);
1360
+ }
1361
+ else {
1362
+ this.nativeElement.whenRendered(() => {
1363
+ this.nativeElement.insertEvent(eventObj, index);
1364
+ });
1365
+ }
1366
+ }
1367
+ /** Updates an event object of the following format (same as the dataSource format): { label?: string, dateStart: date, dateEnd: date, description?: string, id?: string | number, class?: string, backgroundColor?: string, color?: string, notifications?: { interval: numeric, type?: string, time: number[] }[], allDay?: boolean, disableDrag?: boolean, disableResize?: boolean, repeat?: { repeatFreq: string, repeatInterval: number, repeatOn?: number | number[] | date, repeatEnd?: number | date, exceptions?: { date: date, dateStart?: date, dateEnd?: date, hidden?: boolean, backgroundColor?: string, status?: string, label?: string, description?: string, notifications?: { interval: numeric, type?: string, time: number[] }[], disableDrag?: boolean, disableResize?: boolean }[] }, status?: string }
1368
+ * @param {any} index. A number that represents the index of an event or a Scheduler event object.
1369
+ * @param {any} eventObj. An object describing a Scheduler event. The properties of this object will be applied to the desired event.
1370
+ */
1371
+ updateEvent(index, eventObj) {
1372
+ if (this.nativeElement.isRendered) {
1373
+ this.nativeElement.updateEvent(index, eventObj);
1374
+ }
1375
+ else {
1376
+ this.nativeElement.whenRendered(() => {
1377
+ this.nativeElement.updateEvent(index, eventObj);
1378
+ });
1379
+ }
1380
+ }
1381
+ /** Removes an existing event.
1382
+ * @param {any} index. A number that represents the index of an event or the actual event object to be removed.
1383
+ */
1384
+ removeEvent(index) {
1385
+ if (this.nativeElement.isRendered) {
1386
+ this.nativeElement.removeEvent(index);
1387
+ }
1388
+ else {
1389
+ this.nativeElement.whenRendered(() => {
1390
+ this.nativeElement.removeEvent(index);
1391
+ });
1392
+ }
1393
+ }
1394
+ /** Returns an array of all exceptions of the target repeating event.
1395
+ * @param {any} eventObj. The index, id or an object reference of an existing repeating Scheduler event.
1396
+ * @returns {any}
1397
+ */
1398
+ getEventExceptions(eventObj) {
1399
+ const result = this.nativeElement.getEventExceptions(eventObj);
1400
+ return result;
1401
+ }
1402
+ /** Adds an event exception to a repeating event. The exception occurences for a repeating event can be gathered via the following methods: occurencesoccurrencesBetweenoccurrenceAfteroccurrenceBefore. Example usage: scheduler.addEventException(eventObj, { date: occuranceDate, dateStart: newDateStart, dateEnd: newDateEnd, label: 'Exception' });
1403
+ * @param {any} eventObj. The index, id or an object reference of an existing repeating Scheduler event.
1404
+ * @param {any} exceptionObj. An event object that describes an exception. Exception event objects must have a <b>date</b> attribute of type Date which indicates the date of occurence.
1405
+ */
1406
+ addEventException(eventObj, exceptionObj) {
1407
+ if (this.nativeElement.isRendered) {
1408
+ this.nativeElement.addEventException(eventObj, exceptionObj);
1409
+ }
1410
+ else {
1411
+ this.nativeElement.whenRendered(() => {
1412
+ this.nativeElement.addEventException(eventObj, exceptionObj);
1413
+ });
1414
+ }
1415
+ }
1416
+ /** Updates an event exception of a repeating event. The exception occurences for a repeating event can be gathered via the following methods: occurencesoccurrencesBetweenoccurrenceAfteroccurrenceBefore. Example usage: scheduler.updateEventException(eventObj, dateOfOccurance, { dateStart: newDateStart, dateEnd: newDateEnd, label: 'Updated Exception' });
1417
+ * @param {any} eventObj. The index, id or an object reference of an existing repeating Scheduler event.
1418
+ * @param {any} exceptionRef. The index, id, an occurence date of the exception or an object reference of an existing Scheduler repeating event exception.
1419
+ * @param {any} exceptionObj. An event object that describes an exception. All attributes of an exception can be updated except the occurance date (the <b>date</b> attribute).
1420
+ */
1421
+ updateEventException(eventObj, exceptionRef, exceptionObj) {
1422
+ if (this.nativeElement.isRendered) {
1423
+ this.nativeElement.updateEventException(eventObj, exceptionRef, exceptionObj);
1424
+ }
1425
+ else {
1426
+ this.nativeElement.whenRendered(() => {
1427
+ this.nativeElement.updateEventException(eventObj, exceptionRef, exceptionObj);
1428
+ });
1429
+ }
1430
+ }
1431
+ /** Removes an exception from a repeating event.
1432
+ * @param {any} eventObj. The index, id or an object reference of an existing repeating Scheduler event.
1433
+ * @param {any} index. The index, id, occurance date or an object reference of an event exception that belongs to the target repeating event.
1434
+ */
1435
+ removeEventException(eventObj, index) {
1436
+ if (this.nativeElement.isRendered) {
1437
+ this.nativeElement.removeEventException(eventObj, index);
1438
+ }
1439
+ else {
1440
+ this.nativeElement.whenRendered(() => {
1441
+ this.nativeElement.removeEventException(eventObj, index);
1442
+ });
1443
+ }
1444
+ }
1445
+ /** Opens the popup Window for specific event Editing.
1446
+ * @param {any} index. A number that represents the index of a event or the actual event object to be edited.
1447
+ */
1448
+ openWindow(index) {
1449
+ if (this.nativeElement.isRendered) {
1450
+ this.nativeElement.openWindow(index);
1451
+ }
1452
+ else {
1453
+ this.nativeElement.whenRendered(() => {
1454
+ this.nativeElement.openWindow(index);
1455
+ });
1456
+ }
1457
+ }
1458
+ /** Closes the popup window.
1459
+ */
1460
+ closeWindow() {
1461
+ if (this.nativeElement.isRendered) {
1462
+ this.nativeElement.closeWindow();
1463
+ }
1464
+ else {
1465
+ this.nativeElement.whenRendered(() => {
1466
+ this.nativeElement.closeWindow();
1467
+ });
1468
+ }
1469
+ }
1470
+ /** Prepares the Scheduler for printing by opening the browser's Print Preview.
1471
+ */
1472
+ print() {
1473
+ if (this.nativeElement.isRendered) {
1474
+ this.nativeElement.print();
1475
+ }
1476
+ else {
1477
+ this.nativeElement.whenRendered(() => {
1478
+ this.nativeElement.print();
1479
+ });
1480
+ }
1481
+ }
1482
+ /** Scrolls the Scheduler to a Date.
1483
+ * @param {Date} date. The date to scroll to.
1484
+ * @param {boolean} strictScroll?. Determines whether to scroll strictly to the date or not. This mean sthat the Scheduler wll scroll to the begining of the cell that corresponds to the target date.
1485
+ * @param {boolean} autoScroll?. Calculates the scroll positions and element bounds, then adds an offset to scroll within the middle of the view.
1486
+ */
1487
+ scrollToDate(date, strictScroll, autoScroll) {
1488
+ if (this.nativeElement.isRendered) {
1489
+ this.nativeElement.scrollToDate(date, strictScroll, autoScroll);
1490
+ }
1491
+ else {
1492
+ this.nativeElement.whenRendered(() => {
1493
+ this.nativeElement.scrollToDate(date, strictScroll, autoScroll);
1494
+ });
1495
+ }
1496
+ }
1497
+ /** Navigates the Scheduler to a Date.
1498
+ * @param {Date} date. The date to navigate to.
1499
+ */
1500
+ navigateToDate(date) {
1501
+ if (this.nativeElement.isRendered) {
1502
+ this.nativeElement.navigateToDate(date);
1503
+ }
1504
+ else {
1505
+ this.nativeElement.whenRendered(() => {
1506
+ this.nativeElement.navigateToDate(date);
1507
+ });
1508
+ }
1509
+ }
1510
+ /** Scrolls the Scheduler to an event.
1511
+ * @param {any} index. The index of a Scheduler event or the actual event object to scroll to.
1512
+ */
1513
+ scrollToEvent(index) {
1514
+ if (this.nativeElement.isRendered) {
1515
+ this.nativeElement.scrollToEvent(index);
1516
+ }
1517
+ else {
1518
+ this.nativeElement.whenRendered(() => {
1519
+ this.nativeElement.scrollToEvent(index);
1520
+ });
1521
+ }
1522
+ }
1523
+ /** Opens a custom notification.
1524
+ * @param {string} message. The notification message.
1525
+ * @param {any} toastSettings. Smart.Toast settings to be applied to the Toast element when opening the notification.
1526
+ */
1527
+ openNotification(message, toastSettings) {
1528
+ if (this.nativeElement.isRendered) {
1529
+ this.nativeElement.openNotification(message, toastSettings);
1530
+ }
1531
+ else {
1532
+ this.nativeElement.whenRendered(() => {
1533
+ this.nativeElement.openNotification(message, toastSettings);
1534
+ });
1535
+ }
1536
+ }
1537
+ /** Closes all notifications.
1538
+ */
1539
+ closeNotifications() {
1540
+ if (this.nativeElement.isRendered) {
1541
+ this.nativeElement.closeNotifications();
1542
+ }
1543
+ else {
1544
+ this.nativeElement.whenRendered(() => {
1545
+ this.nativeElement.closeNotifications();
1546
+ });
1547
+ }
1548
+ }
1549
+ /** Returns all occurances of an event.
1550
+ * @param {any} eventObj. A Scheduler evnet object.
1551
+ * @param {number} count. The number of occurances to return. By default 100 date occurances of the event are returned.
1552
+ */
1553
+ occurrences(eventObj, count) {
1554
+ if (this.nativeElement.isRendered) {
1555
+ this.nativeElement.occurrences(eventObj, count);
1556
+ }
1557
+ else {
1558
+ this.nativeElement.whenRendered(() => {
1559
+ this.nativeElement.occurrences(eventObj, count);
1560
+ });
1561
+ }
1562
+ }
1563
+ /** Returns all occurances of an event between two dates.
1564
+ * @param {any} eventObj. A Scheduler event object.
1565
+ * @param {Date} dateFrom. The start date.
1566
+ * @param {Date} dateTo. The end date.
1567
+ */
1568
+ occurrencesBetween(eventObj, dateFrom, dateTo) {
1569
+ if (this.nativeElement.isRendered) {
1570
+ this.nativeElement.occurrencesBetween(eventObj, dateFrom, dateTo);
1571
+ }
1572
+ else {
1573
+ this.nativeElement.whenRendered(() => {
1574
+ this.nativeElement.occurrencesBetween(eventObj, dateFrom, dateTo);
1575
+ });
1576
+ }
1577
+ }
1578
+ /** Returns the first occurance of an event after a date.
1579
+ * @param {any} eventObj. A Scheduler event object.
1580
+ * @param {number} date. The date after which the first occurance of the event will be returned.
1581
+ */
1582
+ occurrenceAfter(eventObj, date) {
1583
+ if (this.nativeElement.isRendered) {
1584
+ this.nativeElement.occurrenceAfter(eventObj, date);
1585
+ }
1586
+ else {
1587
+ this.nativeElement.whenRendered(() => {
1588
+ this.nativeElement.occurrenceAfter(eventObj, date);
1589
+ });
1590
+ }
1591
+ }
1592
+ /** Returns the last occurance of an event before a date.
1593
+ * @param {any} eventObj. A Scheduler event object.
1594
+ * @param {number} date. The date before which the first occurance of the event will be returned.
1595
+ */
1596
+ occurrenceBefore(eventObj, date) {
1597
+ if (this.nativeElement.isRendered) {
1598
+ this.nativeElement.occurrenceBefore(eventObj, date);
1599
+ }
1600
+ else {
1601
+ this.nativeElement.whenRendered(() => {
1602
+ this.nativeElement.occurrenceBefore(eventObj, date);
1603
+ });
1604
+ }
1605
+ }
1606
+ /** Returns the dateStart/dateEnd of a timeline cell.
1607
+ * @param {HTMLElement} cell. A Scheduler timeline cell element.
1608
+ * @returns {any}
1609
+ */
1610
+ getCellDateRange(cell) {
1611
+ const result = this.nativeElement.getCellDateRange(cell);
1612
+ return result;
1613
+ }
1614
+ /** Opens the tooltip(event menu) for an event.
1615
+ * @param {any} eventObj. A Scheduler event object or it's index.
1616
+ */
1617
+ openEventTooltip(eventObj) {
1618
+ if (this.nativeElement.isRendered) {
1619
+ this.nativeElement.openEventTooltip(eventObj);
1620
+ }
1621
+ else {
1622
+ this.nativeElement.whenRendered(() => {
1623
+ this.nativeElement.openEventTooltip(eventObj);
1624
+ });
1625
+ }
1626
+ }
1627
+ /** Closes the event tooltip (event menu).
1628
+ */
1629
+ closeEventTooltip() {
1630
+ if (this.nativeElement.isRendered) {
1631
+ this.nativeElement.closeEventTooltip();
1632
+ }
1633
+ else {
1634
+ this.nativeElement.whenRendered(() => {
1635
+ this.nativeElement.closeEventTooltip();
1636
+ });
1637
+ }
1638
+ }
1639
+ /** Returns true or false whether the date is restricted or not.
1640
+ * @param {Date} date. A Date object.
1641
+ * @returns {boolean}
1642
+ */
1643
+ isDateRestricted(date) {
1644
+ const result = this.nativeElement.isDateRestricted(date);
1645
+ return result;
1646
+ }
1647
+ /** Returns true or false whether the hour is restricted or not.
1648
+ * @param {number | Date} hour. A number that represents an hour ( 0 to 23 ) or a Date object.
1649
+ * @returns {boolean}
1650
+ */
1651
+ isHourRestricted(hour) {
1652
+ const result = this.nativeElement.isHourRestricted(hour);
1653
+ return result;
1654
+ }
1655
+ /** Returns true or false whether the event is restricted or not.
1656
+ * @param {any} eventObj. A Scheduler event object or a direct event HTMLElement instance.
1657
+ * @returns {boolean}
1658
+ */
1659
+ isEventRestricted(eventObj) {
1660
+ const result = this.nativeElement.isEventRestricted(eventObj);
1661
+ return result;
1662
+ }
1663
+ /** Deletes the current undo/redo history.
1664
+ * @returns {boolean}
1665
+ */
1666
+ deleteUndoRedoHistory() {
1667
+ const result = this.nativeElement.deleteUndoRedoHistory();
1668
+ return result;
1669
+ }
1670
+ /** Indicates whether it is possible to redo an action.
1671
+ * @returns {boolean}
1672
+ */
1673
+ canRedo() {
1674
+ const result = this.nativeElement.canRedo();
1675
+ return result;
1676
+ }
1677
+ /** Indicates whether it is possbile to undo an action.
1678
+ * @returns {boolean}
1679
+ */
1680
+ canUndo() {
1681
+ const result = this.nativeElement.canUndo();
1682
+ return result;
1683
+ }
1684
+ /** Redo the next event modification.
1685
+ * @param {number} step?. A step to redo to.
1686
+ * @returns {boolean}
1687
+ */
1688
+ redo(step) {
1689
+ const result = this.nativeElement.redo(step);
1690
+ return result;
1691
+ }
1692
+ /** Undo the last event modification.
1693
+ * @param {number} step?. A step to undo to.
1694
+ * @returns {boolean}
1695
+ */
1696
+ undo(step) {
1697
+ const result = this.nativeElement.undo(step);
1698
+ return result;
1699
+ }
1700
+ componentDidRender(initialize) {
1701
+ const that = this;
1702
+ const props = {};
1703
+ const events = {};
1704
+ let styles = null;
1705
+ for (let prop in that.props) {
1706
+ if (prop === 'children') {
1707
+ continue;
1708
+ }
1709
+ if (prop === 'style') {
1710
+ styles = that.props[prop];
1711
+ continue;
1712
+ }
1713
+ if (prop.startsWith('on') && that.properties.indexOf(prop) === -1) {
1714
+ events[prop] = that.props[prop];
1715
+ continue;
1716
+ }
1717
+ props[prop] = that.props[prop];
1718
+ }
1719
+ if (initialize) {
1720
+ that.nativeElement = this.componentRef.current;
1721
+ }
1722
+ for (let prop in props) {
1723
+ if (prop === 'class' || prop === 'className') {
1724
+ const classNames = props[prop].trim().split(' ');
1725
+ for (let className in classNames) {
1726
+ if (!that.nativeElement.classList.contains(classNames[className]) && classNames[className] !== "") {
1727
+ that.nativeElement.classList.add(classNames[className]);
1728
+ }
1729
+ }
1730
+ continue;
1731
+ }
1732
+ if (props[prop] !== that.nativeElement[prop]) {
1733
+ const normalizeProp = (str) => {
1734
+ return str.replace(/-([a-z])/g, function (g) {
1735
+ return g[1].toUpperCase();
1736
+ });
1737
+ };
1738
+ if (prop === 'hover' || prop === 'active' || prop === 'focus' || prop === 'selected') {
1739
+ that.nativeElement.setAttribute(prop, '');
1740
+ }
1741
+ const normalizedProp = normalizeProp(prop);
1742
+ that.nativeElement[normalizedProp] = props[prop];
1743
+ }
1744
+ }
1745
+ for (let eventName in events) {
1746
+ that[eventName] = events[eventName];
1747
+ that.nativeElement[eventName.toLowerCase()] = events[eventName];
1748
+ }
1749
+ if (initialize) {
1750
+ Smart.Render();
1751
+ if (that.onCreate) {
1752
+ that.onCreate();
1753
+ }
1754
+ that.nativeElement.whenRendered(() => {
1755
+ if (that.onReady) {
1756
+ that.onReady();
1757
+ }
1758
+ });
1759
+ }
1760
+ // setup styles.
1761
+ if (styles) {
1762
+ for (let styleName in styles) {
1763
+ that.nativeElement.style[styleName] = styles[styleName];
1764
+ }
1765
+ }
1766
+ }
1767
+ componentDidMount() {
1768
+ this.componentDidRender(true);
1769
+ }
1770
+ componentDidUpdate() {
1771
+ this.componentDidRender(false);
1772
+ }
1773
+ componentWillUnmount() {
1774
+ const that = this;
1775
+ if (!that.nativeElement) {
1776
+ return;
1777
+ }
1778
+ that.nativeElement.whenRenderedCallbacks = [];
1779
+ for (let i = 0; i < that.eventListeners.length; i++) {
1780
+ const eventName = that.eventListeners[i];
1781
+ that.nativeElement.removeEventListener(eventName.substring(2).toLowerCase(), that[eventName]);
1782
+ }
1783
+ }
1784
+ render() {
1785
+ return (React.createElement("smart-scheduler", { ref: this.componentRef }, this.props.children));
1786
+ }
1787
+ }
38
1788
 
39
- const Smart = window.Smart;
40
- /**
41
- Scheduler displays a set ot Events in Day, Week, Month, Agenda, Timeline Day, Timeline Week, Timeline Month views.
42
- */
43
- class Scheduler extends React.Component {
44
- constructor(props) {
45
- super(props);
46
- this.componentRef = React.createRef();
47
- }
48
- // Gets the id of the React component.
49
- get id() {
50
- if (!this._id) {
51
- this._id = 'Scheduler' + Math.floor((1 + Math.random()) * 0x10000).toString(16).substring(1);
52
- }
53
- return this._id;
54
- }
55
- /** Determines the scroll speed while dragging an event.
56
- * Property type: number
57
- */
58
- get autoScrollStep() {
59
- return this.nativeElement ? this.nativeElement.autoScrollStep : undefined;
60
- }
61
- set autoScrollStep(value) {
62
- if (this.nativeElement) {
63
- this.nativeElement.autoScrollStep = value;
64
- }
65
- }
66
- /** Determines whether the all day cells in Day and Week views automatically change their height depending on the events count in these cells.
67
- * Property type: boolean
68
- */
69
- get autoHeightAllDayCells() {
70
- return this.nativeElement ? this.nativeElement.autoHeightAllDayCells : undefined;
71
- }
72
- set autoHeightAllDayCells(value) {
73
- if (this.nativeElement) {
74
- this.nativeElement.autoHeightAllDayCells = value;
75
- }
76
- }
77
- /** Determines the color scheme for the event background selector in the event window editor.
78
- * Property type: string[]
79
- */
80
- get colorScheme() {
81
- return this.nativeElement ? this.nativeElement.colorScheme : undefined;
82
- }
83
- set colorScheme(value) {
84
- if (this.nativeElement) {
85
- this.nativeElement.colorScheme = value;
86
- }
87
- }
88
- /** Enables/Disables the current time indicator. Current time indicator shows the current time in the appropriate view cells.
89
- * Property type: boolean
90
- */
91
- get currentTimeIndicator() {
92
- return this.nativeElement ? this.nativeElement.currentTimeIndicator : undefined;
93
- }
94
- set currentTimeIndicator(value) {
95
- if (this.nativeElement) {
96
- this.nativeElement.currentTimeIndicator = value;
97
- }
98
- }
99
- /** Determines the refresh interval in seconds for the currentTimeIndicator.
100
- * Property type: number
101
- */
102
- get currentTimeIndicatorInterval() {
103
- return this.nativeElement ? this.nativeElement.currentTimeIndicatorInterval : undefined;
104
- }
105
- set currentTimeIndicatorInterval(value) {
106
- if (this.nativeElement) {
107
- this.nativeElement.currentTimeIndicatorInterval = value;
108
- }
109
- }
110
- /** Determines the context menu items that are visible when the Context Menu is opened.
111
- * Property type: any[]
112
- */
113
- get contextMenuDataSource() {
114
- return this.nativeElement ? this.nativeElement.contextMenuDataSource : undefined;
115
- }
116
- set contextMenuDataSource(value) {
117
- if (this.nativeElement) {
118
- this.nativeElement.contextMenuDataSource = value;
119
- }
120
- }
121
- /** Determines whether the clipboard shortcuts for copy/paste/cut action of events are visible in the Scheduler context menu or not.
122
- * Property type: boolean
123
- */
124
- get contextMenuClipboardActions() {
125
- return this.nativeElement ? this.nativeElement.contextMenuClipboardActions : undefined;
126
- }
127
- set contextMenuClipboardActions(value) {
128
- if (this.nativeElement) {
129
- this.nativeElement.contextMenuClipboardActions = value;
130
- }
131
- }
132
- /** Allows to customize the content of the event elements. It can be an HTMLTemplateElement that will be applied to all events or it's id as a string or a function that will be called for each event with the following parameters: eventContent - the content holder for the event,eventObj - the event object.. When using an HTMLTemplateElement it's possible to add property bindings inside the template that will be mapped to the corresponding object properties.
133
- * Property type: any
134
- */
135
- get eventTemplate() {
136
- return this.nativeElement ? this.nativeElement.eventTemplate : undefined;
137
- }
138
- set eventTemplate(value) {
139
- if (this.nativeElement) {
140
- this.nativeElement.eventTemplate = value;
141
- }
142
- }
143
- /** Allows to customize the content of the event collector elements. It can be an HTMLTemplateElement that will be applied to all events or it's id as a string or a function that will be called for each event with the following parameters: eventContent - the content holder for the event,eventObj - the event object.. When using an HTMLTemplateElement it's possible to add property bindings inside the template that will be mapped to the corresponding object properties.
144
- * Property type: any
145
- */
146
- get eventCollectorTemplate() {
147
- return this.nativeElement ? this.nativeElement.eventCollectorTemplate : undefined;
148
- }
149
- set eventCollectorTemplate(value) {
150
- if (this.nativeElement) {
151
- this.nativeElement.eventCollectorTemplate = value;
152
- }
153
- }
154
- /** Determines how the events inside the Scheduler are rendered.classic - the events are arranged next to each other and try to fit inside the cells.modern - the events obey the CSS property that determines their size and if there's not enough space inside the cell for all events to appear, an event collector is created to hold the rest of the events. On mobile phones only collectors are created.
155
- * Property type: SchedulerEventRenderMode | string
156
- */
157
- get eventRenderMode() {
158
- return this.nativeElement ? this.nativeElement.eventRenderMode : undefined;
159
- }
160
- set eventRenderMode(value) {
161
- if (this.nativeElement) {
162
- this.nativeElement.eventRenderMode = value;
163
- }
164
- }
165
- /** Allows to customize the content of the event menu items (tooltip). When clicked on an event element an event menu with details opens. It can be an HTMLTemplateElement that will be applied to all events or it's id as a string or a function that will be called for each event with the following parameters: eventContent - the content holder for the event,eventObj - the event object.. When using an HTMLTemplateElement it's possible to add property bindings inside the template that will be mapped to the corresponding object properties.
166
- * Property type: any
167
- */
168
- get eventTooltipTemplate() {
169
- return this.nativeElement ? this.nativeElement.eventTooltipTemplate : undefined;
170
- }
171
- set eventTooltipTemplate(value) {
172
- if (this.nativeElement) {
173
- this.nativeElement.eventTooltipTemplate = value;
174
- }
175
- }
176
- /** Allows to customize the content of the timeline cells. It can be an HTMLTemplateElement that will be applied to all cells or it's id as a string or a function that will be called for each cell with the following parameters: cellContent - the content holder for the cell,cellDate - the cell date.. When using an HTMLTemplateElement it's possible to add property bindings inside the template that will be mapped to the value of the cell.
177
- * Property type: any
178
- */
179
- get cellTemplate() {
180
- return this.nativeElement ? this.nativeElement.cellTemplate : undefined;
181
- }
182
- set cellTemplate(value) {
183
- if (this.nativeElement) {
184
- this.nativeElement.cellTemplate = value;
185
- }
186
- }
187
- /** Determines the currently visible date for the Scheduler.
188
- * Property type: string | Date
189
- */
190
- get dateCurrent() {
191
- return this.nativeElement ? this.nativeElement.dateCurrent : undefined;
192
- }
193
- set dateCurrent(value) {
194
- if (this.nativeElement) {
195
- this.nativeElement.dateCurrent = value;
196
- }
197
- }
198
- /** Sets the Schedulers's Data Export options.
199
- * Property type: SchedulerDataExport
200
- */
201
- get dataExport() {
202
- return this.nativeElement ? this.nativeElement.dataExport : undefined;
203
- }
204
- set dataExport(value) {
205
- if (this.nativeElement) {
206
- this.nativeElement.dataExport = value;
207
- }
208
- }
209
- /** Determines the events that will be loaded inside the Timeline. Each event represents an object that should contain the following properties:
210
- * Property type: SchedulerEvent[]
211
- */
212
- get dataSource() {
213
- return this.nativeElement ? this.nativeElement.dataSource : undefined;
214
- }
215
- set dataSource(value) {
216
- if (this.nativeElement) {
217
- this.nativeElement.dataSource = value;
218
- }
219
- }
220
- /** A callback that can be used to customize the text inside the date selector located in the header. The callback has one parameter - the current date.
221
- * Property type: any
222
- */
223
- get dateSelectorFormatFunction() {
224
- return this.nativeElement ? this.nativeElement.dateSelectorFormatFunction : undefined;
225
- }
226
- set dateSelectorFormatFunction(value) {
227
- if (this.nativeElement) {
228
- this.nativeElement.dateSelectorFormatFunction = value;
229
- }
230
- }
231
- /** Determines the day format of the dates in the timeline.
232
- * Property type: SchedulerDayFormat | string
233
- */
234
- get dayFormat() {
235
- return this.nativeElement ? this.nativeElement.dayFormat : undefined;
236
- }
237
- set dayFormat(value) {
238
- if (this.nativeElement) {
239
- this.nativeElement.dayFormat = value;
240
- }
241
- }
242
- /** Enables or disables the element.
243
- * Property type: boolean
244
- */
245
- get disabled() {
246
- return this.nativeElement ? this.nativeElement.disabled : undefined;
247
- }
248
- set disabled(value) {
249
- if (this.nativeElement) {
250
- this.nativeElement.disabled = value;
251
- }
252
- }
253
- /** Disables auto scrolling of the timeline while dragging/resizing an event.
254
- * Property type: boolean
255
- */
256
- get disableAutoScroll() {
257
- return this.nativeElement ? this.nativeElement.disableAutoScroll : undefined;
258
- }
259
- set disableAutoScroll(value) {
260
- if (this.nativeElement) {
261
- this.nativeElement.disableAutoScroll = value;
262
- }
263
- }
264
- /** Disables dragging of events.
265
- * Property type: boolean
266
- */
267
- get disableDrag() {
268
- return this.nativeElement ? this.nativeElement.disableDrag : undefined;
269
- }
270
- set disableDrag(value) {
271
- if (this.nativeElement) {
272
- this.nativeElement.disableDrag = value;
273
- }
274
- }
275
- /** Disables dropping of events.
276
- * Property type: boolean
277
- */
278
- get disableDrop() {
279
- return this.nativeElement ? this.nativeElement.disableDrop : undefined;
280
- }
281
- set disableDrop(value) {
282
- if (this.nativeElement) {
283
- this.nativeElement.disableDrop = value;
284
- }
285
- }
286
- /** Disables resizing of events.
287
- * Property type: boolean
288
- */
289
- get disableResize() {
290
- return this.nativeElement ? this.nativeElement.disableResize : undefined;
291
- }
292
- set disableResize(value) {
293
- if (this.nativeElement) {
294
- this.nativeElement.disableResize = value;
295
- }
296
- }
297
- /** Disables the cell selection.
298
- * Property type: boolean
299
- */
300
- get disableSelection() {
301
- return this.nativeElement ? this.nativeElement.disableSelection : undefined;
302
- }
303
- set disableSelection(value) {
304
- if (this.nativeElement) {
305
- this.nativeElement.disableSelection = value;
306
- }
307
- }
308
- /** Disables the window editor for the events.
309
- * Property type: boolean
310
- */
311
- get disableWindowEditor() {
312
- return this.nativeElement ? this.nativeElement.disableWindowEditor : undefined;
313
- }
314
- set disableWindowEditor(value) {
315
- if (this.nativeElement) {
316
- this.nativeElement.disableWindowEditor = value;
317
- }
318
- }
319
- /** Disables the context menu of the events and cells.
320
- * Property type: boolean
321
- */
322
- get disableContextMenu() {
323
- return this.nativeElement ? this.nativeElement.disableContextMenu : undefined;
324
- }
325
- set disableContextMenu(value) {
326
- if (this.nativeElement) {
327
- this.nativeElement.disableContextMenu = value;
328
- }
329
- }
330
- /** Disables the event menu that appears when an event/collector has been clicked.
331
- * Property type: boolean
332
- */
333
- get disableEventMenu() {
334
- return this.nativeElement ? this.nativeElement.disableEventMenu : undefined;
335
- }
336
- set disableEventMenu(value) {
337
- if (this.nativeElement) {
338
- this.nativeElement.disableEventMenu = value;
339
- }
340
- }
341
- /** Disables the view menu that allows to select the current Scheduler view.
342
- * Property type: boolean
343
- */
344
- get disableViewMenu() {
345
- return this.nativeElement ? this.nativeElement.disableViewMenu : undefined;
346
- }
347
- set disableViewMenu(value) {
348
- if (this.nativeElement) {
349
- this.nativeElement.disableViewMenu = value;
350
- }
351
- }
352
- /** Disables the date menu that allows to select the current Scheduler date.
353
- * Property type: boolean
354
- */
355
- get disableDateMenu() {
356
- return this.nativeElement ? this.nativeElement.disableDateMenu : undefined;
357
- }
358
- set disableDateMenu(value) {
359
- if (this.nativeElement) {
360
- this.nativeElement.disableDateMenu = value;
361
- }
362
- }
363
- /** A callback that can be used to customize the drag feedback that appears when an event is dragged.
364
- * Property type: any
365
- */
366
- get dragFeedbackFormatFunction() {
367
- return this.nativeElement ? this.nativeElement.dragFeedbackFormatFunction : undefined;
368
- }
369
- set dragFeedbackFormatFunction(value) {
370
- if (this.nativeElement) {
371
- this.nativeElement.dragFeedbackFormatFunction = value;
372
- }
373
- }
374
- /** Determines the offset for the drag feedback from the pointer.
375
- * Property type: any
376
- */
377
- get dragOffset() {
378
- return this.nativeElement ? this.nativeElement.dragOffset : undefined;
379
- }
380
- set dragOffset(value) {
381
- if (this.nativeElement) {
382
- this.nativeElement.dragOffset = value;
383
- }
384
- }
385
- /** Determines the filtering condition for the events.The filter property takes an array of objects or a function. Each object represents a single filtering condition with the following attributes: name - the name of the Scheduler event property that will be filtered by.value - the filtering condition value. The value will be used to compare the events based on the filterMode, for example: [{ name: 'price', value: 25 }]. The value can also be a function. The function accepts a single arguemnt - the value that corresponds to the filtered attribute. The function allows to apply custom condition that is different from the default filter modes. It should return true ( if the evnet passes the filtering condition ) or false ( if the event does not meet the filtering condition ). Here's an example: [{ name: 'roomId', value: (id) => ['2', '3'].indexOf(id + '') > -1 }]. In the example the events that do not have a 'roomId' property that is equal to '2' or '3' will be filtered out.. If a function is set to the filter property instead, it allows to completely customize the filtering logic. The function passes a single argument - each Scheduler event that will be displayed. The function should return true ( if the condition is met ) or false ( if not ).
386
- * Property type: any
387
- */
388
- get filter() {
389
- return this.nativeElement ? this.nativeElement.filter : undefined;
390
- }
391
- set filter(value) {
392
- if (this.nativeElement) {
393
- this.nativeElement.filter = value;
394
- }
395
- }
396
- /** Determines whether Scheduler's filtering is enabled or not.
397
- * Property type: any
398
- */
399
- get filterable() {
400
- return this.nativeElement ? this.nativeElement.filterable : undefined;
401
- }
402
- set filterable(value) {
403
- if (this.nativeElement) {
404
- this.nativeElement.filterable = value;
405
- }
406
- }
407
- /** Determines the filter mode.
408
- * Property type: FilterMode | string
409
- */
410
- get filterMode() {
411
- return this.nativeElement ? this.nativeElement.filterMode : undefined;
412
- }
413
- set filterMode(value) {
414
- if (this.nativeElement) {
415
- this.nativeElement.filterMode = value;
416
- }
417
- }
418
- /** A getter that returns an array of all Scheduler events.
419
- * Property type: SchedulerEvent[]
420
- */
421
- get events() {
422
- return this.nativeElement ? this.nativeElement.events : undefined;
423
- }
424
- set events(value) {
425
- if (this.nativeElement) {
426
- this.nativeElement.events = value;
427
- }
428
- }
429
- /** Determines the first day of week for the Scheduler. By default it's Sunday.
430
- * Property type: number
431
- */
432
- get firstDayOfWeek() {
433
- return this.nativeElement ? this.nativeElement.firstDayOfWeek : undefined;
434
- }
435
- set firstDayOfWeek(value) {
436
- if (this.nativeElement) {
437
- this.nativeElement.firstDayOfWeek = value;
438
- }
439
- }
440
- /** Allows to customize the footer of the Scheduler. It can be an HTMLTemplateElement, it's id as a string or a function with the following parameters: footerContainer - the footer container..
441
- * Property type: any
442
- */
443
- get footerTemplate() {
444
- return this.nativeElement ? this.nativeElement.footerTemplate : undefined;
445
- }
446
- set footerTemplate(value) {
447
- if (this.nativeElement) {
448
- this.nativeElement.footerTemplate = value;
449
- }
450
- }
451
- /** Determines whether the events will be grouped by date.
452
- * Property type: boolean
453
- */
454
- get groupByDate() {
455
- return this.nativeElement ? this.nativeElement.groupByDate : undefined;
456
- }
457
- set groupByDate(value) {
458
- if (this.nativeElement) {
459
- this.nativeElement.groupByDate = value;
460
- }
461
- }
462
- /** Determines the grouping orientation.
463
- * Property type: SchedulerGroupOrientation | string
464
- */
465
- get groupOrientation() {
466
- return this.nativeElement ? this.nativeElement.groupOrientation : undefined;
467
- }
468
- set groupOrientation(value) {
469
- if (this.nativeElement) {
470
- this.nativeElement.groupOrientation = value;
471
- }
472
- }
473
- /** Allows to customize the content of the group cells that are visible inside the header. It can be an HTMLTemplateElement that will be applied to all cells or it's id as a string or a function that will be called for each group cell with the following parameters: cellContent - the content holder for the group cell.cellObj - the group cell object.. When using an HTMLTemplateElement it's possible to add property bindings inside the template that will be mapped to the corresponding object properties.
474
- * Property type: any
475
- */
476
- get groupTemplate() {
477
- return this.nativeElement ? this.nativeElement.groupTemplate : undefined;
478
- }
479
- set groupTemplate(value) {
480
- if (this.nativeElement) {
481
- this.nativeElement.groupTemplate = value;
482
- }
483
- }
484
- /** Determines the resources that the events are grouped by.
485
- * Property type: any
486
- */
487
- get groups() {
488
- return this.nativeElement ? this.nativeElement.groups : undefined;
489
- }
490
- set groups(value) {
491
- if (this.nativeElement) {
492
- this.nativeElement.groups = value;
493
- }
494
- }
495
- /** Determines the end hour that will be displayed in 'day' and 'week' views.
496
- * Property type: number
497
- */
498
- get hourEnd() {
499
- return this.nativeElement ? this.nativeElement.hourEnd : undefined;
500
- }
501
- set hourEnd(value) {
502
- if (this.nativeElement) {
503
- this.nativeElement.hourEnd = value;
504
- }
505
- }
506
- /** Determines the start hour that will be displayed in 'day' and 'week' views.
507
- * Property type: number
508
- */
509
- get hourStart() {
510
- return this.nativeElement ? this.nativeElement.hourStart : undefined;
511
- }
512
- set hourStart(value) {
513
- if (this.nativeElement) {
514
- this.nativeElement.hourStart = value;
515
- }
516
- }
517
- /** Determines the formatting of hours inside the element.
518
- * Property type: SchedulerHourFormat | string
519
- */
520
- get hourFormat() {
521
- return this.nativeElement ? this.nativeElement.hourFormat : undefined;
522
- }
523
- set hourFormat(value) {
524
- if (this.nativeElement) {
525
- this.nativeElement.hourFormat = value;
526
- }
527
- }
528
- /** Allows to customize the header of the Scheduler. It can be an HTMLTemplateElement, it's id as a string or a function with the following parameters: headerContent - the header container..
529
- * Property type: any
530
- */
531
- get headerTemplate() {
532
- return this.nativeElement ? this.nativeElement.headerTemplate : undefined;
533
- }
534
- set headerTemplate(value) {
535
- if (this.nativeElement) {
536
- this.nativeElement.headerTemplate = value;
537
- }
538
- }
539
- /** Determines the position of the Date selector inside the Header of the element.
540
- * Property type: SchedulerHeaderDatePosition | string
541
- */
542
- get headerDatePosition() {
543
- return this.nativeElement ? this.nativeElement.headerDatePosition : undefined;
544
- }
545
- set headerDatePosition(value) {
546
- if (this.nativeElement) {
547
- this.nativeElement.headerDatePosition = value;
548
- }
549
- }
550
- /** Determines the styling of the Header navigation controls.
551
- * Property type: SchedulerHeaderNavigationStyle | string
552
- */
553
- get headerNavigationStyle() {
554
- return this.nativeElement ? this.nativeElement.headerNavigationStyle : undefined;
555
- }
556
- set headerNavigationStyle(value) {
557
- if (this.nativeElement) {
558
- this.nativeElement.headerNavigationStyle = value;
559
- }
560
- }
561
- /** Determines the position of the view selector control inside the Header of the element.
562
- * Property type: SchedulerHeaderViewPosition | string
563
- */
564
- get headerViewPosition() {
565
- return this.nativeElement ? this.nativeElement.headerViewPosition : undefined;
566
- }
567
- set headerViewPosition(value) {
568
- if (this.nativeElement) {
569
- this.nativeElement.headerViewPosition = value;
570
- }
571
- }
572
- /** Determines whether the 'All Day' container with the all day events is hidden or not.
573
- * Property type: boolean
574
- */
575
- get hideAllDay() {
576
- return this.nativeElement ? this.nativeElement.hideAllDay : undefined;
577
- }
578
- set hideAllDay(value) {
579
- if (this.nativeElement) {
580
- this.nativeElement.hideAllDay = value;
581
- }
582
- }
583
- /** Determines whether the days set by 'nonworkingDays' property are hidden or not.
584
- * Property type: boolean
585
- */
586
- get hideNonworkingWeekdays() {
587
- return this.nativeElement ? this.nativeElement.hideNonworkingWeekdays : undefined;
588
- }
589
- set hideNonworkingWeekdays(value) {
590
- if (this.nativeElement) {
591
- this.nativeElement.hideNonworkingWeekdays = value;
592
- }
593
- }
594
- /** Determines whether other month days are visible when view is set to month. When enabled, events that start on other month days are not displayed and the cells that represent such days do not allow the creation of new events on them. Also dragging and droping an event on other month days is not allowed. Reszing is also affected. Events can end on other month days, but cannot start on one.
595
- * Property type: boolean
596
- */
597
- get hideOtherMonthDays() {
598
- return this.nativeElement ? this.nativeElement.hideOtherMonthDays : undefined;
599
- }
600
- set hideOtherMonthDays(value) {
601
- if (this.nativeElement) {
602
- this.nativeElement.hideOtherMonthDays = value;
603
- }
604
- }
605
- /** Determines whether the 'Today' button is hidden or not.
606
- * Property type: boolean
607
- */
608
- get hideTodayButton() {
609
- return this.nativeElement ? this.nativeElement.hideTodayButton : undefined;
610
- }
611
- set hideTodayButton(value) {
612
- if (this.nativeElement) {
613
- this.nativeElement.hideTodayButton = value;
614
- }
615
- }
616
- /** Determines whether the checkable items in the view selection menu are hidden or not.
617
- * Property type: boolean
618
- */
619
- get hideViewMenuCheckableItems() {
620
- return this.nativeElement ? this.nativeElement.hideViewMenuCheckableItems : undefined;
621
- }
622
- set hideViewMenuCheckableItems(value) {
623
- if (this.nativeElement) {
624
- this.nativeElement.hideViewMenuCheckableItems = value;
625
- }
626
- }
627
- /** Determines whether the weekend days are hidden or not.
628
- * Property type: boolean
629
- */
630
- get hideWeekend() {
631
- return this.nativeElement ? this.nativeElement.hideWeekend : undefined;
632
- }
633
- set hideWeekend(value) {
634
- if (this.nativeElement) {
635
- this.nativeElement.hideWeekend = value;
636
- }
637
- }
638
- /** Determines the location of the legend inside the Scheduler. By default the location is inside the footer but it can also reside in the header.
639
- * Property type: SchedulerLegendLocation | string
640
- */
641
- get legendLocation() {
642
- return this.nativeElement ? this.nativeElement.legendLocation : undefined;
643
- }
644
- set legendLocation(value) {
645
- if (this.nativeElement) {
646
- this.nativeElement.legendLocation = value;
647
- }
648
- }
649
- /** Determines the position of the legend. By default it's positioned to the near side but setting it to 'far' will change that.
650
- * Property type: SchedulerLegendPosition | string
651
- */
652
- get legendPosition() {
653
- return this.nativeElement ? this.nativeElement.legendPosition : undefined;
654
- }
655
- set legendPosition(value) {
656
- if (this.nativeElement) {
657
- this.nativeElement.legendPosition = value;
658
- }
659
- }
660
- /** Determines the mouse wheel step. When this property is set to a positive number, the scroll step with mouse wheel or trackpad will depend on the property value.
661
- * Property type: number
662
- */
663
- get mouseWheelStep() {
664
- return this.nativeElement ? this.nativeElement.mouseWheelStep : undefined;
665
- }
666
- set mouseWheelStep(value) {
667
- if (this.nativeElement) {
668
- this.nativeElement.mouseWheelStep = value;
669
- }
670
- }
671
- /** Determines weather or not horizontal scrollbar is shown.
672
- * Property type: HorizontalScrollBarVisibility | string
673
- */
674
- get horizontalScrollBarVisibility() {
675
- return this.nativeElement ? this.nativeElement.horizontalScrollBarVisibility : undefined;
676
- }
677
- set horizontalScrollBarVisibility(value) {
678
- if (this.nativeElement) {
679
- this.nativeElement.horizontalScrollBarVisibility = value;
680
- }
681
- }
682
- /** Determines the language of the Scheduler.
683
- * Property type: string
684
- */
685
- get locale() {
686
- return this.nativeElement ? this.nativeElement.locale : undefined;
687
- }
688
- set locale(value) {
689
- if (this.nativeElement) {
690
- this.nativeElement.locale = value;
691
- }
692
- }
693
- /** Detetmines the maximum view date for the Scheduler.
694
- * Property type: string | Date
695
- */
696
- get max() {
697
- return this.nativeElement ? this.nativeElement.max : undefined;
698
- }
699
- set max(value) {
700
- if (this.nativeElement) {
701
- this.nativeElement.max = value;
702
- }
703
- }
704
- /** Detetmines the maximum number of events per Scheduler cell. By default this property is null which means that the number of events per cell is automatically determined by the size of the events.
705
- * Property type: number | null
706
- */
707
- get maxEventsPerCell() {
708
- return this.nativeElement ? this.nativeElement.maxEventsPerCell : undefined;
709
- }
710
- set maxEventsPerCell(value) {
711
- if (this.nativeElement) {
712
- this.nativeElement.maxEventsPerCell = value;
713
- }
714
- }
715
- /** Detetmines the minimum view date for the Scheduler.
716
- * Property type: string | Date
717
- */
718
- get min() {
719
- return this.nativeElement ? this.nativeElement.min : undefined;
720
- }
721
- set min(value) {
722
- if (this.nativeElement) {
723
- this.nativeElement.min = value;
724
- }
725
- }
726
- /** Sets or gets an object specifying strings used in the element that can be localized. Used in conjunction with the property locale.
727
- * Property type: any
728
- */
729
- get messages() {
730
- return this.nativeElement ? this.nativeElement.messages : undefined;
731
- }
732
- set messages(value) {
733
- if (this.nativeElement) {
734
- this.nativeElement.messages = value;
735
- }
736
- }
737
- /** Determines the minute formatting inside the Scheduler.
738
- * Property type: MinuteFormat | string
739
- */
740
- get minuteFormat() {
741
- return this.nativeElement ? this.nativeElement.minuteFormat : undefined;
742
- }
743
- set minuteFormat(value) {
744
- if (this.nativeElement) {
745
- this.nativeElement.minuteFormat = value;
746
- }
747
- }
748
- /** Determines the month name formatting inside the Scheduler.
749
- * Property type: MonthFormat | string
750
- */
751
- get monthFormat() {
752
- return this.nativeElement ? this.nativeElement.monthFormat : undefined;
753
- }
754
- set monthFormat(value) {
755
- if (this.nativeElement) {
756
- this.nativeElement.monthFormat = value;
757
- }
758
- }
759
- /** Determines the nonworking days of the week from 0 to 6, where 0 is the first day of the week and 6 is the last day. Nonworking days will be colored differently inside the Timeline. The color is determined by a CSS variable.
760
- * Property type: any
761
- */
762
- get nonworkingDays() {
763
- return this.nativeElement ? this.nativeElement.nonworkingDays : undefined;
764
- }
765
- set nonworkingDays(value) {
766
- if (this.nativeElement) {
767
- this.nativeElement.nonworkingDays = value;
768
- }
769
- }
770
- /** Determines the nonworking hours of the day. Hours are represented as numbers inside an array, however ranges of hours can be defined as an array with starting and ending hour separated by a comma. In the timline the cells that represent nonworking days are colored differently from the rest.
771
- * Property type: any
772
- */
773
- get nonworkingHours() {
774
- return this.nativeElement ? this.nativeElement.nonworkingHours : undefined;
775
- }
776
- set nonworkingHours(value) {
777
- if (this.nativeElement) {
778
- this.nativeElement.nonworkingHours = value;
779
- }
780
- }
781
- /** Determines the interval (in seconds) at which the element will check for notifications.
782
- * Property type: number
783
- */
784
- get notificationInterval() {
785
- return this.nativeElement ? this.nativeElement.notificationInterval : undefined;
786
- }
787
- set notificationInterval(value) {
788
- if (this.nativeElement) {
789
- this.nativeElement.notificationInterval = value;
790
- }
791
- }
792
- /** Determines the visibility of the resize handles.
793
- * Property type: ResizeHandlesVisibility | string
794
- */
795
- get resizeHandlesVisibility() {
796
- return this.nativeElement ? this.nativeElement.resizeHandlesVisibility : undefined;
797
- }
798
- set resizeHandlesVisibility(value) {
799
- if (this.nativeElement) {
800
- this.nativeElement.resizeHandlesVisibility = value;
801
- }
802
- }
803
- /** Determines the rate at which the element will refresh it's content on element resize. By default it's refresh immediately. This property is used for element resize throttling
804
- * Property type: number
805
- */
806
- get resizeInterval() {
807
- return this.nativeElement ? this.nativeElement.resizeInterval : undefined;
808
- }
809
- set resizeInterval(value) {
810
- if (this.nativeElement) {
811
- this.nativeElement.resizeInterval = value;
812
- }
813
- }
814
- /** An array of resources that can be assigned to the events.
815
- * Property type: SchedulerResource[]
816
- */
817
- get resources() {
818
- return this.nativeElement ? this.nativeElement.resources : undefined;
819
- }
820
- set resources(value) {
821
- if (this.nativeElement) {
822
- this.nativeElement.resources = value;
823
- }
824
- }
825
- /** Defines an array of dates that are not allowed to have events on. Events that overlap restricted Dates or start/end on them will not be displayed.
826
- * Property type: any
827
- */
828
- get restrictedDates() {
829
- return this.nativeElement ? this.nativeElement.restrictedDates : undefined;
830
- }
831
- set restrictedDates(value) {
832
- if (this.nativeElement) {
833
- this.nativeElement.restrictedDates = value;
834
- }
835
- }
836
- /** Defines an array of hours that are not allowed to have events on. Events that overlap restricted Hours or start/end on them will not be displayed.
837
- * Property type: any
838
- */
839
- get restrictedHours() {
840
- return this.nativeElement ? this.nativeElement.restrictedHours : undefined;
841
- }
842
- set restrictedHours(value) {
843
- if (this.nativeElement) {
844
- this.nativeElement.restrictedHours = value;
845
- }
846
- }
847
- /** Sets or gets the value indicating whether the element is aligned to support locales using right-to-left fonts.
848
- * Property type: boolean
849
- */
850
- get rightToLeft() {
851
- return this.nativeElement ? this.nativeElement.rightToLeft : undefined;
852
- }
853
- set rightToLeft(value) {
854
- if (this.nativeElement) {
855
- this.nativeElement.rightToLeft = value;
856
- }
857
- }
858
- /** Determines the position of the date navigation navigation buttons inside the header of the element.
859
- * Property type: SchedulerScrollButtonsPosition | string
860
- */
861
- get scrollButtonsPosition() {
862
- return this.nativeElement ? this.nativeElement.scrollButtonsPosition : undefined;
863
- }
864
- set scrollButtonsPosition(value) {
865
- if (this.nativeElement) {
866
- this.nativeElement.scrollButtonsPosition = value;
867
- }
868
- }
869
- /** Enables/Disables the current time shader. If enabled all cells that represent past time will be shaded.
870
- * Property type: boolean
871
- */
872
- get shadeUntilCurrentTime() {
873
- return this.nativeElement ? this.nativeElement.shadeUntilCurrentTime : undefined;
874
- }
875
- set shadeUntilCurrentTime(value) {
876
- if (this.nativeElement) {
877
- this.nativeElement.shadeUntilCurrentTime = value;
878
- }
879
- }
880
- /** Determines whether the resource legend is visible or not. The Legend shows the resources and their items in the footer section of the Scheduler. If filterable is enabled it is possible to filter by resource items by clicking on the corresponding resource item from the legend.
881
- * Property type: boolean
882
- */
883
- get showLegend() {
884
- return this.nativeElement ? this.nativeElement.showLegend : undefined;
885
- }
886
- set showLegend(value) {
887
- if (this.nativeElement) {
888
- this.nativeElement.showLegend = value;
889
- }
890
- }
891
- /** Determines the name of the resource data item property that will be used for sorting the resource data defined as the resource.dataSource.
892
- * Property type: string
893
- */
894
- get sortBy() {
895
- return this.nativeElement ? this.nativeElement.sortBy : undefined;
896
- }
897
- set sortBy(value) {
898
- if (this.nativeElement) {
899
- this.nativeElement.sortBy = value;
900
- }
901
- }
902
- /** Allows to define a custom sorting function that will be used to sort the resource data. The sortFunction is used when sortOrder is set to custom.
903
- * Property type: any
904
- */
905
- get sortFunction() {
906
- return this.nativeElement ? this.nativeElement.sortFunction : undefined;
907
- }
908
- set sortFunction(value) {
909
- if (this.nativeElement) {
910
- this.nativeElement.sortFunction = value;
911
- }
912
- }
913
- /** Determines the sorting order of the resource data items. When set to custom, a custom sorting function has to be defined for the sortFunction property. The asc stands for 'ascending' while desc means 'descending' sorting order.
914
- * Property type: SchedulerSortOrder | string
915
- */
916
- get sortOrder() {
917
- return this.nativeElement ? this.nativeElement.sortOrder : undefined;
918
- }
919
- set sortOrder(value) {
920
- if (this.nativeElement) {
921
- this.nativeElement.sortOrder = value;
922
- }
923
- }
924
- /** Determines the repeating delay of the repeat buttons inside the header of the element. Such buttons are the Date navigation buttons and the view scroll buttons.
925
- * Property type: number
926
- */
927
- get spinButtonsDelay() {
928
- return this.nativeElement ? this.nativeElement.spinButtonsDelay : undefined;
929
- }
930
- set spinButtonsDelay(value) {
931
- if (this.nativeElement) {
932
- this.nativeElement.spinButtonsDelay = value;
933
- }
934
- }
935
- /** Determines the initial delay of the repeat buttons inside the header of the element. Such buttons are the Date navigation buttons and the view scroll buttons.
936
- * Property type: number
937
- */
938
- get spinButtonsInitialDelay() {
939
- return this.nativeElement ? this.nativeElement.spinButtonsInitialDelay : undefined;
940
- }
941
- set spinButtonsInitialDelay(value) {
942
- if (this.nativeElement) {
943
- this.nativeElement.spinButtonsInitialDelay = value;
944
- }
945
- }
946
- /** Defines the statuses that will be available for selection thourgh the window editor for the events.
947
- * Property type: SchedulerStatuse[]
948
- */
949
- get statuses() {
950
- return this.nativeElement ? this.nativeElement.statuses : undefined;
951
- }
952
- set statuses(value) {
953
- if (this.nativeElement) {
954
- this.nativeElement.statuses = value;
955
- }
956
- }
957
- /** Sets or gets the element's visual theme.
958
- * Property type: string
959
- */
960
- get theme() {
961
- return this.nativeElement ? this.nativeElement.theme : undefined;
962
- }
963
- set theme(value) {
964
- if (this.nativeElement) {
965
- this.nativeElement.theme = value;
966
- }
967
- }
968
- /** A format function for the Header of the Timeline. Allows to modify the date labels in the header cells.
969
- * Property type: any
970
- */
971
- get timelineHeaderFormatFunction() {
972
- return this.nativeElement ? this.nativeElement.timelineHeaderFormatFunction : undefined;
973
- }
974
- set timelineHeaderFormatFunction(value) {
975
- if (this.nativeElement) {
976
- this.nativeElement.timelineHeaderFormatFunction = value;
977
- }
978
- }
979
- /** Determines the date scale for the timeline cells.
980
- * Property type: SchedulerTimelineDayScale | string
981
- */
982
- get timelineDayScale() {
983
- return this.nativeElement ? this.nativeElement.timelineDayScale : undefined;
984
- }
985
- set timelineDayScale(value) {
986
- if (this.nativeElement) {
987
- this.nativeElement.timelineDayScale = value;
988
- }
989
- }
990
- /** Enables/Disables the tick marks next to the time cells in the vertical header of the element. Time header appears in 'day' and 'week' views.
991
- * Property type: boolean
992
- */
993
- get timeRulerTicks() {
994
- return this.nativeElement ? this.nativeElement.timeRulerTicks : undefined;
995
- }
996
- set timeRulerTicks(value) {
997
- if (this.nativeElement) {
998
- this.nativeElement.timeRulerTicks = value;
999
- }
1000
- }
1001
- /** Determines the timeZone for the element. By default if the local time zone is used if the property is not set.
1002
- * Property type: SchedulerTimeZone | string
1003
- */
1004
- get timeZone() {
1005
- return this.nativeElement ? this.nativeElement.timeZone : undefined;
1006
- }
1007
- set timeZone(value) {
1008
- if (this.nativeElement) {
1009
- this.nativeElement.timeZone = value;
1010
- }
1011
- }
1012
- /** Allows to display additional timeZones at once along with the default that is set via the timeZone property. Accepts an array values that represent the ids of valid time zones. The possbile time zones can be viewed in the timeZone property description. By default the local time zone is displayed.
1013
- * Property type: any
1014
- */
1015
- get timeZones() {
1016
- return this.nativeElement ? this.nativeElement.timeZones : undefined;
1017
- }
1018
- set timeZones(value) {
1019
- if (this.nativeElement) {
1020
- this.nativeElement.timeZones = value;
1021
- }
1022
- }
1023
- /** Determines the delay ( in miliseconds) before the tooltip/menu appears.
1024
- * Property type: number
1025
- */
1026
- get tooltipDelay() {
1027
- return this.nativeElement ? this.nativeElement.tooltipDelay : undefined;
1028
- }
1029
- set tooltipDelay(value) {
1030
- if (this.nativeElement) {
1031
- this.nativeElement.tooltipDelay = value;
1032
- }
1033
- }
1034
- /** Determines the offset ot the tooltip/menu.
1035
- * Property type: number[]
1036
- */
1037
- get tooltipOffset() {
1038
- return this.nativeElement ? this.nativeElement.tooltipOffset : undefined;
1039
- }
1040
- set tooltipOffset(value) {
1041
- if (this.nativeElement) {
1042
- this.nativeElement.tooltipOffset = value;
1043
- }
1044
- }
1045
- /** Determines weather or not vertical scrollbar is shown.
1046
- * Property type: VerticalScrollBarVisibility | string
1047
- */
1048
- get verticalScrollBarVisibility() {
1049
- return this.nativeElement ? this.nativeElement.verticalScrollBarVisibility : undefined;
1050
- }
1051
- set verticalScrollBarVisibility(value) {
1052
- if (this.nativeElement) {
1053
- this.nativeElement.verticalScrollBarVisibility = value;
1054
- }
1055
- }
1056
- /** Determines the current view. The property accepts view values that are defined in the views property. Custom views should contain a valid value that will be set as the current view.
1057
- * Property type: string
1058
- */
1059
- get view() {
1060
- return this.nativeElement ? this.nativeElement.view : undefined;
1061
- }
1062
- set view(value) {
1063
- if (this.nativeElement) {
1064
- this.nativeElement.view = value;
1065
- }
1066
- }
1067
- /** Indicates the current Scheduler viewType. Custom views must contain a valid type property that corresponds to one of the view types. This property should not be set.
1068
- * Property type: SchedulerViewType | string
1069
- */
1070
- get viewType() {
1071
- return this.nativeElement ? this.nativeElement.viewType : undefined;
1072
- }
1073
- set viewType(value) {
1074
- if (this.nativeElement) {
1075
- this.nativeElement.viewType = value;
1076
- }
1077
- }
1078
- /** Determines the viewing date range of the timeline. The property should be set to an array of strings or view objects. When you set it to a string, you should use any of the following: 'day', 'week', 'month', 'agenda', 'timelineDay', 'timelineWeek', 'timelineMonth'. Custom views can be defined as objects instead of strings. The view object should contain the following properties: label - the label for the view.value - the value for the view. The value is the unique identifier for the view.type - the type of view. The type should be one of the default allowed values for a view.hideWeekend - an Optional property that allows to hide the weekend only for this specific view.hideNonworkingWeekdays - an Optional property that allows to hide the nonwrking weekdays for this specific view.shortcutKey - an Optional property that allows to set a custom shortcut key for the view.hideHours - an Optional property applicable only to timelineWeek view that allows to hide the hour cells and only show the day cells.
1079
- * Property type: SchedulerViews | string
1080
- */
1081
- get views() {
1082
- return this.nativeElement ? this.nativeElement.views : undefined;
1083
- }
1084
- set views(value) {
1085
- if (this.nativeElement) {
1086
- this.nativeElement.views = value;
1087
- }
1088
- }
1089
- /** Determines type of the view selector located in the header of the element.
1090
- * Property type: SchedulerViewSelectorType | string
1091
- */
1092
- get viewSelectorType() {
1093
- return this.nativeElement ? this.nativeElement.viewSelectorType : undefined;
1094
- }
1095
- set viewSelectorType(value) {
1096
- if (this.nativeElement) {
1097
- this.nativeElement.viewSelectorType = value;
1098
- }
1099
- }
1100
- /** Determines the Start Date rule. The Week and TimelineWeek views start by default from the current date taking into account the firstDayOfWeek property. When this property is set to 'dateCurrent', these views will start from the value of the 'dateCurrent'.
1101
- * Property type: SchedulerViewStartDay | string
1102
- */
1103
- get viewStartDay() {
1104
- return this.nativeElement ? this.nativeElement.viewStartDay : undefined;
1105
- }
1106
- set viewStartDay(value) {
1107
- if (this.nativeElement) {
1108
- this.nativeElement.viewStartDay = value;
1109
- }
1110
- }
1111
- /** Determines the format of the week days inside the element.
1112
- * Property type: WeekDayFormat | string
1113
- */
1114
- get weekdayFormat() {
1115
- return this.nativeElement ? this.nativeElement.weekdayFormat : undefined;
1116
- }
1117
- set weekdayFormat(value) {
1118
- if (this.nativeElement) {
1119
- this.nativeElement.weekdayFormat = value;
1120
- }
1121
- }
1122
- /** Determines the format of the dates inside the timeline header when they represent years.
1123
- * Property type: YearFormat | string
1124
- */
1125
- get yearFormat() {
1126
- return this.nativeElement ? this.nativeElement.yearFormat : undefined;
1127
- }
1128
- set yearFormat(value) {
1129
- if (this.nativeElement) {
1130
- this.nativeElement.yearFormat = value;
1131
- }
1132
- }
1133
- /** Sets or gets if the element can be focused.
1134
- * Property type: boolean
1135
- */
1136
- get unfocusable() {
1137
- return this.nativeElement ? this.nativeElement.unfocusable : undefined;
1138
- }
1139
- set unfocusable(value) {
1140
- if (this.nativeElement) {
1141
- this.nativeElement.unfocusable = value;
1142
- }
1143
- }
1144
- /** Determines the maximum number of redo/undo steps that will be remembered by the Scheduler. When the number is reached the oldest records are removed in order to add new.
1145
- * Property type: number
1146
- */
1147
- get undoRedoSteps() {
1148
- return this.nativeElement ? this.nativeElement.undoRedoSteps : undefined;
1149
- }
1150
- set undoRedoSteps(value) {
1151
- if (this.nativeElement) {
1152
- this.nativeElement.undoRedoSteps = value;
1153
- }
1154
- }
1155
- /** A function that can be used to completly customize the popup Window that is used to edit events. The function has the following arguments: target - the target popup Window that is about to be opened.type - the type of the window. The type determines the purpose of the window. The default type is an empty string which means that it's the default event editing window. The other type is 'confirm' ( confirmation window) that appears when clicking on a repeating event. eventObj - the event object that is going to be edited.
1156
- * Property type: any
1157
- */
1158
- get windowCustomizationFunction() {
1159
- return this.nativeElement ? this.nativeElement.windowCustomizationFunction : undefined;
1160
- }
1161
- set windowCustomizationFunction(value) {
1162
- if (this.nativeElement) {
1163
- this.nativeElement.windowCustomizationFunction = value;
1164
- }
1165
- }
1166
- // Gets the properties of the React component.
1167
- get properties() {
1168
- return ["autoScrollStep", "autoHeightAllDayCells", "colorScheme", "currentTimeIndicator", "currentTimeIndicatorInterval", "contextMenuDataSource", "contextMenuClipboardActions", "eventTemplate", "eventCollectorTemplate", "eventRenderMode", "eventTooltipTemplate", "cellTemplate", "dateCurrent", "dataExport", "dataSource", "dateSelectorFormatFunction", "dayFormat", "disabled", "disableAutoScroll", "disableDrag", "disableDrop", "disableResize", "disableSelection", "disableWindowEditor", "disableContextMenu", "disableEventMenu", "disableViewMenu", "disableDateMenu", "dragFeedbackFormatFunction", "dragOffset", "filter", "filterable", "filterMode", "events", "firstDayOfWeek", "footerTemplate", "groupByDate", "groupOrientation", "groupTemplate", "groups", "hourEnd", "hourStart", "hourFormat", "headerTemplate", "headerDatePosition", "headerNavigationStyle", "headerViewPosition", "hideAllDay", "hideNonworkingWeekdays", "hideOtherMonthDays", "hideTodayButton", "hideViewMenuCheckableItems", "hideWeekend", "legendLocation", "legendPosition", "mouseWheelStep", "horizontalScrollBarVisibility", "locale", "max", "maxEventsPerCell", "min", "messages", "minuteFormat", "monthFormat", "nonworkingDays", "nonworkingHours", "notificationInterval", "resizeHandlesVisibility", "resizeInterval", "resources", "restrictedDates", "restrictedHours", "rightToLeft", "scrollButtonsPosition", "shadeUntilCurrentTime", "showLegend", "sortBy", "sortFunction", "sortOrder", "spinButtonsDelay", "spinButtonsInitialDelay", "statuses", "theme", "timelineHeaderFormatFunction", "timelineDayScale", "timeRulerTicks", "timeZone", "timeZones", "tooltipDelay", "tooltipOffset", "verticalScrollBarVisibility", "view", "viewType", "views", "viewSelectorType", "viewStartDay", "weekdayFormat", "yearFormat", "unfocusable", "undoRedoSteps", "windowCustomizationFunction"];
1169
- }
1170
- // Gets the events of the React component.
1171
- get eventListeners() {
1172
- return ["onBeginUpdate", "onEndUpdate", "onChange", "onItemChange", "onItemChanging", "onItemClick", "onItemInsert", "onItemRemove", "onItemUpdate", "onViewChange", "onViewChanging", "onEventShortcutKey", "onDateChange", "onDragStart", "onDragEnd", "onDropoverCell", "onResizeStart", "onResizeEnd", "onEditDialogOpening", "onEditDialogOpen", "onEditDialogClose", "onEditDialogClosing", "onContextMenuOpening", "onContextMenuOpen", "onContextMenuClose", "onContextMenuClosing", "onEventMenuOpening", "onEventMenuOpen", "onEventMenuClose", "onEventMenuClosing", "onDateMenuOpen", "onDateMenuClose", "onViewMenuOpen", "onViewMenuClose", "onNotificationOpen", "onNotificationClose", "onCreate", "onReady"];
1173
- }
1174
- /** Adds an event to the Scheduler. Accepts an event object of the following format (same as the dataSource format): { label?: string, dateStart: date, dateEnd: date, description?: string, id?: string | number, class?: string, backgroundColor?: string, color?: string, notifications?: { interval: numeric, type?: string, time: number[] }[], allDay?: boolean, disableDrag?: boolean, disableResize?: boolean, repeat?: { repeatFreq: string, repeatInterval: number, repeatOn?: number | number[] | date, repeatEnd?: number | date, exceptions?: { date: date, dateStart?: date, dateEnd?: date, hidden?: boolean, backgroundColor?: string, status?: string, label?: string, description?: string, notifications?: { interval: numeric, type?: string, time: number[] }[], disableDrag?: boolean, disableResize?: boolean }[] }, status?: string }
1175
- * @param {any} eventObj. An object describing a Scheduler event that is not already present in the element.
1176
- */
1177
- addEvent(eventObj) {
1178
- if (this.nativeElement.isRendered) {
1179
- this.nativeElement.addEvent(eventObj);
1180
- }
1181
- else {
1182
- this.nativeElement.whenRendered(() => {
1183
- this.nativeElement.addEvent(eventObj);
1184
- });
1185
- }
1186
- }
1187
- /** Adds a new view. Example: scheduler.addView('week', 'My View', 'myView', false, false, 10); scheduler.setView('myView');
1188
- * @param {string} type. The view type.
1189
- * @param {string} label. The view's label displayed in the header.
1190
- * @param {string} value. The view's value used to identify the view.
1191
- * @param {boolean} hideWeekend. Determines whether to hide the weekend.
1192
- * @param {boolean} hideNonworkingWeekdays. Determines whether to hide the non working days.
1193
- * @param {number} additionalDays. Determines whether to add additional days to the view.
1194
- */
1195
- addView(type, label, value, hideWeekend, hideNonworkingWeekdays, additionalDays) {
1196
- if (this.nativeElement.isRendered) {
1197
- this.nativeElement.addView(type, label, value, hideWeekend, hideNonworkingWeekdays, additionalDays);
1198
- }
1199
- else {
1200
- this.nativeElement.whenRendered(() => {
1201
- this.nativeElement.addView(type, label, value, hideWeekend, hideNonworkingWeekdays, additionalDays);
1202
- });
1203
- }
1204
- }
1205
- /** Starts an update operation. This is appropriate when calling multiple methods or set multiple properties at once.
1206
- */
1207
- beginUpdate() {
1208
- if (this.nativeElement.isRendered) {
1209
- this.nativeElement.beginUpdate();
1210
- }
1211
- else {
1212
- this.nativeElement.whenRendered(() => {
1213
- this.nativeElement.beginUpdate();
1214
- });
1215
- }
1216
- }
1217
- /** Creates an event and adds it to the Scheduler.
1218
- * @param {string} label. Event label.
1219
- * @param {string} value. Event value.
1220
- * @param {string} dateStart. Event date start.
1221
- * @param {string} dateEnd. Event date end.
1222
- * @param {boolean} allDay. Event all day. Set it to true to create all day event.
1223
- */
1224
- createEvent(label, value, dateStart, dateEnd, allDay) {
1225
- if (this.nativeElement.isRendered) {
1226
- this.nativeElement.createEvent(label, value, dateStart, dateEnd, allDay);
1227
- }
1228
- else {
1229
- this.nativeElement.whenRendered(() => {
1230
- this.nativeElement.createEvent(label, value, dateStart, dateEnd, allDay);
1231
- });
1232
- }
1233
- }
1234
- /** Ends the update operation. This method will resume the rendering and will refresh the element.
1235
- */
1236
- endUpdate() {
1237
- if (this.nativeElement.isRendered) {
1238
- this.nativeElement.endUpdate();
1239
- }
1240
- else {
1241
- this.nativeElement.whenRendered(() => {
1242
- this.nativeElement.endUpdate();
1243
- });
1244
- }
1245
- }
1246
- /** Returns an array of the start and end view dates.
1247
- * @returns {Date[]}
1248
- */
1249
- getViewDates() {
1250
- return __awaiter(this, void 0, void 0, function* () {
1251
- const getResultOnRender = () => {
1252
- return new Promise(resolve => {
1253
- this.nativeElement.whenRendered(() => {
1254
- const result = this.nativeElement.getViewDates();
1255
- resolve(result);
1256
- });
1257
- });
1258
- };
1259
- const result = yield getResultOnRender();
1260
- return result;
1261
- });
1262
- }
1263
- /** Refereshes the Scheduler by recalculating the Scrollbars.
1264
- * @param {boolean} fullRefresh?. If set the Scheduler will be re-rendered completely.
1265
- */
1266
- refresh(fullRefresh) {
1267
- if (this.nativeElement.isRendered) {
1268
- this.nativeElement.refresh(fullRefresh);
1269
- }
1270
- else {
1271
- this.nativeElement.whenRendered(() => {
1272
- this.nativeElement.refresh(fullRefresh);
1273
- });
1274
- }
1275
- }
1276
- /** Exports the events from the Scheduler.
1277
- * @param {string} dataFormat. Determines the format of the exported file. The following values are available: <ul><li><b>pdf</b></li><li><b>xlsx</b></li><li><b>html</b></li><li><b>iCal</b></li></ul>
1278
- * @param {any} callback?. A callback that allows to format the exported data based on a condition. For additional details, refer ro the Smart Export Documentation.
1279
- */
1280
- exportData(dataFormat, callback) {
1281
- if (this.nativeElement.isRendered) {
1282
- this.nativeElement.exportData(dataFormat, callback);
1283
- }
1284
- else {
1285
- this.nativeElement.whenRendered(() => {
1286
- this.nativeElement.exportData(dataFormat, callback);
1287
- });
1288
- }
1289
- }
1290
- /** Returns a JSON representation of the events inside the Scheduler.
1291
- * @returns {any}
1292
- */
1293
- getDataSource() {
1294
- return __awaiter(this, void 0, void 0, function* () {
1295
- const getResultOnRender = () => {
1296
- return new Promise(resolve => {
1297
- this.nativeElement.whenRendered(() => {
1298
- const result = this.nativeElement.getDataSource();
1299
- resolve(result);
1300
- });
1301
- });
1302
- };
1303
- const result = yield getResultOnRender();
1304
- return result;
1305
- });
1306
- }
1307
- /** Returns a JSON representation of the resources inside the Scheduler.
1308
- * @returns {any}
1309
- */
1310
- getResources() {
1311
- return __awaiter(this, void 0, void 0, function* () {
1312
- const getResultOnRender = () => {
1313
- return new Promise(resolve => {
1314
- this.nativeElement.whenRendered(() => {
1315
- const result = this.nativeElement.getResources();
1316
- resolve(result);
1317
- });
1318
- });
1319
- };
1320
- const result = yield getResultOnRender();
1321
- return result;
1322
- });
1323
- }
1324
- /** Gets a date from coordinates
1325
- * @param {number} x. X coordinate.
1326
- * @param {number} y. Y coordinate.
1327
- * @returns {string}
1328
- */
1329
- getDateFromCoordinates(x, y) {
1330
- return __awaiter(this, void 0, void 0, function* () {
1331
- const getResultOnRender = () => {
1332
- return new Promise(resolve => {
1333
- this.nativeElement.whenRendered(() => {
1334
- const result = this.nativeElement.getDateFromCoordinates(x, y);
1335
- resolve(result);
1336
- });
1337
- });
1338
- };
1339
- const result = yield getResultOnRender();
1340
- return result;
1341
- });
1342
- }
1343
- /** Gets whether a cell is all day cell from coordinates
1344
- * @param {number} x. X coordinate.
1345
- * @param {number} y. Y coordinate.
1346
- * @returns {boolean}
1347
- */
1348
- getIsAllDayCellFromCoordinates(x, y) {
1349
- return __awaiter(this, void 0, void 0, function* () {
1350
- const getResultOnRender = () => {
1351
- return new Promise(resolve => {
1352
- this.nativeElement.whenRendered(() => {
1353
- const result = this.nativeElement.getIsAllDayCellFromCoordinates(x, y);
1354
- resolve(result);
1355
- });
1356
- });
1357
- };
1358
- const result = yield getResultOnRender();
1359
- return result;
1360
- });
1361
- }
1362
- /** Returns the current state of the Scheduler. Includes the current dateCurernt, dataSource and timeZone properties.
1363
- * @returns {any}
1364
- */
1365
- getState() {
1366
- return __awaiter(this, void 0, void 0, function* () {
1367
- const getResultOnRender = () => {
1368
- return new Promise(resolve => {
1369
- this.nativeElement.whenRendered(() => {
1370
- const result = this.nativeElement.getState();
1371
- resolve(result);
1372
- });
1373
- });
1374
- };
1375
- const result = yield getResultOnRender();
1376
- return result;
1377
- });
1378
- }
1379
- /** Removes a previously saved state of the element form LocalStorage according to it's id. Requires an id to be set to the element.
1380
- */
1381
- clearState() {
1382
- if (this.nativeElement.isRendered) {
1383
- this.nativeElement.clearState();
1384
- }
1385
- else {
1386
- this.nativeElement.whenRendered(() => {
1387
- this.nativeElement.clearState();
1388
- });
1389
- }
1390
- }
1391
- /** Loads a previously saved state of the element or checks LocalStorage for any saved states if no argument is passed to the method.
1392
- * @param {any[]} state?. An Array containing a valid structure of Scheduler events. If no state is provided, the element will check localStorage for a saved state.
1393
- */
1394
- loadState(state) {
1395
- if (this.nativeElement.isRendered) {
1396
- this.nativeElement.loadState(state);
1397
- }
1398
- else {
1399
- this.nativeElement.whenRendered(() => {
1400
- this.nativeElement.loadState(state);
1401
- });
1402
- }
1403
- }
1404
- /** Saves the current events of the element to LocalStorage. Requires an id to be set to the element.
1405
- * @param {any[]} state?. An Array containing a valid structure of Scheduler events.
1406
- */
1407
- saveState(state) {
1408
- if (this.nativeElement.isRendered) {
1409
- this.nativeElement.saveState(state);
1410
- }
1411
- else {
1412
- this.nativeElement.whenRendered(() => {
1413
- this.nativeElement.saveState(state);
1414
- });
1415
- }
1416
- }
1417
- /** Sets the Scheduler's view. Example: scheduler.addView('week', 'My View', 'myView', false, false, 10); scheduler.setView('myView');
1418
- * @param {string} view?. The view's value. For example: 'day'.
1419
- */
1420
- setView(view) {
1421
- if (this.nativeElement.isRendered) {
1422
- this.nativeElement.setView(view);
1423
- }
1424
- else {
1425
- this.nativeElement.whenRendered(() => {
1426
- this.nativeElement.setView(view);
1427
- });
1428
- }
1429
- }
1430
- /** Checks whether the Scheduler contains the event.
1431
- * @param {any} eventObj. A Scheduler event object.
1432
- * @returns {boolean}
1433
- */
1434
- containsEvent(eventObj) {
1435
- return __awaiter(this, void 0, void 0, function* () {
1436
- const getResultOnRender = () => {
1437
- return new Promise(resolve => {
1438
- this.nativeElement.whenRendered(() => {
1439
- const result = this.nativeElement.containsEvent(eventObj);
1440
- resolve(result);
1441
- });
1442
- });
1443
- };
1444
- const result = yield getResultOnRender();
1445
- return result;
1446
- });
1447
- }
1448
- /** Inserts an event as object of the following format (same as the dataSource format): { label?: string, dateStart: date, dateEnd: date, description?: string, id?: string | number, class?: string, backgroundColor?: string, color?: string, notifications?: { interval: numeric, type?: string, time: number[] }[], allDay?: boolean, disableDrag?: boolean, disableResize?: boolean, repeat?: { repeatFreq: string, repeatInterval: number, repeatOn?: number | number[] | date, repeatEnd?: number | date, exceptions?: { date: date, dateStart?: date, dateEnd?: date, hidden?: boolean, backgroundColor?: string, status?: string, label?: string, description?: string, notifications?: { interval: numeric, type?: string, time: number[] }[], disableDrag?: boolean, disableResize?: boolean }[] }, status?: string }
1449
- * @param {any} eventObj. An object describing a Scheduler event that is not already present in the element.
1450
- * @param {number} index?. A number that represents the index to insert the event at. If not provided the event is inserted at the end of the list.
1451
- */
1452
- insertEvent(eventObj, index) {
1453
- if (this.nativeElement.isRendered) {
1454
- this.nativeElement.insertEvent(eventObj, index);
1455
- }
1456
- else {
1457
- this.nativeElement.whenRendered(() => {
1458
- this.nativeElement.insertEvent(eventObj, index);
1459
- });
1460
- }
1461
- }
1462
- /** Updates an event object of the following format (same as the dataSource format): { label?: string, dateStart: date, dateEnd: date, description?: string, id?: string | number, class?: string, backgroundColor?: string, color?: string, notifications?: { interval: numeric, type?: string, time: number[] }[], allDay?: boolean, disableDrag?: boolean, disableResize?: boolean, repeat?: { repeatFreq: string, repeatInterval: number, repeatOn?: number | number[] | date, repeatEnd?: number | date, exceptions?: { date: date, dateStart?: date, dateEnd?: date, hidden?: boolean, backgroundColor?: string, status?: string, label?: string, description?: string, notifications?: { interval: numeric, type?: string, time: number[] }[], disableDrag?: boolean, disableResize?: boolean }[] }, status?: string }
1463
- * @param {any} index. A number that represents the index of an event or a Scheduler event object.
1464
- * @param {any} eventObj. An object describing a Scheduler event. The properties of this object will be applied to the desired event.
1465
- */
1466
- updateEvent(index, eventObj) {
1467
- if (this.nativeElement.isRendered) {
1468
- this.nativeElement.updateEvent(index, eventObj);
1469
- }
1470
- else {
1471
- this.nativeElement.whenRendered(() => {
1472
- this.nativeElement.updateEvent(index, eventObj);
1473
- });
1474
- }
1475
- }
1476
- /** Removes an existing event.
1477
- * @param {any} index. A number that represents the index of an event or the actual event object to be removed.
1478
- */
1479
- removeEvent(index) {
1480
- if (this.nativeElement.isRendered) {
1481
- this.nativeElement.removeEvent(index);
1482
- }
1483
- else {
1484
- this.nativeElement.whenRendered(() => {
1485
- this.nativeElement.removeEvent(index);
1486
- });
1487
- }
1488
- }
1489
- /** Returns an array of all exceptions of the target repeating event.
1490
- * @param {any} eventObj. The index, id or an object reference of an existing repeating Scheduler event.
1491
- * @returns {any}
1492
- */
1493
- getEventExceptions(eventObj) {
1494
- return __awaiter(this, void 0, void 0, function* () {
1495
- const getResultOnRender = () => {
1496
- return new Promise(resolve => {
1497
- this.nativeElement.whenRendered(() => {
1498
- const result = this.nativeElement.getEventExceptions(eventObj);
1499
- resolve(result);
1500
- });
1501
- });
1502
- };
1503
- const result = yield getResultOnRender();
1504
- return result;
1505
- });
1506
- }
1507
- /** Adds an event exception to a repeating event. The exception occurences for a repeating event can be gathered via the following methods: occurencesoccurrencesBetweenoccurrenceAfteroccurrenceBefore. Example usage: scheduler.addEventException(eventObj, { date: occuranceDate, dateStart: newDateStart, dateEnd: newDateEnd, label: 'Exception' });
1508
- * @param {any} eventObj. The index, id or an object reference of an existing repeating Scheduler event.
1509
- * @param {any} exceptionObj. An event object that describes an exception. Exception event objects must have a <b>date</b> attribute of type Date which indicates the date of occurence.
1510
- */
1511
- addEventException(eventObj, exceptionObj) {
1512
- if (this.nativeElement.isRendered) {
1513
- this.nativeElement.addEventException(eventObj, exceptionObj);
1514
- }
1515
- else {
1516
- this.nativeElement.whenRendered(() => {
1517
- this.nativeElement.addEventException(eventObj, exceptionObj);
1518
- });
1519
- }
1520
- }
1521
- /** Updates an event exception of a repeating event. The exception occurences for a repeating event can be gathered via the following methods: occurencesoccurrencesBetweenoccurrenceAfteroccurrenceBefore. Example usage: scheduler.updateEventException(eventObj, dateOfOccurance, { dateStart: newDateStart, dateEnd: newDateEnd, label: 'Updated Exception' });
1522
- * @param {any} eventObj. The index, id or an object reference of an existing repeating Scheduler event.
1523
- * @param {any} exceptionRef. The index, id, an occurence date of the exception or an object reference of an existing Scheduler repeating event exception.
1524
- * @param {any} exceptionObj. An event object that describes an exception. All attributes of an exception can be updated except the occurance date (the <b>date</b> attribute).
1525
- */
1526
- updateEventException(eventObj, exceptionRef, exceptionObj) {
1527
- if (this.nativeElement.isRendered) {
1528
- this.nativeElement.updateEventException(eventObj, exceptionRef, exceptionObj);
1529
- }
1530
- else {
1531
- this.nativeElement.whenRendered(() => {
1532
- this.nativeElement.updateEventException(eventObj, exceptionRef, exceptionObj);
1533
- });
1534
- }
1535
- }
1536
- /** Removes an exception from a repeating event.
1537
- * @param {any} eventObj. The index, id or an object reference of an existing repeating Scheduler event.
1538
- * @param {any} index. The index, id, occurance date or an object reference of an event exception that belongs to the target repeating event.
1539
- */
1540
- removeEventException(eventObj, index) {
1541
- if (this.nativeElement.isRendered) {
1542
- this.nativeElement.removeEventException(eventObj, index);
1543
- }
1544
- else {
1545
- this.nativeElement.whenRendered(() => {
1546
- this.nativeElement.removeEventException(eventObj, index);
1547
- });
1548
- }
1549
- }
1550
- /** Opens the popup Window for specific event Editing.
1551
- * @param {any} index. A number that represents the index of a event or the actual event object to be edited.
1552
- */
1553
- openWindow(index) {
1554
- if (this.nativeElement.isRendered) {
1555
- this.nativeElement.openWindow(index);
1556
- }
1557
- else {
1558
- this.nativeElement.whenRendered(() => {
1559
- this.nativeElement.openWindow(index);
1560
- });
1561
- }
1562
- }
1563
- /** Closes the popup window.
1564
- */
1565
- closeWindow() {
1566
- if (this.nativeElement.isRendered) {
1567
- this.nativeElement.closeWindow();
1568
- }
1569
- else {
1570
- this.nativeElement.whenRendered(() => {
1571
- this.nativeElement.closeWindow();
1572
- });
1573
- }
1574
- }
1575
- /** Prepares the Scheduler for printing by opening the browser's Print Preview.
1576
- */
1577
- print() {
1578
- if (this.nativeElement.isRendered) {
1579
- this.nativeElement.print();
1580
- }
1581
- else {
1582
- this.nativeElement.whenRendered(() => {
1583
- this.nativeElement.print();
1584
- });
1585
- }
1586
- }
1587
- /** Scrolls the Scheduler to a Date.
1588
- * @param {Date} date. The date to scroll to.
1589
- * @param {boolean} strictScroll?. Determines whether to scroll strictly to the date or not. This mean sthat the Scheduler wll scroll to the begining of the cell that corresponds to the target date.
1590
- * @param {boolean} autoScroll?. Calculates the scroll positions and element bounds, then adds an offset to scroll within the middle of the view.
1591
- */
1592
- scrollToDate(date, strictScroll, autoScroll) {
1593
- if (this.nativeElement.isRendered) {
1594
- this.nativeElement.scrollToDate(date, strictScroll, autoScroll);
1595
- }
1596
- else {
1597
- this.nativeElement.whenRendered(() => {
1598
- this.nativeElement.scrollToDate(date, strictScroll, autoScroll);
1599
- });
1600
- }
1601
- }
1602
- /** Navigates the Scheduler to a Date.
1603
- * @param {Date} date. The date to navigate to.
1604
- */
1605
- navigateToDate(date) {
1606
- if (this.nativeElement.isRendered) {
1607
- this.nativeElement.navigateToDate(date);
1608
- }
1609
- else {
1610
- this.nativeElement.whenRendered(() => {
1611
- this.nativeElement.navigateToDate(date);
1612
- });
1613
- }
1614
- }
1615
- /** Scrolls the Scheduler to an event.
1616
- * @param {any} index. The index of a Scheduler event or the actual event object to scroll to.
1617
- */
1618
- scrollToEvent(index) {
1619
- if (this.nativeElement.isRendered) {
1620
- this.nativeElement.scrollToEvent(index);
1621
- }
1622
- else {
1623
- this.nativeElement.whenRendered(() => {
1624
- this.nativeElement.scrollToEvent(index);
1625
- });
1626
- }
1627
- }
1628
- /** Opens a custom notification.
1629
- * @param {string} message. The notification message.
1630
- * @param {any} toastSettings. Smart.Toast settings to be applied to the Toast element when opening the notification.
1631
- */
1632
- openNotification(message, toastSettings) {
1633
- if (this.nativeElement.isRendered) {
1634
- this.nativeElement.openNotification(message, toastSettings);
1635
- }
1636
- else {
1637
- this.nativeElement.whenRendered(() => {
1638
- this.nativeElement.openNotification(message, toastSettings);
1639
- });
1640
- }
1641
- }
1642
- /** Closes all notifications.
1643
- */
1644
- closeNotifications() {
1645
- if (this.nativeElement.isRendered) {
1646
- this.nativeElement.closeNotifications();
1647
- }
1648
- else {
1649
- this.nativeElement.whenRendered(() => {
1650
- this.nativeElement.closeNotifications();
1651
- });
1652
- }
1653
- }
1654
- /** Returns all occurances of an event.
1655
- * @param {any} eventObj. A Scheduler evnet object.
1656
- * @param {number} count. The number of occurances to return. By default 100 date occurances of the event are returned.
1657
- */
1658
- occurrences(eventObj, count) {
1659
- if (this.nativeElement.isRendered) {
1660
- this.nativeElement.occurrences(eventObj, count);
1661
- }
1662
- else {
1663
- this.nativeElement.whenRendered(() => {
1664
- this.nativeElement.occurrences(eventObj, count);
1665
- });
1666
- }
1667
- }
1668
- /** Returns all occurances of an event between two dates.
1669
- * @param {any} eventObj. A Scheduler event object.
1670
- * @param {Date} dateFrom. The start date.
1671
- * @param {Date} dateTo. The end date.
1672
- */
1673
- occurrencesBetween(eventObj, dateFrom, dateTo) {
1674
- if (this.nativeElement.isRendered) {
1675
- this.nativeElement.occurrencesBetween(eventObj, dateFrom, dateTo);
1676
- }
1677
- else {
1678
- this.nativeElement.whenRendered(() => {
1679
- this.nativeElement.occurrencesBetween(eventObj, dateFrom, dateTo);
1680
- });
1681
- }
1682
- }
1683
- /** Returns the first occurance of an event after a date.
1684
- * @param {any} eventObj. A Scheduler event object.
1685
- * @param {number} date. The date after which the first occurance of the event will be returned.
1686
- */
1687
- occurrenceAfter(eventObj, date) {
1688
- if (this.nativeElement.isRendered) {
1689
- this.nativeElement.occurrenceAfter(eventObj, date);
1690
- }
1691
- else {
1692
- this.nativeElement.whenRendered(() => {
1693
- this.nativeElement.occurrenceAfter(eventObj, date);
1694
- });
1695
- }
1696
- }
1697
- /** Returns the last occurance of an event before a date.
1698
- * @param {any} eventObj. A Scheduler event object.
1699
- * @param {number} date. The date before which the first occurance of the event will be returned.
1700
- */
1701
- occurrenceBefore(eventObj, date) {
1702
- if (this.nativeElement.isRendered) {
1703
- this.nativeElement.occurrenceBefore(eventObj, date);
1704
- }
1705
- else {
1706
- this.nativeElement.whenRendered(() => {
1707
- this.nativeElement.occurrenceBefore(eventObj, date);
1708
- });
1709
- }
1710
- }
1711
- /** Returns the dateStart/dateEnd of a timeline cell.
1712
- * @param {HTMLElement} cell. A Scheduler timeline cell element.
1713
- * @returns {any}
1714
- */
1715
- getCellDateRange(cell) {
1716
- return __awaiter(this, void 0, void 0, function* () {
1717
- const getResultOnRender = () => {
1718
- return new Promise(resolve => {
1719
- this.nativeElement.whenRendered(() => {
1720
- const result = this.nativeElement.getCellDateRange(cell);
1721
- resolve(result);
1722
- });
1723
- });
1724
- };
1725
- const result = yield getResultOnRender();
1726
- return result;
1727
- });
1728
- }
1729
- /** Opens the tooltip(event menu) for an event.
1730
- * @param {any} eventObj. A Scheduler event object or it's index.
1731
- */
1732
- openEventTooltip(eventObj) {
1733
- if (this.nativeElement.isRendered) {
1734
- this.nativeElement.openEventTooltip(eventObj);
1735
- }
1736
- else {
1737
- this.nativeElement.whenRendered(() => {
1738
- this.nativeElement.openEventTooltip(eventObj);
1739
- });
1740
- }
1741
- }
1742
- /** Closes the event tooltip (event menu).
1743
- */
1744
- closeEventTooltip() {
1745
- if (this.nativeElement.isRendered) {
1746
- this.nativeElement.closeEventTooltip();
1747
- }
1748
- else {
1749
- this.nativeElement.whenRendered(() => {
1750
- this.nativeElement.closeEventTooltip();
1751
- });
1752
- }
1753
- }
1754
- /** Returns true or false whether the date is restricted or not.
1755
- * @param {Date} date. A Date object.
1756
- * @returns {boolean}
1757
- */
1758
- isDateRestricted(date) {
1759
- return __awaiter(this, void 0, void 0, function* () {
1760
- const getResultOnRender = () => {
1761
- return new Promise(resolve => {
1762
- this.nativeElement.whenRendered(() => {
1763
- const result = this.nativeElement.isDateRestricted(date);
1764
- resolve(result);
1765
- });
1766
- });
1767
- };
1768
- const result = yield getResultOnRender();
1769
- return result;
1770
- });
1771
- }
1772
- /** Returns true or false whether the hour is restricted or not.
1773
- * @param {number | Date} hour. A number that represents an hour ( 0 to 23 ) or a Date object.
1774
- * @returns {boolean}
1775
- */
1776
- isHourRestricted(hour) {
1777
- return __awaiter(this, void 0, void 0, function* () {
1778
- const getResultOnRender = () => {
1779
- return new Promise(resolve => {
1780
- this.nativeElement.whenRendered(() => {
1781
- const result = this.nativeElement.isHourRestricted(hour);
1782
- resolve(result);
1783
- });
1784
- });
1785
- };
1786
- const result = yield getResultOnRender();
1787
- return result;
1788
- });
1789
- }
1790
- /** Returns true or false whether the event is restricted or not.
1791
- * @param {any} eventObj. A Scheduler event object or a direct event HTMLElement instance.
1792
- * @returns {boolean}
1793
- */
1794
- isEventRestricted(eventObj) {
1795
- return __awaiter(this, void 0, void 0, function* () {
1796
- const getResultOnRender = () => {
1797
- return new Promise(resolve => {
1798
- this.nativeElement.whenRendered(() => {
1799
- const result = this.nativeElement.isEventRestricted(eventObj);
1800
- resolve(result);
1801
- });
1802
- });
1803
- };
1804
- const result = yield getResultOnRender();
1805
- return result;
1806
- });
1807
- }
1808
- /** Deletes the current undo/redo history.
1809
- * @returns {boolean}
1810
- */
1811
- deleteUndoRedoHistory() {
1812
- return __awaiter(this, void 0, void 0, function* () {
1813
- const getResultOnRender = () => {
1814
- return new Promise(resolve => {
1815
- this.nativeElement.whenRendered(() => {
1816
- const result = this.nativeElement.deleteUndoRedoHistory();
1817
- resolve(result);
1818
- });
1819
- });
1820
- };
1821
- const result = yield getResultOnRender();
1822
- return result;
1823
- });
1824
- }
1825
- /** Indicates whether it is possible to redo an action.
1826
- * @returns {boolean}
1827
- */
1828
- canRedo() {
1829
- return __awaiter(this, void 0, void 0, function* () {
1830
- const getResultOnRender = () => {
1831
- return new Promise(resolve => {
1832
- this.nativeElement.whenRendered(() => {
1833
- const result = this.nativeElement.canRedo();
1834
- resolve(result);
1835
- });
1836
- });
1837
- };
1838
- const result = yield getResultOnRender();
1839
- return result;
1840
- });
1841
- }
1842
- /** Indicates whether it is possbile to undo an action.
1843
- * @returns {boolean}
1844
- */
1845
- canUndo() {
1846
- return __awaiter(this, void 0, void 0, function* () {
1847
- const getResultOnRender = () => {
1848
- return new Promise(resolve => {
1849
- this.nativeElement.whenRendered(() => {
1850
- const result = this.nativeElement.canUndo();
1851
- resolve(result);
1852
- });
1853
- });
1854
- };
1855
- const result = yield getResultOnRender();
1856
- return result;
1857
- });
1858
- }
1859
- /** Redo the next event modification.
1860
- * @param {number} step?. A step to redo to.
1861
- * @returns {boolean}
1862
- */
1863
- redo(step) {
1864
- return __awaiter(this, void 0, void 0, function* () {
1865
- const getResultOnRender = () => {
1866
- return new Promise(resolve => {
1867
- this.nativeElement.whenRendered(() => {
1868
- const result = this.nativeElement.redo(step);
1869
- resolve(result);
1870
- });
1871
- });
1872
- };
1873
- const result = yield getResultOnRender();
1874
- return result;
1875
- });
1876
- }
1877
- /** Undo the last event modification.
1878
- * @param {number} step?. A step to undo to.
1879
- * @returns {boolean}
1880
- */
1881
- undo(step) {
1882
- return __awaiter(this, void 0, void 0, function* () {
1883
- const getResultOnRender = () => {
1884
- return new Promise(resolve => {
1885
- this.nativeElement.whenRendered(() => {
1886
- const result = this.nativeElement.undo(step);
1887
- resolve(result);
1888
- });
1889
- });
1890
- };
1891
- const result = yield getResultOnRender();
1892
- return result;
1893
- });
1894
- }
1895
- componentDidRender(initialize) {
1896
- const that = this;
1897
- const props = {};
1898
- const events = {};
1899
- let styles = null;
1900
- for (let prop in that.props) {
1901
- if (prop === 'children') {
1902
- continue;
1903
- }
1904
- if (prop === 'style') {
1905
- styles = that.props[prop];
1906
- continue;
1907
- }
1908
- if (prop.startsWith('on') && that.properties.indexOf(prop) === -1) {
1909
- events[prop] = that.props[prop];
1910
- continue;
1911
- }
1912
- props[prop] = that.props[prop];
1913
- }
1914
- if (initialize) {
1915
- that.nativeElement = this.componentRef.current;
1916
- }
1917
- for (let prop in props) {
1918
- if (prop === 'class' || prop === 'className') {
1919
- const classNames = props[prop].trim().split(' ');
1920
- for (let className in classNames) {
1921
- if (!that.nativeElement.classList.contains(classNames[className]) && classNames[className] !== "") {
1922
- that.nativeElement.classList.add(classNames[className]);
1923
- }
1924
- }
1925
- continue;
1926
- }
1927
- if (props[prop] !== that.nativeElement[prop]) {
1928
- const normalizeProp = (str) => {
1929
- return str.replace(/-([a-z])/g, function (g) {
1930
- return g[1].toUpperCase();
1931
- });
1932
- };
1933
- if (prop === 'hover' || prop === 'active' || prop === 'focus' || prop === 'selected') {
1934
- that.nativeElement.setAttribute(prop, '');
1935
- }
1936
- const normalizedProp = normalizeProp(prop);
1937
- that.nativeElement[normalizedProp] = props[prop];
1938
- }
1939
- }
1940
- for (let eventName in events) {
1941
- that[eventName] = events[eventName];
1942
- that.nativeElement[eventName.toLowerCase()] = events[eventName];
1943
- }
1944
- if (initialize) {
1945
- Smart.Render();
1946
- if (that.onCreate) {
1947
- that.onCreate();
1948
- }
1949
- that.nativeElement.whenRendered(() => {
1950
- if (that.onReady) {
1951
- that.onReady();
1952
- }
1953
- });
1954
- }
1955
- // setup styles.
1956
- if (styles) {
1957
- for (let styleName in styles) {
1958
- that.nativeElement.style[styleName] = styles[styleName];
1959
- }
1960
- }
1961
- }
1962
- componentDidMount() {
1963
- this.componentDidRender(true);
1964
- }
1965
- componentDidUpdate() {
1966
- this.componentDidRender(false);
1967
- }
1968
- componentWillUnmount() {
1969
- const that = this;
1970
- if (!that.nativeElement) {
1971
- return;
1972
- }
1973
- that.nativeElement.whenRenderedCallbacks = [];
1974
- for (let i = 0; i < that.eventListeners.length; i++) {
1975
- const eventName = that.eventListeners[i];
1976
- that.nativeElement.removeEventListener(eventName.substring(2).toLowerCase(), that[eventName]);
1977
- }
1978
- }
1979
- render() {
1980
- return (React.createElement("smart-scheduler", { ref: this.componentRef }, this.props.children));
1981
- }
1982
- }
1789
+ exports.Smart = Smart;
1790
+ exports.Scheduler = Scheduler;
1791
+ exports.default = Scheduler;
1983
1792
 
1984
- exports.Smart = Smart;
1985
- exports.Scheduler = Scheduler;
1986
- exports.default = Scheduler;
1987
-
1988
- Object.defineProperty(exports, '__esModule', { value: true });
1793
+ Object.defineProperty(exports, '__esModule', { value: true });
1989
1794
 
1990
1795
  })));