smart-webcomponents-react 17.0.0 → 17.1.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 (551) hide show
  1. package/accordion/accordion.d.ts +0 -1
  2. package/accordion/accordion.esm.js +19 -10
  3. package/accordion/accordion.umd.js +8 -3
  4. package/accordion/accordionitem.d.ts +0 -1
  5. package/alertwindow/alertwindow.d.ts +0 -1
  6. package/alertwindow/alertwindow.esm.js +15 -9
  7. package/alertwindow/alertwindow.umd.js +4 -2
  8. package/array/array.d.ts +0 -1
  9. package/array/array.esm.js +15 -9
  10. package/array/array.umd.js +4 -2
  11. package/barcode/barcode.d.ts +0 -1
  12. package/barcode/barcode.esm.js +15 -9
  13. package/barcode/barcode.umd.js +4 -2
  14. package/breadcrumb/breadcrumb.d.ts +0 -1
  15. package/breadcrumb/breadcrumb.esm.js +15 -9
  16. package/breadcrumb/breadcrumb.umd.js +4 -2
  17. package/button/button.d.ts +0 -1
  18. package/button/button.esm.js +27 -12
  19. package/button/button.umd.js +16 -5
  20. package/button/buttongroup.d.ts +0 -1
  21. package/button/dropdownbutton.d.ts +0 -1
  22. package/button/multisplitbutton.d.ts +0 -1
  23. package/button/powerbutton.d.ts +0 -1
  24. package/button/radiobutton.d.ts +0 -1
  25. package/button/repeatbutton.d.ts +0 -1
  26. package/button/switchbutton.d.ts +0 -1
  27. package/button/togglebutton.d.ts +0 -1
  28. package/buttongroup/buttongroup.d.ts +0 -1
  29. package/buttongroup/buttongroup.esm.js +15 -9
  30. package/buttongroup/buttongroup.umd.js +4 -2
  31. package/calendar/calendar.d.ts +0 -1
  32. package/calendar/calendar.esm.js +15 -9
  33. package/calendar/calendar.umd.js +4 -2
  34. package/card/card.d.ts +0 -1
  35. package/card/card.esm.js +15 -9
  36. package/card/card.umd.js +4 -2
  37. package/card/cardview.d.ts +0 -1
  38. package/cardview/cardview.d.ts +0 -1
  39. package/cardview/cardview.esm.js +15 -9
  40. package/cardview/cardview.umd.js +4 -2
  41. package/carousel/carousel.d.ts +0 -1
  42. package/carousel/carousel.esm.js +15 -9
  43. package/carousel/carousel.umd.js +4 -2
  44. package/chart/chart.d.ts +0 -1
  45. package/chart/chart.esm.js +15 -9
  46. package/chart/chart.umd.js +4 -2
  47. package/chart/ganttchart.d.ts +0 -11
  48. package/chart/threedchart.d.ts +0 -1
  49. package/checkbox/checkbox.d.ts +0 -1
  50. package/checkbox/checkbox.esm.js +15 -9
  51. package/checkbox/checkbox.umd.js +4 -2
  52. package/checkinput/checkinput.d.ts +0 -1
  53. package/checkinput/checkinput.esm.js +15 -9
  54. package/checkinput/checkinput.umd.js +4 -2
  55. package/chip/chip.d.ts +0 -1
  56. package/chip/chip.esm.js +15 -9
  57. package/chip/chip.umd.js +4 -2
  58. package/colorinput/colorinput.d.ts +0 -1
  59. package/colorinput/colorinput.esm.js +15 -9
  60. package/colorinput/colorinput.umd.js +4 -2
  61. package/colorpanel/colorpanel.d.ts +0 -1
  62. package/colorpanel/colorpanel.esm.js +15 -9
  63. package/colorpanel/colorpanel.umd.js +4 -2
  64. package/colorpicker/colorpicker.d.ts +0 -1
  65. package/colorpicker/colorpicker.esm.js +15 -9
  66. package/colorpicker/colorpicker.umd.js +4 -2
  67. package/columnpanel/columnpanel.d.ts +0 -1
  68. package/columnpanel/columnpanel.esm.js +15 -9
  69. package/columnpanel/columnpanel.umd.js +4 -2
  70. package/combobox/combobox.d.ts +0 -1
  71. package/combobox/combobox.esm.js +23 -11
  72. package/combobox/combobox.umd.js +12 -4
  73. package/countryinput/countryinput.d.ts +0 -1
  74. package/countryinput/countryinput.esm.js +15 -9
  75. package/countryinput/countryinput.umd.js +4 -2
  76. package/customizationdialog/customizationdialog.d.ts +0 -1
  77. package/customizationdialog/customizationdialog.esm.js +15 -9
  78. package/customizationdialog/customizationdialog.umd.js +4 -2
  79. package/dateinput/dateinput.d.ts +0 -1
  80. package/dateinput/dateinput.esm.js +15 -9
  81. package/dateinput/dateinput.umd.js +4 -2
  82. package/daterangeinput/daterangeinput.d.ts +0 -1
  83. package/daterangeinput/daterangeinput.esm.js +15 -9
  84. package/daterangeinput/daterangeinput.umd.js +4 -2
  85. package/datetimepicker/datetimepicker.d.ts +0 -1
  86. package/datetimepicker/datetimepicker.esm.js +15 -9
  87. package/datetimepicker/datetimepicker.umd.js +4 -2
  88. package/dialogwindow/dialogwindow.d.ts +0 -1
  89. package/dialogwindow/dialogwindow.esm.js +15 -9
  90. package/dialogwindow/dialogwindow.umd.js +4 -2
  91. package/dockinglayout/dockinglayout.d.ts +0 -1
  92. package/dockinglayout/dockinglayout.esm.js +15 -9
  93. package/dockinglayout/dockinglayout.umd.js +4 -2
  94. package/dropdownbutton/dropdownbutton.d.ts +0 -1
  95. package/dropdownbutton/dropdownbutton.esm.js +15 -9
  96. package/dropdownbutton/dropdownbutton.umd.js +4 -2
  97. package/dropdownlist/dropdownlist.d.ts +0 -1
  98. package/dropdownlist/dropdownlist.esm.js +23 -11
  99. package/dropdownlist/dropdownlist.umd.js +12 -4
  100. package/editor/editor.d.ts +0 -1
  101. package/editor/editor.esm.js +15 -9
  102. package/editor/editor.umd.js +4 -2
  103. package/element/element.d.ts +0 -1
  104. package/element/element.esm.js +15 -9
  105. package/element/element.umd.js +4 -2
  106. package/fileupload/fileupload.d.ts +0 -1
  107. package/fileupload/fileupload.esm.js +15 -9
  108. package/fileupload/fileupload.umd.js +4 -2
  109. package/filterbuilder/filterbuilder.d.ts +0 -1
  110. package/filterbuilder/filterbuilder.esm.js +15 -9
  111. package/filterbuilder/filterbuilder.umd.js +4 -2
  112. package/filterpanel/filterpanel.d.ts +0 -1
  113. package/filterpanel/filterpanel.esm.js +15 -9
  114. package/filterpanel/filterpanel.umd.js +4 -2
  115. package/filterpanel/multicolumnfilterpanel.d.ts +0 -1
  116. package/form/form.d.ts +0 -1
  117. package/form/form.esm.js +23 -11
  118. package/form/form.umd.js +12 -4
  119. package/form/formcontrol.d.ts +0 -1
  120. package/form/formgroup.d.ts +0 -1
  121. package/ganttchart/ganttchart.d.ts +0 -11
  122. package/ganttchart/ganttchart.esm.js +16 -32
  123. package/ganttchart/ganttchart.umd.js +5 -25
  124. package/gauge/gauge.d.ts +0 -1
  125. package/gauge/gauge.esm.js +15 -9
  126. package/gauge/gauge.umd.js +4 -2
  127. package/grid/grid.d.ts +0 -1
  128. package/grid/grid.esm.js +15 -9
  129. package/grid/grid.umd.js +4 -2
  130. package/grouppanel/grouppanel.d.ts +0 -1
  131. package/grouppanel/grouppanel.esm.js +15 -9
  132. package/grouppanel/grouppanel.umd.js +4 -2
  133. package/index.d.ts +1 -11
  134. package/input/checkinput.d.ts +0 -1
  135. package/input/colorinput.d.ts +0 -1
  136. package/input/countryinput.d.ts +0 -1
  137. package/input/dateinput.d.ts +0 -1
  138. package/input/daterangeinput.d.ts +0 -1
  139. package/input/input.d.ts +0 -1
  140. package/input/input.esm.js +15 -9
  141. package/input/input.umd.js +4 -2
  142. package/input/multicomboinput.d.ts +0 -1
  143. package/input/multiinput.d.ts +0 -1
  144. package/input/numberinput.d.ts +0 -1
  145. package/input/passwordinput.d.ts +0 -1
  146. package/input/phoneinput.d.ts +0 -1
  147. package/input/timeinput.d.ts +0 -1
  148. package/kanban/kanban.d.ts +0 -1
  149. package/kanban/kanban.esm.js +15 -9
  150. package/kanban/kanban.umd.js +4 -2
  151. package/layout/dockinglayout.d.ts +0 -1
  152. package/layout/layout.d.ts +0 -1
  153. package/layout/layout.esm.js +31 -13
  154. package/layout/layout.umd.js +20 -6
  155. package/layout/layoutgroup.d.ts +0 -1
  156. package/layout/layoutitem.d.ts +0 -1
  157. package/layout/tablayoutgroup.d.ts +0 -1
  158. package/layout/tablayoutitem.d.ts +0 -1
  159. package/led/led.d.ts +0 -1
  160. package/led/led.esm.js +15 -9
  161. package/led/led.umd.js +4 -2
  162. package/listbox/listbox.d.ts +0 -1
  163. package/listbox/listbox.esm.js +23 -11
  164. package/listbox/listbox.umd.js +12 -4
  165. package/listmenu/listmenu.d.ts +0 -1
  166. package/listmenu/listmenu.esm.js +23 -11
  167. package/listmenu/listmenu.umd.js +12 -4
  168. package/map/map.d.ts +0 -1
  169. package/map/map.esm.js +15 -9
  170. package/map/map.umd.js +4 -2
  171. package/maskedtextbox/maskedtextbox.d.ts +0 -1
  172. package/maskedtextbox/maskedtextbox.esm.js +15 -9
  173. package/maskedtextbox/maskedtextbox.umd.js +4 -2
  174. package/menu/listmenu.d.ts +0 -1
  175. package/menu/menu.d.ts +0 -1
  176. package/menu/menu.esm.js +23 -11
  177. package/menu/menu.umd.js +12 -4
  178. package/menu/menuitem.d.ts +0 -1
  179. package/menu/menuitemsgroup.d.ts +0 -1
  180. package/multicolumnfilterpanel/multicolumnfilterpanel.d.ts +0 -1
  181. package/multicolumnfilterpanel/multicolumnfilterpanel.esm.js +15 -9
  182. package/multicolumnfilterpanel/multicolumnfilterpanel.umd.js +4 -2
  183. package/multicomboinput/multicomboinput.d.ts +0 -1
  184. package/multicomboinput/multicomboinput.esm.js +15 -9
  185. package/multicomboinput/multicomboinput.umd.js +4 -2
  186. package/multiinput/multiinput.d.ts +0 -1
  187. package/multiinput/multiinput.esm.js +15 -9
  188. package/multiinput/multiinput.umd.js +4 -2
  189. package/multilinetextbox/multilinetextbox.d.ts +0 -1
  190. package/multilinetextbox/multilinetextbox.esm.js +23 -11
  191. package/multilinetextbox/multilinetextbox.umd.js +12 -4
  192. package/multilinewindow/multilinewindow.d.ts +0 -1
  193. package/multilinewindow/multilinewindow.esm.js +15 -9
  194. package/multilinewindow/multilinewindow.umd.js +4 -2
  195. package/multisplitbutton/multisplitbutton.d.ts +0 -1
  196. package/multisplitbutton/multisplitbutton.esm.js +23 -11
  197. package/multisplitbutton/multisplitbutton.umd.js +12 -4
  198. package/numberinput/numberinput.d.ts +0 -1
  199. package/numberinput/numberinput.esm.js +15 -9
  200. package/numberinput/numberinput.umd.js +4 -2
  201. package/numerictextbox/numerictextbox.d.ts +0 -1
  202. package/numerictextbox/numerictextbox.esm.js +15 -9
  203. package/numerictextbox/numerictextbox.umd.js +4 -2
  204. package/package.json +2 -1
  205. package/pager/pager.d.ts +0 -1
  206. package/pager/pager.esm.js +15 -9
  207. package/pager/pager.umd.js +4 -2
  208. package/passwordinput/passwordinput.d.ts +0 -1
  209. package/passwordinput/passwordinput.esm.js +15 -9
  210. package/passwordinput/passwordinput.umd.js +4 -2
  211. package/passwordtextbox/passwordtextbox.d.ts +0 -1
  212. package/passwordtextbox/passwordtextbox.esm.js +15 -9
  213. package/passwordtextbox/passwordtextbox.umd.js +4 -2
  214. package/path/path.d.ts +0 -1
  215. package/path/path.esm.js +15 -9
  216. package/path/path.umd.js +4 -2
  217. package/phoneinput/phoneinput.d.ts +0 -1
  218. package/phoneinput/phoneinput.esm.js +15 -9
  219. package/phoneinput/phoneinput.umd.js +4 -2
  220. package/pivottable/pivottable.d.ts +0 -1
  221. package/pivottable/pivottable.esm.js +15 -9
  222. package/pivottable/pivottable.umd.js +4 -2
  223. package/progressbar/circularprogressbar.d.ts +0 -1
  224. package/progressbar/progressbar.d.ts +0 -1
  225. package/progressbar/progressbar.esm.js +19 -10
  226. package/progressbar/progressbar.umd.js +8 -3
  227. package/progresswindow/progresswindow.d.ts +0 -1
  228. package/progresswindow/progresswindow.esm.js +15 -9
  229. package/progresswindow/progresswindow.umd.js +4 -2
  230. package/promptwindow/promptwindow.d.ts +0 -1
  231. package/promptwindow/promptwindow.esm.js +15 -9
  232. package/promptwindow/promptwindow.umd.js +4 -2
  233. package/qrcode/qrcode.d.ts +0 -1
  234. package/qrcode/qrcode.esm.js +15 -9
  235. package/qrcode/qrcode.umd.js +4 -2
  236. package/querybuilder/querybuilder.d.ts +0 -1
  237. package/querybuilder/querybuilder.esm.js +15 -9
  238. package/querybuilder/querybuilder.umd.js +4 -2
  239. package/radiobutton/radiobutton.d.ts +0 -1
  240. package/radiobutton/radiobutton.esm.js +15 -9
  241. package/radiobutton/radiobutton.umd.js +4 -2
  242. package/rating/rating.d.ts +0 -1
  243. package/rating/rating.esm.js +15 -9
  244. package/rating/rating.umd.js +4 -2
  245. package/ribbon/ribbon.d.ts +0 -1
  246. package/ribbon/ribbon.esm.js +27 -12
  247. package/ribbon/ribbon.umd.js +16 -5
  248. package/ribbon/ribbongroup.d.ts +0 -1
  249. package/ribbon/ribbonitem.d.ts +0 -1
  250. package/ribbon/ribbontab.d.ts +0 -1
  251. package/scheduler/scheduler.d.ts +0 -1
  252. package/scheduler/scheduler.esm.js +15 -9
  253. package/scheduler/scheduler.umd.js +4 -2
  254. package/scrollbar/scrollbar.d.ts +0 -1
  255. package/scrollbar/scrollbar.esm.js +15 -9
  256. package/scrollbar/scrollbar.umd.js +4 -2
  257. package/slider/slider.d.ts +0 -1
  258. package/slider/slider.esm.js +15 -9
  259. package/slider/slider.umd.js +4 -2
  260. package/sortable/sortable.d.ts +0 -1
  261. package/sortable/sortable.esm.js +15 -9
  262. package/sortable/sortable.umd.js +4 -2
  263. package/sortpanel/sortpanel.d.ts +0 -1
  264. package/sortpanel/sortpanel.esm.js +15 -9
  265. package/sortpanel/sortpanel.umd.js +4 -2
  266. package/source/modules/smart.3dchart.js +2 -2
  267. package/source/modules/smart.accordion.js +1 -1
  268. package/source/modules/smart.array.js +2 -2
  269. package/source/modules/smart.barcode.js +1 -1
  270. package/source/modules/smart.breadcrumb.js +1 -1
  271. package/source/modules/smart.button.js +1 -1
  272. package/source/modules/smart.buttongroup.js +1 -1
  273. package/source/modules/smart.calendar.js +2 -2
  274. package/source/modules/smart.card.js +1 -1
  275. package/source/modules/smart.cardview.js +5 -5
  276. package/source/modules/smart.carousel.js +1 -1
  277. package/source/modules/smart.chart.js +2 -2
  278. package/source/modules/smart.checkbox.js +1 -1
  279. package/source/modules/smart.checkinput.js +1 -1
  280. package/source/modules/smart.chip.js +1 -1
  281. package/source/modules/smart.colorinput.js +1 -1
  282. package/source/modules/smart.colorpanel.js +2 -2
  283. package/source/modules/smart.colorpicker.js +2 -2
  284. package/source/modules/smart.combobox.js +2 -2
  285. package/source/modules/smart.common.js +3 -3
  286. package/source/modules/smart.countryinput.js +1 -1
  287. package/source/modules/smart.dateinput.js +2 -2
  288. package/source/modules/smart.daterangeinput.js +3 -3
  289. package/source/modules/smart.datetimepicker.js +4 -4
  290. package/source/modules/smart.dockinglayout.js +1 -1
  291. package/source/modules/smart.dropdownbutton.js +1 -1
  292. package/source/modules/smart.dropdownlist.js +2 -2
  293. package/source/modules/smart.editor.js +2 -2
  294. package/source/modules/smart.element.js +1 -1
  295. package/source/modules/smart.fileupload.js +2 -2
  296. package/source/modules/smart.form.js +1 -1
  297. package/source/modules/smart.formulaparser.js +1 -1
  298. package/source/modules/smart.ganttchart.js +5 -5
  299. package/source/modules/smart.gauge.js +2 -2
  300. package/source/modules/smart.grid.js +15 -15
  301. package/source/modules/smart.gridpanel.js +5 -5
  302. package/source/modules/smart.input.js +1 -1
  303. package/source/modules/smart.kanban.js +6 -6
  304. package/source/modules/smart.layout.js +1 -1
  305. package/source/modules/smart.led.js +1 -1
  306. package/source/modules/smart.listbox.js +1 -1
  307. package/source/modules/smart.listmenu.js +1 -1
  308. package/source/modules/smart.map.js +1 -1
  309. package/source/modules/smart.maskedtextbox.js +1 -1
  310. package/source/modules/smart.menu.js +1 -1
  311. package/source/modules/smart.multicomboinput.js +1 -1
  312. package/source/modules/smart.multiinput.js +1 -1
  313. package/source/modules/smart.multilinetextbox.js +2 -2
  314. package/source/modules/smart.multisplitbutton.js +2 -2
  315. package/source/modules/smart.numberinput.js +1 -1
  316. package/source/modules/smart.numerictextbox.js +2 -2
  317. package/source/modules/smart.pager.js +1 -1
  318. package/source/modules/smart.passwordinput.js +1 -1
  319. package/source/modules/smart.passwordtextbox.js +1 -1
  320. package/source/modules/smart.path.js +1 -1
  321. package/source/modules/smart.phoneinput.js +1 -1
  322. package/source/modules/smart.pivottable.js +4 -4
  323. package/source/modules/smart.progressbar.js +1 -1
  324. package/source/modules/smart.qrcode.js +1 -1
  325. package/source/modules/smart.querybuilder.js +4 -4
  326. package/source/modules/smart.radiobutton.js +1 -1
  327. package/source/modules/smart.rating.js +1 -1
  328. package/source/modules/smart.ribbon.js +2 -2
  329. package/source/modules/smart.router.js +2 -2
  330. package/source/modules/smart.scheduler.js +6 -6
  331. package/source/modules/smart.scrollbar.js +1 -1
  332. package/source/modules/smart.slider.js +2 -2
  333. package/source/modules/smart.sortable.js +1 -1
  334. package/source/modules/smart.splitter.js +1 -1
  335. package/source/modules/smart.switchbutton.js +1 -1
  336. package/source/modules/smart.table.js +4 -4
  337. package/source/modules/smart.tabs.js +1 -1
  338. package/source/modules/smart.tank.js +2 -2
  339. package/source/modules/smart.textarea.js +1 -1
  340. package/source/modules/smart.textbox.js +2 -2
  341. package/source/modules/smart.timeinput.js +1 -1
  342. package/source/modules/smart.timepicker.js +1 -1
  343. package/source/modules/smart.toast.js +1 -1
  344. package/source/modules/smart.tooltip.js +1 -1
  345. package/source/modules/smart.tree.js +1 -1
  346. package/source/modules/smart.validator.js +1 -1
  347. package/source/modules/smart.window.js +2 -2
  348. package/source/smart.3dchart.js +1 -1
  349. package/source/smart.accordion.js +1 -1
  350. package/source/smart.ajax.js +1 -1
  351. package/source/smart.array.js +1 -1
  352. package/source/smart.barcode.js +1 -1
  353. package/source/smart.bootstrap.js +1 -1
  354. package/source/smart.breadcrumb.js +1 -1
  355. package/source/smart.button.js +1 -1
  356. package/source/smart.buttongroup.js +1 -1
  357. package/source/smart.calendar.js +1 -1
  358. package/source/smart.card.js +1 -1
  359. package/source/smart.cardview.js +1 -1
  360. package/source/smart.carousel.js +1 -1
  361. package/source/smart.chart.annotations.js +1 -1
  362. package/source/smart.chart.api.js +1 -1
  363. package/source/smart.chart.core.js +1 -1
  364. package/source/smart.chart.js +1 -1
  365. package/source/smart.chart.rangeselector.js +1 -1
  366. package/source/smart.chart.waterfall.js +1 -1
  367. package/source/smart.checkbox.js +1 -1
  368. package/source/smart.checkinput.js +1 -1
  369. package/source/smart.chip.js +1 -1
  370. package/source/smart.colorinput.js +1 -1
  371. package/source/smart.colorpanel.js +1 -1
  372. package/source/smart.colorpicker.js +1 -1
  373. package/source/smart.combobox.js +1 -1
  374. package/source/smart.complex.js +1 -1
  375. package/source/smart.core.js +1 -1
  376. package/source/smart.countryinput.js +1 -1
  377. package/source/smart.data.js +2 -2
  378. package/source/smart.date.js +2 -2
  379. package/source/smart.dateformatpanel.js +1 -1
  380. package/source/smart.dateinput.js +1 -1
  381. package/source/smart.daterangeinput.js +1 -1
  382. package/source/smart.datetimepicker.js +2 -2
  383. package/source/smart.dockinglayout.js +1 -1
  384. package/source/smart.draw.js +1 -1
  385. package/source/smart.dropdownbutton.js +1 -1
  386. package/source/smart.dropdownlist.js +2 -2
  387. package/source/smart.editor.js +2 -2
  388. package/source/smart.element.js +1 -1
  389. package/source/smart.elements.js +17 -17
  390. package/source/smart.export.js +1 -1
  391. package/source/smart.fileupload.js +1 -1
  392. package/source/smart.filter.js +1 -1
  393. package/source/smart.filterbuilder.js +1 -1
  394. package/source/smart.filterpanel.js +1 -1
  395. package/source/smart.form.js +1 -1
  396. package/source/smart.format.js +1 -1
  397. package/source/smart.formulaparser.js +1 -1
  398. package/source/smart.ganttchart.js +1 -1
  399. package/source/smart.gauge.js +1 -1
  400. package/source/smart.grid.cell.js +2 -2
  401. package/source/smart.grid.chart.js +1 -1
  402. package/source/smart.grid.column.js +1 -1
  403. package/source/smart.grid.core.js +2 -2
  404. package/source/smart.grid.dialog.js +2 -2
  405. package/source/smart.grid.edit.js +2 -2
  406. package/source/smart.grid.export.js +1 -1
  407. package/source/smart.grid.filter.js +1 -1
  408. package/source/smart.grid.group.js +2 -2
  409. package/source/smart.grid.js +1 -1
  410. package/source/smart.grid.menu.js +1 -1
  411. package/source/smart.grid.pager.js +1 -1
  412. package/source/smart.grid.reorder.js +2 -2
  413. package/source/smart.grid.resize.js +1 -1
  414. package/source/smart.grid.row.js +1 -1
  415. package/source/smart.grid.select.js +2 -2
  416. package/source/smart.grid.sort.js +2 -2
  417. package/source/smart.grid.toolbar.js +2 -2
  418. package/source/smart.grid.tree.js +1 -1
  419. package/source/smart.grid.view.js +2 -2
  420. package/source/smart.gridpanel.js +1 -1
  421. package/source/smart.input.js +1 -1
  422. package/source/smart.kanban.js +2 -2
  423. package/source/smart.layout.js +1 -1
  424. package/source/smart.led.js +1 -1
  425. package/source/smart.listbox.js +1 -1
  426. package/source/smart.listmenu.js +1 -1
  427. package/source/smart.map.js +1 -1
  428. package/source/smart.maskedtextbox.js +1 -1
  429. package/source/smart.math.js +1 -1
  430. package/source/smart.menu.js +1 -1
  431. package/source/smart.multicomboinput.js +1 -1
  432. package/source/smart.multiinput.js +1 -1
  433. package/source/smart.multilinetextbox.js +1 -1
  434. package/source/smart.multisplitbutton.js +1 -1
  435. package/source/smart.numberformatpanel.js +1 -1
  436. package/source/smart.numberinput.js +1 -1
  437. package/source/smart.numeric.js +1 -1
  438. package/source/smart.numerictextbox.js +1 -1
  439. package/source/smart.pager.js +1 -1
  440. package/source/smart.passwordinput.js +1 -1
  441. package/source/smart.passwordtextbox.js +1 -1
  442. package/source/smart.path.js +1 -1
  443. package/source/smart.phoneinput.js +1 -1
  444. package/source/smart.pivottable.js +1 -1
  445. package/source/smart.powerbutton.js +1 -1
  446. package/source/smart.progressbar.js +1 -1
  447. package/source/smart.qrcode.js +1 -1
  448. package/source/smart.radiobutton.js +1 -1
  449. package/source/smart.rating.js +1 -1
  450. package/source/smart.ribbon.js +1 -1
  451. package/source/smart.router.js +1 -1
  452. package/source/smart.scheduler.js +2 -2
  453. package/source/smart.scrollbar.js +1 -1
  454. package/source/smart.slider.js +1 -1
  455. package/source/smart.sortable.js +1 -1
  456. package/source/smart.splitter.js +1 -1
  457. package/source/smart.switchbutton.js +1 -1
  458. package/source/smart.table.js +1 -1
  459. package/source/smart.tabs.js +1 -1
  460. package/source/smart.tank.js +1 -1
  461. package/source/smart.textarea.js +1 -1
  462. package/source/smart.textbox.js +1 -1
  463. package/source/smart.tickintervalhandler.js +1 -1
  464. package/source/smart.timeinput.js +1 -1
  465. package/source/smart.timepicker.js +1 -1
  466. package/source/smart.toast.js +1 -1
  467. package/source/smart.tooltip.js +1 -1
  468. package/source/smart.tree.js +1 -1
  469. package/source/smart.validationpanel.js +1 -1
  470. package/source/smart.validator.js +1 -1
  471. package/source/smart.window.js +1 -1
  472. package/source/styles/components/smart.grid.css +1 -1
  473. package/source/styles/components/smart.kanban.css +1 -1
  474. package/source/styles/default/scss/smart.grid.scss +14 -3
  475. package/source/styles/default/scss/smart.kanban.scss +13 -2
  476. package/source/styles/default/smart.grid.css +15 -3
  477. package/source/styles/default/smart.kanban.css +1607 -1599
  478. package/source/styles/smart.default.css +2 -2
  479. package/source/typescript/smart.elements.d.ts +1 -11
  480. package/source/typescript/smart.ganttchart.d.ts +0 -10
  481. package/source/typescript/smart.ribbon.d.ts +1 -1
  482. package/splitter/splitter.d.ts +0 -1
  483. package/splitter/splitter.esm.js +23 -11
  484. package/splitter/splitter.umd.js +12 -4
  485. package/splitter/splitterbar.d.ts +0 -1
  486. package/splitter/splitteritem.d.ts +0 -1
  487. package/switchbutton/switchbutton.d.ts +0 -1
  488. package/switchbutton/switchbutton.esm.js +15 -9
  489. package/switchbutton/switchbutton.umd.js +4 -2
  490. package/table/pivottable.d.ts +0 -1
  491. package/table/sortable.d.ts +0 -1
  492. package/table/table.d.ts +0 -1
  493. package/table/table.esm.js +15 -9
  494. package/table/table.umd.js +4 -2
  495. package/tabs/tabs.d.ts +0 -1
  496. package/tabs/tabs.esm.js +23 -11
  497. package/tabs/tabs.umd.js +12 -4
  498. package/tabs/tabswindow.d.ts +0 -1
  499. package/tabswindow/tabswindow.d.ts +0 -1
  500. package/tabswindow/tabswindow.esm.js +15 -9
  501. package/tabswindow/tabswindow.umd.js +4 -2
  502. package/tank/tank.d.ts +0 -1
  503. package/tank/tank.esm.js +15 -9
  504. package/tank/tank.umd.js +4 -2
  505. package/textarea/textarea.d.ts +0 -1
  506. package/textarea/textarea.esm.js +15 -9
  507. package/textarea/textarea.umd.js +4 -2
  508. package/textbox/maskedtextbox.d.ts +0 -1
  509. package/textbox/multilinetextbox.d.ts +0 -1
  510. package/textbox/numerictextbox.d.ts +0 -1
  511. package/textbox/passwordtextbox.d.ts +0 -1
  512. package/textbox/textbox.d.ts +0 -1
  513. package/textbox/textbox.esm.js +23 -11
  514. package/textbox/textbox.umd.js +12 -4
  515. package/threedchart/threedchart.d.ts +0 -1
  516. package/threedchart/threedchart.esm.js +15 -9
  517. package/threedchart/threedchart.umd.js +4 -2
  518. package/timeinput/timeinput.d.ts +0 -1
  519. package/timeinput/timeinput.esm.js +15 -9
  520. package/timeinput/timeinput.umd.js +4 -2
  521. package/timepicker/datetimepicker.d.ts +0 -1
  522. package/timepicker/timepicker.d.ts +0 -1
  523. package/timepicker/timepicker.esm.js +15 -9
  524. package/timepicker/timepicker.umd.js +4 -2
  525. package/toast/toast.d.ts +0 -1
  526. package/toast/toast.esm.js +15 -9
  527. package/toast/toast.umd.js +4 -2
  528. package/tooltip/tooltip.d.ts +0 -1
  529. package/tooltip/tooltip.esm.js +15 -9
  530. package/tooltip/tooltip.umd.js +4 -2
  531. package/tree/tree.d.ts +0 -1
  532. package/tree/tree.esm.js +23 -11
  533. package/tree/tree.umd.js +12 -4
  534. package/tree/treeitem.d.ts +0 -1
  535. package/tree/treeitemsgroup.d.ts +0 -1
  536. package/validator/validator.d.ts +0 -1
  537. package/validator/validator.esm.js +15 -9
  538. package/validator/validator.umd.js +4 -2
  539. package/waitwindow/waitwindow.d.ts +0 -1
  540. package/waitwindow/waitwindow.esm.js +15 -9
  541. package/waitwindow/waitwindow.umd.js +4 -2
  542. package/window/alertwindow.d.ts +0 -1
  543. package/window/dialogwindow.d.ts +0 -1
  544. package/window/multilinewindow.d.ts +0 -1
  545. package/window/progresswindow.d.ts +0 -1
  546. package/window/promptwindow.d.ts +0 -1
  547. package/window/tabswindow.d.ts +0 -1
  548. package/window/waitwindow.d.ts +0 -1
  549. package/window/window.d.ts +0 -1
  550. package/window/window.esm.js +15 -9
  551. package/window/window.umd.js +4 -2
@@ -1,6 +1,6 @@
1
1
 
2
- /* Smart UI v17.0.3 (2023-10-20)
2
+ /* Smart UI v17.0.17 (2023-11-08)
3
3
  Copyright (c) 2011-2023 jQWidgets.
4
4
  License: https://htmlelements.com/license/ */ //
5
5
 
6
- Smart.Utilities.Assign("Grid.Cell",class{constructor(e,t){const l=this;if(l.row=e,l.column=t,l.grid=e.grid,l.rowSpan=1,l.colSpan=1,l.value=void 0,l.fontSize=null,l.fontWeight=null,l.fontFamily=null,l.fontStyle=null,l.color=null,l.background=null,l.textDecoration=null,l.tooltip=null,l.align=null,l.verticalAlign=null,l.readonly=!1,l.oldValue=void 0,l._updating=!1,l.styleChanged=!0,l.editor=null,l.template=null,l.isEditing=!1,l.canNotify=!0,l.selected=!1,l.focused=!1,l.error=!1,l.format=null,l.formula=null,e._style){const t=e._style;l.color=t.color,l.background=t.background,l.fontFamily=t.fontFamily,l.fontSize=t.fontSize,l.fontStyle=t.fontStyle,l.textDecoration=t.textDecoration,l.fontWeight=t.fontWeight}return new Proxy(l,{deleteProperty:function(e,t){return delete e[t],!0},get:function(e,t){if("value"===t){const e=l.column.displayField?l.row.data[l.column.displayField]:l.row.data[l.column.dataField];if(l.grid&&l.grid.formulas&&l.formula){const e=l.grid._formulaParser;if(e)return e.parse(l.formula.slice(1))}return e}if("editor"===t||"template"===t)return e[t]||l.column[t];if("focused"===t){if(l.grid.selection.allowCellSelection&&l.grid._selection.focusedCell&&l.grid._selection.focusedCell.id===l.row.id&&l.grid._selection.focusedCell.dataField===l.column.dataField)return!(l.grid&&l.grid.dataSource.virtualDataSource&&!l.grid.dataSource.id)||l.grid._selection.focusedCell.id===l.row.index;if(l.grid.selection.allowRowSelection&&l.grid._selection.focusedCell&&l.grid._selection.focusedCell.id===l.row.id&&l.grid._selection.focusedCell.dataField===l.column.dataField)return!(l.grid&&l.grid.dataSource.virtualDataSource&&!l.grid.dataSource.id)||l.grid._selection.focusedCell.id===l.row.index;const e=l.parent();return!!(e&&l.grid.selection.allowCellSelection&&l.grid._selection.focusedCell&&l.grid._selection.focusedCell.id===e.row.id&&l.grid._selection.focusedCell.dataField===e.column.dataField)}if("selected"===t)return!0===l.row.getProperty("selected")||!0===l.column.getProperty("selected")||!!l.grid._selection.cells["row"+l.row.id]&&l.grid._selection.cells["row"+l.row.id][l.column.dataField];if("modifiedValue"===t){l.grid._cellsUpdatedValues||(l.grid._cellsUpdatedValues=[]);const t=l.grid._cellsUpdatedValues[l.row.id+"_"+l.column.dataField];return void 0!==t?t:e.value}return e[t]},set:function(e,a,i){const r=this.get(e,a);return r===i||(e[a]=i,!("element"!==a&&"isEditing"!==a&&"oldValue"!==a&&"_updating"!==a&&"notifyFn"!==a&&!a.startsWith("_")&&"canNotify"!==a)||("error"===a||("focused"===a&&(l.grid._selection.focusedCell={id:l.row.id,dataField:l.column.dataField,value:l.value,index:l.row.index}),"colSpan"!==a&&"rowSpan"!==a||i>=0&&-1===l.grid._cellsMerge.indexOf(l)&&l.grid._cellsMerge.push(l),"row"===a||"column"===a||"grid"===a||"styleChanged"===a||"formula"===a||("background"!==a&&"fontSize"!==a&&"fontWeight"!==a&&"fontFamily"!==a&&"textDecoration"!==a&&"color"!==a&&"fontStyle"!==a||(l.grid._cellStyles["row"+l.row.id]=!0,l.grid._cellStyles.length++,l._styleChanged=!0),"value"===a&&(void 0===l.oldValue&&(l.oldValue=r),(()=>{l.grid.dataSource.boundSource.canNotify=!1,null===i&&(l.column.allowNull||(i="number"===l.column.dataType||"int"===l.column.dataType||"float"===l.column.dataType||"integer"===l.column.dataType?0:"date"===l.column.dataType?new Date:"boolean"!==l.column.dataType&&"bool"!==t.dataType&&"")),void 0===i&&(i=null),null!==i&&i.label&&i.value?(l.row.data[l.column.displayField]=i.label,l.row.data[l.column.dataField]=i.value):(l.column.valueField&&(l.row.data[l.column.valueField]=i),l.row.data[l.column.dataField]=i);const e=l.grid.dataSource.dataItemById[l.row.id];if(e){const t=e.$.index;l.grid.dataSource&&i!==l.grid.dataSource.boundSource[t][l.column.dataField]&&(l.grid._sortedColumns&&l.grid._sortedColumns.length>0?e[l.column.dataField]=i:l.grid.dataSource.boundSource[t][l.column.dataField]=i)}l.grid.dataSource.boundSource.canNotify=!0})()),"selected"===a&&(l.grid._selection.cells["row"+l.row.id]&&(delete l.grid._selection.cells["row"+l.row.id][l.column.dataField],1===Object.getOwnPropertyNames(l.grid._selection.cells["row"+l.row.id]).length&&delete l.grid._selection.cells["row"+l.row.id]),l.grid._selection.cells["column"+l.column.dataField]&&(delete l.grid._selection.cells["column"+l.column.dataField][l.row.id],1===Object.getOwnPropertyNames(l.grid._selection.cells["column"+l.column.dataField]).length&&delete l.grid._selection.cells["column"+l.column.dataField]),i&&(l.grid._selection.cells["row"+l.row.id]||(l.grid._selection.cells["row"+l.row.id]=[]),l.grid._selection.cells["column"+l.column.dataField]||(l.grid._selection.cells["column"+l.column.dataField]=[]),l.grid._selection.cells["row"+l.row.id][l.column.dataField]=!0,l.grid._selection.cells["column"+l.column.dataField][l.row.id]=!0)),!(!l._updating&&l.canNotify&&(l.grid._recycle(),l.row.canNotify&&(l.propertyChanged&&l.propertyChanged(name.substring(1),r),0)))))))}})}setStyle(e){this.setProperties(e)}_setStyle(e){const t=this;if(t._styleChanged){if(!t.grid._cellStyles.length)return;let l="";const a={background:"background",color:"color",fontSize:"font-size",fontFamily:"font-family",fontWeight:"font-weight",fontStyle:"font-style",textDecoration:"text-decoration"},i=e=>{const i=t[e];if(""===i||null===i)return;const r=a[e];l+=`${r}: ${i};`},r=["background","color","fontSize","fontFamily","fontWeight","fontStyle","textDecoration"];for(let e=0;e<r.length;e++)i(r[e]);e.getAttribute("style")!==l&&(""===l?e.removeAttribute("style"):e.setAttribute("style",l)),""!==e.style.paddingBottom&&(e.style.paddingBottom=""),t._styleChanged=!1}t.grid&&!t.grid.appearance.showSelectionOnTop||t.selected&&(t.background||t.color)&&(e.style.background="",e.style.color="")}getFormattedValue(e,t){const l=this;if(null==e||""===e)return e;if(!t)return""+e;if(l.column._cellsCachedValues||(l.column._cellsCachedValues=[]),l.column._cellsCachedValues[""+e+t+l.column.grid.locale])return l.column._cellsCachedValues[""+e+t+l.column.grid.locale];if("date"===l.column.dataType||"datetime"===l.column.dataType||"time"===l.column.dataType){if("dateRangeInput"===l.column.editor.template){if(Array.isArray(e)){const a=l.formatDate(e[0],t)+" - "+l.formatDate(e[1],t);return l.column._cellsCachedValues[""+e+t+l.column.grid.locale]=a,a}{const a=l.formatDate(e,t);return l.column._cellsCachedValues[""+e+t+l.column.grid.locale]=a,a}}let a=l.formatDate(e,t);return"1/1/0001 12:00 AM"===a&&(a=""),l.column._cellsCachedValues[""+e+t+l.column.grid.locale]=a,a}if("int"===l.column.dataType||"int64"===l.column.dataType||"float"===l.column.dataType||"number"===l.column.dataType){let a=l.formatNumber(e,t);return"NaN"===a&&(a=""),l.column._cellsCachedValues[""+e+t+l.column.grid.locale]=a,a}if("any"===l.column.dataType||"string"===l.column.dataType&&t&&t.length){let a=!1;if(t.indexOf("d")>=0&&t.indexOf("M")>=0&&(a=!0),(t.indexOf("d")>=0||t.indexOf("M")>=0||t.indexOf("y")>=0||t.indexOf("h")>=0||t.indexOf("H")>=0||t.indexOf("m")>=0)&&(a=!0),a){let a=l.formatDate(e,t);return"1/1/0001 12:00 AM"===a&&(a=""),l.column._cellsCachedValues[""+e+t+l.column.grid.locale]=a,a}{"string"==typeof e&&(e=parseFloat(e));let a=l.formatNumber(e,t);return"NaN"===a&&(a=""),l.column._cellsCachedValues[""+e+t+l.column.grid.locale]=a,a}}return e}formatDate(e,t){if(!Smart.Utilities.DateTime)return e;const l=this,a=l.grid;if(l.column.formatSettings.Intl&&l.column.formatSettings.Intl.DateTimeFormat)return new Intl.DateTimeFormat(this.grid.locale,l.column.formatSettings.Intl.DateTimeFormat).format(e);!t&&l.column.formatSettings.dateFormat&&(t=l.column.formatSettings.dateFormat);try{const l=new Smart.Utilities.DateTime(e);l.calendar.locale=a.locale,a.messages[a.locale]&&a.messages[a.locale].calendar&&(a.messages[a.locale].calendar.months&&(l.calendar.months=a.messages[a.locale].calendar.months),a.messages[a.locale].calendar.days&&(l.calendar.days=a.messages[a.locale].calendar.days),void 0!==a.messages[a.locale].calendar.firstDay&&(l.calendar.firstDay=a.messages[a.locale].calendar.firstDay),void 0!==a.messages[a.locale].calendar.eras&&(l.calendar.eras=a.messages[a.locale].calendar.eras),void 0!==a.messages[a.locale].calendar.AM&&(l.calendar.AM=a.messages[a.locale].calendar.AM),void 0!==a.messages[a.locale].calendar.PM&&(l.calendar.PM=a.messages[a.locale].calendar.PM),void 0!==a.messages[a.locale].calendar["/"]&&(l.calendar["/"]=a.messages[a.locale].calendar["/"]),void 0!==a.messages[a.locale].calendar[":"]&&(l.calendar[":"]=a.messages[a.locale].calendar[":"]),l.calendar.today=a.messages[a.locale].today);let i=l.toString(t);return i!==a.messages[a.locale].today||a.showTodayDateAsString||(l.showTodayDateAsString=!1,i=l.toString(t),delete l.showTodayDateAsString),i}catch(t){return e}}formatNumber(e,t){if(!Smart.Utilities.NumberRenderer)return e;const l=this,a=l.grid;if(l.column.formatSettings.Intl&&l.column.formatSettings.Intl.NumberFormat){if(l.column.formatSettings.Intl.NumberFormat.currency&&Smart.Utilities.CurrencyFormatter){const t=void 0!==l.column.formatSettings.Intl.NumberFormat.maximumFractionDigits?l.column.formatSettings.Intl.NumberFormat.maximumFractionDigits:2,a=(new Smart.Utilities.CurrencyFormatter).format(e,{decimalPlaces:t,currency:l.column.formatSettings.Intl.NumberFormat.currency});return"accounting"===l.column.formatSettings.Intl.NumberFormat.currency.currencySign&&e<0?"("+a.replace("-","")+")":a}if(l.column.formatSettings.Intl.NumberFormat.locale)return new Intl.NumberFormat(l.column.formatSettings.Intl.NumberFormat.locale,l.column.formatSettings.Intl.NumberFormat).format(e);{const t=new Intl.NumberFormat(this.grid.locale,l.column.formatSettings.Intl.NumberFormat).format(e);return"squaremeter"===l.column.formatSettings.Intl.NumberFormat.type?t+" m²":"cubicmeter"===l.column.formatSettings.Intl.NumberFormat.type?t+" m³":t}}const i=new Smart.Utilities.NumberRenderer;if(i.localizationObject){const e=l.column.formatSettings,t=a.messages[a.locale]?a.messages[a.locale].calendar:{};e.decimalPlaces&&(i.localizationObject.decimalPlaces=e.decimalPlaces),(e.decimalSeparator||t.decimalSeparator)&&(i.localizationObject.decimalSeparator=e.decimalSeparator||t.decimalSeparator,i.localizationObject.decimalseparator=i.localizationObject.decimalSeparator),(e.thousandsSeparator||t.thousandsSeparator)&&(i.localizationObject.thousandsSeparator=e.thousandsSeparator||t.thousandsSeparator,i.localizationObject.thousandsseparator=i.localizationObject.thousandsSeparator),i.localizationObject.currencysymbol=t.currencySymbol,i.localizationObject.currencysymbolposition=t.currencySymbolPosition,e.prefix&&(i.localizationObject.currencysymbol=e.prefix),e.sufix&&(i.localizationObject.currencysymbol=e.sufix,i.localizationObject.currencysymbolposition="after")}const r=i.formatNumber(e,t);return void 0===r?e:e<0&&l.column.formatSettings.negativeWithBrackets?"("+r+")":r}refresh(){const e=this;if(e.element){const t=e.element.firstChild;e._setStyle(t)}}autoWrap(){const e=this;e.element&&e.element._autoWrap()}setProperties(e){const t=this;t._updating=!0;for(let l in e)t[l]=e[l];t._updating=!1,t.grid._recycle()}createElement(){const e=document.createElement("smart-grid-cell");return e.setAttribute("role","gridcell"),this.element=e,e._initialize(this),e}render(){this.element&&this.element._render()}parent(e){const t=this,l=t.row,a=t.column.dataField,i=t.grid;if(!i._cellsMerge.length)return null;if(t.__parentCells&&void 0!==t.__parentCells["row"+l.id+"_column_"+a])return t.__parentCells["row"+l.id+"_column_"+a];let r=i.getVisibleRows();i.paging.enabled&&"page"===i.selection.selectAllMode&&(r=r.slice(i.paging.pageIndex*i.paging.pageSize,(i.paging.pageIndex+1)*i.paging.pageSize)),t.__parentCells||(t.__parentCells=[]);for(let n=0;n<i._cellsMerge.length;n++){const s=i._cellsMerge[n];let o=[],d=[];if(o.push(s.row),s.rowspan>1){const e=r.indexOf(s.row);if(e>=0)for(let t=e;t<e+s.rowSpan;t++)r[t]&&-1===o.indexOf(r[t])&&o.push(r[t])}if(d.push(s.column.dataField),s.colspan>1){const e=i.columns.indexOf(i.columnByDataField[s.column.dataField]);for(let t=e;t<e+s.colSpan;t++)i.columns[t]&&-1===d.indexOf(i.columns[t].dataField)&&d.push(i.columns[t].dataField)}if(o.indexOf(l)>=0&&d.indexOf(a)>=0){if(e){const e={cell:s.row.getCell(s.column.dataField),rows:o,columns:d,row:s.row,column:s.column,endRow:o[o.length-1],endColumn:i.columnByDataField[d[d.length-1]]};return t.__parentCells["row"+l.id+"_column_"+a]=e,e}const r=s.row.getCell(s.column.dataField);return t.__parentCells["row"+l.id+"_column_"+a]=r,r}}return t.__parentCells["row"+l.id+"_column_"+a]=null,null}}),Smart("smart-grid-cell",class extends Smart.BaseElement{static get properties(){return{}}get hasStyleObserver(){return!1}get enableShadowDOM(){return!1}addThemeClass(){}addDefaultClass(){}get isUtilityElement(){return!0}_refresh(){const e=this;e.innerHTML="",e._initialize(e.cell)}_createToggleButton(e,t){const l=this,a=document.createElement("div"),i=document.createElement("button"),r=document.createElement("div"),n=document.createElement("div"),s=document.createElement("div"),o=document.createElement("span"),d=t.grid;t.row.expanded?i.setAttribute("toggled",""):i.removeAttribute("toggled",""),i.tabIndex=-1,l.toggleButton=i,l.checkbox=s,e.appendChild(a),e.appendChild(n),n.setAttribute("content",""),a.setAttribute("indent",""),r.setAttribute("label",""),i.setAttribute("toggle-button",""),s.setAttribute("checkbox",""),s.setAttribute("role","checkbox"),l.setAttribute("has-toggle-button",""),n.appendChild(i),n.appendChild(s),o.classList.add("smart-input"),s.appendChild(o),d.checkBoxes.visible?o.classList.remove("smart-hidden"):o.classList.add("smart-hidden"),n.appendChild(r),l.content=r}_initialize(e){const t=this,l=document.createElement("div"),a=e.column,i=e.grid;t._properties=[],t.cell=e,t.appendChild(l);let r=!1;if(a&&a._treeColumn&&i.dataSource.boundHierarchy&&(r=!0,e.row.filterRow&&(r=!1),!i.grouping.enabled&&i.dataSource.groupBy&&i.dataSource.groupBy.length>0&&(r=!1),i.grouping.enabled&&i.dataSource.groupBy&&0===i.dataSource.groupBy.length&&(r=!1)),r)return t._createToggleButton(l,e),void(t.isRendered=!0);{const e=document.createElement("div");l.appendChild(e)}t.content=l,t.isRendered=!0}_renderCommands(){const e=this,t=e.cell.grid;if(t.__cellsCommandTemplate)return e.firstChild.innerHTML=t.__cellsCommandTemplate,void t._updateCommandColumnCommandsVisibility(e.firstChild,e.cell.row);const l=t._getCommandColumnCommandsTemplate();e.firstChild.innerHTML=l,t._updateCommandColumnCommandsVisibility(e.firstChild,e.cell.row),t.__cellsCommandTemplate=l}_renderGroupCell(){const e=this,t=e.cell.grid,l=e.cell.column,a=e.cell.row;[...e.attributes].forEach((t=>e.removeAttribute(t.name))),e.setAttribute("group","");const i=l===t._firstRenderedColumn;e.style.width!==l.computedWidth+"px"&&(e.style.width=l.computedWidth+"px"),i||(t.rightToLeft?e.style.right!==l.left+"px"&&(e.style.right=l.left+"px"):e.style.left!==l.left+"px"&&(e.style.left=l.left+"px")),e.classList.contains("smart-hidden")&&e.classList.remove("smart-hidden"),l===t._firstRenderedColumn||a.summaryRow||e.classList.add("smart-hidden"),l.autoGenerated&&(e.style.width="0px");let r=a.label;const n=function(e,t,l){if(!t)return[];for(let a=0;a<t.length;a++){const i=t[a];i.$&&!1===i.$.filtered||(void 0!==i[e]&&l.push(i),i.summaryRow||(i.children||i.data&&i.data.children)&&n(e,i.children,l))}return l};if(void 0!==a.label){let s="",o=[];if(t.grouping.summaryRow.visible){const r=n(l.dataField,a.summaryRow?a.parent.data.children:a.data.children,[]),d={},c=i?l.summary.length>0?l.summary:["count"]:l.summary;d[l.dataField]=c;const m=c.length>0?t.dataSource.summarize([d],r):null;if(m)for(let n=0;n<c.length;n++){const u=c[n];n>0&&(s+=", ");let p=m[l.dataField][u];const g=l.cellsFormat;if(g&&(p=e.cell.getFormattedValue(p,g)),i){const l=t.columnByDataField[a.groupDataField];if(l){d[l.dataField]=c,p=(c.length>0?t.dataSource.summarize([d],r):null)[l.dataField][u];const a=l.cellsFormat;a&&(p=e.cell.getFormattedValue(p,a))}}s+=t.localize(u,{value:p}),o.push(m[l.dataField][u])}}if(t.dataSource.virtualDataSourceOnExpand&&(s=""),i){const l=t.columnByDataField[a.groupDataField],i=l?l.label:"";if("advanced"===t.grouping.renderMode){if(a.summaryRow)r="<div header group-advanced><span group></span><span value></span>",s&&(r+="<div summary>",r+=s,r+="</div>");else{let e=a.label?a.label:t.localize("blankSummary");a.label||"taskStatus"!==a.groupDataField||(e="");let n="";if(l&&l.editor&&l.editor.dataSource){const t=l.editor.dataSource.find((t=>t.value===e||t.label===e));t&&t.color?(n=`--smart-primary: ${t.color}`,t.label&&(e=t.label)):t&&t.label&&(e=t.label)}if(a.label||"taskStatus"!==a.groupDataField||(e=t.localize("uncategorized")),"object"==typeof e&&l.cellsFormat){const t=a.getCell(l.dataField);e=t.getFormattedValue(e,l.cellsFormat)}else if("object"==typeof e&&e&&e instanceof Date){const t=a.getCell(l.dataField);e=t.getFormattedValue(e,"d")}r=`<div style="${n}" header group-advanced><span group>${t.editing.addNewRow.visible?'<span add-row class="smart-grid-icon smart-icon-plus-circled show"></span>':""}${i}: </span><span value>${e}</span>`,s&&t.grouping.summaryRow.inline&&(r+="<span summary>",r+=""+s,r+="</span>")}r+="</div>",e.classList.add("smart-grid-column-border-collapse")}else if("compact"===t.grouping.renderMode){if(a.summaryRow)r="<div header><span group></span><span value></span>",s&&(r+="<div summary>",r+=s,r+="</div>");else{let e=a.label;"object"==typeof e&&l.cellsFormat&&(e=a.getCell(l.dataField).getFormattedValue(e,l.cellsFormat)),r="<div header><span group>"+i+": </span><span value>"+e+"</span>",s&&t.grouping.summaryRow.inline&&(r+="<span summary>",r+=" ("+o+")",r+="</span>")}r+="</div>",e.classList.add("smart-grid-column-border-collapse")}else("basic"===t.grouping.renderMode||"multipleColumns"===t.grouping.renderMode)&&(r=a.label,"object"==typeof r&&l.cellsFormat&&(r=a.getCell(l.dataField).getFormattedValue(r,l.cellsFormat)),a.summaryRow?s&&(r+="<div summary>",r+=s,r+="</div>"):s&&t.grouping.summaryRow.inline&&(r+="<span summary>",r+=" ("+o+")",r+="</span>"),e.classList.add("smart-grid-column-border-collapse"));e.setAttribute("has-toggle-button","")}else e.removeAttribute("has-toggle-button",""),r=s}let s=e.firstChild;if(t.dataSource.boundHierarchy&&i){s.children.length<=1&&(e.innerHTML="<div></div>",s=e.firstChild,e._createToggleButton(s,e.cell),s=e.firstChild);const n=s.children[0],o=s.children[1].children[0],d=s.children[1].children[1].firstChild,c=s.children[1].children[2];n.setAttribute("indent",""),a.checked?d.setAttribute("checked",""):!1===a.checked?d.removeAttribute("checked"):null===a.checked&&d.setAttribute("checked","indeterminate"),a.leaf?o.classList.add("smart-visibility-hidden"):(o.classList.remove("smart-visibility-hidden"),a.expanded?o.setAttribute("toggled",""):o.removeAttribute("toggled",""));let m="";if(!l._treeColumn||a.summaryRow||a.filterRow?e.toggleButton.classList.add("smart-hidden"):e.toggleButton.classList.remove("smart-hidden"),l._treeColumn)if(t.grouping.enabled){let e=a.level-1;if(1+e===0)m+="",n.classList.add("smart-hidden");else{if("multipleColumns"===t.grouping.renderMode){let l=0;for(let a=0;a<t.columns.length;a++)a<1+e&&(l+=t.columns[a].computedWidth);m+='<div style="width: '+l+'px;"></div>'}else m+='<div style="width: '+(1+e)*t.grouping.groupIndent+'px;"></div>';n.classList.remove("smart-hidden")}}else for(let e=0;e<a.level;e++)m+="<div class='smart-indent'></div>";if(void 0===a.label||a.summaryRow||a.filterRow?o.classList.add("smart-hidden"):(o.classList.remove("smart-hidden"),o.style.marginLeft=""),n.innerHTML=m,c.innerHTML=r,i&&t.grouping.formatFunction){const i={row:a,column:l,cell:e.cell,value:r,template:null};t.grouping.formatFunction(i),i.value!==r?c.innerHTML=i.value:i.template&&(c.innerHTML=i.template)}t.appearance.showTooltips?c.setAttribute("title",a.label?a.label:t._unescapeString(r)):c.hasAttribute("title")&&c.removeAttribute("title")}else void 0!==a.label&&t.grouping.enabled&&!i&&(s.innerHTML=r);let o="smart-label";e.style.zIndex="";const d=t.editing.addNewColumn.visible?t._addNewColumn.width-1:0;if(i){const l=t.columnByDataField[a.groupDataField];l.cellsAlign&&(o+=" align-"+l.cellsAlign),l.cellsVerticalAlign&&(o+=" align-"+l.cellsVerticalAlign),e.setAttribute("header",""),a.summaryRow||(e.style.width="calc(100% - "+d+"px)"),void 0!==a.label&&(e.style.zIndex=11)}else l===t._firstRenderedColumn&&(e.style.zIndex=4),e.setAttribute("header",""),a.summaryRow||(e.style.width="calc(100% - "+d+"px)");if(a.summaryRow&&(e.setAttribute("header",""),e.classList.add("smart-grid-column-border-collapse"),l.cellsAlign&&(o+=" align-"+l.cellsAlign),l.cellsVerticalAlign&&(o+=" align-"+l.cellsVerticalAlign)),s.className!==o&&(s.className=o),l.formatFunction){const t={row:a,column:l,cell:e.cell,value:null,template:null,group:{value:r,template:null}};l.formatFunction(t),t.group.value!==r&&(l._treeColumn?s.children[1].children[2].innerHTML=t.group.value:s.innerHTML=t.group.value),null!==t.group.template&&(s.innerHTML=t.group.template)}}_renderFilterCell(e){const t=this,l=t.cell.grid,a=t.cell.column;let i;const r=(e,t)=>{l._handleFilterMenuClick(e,t)};l._filterInfo||(l._filterInfo={},l._filterInfo.stringConditions=[{icon:"smart-icon-contains",command:r,value:"CONTAINS",label:l.localize("CONTAINS")},{icon:"smart-icon-does-not-contain",command:r,value:"DOES_NOT_CONTAIN",label:l.localize("DOES_NOT_CONTAIN")},{icon:"smart-icon-starts-with",command:r,value:"STARTS_WITH",label:l.localize("STARTS_WITH")},{icon:"smart-icon-ends-with",command:r,value:"ENDS_WITH",label:l.localize("ENDS_WITH")},{icon:"smart-icon-equals",command:r,value:"EQUAL",label:l.localize("EQUAL")},{icon:"smart-icon-delete",command:r,value:"CLEAR_FILTER",label:l.localize("CLEAR_FILTER")}],l._filterInfo.numberAndDateConditions=[{icon:"smart-icon-equals",command:r,value:"EQUAL",label:l.localize("EQUAL")},{icon:"smart-icon-not-equal",command:r,value:"NOT_EQUAL",label:l.localize("NOT_EQUAL")},{icon:"smart-icon-less-than",command:r,value:"LESS_THAN",label:l.localize("LESS_THAN")},{icon:"smart-icon-less-than-equal",command:r,value:"LESS_THAN_OR_EQUAL",label:l.localize("LESS_THAN_OR_EQUAL")},{icon:"smart-icon-greater-than",command:r,value:"GREATER_THAN",label:l.localize("GREATER_THAN")},{icon:"smart-icon-greater-than-equal",command:r,value:"GREATER_THAN_OR_EQUAL",label:l.localize("GREATER_THAN_OR_EQUAL")},{icon:"smart-icon-between",command:r,value:"RANGE",label:l.localize("RANGE")},{icon:"smart-icon-delete",command:r,value:"CLEAR_FILTER",label:l.localize("CLEAR_FILTER")}]),i="string"===a.dataType?l._filterInfo.stringConditions:l._filterInfo.numberAndDateConditions;let n="smart-icon-search";if(a._filterInfo||(a._filterInfo={condition:""}),a.filterEditor&&a.filterEditor.condition&&(a._filterInfo.condition=a.filterEditor.condition),a.filterEditor&&a.filterEditor.value&&(a._filterInfo.value=a.filterEditor.value),a._filterInfo.dataSource=i,null===a._filterInfo.condition||void 0===a._filterInfo.condition)a._filterInfo.condition="",n="smart-icon-search";else switch(a._filterInfo.condition.toLowerCase()){case"equal":n="smart-icon-equals";break;case"starts_with":n="smart-icon-starts-with";break;case"ends_with":n="smart-icon-ends-with";break;case"not_equal":n="smart-icon-not-equal";break;case"less_than":n="smart-icon-less-than";break;case"less_than_or_equal":n="smart-icon-less-than-or-equal";break;case"greater_than":n="smart-icon-greater-than";break;case"greater_than_or_equal":n="smart-icon-greater-than-or-equal";break;case"contains":n="smart-icon-contains";break;case"does_not_contain":n="smart-icon-does-not-contain";break;case"range":n="smart-icon-between";break;default:n="smart-icon-search"}let s=`<div class="smart-filter-input-type"><i class="smart-grid-icon ${n} show"></i></div> `;if("string"===a.dataType)s+=`<input class="smart-filter-input-value" data-type="${a.dataType}" /> `,e.innerHTML=s;else if("date"===a.dataType){const i=new Smart.Utilities.DateTime;s+=`<input placeholder = "${i.expandFormat(i.calendar,a.cellsFormat||"d")}" class="smart-filter-input-value" data-type="${a.dataType}"/><div class="smart-filter-input-type"><i class="smart-grid-icon smart-icon-calendar show"></i></div>`,e.innerHTML=s,e.lastElementChild.onpointerdown=function(){l._handleFilterCalendarCellClick(t.cell)}}else if("number"===a.dataType)s+='<div class="smart-grid-cell-editor smart-filter-input-value smart-grid-number-input-cell-editor"><input class="smart-input" type="number"><div tabindex="-1" class="nav"><div tabindex="-1" class="up"></div><div tabindex="-1" class="down"></div></div></div>',e.innerHTML=s,l._handleFilterNumberCellEditor(this.cell,e);else if("boolean"===a.dataType||"bool"===a.dataType){const i=document.createElement("div");i.classList.add("smart-input"),i.classList.add("smart-grid-check-box-cell-editor"),i.classList.add("smart-filter-input-value"),e.tabIndex=0,e.style.outline="none",t.setAttribute("template","checkBox"),i.setAttribute("checked","indeterminate"),a._filterInfo&&a._filterInfo.value?i.setAttribute("checked",""):a._filterInfo&&!1===a._filterInfo.value&&i.removeAttribute("checked"),s=i.outerHTML,e.innerHTML=s,e.classList.add("align-center"),e.classList.add("smart-label"),e.onfocus=()=>{e.setAttribute("focus","")},e.onblur=()=>{e.removeAttribute("focus","")},e.onclick=e=>{e.target.classList.contains("smart-input")&&l._handleFilterCellCheckBoxClick(this.cell)}}const o=e.querySelector("input");if(o&&(e.firstElementChild.onpointerdown=function(){l._handleFilterCellIconClick(this.cell)}.bind(this),o.onfocus=function(){l._handleFilterCellFocus(this.cell)}.bind(this),o.onblur=function(){l._handleFilterCellBlur(this.cell)}.bind(this),o.onkeyup=function(e){l._handleFilterCellKeyUp(this.cell,e)}.bind(this),o.onkeydown=function(e){l._handleFilterCellKeyDown(this.cell,e)}.bind(this)),e.classList.add("smart-filter-input-container"),a._filterInfo.input=o,a._filterInfo.cell=t.cell,a._filterInfo.editor=e,a._filterInfo.value&&o&&(o.value=a._filterInfo.value,"date"===a.dataType&&(o.value=t.cell.getFormattedValue(a._filterInfo.value,a.cellsFormat))),a.allowFilter||(o.disabled=!0),a.filterEditor)if(a.filterEditor.template){const t=a.filterEditor.template,l=document.createElement("div");a.filterTemplate instanceof HTMLTemplateElement?l.appendChild(t.content.cloneNode(!0)):t instanceof HTMLElement?l.appendChild(t):l.innerHTML=t,e.innerHTML="",e.appendChild(l),l.style.height="100%",l.style.width="100%";const i=e.querySelector("input");i&&(i.onfocus=()=>{e.setAttribute("focus","")},i.onblur=()=>{e.removeAttribute("focus","")}),a.filterEditor.onInit&&a.filterEditor.onInit(a,l)}else void 0!==a.filterEditor.min&&(o.min=a.filterEditor.min),void 0!==a.filterEditor.max&&(o.max=a.filterEditor.max),void 0!==a.filterEditor.minLength&&(o.minLength=a.filterEditor.minLength),void 0!==a.filterEditor.maxLength&&(o.maxLength=a.filterEditor.maxLength),void 0!==a.filterEditor.placeholder&&(o.placeholder=a.filterEditor.placeholder),void 0!==a.filterEditor.value&&(o.value=a.filterEditor.value),void 0!==a.filterEditor.step&&(o.step=a.filterEditor.step),void 0!==a.filterEditor.disabled&&(o.disabled=a.filterEditor.disabled),void 0!==a.filterEditor.condition&&(a._filterInfo.condition=a.filterEditor.condition),a.filterEditor.onInit&&a.filterEditor.onInit(a,e)}_setTemplate(e,t,l){const a=this,i=a.cell.grid,r=a.cell.column;let n=null;switch((!i.editing.enabled||!r.allowEdit||a.cell.readonly||"none"===i.editing.action||i.editing.enabled&&i.editing.commandColumn.visible&&i.editing.editRow!==a.cell.row)&&a.setAttribute("readonly",""),t){case"checkBox":case"radioButton":case"switchButton":n=document.createElement("span"),n.className="smart-input",e?n.setAttribute("checked",""):null===e?n.setAttribute("checked","indeterminate"):n.removeAttribute("checked"),a.setAttribute("template",a.cell.template);break;case"checklist":if(e&&e.indexOf("[")>=0&&(e=JSON.parse(e)),l.firstElementChild&&l.firstElementChild.hasAttribute("value")){const t=l.firstElementChild.getAttribute("value");if(e&&t===e.length)return a.cell._setStyle(l),void a.setAttribute("template",a.cell.template)}if(e&&Array.isArray(e)&&e.length>0){const t=e.filter((e=>e.completed)).length,l=["#D50000","#F4511E","#F6BF26","#33B679"],a=t+"/"+e.length;let i=l[0];t===e.length?i=l[3]:t>0&&t<e.length&&(i=l[2]),e=`<div style="display: grid; grid-template-columns: 25px auto"><div style="margin-left: 4px; align-self: center; border-radius: 50%; display: flex; align-content: center; background: ${i}; width:16px; height: 16px;"><span title="${a}" style="align-content: center; font-size: 13px; color: white;" class="smart-grid-icon show smart-icon-check"></span></div>${a}</span></div>`}else e="";n=document.createElement("span"),n.innerHTML=e,a.setAttribute("template",a.cell.template),n.setAttribute("value",e.length);break;case"createdBy":case"updatedBy":{const e=a.cell.row;let s=null,o=null;if(s="createdBy"===t?e.createdBy:e.updatedBy,l.firstElementChild&&l.firstElementChild.hasAttribute("user-id")){if(s===parseInt(l.firstElementChild.getAttribute("user-id")))return a.cell._setStyle(l),void a.setAttribute("template",a.cell.template);if(null!=s&&-1!==s){o=i.users.find((e=>e.id===s));const e=o;if(e){const t=l.firstElementChild.firstElementChild&&l.firstElementChild.firstElementChild.firstElementChild?l.firstElementChild.firstElementChild.firstElementChild.firstElementChild:null;if(t){l.firstElementChild.setAttribute("user-id",s);const a="string"==typeof e?e:e.name,i="string"==typeof e?null:e.color;if(("string"==typeof e?null:e.image)&&(t.firstElementChild.style.backgroundImage=`url('${e.image}')`),i){const e=new Smart.Color(i).getInvertedColor();t.setAttribute("data-item",a),t.setAttribute("title",a),t.setAttribute("backgroundColor",i),t.setAttribute("color",e),t.lastElementChild.textContent=a}else t.setAttribute("data-item",a),t.setAttribute("title",a),t.setAttribute("backgroundColor",""),t.setAttribute("color","");return}}}}const d=document.createElement("div");d.classList.add("smart-multi-combo-input"),d.setAttribute("data-field",r.dataField),d.setAttribute("row-id",a.cell.row.id),d.style.width="100%",d.style.paddingRight="6px";let c='<div class="smart-flex smart-flex-auto smart-tokens-layout">';if(null!=s&&-1!==s){o=i.users.find((e=>e.id===s));const e=o;if(e){const t="string"==typeof e?e:e.name,l="string"==typeof e?null:e.color,a="string"==typeof e?null:e.image,i=document.createElement("span");a&&(i.style.backgroundImage=`url('${e.image}')`,i.className="smart-drop-down-list-selection-image"),c+=l?'<span title="'+t+'" data-item="'+t+'" style="background: '+l+"; color: "+new Smart.Color(l).getInvertedColor()+'; overflow: visible;" class="smart-truncate smart-token">'+i.outerHTML+"<span class='smart-drop-down-list-selection-label' role=\"presentation\">"+t+"</span></span>":'<span title="'+t+'" data-item="'+t+'" class="smart-truncate smart-token">'+i.outerHTML+"<span class='smart-drop-down-list-selection-label' role=\"presentation\">"+t+"</span></span>"}else c=""}d.innerHTML=c+"</div>";const m=document.createElement("div");m.classList.add("smart-multi-combo-input-container","tokens","smart-flex","smart-flex-auto"),d.classList.add("smart-flex-auto"),m.appendChild(d),n=m,n.setAttribute("user-id",s),a.setAttribute("template",a.cell.template);break}case"collaborator":case"tags":{let s=[];"number"==typeof e&&(e=""+e);let o=!1===i.editing.enabled?"smart-visibility-hidden":"",d=r.editor.dataSource&&r.editor.dataSource.length;if(r.editor.collaborator&&(d=i.users&&i.users.length),d||(o="smart-visibility-hidden"),""===e||null===e||"uncategorized"===e){let e=`\n <div class="smart-multi-combo-input-container tokens smart-flex smart-flex-auto" data-field="${r.dataField}" row-id="${a.cell.row.id}"> \n <div class="smart-multi-combo-input" data-field="${r.dataField}" row-id="${a.cell.row.id}" class="tokens smart-flex smart-flex-auto">\n <div class=" smart-flex-auto smart-flex"></div>\n </div>\n <span class="smart-arrow-down arrowbtn ${o}"></span>\n </div>\n `;l.innerHTML!==e&&(l.firstElementChild&&l.firstElementChild.firstElementChild&&l.firstElementChild.firstElementChild.firstElementChild&&""===l.firstElementChild.firstElementChild.firstElementChild.textContent?(l.firstElementChild.setAttribute("row-id",a.cell.row.id),l.firstElementChild.firstElementChild.setAttribute("row-id",a.cell.row.id)):l.innerHTML=e);const t=l.querySelector(".smart-arrow-down");return t&&(t.onpointerdown=e=>{if(i.editing.enabled){const t=e.target.previousElementSibling,l=t.getAttribute("data-field"),a=t.closest("smart-grid-row").getAttribute("data-id");i.beginEdit(a,l)}e.stopPropagation(),e.preventDefault()}),void a.setAttribute("template",a.cell.template)}if(null!==e&&(s=Array.isArray(e)?s.map((e=>e.trim())):e.indexOf("{")>=0||"[]"===e?JSON.parse(e):e.split(",").map((e=>e.trim()))),l.firstElementChild&&l.firstElementChild.hasAttribute("value")&&r.editor._items&&l.firstElementChild.getAttribute("value")===e){if(a.cell._setStyle(l),a.setAttribute("template",a.cell.template),l.firstElementChild&&l.firstElementChild.firstElementChild&&l.firstElementChild.firstElementChild.firstElementChild)if(l.firstElementChild.firstElementChild.firstElementChild.classList.remove("smart-flex-wrap"),a.cell.row.height>45){l.firstElementChild.firstElementChild.firstElementChild.classList.add("smart-flex-wrap");const e=l.firstElementChild.firstElementChild.firstElementChild;if(e.children&&e.children.length>1)for(let t=0;t<e.children.length;t++)e.children[t].style.maxWidth&&(e.children[t].style.maxWidth="")}else if(i.layout.rowHeight<=45&&a.cell.row.height<=45){const e=l.firstElementChild.firstElementChild.firstElementChild;if(e.children&&e.children.length>1){const t=parseInt(r.computedWidth/e.children.length)-5;let l=0;for(let t=0;t<e.children.length;t++)l+=e.children[t].textContent.length,e.children[t].style.maxWidth="";if(14*l*.52+20*e.children.length>r.computedWidth)for(let l=0;l<e.children.length;l++)e.children[l].style.maxWidth=t+"px"}}return}const c=document.createElement("div");c.classList.add("smart-multi-combo-input"),c.setAttribute("data-field",r.dataField),c.setAttribute("row-id",a.cell.row.id);let m='<div class="smart-tokens-layout smart-flex smart-flex-auto">';s.length>2&&a.cell.row.height>45&&(m='<div style="max-width: '+(r.computedWidth-10)+'px" class="smart-flex smart-flex-wrap">');let u=0;if(e)for(let e=0;e<s.length;e++){const l=s[e];let a=null;if("collaborator"===t||r.editor&&r.editor.collaborator)a=i.users.find((e=>{if("string"==typeof l||"number"==typeof l){if(e.value===l||parseInt(e.value)===parseInt(l))return e;if(e.id===l||parseInt(e.id)===parseInt(l))return e}else if("object"==typeof l&&e.value===l.value)return e})),a&&(a.label=a.name);else if(r.editor.dataSource)if("string"==typeof l&&r.editor._items&&r.editor._items[l])a=r.editor._items[l];else for(let e=0;e<r.editor.dataSource.length;e++){const t=r.editor.dataSource[e];if(void 0!==t.value&&void 0!==l&&void 0!==l.value&&t.value===l.value){a=t,r.editor._items||(r.editor._items=[]),r.editor._items[l]=t;break}if(void 0===t.value&&t===l||void 0!==t.value&&""+t.value===l){a=t,r.editor._items||(r.editor._items=[]),r.editor._items[l]=t;break}}else a=l;if(!a)continue;const n="string"==typeof a?a:a.label,o="string"==typeof a?null:a.color,d="string"==typeof a?null:a.image;if(""===n)continue;const c=document.createElement("span");d&&(c.style.backgroundImage=`url('${a.image}')`,c.className="smart-drop-down-list-selection-image");const p="smart-truncate";if(o&&r.editor.colorItems?m+='<span title="'+n+'" data-item="'+n+'" style="background: '+o+"; color: "+new Smart.Color(o).getInvertedColor()+'; overflow: visible;" class="'+p+' smart-token">'+c.outerHTML+"<span class='smart-drop-down-list-selection-label' role=\"presentation\">"+n+"</span>":m+='<span title="'+n+'" data-item="'+n+'" class="'+p+' smart-token">'+c.outerHTML+"<span class='smart-drop-down-list-selection-label' role=\"presentation\">"+n+"</span>",u+=n.length,r.editor.dataSource){if(r.editor.singleSelect){m+="</span>";break}m+='<span class=\'smart-hidden smart-drop-down-list-unselect-button\' role="button" aria-label="Unselect"></span></span>'}else m+="</span>"}c.innerHTML=m+"</div>";const p=14*u*.52,g=c.firstElementChild;if(i.layout.rowHeight<=45&&a.cell.row.height<=45&&c&&g.children.length>1&&p+20*g.children.length>r.computedWidth){const e=parseInt(r.computedWidth/g.children.length)-5;for(let t=0;t<g.children.length;t++)g.children[t].style.maxWidth=e+"px"}if(c.style.width="100%",c.style.paddingRight="6px",c.onpointerdown=e=>{if(!i._mobile)if(e.target&&"#text"!==e.target.nodeName&&e.target.classList.contains("smart-drop-down-list-unselect-button")){let t=e.target.parentNode.getAttribute("data-item");if(r.editor.dataSource&&"string"==typeof t&&r.editor.dataSource)for(let e=0;e<r.editor.dataSource.length;e++)r.editor.dataSource[e].label===t&&(t=r.editor.dataSource[e],t.value&&(t=t.value));if(s[0]&&s[0].label){const l=s.map((e=>e.value)),n=l.indexOf(t);if(n>=0){s.splice(n,1);const t=a.cell.value,l=s.join(", ");i.setCellValue(a.cell.row.id,r.dataField,JSON.stringify(s)),i.onCellUpdate&&i.onCellUpdate([a.cell],[t],[l],(function(){}),a),e.preventDefault(),e.stopPropagation()}}else if(s.indexOf(t)>=0){s.splice(s.indexOf(t),1);const l=a.cell.value,n=s.join(", ");i.setCellValue(a.cell.row.id,r.dataField,n),i.onCellUpdate&&i.onCellUpdate([a.cell],[l],[n],(function(){}),a),e.preventDefault(),e.stopPropagation()}}else if(e.target.classList.contains("smart-drop-down-list-selection-label")){if(i.editing.enabled){const t=e.target.parentElement.parentElement,l=t.getAttribute("data-field"),a=t.getAttribute("row-id");i.beginEdit(a,l)}e.stopPropagation(),e.preventDefault()}},!r.cellsWrap&&r.allowEdit&&i.editing.enabled){const e=document.createElement("span");e.classList.add("smart-arrow-down","arrowbtn");let t=r.editor.dataSource&&r.editor.dataSource.length;r.editor.collaborator&&(t=i.users&&i.users.length),t||e.classList.add("smart-visibility-hidden");const l=document.createElement("div");l.classList.add("smart-multi-combo-input-container","tokens","smart-flex","smart-flex-auto"),c.classList.add("smart-flex-auto"),c.classList.remove("smart-flex-wrap"),s.length>2&&i.layout.rowHeight>45&&(c.classList.add("smart-flex-wrap"),c.style.maxWidth=r.computedWidth-10+"px"),i.rightToLeft&&(c.style.direction="rtl"),l.appendChild(c),"input"!==r.editor.template&&l.appendChild(e),n=l,e.onpointerdown=e=>{if(!i._mobile){if(i.editing.enabled){const t=e.target.previousElementSibling,l=t.getAttribute("data-field"),a=t.closest("smart-grid-row").getAttribute("data-id");i.beginEdit(a,l)}e.stopPropagation(),e.preventDefault()}}}else if(r.cellsWrap||r.allowEdit){const e=document.createElement("div");e.classList.add("smart-multi-combo-input-container","tokens","smart-flex","smart-flex-auto"),c.classList.add("smart-flex-auto"),c.classList.remove("smart-flex-wrap"),s.length>2&&i.layout.rowHeight>45&&(c.classList.add("smart-flex-wrap"),c.style.maxWidth=r.computedWidth-10+"px"),i.rightToLeft&&(c.style.direction="rtl"),e.appendChild(c),n=e}else c.classList.add("smart-flex-auto"),n=c;a.setAttribute("template",a.cell.template),n.setAttribute("value",e);break}case"dropDownList":case"dropdownlist":case"list":{const t=document.createElement("div");if(l.firstElementChild&&l.firstElementChild.hasAttribute("value")&&l.firstElementChild.getAttribute("value")===e)return a.cell._setStyle(l),void a.setAttribute("template",a.cell.template);if(t.innerHTML='<span class="smart-truncate">'+e+"</span>",r.allowEdit&&i.editing.enabled){const e=document.createElement("span");e.classList.add("smart-arrow-down","arrowbtn");const l=document.createElement("div");l.classList.add("smart-multi-combo-input-container","tokens","smart-flex","smart-flex-auto"),t.classList.add("smart-flex-auto","smart-multi-combo-input"),l.appendChild(t),l.appendChild(e),l.classList.add(a.cell.template.toLowerCase()),n=l,e.onpointerdown=e=>{if(!i._mobile){if(i.editing.enabled){const t=e.target.closest("smart-grid-cell"),l=e.target.closest("smart-grid-row"),r=t.getAttribute("data-field"),n=l.getAttribute("data-id");if(i.beginEdit(n,r),a.cell.column.editor&&a.cell.column.editor.instance){const e=a.cell.column.editor,t=e.instance.element;!e.autoOpen&&t.open?t.open():!e.autoOpen&&t.firstElementChild&&t.firstElementChild.open&&setTimeout((()=>{t.firstElementChild.open()}),250)}}e.stopPropagation(),e.preventDefault()}}}else n=t;a.setAttribute("template",a.cell.template.toLowerCase()),n.setAttribute("value",e);break}case"password":l.innerHTML=e?'<span class="smart-truncate">'+e.replace(/./g,"*")+"</span>":"",a.setAttribute("template",a.cell.template);break;case"richText":if(l.innerHTML=e?'<div class="textwrap" style="height: 100%; padding-left: 5px;">'+i._unescapeString(e)+"</div>":"",i.layout.autoWrap&&a.cell.row.height>40&&1===a.cell.colSpan&&"string"===r.dataType&&14*e.length*.52>r.computedWidth){const e=parseInt(a.cell.row.height/20);l.firstElementChild.style["-webkit-line-clamp"]=e}a.setAttribute("template",a.cell.template);break;case"color":l.innerHTML=`<span style="left: calc(50% - 12px); top: calc(50% - 12px); position: absolute; border-radius: 50%; width: 24px; height: 24px; display: block; background:${e};"></span>`,a.setAttribute("template",a.cell.template);break;case"autoNumber":n=document.createElement("span"),n.innerHTML=1+a.cell.row.visibleIndex,a.setAttribute("template",a.cell.template);break;case"createdDate":case"createdTime":{const e=a.cell.getFormattedValue(a.cell.row.createdDate,"d"),t=a.cell.getFormattedValue(a.cell.row.createdDate,"t");if(l.firstElementChild&&l.firstElementChild.hasAttribute("created-date")){const a=e+" "+t;a!==l.firstElementChild.textContent&&(l.firstElementChild.textContent=a)}else l.innerHTML='<span created-date class="align-left smart-truncate">'+e+" "+t+"</span>";a.cell._setStyle(l),a.setAttribute("template",a.cell.template);break}case"updatedDate":case"updatedTime":if(a.cell.row.updatedDate){const e=a.cell.getFormattedValue(a.cell.row.updatedDate,"d"),t=a.cell.getFormattedValue(a.cell.row.updatedDate,"t");if(l.firstElementChild&&l.firstElementChild.hasAttribute("updated-date")){const a=e+" "+t;a!==l.firstElementChild.textContent&&(l.firstElementChild.textContent=a)}else l.innerHTML='<span updated-date class="align-left smart-truncate">'+a.cell.getFormattedValue(a.cell.row.updatedDate,"d")+" "+a.cell.getFormattedValue(a.cell.row.updatedDate,"t")+"</span>"}else l.innerHTML="";a.cell._setStyle(l),a.setAttribute("template",a.cell.template);break;case"progress":{const t=e?parseInt(100*e)+"%":"0%";if(l.firstElementChild&&l.firstElementChild.hasAttribute("value")&&t===l.firstElementChild.getAttribute("value"))return a.cell._setStyle(l),void a.setAttribute("template",a.cell.template);const i="white",r=["#D50000","#F4511E","#F6BF26","#33B679"];let n=r[0];n=e<.25?r[0]:e<.5?r[1]:e<.75?r[2]:r[3],l.innerHTML='<div value="'+t+'" style="padding-left: 5px; padding-right: 5px; display: grid; grid-template-columns: 1fr auto"><div style="height: 100%; display: flex; align-items: center; width: '+t+';"><div title="'+t+'" style="width: 100%; height: 4px; background: '+n+"; color: "+i+';" class="smart-truncate smart-token"></div></div><span>'+t+"</span></div>",a.setAttribute("template",a.cell.template);break}case"rating":{const t=a.cell.column.editor.max?a.cell.column.editor.max:5,r=e?parseInt(e):0;if(l.firstElementChild&&l.firstElementChild.hasAttribute("value")&&r===parseInt(l.firstElementChild.getAttribute("value")))return a.cell._setStyle(l),void a.setAttribute("template",a.cell.template);const n=e=>{let l="";for(let a=0;a<t;a++){let t="";e>0&&e>a&&(t="value"),l+=`<div rating-value title="${a+1}" value="${a+1}" class="smart-grid-icon show smart-icon-star ${t}"></div>`}return l};l.innerHTML=`<div value="${r}" class="rating">${n(r)}</div>`;const s=e=>{if(!i._mobile&&e.hasAttribute("rating-value")){const t=e.getAttribute("value"),l=e.closest("smart-grid-cell"),r=e.closest("smart-grid-row");if(l&&r){const e=l.querySelector(".rating"),s=r.getAttribute("data-id"),o=l.getAttribute("data-field"),d=i.rowById[s],c=i.getCellValue(s,o),m=l.cell;let u=null;i.storeHistory&&(u=i._stringifyRow(d)),c===t?(r.row.data[o]=0,e.innerHTML=n(0),e.setAttribute("value",0)):(r.row.data[o]=t,e.innerHTML=n(t),e.setAttribute("value",t));const p=r.row.data[o];i._setCellUndoRedo(m,c,p),i.onCellUpdate([m],[c],[p],(function(e){i.onCellUpdated&&i.onCellUpdated([m.row.index],[m.row],[m.column],[m.row.data],[c],[p],a),i._onCellUpdated&&i._onCellUpdated(m.row.index,m.row,m.column,m.row.data,c,p)}),a);const g=e=>{if(e!==c&&(d.updatedDate=new Date,d.updatedBy=a.currentUser,i.storeHistory)){const t=i._stringifyRow(d);t[m.column.dataField]=e,i._updateRowHistory(d,u,t)}};if(i.onCellUpdate&&i.onRowHistory){const e=i.onRowHistory;i.onRowHistory=null,g(p),setTimeout((()=>{i.onRowHistory=e}),100)}else g(p);const f=l.querySelector(".rating"),h=parseInt(t)-1;f.children[h].classList.add("down"),setTimeout((()=>{f.children[h].classList.remove("down")}),1e3)}}},o=(e,t=!0)=>{if(e&&[...e.querySelectorAll(".smart-icon-star")].forEach((e=>{e.classList.remove("hover")})),e.hasAttribute("value")){const l=[...e.parentElement.children],a=l.indexOf(e);l.forEach(((e,l)=>{e.classList.remove("hover"),l<=a&&t&&e.classList.add("hover")}))}};i.handleRatingClick||(i._handleRatingMove=o,i._handleRatingClick=s),l.firstElementChild.onpointerdown=e=>{s(e.target)},l.firstElementChild.onpointermove=e=>{o(e.target)},l.firstElementChild.onpointerleave=e=>{o(e.target)},a.setAttribute("template",a.cell.template);break}case"duration":{const t=e;if(l.firstElementChild&&l.firstElementChild.hasAttribute("value")&&t===l.firstElementChild.getAttribute("value"))return a.cell._setStyle(l),void a.setAttribute("template",a.cell.template);if(e){const t=864e5;let r="MMM dd",n="MMM dd";if("string"==typeof e[0]&&(Array.isArray(e)?(e[0]=new Date(e[0]),e[1]=new Date(e[1])):((e=e.split(","))[0]=new Date(e[0]),e[1]=new Date(e[1]))),Array.isArray(e)){e[0]&&"string"==typeof e[0]&&(e[0]=new Date(e[0])),e[1]&&"string"==typeof e[1]&&(e[1]=new Date(e[1])),e[1].getMonth()===e[0].getMonth()&&(n="dd"),e[0].getFullYear()!==(new Date).getFullYear()&&(r+=", yyyy","dd"===n?(r="MMM dd",n+=", yyyy"):n=r);let s=!1;0===e[0].getHours()&&0===e[0].getHours()||(r+=" hh:mm","dd"===n?n=r:n+=" hh:mm",s=!0);let o=null;o=Math.round(e[1].getTime()-e[0].getTime())/t;const d=o?parseInt(Math.abs(o).toFixed(0)):0;if(d>0){const t=a.cell.getFormattedValue(e[0],r)+" - "+a.cell.getFormattedValue(e[1],n);let s="";s=i.localize("days",{value:d}),l.innerHTML=`<div style="display: grid; grid-template-columns: 5px auto 25px"><span></span><span>${t}</span><span style="font-size: 11px;" class="smart-quiet">${s}</span></div>`}else{let t="";if(s){const i=e[1]-e[0],n=Math.floor(i%864e5/36e5);let s=Math.round(i%864e5%36e5/6e4);s<10&&(s+="0"+s),t=n+":"+s;const o=a.cell.getFormattedValue(e[0],r)+" - "+a.cell.getFormattedValue(e[1],"hh:mm");l.innerHTML=`<div style="display: grid; grid-template-columns: 5px auto 25px"><span></span><span>${o}</span><span style="font-size: 11px;" class="smart-quiet">${t}</span></div>`}else{const i=a.cell.getFormattedValue(e[0],r);l.innerHTML=`<div style="display: grid; grid-template-columns: 5px auto 25px"><span></span><span>${i}</span><span style="font-size: 11px;" class="smart-quiet">${t}</span></div>`}}}}else l.innerHTML="";a.setAttribute("template",a.cell.template),l.firstElementChild&&l.firstElementChild.setAttribute("value",t);break}case"startDate":{const t=e;if(l.firstElementChild&&l.firstElementChild.hasAttribute("value")&&t===l.firstElementChild.getAttribute("value"))return a.cell._setStyle(l),void a.setAttribute("template",a.cell.template);let n=e;if(r.cellsFormat?n=a.cell.getFormattedValue(e,r.cellsFormat):r.formatSettings&&r.formatSettings.Intl&&(n=a.cell.getFormattedValue(e,r.formatSettings.Intl)),e){const t=864e5,s="string"==typeof e?new Date(e):e;let o=i.columnByDataField.taskDueDate;r.editor.boundDataField&&(o=i.columnByDataField[r.editor.boundDataField]);const d=o?a.cell.row.data[o.dataField]:"";let c=null;d&&(c=Math.round(s.getTime()-d.getTime())/t);const m=c?parseInt(Math.abs(c).toFixed(0)):0;if(m>0){let e="";e=i.localize("days",{value:m}),l.innerHTML=`<div style="display: grid; grid-template-columns: 25px auto 25px"><span style="color: var(--smart-primary);" title="${e}" class="smart-icon-clock smart-grid-icon show"></span><span>${n}</span><span style="font-size: 11px;" class="smart-quiet">${e}</span></div>`}else l.innerHTML='<div style="padding-left: 6px;">'+n+"</div>"}else l.innerHTML="";a.setAttribute("template",a.cell.template),a.setAttribute("value",t);break}case"dueDate":{const t=e;if(l.firstElementChild&&l.firstElementChild.hasAttribute("value")&&t===l.firstElementChild.getAttribute("value"))return a.cell._setStyle(l),void a.setAttribute("template",a.cell.template);const n=["#D50000","#F4511E","#F6BF26","#33B679"],s=new Date;s.setHours(0,0,0);let o=e;r.cellsFormat?o=a.cell.getFormattedValue(e,r.cellsFormat):r.formatSettings&&r.formatSettings.Intl&&(o=a.cell.getFormattedValue(e,r.formatSettings.Intl));const d=(e,t)=>{const l=e<=8?e/8:1;return`<div title="${t}" class="smart-element smart-circular-progress-bar" style="background: inherit; padding-left:4px; position: relative; top: calc(50% - 12px); padding-top:4px; width: 20px; height: 20px;">\n <div class="smart-container">\n <svg style="background: var(--smart-background);"width="100%" height="100%" viewPort="0 0 100 100" viewBox="0 0 100 100" role="presentation" aria-hidden="true">\n <circle id="value" class="smart-value-path" r="50" cx="50" cy="50" transform="rotate(270 50 50)"></circle>\n <circle id="value" style="stroke-dashoffset: ${100*Math.PI-(1-l)*Math.PI*100}; stroke-width: 100%;" class="smart-value" r="50" cx="50" cy="50" transform="rotate(270 50 50)"></circle>\n </svg>\n </div>\n </div>\n `};if(e){const c=864e5,m="string"==typeof e?new Date(e):e,u=Math.round(m.getTime()-s.getTime())/c,p=parseInt(Math.abs(u).toFixed(0));let g=i.columnByDataField.taskStatus;r.editor.boundDataField&&(g=i.columnByDataField[r.editor.boundDataField]);const f=g?a.cell.row.data[g.dataField]:"";if("done"===f||"complete"===f||"completed"===f||"finished"===f){let e=i.localize("done");l.innerHTML=`<div style="display: grid; grid-template-columns: 25px auto"><div style="margin-left: 4px; align-self: center; border-radius: 50%; display: flex; align-content: center; background: ${n[3]}; width:16px; height: 16px;"><span title="${e}" style="align-content: center; font-size: 13px; color: white;" class="smart-grid-icon show smart-icon-check"></span></div>${o}</span></div>`}else{let e="";e=0===p?i.localize("today"):1===p?t<s?i.localize("yesterday"):i.localize("tomorrow"):t<s?i.localize("daysOverdue",{value:p}):i.localize("daysLeft",{value:p}),l.innerHTML=t>=s?`<div style="display: grid; grid-template-columns: 25px auto">${d(p,e)}<span>${o}</span></div>`:`<div style="display: grid; grid-template-columns: 25px auto"><span title="${e}" style="font-size: 16px; color: ${n[0]}" class="smart-grid-icon show smart-icon-attention-circled"></span>${o}</span></div>`}}else l.innerHTML="";a.setAttribute("template",a.cell.template),a.setAttribute("value",t);break}case"attachments":{if(""===e||"[]"===e){const e=`<div class="container"><div class="attachments"><div title="${i.localize("addFiles")}" class="smart-grid-icon show smart-icon-plus"></div></div></div>`;return l.innerHTML!==e&&(l.innerHTML=e,l.onpointerdown=e=>{if(e.target.classList.contains("smart-icon-plus")){if(i._mobile)return;if(i.editing.enabled){const t=e.target.closest("smart-grid-cell"),l=t.getAttribute("data-field"),a=t.closest("smart-grid-row").getAttribute("data-id");i.beginEdit(a,l),t.querySelector(".smart-icon-plus").onpointerdown()}e.stopPropagation(),e.preventDefault()}}),a.cell._setStyle(l),void a.setAttribute("template",a.cell.template)}if(l.firstElementChild&&l.firstElementChild.hasAttribute("value")){const t=l.firstElementChild.getAttribute("value");if(e&&e.indexOf(t)>=0)return a.cell._setStyle(l),a.setAttribute("template",a.cell.template),void(l.firstElementChild.evaluateScroll&&l.firstElementChild.evaluateScroll());if(t&&e&&Array.isArray(e)&&e[0]&&e[0].value&&t.length===e[0].value.length)return a.cell._setStyle(l),void a.setAttribute("template",a.cell.template)}const t=document.createElement("div"),r=document.createElement("div");t.classList.add("container"),r.classList.add("attachments");let s=e;if(i._findIsFile(s)){let e="";if(s)try{e=JSON.parse(s)}catch(e){console.log(e)}s=e}if("string"==typeof s&&(s.indexOf("[{")>=0||s.indexOf("}]")>=0)){let e="";if(s)try{e=JSON.parse(s)}catch(e){console.log(e)}s=e}Array.isArray(s)&&s.forEach((e=>{const l=document.createElement("div");l.title=e.label,l.classList.add("item"),l.innerHTML="<div></div>",l.firstElementChild.classList.add("smart-grid-icon","show","attachment"),e.label.indexOf("png")>=0||e.label.indexOf("jpg")>=0||e.label.indexOf("jpeg")>=0||e.label.indexOf("gif")>=0?l.firstElementChild.classList.add("smart-icon-image"):e.label.indexOf(".pdf")>=0?l.firstElementChild.classList.add("smart-icon-pdf"):e.label.indexOf(".tsv")>=0||e.label.indexOf(".txt")>=0||e.label.indexOf(".csv")>=0?l.firstElementChild.classList.add("smart-icon-text"):e.label.indexOf(".xls")>=0||e.label.indexOf(".xlsx")>=0?l.firstElementChild.classList.add("smart-icon-excel"):e.label.indexOf(".ppt")>=0?l.firstElementChild.classList.add("smart-icon-powerpoint"):e.label.indexOf(".zip")>=0||e.label.indexOf(".rar")>=0||e.label.indexOf(".7z")>=0?l.firstElementChild.classList.add("smart-icon-archive"):e.label.indexOf(".doc")>=0||e.label.indexOf(".docx")>=0?l.firstElementChild.classList.add("smart-icon-word"):l.firstElementChild.classList.add("smart-icon-file"),t.appendChild(l)}));const o=document.createElement("div");o.classList.add("smart-arrow-left","arrowbtn","smart-hidden");const d=document.createElement("div");d.classList.add("smart-arrow-right","arrowbtn");const c=document.createElement("div");if(c.classList.add("smart-icon-plus","smart-grid-icon","show"),c.title=i.localize("addFiles"),r.appendChild(c),r.onpointerdown=e=>{if(e.target.classList.contains("attachment")){const t=JSON.parse(a.cell.value),l=[...r.children[1].children].indexOf(e.target.parentNode);if(t[l]){const e=document.createElement("a");if(t[l].value.indexOf(window.location.host)>=0)fetch(t[l].value).then((e=>e.blob())).then((a=>{const i=URL.createObjectURL(a);e.download=t[l].label,e.href=i,e.click()}));else{if(t[l].value.indexOf("base64")>=0){const a=i._getFileFromBase64(t[l].value);e.href=URL.createObjectURL(a)}else e.href=t[l].value;e.target="_blank",e.click()}}e.stopPropagation(),e.preventDefault()}else if("DIV"===e.target.nodeName&&e.target.classList.contains("arrowbtn")){let l=parseInt(t.style.marginLeft);isNaN(l)&&(l=0);const i=o===e.target,r=t.scrollWidth-a.offsetWidth+30;t.style.marginLeft=i?Math.min(0,l+25)+"px":Math.max(-r,l-25)+"px",l=parseInt(t.style.marginLeft),0===l?o.classList.add("smart-hidden"):o.classList.remove("smart-hidden"),e.stopPropagation(),e.preventDefault()}},t.children.length){r.appendChild(t);const e=25*s.length;e-a.offsetWidth+30>30&&(r.appendChild(o),r.appendChild(d)),r.evaluateScroll=()=>{const l=e-a.offsetWidth+30;t.style.marginLeft="0px",o.classList.add("smart-hidden"),l<0?d.classList.add("smart-hidden"):d.classList.remove("smart-hidden"),l>30&&(r.appendChild(o),r.appendChild(d))},n=r}else n=document.createElement("div");a.setAttribute("template",a.cell.template),e&&e[0]&&e[0].value?n.setAttribute("value",e[0].value):s&&s[0]&&s[0].label?n.setAttribute("value",s[0].label):n.setAttribute("value",e);break}case"images":{if(""===e||"[]"===e){const e=`<div class="container"><div class="images"><div title="${i.localize("addImages")}" class="smart-grid-icon show smart-icon-plus"></div></div></div>`;return e!==l.innerHTML&&(l.innerHTML=e,l.onpointerdown=e=>{if(e.target.classList.contains("smart-icon-plus")){if(i._mobile)return;if(i.editing.enabled){const t=e.target.closest("smart-grid-cell"),l=t.getAttribute("data-field"),a=t.closest("smart-grid-row").getAttribute("data-id");i.beginEdit(a,l),t.querySelector(".smart-icon-plus").onpointerdown()}e.stopPropagation(),e.preventDefault()}}),a.cell._setStyle(l),void a.setAttribute("template",a.cell.template)}if(!i._recycleFiles&&l.firstElementChild&&l.firstElementChild.hasAttribute("value")){const t=l.firstElementChild.getAttribute("value");if(e&&e.indexOf(t)>=0)return a.cell._setStyle(l),a.setAttribute("template",a.cell.template),void(l.firstElementChild.evaluateScroll&&l.firstElementChild.evaluateScroll());if(t&&e&&Array.isArray(e)&&e[0]&&e[0].value&&t.length===e[0].value.length)return a.cell._setStyle(l),void a.setAttribute("template",a.cell.template)}const t=document.createElement("div"),r=document.createElement("div");t.classList.add("container"),r.classList.add("images");let s=e;if(i._findIsFile(s)){let e="";if(s)try{e=JSON.parse(s)}catch(e){console.log(e)}s=e}if("string"==typeof s&&(s.indexOf("[{")>=0||s.indexOf("}]")>=0)){let e="";if(s)try{e=JSON.parse(s)}catch(e){console.log(e)}s=e}Array.isArray(s)&&s.forEach((e=>{const l=document.createElement("img");l.style.display="none";let a="";a=e.small?e.small:e.medium?e.medium:e.large?e.large:e.value,l.onload=()=>{l.style.display=""},a.indexOf("base64")>=0?l.src=a:(i._imagesCache||(i._imagesCache=[]),i.uploadSettings.url?i._imagesCache[a]?i._findUserFile(e)&&(l.src=a):(i._imagesCache[a]=!0,l.style.display="none",i._findUserFile(e)&&(l.src=a,l.style.display="")):l.src=a,l.onerror=()=>{l.style.display="none"}),l.title=e.label,l.setAttribute("data-url",e.large||e.value),t.appendChild(l)}));const o=document.createElement("div");o.classList.add("smart-arrow-left","arrowbtn","smart-hidden");const d=document.createElement("div");d.classList.add("smart-arrow-right","arrowbtn");const c=document.createElement("div");if(c.classList.add("smart-icon-plus","smart-grid-icon","show"),c.title=i.localize("addImages"),r.appendChild(c),r.onpointerdown=e=>{if("IMG"===e.target.nodeName)i._openImagePreviewDialog(e.target),e.stopPropagation(),e.preventDefault();else if("DIV"===e.target.nodeName&&e.target.classList.contains("arrowbtn")){let l=parseInt(t.style.marginLeft);isNaN(l)&&(l=0);const i=o===e.target,r=t.scrollWidth-a.offsetWidth+30;t.style.marginLeft=i?Math.min(0,l+25)+"px":Math.max(-r,l-25)+"px",l=parseInt(t.style.marginLeft),0===l?o.classList.add("smart-hidden"):o.classList.remove("smart-hidden"),e.stopPropagation(),e.preventDefault()}},t.children.length){r.appendChild(t);const e=25*s.length;e-a.offsetWidth+30>30&&(r.appendChild(o),r.appendChild(d)),r.evaluateScroll=()=>{const l=e-a.offsetWidth+30;t.style.marginLeft="0px",o.classList.add("smart-hidden"),l<0?d.classList.add("smart-hidden"):d.classList.remove("smart-hidden"),l>30&&(r.appendChild(o),r.appendChild(d))},n=r}else n=document.createElement("div");a.setAttribute("template",a.cell.template),e&&e[0]&&e[0].value?n.setAttribute("value",e[0].value):s&&s[0]&&s[0].label?n.setAttribute("value",s[0].label):n.setAttribute("value",e);break}case"email":if(Smart.Validator){const t=l.firstElementChild?l.firstElementChild.getAttribute("value"):null;if(l.firstElementChild&&l.firstElementChild.hasAttribute("value")&&t===e)return a.cell._setStyle(l),void a.setAttribute("template",a.cell.template);n=document.createElement("span"),null===e||""===e?n.innerHTML="":Smart.Validator.email(e)?n.innerHTML=e:(n.className="url",n.innerHTML='<a href="mailto:'+e+'" target="_blank" contenteditable="false" rel="noreferrer noopener">'+e+"</a>",n.firstElementChild&&(n.firstElementChild.onpointerdown=e=>{e.stopPropagation(),e.preventDefault(),n.firstElementChild.click()}))}a.setAttribute("template",a.cell.template),n.setAttribute("value",e);break;case"url":if(Smart.Validator){const t=l.firstElementChild?l.firstElementChild.getAttribute("value"):null;if(l.firstElementChild&&l.firstElementChild.hasAttribute("value")&&t===e)return a.cell._setStyle(l),void a.setAttribute("template",a.cell.template);const i=t=>{null===e||""===e?t.classList.add("smart-hidden"):Smart.Validator.url(e)?(t.firstElementChild&&"A"===t.firstElementChild.nodeName?(t.firstElementChild.setAttribute("href",e),t.firstElementChild.textContent=e):t.innerHTML='<a href="https://'+e+'" target="_blank" contenteditable="false" rel="noreferrer noopener">'+e+"</a>",t.classList.remove("smart-hidden")):(t.firstElementChild&&"A"===t.firstElementChild.nodeName?(t.firstElementChild.setAttribute("href",e),t.firstElementChild.textContent=e):t.innerHTML='<a href="'+e+'" target="_blank" contenteditable="false" rel="noreferrer noopener">'+e+"</a>",t.classList.remove("smart-hidden"))};l.firstElementChild&&l.firstElementChild.classList.contains("url")?(n=l.firstElementChild,i(n)):(n=document.createElement("span"),n.className="url",i(n)),n.firstElementChild&&(n.firstElementChild.onpointerdown=e=>{e.stopPropagation(),e.preventDefault(),n.firstElementChild.click()})}a.setAttribute("template",a.cell.template),n.setAttribute("value",e);break;default:{let t=null;a.setAttribute("template","");const n=a.cell.row,s=l;let o=a.cell.getFormattedValue(e,r.cellsFormat);if(s.style.lineHeight="","function"==typeof a.cell.template){const t={row:n,column:r,cell:a.cell,oldValue:a.cell.oldValue,value:e,template:null};let l=s.querySelector(".smart-grid-cell-template");const d=n.id;i.isHScrolling&&(i._cachedTemplates||(i._cachedTemplates=[]),l&&0===l.innerHTML.length&&(l=null),!l&&i._cachedTemplates&&i._cachedTemplates[r.dataField+"_"+d]&&(0===i._cachedTemplates[r.dataField+"_"+d].innerHTML.length?delete i._cachedTemplates[r.dataField+"_"+d]:t.template=i._cachedTemplates[r.dataField+"_"+d])),l&&l.getAttribute("column")===r.dataField?t.template=l.firstElementChild:l=null,a.formattedValue!==o&&(l=null),a.cell.canNotify=!1,n.canNotify=!1;const c=Object.assign({},{background:a.cell.background,color:a.cell.color,fontSize:a.cell.fontSize,fontFamily:a.cell.fontFamily,fontWeight:a.cell.fontWeight,textDecoration:a.cell.textDecoration,fontStyle:a.cell.fontStyle});if(a.cell.template(t),!l&&t.template)if(t.template instanceof HTMLElement){const e=document.createElement("div");e.classList.add("smart-grid-cell-template"),e.setAttribute("column",r.dataField),s.innerHTML="",s.appendChild(e),e.appendChild(t.template)}else s.innerHTML='<div column="'+r.dataField+'" class="smart-grid-cell-template">'+t.template+"</div>";else l||null!==t.template||(s.innerHTML=e);if(i.isHScrolling&&!i._cachedTemplates[r.dataField+"_"+d]&&s.firstElementChild.firstElementChild){const e=s.firstElementChild.firstElementChild;e&&(i._cachedTemplates[r.dataField+"_"+d]=e)}s.style.background===c.background&&s.style.color===c.color&&s.style.fontSize===c.fontSize&&s.style.fontWeight===c.fontWeight&&s.style.fontStyle===c.fontStyle||(a.cell._styleChanged=!0,a.cell._setStyle(s)),a.cell.background!==c.background||a.cell.color!==c.color||a.cell.fontSize!==c.fontSize||a.cell.fontWeight!==c.fontWeight||a.cell.fontStyle!==c.fontStyle?(a.cell._styleChanged=!0,a.cell._setStyle(s)):a.cell._styleChanged&&a.cell._setStyle(s),void 0===a.cell.oldValue&&(a.cell.oldValue=e),a.formattedValue=o,a.cell.canNotify=!0,n.canNotify=!0}else{if(""!==s.textContent&&(s.textContent=""),a.cell.template instanceof HTMLTemplateElement)t=a.cell.template;else if(a.cell.template instanceof HTMLElement){const t=a.cell.template.innerHTML.replace(/{{value}}/gi,e).replace(/{{id}}/gi,n.id);s.innerHTML!==t&&(s.innerHTML=t)}if(a.cell.template.startsWith&&a.cell.template.startsWith("#")&&(t=document.querySelector(a.cell.template)),t){let l=t.content.cloneNode(!0).firstElementChild;const d=e;if(e=(e=(e=e.toString()).replace(/'/gi,"\\'")).replace(/"/gi,'\\"'),l.querySelector("[smart-if]")){const t=l.querySelector("[smart-else]"),a=l.querySelectorAll("[smart-if]");let i=!1;for(let t=0;t<a.length;t++){const n=a[t],s=n.getAttribute("smart-if").split(" "),o=s[1].trim();let c=s[2].trim(),m=e;switch("Today"===c&&(c=new Date),"date"===r.dataType&&(e=new Date(d).getTime(),c=new Date(c).getTime()),o){case">":e>parseFloat(c)&&(l=n,i=!0);break;case">=":e>=parseFloat(c)&&(l=n,i=!0);break;case"=":case"==":case"===":e===c&&(l=n,i=!0);break;case"<":e<parseFloat(c)&&(l=n,i=!0);break;case"<=":e<=parseFloat(c)&&(l=n,i=!0)}if(e=m,i)break}!i&&t&&(l=t)}let c=l.outerHTML.replace(/{{value}}/gi,e).replace(/{{id}}/gi,n.id);for(c.indexOf("{{value=")>=0&&(e?(c=c.substring(0,c.indexOf("{{value="))+e+c.substring(c.indexOf("}")),c=c.replace(/}/gi,""),c=c.replace(/{/gi,"")):(c=c.replace(/{{value=/gi,""),c=c.replace(/}}/gi,"")));c.indexOf("{{value::")>=0;){const t=c.indexOf("{{value::"),l=c.substring(t+9,c.indexOf("}}")),i=a.cell.getFormattedValue(e,l);c=c.replace(`{{value::${l}}}`,i)}if(r._treeColumn){const e=s.firstChild;if(e&&e.classList&&a.toggleButton&&r._treeColumn&&s.children[1]){const e=s.children[0],t=s.children[1].children[0],l=s.children[1].children[1].firstChild,a=s.children[1].children[2];let r="";if(i.grouping.enabled){let e=n.level-1;"multipleColumns"!==i.grouping.renderMode&&(r+='<div style="width: '+(1+e)*i.grouping.groupIndent+'px;"></div>')}else for(let e=0;e<n.level;e++)r+="<div class='smart-indent'></div>";n.checked?l.setAttribute("checked",""):!1===n.checked?l.removeAttribute("checked"):null===n.checked&&l.setAttribute("checked","indeterminate"),n.leaf?n.allowCheck?l.classList.remove("smart-visibility-hidden"):l.classList.add("smart-visibility-hidden"):n.allowCheck?l.classList.remove("smart-hidden"):l.classList.add("smart-hidden"),n.allowCheck?i.checkBoxes.visible?l.classList.remove("smart-hidden"):l.classList.add("smart-hidden"):i.checkBoxes.visible||l.classList.add("smart-hidden"),e.innerHTML=r,t.classList.add("smart-visibility-hidden"),n.leaf?t.classList.add("smart-visibility-hidden"):(t.classList.remove("smart-visibility-hidden"),n.expanded?t.setAttribute("toggled",""):t.removeAttribute("toggled","")),n.data.isEmpty&&t.classList.add("smart-visibility-hidden"),a.innerHTML=c,i.appearance.showTooltips?a.setAttribute("title",i._unescapeString(o)):a.hasAttribute("title")&&a.removeAttribute("title")}}else s.innerHTML!==c&&(s.innerHTML=c)}else if("string"==typeof a.cell.template){""===e&&(e="&nbsp;");const t=a.cell.template.replace(/{{value}}/gi,e).replace(/{{id}}/gi,n.id);s.innerHTML!==t&&(s.innerHTML=t)}}if("auto"===a.cell.row.height||i.layout.allowCellsWrap||"auto"===i.layout.rowHeight){const e=s.querySelector(".smart-grid-cell-template");if(e){n._templatesHeight||(n._templatesHeight=[]);const t=(e,t)=>{if(e){const l=i.rowById[e.getAttribute("data-id")];l._templatesHeight[r.dataField]=t,l._isDirty=!0;const a=l.canNotify;l.canNotify=!1,l.autoSize(),l.canNotify=a,delete l._isDirty}};if(e.firstElementChild){if(!e.firstElementChild.resizeObserver){const l=new ResizeObserver((function(){const e=this.target.closest("smart-grid-row");this.target.offsetHeight&&(t(e,this.target.offsetHeight),i.$.scrollView.scrollTop=0)}));e.firstElementChild.resizeObserver=l,l.target=e.firstElementChild,l.observe(e.firstElementChild)}e.firstElementChild.onblur=e.firstElementChild.onchange=function(){const e=this.closest("smart-grid-row");t(e,this.offsetHeight)}}else{const l=this.closest("smart-grid-row");t(l,e.offsetHeight)}}}}}if(n)return l.innerHTML="",l.appendChild(n),a.cell._setStyle(l),n}async _render(){const e=this,t=e.cell.grid,l=e.cell.column,a=e.cell.row,i=a.data,r=a._isMeasureRow?null:e.cell.format||l.cellsFormat,n=t.grouping.enabled&&t.dataSource.groupBy.length>0;if(!(!1!==t._recycleValues||n||l.formatFunction||l._treeColumn||a.summaryRow)){if(e.cell.selected?(e.setAttribute("selected",""),e.setAttribute("aria-selected",!0)):(e.removeAttribute("selected"),e.removeAttribute("aria-selected")),e.classList.contains("smart-hidden")&&e.classList.remove("smart-hidden"),e.cell.focused?(t.selection.allowCellSelection&&e.setAttribute("focus",""),a.element.setAttribute("focus",""),a.element.toggleDetailButton&&(a.element.toggleDetailButton.classList.remove("smart-visibility-hidden"),a.element.star&&a.element.star.classList.add("smart-hidden")),e.cell.id||(e.id="gridcell_"+Math.floor(65536*(1+Math.random())).toString(16).substring(1)),t.setAttribute("aria-activedescendant",e.id)):(e.removeAttribute("focus"),a.element.star&&t._selection.focusedCell&&t._selection.focusedCell.id!==a.id&&a.element.star.classList.remove("smart-hidden")),e.cell.background||e.cell.color){e.cell._styleChanged=!0;const t=e.firstChild;e.cell._setStyle(t)}return}if(t.grouping.enabled&&t.dataSource.groupBy.length>0){if(void 0!==a.label){let t=l.displayField?i[l.displayField]:i[l.dataField];return e._renderGroupCell(t),void(a.summaryRow&&(e.cell.canNotify=!1,a.canNotify=!1,e.cell._styleChanged=!0,e.cell.background=null,e.cell.color=null,e.cell.fontFamily=null,e.cell.fontSize=null,e.cell.element&&e.cell.element.firstElementChild&&e.cell._setStyle(e.cell.element.firstElementChild),e.cell.canNotify=!0,a.canNotify=!0))}e.style.zIndex=""}else if(t.appearance.showTreeRowHeader&&t.rowHierarchy&&!1===a.leaf&&!l.autoGenerated){let t=i[a.groupDataField];return a.label=t,void e._renderGroupCell(t)}if(t.appearance.showTreeRowHeader&&e.removeAttribute("header"),t.grouping.enabled&&t.dataSource.groupBy.length>0&&e.toggleButton&&(e.toggleButton.classList.remove("smart-hidden"),e.toggleButton.classList.remove("smart-visibility-hidden"),e.toggleButton.style.marginLeft="",l._treeColumn&&t.grouping.enabled&&t.grouping.toggleButtonIndent>0&&(e.toggleButton.style.marginLeft=a.level*(t.grouping.toggleButtonIndent-t.grouping.groupIndent)+"px")),t.grouping.enabled&&t.dataSource.groupBy.length>0&&(e.removeAttribute("header"),e.removeAttribute("group")),!l.visible)return void(e.style.width="0px");t.appearance.showSortColumnBackground&&t.sorting.maintainSort&&!a.summaryRow?l.sorted?e.setAttribute("sort",""):e.removeAttribute("sort"):l.sorted&&e.hasAttribute("sort")&&e.removeAttribute("sort"),t.appearance.showFilterColumnBackground?l.filtered?e.setAttribute("filter",""):e.removeAttribute("filter"):l.filtered&&e.hasAttribute("filter")&&e.removeAttribute("filter"),t.dataSource.boundHierarchy&&e.hasAttribute("has-toggle-button")&&!l._treeColumn&&e.removeAttribute("has-toggle-button");let s=l.displayField?i[l.displayField]:i[l.dataField];if(null!==s||l.allowNull||("int"!==l.dataType&&"number"!==l.dataType||(s=0),"string"===l.dataType&&(s=""),"boolean"!==l.dataType&&"bool"!==l.dataType||(s=!1),"date"===l.dataType&&(s=new Date)),t.formulas&&e.cell.formula&&"string"==typeof e.cell.formula&&/=.+/.test(e.cell.formula)){const l=t._formulaParser;if(l){const t=l.parse(e.cell.formula.slice(1));s=isNaN(t)?"#VALUE!"===t?"":"#ERROR!"===t?"#ERROR!":t:t}}t.grouping.enabled&&"multipleColumns"===t.grouping.renderMode&&t.dataSource&&t.dataSource.groupBy.length>0&&t.dataSource.groupBy.indexOf(l.dataField)>=0&&(s="",e.setAttribute("header","")),e.removeAttribute("highlight"),t.highlighted!==a.id||l.autoGenerated||e.setAttribute("highlight",""),t.editing.addNewRow.visible&&e.classList.remove("smart-add-new-row");const o=t=>t?t.startsWith("off_")?(e.classList.remove(t.substring(4)),!1):(e.classList.add(t),e.hasAttribute("customCSS")&&(t=t+" "+e.getAttribute("customCSS")),e.setAttribute("customCSS",t),!0):(e.setAttribute("highlight",""),!0);if((t.highlightedRows||t.highlightedCells)&&e.hasAttribute("customCSS")){const t=e.getAttribute("customCSS");e.removeAttribute("customCSS");const l=t.split(" ");for(let t=0;t<l.length;t++)e.classList.remove(l[t])}if(l.highlight&&!a.summaryRow&&(o(l._highlightCSS||""),e.setAttribute("highlight-data-field",l.dataField)),t.highlightedCells&&t.highlightedCells[a.id]&&!a.summaryRow&&void 0!==t.highlightedCells[a.id][l.dataField]&&o(t.highlightedCells[a.id][l.dataField]),t.highlightedRows&&!a.summaryRow&&void 0!==t.highlightedRows[a.id]&&o(t.highlightedRows[a.id]),t.editing.batch){if(t._cellsUpdatedValues){e.removeAttribute("update");const i=t._cellsUpdatedValues[a.id+"_"+l.dataField];void 0!==i&&(e.setAttribute("update",""),s=i)}t._rowsDeleted&&(t._rowsDeleted.indexOf(a.id)>=0?e.setAttribute("delete",""):e.removeAttribute("delete")),t._rowsAdded&&(t._rowsAdded.indexOf(a.id)>=0?e.setAttribute("add",""):e.removeAttribute("add"))}!t.onCellValue||l.rowHeaderColumn||l.selectionColumn||(e.cell._updating=!0,t.onCellValue(e.cell,t),e.cell._updating=!1,s=e.cell.value),void 0===s&&(s="");let d=s;r?d=e.cell.getFormattedValue(s,r):l.formatSettings&&l.formatSettings.Intl&&(d=e.cell.getFormattedValue(s,l.formatSettings.Intl));const c=e.firstChild;if(e.content=c,l._isDirty&&(c.innerHTML=""),c.hasAttribute("data-field")&&c.getAttribute("data-field")!==l.dataField&&(c.innerHTML="",a.filterRow&&(l._filterEditorInitialized=!1)),c.setAttribute("data-field",l.dataField),t.onCellRender||l.onCellRender)if(l._cellsCachedValues||(l._cellsCachedValues=[]),l._cellsCachedValues[a.index]){const t=l._cellsCachedValues[a.index];c.firstChild&&c.removeChild(c.firstChild),e.cell.template instanceof HTMLTemplateElement||"string"==typeof e.cell.template?c.appendChild(t):c.innerHTML=t.innerHTML}else{if(e.cell._updating=!0,t.onCellRender?t.onCellRender(e.cell,a.visibleIndex,l.dataField,a.data,e):l.onCellRender(e.cell,a.visibleIndex,l.dataField,a.data,e),e.cell._updating=!1,e.cell.template!==l.template){const t=document.createElement("div");return c.firstChild&&c.removeChild(c.firstChild),e.cell.template instanceof HTMLTemplateElement?(t.appendChild(e.cell.template.content.cloneNode(!0)),l._cellsCachedValues[a.index]=t):t.appendChild(e.cell.template),void c.appendChild(t)}e.cell.value!==s&&(d=e.cell.value)}if(l.autoGenerated||e.setAttribute("data-field",l.dataField),e.cell.focused?(t.selection.allowCellSelection&&e.setAttribute("focus",""),a.element.setAttribute("focus",""),a.element.toggleDetailButton&&(a.element.toggleDetailButton.classList.remove("smart-visibility-hidden"),a.element.star&&a.element.star.classList.add("smart-hidden")),e.cell.id||(e.id="gridcell_"+Math.floor(65536*(1+Math.random())).toString(16).substring(1)),t.setAttribute("aria-activedescendant",e.id)):e.removeAttribute("focus"),e.cell.selected?(e.setAttribute("selected",""),e.setAttribute("aria-selected",!0)):(e.removeAttribute("selected"),e.removeAttribute("aria-selected")),t.dragDrop&&t.dragDrop.row===a?e.classList.add("dragged"):e.classList.remove("dragged"),e._classNames)for(let t=0;t<e._classNames.length;t++)e.classList.remove(e._classNames[t]);if(a._classNames||e._rowClassNames){if(e._rowClassNames)for(let t=0;t<e._rowClassNames.length;t++)e.classList.remove(e._rowClassNames[t]);for(let t=0;t<a._classNames.length;t++)e.classList.add(a._classNames[t]);e._rowClassNames=a._classNames}if(t.onCellClass){const i=t.onCellClass(a.visibleIndex,l.dataField,s,a.data,a,t);if(e.___classNames)for(let t=0;t<e.___classNames.length;t++)e.classList.remove(e.___classNames[t]);if(i){const t=i.trim().split(" ");for(let l=0;l<t.length;l++)e.classList.add(t[l]);e.___classNames=t}}if(l.cellsClassName)if("string"==typeof l.cellsClassName){const t=l.cellsClassName.trim().split(" ");for(let l=0;l<t.length;l++)e.classList.add(t[l]);e._classNames=t}else{const t=l.cellsClassName(a.visibleIndex,l.dataField,s,a.data,a);if(e._classNames)for(let t=0;t<e._classNames.length;t++)e.classList.remove(e._classNames[t]);if(t){const l=t.trim().split(" ");for(let t=0;t<l.length;t++)e.classList.add(l[t]);e._classNames=l}}if(l.cellsCSSRules){if(e.__classNames)for(let t=0;t<e.__classNames.length;t++)e.classList.remove(e.__classNames[t]);const i=Object.keys(l.cellsCSSRules);let r=[];for(let n=0;n<i.length;n++){let o=i[n];const d={index:a.visibleIndex,value:s,dataField:l.dataField,row:a,api:t};l.cellsCSSRules[o](d)&&(e.classList.add(o),r.push(o))}e.__classNames=r}t.rowDetail.enabled&&a.showDetail&&!1===t.rowDetail.dialog.enabled&&(e.style.height=a.cellHeight+"px",e.style.lineHeight=a.cellHeight+"px"),a.expanded&&a.expandHeight>0&&(e.style.height=a.cellHeight+"px",e.style.lineHeight=a.cellHeight+"px");const m=e._getCellAlignment(a,l),u=""!==e.cell.template&&t.isInitialized&&!a._isMeasureRow;let p="";if(m.align&&(p+=m.align+" "),m.verticalAlign&&(p+=m.verticalAlign+" "),l.cellsWrap)p+="wrap ";else if(t.layout.autoWrap&&a.height>40&&1===e.cell.colSpan&&"string"===l.dataType&&14*(d||"").length*.52>l.computedWidth){p+="textwrap ";const e=parseInt(a.height/20);c.style["-webkit-line-clamp"]=e}if(p+="smart-label",e.style.width!==l.computedWidth+"px"){const a=t._isLastVisibleColumn(l);l.autoGenerated||a?e.style.width=l.computedWidth+"px":e.style.width=l.computedWidth-t._columnGap+"px"}l===t._firstVisibleColumn?e.classList.add("smart-grid-column-border-collapse"):e.classList.remove("smart-grid-column-border-collapse"),t.appearance.showColumnGroupCellLines||l.parent&&!l.element.hasAttribute("column-group-first-child")&&e.classList.add("smart-grid-column-border-collapse"),t.grouping.enabled&&"multipleColumns"===t.grouping.renderMode&&t.dataSource&&t.dataSource.groupBy.length>0&&t.dataSource.groupBy.indexOf(l.dataField)>=0&&e.classList.add("smart-grid-column-border-collapse"),t._columnGap>0&&t.appearance.showColumnLines&&e.classList.add("smart-grid-column-border"),t._rowGap>0&&e.classList.add("smart-grid-row-border"),t.appearance.showColumnLines?e.classList.remove("smart-grid-vertical-border-collapse"):e.classList.add("smart-grid-vertical-border-collapse"),t.appearance.showRowLines?e.classList.remove("smart-grid-horizontal-border-collapse"):e.classList.add("smart-grid-horizontal-border-collapse");let g=l.left;if(t.rightToLeft?e.style.right!==g+"px"&&(e.style.right=g+"px"):e.style.left!==g+"px"&&(e.style.left=g+"px"),e.classList.contains("smart-hidden")&&e.classList.remove("smart-hidden"),e.hasAttribute("template")&&e.removeAttribute("template"),e.hasAttribute("freeze")&&e.removeAttribute("freeze"),e.hasAttribute("detail")&&e.removeAttribute("detail"),e.hasAttribute("error")&&e.removeAttribute("error"),e.cell.error&&e.setAttribute("error",e.cell.error),a.filterRow?e.classList.add("smart-grid-filter-row-cell"):a.summaryRow?e.classList.add("smart-grid-summary-row-cell"):(l.freeze||a.freeze)&&(l.selectionColumn&&(e.setAttribute("checkbox",""),p+=" smart-input",l.grid.selection.checkBoxes.enabled&&l.grid.selection.checkBoxes.autoShow?e.setAttribute("auto-show",""):e.removeAttribute("auto-show")),(l.rowHeaderColumn||l.selectionColumn)&&(e.setAttribute("header",""),e.setAttribute("role","rowheader")),l.rowDetailColumn&&(e.setAttribute("header",""),e.setAttribute("detail",""),e.setAttribute("has-toggle-button",""),e.classList.add("smart-grid-column-border-collapse")),l.commandColumn&&e.setAttribute("command",""),t.appearance.showFrozenColumnBackground&&l.freeze&&e.setAttribute("freeze",""),t.appearance.showFrozenRowBackground&&a.freeze&&e.setAttribute("freeze","")),l.cellsRotationAngle){if(!e._rotateCellContent(c,l,s))return}else if(a.filterRow){if(!l.toggleColumn&&!l.rowHeaderColumn)return t.grouping.enabled&&t.dataSource&&t.dataSource.groupBy.length>0&&(l._filterEditorInitialized=!1),l._filterEditorInitialized||l.autoGenerated?void("boolean"===l.dataType||"bool"===l.dataType?e.setAttribute("template","checkBox"):e.removeAttribute("template")):(l._filterEditorInitialized=!0,void e._renderFilterCell(c));c.innerHTML=""}else if(a.summaryRow){if(l.toggleColumn||l.rowHeaderColumn)c.innerHTML="";else if(l.autoGenerated&&(c.innerHTML=""),t.dataSource.boundHierarchy&&e.hasAttribute("has-toggle-button")&&e.removeAttribute("has-toggle-button"),!l.autoGenerated){if(l.summary.length>0&&t._summaryItems){const a=t._summaryItems[l.dataField],i=[];for(let r in a){if("status"===r)continue;const n=l.cellsFormat;let s=a[r];n&&n.indexOf("p")>=0&&"count"===r?s=a[r]:n&&"date"!==l.dataType&&(s=e.cell.getFormattedValue(s,n)),i.push(t.localize(r,{value:s}))}let r=[],n="";if(a&&a.status&&l.editor){n+='<div style="margin-right: 5px; display: flex; border-radius: 8px; align-items: center;">';const e=l.editor.dataSource,i=a.status,s=t.rows.length,o=l.computedWidth;let d=0;if(e)for(let l=0;l<e.length;l++){const a=e[l];if(i[a.value]){const e=a.label?a.label:t.localize("blankSummary"),l=i[a.value].length,c=new Number(l/s*100).toFixed(2),m=e+" "+l+"/"+s+" "+c+"%",u=o*c/100/2;r.push(m);const p=["#D50000","#F6BF26","#33B679","#039BE5","#3F51B5","#8E24AA"];d>p.length-1&&(d=0),n+='<span class="summary-value-part" title="'+m+'" style="width: '+u+"px; font-size: 11px; padding: 5px; background:"+(a.color||p[d++])+'; color: white;"></span>'}}n+="</div>"}const s=i.join(", "),o=t.summaryRow.editing?'<span class="smart-arrow-down"></span>':"";let d=`<div title = "${s}" class="smart-truncate summary-value" > <span class="label">${s}</span>${o}</div> `;if(r.length&&(d=`<div title = "${s}" class="smart-truncate summary-value" > <span style="align-items: center; display: flex;" class="label">${n}${s}</span>${o}</div> `),t.columns[0].dataField===l.dataField&&i.length<3){const e=t._recyclingRows.length;d=`<div title = "${s}" class="smart-truncate summary-value" > <span style = "justify-content: flex-start" class="smart-truncate summary-value" > ${1===e?t.localize("oneRow"):t.localize("rows",{value:e})}</span> <span class="label">${s}</span>${o}</div> `}c.innerHTML!==d&&(c.innerHTML=d)}else if(t.summaryRow.editing&&l.allowSummary)if(t.columns[0].dataField===l.dataField){const e=t._recyclingRows.length,l=`<div class="smart-truncate summary-value" ><span style="justify-content: flex-start" class="smart-truncate summary-value">${1===e?t.localize("oneRow"):t.localize("rows",{value:e})}</span><span class="smart-summary-placeholder label">${t.localize("summary")}</span><span class="smart-arrow-down"></span></div> `;c.innerHTML!==l&&(c.innerHTML=l)}else{const e=`<div class="smart-truncate summary-value" ><span class="smart-summary-placeholder label">${t.localize("summary")}</span><span class="smart-arrow-down"></span></div> `;c.innerHTML!==e&&(c.innerHTML=e)}t.summaryRow.editing&&l.allowSummary&&(t._selection&&t._selection.focusedCell&&t._selection.focusedCell.dataField===l.dataField?c.firstElementChild.setAttribute("has-summary",""):c.firstElementChild.removeAttribute("has-summary"),c.onpointerdown=e=>{e.preventDefault(),e.stopPropagation(),c._clickTarget=e.target},c.onpointerup=l=>{!0!==t._mobile&&c._clickTarget!==l.target||(l.preventDefault(),l.stopPropagation(),t._summaryRowDialog&&t._summaryRowDialog.classList.contains("open")&&t._summaryRowDialog.dataField===e.cell.column.dataField?t._summaryRowDialog.confirm():t._openSummaryRowDialog(e.cell,(()=>{})))})}}else if(t.rowDetail.enabled&&l.rowDetailColumn){let l="",i=t.appearance.showRowStatus?"smart-visibility-hidden":"";if(l=a.showDetail?'<button tabindex="-1" class="'+i+' smart-animate" toggled toggle-button></button>':'<button tabindex="-1" class="'+i+' smart-animate" toggle-button></button>',t.appearance.showRowStatus){l=a._style&&a._style.status?`<span class="row-status custom" style = "color: ${a._style.status};" ></span> `+l:'<span class="row-status"></span>'+l,c.innerHTML===l||a.element.star?(a.element.star.classList.remove("smart-hidden"),a.element.star.classList.remove("custom"),a._style&&a._style.status?(a.element.star.style.color=a._style.status,a.element.star.classList.add("custom")):a.element.star.style.color=""):c.innerHTML=l;const i=()=>{if(a.comments&&a.comments.length>0){const e=a.comments.length;a.element.star.classList.add("comments"),a.element.star.setAttribute("title",t.localize(a.starred?"starred":"notStarred",{elementType:"Grid"})+", "+e+" "+t.localize("comments"))}else a.comments&&0===a.comments.length&&a.element.star.classList.remove("comments")};a.element.star=e.querySelector("span"),a.element.star||(c.innerHTML=l,a.element.star=e.querySelector("span")),a.element.star.onpointerdown=e=>{a.canNotify=!1,a.starred=!a.starred,a.canNotify=!0,a.data.$&&(a.data.$.starred=a.starred),a.starred?a.element.star.classList.add("starred"):a.element.star.classList.remove("starred"),a.element.star.setAttribute("title",t.localize(a.starred?"starred":"notStarred",{elementType:"Grid"})),i(),e.stopPropagation(),e.preventDefault(),t.$.fireEvent("rowStarred",{id:a.id,originalEvent:e,row:a,value:a.starred})},a.element.star.setAttribute("title",t.localize(a.starred?"starred":"notStarred",{elementType:"Grid"})),a.starred?a.element.star.classList.add("starred"):a.element.star.classList.remove("starred"),i()}else c.innerHTML!==l&&(c.innerHTML=l);if(a.element.toggleDetailButton=e.querySelector("button"),a.element.toggleDetailButton.setAttribute("title",t.localize(a.showDetail?"collapseRow":"expandRow",{elementType:"Grid"})),(t.rowDetail.template||t.onRowDetailInit)&&a.element.toggleDetailButton.classList.remove("smart-visibility-hidden"),a.comments&&a.comments.length>0){const e=a.comments.length;a.element.toggleDetailButton.classList.remove("smart-visibility-hidden"),t.appearance.showRowStatus?a.element.toggleDetailButton.querySelector(".comments-length")?a.element.toggleDetailButton.querySelector(".comments-length").innerHTML=e:a.element.toggleDetailButton.innerHTML+=`<div class="comments-length'>${e}</div>`:a.element.toggleDetailButton.innerHTML=`<div class="comments-length'>${e}</div>`,a.starred&&a.element.toggleDetailButton.classList.add("starred"),a.element.toggleDetailButton.classList.add("row-comments"),a.element.toggleDetailButton.setAttribute("title",t.localize(a.showDetail?"collapseRow":"expandRowComments",{value:e,elementType:"Grid"}))}else a.comments&&0===a.comments.length&&a.element.toggleDetailButton.classList.remove("row-comments");t.rowDetail.dialog.enabled&&a.element.toggleDetailButton.classList.add("row-detail")}else if(l.commandColumn)e._renderCommands();else if(t.appearance.showRowHeaderNumber&&l.rowHeaderColumn)if(a.addNewRow)c.textContent="";else{const l=l=>{if(e.cell.value)return e.cell.value;if("number"===t.appearance.autoGenerateRowLabelMode)return l.visibleIndex+1;{const e=l.visibleIndex%26,t=Math.floor(l.visibleIndex/26),a="A".charCodeAt(0),i=String.fromCharCode(a+e);let r="";for(let e=0;e<t;e++)r+="A";return r+i}};t._rowsAdded&&t._rowsAdded.indexOf(a.id)>=0?c.textContent="":c.textContent=l(a)}else if(u)if(e.removeAttribute("readonly"),t.appearance.displayLoadingIndicator&&!l.autoGenerated)c.innerHTML='<div class="smart-grid-cell-loading"></div>';else if(a._isMeasureRow)c.innerHTML=s;else switch(c.removeAttribute("title"),e.cell.template){case"checkBox":case"switchButton":case"radioButton":case"tags":case"checklist":case"collaborator":case"updatedBy":case"createdBy":case"multiComboInput":default:e._setTemplate(s,e.cell.template,c);break;case"attachment":e._setTemplate(s,"attachments",c);break;case"image":e._setTemplate(s,"images",c);break;case"email":e._setTemplate(s,"email",c);break;case"url":e._setTemplate(s,"url",c);break;case"richText":e._setTemplate(s,"richText",c)}else{const i=c.firstChild;if(i&&i.classList&&e.toggleButton&&l._treeColumn&&c.children[1]){const e=c.children[0],i=c.children[1].children[0],r=c.children[1].children[1].firstChild,n=c.children[1].children[2];let s="";if(l._treeColumn){if(t.grouping.enabled){let e=a.level-1;t.appearance.showRowHeaderNumber&&e--,t.rowDetail.enabled&&e--,e<-1?s="":"multipleColumns"!==t.grouping.renderMode&&(s+='<div style="width: '+(1+e)*t.grouping.groupIndent+'px;"></div>')}else for(let e=0;e<a.level;e++)s+="<div class='smart-indent'></div>";if(a.checked?r.setAttribute("checked",""):!1===a.checked?r.removeAttribute("checked"):null===a.checked&&r.setAttribute("checked","indeterminate"),a.leaf?a.allowCheck?r.classList.remove("smart-visibility-hidden"):r.classList.add("smart-visibility-hidden"):a.allowCheck?r.classList.remove("smart-hidden"):r.classList.add("smart-hidden"),!l.autoGenerated){const e=a["column_"+l.dataField];e&&e._setStyle(c)}}a.allowCheck?t.checkBoxes.visible?r.classList.remove("smart-hidden"):r.classList.add("smart-hidden"):t.checkBoxes.visible||r.classList.add("smart-hidden"),e.innerHTML=s,i.classList.add("smart-visibility-hidden"),a.leaf?i.classList.add("smart-visibility-hidden"):(i.classList.remove("smart-visibility-hidden"),a.expanded?i.setAttribute("toggled",""):i.removeAttribute("toggled","")),t.grouping.enabled&&i.classList.add("smart-hidden"),a.data.isEmpty&&i.classList.add("smart-visibility-hidden"),n.innerHTML=d,t.appearance.showTooltips?n.setAttribute("title",t._unescapeString(d)):n.hasAttribute("title")&&n.removeAttribute("title")}else{const i=a["column_"+l.dataField];if(e.getAttribute("rowspan")&&(e.removeAttribute("rowspan"),e.removeAttribute("aria-rowspan"),e.style.height=""),e.getAttribute("colspan")&&(e.removeAttribute("colspan"),e.removeAttribute("aria-colspan")),i){if(i.colSpan>1){const a=t.columns.indexOf(l);let r=0;for(let e=a;e<a+i.colSpan;e++){const l=t.columns[e];l&&l.visible&&(r+=l.computedWidth)}e.style.width=r+"px",e.setAttribute("colspan",""),e.setAttribute("aria-colspan",i.colSpan),i._styleChanged=!0}let r=i.rowSpan;if(i.rowSpan>1){const l=t.rows.indexOf(a);let r=0;a.element.setAttribute("rowspan","");for(let e=l;e<=l+i.rowSpan-1;e++){const l=t.rows[e];l&&l.visible&&l.filtered&&(r+=l.cellHeight)}e.style.height=r+"px",e.setAttribute("rowspan",""),e.setAttribute("aria-rowspan",i.rowSpan),i._styleChanged=!0}else if(l.rowSpan&&!a._isMeasureRow){const n="number"==typeof l.rowSpan?l.rowSpan:l.rowSpan(s,a.visibleIndex,a.data),o=a.visibleIndex;let d=!1;for(let e=0;e<t._cellRowSpan.length;e++){const l=t._cellRowSpan[e];if(o>l[0]&&o<l[1]){d=!0;break}}if(a._rowSpan=n,n&&!d){let s=0;t._cellRowSpan.push([o,o+n,l.dataField]),t._cellRowSpan.maxSpan||(t._cellRowSpan.maxSpan=1),t._cellRowSpan.maxSpan=Math.max(n,t._cellRowSpan.maxSpan),a.element.setAttribute("rowspan","");for(let e=o;e<=o+n-1;e++){const l=t.rows[e];l&&l.visible&&l.filtered&&(s+=l.cellHeight)}e.style.height=s+"px",e.setAttribute("rowspan",""),e.setAttribute("aria-rowspan",n),i._styleChanged=!0,r=n}}1===i.colSpan&&e.hasAttribute("colspan")&&(e.style.width="",e.removeAttribute("colspan"),e.removeAttribute("aria-colspan"),i._styleChanged=!0),e.hasAttribute("rowspan")&&1===r&&(e.style.height="",e.removeAttribute("rowspan"),e.removeAttribute("aria-rowspan"),i._styleChanged=!0),c.textContent===d||l.formatFunction||("string"==typeof d&&d.indexOf("&")>=0?t.isScrolling?requestAnimationFrame((()=>{c.innerHTML=d})):c.innerHTML=d:c.textContent=d),i.column.autoGenerated||i._setStyle(c),t.appearance.showTooltips?c.setAttribute("title",i.tooltip||t._unescapeString(d)):c.hasAttribute("title")&&c.removeAttribute("title"),t.appearance.showTooltipsOverflow&&(!t.appearance.showTooltips&&c.hasAttribute("title")&&c.removeAttribute("title"),d&&d.length)&&(14*(d||"").length*.52>l.computedWidth?c.setAttribute("title",i.tooltip||t._unescapeString(d)):!t.appearance.showTooltips&&c.hasAttribute("title")&&c.removeAttribute("title"))}else c.textContent=d}}if(c.className!==p&&(c.className=p),!t.appearance.displayLoadingIndicator||l.autoGenerated||t.dataSource.boundHierarchy?t.appearance.displayLoadingIndicator&&l.selectionColumn?e.removeAttribute("selected"):!l.autoGenerated&&c.firstChild&&c.firstChild.classList&&c.firstChild.classList.contains("smart-grid-cell-loading")&&(c.firstChild.classList.remove("smart-grid-cell-loading"),e.removeAttribute("selected")):(a.element.removeAttribute("focus"),e.removeAttribute("selected"),c.innerHTML='<div class="smart-grid-cell-loading"></div>'),l.formatFunction&&!a.data.isEmpty&&t.isInitialized&&!a.summaryRow){const t={row:a,column:l,cell:e.cell,oldValue:e.cell.oldValue,value:s,formattedValue:d,template:null};e.cell.canNotify=!1,a.canNotify=!1;const i=Object.assign({},{background:e.cell.background,color:e.cell.color,fontSize:e.cell.fontSize,fontFamily:e.cell.fontFamily,textDecoration:e.cell.textDecoration,fontWeight:e.cell.fontWeight,fontStyle:e.cell.fontStyle});await l.formatFunction(t),c.style.background===i.background&&c.style.color===i.color&&c.style.fontSize===i.fontSize&&c.style.fontFamily===i.fontFamily&&c.style.textDecoration===i.textDecoration&&c.style.fontWeight===i.fontWeight&&c.style.fontStyle===i.fontStyle||(e.cell._styleChanged=!0,e.cell._setStyle(c)),e.cell.background===i.background&&e.cell.color===i.color&&e.cell.fontSize===i.fontSize&&e.cell.fontWeight===i.fontWeight&&e.cell.textDecoration===i.textDecoration&&e.cell.fontFamily===i.fontFamily&&e.cell.fontStyle===i.fontStyle||(e.cell._styleChanged=!0,e.cell._setStyle(c));let r=!0;if(t.value!==s&&(e.toggleButton?c.children[1].children[2].innerHTML=t.value:c.innerHTML=t.value,r=!1),null!==t.template){if(e.toggleButton){if(c.children[1]){const e=c.children[1].children[2];e.innerHTML!==t.template&&(e.innerHTML=t.template)}}else if(c.innerHTML!==t.template){const e=document.createElement("div");e.innerHTML=t.template,e.innerHTML!==c.innerHTML&&(c.innerHTML=t.template)}r=!1}r&&(l.cellsFormat?c.textContent=d:c.textContent=s),e.cell.canNotify=!0,a.canNotify=!0}if(!a.data.isEmpty&&t.isInitialized&&e._applyConditionalFormattingToCell(e.cell,t,c),t.grouping.enabled&&t.dataSource&&t.dataSource.groupBy.length>0&&l===t._firstVisibleColumn&&t.rowDetail.enabled&&t.rowDetail.visible&&c.querySelector("[toggle-button]")){const e=c.querySelector("[toggle-button]");e.classList.remove("smart-visibility-hidden"),e.classList.add("row-detail"),a.element.toggleDetailButton=e,a.element.toggleDetailButton.setAttribute("title",t.localize(a.showDetail?"collapseRow":"expandRow",{elementType:"Grid"})),e.onpointerdown=function(e){a.showDetail=!a.showDetail,e.stopPropagation(),e.preventDefault()}}}_autoWrap(){const e=this,t=e.firstChild,l=e.cell.grid;l.layout.allowCellsWrapShortcut&&e.hasAttribute("focus")&&e.hasAttribute("selected")&&(t.offsetWidth<t.scrollWidth?e._popupCellContent(t.innerHTML,e.cell):l._cellContentPopup&&l._cellContentPopup.remove())}_popupCellContent(e,t){const l=this,a=t.grid;let i=a._cellContentPopup;if(!a._cellContentPopup){i=document.createElement("div");const t=document.createElement("span"),l=document.createElement("div"),r=document.createElement("div");i.style.minHeight="0px",i.style.minWidth="0px",i.setAttribute("theme",a.theme),i.classList.add("smart-grid-cell-content-popup"),r.appendChild(l),r.classList.add("smart-grid-text-area-container"),l.innerHTML=e,l.classList.add("smart-grid-cell-content-popup-content"),t.classList.add("smart-hidden"),t.classList.add("close-button"),t.classList.add("smart-grid-icon"),t.classList.add("smart-icon-cancel-circled"),t.onclick=function(){a._cellContentPopup.parentNode.removeChild(a._cellContentPopup)},i.classList.add("smart-grid-text-area-dialog"),i.appendChild(r),i.appendChild(t),a._cellContentPopup=i}i.querySelector(".smart-grid-cell-content-popup-content").innerHTML=e;const r=a.offset(a.$.scrollView);i.style.top=a._offsetTop(l)-r.top+"px",i.style.left=a._offsetLeft(l)-r.left+"px",i.style.width=l.offsetWidth-4+"px",a.$.scrollView.appendChild(i)}_applyConditionalFormattingToCell(e,t,l){const a=this,i=e.column.dataField,r=e.row,n=e.row.index,s=r._style;if(t._conditionalFormatting&&t._conditionalFormatting[i]){const e=t._conditionalFormatting[i][n];a.cell.canNotify=!1,r.canNotify=!1,e?(a.cell._styleChanged=!0,a.cell.background=e.background,a.cell.color=e.color,a.cell.fontFamily=e.fontFamily,a.cell.fontSize=e.fontSize,a.cell._setStyle(l)):a.cell._styleChanged||(s&&s._changed?(a.cell._styleChanged=!0,a.cell.background=s.background,a.cell.color=s.color,a.cell.fontFamily=s.fontFamily,a.cell.fontSize=s.fontSize,a.cell._setStyle(l)):(a.cell._styleChanged=!0,a.cell.background=null,a.cell.color=null,a.cell.fontFamily=null,a.cell.fontSize=null,a.cell._setStyle(l))),a.cell.canNotify=!0,r.canNotify=!0}else t._conditionalFormattingChanged&&!a.cell._styleChanged&&(a.cell.canNotify=!1,r.canNotify=!1,s&&s._changed?(a.cell._styleChanged=!0,a.cell.background=s.background,a.cell.color=s.color,a.cell.fontFamily=s.fontFamily,a.cell.fontSize=s.fontSize,a.cell._setStyle(l)):(a.cell._styleChanged=!0,a.cell.background=null,a.cell.color=null,a.cell.fontFamily=null,a.cell.fontSize=null,a.cell._setStyle(l)),a.cell.canNotify=!0,r.canNotify=!0)}_rotateCellContent(e,t,l){const a=document.createElement("span");return e.innerHTML="",a.innerHTML=l,e.appendChild(a),a.className="rotate",a.style.transform="rotate("+t.cellsRotationAngle+"deg)",this.grid._recycleRotate(e,a,t.cellsAlign,t.cellsVerticalAlign,l)}_getCellAlignment(e,t){const l=e["column_"+t.dataField],a=l&&l.verticalAlign||t.cellsVerticalAlign;let i=l&&l.align||t.cellsAlign;const r={align:"",verticalAlign:""};if(!l)return{align:"align-left",verticalAlign:"align-middle"};switch(l.grid.rightToLeft&&("left"===i?i="right":"right"===i&&(i="left")),i){case"left":r.align="align-left";break;case"center":case"middle":r.align="align-center";break;case"right":r.align="align-right"}switch(a){case"top":r.verticalAlign="align-top";break;case"center":case"middle":r.verticalAlign="align-middle";break;case"bottom":r.verticalAlign="align-bottom"}return r}template(){return""}_detach(){this.element=null,this.cell=null}onDetached(){this._detach()}});
6
+ Smart.Utilities.Assign("Grid.Cell",class{constructor(e,t){const l=this;if(l.row=e,l.column=t,l.grid=e.grid,l.rowSpan=1,l.colSpan=1,l.value=void 0,l.fontSize=null,l.fontWeight=null,l.fontFamily=null,l.fontStyle=null,l.color=null,l.background=null,l.textDecoration=null,l.tooltip=null,l.align=null,l.verticalAlign=null,l.readonly=!1,l.oldValue=void 0,l._updating=!1,l.styleChanged=!0,l.editor=null,l.template=null,l.isEditing=!1,l.canNotify=!0,l.selected=!1,l.focused=!1,l.error=!1,l.format=null,l.formula=null,e._style){const t=e._style;l.color=t.color,l.background=t.background,l.fontFamily=t.fontFamily,l.fontSize=t.fontSize,l.fontStyle=t.fontStyle,l.textDecoration=t.textDecoration,l.fontWeight=t.fontWeight}if(l.grid&&l.grid.formulas){let a=e.data[t.dataField];a&&(""+a).startsWith("=")&&(l.formula=a)}return new Proxy(l,{deleteProperty:function(e,t){return delete e[t],!0},get:function(e,t){if("value"===t){const e=l.column.displayField?l.row.data[l.column.displayField]:l.row.data[l.column.dataField];if(l.grid&&l.grid.formulas&&l.formula){const e=l.grid._formulaParser;if(e)return e.parse(l.formula.slice(1))}return e}if("editor"===t||"template"===t)return e[t]||l.column[t];if("focused"===t){if(l.grid.selection.allowCellSelection&&l.grid._selection.focusedCell&&l.grid._selection.focusedCell.id===l.row.id&&l.grid._selection.focusedCell.dataField===l.column.dataField)return!(l.grid&&l.grid.dataSource.virtualDataSource&&!l.grid.dataSource.id)||l.grid._selection.focusedCell.id===l.row.index;if(l.grid.selection.allowRowSelection&&l.grid._selection.focusedCell&&l.grid._selection.focusedCell.id===l.row.id&&l.grid._selection.focusedCell.dataField===l.column.dataField)return!(l.grid&&l.grid.dataSource.virtualDataSource&&!l.grid.dataSource.id)||l.grid._selection.focusedCell.id===l.row.index;const e=l.parent();return!!(e&&l.grid.selection.allowCellSelection&&l.grid._selection.focusedCell&&l.grid._selection.focusedCell.id===e.row.id&&l.grid._selection.focusedCell.dataField===e.column.dataField)}if("selected"===t)return!0===l.row.getProperty("selected")||!0===l.column.getProperty("selected")||!!l.grid._selection.cells["row"+l.row.id]&&l.grid._selection.cells["row"+l.row.id][l.column.dataField];if("modifiedValue"===t){l.grid._cellsUpdatedValues||(l.grid._cellsUpdatedValues=[]);const t=l.grid._cellsUpdatedValues[l.row.id+"_"+l.column.dataField];return void 0!==t?t:e.value}return e[t]},set:function(e,a,i){const r=this.get(e,a);return r===i||(e[a]=i,!("element"!==a&&"isEditing"!==a&&"oldValue"!==a&&"_updating"!==a&&"notifyFn"!==a&&!a.startsWith("_")&&"canNotify"!==a)||("error"===a||("focused"===a&&(l.grid._selection.focusedCell={id:l.row.id,dataField:l.column.dataField,value:l.value,index:l.row.index}),"colSpan"!==a&&"rowSpan"!==a||i>=0&&-1===l.grid._cellsMerge.indexOf(l)&&l.grid._cellsMerge.push(l),"row"===a||"column"===a||"grid"===a||"styleChanged"===a||"formula"===a||("background"!==a&&"fontSize"!==a&&"fontWeight"!==a&&"fontFamily"!==a&&"textDecoration"!==a&&"color"!==a&&"fontStyle"!==a||(l.grid._cellStyles["row"+l.row.id]=!0,l.grid._cellStyles.length++,l._styleChanged=!0),"value"===a&&(void 0===l.oldValue&&(l.oldValue=r),(()=>{l.grid.dataSource.boundSource.canNotify=!1,null===i&&(l.column.allowNull||(i="number"===l.column.dataType||"int"===l.column.dataType||"float"===l.column.dataType||"integer"===l.column.dataType?0:"date"===l.column.dataType?new Date:"boolean"!==l.column.dataType&&"bool"!==t.dataType&&"")),void 0===i&&(i=null),null!==i&&i.label&&i.value?(l.row.data[l.column.displayField]=i.label,l.row.data[l.column.dataField]=i.value):(l.column.valueField&&(l.row.data[l.column.valueField]=i),l.row.data[l.column.dataField]=i);const e=l.grid.dataSource.dataItemById[l.row.id];if(e){const t=e.$.index;l.grid.dataSource&&i!==l.grid.dataSource.boundSource[t][l.column.dataField]&&(l.grid._sortedColumns&&l.grid._sortedColumns.length>0?e[l.column.dataField]=i:l.grid.dataSource.boundSource[t][l.column.dataField]=i)}l.grid.dataSource.boundSource.canNotify=!0})()),"selected"===a&&(l.grid._selection.cells["row"+l.row.id]&&(delete l.grid._selection.cells["row"+l.row.id][l.column.dataField],1===Object.getOwnPropertyNames(l.grid._selection.cells["row"+l.row.id]).length&&delete l.grid._selection.cells["row"+l.row.id]),l.grid._selection.cells["column"+l.column.dataField]&&(delete l.grid._selection.cells["column"+l.column.dataField][l.row.id],1===Object.getOwnPropertyNames(l.grid._selection.cells["column"+l.column.dataField]).length&&delete l.grid._selection.cells["column"+l.column.dataField]),i&&(l.grid._selection.cells["row"+l.row.id]||(l.grid._selection.cells["row"+l.row.id]=[]),l.grid._selection.cells["column"+l.column.dataField]||(l.grid._selection.cells["column"+l.column.dataField]=[]),l.grid._selection.cells["row"+l.row.id][l.column.dataField]=!0,l.grid._selection.cells["column"+l.column.dataField][l.row.id]=!0)),!(!l._updating&&l.canNotify&&(l.grid._recycle(),l.row.canNotify&&(l.propertyChanged&&l.propertyChanged(name.substring(1),r),0)))))))}})}setStyle(e){this.setProperties(e)}_setStyle(e){const t=this;if(t._styleChanged){if(!t.grid._cellStyles.length)return;let l="";const a={background:"background",color:"color",fontSize:"font-size",fontFamily:"font-family",fontWeight:"font-weight",fontStyle:"font-style",textDecoration:"text-decoration"},i=e=>{const i=t[e];if(""===i||null===i)return;const r=a[e];l+=`${r}: ${i};`},r=["background","color","fontSize","fontFamily","fontWeight","fontStyle","textDecoration"];for(let e=0;e<r.length;e++)i(r[e]);e.getAttribute("style")!==l&&(""===l?e.removeAttribute("style"):e.setAttribute("style",l)),""!==e.style.paddingBottom&&(e.style.paddingBottom=""),t._styleChanged=!1}t.grid&&!t.grid.appearance.showSelectionOnTop||t.selected&&(t.background||t.color)&&(e.style.background="",e.style.color="")}getFormattedValue(e,t){const l=this;if(null==e||""===e)return e;if(!t)return""+e;if(l.column._cellsCachedValues||(l.column._cellsCachedValues=[]),l.column._cellsCachedValues[""+e+t+l.column.grid.locale])return l.column._cellsCachedValues[""+e+t+l.column.grid.locale];if("date"===l.column.dataType||"datetime"===l.column.dataType||"time"===l.column.dataType){if("dateRangeInput"===l.column.editor.template){if(Array.isArray(e)){const a=l.formatDate(e[0],t)+" - "+l.formatDate(e[1],t);return l.column._cellsCachedValues[""+e+t+l.column.grid.locale]=a,a}{const a=l.formatDate(e,t);return l.column._cellsCachedValues[""+e+t+l.column.grid.locale]=a,a}}let a=l.formatDate(e,t);return"1/1/0001 12:00 AM"===a&&(a=""),l.column._cellsCachedValues[""+e+t+l.column.grid.locale]=a,a}if("int"===l.column.dataType||"int64"===l.column.dataType||"float"===l.column.dataType||"number"===l.column.dataType){let a=l.formatNumber(e,t);return"NaN"===a&&(a=""),l.column._cellsCachedValues[""+e+t+l.column.grid.locale]=a,a}if("any"===l.column.dataType||"string"===l.column.dataType&&t&&t.length){let a=!1;if(t.indexOf("d")>=0&&t.indexOf("M")>=0&&(a=!0),(t.indexOf("d")>=0||t.indexOf("M")>=0||t.indexOf("y")>=0||t.indexOf("h")>=0||t.indexOf("H")>=0||t.indexOf("m")>=0)&&(a=!0),a){let a=l.formatDate(e,t);return"1/1/0001 12:00 AM"===a&&(a=""),l.column._cellsCachedValues[""+e+t+l.column.grid.locale]=a,a}{"string"==typeof e&&(e=parseFloat(e));let a=l.formatNumber(e,t);return"NaN"===a&&(a=""),l.column._cellsCachedValues[""+e+t+l.column.grid.locale]=a,a}}return e}formatDate(e,t){if(!Smart.Utilities.DateTime)return e;const l=this,a=l.grid;if(l.column.formatSettings.Intl&&l.column.formatSettings.Intl.DateTimeFormat)return new Intl.DateTimeFormat(this.grid.locale,l.column.formatSettings.Intl.DateTimeFormat).format(e);!t&&l.column.formatSettings.dateFormat&&(t=l.column.formatSettings.dateFormat);try{const l=new Smart.Utilities.DateTime(e);l.calendar.locale=a.locale,a.messages[a.locale]&&a.messages[a.locale].calendar&&(a.messages[a.locale].calendar.months&&(l.calendar.months=a.messages[a.locale].calendar.months),a.messages[a.locale].calendar.days&&(l.calendar.days=a.messages[a.locale].calendar.days),void 0!==a.messages[a.locale].calendar.firstDay&&(l.calendar.firstDay=a.messages[a.locale].calendar.firstDay),void 0!==a.messages[a.locale].calendar.eras&&(l.calendar.eras=a.messages[a.locale].calendar.eras),void 0!==a.messages[a.locale].calendar.AM&&(l.calendar.AM=a.messages[a.locale].calendar.AM),void 0!==a.messages[a.locale].calendar.PM&&(l.calendar.PM=a.messages[a.locale].calendar.PM),void 0!==a.messages[a.locale].calendar["/"]&&(l.calendar["/"]=a.messages[a.locale].calendar["/"]),void 0!==a.messages[a.locale].calendar[":"]&&(l.calendar[":"]=a.messages[a.locale].calendar[":"]),l.calendar.today=a.messages[a.locale].today);let i=l.toString(t);return i!==a.messages[a.locale].today||a.showTodayDateAsString||(l.showTodayDateAsString=!1,i=l.toString(t),delete l.showTodayDateAsString),i}catch(t){return e}}formatNumber(e,t){if(!Smart.Utilities.NumberRenderer)return e;const l=this,a=l.grid;if(l.column.formatSettings.Intl&&l.column.formatSettings.Intl.NumberFormat){if(l.column.formatSettings.Intl.NumberFormat.currency&&Smart.Utilities.CurrencyFormatter){const t=void 0!==l.column.formatSettings.Intl.NumberFormat.maximumFractionDigits?l.column.formatSettings.Intl.NumberFormat.maximumFractionDigits:2,a=(new Smart.Utilities.CurrencyFormatter).format(e,{decimalPlaces:t,currency:l.column.formatSettings.Intl.NumberFormat.currency});return"accounting"===l.column.formatSettings.Intl.NumberFormat.currency.currencySign&&e<0?"("+a.replace("-","")+")":a}if(l.column.formatSettings.Intl.NumberFormat.locale)return new Intl.NumberFormat(l.column.formatSettings.Intl.NumberFormat.locale,l.column.formatSettings.Intl.NumberFormat).format(e);{const t=new Intl.NumberFormat(this.grid.locale,l.column.formatSettings.Intl.NumberFormat).format(e);return"squaremeter"===l.column.formatSettings.Intl.NumberFormat.type?t+" m²":"cubicmeter"===l.column.formatSettings.Intl.NumberFormat.type?t+" m³":t}}const i=new Smart.Utilities.NumberRenderer;if(i.localizationObject){const e=l.column.formatSettings,t=a.messages[a.locale]?a.messages[a.locale].calendar:{};e.decimalPlaces&&(i.localizationObject.decimalPlaces=e.decimalPlaces),(e.decimalSeparator||t.decimalSeparator)&&(i.localizationObject.decimalSeparator=e.decimalSeparator||t.decimalSeparator,i.localizationObject.decimalseparator=i.localizationObject.decimalSeparator),(e.thousandsSeparator||t.thousandsSeparator)&&(i.localizationObject.thousandsSeparator=e.thousandsSeparator||t.thousandsSeparator,i.localizationObject.thousandsseparator=i.localizationObject.thousandsSeparator),i.localizationObject.currencysymbol=t.currencySymbol,i.localizationObject.currencysymbolposition=t.currencySymbolPosition,e.prefix&&(i.localizationObject.currencysymbol=e.prefix),e.sufix&&(i.localizationObject.currencysymbol=e.sufix,i.localizationObject.currencysymbolposition="after")}const r=i.formatNumber(e,t);return void 0===r?e:e<0&&l.column.formatSettings.negativeWithBrackets?"("+r+")":r}refresh(){const e=this;if(e.element){const t=e.element.firstChild;e._setStyle(t)}}autoWrap(){const e=this;e.element&&e.element._autoWrap()}setProperties(e){const t=this;t._updating=!0;for(let l in e)t[l]=e[l];t._updating=!1,t.grid._recycle()}createElement(){const e=document.createElement("smart-grid-cell");return e.setAttribute("role","gridcell"),this.element=e,e._initialize(this),e}render(){this.element&&this.element._render()}parent(e){const t=this,l=t.row,a=t.column.dataField,i=t.grid;if(!i._cellsMerge.length)return null;if(t.__parentCells&&void 0!==t.__parentCells["row"+l.id+"_column_"+a])return t.__parentCells["row"+l.id+"_column_"+a];let r=i.getVisibleRows();i.paging.enabled&&"page"===i.selection.selectAllMode&&(r=r.slice(i.paging.pageIndex*i.paging.pageSize,(i.paging.pageIndex+1)*i.paging.pageSize)),t.__parentCells||(t.__parentCells=[]);for(let n=0;n<i._cellsMerge.length;n++){const s=i._cellsMerge[n];let o=[],d=[];if(o.push(s.row),s.rowspan>1){const e=r.indexOf(s.row);if(e>=0)for(let t=e;t<e+s.rowSpan;t++)r[t]&&-1===o.indexOf(r[t])&&o.push(r[t])}if(d.push(s.column.dataField),s.colspan>1){const e=i.columns.indexOf(i.columnByDataField[s.column.dataField]);for(let t=e;t<e+s.colSpan;t++)i.columns[t]&&-1===d.indexOf(i.columns[t].dataField)&&d.push(i.columns[t].dataField)}if(o.indexOf(l)>=0&&d.indexOf(a)>=0){if(e){const e={cell:s.row.getCell(s.column.dataField),rows:o,columns:d,row:s.row,column:s.column,endRow:o[o.length-1],endColumn:i.columnByDataField[d[d.length-1]]};return t.__parentCells["row"+l.id+"_column_"+a]=e,e}const r=s.row.getCell(s.column.dataField);return t.__parentCells["row"+l.id+"_column_"+a]=r,r}}return t.__parentCells["row"+l.id+"_column_"+a]=null,null}}),Smart("smart-grid-cell",class extends Smart.BaseElement{static get properties(){return{}}get hasStyleObserver(){return!1}get enableShadowDOM(){return!1}addThemeClass(){}addDefaultClass(){}get isUtilityElement(){return!0}_refresh(){const e=this;e.innerHTML="",e._initialize(e.cell)}_createToggleButton(e,t){const l=this,a=document.createElement("div"),i=document.createElement("button"),r=document.createElement("div"),n=document.createElement("div"),s=document.createElement("div"),o=document.createElement("span"),d=t.grid;t.row.expanded?i.setAttribute("toggled",""):i.removeAttribute("toggled",""),i.tabIndex=-1,l.toggleButton=i,l.checkbox=s,e.appendChild(a),e.appendChild(n),n.setAttribute("content",""),a.setAttribute("indent",""),r.setAttribute("label",""),i.setAttribute("toggle-button",""),s.setAttribute("checkbox",""),s.setAttribute("role","checkbox"),l.setAttribute("has-toggle-button",""),n.appendChild(i),n.appendChild(s),o.classList.add("smart-input"),s.appendChild(o),d.checkBoxes.visible?o.classList.remove("smart-hidden"):o.classList.add("smart-hidden"),n.appendChild(r),l.content=r}_initialize(e){const t=this,l=document.createElement("div"),a=e.column,i=e.grid;t._properties=[],t.cell=e,t.appendChild(l);let r=!1;if(a&&a._treeColumn&&i.dataSource.boundHierarchy&&(r=!0,e.row.filterRow&&(r=!1),!i.grouping.enabled&&i.dataSource.groupBy&&i.dataSource.groupBy.length>0&&(r=!1),i.grouping.enabled&&i.dataSource.groupBy&&0===i.dataSource.groupBy.length&&(r=!1)),r)return t._createToggleButton(l,e),void(t.isRendered=!0);{const e=document.createElement("div");l.appendChild(e)}t.content=l,t.isRendered=!0}_renderCommands(){const e=this,t=e.cell.grid;if(t.__cellsCommandTemplate)return e.firstChild.innerHTML=t.__cellsCommandTemplate,void t._updateCommandColumnCommandsVisibility(e.firstChild,e.cell.row);const l=t._getCommandColumnCommandsTemplate();e.firstChild.innerHTML=l,t._updateCommandColumnCommandsVisibility(e.firstChild,e.cell.row),t.__cellsCommandTemplate=l}_renderGroupCell(){const e=this,t=e.cell.grid,l=e.cell.column,a=e.cell.row;[...e.attributes].forEach((t=>e.removeAttribute(t.name))),e.setAttribute("group","");const i=l===t._firstRenderedColumn;e.style.width!==l.computedWidth+"px"&&(e.style.width=l.computedWidth+"px"),i||(t.rightToLeft?e.style.right!==l.left+"px"&&(e.style.right=l.left+"px"):e.style.left!==l.left+"px"&&(e.style.left=l.left+"px")),e.classList.contains("smart-hidden")&&e.classList.remove("smart-hidden"),l===t._firstRenderedColumn||a.summaryRow||e.classList.add("smart-hidden"),l.autoGenerated&&(e.style.width="0px");let r=a.label;const n=function(e,t,l){if(!t)return[];for(let a=0;a<t.length;a++){const i=t[a];i.$&&!1===i.$.filtered||(void 0!==i[e]&&l.push(i),i.summaryRow||(i.children||i.data&&i.data.children)&&n(e,i.children,l))}return l};if(void 0!==a.label){let s="",o=[];if(t.grouping.summaryRow.visible){let r=[];const d={},c=i?l.summary.length>0?l.summary:["count"]:l.summary;c.length&&(r=n(l.dataField,a.summaryRow?a.parent.data.children:a.data.children,[])),d[l.dataField]=c;const m=c.length>0?t.dataSource.summarize([d],r):null;if(m)for(let r=0;r<c.length;r++){const n=c[r];r>0&&(s+=", ");let u=m[l.dataField][n];const p=l.cellsFormat;if(p&&(u=e.cell.getFormattedValue(u,p)),i){const i=t.columnByDataField[a.groupDataField];if(i){d[i.dataField]=c,m[i.dataField]=m[l.dataField],u=m[i.dataField][n];const t=i.cellsFormat;t&&(u=e.cell.getFormattedValue(u,t))}}s+=t.localize(n,{value:u}),o.push(m[l.dataField][n])}}if(t.dataSource.virtualDataSourceOnExpand&&(s=""),i){const l=t.columnByDataField[a.groupDataField],i=l?l.label:"";if("advanced"===t.grouping.renderMode){if(a.summaryRow)r="<div header group-advanced><span group></span><span value></span>",s&&(r+="<div summary>",r+=s,r+="</div>");else{let e=a.label?a.label:t.localize("blankSummary");a.label||"taskStatus"!==a.groupDataField||(e="");let n="";if(l&&l.editor&&l.editor.dataSource){const t=l.editor.dataSource.find((t=>t.value===e||t.label===e));t&&t.color?(n=`--smart-primary: ${t.color}`,t.label&&(e=t.label)):t&&t.label&&(e=t.label)}if(a.label||"taskStatus"!==a.groupDataField||(e=t.localize("uncategorized")),"object"==typeof e&&l.cellsFormat){const t=a.getCell(l.dataField);e=t.getFormattedValue(e,l.cellsFormat)}else if("object"==typeof e&&e&&e instanceof Date){const t=a.getCell(l.dataField);e=t.getFormattedValue(e,"d")}r=`<div style="${n}" header group-advanced><span group>${t.editing.addNewRow.visible?'<span add-row class="smart-grid-icon smart-icon-plus-circled show"></span>':""}${i}: </span><span value>${e}</span>`,s&&t.grouping.summaryRow.inline&&(r+="<span summary>",r+=""+s,r+="</span>")}r+="</div>",e.classList.add("smart-grid-column-border-collapse")}else if("compact"===t.grouping.renderMode){if(a.summaryRow)r="<div header><span group></span><span value></span>",s&&(r+="<div summary>",r+=s,r+="</div>");else{let e=a.label;l.displayField!==l.dataField&&a.data.data&&(e=a.data.data[l.displayField]),"object"==typeof e&&l.cellsFormat&&(e=a.getCell(l.dataField).getFormattedValue(e,l.cellsFormat)),r="<div header><span group>"+i+": </span><span value>"+e+"</span>",s&&t.grouping.summaryRow.inline&&(r+="<span summary>",r+=" ("+o+")",r+="</span>")}r+="</div>",e.classList.add("smart-grid-column-border-collapse")}else"basic"===t.grouping.renderMode?(r=a.label,l.displayField!==l.dataField&&a.data.data&&(r=a.data.data[l.displayField]),"object"==typeof r&&l.cellsFormat&&(r=a.getCell(l.dataField).getFormattedValue(r,l.cellsFormat)),a.summaryRow?s&&(r+="<div summary>",r+=s,r+="</div>"):s&&t.grouping.summaryRow.inline&&(r+="<span summary>",r+=" ("+o+")",r+="</span>"),e.classList.add("smart-grid-column-border-collapse")):"multipleColumns"===t.grouping.renderMode&&(r=a.label,"object"==typeof r&&l.cellsFormat&&(r=a.getCell(l.dataField).getFormattedValue(r,l.cellsFormat)),a.summaryRow?s&&(r+="<div summary>",r+=s,r+="</div>"):s&&t.grouping.summaryRow.inline&&(r+="<span summary>",r+=" ("+o+")",r+="</span>"),e.classList.add("smart-grid-column-border-collapse"));e.setAttribute("has-toggle-button","")}else e.removeAttribute("has-toggle-button",""),r=s}let s=e.firstChild;if(t.dataSource.boundHierarchy&&i){s.children.length<=1&&(e.innerHTML="<div></div>",s=e.firstChild,e._createToggleButton(s,e.cell),s=e.firstChild);const n=s.children[0],o=s.children[1].children[0],d=s.children[1].children[1].firstChild,c=s.children[1].children[2];n.setAttribute("indent",""),a.checked?d.setAttribute("checked",""):!1===a.checked?d.removeAttribute("checked"):null===a.checked&&d.setAttribute("checked","indeterminate"),a.leaf?o.classList.add("smart-visibility-hidden"):(o.classList.remove("smart-visibility-hidden"),a.expanded?o.setAttribute("toggled",""):o.removeAttribute("toggled",""));let m="";if(!l._treeColumn||a.summaryRow||a.filterRow?e.toggleButton.classList.add("smart-hidden"):e.toggleButton.classList.remove("smart-hidden"),l._treeColumn)if(t.grouping.enabled){let e=a.level-1;if(1+e===0)m+="",n.classList.add("smart-hidden");else{if("multipleColumns"===t.grouping.renderMode){let l=0;for(let a=0;a<t.columns.length;a++)a<1+e&&(l+=t.columns[a].computedWidth);m+='<div style="width: '+l+'px;"></div>'}else m+='<div style="width: '+(1+e)*t.grouping.groupIndent+'px;"></div>';n.classList.remove("smart-hidden")}}else for(let e=0;e<a.level;e++)m+="<div class='smart-indent'></div>";if(void 0===a.label||a.summaryRow||a.filterRow?o.classList.add("smart-hidden"):(o.classList.remove("smart-hidden"),o.style.marginLeft=""),n.innerHTML=m,c.innerHTML=r,i&&t.grouping.formatFunction){const i={row:a,column:l,groupDataField:a.groupDataField,cell:e.cell,value:r,template:null};t.grouping.formatFunction(i),i.value!==r?c.innerHTML=i.value:i.template&&(c.innerHTML=i.template)}t.appearance.showTooltips?c.setAttribute("title",a.label?a.label:t._unescapeString(r)):c.hasAttribute("title")&&c.removeAttribute("title")}else void 0!==a.label&&t.grouping.enabled&&!i&&(s.innerHTML=r);let o="smart-label";e.style.zIndex="";const d=t.editing.addNewColumn.visible?t._addNewColumn.width-1:0;if(i){const l=t.columnByDataField[a.groupDataField];l.cellsAlign&&(o+=" align-"+l.cellsAlign),l.cellsVerticalAlign&&(o+=" align-"+l.cellsVerticalAlign),e.setAttribute("header",""),a.summaryRow||(e.style.width="calc(100% - "+d+"px)"),void 0!==a.label&&(e.style.zIndex=11)}else l===t._firstRenderedColumn&&(e.style.zIndex=4),e.setAttribute("header",""),a.summaryRow||(e.style.width="calc(100% - "+d+"px)");if(a.summaryRow&&(e.setAttribute("header",""),e.classList.add("smart-grid-column-border-collapse"),l.cellsAlign&&(o+=" align-"+l.cellsAlign),l.cellsVerticalAlign&&(o+=" align-"+l.cellsVerticalAlign)),s.className!==o&&(s.className=o),l.formatFunction){const t={row:a,column:l,cell:e.cell,value:null,template:null,group:{value:r,template:null}};l.formatFunction(t),t.group.value!==r&&(l._treeColumn?s.children[1].children[2].innerHTML=t.group.value:s.innerHTML=t.group.value),null!==t.group.template&&(s.innerHTML=t.group.template)}}_renderFilterCell(e){const t=this,l=t.cell.grid,a=t.cell.column;let i;const r=(e,t)=>{l._handleFilterMenuClick(e,t)};l._filterInfo||(l._filterInfo={},l._filterInfo.stringConditions=[{icon:"smart-icon-contains",command:r,value:"CONTAINS",label:l.localize("CONTAINS")},{icon:"smart-icon-does-not-contain",command:r,value:"DOES_NOT_CONTAIN",label:l.localize("DOES_NOT_CONTAIN")},{icon:"smart-icon-starts-with",command:r,value:"STARTS_WITH",label:l.localize("STARTS_WITH")},{icon:"smart-icon-ends-with",command:r,value:"ENDS_WITH",label:l.localize("ENDS_WITH")},{icon:"smart-icon-equals",command:r,value:"EQUAL",label:l.localize("EQUAL")},{icon:"smart-icon-delete",command:r,value:"CLEAR_FILTER",label:l.localize("CLEAR_FILTER")}],l._filterInfo.numberAndDateConditions=[{icon:"smart-icon-equals",command:r,value:"EQUAL",label:l.localize("EQUAL")},{icon:"smart-icon-not-equal",command:r,value:"NOT_EQUAL",label:l.localize("NOT_EQUAL")},{icon:"smart-icon-less-than",command:r,value:"LESS_THAN",label:l.localize("LESS_THAN")},{icon:"smart-icon-less-than-equal",command:r,value:"LESS_THAN_OR_EQUAL",label:l.localize("LESS_THAN_OR_EQUAL")},{icon:"smart-icon-greater-than",command:r,value:"GREATER_THAN",label:l.localize("GREATER_THAN")},{icon:"smart-icon-greater-than-equal",command:r,value:"GREATER_THAN_OR_EQUAL",label:l.localize("GREATER_THAN_OR_EQUAL")},{icon:"smart-icon-between",command:r,value:"RANGE",label:l.localize("RANGE")},{icon:"smart-icon-delete",command:r,value:"CLEAR_FILTER",label:l.localize("CLEAR_FILTER")}]),i="string"===a.dataType?l._filterInfo.stringConditions:l._filterInfo.numberAndDateConditions;let n="smart-icon-search";if(a._filterInfo||(a._filterInfo={condition:""}),a.filterEditor&&a.filterEditor.condition&&(a._filterInfo.condition=a.filterEditor.condition),a.filterEditor&&a.filterEditor.value&&(a._filterInfo.value=a.filterEditor.value),a._filterInfo.dataSource=i,null===a._filterInfo.condition||void 0===a._filterInfo.condition)a._filterInfo.condition="",n="smart-icon-search";else switch(a._filterInfo.condition.toLowerCase()){case"equal":n="smart-icon-equals";break;case"starts_with":n="smart-icon-starts-with";break;case"ends_with":n="smart-icon-ends-with";break;case"not_equal":n="smart-icon-not-equal";break;case"less_than":n="smart-icon-less-than";break;case"less_than_or_equal":n="smart-icon-less-than-or-equal";break;case"greater_than":n="smart-icon-greater-than";break;case"greater_than_or_equal":n="smart-icon-greater-than-or-equal";break;case"contains":n="smart-icon-contains";break;case"does_not_contain":n="smart-icon-does-not-contain";break;case"range":n="smart-icon-between";break;default:n="smart-icon-search"}let s=`<div class="smart-filter-input-type"><i class="smart-grid-icon ${n} show"></i></div> `;if("string"===a.dataType)s+=`<input class="smart-filter-input-value" data-type="${a.dataType}" /> `,e.innerHTML=s;else if("date"===a.dataType){const i=new Smart.Utilities.DateTime;s+=`<input placeholder = "${i.expandFormat(i.calendar,a.cellsFormat||"d")}" class="smart-filter-input-value" data-type="${a.dataType}"/><div class="smart-filter-input-type"><i class="smart-grid-icon smart-icon-calendar show"></i></div>`,e.innerHTML=s,e.lastElementChild.onpointerdown=function(){l._handleFilterCalendarCellClick(t.cell)}}else if("number"===a.dataType)s+='<div class="smart-grid-cell-editor smart-filter-input-value smart-grid-number-input-cell-editor"><input class="smart-input" type="number"><div tabindex="-1" class="nav"><div tabindex="-1" class="up"></div><div tabindex="-1" class="down"></div></div></div>',e.innerHTML=s,l._handleFilterNumberCellEditor(this.cell,e);else if("boolean"===a.dataType||"bool"===a.dataType){const i=document.createElement("div");i.classList.add("smart-input"),i.classList.add("smart-grid-check-box-cell-editor"),i.classList.add("smart-filter-input-value"),e.tabIndex=0,e.style.outline="none",t.setAttribute("template","checkBox"),i.setAttribute("checked","indeterminate"),a._filterInfo&&a._filterInfo.value?i.setAttribute("checked",""):a._filterInfo&&!1===a._filterInfo.value&&i.removeAttribute("checked"),s=i.outerHTML,e.innerHTML=s,e.classList.add("align-center"),e.classList.add("smart-label"),e.onfocus=()=>{e.setAttribute("focus","")},e.onblur=()=>{e.removeAttribute("focus","")},e.onclick=e=>{e.target.classList.contains("smart-input")&&l._handleFilterCellCheckBoxClick(this.cell)}}const o=e.querySelector("input");if(o&&(e.firstElementChild.onpointerdown=function(){l._handleFilterCellIconClick(this.cell)}.bind(this),o.onfocus=function(){l._handleFilterCellFocus(this.cell)}.bind(this),o.onblur=function(){l._handleFilterCellBlur(this.cell)}.bind(this),o.onkeyup=function(e){l._handleFilterCellKeyUp(this.cell,e)}.bind(this),o.onkeydown=function(e){l._handleFilterCellKeyDown(this.cell,e)}.bind(this)),e.classList.add("smart-filter-input-container"),a._filterInfo.input=o,a._filterInfo.cell=t.cell,a._filterInfo.editor=e,a._filterInfo.value&&o&&(o.value=a._filterInfo.value,"date"===a.dataType&&(o.value=t.cell.getFormattedValue(a._filterInfo.value,a.cellsFormat))),a.allowFilter||(o.disabled=!0),a.filterEditor)if(a.filterEditor.template){const t=a.filterEditor.template,l=document.createElement("div");a.filterTemplate instanceof HTMLTemplateElement?l.appendChild(t.content.cloneNode(!0)):t instanceof HTMLElement?l.appendChild(t):l.innerHTML=t,e.innerHTML="",e.appendChild(l),l.style.height="100%",l.style.width="100%";const i=e.querySelector("input");i&&(i.onfocus=()=>{e.setAttribute("focus","")},i.onblur=()=>{e.removeAttribute("focus","")}),a.filterEditor.onInit&&a.filterEditor.onInit(a,l)}else void 0!==a.filterEditor.min&&(o.min=a.filterEditor.min),void 0!==a.filterEditor.max&&(o.max=a.filterEditor.max),void 0!==a.filterEditor.minLength&&(o.minLength=a.filterEditor.minLength),void 0!==a.filterEditor.maxLength&&(o.maxLength=a.filterEditor.maxLength),void 0!==a.filterEditor.placeholder&&(o.placeholder=a.filterEditor.placeholder),void 0!==a.filterEditor.value&&(o.value=a.filterEditor.value),void 0!==a.filterEditor.step&&(o.step=a.filterEditor.step),void 0!==a.filterEditor.disabled&&(o.disabled=a.filterEditor.disabled),void 0!==a.filterEditor.condition&&(a._filterInfo.condition=a.filterEditor.condition),a.filterEditor.onInit&&a.filterEditor.onInit(a,e)}_setTemplate(e,t,l){const a=this,i=a.cell.grid,r=a.cell.column;let n=null;switch((!i.editing.enabled||!r.allowEdit||a.cell.readonly||"none"===i.editing.action||i.editing.enabled&&i.editing.commandColumn.visible&&i.editing.editRow!==a.cell.row)&&a.setAttribute("readonly",""),t){case"checkBox":case"radioButton":case"switchButton":if(l.firstElementChild&&l.firstElementChild.classList.contains("smart-input"))return n=l.firstElementChild,e?n.setAttribute("checked",""):null===e?n.setAttribute("checked","indeterminate"):n.removeAttribute("checked"),void a.setAttribute("template",a.cell.template);n=document.createElement("span"),n.className="smart-input",e?n.setAttribute("checked",""):null===e?n.setAttribute("checked","indeterminate"):n.removeAttribute("checked"),a.setAttribute("template",a.cell.template),l.innerHTML="",l.appendChild(n),a.cell._setStyle(l);break;case"checklist":if(e&&e.indexOf("[")>=0&&(e=JSON.parse(e)),l.firstElementChild&&l.firstElementChild.hasAttribute("value")){const t=l.firstElementChild.getAttribute("value");if(e&&t===e.length)return a.cell._setStyle(l),void a.setAttribute("template",a.cell.template)}if(e&&Array.isArray(e)&&e.length>0){const t=e.filter((e=>e.completed)).length,l=["#D50000","#F4511E","#F6BF26","#33B679"],a=t+"/"+e.length;let i=l[0];t===e.length?i=l[3]:t>0&&t<e.length&&(i=l[2]),e=`<div style="display: grid; grid-template-columns: 25px auto"><div style="margin-left: 4px; align-self: center; border-radius: 50%; display: flex; align-content: center; background: ${i}; width:16px; height: 16px;"><span title="${a}" style="align-content: center; font-size: 13px; color: white;" class="smart-grid-icon show smart-icon-check"></span></div>${a}</span></div>`}else e="";n=document.createElement("span"),n.innerHTML=e,a.setAttribute("template",a.cell.template),n.setAttribute("value",e.length);break;case"createdBy":case"updatedBy":{const e=a.cell.row;let s=null,o=null;if(s="createdBy"===t?e.createdBy:e.updatedBy,l.firstElementChild&&l.firstElementChild.hasAttribute("user-id")){if(s===parseInt(l.firstElementChild.getAttribute("user-id")))return a.cell._setStyle(l),void a.setAttribute("template",a.cell.template);if(null!=s&&-1!==s){o=i.users.find((e=>e.id===s));const e=o;if(e){const t=l.firstElementChild.firstElementChild&&l.firstElementChild.firstElementChild.firstElementChild?l.firstElementChild.firstElementChild.firstElementChild.firstElementChild:null;if(t){l.firstElementChild.setAttribute("user-id",s);const a="string"==typeof e?e:e.name,i="string"==typeof e?null:e.color;if(("string"==typeof e?null:e.image)&&(t.firstElementChild.style.backgroundImage=`url('${e.image}')`),i){const e=new Smart.Color(i).getInvertedColor();t.setAttribute("data-item",a),t.setAttribute("title",a),t.setAttribute("backgroundColor",i),t.setAttribute("color",e),t.lastElementChild.textContent=a}else t.setAttribute("data-item",a),t.setAttribute("title",a),t.setAttribute("backgroundColor",""),t.setAttribute("color","");return}}}}const d=document.createElement("div");d.classList.add("smart-multi-combo-input"),d.setAttribute("data-field",r.dataField),d.setAttribute("row-id",a.cell.row.id),d.style.width="100%",d.style.paddingRight="6px";let c='<div class="smart-flex smart-flex-auto smart-tokens-layout">';if(null!=s&&-1!==s){o=i.users.find((e=>e.id===s));const e=o;if(e){const t="string"==typeof e?e:e.name,l="string"==typeof e?null:e.color,a="string"==typeof e?null:e.image,i=document.createElement("span");a&&(i.style.backgroundImage=`url('${e.image}')`,i.className="smart-drop-down-list-selection-image"),c+=l?'<span title="'+t+'" data-item="'+t+'" style="background: '+l+"; color: "+new Smart.Color(l).getInvertedColor()+'; overflow: visible;" class="smart-truncate smart-token">'+i.outerHTML+"<span class='smart-drop-down-list-selection-label' role=\"presentation\">"+t+"</span></span>":'<span title="'+t+'" data-item="'+t+'" class="smart-truncate smart-token">'+i.outerHTML+"<span class='smart-drop-down-list-selection-label' role=\"presentation\">"+t+"</span></span>"}else c=""}d.innerHTML=c+"</div>";const m=document.createElement("div");m.classList.add("smart-multi-combo-input-container","tokens","smart-flex","smart-flex-auto"),d.classList.add("smart-flex-auto"),m.appendChild(d),n=m,n.setAttribute("user-id",s),a.setAttribute("template",a.cell.template);break}case"collaborator":case"tags":{let s=[];"number"==typeof e&&(e=""+e);let o=!1===i.editing.enabled?"smart-visibility-hidden":"",d=r.editor.dataSource&&r.editor.dataSource.length;if(r.editor.collaborator&&(d=i.users&&i.users.length),d||(o="smart-visibility-hidden"),""===e||null===e||"uncategorized"===e){let e=`\n <div class="smart-multi-combo-input-container tokens smart-flex smart-flex-auto" data-field="${r.dataField}" row-id="${a.cell.row.id}"> \n <div class="smart-multi-combo-input" data-field="${r.dataField}" row-id="${a.cell.row.id}" class="tokens smart-flex smart-flex-auto">\n <div class=" smart-flex-auto smart-flex"></div>\n </div>\n <span class="smart-arrow-down arrowbtn ${o}"></span>\n </div>\n `;l.innerHTML!==e&&(l.firstElementChild&&l.firstElementChild.firstElementChild&&l.firstElementChild.firstElementChild.firstElementChild&&""===l.firstElementChild.firstElementChild.firstElementChild.textContent?(l.firstElementChild.setAttribute("row-id",a.cell.row.id),l.firstElementChild.firstElementChild.setAttribute("row-id",a.cell.row.id)):l.innerHTML=e);const t=l.querySelector(".smart-arrow-down");return t&&(t.onpointerdown=e=>{if(i.editing.enabled){const t=e.target.previousElementSibling,l=t.getAttribute("data-field"),a=t.closest("smart-grid-row").getAttribute("data-id");i.beginEdit(a,l)}e.stopPropagation(),e.preventDefault()}),void a.setAttribute("template",a.cell.template)}if(null!==e&&(s=Array.isArray(e)?s.map((e=>e.trim())):e.indexOf("{")>=0||"[]"===e?JSON.parse(e):e.split(",").map((e=>e.trim()))),l.firstElementChild&&l.firstElementChild.hasAttribute("value")&&r.editor._items&&l.firstElementChild.getAttribute("value")===e){if(a.cell._setStyle(l),a.setAttribute("template",a.cell.template),l.firstElementChild&&l.firstElementChild.firstElementChild&&l.firstElementChild.firstElementChild.firstElementChild)if(l.firstElementChild.firstElementChild.firstElementChild.classList.remove("smart-flex-wrap"),a.cell.row.height>45){l.firstElementChild.firstElementChild.firstElementChild.classList.add("smart-flex-wrap");const e=l.firstElementChild.firstElementChild.firstElementChild;if(e.children&&e.children.length>1)for(let t=0;t<e.children.length;t++)e.children[t].style.maxWidth&&(e.children[t].style.maxWidth="")}else if(i.layout.rowHeight<=45&&a.cell.row.height<=45){const e=l.firstElementChild.firstElementChild.firstElementChild;if(e.children&&e.children.length>1){const t=parseInt(r.computedWidth/e.children.length)-5;let l=0;for(let t=0;t<e.children.length;t++)l+=e.children[t].textContent.length,e.children[t].style.maxWidth="";if(14*l*.52+20*e.children.length>r.computedWidth)for(let l=0;l<e.children.length;l++)e.children[l].style.maxWidth=t+"px"}}return}const c=document.createElement("div");c.classList.add("smart-multi-combo-input"),c.setAttribute("data-field",r.dataField),c.setAttribute("row-id",a.cell.row.id);let m='<div class="smart-tokens-layout smart-flex smart-flex-auto">';s.length>2&&a.cell.row.height>45&&(m='<div style="max-width: '+(r.computedWidth-10)+'px" class="smart-flex smart-flex-wrap">');let u=0;if(e)for(let e=0;e<s.length;e++){const l=s[e];let a=null;if("collaborator"===t||r.editor&&r.editor.collaborator)a=i.users.find((e=>{if("string"==typeof l||"number"==typeof l){if(e.value===l||parseInt(e.value)===parseInt(l))return e;if(e.id===l||parseInt(e.id)===parseInt(l))return e}else if("object"==typeof l&&e.value===l.value)return e})),a&&(a.label=a.name);else if(r.editor.dataSource)if("string"==typeof l&&r.editor._items&&r.editor._items[l])a=r.editor._items[l];else for(let e=0;e<r.editor.dataSource.length;e++){const t=r.editor.dataSource[e];if(void 0!==t.value&&void 0!==l&&void 0!==l.value&&t.value===l.value){a=t,r.editor._items||(r.editor._items=[]),r.editor._items[l]=t;break}if(void 0===t.value&&t===l||void 0!==t.value&&""+t.value===l){a=t,r.editor._items||(r.editor._items=[]),r.editor._items[l]=t;break}}else a=l;if(!a)continue;const n="string"==typeof a?a:a.label,o="string"==typeof a?null:a.color,d="string"==typeof a?null:a.image;if(""===n)continue;const c=document.createElement("span");d&&(c.style.backgroundImage=`url('${a.image}')`,c.className="smart-drop-down-list-selection-image");const p="smart-truncate";if(o&&r.editor.colorItems?m+='<span title="'+n+'" data-item="'+n+'" style="background: '+o+"; color: "+new Smart.Color(o).getInvertedColor()+'; overflow: visible;" class="'+p+' smart-token">'+c.outerHTML+"<span class='smart-drop-down-list-selection-label' role=\"presentation\">"+n+"</span>":m+='<span title="'+n+'" data-item="'+n+'" class="'+p+' smart-token">'+c.outerHTML+"<span class='smart-drop-down-list-selection-label' role=\"presentation\">"+n+"</span>",u+=n.length,r.editor.dataSource){if(r.editor.singleSelect){m+="</span>";break}m+='<span class=\'smart-hidden smart-drop-down-list-unselect-button\' role="button" aria-label="Unselect"></span></span>'}else m+="</span>"}c.innerHTML=m+"</div>";const p=14*u*.52,g=c.firstElementChild;if(i.layout.rowHeight<=45&&a.cell.row.height<=45&&c&&g.children.length>1&&p+20*g.children.length>r.computedWidth){const e=parseInt(r.computedWidth/g.children.length)-5;for(let t=0;t<g.children.length;t++)g.children[t].style.maxWidth=e+"px"}if(c.style.width="100%",c.style.paddingRight="6px",c.onpointerdown=e=>{if(!i._mobile)if(e.target&&"#text"!==e.target.nodeName&&e.target.classList.contains("smart-drop-down-list-unselect-button")){let t=e.target.parentNode.getAttribute("data-item");if(r.editor.dataSource&&"string"==typeof t&&r.editor.dataSource)for(let e=0;e<r.editor.dataSource.length;e++)r.editor.dataSource[e].label===t&&(t=r.editor.dataSource[e],t.value&&(t=t.value));if(s[0]&&s[0].label){const l=s.map((e=>e.value)),n=l.indexOf(t);if(n>=0){s.splice(n,1);const t=a.cell.value,l=s.join(", ");i.setCellValue(a.cell.row.id,r.dataField,JSON.stringify(s)),i.onCellUpdate&&i.onCellUpdate([a.cell],[t],[l],(function(){}),a),e.preventDefault(),e.stopPropagation()}}else if(s.indexOf(t)>=0){s.splice(s.indexOf(t),1);const l=a.cell.value,n=s.join(", ");i.setCellValue(a.cell.row.id,r.dataField,n),i.onCellUpdate&&i.onCellUpdate([a.cell],[l],[n],(function(){}),a),e.preventDefault(),e.stopPropagation()}}else if(e.target.classList.contains("smart-drop-down-list-selection-label")){if(i.editing.enabled){const t=e.target.parentElement.parentElement,l=t.getAttribute("data-field"),a=t.getAttribute("row-id");i.beginEdit(a,l)}e.stopPropagation(),e.preventDefault()}},!r.cellsWrap&&r.allowEdit&&i.editing.enabled){const e=document.createElement("span");e.classList.add("smart-arrow-down","arrowbtn");let t=r.editor.dataSource&&r.editor.dataSource.length;r.editor.collaborator&&(t=i.users&&i.users.length),t||e.classList.add("smart-visibility-hidden");const l=document.createElement("div");l.classList.add("smart-multi-combo-input-container","tokens","smart-flex","smart-flex-auto"),c.classList.add("smart-flex-auto"),c.classList.remove("smart-flex-wrap"),s.length>2&&i.layout.rowHeight>45&&(c.classList.add("smart-flex-wrap"),c.style.maxWidth=r.computedWidth-10+"px"),i.rightToLeft&&(c.style.direction="rtl"),l.appendChild(c),"input"!==r.editor.template&&l.appendChild(e),n=l,e.onpointerdown=e=>{if(!i._mobile){if(i.editing.enabled){const t=e.target.previousElementSibling,l=t.getAttribute("data-field"),a=t.closest("smart-grid-row").getAttribute("data-id");i.beginEdit(a,l)}e.stopPropagation(),e.preventDefault()}}}else if(r.cellsWrap||r.allowEdit){const e=document.createElement("div");e.classList.add("smart-multi-combo-input-container","tokens","smart-flex","smart-flex-auto"),c.classList.add("smart-flex-auto"),c.classList.remove("smart-flex-wrap"),s.length>2&&i.layout.rowHeight>45&&(c.classList.add("smart-flex-wrap"),c.style.maxWidth=r.computedWidth-10+"px"),i.rightToLeft&&(c.style.direction="rtl"),e.appendChild(c),n=e}else c.classList.add("smart-flex-auto"),n=c;a.setAttribute("template",a.cell.template),n.setAttribute("value",e);break}case"dropDownList":case"dropdownlist":case"list":{const t=document.createElement("div");if(l.firstElementChild&&l.firstElementChild.hasAttribute("value")&&l.firstElementChild.getAttribute("value")===e)return a.cell._setStyle(l),void a.setAttribute("template",a.cell.template);if(t.innerHTML='<span class="smart-truncate">'+e+"</span>",r.allowEdit&&i.editing.enabled){const e=document.createElement("span");e.classList.add("smart-arrow-down","arrowbtn");const l=document.createElement("div");l.classList.add("smart-multi-combo-input-container","tokens","smart-flex","smart-flex-auto"),t.classList.add("smart-flex-auto","smart-multi-combo-input"),l.appendChild(t),l.appendChild(e),l.classList.add(a.cell.template.toLowerCase()),n=l,e.onpointerdown=e=>{if(!i._mobile){if(i.editing.enabled){const t=e.target.closest("smart-grid-cell"),l=e.target.closest("smart-grid-row"),r=t.getAttribute("data-field"),n=l.getAttribute("data-id");if(i.beginEdit(n,r),a.cell.column.editor&&a.cell.column.editor.instance){const e=a.cell.column.editor,t=e.instance.element;!e.autoOpen&&t.open?t.open():!e.autoOpen&&t.firstElementChild&&t.firstElementChild.open&&setTimeout((()=>{t.firstElementChild.open()}),250)}}e.stopPropagation(),e.preventDefault()}}}else n=t;a.setAttribute("template",a.cell.template.toLowerCase()),n.setAttribute("value",e);break}case"password":l.innerHTML=e?'<span class="smart-truncate">'+e.replace(/./g,"*")+"</span>":"",a.setAttribute("template",a.cell.template);break;case"richText":if(l.innerHTML=e?'<div class="textwrap" style="height: 100%; padding-left: 5px;">'+i._unescapeString(e)+"</div>":"",i.layout.autoWrap&&a.cell.row.height>40&&1===a.cell.colSpan&&"string"===r.dataType&&14*e.length*.52>r.computedWidth){const e=parseInt(a.cell.row.height/20);l.firstElementChild.style["-webkit-line-clamp"]=e}a.setAttribute("template",a.cell.template);break;case"color":l.innerHTML=`<span style="left: calc(50% - 12px); top: calc(50% - 12px); position: absolute; border-radius: 50%; width: 24px; height: 24px; display: block; background:${e};"></span>`,a.setAttribute("template",a.cell.template);break;case"autoNumber":n=document.createElement("span"),n.innerHTML=1+a.cell.row.visibleIndex,a.setAttribute("template",a.cell.template);break;case"createdDate":case"createdTime":{const e=a.cell.getFormattedValue(a.cell.row.createdDate,"d"),t=a.cell.getFormattedValue(a.cell.row.createdDate,"t");if(l.firstElementChild&&l.firstElementChild.hasAttribute("created-date")){const a=e+" "+t;a!==l.firstElementChild.textContent&&(l.firstElementChild.textContent=a)}else l.innerHTML='<span created-date class="align-left smart-truncate">'+e+" "+t+"</span>";a.cell._setStyle(l),a.setAttribute("template",a.cell.template);break}case"updatedDate":case"updatedTime":if(a.cell.row.updatedDate){const e=a.cell.getFormattedValue(a.cell.row.updatedDate,"d"),t=a.cell.getFormattedValue(a.cell.row.updatedDate,"t");if(l.firstElementChild&&l.firstElementChild.hasAttribute("updated-date")){const a=e+" "+t;a!==l.firstElementChild.textContent&&(l.firstElementChild.textContent=a)}else l.innerHTML='<span updated-date class="align-left smart-truncate">'+a.cell.getFormattedValue(a.cell.row.updatedDate,"d")+" "+a.cell.getFormattedValue(a.cell.row.updatedDate,"t")+"</span>"}else l.innerHTML="";a.cell._setStyle(l),a.setAttribute("template",a.cell.template);break;case"progress":{const t=e?parseInt(100*e)+"%":"0%";if(l.firstElementChild&&l.firstElementChild.hasAttribute("value")&&t===l.firstElementChild.getAttribute("value"))return a.cell._setStyle(l),void a.setAttribute("template",a.cell.template);const i="white",r=["#D50000","#F4511E","#F6BF26","#33B679"];let n=r[0];n=e<.25?r[0]:e<.5?r[1]:e<.75?r[2]:r[3],l.innerHTML='<div value="'+t+'" style="padding-left: 5px; padding-right: 5px; display: grid; grid-template-columns: 1fr auto"><div style="height: 100%; display: flex; align-items: center; width: '+t+';"><div title="'+t+'" style="width: 100%; height: 4px; background: '+n+"; color: "+i+';" class="smart-truncate smart-token"></div></div><span>'+t+"</span></div>",a.setAttribute("template",a.cell.template);break}case"rating":{const t=a.cell.column.editor.max?a.cell.column.editor.max:5,r=e?parseInt(e):0;if(l.firstElementChild&&l.firstElementChild.hasAttribute("value")){if(r===parseInt(l.firstElementChild.getAttribute("value")))return a.cell._setStyle(l),void a.setAttribute("template",a.cell.template);l.firstElementChild.setAttribute("value",r);for(let e=0;e<t;e++){const t=l.firstElementChild.children[e];let a="";r>0&&r>e&&(a="value"),a?t.classList.add("value"):t.classList.remove("value")}return void a.setAttribute("template",a.cell.template)}const n=e=>{let l="";for(let a=0;a<t;a++){let t="";e>0&&e>a&&(t="value"),l+=`<div rating-value title="${a+1}" value="${a+1}" class="smart-grid-icon show smart-icon-star ${t}"></div>`}return l};l.innerHTML=`<div value="${r}" class="rating">${n(r)}</div>`;const s=e=>{if(!i._mobile&&e.hasAttribute("rating-value")){const t=e.getAttribute("value"),l=e.closest("smart-grid-cell"),r=e.closest("smart-grid-row");if(l&&r){const e=l.querySelector(".rating"),s=r.getAttribute("data-id"),o=l.getAttribute("data-field"),d=i.rowById[s],c=i.getCellValue(s,o),m=l.cell;let u=null;i.storeHistory&&(u=i._stringifyRow(d)),c===t?(r.row.data[o]=0,e.innerHTML=n(0),e.setAttribute("value",0)):(r.row.data[o]=parseInt(t),e.innerHTML=n(parseInt(t)),e.setAttribute("value",t));const p=r.row.data[o];i._setCellUndoRedo(m,c,p),i.onCellUpdate&&i.onCellUpdate([m],[c],[p],(function(e){i.onCellUpdated&&i.onCellUpdated([m.row.index],[m.row],[m.column],[m.row.data],[c],[p],a),i._onCellUpdated&&i._onCellUpdated(m.row.index,m.row,m.column,m.row.data,c,p)}),a);const g=e=>{if(e!==c&&(d.updatedDate=new Date,d.updatedBy=a.currentUser,i.storeHistory)){const t=i._stringifyRow(d);t[m.column.dataField]=e,i._updateRowHistory(d,u,t)}};if(i.onCellUpdate&&i.onRowHistory){const e=i.onRowHistory;i.onRowHistory=null,g(p),setTimeout((()=>{i.onRowHistory=e}),100)}else g(p);const f=l.querySelector(".rating"),h=parseInt(t)-1;f.children[h].classList.add("down"),setTimeout((()=>{f.children[h].classList.remove("down")}),1e3)}}},o=(e,t=!0)=>{if(e&&[...e.querySelectorAll(".smart-icon-star")].forEach((e=>{e.classList.remove("hover")})),e.hasAttribute("value")){const l=[...e.parentElement.children],a=l.indexOf(e);l.forEach(((e,l)=>{e.classList.remove("hover"),l<=a&&t&&e.classList.add("hover")}))}};i.handleRatingClick||(i._handleRatingMove=o,i._handleRatingClick=s),l.firstElementChild.onpointerdown=e=>{s(e.target)},l.firstElementChild.onpointermove=e=>{o(e.target)},l.firstElementChild.onpointerleave=e=>{o(e.target)},a.setAttribute("template",a.cell.template);break}case"duration":{const t=e;if(l.firstElementChild&&l.firstElementChild.hasAttribute("value")&&t===l.firstElementChild.getAttribute("value"))return a.cell._setStyle(l),void a.setAttribute("template",a.cell.template);if(e){const t=864e5;let r="MMM dd",n="MMM dd";if("string"==typeof e[0]&&(Array.isArray(e)?(e[0]=new Date(e[0]),e[1]=new Date(e[1])):((e=e.split(","))[0]=new Date(e[0]),e[1]=new Date(e[1]))),Array.isArray(e)){e[0]&&"string"==typeof e[0]&&(e[0]=new Date(e[0])),e[1]&&"string"==typeof e[1]&&(e[1]=new Date(e[1])),e[1]&&e[1].getMonth()===e[0].getMonth()&&(n="dd"),e[0].getFullYear()!==(new Date).getFullYear()&&(r+=", yyyy","dd"===n?(r="MMM dd",n+=", yyyy"):n=r);let s=!1;0===e[0].getHours()&&0===e[0].getHours()||(r+=" hh:mm","dd"===n?n=r:n+=" hh:mm",s=!0);let o=null;o=Math.round(e[1].getTime()-e[0].getTime())/t;const d=o?parseInt(Math.abs(o).toFixed(0)):0;if(d>0){const t=a.cell.getFormattedValue(e[0],r)+" - "+a.cell.getFormattedValue(e[1],n);let s="";s=i.localize("days",{value:d}),l.innerHTML=`<div style="display: grid; grid-template-columns: 5px auto 25px"><span></span><span>${t}</span><span style="font-size: 11px;" class="smart-quiet">${s}</span></div>`}else{let t="";if(s){const i=e[1]-e[0],n=Math.floor(i%864e5/36e5);let s=Math.round(i%864e5%36e5/6e4);s<10&&(s+="0"+s),t=n+":"+s;const o=a.cell.getFormattedValue(e[0],r)+" - "+a.cell.getFormattedValue(e[1],"hh:mm");l.innerHTML=`<div style="display: grid; grid-template-columns: 5px auto 25px"><span></span><span>${o}</span><span style="font-size: 11px;" class="smart-quiet">${t}</span></div>`}else{const i=a.cell.getFormattedValue(e[0],r);l.innerHTML=`<div style="display: grid; grid-template-columns: 5px auto 25px"><span></span><span>${i}</span><span style="font-size: 11px;" class="smart-quiet">${t}</span></div>`}}}}else l.innerHTML="";a.setAttribute("template",a.cell.template),l.firstElementChild&&l.firstElementChild.setAttribute("value",t);break}case"startDate":{const t=e;if(l.firstElementChild&&l.firstElementChild.hasAttribute("value")&&t===l.firstElementChild.getAttribute("value"))return a.cell._setStyle(l),void a.setAttribute("template",a.cell.template);let n=e;if(r.cellsFormat?n=a.cell.getFormattedValue(e,r.cellsFormat):r.formatSettings&&r.formatSettings.Intl&&(n=a.cell.getFormattedValue(e,r.formatSettings.Intl)),e){const t=864e5,s="string"==typeof e?new Date(e):e;let o=i.columnByDataField.taskDueDate;r.editor.boundDataField&&(o=i.columnByDataField[r.editor.boundDataField]);const d=o?a.cell.row.data[o.dataField]:"";let c=null;d&&(c=Math.round(s.getTime()-d.getTime())/t);const m=c?parseInt(Math.abs(c).toFixed(0)):0;if(m>0){let e="";e=i.localize("days",{value:m}),l.innerHTML=`<div style="display: grid; grid-template-columns: 25px auto 25px"><span style="color: var(--smart-primary);" title="${e}" class="smart-icon-clock smart-grid-icon show"></span><span>${n}</span><span style="font-size: 11px;" class="smart-quiet">${e}</span></div>`}else l.innerHTML='<div style="padding-left: 6px;">'+n+"</div>"}else l.innerHTML="";a.setAttribute("template",a.cell.template),a.setAttribute("value",t);break}case"dueDate":{const t=e;if(l.firstElementChild&&l.firstElementChild.hasAttribute("value")&&t===l.firstElementChild.getAttribute("value"))return a.cell._setStyle(l),void a.setAttribute("template",a.cell.template);const n=["#D50000","#F4511E","#F6BF26","#33B679"],s=new Date;s.setHours(0,0,0);let o=e;r.cellsFormat?o=a.cell.getFormattedValue(e,r.cellsFormat):r.formatSettings&&r.formatSettings.Intl&&(o=a.cell.getFormattedValue(e,r.formatSettings.Intl));const d=(e,t)=>{const l=e<=8?e/8:1;return`<div title="${t}" class="smart-element smart-circular-progress-bar" style="background: inherit; padding-left:4px; position: relative; top: calc(50% - 12px); padding-top:4px; width: 20px; height: 20px;">\n <div class="smart-container">\n <svg style="background: var(--smart-background);"width="100%" height="100%" viewPort="0 0 100 100" viewBox="0 0 100 100" role="presentation" aria-hidden="true">\n <circle id="value" class="smart-value-path" r="50" cx="50" cy="50" transform="rotate(270 50 50)"></circle>\n <circle id="value" style="stroke-dashoffset: ${100*Math.PI-(1-l)*Math.PI*100}; stroke-width: 100%;" class="smart-value" r="50" cx="50" cy="50" transform="rotate(270 50 50)"></circle>\n </svg>\n </div>\n </div>\n `};if(e){const c=864e5,m="string"==typeof e?new Date(e):e,u=Math.round(m.getTime()-s.getTime())/c,p=parseInt(Math.abs(u).toFixed(0));let g=i.columnByDataField.taskStatus;r.editor.boundDataField&&(g=i.columnByDataField[r.editor.boundDataField]);const f=g?a.cell.row.data[g.dataField]:"";if("done"===f||"complete"===f||"completed"===f||"finished"===f){let e=i.localize("done");l.innerHTML=`<div style="display: grid; grid-template-columns: 25px auto"><div style="margin-left: 4px; align-self: center; border-radius: 50%; display: flex; align-content: center; background: ${n[3]}; width:16px; height: 16px;"><span title="${e}" style="align-content: center; font-size: 13px; color: white;" class="smart-grid-icon show smart-icon-check"></span></div>${o}</span></div>`}else{let e="";e=0===p?i.localize("today"):1===p?t<s?i.localize("yesterday"):i.localize("tomorrow"):t<s?i.localize("daysOverdue",{value:p}):i.localize("daysLeft",{value:p}),l.innerHTML=t>=s?`<div style="display: grid; grid-template-columns: 25px auto">${d(p,e)}<span>${o}</span></div>`:`<div style="display: grid; grid-template-columns: 25px auto"><span title="${e}" style="font-size: 16px; color: ${n[0]}" class="smart-grid-icon show smart-icon-attention-circled"></span>${o}</span></div>`}}else l.innerHTML="";a.setAttribute("template",a.cell.template),a.setAttribute("value",t);break}case"attachments":{if(""===e||"[]"===e){const e=`<div class="container"><div class="attachments"><div title="${i.localize("addFiles")}" class="smart-grid-icon show smart-icon-plus"></div></div></div>`;return l.innerHTML!==e&&(l.innerHTML=e,l.onpointerdown=e=>{if(e.target.classList.contains("smart-icon-plus")){if(i._mobile)return;if(i.editing.enabled){const t=e.target.closest("smart-grid-cell"),l=t.getAttribute("data-field"),a=t.closest("smart-grid-row").getAttribute("data-id");i.beginEdit(a,l),t.querySelector(".smart-icon-plus").onpointerdown()}e.stopPropagation(),e.preventDefault()}}),a.cell._setStyle(l),void a.setAttribute("template",a.cell.template)}if(l.firstElementChild&&l.firstElementChild.hasAttribute("value")){const t=l.firstElementChild.getAttribute("value");if(e&&e.indexOf(t)>=0)return a.cell._setStyle(l),a.setAttribute("template",a.cell.template),void(l.firstElementChild.evaluateScroll&&l.firstElementChild.evaluateScroll());if(t&&e&&Array.isArray(e)&&e[0]&&e[0].value&&t.length===e[0].value.length)return a.cell._setStyle(l),void a.setAttribute("template",a.cell.template)}const t=document.createElement("div"),r=document.createElement("div");t.classList.add("file-container"),r.classList.add("attachments");let s=e;if(i._findIsFile(s)){let e="";if(s)try{e=JSON.parse(s)}catch(e){console.log(e)}s=e}if("string"==typeof s&&(s.indexOf("[{")>=0||s.indexOf("}]")>=0)){let e="";if(s)try{e=JSON.parse(s)}catch(e){console.log(e)}s=e}Array.isArray(s)&&s.forEach((e=>{const l=document.createElement("div");l.title=e.label,l.classList.add("item"),l.innerHTML="<div></div>",l.firstElementChild.classList.add("smart-grid-icon","show","attachment"),e.label.indexOf("png")>=0||e.label.indexOf("jpg")>=0||e.label.indexOf("jpeg")>=0||e.label.indexOf("gif")>=0?l.firstElementChild.classList.add("smart-icon-image"):e.label.indexOf(".pdf")>=0?l.firstElementChild.classList.add("smart-icon-pdf"):e.label.indexOf(".tsv")>=0||e.label.indexOf(".txt")>=0||e.label.indexOf(".csv")>=0?l.firstElementChild.classList.add("smart-icon-text"):e.label.indexOf(".xls")>=0||e.label.indexOf(".xlsx")>=0?l.firstElementChild.classList.add("smart-icon-excel"):e.label.indexOf(".ppt")>=0?l.firstElementChild.classList.add("smart-icon-powerpoint"):e.label.indexOf(".zip")>=0||e.label.indexOf(".rar")>=0||e.label.indexOf(".7z")>=0?l.firstElementChild.classList.add("smart-icon-archive"):e.label.indexOf(".doc")>=0||e.label.indexOf(".docx")>=0?l.firstElementChild.classList.add("smart-icon-word"):l.firstElementChild.classList.add("smart-icon-file"),t.appendChild(l)}));const o=document.createElement("div");o.classList.add("smart-arrow-left","arrowbtn","smart-hidden");const d=document.createElement("div");d.classList.add("smart-arrow-right","arrowbtn");const c=document.createElement("div");if(c.classList.add("smart-icon-plus","smart-grid-icon","show"),c.title=i.localize("addFiles"),r.appendChild(c),r.onpointerdown=e=>{if(e.target.classList.contains("attachment")){const t=JSON.parse(a.cell.value),l=[...r.children[1].children].indexOf(e.target.parentNode);if(t[l]){const e=document.createElement("a");if(t[l].value.indexOf(window.location.host)>=0)fetch(t[l].value).then((e=>e.blob())).then((a=>{const i=URL.createObjectURL(a);e.download=t[l].label,e.href=i,e.click()}));else{if(t[l].value.indexOf("base64")>=0){const a=i._getFileFromBase64(t[l].value);e.href=URL.createObjectURL(a)}else e.href=t[l].value;e.target="_blank",e.click()}}e.stopPropagation(),e.preventDefault()}else if("DIV"===e.target.nodeName&&e.target.classList.contains("arrowbtn")){let l=parseInt(t.style.marginLeft);isNaN(l)&&(l=0);const i=o===e.target,r=t.scrollWidth-a.offsetWidth+30;t.style.marginLeft=i?Math.min(0,l+25)+"px":Math.max(-r,l-25)+"px",l=parseInt(t.style.marginLeft),0===l?o.classList.add("smart-hidden"):o.classList.remove("smart-hidden"),e.stopPropagation(),e.preventDefault()}},t.children.length){r.appendChild(t);const e=25*s.length;e-a.offsetWidth+30>30&&(r.appendChild(o),r.appendChild(d)),r.evaluateScroll=()=>{const l=e-a.offsetWidth+30;t.style.marginLeft="0px",o.classList.add("smart-hidden"),l<0?d.classList.add("smart-hidden"):d.classList.remove("smart-hidden"),l>30&&(r.appendChild(o),r.appendChild(d))},n=r}else n=document.createElement("div");a.setAttribute("template",a.cell.template),e&&e[0]&&e[0].value?n.setAttribute("value",e[0].value):s&&s[0]&&s[0].label?n.setAttribute("value",s[0].label):n.setAttribute("value",e);break}case"images":{if(""===e||"[]"===e){const e=`<div class="file-container"><div class="images"><div title="${i.localize("addImages")}" class="smart-grid-icon show smart-icon-plus"></div></div></div>`;return e!==l.innerHTML&&(l.innerHTML=e,l.onpointerdown=e=>{if(e.target.classList.contains("smart-icon-plus")){if(i._mobile)return;if(i.editing.enabled){const t=e.target.closest("smart-grid-cell"),l=t.getAttribute("data-field"),a=t.closest("smart-grid-row").getAttribute("data-id");i.beginEdit(a,l),t.querySelector(".smart-icon-plus").onpointerdown()}e.stopPropagation(),e.preventDefault()}}),a.cell._setStyle(l),void a.setAttribute("template",a.cell.template)}if(!i._recycleFiles&&l.firstElementChild&&l.firstElementChild.hasAttribute("value")){const t=l.firstElementChild.getAttribute("value");if(e&&e.indexOf(t)>=0)return a.cell._setStyle(l),a.setAttribute("template",a.cell.template),void(l.firstElementChild.evaluateScroll&&l.firstElementChild.evaluateScroll());if(t&&e&&Array.isArray(e)&&e[0]&&e[0].value&&t.length===e[0].value.length)return a.cell._setStyle(l),void a.setAttribute("template",a.cell.template)}const t=document.createElement("div"),r=document.createElement("div");t.classList.add("file-container"),r.classList.add("images");let s=e;if(i._findIsFile(s)){let e="";if(s)try{e=JSON.parse(s)}catch(e){console.log(e)}s=e}if("string"==typeof s&&(s.indexOf("[{")>=0||s.indexOf("}]")>=0)){let e="";if(s)try{e=JSON.parse(s)}catch(e){console.log(e)}s=e}Array.isArray(s)&&s.forEach((e=>{const l=document.createElement("img");l.style.display="none";let a="";a=e.small?e.small:e.medium?e.medium:e.large?e.large:e.value,l.onload=()=>{l.style.display=""},a.indexOf("base64")>=0?l.src=a:(i._imagesCache||(i._imagesCache=[]),i.uploadSettings.url?i._imagesCache[a]?i._findUserFile(e)&&(l.src=a):(i._imagesCache[a]=!0,l.style.display="none",i._findUserFile(e)?(l.src=a,l.style.display=""):a&&a.startsWith("https://")&&(l.src=a)):l.src=a,l.onerror=()=>{l.style.display="none"}),l.title=e.label,l.setAttribute("data-url",e.large||e.value),t.appendChild(l)}));const o=document.createElement("div");o.classList.add("smart-arrow-left","arrowbtn","smart-hidden");const d=document.createElement("div");d.classList.add("smart-arrow-right","arrowbtn");const c=document.createElement("div");if(c.classList.add("smart-icon-plus","smart-grid-icon","show"),c.title=i.localize("addImages"),r.appendChild(c),r.onpointerdown=e=>{if("IMG"===e.target.nodeName)i._openImagePreviewDialog(e.target),e.stopPropagation(),e.preventDefault();else if("DIV"===e.target.nodeName&&e.target.classList.contains("arrowbtn")){let l=parseInt(t.style.marginLeft);isNaN(l)&&(l=0);const i=o===e.target,r=t.scrollWidth-a.offsetWidth+30;t.style.marginLeft=i?Math.min(0,l+25)+"px":Math.max(-r,l-25)+"px",l=parseInt(t.style.marginLeft),0===l?o.classList.add("smart-hidden"):o.classList.remove("smart-hidden"),e.stopPropagation(),e.preventDefault()}},t.children.length){r.appendChild(t);const e=25*s.length;e-a.offsetWidth+30>30&&(r.appendChild(o),r.appendChild(d)),r.evaluateScroll=()=>{const l=e-a.offsetWidth+30;t.style.marginLeft="0px",o.classList.add("smart-hidden"),l<0?d.classList.add("smart-hidden"):d.classList.remove("smart-hidden"),l>30&&(r.appendChild(o),r.appendChild(d))},n=r}else n=document.createElement("div");a.setAttribute("template",a.cell.template),e&&e[0]&&e[0].value?n.setAttribute("value",e[0].value):s&&s[0]&&s[0].label?n.setAttribute("value",s[0].label):n.setAttribute("value",e);break}case"email":if(Smart.Validator){const t=l.firstElementChild?l.firstElementChild.getAttribute("value"):null;if(l.firstElementChild&&l.firstElementChild.hasAttribute("value")&&t===e)return a.cell._setStyle(l),void a.setAttribute("template",a.cell.template);n=document.createElement("span"),null===e||""===e?n.innerHTML="":Smart.Validator.email(e)?n.innerHTML=e:(n.className="url",n.innerHTML='<a href="mailto:'+e+'" target="_blank" contenteditable="false" rel="noreferrer noopener">'+e+"</a>",n.firstElementChild&&(n.firstElementChild.onpointerdown=e=>{e.stopPropagation(),e.preventDefault(),n.firstElementChild.click()}))}a.setAttribute("template",a.cell.template),n.setAttribute("value",e);break;case"url":if(Smart.Validator){const t=l.firstElementChild?l.firstElementChild.getAttribute("value"):null;if(l.firstElementChild&&l.firstElementChild.hasAttribute("value")&&t===e)return a.cell._setStyle(l),void a.setAttribute("template",a.cell.template);const i=t=>{null===e||""===e?t.classList.add("smart-hidden"):Smart.Validator.url(e)?(t.firstElementChild&&"A"===t.firstElementChild.nodeName?(t.firstElementChild.setAttribute("href",e),t.firstElementChild.textContent=e):t.innerHTML='<a href="https://'+e+'" target="_blank" contenteditable="false" rel="noreferrer noopener">'+e+"</a>",t.classList.remove("smart-hidden")):(t.firstElementChild&&"A"===t.firstElementChild.nodeName?(t.firstElementChild.setAttribute("href",e),t.firstElementChild.textContent=e):t.innerHTML='<a href="'+e+'" target="_blank" contenteditable="false" rel="noreferrer noopener">'+e+"</a>",t.classList.remove("smart-hidden"))};l.firstElementChild&&l.firstElementChild.classList.contains("url")?(n=l.firstElementChild,i(n)):(n=document.createElement("span"),n.className="url",i(n)),n.firstElementChild&&(n.firstElementChild.onpointerdown=e=>{e.stopPropagation(),e.preventDefault(),n.firstElementChild.click()})}a.setAttribute("template",a.cell.template),n.setAttribute("value",e);break;default:{let t=null;a.setAttribute("template","");const n=a.cell.row,s=l;let o=a.cell.getFormattedValue(e,r.cellsFormat);if(s.style.lineHeight="","function"==typeof a.cell.template){const t={row:n,column:r,cell:a.cell,oldValue:a.cell.oldValue,value:e,template:null};let l=s.querySelector(".smart-grid-cell-template");const d=n.id;i.isHScrolling&&(i._cachedTemplates||(i._cachedTemplates=[]),l&&0===l.innerHTML.length&&(l=null),!l&&i._cachedTemplates&&i._cachedTemplates[r.dataField+"_"+d]&&(0===i._cachedTemplates[r.dataField+"_"+d].innerHTML.length?delete i._cachedTemplates[r.dataField+"_"+d]:t.template=i._cachedTemplates[r.dataField+"_"+d])),l&&l.getAttribute("column")===r.dataField?t.template=l.firstElementChild:l=null,a.formattedValue!==o&&(l=null),a.cell.canNotify=!1,n.canNotify=!1;const c=Object.assign({},{background:a.cell.background,color:a.cell.color,fontSize:a.cell.fontSize,fontFamily:a.cell.fontFamily,fontWeight:a.cell.fontWeight,textDecoration:a.cell.textDecoration,fontStyle:a.cell.fontStyle});if(a.cell.template(t),!l&&t.template)if(t.template instanceof HTMLElement){const e=document.createElement("div");e.classList.add("smart-grid-cell-template"),e.setAttribute("column",r.dataField),s.innerHTML="",s.appendChild(e),e.appendChild(t.template)}else s.innerHTML='<div column="'+r.dataField+'" class="smart-grid-cell-template">'+t.template+"</div>";else l||null!==t.template||(s.innerHTML=e);if(i.isHScrolling&&!i._cachedTemplates[r.dataField+"_"+d]&&s.firstElementChild.firstElementChild){const e=s.firstElementChild.firstElementChild;e&&(i._cachedTemplates[r.dataField+"_"+d]=e)}s.style.background===c.background&&s.style.color===c.color&&s.style.fontSize===c.fontSize&&s.style.fontWeight===c.fontWeight&&s.style.fontStyle===c.fontStyle||(a.cell._styleChanged=!0,a.cell._setStyle(s)),a.cell.background!==c.background||a.cell.color!==c.color||a.cell.fontSize!==c.fontSize||a.cell.fontWeight!==c.fontWeight||a.cell.fontStyle!==c.fontStyle?(a.cell._styleChanged=!0,a.cell._setStyle(s)):a.cell._styleChanged&&a.cell._setStyle(s),void 0===a.cell.oldValue&&(a.cell.oldValue=e),a.formattedValue=o,a.cell.canNotify=!0,n.canNotify=!0}else if(Array.isArray(a.cell.template)){const e=document.createElement("div");if(s.firstElementChild&&s.firstElementChild.classList.contains("smart-grid-cell-template"))for(let e=0;e<a.cell.template.length;e++){const t=s.firstElementChild.children[e].firstElementChild,l=a.cell.template[e];if(l.length>1&&t){let e=n.data[l[1]];l[2]&&(e=l[2].length>2?l[2].replaceAll("{{value}}",e):a.cell.getFormattedValue(e,l[2])),t.src&&t.src!==e?(a._imageUpdateTimer&&clearTimeout(a._imageUpdateTimer),a._imageUpdateTimer=setTimeout((()=>{t.src=e}),50)):t.textContent!==e&&(t.textContent=e)}}else{e.classList.add("smart-grid-cell-template"),e.setAttribute("column",r.dataField),s.innerHTML="",s.appendChild(e);let t="";for(let e=0;e<a.cell.template.length;e++){const l=a.cell.template[e];if(l.length>1){let e=n.data[l[1]];l[2]&&(e=l[2].length>2?l[2].replaceAll("{{value}}",e):a.cell.getFormattedValue(e,l[2])),t+='<span class="smart-template-part">'+l[0].replaceAll("{{value}}",e)+"</span>"}}e.innerHTML=t}}else{if(""!==s.textContent&&(s.textContent=""),a.cell.template instanceof HTMLTemplateElement)t=a.cell.template;else if(a.cell.template instanceof HTMLElement){const t=a.cell.template.innerHTML.replace(/{{value}}/gi,e).replace(/{{id}}/gi,n.id);s.innerHTML!==t&&(s.innerHTML=t)}if(a.cell.template.startsWith&&a.cell.template.startsWith("#")&&(t=document.querySelector(a.cell.template)),t){let l=t.content.cloneNode(!0).firstElementChild;const d=e;if(e=(e=(e=e.toString()).replace(/'/gi,"\\'")).replace(/"/gi,'\\"'),l.querySelector("[smart-if]")){const t=l.querySelector("[smart-else]"),a=l.querySelectorAll("[smart-if]");let i=!1;for(let t=0;t<a.length;t++){const n=a[t],s=n.getAttribute("smart-if").split(" "),o=s[1].trim();let c=s[2].trim(),m=e;switch("Today"===c&&(c=new Date),"date"===r.dataType&&(e=new Date(d).getTime(),c=new Date(c).getTime()),o){case">":e>parseFloat(c)&&(l=n,i=!0);break;case">=":e>=parseFloat(c)&&(l=n,i=!0);break;case"=":case"==":case"===":e===c&&(l=n,i=!0);break;case"<":e<parseFloat(c)&&(l=n,i=!0);break;case"<=":e<=parseFloat(c)&&(l=n,i=!0)}if(e=m,i)break}!i&&t&&(l=t)}let c=l.outerHTML.replace(/{{value}}/gi,e).replace(/{{id}}/gi,n.id);for(c.indexOf("{{value=")>=0&&(e?(c=c.substring(0,c.indexOf("{{value="))+e+c.substring(c.indexOf("}")),c=c.replace(/}/gi,""),c=c.replace(/{/gi,"")):(c=c.replace(/{{value=/gi,""),c=c.replace(/}}/gi,"")));c.indexOf("{{value::")>=0;){const t=c.indexOf("{{value::"),l=c.substring(t+9,c.indexOf("}}")),i=a.cell.getFormattedValue(e,l);c=c.replace(`{{value::${l}}}`,i)}if(r._treeColumn){const e=s.firstChild;if(e&&e.classList&&a.toggleButton&&r._treeColumn&&s.children[1]){const e=s.children[0],t=s.children[1].children[0],l=s.children[1].children[1].firstChild,a=s.children[1].children[2];let r="";if(i.grouping.enabled){let e=n.level-1;"multipleColumns"!==i.grouping.renderMode&&(r+='<div style="width: '+(1+e)*i.grouping.groupIndent+'px;"></div>')}else for(let e=0;e<n.level;e++)r+="<div class='smart-indent'></div>";n.checked?l.setAttribute("checked",""):!1===n.checked?l.removeAttribute("checked"):null===n.checked&&l.setAttribute("checked","indeterminate"),n.leaf?n.allowCheck?l.classList.remove("smart-visibility-hidden"):l.classList.add("smart-visibility-hidden"):n.allowCheck?l.classList.remove("smart-hidden"):l.classList.add("smart-hidden"),n.allowCheck?i.checkBoxes.visible?l.classList.remove("smart-hidden"):l.classList.add("smart-hidden"):i.checkBoxes.visible||l.classList.add("smart-hidden"),e.innerHTML=r,t.classList.add("smart-visibility-hidden"),n.leaf?t.classList.add("smart-visibility-hidden"):(t.classList.remove("smart-visibility-hidden"),n.expanded?t.setAttribute("toggled",""):t.removeAttribute("toggled","")),n.data.isEmpty&&t.classList.add("smart-visibility-hidden"),a.innerHTML=c,i.appearance.showTooltips?a.setAttribute("title",i._unescapeString(o)):a.hasAttribute("title")&&a.removeAttribute("title")}}else s.innerHTML!==c&&(s.innerHTML=c)}else if("string"==typeof a.cell.template){""===e&&(e="&nbsp;");let t=a.cell.template.replace(/{{value}}/gi,e).replace(/{{id}}/gi,n.id);if(t.indexOf("{{"))for(let e=0;e<i.dataSource.dataFields.length;e++){const l=i.dataSource.dataFields[e].name;if(t.indexOf("{{"+l+"}}")>=0&&(t=t.replace("{{"+l+"}}",n.data[l]),-1===t.indexOf("{{")))break}s.innerHTML!==t&&(s.innerHTML=t)}}if("auto"===a.cell.row.height||i.layout.allowCellsWrap||"auto"===i.layout.rowHeight){const e=s.querySelector(".smart-grid-cell-template");if(e){n._templatesHeight||(n._templatesHeight=[]);const t=(e,t)=>{if(e){const l=i.rowById[e.getAttribute("data-id")];l._templatesHeight[r.dataField]=t,l._isDirty=!0;const a=l.canNotify;l.canNotify=!1,l.autoSize(),l.canNotify=a,delete l._isDirty}};if(e.firstElementChild){if(!e.firstElementChild.resizeObserver){const l=new ResizeObserver((function(){const e=this.target.closest("smart-grid-row");this.target.offsetHeight&&(t(e,this.target.offsetHeight),i.$.scrollView.scrollTop=0)}));e.firstElementChild.resizeObserver=l,l.target=e.firstElementChild,l.observe(e.firstElementChild)}e.firstElementChild.onblur=e.firstElementChild.onchange=function(){const e=this.closest("smart-grid-row");t(e,this.offsetHeight)}}else{const l=this.closest("smart-grid-row");t(l,e.offsetHeight)}}}}}if(n)return l.innerHTML="",l.appendChild(n),a.cell._setStyle(l),n}async _render(){const e=this,t=e.cell.grid,l=e.cell.column,a=e.cell.row,i=a.data,r=a._isMeasureRow?null:e.cell.format||l.cellsFormat,n=t.grouping.enabled&&t.dataSource.groupBy.length>0;if(!(!1!==t._recycleValues||n||l.formatFunction||l._treeColumn||a.summaryRow)){if(e.cell.selected?(e.setAttribute("selected",""),e.setAttribute("aria-selected",!0)):(e.removeAttribute("selected"),e.removeAttribute("aria-selected")),e.classList.contains("smart-hidden")&&e.classList.remove("smart-hidden"),e.cell.focused?(t.selection.allowCellSelection&&e.setAttribute("focus",""),a.element.setAttribute("focus",""),a.element.toggleDetailButton&&(a.element.toggleDetailButton.classList.remove("smart-visibility-hidden"),a.element.star&&a.element.star.classList.add("smart-hidden")),e.cell.id||(e.id="gridcell_"+Math.floor(65536*(1+Math.random())).toString(16).substring(1)),t.setAttribute("aria-activedescendant",e.id)):(e.removeAttribute("focus"),a.element.star&&t._selection.focusedCell&&t._selection.focusedCell.id!==a.id&&a.element.star.classList.remove("smart-hidden")),e.cell.background||e.cell.color){e.cell._styleChanged=!0;const t=e.firstChild;e.cell._setStyle(t)}return}if(t.grouping.enabled&&t.dataSource.groupBy.length>0){if(void 0!==a.label){let t=l.displayField?i[l.displayField]:i[l.dataField];return void 0===t&&i.data&&(t=l.displayField?i.data[l.displayField]:i.data[l.dataField]),e._renderGroupCell(t),void(a.summaryRow&&(e.cell.canNotify=!1,a.canNotify=!1,e.cell._styleChanged=!0,e.cell.background=null,e.cell.color=null,e.cell.fontFamily=null,e.cell.fontSize=null,e.cell.element&&e.cell.element.firstElementChild&&e.cell._setStyle(e.cell.element.firstElementChild),e.cell.canNotify=!0,a.canNotify=!0))}e.style.zIndex=""}else if(t.appearance.showTreeRowHeader&&t.rowHierarchy&&!1===a.leaf&&!l.autoGenerated){let t=i[a.groupDataField];return a.label=t,void e._renderGroupCell(t)}if(t.appearance.showTreeRowHeader&&e.removeAttribute("header"),t.grouping.enabled&&t.dataSource.groupBy.length>0&&e.toggleButton&&(e.toggleButton.classList.remove("smart-hidden"),e.toggleButton.classList.remove("smart-visibility-hidden"),e.toggleButton.style.marginLeft="",l._treeColumn&&t.grouping.enabled&&t.grouping.toggleButtonIndent>0&&(e.toggleButton.style.marginLeft=a.level*(t.grouping.toggleButtonIndent-t.grouping.groupIndent)+"px")),t.grouping.enabled&&t.dataSource.groupBy.length>0&&(e.removeAttribute("header"),e.removeAttribute("group")),!l.visible)return void(e.style.width="0px");t.appearance.showSortColumnBackground&&t.sorting.maintainSort&&!a.summaryRow?l.sorted?e.setAttribute("sort",""):e.removeAttribute("sort"):l.sorted&&e.hasAttribute("sort")&&e.removeAttribute("sort"),t.appearance.showFilterColumnBackground?l.filtered?e.setAttribute("filter",""):e.removeAttribute("filter"):l.filtered&&e.hasAttribute("filter")&&e.removeAttribute("filter"),t.dataSource.boundHierarchy&&e.hasAttribute("has-toggle-button")&&!l._treeColumn&&e.removeAttribute("has-toggle-button");let s=l.displayField?i[l.displayField]:i[l.dataField];if(null!==s||l.allowNull||("int"!==l.dataType&&"number"!==l.dataType||(s=0),"string"===l.dataType&&(s=""),"boolean"!==l.dataType&&"bool"!==l.dataType||(s=!1),"date"===l.dataType&&(s=new Date)),t.formulas&&e.cell.formula&&"string"==typeof e.cell.formula&&/=.+/.test(e.cell.formula)){const l=t._formulaParser;if(l){const t=l.parse(e.cell.formula.slice(1));s=isNaN(t)?"#VALUE!"===t?"":"#ERROR!"===t?"#ERROR!":t:t}}t.grouping.enabled&&"multipleColumns"===t.grouping.renderMode&&t.dataSource&&t.dataSource.groupBy.length>0&&t.dataSource.groupBy.indexOf(l.dataField)>=0&&(s="",e.setAttribute("header","")),e.removeAttribute("highlight"),t.highlighted!==a.id||l.autoGenerated||e.setAttribute("highlight",""),t.editing.addNewRow.visible&&e.classList.remove("smart-add-new-row");const o=t=>t?t.startsWith("off_")?(e.classList.remove(t.substring(4)),!1):(e.classList.add(t),e.hasAttribute("customCSS")&&(t=t+" "+e.getAttribute("customCSS")),e.setAttribute("customCSS",t),!0):(e.setAttribute("highlight",""),!0);if((t.highlightedRows||t.highlightedCells)&&e.hasAttribute("customCSS")){const t=e.getAttribute("customCSS");e.removeAttribute("customCSS");const l=t.split(" ");for(let t=0;t<l.length;t++)e.classList.remove(l[t])}if(l.highlight&&!a.summaryRow&&(o(l._highlightCSS||""),e.setAttribute("highlight-data-field",l.dataField)),t.highlightedCells&&t.highlightedCells[a.id]&&!a.summaryRow&&void 0!==t.highlightedCells[a.id][l.dataField]&&o(t.highlightedCells[a.id][l.dataField]),t.highlightedRows&&!a.summaryRow&&void 0!==t.highlightedRows[a.id]&&o(t.highlightedRows[a.id]),t.editing.batch){if(t._cellsUpdatedValues){e.removeAttribute("update");const i=t._cellsUpdatedValues[a.id+"_"+l.dataField];void 0!==i&&(e.setAttribute("update",""),s=i)}t._rowsDeleted&&(t._rowsDeleted.indexOf(a.id)>=0?e.setAttribute("delete",""):e.removeAttribute("delete")),t._rowsAdded&&(t._rowsAdded.indexOf(a.id)>=0?e.setAttribute("add",""):e.removeAttribute("add"))}!t.onCellValue||l.rowHeaderColumn||l.selectionColumn||(e.cell._updating=!0,t.onCellValue(e.cell,t),e.cell._updating=!1,s=e.cell.value),void 0===s&&(s="");let d=s;r?d=e.cell.getFormattedValue(s,r):l.formatSettings&&l.formatSettings.Intl&&(d=e.cell.getFormattedValue(s,l.formatSettings.Intl));const c=e.firstChild;if(e.content=c,l._isDirty&&(c.innerHTML=""),c.hasAttribute("data-field")&&c.getAttribute("data-field")!==l.dataField&&(c.innerHTML="",a.filterRow&&(l._filterEditorInitialized=!1)),c.setAttribute("data-field",l.dataField),t.onCellRender||l.onCellRender)if(l._cellsCachedValues||(l._cellsCachedValues=[]),l._cellsCachedValues[a.index]){const t=l._cellsCachedValues[a.index];c.firstChild&&c.removeChild(c.firstChild),e.cell.template instanceof HTMLTemplateElement||"string"==typeof e.cell.template?c.appendChild(t):c.innerHTML=t.innerHTML}else{if(e.cell._updating=!0,t.onCellRender?t.onCellRender(e.cell,a.visibleIndex,l.dataField,a.data,e):l.onCellRender(e.cell,a.visibleIndex,l.dataField,a.data,e),e.cell._updating=!1,e.cell.template!==l.template){const t=document.createElement("div");return c.firstChild&&c.removeChild(c.firstChild),e.cell.template instanceof HTMLTemplateElement?(t.appendChild(e.cell.template.content.cloneNode(!0)),l._cellsCachedValues[a.index]=t):t.appendChild(e.cell.template),void c.appendChild(t)}e.cell.value!==s&&(d=e.cell.value)}if(l.autoGenerated||e.setAttribute("data-field",l.dataField),e.cell.focused?(t.selection.allowCellSelection&&e.setAttribute("focus",""),a.element.setAttribute("focus",""),a.element.toggleDetailButton&&(a.element.toggleDetailButton.classList.remove("smart-visibility-hidden"),a.element.star&&a.element.star.classList.add("smart-hidden")),e.cell.id||(e.id="gridcell_"+Math.floor(65536*(1+Math.random())).toString(16).substring(1)),t.setAttribute("aria-activedescendant",e.id)):e.removeAttribute("focus"),e.cell.selected?(e.setAttribute("selected",""),e.setAttribute("aria-selected",!0)):(e.removeAttribute("selected"),e.removeAttribute("aria-selected")),t.dragDrop&&t.dragDrop.row===a?e.classList.add("dragged"):e.classList.remove("dragged"),e._classNames)for(let t=0;t<e._classNames.length;t++)e.classList.remove(e._classNames[t]);if(a._classNames||e._rowClassNames){if(e._rowClassNames)for(let t=0;t<e._rowClassNames.length;t++)e.classList.remove(e._rowClassNames[t]);for(let t=0;t<a._classNames.length;t++)e.classList.add(a._classNames[t]);e._rowClassNames=a._classNames}if(t.onCellClass){const i=t.onCellClass(a.visibleIndex,l.dataField,s,a.data,a,t);if(e.___classNames)for(let t=0;t<e.___classNames.length;t++)e.classList.remove(e.___classNames[t]);if(i){const t=i.trim().split(" ");for(let l=0;l<t.length;l++)e.classList.add(t[l]);e.___classNames=t}}if(l.cellsClassName)if("string"==typeof l.cellsClassName){const t=l.cellsClassName.trim().split(" ");for(let l=0;l<t.length;l++)e.classList.add(t[l]);e._classNames=t}else{const t=l.cellsClassName(a.visibleIndex,l.dataField,s,a.data,a);if(e._classNames)for(let t=0;t<e._classNames.length;t++)e.classList.remove(e._classNames[t]);if(t){const l=t.trim().split(" ");for(let t=0;t<l.length;t++)e.classList.add(l[t]);e._classNames=l}}if(l.cellsCSSRules){if(e.__classNames)for(let t=0;t<e.__classNames.length;t++)e.classList.remove(e.__classNames[t]);const i=Object.keys(l.cellsCSSRules);let r=[];for(let n=0;n<i.length;n++){let o=i[n];const d={index:a.visibleIndex,value:s,dataField:l.dataField,row:a,api:t};l.cellsCSSRules[o](d)&&(e.classList.add(o),r.push(o))}e.__classNames=r}t.rowDetail.enabled&&a.showDetail&&!1===t.rowDetail.dialog.enabled&&(e.style.height=a.cellHeight+"px",e.style.lineHeight=a.cellHeight+"px"),a.expanded&&a.expandHeight>0&&(e.style.height=a.cellHeight+"px",e.style.lineHeight=a.cellHeight+"px");const m=e._getCellAlignment(a,l),u=""!==e.cell.template&&t.isInitialized&&!a._isMeasureRow;let p="";if(m.align&&(p+=m.align+" "),m.verticalAlign&&(p+=m.verticalAlign+" "),l.cellsWrap)p+="wrap ";else if(t.layout.autoWrap&&a.height>40&&1===e.cell.colSpan&&"string"===l.dataType&&14*(d||"").length*.52>l.computedWidth){p+="textwrap ";const e=parseInt(a.height/20);c.style["-webkit-line-clamp"]=e}if(p+="smart-label",e.style.width!==l.computedWidth+"px"){const a=t._isLastVisibleColumn(l);l.autoGenerated||a?e.style.width=l.computedWidth+"px":e.style.width=l.computedWidth-t._columnGap+"px"}l===t._firstVisibleColumn?e.classList.add("smart-grid-column-border-collapse"):e.classList.remove("smart-grid-column-border-collapse"),t.appearance.showColumnGroupCellLines||l.parent&&!l.element.hasAttribute("column-group-first-child")&&e.classList.add("smart-grid-column-border-collapse"),t.grouping.enabled&&"multipleColumns"===t.grouping.renderMode&&t.dataSource&&t.dataSource.groupBy.length>0&&t.dataSource.groupBy.indexOf(l.dataField)>=0&&e.classList.add("smart-grid-column-border-collapse"),t._columnGap>0&&t.appearance.showColumnLines&&e.classList.add("smart-grid-column-border"),t._rowGap>0&&e.classList.add("smart-grid-row-border"),t.appearance.showColumnLines?e.classList.remove("smart-grid-vertical-border-collapse"):e.classList.add("smart-grid-vertical-border-collapse"),t.appearance.showRowLines?e.classList.remove("smart-grid-horizontal-border-collapse"):e.classList.add("smart-grid-horizontal-border-collapse");let g=l.left;if(t.rightToLeft?e.style.right!==g+"px"&&(e.style.right=g+"px"):e.style.left!==g+"px"&&(e.style.left=g+"px"),e.classList.contains("smart-hidden")&&e.classList.remove("smart-hidden"),e.hasAttribute("template")&&e.removeAttribute("template"),e.hasAttribute("freeze")&&e.removeAttribute("freeze"),e.hasAttribute("detail")&&e.removeAttribute("detail"),e.hasAttribute("error")&&e.removeAttribute("error"),e.cell.error&&e.setAttribute("error",e.cell.error),a.filterRow?e.classList.add("smart-grid-filter-row-cell"):a.summaryRow?e.classList.add("smart-grid-summary-row-cell"):(l.freeze||a.freeze)&&(l.selectionColumn&&(e.setAttribute("checkbox",""),p+=" smart-input",l.grid.selection.checkBoxes.enabled&&l.grid.selection.checkBoxes.autoShow?e.setAttribute("auto-show",""):e.removeAttribute("auto-show")),(l.rowHeaderColumn||l.selectionColumn)&&(e.setAttribute("header",""),e.setAttribute("role","rowheader")),l.rowDetailColumn&&(e.setAttribute("header",""),e.setAttribute("detail",""),e.setAttribute("has-toggle-button",""),e.classList.add("smart-grid-column-border-collapse")),l.commandColumn&&e.setAttribute("command",""),t.appearance.showFrozenColumnBackground&&l.freeze&&e.setAttribute("freeze",""),t.appearance.showFrozenRowBackground&&a.freeze&&e.setAttribute("freeze","")),l.cellsRotationAngle){if(!e._rotateCellContent(c,l,s))return}else if(a.filterRow){if(!l.toggleColumn&&!l.rowHeaderColumn)return t.grouping.enabled&&t.dataSource&&t.dataSource.groupBy.length>0&&(l._filterEditorInitialized=!1),l._filterEditorInitialized||l.autoGenerated?void("boolean"===l.dataType||"bool"===l.dataType?e.setAttribute("template","checkBox"):e.removeAttribute("template")):(l._filterEditorInitialized=!0,void e._renderFilterCell(c));c.innerHTML=""}else if(a.summaryRow){if(l.toggleColumn||l.rowHeaderColumn)c.innerHTML="";else if(l.autoGenerated&&(c.innerHTML=""),t.dataSource.boundHierarchy&&e.hasAttribute("has-toggle-button")&&e.removeAttribute("has-toggle-button"),!l.autoGenerated){if(l.summary.length>0&&t._summaryItems){const a=t._summaryItems[l.dataField],i=[];for(let r in a){if("status"===r)continue;const n=l.cellsFormat;let s=a[r];n&&n.indexOf("p")>=0&&"count"===r?s=a[r]:n&&"date"!==l.dataType&&(s=e.cell.getFormattedValue(s,n)),i.push(t.localize(r,{value:s}))}let r=[],n="";if(a&&a.status&&l.editor){n+='<div style="margin-right: 5px; display: flex; border-radius: 8px; align-items: center;">';const e=l.editor.dataSource,i=a.status,s=t.rows.length,o=l.computedWidth;let d=0;if(e)for(let l=0;l<e.length;l++){const a=e[l];if(i[a.value]){const e=a.label?a.label:t.localize("blankSummary"),l=i[a.value].length,c=new Number(l/s*100).toFixed(2),m=e+" "+l+"/"+s+" "+c+"%",u=o*c/100/2;r.push(m);const p=["#D50000","#F6BF26","#33B679","#039BE5","#3F51B5","#8E24AA"];d>p.length-1&&(d=0),n+='<span class="summary-value-part" title="'+m+'" style="width: '+u+"px; font-size: 11px; padding: 5px; background:"+(a.color||p[d++])+'; color: white;"></span>'}}n+="</div>"}const s=i.join(", "),o=t.summaryRow.editing?'<span class="smart-arrow-down"></span>':"";let d=`<div title = "${s}" class="smart-truncate summary-value" > <span class="label">${s}</span>${o}</div> `;if(r.length&&(d=`<div title = "${s}" class="smart-truncate summary-value" > <span style="align-items: center; display: flex;" class="label">${n}${s}</span>${o}</div> `),t.columns[0].dataField===l.dataField&&i.length<3){const e=t._recyclingRows.length;d=`<div title = "${s}" class="smart-truncate summary-value" > <span style = "justify-content: flex-start" class="smart-truncate summary-value" > ${1===e?t.localize("oneRow"):t.localize("rows",{value:e})}</span> <span class="label">${s}</span>${o}</div> `}c.innerHTML!==d&&(c.innerHTML=d)}else if(t.summaryRow.editing&&l.allowSummary)if(t.columns[0].dataField===l.dataField){const e=t._recyclingRows.length,l=`<div class="smart-truncate summary-value"><span style="justify-content: flex-start" class="smart-truncate summary-value">${1===e?t.localize("oneRow"):t.localize("rows",{value:e})}</span><span class="smart-summary-placeholder label">${t.localize("summary")}</span><span class="smart-arrow-down"></span></div>`;c.innerHTML!==l&&(c.innerHTML=l)}else{const e=`<div class="smart-truncate summary-value"><span class="smart-summary-placeholder label">${t.localize("summary")}</span><span class="smart-arrow-down"></span></div>`;c.innerHTML!==e&&(c.innerHTML=e)}t.summaryRow.editing&&l.allowSummary&&(t._selection&&t._selection.focusedCell&&t._selection.focusedCell.dataField===l.dataField?c.firstElementChild.setAttribute("has-summary",""):c.firstElementChild.removeAttribute("has-summary"),c.onpointerdown=e=>{e.preventDefault(),e.stopPropagation(),c._clickTarget=e.target},c.onpointerup=l=>{!0!==t._mobile&&c._clickTarget!==l.target||(l.preventDefault(),l.stopPropagation(),t._summaryRowDialog&&t._summaryRowDialog.classList.contains("open")&&t._summaryRowDialog.dataField===e.cell.column.dataField?t._summaryRowDialog.confirm():t._openSummaryRowDialog(e.cell,(()=>{})))})}}else if(t.rowDetail.enabled&&l.rowDetailColumn){let l="",i=t.appearance.showRowStatus?"smart-visibility-hidden":"";if(l=a.showDetail?'<button tabindex="-1" class="'+i+' smart-animate" toggled toggle-button></button>':'<button tabindex="-1" class="'+i+' smart-animate" toggle-button></button>',t.appearance.showRowStatus){l=a._style&&a._style.status?`<span class="row-status custom" style = "color: ${a._style.status};" ></span> `+l:'<span class="row-status"></span>'+l,c.innerHTML===l||a.element.star?(a.element.star.classList.remove("smart-hidden"),a.element.star.classList.remove("custom"),a._style&&a._style.status?(a.element.star.style.color=a._style.status,a.element.star.classList.add("custom")):a.element.star.style.color=""):c.innerHTML=l;const i=()=>{if(a.comments&&a.comments.length>0){const e=a.comments.length;a.element.star.classList.add("comments"),a.element.star.setAttribute("title",t.localize(a.starred?"starred":"notStarred",{elementType:"Grid"})+", "+e+" "+t.localize("comments"))}else a.comments&&0===a.comments.length&&a.element.star.classList.remove("comments")};a.element.star=e.querySelector("span"),a.element.star||(c.innerHTML=l,a.element.star=e.querySelector("span")),a.element.star.onpointerdown=e=>{a.canNotify=!1,a.starred=!a.starred,a.canNotify=!0,a.data.$&&(a.data.$.starred=a.starred),a.starred?a.element.star.classList.add("starred"):a.element.star.classList.remove("starred"),a.element.star.setAttribute("title",t.localize(a.starred?"starred":"notStarred",{elementType:"Grid"})),i(),e.stopPropagation(),e.preventDefault(),t.$.fireEvent("rowStarred",{id:a.id,originalEvent:e,row:a,value:a.starred})},a.element.star.setAttribute("title",t.localize(a.starred?"starred":"notStarred",{elementType:"Grid"})),a.starred?a.element.star.classList.add("starred"):a.element.star.classList.remove("starred"),i()}else c.innerHTML!==l&&(c.innerHTML=l);if(a.element.toggleDetailButton=e.querySelector("button"),a.element.toggleDetailButton.setAttribute("title",t.localize(a.showDetail?"collapseRow":"expandRow",{elementType:"Grid"})),(t.rowDetail.template||t.onRowDetailInit)&&a.element.toggleDetailButton.classList.remove("smart-visibility-hidden"),a.comments&&a.comments.length>0){const e=a.comments.length;a.element.toggleDetailButton.classList.remove("smart-visibility-hidden"),t.appearance.showRowStatus?a.element.toggleDetailButton.querySelector(".comments-length")?a.element.toggleDetailButton.querySelector(".comments-length").innerHTML=e:a.element.toggleDetailButton.innerHTML+=`<div class="comments-length'>${e}</div>`:a.element.toggleDetailButton.innerHTML=`<div class="comments-length'>${e}</div>`,a.starred&&a.element.toggleDetailButton.classList.add("starred"),a.element.toggleDetailButton.classList.add("row-comments"),a.element.toggleDetailButton.setAttribute("title",t.localize(a.showDetail?"collapseRow":"expandRowComments",{value:e,elementType:"Grid"}))}else a.comments&&0===a.comments.length&&a.element.toggleDetailButton.classList.remove("row-comments");t.rowDetail.dialog.enabled&&a.element.toggleDetailButton.classList.add("row-detail")}else if(l.commandColumn)e._renderCommands();else if(t.appearance.showRowHeaderNumber&&l.rowHeaderColumn)if(a.addNewRow)c.textContent="";else{const l=l=>{if(e.cell.value)return e.cell.value;if("number"===t.appearance.autoGenerateRowLabelMode)return l.visibleIndex+1;{const e=l.visibleIndex%26,t=Math.floor(l.visibleIndex/26),a="A".charCodeAt(0),i=String.fromCharCode(a+e);let r="";for(let e=0;e<t;e++)r+="A";return r+i}};t._rowsAdded&&t._rowsAdded.indexOf(a.id)>=0?c.textContent="":c.textContent=l(a)}else if(u)if(e.removeAttribute("readonly"),t.appearance.displayLoadingIndicator&&!l.autoGenerated)c.innerHTML='<div class="smart-grid-cell-loading"></div>';else if(a._isMeasureRow)c.innerHTML=s;else switch(c.removeAttribute("title"),e.cell.template){case"checkBox":case"switchButton":case"radioButton":case"tags":case"checklist":case"collaborator":case"updatedBy":case"createdBy":case"multiComboInput":default:e._setTemplate(s,e.cell.template,c);break;case"attachment":e._setTemplate(s,"attachments",c);break;case"image":e._setTemplate(s,"images",c);break;case"email":e._setTemplate(s,"email",c);break;case"url":e._setTemplate(s,"url",c);break;case"richText":e._setTemplate(s,"richText",c)}else{const i=c.firstChild;if(i&&i.classList&&e.toggleButton&&l._treeColumn&&c.children[1]){const e=c.children[0],i=c.children[1].children[0],r=c.children[1].children[1].firstChild,n=c.children[1].children[2];let s="";if(l._treeColumn){if(t.grouping.enabled){let e=a.level-1;t.appearance.showRowHeaderNumber&&e--,t.rowDetail.enabled&&e--,e<-1?s="":"multipleColumns"!==t.grouping.renderMode&&(s+='<div style="width: '+(1+e)*t.grouping.groupIndent+'px;"></div>')}else for(let e=0;e<a.level;e++)s+="<div class='smart-indent'></div>";if(a.checked?r.setAttribute("checked",""):!1===a.checked?r.removeAttribute("checked"):null===a.checked&&r.setAttribute("checked","indeterminate"),a.leaf?a.allowCheck?r.classList.remove("smart-visibility-hidden"):r.classList.add("smart-visibility-hidden"):a.allowCheck?r.classList.remove("smart-hidden"):r.classList.add("smart-hidden"),!l.autoGenerated){const e=a["column_"+l.dataField];e&&e._setStyle(c)}}a.allowCheck?t.checkBoxes.visible?r.classList.remove("smart-hidden"):r.classList.add("smart-hidden"):t.checkBoxes.visible||r.classList.add("smart-hidden"),e.innerHTML=s,i.classList.add("smart-visibility-hidden"),a.leaf?i.classList.add("smart-visibility-hidden"):(i.classList.remove("smart-visibility-hidden"),a.expanded?i.setAttribute("toggled",""):i.removeAttribute("toggled","")),t.grouping.enabled&&i.classList.add("smart-hidden"),a.data.isEmpty&&i.classList.add("smart-visibility-hidden"),n.innerHTML=d,t.appearance.showTooltips?n.setAttribute("title",t._unescapeString(d)):n.hasAttribute("title")&&n.removeAttribute("title")}else{const i=a["column_"+l.dataField];if(e.getAttribute("rowspan")&&(e.removeAttribute("rowspan"),e.removeAttribute("aria-rowspan"),e.style.height=""),e.getAttribute("colspan")&&(e.removeAttribute("colspan"),e.removeAttribute("aria-colspan")),i){if(i.colSpan>1){const a=t.columns.indexOf(l);let r=0;for(let e=a;e<a+i.colSpan;e++){const l=t.columns[e];l&&l.visible&&(r+=l.computedWidth)}e.style.width=r+"px",e.setAttribute("colspan",""),e.setAttribute("aria-colspan",i.colSpan),i._styleChanged=!0}let r=i.rowSpan;if(i.rowSpan>1){const l=t.rows.indexOf(a);let r=0;a.element.setAttribute("rowspan","");for(let e=l;e<=l+i.rowSpan-1;e++){const l=t.rows[e];l&&l.visible&&l.filtered&&(r+=l.cellHeight)}e.style.height=r+"px",e.setAttribute("rowspan",""),e.setAttribute("aria-rowspan",i.rowSpan),i._styleChanged=!0}else if(l.rowSpan&&!a._isMeasureRow){const n="number"==typeof l.rowSpan?l.rowSpan:l.rowSpan(s,a.visibleIndex,a.data),o=a.visibleIndex;let d=!1;for(let e=0;e<t._cellRowSpan.length;e++){const l=t._cellRowSpan[e];if(o>l[0]&&o<l[1]){d=!0;break}}if(a._rowSpan=n,n&&!d){let s=0;t._cellRowSpan.push([o,o+n,l.dataField]),t._cellRowSpan.maxSpan||(t._cellRowSpan.maxSpan=1),t._cellRowSpan.maxSpan=Math.max(n,t._cellRowSpan.maxSpan),a.element.setAttribute("rowspan","");for(let e=o;e<=o+n-1;e++){const l=t.rows[e];l&&l.visible&&l.filtered&&(s+=l.cellHeight)}e.style.height=s+"px",e.setAttribute("rowspan",""),e.setAttribute("aria-rowspan",n),i._styleChanged=!0,r=n}}1===i.colSpan&&e.hasAttribute("colspan")&&(e.style.width="",e.removeAttribute("colspan"),e.removeAttribute("aria-colspan"),i._styleChanged=!0),e.hasAttribute("rowspan")&&1===r&&(e.style.height="",e.removeAttribute("rowspan"),e.removeAttribute("aria-rowspan"),i._styleChanged=!0),c.textContent===d||l.formatFunction||("string"==typeof d&&d.indexOf("&")>=0?t.isScrolling?requestAnimationFrame((()=>{c.innerHTML=d})):c.innerHTML=d:c.textContent=d),i.column.autoGenerated||i._setStyle(c),t.appearance.showTooltips?c.setAttribute("title",i.tooltip||t._unescapeString(d)):c.hasAttribute("title")&&c.removeAttribute("title"),t.appearance.showTooltipsOverflow&&(!t.appearance.showTooltips&&c.hasAttribute("title")&&c.removeAttribute("title"),d&&d.length)&&(14*(d||"").length*.52>l.computedWidth?c.setAttribute("title",i.tooltip||t._unescapeString(d)):!t.appearance.showTooltips&&c.hasAttribute("title")&&c.removeAttribute("title"))}else c.textContent=d}}if(c.className!==p&&(c.className=p),!t.appearance.displayLoadingIndicator||l.autoGenerated||t.dataSource.boundHierarchy?t.appearance.displayLoadingIndicator&&l.selectionColumn?e.removeAttribute("selected"):!l.autoGenerated&&c.firstChild&&c.firstChild.classList&&c.firstChild.classList.contains("smart-grid-cell-loading")&&(c.firstChild.classList.remove("smart-grid-cell-loading"),e.removeAttribute("selected")):(a.element.removeAttribute("focus"),e.removeAttribute("selected"),c.innerHTML='<div class="smart-grid-cell-loading"></div>'),l.formatFunction&&!a.data.isEmpty&&t.isInitialized&&!a.summaryRow){const t={row:a,column:l,cell:e.cell,oldValue:e.cell.oldValue,value:s,formattedValue:d,template:null};e.cell.canNotify=!1,a.canNotify=!1;const i=Object.assign({},{background:e.cell.background,color:e.cell.color,fontSize:e.cell.fontSize,fontFamily:e.cell.fontFamily,textDecoration:e.cell.textDecoration,fontWeight:e.cell.fontWeight,fontStyle:e.cell.fontStyle});await l.formatFunction(t),c.style.background===i.background&&c.style.color===i.color&&c.style.fontSize===i.fontSize&&c.style.fontFamily===i.fontFamily&&c.style.textDecoration===i.textDecoration&&c.style.fontWeight===i.fontWeight&&c.style.fontStyle===i.fontStyle||(e.cell._styleChanged=!0,e.cell._setStyle(c)),e.cell.background===i.background&&e.cell.color===i.color&&e.cell.fontSize===i.fontSize&&e.cell.fontWeight===i.fontWeight&&e.cell.textDecoration===i.textDecoration&&e.cell.fontFamily===i.fontFamily&&e.cell.fontStyle===i.fontStyle||(e.cell._styleChanged=!0,e.cell._setStyle(c));let r=!0;if(t.value!==s&&(e.toggleButton?c.children[1].children[2].innerHTML=t.value:c.innerHTML=t.value,r=!1),null!==t.template){if(e.toggleButton){if(c.children[1]){const e=c.children[1].children[2];e.innerHTML!==t.template&&(e.innerHTML=t.template)}}else if(c.innerHTML!==t.template){const e=document.createElement("div");e.innerHTML=t.template,e.innerHTML!==c.innerHTML&&(c.innerHTML=t.template)}r=!1}r&&(l.cellsFormat?c.textContent=d:c.textContent=s),e.cell.canNotify=!0,a.canNotify=!0}if(!a.data.isEmpty&&t.isInitialized&&e._applyConditionalFormattingToCell(e.cell,t,c),t.grouping.enabled&&t.dataSource&&t.dataSource.groupBy.length>0&&l===t._firstVisibleColumn&&t.rowDetail.enabled&&t.rowDetail.visible&&c.querySelector("[toggle-button]")){const e=c.querySelector("[toggle-button]");e.classList.remove("smart-visibility-hidden"),e.classList.add("row-detail"),a.element.toggleDetailButton=e,a.element.toggleDetailButton.setAttribute("title",t.localize(a.showDetail?"collapseRow":"expandRow",{elementType:"Grid"})),e.onpointerdown=function(e){a.showDetail=!a.showDetail,e.stopPropagation(),e.preventDefault()}}}_autoWrap(){const e=this,t=e.firstChild,l=e.cell.grid;l.layout.allowCellsWrapShortcut&&e.hasAttribute("focus")&&e.hasAttribute("selected")&&(t.offsetWidth<t.scrollWidth?e._popupCellContent(t.innerHTML,e.cell):l._cellContentPopup&&l._cellContentPopup.remove())}_popupCellContent(e,t){const l=this,a=t.grid;let i=a._cellContentPopup;if(!a._cellContentPopup){i=document.createElement("div");const t=document.createElement("span"),l=document.createElement("div"),r=document.createElement("div");i.style.minHeight="0px",i.style.minWidth="0px",i.setAttribute("theme",a.theme),i.classList.add("smart-grid-cell-content-popup"),r.appendChild(l),r.classList.add("smart-grid-text-area-container"),l.innerHTML=e,l.classList.add("smart-grid-cell-content-popup-content"),t.classList.add("smart-hidden"),t.classList.add("close-button"),t.classList.add("smart-grid-icon"),t.classList.add("smart-icon-cancel-circled"),t.onclick=function(){a._cellContentPopup.parentNode.removeChild(a._cellContentPopup)},i.classList.add("smart-grid-text-area-dialog"),i.appendChild(r),i.appendChild(t),a._cellContentPopup=i}i.querySelector(".smart-grid-cell-content-popup-content").innerHTML=e;const r=a.offset(a.$.scrollView);i.style.top=a._offsetTop(l)-r.top+"px",i.style.left=a._offsetLeft(l)-r.left+"px",i.style.width=l.offsetWidth-4+"px",a.$.scrollView.appendChild(i)}_applyConditionalFormattingToCell(e,t,l){const a=this,i=e.column.dataField,r=e.row,n=e.row.index,s=r._style;if(t._conditionalFormatting&&t._conditionalFormatting[i]){const e=t._conditionalFormatting[i][n];a.cell.canNotify=!1,r.canNotify=!1,e?(a.cell._styleChanged=!0,a.cell.background=e.background,a.cell.color=e.color,a.cell.fontFamily=e.fontFamily,a.cell.fontSize=e.fontSize,a.cell._setStyle(l)):a.cell._styleChanged||(s&&s._changed?(a.cell._styleChanged=!0,a.cell.background=s.background,a.cell.color=s.color,a.cell.fontFamily=s.fontFamily,a.cell.fontSize=s.fontSize,a.cell._setStyle(l)):(a.cell._styleChanged=!0,a.cell.background=null,a.cell.color=null,a.cell.fontFamily=null,a.cell.fontSize=null,a.cell._setStyle(l))),a.cell.canNotify=!0,r.canNotify=!0}else t._conditionalFormattingChanged&&!a.cell._styleChanged&&(a.cell.canNotify=!1,r.canNotify=!1,s&&s._changed?(a.cell._styleChanged=!0,a.cell.background=s.background,a.cell.color=s.color,a.cell.fontFamily=s.fontFamily,a.cell.fontSize=s.fontSize,a.cell._setStyle(l)):(a.cell._styleChanged=!0,a.cell.background=null,a.cell.color=null,a.cell.fontFamily=null,a.cell.fontSize=null,a.cell._setStyle(l)),a.cell.canNotify=!0,r.canNotify=!0)}_rotateCellContent(e,t,l){const a=document.createElement("span");return e.innerHTML="",a.innerHTML=l,e.appendChild(a),a.className="rotate",a.style.transform="rotate("+t.cellsRotationAngle+"deg)",this.grid._recycleRotate(e,a,t.cellsAlign,t.cellsVerticalAlign,l)}_getCellAlignment(e,t){const l=e["column_"+t.dataField],a=l&&l.verticalAlign||t.cellsVerticalAlign;let i=l&&l.align||t.cellsAlign;const r={align:"",verticalAlign:""};if(!l)return{align:"align-left",verticalAlign:"align-middle"};switch(l.grid.rightToLeft&&("left"===i?i="right":"right"===i&&(i="left")),i){case"left":r.align="align-left";break;case"center":case"middle":r.align="align-center";break;case"right":r.align="align-right"}switch(a){case"top":r.verticalAlign="align-top";break;case"center":case"middle":r.verticalAlign="align-middle";break;case"bottom":r.verticalAlign="align-bottom"}return r}template(){return""}_detach(){this.element=null,this.cell=null}onDetached(){this._detach()}});
@@ -1,5 +1,5 @@
1
1
 
2
- /* Smart UI v17.0.3 (2023-10-20)
2
+ /* Smart UI v17.0.17 (2023-11-08)
3
3
  Copyright (c) 2011-2023 jQWidgets.
4
4
  License: https://htmlelements.com/license/ */ //
5
5
 
@@ -1,5 +1,5 @@
1
1
 
2
- /* Smart UI v17.0.3 (2023-10-20)
2
+ /* Smart UI v17.0.17 (2023-11-08)
3
3
  Copyright (c) 2011-2023 jQWidgets.
4
4
  License: https://htmlelements.com/license/ */ //
5
5