@oracle/oraclejet 15.0.4 → 15.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (827) hide show
  1. package/README.md +4 -4
  2. package/THIRDPARTYLICENSE.txt +8 -8
  3. package/dist/css/alta/oj-alta-min.css +1 -1
  4. package/dist/css/alta/oj-alta-notag-min.css +1 -1
  5. package/dist/css/alta/oj-alta-notag.css +1 -1
  6. package/dist/css/alta/oj-alta.css +1 -1
  7. package/dist/css/alta-android/oj-alta-min.css +1 -1
  8. package/dist/css/alta-android/oj-alta.css +1 -1
  9. package/dist/css/alta-ios/oj-alta-min.css +1 -1
  10. package/dist/css/alta-ios/oj-alta.css +1 -1
  11. package/dist/css/alta-windows/oj-alta-min.css +1 -1
  12. package/dist/css/alta-windows/oj-alta.css +1 -1
  13. package/dist/css/redwood/oj-redwood-min.css +1 -1
  14. package/dist/css/redwood/oj-redwood-notag-min.css +1 -1
  15. package/dist/css/redwood/oj-redwood-notag.css +17 -1
  16. package/dist/css/redwood/oj-redwood.css +17 -1
  17. package/dist/css/stable/oj-stable-min.css +1 -1
  18. package/dist/css/stable/oj-stable.css +17 -1
  19. package/dist/custom-tsc/metadataTransformer.js +2 -2
  20. package/dist/custom-tsc/metadataTransformer.js.map +1 -1
  21. package/dist/custom-tsc/utils/MetadataEventUtils.js +22 -8
  22. package/dist/custom-tsc/utils/MetadataEventUtils.js.map +1 -1
  23. package/dist/custom-tsc/utils/MetadataPropertyUtils.js +2 -2
  24. package/dist/custom-tsc/utils/MetadataPropertyUtils.js.map +1 -1
  25. package/dist/custom-tsc/utils/MetadataTypeUtils.d.ts +1 -1
  26. package/dist/custom-tsc/utils/MetadataTypeUtils.js +19 -9
  27. package/dist/custom-tsc/utils/MetadataTypeUtils.js.map +1 -1
  28. package/dist/custom-tsc/utils/MetadataTypes.d.ts +8 -0
  29. package/dist/custom-tsc/utils/MetadataTypes.js.map +1 -1
  30. package/dist/custom-tsc/utils/MetadataUtils.d.ts +1 -1
  31. package/dist/custom-tsc/utils/MetadataUtils.js +18 -16
  32. package/dist/custom-tsc/utils/MetadataUtils.js.map +1 -1
  33. package/dist/icu-l10n/package.json +2 -3
  34. package/dist/js/libs/oj/debug/ojbundletransform.js +81 -4
  35. package/dist/js/libs/oj/debug/ojchart-toolkit.js +85 -38
  36. package/dist/js/libs/oj/debug/ojchart.js +81 -10
  37. package/dist/js/libs/oj/debug/ojcore-base.js +2 -2
  38. package/dist/js/libs/oj/debug/ojdatagrid.js +2109 -127
  39. package/dist/js/libs/oj/debug/ojdataproviderscroller.js +11 -1
  40. package/dist/js/libs/oj/debug/ojdiagram-toolkit.js +7 -6
  41. package/dist/js/libs/oj/debug/ojdiagram.js +1 -1
  42. package/dist/js/libs/oj/debug/ojdrawerpopup.js +11 -1
  43. package/dist/js/libs/oj/debug/ojdvt-base.js +3 -0
  44. package/dist/js/libs/oj/debug/ojdvt-timecomponent.js +10 -4
  45. package/dist/js/libs/oj/debug/ojdvt-treeview.js +6 -1
  46. package/dist/js/libs/oj/debug/ojgantt-toolkit.js +130 -49
  47. package/dist/js/libs/oj/debug/ojknockout.js +26 -20
  48. package/dist/js/libs/oj/debug/ojlegend-toolkit.js +12 -2
  49. package/dist/js/libs/oj/debug/ojlegend.js +46 -21
  50. package/dist/js/libs/oj/debug/ojmonitoring.js +36 -0
  51. package/dist/js/libs/oj/debug/ojnavigationlist.js +1 -0
  52. package/dist/js/libs/oj/debug/ojrestdataprovider.js +10 -4
  53. package/dist/js/libs/oj/debug/ojtable.js +75 -52
  54. package/dist/js/libs/oj/debug/ojtagcloud.js +57 -0
  55. package/dist/js/libs/oj/debug/ojtimeline-toolkit.js +4 -0
  56. package/dist/js/libs/oj/debug/ojtoolbar.js +26 -23
  57. package/dist/js/libs/oj/debug/ojtreeview.js +1 -3
  58. package/dist/js/libs/oj/debug/ojvcomponent-template.js +8 -7
  59. package/dist/js/libs/oj/debug_esm/ojbundletransform.js +81 -4
  60. package/dist/js/libs/oj/debug_esm/ojchart-toolkit.js +85 -38
  61. package/dist/js/libs/oj/debug_esm/ojchart.js +81 -10
  62. package/dist/js/libs/oj/debug_esm/ojcore-base.js +2 -2
  63. package/dist/js/libs/oj/debug_esm/ojdatagrid.js +2109 -127
  64. package/dist/js/libs/oj/debug_esm/ojdataproviderscroller.js +11 -1
  65. package/dist/js/libs/oj/debug_esm/ojdiagram-toolkit.js +7 -6
  66. package/dist/js/libs/oj/debug_esm/ojdiagram.js +1 -1
  67. package/dist/js/libs/oj/debug_esm/ojdrawerpopup.js +11 -1
  68. package/dist/js/libs/oj/debug_esm/ojdvt-base.js +3 -0
  69. package/dist/js/libs/oj/debug_esm/ojdvt-timecomponent.js +10 -4
  70. package/dist/js/libs/oj/debug_esm/ojdvt-treeview.js +6 -1
  71. package/dist/js/libs/oj/debug_esm/ojgantt-toolkit.js +130 -49
  72. package/dist/js/libs/oj/debug_esm/ojknockout.js +26 -19
  73. package/dist/js/libs/oj/debug_esm/ojlegend-toolkit.js +12 -2
  74. package/dist/js/libs/oj/debug_esm/ojlegend.js +46 -21
  75. package/dist/js/libs/oj/debug_esm/ojmonitoring.js +28 -0
  76. package/dist/js/libs/oj/debug_esm/ojnavigationlist.js +1 -0
  77. package/dist/js/libs/oj/debug_esm/ojrestdataprovider.js +10 -4
  78. package/dist/js/libs/oj/debug_esm/ojtable.js +75 -52
  79. package/dist/js/libs/oj/debug_esm/ojtagcloud.js +57 -0
  80. package/dist/js/libs/oj/debug_esm/ojtimeline-toolkit.js +4 -0
  81. package/dist/js/libs/oj/debug_esm/ojtoolbar.js +26 -23
  82. package/dist/js/libs/oj/debug_esm/ojtreeview.js +1 -3
  83. package/dist/js/libs/oj/debug_esm/ojvcomponent-template.js +8 -6
  84. package/dist/js/libs/oj/main-template.js +3 -3
  85. package/dist/js/libs/oj/min/ojbundletransform.js +1 -1
  86. package/dist/js/libs/oj/min/ojbundletransform.js.map +1 -1
  87. package/dist/js/libs/oj/min/ojchart-toolkit.js +1 -1
  88. package/dist/js/libs/oj/min/ojchart-toolkit.js.map +1 -1
  89. package/dist/js/libs/oj/min/ojchart.js +1 -1
  90. package/dist/js/libs/oj/min/ojchart.js.map +1 -1
  91. package/dist/js/libs/oj/min/ojcore-base.js +1 -1
  92. package/dist/js/libs/oj/min/ojdatagrid.js +1 -1
  93. package/dist/js/libs/oj/min/ojdatagrid.js.map +1 -1
  94. package/dist/js/libs/oj/min/ojdataproviderscroller.js +1 -1
  95. package/dist/js/libs/oj/min/ojdataproviderscroller.js.map +1 -1
  96. package/dist/js/libs/oj/min/ojdiagram-toolkit.js +1 -1
  97. package/dist/js/libs/oj/min/ojdiagram-toolkit.js.map +1 -1
  98. package/dist/js/libs/oj/min/ojdrawerpopup.js +1 -1
  99. package/dist/js/libs/oj/min/ojdrawerpopup.js.map +1 -1
  100. package/dist/js/libs/oj/min/ojdvt-base.js +1 -1
  101. package/dist/js/libs/oj/min/ojdvt-base.js.map +1 -1
  102. package/dist/js/libs/oj/min/ojdvt-timecomponent.js +1 -1
  103. package/dist/js/libs/oj/min/ojdvt-timecomponent.js.map +1 -1
  104. package/dist/js/libs/oj/min/ojdvt-treeview.js +1 -1
  105. package/dist/js/libs/oj/min/ojdvt-treeview.js.map +1 -1
  106. package/dist/js/libs/oj/min/ojgantt-toolkit.js +1 -1
  107. package/dist/js/libs/oj/min/ojgantt-toolkit.js.map +1 -1
  108. package/dist/js/libs/oj/min/ojknockout.js +2 -2
  109. package/dist/js/libs/oj/min/ojknockout.js.map +1 -1
  110. package/dist/js/libs/oj/min/ojlegend-toolkit.js +1 -1
  111. package/dist/js/libs/oj/min/ojlegend-toolkit.js.map +1 -1
  112. package/dist/js/libs/oj/min/ojlegend.js +1 -1
  113. package/dist/js/libs/oj/min/ojlegend.js.map +1 -1
  114. package/dist/js/libs/oj/min/ojmonitoring.js +9 -0
  115. package/dist/js/libs/oj/min/ojmonitoring.js.map +1 -0
  116. package/dist/js/libs/oj/min/ojnavigationlist.js.map +1 -1
  117. package/dist/js/libs/oj/min/ojrestdataprovider.js +1 -1
  118. package/dist/js/libs/oj/min/ojrestdataprovider.js.map +1 -1
  119. package/dist/js/libs/oj/min/ojtable.js +1 -1
  120. package/dist/js/libs/oj/min/ojtable.js.map +1 -1
  121. package/dist/js/libs/oj/min/ojtagcloud.js.map +1 -1
  122. package/dist/js/libs/oj/min/ojtimeline-toolkit.js +1 -1
  123. package/dist/js/libs/oj/min/ojtimeline-toolkit.js.map +1 -1
  124. package/dist/js/libs/oj/min/ojtoolbar.js +1 -1
  125. package/dist/js/libs/oj/min/ojtoolbar.js.map +1 -1
  126. package/dist/js/libs/oj/min/ojtreeview.js +1 -1
  127. package/dist/js/libs/oj/min/ojtreeview.js.map +1 -1
  128. package/dist/js/libs/oj/min/ojvcomponent-template.js +1 -1
  129. package/dist/js/libs/oj/min/ojvcomponent-template.js.map +1 -1
  130. package/dist/js/libs/oj/resources/nls/ar/ojtranslations.js +1 -1
  131. package/dist/js/libs/oj/resources/nls/ar-XB/ojtranslations.js +1 -1
  132. package/dist/js/libs/oj/resources/nls/bg/ojtranslations.js +1 -1
  133. package/dist/js/libs/oj/resources/nls/bs/ojtranslations.js +1 -1
  134. package/dist/js/libs/oj/resources/nls/bs-Cyrl/ojtranslations.js +1 -1
  135. package/dist/js/libs/oj/resources/nls/cs/ojtranslations.js +1 -1
  136. package/dist/js/libs/oj/resources/nls/da/ojtranslations.js +1 -1
  137. package/dist/js/libs/oj/resources/nls/de/ojtranslations.js +1 -1
  138. package/dist/js/libs/oj/resources/nls/el/ojtranslations.js +1 -1
  139. package/dist/js/libs/oj/resources/nls/en-XA/ojtranslations.js +1 -1
  140. package/dist/js/libs/oj/resources/nls/en-XC/ojtranslations.js +1 -1
  141. package/dist/js/libs/oj/resources/nls/es/ojtranslations.js +1 -1
  142. package/dist/js/libs/oj/resources/nls/et/ojtranslations.js +1 -1
  143. package/dist/js/libs/oj/resources/nls/fi/ojtranslations.js +1 -1
  144. package/dist/js/libs/oj/resources/nls/fr/ojtranslations.js +1 -1
  145. package/dist/js/libs/oj/resources/nls/fr-CA/ojtranslations.js +1 -1
  146. package/dist/js/libs/oj/resources/nls/he/ojtranslations.js +1 -1
  147. package/dist/js/libs/oj/resources/nls/hr/ojtranslations.js +1 -1
  148. package/dist/js/libs/oj/resources/nls/hu/ojtranslations.js +1 -1
  149. package/dist/js/libs/oj/resources/nls/is/ojtranslations.js +1 -1
  150. package/dist/js/libs/oj/resources/nls/it/ojtranslations.js +1 -1
  151. package/dist/js/libs/oj/resources/nls/ja/ojtranslations.js +1 -1
  152. package/dist/js/libs/oj/resources/nls/ko/ojtranslations.js +1 -1
  153. package/dist/js/libs/oj/resources/nls/lt/ojtranslations.js +1 -1
  154. package/dist/js/libs/oj/resources/nls/lv/ojtranslations.js +1 -1
  155. package/dist/js/libs/oj/resources/nls/ms/ojtranslations.js +1 -1
  156. package/dist/js/libs/oj/resources/nls/nl/ojtranslations.js +1 -1
  157. package/dist/js/libs/oj/resources/nls/no/ojtranslations.js +1 -1
  158. package/dist/js/libs/oj/resources/nls/ojtranslations.js +1 -1
  159. package/dist/js/libs/oj/resources/nls/pl/ojtranslations.js +1 -1
  160. package/dist/js/libs/oj/resources/nls/pseudo/ojtranslations.js +1 -1
  161. package/dist/js/libs/oj/resources/nls/pt/ojtranslations.js +1 -1
  162. package/dist/js/libs/oj/resources/nls/pt-PT/ojtranslations.js +1 -1
  163. package/dist/js/libs/oj/resources/nls/ro/ojtranslations.js +1 -1
  164. package/dist/js/libs/oj/resources/nls/ru/ojtranslations.js +1 -1
  165. package/dist/js/libs/oj/resources/nls/sk/ojtranslations.js +1 -1
  166. package/dist/js/libs/oj/resources/nls/sl/ojtranslations.js +1 -1
  167. package/dist/js/libs/oj/resources/nls/sr/ojtranslations.js +1 -1
  168. package/dist/js/libs/oj/resources/nls/sr-Latn/ojtranslations.js +1 -1
  169. package/dist/js/libs/oj/resources/nls/sv/ojtranslations.js +1 -1
  170. package/dist/js/libs/oj/resources/nls/th/ojtranslations.js +1 -1
  171. package/dist/js/libs/oj/resources/nls/tr/ojtranslations.js +1 -1
  172. package/dist/js/libs/oj/resources/nls/uk/ojtranslations.js +1 -1
  173. package/dist/js/libs/oj/resources/nls/vi/ojtranslations.js +1 -1
  174. package/dist/js/libs/oj/resources/nls/zh-Hans/ojtranslations.js +1 -1
  175. package/dist/js/libs/oj/resources/nls/zh-Hant/ojtranslations.js +1 -1
  176. package/dist/metadata/components/allComponents.json +1142 -931
  177. package/dist/package-backup.json +3 -3
  178. package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/data-grid/themes/base/_oj-data-grid.scss +23 -0
  179. package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/helpers/themes/base/_oj-helpers.scss +1 -1
  180. package/dist/scss/common/helpers/_oj.common.helpers.scss +1 -1
  181. package/dist/types/ojchart/index.d.ts +12 -0
  182. package/dist/types/ojdatagrid/index.d.ts +15 -0
  183. package/dist/types/ojlegend/index.d.ts +16 -0
  184. package/dist/webpack-tools/4.x/webpack.config.js +3 -3
  185. package/dist/webpack-tools/webpack.config.js +3 -3
  186. package/package.json +4 -4
  187. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/accordion/themes/base/_oj-accordion.scss +0 -0
  188. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/accordion/themes/redwood/_oj-accordion.cssvars.scss +0 -0
  189. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/accordion/themes/redwood/oj-accordion.scss +0 -0
  190. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/accordion/themes/stable/_oj-accordion.cssvars.scss +0 -0
  191. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/accordion/themes/stable/oj-accordion.scss +0 -0
  192. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/action-card/themes/base/_oj-action-card.scss +0 -0
  193. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/action-card/themes/redwood/_oj-action-card.cssvars.scss +0 -0
  194. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/action-card/themes/redwood/oj-action-card.scss +0 -0
  195. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/action-card/themes/stable/_oj-action-card.cssvars.scss +0 -0
  196. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/action-card/themes/stable/oj-action-card.scss +0 -0
  197. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/all-components/themes/base/_oj.common.servervars.scss +0 -0
  198. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/all-components/themes/base/oj.common.settings.cssvariables.css +0 -0
  199. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/all-components/themes/redwood/_oj-all-components-common.scss +0 -0
  200. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/all-components/themes/redwood/_oj-all-components-notag.scss +0 -0
  201. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/all-components/themes/redwood/_oj-all-components.scss +0 -0
  202. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/all-components/themes/redwood/_oj.redwood.settings.scss +0 -0
  203. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/all-components/themes/redwood/oj.redwood.cssvars.settings.css +0 -0
  204. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/all-components/themes/stable/_oj-all-components-common.scss +0 -0
  205. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/all-components/themes/stable/_oj-all-components-notag.scss +0 -0
  206. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/all-components/themes/stable/_oj-all-components.scss +0 -0
  207. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/all-components/themes/stable/_oj.stable.settings.scss +0 -0
  208. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/all-components/themes/stable/oj.stable.cssvars.settings.css +0 -0
  209. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/animation/themes/base/_oj-animation.scss +0 -0
  210. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/animation/themes/redwood/_oj-animation.cssvars.scss +0 -0
  211. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/animation/themes/redwood/_oj-animation.servervars.scss +0 -0
  212. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/animation/themes/redwood/oj-animation.scss +0 -0
  213. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/animation/themes/stable/_oj-animation.cssvars.scss +0 -0
  214. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/animation/themes/stable/_oj-animation.servervars.scss +0 -0
  215. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/animation/themes/stable/oj-animation.scss +0 -0
  216. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/app-layout/themes/base/_oj-app-layout.scss +0 -0
  217. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/app-layout/themes/redwood/_oj-app-layout.cssvars.scss +0 -0
  218. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/app-layout/themes/redwood/_oj-app-layout.scss +0 -0
  219. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/app-layout/themes/stable/_oj-app-layout.cssvars.scss +0 -0
  220. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/app-layout/themes/stable/_oj-app-layout.scss +0 -0
  221. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/app-layout-hybrid/themes/base/_oj-app-layout-hybrid-ignore.scoped.cssvars.scss +0 -0
  222. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/app-layout-hybrid/themes/base/_oj-app-layout-hybrid.scss +0 -0
  223. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/app-layout-hybrid/themes/redwood/_oj-app-layout-hybrid.cssvars.scss +0 -0
  224. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/app-layout-hybrid/themes/redwood/oj-app-layout-hybrid.scss +0 -0
  225. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/app-layout-hybrid/themes/stable/_oj-app-layout-hybrid.cssvars.scss +0 -0
  226. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/app-layout-hybrid/themes/stable/oj-app-layout-hybrid.scss +0 -0
  227. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/app-layout-web/themes/base/_oj-app-layout-web.scss +0 -0
  228. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/app-layout-web/themes/redwood/_oj-app-layout-web.cssvars.scss +0 -0
  229. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/app-layout-web/themes/redwood/oj-app-layout-web.scss +0 -0
  230. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/app-layout-web/themes/stable/_oj-app-layout-web.cssvars.scss +0 -0
  231. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/app-layout-web/themes/stable/oj-app-layout-web.scss +0 -0
  232. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/avatar/themes/base/_oj-avatar.scss +0 -0
  233. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/avatar/themes/redwood/_oj-avatar-ignore.scoped.cssvars.scss +0 -0
  234. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/avatar/themes/redwood/_oj-avatar-scoped.cssvars.scss +0 -0
  235. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/avatar/themes/redwood/_oj-avatar.cssvars.scss +0 -0
  236. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/avatar/themes/redwood/oj-avatar.scss +0 -0
  237. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/avatar/themes/stable/_oj-avatar-scoped.cssvars.scss +0 -0
  238. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/avatar/themes/stable/_oj-avatar.cssvars.scss +0 -0
  239. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/avatar/themes/stable/oj-avatar.scss +0 -0
  240. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/badge/themes/base/_oj-badge.scss +0 -0
  241. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/badge/themes/redwood/_oj-badge-ignore.scoped.cssvars.scss +0 -0
  242. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/badge/themes/redwood/_oj-badge-scoped.cssvars.scss +0 -0
  243. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/badge/themes/redwood/_oj-badge.cssvars.scss +0 -0
  244. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/badge/themes/redwood/oj-badge.scss +0 -0
  245. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/badge/themes/stable/_oj-badge-scoped.cssvars.scss +0 -0
  246. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/badge/themes/stable/_oj-badge.cssvars.scss +0 -0
  247. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/badge/themes/stable/oj-badge.scss +0 -0
  248. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/button/themes/base/_oj-button.scss +0 -0
  249. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/button/themes/redwood/_oj-button-ignore.scoped.cssvars.scss +0 -0
  250. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/button/themes/redwood/_oj-button-scoped.cssvars.scss +0 -0
  251. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/button/themes/redwood/_oj-button.cssvars.scss +0 -0
  252. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/button/themes/redwood/oj-button.scss +0 -0
  253. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/button/themes/stable/_oj-button-ignore.scoped.cssvars.scss +0 -0
  254. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/button/themes/stable/_oj-button-scoped.cssvars.scss +0 -0
  255. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/button/themes/stable/_oj-button.cssvars.scss +0 -0
  256. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/button/themes/stable/oj-button.scss +0 -0
  257. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/buttonset/themes/base/_oj-buttonset.scss +0 -0
  258. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/buttonset/themes/redwood/_oj-buttonset-scoped.cssvars.scss +0 -0
  259. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/buttonset/themes/redwood/_oj-buttonset.cssvars.scss +0 -0
  260. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/buttonset/themes/redwood/_oj-buttonset.scss +0 -0
  261. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/buttonset/themes/stable/_oj-buttonset-scoped.cssvars.scss +0 -0
  262. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/buttonset/themes/stable/_oj-buttonset.cssvars.scss +0 -0
  263. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/buttonset/themes/stable/_oj-buttonset.scss +0 -0
  264. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/buttonset-many/themes/redwood/oj-buttonset-many.scss +0 -0
  265. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/buttonset-many/themes/stable/oj-buttonset-many.scss +0 -0
  266. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/buttonset-one/themes/redwood/oj-buttonset-one.scss +0 -0
  267. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/buttonset-one/themes/stable/oj-buttonset-one.scss +0 -0
  268. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/chart/themes/base/_oj-chart.scss +0 -0
  269. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/chart/themes/redwood/_oj-chart.cssvars.scss +0 -0
  270. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/chart/themes/redwood/oj-chart.scss +0 -0
  271. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/chart/themes/stable/_oj-chart.cssvars.scss +0 -0
  272. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/chart/themes/stable/oj-chart.scss +0 -0
  273. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/checkboxset/themes/redwood/_oj-checkboxset.cssvars.scss +0 -0
  274. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/checkboxset/themes/redwood/oj-checkboxset.scss +0 -0
  275. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/checkboxset/themes/stable/_oj-checkboxset.cssvars.scss +0 -0
  276. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/checkboxset/themes/stable/oj-checkboxset.scss +0 -0
  277. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/collapsible/themes/base/_oj-collapsible.scss +0 -0
  278. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/collapsible/themes/redwood/_oj-collapsible.cssvars.scss +0 -0
  279. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/collapsible/themes/redwood/oj-collapsible.scss +0 -0
  280. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/collapsible/themes/stable/_oj-collapsible.cssvars.scss +0 -0
  281. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/collapsible/themes/stable/oj-collapsible.scss +0 -0
  282. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/collection/themes/redwood/_oj-collection-ignore.scoped.cssvars.scss +0 -0
  283. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/collection/themes/redwood/_oj-collection-scoped.cssvars.scss +0 -0
  284. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/collection/themes/redwood/_oj-collection.cssvars.scss +0 -0
  285. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/collection/themes/stable/_oj-collection.cssvars.scss +0 -0
  286. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/color-palette/themes/base/_oj-color-palette.scss +0 -0
  287. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/color-palette/themes/redwood/_oj-color-palette.cssvars.scss +0 -0
  288. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/color-palette/themes/redwood/oj-color-palette.scss +0 -0
  289. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/color-palette/themes/stable/_oj-color-palette.cssvars.scss +0 -0
  290. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/color-palette/themes/stable/oj-color-palette.scss +0 -0
  291. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/color-spectrum/themes/base/_oj-color-spectrum.scss +0 -0
  292. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/color-spectrum/themes/redwood/_oj-color-spectrum.cssvars.scss +0 -0
  293. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/color-spectrum/themes/redwood/oj-color-spectrum.scss +0 -0
  294. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/color-spectrum/themes/stable/_oj-color-spectrum.cssvars.scss +0 -0
  295. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/color-spectrum/themes/stable/oj-color-spectrum.scss +0 -0
  296. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/combobox/themes/base/_oj-combobox.scss +0 -0
  297. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/combobox/themes/redwood/_oj-combobox.cssvars.scss +0 -0
  298. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/combobox/themes/redwood/_oj-combobox.scss +0 -0
  299. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/combobox/themes/stable/_oj-combobox.cssvars.scss +0 -0
  300. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/combobox/themes/stable/_oj-combobox.scss +0 -0
  301. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/combobox-many/themes/redwood/oj-combobox-many.scss +0 -0
  302. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/combobox-many/themes/stable/oj-combobox-many.scss +0 -0
  303. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/combobox-one/themes/redwood/oj-combobox-one.scss +0 -0
  304. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/combobox-one/themes/stable/oj-combobox-one.scss +0 -0
  305. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/conveyor-belt/themes/base/_oj-conveyor-belt.scss +0 -0
  306. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/conveyor-belt/themes/redwood/_oj-conveyor-belt.cssvars.scss +0 -0
  307. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/conveyor-belt/themes/redwood/oj-conveyor-belt.scss +0 -0
  308. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/conveyor-belt/themes/stable/_oj-conveyor-belt.cssvars.scss +0 -0
  309. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/conveyor-belt/themes/stable/oj-conveyor-belt.scss +0 -0
  310. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/core/themes/redwood/_oj-core-ignore.scoped.cssvars.scss +0 -0
  311. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/core/themes/redwood/_oj-core-scoped.cssvars.scss +0 -0
  312. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/core/themes/redwood/_oj-core.cssvars.scss +0 -0
  313. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/core/themes/stable/_oj-core-ignore.scoped.cssvars.scss +0 -0
  314. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/core/themes/stable/_oj-core-scoped.cssvars.scss +0 -0
  315. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/core/themes/stable/_oj-core.cssvars.scss +0 -0
  316. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/data-grid/themes/redwood/_oj-data-grid-scoped.cssvars.scss +0 -0
  317. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/data-grid/themes/redwood/_oj-data-grid.cssvars.scss +0 -0
  318. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/data-grid/themes/redwood/oj-data-grid.scss +0 -0
  319. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/data-grid/themes/stable/_oj-data-grid-scoped.cssvars.scss +0 -0
  320. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/data-grid/themes/stable/_oj-data-grid.cssvars.scss +0 -0
  321. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/data-grid/themes/stable/oj-data-grid.scss +0 -0
  322. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/date-picker/themes/redwood/oj-date-picker.scss +0 -0
  323. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/date-picker/themes/stable/oj-date-picker.scss +0 -0
  324. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/date-time-picker/themes/base/_oj-date-time-picker.scss +0 -0
  325. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/date-time-picker/themes/redwood/_oj-date-time-picker.cssvars.scss +0 -0
  326. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/date-time-picker/themes/redwood/_oj-date-time-picker.servervars.scss +0 -0
  327. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/date-time-picker/themes/redwood/oj-date-time-picker.scss +0 -0
  328. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/date-time-picker/themes/stable/_oj-date-time-picker.cssvars.scss +0 -0
  329. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/date-time-picker/themes/stable/_oj-date-time-picker.servervars.scss +0 -0
  330. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/date-time-picker/themes/stable/oj-date-time-picker.scss +0 -0
  331. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/diagram/themes/base/_oj-diagram.scss +0 -0
  332. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/diagram/themes/redwood/_oj-diagram.cssvars.scss +0 -0
  333. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/diagram/themes/redwood/oj-diagram.scss +0 -0
  334. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/diagram/themes/stable/_oj-diagram.cssvars.scss +0 -0
  335. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/diagram/themes/stable/oj-diagram.scss +0 -0
  336. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/dialog/themes/base/_oj-dialog-ignore.scoped.cssvars.scss +0 -0
  337. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/dialog/themes/base/_oj-dialog.scss +0 -0
  338. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/dialog/themes/redwood/_oj-dialog-ignore.scoped.cssvars.scss +0 -0
  339. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/dialog/themes/redwood/_oj-dialog-scoped.cssvars.scss +0 -0
  340. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/dialog/themes/redwood/_oj-dialog.cssvars.scss +0 -0
  341. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/dialog/themes/redwood/_oj-dialog.servervars.scss +0 -0
  342. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/dialog/themes/redwood/oj-dialog.scss +0 -0
  343. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/dialog/themes/stable/_oj-dialog-scoped.cssvars.scss +0 -0
  344. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/dialog/themes/stable/_oj-dialog.cssvars.scss +0 -0
  345. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/dialog/themes/stable/_oj-dialog.servervars.scss +0 -0
  346. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/dialog/themes/stable/oj-dialog.scss +0 -0
  347. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/drawer-layout/themes/base/_oj-drawer-layout-ignore.scoped.cssvars.scss +0 -0
  348. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/drawer-layout/themes/base/_oj-drawer-layout.scss +0 -0
  349. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/drawer-layout/themes/redwood/_oj-drawer-layout.cssvars.scss +0 -0
  350. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/drawer-layout/themes/redwood/oj-drawer-layout.scss +0 -0
  351. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/drawer-layout/themes/stable/_oj-drawer-layout.cssvars.scss +0 -0
  352. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/drawer-layout/themes/stable/oj-drawer-layout.scss +0 -0
  353. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/drawer-popup/themes/base/_oj-drawer-popup-ignore.scoped.cssvars.scss +0 -0
  354. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/drawer-popup/themes/base/_oj-drawer-popup.scss +0 -0
  355. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/drawer-popup/themes/redwood/_oj-drawer-popup.cssvars.scss +0 -0
  356. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/drawer-popup/themes/redwood/oj-drawer-popup.scss +0 -0
  357. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/drawer-popup/themes/stable/_oj-drawer-popup.cssvars.scss +0 -0
  358. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/drawer-popup/themes/stable/oj-drawer-popup.scss +0 -0
  359. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/dvt/themes/base/_oj-dvt.scss +0 -0
  360. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/dvt/themes/redwood/_oj-dvt.cssvars.scss +0 -0
  361. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/dvt/themes/redwood/_oj-dvt.scss +0 -0
  362. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/dvt/themes/stable/_oj-dvt.cssvars.scss +0 -0
  363. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/dvt/themes/stable/_oj-dvt.scss +0 -0
  364. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/file-picker/themes/base/_oj-file-picker.scss +0 -0
  365. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/file-picker/themes/redwood/_oj-file-picker.cssvars.scss +0 -0
  366. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/file-picker/themes/redwood/oj-file-picker.scss +0 -0
  367. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/file-picker/themes/stable/_oj-file-picker.cssvars.scss +0 -0
  368. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/file-picker/themes/stable/oj-file-picker.scss +0 -0
  369. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/film-strip/themes/base/_oj-film-strip.scss +0 -0
  370. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/film-strip/themes/redwood/_oj-film-strip.cssvars.scss +0 -0
  371. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/film-strip/themes/redwood/oj-film-strip.scss +0 -0
  372. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/film-strip/themes/stable/_oj-film-strip.cssvars.scss +0 -0
  373. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/film-strip/themes/stable/oj-film-strip.scss +0 -0
  374. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/flex/themes/base/_oj-flex.scss +0 -0
  375. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/flex/themes/redwood/oj-flex.scss +0 -0
  376. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/flex/themes/stable/oj-flex.scss +0 -0
  377. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/form-control/themes/base/_oj-form-control.mixins.scss +0 -0
  378. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/form-control/themes/base/_oj-form-control.scss +0 -0
  379. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/form-control/themes/base/_oj-messaging.scss +0 -0
  380. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/form-control/themes/redwood/_oj-form-control.cssvars.scss +0 -0
  381. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/form-control/themes/redwood/_oj-form-control.scss +0 -0
  382. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/form-control/themes/redwood/_oj-messaging.scss +0 -0
  383. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/form-control/themes/redwood/_oj-messaging.servervars.scss +0 -0
  384. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/form-control/themes/stable/_oj-form-control.cssvars.scss +0 -0
  385. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/form-control/themes/stable/_oj-form-control.scss +0 -0
  386. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/form-control/themes/stable/_oj-messaging.scss +0 -0
  387. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/form-control/themes/stable/_oj-messaging.servervars.scss +0 -0
  388. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/form-layout/themes/base/_oj-form-layout.scss +0 -0
  389. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/form-layout/themes/redwood/_oj-form-layout-scoped.cssvars.scss +0 -0
  390. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/form-layout/themes/redwood/_oj-form-layout.cssvars.scss +0 -0
  391. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/form-layout/themes/redwood/_oj-form-layout.servervars.scss +0 -0
  392. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/form-layout/themes/redwood/oj-form-layout.scss +0 -0
  393. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/form-layout/themes/stable/_oj-form-layout.cssvars.scss +0 -0
  394. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/form-layout/themes/stable/_oj-form-layout.servervars.scss +0 -0
  395. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/form-layout/themes/stable/oj-form-layout.scss +0 -0
  396. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/gantt/themes/base/_oj-gantt.scss +0 -0
  397. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/gantt/themes/redwood/_oj-gantt.cssvars.scss +0 -0
  398. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/gantt/themes/redwood/oj-gantt.scss +0 -0
  399. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/gantt/themes/stable/_oj-gantt.cssvars.scss +0 -0
  400. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/gantt/themes/stable/oj-gantt.scss +0 -0
  401. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/gauge/themes/base/_oj-gauge.scss +0 -0
  402. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/gauge/themes/redwood/_oj-gauge.cssvars.scss +0 -0
  403. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/gauge/themes/redwood/oj-gauge.scss +0 -0
  404. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/gauge/themes/stable/_oj-gauge.cssvars.scss +0 -0
  405. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/gauge/themes/stable/oj-gauge.scss +0 -0
  406. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/grid/themes/base/_oj-grid.scss +0 -0
  407. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/grid/themes/redwood/oj-grid.scss +0 -0
  408. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/grid/themes/stable/oj-grid.scss +0 -0
  409. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/helpers/themes/base/_oj-helpers-ignore.scoped.cssvars.scss +0 -0
  410. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/helpers/themes/base/_oj-responsive-helpers.scss +0 -0
  411. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/helpers/themes/redwood/_oj-theme.servervars.scss +0 -0
  412. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/helpers/themes/redwood/oj-helpers.scss +0 -0
  413. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/helpers/themes/redwood/oj-responsive.helpers.scss +0 -0
  414. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/helpers/themes/stable/_oj-theme.servervars.scss +0 -0
  415. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/helpers/themes/stable/oj-helpers.scss +0 -0
  416. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/helpers/themes/stable/oj-responsive.helpers.scss +0 -0
  417. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/highlight-text/themes/base/_oj-highlight-text.scss +0 -0
  418. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/highlight-text/themes/redwood/oj-highlight-text.scss +0 -0
  419. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/highlight-text/themes/stable/oj-highlight-text.scss +0 -0
  420. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/icon-circle/themes/base/_oj-icon-circle.scss +0 -0
  421. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/icon-circle/themes/redwood/_oj-icon-circle-ignore.scoped.cssvars.scss +0 -0
  422. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/icon-circle/themes/redwood/_oj-icon-circle.cssvars.scss +0 -0
  423. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/icon-circle/themes/redwood/oj-icon-circle.scss +0 -0
  424. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/icons/themes/base/_oj-icons.scss +0 -0
  425. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/icons/themes/redwood/_oj-icon-font.scss +0 -0
  426. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/icons/themes/redwood/_oj-icons-ignore.scoped.cssvars.scss +0 -0
  427. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/icons/themes/redwood/_oj-icons.cssvars.scss +0 -0
  428. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/icons/themes/redwood/oj-icons.scss +0 -0
  429. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/icons/themes/stable/_oj-icon-font.scss +0 -0
  430. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/icons/themes/stable/_oj-icons-ignore.scoped.cssvars.scss +0 -0
  431. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/icons/themes/stable/_oj-icons.cssvars.scss +0 -0
  432. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/icons/themes/stable/oj-icons.scss +0 -0
  433. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/indexer/themes/base/_oj-indexer.scss +0 -0
  434. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/indexer/themes/redwood/_oj-indexer.cssvars.scss +0 -0
  435. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/indexer/themes/redwood/oj-indexer.scss +0 -0
  436. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/indexer/themes/stable/_oj-indexer.cssvars.scss +0 -0
  437. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/indexer/themes/stable/oj-indexer.scss +0 -0
  438. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/input-date/themes/redwood/oj-input-date.scss +0 -0
  439. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/input-date/themes/stable/oj-input-date.scss +0 -0
  440. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/input-date-time/themes/redwood/oj-input-date-time.scss +0 -0
  441. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/input-date-time/themes/stable/oj-input-date-time.scss +0 -0
  442. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/input-number/themes/base/_oj-input-number.scss +0 -0
  443. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/input-number/themes/redwood/_oj-input-number.cssvars.scss +0 -0
  444. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/input-number/themes/redwood/oj-input-number.scss +0 -0
  445. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/input-number/themes/stable/_oj-input-number.cssvars.scss +0 -0
  446. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/input-number/themes/stable/oj-input-number.scss +0 -0
  447. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/input-password/themes/redwood/oj-input-password.scss +0 -0
  448. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/input-password/themes/stable/oj-input-password.scss +0 -0
  449. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/input-search/themes/base/_oj-input-search.scss +0 -0
  450. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/input-search/themes/redwood/_oj-input-search-scoped.cssvars.scss +0 -0
  451. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/input-search/themes/redwood/_oj-input-search.cssvars.scss +0 -0
  452. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/input-search/themes/redwood/_oj-input-search.scss +0 -0
  453. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/input-search/themes/stable/_oj-input-search-scoped.cssvars.scss +0 -0
  454. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/input-search/themes/stable/_oj-input-search.cssvars.scss +0 -0
  455. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/input-search/themes/stable/_oj-input-search.scss +0 -0
  456. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/input-text/themes/base/_oj-input-text.scss +0 -0
  457. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/input-text/themes/redwood/_oj-input-text.cssvars.scss +0 -0
  458. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/input-text/themes/redwood/oj-input-text.scss +0 -0
  459. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/input-text/themes/stable/_oj-input-text.cssvars.scss +0 -0
  460. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/input-text/themes/stable/oj-input-text.scss +0 -0
  461. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/input-time/themes/redwood/oj-input-time.scss +0 -0
  462. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/input-time/themes/stable/oj-input-time.scss +0 -0
  463. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/label/themes/base/_oj-label.scss +0 -0
  464. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/label/themes/redwood/_oj-label-scoped.cssvars.scss +0 -0
  465. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/label/themes/redwood/_oj-label.cssvars.scss +0 -0
  466. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/label/themes/redwood/oj-label.scss +0 -0
  467. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/label/themes/stable/_oj-label-scoped.cssvars.scss +0 -0
  468. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/label/themes/stable/_oj-label.cssvars.scss +0 -0
  469. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/label/themes/stable/oj-label.scss +0 -0
  470. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/label-value/themes/base/_oj-label-value.scss +0 -0
  471. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/label-value/themes/redwood/_oj-label-value.scss +0 -0
  472. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/label-value/themes/stable/_oj-label-value.scss +0 -0
  473. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/led-gauge/themes/base/_oj-led-gauge.scss +0 -0
  474. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/led-gauge/themes/redwood/_oj-led-gauge.cssvars.scss +0 -0
  475. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/led-gauge/themes/redwood/oj-led-gauge.scss +0 -0
  476. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/led-gauge/themes/stable/_oj-led-gauge.cssvars.scss +0 -0
  477. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/led-gauge/themes/stable/oj-led-gauge.scss +0 -0
  478. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/legend/themes/base/_oj-legend.scss +0 -0
  479. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/legend/themes/redwood/_oj-legend.cssvars.scss +0 -0
  480. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/legend/themes/redwood/oj-legend.scss +0 -0
  481. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/legend/themes/stable/_oj-legend.cssvars.scss +0 -0
  482. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/legend/themes/stable/oj-legend.scss +0 -0
  483. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/list-box/themes/base/_oj-list-box.scss +0 -0
  484. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/list-box/themes/redwood/_oj-list-box.cssvars.scss +0 -0
  485. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/list-box/themes/redwood/_oj-list-box.scss +0 -0
  486. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/list-box/themes/stable/_oj-list-box.cssvars.scss +0 -0
  487. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/list-box/themes/stable/_oj-list-box.scss +0 -0
  488. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/list-item-layout/themes/base/_oj-list-item-layout.scoped.scss +0 -0
  489. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/list-item-layout/themes/base/_oj-list-item-layout.scss +0 -0
  490. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/list-item-layout/themes/redwood/_oj-list-item-layout.cssvars.scss +0 -0
  491. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/list-item-layout/themes/redwood/oj-list-item-layout.scss +0 -0
  492. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/list-item-layout/themes/stable/_oj-list-item-layout.cssvars.scss +0 -0
  493. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/list-item-layout/themes/stable/oj-list-item-layout.scss +0 -0
  494. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/list-view/themes/base/_oj-list-view.scoped.scss +0 -0
  495. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/list-view/themes/base/_oj-list-view.scss +0 -0
  496. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/list-view/themes/redwood/_oj-list-view-ignore.scoped.cssvars.scss +0 -0
  497. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/list-view/themes/redwood/_oj-list-view.cssvars.scss +0 -0
  498. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/list-view/themes/redwood/oj-list-view.scss +0 -0
  499. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/list-view/themes/stable/_oj-list-view.cssvars.scss +0 -0
  500. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/list-view/themes/stable/oj-list-view.scss +0 -0
  501. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/masonry-layout/themes/base/_oj-masonry-layout.scss +0 -0
  502. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/masonry-layout/themes/redwood/_oj-masonry-layout.cssvars.scss +0 -0
  503. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/masonry-layout/themes/redwood/_oj-masonry-layout.servervars.scss +0 -0
  504. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/masonry-layout/themes/redwood/oj-masonry-layout.scss +0 -0
  505. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/masonry-layout/themes/stable/_oj-masonry-layout.cssvars.scss +0 -0
  506. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/masonry-layout/themes/stable/_oj-masonry-layout.servervars.scss +0 -0
  507. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/masonry-layout/themes/stable/oj-masonry-layout.scss +0 -0
  508. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/menu/themes/base/_oj-menu.scss +0 -0
  509. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/menu/themes/redwood/_oj-menu.cssvars.scss +0 -0
  510. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/menu/themes/redwood/oj-menu.scss +0 -0
  511. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/menu/themes/stable/_oj-menu.cssvars.scss +0 -0
  512. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/menu/themes/stable/oj-menu.scss +0 -0
  513. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/menu-button/themes/base/_oj-menu-button.scss +0 -0
  514. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/menu-button/themes/redwood/_oj-menu-button.cssvars.scss +0 -0
  515. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/menu-button/themes/redwood/_oj-menu-button.servervars.scss +0 -0
  516. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/menu-button/themes/redwood/oj-menu-button.scss +0 -0
  517. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/menu-button/themes/stable/_oj-menu-button.cssvars.scss +0 -0
  518. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/menu-button/themes/stable/_oj-menu-button.servervars.scss +0 -0
  519. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/menu-button/themes/stable/oj-menu-button.scss +0 -0
  520. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/menu-select-many/themes/base/_oj-menu-select-many.scss +0 -0
  521. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/menu-select-many/themes/redwood/_oj-menu-select-many.cssvars.scss +0 -0
  522. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/menu-select-many/themes/redwood/oj-menu-select-many.scss +0 -0
  523. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/menu-select-many/themes/stable/_oj-menu-select-many.cssvars.scss +0 -0
  524. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/menu-select-many/themes/stable/oj-menu-select-many.scss +0 -0
  525. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/message/themes/base/_oj-message.scss +0 -0
  526. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/message/themes/redwood/_oj-message-ignore.scoped.cssvars.scss +0 -0
  527. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/message/themes/redwood/_oj-message.cssvars.scss +0 -0
  528. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/message/themes/redwood/_oj-message.servervars.scss +0 -0
  529. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/message/themes/redwood/oj-message.scss +0 -0
  530. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/message/themes/stable/_oj-message-ignore.scoped.cssvars.scss +0 -0
  531. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/message/themes/stable/_oj-message.cssvars.scss +0 -0
  532. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/message/themes/stable/_oj-message.servervars.scss +0 -0
  533. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/message/themes/stable/oj-message.scss +0 -0
  534. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/message-banner/themes/base/_oj-message-banner.scss +0 -0
  535. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/message-banner/themes/redwood/_oj-message-banner-scoped.cssvars.scss +0 -0
  536. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/message-banner/themes/redwood/_oj-message-banner.cssvars.scss +0 -0
  537. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/message-banner/themes/redwood/_oj-message-banner.scss +0 -0
  538. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/message-banner/themes/stable/_oj-message-banner-scoped.cssvars.scss +0 -0
  539. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/message-banner/themes/stable/_oj-message-banner.cssvars.scss +0 -0
  540. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/message-banner/themes/stable/_oj-message-banner.scss +0 -0
  541. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/messages/themes/base/_oj-messages.scss +0 -0
  542. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/messages/themes/redwood/_oj-messages.cssvars.scss +0 -0
  543. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/messages/themes/redwood/_oj-messages.servervars.scss +0 -0
  544. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/messages/themes/redwood/oj-messages.scss +0 -0
  545. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/messages/themes/stable/_oj-messages.cssvars.scss +0 -0
  546. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/messages/themes/stable/_oj-messages.servervars.scss +0 -0
  547. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/messages/themes/stable/oj-messages.scss +0 -0
  548. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/module/themes/base/_oj-module.scss +0 -0
  549. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/module/themes/redwood/oj-module.scss +0 -0
  550. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/module/themes/stable/oj-module.scss +0 -0
  551. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/n-box/themes/base/_oj-n-box.scss +0 -0
  552. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/n-box/themes/redwood/_oj-n-box.cssvars.scss +0 -0
  553. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/n-box/themes/redwood/oj-n-box.scss +0 -0
  554. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/n-box/themes/stable/_oj-n-box.cssvars.scss +0 -0
  555. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/n-box/themes/stable/oj-n-box.scss +0 -0
  556. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/navigation-list/themes/base/_oj-navigation-list.scss +0 -0
  557. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/navigation-list/themes/redwood/_oj-navigation-list-scoped.cssvars.scss +0 -0
  558. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/navigation-list/themes/redwood/_oj-navigation-list.cssvars.scss +0 -0
  559. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/navigation-list/themes/redwood/oj-navigation-list.scss +0 -0
  560. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/navigation-list/themes/stable/_oj-navigation-list-scoped.cssvars.scss +0 -0
  561. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/navigation-list/themes/stable/_oj-navigation-list.cssvars.scss +0 -0
  562. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/navigation-list/themes/stable/oj-navigation-list.scss +0 -0
  563. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/off-canvas/themes/base/_oj-off-canvas.scss +0 -0
  564. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/off-canvas/themes/redwood/_oj-off-canvas.cssvars.scss +0 -0
  565. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/off-canvas/themes/redwood/oj-off-canvas.scss +0 -0
  566. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/off-canvas/themes/stable/_oj-off-canvas.cssvars.scss +0 -0
  567. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/off-canvas/themes/stable/oj-off-canvas.scss +0 -0
  568. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/optgroup/themes/base/_oj-optgroup.scss +0 -0
  569. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/optgroup/themes/redwood/oj-optgroup.scss +0 -0
  570. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/optgroup/themes/stable/oj-optgroup.scss +0 -0
  571. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/option/themes/base/_oj-option.scss +0 -0
  572. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/option/themes/redwood/oj-option.scss +0 -0
  573. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/option/themes/stable/oj-option.scss +0 -0
  574. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/paging-control/themes/base/_oj-paging-control.scss +0 -0
  575. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/paging-control/themes/redwood/_oj-paging-control.cssvars.scss +0 -0
  576. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/paging-control/themes/redwood/oj-paging-control.scss +0 -0
  577. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/paging-control/themes/stable/_oj-paging-control.cssvars.scss +0 -0
  578. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/paging-control/themes/stable/oj-paging-control.scss +0 -0
  579. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/palette/themes/redwood/_oj-palette-scoped.cssvars.scss +0 -0
  580. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/palette/themes/redwood/_oj-palette.cssvars.scss +0 -0
  581. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/palette/themes/stable/_oj-palette.cssvars.scss +0 -0
  582. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/panel/themes/base/_oj-panel-ignore.scoped.cssvars.scss +0 -0
  583. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/panel/themes/base/_oj-panel.scss +0 -0
  584. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/panel/themes/redwood/_oj-panel-scoped.cssvars.scss +0 -0
  585. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/panel/themes/redwood/_oj-panel.cssvars.scss +0 -0
  586. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/panel/themes/redwood/oj-panel.scss +0 -0
  587. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/panel/themes/stable/_oj-panel-scoped.cssvars.scss +0 -0
  588. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/panel/themes/stable/_oj-panel.cssvars.scss +0 -0
  589. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/panel/themes/stable/oj-panel.scss +0 -0
  590. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/picto-chart/themes/base/_oj-picto-chart.scss +0 -0
  591. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/picto-chart/themes/redwood/_oj-picto-chart.cssvars.scss +0 -0
  592. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/picto-chart/themes/redwood/oj-picto-chart.scss +0 -0
  593. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/picto-chart/themes/stable/_oj-picto-chart.cssvars.scss +0 -0
  594. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/picto-chart/themes/stable/oj-picto-chart.scss +0 -0
  595. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/popup/themes/base/_oj-layer.scss +0 -0
  596. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/popup/themes/base/_oj-popup-ignore.scoped.cssvars.scss +0 -0
  597. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/popup/themes/base/_oj-popup.scss +0 -0
  598. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/popup/themes/redwood/_oj-layer.scss +0 -0
  599. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/popup/themes/redwood/_oj-popup-ignore.scoped.cssvars.scss +0 -0
  600. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/popup/themes/redwood/_oj-popup.cssvars.scss +0 -0
  601. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/popup/themes/redwood/oj-popup.scss +0 -0
  602. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/popup/themes/stable/_oj-layer.scss +0 -0
  603. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/popup/themes/stable/_oj-popup.cssvars.scss +0 -0
  604. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/popup/themes/stable/oj-popup.scss +0 -0
  605. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/progress-bar/themes/base/_oj-progress-bar.scss +0 -0
  606. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/progress-bar/themes/redwood/_oj-progress-bar-scoped.cssvars.scss +0 -0
  607. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/progress-bar/themes/redwood/_oj-progress-bar.cssvars.scss +0 -0
  608. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/progress-bar/themes/redwood/oj-progress-bar.scss +0 -0
  609. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/progress-bar/themes/stable/_oj-progress-bar-scoped.cssvars.scss +0 -0
  610. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/progress-bar/themes/stable/_oj-progress-bar.cssvars.scss +0 -0
  611. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/progress-bar/themes/stable/oj-progress-bar.scss +0 -0
  612. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/progress-circle/themes/base/_oj-progress-circle.scss +0 -0
  613. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/progress-circle/themes/redwood/_oj-progress-circle-scoped.cssvars.scss +0 -0
  614. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/progress-circle/themes/redwood/_oj-progress-circle.cssvars.scss +0 -0
  615. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/progress-circle/themes/redwood/oj-progress-circle.scss +0 -0
  616. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/progress-circle/themes/stable/_oj-progress-circle-scoped.cssvars.scss +0 -0
  617. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/progress-circle/themes/stable/_oj-progress-circle.cssvars.scss +0 -0
  618. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/progress-circle/themes/stable/oj-progress-circle.scss +0 -0
  619. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/radio-checkbox/themes/base/_oj-radiocheckbox.scss +0 -0
  620. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/radio-checkbox/themes/redwood/_oj-radiocheckbox-scoped.cssvars.scss +0 -0
  621. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/radio-checkbox/themes/redwood/_oj-radiocheckbox.cssvars.scss +0 -0
  622. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/radio-checkbox/themes/redwood/_oj-radiocheckbox.servervars.scss +0 -0
  623. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/radio-checkbox/themes/stable/_oj-radiocheckbox-scoped.cssvars.scss +0 -0
  624. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/radio-checkbox/themes/stable/_oj-radiocheckbox.cssvars.scss +0 -0
  625. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/radio-checkbox/themes/stable/_oj-radiocheckbox.servervars.scss +0 -0
  626. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/radioset/themes/redwood/_oj-radioset.cssvars.scss +0 -0
  627. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/radioset/themes/redwood/oj-radioset.scss +0 -0
  628. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/radioset/themes/stable/_oj-radioset.cssvars.scss +0 -0
  629. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/radioset/themes/stable/oj-radioset.scss +0 -0
  630. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/rangeslider/themes/redwood/_oj-rangeslider.cssvars.scss +0 -0
  631. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/rangeslider/themes/redwood/oj-rangeslider.scss +0 -0
  632. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/rangeslider/themes/stable/_oj-rangeslider.cssvars.scss +0 -0
  633. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/rangeslider/themes/stable/oj-rangeslider.scss +0 -0
  634. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/rating-gauge/themes/base/_oj-rating-gauge.scss +0 -0
  635. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/rating-gauge/themes/redwood/_oj-rating-gauge.cssvars.scss +0 -0
  636. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/rating-gauge/themes/redwood/oj-rating-gauge.scss +0 -0
  637. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/rating-gauge/themes/stable/_oj-rating-gauge.cssvars.scss +0 -0
  638. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/rating-gauge/themes/stable/oj-rating-gauge.scss +0 -0
  639. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/refresher/themes/base/_oj-refresher.scss +0 -0
  640. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/refresher/themes/redwood/_oj-refresher.cssvars.scss +0 -0
  641. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/refresher/themes/redwood/_oj-refresher.servervars.scss +0 -0
  642. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/refresher/themes/redwood/oj-refresher.scss +0 -0
  643. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/refresher/themes/stable/_oj-refresher.cssvars.scss +0 -0
  644. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/refresher/themes/stable/_oj-refresher.servervars.scss +0 -0
  645. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/refresher/themes/stable/oj-refresher.scss +0 -0
  646. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/resizable/themes/base/_oj-resizable.scss +0 -0
  647. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/resizable/themes/redwood/_oj-resizable.scss +0 -0
  648. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/resizable/themes/stable/_oj-resizable.scss +0 -0
  649. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/row-expander/themes/base/_oj-row-expander.scss +0 -0
  650. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/row-expander/themes/redwood/_oj-row-expander.cssvars.scss +0 -0
  651. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/row-expander/themes/redwood/oj-row-expander.scss +0 -0
  652. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/row-expander/themes/stable/_oj-row-expander.cssvars.scss +0 -0
  653. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/row-expander/themes/stable/oj-row-expander.scss +0 -0
  654. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/scrollbar/themes/base/_oj-scrollbar.scss +0 -0
  655. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/scrollbar/themes/redwood/_oj-scrollbar-scoped.cssvars.scss +0 -0
  656. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/scrollbar/themes/redwood/_oj-scrollbar.cssvars.scss +0 -0
  657. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/scrollbar/themes/redwood/_oj-scrollbar.scss +0 -0
  658. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/scrollbar/themes/stable/_oj-scrollbar-scoped.cssvars.scss +0 -0
  659. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/scrollbar/themes/stable/_oj-scrollbar.cssvars.scss +0 -0
  660. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/scrollbar/themes/stable/_oj-scrollbar.scss +0 -0
  661. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/select/themes/base/_oj-select.scss +0 -0
  662. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/select/themes/redwood/_oj-select.cssvars.scss +0 -0
  663. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/select/themes/redwood/_oj-select.scss +0 -0
  664. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/select/themes/stable/_oj-select.cssvars.scss +0 -0
  665. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/select/themes/stable/_oj-select.scss +0 -0
  666. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/select-many/themes/redwood/oj-select-many.scss +0 -0
  667. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/select-many/themes/stable/oj-select-many.scss +0 -0
  668. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/select-one/themes/redwood/oj-select-one.scss +0 -0
  669. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/select-original/themes/base/_oj-select-original.scss +0 -0
  670. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/select-original/themes/redwood/_oj-select-original.cssvars.scss +0 -0
  671. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/select-original/themes/redwood/_oj-select-original.scss +0 -0
  672. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/select-original/themes/stable/_oj-select-original.cssvars.scss +0 -0
  673. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/select-original/themes/stable/_oj-select-original.scss +0 -0
  674. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/select-single/themes/base/_oj-select-single.scss +0 -0
  675. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/select-single/themes/redwood/oj-select-single.scss +0 -0
  676. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/select-single/themes/stable/oj-select-single.scss +0 -0
  677. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/selector/themes/base/_oj-selector.scss +0 -0
  678. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/selector/themes/redwood/_oj-selector.cssvars.scss +0 -0
  679. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/selector/themes/redwood/oj-selector.scss +0 -0
  680. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/selector/themes/stable/_oj-selector.cssvars.scss +0 -0
  681. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/selector/themes/stable/oj-selector.scss +0 -0
  682. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/slider/themes/base/_oj-slider.scss +0 -0
  683. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/slider/themes/redwood/_oj-slider.cssvars.scss +0 -0
  684. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/slider/themes/redwood/oj-slider.scss +0 -0
  685. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/slider/themes/stable/_oj-slider.cssvars.scss +0 -0
  686. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/slider/themes/stable/oj-slider.scss +0 -0
  687. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/spark-chart/themes/base/_oj-spark-chart.scss +0 -0
  688. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/spark-chart/themes/redwood/_oj-spark-chart.cssvars.scss +0 -0
  689. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/spark-chart/themes/redwood/oj-spark-chart.scss +0 -0
  690. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/spark-chart/themes/stable/_oj-spark-chart.cssvars.scss +0 -0
  691. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/spark-chart/themes/stable/oj-spark-chart.scss +0 -0
  692. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/status-meter-gauge/themes/base/_oj-status-meter-gauge.scss +0 -0
  693. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/status-meter-gauge/themes/redwood/_oj-status-meter-gauge.cssvars.scss +0 -0
  694. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/status-meter-gauge/themes/redwood/oj-status-meter-gauge.scss +0 -0
  695. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/status-meter-gauge/themes/stable/_oj-status-meter-gauge.cssvars.scss +0 -0
  696. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/status-meter-gauge/themes/stable/oj-status-meter-gauge.scss +0 -0
  697. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/stream-list/themes/base/_oj-stream-list.scss +0 -0
  698. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/stream-list/themes/redwood/_oj-stream-list.cssvars.scss +0 -0
  699. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/stream-list/themes/redwood/_oj-stream-list.servervars.scss +0 -0
  700. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/stream-list/themes/redwood/oj-stream-list.scss +0 -0
  701. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/stream-list/themes/stable/_oj-stream-list.cssvars.scss +0 -0
  702. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/stream-list/themes/stable/_oj-stream-list.servervars.scss +0 -0
  703. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/stream-list/themes/stable/oj-stream-list.scss +0 -0
  704. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/sunburst/themes/base/_oj-sunburst.scss +0 -0
  705. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/sunburst/themes/redwood/_oj-sunburst.cssvars.scss +0 -0
  706. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/sunburst/themes/redwood/oj-sunburst.scss +0 -0
  707. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/sunburst/themes/stable/_oj-sunburst.cssvars.scss +0 -0
  708. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/sunburst/themes/stable/oj-sunburst.scss +0 -0
  709. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/swipe-actions/themes/base/_oj-swipe-actions.scss +0 -0
  710. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/swipe-actions/themes/redwood/_oj-swipe-actions.cssvars.scss +0 -0
  711. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/swipe-actions/themes/redwood/oj-swipe-actions.scss +0 -0
  712. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/swipe-actions/themes/stable/_oj-swipe-actions.cssvars.scss +0 -0
  713. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/swipe-actions/themes/stable/oj-swipe-actions.scss +0 -0
  714. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/switch/themes/base/_oj-switch.scss +0 -0
  715. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/switch/themes/redwood/_oj-switch.cssvars.scss +0 -0
  716. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/switch/themes/redwood/oj-switch.scss +0 -0
  717. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/switch/themes/stable/_oj-switch.cssvars.scss +0 -0
  718. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/switch/themes/stable/oj-switch.scss +0 -0
  719. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/switcher/themes/base/_oj-switcher.scss +0 -0
  720. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/switcher/themes/redwood/oj-switcher.scss +0 -0
  721. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/switcher/themes/stable/oj-switcher.scss +0 -0
  722. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/tab-bar/themes/base/_oj-tab-bar.scss +0 -0
  723. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/tab-bar/themes/redwood/_oj-tab-bar-scoped.cssvars.scss +0 -0
  724. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/tab-bar/themes/redwood/_oj-tab-bar.cssvars.scss +0 -0
  725. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/tab-bar/themes/redwood/oj-tab-bar.scss +0 -0
  726. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/tab-bar/themes/stable/_oj-tab-bar-scoped.cssvars.scss +0 -0
  727. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/tab-bar/themes/stable/_oj-tab-bar.cssvars.scss +0 -0
  728. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/tab-bar/themes/stable/oj-tab-bar.scss +0 -0
  729. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/table/themes/base/_oj-table.scss +0 -0
  730. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/table/themes/redwood/_oj-table-scoped.cssvars.scss +0 -0
  731. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/table/themes/redwood/_oj-table.cssvars.scss +0 -0
  732. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/table/themes/redwood/oj-table.scss +0 -0
  733. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/table/themes/stable/_oj-table-scoped.cssvars.scss +0 -0
  734. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/table/themes/stable/_oj-table.cssvars.scss +0 -0
  735. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/table/themes/stable/oj-table.scss +0 -0
  736. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/tag-cloud/themes/base/_oj-tag-cloud.scss +0 -0
  737. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/tag-cloud/themes/redwood/_oj-tag-cloud.cssvars.scss +0 -0
  738. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/tag-cloud/themes/redwood/oj-tag-cloud.scss +0 -0
  739. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/tag-cloud/themes/stable/_oj-tag-cloud.cssvars.scss +0 -0
  740. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/tag-cloud/themes/stable/oj-tag-cloud.scss +0 -0
  741. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/tags/themes/base/_oj-notags-ignore.scoped.cssvars.scss +0 -0
  742. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/tags/themes/base/_oj-notags.scss +0 -0
  743. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/tags/themes/base/_oj-tags-ignore.scoped.cssvars.scss +0 -0
  744. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/tags/themes/base/_oj-tags.scss +0 -0
  745. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/tags/themes/redwood/_oj-tags-scoped.cssvars.scss +0 -0
  746. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/tags/themes/redwood/_oj-tags.cssvars.scss +0 -0
  747. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/tags/themes/redwood/oj-notags.scss +0 -0
  748. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/tags/themes/redwood/oj-tags.scss +0 -0
  749. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/tags/themes/stable/_oj-tags-scoped.cssvars.scss +0 -0
  750. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/tags/themes/stable/_oj-tags.cssvars.scss +0 -0
  751. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/tags/themes/stable/oj-notags.scss +0 -0
  752. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/tags/themes/stable/oj-tags.scss +0 -0
  753. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/text-area/themes/base/_oj-text-area.scss +0 -0
  754. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/text-area/themes/redwood/_oj-text-area.cssvars.scss +0 -0
  755. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/text-area/themes/redwood/oj-text-area.scss +0 -0
  756. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/text-area/themes/stable/_oj-text-area.cssvars.scss +0 -0
  757. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/text-area/themes/stable/oj-text-area.scss +0 -0
  758. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/text-field/themes/base/_oj-text-field.cssvars.scss +0 -0
  759. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/text-field/themes/redwood/_oj-text-field-ignore.scoped.cssvars.scss +0 -0
  760. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/text-field/themes/redwood/_oj-text-field-scoped.cssvars.scss +0 -0
  761. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/text-field/themes/redwood/_oj-text-field.cssvars.scss +0 -0
  762. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/text-field/themes/stable/_oj-text-field-scoped.cssvars.scss +0 -0
  763. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/text-field/themes/stable/_oj-text-field.cssvars.scss +0 -0
  764. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/thematic-map/themes/base/_oj-thematic-map.scss +0 -0
  765. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/thematic-map/themes/redwood/_oj-thematic-map.cssvars.scss +0 -0
  766. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/thematic-map/themes/redwood/oj-thematic-map.scss +0 -0
  767. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/thematic-map/themes/stable/_oj-thematic-map.cssvars.scss +0 -0
  768. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/thematic-map/themes/stable/oj-thematic-map.scss +0 -0
  769. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/time-axis/themes/base/_oj-time-axis.scss +0 -0
  770. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/time-axis/themes/redwood/_oj-time-axis.cssvars.scss +0 -0
  771. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/time-axis/themes/redwood/oj-time-axis.scss +0 -0
  772. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/time-axis/themes/stable/_oj-time-axis.cssvars.scss +0 -0
  773. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/time-axis/themes/stable/oj-time-axis.scss +0 -0
  774. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/timeline/themes/base/_oj-timeline.scss +0 -0
  775. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/timeline/themes/redwood/_oj-timeline-ignore.scoped.cssvars.scss +0 -0
  776. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/timeline/themes/redwood/_oj-timeline.cssvars.scss +0 -0
  777. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/timeline/themes/redwood/oj-timeline.scss +0 -0
  778. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/timeline/themes/stable/_oj-timeline-ignore.scoped.cssvars.scss +0 -0
  779. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/timeline/themes/stable/_oj-timeline.cssvars.scss +0 -0
  780. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/timeline/themes/stable/oj-timeline.scss +0 -0
  781. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/toolbar/themes/base/_oj-toolbar.scss +0 -0
  782. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/toolbar/themes/redwood/_oj-toolbar.cssvars.scss +0 -0
  783. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/toolbar/themes/redwood/oj-toolbar.scss +0 -0
  784. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/toolbar/themes/stable/_oj-toolbar.cssvars.scss +0 -0
  785. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/toolbar/themes/stable/oj-toolbar.scss +0 -0
  786. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/tooltip/themes/base/_oj-tooltip.scss +0 -0
  787. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/tooltip/themes/redwood/_oj-tooltip.cssvars.scss +0 -0
  788. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/tooltip/themes/redwood/oj-tooltip.scss +0 -0
  789. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/tooltip/themes/stable/_oj-tooltip.cssvars.scss +0 -0
  790. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/tooltip/themes/stable/oj-tooltip.scss +0 -0
  791. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/train/themes/base/_oj-train.scss +0 -0
  792. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/train/themes/redwood/_oj-train-scoped.cssvars.scss +0 -0
  793. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/train/themes/redwood/_oj-train.cssvars.scss +0 -0
  794. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/train/themes/redwood/oj-train.scss +0 -0
  795. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/train/themes/stable/_oj-train.cssvars.scss +0 -0
  796. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/train/themes/stable/oj-train.scss +0 -0
  797. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/tree-view/themes/base/_oj-tree-view.scss +0 -0
  798. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/tree-view/themes/redwood/_oj-tree-view.cssvars.scss +0 -0
  799. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/tree-view/themes/redwood/oj-tree-view.scss +0 -0
  800. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/tree-view/themes/stable/_oj-tree-view.cssvars.scss +0 -0
  801. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/tree-view/themes/stable/oj-tree-view.scss +0 -0
  802. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/treemap/themes/base/_oj-treemap.scss +0 -0
  803. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/treemap/themes/redwood/_oj-treemap.cssvars.scss +0 -0
  804. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/treemap/themes/redwood/oj-treemap.scss +0 -0
  805. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/treemap/themes/stable/_oj-treemap.cssvars.scss +0 -0
  806. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/treemap/themes/stable/oj-treemap.scss +0 -0
  807. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/typography/themes/base/_oj-typography.scss +0 -0
  808. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/typography/themes/redwood/_oj-typography-ignore.scoped.cssvars.scss +0 -0
  809. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/typography/themes/redwood/_oj-typography-scoped.cssvars.scss +0 -0
  810. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/typography/themes/redwood/_oj-typography.cssvars.scss +0 -0
  811. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/typography/themes/redwood/oj-typography.scss +0 -0
  812. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/typography/themes/stable/_oj-typography-scoped.cssvars.scss +0 -0
  813. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/typography/themes/stable/_oj-typography.cssvars.scss +0 -0
  814. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/typography/themes/stable/oj-typography.scss +0 -0
  815. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/utilities/_oj.utilities.bidi.scss +0 -0
  816. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/utilities/_oj.utilities.icons.scss +0 -0
  817. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/utilities/_oj.utilities.json.scss +0 -0
  818. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/utilities/_oj.utilities.masonrylayout.scss +0 -0
  819. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/utilities/_oj.utilities.modules.scss +0 -0
  820. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/validation-group/themes/base/_oj-validation-group.scss +0 -0
  821. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/validation-group/themes/redwood/oj-validation-group.scss +0 -0
  822. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/validation-group/themes/stable/oj-validation-group.scss +0 -0
  823. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/waterfall-layout/themes/base/_oj-waterfall-layout.scss +0 -0
  824. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/waterfall-layout/themes/redwood/_oj-waterfall-layout.cssvars.scss +0 -0
  825. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/waterfall-layout/themes/redwood/oj-waterfall-layout.scss +0 -0
  826. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/waterfall-layout/themes/stable/_oj-waterfall-layout.cssvars.scss +0 -0
  827. /package/dist/pcss/oj/{15.0.4 → 15.1.0}/oj/waterfall-layout/themes/stable/oj-waterfall-layout.scss +0 -0
@@ -274,6 +274,10 @@ var __oj_data_grid_metadata =
274
274
  ],
275
275
  "value": "disable"
276
276
  },
277
+ "hidable": {
278
+ "type": "string",
279
+ "value": "disable"
280
+ },
277
281
  "label": {
278
282
  "type": "object",
279
283
  "properties": {
@@ -492,6 +496,10 @@ var __oj_data_grid_metadata =
492
496
  }
493
497
  }
494
498
  },
499
+ "hiddenColumns": {
500
+ "type": "object",
501
+ "writeback": true
502
+ },
495
503
  "scrollPolicy": {
496
504
  "type": "string",
497
505
  "enumValues": [
@@ -758,6 +766,9 @@ var __oj_data_grid_metadata =
758
766
  "labelFreezeRow": {
759
767
  "type": "string"
760
768
  },
769
+ "labelHideColumn": {
770
+ "type": "string"
771
+ },
761
772
  "labelPaste": {
762
773
  "type": "string"
763
774
  },
@@ -824,6 +835,9 @@ var __oj_data_grid_metadata =
824
835
  "labelUnfreezeRow": {
825
836
  "type": "string"
826
837
  },
838
+ "labelUnhideColumn": {
839
+ "type": "string"
840
+ },
827
841
  "msgFetchingData": {
828
842
  "type": "string"
829
843
  },
@@ -1042,6 +1056,8 @@ const DataGridResources = function (
1042
1056
  this.styles.skeletonCell = 'oj-datagrid-skeleton-cell';
1043
1057
  this.styles.skeleton = 'oj-datagrid-skeleton';
1044
1058
  this.styles.skeletonAnimation = 'oj-animation-skeleton';
1059
+ this.styles.databodyHiddenIndicator = 'oj-datagrid-databody-hidden-indicator';
1060
+ this.styles.headerHiddenIndicator = 'oj-datagrid-header-hidden-indicator';
1045
1061
 
1046
1062
  this.commands = {};
1047
1063
  this.commands.sortCol = 'oj-datagrid-sortCol';
@@ -1065,6 +1081,8 @@ const DataGridResources = function (
1065
1081
  this.commands.freezeRow = 'oj-datagrid-freezeRow';
1066
1082
  this.commands.unfreezeCol = 'oj-datagrid-unfreezeCol';
1067
1083
  this.commands.unfreezeRow = 'oj-datagrid-unfreezeRow';
1084
+ this.commands.hideCol = 'oj-datagrid-hideCol';
1085
+ this.commands.unhideCol = 'oj-datagrid-unhideCol';
1068
1086
 
1069
1087
  this.attributes = {};
1070
1088
  this.attributes.busyContext = Context._OJ_CONTEXT_ATTRIBUTE; // 'data-oj-context'
@@ -1080,6 +1098,7 @@ const DataGridResources = function (
1080
1098
  this.attributes.depth = 'data-oj-depth';
1081
1099
  this.attributes.level = 'data-oj-level';
1082
1100
  this.attributes.metadata = 'data-oj-metaData';
1101
+ this.attributes.hiddenIndicatorIndex = 'data-oj-hiddenIndicatorIndex';
1083
1102
  };
1084
1103
 
1085
1104
  oj._registerLegacyNamespaceProp('DataGridResources', DataGridResources);
@@ -2426,6 +2445,29 @@ DvtDataGridOptions.prototype._getFreezeIndex = function (axis) {
2426
2445
  return freezeIndex;
2427
2446
  };
2428
2447
 
2448
+ /**
2449
+ * Is hide enabled
2450
+ * @param {string} axis - axis to check if hide enabled
2451
+ * @return {string} enable, disable
2452
+ */
2453
+ DvtDataGridOptions.prototype.isHideEnabled = function (axis) {
2454
+ let isEnabled = false;
2455
+ let hide = this.extract('header', axis, 'hidable');
2456
+ if (hide === 'enable') {
2457
+ isEnabled = true;
2458
+ }
2459
+ return isEnabled;
2460
+ };
2461
+
2462
+ DvtDataGridOptions.prototype._getHiddenColumnIndices = function (axis) {
2463
+ let hiddenIndices;
2464
+
2465
+ if (axis === 'column') {
2466
+ hiddenIndices = this.getProperty('hiddenColumns');
2467
+ }
2468
+
2469
+ return hiddenIndices;
2470
+ };
2429
2471
  /**
2430
2472
  * Get the inline style property on an object
2431
2473
  * @param {string} axis - axis to get style of
@@ -3189,6 +3231,10 @@ DvtDataGrid.prototype._updateDataGrid = function (option, flags) {
3189
3231
  obj = this.m_options._getFreezeIndex('row');
3190
3232
  this._updateFrozenSection(obj, 'row');
3191
3233
  break;
3234
+ case 'hiddenColumns':
3235
+ obj = this.m_options._getHiddenColumnIndices('column');
3236
+ this._updateHiddenSection(Array.from(obj));
3237
+ break;
3192
3238
  // just refresh
3193
3239
  default:
3194
3240
  return false;
@@ -4119,7 +4165,6 @@ DvtDataGrid.prototype.getDefaultColumnWidth = function () {
4119
4165
  * @param {string|null} key the row or column key
4120
4166
  * @param {string} axis row or column
4121
4167
  * @param {string} dimension width ro height
4122
- * @returns {number}
4123
4168
  */
4124
4169
  DvtDataGrid.prototype._getHeaderDimension = function (elem, key, axis, dimension) {
4125
4170
  var value = this.m_sizingManager.getSize(axis, key);
@@ -7189,11 +7234,13 @@ DvtDataGrid.prototype.handleHeadersFetchSuccess = function (
7189
7234
 
7190
7235
  // remove fetching message
7191
7236
  this.m_fetching[axis] = false;
7237
+ let hiddenColumns = this.m_hiddenColumns;
7192
7238
 
7193
7239
  var root = headerRange.header;
7194
7240
  var endRoot = headerRange.endHeader;
7195
7241
  var start = headerRange.start;
7196
- var count = this.getDataSource().getCount(axis);
7242
+ // subtracting hidden columns length to render only visible columns
7243
+ var count = this.getDataSource().getCount(axis) - hiddenColumns.length;
7197
7244
 
7198
7245
  if (axis === 'column') {
7199
7246
  if (this.m_frozenColIndex === null) {
@@ -7683,7 +7730,8 @@ DvtDataGrid.prototype.buildColumnHeaders = function (
7683
7730
  if (totalColumnWidth !== 0 && (this.m_avgColWidth === 0 || this.m_avgColWidth == null)) {
7684
7731
  // the average column width should only be set once, it will only change when the column width varies between columns, but
7685
7732
  // in such case the new average column width would not be any more precise than previous one.
7686
- this.m_avgColWidth = totalColumnWidth / count;
7733
+ // Also, hidden columns are not included in calculating average column width
7734
+ this.m_avgColWidth = totalColumnWidth / returnObj.visibleHeaderCount;
7687
7735
  }
7688
7736
 
7689
7737
  if (!this.m_colHeaderHeight) {
@@ -7824,7 +7872,7 @@ DvtDataGrid.prototype.buildColumnEndHeaders = function (
7824
7872
  if (totalColumnWidth !== 0 && (this.m_avgColWidth === 0 || this.m_avgColWidth == null)) {
7825
7873
  // the average column width should only be set once, it will only change when the column width varies between columns, but
7826
7874
  // in such case the new average column width would not be any more precise than previous one.
7827
- this.m_avgColWidth = totalColumnWidth / count;
7875
+ this.m_avgColWidth = totalColumnWidth / returnObj.visibleHeaderCount;
7828
7876
  }
7829
7877
 
7830
7878
  if (!this.m_colEndHeaderHeight) {
@@ -8263,6 +8311,7 @@ DvtDataGrid.prototype.buildAxisHeaders = function (
8263
8311
  var top = 0;
8264
8312
  var scroller;
8265
8313
  var index;
8314
+ let hiddenInRangeCount = 0;
8266
8315
 
8267
8316
  if (!returnAsFragment) {
8268
8317
  // if unknown count and there's no more column, mark it so we won't try to fetch again
@@ -8299,6 +8348,10 @@ DvtDataGrid.prototype.buildAxisHeaders = function (
8299
8348
  top = columns ? 0 : atPixel - totalHeaderDimension;
8300
8349
  }
8301
8350
 
8351
+ if (this.isHidden(axis, index)) {
8352
+ hiddenInRangeCount += 1;
8353
+ }
8354
+
8302
8355
  var returnVal = this.buildLevelHeaders(
8303
8356
  fragment,
8304
8357
  index,
@@ -8339,10 +8392,13 @@ DvtDataGrid.prototype.buildAxisHeaders = function (
8339
8392
 
8340
8393
  this.m_subtreeAttachedCallback(scroller);
8341
8394
 
8395
+ let visibleHeaderCount = count - hiddenInRangeCount;
8396
+
8342
8397
  return {
8343
8398
  totalHeaderDimension: totalHeaderDimension,
8344
8399
  totalLevelDimension: totalLevelDimension,
8345
- stopFetch: stopFetch
8400
+ stopFetch: stopFetch,
8401
+ visibleHeaderCount
8346
8402
  };
8347
8403
  };
8348
8404
 
@@ -8454,6 +8510,7 @@ DvtDataGrid.prototype.buildLevelHeaders = function (
8454
8510
  var header;
8455
8511
  var i;
8456
8512
  var returnVal;
8513
+ let hidden;
8457
8514
 
8458
8515
  if (axis === 'row') {
8459
8516
  dimensionAxis = 'row';
@@ -8500,6 +8557,7 @@ DvtDataGrid.prototype.buildLevelHeaders = function (
8500
8557
  if (this._hasFrozenColumns() && index <= this.m_frozenColIndex && this.m_colHeaderFrozen) {
8501
8558
  groupingRoot = this.m_colHeaderFrozen;
8502
8559
  }
8560
+ hidden = this.isHidden(axis, index);
8503
8561
  } else {
8504
8562
  dimensionAxis = 'column';
8505
8563
  groupingRoot = this.m_colEndHeader;
@@ -8515,6 +8573,7 @@ DvtDataGrid.prototype.buildLevelHeaders = function (
8515
8573
  if (this._hasFrozenColumns() && index <= this.m_frozenColIndex && this.m_colEndHeaderFrozen) {
8516
8574
  groupingRoot = this.m_colEndHeaderFrozen;
8517
8575
  }
8576
+ hidden = this.isHidden(axis, index);
8518
8577
  }
8519
8578
 
8520
8579
  // get the extent info
@@ -8593,6 +8652,10 @@ DvtDataGrid.prototype.buildLevelHeaders = function (
8593
8652
  this.getElementDir(header, headerDimension) + totalHeaderDimensionValue,
8594
8653
  headerDimension
8595
8654
  );
8655
+ if (header.style.display === 'none' && totalHeaderDimensionValue !== 0) {
8656
+ header.style.display = '';
8657
+ this.deleteAndApplyHiddenIndicators();
8658
+ }
8596
8659
  } else if (patchAfter && index === start - 1) {
8597
8660
  // if the data source says to patch after this header
8598
8661
  // and the index is 1 less than what is currently in the viewport
@@ -8665,6 +8728,10 @@ DvtDataGrid.prototype.buildLevelHeaders = function (
8665
8728
  this.getElementDir(header, headerDimension) + totalHeaderDimensionValue,
8666
8729
  headerDimension
8667
8730
  );
8731
+ if (header.style.display === 'none' && totalHeaderDimensionValue !== 0) {
8732
+ header.style.display = '';
8733
+ this.deleteAndApplyHiddenIndicators();
8734
+ }
8668
8735
  this.setElementDir(header, dimensionToAdjustValue, dimensionToAdjust);
8669
8736
  } else {
8670
8737
  // get the information from the headers
@@ -8749,6 +8816,10 @@ DvtDataGrid.prototype.buildLevelHeaders = function (
8749
8816
 
8750
8817
  if (level + headerDepth === totalLevels) {
8751
8818
  // set the px width on the header regardless of unit type currently on it
8819
+ if (hidden) {
8820
+ headerDimensionValue = 0;
8821
+ header.style.display = 'none';
8822
+ }
8752
8823
  this.setElementDir(header, headerDimensionValue, headerDimension);
8753
8824
  totalHeaderDimensionValue += headerDimensionValue;
8754
8825
  headerCount += 1;
@@ -8808,6 +8879,10 @@ DvtDataGrid.prototype.buildLevelHeaders = function (
8808
8879
  this.setElementDir(header, dimensionToAdjustValue, dimensionToAdjust);
8809
8880
  }
8810
8881
  this.setElementDir(header, totalHeaderDimensionValue, headerDimension);
8882
+ // if all children headers of a nested header is hidden, hide parent header too
8883
+ if (this.isHeaderHidden(header)) {
8884
+ header.style.display = 'none';
8885
+ }
8811
8886
  }
8812
8887
 
8813
8888
  if (axis === 'columnEnd' && this.m_addBorderBottom) {
@@ -9081,9 +9156,14 @@ DvtDataGrid.prototype._getHeaderContainer = function (
9081
9156
  levelCount
9082
9157
  ) {
9083
9158
  var i;
9159
+ var nonSkeletonHeaders;
9084
9160
  if (headers == null) {
9085
9161
  // eslint-disable-next-line no-param-reassign
9086
- headers = this._getAllNonSkeletonContainerNodes(root.firstChild);
9162
+ nonSkeletonHeaders = Array.from(this._getAllNonSkeletonContainerNodes(root.firstChild));
9163
+ // eslint-disable-next-line no-param-reassign
9164
+ headers = nonSkeletonHeaders.filter(
9165
+ (header) => !header.classList.contains(this.getMappedStyle('headerHiddenIndicator'))
9166
+ );
9087
9167
  // if we are on the scroller children there is no first header so start at the first header in the list
9088
9168
  i = 0;
9089
9169
  } else {
@@ -9118,6 +9198,66 @@ DvtDataGrid.prototype._getHeaderContainer = function (
9118
9198
  return null;
9119
9199
  };
9120
9200
 
9201
+ DvtDataGrid.prototype._getChildElementCountByClassName = function (element, className) {
9202
+ if (element == null) {
9203
+ return 0;
9204
+ }
9205
+
9206
+ let count = 0;
9207
+ if (className) {
9208
+ count += Array.from(element.children).filter((child) =>
9209
+ this.m_utils.containsCSSClassName(child, className)
9210
+ ).length;
9211
+ }
9212
+
9213
+ return count;
9214
+ };
9215
+
9216
+ DvtDataGrid.prototype._getHeaderPreviousSibling = function (element) {
9217
+ if (!element || !element.previousSibling) {
9218
+ return null;
9219
+ }
9220
+
9221
+ const headerStyle = this.getMappedStyle('headercell');
9222
+ const endHeaderStyle = this.getMappedStyle('endheadercell');
9223
+ const groupingContainerStyle = this.getMappedStyle('groupingcontainer');
9224
+
9225
+ const prevSibling = element.previousSibling;
9226
+
9227
+ if (
9228
+ prevSibling.classList.contains(headerStyle) ||
9229
+ prevSibling.classList.contains(endHeaderStyle) ||
9230
+ prevSibling.classList.contains(groupingContainerStyle)
9231
+ ) {
9232
+ return prevSibling;
9233
+ }
9234
+ return this._getHeaderPreviousSibling(prevSibling);
9235
+ };
9236
+
9237
+ DvtDataGrid.prototype._getHeaderLastChild = function (headersContainer) {
9238
+ let lastChild = headersContainer.lastChild;
9239
+ const headerStyle = this.getMappedStyle('headercell');
9240
+ const endHeaderStyle = this.getMappedStyle('endheadercell');
9241
+ const groupingContainerStyle = this.getMappedStyle('groupingcontainer');
9242
+
9243
+ if (!lastChild) {
9244
+ return null;
9245
+ }
9246
+
9247
+ while (
9248
+ lastChild &&
9249
+ !(
9250
+ lastChild.classList.contains(headerStyle) ||
9251
+ lastChild.classList.contains(endHeaderStyle) ||
9252
+ lastChild.classList.contains(groupingContainerStyle)
9253
+ )
9254
+ ) {
9255
+ lastChild = lastChild.previousSibling;
9256
+ }
9257
+
9258
+ return lastChild;
9259
+ };
9260
+
9121
9261
  DvtDataGrid.prototype._getHeaderCellByIndex = function (index, axis, level) {
9122
9262
  let root;
9123
9263
  let totalLevels;
@@ -9212,9 +9352,12 @@ DvtDataGrid.prototype._getHeaderByIndex = function (index, level, root, totalLev
9212
9352
 
9213
9353
  // if there is only one level just get the header by index in the row ehader
9214
9354
  if (totalLevels === 1) {
9215
- var headerContent = this._getAllNonSkeletonContainerNodes(root.firstChild);
9355
+ var headerContent = Array.from(this._getAllNonSkeletonContainerNodes(root.firstChild));
9356
+ let allHeaders = headerContent.filter(
9357
+ (header) => !header.classList.contains(this.getMappedStyle('headerHiddenIndicator'))
9358
+ );
9216
9359
  relativeIndex = index - startIndex;
9217
- return headerContent[relativeIndex];
9360
+ return allHeaders[relativeIndex];
9218
9361
  }
9219
9362
  // otherwise get the column header container
9220
9363
  var headerContainer = this._getHeaderContainer(index, level, 0, null, root, totalLevels);
@@ -9884,7 +10027,7 @@ DvtDataGrid.prototype.handleCellsFetchSuccess = function (cellSet, cellRange, ro
9884
10027
  const lastChild = this.m_databodyFrozenRow.firstChild.lastChild;
9885
10028
  left = this.getElementDir(lastChild, dir) + this.getElementWidth(lastChild);
9886
10029
  }
9887
- if (this.m_frozenRowIndex !== null && this.m_rowHeaderFrozen !== null) {
10030
+ if (this._hasFrozenRows() && this.m_rowHeaderFrozen !== null) {
9888
10031
  this._populateFrozenContainer(
9889
10032
  this.m_databodyFrozenRow.firstChild,
9890
10033
  cellSet,
@@ -10094,6 +10237,12 @@ DvtDataGrid.prototype.handleCellsFetchSuccess = function (cellSet, cellRange, ro
10094
10237
  this._resetHeaderHighLight();
10095
10238
  }
10096
10239
 
10240
+ // for the databody hidden indicator on vertical scroll for newly fetched cells
10241
+ let databodyIndicatorIndex = this.getActiveDatabodyIndicators();
10242
+
10243
+ // applying visual indicator for default hidden columns
10244
+ this.deleteAndApplyHiddenIndicators(databodyIndicatorIndex);
10245
+
10097
10246
  // end fetch
10098
10247
  this._signalTaskEnd();
10099
10248
  // this.dumpRanges();
@@ -10399,6 +10548,8 @@ DvtDataGrid.prototype._addCellsToFragment = function (
10399
10548
  ) {
10400
10549
  var dir = this.getResources().isRTLMode() ? 'right' : 'left';
10401
10550
 
10551
+ let hiddenItemsInRange = 0;
10552
+
10402
10553
  var renderer = this.getRendererOrTemplate('cell');
10403
10554
  var columnBandingInterval = this.m_options.getColumnBandingInterval();
10404
10555
  var rowBandingInterval = this.m_options.getRowBandingInterval();
@@ -10572,6 +10723,12 @@ DvtDataGrid.prototype._addCellsToFragment = function (
10572
10723
  width += this._getCellDimension(cell, columnIndex, columnKey, 'column', 'width');
10573
10724
  }
10574
10725
 
10726
+ if (this.isHidden('column', columnIndex)) {
10727
+ width = 0;
10728
+ cell.style.display = 'none';
10729
+ hiddenItemsInRange += 1;
10730
+ }
10731
+
10575
10732
  // set the px width on the cell regardless of unit type currently on it
10576
10733
  this.setElementWidth(cell, width);
10577
10734
 
@@ -10646,7 +10803,7 @@ DvtDataGrid.prototype._addCellsToFragment = function (
10646
10803
  totalHeight = heights.reduce(function (total, num) {
10647
10804
  return total + num;
10648
10805
  }, 0);
10649
- var avgWidth = totalWidth / columnCount;
10806
+ var avgWidth = totalWidth / (columnCount - hiddenItemsInRange);
10650
10807
  return { avgWidth: avgWidth, totalRowHeight: totalHeight, totalColumnWidth: totalWidth };
10651
10808
  };
10652
10809
 
@@ -12461,7 +12618,10 @@ DvtDataGrid.prototype._removeCellsAlongAxis = function (axis, threshold, isFromE
12461
12618
  axis
12462
12619
  );
12463
12620
  }
12464
- var dimensionValue = this._getCellDimension(null, j, key, axis, dimension);
12621
+
12622
+ var dimensionValue = this.isHidden(axis, j)
12623
+ ? 0
12624
+ : this._getCellDimension(null, j, key, axis, dimension);
12465
12625
  if (
12466
12626
  isFromEnd
12467
12627
  ? axisEndPixel - dimensionValue - totalDimensionChange > threshold
@@ -12478,6 +12638,10 @@ DvtDataGrid.prototype._removeCellsAlongAxis = function (axis, threshold, isFromE
12478
12638
 
12479
12639
  if (axisExtent === 1) {
12480
12640
  this._remove(cell);
12641
+ // remove hidden indicator div belonging to cell (if any) along the axis
12642
+ if (this.isHidden(axis, j)) {
12643
+ this._remove(this.getHiddenIndicatorByIndex(j, this.m_databody.firstChild, false));
12644
+ }
12481
12645
  } else {
12482
12646
  cellContext.extents[axis] -= 1;
12483
12647
  this.setElementDir(cell, this.getElementDir(cell, dimension) - dimensionValue, dimension);
@@ -12530,7 +12694,15 @@ DvtDataGrid.prototype.removeHeadersFromStartOfContainer = function (
12530
12694
  ) {
12531
12695
  var removedHeaders = 0;
12532
12696
  var removedDimensionValue = 0;
12533
- var element = firstChild == null ? headersContainer.firstChild : firstChild.nextSibling;
12697
+ // To make sure we don't get other children divs (like visual indicator)
12698
+ // get elements with the header class name
12699
+ let headerElements = Array.from(headersContainer.children).filter((element) => {
12700
+ return (
12701
+ this.m_utils.containsCSSClassName(element, className) ||
12702
+ this.m_utils.containsCSSClassName(element, this.getMappedStyle('groupingcontainer'))
12703
+ );
12704
+ });
12705
+ var element = firstChild == null ? headerElements[0] : firstChild.nextSibling;
12534
12706
 
12535
12707
  if (element == null) {
12536
12708
  return { extentChange: 0, dimensionChange: 0 };
@@ -12542,12 +12714,25 @@ DvtDataGrid.prototype.removeHeadersFromStartOfContainer = function (
12542
12714
 
12543
12715
  while (startPixel + dimensionValue < scrollPosition - threshold) {
12544
12716
  this._remove(element);
12717
+ if (isHeader) {
12718
+ const context = this.getResources().getMappedAttribute('context');
12719
+ let axis = element[context].axis;
12720
+ let elementIndex = element[context].index;
12721
+ // remove header/endHeader hidden indicator div belonging to element (if any)
12722
+ // along the axis from start on scroll
12723
+ if (this.isHidden(axis, elementIndex)) {
12724
+ this._remove(this.getHiddenIndicatorByIndex(elementIndex, headersContainer, true));
12725
+ }
12726
+ }
12727
+
12728
+ /* eslint-disable no-loop-func */
12729
+ headerElements.shift();
12545
12730
  removedDimensionValue += dimensionValue;
12546
12731
  removedHeaders += isHeader ? 1 : this._getAttribute(element, 'extent', true);
12547
12732
  // eslint-disable-next-line no-param-reassign
12548
12733
  startPixel += dimensionValue;
12549
12734
 
12550
- element = firstChild == null ? headersContainer.firstChild : firstChild.nextSibling;
12735
+ element = firstChild == null ? headerElements[0] : firstChild.nextSibling;
12551
12736
  if (element == null) {
12552
12737
  return { extentChange: removedHeaders, dimensionChange: removedDimensionValue };
12553
12738
  }
@@ -12612,7 +12797,16 @@ DvtDataGrid.prototype.removeHeadersFromEndOfContainer = function (
12612
12797
  ) {
12613
12798
  var removedHeaders = 0;
12614
12799
  var removedHeadersDimension = 0;
12615
- var element = headersContainer.lastChild;
12800
+ // for hidden columns, visual indicator is appended as a child to the header container, so to avoid having them as a last child,
12801
+ // we are getting elements with the header class name
12802
+ let headerElements = Array.from(headersContainer.children).filter((element) => {
12803
+ return (
12804
+ this.m_utils.containsCSSClassName(element, className) ||
12805
+ this.m_utils.containsCSSClassName(element, this.getMappedStyle('groupingcontainer'))
12806
+ );
12807
+ });
12808
+ // get the last child of all header elements.
12809
+ let element = headerElements[headerElements.length - 1];
12616
12810
  var isHeader = this.m_utils.containsCSSClassName(element, className);
12617
12811
  var header = isHeader ? element : element.firstChild;
12618
12812
  var dimensionValue = this.getElementDir(header, dimension);
@@ -12620,13 +12814,23 @@ DvtDataGrid.prototype.removeHeadersFromEndOfContainer = function (
12620
12814
  while (endPixel - dimensionValue > threshold) {
12621
12815
  this._remove(element);
12622
12816
 
12817
+ if (isHeader) {
12818
+ const context = this.getResources().getMappedAttribute('context');
12819
+ let axis = element[context].axis;
12820
+ let elementIndex = element[context].index;
12821
+ if (this.isHidden(axis, elementIndex)) {
12822
+ this._remove(this.getHiddenIndicatorByIndex(elementIndex, headersContainer, true));
12823
+ }
12824
+ }
12825
+ /* eslint-disable no-loop-func */
12826
+ headerElements.pop();
12623
12827
  removedHeadersDimension += dimensionValue;
12624
12828
  removedHeaders += isHeader ? 1 : this._getAttribute(element, 'extent', true);
12625
12829
 
12626
12830
  // eslint-disable-next-line no-param-reassign
12627
12831
  endPixel -= dimensionValue;
12628
12832
 
12629
- element = headersContainer.lastChild;
12833
+ element = headerElements[headerElements.length - 1];
12630
12834
  isHeader = this.m_utils.containsCSSClassName(element, className);
12631
12835
  header = isHeader ? element : element.firstChild;
12632
12836
  dimensionValue = this.getElementDir(header, dimension);
@@ -13122,7 +13326,9 @@ DvtDataGrid.prototype._getCellCapability = function (cell, actualCell) {
13122
13326
  freezeRow: disable,
13123
13327
  freezeCol: disable,
13124
13328
  unfreezeRow: disable,
13125
- unfreezeCol: disable
13329
+ unfreezeCol: disable,
13330
+ hideCol: disable,
13331
+ unhideCol: disable
13126
13332
  };
13127
13333
 
13128
13334
  // if there is an actual cell that means we want the context relative to that cell,
@@ -13173,6 +13379,16 @@ DvtDataGrid.prototype._getCellCapability = function (cell, actualCell) {
13173
13379
  }
13174
13380
  }
13175
13381
 
13382
+ if (this.m_options.isHideEnabled('column')) {
13383
+ let returnObj = this._getCellHidabilityContextMenuCapability(cell);
13384
+ if (returnObj.canHide) {
13385
+ capabilities.hideCol = enable;
13386
+ }
13387
+ if (returnObj.canUnhide) {
13388
+ capabilities.unhideCol = enable;
13389
+ }
13390
+ }
13391
+
13176
13392
  if (this.m_options.isFreezeEnabled('row')) {
13177
13393
  capabilities.freezeRow = enable;
13178
13394
  if (cell[context].indexes.row === this.m_frozenRowIndex) {
@@ -13255,7 +13471,9 @@ DvtDataGrid.prototype._getHeaderCapability = function (header, actualCell) {
13255
13471
  freezeRow: disable,
13256
13472
  freezeCol: disable,
13257
13473
  unfreezeRow: disable,
13258
- unfreezeCol: disable
13474
+ unfreezeCol: disable,
13475
+ hideCol: disable,
13476
+ unhideCol: disable
13259
13477
  };
13260
13478
 
13261
13479
  // if there is an actual cell that means we want the context relative to that cell,
@@ -13334,6 +13552,21 @@ DvtDataGrid.prototype._getHeaderCapability = function (header, actualCell) {
13334
13552
  }
13335
13553
  }
13336
13554
  }
13555
+
13556
+ if (this.m_options.isHideEnabled('column')) {
13557
+ let returnObj = this._getHeaderHidabilityContextMenuCapability(header, actualCell);
13558
+ if (returnObj.canHide) {
13559
+ capabilities.hideCol = enable;
13560
+ }
13561
+ if (returnObj.canUnhide) {
13562
+ capabilities.unhideCol = enable;
13563
+ }
13564
+ }
13565
+
13566
+ if (axis === 'row' && !actualCell) {
13567
+ capabilities.hideCol = disable;
13568
+ capabilities.unhideCol = disable;
13569
+ }
13337
13570
  }
13338
13571
  capabilities.resize =
13339
13572
  capabilities.resizeHeight === enable || capabilities.resizeWidth === enable ? enable : disable;
@@ -13441,6 +13674,10 @@ DvtDataGrid.prototype.handleContextMenuReturn = function (event, id, value) {
13441
13674
  this._handleUnFreeze('column', event);
13442
13675
  } else if (id === this.m_resources.getMappedCommand('unfreezeRow')) {
13443
13676
  this._handleUnFreeze('row', event);
13677
+ } else if (id === this.m_resources.getMappedCommand('hideCol')) {
13678
+ this._handleHideColumn(event, target);
13679
+ } else if (id === this.m_resources.getMappedCommand('unhideCol')) {
13680
+ this._handleUnhideColumn(event, target);
13444
13681
  }
13445
13682
  };
13446
13683
 
@@ -13654,6 +13891,9 @@ DvtDataGrid.prototype.handleHeaderLabelMouseMove = function (event) {
13654
13891
  * @param {Event} event - mousedown event on the headers
13655
13892
  */
13656
13893
  DvtDataGrid.prototype.handleHeaderMouseDown = function (event) {
13894
+ // removing hidden column indicator in databody after hiding a column
13895
+ // on mousedown on headers
13896
+ this.deleteDatabodyHiddenVisualIndicators();
13657
13897
  var processed;
13658
13898
 
13659
13899
  const header = this.findHeader(event.target);
@@ -13930,6 +14170,7 @@ DvtDataGrid.prototype.handleHeaderMouseUp = function (event) {
13930
14170
  };
13931
14171
 
13932
14172
  DvtDataGrid.prototype.handleCornerMouseDown = function (event) {
14173
+ this.deleteDatabodyHiddenVisualIndicators();
13933
14174
  let target = /** @type {Element} */ (event.target);
13934
14175
  let end =
13935
14176
  this.m_utils.containsCSSClassName(target, this.getMappedStyle('rowendheaderlabel')) ||
@@ -14215,6 +14456,9 @@ DvtDataGrid.prototype._isSelectionAcrossAxis = function () {
14215
14456
  * @param {Event} event - mousedown event on the databody
14216
14457
  */
14217
14458
  DvtDataGrid.prototype.handleDatabodyMouseDown = function (event) {
14459
+ // removing hidden column indicator in databody after hiding a column
14460
+ // on mousedown elsewhere in databody
14461
+ this.deleteDatabodyHiddenVisualIndicators();
14218
14462
  var target = /** @type {Element} */ (event.target);
14219
14463
  var cell = this.findCell(target);
14220
14464
  if (cell == null) {
@@ -16062,10 +16306,15 @@ DvtDataGrid.prototype._handleInsertRangeHeaderFetchSuccess = function (
16062
16306
 
16063
16307
  const dir = this.getResources().isRTLMode() ? 'right' : 'left';
16064
16308
  const start = headerRange.start;
16309
+ const count = commonProps.range.count;
16065
16310
  const headerFragment = commonProps.headerFragment;
16066
16311
  const endHeaderFragment = commonProps.endHeaderFragment;
16067
16312
  const insertDimension = axis === 'row' ? 'top' : dir;
16068
16313
 
16314
+ if (axis === 'column') {
16315
+ this.updateHiddenColumnsForInsertion(start, count);
16316
+ }
16317
+
16069
16318
  let insertReference;
16070
16319
  let insertPixel;
16071
16320
  let headerCount;
@@ -16163,7 +16412,9 @@ DvtDataGrid.prototype._handleInsertRangeHeaderFetchSuccess = function (
16163
16412
  levelCount = this.m_columnEndHeaderLevelCount;
16164
16413
  className += ' ' + this.getMappedStyle('colendheadercell');
16165
16414
  }
16415
+
16166
16416
  const endAxis = `${axis}End`;
16417
+
16167
16418
  insertReference = this._getHeaderCellByIndex(start, endAxis, levelCount - 1);
16168
16419
  insertPixel = this.getElementDir(insertReference, insertDimension);
16169
16420
 
@@ -16544,7 +16795,7 @@ DvtDataGrid.prototype._handleInsertRangeCellFetchSuccess = function (
16544
16795
  }
16545
16796
  if (hasHeaders) {
16546
16797
  this.m_endRowHeader += count;
16547
- if (offset > this.m_frozenRowIndex + 1) {
16798
+ if (!this._hasFrozenRows() || (this._hasFrozenRows() && offset > this.m_frozenRowIndex + 1)) {
16548
16799
  this.m_endRowHeaderPixel += totalDimension;
16549
16800
  }
16550
16801
  this.m_stopRowHeaderFetch = false;
@@ -16575,7 +16826,10 @@ DvtDataGrid.prototype._handleInsertRangeCellFetchSuccess = function (
16575
16826
  }
16576
16827
  if (hasHeaders) {
16577
16828
  this.m_endColHeader += count;
16578
- if (offset > this.m_frozenColIndex + 1) {
16829
+ if (
16830
+ !this._hasFrozenColumns() ||
16831
+ (this._hasFrozenColumns() && offset > this.m_frozenColIndex + 1)
16832
+ ) {
16579
16833
  this.m_endColHeaderPixel += totalDimension;
16580
16834
  }
16581
16835
  this.m_stopColumnHeaderFetch = false;
@@ -16599,6 +16853,9 @@ DvtDataGrid.prototype._handleInsertRangeCellFetchSuccess = function (
16599
16853
  this.updateColumnBanding();
16600
16854
  }
16601
16855
 
16856
+ // this.setHiddenColumnsDisplayAndWidth();
16857
+ this.deleteAndApplyHiddenIndicators();
16858
+
16602
16859
  if (!dontModifySelection) {
16603
16860
  this.applySelection();
16604
16861
  this._resetHeaderHighLight();
@@ -17495,8 +17752,10 @@ DvtDataGrid.prototype._splitRange = function (cellSet, rowStart, rowEnd, colStar
17495
17752
  // eslint-disable-next-line no-param-reassign
17496
17753
  rowStart = this.m_frozenRowIndex + 1;
17497
17754
  }
17755
+
17498
17756
  let frozenColExists = this.m_frozenColIndex !== null && this.m_frozenColIndex !== -1;
17499
17757
  let frozenRowExists = this.m_frozenRowIndex !== null && this.m_frozenRowIndex !== -1;
17758
+
17500
17759
  if (
17501
17760
  (!frozenColExists && !frozenRowExists) ||
17502
17761
  ((frozenColExists || frozenRowExists) &&
@@ -17754,6 +18013,8 @@ DvtDataGrid.prototype._handleDeleteRangeEvent = function (eventDetail) {
17754
18013
  }
17755
18014
  }
17756
18015
 
18016
+ this.updateHiddenColumnsForDeletion(indexes);
18017
+
17757
18018
  // we want to walk indexes in order to push things up and modify their context objects
17758
18019
  indexes.reverse();
17759
18020
  // identify frozen section indexes and separate it out from regular indexes.
@@ -17941,6 +18202,8 @@ DvtDataGrid.prototype._handleDeleteRangeEvent = function (eventDetail) {
17941
18202
  }
17942
18203
  }
17943
18204
  this.resizeGrid();
18205
+ // this.setHiddenColumnsDisplayAndWidth();
18206
+ this.deleteAndApplyHiddenIndicators();
17944
18207
  this.m_resizeRequired = true;
17945
18208
  let self = this;
17946
18209
  Promise.resolve().then(() => {
@@ -18905,6 +19168,7 @@ DvtDataGrid.prototype._setActive = function (
18905
19168
  if (clearSelection && this._isSelectionEnabled()) {
18906
19169
  this._clearSelection(event);
18907
19170
  }
19171
+ this.deleteDatabodyHiddenVisualIndicators();
18908
19172
  this._unhighlightActiveObject(this.m_prevActive);
18909
19173
  this._highlightActiveObject(this.m_active, this.m_prevActive, null, shouldNotScroll);
18910
19174
  this._manageMoveCursor();
@@ -19457,6 +19721,7 @@ DvtDataGrid.prototype.getHeaderCellIndex = function (header) {
19457
19721
  var start;
19458
19722
  var index;
19459
19723
  let frozenRoot;
19724
+ let headerElement = header;
19460
19725
 
19461
19726
  var axis = this.getHeaderCellAxis(header);
19462
19727
  switch (axis) {
@@ -19506,17 +19771,25 @@ DvtDataGrid.prototype.getHeaderCellIndex = function (header) {
19506
19771
  index = start;
19507
19772
  }
19508
19773
 
19509
- while (header.previousSibling) {
19774
+ // To get header Index, make sure we don't get other children divs (like visual indicator)
19775
+ // check divs if they aren't hiddenIndicators by 'headerHiddenIndicator' class name
19776
+ // eslint-disable-next-line no-param-reassign
19777
+ headerElement = this._getHeaderPreviousSibling(headerElement);
19778
+ while (headerElement) {
19510
19779
  index += 1;
19511
19780
  // eslint-disable-next-line no-param-reassign
19512
- header = header.previousSibling;
19781
+ headerElement = this._getHeaderPreviousSibling(headerElement);
19513
19782
  }
19783
+
19514
19784
  if (
19515
19785
  levelCount === 1 &&
19516
19786
  frozenRoot !== undefined &&
19517
19787
  frozenRoot.querySelector(`#${header.id}`) === null
19518
19788
  ) {
19519
- index += frozenRoot.firstChild.childElementCount;
19789
+ index += this._getChildElementCountByClassName(
19790
+ frozenRoot.firstChild,
19791
+ this.getMappedStyle('headercell')
19792
+ );
19520
19793
  }
19521
19794
 
19522
19795
  return index;
@@ -20602,10 +20875,12 @@ DvtDataGrid.prototype._applyBorderClassesAroundRange = function (
20602
20875
 
20603
20876
  // we use a different border for these
20604
20877
  let isFirstRow = rangeStartRow === 0;
20605
- let isFirstColumn = rangeStartColumn === 0;
20878
+ let isFirstColumn = this.isFirstOrFirstNonHiddenIndex(rangeStartColumn);
20606
20879
  let startBorderRowIndex = isFirstRow ? 0 : rangeStartRow - 1;
20607
20880
  let endBorderRowIndex = rangeEndRow;
20608
- let startBorderColumnIndex = isFirstColumn ? 0 : rangeStartColumn - 1;
20881
+ let startBorderColumnIndex = isFirstColumn
20882
+ ? rangeStartColumn
20883
+ : this.getVisibleCellIndexInDirection('column', rangeStartColumn - 1, { left: true });
20609
20884
  let endBorderColumnIndex = rangeEndColumn;
20610
20885
 
20611
20886
  for (let i = rangeStartRow; i <= rangeEndRow; i++) {
@@ -21057,6 +21332,9 @@ DvtDataGrid.prototype.handleLabelFocusChange = function (keyCode, event, isExten
21057
21332
  this._setActive(newElement, { type: 'label', level: level + 1, axis: axis }, event);
21058
21333
  } else if (level === levelCount - 1) {
21059
21334
  newIndex = axis === 'row' ? this.m_startColHeader : this.m_endColHeader;
21335
+ while (this.isHidden('column', newIndex)) {
21336
+ newIndex = axis === 'row' ? newIndex + 1 : newIndex - 1;
21337
+ }
21060
21338
  newElement = this._getHeaderCellByIndex(
21061
21339
  newIndex,
21062
21340
  'column',
@@ -21082,7 +21360,19 @@ DvtDataGrid.prototype.handleLabelFocusChange = function (keyCode, event, isExten
21082
21360
  }
21083
21361
  }
21084
21362
  if (axis === 'column' || axis === 'columnEnd') {
21085
- newElement = this._getHeaderCellByIndex(start, axis, level);
21363
+ newIndex = start;
21364
+ newElement = this._getHeaderCellByIndex(newIndex, axis, level);
21365
+ // iterate through headers to find the visible element to focus
21366
+
21367
+ while (newElement && this.isHeaderHidden(newElement)) {
21368
+ newIndex =
21369
+ level !== levelCount - 1
21370
+ ? this._getAttribute(newElement.parentNode, 'start', true) +
21371
+ this._getAttribute(newElement.parentNode, 'extent', true)
21372
+ : newIndex + 1;
21373
+ newElement = this._getHeaderCellByIndex(newIndex, axis, level);
21374
+ }
21375
+
21086
21376
  if (this._isSelectionEnabled() && !this.m_discontiguousSelection) {
21087
21377
  // unhighlight and clear selection
21088
21378
  this._clearSelection(event);
@@ -21138,6 +21428,7 @@ DvtDataGrid.prototype.handleHeaderFocusChange = function (
21138
21428
  var levelCount;
21139
21429
  var stopFetch;
21140
21430
  let start;
21431
+ let root;
21141
21432
 
21142
21433
  let emptyElement = this._getEmptyElement();
21143
21434
 
@@ -21198,6 +21489,7 @@ DvtDataGrid.prototype.handleHeaderFocusChange = function (
21198
21489
  }
21199
21490
 
21200
21491
  if (axis === 'column') {
21492
+ root = this.m_colHeader;
21201
21493
  end = this.m_endColHeader;
21202
21494
  levelCount = this.m_columnHeaderLevelCount;
21203
21495
  stopFetch = this.m_stopColumnHeaderFetch;
@@ -21217,6 +21509,7 @@ DvtDataGrid.prototype.handleHeaderFocusChange = function (
21217
21509
  // eslint-disable-next-line no-param-reassign
21218
21510
  keyCode = this.keyCodes.DOWN_KEY;
21219
21511
  }
21512
+ root = this.m_colEndHeader;
21220
21513
  end = this.m_endColEndHeader;
21221
21514
  levelCount = this.m_columnEndHeaderLevelCount;
21222
21515
  stopFetch = this.m_stopColumnEndHeaderFetch;
@@ -21278,7 +21571,7 @@ DvtDataGrid.prototype.handleHeaderFocusChange = function (
21278
21571
  switch (keyCode) {
21279
21572
  case this.keyCodes.LEFT_KEY:
21280
21573
  if (axis === 'column' || axis === 'columnEnd') {
21281
- if (index > 0) {
21574
+ if (index > 0 && !this.isFirstOrFirstNonHiddenIndex(index)) {
21282
21575
  if (jumpToHeaders && this.m_headerLabels[axis][level]) {
21283
21576
  this._setActive(
21284
21577
  this.m_headerLabels[axis][level],
@@ -21307,24 +21600,30 @@ DvtDataGrid.prototype.handleHeaderFocusChange = function (
21307
21600
  );
21308
21601
  break;
21309
21602
  }
21310
- if (levelCount === 1) {
21311
- newIndex = index - 1;
21312
- newElement = elem != null ? elem.previousSibling : null;
21313
- if (elem.previousSibling === null && this._hasFrozenColumns()) {
21314
- newElement = this._getHeaderCellByIndex(index - 1, axis, level);
21315
- }
21316
- newLevel = level;
21317
- } else {
21318
- newElement = this._getHeaderCellByIndex(index - 1, axis, level);
21319
- newIndex =
21320
- newElement != null
21321
- ? this._getAttribute(newElement.parentNode, 'start', true)
21322
- : index - 1;
21323
- newLevel = newElement != null ? this.getHeaderCellLevel(newElement) : level;
21324
- if (newIndex < 0) {
21325
- break;
21326
- }
21603
+
21604
+ newElement = this._getHeaderByIndex(index - 1, level, root, levelCount, start);
21605
+ newIndex =
21606
+ newElement != null && level !== levelCount - 1
21607
+ ? this._getAttribute(newElement.parentNode, 'start', true) -
21608
+ this._getAttribute(newElement.parentNode, 'extent', true)
21609
+ : index - 1;
21610
+ // iterate through headers to find the visible element to focus
21611
+ let i = 1;
21612
+ while (this.isHeaderHidden(newElement)) {
21613
+ newIndex = index - 1 - i;
21614
+ newElement = this._getHeaderByIndex(newIndex, level, root, levelCount, start);
21615
+ i += 1;
21327
21616
  }
21617
+ newIndex =
21618
+ newElement != null && level !== levelCount - 1
21619
+ ? this._getAttribute(newElement.parentNode, 'start', true)
21620
+ : newIndex;
21621
+
21622
+ newLevel = newElement != null ? this.getHeaderCellLevel(newElement) : level;
21623
+ if (newIndex < 0) {
21624
+ break;
21625
+ }
21626
+
21328
21627
  if (isExtend) {
21329
21628
  this.extendSelectionHeader(newElement, event, true);
21330
21629
  } else if (newIndex < start) {
@@ -21526,12 +21825,30 @@ DvtDataGrid.prototype.handleHeaderFocusChange = function (
21526
21825
  } else if (emptyElement) {
21527
21826
  this._setActive(emptyElement, { type: 'empty' }, event, true);
21528
21827
  } else {
21828
+ let lastVisibleIndex;
21829
+ let firstVisibleIndex;
21830
+
21529
21831
  if (axis === 'row') {
21530
- newCellIndex = this.createIndex(index, 0);
21832
+ // gets the first visible cell of the current row
21833
+ for (let i = 0; i <= this.getDataSource().getCount('column') - 1; i++) {
21834
+ if (!this.isHidden('column', i)) {
21835
+ firstVisibleIndex = i;
21836
+ break;
21837
+ }
21838
+ }
21839
+ newCellIndex = this.createIndex(index, firstVisibleIndex);
21531
21840
  } else if (this._isHighWatermarkScrolling()) {
21532
- newCellIndex = this.createIndex(index, this.m_endCol);
21841
+ lastVisibleIndex = this.getVisibleCellIndexInDirection('column', this.m_endCol, {
21842
+ left: true
21843
+ });
21844
+ newCellIndex = this.createIndex(index, lastVisibleIndex);
21533
21845
  } else {
21534
- newCellIndex = this.createIndex(index, this.getDataSource().getCount('column') - 1);
21846
+ lastVisibleIndex = this.getVisibleCellIndexInDirection(
21847
+ 'column',
21848
+ this.getDataSource().getCount('column') - 1,
21849
+ { left: true }
21850
+ );
21851
+ newCellIndex = this.createIndex(index, lastVisibleIndex);
21535
21852
  }
21536
21853
  if (this._isSelectionEnabled()) {
21537
21854
  this.selectAndFocus(newCellIndex, event);
@@ -21583,26 +21900,23 @@ DvtDataGrid.prototype.handleHeaderFocusChange = function (
21583
21900
  event
21584
21901
  );
21585
21902
  } else {
21586
- if (levelCount === 1) {
21587
- newIndex = index + 1;
21588
- newElement = elem != null ? elem.nextSibling : null;
21589
- if (elem.nextSibling === null && this._hasFrozenColumns()) {
21590
- newElement = this._getHeaderCellByIndex(newIndex, axis, level);
21591
- }
21592
- newLevel = level;
21593
- } else {
21594
- if (level === levelCount - 1) {
21595
- newIndex = index + 1;
21596
- } else {
21597
- newIndex =
21598
- elem != null
21599
- ? this._getAttribute(elem.parentNode, 'start', true) +
21600
- this._getAttribute(elem.parentNode, 'extent', true)
21601
- : index + 1;
21602
- }
21903
+ newIndex =
21904
+ elem != null && level !== levelCount - 1
21905
+ ? this._getAttribute(elem.parentNode, 'start', true) +
21906
+ this._getAttribute(elem.parentNode, 'extent', true)
21907
+ : index + 1;
21908
+ newElement = this._getHeaderCellByIndex(newIndex, axis, level);
21909
+
21910
+ // iterate through headers to find the visible element to focus
21911
+ while (newElement && this.isHeaderHidden(newElement)) {
21912
+ newIndex =
21913
+ level !== levelCount - 1
21914
+ ? this._getAttribute(newElement.parentNode, 'start', true) +
21915
+ this._getAttribute(newElement.parentNode, 'extent', true)
21916
+ : newIndex + 1;
21603
21917
  newElement = this._getHeaderCellByIndex(newIndex, axis, level);
21604
- newLevel = newElement != null ? this.getHeaderCellLevel(newElement) : level;
21605
21918
  }
21919
+ newLevel = newElement != null ? this.getHeaderCellLevel(newElement) : level;
21606
21920
 
21607
21921
  if (
21608
21922
  !(newIndex > end && stopFetch) &&
@@ -21931,7 +22245,8 @@ DvtDataGrid.prototype.handleHeaderFocusChange = function (
21931
22245
  }
21932
22246
  }
21933
22247
  } else {
21934
- // moving down a level in the header
22248
+ // moving down a level in the header, get the visible cell index to focus
22249
+ index = this.getVisibleCellIndexInDirection('column', index, { down: true });
21935
22250
  newElement = this._getHeaderCellByIndex(index, axis, level + depth);
21936
22251
  newIndex = this._getAttribute(newElement.parentNode, 'start', true);
21937
22252
  newLevel = this.getHeaderCellLevel(newElement);
@@ -22053,22 +22368,45 @@ DvtDataGrid.prototype.handleHeaderFocusChange = function (
22053
22368
  break;
22054
22369
  case this.keyCodes.HOME_KEY:
22055
22370
  if (axis === 'column' || axis === 'columnEnd') {
22056
- // selects the first cell of the current row
22057
- elem = this._getHeaderCellByIndex(0, axis, level);
22058
- this._setActive(elem, { type: 'header', index: 0, level: level, axis: axis }, event);
22371
+ let firstVisibleIndex;
22372
+ // gets the first visible cell of the current row
22373
+ for (let i = 0; i <= index; i++) {
22374
+ if (!this.isHidden(axis, i)) {
22375
+ firstVisibleIndex = i;
22376
+ break;
22377
+ }
22378
+ }
22379
+ elem = this._getHeaderCellByIndex(firstVisibleIndex, axis, level);
22380
+ this._setActive(
22381
+ elem,
22382
+ { type: 'header', index: firstVisibleIndex, level: level, axis: axis },
22383
+ event
22384
+ );
22059
22385
  }
22060
22386
  break;
22061
22387
  case this.keyCodes.END_KEY:
22062
22388
  if (axis === 'column' || axis === 'columnEnd') {
22389
+ let lastColIndex;
22063
22390
  // selects the last cell of the current row
22064
22391
  if (!this._isCountUnknown('column') && !this._isHighWatermarkScrolling()) {
22065
- index = Math.max(0, this.getDataSource().getCount('column') - 1);
22392
+ lastColIndex = Math.max(0, this.getDataSource().getCount('column') - 1);
22066
22393
  } else {
22067
- index = Math.max(0, end);
22394
+ lastColIndex = Math.max(0, end);
22395
+ }
22396
+ // Check to get last visible index to focus on END keydown
22397
+ for (let i = lastColIndex; i >= index; i--) {
22398
+ if (!this.isHidden(axis, i)) {
22399
+ lastColIndex = i;
22400
+ break;
22401
+ }
22068
22402
  }
22069
22403
  // selects the first cell of the current row
22070
- elem = this._getHeaderCellByIndex(index, axis, level);
22071
- this._setActive(elem, { type: 'header', index: index, level: level, axis: axis }, event);
22404
+ elem = this._getHeaderCellByIndex(lastColIndex, axis, level);
22405
+ this._setActive(
22406
+ elem,
22407
+ { type: 'header', index: lastColIndex, level: level, axis: axis },
22408
+ event
22409
+ );
22072
22410
  }
22073
22411
  break;
22074
22412
  default:
@@ -22260,12 +22598,23 @@ DvtDataGrid.prototype._isNeighborCellEmpty = function (cell, axis) {
22260
22598
  let columnIndex = this._getIndex(cell, 'column');
22261
22599
 
22262
22600
  if (axis === 'row') {
22263
- let previousCell = this._getCellByIndex({ row: rowIndex, column: columnIndex - 1 });
22264
- let nextCell = this._getCellByIndex({ row: rowIndex, column: columnIndex + 1 });
22601
+ let prevColIndex = this.getVisibleCellIndexInDirection('column', columnIndex - 1, {
22602
+ left: true
22603
+ });
22604
+ let nextColIndex = this.getVisibleCellIndexInDirection('column', columnIndex + 1, {
22605
+ right: true
22606
+ });
22607
+ let previousCell = this._getCellByIndex({ row: rowIndex, column: prevColIndex });
22608
+ let nextCell = this._getCellByIndex({ row: rowIndex, column: nextColIndex });
22265
22609
 
22610
+ // On Ctrl arrow,
22611
+ // to focus neighbor cell of empty cell, we are checking
22612
+ // if current index prev/next cell is empty and current index cell not empty
22613
+ // Also, if there are any empty hidden columns, we are not following Ctrl + Arrow behavior
22266
22614
  if (
22267
22615
  (this._isChildEmpty(previousCell) || this._isChildEmpty(nextCell)) &&
22268
- !this._isChildEmpty(cell)
22616
+ !this._isChildEmpty(cell) &&
22617
+ !this.isHidden('column', columnIndex)
22269
22618
  ) {
22270
22619
  return true;
22271
22620
  }
@@ -22637,8 +22986,45 @@ DvtDataGrid.prototype.handleFocusChange = function (
22637
22986
  } else if (column - 1 < this.m_startCol) {
22638
22987
  this._scrollSkeletonCellsIntoViewport(row, column, 'column', false);
22639
22988
  } else {
22640
- newCellIndex = this.createIndex(this.m_trueIndex.row, column - 1);
22641
- focusFunc(newCellIndex, event);
22989
+ let visibleColumnIndex = column - 1;
22990
+ let rowStartHeader = false;
22991
+ while (this.isHidden('column', visibleColumnIndex)) {
22992
+ if (visibleColumnIndex === 0) {
22993
+ visibleColumnIndex = this.getVisibleCellIndexInDirection(
22994
+ 'column',
22995
+ visibleColumnIndex,
22996
+ {
22997
+ right: true
22998
+ }
22999
+ );
23000
+ rowStartHeader = true;
23001
+ break;
23002
+ }
23003
+ visibleColumnIndex -= 1;
23004
+ }
23005
+ if (rowStartHeader && changeRegions) {
23006
+ header = this._getHeaderByIndex(
23007
+ this.m_trueIndex.row,
23008
+ this.m_rowHeaderLevelCount - 1,
23009
+ this.m_rowHeader,
23010
+ this.m_rowHeaderLevelCount,
23011
+ this.m_startRowHeader
23012
+ );
23013
+ this._setActive(
23014
+ header,
23015
+ {
23016
+ type: 'header',
23017
+ index: this.m_trueIndex.row,
23018
+ level: this.m_rowHeaderLevelCount - 1,
23019
+ axis: 'row'
23020
+ },
23021
+ event,
23022
+ true
23023
+ );
23024
+ } else {
23025
+ newCellIndex = this.createIndex(this.m_trueIndex.row, visibleColumnIndex);
23026
+ focusFunc(newCellIndex, event);
23027
+ }
22642
23028
  }
22643
23029
 
22644
23030
  // announce to screen reader that we have reached first column
@@ -22731,8 +23117,45 @@ DvtDataGrid.prototype.handleFocusChange = function (
22731
23117
  newCellIndex = this.createIndex(row, column + 1);
22732
23118
  this.extendSelection(newCellIndex, event, keyCode);
22733
23119
  } else {
22734
- newCellIndex = this.createIndex(this.m_trueIndex.row, column + columnExtent);
22735
- focusFunc(newCellIndex, event);
23120
+ let visibleColumnIndex = column + columnExtent;
23121
+ let rowEndHeader = false;
23122
+ while (this.isHidden('column', visibleColumnIndex)) {
23123
+ if (this._isLastColumn(visibleColumnIndex)) {
23124
+ visibleColumnIndex = this.getVisibleCellIndexInDirection(
23125
+ 'column',
23126
+ visibleColumnIndex,
23127
+ {
23128
+ left: true
23129
+ }
23130
+ );
23131
+ rowEndHeader = true;
23132
+ break;
23133
+ }
23134
+ visibleColumnIndex += 1;
23135
+ }
23136
+ if (rowEndHeader && this.m_endRowEndHeader !== -1) {
23137
+ header = this._getHeaderByIndex(
23138
+ this.m_trueIndex.row,
23139
+ this.m_rowEndHeaderLevelCount - 1,
23140
+ this.m_rowEndHeader,
23141
+ this.m_rowEndHeaderLevelCount,
23142
+ this.m_startRowEndHeader
23143
+ );
23144
+ this._setActive(
23145
+ header,
23146
+ {
23147
+ type: 'header',
23148
+ index: this.m_trueIndex.row,
23149
+ level: this.m_rowEndHeaderLevelCount - 1,
23150
+ axis: 'rowEnd'
23151
+ },
23152
+ event,
23153
+ true
23154
+ );
23155
+ } else {
23156
+ newCellIndex = this.createIndex(this.m_trueIndex.row, visibleColumnIndex);
23157
+ focusFunc(newCellIndex, event);
23158
+ }
22736
23159
  }
22737
23160
 
22738
23161
  // announce to screen reader that we have reached last column
@@ -22942,47 +23365,69 @@ DvtDataGrid.prototype.handleFocusChange = function (
22942
23365
  focusFunc(currentCellIndex, event);
22943
23366
  }
22944
23367
  break;
22945
- case this.keyCodes.HOME_KEY:
23368
+ case this.keyCodes.HOME_KEY: {
23369
+ let rowIndex = 0;
23370
+ let colIndex = 0;
23371
+ // Check to get first visible index to focus on HOME keydown
23372
+ for (let i = 0; i <= column; i++) {
23373
+ if (!this.isHidden('column', i)) {
23374
+ colIndex = i;
23375
+ break;
23376
+ }
23377
+ }
23378
+
22946
23379
  if (cellExtreme) {
22947
- var firstCellIndex = this.createIndex(0, 0);
23380
+ var firstCellIndex = this.createIndex(rowIndex, colIndex);
22948
23381
  focusFunc(firstCellIndex, event);
22949
23382
  } else {
22950
23383
  if (!this.m_trueIndex.row) {
22951
23384
  this.m_trueIndex = { row: row };
22952
23385
  }
22953
23386
  // selects the first cell of the current row
22954
- newCellIndex = this.createIndex(this.m_trueIndex.row, 0);
23387
+ newCellIndex = this.createIndex(this.m_trueIndex.row, colIndex);
22955
23388
  focusFunc(newCellIndex, event);
22956
23389
  }
22957
23390
  break;
22958
- case this.keyCodes.END_KEY:
23391
+ }
23392
+ case this.keyCodes.END_KEY: {
22959
23393
  if (!this.m_trueIndex.row) {
22960
23394
  this.m_trueIndex = { row: row, column: column };
22961
23395
  }
23396
+ let lastColIndex;
23397
+ if (!this._isCountUnknown('column') && !this._isHighWatermarkScrolling()) {
23398
+ lastColIndex = Math.max(0, this.getDataSource().getCount('column') - 1);
23399
+ } else {
23400
+ lastColIndex = Math.max(0, this.m_endCol);
23401
+ }
23402
+ // Check to get last visible index to focus on END keydown
23403
+ for (let i = lastColIndex; i >= column; i--) {
23404
+ if (!this.isHidden('column', i)) {
23405
+ lastColIndex = i;
23406
+ break;
23407
+ }
23408
+ }
22962
23409
  if (cellExtreme) {
22963
23410
  let lastCellIndex;
22964
23411
  if (!this._isCountUnknown('column') && !this._isHighWatermarkScrolling()) {
22965
23412
  lastCellIndex = this.createIndex(
22966
23413
  Math.max(0, this.getDataSource().getCount('row') - 1),
22967
- Math.max(0, this.getDataSource().getCount('column') - 1)
23414
+ lastColIndex
22968
23415
  );
22969
23416
  } else {
22970
- lastCellIndex = this.createIndex(Math.max(0, this.m_endRow), Math.max(0, this.m_endCol));
23417
+ lastCellIndex = this.createIndex(Math.max(0, this.m_endRow), lastColIndex);
22971
23418
  }
22972
23419
  focusFunc(lastCellIndex, event);
22973
23420
  } else {
22974
23421
  // selects the last cell of the current row
22975
23422
  if (!this._isCountUnknown('column') && !this._isHighWatermarkScrolling()) {
22976
- newCellIndex = this.createIndex(
22977
- this.m_trueIndex.row,
22978
- Math.max(0, this.getDataSource().getCount('column') - 1)
22979
- );
23423
+ newCellIndex = this.createIndex(this.m_trueIndex.row, lastColIndex);
22980
23424
  } else {
22981
- newCellIndex = this.createIndex(this.m_trueIndex.row, Math.max(0, this.m_endCol));
23425
+ newCellIndex = this.createIndex(this.m_trueIndex.row, Math.max(0, lastColIndex));
22982
23426
  }
22983
23427
  focusFunc(newCellIndex, event);
22984
23428
  }
22985
23429
  break;
23430
+ }
22986
23431
  case this.keyCodes.PAGEUP_KEY:
22987
23432
  if (!this.m_trueIndex.column) {
22988
23433
  this.m_trueIndex = { column: column };
@@ -23100,10 +23545,17 @@ DvtDataGrid.prototype.scrollToIndex = function (index, ignoreHighlight, scrollTo
23100
23545
  // approximate scroll position
23101
23546
  if (column < this.m_startCol || column > this.m_endCol) {
23102
23547
  var scrollLeft;
23548
+ let hiddenColumnsInDirection;
23549
+ let hiddenLength;
23103
23550
  if (column < this.m_startCol) {
23104
- scrollLeft = this.m_avgColWidth * column;
23551
+ hiddenColumnsInDirection = this.hiddenColumnsInDirection(column, { left: true });
23552
+ hiddenLength = hiddenColumnsInDirection.length;
23553
+ scrollLeft = this.m_avgColWidth * (column - hiddenLength);
23105
23554
  } else {
23106
- scrollLeft = this.m_avgColWidth * (column + 1) - viewportRight + viewportLeft;
23555
+ hiddenColumnsInDirection = this.hiddenColumnsInDirection(column, { right: true });
23556
+ hiddenLength = hiddenColumnsInDirection.length;
23557
+ scrollLeft =
23558
+ this.m_avgColWidth * (column - hiddenLength + 1) - viewportRight + viewportLeft;
23107
23559
  }
23108
23560
  deltaX = this.m_currentScrollLeft - scrollLeft;
23109
23561
 
@@ -24262,7 +24714,9 @@ DvtDataGrid.prototype.handleRootFocus = function (event, isPopupFocusin) {
24262
24714
  // no data slot
24263
24715
  this._setActive(emptyElement, { type: 'empty' }, event, null, null, shouldNotScroll, true);
24264
24716
  } else if (this.m_active == null && !this._databodyEmpty()) {
24265
- var newCellIndex = this.createIndex(0, 0);
24717
+ var newCellIndex;
24718
+ let firstVisibleColumn = this.getVisibleCellIndexInDirection('column', 0, { right: true });
24719
+ newCellIndex = this.createIndex(0, firstVisibleColumn);
24266
24720
 
24267
24721
  if (!shouldNotScroll) {
24268
24722
  // make sure it's visible
@@ -25995,10 +26449,19 @@ DvtDataGrid.prototype._resizeSelectedHeaders = function (
25995
26449
  }
25996
26450
  if (selectedHeaders && selectedHeaders.length) {
25997
26451
  for (let i = 0; i < selectedHeaders.length; i++) {
26452
+ let currentHeaderContext =
26453
+ selectedHeaders[i][this.getResources().getMappedAttribute('context')];
26454
+ let currentHeaderIndex = currentHeaderContext.index;
25998
26455
  if (resizingElement !== selectedHeaders[i]) {
25999
26456
  this.m_resizingElement = selectedHeaders[i];
26000
26457
  if (resizeHeaderMode === 'column') {
26001
- this.resizeColWidth(this.getElementDir(selectedHeaders[i], 'width'), newWidth);
26458
+ if (this.isHidden('column', currentHeaderIndex)) {
26459
+ let currentHeaderKey = currentHeaderContext.key;
26460
+ this.m_sizingManager.setSize('column', currentHeaderKey, newWidth);
26461
+ this.resizeColWidth(this.getElementDir(selectedHeaders[i], 'width'), 0);
26462
+ } else {
26463
+ this.resizeColWidth(this.getElementDir(selectedHeaders[i], 'width'), newWidth);
26464
+ }
26002
26465
  } else {
26003
26466
  this.resizeRowHeight(this.getElementDir(selectedHeaders[i], 'height'), newHeight);
26004
26467
  }
@@ -26132,7 +26595,8 @@ DvtDataGrid.prototype.manageHeaderCursor = function (event, isLabel) {
26132
26595
  widthResizable = this._isDOMElementResizable(elem);
26133
26596
  // previous is the previous index same level
26134
26597
  if (!isLabel) {
26135
- sibling = this._getHeaderCellByIndex(index - 1, 'column', level);
26598
+ let previousIndex = this.getVisibleCellIndexInDirection('column', index - 1, { left: true });
26599
+ sibling = this._getHeaderCellByIndex(previousIndex, 'column', level);
26136
26600
  if (!sibling) {
26137
26601
  if (this.m_headerLabels.column.length) {
26138
26602
  sibling = this._getLabel('column', level);
@@ -26179,7 +26643,8 @@ DvtDataGrid.prototype.manageHeaderCursor = function (event, isLabel) {
26179
26643
  widthResizable = this._isDOMElementResizable(elem);
26180
26644
  // previous is the previous index same level
26181
26645
  if (!isLabel) {
26182
- sibling = this._getHeaderCellByIndex(index - 1, 'columnEnd', level);
26646
+ let previousIndex = this.getVisibleCellIndexInDirection('column', index - 1, { left: true });
26647
+ sibling = this._getHeaderCellByIndex(previousIndex, 'columnEnd', level);
26183
26648
  if (!sibling) {
26184
26649
  sibling = this._getLabel('columnEnd', level);
26185
26650
  }
@@ -26450,6 +26915,7 @@ DvtDataGrid.prototype.resizeColWidth = function (oldElementWidth, newElementWidt
26450
26915
 
26451
26916
  // helper to update all elements this effects
26452
26917
  this.resizeColumnWidthAndShift(widthChange);
26918
+ this.deleteAndApplyHiddenIndicators();
26453
26919
  if (!isFrozenSectionResize) {
26454
26920
  this.m_endColPixel += widthChange;
26455
26921
  this.m_endColHeaderPixel += widthChange;
@@ -26562,6 +27028,7 @@ DvtDataGrid.prototype.resizeColHeight = function (newElementHeight, heightChange
26562
27028
  adjustLabel = false;
26563
27029
  }
26564
27030
  this.resizeColumnHeightsAndShift(heightChange, level, end, adjustLabel);
27031
+ this.deleteAndApplyHiddenIndicators();
26565
27032
 
26566
27033
  if (!end) {
26567
27034
  this.m_colHeaderHeight += heightChange;
@@ -27064,8 +27531,12 @@ DvtDataGrid.prototype._getMinValue = function (dimension, axis, isHeaderLabel) {
27064
27531
 
27065
27532
  if (axis === 'column') {
27066
27533
  if (dimension === 'width') {
27534
+ let visibleInnerIndex = index + (extent - 1);
27535
+ while (this.isHidden('column', visibleInnerIndex)) {
27536
+ visibleInnerIndex -= 1;
27537
+ }
27067
27538
  inner = this._getHeaderCellByIndex(
27068
- index + (extent - 1),
27539
+ visibleInnerIndex,
27069
27540
  axis,
27070
27541
  this.m_columnHeaderLevelCount - 1
27071
27542
  );
@@ -27412,6 +27883,9 @@ DvtDataGrid.prototype.resizeColumnWidthAndShift = function (widthChange) {
27412
27883
  ) {
27413
27884
  // has children
27414
27885
  index += this._getAttribute(this.m_resizingElement.parentNode, 'extent', true) - 1;
27886
+ while (this.isHidden('column', index)) {
27887
+ index -= 1;
27888
+ }
27415
27889
  }
27416
27890
 
27417
27891
  var rangeIndex = this.createIndex(-1, index);
@@ -27494,7 +27968,8 @@ DvtDataGrid.prototype._shiftCellsAlongAxis = function (
27494
27968
  startAxisChange,
27495
27969
  shiftOnly,
27496
27970
  endAxisChange,
27497
- corner
27971
+ corner,
27972
+ forHideShow
27498
27973
  ) {
27499
27974
  var tempArray = [];
27500
27975
  var dimension;
@@ -27556,6 +28031,14 @@ DvtDataGrid.prototype._shiftCellsAlongAxis = function (
27556
28031
  axisExtent - extentWithinCellToIgnore
27557
28032
  );
27558
28033
  } else {
28034
+ if (forHideShow) {
28035
+ if (this.isHidden(axis, startAxisChange)) {
28036
+ cell.style.display = 'none';
28037
+ } else {
28038
+ cell.style.display = '';
28039
+ }
28040
+ }
28041
+
27559
28042
  this._updateTempArray(
27560
28043
  tempArray,
27561
28044
  true,
@@ -27605,7 +28088,8 @@ DvtDataGrid.prototype._shiftFrozenCellsAlongAxis = function (
27605
28088
  axis,
27606
28089
  dimensionDelta,
27607
28090
  startAxisChange,
27608
- shiftOnly
28091
+ shiftOnly,
28092
+ forHideShow
27609
28093
  ) {
27610
28094
  const tempArray = [];
27611
28095
  let dir;
@@ -27651,6 +28135,14 @@ DvtDataGrid.prototype._shiftFrozenCellsAlongAxis = function (
27651
28135
  axisExtent - extentWithinCellToIgnore
27652
28136
  );
27653
28137
  } else {
28138
+ if (forHideShow) {
28139
+ if (this.isHidden(axis, startAxisChange)) {
28140
+ cell.style.display = 'none';
28141
+ } else {
28142
+ cell.style.display = '';
28143
+ }
28144
+ }
28145
+
27654
28146
  this._updateTempArray(
27655
28147
  tempArray,
27656
28148
  true,
@@ -27800,7 +28292,8 @@ DvtDataGrid.prototype._shiftHeadersAlongAxisInContainer = function (
27800
28292
  dimensionChange,
27801
28293
  dir,
27802
28294
  className,
27803
- axis
28295
+ axis,
28296
+ forHideShow
27804
28297
  ) {
27805
28298
  var header;
27806
28299
  var groupingContainer;
@@ -27809,7 +28302,7 @@ DvtDataGrid.prototype._shiftHeadersAlongAxisInContainer = function (
27809
28302
  var newVal = 0;
27810
28303
 
27811
28304
  // get the last element in the container
27812
- var element = headersContainer.lastChild;
28305
+ var element = this._getHeaderLastChild(headersContainer);
27813
28306
  if (element == null) {
27814
28307
  return;
27815
28308
  }
@@ -27834,7 +28327,7 @@ DvtDataGrid.prototype._shiftHeadersAlongAxisInContainer = function (
27834
28327
  newStart = this.getElementDir(header, dir) + dimensionChange;
27835
28328
  this.setElementDir(header, newStart, dir);
27836
28329
 
27837
- element = element.previousSibling;
28330
+ element = this._getHeaderPreviousSibling(element);
27838
28331
  isHeader = this.m_utils.containsCSSClassName(element, className);
27839
28332
  groupingContainer = element.parentNode;
27840
28333
  header = element;
@@ -27847,13 +28340,14 @@ DvtDataGrid.prototype._shiftHeadersAlongAxisInContainer = function (
27847
28340
  this.setElementDir(headers[i], newStart, dir);
27848
28341
  }
27849
28342
 
27850
- element = element.previousSibling;
28343
+ element = this._getHeaderPreviousSibling(element);
27851
28344
  isHeader = this.m_utils.containsCSSClassName(element, className);
27852
28345
  groupingContainer = element;
27853
28346
  header = element.firstChild;
27854
28347
  headerStart = this._getAttribute(groupingContainer, 'start', true);
27855
28348
  }
27856
28349
  }
28350
+
27857
28351
  var resizingElementLevel;
27858
28352
  if (this.m_resizingElement) {
27859
28353
  resizingElementLevel = this.getHeaderCellLevel(this.m_resizingElement);
@@ -27870,7 +28364,15 @@ DvtDataGrid.prototype._shiftHeadersAlongAxisInContainer = function (
27870
28364
  this.setElementDir(header, newStart, dir);
27871
28365
  }
27872
28366
 
27873
- if (axis === 'row' || axis === 'column') {
28367
+ if (forHideShow && axis === 'column') {
28368
+ if (this.isHeaderHidden(header)) {
28369
+ header.style.display = 'none';
28370
+ } else {
28371
+ header.style.display = '';
28372
+ }
28373
+ }
28374
+
28375
+ if ((axis === 'row' || axis === 'column') && !forHideShow) {
27874
28376
  let resizeClass = this.getResources().isRTLMode() ? ['startResized'] : ['endResized'];
27875
28377
  let classArray = axis === 'row' ? ['bottomResized'] : resizeClass;
27876
28378
  if (
@@ -27889,10 +28391,24 @@ DvtDataGrid.prototype._shiftHeadersAlongAxisInContainer = function (
27889
28391
  // if we aren't innermost then repeat for its children
27890
28392
  if (!isHeader && header.nextSibling != null) {
27891
28393
  // has children
27892
- this._shiftHeadersAlongAxisInContainer(element, index, dimensionChange, dir, className, axis);
27893
- } else if (axis != null) {
28394
+ this._shiftHeadersAlongAxisInContainer(
28395
+ element,
28396
+ index,
28397
+ dimensionChange,
28398
+ dir,
28399
+ className,
28400
+ axis,
28401
+ forHideShow
28402
+ );
28403
+ } else if (axis != null && !forHideShow) {
27894
28404
  // store the width/height change in the sizing manager, only care about innermost
27895
- this.m_sizingManager.setSize(axis, this._getKey(header), newVal);
28405
+ if (axis === 'column') {
28406
+ if (!this.isHidden('column', index)) {
28407
+ this.m_sizingManager.setSize(axis, this._getKey(header), newVal);
28408
+ }
28409
+ } else {
28410
+ this.m_sizingManager.setSize(axis, this._getKey(header), newVal);
28411
+ }
27896
28412
  }
27897
28413
  };
27898
28414
 
@@ -28619,18 +29135,20 @@ DvtDataGrid.prototype.handleResizeFitToContent = function (event, target, resize
28619
29135
  this.m_columnEndHeaderLevelCount - 1
28620
29136
  );
28621
29137
  }
28622
- let rangeIndex = this.createIndex(-1, index);
28623
- cells = this.getElementsInRange(this.createRange(rangeIndex, rangeIndex));
28624
- cells.push(header);
29138
+ if (!this.isHidden('column', index)) {
29139
+ let rangeIndex = this.createIndex(-1, index);
29140
+ cells = this.getElementsInRange(this.createRange(rangeIndex, rangeIndex));
29141
+ cells.push(header);
28625
29142
 
28626
- oldElementWidth = this.calculateColumnHeaderWidth(this.m_resizingElement);
28627
- oldElementHeight = this.getElementHeight(this.m_resizingElement);
28628
- newElementWidth = this._calculateResizeFitToContentValue(cells, 'column');
28629
- newElementHeight = oldElementHeight;
28630
- size = newElementWidth;
28631
- fireEvent = oldElementWidth !== newElementWidth;
29143
+ oldElementWidth = this.calculateColumnHeaderWidth(this.m_resizingElement);
29144
+ oldElementHeight = this.getElementHeight(this.m_resizingElement);
29145
+ newElementWidth = this._calculateResizeFitToContentValue(cells, 'column');
29146
+ newElementHeight = oldElementHeight;
29147
+ size = newElementWidth;
29148
+ fireEvent = oldElementWidth !== newElementWidth;
28632
29149
 
28633
- this.resizeColWidth(oldElementWidth, newElementWidth);
29150
+ this.resizeColWidth(oldElementWidth, newElementWidth);
29151
+ }
28634
29152
  } else if (axis === 'row' || axis === 'rowEnd') {
28635
29153
  let index = headerCell
28636
29154
  ? this._getResizeNestedHeaderIndex(axis, endHeaderCell)
@@ -30742,7 +31260,6 @@ DvtDataGrid.prototype.selectAndFocus = function (index, event, augment) {
30742
31260
  // eslint-disable-next-line no-param-reassign
30743
31261
  augment = false;
30744
31262
  }
30745
-
30746
31263
  // reset any focus properties set on frontier cell
30747
31264
  this._resetSelectionFrontierFocus();
30748
31265
 
@@ -33536,6 +34053,7 @@ function DataGridProviderDataGridDataSourceKeyMap() {
33536
34053
  };
33537
34054
  }
33538
34055
 
34056
+ // import { ImmutableKeySet } from 'ojs/ojkeyset';
33539
34057
  // import { DataGridProvider } from 'ojs/ojdatagridprovider';
33540
34058
 
33541
34059
  /**
@@ -33548,6 +34066,7 @@ function DataGridProviderDataGridDataSourceKeyMap() {
33548
34066
  * @ojshortdesc A data grid displays data in a cell oriented grid.
33549
34067
  * @ojtsimport {module: "ojdatagridprovider", type: "AMD", imported: ["DataGridProvider","GridBodyItem", "GridHeaderItem", "GridItem"]}
33550
34068
  * @ojtsimport {module: "ojdataprovider", type: "AMD", imported: ["DataProvider"]}
34069
+ * @ojtsimport {module: "ojkeyset", type: "AMD", imported: ["ImmutableKeySet"]}
33551
34070
  * @ojsignature [{
33552
34071
  * target: "Type",
33553
34072
  * value: "class ojDataGrid<K, D> extends baseComponent<ojDataGridSettableProperties<K,D>>",
@@ -33885,6 +34404,14 @@ function DataGridProviderDataGridDataSourceKeyMap() {
33885
34404
  * <td><kbd>Unfreeze Rows</kbd></td>
33886
34405
  * <td>oj-datagrid-unfreezeRow</td>
33887
34406
  * </tr>
34407
+ * <tr>
34408
+ * <td><kbd>Hide Columns</kbd></td>
34409
+ * <td>oj-datagrid-hideCol</td>
34410
+ * </tr>
34411
+ * <tr>
34412
+ * <td><kbd>Unhide Columns</kbd></td>
34413
+ * <td>oj-datagrid-unhideCol</td>
34414
+ * </tr>
33888
34415
  * </tbody></table>
33889
34416
  */
33890
34417
  //-----------------------------------------------------
@@ -35833,6 +36360,27 @@ oj.__registerWidget('oj.ojDataGrid', $.oj.baseComponent, {
35833
36360
  */
35834
36361
  selection: [],
35835
36362
 
36363
+ /**
36364
+ * <p> An <a href="ImmutableKeySet.html#ImmutableSet<V>">immutable Set</a> of zero based indexes used to define columns as hidden by default. This property will be updated when the end user shows/hides columns via the context menu.
36365
+ * Enable end user show/hide via the header.column.hidable property.
36366
+ * Note: When initializing hiddenColumns set, it is not recommended to hide all columns.
36367
+ *
36368
+ * @example <caption>Initialize the DataGrid with the <code class="prettyprint">hidden-columns</code> attribute:</caption>
36369
+ * Assign values with type Set
36370
+ * @expose
36371
+ * @name hiddenColumns
36372
+ * @memberof oj.ojDataGrid
36373
+ * @instance
36374
+ * @type {Object}
36375
+ * @ojwriteback
36376
+ * @ojshortdesc Use to hide columns of grid on initial render.
36377
+ * @ojsignature {target: "Type",
36378
+ * value: "ImmutableKeySet.ImmutableSet<number>",
36379
+ * jsdocOverride: true}
36380
+ *
36381
+ */
36382
+ hiddenColumns: new Set([]),
36383
+
35836
36384
  /**
35837
36385
  * <p>The cell that currently have keyboard focus. Note that if the current cell
35838
36386
  * is set to an item that is currently not available (not fetched in high-water mark scrolling case or
@@ -36724,6 +37272,40 @@ oj.__registerWidget('oj.ojDataGrid', $.oj.baseComponent, {
36724
37272
  * myDataGrid.header.column.style = 'myStyle';
36725
37273
  */
36726
37274
  style: null,
37275
+ /**
37276
+ * <p>Enables or disables hide and show end user functionality on the datagrid columns using
37277
+ * <code class="prettyprint">enable</code>
37278
+ * or <code class="prettyprint">disable</code>.
37279
+ * See hidden-columns for tracking the current hidden state.
37280
+ * Note: It's not recommeneded to hide all columns via any interactions.
37281
+ *
37282
+ * @expose
37283
+ * @name header.column.hidable
37284
+ * @instance
37285
+ * @memberof! oj.ojDataGrid
37286
+ * @type {string}
37287
+ * @default 'disable'
37288
+ * @ojsignature { target: "Type",
37289
+ * value: "?string",
37290
+ * jsDocOverride: true }
37291
+ * @ojshortdesc Allows hide/unhide on columns.
37292
+ * @example <caption>Initialize the DataGrid with the <code class="prettyprint">hidable</code> attribute specified:</caption>
37293
+ * &lt;!-- Using dot notation -->
37294
+ * &lt;oj-data-grid header.column.hidable="enable">&lt;/oj-data-grid>
37295
+ *
37296
+ * &lt;!-- Using JSON notation -->
37297
+ * &lt;oj-data-grid header.column.hidable='enable'>&lt;/oj-data-grid>
37298
+ *
37299
+ * @example <caption>Get or set the <code class="prettyprint">hidable</code> property after initialization:</caption>
37300
+ * // Getter
37301
+ * let hidableColumn = myDataGrid.header.column.hidable;
37302
+ *
37303
+ * // Setter
37304
+ * myDataGrid.setProperty('header.column.hidable', "enable");
37305
+ *
37306
+ */
37307
+ hidable: 'disable',
37308
+
36727
37309
  /**
36728
37310
  * <p>Enables or disables freeze and unfreeze option on the datagrid columns.
36729
37311
  *
@@ -37851,6 +38433,9 @@ oj.__registerWidget('oj.ojDataGrid', $.oj.baseComponent, {
37851
38433
  // sets the initial (or default) selection on internal grid
37852
38434
  this._setSelection();
37853
38435
 
38436
+ // hides the initial (or default) columns on internal grid
38437
+ this._hideColumns();
38438
+
37854
38439
  if (this.datasource != null) {
37855
38440
  this.grid.SetDataSource(this.datasource);
37856
38441
 
@@ -38057,6 +38642,15 @@ oj.__registerWidget('oj.ojDataGrid', $.oj.baseComponent, {
38057
38642
  changed: true
38058
38643
  });
38059
38644
  });
38645
+ this.grid.addListener('columnHide', function (details) {
38646
+ self.option('hiddenColumns', details.ui.hiddenColumns, {
38647
+ _context: {
38648
+ originalEvent: details.event,
38649
+ internalSet: true
38650
+ },
38651
+ changed: true
38652
+ });
38653
+ });
38060
38654
  },
38061
38655
 
38062
38656
  /**
@@ -38320,6 +38914,7 @@ oj.__registerWidget('oj.ojDataGrid', $.oj.baseComponent, {
38320
38914
  case 'selection':
38321
38915
  case 'frozenColumnCount':
38322
38916
  case 'frozenRowCount':
38917
+ case 'hiddenColumns':
38323
38918
  // just set returnVal in case another option is refresh at
38324
38919
  // the wrapper level
38325
38920
  returnVal = 'pass';
@@ -38416,6 +39011,19 @@ oj.__registerWidget('oj.ojDataGrid', $.oj.baseComponent, {
38416
39011
  return false;
38417
39012
  },
38418
39013
 
39014
+ /**
39015
+ * Checks if hide is enabled on headers along a given axis
39016
+ * @private
39017
+ * @param {string} axis column/row
39018
+ * @return {boolean} true if hide is not set to 'disable'
39019
+ */
39020
+ _isHideEnabled: function (axis) {
39021
+ if (this.options.header[axis]) {
39022
+ return this.options.header[axis].hidable !== 'disable';
39023
+ }
39024
+ return false;
39025
+ },
39026
+
38419
39027
  /**
38420
39028
  * Remove all children except context menu slot and templates
38421
39029
  * @private
@@ -38585,6 +39193,8 @@ oj.__registerWidget('oj.ojDataGrid', $.oj.baseComponent, {
38585
39193
  let dataTransferOptionsMenu;
38586
39194
  let freezeMenu;
38587
39195
  let menuContainer;
39196
+ let hideMenu;
39197
+ let unhideMenu;
38588
39198
 
38589
39199
  const isCustomElement = this._IsCustomElement();
38590
39200
  if (!isCustomElement) {
@@ -38620,6 +39230,11 @@ oj.__registerWidget('oj.ojDataGrid', $.oj.baseComponent, {
38620
39230
  }
38621
39231
  }
38622
39232
 
39233
+ if (this._isHideEnabled('column')) {
39234
+ hideMenu = this._buildContextMenuItem('hideCol', isCustomElement);
39235
+ unhideMenu = this._buildContextMenuItem('unhideCol', isCustomElement);
39236
+ }
39237
+
38623
39238
  if (this.options.dnd.reorder.row === 'enable') {
38624
39239
  switch (this.datasource.getCapability('move')) {
38625
39240
  case 'none':
@@ -38723,11 +39338,25 @@ oj.__registerWidget('oj.ojDataGrid', $.oj.baseComponent, {
38723
39338
  moveMenu ||
38724
39339
  selectMenu ||
38725
39340
  freezeMenu ||
39341
+ hideMenu ||
39342
+ unhideMenu ||
38726
39343
  dataTransferOptionsMenu
38727
39344
  ) {
38728
39345
  if (dataTransferOptionsMenu) {
38729
39346
  menuContainer.appendChild(dataTransferOptionsMenu); // @HTMLUpdateOK
38730
39347
  }
39348
+ if (hideMenu) {
39349
+ menuContainer.appendChild(hideMenu); // @HTMLUpdateOK
39350
+ }
39351
+ if (unhideMenu) {
39352
+ menuContainer.appendChild(unhideMenu); // @HTMLUpdateOK
39353
+ }
39354
+ if (freezeMenu) {
39355
+ menuContainer.appendChild(freezeMenu); // @HTMLUpdateOK
39356
+ }
39357
+ if (hideMenu || unhideMenu || freezeMenu) {
39358
+ menuContainer.appendChild(this._buildContextMenuDivider()); // @HTMLUpdateOK
39359
+ }
38731
39360
  if (resizeRowHeightMenu) {
38732
39361
  menuContainer.appendChild(resizeRowHeightMenu); // @HTMLUpdateOK
38733
39362
  }
@@ -38737,11 +39366,8 @@ oj.__registerWidget('oj.ojDataGrid', $.oj.baseComponent, {
38737
39366
  if (resizeFitToContentMenu) {
38738
39367
  menuContainer.appendChild(resizeFitToContentMenu); // @HTMLUpdateOK
38739
39368
  }
38740
- if (freezeMenu) {
38741
- menuContainer.appendChild(freezeMenu); // @HTMLUpdateOK
38742
- }
38743
39369
  if (sortColumnMenu || sortRowMenu) {
38744
- if (resizeRowHeightMenu || resizeColWidthMenu || resizeFitToContentMenu || freezeMenu) {
39370
+ if (resizeRowHeightMenu || resizeColWidthMenu || resizeFitToContentMenu) {
38745
39371
  menuContainer.appendChild(this._buildContextMenuDivider()); // @HTMLUpdateOK
38746
39372
  }
38747
39373
  if (sortColumnMenu) {
@@ -38757,6 +39383,8 @@ oj.__registerWidget('oj.ojDataGrid', $.oj.baseComponent, {
38757
39383
  resizeColWidthMenu ||
38758
39384
  resizeFitToContentMenu ||
38759
39385
  freezeMenu ||
39386
+ hideMenu ||
39387
+ unhideMenu ||
38760
39388
  sortColumnMenu ||
38761
39389
  sortRowMenu
38762
39390
  ) {
@@ -38772,6 +39400,8 @@ oj.__registerWidget('oj.ojDataGrid', $.oj.baseComponent, {
38772
39400
  freezeMenu ||
38773
39401
  sortColumnMenu ||
38774
39402
  sortRowMenu ||
39403
+ hideMenu ||
39404
+ unhideMenu ||
38775
39405
  moveMenu
38776
39406
  ) {
38777
39407
  menuContainer.appendChild(this._buildContextMenuDivider()); // @HTMLUpdateOK
@@ -38934,6 +39564,14 @@ oj.__registerWidget('oj.ojDataGrid', $.oj.baseComponent, {
38934
39564
  // eslint-disable-next-line no-param-reassign
38935
39565
  command = 'resizeRow';
38936
39566
  }
39567
+ if (command === 'hideCol') {
39568
+ // eslint-disable-next-line no-param-reassign
39569
+ command = 'hideColumns';
39570
+ }
39571
+ if (command === 'unhideCol') {
39572
+ // eslint-disable-next-line no-param-reassign
39573
+ command = 'unhideColumns';
39574
+ }
38937
39575
  let key = 'label' + command.charAt(0).toUpperCase() + command.slice(1);
38938
39576
  if (!isCustomElement && command === 'discontiguousSelection') {
38939
39577
  // always initialize to enable
@@ -39262,7 +39900,9 @@ oj.__registerWidget('oj.ojDataGrid', $.oj.baseComponent, {
39262
39900
  this.menuItemFunction === this._getMappedCommand('freezeRow') ||
39263
39901
  this.menuItemFunction === this._getMappedCommand('freezeCol') ||
39264
39902
  this.menuItemFunction === this._getMappedCommand('unfreezeRow') ||
39265
- this.menuItemFunction === this._getMappedCommand('unfreezeCol')
39903
+ this.menuItemFunction === this._getMappedCommand('unfreezeCol') ||
39904
+ this.menuItemFunction === this._getMappedCommand('hideCol') ||
39905
+ this.menuItemFunction === this._getMappedCommand('unhideCol')
39266
39906
  ) {
39267
39907
  this.grid.handleContextMenuReturn(this.contextMenuEvent, this.menuItemFunction, null);
39268
39908
  // this.contextMenuEvent['target'].focus();
@@ -39462,6 +40102,18 @@ oj.__registerWidget('oj.ojDataGrid', $.oj.baseComponent, {
39462
40102
  }
39463
40103
  },
39464
40104
 
40105
+ /**
40106
+ * Sets hidability on internal grid from options
40107
+ * @private
40108
+ */
40109
+ _hideColumns: function () {
40110
+ var hiddenColumns = this.options.hiddenColumns;
40111
+ if (hiddenColumns != null) {
40112
+ hiddenColumns = [...hiddenColumns];
40113
+ this.grid.setHiddenColumns(hiddenColumns);
40114
+ }
40115
+ },
40116
+
39465
40117
  /**
39466
40118
  * Modify the header and cell context before passing to the renderer.
39467
40119
  * @param {Object} context the header or cell context.
@@ -42122,6 +42774,30 @@ DvtDataGrid.prototype._addFrozenIndicator = function (axis, top, dir, dirValue,
42122
42774
  );
42123
42775
  }
42124
42776
 
42777
+ // If corner has only column labels frozen row indicator left has to be dir value of databody.
42778
+ if (
42779
+ axis === 'row' &&
42780
+ this.m_endRowHeader === -1 &&
42781
+ this.m_headerLabels.column &&
42782
+ this.m_headerLabels.column.length
42783
+ ) {
42784
+ // eslint-disable-next-line no-param-reassign
42785
+ databodyVisualIndicatorDir = this._hasFrozenColumns()
42786
+ ? this.getElementDir(this.m_databodyFrozenCol, dir)
42787
+ : this.getElementDir(this.m_databody, dir);
42788
+ }
42789
+
42790
+ // If corner has only row labels frozen col indicator top has to be height of row header label.
42791
+ if (
42792
+ axis === 'column' &&
42793
+ this.m_endColHeader === -1 &&
42794
+ this.m_headerLabels.row &&
42795
+ this.m_headerLabels.row.length
42796
+ ) {
42797
+ // eslint-disable-next-line no-param-reassign
42798
+ databodyVisualIndicatorTop = this.getElementHeight(this.m_headerLabels.row[0]);
42799
+ }
42800
+
42125
42801
  return [
42126
42802
  databodyVisualIndicatorTop,
42127
42803
  headerVisualIndicatorTop,
@@ -42461,6 +43137,8 @@ DvtDataGrid.prototype._buildFrozenHeaders = function (axis, startResults, endRes
42461
43137
 
42462
43138
  /**
42463
43139
  * Checks freeze feasibility.
43140
+ * Checks the extents on startResult and endResult and returns the closest matching extent if available
43141
+ * If only one of startResult, endResult is available then frozen index is expected to be less than the count.
42464
43142
  * @param {String} axis row/column
42465
43143
  * @param {Number} index row/column index
42466
43144
  * @param {Object} startResults a headerSet object returned from the data source
@@ -42474,9 +43152,11 @@ DvtDataGrid.prototype._isFreezeFeasible = function (axis, startResults, endResul
42474
43152
  // if application tries to freeze an index beyond the fetch count.
42475
43153
  if (
42476
43154
  (axis === 'column' &&
43155
+ !this.m_initialized &&
42477
43156
  (this.m_frozenColIndex >= startResults.getCount() ||
42478
43157
  this.m_frozenColIndex >= endResults.getCount())) ||
42479
43158
  (axis === 'row' &&
43159
+ !this.m_initialized &&
42480
43160
  (this.m_frozenRowIndex >= startResults.getCount() ||
42481
43161
  this.m_frozenRowIndex >= endResults.getCount()))
42482
43162
  ) {
@@ -42518,14 +43198,18 @@ DvtDataGrid.prototype._isFreezeFeasible = function (axis, startResults, endResul
42518
43198
  }
42519
43199
  } else if (
42520
43200
  startResults &&
42521
- ((axis === 'column' && this.m_frozenColIndex < startResults.getCount()) ||
42522
- (axis === 'row' && this.m_frozenRowIndex < startResults.getCount()))
43201
+ ((!this.m_initialized &&
43202
+ ((axis === 'column' && this.m_frozenColIndex < startResults.getCount()) ||
43203
+ (axis === 'row' && this.m_frozenRowIndex < startResults.getCount()))) ||
43204
+ this.m_initialized)
42523
43205
  ) {
42524
43206
  isFeasible = true;
42525
43207
  } else if (
42526
43208
  endResults &&
42527
- ((axis === 'column' && this.m_frozenColIndex < endResults.getCount()) ||
42528
- (axis === 'row' && this.m_frozenRowIndex < endResults.getCount()))
43209
+ ((!this.m_initialized &&
43210
+ ((axis === 'column' && this.m_frozenColIndex < endResults.getCount()) ||
43211
+ (axis === 'row' && this.m_frozenRowIndex < endResults.getCount()))) ||
43212
+ this.m_initialized)
42529
43213
  ) {
42530
43214
  isFeasible = true;
42531
43215
  } else if (!startResults && !endResults) {
@@ -42739,6 +43423,7 @@ DvtDataGrid.prototype._handleFreezeRow = function (event) {
42739
43423
  }
42740
43424
  if (isFeasible) {
42741
43425
  this._mutateRowFrozenContainer(header, cell, axis);
43426
+ this.deleteAndApplyHiddenIndicators();
42742
43427
  let details = {
42743
43428
  event: event,
42744
43429
  ui: {
@@ -42832,6 +43517,7 @@ DvtDataGrid.prototype._handleFreezeCol = function (event) {
42832
43517
  }
42833
43518
  if (isFeasible) {
42834
43519
  this._mutateColumnFrozenContainer(header, cell, axis);
43520
+ this.deleteAndApplyHiddenIndicators();
42835
43521
  let details = {
42836
43522
  event: event,
42837
43523
  ui: {
@@ -44530,6 +45216,7 @@ DvtDataGrid.prototype._handleUnFreeze = function (axis, event) {
44530
45216
  if (this.m_colEndHeaderFrozen) {
44531
45217
  this.m_root.removeChild(this.m_colEndHeaderFrozen);
44532
45218
  }
45219
+ this.deleteAndApplyHiddenIndicators();
44533
45220
  if (event) {
44534
45221
  let details = {
44535
45222
  event: event,
@@ -44552,6 +45239,7 @@ DvtDataGrid.prototype._handleUnFreeze = function (axis, event) {
44552
45239
  if (this.m_rowEndHeaderFrozen) {
44553
45240
  this.m_root.removeChild(this.m_rowEndHeaderFrozen);
44554
45241
  }
45242
+ this.deleteAndApplyHiddenIndicators();
44555
45243
  if (event) {
44556
45244
  let details = {
44557
45245
  event: event,
@@ -45355,3 +46043,1297 @@ DvtDataGrid.prototype._resetSkeletonProperties = function () {
45355
46043
  this.m_skeletonRowEndPixel = null;
45356
46044
  this.m_skeletonSet = new Set();
45357
46045
  };
46046
+
46047
+ /**
46048
+ * set Hidden columns
46049
+ * @param Array hiddenColumns
46050
+ */
46051
+ DvtDataGrid.prototype.setHiddenColumns = function (hiddenColumns) {
46052
+ // it can be null but cannot be undefined
46053
+ if (hiddenColumns !== undefined) {
46054
+ this.m_hiddenColumns = hiddenColumns === null ? [] : hiddenColumns;
46055
+ }
46056
+ };
46057
+
46058
+ /**
46059
+ * Returns hidden indicator div belonging to the region
46060
+ * @param {number} index
46061
+ * @param {Object} databody/header/endHeader
46062
+ * @param {boolean} isHeader
46063
+ */
46064
+ DvtDataGrid.prototype.getHiddenIndicatorByIndex = function (index, container, isHeader) {
46065
+ let hiddenIndicators;
46066
+
46067
+ if (isHeader) {
46068
+ hiddenIndicators = container.querySelectorAll(
46069
+ `.${this.getResources().getMappedStyle('headerHiddenIndicator')}`
46070
+ );
46071
+ } else {
46072
+ hiddenIndicators = container.querySelectorAll(
46073
+ `.${this.getResources().getMappedStyle('databodyHiddenIndicator')}`
46074
+ );
46075
+ }
46076
+
46077
+ hiddenIndicators = Array.from(hiddenIndicators);
46078
+
46079
+ if (hiddenIndicators.length > 0) {
46080
+ const hiddenIndicatorNode = hiddenIndicators.find(
46081
+ (node) => this._getAttribute(node, 'hiddenIndicatorIndex', true) === index
46082
+ );
46083
+
46084
+ if (hiddenIndicatorNode) {
46085
+ return hiddenIndicatorNode;
46086
+ }
46087
+ }
46088
+
46089
+ return null;
46090
+ };
46091
+
46092
+ // returns active databody indicators
46093
+ DvtDataGrid.prototype.getActiveDatabodyIndicators = function () {
46094
+ let indicatorsIndexArray = [];
46095
+
46096
+ if (this._hasFrozenColumns()) {
46097
+ // frozen columns
46098
+ let frozenatabodyContainer = this.m_databodyFrozenCol.firstChild;
46099
+ frozenatabodyContainer
46100
+ .querySelectorAll(`.${this.getResources().getMappedStyle('databodyHiddenIndicator')}`)
46101
+ .forEach((node) =>
46102
+ indicatorsIndexArray.push(this._getAttribute(node, 'hiddenIndicatorIndex', true))
46103
+ );
46104
+ }
46105
+
46106
+ if (this._hasFrozenRows()) {
46107
+ // frozen row's indicators
46108
+ let frozenRowDatabodyContainer = this.m_databodyFrozenRow.firstChild;
46109
+ frozenRowDatabodyContainer
46110
+ .querySelectorAll(`.${this.getResources().getMappedStyle('databodyHiddenIndicator')}`)
46111
+ .forEach((node) =>
46112
+ indicatorsIndexArray.push(this._getAttribute(node, 'hiddenIndicatorIndex', true))
46113
+ );
46114
+ }
46115
+
46116
+ if (this._hasFrozenColumns() && this._hasFrozenRows()) {
46117
+ // frozen corner
46118
+ let frozenCornerDatabodyContainer = this.m_databodyFrozenCorner.firstChild;
46119
+ frozenCornerDatabodyContainer
46120
+ .querySelectorAll(`.${this.getResources().getMappedStyle('databodyHiddenIndicator')}`)
46121
+ .forEach((node) =>
46122
+ indicatorsIndexArray.push(this._getAttribute(node, 'hiddenIndicatorIndex', true))
46123
+ );
46124
+ }
46125
+
46126
+ let databodyHiddenIndicators = this.m_databody.firstChild;
46127
+ databodyHiddenIndicators
46128
+ .querySelectorAll(`.${this.getResources().getMappedStyle('databodyHiddenIndicator')}`)
46129
+ .forEach((node) =>
46130
+ indicatorsIndexArray.push(this._getAttribute(node, 'hiddenIndicatorIndex', true))
46131
+ );
46132
+
46133
+ if (indicatorsIndexArray.length > 0) {
46134
+ return [...new Set(indicatorsIndexArray)];
46135
+ }
46136
+
46137
+ return null;
46138
+ };
46139
+
46140
+ /**
46141
+ * returns all the children indexes of the deepest level belonging to the header
46142
+ */
46143
+ DvtDataGrid.prototype.getIndexesByHeader = function (header) {
46144
+ let headerContext = header[this.getResources().getMappedAttribute('context')];
46145
+ let indexesSpannedByHeader = [];
46146
+ let headerIndex = headerContext.index;
46147
+ let headerExtent = headerContext.extent;
46148
+
46149
+ for (let i = headerIndex; i < headerIndex + headerExtent; i++) {
46150
+ indexesSpannedByHeader.push(i);
46151
+ }
46152
+
46153
+ return indexesSpannedByHeader;
46154
+ };
46155
+
46156
+ /**
46157
+ * Apply and render visual indicator for hidden columns
46158
+ * @param {Number} - startCol is the start column index of the visible range
46159
+ * @param {Number} - endCol is the end column index of the visible range
46160
+ */
46161
+ DvtDataGrid.prototype.applyHiddenIndicatorToRange = function (startCol, endCol, databodyIndicator) {
46162
+ const dir = this.getResources().isRTLMode() ? 'right' : 'left';
46163
+ let hiddenCols = this.m_hiddenColumns;
46164
+ hiddenCols.sort((a, b) => a - b);
46165
+
46166
+ let headerRoot;
46167
+ let levelCount = this.m_columnHeaderLevelCount;
46168
+ let headerStart = this.m_startColHeader;
46169
+
46170
+ for (let i = startCol; i <= endCol; i++) {
46171
+ if (this.m_hiddenColumns.includes(i)) {
46172
+ let adjustedColIndex = i === -1 ? 0 : i;
46173
+ let currentHeader;
46174
+
46175
+ if (levelCount === 1 && (this.m_hasColHeader || this.m_hasColEndHeader)) {
46176
+ let header = this._getHeaderCellByIndex(adjustedColIndex, 'column', 0);
46177
+
46178
+ if (header) {
46179
+ let indicatorLinePosition = this.getElementDir(header, dir);
46180
+ indicatorLinePosition += i === -1 ? 0 : this.getElementWidth(header);
46181
+ this.renderHiddenColumnVisualIndicator(
46182
+ 'column',
46183
+ 0,
46184
+ dir,
46185
+ indicatorLinePosition,
46186
+ adjustedColIndex,
46187
+ databodyIndicator
46188
+ );
46189
+ }
46190
+ } else {
46191
+ if (this._hasFrozenColumns() && i <= this.m_frozenColIndex) {
46192
+ headerRoot = this.m_colHeaderFrozen;
46193
+ } else {
46194
+ headerRoot = this.m_colHeader;
46195
+ }
46196
+ // get headers of all level with the headerFirstIndex
46197
+ let allHeadersofIndex = this._getHeadersByIndex(i, headerRoot, levelCount, headerStart);
46198
+ let tempArray;
46199
+ for (let j = allHeadersofIndex.length - 1; j >= 0; j--) {
46200
+ currentHeader = allHeadersofIndex[j];
46201
+ tempArray = this.getIndexesByHeader(currentHeader);
46202
+ if (this.isArraySubset(tempArray, hiddenCols)) {
46203
+ let headerTop = this.getElementDir(currentHeader, 'top');
46204
+ let indicatorLinePosition = this.getElementDir(currentHeader, dir);
46205
+ indicatorLinePosition += j === -1 ? 0 : this.getElementWidth(currentHeader);
46206
+ this.renderHiddenColumnVisualIndicator(
46207
+ 'column',
46208
+ headerTop,
46209
+ dir,
46210
+ indicatorLinePosition,
46211
+ adjustedColIndex,
46212
+ databodyIndicator
46213
+ );
46214
+ // filtering to avoid multiple loops for the same nested header for each header
46215
+ /* eslint-disable no-loop-func */
46216
+ hiddenCols = hiddenCols.filter((item) => !tempArray.includes(item));
46217
+ }
46218
+ }
46219
+ }
46220
+ }
46221
+ }
46222
+ };
46223
+
46224
+ /**
46225
+ * Render visual indicator for hidden columns
46226
+ * @param {string} axis
46227
+ * @param {number} top value
46228
+ * @param {string} direction RTL/LTR
46229
+ * @param {number} index
46230
+ */
46231
+ DvtDataGrid.prototype.renderHiddenColumnVisualIndicator = function (
46232
+ axis,
46233
+ top,
46234
+ dir,
46235
+ dirValue,
46236
+ index,
46237
+ databodyIndicatorArray
46238
+ ) {
46239
+ let databodyElem;
46240
+ let headerElem;
46241
+ let endHeaderElem;
46242
+
46243
+ if (this._hasFrozenColumns() && index <= this.m_frozenColIndex) {
46244
+ headerElem = this.m_colHeaderFrozen;
46245
+ endHeaderElem = this.m_colEndHeaderFrozen;
46246
+ databodyElem = this.m_databodyFrozenCol;
46247
+ } else {
46248
+ headerElem = this.m_colHeader;
46249
+ endHeaderElem = this.m_colEndHeader;
46250
+ databodyElem = this.m_databody;
46251
+ }
46252
+
46253
+ let databodyVisualIndicatorDimension;
46254
+ let headerVisualIndicatorDimension;
46255
+
46256
+ if (axis === 'row') {
46257
+ databodyVisualIndicatorDimension = 'width';
46258
+ headerVisualIndicatorDimension = 'width';
46259
+ } else if (axis === 'column') {
46260
+ databodyVisualIndicatorDimension = 'height';
46261
+ headerVisualIndicatorDimension = 'height';
46262
+ }
46263
+
46264
+ let headerVisualIndicatorDimensionValue = 0;
46265
+ let endHeaderVisualIndicatorDimensionValue = 0;
46266
+ let databodyVisualIndicatorDimensionValue = 0;
46267
+
46268
+ databodyVisualIndicatorDimensionValue = this.getElementDir(
46269
+ this.m_databody.firstChild,
46270
+ databodyVisualIndicatorDimension
46271
+ );
46272
+ headerVisualIndicatorDimensionValue =
46273
+ this.getElementDir(headerElem.firstChild, headerVisualIndicatorDimension) - top;
46274
+ endHeaderVisualIndicatorDimensionValue =
46275
+ this.getElementDir(endHeaderElem.firstChild, headerVisualIndicatorDimension) - top;
46276
+
46277
+ let delta = 0;
46278
+ let bodyAdjust = 0;
46279
+
46280
+ // To make visual indicator center to the gridline except for first/last visible index
46281
+ // for first/last visible index, the way hidden indicator looks is different
46282
+ // index here is the hidden index, so we are passing +/- of the index to check for first/last visible index
46283
+ if (this.isFirstOrFirstNonHiddenIndex(index + 1)) {
46284
+ delta = 2;
46285
+ bodyAdjust = 1;
46286
+ } else if (this.isLastOrLastNonHiddenIndex(index - 1)) {
46287
+ delta = -2;
46288
+ bodyAdjust = -1;
46289
+ }
46290
+
46291
+ let headerClassName = 'headerHiddenIndicator';
46292
+ let databodyClassName = 'databodyHiddenIndicator';
46293
+ if (axis === 'column' || axis === 'columnEnd') {
46294
+ if (this.m_hasColHeader) {
46295
+ let headerIndicator = document.createElement('div');
46296
+ // hiddenIndicatorIndex is an attribute of hidden indicators mapping each to its hidden column index
46297
+ this._setAttribute(headerIndicator, 'hiddenIndicatorIndex', index);
46298
+ this._setVisualIndicatorStyle(
46299
+ headerIndicator,
46300
+ headerClassName,
46301
+ top,
46302
+ dir,
46303
+ dirValue + delta - 2,
46304
+ headerVisualIndicatorDimensionValue,
46305
+ headerVisualIndicatorDimension
46306
+ );
46307
+ headerElem.firstChild.appendChild(headerIndicator); // @HTMLUpdateOK
46308
+ }
46309
+
46310
+ if (this.m_hasColEndHeader) {
46311
+ let endHeaderIndicator = document.createElement('div');
46312
+ // hiddenIndicatorIndex is an attribute of hidden indicators mapping each to its hidden column index
46313
+ this._setAttribute(endHeaderIndicator, 'hiddenIndicatorIndex', index);
46314
+ this._setVisualIndicatorStyle(
46315
+ endHeaderIndicator,
46316
+ headerClassName,
46317
+ 0,
46318
+ dir,
46319
+ dirValue + delta - 2,
46320
+ endHeaderVisualIndicatorDimensionValue,
46321
+ headerVisualIndicatorDimension
46322
+ );
46323
+ endHeaderElem.firstChild.appendChild(endHeaderIndicator); // @HTMLUpdateOK
46324
+ }
46325
+
46326
+ // For databody hidden Indicator
46327
+ // if we have frozen cols/rows, we apply indicators separately for each section frozen section
46328
+ if (databodyIndicatorArray && databodyIndicatorArray.includes(index)) {
46329
+ let databodyIndicator = document.createElement('div');
46330
+ // hiddenIndicatorIndex is an attribute of hidden indicators mapping each to its hidden column index
46331
+ this._setAttribute(databodyIndicator, 'hiddenIndicatorIndex', index);
46332
+ this._setVisualIndicatorStyle(
46333
+ databodyIndicator,
46334
+ databodyClassName,
46335
+ 0,
46336
+ dir,
46337
+ dirValue + bodyAdjust - 1,
46338
+ databodyVisualIndicatorDimensionValue,
46339
+ databodyVisualIndicatorDimension
46340
+ );
46341
+ databodyElem.firstChild.appendChild(databodyIndicator); // @HTMLUpdateOK
46342
+ if (this._hasFrozenRows()) {
46343
+ if (this._hasFrozenColumns() && index <= this.m_frozenColIndex) {
46344
+ // appending Indicator to the frozen corner
46345
+ let databodyFrozenCornerIndicator = document.createElement('div');
46346
+ let databodyFrozenCornerVisualIndicatorDimensionValue = 0;
46347
+ let databodyFrozenCornerElem = this.m_databodyFrozenCorner;
46348
+ databodyFrozenCornerVisualIndicatorDimensionValue = this.getElementDir(
46349
+ databodyFrozenCornerElem.firstChild,
46350
+ databodyVisualIndicatorDimension
46351
+ );
46352
+ this._setAttribute(databodyFrozenCornerIndicator, 'hiddenIndicatorIndex', index);
46353
+ this._setVisualIndicatorStyle(
46354
+ databodyFrozenCornerIndicator,
46355
+ databodyClassName,
46356
+ 0,
46357
+ dir,
46358
+ dirValue + bodyAdjust - 1,
46359
+ databodyFrozenCornerVisualIndicatorDimensionValue,
46360
+ databodyVisualIndicatorDimension
46361
+ );
46362
+
46363
+ databodyFrozenCornerElem.firstChild.appendChild(databodyFrozenCornerIndicator); // @HTMLUpdateOK
46364
+ } else {
46365
+ // appending indicator to the frozen row
46366
+ let databodyFrozenRowIndicator = document.createElement('div');
46367
+ let databodyFrozenRowVisualIndicatorDimensionValue = 0;
46368
+ let databodyFrozenRowElem = this.m_databodyFrozenRow;
46369
+
46370
+ databodyFrozenRowVisualIndicatorDimensionValue = this.getElementDir(
46371
+ databodyFrozenRowElem.firstChild,
46372
+ databodyVisualIndicatorDimension
46373
+ );
46374
+ this._setAttribute(databodyFrozenRowIndicator, 'hiddenIndicatorIndex', index);
46375
+ this._setVisualIndicatorStyle(
46376
+ databodyFrozenRowIndicator,
46377
+ databodyClassName,
46378
+ 0,
46379
+ dir,
46380
+ dirValue + bodyAdjust - 1,
46381
+ databodyFrozenRowVisualIndicatorDimensionValue,
46382
+ databodyVisualIndicatorDimension
46383
+ );
46384
+
46385
+ databodyFrozenRowElem.firstChild.appendChild(databodyFrozenRowIndicator); // @HTMLUpdateOK
46386
+ }
46387
+ }
46388
+ }
46389
+ }
46390
+ };
46391
+
46392
+ /**
46393
+ * Returns true if the current index of given axis is hidden
46394
+ * @param {string} axis
46395
+ * @param {number} index
46396
+ */
46397
+ DvtDataGrid.prototype.isHidden = function (axis, index) {
46398
+ if (axis === 'column' || axis === 'columnEnd') {
46399
+ if (this.m_hiddenColumns.includes(index)) {
46400
+ return true;
46401
+ }
46402
+ }
46403
+ return false;
46404
+ };
46405
+
46406
+ DvtDataGrid.prototype.isHeaderHidden = function (header) {
46407
+ let headerContext;
46408
+ let headerExtent;
46409
+ let index;
46410
+ let axis;
46411
+ let indexes = [];
46412
+ if (header) {
46413
+ headerContext = header[this.getResources().getMappedAttribute('context')];
46414
+ headerExtent = headerContext.extent;
46415
+ axis = headerContext.axis;
46416
+ index = headerContext.index;
46417
+ }
46418
+
46419
+ if (axis === 'column' || axis === 'columnEnd') {
46420
+ if (headerExtent === 1) {
46421
+ if (this.m_hiddenColumns.includes(index)) {
46422
+ return true;
46423
+ }
46424
+ } else {
46425
+ indexes = this.getIndexesByHeader(header);
46426
+ if (this.isArraySubset(indexes, this.m_hiddenColumns)) {
46427
+ return true;
46428
+ }
46429
+ }
46430
+ }
46431
+ return false;
46432
+ };
46433
+
46434
+ /**
46435
+ * Returns an array of integers
46436
+ * @param {number} number
46437
+ * @param {Object} arrow if {right:true}, returns array with integers from given number till max right,
46438
+ * if {left:true}, returns array with integers from 0 till given number
46439
+ */
46440
+ DvtDataGrid.prototype.arrayIndices = function (number, arrow) {
46441
+ let lastIndex;
46442
+ if (this._isCountUnknownOrHighwatermark('column')) {
46443
+ lastIndex = this._getMaxRight();
46444
+ } else {
46445
+ lastIndex = Math.max(0, this.getDataSource().getCount('column') - 1);
46446
+ }
46447
+
46448
+ let indexArray = [];
46449
+ if (arrow.left) {
46450
+ for (let i = 0; i <= number; i++) {
46451
+ indexArray.push(i);
46452
+ }
46453
+ } else if (arrow.right) {
46454
+ for (let i = number; i <= lastIndex; i++) {
46455
+ indexArray.push(i);
46456
+ }
46457
+ }
46458
+ return indexArray;
46459
+ };
46460
+
46461
+ /**
46462
+ * Returns true if subArray is a part of parentArray
46463
+ */
46464
+ DvtDataGrid.prototype.isArraySubset = function (subArray, parentArray) {
46465
+ return subArray.every((element) => parentArray.includes(element));
46466
+ };
46467
+
46468
+ /**
46469
+ * Retrieve all hidden Columns in the given direction (arrow) from/till the given index
46470
+ * @param {Number} index
46471
+ * @param {Object} arrow left/right
46472
+ */
46473
+ DvtDataGrid.prototype.hiddenColumnsInDirection = function (index, arrow) {
46474
+ let indexArray = new Set(this.arrayIndices(index, arrow));
46475
+ let hiddenColumns = this.m_hiddenColumns;
46476
+ let hiddenColumnsInDirection = hiddenColumns.filter((currentIndex) =>
46477
+ indexArray.has(currentIndex)
46478
+ );
46479
+ return hiddenColumnsInDirection;
46480
+ };
46481
+
46482
+ /**
46483
+ * returns true if given index is the first visible index by checking if all indices before that are hidden
46484
+ * @param {Number} index
46485
+ */
46486
+ DvtDataGrid.prototype.isFirstOrFirstNonHiddenIndex = function (index) {
46487
+ if (index >= 0) {
46488
+ for (let i = 0; i <= index - 1; i++) {
46489
+ if (!this.m_hiddenColumns.includes(i)) {
46490
+ return false;
46491
+ }
46492
+ }
46493
+
46494
+ return true;
46495
+ }
46496
+ return false;
46497
+ };
46498
+ /**
46499
+ * returns true if given index is the last visible index by checking if all indices after that are hidden
46500
+ * @param {Number} index
46501
+ */
46502
+ DvtDataGrid.prototype.isLastOrLastNonHiddenIndex = function (index) {
46503
+ if (index >= 0) {
46504
+ let lastIndex;
46505
+ if (this._isCountUnknownOrHighwatermark('column')) {
46506
+ lastIndex = this._getMaxRight();
46507
+ } else {
46508
+ lastIndex = Math.max(0, this.getDataSource().getCount('column') - 1);
46509
+ }
46510
+
46511
+ for (let i = lastIndex; i >= index + 1; i--) {
46512
+ if (!this.m_hiddenColumns.includes(i)) {
46513
+ return false;
46514
+ }
46515
+ }
46516
+
46517
+ return true;
46518
+ }
46519
+ return false;
46520
+ };
46521
+
46522
+ /**
46523
+ * returns visible index around given index in the direction mentioned
46524
+ * @param {String} axis
46525
+ * @param {Number} index
46526
+ * @param {Object} direction
46527
+ */
46528
+ DvtDataGrid.prototype.getVisibleCellIndexInDirection = function (axis, index, direction) {
46529
+ let newIndex = index;
46530
+ if (axis === 'column' || axis === 'columnEnd') {
46531
+ if (direction.right || direction.down) {
46532
+ while (this.m_hiddenColumns.includes(newIndex)) {
46533
+ newIndex += 1;
46534
+ }
46535
+ } else if (direction.left || direction.up) {
46536
+ while (this.m_hiddenColumns.includes(newIndex)) {
46537
+ newIndex -= 1;
46538
+ }
46539
+ }
46540
+ }
46541
+ return newIndex;
46542
+ };
46543
+
46544
+ /**
46545
+ * Hide and shift cells and headers when column is hidden
46546
+ * @param event
46547
+ */
46548
+ /* eslint-disable no-unused-vars */
46549
+ DvtDataGrid.prototype._handleHideColumn = function (event) {
46550
+ let targetHeader = this.findHeader(event.target);
46551
+ let targetCell = this.findCell(event.target);
46552
+
46553
+ let selectedArray = this.m_selection;
46554
+ let selection = this.m_options.options.selectionMode;
46555
+ let cellSelection = selection.cell;
46556
+ let rowSelection = selection.row;
46557
+ let columnArray = [];
46558
+
46559
+ // get all the column indexes to hide
46560
+ if (selectedArray.length && cellSelection === 'multiple') {
46561
+ // get all the column indexes from selected array of objects
46562
+ for (let i = 0; i < selectedArray.length; i++) {
46563
+ let startIndex = selectedArray[i].startIndex.column;
46564
+ let endIndex = selectedArray[i].endIndex.column;
46565
+
46566
+ // for the row selection case they will be ignored because endindex -1 < 0
46567
+ for (let j = startIndex; j <= endIndex; j++) {
46568
+ columnArray.push(j);
46569
+ }
46570
+ }
46571
+ } else if (cellSelection === 'single') {
46572
+ // get all the column indexes from selected array of objects
46573
+ if (selectedArray.length) {
46574
+ columnArray.push(selectedArray[0].startIndex.column);
46575
+ } else if (targetHeader) {
46576
+ // on context menu click on header (operates on active)
46577
+ columnArray = this.getIndexesByHeader(targetHeader);
46578
+ }
46579
+ } else if (cellSelection === 'none' && rowSelection === 'none') {
46580
+ // on context menu click on header (operates on active)
46581
+ if (targetHeader) {
46582
+ columnArray = this.getIndexesByHeader(targetHeader);
46583
+ } else if (targetCell) {
46584
+ // on context menu click on databody cell
46585
+ columnArray.push(this._getIndex(targetCell, 'column'));
46586
+ }
46587
+ } else if (rowSelection === 'multiple' || rowSelection === 'single') {
46588
+ // on context menu click on header (operates on active)
46589
+ if (targetHeader) {
46590
+ columnArray = this.getIndexesByHeader(targetHeader);
46591
+ } else {
46592
+ return;
46593
+ }
46594
+ } else {
46595
+ return;
46596
+ }
46597
+
46598
+ // looping each column index to hide and shift axis
46599
+ for (let i = 0; i < columnArray.length; i++) {
46600
+ let index = columnArray[i];
46601
+ if (!this.m_hiddenColumns.includes(index)) {
46602
+ this.m_hiddenColumns.push(index);
46603
+ }
46604
+ this.shiftCellsForHidability(index, true);
46605
+ }
46606
+ this.focusNextVisibleColumn(targetHeader, targetCell, event);
46607
+ this.deleteAndApplyHiddenIndicators(columnArray);
46608
+ this.fillViewport();
46609
+
46610
+ let details = {
46611
+ event: event,
46612
+ ui: {
46613
+ hiddenColumns: new Set(this.m_hiddenColumns)
46614
+ }
46615
+ };
46616
+
46617
+ this.fireEvent('columnHide', details);
46618
+ };
46619
+
46620
+ // moves focus to next visible cell or header
46621
+ DvtDataGrid.prototype.focusNextVisibleColumn = function (targetHeader, targetCell, event) {
46622
+ let activeIndex;
46623
+ if (targetHeader) {
46624
+ activeIndex = this._getIndex(targetHeader, 'column');
46625
+ } else if (targetCell) {
46626
+ activeIndex = this._getIndex(targetCell, 'column');
46627
+ } else {
46628
+ return;
46629
+ }
46630
+
46631
+ let newIndex;
46632
+
46633
+ if (!this.isLastOrLastNonHiddenIndex(activeIndex)) {
46634
+ newIndex = this.getVisibleCellIndexInDirection('column', activeIndex, { right: true });
46635
+ } else {
46636
+ newIndex = this.getVisibleCellIndexInDirection('column', activeIndex, { left: true });
46637
+ }
46638
+
46639
+ if (targetHeader) {
46640
+ let context = targetHeader[this.getResources().getMappedAttribute('context')];
46641
+ let level = context.level;
46642
+ let axis = context.axis;
46643
+ var nextHeader = this._getHeaderCellByIndex(newIndex, axis, level);
46644
+ this._setActive(nextHeader, {
46645
+ type: 'header',
46646
+ index: newIndex,
46647
+ level,
46648
+ axis
46649
+ });
46650
+ } else if (targetCell) {
46651
+ let row = targetCell[this.getResources().getMappedAttribute('context')].indexes.row;
46652
+ let newCellIndex = this.createIndex(row, newIndex);
46653
+ this._setActiveByIndex(newCellIndex, event);
46654
+ }
46655
+ };
46656
+
46657
+ DvtDataGrid.prototype._updateHiddenSection = function (columnArray) {
46658
+ // column array always has all indices to hide
46659
+ // we are filtering for indices which are in this.m_hiddenColumns and not in columnArray
46660
+ // to unhide
46661
+ const unHideArray = this.m_hiddenColumns.filter((item) => !columnArray.includes(item));
46662
+
46663
+ let latestHidden = columnArray.filter((item) => !this.m_hiddenColumns.includes(item));
46664
+
46665
+ // updating global this.m_hiddenColumns array with columnArray (new hidden array with indexes from external hide
46666
+ // including previous hidden indexes)
46667
+ this.m_hiddenColumns = columnArray;
46668
+
46669
+ for (let i = 0; i < latestHidden.length; i++) {
46670
+ let index = latestHidden[i];
46671
+ this.shiftCellsForHidability(index, true);
46672
+ }
46673
+
46674
+ // looping each index if any to unhide and shift axis
46675
+ for (let i = 0; i < unHideArray.length; i++) {
46676
+ let index = unHideArray[i];
46677
+ this.shiftCellsForHidability(index);
46678
+ }
46679
+
46680
+ this.deleteAndApplyHiddenIndicators(latestHidden);
46681
+ this.fillViewport();
46682
+ };
46683
+
46684
+ /* eslint-enable no-loop-func */
46685
+
46686
+ DvtDataGrid.prototype.containsHiddenItems = function (selectedArray) {
46687
+ let commonHiddenItems = selectedArray.filter((item) => this.m_hiddenColumns.includes(item));
46688
+ commonHiddenItems.sort((a, b) => a - b);
46689
+ return commonHiddenItems;
46690
+ };
46691
+
46692
+ /**
46693
+ * Unhide and shift cells and headers when column is hidden
46694
+ * @param event
46695
+ */
46696
+ /* eslint-disable no-unused-vars */
46697
+ DvtDataGrid.prototype._handleUnhideColumn = function (event) {
46698
+ let targetHeader = this.findHeader(event.target);
46699
+ let targetCell = this.findCell(event.target);
46700
+
46701
+ let selectedArray = this.m_selection;
46702
+ let columnArray = this.getColumnSelectionIndexArray();
46703
+
46704
+ let selection = this.m_options.options.selectionMode;
46705
+ let cellSelection = selection.cell;
46706
+ let rowSelection = selection.row;
46707
+
46708
+ let selectedHiddenIndexes = this.containsHiddenItems(columnArray);
46709
+ let unhideIndexes = [];
46710
+
46711
+ const unhideColumns = (unhideItems) => {
46712
+ // except for cell multiple, in all other selection modes,
46713
+ // we check if the columns on either side of the current column is hidden
46714
+ // and we unhide them.
46715
+ let beforeIndex = [];
46716
+ let afterIndex = [];
46717
+ for (let i = 0; i < unhideItems.length; i++) {
46718
+ let j = 0;
46719
+ while (this.m_hiddenColumns.includes(unhideItems[i] - 1 - j)) {
46720
+ beforeIndex.push(unhideItems[i] - 1 - j);
46721
+ j += 1;
46722
+ }
46723
+ let k = 0;
46724
+ while (this.m_hiddenColumns.includes(unhideItems[i] + 1 + k)) {
46725
+ afterIndex.push(unhideItems[i] + 1 + k);
46726
+ k += 1;
46727
+ }
46728
+ }
46729
+ return [...beforeIndex, ...afterIndex];
46730
+ };
46731
+
46732
+ if (this.areAllColumnsSelectedViaRowSelection()) {
46733
+ unhideIndexes = [...this.m_hiddenColumns];
46734
+ } else if (selectedArray.length && cellSelection === 'multiple') {
46735
+ for (let i = 0; i < columnArray.length; i++) {
46736
+ let index = columnArray[i];
46737
+ // if the selected range contains hidden items, unhide
46738
+ // else if it's first and last selected array, unhide everything
46739
+ // else if index is first visible column and if there are any hidden columns before
46740
+ // show all columns before the selected index
46741
+ // else if index is last visible column
46742
+ // show all columns after the selected index
46743
+ if (selectedHiddenIndexes.length) {
46744
+ unhideIndexes = selectedHiddenIndexes;
46745
+ break;
46746
+ } else if (
46747
+ this.isFirstOrFirstNonHiddenIndex(index) &&
46748
+ this.isLastOrLastNonHiddenIndex(index)
46749
+ ) {
46750
+ unhideIndexes = unhideColumns([index]);
46751
+ } else if (this.isFirstOrFirstNonHiddenIndex(index)) {
46752
+ let indexArray = [];
46753
+ for (let j = 0; j <= index - 1; j++) {
46754
+ indexArray.push(j);
46755
+ }
46756
+ unhideIndexes = indexArray;
46757
+ } else if (this.isLastOrLastNonHiddenIndex(index)) {
46758
+ let indexArray = [];
46759
+ for (let j = index + 1; j <= this._getMaxRight(); j++) {
46760
+ indexArray.push(j);
46761
+ }
46762
+ unhideIndexes = indexArray;
46763
+ }
46764
+ }
46765
+ } else if (cellSelection === 'single') {
46766
+ if (selectedArray.length) {
46767
+ unhideIndexes = unhideColumns(columnArray);
46768
+ } else if (targetHeader) {
46769
+ // on context menu click on header (operates on active)
46770
+ columnArray = this.getIndexesByHeader(targetHeader);
46771
+ unhideIndexes = unhideColumns(columnArray);
46772
+ }
46773
+ } else if (cellSelection === 'none' && rowSelection === 'none') {
46774
+ // on context menu click on header (operates on active)
46775
+ if (targetHeader) {
46776
+ columnArray = this.getIndexesByHeader(targetHeader);
46777
+ unhideIndexes = unhideColumns(columnArray);
46778
+ } else if (targetCell) {
46779
+ // on context menu click on databody cell
46780
+ columnArray.push(this._getIndex(targetCell, 'column'));
46781
+ unhideIndexes = unhideColumns(columnArray);
46782
+ }
46783
+ } else if (rowSelection === 'multiple' || rowSelection === 'single') {
46784
+ // on context menu click on header (operates on active)
46785
+ if (targetHeader) {
46786
+ columnArray = this.getIndexesByHeader(targetHeader);
46787
+ unhideIndexes = unhideColumns(columnArray);
46788
+ } else {
46789
+ return;
46790
+ }
46791
+ } else {
46792
+ return;
46793
+ }
46794
+
46795
+ this.unhighlightSelection();
46796
+ for (let i = 0; i < unhideIndexes.length; i++) {
46797
+ let index = unhideIndexes[i];
46798
+ // delete the index from hiddenColumns array
46799
+ let itemIndex = this.m_hiddenColumns.indexOf(index);
46800
+ if (itemIndex !== -1) {
46801
+ this.m_hiddenColumns.splice(itemIndex, 1);
46802
+ }
46803
+ this.shiftCellsForHidability(index);
46804
+ }
46805
+
46806
+ this.deleteAndApplyHiddenIndicators();
46807
+ this.applySelection();
46808
+ this._resetHeaderHighLight();
46809
+ this.resizeGrid();
46810
+
46811
+ let details = {
46812
+ event: event,
46813
+ ui: {
46814
+ hiddenColumns: new Set(this.m_hiddenColumns)
46815
+ }
46816
+ };
46817
+
46818
+ this.fireEvent('columnHide', details);
46819
+ };
46820
+
46821
+ DvtDataGrid.prototype.shiftCellsForHidability = function (index, hide) {
46822
+ var dir = this.getResources().isRTLMode() ? 'right' : 'left';
46823
+ const colHeaderCellClass = this.getMappedStyle('colheadercell');
46824
+ const colEndHeaderCellClass = this.getMappedStyle('colendheadercell');
46825
+
46826
+ let row = this.m_startRow;
46827
+ let column = index;
46828
+
46829
+ let cell;
46830
+ let columnKey;
46831
+ let cellContext;
46832
+ let currentElementWidth;
46833
+ let newElementWidth;
46834
+ let oldElementWidth;
46835
+ let newScrollerWidth;
46836
+ let widthChange;
46837
+
46838
+ let cellIndex = this.createIndex(row, column);
46839
+ cell = this._getCellByIndex(cellIndex);
46840
+ cellContext = cell[this.getResources().getMappedAttribute('context')];
46841
+ columnKey = cellContext.keys.column;
46842
+
46843
+ currentElementWidth = this.getElementWidth(cell);
46844
+
46845
+ oldElementWidth = this.m_sizingManager.getSize('column', columnKey);
46846
+
46847
+ if (hide) {
46848
+ newElementWidth = 0;
46849
+ } else {
46850
+ newElementWidth = oldElementWidth;
46851
+ }
46852
+
46853
+ widthChange = newElementWidth - currentElementWidth;
46854
+
46855
+ let headerRoot;
46856
+ let endHeaderRoot;
46857
+
46858
+ if (widthChange !== 0) {
46859
+ let isHideFrozenSection = false;
46860
+ if (this._hasFrozenColumns() && index <= this.m_frozenColIndex) {
46861
+ isHideFrozenSection = true;
46862
+ headerRoot = this.m_colHeaderFrozen;
46863
+ endHeaderRoot = this.m_colEndHeaderFrozen;
46864
+ } else {
46865
+ headerRoot = this.m_colHeader;
46866
+ endHeaderRoot = this.m_colEndHeader;
46867
+ }
46868
+
46869
+ if (this.m_databody.firstChild != null && !isHideFrozenSection) {
46870
+ let oldScrollerWidth = this.getElementWidth(this.m_databody.firstChild);
46871
+ newScrollerWidth = oldScrollerWidth + widthChange;
46872
+ this.setElementWidth(this.m_databody.firstChild, newScrollerWidth);
46873
+ if (this.m_databodyFrozenRow) {
46874
+ this.setElementWidth(this.m_databodyFrozenRow.firstChild, newScrollerWidth);
46875
+ }
46876
+ } else if (isHideFrozenSection && this.m_databodyFrozenCol) {
46877
+ let oldScrollerWidth = this.getElementWidth(this.m_databodyFrozenCol);
46878
+ let scrollerDir = this.getElementDir(this.m_databodyFrozenCol, dir);
46879
+ if (this.m_endRowEndHeader !== -1) {
46880
+ let endHeaderDir = this.getElementDir(this.m_rowEndHeader, dir);
46881
+ let newWidth = scrollerDir + oldScrollerWidth + widthChange;
46882
+ widthChange =
46883
+ newWidth > endHeaderDir ? endHeaderDir - (scrollerDir + oldScrollerWidth) : widthChange;
46884
+ }
46885
+ newScrollerWidth = oldScrollerWidth + widthChange;
46886
+ this.setElementWidth(this.m_databodyFrozenCol, newScrollerWidth);
46887
+ this.setElementWidth(this.m_databodyFrozenCol, newScrollerWidth);
46888
+ if (this.m_databodyFrozenCorner) {
46889
+ this.setElementWidth(this.m_databodyFrozenCorner, newScrollerWidth);
46890
+ this.setElementWidth(this.m_databodyFrozenCorner, newScrollerWidth);
46891
+ }
46892
+ }
46893
+
46894
+ let corner = false;
46895
+
46896
+ // shifting start/end headers and set display to none for single headers
46897
+ if (this.m_hasColHeader) {
46898
+ this._shiftHeadersAlongAxisInContainer(
46899
+ headerRoot.firstChild,
46900
+ column,
46901
+ widthChange,
46902
+ dir,
46903
+ colHeaderCellClass,
46904
+ 'column',
46905
+ true,
46906
+ hide
46907
+ );
46908
+ if (!isHideFrozenSection) {
46909
+ this.m_endColHeaderPixel += widthChange;
46910
+ }
46911
+ }
46912
+ if (this.m_hasColEndHeader) {
46913
+ this._shiftHeadersAlongAxisInContainer(
46914
+ endHeaderRoot.firstChild,
46915
+ column,
46916
+ widthChange,
46917
+ dir,
46918
+ colEndHeaderCellClass,
46919
+ 'column',
46920
+ true,
46921
+ hide
46922
+ );
46923
+ if (!isHideFrozenSection) {
46924
+ this.m_endColEndHeaderPixel += widthChange;
46925
+ }
46926
+ }
46927
+
46928
+ // shift the cells widths and left/right values in the databody
46929
+ if (!isHideFrozenSection) {
46930
+ this._shiftCellsAlongAxis('column', widthChange, column, false, undefined, undefined, true);
46931
+ if (this.m_databodyFrozenRow) {
46932
+ this._shiftFrozenCellsAlongAxis('column', widthChange, column, false, true);
46933
+ }
46934
+ this.m_endColPixel += widthChange;
46935
+ } else {
46936
+ if (this.m_databodyFrozenRow) {
46937
+ corner = true;
46938
+ }
46939
+ this._shiftCellsAlongAxis(
46940
+ 'column',
46941
+ widthChange,
46942
+ column,
46943
+ null,
46944
+ this.m_frozenColIndex,
46945
+ corner,
46946
+ true
46947
+ );
46948
+ }
46949
+
46950
+ this.manageResizeScrollbars();
46951
+ }
46952
+ };
46953
+
46954
+ /**
46955
+ * Delete existing and apply visual indicator for hidden columns
46956
+ * If nothing is passed, indicators are applied in just headers
46957
+ * @param {Array} - newHideColumnsArray is the array of indexes of databody indicators
46958
+ */
46959
+ DvtDataGrid.prototype.deleteAndApplyHiddenIndicators = function (newHideColumnsArray) {
46960
+ let columnStart = this.m_startCol;
46961
+ let columnEnd = this.m_endCol;
46962
+
46963
+ // delete all existing indicators
46964
+ this.deleteAllHiddenVisualIndicators();
46965
+
46966
+ // re-apply indicators
46967
+ this.applyHiddenIndicatorToRange(columnStart, columnEnd, newHideColumnsArray);
46968
+ };
46969
+
46970
+ DvtDataGrid.prototype.deleteAllHiddenVisualIndicators = function () {
46971
+ let colHeaderContainer = this.m_colHeader.firstChild;
46972
+ let colEndHeaderContainer = this.m_colEndHeader.firstChild;
46973
+
46974
+ // body
46975
+ this.deleteDatabodyHiddenVisualIndicators();
46976
+
46977
+ // headers
46978
+ colHeaderContainer
46979
+ .querySelectorAll(`.${this.getResources().getMappedStyle('headerHiddenIndicator')}`)
46980
+ .forEach((node) => this._remove(node));
46981
+
46982
+ // end headers
46983
+ colEndHeaderContainer
46984
+ .querySelectorAll(`.${this.getResources().getMappedStyle('headerHiddenIndicator')}`)
46985
+ .forEach((node) => this._remove(node));
46986
+
46987
+ if (this._hasFrozenColumns()) {
46988
+ let frozenColHeaderContainer = this.m_colHeaderFrozen.firstChild;
46989
+ let frozenColEndHeaderContainer = this.m_colEndHeaderFrozen.firstChild;
46990
+
46991
+ // frozen headers
46992
+ frozenColHeaderContainer
46993
+ .querySelectorAll(`.${this.getResources().getMappedStyle('headerHiddenIndicator')}`)
46994
+ .forEach((node) => this._remove(node));
46995
+
46996
+ // frozen end headers
46997
+ frozenColEndHeaderContainer
46998
+ .querySelectorAll(`.${this.getResources().getMappedStyle('headerHiddenIndicator')}`)
46999
+ .forEach((node) => this._remove(node));
47000
+ }
47001
+ };
47002
+
47003
+ DvtDataGrid.prototype.deleteDatabodyHiddenVisualIndicators = function () {
47004
+ let databodyContainer = this.m_databody.firstChild;
47005
+ databodyContainer
47006
+ .querySelectorAll(`.${this.getResources().getMappedStyle('databodyHiddenIndicator')}`)
47007
+ .forEach((node) => this._remove(node));
47008
+
47009
+ if (this._hasFrozenColumns()) {
47010
+ // deleting frozen columns's indicators
47011
+ let frozenDatabodyContainer = this.m_databodyFrozenCol.firstChild;
47012
+ frozenDatabodyContainer
47013
+ .querySelectorAll(`.${this.getResources().getMappedStyle('databodyHiddenIndicator')}`)
47014
+ .forEach((node) => this._remove(node));
47015
+ }
47016
+
47017
+ if (this._hasFrozenRows()) {
47018
+ // deleting frozen row's indicators
47019
+ let frozenRowDatabodyContainer = this.m_databodyFrozenRow.firstChild;
47020
+ frozenRowDatabodyContainer
47021
+ .querySelectorAll(`.${this.getResources().getMappedStyle('databodyHiddenIndicator')}`)
47022
+ .forEach((node) => this._remove(node));
47023
+ }
47024
+
47025
+ if (this._hasFrozenColumns() && this._hasFrozenRows()) {
47026
+ // frozen corner's indicators
47027
+ let frozenCornerDatabodyContainer = this.m_databodyFrozenCorner.firstChild;
47028
+ frozenCornerDatabodyContainer
47029
+ .querySelectorAll(`.${this.getResources().getMappedStyle('databodyHiddenIndicator')}`)
47030
+ .forEach((node) => this._remove(node));
47031
+ }
47032
+ };
47033
+
47034
+ /**
47035
+ * This method increments all hidden columns after start index on insertion
47036
+ * @param {Number} start
47037
+ * @param {Number} count
47038
+ */
47039
+ DvtDataGrid.prototype.updateHiddenColumnsForInsertion = function (start, count) {
47040
+ let changed = false;
47041
+
47042
+ // for insertion, we get each start index, count
47043
+ for (let i = 0; i < this.m_hiddenColumns.length; i++) {
47044
+ if (this.m_hiddenColumns[i] >= start) {
47045
+ this.m_hiddenColumns[i] += count;
47046
+ changed = true;
47047
+ }
47048
+ }
47049
+
47050
+ if (changed) {
47051
+ let details = {
47052
+ event: null,
47053
+ ui: {
47054
+ hiddenColumns: new Set(this.m_hiddenColumns)
47055
+ }
47056
+ };
47057
+
47058
+ this.fireEvent('columnHide', details);
47059
+ }
47060
+ };
47061
+
47062
+ /**
47063
+ * This method increments all hidden columns after start index on insertion
47064
+ * @param {Array} columnIndexes deleted indexes
47065
+ */
47066
+ DvtDataGrid.prototype.updateHiddenColumnsForDeletion = function (columnIndexes) {
47067
+ let changed = false;
47068
+
47069
+ // for deletion, we have all the indexes that need to be deleted
47070
+ columnIndexes.forEach((columnIndex) => {
47071
+ let find = this.m_hiddenColumns.indexOf((hiddenIndex) => {
47072
+ return hiddenIndex === columnIndex;
47073
+ });
47074
+
47075
+ if (find !== -1) {
47076
+ changed = true;
47077
+ this.m_hiddenColumns.splice(find, 1);
47078
+ }
47079
+
47080
+ this.m_hiddenColumns = this.m_hiddenColumns.map((hiddenIndex) => {
47081
+ if (hiddenIndex > columnIndex) {
47082
+ changed = true;
47083
+ return hiddenIndex - 1;
47084
+ }
47085
+ return hiddenIndex;
47086
+ });
47087
+ });
47088
+
47089
+ if (changed) {
47090
+ let details = {
47091
+ event: null,
47092
+ ui: {
47093
+ hiddenColumns: new Set(this.m_hiddenColumns)
47094
+ }
47095
+ };
47096
+
47097
+ this.fireEvent('columnHide', details);
47098
+ }
47099
+ };
47100
+
47101
+ // this function returns false if there is only one column left to hide
47102
+ DvtDataGrid.prototype.canHide = function () {
47103
+ let selectedArray = this.m_selection;
47104
+ let totalColumnCount = this.m_endCol - this.m_startCol + 1;
47105
+ let hiddenColumnsCount = this.m_hiddenColumns.length;
47106
+
47107
+ let columnArray = [];
47108
+ let selectionColumnArrayCount;
47109
+ let visibleColumnCount;
47110
+
47111
+ if (selectedArray.length && this.isMultipleSelection()) {
47112
+ // if a row is selected, can't hide
47113
+ if (this.areAllColumnsSelectedViaRowSelection()) {
47114
+ return false;
47115
+ }
47116
+ // get all the column indexes from selected array of objects
47117
+ for (let i = 0; i < selectedArray.length; i++) {
47118
+ let startIndex = selectedArray[i].startIndex.column;
47119
+ let endIndex = selectedArray[i].endIndex.column;
47120
+ for (let j = startIndex; j <= endIndex; j++) {
47121
+ if (!this.m_hiddenColumns.includes(j)) {
47122
+ columnArray.push(j);
47123
+ }
47124
+ }
47125
+ }
47126
+
47127
+ selectionColumnArrayCount = columnArray.length;
47128
+ } else {
47129
+ // count is 1 when the selection is not multiple
47130
+ selectionColumnArrayCount = 1;
47131
+ }
47132
+
47133
+ visibleColumnCount = totalColumnCount - hiddenColumnsCount - selectionColumnArrayCount;
47134
+
47135
+ return visibleColumnCount > 0;
47136
+ };
47137
+
47138
+ DvtDataGrid.prototype.isHiddenAdjacent = function (details) {
47139
+ let isCell = details.cell;
47140
+ let isHeader = details.header;
47141
+
47142
+ let columnIndex = details.index;
47143
+
47144
+ if (isCell) {
47145
+ let beforeIndex = columnIndex - 1;
47146
+ let afterIndex = columnIndex + 1;
47147
+ if (this.m_hiddenColumns.includes(beforeIndex)) {
47148
+ return true;
47149
+ } else if (this.m_hiddenColumns.includes(afterIndex)) {
47150
+ return true;
47151
+ }
47152
+ return false;
47153
+ } else if (isHeader) {
47154
+ let beforeIndex = [];
47155
+ let afterIndex = [];
47156
+ for (let i = 0; i < columnIndex.length; i++) {
47157
+ let j = 0;
47158
+ while (this.m_hiddenColumns.includes(columnIndex[i] - 1 - j)) {
47159
+ beforeIndex.push(columnIndex[i] - 1 - j);
47160
+ j += 1;
47161
+ }
47162
+ let k = 0;
47163
+ while (this.m_hiddenColumns.includes(columnIndex[i] + 1 + k)) {
47164
+ afterIndex.push(columnIndex[i] + 1 + k);
47165
+ k += 1;
47166
+ }
47167
+ }
47168
+ if (beforeIndex.length > 0 || afterIndex.length > 0) {
47169
+ return true;
47170
+ }
47171
+ return false;
47172
+ }
47173
+ return false;
47174
+ };
47175
+
47176
+ DvtDataGrid.prototype.getColumnSelectionIndexArray = function () {
47177
+ let selectedArray = this.m_selection;
47178
+ let columnArray = [];
47179
+
47180
+ if (selectedArray.length && !this.areAllColumnsSelectedViaRowSelection()) {
47181
+ // get all the column indexes from selected array of objects
47182
+ // handle all rows + columns case
47183
+ for (let i = 0; i < selectedArray.length; i++) {
47184
+ let startIndex = selectedArray[i].startIndex.column;
47185
+ let endIndex = selectedArray[i].endIndex.column;
47186
+ for (let j = startIndex; j <= endIndex; j++) {
47187
+ columnArray.push(j);
47188
+ }
47189
+ }
47190
+ columnArray.sort((a, b) => a - b);
47191
+ }
47192
+ return columnArray;
47193
+ };
47194
+
47195
+ DvtDataGrid.prototype.areAllColumnsSelectedViaRowSelection = function () {
47196
+ // returns true when it's cell selection multiple and rows are selected
47197
+ let selectedArray = this.m_selection;
47198
+
47199
+ let selection = this.m_options.options.selectionMode;
47200
+ let cellSelection = selection.cell;
47201
+ let rowSelection = selection.row;
47202
+
47203
+ let isRowSelection = rowSelection === 'multiple' || rowSelection === 'single';
47204
+
47205
+ if (selectedArray.length && (cellSelection === 'multiple' || isRowSelection)) {
47206
+ for (let i = 0; i < selectedArray.length; i++) {
47207
+ let startIndex = selectedArray[i].startIndex.column;
47208
+ let endIndex = selectedArray[i].endIndex.column;
47209
+ /* eslint-disable eqeqeq */
47210
+ if (
47211
+ (startIndex === 0 && endIndex === -1) ||
47212
+ (startIndex == undefined && endIndex == undefined)
47213
+ ) {
47214
+ return true;
47215
+ }
47216
+ /* eslint-enable eqeqeq */
47217
+ }
47218
+ }
47219
+ return false;
47220
+ };
47221
+
47222
+ DvtDataGrid.prototype._getCellHidabilityContextMenuCapability = function (cell) {
47223
+ let selectionMode = this.m_options.options.selectionMode;
47224
+ let cellSelection = selectionMode.cell;
47225
+ let rowSelection = selectionMode.row;
47226
+
47227
+ let canHide = false;
47228
+ let canUnhide = false;
47229
+
47230
+ let columnArray = this.getColumnSelectionIndexArray();
47231
+ const context = this.getResources().getMappedAttribute('context');
47232
+
47233
+ // for cell selection multiple hide is enabled all the time except when all visible columns are selected or when rows are selected
47234
+ // for cell selection multiple unhide is enabled when there are hidden columns in the selection or when rows are selected
47235
+ // for cell selection single, hide is enabled all the time except when all visible columns are selected
47236
+ // for cell selection single, unhide is enabled when there are hidden columns adjacent to the selected cell
47237
+ // for row selection single, hide is disabled. Unhide is enabled if there are any hidden columns
47238
+ // for cell/row selection none, hide is enabled all the time except if it's last visible column.
47239
+ // for cell/row selection none, unhide is enabled when there are hidden columns adjacent to the Active cell
47240
+
47241
+ // for cell/row single/multiple
47242
+ if (this._isSelectionEnabled()) {
47243
+ // cell/row multiple
47244
+ if (this.isMultipleSelection()) {
47245
+ if (cellSelection === 'multiple') {
47246
+ if (this.canHide()) {
47247
+ canHide = true;
47248
+ }
47249
+ if (columnArray.length > 0) {
47250
+ let firstIndex = columnArray[0];
47251
+ let lastIndex = columnArray[columnArray.length - 1];
47252
+ if (
47253
+ this.containsHiddenItems(columnArray).length > 0 ||
47254
+ this.isFirstOrFirstNonHiddenIndex(firstIndex) ||
47255
+ this.isLastOrLastNonHiddenIndex(lastIndex)
47256
+ ) {
47257
+ canUnhide = true;
47258
+ }
47259
+ }
47260
+ } else if (rowSelection === 'multiple' && this.m_hiddenColumns.length > 0) {
47261
+ canUnhide = true;
47262
+ }
47263
+ } else if (cellSelection === 'single') {
47264
+ if (this.canHide()) {
47265
+ canHide = true;
47266
+ }
47267
+ if (this.isHiddenAdjacent({ cell: true, index: columnArray[0] })) {
47268
+ canUnhide = true;
47269
+ }
47270
+ } else if (rowSelection === 'single' && this.m_hiddenColumns.length > 0) {
47271
+ canUnhide = true;
47272
+ }
47273
+ } else if (cellSelection === 'none' && rowSelection === 'none') {
47274
+ if (this.canHide()) {
47275
+ canHide = true;
47276
+ }
47277
+ let columnIndex = cell[context].indexes.column;
47278
+ if (this.isHiddenAdjacent({ cell: true, index: columnIndex })) {
47279
+ canUnhide = true;
47280
+ }
47281
+ }
47282
+
47283
+ return { canHide, canUnhide };
47284
+ };
47285
+
47286
+ DvtDataGrid.prototype._getHeaderHidabilityContextMenuCapability = function (header, actualCell) {
47287
+ let selectionMode = this.m_options.options.selectionMode;
47288
+ let cellSelection = selectionMode.cell;
47289
+ let rowSelection = selectionMode.row;
47290
+ var axis = this.getHeaderCellAxis(header);
47291
+
47292
+ let canHide = false;
47293
+ let canUnhide = false;
47294
+
47295
+ let columnArray = this.getColumnSelectionIndexArray();
47296
+ let isHeaderSelected = this.m_utils.containsCSSClassName(header, this.getMappedStyle('selected'));
47297
+
47298
+ if (this._isSelectionEnabled() && cellSelection === 'multiple') {
47299
+ if (isHeaderSelected && this.canHide()) {
47300
+ canHide = true;
47301
+ }
47302
+ if (columnArray.length > 0) {
47303
+ let firstIndex = columnArray[0];
47304
+ let lastIndex = columnArray[columnArray.length - 1];
47305
+ if (
47306
+ this.containsHiddenItems(columnArray).length > 0 ||
47307
+ this.isFirstOrFirstNonHiddenIndex(firstIndex) ||
47308
+ this.isLastOrLastNonHiddenIndex(lastIndex)
47309
+ ) {
47310
+ canUnhide = true;
47311
+ }
47312
+ } else if (this.areAllColumnsSelectedViaRowSelection() && this.m_hiddenColumns.length > 0) {
47313
+ canUnhide = true;
47314
+ }
47315
+ } else if (
47316
+ rowSelection === 'multiple' ||
47317
+ cellSelection === 'single' ||
47318
+ rowSelection === 'single' ||
47319
+ (cellSelection === 'none' && rowSelection === 'none')
47320
+ ) {
47321
+ if (this.m_hiddenColumns.length > 0) {
47322
+ canUnhide = true;
47323
+ }
47324
+
47325
+ // right click on column header with row selection
47326
+ if ((axis === 'column' || axis === 'columnEnd') && !actualCell) {
47327
+ canHide = true;
47328
+
47329
+ let columnIndex = this.getIndexesByHeader(header);
47330
+ if (this.isHiddenAdjacent({ header: true, index: columnIndex })) {
47331
+ canUnhide = true;
47332
+ } else {
47333
+ canUnhide = false;
47334
+ }
47335
+ }
47336
+ }
47337
+
47338
+ return { canHide, canUnhide };
47339
+ };