@syncfusion/ej2-navigations 17.2.55-1205479 → 17.3.14-96615

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 (316) hide show
  1. package/.eslintrc.json +244 -0
  2. package/CHANGELOG.md +898 -786
  3. package/README.md +163 -163
  4. package/dist/ej2-navigations.umd.min.js +1 -10
  5. package/dist/ej2-navigations.umd.min.js.map +1 -1
  6. package/dist/es6/ej2-navigations.es2015.js +512 -255
  7. package/dist/es6/ej2-navigations.es2015.js.map +1 -1
  8. package/dist/es6/ej2-navigations.es5.js +642 -385
  9. package/dist/es6/ej2-navigations.es5.js.map +1 -1
  10. package/dist/global/ej2-navigations.min.js +1 -10
  11. package/dist/global/ej2-navigations.min.js.map +1 -1
  12. package/dist/global/index.d.ts +0 -9
  13. package/dist/ts/accordion/accordion.ts +1312 -0
  14. package/dist/ts/common/h-scroll.ts +459 -0
  15. package/dist/ts/common/menu-base.ts +2131 -0
  16. package/dist/ts/common/v-scroll.ts +430 -0
  17. package/dist/ts/context-menu/context-menu.ts +119 -0
  18. package/dist/ts/menu/menu.ts +270 -0
  19. package/dist/ts/sidebar/sidebar.ts +817 -0
  20. package/dist/ts/tab/tab.ts +1761 -0
  21. package/dist/ts/toolbar/toolbar.ts +2076 -0
  22. package/dist/ts/treeview/treeview.ts +5050 -0
  23. package/helpers/e2e/index.js +3 -3
  24. package/license +10 -10
  25. package/package.json +135 -145
  26. package/src/accordion/accordion-model.d.ts +162 -143
  27. package/src/accordion/accordion.d.ts +35 -6
  28. package/src/accordion/accordion.js +193 -71
  29. package/src/common/h-scroll-model.d.ts +5 -5
  30. package/src/common/h-scroll.js +19 -20
  31. package/src/common/index.d.ts +1 -0
  32. package/src/common/index.js +1 -0
  33. package/src/common/menu-base-model.d.ts +157 -157
  34. package/src/common/menu-base.d.ts +19 -0
  35. package/src/common/menu-base.js +97 -24
  36. package/src/common/v-scroll-model.d.ts +5 -5
  37. package/src/common/v-scroll.js +19 -19
  38. package/src/context-menu/context-menu-model.d.ts +15 -15
  39. package/src/context-menu/context-menu.js +19 -19
  40. package/src/menu/menu-model.d.ts +30 -30
  41. package/src/menu/menu.js +19 -19
  42. package/src/sidebar/sidebar-model.d.ts +136 -136
  43. package/src/sidebar/sidebar.js +19 -19
  44. package/src/tab/tab-model.d.ts +215 -215
  45. package/src/tab/tab.d.ts +3 -0
  46. package/src/tab/tab.js +120 -83
  47. package/src/toolbar/toolbar-model.d.ts +175 -175
  48. package/src/toolbar/toolbar.d.ts +2 -1
  49. package/src/toolbar/toolbar.js +30 -24
  50. package/src/treeview/treeview-model.d.ts +323 -323
  51. package/src/treeview/treeview.d.ts +3 -1
  52. package/src/treeview/treeview.js +107 -87
  53. package/styles/accordion/_all.scss +2 -2
  54. package/styles/accordion/_bootstrap-dark-definition.scss +69 -69
  55. package/styles/accordion/_bootstrap-definition.scss +76 -76
  56. package/styles/accordion/_bootstrap4-definition.scss +82 -82
  57. package/styles/accordion/_fabric-dark-definition.scss +74 -74
  58. package/styles/accordion/_fabric-definition.scss +78 -78
  59. package/styles/accordion/_highcontrast-definition.scss +106 -106
  60. package/styles/accordion/_highcontrast-light-definition.scss +104 -104
  61. package/styles/accordion/_layout.scss +447 -447
  62. package/styles/accordion/_material-dark-definition.scss +75 -75
  63. package/styles/accordion/_material-definition.scss +72 -72
  64. package/styles/accordion/_theme.scss +479 -479
  65. package/styles/accordion/icons/_bootstrap-dark.scss +17 -17
  66. package/styles/accordion/icons/_bootstrap.scss +17 -17
  67. package/styles/accordion/icons/_bootstrap4.scss +17 -17
  68. package/styles/accordion/icons/_fabric-dark.scss +17 -17
  69. package/styles/accordion/icons/_fabric.scss +17 -17
  70. package/styles/accordion/icons/_highcontrast-light.scss +17 -17
  71. package/styles/accordion/icons/_highcontrast.scss +17 -17
  72. package/styles/accordion/icons/_material-dark.scss +17 -17
  73. package/styles/accordion/icons/_material.scss +17 -17
  74. package/styles/accordion/material-dark.css +2 -2
  75. package/styles/bootstrap-dark.css +10 -9
  76. package/styles/bootstrap.css +10 -9
  77. package/styles/bootstrap4.css +10 -9
  78. package/styles/bootstrap5-dark.css +0 -0
  79. package/styles/bootstrap5-dark.scss +0 -0
  80. package/styles/bootstrap5.css +0 -0
  81. package/styles/bootstrap5.scss +0 -0
  82. package/styles/context-menu/_all.scss +2 -2
  83. package/styles/context-menu/_bootstrap-dark-definition.scss +54 -54
  84. package/styles/context-menu/_bootstrap-definition.scss +52 -52
  85. package/styles/context-menu/_bootstrap4-definition.scss +52 -52
  86. package/styles/context-menu/_fabric-dark-definition.scss +54 -54
  87. package/styles/context-menu/_fabric-definition.scss +52 -52
  88. package/styles/context-menu/_highcontrast-definition.scss +52 -52
  89. package/styles/context-menu/_highcontrast-light-definition.scss +54 -54
  90. package/styles/context-menu/_layout-mixin.scss +175 -174
  91. package/styles/context-menu/_layout.scss +70 -70
  92. package/styles/context-menu/_material-dark-definition.scss +54 -54
  93. package/styles/context-menu/_material-definition.scss +52 -52
  94. package/styles/context-menu/_theme-mixin.scss +59 -59
  95. package/styles/context-menu/_theme.scss +36 -36
  96. package/styles/context-menu/bootstrap-dark.css +1 -1
  97. package/styles/context-menu/bootstrap.css +1 -1
  98. package/styles/context-menu/bootstrap4.css +1 -1
  99. package/styles/context-menu/fabric-dark.css +1 -1
  100. package/styles/context-menu/fabric.css +1 -1
  101. package/styles/context-menu/highcontrast-light.css +1 -1
  102. package/styles/context-menu/highcontrast.css +1 -1
  103. package/styles/context-menu/icons/_bootstrap-dark.scss +30 -30
  104. package/styles/context-menu/icons/_bootstrap.scss +30 -30
  105. package/styles/context-menu/icons/_bootstrap4.scss +30 -30
  106. package/styles/context-menu/icons/_fabric-dark.scss +30 -30
  107. package/styles/context-menu/icons/_fabric.scss +30 -30
  108. package/styles/context-menu/icons/_highcontrast-light.scss +30 -30
  109. package/styles/context-menu/icons/_highcontrast.scss +30 -30
  110. package/styles/context-menu/icons/_material-dark.scss +30 -30
  111. package/styles/context-menu/icons/_material.scss +30 -30
  112. package/styles/context-menu/material-dark.css +1 -1
  113. package/styles/context-menu/material.css +4 -4
  114. package/styles/fabric-dark.css +10 -9
  115. package/styles/fabric.css +10 -9
  116. package/styles/h-scroll/_all.scss +2 -2
  117. package/styles/h-scroll/_bootstrap-dark-definition.scss +49 -49
  118. package/styles/h-scroll/_bootstrap-definition.scss +50 -50
  119. package/styles/h-scroll/_bootstrap4-definition.scss +49 -49
  120. package/styles/h-scroll/_fabric-dark-definition.scss +50 -50
  121. package/styles/h-scroll/_fabric-definition.scss +48 -48
  122. package/styles/h-scroll/_highcontrast-definition.scss +52 -52
  123. package/styles/h-scroll/_highcontrast-light-definition.scss +54 -54
  124. package/styles/h-scroll/_layout.scss +198 -198
  125. package/styles/h-scroll/_material-dark-definition.scss +77 -77
  126. package/styles/h-scroll/_material-definition.scss +77 -77
  127. package/styles/h-scroll/_theme.scss +157 -157
  128. package/styles/h-scroll/icons/_bootstrap-dark.scss +49 -49
  129. package/styles/h-scroll/icons/_bootstrap.scss +49 -49
  130. package/styles/h-scroll/icons/_bootstrap4.scss +49 -49
  131. package/styles/h-scroll/icons/_fabric-dark.scss +49 -49
  132. package/styles/h-scroll/icons/_fabric.scss +49 -49
  133. package/styles/h-scroll/icons/_highcontrast-light.scss +49 -49
  134. package/styles/h-scroll/icons/_highcontrast.scss +49 -49
  135. package/styles/h-scroll/icons/_material-dark.scss +49 -49
  136. package/styles/h-scroll/icons/_material.scss +49 -49
  137. package/styles/highcontrast-light.css +10 -9
  138. package/styles/highcontrast.css +10 -9
  139. package/styles/material-dark.css +12 -11
  140. package/styles/material.css +24 -14
  141. package/styles/menu/_all.scss +2 -2
  142. package/styles/menu/_bootstrap-dark-definition.scss +63 -63
  143. package/styles/menu/_bootstrap-definition.scss +65 -65
  144. package/styles/menu/_bootstrap4-definition.scss +64 -64
  145. package/styles/menu/_fabric-dark-definition.scss +63 -63
  146. package/styles/menu/_fabric-definition.scss +64 -64
  147. package/styles/menu/_highcontrast-definition.scss +65 -65
  148. package/styles/menu/_highcontrast-light-definition.scss +61 -61
  149. package/styles/menu/_layout.scss +638 -637
  150. package/styles/menu/_material-dark-definition.scss +63 -63
  151. package/styles/menu/_material-definition.scss +64 -64
  152. package/styles/menu/_theme.scss +243 -243
  153. package/styles/menu/bootstrap-dark.css +2 -1
  154. package/styles/menu/bootstrap.css +2 -1
  155. package/styles/menu/bootstrap.scss +1 -0
  156. package/styles/menu/bootstrap4.css +2 -1
  157. package/styles/menu/fabric-dark.css +2 -1
  158. package/styles/menu/fabric.css +2 -1
  159. package/styles/menu/fabric.scss +1 -0
  160. package/styles/menu/highcontrast-light.css +2 -1
  161. package/styles/menu/highcontrast.css +2 -1
  162. package/styles/menu/highcontrast.scss +1 -0
  163. package/styles/menu/icons/_bootstrap-dark.scss +127 -127
  164. package/styles/menu/icons/_bootstrap.scss +127 -127
  165. package/styles/menu/icons/_bootstrap4.scss +127 -127
  166. package/styles/menu/icons/_fabric-dark.scss +127 -127
  167. package/styles/menu/icons/_fabric.scss +127 -127
  168. package/styles/menu/icons/_highcontrast-light.scss +127 -127
  169. package/styles/menu/icons/_highcontrast.scss +127 -127
  170. package/styles/menu/icons/_material-dark.scss +127 -127
  171. package/styles/menu/icons/_material.scss +127 -127
  172. package/styles/menu/material-dark.css +2 -1
  173. package/styles/menu/material.css +4 -3
  174. package/styles/menu/material.scss +1 -0
  175. package/styles/sidebar/_all.scss +3 -3
  176. package/styles/sidebar/_bootstrap-dark-definition.scss +4 -4
  177. package/styles/sidebar/_bootstrap-definition.scss +4 -4
  178. package/styles/sidebar/_bootstrap4-definition.scss +4 -4
  179. package/styles/sidebar/_fabric-dark-definition.scss +4 -4
  180. package/styles/sidebar/_fabric-definition.scss +6 -6
  181. package/styles/sidebar/_highcontrast-definition.scss +4 -4
  182. package/styles/sidebar/_highcontrast-light-definition.scss +4 -4
  183. package/styles/sidebar/_icons.scss +1 -1
  184. package/styles/sidebar/_material-dark-definition.scss +4 -4
  185. package/styles/sidebar/_material-definition.scss +6 -6
  186. package/styles/sidebar/_theme.scss +168 -168
  187. package/styles/sidebar/bootstrap-dark.css +0 -1
  188. package/styles/sidebar/bootstrap.css +0 -1
  189. package/styles/sidebar/bootstrap4.css +0 -1
  190. package/styles/sidebar/fabric-dark.css +0 -1
  191. package/styles/sidebar/fabric.css +0 -1
  192. package/styles/sidebar/highcontrast-light.css +0 -1
  193. package/styles/sidebar/highcontrast.css +0 -1
  194. package/styles/sidebar/material-dark.css +0 -1
  195. package/styles/sidebar/material.css +0 -1
  196. package/styles/tab/_all.scss +2 -2
  197. package/styles/tab/_bootstrap-dark-definition.scss +386 -386
  198. package/styles/tab/_bootstrap-definition.scss +396 -396
  199. package/styles/tab/_bootstrap4-definition.scss +401 -401
  200. package/styles/tab/_fabric-dark-definition.scss +394 -394
  201. package/styles/tab/_fabric-definition.scss +410 -410
  202. package/styles/tab/_highcontrast-definition.scss +434 -434
  203. package/styles/tab/_highcontrast-light-definition.scss +423 -423
  204. package/styles/tab/_icons.scss +43 -43
  205. package/styles/tab/_layout.scss +3528 -3521
  206. package/styles/tab/_material-dark-definition.scss +407 -407
  207. package/styles/tab/_material-definition.scss +416 -416
  208. package/styles/tab/_theme.scss +1751 -1751
  209. package/styles/tab/bootstrap-dark.css +7 -2
  210. package/styles/tab/bootstrap.css +7 -2
  211. package/styles/tab/bootstrap4.css +7 -2
  212. package/styles/tab/fabric-dark.css +7 -2
  213. package/styles/tab/fabric.css +7 -2
  214. package/styles/tab/highcontrast-light.css +7 -2
  215. package/styles/tab/highcontrast.css +7 -2
  216. package/styles/tab/icons/_bootstrap-dark.scss +132 -132
  217. package/styles/tab/icons/_bootstrap.scss +132 -132
  218. package/styles/tab/icons/_bootstrap4.scss +132 -132
  219. package/styles/tab/icons/_fabric-dark.scss +132 -132
  220. package/styles/tab/icons/_fabric.scss +132 -132
  221. package/styles/tab/icons/_highcontrast-light.scss +132 -132
  222. package/styles/tab/icons/_highcontrast.scss +132 -132
  223. package/styles/tab/icons/_material-dark.scss +132 -132
  224. package/styles/tab/icons/_material.scss +132 -132
  225. package/styles/tab/material-dark.css +7 -2
  226. package/styles/tab/material.css +7 -2
  227. package/styles/tailwind-dark.css +0 -0
  228. package/styles/tailwind-dark.scss +0 -0
  229. package/styles/tailwind.css +0 -0
  230. package/styles/tailwind.scss +0 -0
  231. package/styles/toolbar/_all.scss +2 -2
  232. package/styles/toolbar/_bootstrap-dark-definition.scss +135 -135
  233. package/styles/toolbar/_bootstrap-definition.scss +134 -134
  234. package/styles/toolbar/_bootstrap4-definition.scss +139 -139
  235. package/styles/toolbar/_fabric-dark-definition.scss +155 -155
  236. package/styles/toolbar/_fabric-definition.scss +139 -139
  237. package/styles/toolbar/_highcontrast-definition.scss +149 -149
  238. package/styles/toolbar/_highcontrast-light-definition.scss +164 -164
  239. package/styles/toolbar/_layout.scss +1460 -1460
  240. package/styles/toolbar/_material-dark-definition.scss +180 -180
  241. package/styles/toolbar/_material-definition.scss +164 -164
  242. package/styles/toolbar/_theme.scss +451 -451
  243. package/styles/toolbar/bootstrap-dark.css +0 -1
  244. package/styles/toolbar/bootstrap.css +0 -1
  245. package/styles/toolbar/bootstrap.scss +1 -0
  246. package/styles/toolbar/bootstrap4.css +0 -1
  247. package/styles/toolbar/fabric-dark.css +0 -1
  248. package/styles/toolbar/fabric.css +0 -1
  249. package/styles/toolbar/fabric.scss +1 -0
  250. package/styles/toolbar/highcontrast-light.css +0 -1
  251. package/styles/toolbar/highcontrast.css +0 -1
  252. package/styles/toolbar/highcontrast.scss +1 -0
  253. package/styles/toolbar/icons/_bootstrap-dark.scss +16 -16
  254. package/styles/toolbar/icons/_bootstrap.scss +16 -16
  255. package/styles/toolbar/icons/_bootstrap4.scss +16 -16
  256. package/styles/toolbar/icons/_fabric-dark.scss +16 -16
  257. package/styles/toolbar/icons/_fabric.scss +16 -16
  258. package/styles/toolbar/icons/_highcontrast-light.scss +16 -16
  259. package/styles/toolbar/icons/_highcontrast.scss +16 -16
  260. package/styles/toolbar/icons/_material-dark.scss +16 -16
  261. package/styles/toolbar/icons/_material.scss +16 -16
  262. package/styles/toolbar/material-dark.css +0 -1
  263. package/styles/toolbar/material.css +0 -1
  264. package/styles/toolbar/material.scss +1 -0
  265. package/styles/treeview/_all.scss +2 -2
  266. package/styles/treeview/_bootstrap-dark-definition.scss +131 -131
  267. package/styles/treeview/_bootstrap-definition.scss +127 -127
  268. package/styles/treeview/_bootstrap4-definition.scss +153 -153
  269. package/styles/treeview/_fabric-dark-definition.scss +130 -130
  270. package/styles/treeview/_fabric-definition.scss +126 -126
  271. package/styles/treeview/_highcontrast-definition.scss +132 -132
  272. package/styles/treeview/_highcontrast-light-definition.scss +137 -137
  273. package/styles/treeview/_layout.scss +551 -551
  274. package/styles/treeview/_material-dark-definition.scss +126 -126
  275. package/styles/treeview/_material-definition.scss +126 -126
  276. package/styles/treeview/_theme.scss +331 -331
  277. package/styles/treeview/bootstrap-dark.css +0 -3
  278. package/styles/treeview/bootstrap.css +0 -3
  279. package/styles/treeview/bootstrap4.css +0 -3
  280. package/styles/treeview/fabric-dark.css +0 -3
  281. package/styles/treeview/fabric.css +0 -3
  282. package/styles/treeview/highcontrast-light.css +0 -3
  283. package/styles/treeview/highcontrast.css +0 -3
  284. package/styles/treeview/icons/_bootstrap-dark.scss +39 -39
  285. package/styles/treeview/icons/_bootstrap.scss +39 -39
  286. package/styles/treeview/icons/_bootstrap4.scss +39 -39
  287. package/styles/treeview/icons/_fabric-dark.scss +43 -43
  288. package/styles/treeview/icons/_fabric.scss +43 -43
  289. package/styles/treeview/icons/_highcontrast-light.scss +43 -43
  290. package/styles/treeview/icons/_highcontrast.scss +43 -43
  291. package/styles/treeview/icons/_material-dark.scss +43 -43
  292. package/styles/treeview/icons/_material.scss +43 -43
  293. package/styles/treeview/material-dark.css +0 -3
  294. package/styles/treeview/material.css +9 -3
  295. package/styles/v-scroll/_all.scss +2 -2
  296. package/styles/v-scroll/_bootstrap-dark-definition.scss +50 -50
  297. package/styles/v-scroll/_bootstrap-definition.scss +49 -49
  298. package/styles/v-scroll/_bootstrap4-definition.scss +49 -49
  299. package/styles/v-scroll/_fabric-dark-definition.scss +51 -51
  300. package/styles/v-scroll/_fabric-definition.scss +50 -50
  301. package/styles/v-scroll/_highcontrast-definition.scss +51 -51
  302. package/styles/v-scroll/_highcontrast-light-definition.scss +52 -52
  303. package/styles/v-scroll/_layout.scss +162 -162
  304. package/styles/v-scroll/_material-dark-definition.scss +78 -78
  305. package/styles/v-scroll/_material-definition.scss +77 -77
  306. package/styles/v-scroll/_theme.scss +133 -133
  307. package/styles/v-scroll/icons/_bootstrap-dark.scss +26 -26
  308. package/styles/v-scroll/icons/_bootstrap.scss +26 -26
  309. package/styles/v-scroll/icons/_bootstrap4.scss +26 -26
  310. package/styles/v-scroll/icons/_fabric-dark.scss +26 -26
  311. package/styles/v-scroll/icons/_fabric.scss +26 -26
  312. package/styles/v-scroll/icons/_highcontrast-light.scss +26 -26
  313. package/styles/v-scroll/icons/_highcontrast.scss +26 -26
  314. package/styles/v-scroll/icons/_material-dark.scss +26 -26
  315. package/styles/v-scroll/icons/_material.scss +26 -26
  316. package/tslint.json +111 -0
@@ -1,16 +1,16 @@
1
- import { Animation, Browser, ChildProperty, Collection, Complex, Component, Draggable, Droppable, Event, EventHandler, KeyboardEvents, L10n, NotifyPropertyChanges, Property, Touch, addClass, append, attributes, blazorTemplates, classList, closest, compile, createElement, detach, extend, formatUnit, getElement, getInstance, getUniqueID, getValue, isBlazor, isNullOrUndefined, isUndefined, isVisible, matches, remove, removeClass, resetBlazorTemplate, rippleEffect, select, selectAll, setStyleAttribute, setValue, updateBlazorTemplate } from '@syncfusion/ej2-base';
1
+ import { Animation, Browser, ChildProperty, Collection, Complex, Component, Draggable, Droppable, Event, EventHandler, KeyboardEvents, L10n, NotifyPropertyChanges, Property, Touch, addClass, append, attributes, blazorTemplates, classList, closest, compile, createElement, detach, extend, formatUnit, getElement, getInstance, getRandomId, getUniqueID, getValue, isBlazor, isNullOrUndefined, isUndefined, isVisible, matches, remove, removeClass, resetBlazorTemplate, rippleEffect, select, selectAll, setStyleAttribute, setValue, updateBlazorTemplate } from '@syncfusion/ej2-base';
2
2
  import { ListBase } from '@syncfusion/ej2-lists';
3
3
  import { Popup, calculatePosition, createSpinner, fit, getScrollableParent, getZindexPartial, hideSpinner, isCollide, showSpinner } from '@syncfusion/ej2-popups';
4
4
  import { Button, createCheckBox, rippleMouseHandler } from '@syncfusion/ej2-buttons';
5
5
  import { DataManager, Query } from '@syncfusion/ej2-data';
6
6
  import { Input } from '@syncfusion/ej2-inputs';
7
7
 
8
- var __decorate = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
9
- var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
10
- if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
11
- else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
12
- return c > 3 && r && Object.defineProperty(target, key, r), r;
13
- };
8
+ var __decorate = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
9
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
10
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
11
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
12
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
13
+ };
14
14
  const CLS_ROOT = 'e-hscroll';
15
15
  const CLS_RTL = 'e-rtl';
16
16
  const CLS_DISABLE = 'e-overlay';
@@ -194,7 +194,6 @@ let HScroll = class HScroll extends Component {
194
194
  let navLeftItem = this.createElement('div', { className: CLS_NAVLEFTARROW + ' ' + CLS_NAVARROW + ' e-icons' });
195
195
  navEle.appendChild(navLeftItem);
196
196
  nav.appendChild(navItem);
197
- nav.setAttribute('tabindex', '0');
198
197
  element.appendChild(nav);
199
198
  element.insertBefore(navEle, element.firstChild);
200
199
  if (this.ieCheck) {
@@ -473,12 +472,12 @@ HScroll = __decorate([
473
472
  NotifyPropertyChanges
474
473
  ], HScroll);
475
474
 
476
- var __decorate$1 = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
477
- var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
478
- if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
479
- else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
480
- return c > 3 && r && Object.defineProperty(target, key, r), r;
481
- };
475
+ var __decorate$1 = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
476
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
477
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
478
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
479
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
480
+ };
482
481
  const CLS_ROOT$1 = 'e-vscroll';
483
482
  const CLS_RTL$1 = 'e-rtl';
484
483
  const CLS_DISABLE$1 = 'e-overlay';
@@ -899,12 +898,12 @@ VScroll = __decorate$1([
899
898
  NotifyPropertyChanges
900
899
  ], VScroll);
901
900
 
902
- var __decorate$2 = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
903
- var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
904
- if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
905
- else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
906
- return c > 3 && r && Object.defineProperty(target, key, r), r;
907
- };
901
+ var __decorate$2 = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
902
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
903
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
904
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
905
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
906
+ };
908
907
  const ENTER = 'enter';
909
908
  const ESCAPE = 'escape';
910
909
  const FOCUSED = 'e-focused';
@@ -951,6 +950,17 @@ __decorate$2([
951
950
  __decorate$2([
952
951
  Property('items')
953
952
  ], FieldSettings.prototype, "children", void 0);
953
+ const REGX_IOS = /(ipad|iphone|ipod touch)/i;
954
+ const REGX_BROWSER = {
955
+ OPERA: /(opera|opr)(?:.*version|)[ /]([\w.]+)/i,
956
+ EDGE: /(edge)(?:.*version|)[ /]([\w.]+)/i,
957
+ CHROME: /(chrome|crios)[ /]([\w.]+)/i,
958
+ PANTHOMEJS: /(phantomjs)[ /]([\w.]+)/i,
959
+ SAFARI: /(safari)[ /]([\w.]+)/i,
960
+ WEBKIT: /(webkit)[ /]([\w.]+)/i,
961
+ MSIE: /(msie|trident) ([\w.]+)/i,
962
+ MOZILLA: /(mozilla)(?:.*? rv:([\w.]+)|)/i
963
+ };
954
964
  /**
955
965
  * Specifies menu items.
956
966
  */
@@ -1122,7 +1132,7 @@ let MenuBase = class MenuBase extends Component {
1122
1132
  EventHandler.add(target, 'click', this.menuHeaderClickHandler, this);
1123
1133
  }
1124
1134
  else {
1125
- if (Browser.isIos) {
1135
+ if (this.menuIos()) {
1126
1136
  new Touch(target, { tapHold: this.touchHandler.bind(this) });
1127
1137
  }
1128
1138
  else {
@@ -1132,6 +1142,7 @@ let MenuBase = class MenuBase extends Component {
1132
1142
  }
1133
1143
  this.targetElement = target;
1134
1144
  if (!this.isMenu) {
1145
+ EventHandler.add(this.targetElement, 'scroll', this.scrollHandler, this);
1135
1146
  for (let parent of getScrollableParent(this.targetElement)) {
1136
1147
  EventHandler.add(parent, 'scroll', this.scrollHandler, this);
1137
1148
  }
@@ -1148,6 +1159,22 @@ let MenuBase = class MenuBase extends Component {
1148
1159
  this.wireKeyboardEvent(wrapper);
1149
1160
  this.rippleFn = rippleEffect(wrapper, { selector: '.' + ITEM });
1150
1161
  }
1162
+ menuIos() {
1163
+ return this.getValue('isIos', REGX_IOS);
1164
+ }
1165
+ getValue(key, regX) {
1166
+ const browserDetails = typeof window !== 'undefined' ? window.browserDetails : {};
1167
+ if (typeof navigator !== 'undefined' && navigator.platform === 'MacIntel' && navigator.maxTouchPoints > 1 && Browser.isTouch === true && !REGX_BROWSER.CHROME.test(navigator.userAgent)) {
1168
+ browserDetails['isIos'] = true;
1169
+ browserDetails['isDevice'] = true;
1170
+ browserDetails['isTouch'] = true;
1171
+ browserDetails['isPointer'] = true;
1172
+ }
1173
+ if ('undefined' === typeof browserDetails[`${key}`]) {
1174
+ return browserDetails[`${key}`] = regX.test(Browser.userAgent);
1175
+ }
1176
+ return browserDetails[`${key}`];
1177
+ }
1151
1178
  wireKeyboardEvent(element) {
1152
1179
  let keyConfigs = {
1153
1180
  downarrow: DOWNARROW,
@@ -1906,10 +1933,13 @@ let MenuBase = class MenuBase extends Component {
1906
1933
  this.clickHandler(e);
1907
1934
  }
1908
1935
  }
1936
+ else if (this.isMenu && this.showItemOnClick) {
1937
+ this.removeLIStateByClass([FOCUSED], [wrapper].concat(this.getPopups()));
1938
+ }
1909
1939
  if (this.isMenu) {
1910
1940
  if (!this.showItemOnClick && (trgt.parentElement !== wrapper && !closest(trgt, '.e-' + this.getModuleName() + '-popup'))
1911
1941
  && (!cli || (cli && !this.getIndex(cli.id, true).length))) {
1912
- this.removeLIStateByClass([FOCUSED, SELECTED], [wrapper]);
1942
+ this.removeLIStateByClass([FOCUSED], [wrapper]);
1913
1943
  if (this.navIdx.length) {
1914
1944
  this.isClosed = true;
1915
1945
  this.closeMenu(null, e);
@@ -1971,6 +2001,9 @@ let MenuBase = class MenuBase extends Component {
1971
2001
  return false;
1972
2002
  }
1973
2003
  menuHeaderClickHandler(e) {
2004
+ if (closest(e.target, '.e-menu-wrapper').querySelector('ul.e-menu-parent').id !== this.element.id) {
2005
+ return;
2006
+ }
1974
2007
  this.element.classList.contains('e-hide-menu') ? this.openHamburgerMenu(e) : this.closeHamburgerMenu(e);
1975
2008
  }
1976
2009
  clickHandler(e) {
@@ -1981,9 +2014,16 @@ let MenuBase = class MenuBase extends Component {
1981
2014
  let wrapper = this.getWrapper();
1982
2015
  let trgt = e.target;
1983
2016
  let cli = this.cli = this.getLI(trgt);
2017
+ let regex = new RegExp('-ej2menu-(.*)-popup');
1984
2018
  let cliWrapper = cli ? closest(cli, '.e-' + this.getModuleName() + '-wrapper') : null;
1985
2019
  let isInstLI = cli && cliWrapper && (this.isMenu ? this.getIndex(cli.id, true).length > 0
1986
2020
  : wrapper.firstElementChild.id === cliWrapper.firstElementChild.id);
2021
+ if (cli && cliWrapper && this.isMenu) {
2022
+ let cliWrapperId = cliWrapper.id ? regex.exec(cliWrapper.id)[1] : cliWrapper.querySelector('.e-menu-parent').id;
2023
+ if (this.element.id !== cliWrapperId) {
2024
+ return;
2025
+ }
2026
+ }
1987
2027
  if (isInstLI && e.type === 'click' && !cli.classList.contains(HEADER)) {
1988
2028
  this.setLISelected(cli);
1989
2029
  let navIdx = this.getIndex(cli.id, true);
@@ -2045,7 +2085,11 @@ let MenuBase = class MenuBase extends Component {
2045
2085
  this.menuHeaderClickHandler(e);
2046
2086
  }
2047
2087
  else {
2048
- if (trgt.tagName !== 'UL' || trgt.parentElement !== wrapper) {
2088
+ if (trgt.tagName !== 'UL' || (this.isMenu ? trgt.parentElement.classList.contains('e-menu-wrapper') &&
2089
+ !this.getIndex(trgt.querySelector('.' + ITEM).id, true).length : trgt.parentElement !== wrapper)) {
2090
+ if (!cli) {
2091
+ this.removeLIStateByClass([SELECTED], [wrapper]);
2092
+ }
2049
2093
  if (!cli || !cli.querySelector('.' + CARET)) {
2050
2094
  this.closeMenu(null, e);
2051
2095
  }
@@ -2058,7 +2102,7 @@ let MenuBase = class MenuBase extends Component {
2058
2102
  if (this.showSubMenu) {
2059
2103
  let idx = this.navIdx.concat(this.cliIdx);
2060
2104
  let item = this.getItem(idx);
2061
- if (item[this.getField('children', idx.length - 1)] &&
2105
+ if (item && item[this.getField('children', idx.length - 1)] &&
2062
2106
  item[this.getField('children', idx.length - 1)].length) {
2063
2107
  if (e.type === 'mouseover' || (Browser.isDevice && this.isMenu)) {
2064
2108
  this.setLISelected(this.cli);
@@ -2106,6 +2150,13 @@ let MenuBase = class MenuBase extends Component {
2106
2150
  }
2107
2151
  return items;
2108
2152
  }
2153
+ setItems(newItems, navIdx) {
2154
+ let items = this.getItems(navIdx);
2155
+ items.splice(0, items.length);
2156
+ for (let i = 0; i < newItems.length; i++) {
2157
+ items.splice(i, 0, newItems[i]);
2158
+ }
2159
+ }
2109
2160
  getIdx(ul, li, skipHdr = true) {
2110
2161
  let idx = Array.prototype.indexOf.call(ul.querySelectorAll('li'), li);
2111
2162
  if (this.isMenu && this.template && this.isBlazor()) {
@@ -2214,8 +2265,8 @@ let MenuBase = class MenuBase extends Component {
2214
2265
  idx = navIdx.pop();
2215
2266
  item = this.getItems(navIdx);
2216
2267
  this.insertAfter([item[idx]], item[idx].text);
2217
- item = this.getItems(navIdx);
2218
2268
  this.removeItem(item, navIdx, idx);
2269
+ this.setItems(item, navIdx);
2219
2270
  }
2220
2271
  navIdx.length = 0;
2221
2272
  }
@@ -2273,6 +2324,7 @@ let MenuBase = class MenuBase extends Component {
2273
2324
  }
2274
2325
  }
2275
2326
  if (!this.isMenu) {
2327
+ EventHandler.remove(this.targetElement, 'scroll', this.scrollHandler);
2276
2328
  for (let parent of getScrollableParent(this.targetElement)) {
2277
2329
  EventHandler.remove(parent, 'scroll', this.scrollHandler);
2278
2330
  }
@@ -2437,8 +2489,28 @@ let MenuBase = class MenuBase extends Component {
2437
2489
  let idx;
2438
2490
  let navIdx;
2439
2491
  let disabled = DISABLED;
2492
+ let skipItem;
2440
2493
  for (let i = 0; i < items.length; i++) {
2441
2494
  navIdx = this.getIndex(items[i], isUniqueId);
2495
+ if (this.navIdx.length) {
2496
+ if (navIdx.length !== 1) {
2497
+ skipItem = false;
2498
+ for (let i = 0, len = navIdx.length - 1; i < len; i++) {
2499
+ if (navIdx[i] !== this.navIdx[i]) {
2500
+ skipItem = true;
2501
+ break;
2502
+ }
2503
+ }
2504
+ if (skipItem) {
2505
+ continue;
2506
+ }
2507
+ }
2508
+ }
2509
+ else {
2510
+ if (navIdx.length !== 1) {
2511
+ continue;
2512
+ }
2513
+ }
2442
2514
  idx = navIdx.pop();
2443
2515
  ul = this.getUlByNavIdx(navIdx.length);
2444
2516
  if (ul) {
@@ -2707,12 +2779,12 @@ MenuBase = __decorate$2([
2707
2779
  * Navigation Common modules
2708
2780
  */
2709
2781
 
2710
- var __decorate$3 = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
2711
- var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
2712
- if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
2713
- else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
2714
- return c > 3 && r && Object.defineProperty(target, key, r), r;
2715
- };
2782
+ var __decorate$3 = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
2783
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
2784
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
2785
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
2786
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
2787
+ };
2716
2788
  const CLS_VERTICAL = 'e-vertical';
2717
2789
  const CLS_ITEMS = 'e-toolbar-items';
2718
2790
  const CLS_ITEM = 'e-toolbar-item';
@@ -3220,7 +3292,8 @@ let Toolbar = class Toolbar extends Component {
3220
3292
  }
3221
3293
  if (!eventArgs.cancel) {
3222
3294
  this.trigger('clicked', eventArgs, (clickedArgs) => {
3223
- if (!isNullOrUndefined(this.popObj) && isPopupElement && !clickedArgs.cancel && this.overflowMode === 'Popup') {
3295
+ if (!isNullOrUndefined(this.popObj) && isPopupElement && !clickedArgs.cancel && this.overflowMode === 'Popup' &&
3296
+ clickedArgs.item && clickedArgs.item.type !== 'Input') {
3224
3297
  this.popObj.hide({ name: 'FadeOut', duration: 100 });
3225
3298
  }
3226
3299
  });
@@ -3405,8 +3478,7 @@ let Toolbar = class Toolbar extends Component {
3405
3478
  this.removePositioning();
3406
3479
  }
3407
3480
  if (this.checkOverflow(ele, innerItems) || priorityCheck) {
3408
- this.createPopupEle(ele, [].slice.call(selectAll('.' + CLS_ITEMS + ' .' + CLS_ITEM, ele)));
3409
- this.element.querySelector('.' + CLS_TBARNAV).setAttribute('tabIndex', '0');
3481
+ this.setOverflowAttributes(ele);
3410
3482
  }
3411
3483
  this.toolbarAlign(innerItems);
3412
3484
  break;
@@ -3429,13 +3501,17 @@ let Toolbar = class Toolbar extends Component {
3429
3501
  if (this.tbarAlign) {
3430
3502
  this.removePositioning();
3431
3503
  }
3432
- this.createPopupEle(ele, [].slice.call(selectAll('.' + CLS_ITEMS + ' .' + CLS_ITEM, ele)));
3433
- this.element.querySelector('.' + CLS_TBARNAV).setAttribute('tabIndex', '0');
3504
+ this.setOverflowAttributes(ele);
3434
3505
  }
3435
3506
  this.toolbarAlign(innerItems);
3436
3507
  }
3437
3508
  }
3438
3509
  }
3510
+ setOverflowAttributes(ele) {
3511
+ this.createPopupEle(ele, [].slice.call(selectAll('.' + CLS_ITEMS + ' .' + CLS_ITEM, ele)));
3512
+ this.element.querySelector('.' + CLS_TBARNAV).setAttribute('tabIndex', '0');
3513
+ this.element.querySelector('.' + CLS_TBARNAV).setAttribute('role', 'list');
3514
+ }
3439
3515
  separator() {
3440
3516
  let element = this.element;
3441
3517
  let eleItem = [].slice.call(element.querySelectorAll('.' + CLS_SEPARATOR));
@@ -3773,6 +3849,7 @@ let Toolbar = class Toolbar extends Component {
3773
3849
  let navItem = this.createElement('div', { className: CLS_POPUPDOWN + ' e-icons' });
3774
3850
  nav.appendChild(navItem);
3775
3851
  nav.setAttribute('tabindex', '0');
3852
+ nav.setAttribute('role', 'list');
3776
3853
  element.appendChild(nav);
3777
3854
  }
3778
3855
  tbarPriRef(inEle, indx, sepPri, el, des, elWid, wid, ig) {
@@ -4399,6 +4476,7 @@ let Toolbar = class Toolbar extends Component {
4399
4476
  case 'Button':
4400
4477
  dom = this.buttonRendering(item, innerEle);
4401
4478
  dom.setAttribute('tabindex', '-1');
4479
+ dom.setAttribute('aria-label', (item.text || item.tooltipText));
4402
4480
  innerEle.appendChild(dom);
4403
4481
  innerEle.addEventListener('click', this.itemClick.bind(this));
4404
4482
  break;
@@ -4732,12 +4810,12 @@ Toolbar = __decorate$3([
4732
4810
  * Toolbar modules
4733
4811
  */
4734
4812
 
4735
- var __decorate$4 = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
4736
- var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4737
- if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
4738
- else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
4739
- return c > 3 && r && Object.defineProperty(target, key, r), r;
4740
- };
4813
+ var __decorate$4 = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
4814
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4815
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
4816
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
4817
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
4818
+ };
4741
4819
  const CLS_ACRDN_ROOT = 'e-acrdn-root';
4742
4820
  const CLS_ROOT$2 = 'e-accordion';
4743
4821
  const CLS_ITEM$1 = 'e-acrdn-item';
@@ -4887,12 +4965,12 @@ let Accordion = class Accordion extends Component {
4887
4965
  * @private
4888
4966
  */
4889
4967
  render() {
4968
+ this.initializeheaderTemplate();
4969
+ this.initializeItemTemplate();
4890
4970
  this.initialize();
4891
4971
  this.renderControl();
4892
4972
  this.wireEvents();
4893
- if (isBlazor()) {
4894
- this.renderComplete();
4895
- }
4973
+ this.renderComplete();
4896
4974
  }
4897
4975
  initialize() {
4898
4976
  let width = formatUnit(this.width);
@@ -4933,6 +5011,51 @@ let Accordion = class Accordion extends Component {
4933
5011
  });
4934
5012
  }
4935
5013
  }
5014
+ templateParser(template) {
5015
+ if (template) {
5016
+ try {
5017
+ if (document.querySelectorAll(template).length) {
5018
+ return compile(document.querySelector(template).innerHTML.trim());
5019
+ }
5020
+ }
5021
+ catch (error) {
5022
+ return compile(template);
5023
+ }
5024
+ }
5025
+ return undefined;
5026
+ }
5027
+ initializeheaderTemplate() {
5028
+ if (this.headerTemplate) {
5029
+ this.headerTemplateFn = this.templateParser(this.headerTemplate);
5030
+ }
5031
+ }
5032
+ initializeItemTemplate() {
5033
+ if (this.itemTemplate) {
5034
+ this.itemTemplateFn = this.templateParser(this.itemTemplate);
5035
+ }
5036
+ }
5037
+ getheaderTemplate() {
5038
+ return this.headerTemplateFn;
5039
+ }
5040
+ getItemTemplate() {
5041
+ return this.itemTemplateFn;
5042
+ }
5043
+ updateContentBlazorTemplate(item, index) {
5044
+ if (this.itemTemplate && isBlazor() && !this.isStringTemplate) {
5045
+ updateBlazorTemplate(this.element.id + '_itemTemplate', 'ItemTemplate', this, false);
5046
+ }
5047
+ if (item && item.content && isBlazor() && !this.isStringTemplate && item.content.indexOf('<div>Blazor') === 0) {
5048
+ updateBlazorTemplate(this.element.id + index + '_content', 'ContentTemplate', item);
5049
+ }
5050
+ }
5051
+ updateHeaderBlazorTemplate(item, index) {
5052
+ if (this.headerTemplate && isBlazor() && !this.isStringTemplate) {
5053
+ updateBlazorTemplate(this.element.id + '_headerTemplate', 'HeaderTemplate', this, false);
5054
+ }
5055
+ if (item && item.header && isBlazor() && !this.isStringTemplate && item.header.indexOf('<div>Blazor') === 0) {
5056
+ updateBlazorTemplate(this.element.id + index + '_header', 'HeaderTemplate', item);
5057
+ }
5058
+ }
4936
5059
  focusIn(e) {
4937
5060
  e.target.parentElement.classList.add(CLS_ITEMFOCUS);
4938
5061
  }
@@ -4950,13 +5073,15 @@ let Accordion = class Accordion extends Component {
4950
5073
  innerEles = this.element.children;
4951
5074
  }
4952
5075
  let items = [];
5076
+ /* tslint:disable */
4953
5077
  [].slice.call(innerEles).forEach((el) => {
4954
5078
  items.push({
4955
- header: (el.childElementCount > 0 && el.children[0]) ? (el.children[0]).innerHTML : '',
4956
- content: (el.childElementCount > 1 && el.children[1]) ? (el.children[1]).innerHTML : ''
5079
+ header: (el.childElementCount > 0 && el.children[0]) ? (el.children[0]) : '',
5080
+ content: (el.childElementCount > 1 && el.children[1]) ? (el.children[1]) : ''
4957
5081
  });
4958
5082
  el.parentNode.removeChild(el);
4959
5083
  });
5084
+ /* tslint:enable */
4960
5085
  if (rootEle) {
4961
5086
  this.element.removeChild(rootEle);
4962
5087
  }
@@ -4985,31 +5110,42 @@ let Accordion = class Accordion extends Component {
4985
5110
  renderItems() {
4986
5111
  let ele = this.element;
4987
5112
  let innerItem;
5113
+ let innerDataSourceItem;
4988
5114
  if (isNullOrUndefined(this.initExpand)) {
4989
5115
  this.initExpand = [];
4990
5116
  }
4991
5117
  if (!isNullOrUndefined(this.trgtEle)) {
4992
5118
  this.ctrlTemplate();
4993
5119
  }
4994
- let items = this.items;
4995
- if (ele && items.length > 0) {
4996
- items.forEach((item, index) => {
4997
- innerItem = this.renderInnerItem(item, index);
4998
- ele.appendChild(innerItem);
4999
- let blazorContain = Object.keys(window);
5000
- if (item.header && blazorContain.indexOf('Blazor') > -1 && !this.isStringTemplate
5001
- && item.header.indexOf('<div>Blazor') === 0) {
5002
- updateBlazorTemplate(this.element.id + index + '_header', 'HeaderTemplate', item);
5003
- }
5004
- if (innerItem.childElementCount > 0) {
5005
- EventHandler.add(innerItem.querySelector('.' + CLS_HEADER), 'focus', this.focusIn, this);
5006
- EventHandler.add(innerItem.querySelector('.' + CLS_HEADER), 'blur', this.focusOut, this);
5120
+ if (this.dataSource.length > 0) {
5121
+ this.dataSource.forEach((item, index) => {
5122
+ innerDataSourceItem = this.renderInnerItem(item, index);
5123
+ ele.appendChild(innerDataSourceItem);
5124
+ if (innerDataSourceItem.childElementCount > 0) {
5125
+ EventHandler.add(innerDataSourceItem.querySelector('.' + CLS_HEADER), 'focus', this.focusIn, this);
5126
+ EventHandler.add(innerDataSourceItem.querySelector('.' + CLS_HEADER), 'blur', this.focusOut, this);
5007
5127
  }
5008
5128
  });
5129
+ this.updateHeaderBlazorTemplate();
5130
+ }
5131
+ else {
5132
+ let items = this.items;
5133
+ if (ele && items.length > 0) {
5134
+ items.forEach((item, index) => {
5135
+ innerItem = this.renderInnerItem(item, index);
5136
+ ele.appendChild(innerItem);
5137
+ this.updateHeaderBlazorTemplate(item, index);
5138
+ if (innerItem.childElementCount > 0) {
5139
+ EventHandler.add(innerItem.querySelector('.' + CLS_HEADER), 'focus', this.focusIn, this);
5140
+ EventHandler.add(innerItem.querySelector('.' + CLS_HEADER), 'blur', this.focusOut, this);
5141
+ }
5142
+ });
5143
+ }
5009
5144
  }
5010
5145
  }
5011
5146
  clickHandler(e) {
5012
5147
  let trgt = e.target;
5148
+ let items = this.getItems();
5013
5149
  let eventArgs = {};
5014
5150
  let index;
5015
5151
  let tglIcon;
@@ -5038,17 +5174,13 @@ let Accordion = class Accordion extends Component {
5038
5174
  let acrdActive = [];
5039
5175
  index = this.getIndexByItem(acrdnItem);
5040
5176
  if (acrdnCtnItem) {
5041
- eventArgs.item = this.items[this.getIndexByItem(acrdnCtnItem)];
5177
+ eventArgs.item = items[this.getIndexByItem(acrdnCtnItem)];
5042
5178
  }
5043
5179
  eventArgs.originalEvent = e;
5044
5180
  let ctnCheck = !isNullOrUndefined(tglIcon) && acrdnItem.childElementCount <= 1;
5045
5181
  if (ctnCheck && (isNullOrUndefined(acrdnCtn) || !isNullOrUndefined(select('.' + CLS_HEADER + ' .' + CLS_TOOGLEICN, acrdnCtnItem)))) {
5046
5182
  acrdnItem.appendChild(this.contentRendering(index));
5047
- let blazorContain = Object.keys(window);
5048
- if (eventArgs.item.content && blazorContain.indexOf('Blazor') > -1 && !this.isStringTemplate
5049
- && eventArgs.item.content.indexOf('<div>Blazor') === 0) {
5050
- updateBlazorTemplate(this.element.id + index + '_content', 'ContentTemplate', eventArgs.item);
5051
- }
5183
+ this.updateContentBlazorTemplate(eventArgs.item, index);
5052
5184
  this.ariaAttrUpdate(acrdnItem);
5053
5185
  }
5054
5186
  this.trigger('clicked', eventArgs);
@@ -5154,9 +5286,10 @@ let Accordion = class Accordion extends Component {
5154
5286
  }
5155
5287
  headerEleGenerate() {
5156
5288
  let header = this.createElement('div', { className: CLS_HEADER, id: getUniqueID('acrdn_header') });
5289
+ let items = this.getItems();
5157
5290
  let ariaAttr = {
5158
- 'tabindex': '0', 'role': 'heading', 'aria-expanded': 'false', 'aria-selected': 'false',
5159
- 'aria-disabled': 'false', 'aria-level': this.items.length.toString()
5291
+ 'tabindex': '0', 'role': 'heading', 'aria-selected': 'false',
5292
+ 'aria-disabled': 'false', 'aria-level': items.length.toString()
5160
5293
  };
5161
5294
  attributes(header, ariaAttr);
5162
5295
  return header;
@@ -5165,6 +5298,17 @@ let Accordion = class Accordion extends Component {
5165
5298
  let innerEle;
5166
5299
  innerEle = this.createElement('div', { className: CLS_ITEM$1 });
5167
5300
  innerEle.id = getUniqueID('acrdn_item');
5301
+ attributes(innerEle, { 'aria-expanded': 'false' });
5302
+ if (this.headerTemplate) {
5303
+ let ctnEle = this.headerEleGenerate();
5304
+ let hdrEle = this.createElement('div', { className: CLS_HEADERCTN });
5305
+ ctnEle.appendChild(hdrEle);
5306
+ append(this.getheaderTemplate()(item, this, 'headerTemplate', this.element.id + '_headerTemplate', false), hdrEle);
5307
+ innerEle.appendChild(ctnEle);
5308
+ ctnEle.appendChild(this.toggleIconGenerate());
5309
+ this.add(innerEle, CLS_SLCT);
5310
+ return innerEle;
5311
+ }
5168
5312
  if (item.header && this.angularnativeCondiCheck(item, 'header')) {
5169
5313
  let ctnEle = this.headerEleGenerate();
5170
5314
  let hdrEle = this.createElement('div', { className: CLS_HEADERCTN });
@@ -5179,7 +5323,12 @@ let Accordion = class Accordion extends Component {
5179
5323
  }
5180
5324
  }
5181
5325
  if (item.cssClass) {
5182
- innerEle.classList.add(item.cssClass);
5326
+ let acrdnClass = item.cssClass;
5327
+ let arcdnClassList = [];
5328
+ arcdnClassList = acrdnClass.split(' ');
5329
+ arcdnClassList.forEach((el) => {
5330
+ addClass([innerEle], el);
5331
+ });
5183
5332
  }
5184
5333
  if (item.iconCss) {
5185
5334
  let hdrIcnEle = this.createElement('div', { className: CLS_HEADERICN });
@@ -5226,7 +5375,6 @@ let Accordion = class Accordion extends Component {
5226
5375
  }
5227
5376
  }
5228
5377
  fetchElement(ele, value, index, isHeader) {
5229
- let blazorContain = Object.keys(window);
5230
5378
  let templateFn;
5231
5379
  let temString;
5232
5380
  try {
@@ -5238,8 +5386,14 @@ let Accordion = class Accordion extends Component {
5238
5386
  }
5239
5387
  }
5240
5388
  catch (e) {
5241
- if (typeof (value) === 'string' && blazorContain.indexOf('Blazor') > -1 && value.indexOf('<div>Blazor') !== 0) {
5389
+ if (typeof (value) === 'string' && isBlazor() && value.indexOf('<div>Blazor') !== 0) {
5242
5390
  ele.innerHTML = value;
5391
+ /* tslint:disable */
5392
+ }
5393
+ else if (!isNullOrUndefined(this.trgtEle) && (value instanceof (HTMLElement))) {
5394
+ ele.appendChild(value);
5395
+ ele.firstElementChild.style.display = '';
5396
+ /* tslint:enable */
5243
5397
  }
5244
5398
  else {
5245
5399
  templateFn = compile(value);
@@ -5279,17 +5433,24 @@ let Accordion = class Accordion extends Component {
5279
5433
  let content = select('.' + CLS_CONTENT, itemEle);
5280
5434
  header.setAttribute('aria-controls', content.id);
5281
5435
  content.setAttribute('aria-labelledby', header.id);
5436
+ content.setAttribute('role', 'definition');
5282
5437
  }
5283
5438
  contentRendering(index) {
5284
- let content = this.items[index].content;
5285
5439
  let itemcnt = this.createElement('div', { className: CLS_CONTENT + ' ' + CLS_CTNHIDE, id: getUniqueID('acrdn_panel') });
5286
5440
  attributes(itemcnt, { 'aria-hidden': 'true' });
5287
5441
  let ctn = this.createElement('div', { className: CLS_CTENT });
5288
- itemcnt.appendChild(this.fetchElement(ctn, content, index, false));
5442
+ if (this.dataSource.length > 0) {
5443
+ append(this.getItemTemplate()(this.dataSource[index], this, 'itemTemplate', this.element.id + '_itemTemplate', false), ctn);
5444
+ itemcnt.appendChild(ctn);
5445
+ }
5446
+ else {
5447
+ itemcnt.appendChild(this.fetchElement(ctn, this.items[index].content, index, false));
5448
+ }
5289
5449
  return itemcnt;
5290
5450
  }
5291
5451
  expand(trgt) {
5292
5452
  let eventArgs;
5453
+ let items = this.getItems();
5293
5454
  let trgtItemEle = closest(trgt, '.' + CLS_ITEM$1);
5294
5455
  if (isNullOrUndefined(trgt) || (isVisible(trgt) && trgt.getAttribute('e-animate') !== 'true') || trgtItemEle.classList.contains(CLS_DISABLE$3)) {
5295
5456
  return;
@@ -5303,7 +5464,7 @@ let Accordion = class Accordion extends Component {
5303
5464
  };
5304
5465
  let icon = select('.' + CLS_TOOGLEICN, trgtItemEle).firstElementChild;
5305
5466
  eventArgs = { element: trgtItemEle,
5306
- item: this.items[this.getIndexByItem(trgtItemEle)],
5467
+ item: items[this.getIndexByItem(trgtItemEle)],
5307
5468
  index: this.getIndexByItem(trgtItemEle),
5308
5469
  content: trgtItemEle.querySelector('.' + CLS_CONTENT),
5309
5470
  isExpanded: true };
@@ -5365,7 +5526,8 @@ let Accordion = class Accordion extends Component {
5365
5526
  if (progress === 'end') {
5366
5527
  this.add(trgtItemEle, CLS_ACTIVE);
5367
5528
  trgt.setAttribute('aria-hidden', 'false');
5368
- attributes(trgt.previousElementSibling, { 'aria-selected': 'true', 'aria-expanded': 'true' });
5529
+ attributes(trgtItemEle, { 'aria-expanded': 'true' });
5530
+ attributes(trgt.previousElementSibling, { 'aria-selected': 'true' });
5369
5531
  icon.classList.remove(CLS_TOGANIMATE);
5370
5532
  this.trigger('expanded', eventArgs);
5371
5533
  }
@@ -5396,6 +5558,7 @@ let Accordion = class Accordion extends Component {
5396
5558
  }
5397
5559
  collapse(trgt) {
5398
5560
  let eventArgs;
5561
+ let items = this.getItems();
5399
5562
  let trgtItemEle = closest(trgt, '.' + CLS_ITEM$1);
5400
5563
  if (isNullOrUndefined(trgt) || !isVisible(trgt) || trgtItemEle.classList.contains(CLS_DISABLE$3)) {
5401
5564
  return;
@@ -5407,7 +5570,7 @@ let Accordion = class Accordion extends Component {
5407
5570
  };
5408
5571
  let icon = select('.' + CLS_TOOGLEICN, trgtItemEle).firstElementChild;
5409
5572
  eventArgs = { element: trgtItemEle,
5410
- item: this.items[this.getIndexByItem(trgtItemEle)],
5573
+ item: items[this.getIndexByItem(trgtItemEle)],
5411
5574
  index: this.getIndexByItem(trgtItemEle),
5412
5575
  content: trgtItemEle.querySelector('.' + CLS_CONTENT),
5413
5576
  isExpanded: false };
@@ -5474,7 +5637,8 @@ let Accordion = class Accordion extends Component {
5474
5637
  icon.classList.remove(CLS_TOGANIMATE);
5475
5638
  this.remove(trgtItemEle, CLS_ACTIVE);
5476
5639
  trgt.setAttribute('aria-hidden', 'true');
5477
- attributes(trgt.previousElementSibling, { 'aria-selected': 'false', 'aria-expanded': 'false' });
5640
+ attributes(trgtItemEle, { 'aria-expanded': 'false' });
5641
+ attributes(trgt.previousElementSibling, { 'aria-selected': 'false' });
5478
5642
  this.trigger('expanded', eventArgs);
5479
5643
  }
5480
5644
  }
@@ -5487,15 +5651,26 @@ let Accordion = class Accordion extends Component {
5487
5651
  return 'accordion';
5488
5652
  }
5489
5653
  itemAttribUpdate() {
5654
+ let items = this.getItems();
5490
5655
  let itemEle = this.getItemElements();
5491
- let itemLen = this.items.length;
5656
+ let itemLen = items.length;
5492
5657
  itemEle.forEach((ele) => {
5493
5658
  select('.' + CLS_HEADER, ele).setAttribute('aria-level', '' + itemLen);
5494
5659
  });
5495
5660
  }
5661
+ getItems() {
5662
+ let items;
5663
+ if (this.itemTemplate && this.headerTemplate) {
5664
+ items = this.dataSource;
5665
+ }
5666
+ else {
5667
+ items = this.items;
5668
+ }
5669
+ return items;
5670
+ }
5496
5671
  /**
5497
5672
  * Adds new item to the Accordion with the specified index of the Accordion.
5498
- * @param {AccordionItemModel} item - Item array that is to be added to the Accordion.
5673
+ * @param {AccordionItemModel | Object} item - Item array that is to be added to the Accordion.
5499
5674
  * @param {number} index - Number value that determines where the item should be added.
5500
5675
  * By default, item is added at the last index if the index is not specified.
5501
5676
  * @returns void
@@ -5503,11 +5678,12 @@ let Accordion = class Accordion extends Component {
5503
5678
  addItem(item, index) {
5504
5679
  let ele = this.element;
5505
5680
  let itemEle = this.getItemElements();
5681
+ let items = this.getItems();
5506
5682
  if (isNullOrUndefined(index)) {
5507
- index = this.items.length;
5683
+ index = items.length;
5508
5684
  }
5509
5685
  if (ele.childElementCount >= index) {
5510
- this.items.splice(index, 0, item);
5686
+ items.splice(index, 0, item);
5511
5687
  let innerItemEle = this.renderInnerItem(item, index);
5512
5688
  if (ele.childElementCount === index) {
5513
5689
  ele.appendChild(innerItemEle);
@@ -5515,13 +5691,14 @@ let Accordion = class Accordion extends Component {
5515
5691
  else {
5516
5692
  ele.insertBefore(innerItemEle, itemEle[index]);
5517
5693
  }
5694
+ this.updateHeaderBlazorTemplate();
5518
5695
  EventHandler.add(innerItemEle.querySelector('.' + CLS_HEADER), 'focus', this.focusIn, this);
5519
5696
  EventHandler.add(innerItemEle.querySelector('.' + CLS_HEADER), 'blur', this.focusOut, this);
5520
5697
  this.itemAttribUpdate();
5521
5698
  }
5522
5699
  this.expandedItems = [];
5523
5700
  this.expandedItemRefresh(ele);
5524
- if (item.expanded) {
5701
+ if (item && item.expanded) {
5525
5702
  this.expandItem(true, index);
5526
5703
  }
5527
5704
  }
@@ -5541,12 +5718,13 @@ let Accordion = class Accordion extends Component {
5541
5718
  removeItem(index) {
5542
5719
  let itemEle = this.getItemElements();
5543
5720
  let ele = itemEle[index];
5721
+ let items = this.getItems();
5544
5722
  if (isNullOrUndefined(ele)) {
5545
5723
  return;
5546
5724
  }
5547
5725
  this.restoreContent(index);
5548
5726
  detach(ele);
5549
- this.items.splice(index, 1);
5727
+ items.splice(index, 1);
5550
5728
  this.itemAttribUpdate();
5551
5729
  this.expandedItems = [];
5552
5730
  this.expandedItemRefresh(this.element);
@@ -5656,17 +5834,14 @@ let Accordion = class Accordion extends Component {
5656
5834
  }
5657
5835
  itemExpand(isExpand, ele, index) {
5658
5836
  let ctn = ele.children[1];
5837
+ let items = this.getItems();
5659
5838
  if (ele.classList.contains(CLS_DISABLE$3)) {
5660
5839
  return;
5661
5840
  }
5662
5841
  if (isNullOrUndefined(ctn) && isExpand) {
5663
5842
  ctn = this.contentRendering(index);
5664
5843
  ele.appendChild(ctn);
5665
- let blazorContain = Object.keys(window);
5666
- let item = this.items[index];
5667
- if (item.content && blazorContain.indexOf('Blazor') > -1 && !this.isStringTemplate && item.content.indexOf('<div>Blazor') === 0) {
5668
- updateBlazorTemplate(this.element.id + index + '_content', 'ContentTemplate', item);
5669
- }
5844
+ this.updateContentBlazorTemplate(items[index], index);
5670
5845
  this.ariaAttrUpdate(ele);
5671
5846
  }
5672
5847
  else if (isNullOrUndefined(ctn)) {
@@ -5696,8 +5871,9 @@ let Accordion = class Accordion extends Component {
5696
5871
  }
5697
5872
  updateItem(item, index) {
5698
5873
  if (!isNullOrUndefined(item)) {
5699
- let itemObj = this.items[index];
5700
- this.items.splice(index, 1);
5874
+ let items = this.getItems();
5875
+ let itemObj = items[index];
5876
+ items.splice(index, 1);
5701
5877
  this.restoreContent(index);
5702
5878
  detach(item);
5703
5879
  this.addItem(itemObj, index);
@@ -5716,6 +5892,7 @@ let Accordion = class Accordion extends Component {
5716
5892
  */
5717
5893
  onPropertyChanged(newProp, oldProp) {
5718
5894
  let acrdn = this.element;
5895
+ let isRefresh = false;
5719
5896
  for (let prop of Object.keys(newProp)) {
5720
5897
  switch (prop) {
5721
5898
  case 'items':
@@ -5744,11 +5921,20 @@ let Accordion = class Accordion extends Component {
5744
5921
  }
5745
5922
  }
5746
5923
  else {
5747
- this.destroyItems();
5748
- this.renderItems();
5749
- this.initItemExpand();
5924
+ isRefresh = true;
5750
5925
  }
5751
5926
  break;
5927
+ case 'dataSource':
5928
+ isRefresh = true;
5929
+ break;
5930
+ case 'headerTemplate':
5931
+ this.initializeheaderTemplate();
5932
+ isRefresh = true;
5933
+ break;
5934
+ case 'itemTemplate':
5935
+ this.initializeItemTemplate();
5936
+ isRefresh = true;
5937
+ break;
5752
5938
  case 'enableRtl':
5753
5939
  newProp.enableRtl ? this.add(acrdn, CLS_RTL$3) : this.remove(acrdn, CLS_RTL$3);
5754
5940
  break;
@@ -5771,11 +5957,25 @@ let Accordion = class Accordion extends Component {
5771
5957
  break;
5772
5958
  }
5773
5959
  }
5960
+ if (isRefresh) {
5961
+ this.destroyItems();
5962
+ this.renderItems();
5963
+ this.initItemExpand();
5964
+ }
5774
5965
  }
5775
5966
  };
5776
5967
  __decorate$4([
5777
5968
  Collection([], AccordionItem)
5778
5969
  ], Accordion.prototype, "items", void 0);
5970
+ __decorate$4([
5971
+ Property([])
5972
+ ], Accordion.prototype, "dataSource", void 0);
5973
+ __decorate$4([
5974
+ Property()
5975
+ ], Accordion.prototype, "itemTemplate", void 0);
5976
+ __decorate$4([
5977
+ Property()
5978
+ ], Accordion.prototype, "headerTemplate", void 0);
5779
5979
  __decorate$4([
5780
5980
  Property('100%')
5781
5981
  ], Accordion.prototype, "width", void 0);
@@ -5811,12 +6011,12 @@ Accordion = __decorate$4([
5811
6011
  * Accordion all modules
5812
6012
  */
5813
6013
 
5814
- var __decorate$5 = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
5815
- var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
5816
- if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5817
- else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
5818
- return c > 3 && r && Object.defineProperty(target, key, r), r;
5819
- };
6014
+ var __decorate$5 = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
6015
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
6016
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
6017
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6018
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
6019
+ };
5820
6020
  /// <reference path='../common/menu-base-model.d.ts'/>
5821
6021
  /**
5822
6022
  * The ContextMenu is a graphical user interface that appears on the user right click/touch hold operation.
@@ -5917,12 +6117,12 @@ ContextMenu = __decorate$5([
5917
6117
  * ContextMenu modules
5918
6118
  */
5919
6119
 
5920
- var __decorate$6 = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
5921
- var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
5922
- if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5923
- else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
5924
- return c > 3 && r && Object.defineProperty(target, key, r), r;
5925
- };
6120
+ var __decorate$6 = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
6121
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
6122
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
6123
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6124
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
6125
+ };
5926
6126
  /// <reference path='../common/menu-base-model.d.ts'/>
5927
6127
  const VMENU = 'e-vertical';
5928
6128
  const SCROLLABLE = 'e-scrollable';
@@ -6162,14 +6362,15 @@ Menu = __decorate$6([
6162
6362
  * Menu modules
6163
6363
  */
6164
6364
 
6165
- var __decorate$7 = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
6166
- var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
6167
- if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
6168
- else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6169
- return c > 3 && r && Object.defineProperty(target, key, r), r;
6170
- };
6365
+ var __decorate$7 = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
6366
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
6367
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
6368
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6369
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
6370
+ };
6171
6371
  const CLS_TAB = 'e-tab';
6172
6372
  const CLS_HEADER$1 = 'e-tab-header';
6373
+ const CLS_BLA_TEM = 'blazor-template';
6173
6374
  const CLS_CONTENT$1 = 'e-content';
6174
6375
  const CLS_NEST$1 = 'e-nested';
6175
6376
  const CLS_ITEMS$1 = 'e-items';
@@ -6207,6 +6408,7 @@ const CLS_VERTICAL$1 = 'e-vertical';
6207
6408
  const CLS_VLEFT = 'e-vertical-left';
6208
6409
  const CLS_VRIGHT = 'e-vertical-right';
6209
6410
  const CLS_HBOTTOM = 'e-horizontal-bottom';
6411
+ const CLS_FILL = 'e-fill-mode';
6210
6412
  class TabActionSettings extends ChildProperty {
6211
6413
  }
6212
6414
  __decorate$7([
@@ -6364,6 +6566,7 @@ let Tab = class Tab extends Component {
6364
6566
  */
6365
6567
  render() {
6366
6568
  this.btnCls = this.createElement('span', { className: CLS_ICONS + ' ' + CLS_ICON_CLOSE, attrs: { title: this.title } });
6569
+ this.tabId = this.element.id.length > 0 ? ('-' + this.element.id) : getRandomId();
6367
6570
  this.renderContainer();
6368
6571
  this.wireEvents();
6369
6572
  this.initRender = false;
@@ -6413,7 +6616,7 @@ let Tab = class Tab extends Component {
6413
6616
  renderHeader() {
6414
6617
  let hdrPlace = this.headerPlacement;
6415
6618
  let tabItems = [];
6416
- this.hdrEle = select('.' + CLS_HEADER$1, this.element);
6619
+ this.hdrEle = this.getTabHeader();
6417
6620
  this.addVerticalClass();
6418
6621
  if (!this.isTemplate) {
6419
6622
  tabItems = this.parseObject(this.items, 0);
@@ -6431,12 +6634,13 @@ let Tab = class Tab extends Component {
6431
6634
  while (this.hdrEle.firstElementChild) {
6432
6635
  detach(this.hdrEle.firstElementChild);
6433
6636
  }
6434
- this.hdrEle.appendChild(this.createElement('div', { className: CLS_ITEMS$1 }));
6637
+ let tabItems = this.createElement('div', { className: CLS_ITEMS$1 });
6638
+ this.hdrEle.appendChild(tabItems);
6435
6639
  hdrItems.forEach((item, index) => {
6436
6640
  this.lastIndex = index;
6437
6641
  let attr = {
6438
- className: CLS_ITEM$2, id: CLS_ITEM$2 + '_' + index,
6439
- attrs: { role: 'tab', 'aria-controls': CLS_CONTENT$1 + '_' + index, 'aria-selected': 'false' }
6642
+ className: CLS_ITEM$2, id: CLS_ITEM$2 + this.tabId + '_' + index,
6643
+ attrs: { role: 'tab', 'aria-controls': CLS_CONTENT$1 + this.tabId + '_' + index, 'aria-selected': 'false' }
6440
6644
  };
6441
6645
  let txt = this.createElement('span', {
6442
6646
  className: CLS_TEXT, innerHTML: item, attrs: { 'role': 'presentation' }
@@ -6445,8 +6649,8 @@ let Tab = class Tab extends Component {
6445
6649
  className: CLS_TEXT_WRAP, innerHTML: txt + this.btnCls.outerHTML
6446
6650
  }).outerHTML;
6447
6651
  let wrap = this.createElement('div', { className: CLS_WRAP, innerHTML: cont, attrs: { tabIndex: '-1' } });
6448
- select('.' + CLS_ITEMS$1, this.element).appendChild(this.createElement('div', attr));
6449
- selectAll('.' + CLS_ITEM$2, this.element)[index].appendChild(wrap);
6652
+ tabItems.appendChild(this.createElement('div', attr));
6653
+ selectAll('.' + CLS_ITEM$2, tabItems)[index].appendChild(wrap);
6450
6654
  });
6451
6655
  }
6452
6656
  }
@@ -6461,6 +6665,7 @@ let Tab = class Tab extends Component {
6461
6665
  this.tbObj.isStringTemplate = true;
6462
6666
  this.tbObj.createElement = this.createElement;
6463
6667
  this.tbObj.appendTo(this.hdrEle);
6668
+ attributes(this.hdrEle, { 'aria-label': 'tab-header' });
6464
6669
  for (let i = 0; i < this.items.length; i++) {
6465
6670
  let item = this.items[i];
6466
6671
  if (item.headerTemplate && isBlazor() && !this.isStringTemplate &&
@@ -6480,8 +6685,8 @@ let Tab = class Tab extends Component {
6480
6685
  for (let i = 0; i < hdrItem.length; i++) {
6481
6686
  if (contents.length - 1 >= i) {
6482
6687
  contents.item(i).className += CLS_ITEM$2;
6483
- attributes(contents.item(i), { 'role': 'tabpanel', 'aria-labelledby': CLS_ITEM$2 + '_' + i });
6484
- contents.item(i).id = CLS_CONTENT$1 + '_' + i;
6688
+ attributes(contents.item(i), { 'role': 'tabpanel', 'aria-labelledby': CLS_ITEM$2 + this.tabId + '_' + i });
6689
+ contents.item(i).id = CLS_CONTENT$1 + this.tabId + '_' + i;
6485
6690
  }
6486
6691
  }
6487
6692
  }
@@ -6546,13 +6751,13 @@ let Tab = class Tab extends Component {
6546
6751
  let wrap = this.createElement('div', { className: CLS_WRAP, attrs: wrapAttrs });
6547
6752
  wrap.appendChild(tCont);
6548
6753
  if (this.itemIndexArray === []) {
6549
- this.itemIndexArray.push(CLS_ITEM$2 + '_' + this.lastIndex);
6754
+ this.itemIndexArray.push(CLS_ITEM$2 + this.tabId + '_' + this.lastIndex);
6550
6755
  }
6551
6756
  else {
6552
- this.itemIndexArray.splice((index + i), 0, CLS_ITEM$2 + '_' + this.lastIndex);
6757
+ this.itemIndexArray.splice((index + i), 0, CLS_ITEM$2 + this.tabId + '_' + this.lastIndex);
6553
6758
  }
6554
6759
  let attrObj = {
6555
- id: CLS_ITEM$2 + '_' + this.lastIndex, role: 'tab', 'aria-selected': 'false'
6760
+ id: CLS_ITEM$2 + this.tabId + '_' + this.lastIndex, role: 'tab', 'aria-selected': 'false'
6556
6761
  };
6557
6762
  let tItem = { htmlAttributes: attrObj, template: wrap };
6558
6763
  tItem.cssClass = item.cssClass + ' ' + disabled + ' ' + ((css !== '') ? 'e-i' + pos : '') + ' ' + ((!txtEmpty) ? CLS_ICON : '');
@@ -6570,14 +6775,11 @@ let Tab = class Tab extends Component {
6570
6775
  (this.isIconAlone) ? this.element.classList.add(CLS_ICON_TAB) : this.element.classList.remove(CLS_ICON_TAB);
6571
6776
  return tItems;
6572
6777
  }
6573
- removeActiveClass(id) {
6574
- let hdrActEle = selectAll(':root .' + CLS_HEADER$1 + ' .' + CLS_TB_ITEM + '.' + CLS_ACTIVE$1, this.element)[0];
6575
- let selectEle = select('.' + CLS_HEADER$1, this.element);
6576
- if (this.headerPlacement === 'Bottom') {
6577
- hdrActEle = selectAll(':root .' + CLS_HEADER$1 + ' .' + CLS_TB_ITEM + '.' + CLS_ACTIVE$1, selectEle)[0];
6578
- }
6579
- if (!isNullOrUndefined(hdrActEle)) {
6580
- hdrActEle.classList.remove(CLS_ACTIVE$1);
6778
+ removeActiveClass() {
6779
+ let tabHeader = this.getTabHeader();
6780
+ if (tabHeader) {
6781
+ let tabItems = selectAll('.' + CLS_TB_ITEM + '.' + CLS_ACTIVE$1, tabHeader);
6782
+ [].slice.call(tabItems).forEach((node) => node.classList.remove(CLS_ACTIVE$1));
6581
6783
  }
6582
6784
  }
6583
6785
  checkPopupOverflow(ele) {
@@ -6636,8 +6838,10 @@ let Tab = class Tab extends Component {
6636
6838
  let checkRTL = this.enableRtl || this.element.classList.contains(CLS_RTL$4);
6637
6839
  if (this.isPopup || prev <= current) {
6638
6840
  if (this.animation.previous.effect === 'SlideLeftIn') {
6639
- animation = { name: 'SlideLeftOut',
6640
- duration: this.animation.previous.duration, timingFunction: this.animation.previous.easing };
6841
+ animation = {
6842
+ name: 'SlideLeftOut',
6843
+ duration: this.animation.previous.duration, timingFunction: this.animation.previous.easing
6844
+ };
6641
6845
  }
6642
6846
  else {
6643
6847
  animation = null;
@@ -6645,8 +6849,10 @@ let Tab = class Tab extends Component {
6645
6849
  }
6646
6850
  else {
6647
6851
  if (this.animation.next.effect === 'SlideRightIn') {
6648
- animation = { name: 'SlideRightOut',
6649
- duration: this.animation.next.duration, timingFunction: this.animation.next.easing };
6852
+ animation = {
6853
+ name: 'SlideRightOut',
6854
+ duration: this.animation.next.duration, timingFunction: this.animation.next.easing
6855
+ };
6650
6856
  }
6651
6857
  else {
6652
6858
  animation = null;
@@ -6756,11 +6962,24 @@ let Tab = class Tab extends Component {
6756
6962
  }
6757
6963
  }
6758
6964
  }
6965
+ getTabHeader() {
6966
+ let headers = [].slice.call(this.element.children).filter((e) => e.classList.contains(CLS_HEADER$1));
6967
+ if (headers.length > 0) {
6968
+ return headers[0];
6969
+ }
6970
+ else {
6971
+ let wrap = [].slice.call(this.element.children).filter((e) => !e.classList.contains(CLS_BLA_TEM))[0];
6972
+ if (!wrap) {
6973
+ return undefined;
6974
+ }
6975
+ return [].slice.call(wrap.children).filter((e) => e.classList.contains(CLS_HEADER$1))[0];
6976
+ }
6977
+ }
6759
6978
  getEleIndex(item) {
6760
- return Array.prototype.indexOf.call(selectAll('.' + CLS_HEADER$1 + ' .' + CLS_TB_ITEM, this.element), item);
6979
+ return Array.prototype.indexOf.call(selectAll('.' + CLS_TB_ITEM, this.getTabHeader()), item);
6761
6980
  }
6762
6981
  extIndex(id) {
6763
- return id.replace(CLS_ITEM$2 + '_', '');
6982
+ return id.replace(CLS_ITEM$2 + this.tabId + '_', '');
6764
6983
  }
6765
6984
  expTemplateContent() {
6766
6985
  this.templateEle.forEach((eleStr) => {
@@ -6844,10 +7063,10 @@ let Tab = class Tab extends Component {
6844
7063
  getTrgContent(cntEle, no) {
6845
7064
  let ele;
6846
7065
  if (this.element.classList.contains(CLS_NEST$1)) {
6847
- ele = select('.' + CLS_NEST$1 + '> .' + CLS_CONTENT$1 + ' > #' + CLS_CONTENT$1 + '_' + no, this.element);
7066
+ ele = select('.' + CLS_NEST$1 + '> .' + CLS_CONTENT$1 + ' > #' + CLS_CONTENT$1 + this.tabId + '_' + no, this.element);
6848
7067
  }
6849
7068
  else {
6850
- ele = this.findEle(cntEle.children, CLS_CONTENT$1 + '_' + no);
7069
+ ele = this.findEle(cntEle.children, CLS_CONTENT$1 + this.tabId + '_' + no);
6851
7070
  }
6852
7071
  return ele;
6853
7072
  }
@@ -6895,7 +7114,9 @@ let Tab = class Tab extends Component {
6895
7114
  this.select(this.selectedItem);
6896
7115
  }
6897
7116
  setOrientation(place, ele) {
6898
- if (place === 'Bottom' && Array.prototype.indexOf.call(this.element.children, ele) !== 1) {
7117
+ let headerPos = Array.prototype.indexOf.call(this.element.children, ele);
7118
+ let contentPos = Array.prototype.indexOf.call(this.element.children, this.element.querySelector('.' + CLS_CONTENT$1));
7119
+ if (place === 'Bottom' && (contentPos > headerPos)) {
6899
7120
  this.element.appendChild(ele);
6900
7121
  }
6901
7122
  else {
@@ -6917,10 +7138,13 @@ let Tab = class Tab extends Component {
6917
7138
  }
6918
7139
  }
6919
7140
  setContentHeight(val) {
7141
+ if (this.element.classList.contains(CLS_FILL)) {
7142
+ removeClass([this.element], [CLS_FILL]);
7143
+ }
6920
7144
  if (isNullOrUndefined(this.cntEle)) {
6921
7145
  return;
6922
7146
  }
6923
- let hdrEle = select('.' + CLS_HEADER$1, this.element);
7147
+ let hdrEle = this.getTabHeader();
6924
7148
  if (this.heightAdjustMode === 'None') {
6925
7149
  if (this.height === 'auto') {
6926
7150
  return;
@@ -6932,8 +7156,9 @@ let Tab = class Tab extends Component {
6932
7156
  }
6933
7157
  }
6934
7158
  else if (this.heightAdjustMode === 'Fill') {
7159
+ addClass([this.element], [CLS_FILL]);
6935
7160
  setStyleAttribute(this.element, { 'height': '100%' });
6936
- setStyleAttribute(this.cntEle, { 'height': 'auto' });
7161
+ setStyleAttribute(this.cntEle, { 'height': '100%' });
6937
7162
  }
6938
7163
  else if (this.heightAdjustMode === 'Auto') {
6939
7164
  let cnt = selectAll('.' + CLS_CONTENT$1 + ' > .' + CLS_ITEM$2, this.element);
@@ -6949,8 +7174,8 @@ let Tab = class Tab extends Component {
6949
7174
  this.cntEle = select('.' + CLS_CONTENT$1, this.element);
6950
7175
  if (val === true) {
6951
7176
  this.cntEle.appendChild(this.createElement('div', {
6952
- id: (CLS_CONTENT$1 + '_' + 0), className: CLS_ITEM$2 + ' ' + CLS_ACTIVE$1,
6953
- attrs: { 'role': 'tabpanel', 'aria-labelledby': CLS_ITEM$2 + '_' + 0 }
7177
+ id: (CLS_CONTENT$1 + this.tabId + '_' + 0), className: CLS_ITEM$2 + ' ' + CLS_ACTIVE$1,
7178
+ attrs: { 'role': 'tabpanel', 'aria-labelledby': CLS_ITEM$2 + this.tabId + '_' + 0 }
6954
7179
  }));
6955
7180
  }
6956
7181
  let ele = this.cntEle.children.item(0);
@@ -6978,18 +7203,10 @@ let Tab = class Tab extends Component {
6978
7203
  parseFloat(cs.getPropertyValue('margin-top')) + parseFloat(cs.getPropertyValue('margin-bottom'));
6979
7204
  }
6980
7205
  setActiveBorder() {
6981
- let trg;
6982
7206
  let bar;
6983
7207
  let scrollCnt;
6984
- let trgHdrEle;
6985
- if (this.headerPlacement === 'Bottom') {
6986
- trgHdrEle = select('.' + CLS_HEADER$1, this.element);
6987
- trg = select('.' + CLS_TB_ITEM + '.' + CLS_ACTIVE$1, trgHdrEle);
6988
- }
6989
- else {
6990
- trgHdrEle = select('.' + CLS_HEADER$1, this.element);
6991
- trg = select('.' + CLS_TB_ITEM + '.' + CLS_ACTIVE$1, this.element);
6992
- }
7208
+ let trgHdrEle = this.getTabHeader();
7209
+ let trg = select('.' + CLS_TB_ITEM + '.' + CLS_ACTIVE$1, trgHdrEle);
6993
7210
  if (trg === null) {
6994
7211
  return;
6995
7212
  }
@@ -7025,7 +7242,7 @@ let Tab = class Tab extends Component {
7025
7242
  }
7026
7243
  }
7027
7244
  setActive(value) {
7028
- this.tbItem = selectAll('.' + CLS_HEADER$1 + ' .' + CLS_TB_ITEM, this.element);
7245
+ this.tbItem = selectAll('.' + CLS_TB_ITEM, this.getTabHeader());
7029
7246
  let trg = this.tbItem[value];
7030
7247
  if (value >= 0) {
7031
7248
  this.setProperties({ selectedItem: value }, true);
@@ -7042,20 +7259,20 @@ let Tab = class Tab extends Component {
7042
7259
  if (!isNullOrUndefined(prev)) {
7043
7260
  prev.removeAttribute('aria-controls');
7044
7261
  }
7045
- attributes(trg, { 'aria-controls': CLS_CONTENT$1 + '_' + value });
7262
+ attributes(trg, { 'aria-controls': CLS_CONTENT$1 + this.tabId + '_' + value });
7046
7263
  }
7047
7264
  let id = trg.id;
7048
- this.removeActiveClass(id);
7265
+ this.removeActiveClass();
7049
7266
  trg.classList.add(CLS_ACTIVE$1);
7050
7267
  trg.setAttribute('aria-selected', 'true');
7051
7268
  let no = Number(this.extIndex(id));
7052
7269
  if (isNullOrUndefined(this.prevActiveEle)) {
7053
- this.prevActiveEle = CLS_CONTENT$1 + '_' + no;
7270
+ this.prevActiveEle = CLS_CONTENT$1 + this.tabId + '_' + no;
7054
7271
  }
7055
7272
  attributes(this.element, { 'aria-activedescendant': id });
7056
7273
  if (this.isTemplate) {
7057
7274
  if (select('.' + CLS_CONTENT$1, this.element).children.length > 0) {
7058
- let trg = this.findEle(select('.' + CLS_CONTENT$1, this.element).children, CLS_CONTENT$1 + '_' + no);
7275
+ let trg = this.findEle(select('.' + CLS_CONTENT$1, this.element).children, CLS_CONTENT$1 + this.tabId + '_' + no);
7059
7276
  if (!isNullOrUndefined(trg)) {
7060
7277
  trg.classList.add(CLS_ACTIVE$1);
7061
7278
  }
@@ -7067,8 +7284,8 @@ let Tab = class Tab extends Component {
7067
7284
  let item = this.getTrgContent(this.cntEle, this.extIndex(id));
7068
7285
  if (isNullOrUndefined(item)) {
7069
7286
  this.cntEle.appendChild(this.createElement('div', {
7070
- id: CLS_CONTENT$1 + '_' + this.extIndex(id), className: CLS_ITEM$2 + ' ' + CLS_ACTIVE$1,
7071
- attrs: { role: 'tabpanel', 'aria-labelledby': CLS_ITEM$2 + '_' + this.extIndex(id) }
7287
+ id: CLS_CONTENT$1 + this.tabId + '_' + this.extIndex(id), className: CLS_ITEM$2 + ' ' + CLS_ACTIVE$1,
7288
+ attrs: { role: 'tabpanel', 'aria-labelledby': CLS_ITEM$2 + this.tabId + '_' + this.extIndex(id) }
7072
7289
  }));
7073
7290
  let eleTrg = this.getTrgContent(this.cntEle, this.extIndex(id));
7074
7291
  let itemIndex = Array.prototype.indexOf.call(this.itemIndexArray, trg.id);
@@ -7090,7 +7307,7 @@ let Tab = class Tab extends Component {
7090
7307
  previousIndex: this.prevIndex,
7091
7308
  selectedItem: trg,
7092
7309
  selectedIndex: value,
7093
- selectedContent: select('#' + CLS_CONTENT$1 + '_' + this.selectingID, this.content),
7310
+ selectedContent: select('#' + CLS_CONTENT$1 + this.tabId + '_' + this.selectingID, this.content),
7094
7311
  isSwiped: this.isSwipeed
7095
7312
  };
7096
7313
  if (!this.initRender || this.selectedItem !== 0) {
@@ -7099,7 +7316,7 @@ let Tab = class Tab extends Component {
7099
7316
  }
7100
7317
  setItems(items) {
7101
7318
  this.isReplace = true;
7102
- this.tbItems = select('.' + CLS_HEADER$1 + ' .' + CLS_TB_ITEMS, this.element);
7319
+ this.tbItems = select('.' + CLS_TB_ITEMS, this.getTabHeader());
7103
7320
  this.tbObj.items = this.parseObject(items, 0);
7104
7321
  this.tbObj.dataBind();
7105
7322
  this.isReplace = false;
@@ -7206,9 +7423,9 @@ let Tab = class Tab extends Component {
7206
7423
  }
7207
7424
  this.element.classList.add(CLS_FOCUS);
7208
7425
  let trg = e.target;
7209
- let actEle = select('.' + CLS_HEADER$1 + ' .' + CLS_ACTIVE$1, this.element);
7210
- let tabItem = selectAll('.' + CLS_TB_ITEM + ':not(.' + CLS_TB_POPUP + ')', this.element);
7211
- this.popEle = select('.' + CLS_HEADER$1 + ' .' + CLS_TB_POP, this.element);
7426
+ let tabHeader = this.getTabHeader();
7427
+ let actEle = select('.' + CLS_ACTIVE$1, tabHeader);
7428
+ this.popEle = select('.' + CLS_TB_POP, tabHeader);
7212
7429
  if (!isNullOrUndefined(this.popEle)) {
7213
7430
  this.popObj = this.popEle.ej2_instances[0];
7214
7431
  }
@@ -7306,8 +7523,8 @@ let Tab = class Tab extends Component {
7306
7523
  let property = Object.keys(newProp.items[index])[0];
7307
7524
  let oldVal = Object(oldProp.items[index])[property];
7308
7525
  let newVal = Object(newProp.items[index])[property];
7309
- let hdrItem = select('.' + CLS_TB_ITEMS + ' #' + CLS_ITEM$2 + '_' + index, this.element);
7310
- let cntItem = select('.' + CLS_CONTENT$1 + ' #' + CLS_CONTENT$1 + '_' + index, this.element);
7526
+ let hdrItem = select('.' + CLS_TB_ITEMS + ' #' + CLS_ITEM$2 + this.tabId + '_' + index, this.element);
7527
+ let cntItem = select('.' + CLS_CONTENT$1 + ' #' + CLS_CONTENT$1 + this.tabId + '_' + index, this.element);
7311
7528
  if (property === 'header' || property === 'headerTemplate') {
7312
7529
  let icon = (isNullOrUndefined(this.items[index].header) ||
7313
7530
  isNullOrUndefined(this.items[index].header.iconCss)) ? '' : this.items[index].header.iconCss;
@@ -7367,6 +7584,10 @@ let Tab = class Tab extends Component {
7367
7584
  this.reRenderItems();
7368
7585
  }
7369
7586
  else {
7587
+ let items = newProp.items;
7588
+ for (let i = 0; i < items.length; i++) {
7589
+ this.resetBlazorTemplates(items[i], i);
7590
+ }
7370
7591
  this.setItems(newProp.items);
7371
7592
  if (this.templateEle.length > 0) {
7372
7593
  this.expTemplateContent();
@@ -7380,6 +7601,17 @@ let Tab = class Tab extends Component {
7380
7601
  }
7381
7602
  }
7382
7603
  }
7604
+ resetBlazorTemplates(item, index) {
7605
+ if (!isBlazor()) {
7606
+ return;
7607
+ }
7608
+ if (item.headerTemplate && !this.isStringTemplate && (item.headerTemplate).indexOf('<div>Blazor') === 0) {
7609
+ resetBlazorTemplate(this.element.id + index + '_' + 'headerTemplate', 'HeaderTemplate');
7610
+ }
7611
+ if (item.content && !this.isStringTemplate && item.content.indexOf('<div>Blazor') === 0) {
7612
+ resetBlazorTemplate(this.element.id + index + '_' + 'content', 'ContentTemplate');
7613
+ }
7614
+ }
7383
7615
  /**
7384
7616
  * Enables or disables the specified Tab item. On passing value as `false`, the item will be disabled.
7385
7617
  * @param {number} index - Index value of target Tab item.
@@ -7452,7 +7684,7 @@ let Tab = class Tab extends Component {
7452
7684
  if (!isNullOrUndefined(this.bdrLine)) {
7453
7685
  this.bdrLine.classList.add(CLS_HIDDEN$1);
7454
7686
  }
7455
- this.tbItems = select('.' + CLS_HEADER$1 + ' .' + CLS_TB_ITEMS, this.element);
7687
+ this.tbItems = select('.' + CLS_TB_ITEMS, this.getTabHeader());
7456
7688
  this.isAdd = true;
7457
7689
  let tabItems = this.parseObject(items, index);
7458
7690
  this.isAdd = false;
@@ -7468,7 +7700,8 @@ let Tab = class Tab extends Component {
7468
7700
  if (this.isTemplate && !isNullOrUndefined(item.header) && !isNullOrUndefined(item.header.text)) {
7469
7701
  let no = lastEleIndex + place;
7470
7702
  let ele = this.createElement('div', {
7471
- id: CLS_CONTENT$1 + '_' + no, className: CLS_ITEM$2, attrs: { role: 'tabpanel', 'aria-labelledby': CLS_ITEM$2 + '_' + no }
7703
+ id: CLS_CONTENT$1 + this.tabId + '_' + no, className: CLS_ITEM$2,
7704
+ attrs: { role: 'tabpanel', 'aria-labelledby': CLS_ITEM$2 + this.tabId + '_' + no }
7472
7705
  });
7473
7706
  this.cntEle.insertBefore(ele, this.cntEle.children[(index + place)]);
7474
7707
  let eleTrg = this.getTrgContent(this.cntEle, no.toString());
@@ -7500,11 +7733,12 @@ let Tab = class Tab extends Component {
7500
7733
  let removeArgs = { removedItem: trg, removedIndex: index, cancel: false };
7501
7734
  this.trigger('removing', removeArgs, (tabRemovingArgs) => {
7502
7735
  if (!tabRemovingArgs.cancel) {
7736
+ this.resetBlazorTemplates(this.items[index], index);
7503
7737
  this.tbObj.removeItems(index);
7504
7738
  this.items.splice(index, 1);
7505
7739
  this.itemIndexArray.splice(index, 1);
7506
7740
  this.refreshActiveBorder();
7507
- let cntTrg = select('#' + CLS_CONTENT$1 + '_' + this.extIndex(trg.id), select('.' + CLS_CONTENT$1, this.element));
7741
+ let cntTrg = select('#' + CLS_CONTENT$1 + this.tabId + '_' + this.extIndex(trg.id), select('.' + CLS_CONTENT$1, this.element));
7508
7742
  if (!isNullOrUndefined(cntTrg)) {
7509
7743
  detach(cntTrg);
7510
7744
  }
@@ -7589,8 +7823,9 @@ let Tab = class Tab extends Component {
7589
7823
  * @returns void.
7590
7824
  */
7591
7825
  select(args) {
7592
- this.tbItems = select('.' + CLS_HEADER$1 + ' .' + CLS_TB_ITEMS, this.element);
7593
- this.tbItem = selectAll('.' + CLS_HEADER$1 + ' .' + CLS_TB_ITEM, this.element);
7826
+ let tabHeader = this.getTabHeader();
7827
+ this.tbItems = select('.' + CLS_TB_ITEMS, tabHeader);
7828
+ this.tbItem = selectAll('.' + CLS_TB_ITEM, tabHeader);
7594
7829
  this.content = select('.' + CLS_CONTENT$1, this.element);
7595
7830
  this.prevItem = this.tbItem[this.prevIndex];
7596
7831
  if (isNullOrUndefined(this.selectedItem) || (this.selectedItem < 0) || (this.tbItem.length <= this.selectedItem) || isNaN(this.selectedItem)) {
@@ -7614,10 +7849,12 @@ let Tab = class Tab extends Component {
7614
7849
  previousIndex: this.prevIndex,
7615
7850
  selectedItem: this.tbItem[this.selectedItem],
7616
7851
  selectedIndex: this.selectedItem,
7617
- selectedContent: !isNullOrUndefined(this.content) ? select('#' + CLS_CONTENT$1 + '_' + this.selectedID, this.content) : null,
7852
+ selectedContent: !isNullOrUndefined(this.content) ?
7853
+ select('#' + CLS_CONTENT$1 + this.tabId + '_' + this.selectedID, this.content) : null,
7618
7854
  selectingItem: trg,
7619
7855
  selectingIndex: args,
7620
- selectingContent: !isNullOrUndefined(this.content) ? select('#' + CLS_CONTENT$1 + '_' + this.selectingID, this.content) : null,
7856
+ selectingContent: !isNullOrUndefined(this.content) ?
7857
+ select('#' + CLS_CONTENT$1 + this.tabId + '_' + this.selectingID, this.content) : null,
7621
7858
  isSwiped: this.isSwipeed,
7622
7859
  cancel: false
7623
7860
  };
@@ -7815,12 +8052,12 @@ Tab = __decorate$7([
7815
8052
  * Tab modules
7816
8053
  */
7817
8054
 
7818
- var __decorate$8 = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
7819
- var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
7820
- if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
7821
- else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
7822
- return c > 3 && r && Object.defineProperty(target, key, r), r;
7823
- };
8055
+ var __decorate$8 = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
8056
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
8057
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
8058
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
8059
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
8060
+ };
7824
8061
  var TreeView_1;
7825
8062
  const ROOT = 'e-treeview';
7826
8063
  const CONTROL = 'e-control';
@@ -7970,6 +8207,7 @@ let TreeView = TreeView_1 = class TreeView extends Component {
7970
8207
  this.disableNode = [];
7971
8208
  this.parentNodeCheck = [];
7972
8209
  this.expandChildren = [];
8210
+ this.isFieldChange = false;
7973
8211
  this.mouseDownStatus = false;
7974
8212
  }
7975
8213
  /**
@@ -8340,13 +8578,13 @@ let TreeView = TreeView_1 = class TreeView extends Component {
8340
8578
  let childCheckedElement;
8341
8579
  for (let i = 0; i < indeterminate.length; i++) {
8342
8580
  let node = closest(indeterminate[i], '.' + LISTITEM);
8343
- let parentData = this.getTreeData(node);
8344
- let id = parentData[0][this.fields.id].toString();
8581
+ let nodeId = node.getAttribute('data-uid').toString();
8345
8582
  if (this.dataType === 1) {
8346
- childCheckedElement = this.getChildNodes(this.treeData, id);
8583
+ childCheckedElement = new DataManager(this.treeData).
8584
+ executeLocal(new Query().where(this.fields.parentID, 'equal', nodeId, true));
8347
8585
  }
8348
8586
  else {
8349
- childCheckedElement = getValue(this.fields.child.toString(), parentData[0]);
8587
+ childCheckedElement = this.getChildNodes(this.treeData, nodeId);
8350
8588
  }
8351
8589
  let count = 0;
8352
8590
  if (childCheckedElement) {
@@ -9011,7 +9249,8 @@ let TreeView = TreeView_1 = class TreeView extends Component {
9011
9249
  let eUids = this.expandedNodes;
9012
9250
  if (this.isInitalExpand && eUids.length > 0) {
9013
9251
  this.setProperties({ expandedNodes: [] }, true);
9014
- if (this.fields.dataSource instanceof DataManager) {
9252
+ // tslint:disable
9253
+ if (this.fields.dataSource instanceof DataManager && (this.fields.dataSource.adaptorName !== 'BlazorAdaptor')) {
9015
9254
  this.expandGivenNodes(eUids);
9016
9255
  }
9017
9256
  else {
@@ -9067,11 +9306,13 @@ let TreeView = TreeView_1 = class TreeView extends Component {
9067
9306
  afterFinalized() {
9068
9307
  this.doSelectionAction();
9069
9308
  this.updateCheckedProp();
9070
- this.isLoaded = true;
9071
9309
  this.isAnimate = true;
9072
9310
  this.isInitalExpand = false;
9073
- let eventArgs = { data: this.treeData };
9074
- this.trigger('dataBound', eventArgs);
9311
+ if (!this.isLoaded || this.isFieldChange) {
9312
+ let eventArgs = { data: this.treeData };
9313
+ this.trigger('dataBound', eventArgs);
9314
+ }
9315
+ this.isLoaded = true;
9075
9316
  }
9076
9317
  doSelectionAction() {
9077
9318
  let sNodes = selectAll('.' + SELECTED$1, this.element);
@@ -9235,7 +9476,12 @@ let TreeView = TreeView_1 = class TreeView extends Component {
9235
9476
  removeClass([liEle], NODECOLLAPSED);
9236
9477
  let id = liEle.getAttribute('data-uid');
9237
9478
  if (!isNullOrUndefined(id) && this.expandedNodes.indexOf(id) === -1) {
9238
- this.expandedNodes.push(id);
9479
+ if (this.isBlazorPlatform) {
9480
+ this.setProperties({ expandedNodes: [].concat([], this.expandedNodes, [id]) }, true);
9481
+ }
9482
+ else {
9483
+ this.expandedNodes.push(id);
9484
+ }
9239
9485
  }
9240
9486
  }
9241
9487
  collapseNode(currLi, icon, e) {
@@ -9318,7 +9564,14 @@ let TreeView = TreeView_1 = class TreeView extends Component {
9318
9564
  }
9319
9565
  let index = this.expandedNodes.indexOf(liEle.getAttribute('data-uid'));
9320
9566
  if (index > -1) {
9321
- this.expandedNodes.splice(index, 1);
9567
+ if (this.isBlazorPlatform) {
9568
+ let removeVal = this.expandedNodes.slice(0);
9569
+ removeVal.splice(index, 1);
9570
+ this.setProperties({ expandedNodes: [].concat([], removeVal) }, true);
9571
+ }
9572
+ else {
9573
+ this.expandedNodes.splice(index, 1);
9574
+ }
9322
9575
  }
9323
9576
  }
9324
9577
  disableExpandAttr(liEle) {
@@ -9367,6 +9620,9 @@ let TreeView = TreeView_1 = class TreeView extends Component {
9367
9620
  mapper.dataSource.executeQuery(this.getQuery(mapper, parentLi.getAttribute('data-uid'))).then((e) => {
9368
9621
  this.treeList.pop();
9369
9622
  childItems = e.result;
9623
+ if (this.dataType === 1) {
9624
+ this.dataType = 2;
9625
+ }
9370
9626
  this.loadChild(childItems, mapper, eicon, parentLi, expandChild, callback, loaded);
9371
9627
  if (this.nodeTemplate && this.isBlazorPlatform && !this.isStringTemplate) {
9372
9628
  this.updateBlazorTemplate();
@@ -10300,6 +10556,7 @@ let TreeView = TreeView_1 = class TreeView extends Component {
10300
10556
  }
10301
10557
  this.setTouchClass();
10302
10558
  this.setProperties({ selectedNodes: [], checkedNodes: [], expandedNodes: [] }, true);
10559
+ this.checkedElement = [];
10303
10560
  this.isLoaded = false;
10304
10561
  this.setDataBinding();
10305
10562
  }
@@ -10377,14 +10634,14 @@ let TreeView = TreeView_1 = class TreeView extends Component {
10377
10634
  newText = observedArgs.cancel ? observedArgs.oldText : observedArgs.newText;
10378
10635
  let newData = setValue(this.editFields.text, newText, this.editData);
10379
10636
  if (!isNullOrUndefined(this.nodeTemplateFn)) {
10380
- txtEle.innerHTML = '';
10637
+ txtEle.innerText = '';
10381
10638
  let tempArr = this.nodeTemplateFn(newData, undefined, undefined, this.element.id + 'nodeTemplate', this.isStringTemplate);
10382
10639
  tempArr = Array.prototype.slice.call(tempArr);
10383
10640
  append(tempArr, txtEle);
10384
10641
  this.updateBlazorTemplate();
10385
10642
  }
10386
10643
  else {
10387
- txtEle.innerHTML = newText;
10644
+ txtEle.innerText = newText;
10388
10645
  }
10389
10646
  if (isInput) {
10390
10647
  removeClass([liEle], EDITING);
@@ -10527,24 +10784,27 @@ let TreeView = TreeView_1 = class TreeView extends Component {
10527
10784
  }
10528
10785
  let eventArgs = this.getDragEvent(e.event, this, null, e.target, null, virtualEle, level);
10529
10786
  if (eventArgs.draggedNode.classList.contains(EDITING)) {
10787
+ this.dragObj.intDestroy(e.event);
10530
10788
  this.dragCancelAction(virtualEle);
10531
10789
  }
10532
10790
  else {
10533
10791
  this.trigger('nodeDragStart', eventArgs, (observedArgs) => {
10534
10792
  if (observedArgs.cancel) {
10793
+ this.dragObj.intDestroy(e.event);
10535
10794
  this.dragCancelAction(virtualEle);
10536
10795
  }
10537
10796
  else {
10538
10797
  this.dragStartAction = true;
10539
10798
  }
10799
+ if (isBlazor()) {
10800
+ e.bindEvents(getElement(e.dragElement));
10801
+ }
10540
10802
  });
10541
10803
  }
10542
10804
  },
10543
10805
  drag: (e) => {
10544
- if ((this.isBlazorPlatform && this.dragStartAction) || !this.isBlazorPlatform) {
10545
- this.dragObj.setProperties({ cursorAt: { top: (!isNullOrUndefined(e.event.targetTouches) || Browser.isDevice) ? 60 : -20 } });
10546
- this.dragAction(e, virtualEle);
10547
- }
10806
+ this.dragObj.setProperties({ cursorAt: { top: (!isNullOrUndefined(e.event.targetTouches) || Browser.isDevice) ? 60 : -20 } });
10807
+ this.dragAction(e, virtualEle);
10548
10808
  },
10549
10809
  dragStop: (e) => {
10550
10810
  removeClass([this.element], DRAGGING);
@@ -10610,15 +10870,18 @@ let TreeView = TreeView_1 = class TreeView extends Component {
10610
10870
  }
10611
10871
  if (dropRoot) {
10612
10872
  let dropLi = closest(e.target, '.' + LISTITEM);
10873
+ let checkWrapper = closest(e.target, '.' + CHECKBOXWRAP);
10874
+ let collapse = closest(e.target, '.' + COLLAPSIBLE);
10875
+ let expand = closest(e.target, '.' + EXPANDABLE);
10613
10876
  if (!dropRoot.classList.contains(ROOT) || (dropWrap &&
10614
10877
  (!dropLi.isSameNode(this.dragLi) && !this.isDescendant(this.dragLi, dropLi)))) {
10615
- if (dropLi && e && (e.event.offsetY < 7)) {
10878
+ if ((dropLi && e && (!expand && !collapse) && (e.event.offsetY < 7) && !checkWrapper) || (((expand && e.event.offsetY < 5) || (collapse && e.event.offsetX < 3)))) {
10616
10879
  addClass([icon], DROPNEXT);
10617
10880
  let virEle = this.createElement('div', { className: SIBLING });
10618
10881
  let index = this.fullRowSelect ? (1) : (0);
10619
10882
  dropLi.insertBefore(virEle, dropLi.children[index]);
10620
10883
  }
10621
- else if (dropLi && e && (e.target.offsetHeight > 0 && e.event.offsetY > (e.target.offsetHeight - 10))) {
10884
+ else if ((dropLi && e && (!expand && !collapse) && (e.target.offsetHeight > 0 && e.event.offsetY > (e.target.offsetHeight - 10)) && !checkWrapper) || (((expand && e.event.offsetY > 19) || (collapse && e.event.offsetX > 19)))) {
10622
10885
  addClass([icon], DROPNEXT);
10623
10886
  let virEle = this.createElement('div', { className: SIBLING });
10624
10887
  let index = this.fullRowSelect ? (2) : (1);
@@ -10717,7 +10980,10 @@ let TreeView = TreeView_1 = class TreeView extends Component {
10717
10980
  this.triggerEvent();
10718
10981
  }
10719
10982
  appendNode(dropTarget, dragLi, dropLi, e, dragObj, offsetY) {
10720
- if (!dragLi.classList.contains('e-disable') && !dropLi.classList.contains('e-disable')) {
10983
+ let checkWrapper = closest(dropTarget, '.' + CHECKBOXWRAP);
10984
+ let collapse = closest(e.target, '.' + COLLAPSIBLE);
10985
+ let expand = closest(e.target, '.' + EXPANDABLE);
10986
+ if (!dragLi.classList.contains('e-disable') && !checkWrapper && ((expand && e.event.offsetY < 5) || (collapse && e.event.offsetX < 3) || (expand && e.event.offsetY > 19) || (collapse && e.event.offsetX > 19) || (!expand && !collapse))) {
10721
10987
  if (dropTarget.nodeName === 'LI') {
10722
10988
  this.dropAsSiblingNode(dragLi, dropLi, e, dragObj);
10723
10989
  }
@@ -10726,10 +10992,16 @@ let TreeView = TreeView_1 = class TreeView extends Component {
10726
10992
  this.dropAsSiblingNode(dragLi, dropLi, e, dragObj);
10727
10993
  }
10728
10994
  }
10995
+ else if ((dropTarget.classList.contains('e-icon-collapsible')) || (dropTarget.classList.contains('e-icon-expandable'))) {
10996
+ this.dropAsSiblingNode(dragLi, dropLi, e, dragObj);
10997
+ }
10729
10998
  else {
10730
10999
  this.dropAsChildNode(dragLi, dropLi, dragObj, null, e, offsetY);
10731
11000
  }
10732
11001
  }
11002
+ else {
11003
+ this.dropAsChildNode(dragLi, dropLi, dragObj, null, e, offsetY, true);
11004
+ }
10733
11005
  }
10734
11006
  dropAsSiblingNode(dragLi, dropLi, e, dragObj) {
10735
11007
  let dropUl = closest(dropLi, '.' + PARENTITEM);
@@ -10742,7 +11014,21 @@ let TreeView = TreeView_1 = class TreeView extends Component {
10742
11014
  else if (e.event.offsetY < 2) {
10743
11015
  pre = true;
10744
11016
  }
10745
- dropUl.insertBefore(dragLi, pre ? e.target : e.target.nextElementSibling);
11017
+ else if (e.target.classList.contains('e-icon-expandable') || (e.target.classList.contains('e-icon-collapsible'))) {
11018
+ if ((e.event.offsetY < 5) || (e.event.offsetX < 3)) {
11019
+ pre = true;
11020
+ }
11021
+ else if ((e.event.offsetY > 15) || (e.event.offsetX > 17)) {
11022
+ pre = false;
11023
+ }
11024
+ }
11025
+ if ((e.target.classList.contains('e-icon-expandable')) || (e.target.classList.contains('e-icon-collapsible'))) {
11026
+ var target = e.target.closest('li');
11027
+ dropUl.insertBefore(dragLi, pre ? target : target.nextElementSibling);
11028
+ }
11029
+ else {
11030
+ dropUl.insertBefore(dragLi, pre ? e.target : e.target.nextElementSibling);
11031
+ }
10746
11032
  this.moveData(dragLi, dropLi, dropUl, pre, dragObj);
10747
11033
  this.updateElement(dragParentUl, dragParentLi);
10748
11034
  this.updateAriaLevel(dragLi);
@@ -10754,15 +11040,15 @@ let TreeView = TreeView_1 = class TreeView extends Component {
10754
11040
  this.updateInstance();
10755
11041
  }
10756
11042
  }
10757
- dropAsChildNode(dragLi, dropLi, dragObj, index, e, pos) {
11043
+ dropAsChildNode(dragLi, dropLi, dragObj, index, e, pos, isCheck) {
10758
11044
  let dragParentUl = closest(dragLi, '.' + PARENTITEM);
10759
11045
  let dragParentLi = closest(dragParentUl, '.' + LISTITEM);
10760
11046
  let dropParentUl = closest(dropLi, '.' + PARENTITEM);
10761
- if (e && (pos < 7)) {
11047
+ if (e && (pos < 7) && !isCheck) {
10762
11048
  dropParentUl.insertBefore(dragLi, dropLi);
10763
11049
  this.moveData(dragLi, dropLi, dropParentUl, true, dragObj);
10764
11050
  }
10765
- else if (e && (e.target.offsetHeight > 0 && pos > (e.target.offsetHeight - 10))) {
11051
+ else if (e && (e.target.offsetHeight > 0 && pos > (e.target.offsetHeight - 10)) && !isCheck) {
10766
11052
  dropParentUl.insertBefore(dragLi, dropLi.nextElementSibling);
10767
11053
  this.moveData(dragLi, dropLi, dropParentUl, false, dragObj);
10768
11054
  }
@@ -11661,6 +11947,7 @@ let TreeView = TreeView_1 = class TreeView extends Component {
11661
11947
  * @returns void
11662
11948
  * @private
11663
11949
  */
11950
+ // tslint:disable-next-line:max-func-body-length
11664
11951
  onPropertyChanged(newProp, oldProp) {
11665
11952
  for (let prop of Object.keys(newProp)) {
11666
11953
  switch (prop) {
@@ -11701,10 +11988,14 @@ let TreeView = TreeView_1 = class TreeView extends Component {
11701
11988
  break;
11702
11989
  case 'expandedNodes':
11703
11990
  this.isAnimate = false;
11704
- this.setProperties({ expandedNodes: [] }, true);
11991
+ if (!this.isBlazorPlatform) {
11992
+ this.setProperties({ expandedNodes: [] }, true);
11993
+ }
11705
11994
  this.collapseAll();
11706
11995
  this.isInitalExpand = true;
11707
- this.setProperties({ expandedNodes: isNullOrUndefined(newProp.expandedNodes) ? [] : newProp.expandedNodes }, true);
11996
+ if (!this.isBlazorPlatform) {
11997
+ this.setProperties({ expandedNodes: isNullOrUndefined(newProp.expandedNodes) ? [] : newProp.expandedNodes }, true);
11998
+ }
11708
11999
  this.doExpandAction();
11709
12000
  this.isInitalExpand = false;
11710
12001
  this.isAnimate = true;
@@ -11718,11 +12009,13 @@ let TreeView = TreeView_1 = class TreeView extends Component {
11718
12009
  break;
11719
12010
  case 'fields':
11720
12011
  this.isAnimate = false;
12012
+ this.isFieldChange = true;
11721
12013
  this.initialRender = true;
11722
12014
  this.updateListProp(this.fields);
11723
12015
  this.reRenderNodes();
11724
12016
  this.initialRender = false;
11725
12017
  this.isAnimate = true;
12018
+ this.isFieldChange = false;
11726
12019
  break;
11727
12020
  case 'fullRowSelect':
11728
12021
  this.setFullRow(this.fullRowSelect);
@@ -11771,7 +12064,9 @@ let TreeView = TreeView_1 = class TreeView extends Component {
11771
12064
  this.setCssClass(this.cssClass, null);
11772
12065
  this.setDragAndDrop(false);
11773
12066
  this.setFullRow(false);
11774
- this.element.innerHTML = '';
12067
+ if (this.ulElement && this.ulElement.parentElement) {
12068
+ this.ulElement.parentElement.removeChild(this.ulElement);
12069
+ }
11775
12070
  super.destroy();
11776
12071
  }
11777
12072
  /**
@@ -11789,7 +12084,7 @@ let TreeView = TreeView_1 = class TreeView extends Component {
11789
12084
  nodes = JSON.parse(JSON.stringify(nodes));
11790
12085
  let dropLi = this.getElement(target);
11791
12086
  this.preventExpand = preventTargetExpand;
11792
- if (this.fields.dataSource instanceof DataManager) {
12087
+ if (this.fields.dataSource instanceof DataManager && (this.fields.dataSource.adaptorName !== 'BlazorAdaptor')) {
11793
12088
  let dropUl;
11794
12089
  let icon = dropLi ? dropLi.querySelector('.' + ICON) : null;
11795
12090
  let proxy = this;
@@ -11826,7 +12121,7 @@ let TreeView = TreeView_1 = class TreeView extends Component {
11826
12121
  if (this.showCheckBox && dropLi) {
11827
12122
  this.ensureParentCheckState(dropLi);
11828
12123
  }
11829
- if (this.fields.dataSource instanceof DataManager === false) {
12124
+ if ((this.fields.dataSource instanceof DataManager === false) || (this.fields.dataSource instanceof DataManager) && (this.fields.dataSource.adaptorName === 'BlazorAdaptor')) {
11830
12125
  this.preventExpand = false;
11831
12126
  this.triggerEvent();
11832
12127
  }
@@ -11933,50 +12228,12 @@ let TreeView = TreeView_1 = class TreeView extends Component {
11933
12228
  */
11934
12229
  getAllCheckedNodes() {
11935
12230
  let checkNodes = this.checkedNodes;
11936
- let newCheck = [];
11937
- let i = 0;
11938
- let id = this.fields.id;
11939
- for (i; i < this.treeData.length; i++) {
11940
- //Checks if isChecked is enabled while node is not loaded in DOM
11941
- let checked = null;
11942
- let childNode = null;
11943
- let isLoaded = this.element.querySelector('[data-uid="' + this.treeData[i][id].toString() + '"]');
11944
- if (isLoaded && isLoaded.querySelector('.e-list-item') === null) {
11945
- //Checks if isChecked is enabled for parent
11946
- if (this.getTreeData()[i][this.fields.isChecked] === true
11947
- && this.checkedElement.indexOf(this.getTreeData()[i][id].toString()) === -1) {
11948
- newCheck.push(this.treeData[i][id].toString());
11949
- checked = 2;
11950
- }
11951
- //Checks for child nodes with isChecked enabled
11952
- if (checked !== 2) {
11953
- checked = 1;
11954
- }
11955
- childNode = this.getChildNodes(this.getTreeData(), this.getTreeData()[i][id].toString());
11956
- (childNode !== null && this.autoCheck) ? this.allCheckNode(childNode, newCheck, checked) : childNode = null;
11957
- }
11958
- }
11959
- i = 0;
11960
- //Gets checked nodes based on UI interaction
11961
- while (i < checkNodes.length) {
11962
- if (newCheck.indexOf(checkNodes[i]) !== -1) {
11963
- i++;
11964
- continue;
11965
- }
11966
- newCheck.push(checkNodes[i]);
11967
- //Gets all child which is not loaded while parent is checked
11968
- let parentNode = this.element.querySelector('[data-uid="' + checkNodes[i] + '"]');
11969
- if (parentNode && parentNode.querySelector('.e-list-item') === null) {
11970
- let child = this.getChildNodes(this.treeData, checkNodes[i].toString());
11971
- (child && this.autoCheck) ? this.allCheckNode(child, newCheck) : child = null;
11972
- }
11973
- i++;
11974
- }
11975
- return newCheck;
12231
+ return checkNodes;
11976
12232
  }
11977
12233
  /**
11978
12234
  * Get the node's data such as id, text, parentID, selected, isChecked, and expanded by passing the node element or it's ID.
11979
12235
  * @param {string | Element} node - Specifies ID of TreeView node/TreeView node.
12236
+ * @BlazorType NodeData
11980
12237
  */
11981
12238
  getNode(node) {
11982
12239
  let ele = this.getElement(node);
@@ -12201,12 +12458,12 @@ TreeView = TreeView_1 = __decorate$8([
12201
12458
  * TreeView modules
12202
12459
  */
12203
12460
 
12204
- var __decorate$9 = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
12205
- var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
12206
- if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
12207
- else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
12208
- return c > 3 && r && Object.defineProperty(target, key, r), r;
12209
- };
12461
+ var __decorate$9 = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
12462
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
12463
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
12464
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
12465
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
12466
+ };
12210
12467
  const CONTROL$1 = 'e-control';
12211
12468
  const ROOT$1 = 'e-sidebar';
12212
12469
  const DOCKER = 'e-dock';
@@ -12871,5 +13128,5 @@ Sidebar = __decorate$9([
12871
13128
  * Navigation all modules
12872
13129
  */
12873
13130
 
12874
- export { MenuAnimationSettings, HScroll, VScroll, Item, Toolbar, AccordionActionSettings, AccordionAnimationSettings, AccordionItem, Accordion, ContextMenu, Menu, TabActionSettings, TabAnimationSettings, Header, TabItem, Tab, FieldsSettings, ActionSettings, NodeAnimationSettings, TreeView, Sidebar };
13131
+ export { MenuAnimationSettings, MenuItem, HScroll, VScroll, Item, Toolbar, AccordionActionSettings, AccordionAnimationSettings, AccordionItem, Accordion, ContextMenu, Menu, TabActionSettings, TabAnimationSettings, Header, TabItem, Tab, FieldsSettings, ActionSettings, NodeAnimationSettings, TreeView, Sidebar };
12875
13132
  //# sourceMappingURL=ej2-navigations.es2015.js.map