@demos-europe/demosplan-ui 0.4.12 → 0.4.13

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 (265) hide show
  1. package/.yarn/install-state.gz +0 -0
  2. package/CHANGELOG.md +10 -0
  3. package/babel.config.js +9 -9
  4. package/dist/demosplan-ui.umd.js +1 -1
  5. package/eslint.config.js +104 -0
  6. package/jest/shallowMountWithGlobalMocks.js +8 -6
  7. package/jest.config.js +4 -4
  8. package/package.json +12 -5
  9. package/scripts/buildTokens.js +1 -1
  10. package/scripts/utils/transformTokens.js +2 -2
  11. package/src/components/DpAccordion/DpAccordion.vue +4 -4
  12. package/src/components/DpAnonymizeText/DpAnonymizeText.vue +4 -4
  13. package/src/components/DpBulkEditHeader/DpBulkEditHeader.stories.tsx +1 -1
  14. package/src/components/DpButton/DpButton.vue +51 -43
  15. package/src/components/DpButtonIcon/DpButtonIcon.vue +5 -5
  16. package/src/components/DpButtonRow/DpButtonRow.vue +5 -5
  17. package/src/components/DpCheckbox/DpCheckbox.vue +2 -2
  18. package/src/components/DpCheckboxGroup/DpCheckboxGroup.vue +4 -4
  19. package/src/components/DpColumnSelector/DpColumnSelector.vue +1 -1
  20. package/src/components/DpContextualHelp/DpContextualHelp.vue +4 -4
  21. package/src/components/DpDataTable/DpDataTable.vue +53 -49
  22. package/src/components/DpDataTable/DpResizableColumn.vue +1 -1
  23. package/src/components/DpDataTable/DpTableHeader.vue +6 -4
  24. package/src/components/DpDataTable/DpTableRow.vue +1 -1
  25. package/src/components/DpDataTableExtended/DpDataTableExtended.vue +8 -8
  26. package/src/components/DpDataTableExtended/DpSelectPageItemCount.vue +2 -2
  27. package/src/components/DpDatetimePicker/DpDatetimePicker.vue +6 -6
  28. package/src/components/DpDetails/DpDetails.vue +1 -1
  29. package/src/components/DpDraggable/DpDraggable.vue +10 -12
  30. package/src/components/DpEditor/DpEditor.vue +45 -45
  31. package/src/components/DpEditor/DpResizableImage.vue +6 -6
  32. package/src/components/DpEditor/DpUploadModal.vue +11 -12
  33. package/src/components/DpEditor/MentionList.vue +5 -3
  34. package/src/components/DpEditor/libs/editorObscure.js +2 -2
  35. package/src/components/DpFlyout/DpFlyout.vue +5 -5
  36. package/src/components/DpIcon/util/iconConfig.ts +28 -28
  37. package/src/components/DpInlineNotification/DpInlineNotification.vue +2 -2
  38. package/src/components/DpLabel/DpLabel.vue +5 -3
  39. package/src/components/DpModal/DpModal.vue +5 -5
  40. package/src/components/DpMultiselect/DpMultiselect.vue +23 -25
  41. package/src/components/DpMultistepNav/DpMultistepNav.vue +2 -2
  42. package/src/components/DpPager/DpPager.vue +12 -12
  43. package/src/components/DpResettableInput/DpResettableInput.vue +3 -3
  44. package/src/components/DpSearchField/DpSearchField.vue +7 -2
  45. package/src/components/DpSelect/DpSelect.vue +3 -3
  46. package/src/components/DpSkeletonBox/DpSkeletonBox.vue +1 -1
  47. package/src/components/DpSlidebar/DpSlidebar.vue +2 -2
  48. package/src/components/DpSplitButton/DpSplitButton.vue +2 -2
  49. package/src/components/DpStickyElement/DpStickyElement.vue +1 -1
  50. package/src/components/DpTabs/DpTabs.vue +1 -1
  51. package/src/components/DpTextArea/DpTextArea.vue +4 -4
  52. package/src/components/DpTimePicker/DpTimePicker.vue +14 -14
  53. package/src/components/DpToggle/DpToggle.vue +1 -1
  54. package/src/components/DpTooltip/DpTooltip.vue +4 -2
  55. package/src/components/DpTooltip/utils/tooltip.js +4 -4
  56. package/src/components/DpTooltipIcon/DpTooltipIcon.vue +2 -2
  57. package/src/components/DpTransitionExpand/DpTransitionExpand.vue +1 -1
  58. package/src/components/DpTreeList/DpTreeList.vue +4 -4
  59. package/src/components/DpTreeList/DpTreeListCheckbox.vue +1 -1
  60. package/src/components/DpTreeList/DpTreeListNode.vue +12 -12
  61. package/src/components/DpUploadFiles/DpUpload.vue +2 -2
  62. package/src/components/DpUploadFiles/DpUploadFiles.vue +10 -10
  63. package/src/components/DpUploadFiles/DpUploadedFile.vue +6 -6
  64. package/src/components/DpUploadFiles/DpUploadedFileList.vue +4 -4
  65. package/src/components/DpVideoPlayer/DpVideoPlayer.vue +7 -7
  66. package/src/directives/CleanHtml/CleanHtml.js +1 -1
  67. package/src/directives/Tooltip/Tooltip.js +1 -1
  68. package/src/lib/ActionMenu.js +48 -48
  69. package/src/lib/DpApi.js +2 -2
  70. package/src/lib/FileInfo.js +15 -15
  71. package/src/lib/validation/utils/assignHandlerForTrigger.js +8 -8
  72. package/src/lib/validation/utils/assignHandlersForInputs.js +51 -51
  73. package/src/lib/validation/utils/assignObserver.js +29 -29
  74. package/src/lib/validation/utils/helpers.js +4 -4
  75. package/src/lib/validation/utils/validateForm.js +15 -15
  76. package/src/lib/validation/utils/validateInputField.js +11 -11
  77. package/src/utils/index.js +2 -2
  78. package/tokens/dist/js/boxShadow.js +1 -1
  79. package/tokens/dist/js/breakpoints.js +1 -1
  80. package/tokens/dist/js/color.brand.js +1 -1
  81. package/tokens/dist/js/color.data.js +1 -1
  82. package/tokens/dist/js/color.palette.js +1 -1
  83. package/tokens/dist/js/color.ui.js +1 -1
  84. package/tokens/dist/js/fontSize.js +1 -1
  85. package/tokens/dist/js/rounded.js +1 -1
  86. package/tokens/dist/js/space.js +1 -1
  87. package/tokens/dist/js/zIndex.js +1 -1
  88. package/tokens/dist/scss/_boxShadow.scss +1 -1
  89. package/tokens/dist/scss/_breakpoints.scss +1 -1
  90. package/tokens/dist/scss/_color.brand.scss +1 -1
  91. package/tokens/dist/scss/_color.data.scss +1 -1
  92. package/tokens/dist/scss/_color.palette.scss +1 -1
  93. package/tokens/dist/scss/_color.ui.scss +1 -1
  94. package/tokens/dist/scss/_fontSize.scss +1 -1
  95. package/tokens/dist/scss/_rounded.scss +1 -1
  96. package/tokens/dist/scss/_space.scss +1 -1
  97. package/tokens/dist/scss/_zIndex.scss +1 -1
  98. package/types/icons.ts +26 -26
  99. package/coverage/clover.xml +0 -6
  100. package/coverage/coverage-final.json +0 -1
  101. package/coverage/lcov-report/base.css +0 -224
  102. package/coverage/lcov-report/block-navigation.js +0 -87
  103. package/coverage/lcov-report/components/DpContextualHelp/DpContextualHelp.vue.html +0 -271
  104. package/coverage/lcov-report/components/DpContextualHelp/index.html +0 -116
  105. package/coverage/lcov-report/components/DpDataTableExtended/DataTableSearch.js.html +0 -190
  106. package/coverage/lcov-report/components/DpDataTableExtended/index.html +0 -116
  107. package/coverage/lcov-report/components/DpEditor/libs/handleWordPaste.js.html +0 -1138
  108. package/coverage/lcov-report/components/DpEditor/libs/index.html +0 -116
  109. package/coverage/lcov-report/components/DpIcon/DpIcon.vue.html +0 -256
  110. package/coverage/lcov-report/components/DpIcon/index.html +0 -131
  111. package/coverage/lcov-report/components/DpIcon/index.ts.html +0 -91
  112. package/coverage/lcov-report/components/DpIcon/util/iconVariables.js.html +0 -682
  113. package/coverage/lcov-report/components/DpIcon/util/index.html +0 -116
  114. package/coverage/lcov-report/components/DpTooltip/utils/index.html +0 -116
  115. package/coverage/lcov-report/components/DpTooltip/utils/tooltip.js.html +0 -490
  116. package/coverage/lcov-report/components/shared/index.html +0 -116
  117. package/coverage/lcov-report/components/shared/translations.js.html +0 -490
  118. package/coverage/lcov-report/directives/CleanHtml/CleanHtml.js.html +0 -265
  119. package/coverage/lcov-report/directives/CleanHtml/index.html +0 -116
  120. package/coverage/lcov-report/directives/Tooltip/Tooltip.js.html +0 -349
  121. package/coverage/lcov-report/directives/Tooltip/index.html +0 -116
  122. package/coverage/lcov-report/directives/index.html +0 -116
  123. package/coverage/lcov-report/directives/index.js.html +0 -109
  124. package/coverage/lcov-report/favicon.png +0 -0
  125. package/coverage/lcov-report/index.html +0 -101
  126. package/coverage/lcov-report/jest/index.html +0 -116
  127. package/coverage/lcov-report/jest/shallowMountWithGlobalMocks.js.html +0 -208
  128. package/coverage/lcov-report/prettify.css +0 -1
  129. package/coverage/lcov-report/prettify.js +0 -2
  130. package/coverage/lcov-report/sort-arrow-sprite.png +0 -0
  131. package/coverage/lcov-report/sorter.js +0 -196
  132. package/coverage/lcov-report/src/components/DpCheckbox/DpCheckbox.vue.html +0 -424
  133. package/coverage/lcov-report/src/components/DpCheckbox/index.html +0 -116
  134. package/coverage/lcov-report/src/components/DpContextualHelp/DpContextualHelp.vue.html +0 -361
  135. package/coverage/lcov-report/src/components/DpContextualHelp/index.html +0 -131
  136. package/coverage/lcov-report/src/components/DpContextualHelp/index.ts.html +0 -91
  137. package/coverage/lcov-report/src/components/DpDataTableExtended/DataTableSearch.js.html +0 -190
  138. package/coverage/lcov-report/src/components/DpDataTableExtended/index.html +0 -116
  139. package/coverage/lcov-report/src/components/DpDraggable/DpDraggable.vue.html +0 -499
  140. package/coverage/lcov-report/src/components/DpDraggable/index.html +0 -131
  141. package/coverage/lcov-report/src/components/DpDraggable/index.ts.html +0 -91
  142. package/coverage/lcov-report/src/components/DpEditor/libs/handleWordPaste.js.html +0 -1153
  143. package/coverage/lcov-report/src/components/DpEditor/libs/index.html +0 -116
  144. package/coverage/lcov-report/src/components/DpIcon/DpIcon.vue.html +0 -256
  145. package/coverage/lcov-report/src/components/DpIcon/index.html +0 -131
  146. package/coverage/lcov-report/src/components/DpIcon/index.ts.html +0 -91
  147. package/coverage/lcov-report/src/components/DpIcon/util/iconVariables.js.html +0 -706
  148. package/coverage/lcov-report/src/components/DpIcon/util/index.html +0 -116
  149. package/coverage/lcov-report/src/components/DpInput/DpInput.vue.html +0 -937
  150. package/coverage/lcov-report/src/components/DpInput/index.html +0 -131
  151. package/coverage/lcov-report/src/components/DpInput/index.ts.html +0 -91
  152. package/coverage/lcov-report/src/components/DpLabel/DpLabel.vue.html +0 -409
  153. package/coverage/lcov-report/src/components/DpLabel/index.html +0 -131
  154. package/coverage/lcov-report/src/components/DpLabel/index.ts.html +0 -91
  155. package/coverage/lcov-report/src/components/DpModal/DpModal.vue.html +0 -739
  156. package/coverage/lcov-report/src/components/DpModal/index.html +0 -131
  157. package/coverage/lcov-report/src/components/DpModal/index.ts.html +0 -91
  158. package/coverage/lcov-report/src/components/DpNotification/DpNotification.vue.html +0 -343
  159. package/coverage/lcov-report/src/components/DpNotification/index.html +0 -131
  160. package/coverage/lcov-report/src/components/DpNotification/index.ts.html +0 -91
  161. package/coverage/lcov-report/src/components/DpObscure/DpObscure.vue.html +0 -148
  162. package/coverage/lcov-report/src/components/DpObscure/index.html +0 -131
  163. package/coverage/lcov-report/src/components/DpObscure/index.ts.html +0 -91
  164. package/coverage/lcov-report/src/components/DpSelect/DpSelect.vue.html +0 -559
  165. package/coverage/lcov-report/src/components/DpSelect/index.html +0 -131
  166. package/coverage/lcov-report/src/components/DpSelect/index.ts.html +0 -91
  167. package/coverage/lcov-report/src/components/DpTooltip/utils/index.html +0 -116
  168. package/coverage/lcov-report/src/components/DpTooltip/utils/tooltip.js.html +0 -490
  169. package/coverage/lcov-report/src/components/DpTreeList/DpTreeList.vue.html +0 -1099
  170. package/coverage/lcov-report/src/components/DpTreeList/DpTreeListCheckbox.vue.html +0 -301
  171. package/coverage/lcov-report/src/components/DpTreeList/DpTreeListNode.vue.html +0 -1144
  172. package/coverage/lcov-report/src/components/DpTreeList/DpTreeListToggle.vue.html +0 -382
  173. package/coverage/lcov-report/src/components/DpTreeList/index.html +0 -161
  174. package/coverage/lcov-report/src/components/DpTreeList/utils/constants.js.html +0 -100
  175. package/coverage/lcov-report/src/components/DpTreeList/utils/index.html +0 -116
  176. package/coverage/lcov-report/src/components/DpUploadFiles/DpUpload.vue.html +0 -979
  177. package/coverage/lcov-report/src/components/DpUploadFiles/DpUploadFiles.vue.html +0 -970
  178. package/coverage/lcov-report/src/components/DpUploadFiles/DpUploadedFile.vue.html +0 -340
  179. package/coverage/lcov-report/src/components/DpUploadFiles/DpUploadedFileList.vue.html +0 -202
  180. package/coverage/lcov-report/src/components/DpUploadFiles/index.html +0 -176
  181. package/coverage/lcov-report/src/components/DpUploadFiles/index.ts.html +0 -91
  182. package/coverage/lcov-report/src/components/DpUploadFiles/utils/UppyTranslations.js.html +0 -151
  183. package/coverage/lcov-report/src/components/DpUploadFiles/utils/index.html +0 -116
  184. package/coverage/lcov-report/src/components/shared/index.html +0 -116
  185. package/coverage/lcov-report/src/components/shared/translations.js.html +0 -508
  186. package/coverage/lcov-report/src/directives/CleanHtml/CleanHtml.js.html +0 -265
  187. package/coverage/lcov-report/src/directives/CleanHtml/index.html +0 -116
  188. package/coverage/lcov-report/src/directives/Tooltip/Tooltip.js.html +0 -349
  189. package/coverage/lcov-report/src/directives/Tooltip/index.html +0 -116
  190. package/coverage/lcov-report/src/directives/index.html +0 -116
  191. package/coverage/lcov-report/src/directives/index.js.html +0 -109
  192. package/coverage/lcov-report/src/lib/ActionMenu.js.html +0 -610
  193. package/coverage/lcov-report/src/lib/Detabinator.js.html +0 -304
  194. package/coverage/lcov-report/src/lib/DpApi.js.html +0 -748
  195. package/coverage/lcov-report/src/lib/DpConfirm.js.html +0 -118
  196. package/coverage/lcov-report/src/lib/DpGetCssVariable.js.html +0 -103
  197. package/coverage/lcov-report/src/lib/FileInfo.js.html +0 -574
  198. package/coverage/lcov-report/src/lib/HighlightHashLink.js.html +0 -160
  199. package/coverage/lcov-report/src/lib/MatchMedia.js.html +0 -220
  200. package/coverage/lcov-report/src/lib/SideNav.js.html +0 -712
  201. package/coverage/lcov-report/src/lib/Sticky.js.html +0 -223
  202. package/coverage/lcov-report/src/lib/TableWrapper.js.html +0 -214
  203. package/coverage/lcov-report/src/lib/index.html +0 -281
  204. package/coverage/lcov-report/src/lib/index.js.html +0 -190
  205. package/coverage/lcov-report/src/lib/validation/utils/assignHandlersForInputs.js.html +0 -400
  206. package/coverage/lcov-report/src/lib/validation/utils/helpers.js.html +0 -523
  207. package/coverage/lcov-report/src/lib/validation/utils/index.html +0 -236
  208. package/coverage/lcov-report/src/lib/validation/utils/validateDatepicker.js.html +0 -160
  209. package/coverage/lcov-report/src/lib/validation/utils/validateEmail.js.html +0 -136
  210. package/coverage/lcov-report/src/lib/validation/utils/validateFieldset.js.html +0 -163
  211. package/coverage/lcov-report/src/lib/validation/utils/validateForm.js.html +0 -205
  212. package/coverage/lcov-report/src/lib/validation/utils/validateInputField.js.html +0 -403
  213. package/coverage/lcov-report/src/lib/validation/utils/validateMultiselect.js.html +0 -121
  214. package/coverage/lcov-report/src/lib/validation/utils/validateTiptap.js.html +0 -160
  215. package/coverage/lcov-report/src/mixins/dpSelectAllMixin.js.html +0 -232
  216. package/coverage/lcov-report/src/mixins/dpValidateMixin.js.html +0 -460
  217. package/coverage/lcov-report/src/mixins/index.html +0 -176
  218. package/coverage/lcov-report/src/mixins/index.js.html +0 -124
  219. package/coverage/lcov-report/src/mixins/prefixClassMixin/index.html +0 -116
  220. package/coverage/lcov-report/src/mixins/prefixClassMixin/prefixClassMixin.js.html +0 -121
  221. package/coverage/lcov-report/src/mixins/sessionStorageMixin.js.html +0 -160
  222. package/coverage/lcov-report/src/mixins/tableSelectAllItems.js.html +0 -427
  223. package/coverage/lcov-report/src/shared/index.html +0 -116
  224. package/coverage/lcov-report/src/shared/index.js.html +0 -103
  225. package/coverage/lcov-report/src/shared/props/index.html +0 -116
  226. package/coverage/lcov-report/src/shared/props/props.js.html +0 -310
  227. package/coverage/lcov-report/src/utils/date.js.html +0 -208
  228. package/coverage/lcov-report/src/utils/debounce.js.html +0 -163
  229. package/coverage/lcov-report/src/utils/deepMerge.js.html +0 -175
  230. package/coverage/lcov-report/src/utils/formatBytes.js.html +0 -133
  231. package/coverage/lcov-report/src/utils/formatString.js.html +0 -109
  232. package/coverage/lcov-report/src/utils/fullscreen.js.html +0 -253
  233. package/coverage/lcov-report/src/utils/getAnimationEventName.js.html +0 -157
  234. package/coverage/lcov-report/src/utils/getScrollTop.js.html +0 -109
  235. package/coverage/lcov-report/src/utils/hasOwnProp.js.html +0 -142
  236. package/coverage/lcov-report/src/utils/hasPermission.js.html +0 -214
  237. package/coverage/lcov-report/src/utils/index.html +0 -341
  238. package/coverage/lcov-report/src/utils/index.js.html +0 -217
  239. package/coverage/lcov-report/src/utils/lengthHint/index.html +0 -116
  240. package/coverage/lcov-report/src/utils/lengthHint/lengthHint.js.html +0 -268
  241. package/coverage/lcov-report/src/utils/prefixClass.js.html +0 -199
  242. package/coverage/lcov-report/src/utils/resistFingerprintingDuckTest.js.html +0 -232
  243. package/coverage/lcov-report/src/utils/sortAlphabetically.js.html +0 -193
  244. package/coverage/lcov-report/src/utils/throttle.js.html +0 -145
  245. package/coverage/lcov-report/src/utils/uniqueArrayByObjectKey.js.html +0 -151
  246. package/coverage/lcov-report/utils/date.js.html +0 -208
  247. package/coverage/lcov-report/utils/debounce.js.html +0 -163
  248. package/coverage/lcov-report/utils/deepMerge.js.html +0 -175
  249. package/coverage/lcov-report/utils/formatBytes.js.html +0 -133
  250. package/coverage/lcov-report/utils/fullscreen.js.html +0 -253
  251. package/coverage/lcov-report/utils/getAnimationEventName.js.html +0 -157
  252. package/coverage/lcov-report/utils/getScrollTop.js.html +0 -109
  253. package/coverage/lcov-report/utils/hasOwnProp.js.html +0 -142
  254. package/coverage/lcov-report/utils/hasPermission.js.html +0 -214
  255. package/coverage/lcov-report/utils/index.html +0 -326
  256. package/coverage/lcov-report/utils/index.js.html +0 -211
  257. package/coverage/lcov-report/utils/lengthHint/index.html +0 -116
  258. package/coverage/lcov-report/utils/lengthHint/lengthHint.js.html +0 -268
  259. package/coverage/lcov-report/utils/prefixClass.js.html +0 -199
  260. package/coverage/lcov-report/utils/resistFingerprintingDuckTest.js.html +0 -232
  261. package/coverage/lcov-report/utils/sortAlphabetically.js.html +0 -193
  262. package/coverage/lcov-report/utils/throttle.js.html +0 -145
  263. package/coverage/lcov-report/utils/uniqueArrayByObjectKey.js.html +0 -151
  264. package/coverage/lcov.info +0 -0
  265. package/style/style.css +0 -1002
@@ -1,1099 +0,0 @@
1
-
2
- <!doctype html>
3
- <html lang="en">
4
-
5
- <head>
6
- <title>Code coverage report for src/components/DpTreeList/DpTreeList.vue</title>
7
- <meta charset="utf-8" />
8
- <link rel="stylesheet" href="../../../prettify.css" />
9
- <link rel="stylesheet" href="../../../base.css" />
10
- <link rel="shortcut icon" type="image/x-icon" href="../../../favicon.png" />
11
- <meta name="viewport" content="width=device-width, initial-scale=1" />
12
- <style type='text/css'>
13
- .coverage-summary .sorter {
14
- background-image: url(../../../sort-arrow-sprite.png);
15
- }
16
- </style>
17
- </head>
18
-
19
- <body>
20
- <div class='wrapper'>
21
- <div class='pad1'>
22
- <h1><a href="../../../index.html">All files</a> / <a href="index.html">src/components/DpTreeList</a> DpTreeList.vue</h1>
23
- <div class='clearfix'>
24
-
25
- <div class='fl pad1y space-right2'>
26
- <span class="strong">62.5% </span>
27
- <span class="quiet">Statements</span>
28
- <span class='fraction'>10/16</span>
29
- </div>
30
-
31
-
32
- <div class='fl pad1y space-right2'>
33
- <span class="strong">50% </span>
34
- <span class="quiet">Branches</span>
35
- <span class='fraction'>5/10</span>
36
- </div>
37
-
38
-
39
- <div class='fl pad1y space-right2'>
40
- <span class="strong">25% </span>
41
- <span class="quiet">Functions</span>
42
- <span class='fraction'>2/8</span>
43
- </div>
44
-
45
-
46
- <div class='fl pad1y space-right2'>
47
- <span class="strong">62.5% </span>
48
- <span class="quiet">Lines</span>
49
- <span class='fraction'>10/16</span>
50
- </div>
51
-
52
-
53
- </div>
54
- <p class="quiet">
55
- Press <em>n</em> or <em>j</em> to go to the next uncovered block, <em>b</em>, <em>p</em> or <em>k</em> for the previous block.
56
- </p>
57
- <template id="filterTemplate">
58
- <div class="quiet">
59
- Filter:
60
- <input type="search" id="fileSearch">
61
- </div>
62
- </template>
63
- </div>
64
- <div class='status-line medium'></div>
65
- <pre><table class="coverage">
66
- <tr><td class="line-count quiet"><a name='L1'></a><a href='#L1'>1</a>
67
- <a name='L2'></a><a href='#L2'>2</a>
68
- <a name='L3'></a><a href='#L3'>3</a>
69
- <a name='L4'></a><a href='#L4'>4</a>
70
- <a name='L5'></a><a href='#L5'>5</a>
71
- <a name='L6'></a><a href='#L6'>6</a>
72
- <a name='L7'></a><a href='#L7'>7</a>
73
- <a name='L8'></a><a href='#L8'>8</a>
74
- <a name='L9'></a><a href='#L9'>9</a>
75
- <a name='L10'></a><a href='#L10'>10</a>
76
- <a name='L11'></a><a href='#L11'>11</a>
77
- <a name='L12'></a><a href='#L12'>12</a>
78
- <a name='L13'></a><a href='#L13'>13</a>
79
- <a name='L14'></a><a href='#L14'>14</a>
80
- <a name='L15'></a><a href='#L15'>15</a>
81
- <a name='L16'></a><a href='#L16'>16</a>
82
- <a name='L17'></a><a href='#L17'>17</a>
83
- <a name='L18'></a><a href='#L18'>18</a>
84
- <a name='L19'></a><a href='#L19'>19</a>
85
- <a name='L20'></a><a href='#L20'>20</a>
86
- <a name='L21'></a><a href='#L21'>21</a>
87
- <a name='L22'></a><a href='#L22'>22</a>
88
- <a name='L23'></a><a href='#L23'>23</a>
89
- <a name='L24'></a><a href='#L24'>24</a>
90
- <a name='L25'></a><a href='#L25'>25</a>
91
- <a name='L26'></a><a href='#L26'>26</a>
92
- <a name='L27'></a><a href='#L27'>27</a>
93
- <a name='L28'></a><a href='#L28'>28</a>
94
- <a name='L29'></a><a href='#L29'>29</a>
95
- <a name='L30'></a><a href='#L30'>30</a>
96
- <a name='L31'></a><a href='#L31'>31</a>
97
- <a name='L32'></a><a href='#L32'>32</a>
98
- <a name='L33'></a><a href='#L33'>33</a>
99
- <a name='L34'></a><a href='#L34'>34</a>
100
- <a name='L35'></a><a href='#L35'>35</a>
101
- <a name='L36'></a><a href='#L36'>36</a>
102
- <a name='L37'></a><a href='#L37'>37</a>
103
- <a name='L38'></a><a href='#L38'>38</a>
104
- <a name='L39'></a><a href='#L39'>39</a>
105
- <a name='L40'></a><a href='#L40'>40</a>
106
- <a name='L41'></a><a href='#L41'>41</a>
107
- <a name='L42'></a><a href='#L42'>42</a>
108
- <a name='L43'></a><a href='#L43'>43</a>
109
- <a name='L44'></a><a href='#L44'>44</a>
110
- <a name='L45'></a><a href='#L45'>45</a>
111
- <a name='L46'></a><a href='#L46'>46</a>
112
- <a name='L47'></a><a href='#L47'>47</a>
113
- <a name='L48'></a><a href='#L48'>48</a>
114
- <a name='L49'></a><a href='#L49'>49</a>
115
- <a name='L50'></a><a href='#L50'>50</a>
116
- <a name='L51'></a><a href='#L51'>51</a>
117
- <a name='L52'></a><a href='#L52'>52</a>
118
- <a name='L53'></a><a href='#L53'>53</a>
119
- <a name='L54'></a><a href='#L54'>54</a>
120
- <a name='L55'></a><a href='#L55'>55</a>
121
- <a name='L56'></a><a href='#L56'>56</a>
122
- <a name='L57'></a><a href='#L57'>57</a>
123
- <a name='L58'></a><a href='#L58'>58</a>
124
- <a name='L59'></a><a href='#L59'>59</a>
125
- <a name='L60'></a><a href='#L60'>60</a>
126
- <a name='L61'></a><a href='#L61'>61</a>
127
- <a name='L62'></a><a href='#L62'>62</a>
128
- <a name='L63'></a><a href='#L63'>63</a>
129
- <a name='L64'></a><a href='#L64'>64</a>
130
- <a name='L65'></a><a href='#L65'>65</a>
131
- <a name='L66'></a><a href='#L66'>66</a>
132
- <a name='L67'></a><a href='#L67'>67</a>
133
- <a name='L68'></a><a href='#L68'>68</a>
134
- <a name='L69'></a><a href='#L69'>69</a>
135
- <a name='L70'></a><a href='#L70'>70</a>
136
- <a name='L71'></a><a href='#L71'>71</a>
137
- <a name='L72'></a><a href='#L72'>72</a>
138
- <a name='L73'></a><a href='#L73'>73</a>
139
- <a name='L74'></a><a href='#L74'>74</a>
140
- <a name='L75'></a><a href='#L75'>75</a>
141
- <a name='L76'></a><a href='#L76'>76</a>
142
- <a name='L77'></a><a href='#L77'>77</a>
143
- <a name='L78'></a><a href='#L78'>78</a>
144
- <a name='L79'></a><a href='#L79'>79</a>
145
- <a name='L80'></a><a href='#L80'>80</a>
146
- <a name='L81'></a><a href='#L81'>81</a>
147
- <a name='L82'></a><a href='#L82'>82</a>
148
- <a name='L83'></a><a href='#L83'>83</a>
149
- <a name='L84'></a><a href='#L84'>84</a>
150
- <a name='L85'></a><a href='#L85'>85</a>
151
- <a name='L86'></a><a href='#L86'>86</a>
152
- <a name='L87'></a><a href='#L87'>87</a>
153
- <a name='L88'></a><a href='#L88'>88</a>
154
- <a name='L89'></a><a href='#L89'>89</a>
155
- <a name='L90'></a><a href='#L90'>90</a>
156
- <a name='L91'></a><a href='#L91'>91</a>
157
- <a name='L92'></a><a href='#L92'>92</a>
158
- <a name='L93'></a><a href='#L93'>93</a>
159
- <a name='L94'></a><a href='#L94'>94</a>
160
- <a name='L95'></a><a href='#L95'>95</a>
161
- <a name='L96'></a><a href='#L96'>96</a>
162
- <a name='L97'></a><a href='#L97'>97</a>
163
- <a name='L98'></a><a href='#L98'>98</a>
164
- <a name='L99'></a><a href='#L99'>99</a>
165
- <a name='L100'></a><a href='#L100'>100</a>
166
- <a name='L101'></a><a href='#L101'>101</a>
167
- <a name='L102'></a><a href='#L102'>102</a>
168
- <a name='L103'></a><a href='#L103'>103</a>
169
- <a name='L104'></a><a href='#L104'>104</a>
170
- <a name='L105'></a><a href='#L105'>105</a>
171
- <a name='L106'></a><a href='#L106'>106</a>
172
- <a name='L107'></a><a href='#L107'>107</a>
173
- <a name='L108'></a><a href='#L108'>108</a>
174
- <a name='L109'></a><a href='#L109'>109</a>
175
- <a name='L110'></a><a href='#L110'>110</a>
176
- <a name='L111'></a><a href='#L111'>111</a>
177
- <a name='L112'></a><a href='#L112'>112</a>
178
- <a name='L113'></a><a href='#L113'>113</a>
179
- <a name='L114'></a><a href='#L114'>114</a>
180
- <a name='L115'></a><a href='#L115'>115</a>
181
- <a name='L116'></a><a href='#L116'>116</a>
182
- <a name='L117'></a><a href='#L117'>117</a>
183
- <a name='L118'></a><a href='#L118'>118</a>
184
- <a name='L119'></a><a href='#L119'>119</a>
185
- <a name='L120'></a><a href='#L120'>120</a>
186
- <a name='L121'></a><a href='#L121'>121</a>
187
- <a name='L122'></a><a href='#L122'>122</a>
188
- <a name='L123'></a><a href='#L123'>123</a>
189
- <a name='L124'></a><a href='#L124'>124</a>
190
- <a name='L125'></a><a href='#L125'>125</a>
191
- <a name='L126'></a><a href='#L126'>126</a>
192
- <a name='L127'></a><a href='#L127'>127</a>
193
- <a name='L128'></a><a href='#L128'>128</a>
194
- <a name='L129'></a><a href='#L129'>129</a>
195
- <a name='L130'></a><a href='#L130'>130</a>
196
- <a name='L131'></a><a href='#L131'>131</a>
197
- <a name='L132'></a><a href='#L132'>132</a>
198
- <a name='L133'></a><a href='#L133'>133</a>
199
- <a name='L134'></a><a href='#L134'>134</a>
200
- <a name='L135'></a><a href='#L135'>135</a>
201
- <a name='L136'></a><a href='#L136'>136</a>
202
- <a name='L137'></a><a href='#L137'>137</a>
203
- <a name='L138'></a><a href='#L138'>138</a>
204
- <a name='L139'></a><a href='#L139'>139</a>
205
- <a name='L140'></a><a href='#L140'>140</a>
206
- <a name='L141'></a><a href='#L141'>141</a>
207
- <a name='L142'></a><a href='#L142'>142</a>
208
- <a name='L143'></a><a href='#L143'>143</a>
209
- <a name='L144'></a><a href='#L144'>144</a>
210
- <a name='L145'></a><a href='#L145'>145</a>
211
- <a name='L146'></a><a href='#L146'>146</a>
212
- <a name='L147'></a><a href='#L147'>147</a>
213
- <a name='L148'></a><a href='#L148'>148</a>
214
- <a name='L149'></a><a href='#L149'>149</a>
215
- <a name='L150'></a><a href='#L150'>150</a>
216
- <a name='L151'></a><a href='#L151'>151</a>
217
- <a name='L152'></a><a href='#L152'>152</a>
218
- <a name='L153'></a><a href='#L153'>153</a>
219
- <a name='L154'></a><a href='#L154'>154</a>
220
- <a name='L155'></a><a href='#L155'>155</a>
221
- <a name='L156'></a><a href='#L156'>156</a>
222
- <a name='L157'></a><a href='#L157'>157</a>
223
- <a name='L158'></a><a href='#L158'>158</a>
224
- <a name='L159'></a><a href='#L159'>159</a>
225
- <a name='L160'></a><a href='#L160'>160</a>
226
- <a name='L161'></a><a href='#L161'>161</a>
227
- <a name='L162'></a><a href='#L162'>162</a>
228
- <a name='L163'></a><a href='#L163'>163</a>
229
- <a name='L164'></a><a href='#L164'>164</a>
230
- <a name='L165'></a><a href='#L165'>165</a>
231
- <a name='L166'></a><a href='#L166'>166</a>
232
- <a name='L167'></a><a href='#L167'>167</a>
233
- <a name='L168'></a><a href='#L168'>168</a>
234
- <a name='L169'></a><a href='#L169'>169</a>
235
- <a name='L170'></a><a href='#L170'>170</a>
236
- <a name='L171'></a><a href='#L171'>171</a>
237
- <a name='L172'></a><a href='#L172'>172</a>
238
- <a name='L173'></a><a href='#L173'>173</a>
239
- <a name='L174'></a><a href='#L174'>174</a>
240
- <a name='L175'></a><a href='#L175'>175</a>
241
- <a name='L176'></a><a href='#L176'>176</a>
242
- <a name='L177'></a><a href='#L177'>177</a>
243
- <a name='L178'></a><a href='#L178'>178</a>
244
- <a name='L179'></a><a href='#L179'>179</a>
245
- <a name='L180'></a><a href='#L180'>180</a>
246
- <a name='L181'></a><a href='#L181'>181</a>
247
- <a name='L182'></a><a href='#L182'>182</a>
248
- <a name='L183'></a><a href='#L183'>183</a>
249
- <a name='L184'></a><a href='#L184'>184</a>
250
- <a name='L185'></a><a href='#L185'>185</a>
251
- <a name='L186'></a><a href='#L186'>186</a>
252
- <a name='L187'></a><a href='#L187'>187</a>
253
- <a name='L188'></a><a href='#L188'>188</a>
254
- <a name='L189'></a><a href='#L189'>189</a>
255
- <a name='L190'></a><a href='#L190'>190</a>
256
- <a name='L191'></a><a href='#L191'>191</a>
257
- <a name='L192'></a><a href='#L192'>192</a>
258
- <a name='L193'></a><a href='#L193'>193</a>
259
- <a name='L194'></a><a href='#L194'>194</a>
260
- <a name='L195'></a><a href='#L195'>195</a>
261
- <a name='L196'></a><a href='#L196'>196</a>
262
- <a name='L197'></a><a href='#L197'>197</a>
263
- <a name='L198'></a><a href='#L198'>198</a>
264
- <a name='L199'></a><a href='#L199'>199</a>
265
- <a name='L200'></a><a href='#L200'>200</a>
266
- <a name='L201'></a><a href='#L201'>201</a>
267
- <a name='L202'></a><a href='#L202'>202</a>
268
- <a name='L203'></a><a href='#L203'>203</a>
269
- <a name='L204'></a><a href='#L204'>204</a>
270
- <a name='L205'></a><a href='#L205'>205</a>
271
- <a name='L206'></a><a href='#L206'>206</a>
272
- <a name='L207'></a><a href='#L207'>207</a>
273
- <a name='L208'></a><a href='#L208'>208</a>
274
- <a name='L209'></a><a href='#L209'>209</a>
275
- <a name='L210'></a><a href='#L210'>210</a>
276
- <a name='L211'></a><a href='#L211'>211</a>
277
- <a name='L212'></a><a href='#L212'>212</a>
278
- <a name='L213'></a><a href='#L213'>213</a>
279
- <a name='L214'></a><a href='#L214'>214</a>
280
- <a name='L215'></a><a href='#L215'>215</a>
281
- <a name='L216'></a><a href='#L216'>216</a>
282
- <a name='L217'></a><a href='#L217'>217</a>
283
- <a name='L218'></a><a href='#L218'>218</a>
284
- <a name='L219'></a><a href='#L219'>219</a>
285
- <a name='L220'></a><a href='#L220'>220</a>
286
- <a name='L221'></a><a href='#L221'>221</a>
287
- <a name='L222'></a><a href='#L222'>222</a>
288
- <a name='L223'></a><a href='#L223'>223</a>
289
- <a name='L224'></a><a href='#L224'>224</a>
290
- <a name='L225'></a><a href='#L225'>225</a>
291
- <a name='L226'></a><a href='#L226'>226</a>
292
- <a name='L227'></a><a href='#L227'>227</a>
293
- <a name='L228'></a><a href='#L228'>228</a>
294
- <a name='L229'></a><a href='#L229'>229</a>
295
- <a name='L230'></a><a href='#L230'>230</a>
296
- <a name='L231'></a><a href='#L231'>231</a>
297
- <a name='L232'></a><a href='#L232'>232</a>
298
- <a name='L233'></a><a href='#L233'>233</a>
299
- <a name='L234'></a><a href='#L234'>234</a>
300
- <a name='L235'></a><a href='#L235'>235</a>
301
- <a name='L236'></a><a href='#L236'>236</a>
302
- <a name='L237'></a><a href='#L237'>237</a>
303
- <a name='L238'></a><a href='#L238'>238</a>
304
- <a name='L239'></a><a href='#L239'>239</a>
305
- <a name='L240'></a><a href='#L240'>240</a>
306
- <a name='L241'></a><a href='#L241'>241</a>
307
- <a name='L242'></a><a href='#L242'>242</a>
308
- <a name='L243'></a><a href='#L243'>243</a>
309
- <a name='L244'></a><a href='#L244'>244</a>
310
- <a name='L245'></a><a href='#L245'>245</a>
311
- <a name='L246'></a><a href='#L246'>246</a>
312
- <a name='L247'></a><a href='#L247'>247</a>
313
- <a name='L248'></a><a href='#L248'>248</a>
314
- <a name='L249'></a><a href='#L249'>249</a>
315
- <a name='L250'></a><a href='#L250'>250</a>
316
- <a name='L251'></a><a href='#L251'>251</a>
317
- <a name='L252'></a><a href='#L252'>252</a>
318
- <a name='L253'></a><a href='#L253'>253</a>
319
- <a name='L254'></a><a href='#L254'>254</a>
320
- <a name='L255'></a><a href='#L255'>255</a>
321
- <a name='L256'></a><a href='#L256'>256</a>
322
- <a name='L257'></a><a href='#L257'>257</a>
323
- <a name='L258'></a><a href='#L258'>258</a>
324
- <a name='L259'></a><a href='#L259'>259</a>
325
- <a name='L260'></a><a href='#L260'>260</a>
326
- <a name='L261'></a><a href='#L261'>261</a>
327
- <a name='L262'></a><a href='#L262'>262</a>
328
- <a name='L263'></a><a href='#L263'>263</a>
329
- <a name='L264'></a><a href='#L264'>264</a>
330
- <a name='L265'></a><a href='#L265'>265</a>
331
- <a name='L266'></a><a href='#L266'>266</a>
332
- <a name='L267'></a><a href='#L267'>267</a>
333
- <a name='L268'></a><a href='#L268'>268</a>
334
- <a name='L269'></a><a href='#L269'>269</a>
335
- <a name='L270'></a><a href='#L270'>270</a>
336
- <a name='L271'></a><a href='#L271'>271</a>
337
- <a name='L272'></a><a href='#L272'>272</a>
338
- <a name='L273'></a><a href='#L273'>273</a>
339
- <a name='L274'></a><a href='#L274'>274</a>
340
- <a name='L275'></a><a href='#L275'>275</a>
341
- <a name='L276'></a><a href='#L276'>276</a>
342
- <a name='L277'></a><a href='#L277'>277</a>
343
- <a name='L278'></a><a href='#L278'>278</a>
344
- <a name='L279'></a><a href='#L279'>279</a>
345
- <a name='L280'></a><a href='#L280'>280</a>
346
- <a name='L281'></a><a href='#L281'>281</a>
347
- <a name='L282'></a><a href='#L282'>282</a>
348
- <a name='L283'></a><a href='#L283'>283</a>
349
- <a name='L284'></a><a href='#L284'>284</a>
350
- <a name='L285'></a><a href='#L285'>285</a>
351
- <a name='L286'></a><a href='#L286'>286</a>
352
- <a name='L287'></a><a href='#L287'>287</a>
353
- <a name='L288'></a><a href='#L288'>288</a>
354
- <a name='L289'></a><a href='#L289'>289</a>
355
- <a name='L290'></a><a href='#L290'>290</a>
356
- <a name='L291'></a><a href='#L291'>291</a>
357
- <a name='L292'></a><a href='#L292'>292</a>
358
- <a name='L293'></a><a href='#L293'>293</a>
359
- <a name='L294'></a><a href='#L294'>294</a>
360
- <a name='L295'></a><a href='#L295'>295</a>
361
- <a name='L296'></a><a href='#L296'>296</a>
362
- <a name='L297'></a><a href='#L297'>297</a>
363
- <a name='L298'></a><a href='#L298'>298</a>
364
- <a name='L299'></a><a href='#L299'>299</a>
365
- <a name='L300'></a><a href='#L300'>300</a>
366
- <a name='L301'></a><a href='#L301'>301</a>
367
- <a name='L302'></a><a href='#L302'>302</a>
368
- <a name='L303'></a><a href='#L303'>303</a>
369
- <a name='L304'></a><a href='#L304'>304</a>
370
- <a name='L305'></a><a href='#L305'>305</a>
371
- <a name='L306'></a><a href='#L306'>306</a>
372
- <a name='L307'></a><a href='#L307'>307</a>
373
- <a name='L308'></a><a href='#L308'>308</a>
374
- <a name='L309'></a><a href='#L309'>309</a>
375
- <a name='L310'></a><a href='#L310'>310</a>
376
- <a name='L311'></a><a href='#L311'>311</a>
377
- <a name='L312'></a><a href='#L312'>312</a>
378
- <a name='L313'></a><a href='#L313'>313</a>
379
- <a name='L314'></a><a href='#L314'>314</a>
380
- <a name='L315'></a><a href='#L315'>315</a>
381
- <a name='L316'></a><a href='#L316'>316</a>
382
- <a name='L317'></a><a href='#L317'>317</a>
383
- <a name='L318'></a><a href='#L318'>318</a>
384
- <a name='L319'></a><a href='#L319'>319</a>
385
- <a name='L320'></a><a href='#L320'>320</a>
386
- <a name='L321'></a><a href='#L321'>321</a>
387
- <a name='L322'></a><a href='#L322'>322</a>
388
- <a name='L323'></a><a href='#L323'>323</a>
389
- <a name='L324'></a><a href='#L324'>324</a>
390
- <a name='L325'></a><a href='#L325'>325</a>
391
- <a name='L326'></a><a href='#L326'>326</a>
392
- <a name='L327'></a><a href='#L327'>327</a>
393
- <a name='L328'></a><a href='#L328'>328</a>
394
- <a name='L329'></a><a href='#L329'>329</a>
395
- <a name='L330'></a><a href='#L330'>330</a>
396
- <a name='L331'></a><a href='#L331'>331</a>
397
- <a name='L332'></a><a href='#L332'>332</a>
398
- <a name='L333'></a><a href='#L333'>333</a>
399
- <a name='L334'></a><a href='#L334'>334</a>
400
- <a name='L335'></a><a href='#L335'>335</a>
401
- <a name='L336'></a><a href='#L336'>336</a>
402
- <a name='L337'></a><a href='#L337'>337</a>
403
- <a name='L338'></a><a href='#L338'>338</a>
404
- <a name='L339'></a><a href='#L339'>339</a></td><td class="line-coverage quiet"><span class="cline-any cline-neutral">&nbsp;</span>
405
- <span class="cline-any cline-neutral">&nbsp;</span>
406
- <span class="cline-any cline-neutral">&nbsp;</span>
407
- <span class="cline-any cline-neutral">&nbsp;</span>
408
- <span class="cline-any cline-neutral">&nbsp;</span>
409
- <span class="cline-any cline-neutral">&nbsp;</span>
410
- <span class="cline-any cline-neutral">&nbsp;</span>
411
- <span class="cline-any cline-neutral">&nbsp;</span>
412
- <span class="cline-any cline-neutral">&nbsp;</span>
413
- <span class="cline-any cline-neutral">&nbsp;</span>
414
- <span class="cline-any cline-neutral">&nbsp;</span>
415
- <span class="cline-any cline-neutral">&nbsp;</span>
416
- <span class="cline-any cline-neutral">&nbsp;</span>
417
- <span class="cline-any cline-neutral">&nbsp;</span>
418
- <span class="cline-any cline-neutral">&nbsp;</span>
419
- <span class="cline-any cline-neutral">&nbsp;</span>
420
- <span class="cline-any cline-neutral">&nbsp;</span>
421
- <span class="cline-any cline-neutral">&nbsp;</span>
422
- <span class="cline-any cline-neutral">&nbsp;</span>
423
- <span class="cline-any cline-neutral">&nbsp;</span>
424
- <span class="cline-any cline-neutral">&nbsp;</span>
425
- <span class="cline-any cline-neutral">&nbsp;</span>
426
- <span class="cline-any cline-neutral">&nbsp;</span>
427
- <span class="cline-any cline-neutral">&nbsp;</span>
428
- <span class="cline-any cline-neutral">&nbsp;</span>
429
- <span class="cline-any cline-neutral">&nbsp;</span>
430
- <span class="cline-any cline-neutral">&nbsp;</span>
431
- <span class="cline-any cline-neutral">&nbsp;</span>
432
- <span class="cline-any cline-neutral">&nbsp;</span>
433
- <span class="cline-any cline-neutral">&nbsp;</span>
434
- <span class="cline-any cline-neutral">&nbsp;</span>
435
- <span class="cline-any cline-neutral">&nbsp;</span>
436
- <span class="cline-any cline-neutral">&nbsp;</span>
437
- <span class="cline-any cline-neutral">&nbsp;</span>
438
- <span class="cline-any cline-neutral">&nbsp;</span>
439
- <span class="cline-any cline-neutral">&nbsp;</span>
440
- <span class="cline-any cline-neutral">&nbsp;</span>
441
- <span class="cline-any cline-neutral">&nbsp;</span>
442
- <span class="cline-any cline-neutral">&nbsp;</span>
443
- <span class="cline-any cline-neutral">&nbsp;</span>
444
- <span class="cline-any cline-neutral">&nbsp;</span>
445
- <span class="cline-any cline-neutral">&nbsp;</span>
446
- <span class="cline-any cline-neutral">&nbsp;</span>
447
- <span class="cline-any cline-neutral">&nbsp;</span>
448
- <span class="cline-any cline-neutral">&nbsp;</span>
449
- <span class="cline-any cline-neutral">&nbsp;</span>
450
- <span class="cline-any cline-neutral">&nbsp;</span>
451
- <span class="cline-any cline-neutral">&nbsp;</span>
452
- <span class="cline-any cline-neutral">&nbsp;</span>
453
- <span class="cline-any cline-neutral">&nbsp;</span>
454
- <span class="cline-any cline-neutral">&nbsp;</span>
455
- <span class="cline-any cline-neutral">&nbsp;</span>
456
- <span class="cline-any cline-neutral">&nbsp;</span>
457
- <span class="cline-any cline-neutral">&nbsp;</span>
458
- <span class="cline-any cline-neutral">&nbsp;</span>
459
- <span class="cline-any cline-neutral">&nbsp;</span>
460
- <span class="cline-any cline-neutral">&nbsp;</span>
461
- <span class="cline-any cline-neutral">&nbsp;</span>
462
- <span class="cline-any cline-neutral">&nbsp;</span>
463
- <span class="cline-any cline-neutral">&nbsp;</span>
464
- <span class="cline-any cline-neutral">&nbsp;</span>
465
- <span class="cline-any cline-neutral">&nbsp;</span>
466
- <span class="cline-any cline-neutral">&nbsp;</span>
467
- <span class="cline-any cline-neutral">&nbsp;</span>
468
- <span class="cline-any cline-neutral">&nbsp;</span>
469
- <span class="cline-any cline-neutral">&nbsp;</span>
470
- <span class="cline-any cline-neutral">&nbsp;</span>
471
- <span class="cline-any cline-neutral">&nbsp;</span>
472
- <span class="cline-any cline-neutral">&nbsp;</span>
473
- <span class="cline-any cline-neutral">&nbsp;</span>
474
- <span class="cline-any cline-neutral">&nbsp;</span>
475
- <span class="cline-any cline-neutral">&nbsp;</span>
476
- <span class="cline-any cline-neutral">&nbsp;</span>
477
- <span class="cline-any cline-neutral">&nbsp;</span>
478
- <span class="cline-any cline-neutral">&nbsp;</span>
479
- <span class="cline-any cline-neutral">&nbsp;</span>
480
- <span class="cline-any cline-neutral">&nbsp;</span>
481
- <span class="cline-any cline-neutral">&nbsp;</span>
482
- <span class="cline-any cline-neutral">&nbsp;</span>
483
- <span class="cline-any cline-neutral">&nbsp;</span>
484
- <span class="cline-any cline-neutral">&nbsp;</span>
485
- <span class="cline-any cline-neutral">&nbsp;</span>
486
- <span class="cline-any cline-neutral">&nbsp;</span>
487
- <span class="cline-any cline-neutral">&nbsp;</span>
488
- <span class="cline-any cline-neutral">&nbsp;</span>
489
- <span class="cline-any cline-neutral">&nbsp;</span>
490
- <span class="cline-any cline-neutral">&nbsp;</span>
491
- <span class="cline-any cline-neutral">&nbsp;</span>
492
- <span class="cline-any cline-neutral">&nbsp;</span>
493
- <span class="cline-any cline-neutral">&nbsp;</span>
494
- <span class="cline-any cline-neutral">&nbsp;</span>
495
- <span class="cline-any cline-neutral">&nbsp;</span>
496
- <span class="cline-any cline-neutral">&nbsp;</span>
497
- <span class="cline-any cline-neutral">&nbsp;</span>
498
- <span class="cline-any cline-neutral">&nbsp;</span>
499
- <span class="cline-any cline-neutral">&nbsp;</span>
500
- <span class="cline-any cline-neutral">&nbsp;</span>
501
- <span class="cline-any cline-neutral">&nbsp;</span>
502
- <span class="cline-any cline-neutral">&nbsp;</span>
503
- <span class="cline-any cline-neutral">&nbsp;</span>
504
- <span class="cline-any cline-neutral">&nbsp;</span>
505
- <span class="cline-any cline-neutral">&nbsp;</span>
506
- <span class="cline-any cline-neutral">&nbsp;</span>
507
- <span class="cline-any cline-neutral">&nbsp;</span>
508
- <span class="cline-any cline-neutral">&nbsp;</span>
509
- <span class="cline-any cline-neutral">&nbsp;</span>
510
- <span class="cline-any cline-neutral">&nbsp;</span>
511
- <span class="cline-any cline-neutral">&nbsp;</span>
512
- <span class="cline-any cline-neutral">&nbsp;</span>
513
- <span class="cline-any cline-neutral">&nbsp;</span>
514
- <span class="cline-any cline-neutral">&nbsp;</span>
515
- <span class="cline-any cline-neutral">&nbsp;</span>
516
- <span class="cline-any cline-neutral">&nbsp;</span>
517
- <span class="cline-any cline-neutral">&nbsp;</span>
518
- <span class="cline-any cline-neutral">&nbsp;</span>
519
- <span class="cline-any cline-neutral">&nbsp;</span>
520
- <span class="cline-any cline-neutral">&nbsp;</span>
521
- <span class="cline-any cline-neutral">&nbsp;</span>
522
- <span class="cline-any cline-neutral">&nbsp;</span>
523
- <span class="cline-any cline-neutral">&nbsp;</span>
524
- <span class="cline-any cline-neutral">&nbsp;</span>
525
- <span class="cline-any cline-neutral">&nbsp;</span>
526
- <span class="cline-any cline-neutral">&nbsp;</span>
527
- <span class="cline-any cline-neutral">&nbsp;</span>
528
- <span class="cline-any cline-neutral">&nbsp;</span>
529
- <span class="cline-any cline-neutral">&nbsp;</span>
530
- <span class="cline-any cline-neutral">&nbsp;</span>
531
- <span class="cline-any cline-neutral">&nbsp;</span>
532
- <span class="cline-any cline-neutral">&nbsp;</span>
533
- <span class="cline-any cline-neutral">&nbsp;</span>
534
- <span class="cline-any cline-neutral">&nbsp;</span>
535
- <span class="cline-any cline-neutral">&nbsp;</span>
536
- <span class="cline-any cline-neutral">&nbsp;</span>
537
- <span class="cline-any cline-neutral">&nbsp;</span>
538
- <span class="cline-any cline-neutral">&nbsp;</span>
539
- <span class="cline-any cline-neutral">&nbsp;</span>
540
- <span class="cline-any cline-neutral">&nbsp;</span>
541
- <span class="cline-any cline-neutral">&nbsp;</span>
542
- <span class="cline-any cline-neutral">&nbsp;</span>
543
- <span class="cline-any cline-neutral">&nbsp;</span>
544
- <span class="cline-any cline-neutral">&nbsp;</span>
545
- <span class="cline-any cline-neutral">&nbsp;</span>
546
- <span class="cline-any cline-neutral">&nbsp;</span>
547
- <span class="cline-any cline-neutral">&nbsp;</span>
548
- <span class="cline-any cline-neutral">&nbsp;</span>
549
- <span class="cline-any cline-neutral">&nbsp;</span>
550
- <span class="cline-any cline-neutral">&nbsp;</span>
551
- <span class="cline-any cline-neutral">&nbsp;</span>
552
- <span class="cline-any cline-neutral">&nbsp;</span>
553
- <span class="cline-any cline-neutral">&nbsp;</span>
554
- <span class="cline-any cline-neutral">&nbsp;</span>
555
- <span class="cline-any cline-neutral">&nbsp;</span>
556
- <span class="cline-any cline-neutral">&nbsp;</span>
557
- <span class="cline-any cline-neutral">&nbsp;</span>
558
- <span class="cline-any cline-neutral">&nbsp;</span>
559
- <span class="cline-any cline-neutral">&nbsp;</span>
560
- <span class="cline-any cline-neutral">&nbsp;</span>
561
- <span class="cline-any cline-neutral">&nbsp;</span>
562
- <span class="cline-any cline-neutral">&nbsp;</span>
563
- <span class="cline-any cline-neutral">&nbsp;</span>
564
- <span class="cline-any cline-neutral">&nbsp;</span>
565
- <span class="cline-any cline-neutral">&nbsp;</span>
566
- <span class="cline-any cline-neutral">&nbsp;</span>
567
- <span class="cline-any cline-neutral">&nbsp;</span>
568
- <span class="cline-any cline-neutral">&nbsp;</span>
569
- <span class="cline-any cline-neutral">&nbsp;</span>
570
- <span class="cline-any cline-neutral">&nbsp;</span>
571
- <span class="cline-any cline-neutral">&nbsp;</span>
572
- <span class="cline-any cline-neutral">&nbsp;</span>
573
- <span class="cline-any cline-neutral">&nbsp;</span>
574
- <span class="cline-any cline-neutral">&nbsp;</span>
575
- <span class="cline-any cline-neutral">&nbsp;</span>
576
- <span class="cline-any cline-neutral">&nbsp;</span>
577
- <span class="cline-any cline-neutral">&nbsp;</span>
578
- <span class="cline-any cline-neutral">&nbsp;</span>
579
- <span class="cline-any cline-neutral">&nbsp;</span>
580
- <span class="cline-any cline-neutral">&nbsp;</span>
581
- <span class="cline-any cline-neutral">&nbsp;</span>
582
- <span class="cline-any cline-neutral">&nbsp;</span>
583
- <span class="cline-any cline-neutral">&nbsp;</span>
584
- <span class="cline-any cline-neutral">&nbsp;</span>
585
- <span class="cline-any cline-neutral">&nbsp;</span>
586
- <span class="cline-any cline-neutral">&nbsp;</span>
587
- <span class="cline-any cline-neutral">&nbsp;</span>
588
- <span class="cline-any cline-neutral">&nbsp;</span>
589
- <span class="cline-any cline-neutral">&nbsp;</span>
590
- <span class="cline-any cline-neutral">&nbsp;</span>
591
- <span class="cline-any cline-neutral">&nbsp;</span>
592
- <span class="cline-any cline-neutral">&nbsp;</span>
593
- <span class="cline-any cline-neutral">&nbsp;</span>
594
- <span class="cline-any cline-neutral">&nbsp;</span>
595
- <span class="cline-any cline-neutral">&nbsp;</span>
596
- <span class="cline-any cline-neutral">&nbsp;</span>
597
- <span class="cline-any cline-neutral">&nbsp;</span>
598
- <span class="cline-any cline-neutral">&nbsp;</span>
599
- <span class="cline-any cline-neutral">&nbsp;</span>
600
- <span class="cline-any cline-neutral">&nbsp;</span>
601
- <span class="cline-any cline-neutral">&nbsp;</span>
602
- <span class="cline-any cline-neutral">&nbsp;</span>
603
- <span class="cline-any cline-neutral">&nbsp;</span>
604
- <span class="cline-any cline-neutral">&nbsp;</span>
605
- <span class="cline-any cline-neutral">&nbsp;</span>
606
- <span class="cline-any cline-neutral">&nbsp;</span>
607
- <span class="cline-any cline-neutral">&nbsp;</span>
608
- <span class="cline-any cline-neutral">&nbsp;</span>
609
- <span class="cline-any cline-neutral">&nbsp;</span>
610
- <span class="cline-any cline-neutral">&nbsp;</span>
611
- <span class="cline-any cline-neutral">&nbsp;</span>
612
- <span class="cline-any cline-neutral">&nbsp;</span>
613
- <span class="cline-any cline-neutral">&nbsp;</span>
614
- <span class="cline-any cline-neutral">&nbsp;</span>
615
- <span class="cline-any cline-neutral">&nbsp;</span>
616
- <span class="cline-any cline-neutral">&nbsp;</span>
617
- <span class="cline-any cline-neutral">&nbsp;</span>
618
- <span class="cline-any cline-neutral">&nbsp;</span>
619
- <span class="cline-any cline-neutral">&nbsp;</span>
620
- <span class="cline-any cline-neutral">&nbsp;</span>
621
- <span class="cline-any cline-neutral">&nbsp;</span>
622
- <span class="cline-any cline-neutral">&nbsp;</span>
623
- <span class="cline-any cline-neutral">&nbsp;</span>
624
- <span class="cline-any cline-neutral">&nbsp;</span>
625
- <span class="cline-any cline-neutral">&nbsp;</span>
626
- <span class="cline-any cline-neutral">&nbsp;</span>
627
- <span class="cline-any cline-neutral">&nbsp;</span>
628
- <span class="cline-any cline-neutral">&nbsp;</span>
629
- <span class="cline-any cline-neutral">&nbsp;</span>
630
- <span class="cline-any cline-neutral">&nbsp;</span>
631
- <span class="cline-any cline-neutral">&nbsp;</span>
632
- <span class="cline-any cline-neutral">&nbsp;</span>
633
- <span class="cline-any cline-neutral">&nbsp;</span>
634
- <span class="cline-any cline-neutral">&nbsp;</span>
635
- <span class="cline-any cline-neutral">&nbsp;</span>
636
- <span class="cline-any cline-neutral">&nbsp;</span>
637
- <span class="cline-any cline-neutral">&nbsp;</span>
638
- <span class="cline-any cline-neutral">&nbsp;</span>
639
- <span class="cline-any cline-neutral">&nbsp;</span>
640
- <span class="cline-any cline-neutral">&nbsp;</span>
641
- <span class="cline-any cline-neutral">&nbsp;</span>
642
- <span class="cline-any cline-neutral">&nbsp;</span>
643
- <span class="cline-any cline-neutral">&nbsp;</span>
644
- <span class="cline-any cline-neutral">&nbsp;</span>
645
- <span class="cline-any cline-neutral">&nbsp;</span>
646
- <span class="cline-any cline-neutral">&nbsp;</span>
647
- <span class="cline-any cline-neutral">&nbsp;</span>
648
- <span class="cline-any cline-neutral">&nbsp;</span>
649
- <span class="cline-any cline-neutral">&nbsp;</span>
650
- <span class="cline-any cline-neutral">&nbsp;</span>
651
- <span class="cline-any cline-neutral">&nbsp;</span>
652
- <span class="cline-any cline-neutral">&nbsp;</span>
653
- <span class="cline-any cline-neutral">&nbsp;</span>
654
- <span class="cline-any cline-neutral">&nbsp;</span>
655
- <span class="cline-any cline-neutral">&nbsp;</span>
656
- <span class="cline-any cline-neutral">&nbsp;</span>
657
- <span class="cline-any cline-neutral">&nbsp;</span>
658
- <span class="cline-any cline-neutral">&nbsp;</span>
659
- <span class="cline-any cline-neutral">&nbsp;</span>
660
- <span class="cline-any cline-neutral">&nbsp;</span>
661
- <span class="cline-any cline-neutral">&nbsp;</span>
662
- <span class="cline-any cline-neutral">&nbsp;</span>
663
- <span class="cline-any cline-neutral">&nbsp;</span>
664
- <span class="cline-any cline-neutral">&nbsp;</span>
665
- <span class="cline-any cline-neutral">&nbsp;</span>
666
- <span class="cline-any cline-neutral">&nbsp;</span>
667
- <span class="cline-any cline-neutral">&nbsp;</span>
668
- <span class="cline-any cline-neutral">&nbsp;</span>
669
- <span class="cline-any cline-neutral">&nbsp;</span>
670
- <span class="cline-any cline-neutral">&nbsp;</span>
671
- <span class="cline-any cline-neutral">&nbsp;</span>
672
- <span class="cline-any cline-neutral">&nbsp;</span>
673
- <span class="cline-any cline-neutral">&nbsp;</span>
674
- <span class="cline-any cline-neutral">&nbsp;</span>
675
- <span class="cline-any cline-neutral">&nbsp;</span>
676
- <span class="cline-any cline-neutral">&nbsp;</span>
677
- <span class="cline-any cline-neutral">&nbsp;</span>
678
- <span class="cline-any cline-neutral">&nbsp;</span>
679
- <span class="cline-any cline-neutral">&nbsp;</span>
680
- <span class="cline-any cline-neutral">&nbsp;</span>
681
- <span class="cline-any cline-neutral">&nbsp;</span>
682
- <span class="cline-any cline-neutral">&nbsp;</span>
683
- <span class="cline-any cline-neutral">&nbsp;</span>
684
- <span class="cline-any cline-neutral">&nbsp;</span>
685
- <span class="cline-any cline-neutral">&nbsp;</span>
686
- <span class="cline-any cline-neutral">&nbsp;</span>
687
- <span class="cline-any cline-neutral">&nbsp;</span>
688
- <span class="cline-any cline-neutral">&nbsp;</span>
689
- <span class="cline-any cline-neutral">&nbsp;</span>
690
- <span class="cline-any cline-neutral">&nbsp;</span>
691
- <span class="cline-any cline-neutral">&nbsp;</span>
692
- <span class="cline-any cline-neutral">&nbsp;</span>
693
- <span class="cline-any cline-neutral">&nbsp;</span>
694
- <span class="cline-any cline-neutral">&nbsp;</span>
695
- <span class="cline-any cline-neutral">&nbsp;</span>
696
- <span class="cline-any cline-neutral">&nbsp;</span>
697
- <span class="cline-any cline-neutral">&nbsp;</span>
698
- <span class="cline-any cline-neutral">&nbsp;</span>
699
- <span class="cline-any cline-neutral">&nbsp;</span>
700
- <span class="cline-any cline-neutral">&nbsp;</span>
701
- <span class="cline-any cline-neutral">&nbsp;</span>
702
- <span class="cline-any cline-neutral">&nbsp;</span>
703
- <span class="cline-any cline-neutral">&nbsp;</span>
704
- <span class="cline-any cline-neutral">&nbsp;</span>
705
- <span class="cline-any cline-neutral">&nbsp;</span>
706
- <span class="cline-any cline-neutral">&nbsp;</span>
707
- <span class="cline-any cline-neutral">&nbsp;</span>
708
- <span class="cline-any cline-neutral">&nbsp;</span>
709
- <span class="cline-any cline-neutral">&nbsp;</span>
710
- <span class="cline-any cline-neutral">&nbsp;</span>
711
- <span class="cline-any cline-neutral">&nbsp;</span>
712
- <span class="cline-any cline-neutral">&nbsp;</span>
713
- <span class="cline-any cline-neutral">&nbsp;</span>
714
- <span class="cline-any cline-neutral">&nbsp;</span>
715
- <span class="cline-any cline-neutral">&nbsp;</span>
716
- <span class="cline-any cline-neutral">&nbsp;</span>
717
- <span class="cline-any cline-neutral">&nbsp;</span>
718
- <span class="cline-any cline-neutral">&nbsp;</span>
719
- <span class="cline-any cline-neutral">&nbsp;</span>
720
- <span class="cline-any cline-neutral">&nbsp;</span>
721
- <span class="cline-any cline-neutral">&nbsp;</span>
722
- <span class="cline-any cline-neutral">&nbsp;</span>
723
- <span class="cline-any cline-neutral">&nbsp;</span>
724
- <span class="cline-any cline-neutral">&nbsp;</span>
725
- <span class="cline-any cline-neutral">&nbsp;</span>
726
- <span class="cline-any cline-neutral">&nbsp;</span>
727
- <span class="cline-any cline-neutral">&nbsp;</span>
728
- <span class="cline-any cline-neutral">&nbsp;</span>
729
- <span class="cline-any cline-neutral">&nbsp;</span>
730
- <span class="cline-any cline-neutral">&nbsp;</span>
731
- <span class="cline-any cline-neutral">&nbsp;</span>
732
- <span class="cline-any cline-neutral">&nbsp;</span>
733
- <span class="cline-any cline-neutral">&nbsp;</span>
734
- <span class="cline-any cline-neutral">&nbsp;</span>
735
- <span class="cline-any cline-neutral">&nbsp;</span>
736
- <span class="cline-any cline-neutral">&nbsp;</span>
737
- <span class="cline-any cline-neutral">&nbsp;</span>
738
- <span class="cline-any cline-neutral">&nbsp;</span>
739
- <span class="cline-any cline-yes">1x</span>
740
- <span class="cline-any cline-yes">1x</span>
741
- <span class="cline-any cline-yes">10x</span>
742
- <span class="cline-any cline-yes">10x</span></td><td class="text"><pre class="prettyprint lang-js">&lt;template&gt;
743
- &lt;div
744
- class="c-treelist"
745
- :class="{ 'is-dragging': dragging }"&gt;
746
- &lt;!-- Header --&gt;
747
- &lt;div
748
- ref="header"
749
- class="c-treelist__header o-sticky line-height--2"
750
- :class="{ 'has-checkbox': checkAll }"&gt;
751
- &lt;div class="flex bg-color--white"&gt;
752
- &lt;dp-tree-list-checkbox
753
- v-if="checkAll"
754
- name="checkAll"
755
- v-model="allElementsSelected"
756
- check-all
757
- :style="checkboxIndentationStyle" /&gt;
758
- &lt;div class="grow color--grey"&gt;
759
- &lt;slot name="header" /&gt;
760
- &lt;/div&gt;
761
- &lt;dp-tree-list-toggle
762
- class="color--grey"
763
- data-cy="treeListNodeToggle"
764
- @input="toggleAll"
765
- :value="allElementsExpanded"
766
- toggle-all /&gt;
767
- &lt;/div&gt;
768
- &lt;/div&gt;
769
- &nbsp;
770
- &lt;!-- Tree List --&gt;
771
- &lt;component
772
- :is="draggable ? 'dp-draggable' : 'div'"
773
- :drag-across-branches="opts.dragAcrossBranches"
774
- class="list-style-none u-mb-0 u-1-of-1"
775
- data-cy="treeListNode"
776
- draggable-tag="ul"
777
- :handle-change="handleChange"
778
- :handle-drag="handleDrag"
779
- :is-draggable="draggable"
780
- :on-move="onMove"
781
- :opts="opts.draggable"
782
- ref="treeList"
783
- v-model="tree"&gt;
784
- &lt;dp-tree-list-node
785
- v-for="(node, idx) in treeData"
786
- :align-toggle="alignToggle"
787
- :data-cy="`treeListNode:${idx}`"
788
- :ref="`node_${node.id}`"
789
- :key="node.id"
790
- :check-branch="branchIdentifier"
791
- :children="node.children || []"
792
- :draggable="draggable"
793
- :handle-change="handleChange"
794
- :handle-drag="handleDrag"
795
- :level="0"
796
- :node="node"
797
- :node-id="node.id"
798
- :on-move="onMove"
799
- :options="opts"
800
- :parent-selected="allElementsSelected"
801
- @draggable:change="bubbleDraggableChange"
802
- @end="handleDrag('end')"
803
- @node-selected="handleSelectEvent"
804
- @start="handleDrag('start')"
805
- @tree:change="bubbleChangeEvent"&gt;
806
- &lt;template
807
- v-for="slot in Object.keys($scopedSlots)"
808
- v-slot:[slot]="scope"&gt;
809
- &lt;slot
810
- :name="slot"
811
- v-bind="scope" /&gt;
812
- &lt;/template&gt;
813
- &lt;/dp-tree-list-node&gt;
814
- &lt;/component&gt;
815
- &nbsp;
816
- &lt;!-- Footer --&gt;
817
- &lt;div
818
- v-if="$slots['footer']"
819
- ref="footer"
820
- class="c-treelist__footer o-sticky"&gt;
821
- &lt;div class="u-p-0_5 bg-color--white"&gt;
822
- &lt;slot name="footer" /&gt;
823
- &lt;/div&gt;
824
- &lt;/div&gt;
825
- &lt;/div&gt;
826
- &lt;/template&gt;
827
- &nbsp;
828
- &lt;script&gt;
829
- import { deepMerge, hasOwnProp } from '~/utils'
830
- import DpDraggable from '../DpDraggable/DpDraggable'
831
- import DpTreeListCheckbox from './DpTreeListCheckbox'
832
- import DpTreeListNode from './DpTreeListNode'
833
- import DpTreeListToggle from './DpTreeListToggle'
834
- import { dragHandleWidth } from './utils/constants'
835
- import { Stickier } from '~/lib'
836
- &nbsp;
837
- export default {
838
- name: 'DpTreeList',
839
- &nbsp;
840
- components: {
841
- DpDraggable,
842
- DpTreeListCheckbox,
843
- DpTreeListNode,
844
- DpTreeListToggle
845
- },
846
- &nbsp;
847
- props: {
848
- /**
849
- * Align toggle buttons in DpTreeListNode to the top or center
850
- */
851
- alignToggle: {
852
- type: String,
853
- required: false,
854
- default: 'top',
855
- validator: (prop) =&gt; ['top', 'center'].includes(prop)
856
- },
857
- &nbsp;
858
- branchIdentifier: {
859
- type: Function,
860
- required: true
861
- },
862
- &nbsp;
863
- draggable: {
864
- type: Boolean,
865
- required: false,
866
- default: true
867
- },
868
- &nbsp;
869
- /*
870
- * Callback to be executed on move event of draggable.
871
- * It can be used to cancel drag by returning false.
872
- */
873
- onMove: {
874
- type: Function,
875
- required: false,
876
- default: () =&gt; true
877
- },
878
- &nbsp;
879
- options: {
880
- type: Object,
881
- required: false,
882
- default: () =&gt; ({})
883
- },
884
- &nbsp;
885
- treeData: {
886
- type: Array,
887
- required: true
888
- }
889
- },
890
- &nbsp;
891
- data () {
892
- return {
893
- allElementsExpanded: false,
894
- allElementsSelected: false,
895
- &nbsp;
896
- /*
897
- * To be able to control the appearance of nodes when hovered vs. when dragged,
898
- * the outermost container receives an `is-dragging` class if a node is dragged.
899
- */
900
- dragging: false,
901
- &nbsp;
902
- opts: {},
903
- selectedNodesObjects: []
904
- }
905
- },
906
- &nbsp;
907
- computed: {
908
- checkAll () {
909
- return this.opts.branchesSelectable || this.opts.leavesSelectable
910
- },
911
- &nbsp;
912
- checkboxIndentationStyle () {
913
- const margin = this.opts.dragBranches || this.opts.dragLeaves ? dragHandleWidth : 0
914
- return `margin-left: ${margin}px;`
915
- },
916
- &nbsp;
917
- /**
918
- * The `tree` getter is called whenever this.treeData is changed from outside DpTreeList.
919
- * The setter is called whenever the tree structure is changed from within the draggable instance.
920
- * It emits the changed structure, which may be used in the parent component to update treeData accordingly.
921
- */
922
- tree: {
923
- get () {
924
- return this.treeData
925
- },
926
- &nbsp;
927
- set (payload) {
928
- this.$emit('tree:change', payload)
929
- }
930
- }
931
- },
932
- &nbsp;
933
- methods: {
934
- bubbleChangeEvent (payload) {
935
- this.$emit('tree:change', payload)
936
- },
937
- &nbsp;
938
- bubbleDraggableChange (payload) {
939
- this.$emit('draggable:change', payload)
940
- },
941
- &nbsp;
942
- destroyFixedControls () {
943
- this.stickyHeader.destroy()
944
- this.stickyFooter.destroy()
945
- },
946
- &nbsp;
947
- filterSelectableNodes (selectedNodes) {
948
- if (this.opts.branchesSelectable &amp;&amp; this.opts.leavesSelectable) return selectedNodes
949
- &nbsp;
950
- return selectedNodes.filter(({ nodeType }) =&gt; {
951
- let nodeSelectable = false
952
- if ((this.opts.branchesSelectable &amp;&amp; nodeType === 'branch') ||
953
- (this.opts.leavesSelectable &amp;&amp; nodeType === 'leaf')) {
954
- nodeSelectable = true
955
- }
956
- &nbsp;
957
- return nodeSelectable
958
- })
959
- },
960
- &nbsp;
961
- getAllSelectedNodesObjects (treeData) {
962
- let selectedNodes = []
963
- &nbsp;
964
- treeData.forEach(node =&gt; {
965
- if (node.nodeIsSelected) {
966
- selectedNodes.push(node)
967
- }
968
- &nbsp;
969
- if (node.children &amp;&amp; node.children.length &gt; 0) {
970
- const selectedChildNodes = this.getAllSelectedNodesObjects(node.children)
971
- selectedNodes = selectedNodes.concat(selectedChildNodes)
972
- }
973
- })
974
- &nbsp;
975
- return selectedNodes
976
- },
977
- &nbsp;
978
- /**
979
- * Handler for the draggable `change` event.
980
- * The change event fires whenever the order of items is changed by a drag interaction.
981
- * The handler then emits an event that is being bubbled up the tree.
982
- * @see https://github.com/SortableJS/Vue.Draggable#events
983
- * @param action
984
- * @param nodeId
985
- * @emits draggable:change
986
- */
987
- handleChange (action, nodeId) {
988
- // The event should only be emitted if an element is moved inside or into a folder.
989
- if (hasOwnProp(action, 'added') || hasOwnProp(action, 'moved')) {
990
- const { element, newIndex } = hasOwnProp(action, 'moved') ? action.moved : action.added
991
- const payload = {
992
- elementId: element.id,
993
- newIndex: newIndex,
994
- parentId: nodeId
995
- }
996
- this.$emit('draggable:change', payload)
997
- }
998
- },
999
- &nbsp;
1000
- /**
1001
- * Set `dragging` to true if called via `start` event of draggable, else to false.
1002
- * @param eventType
1003
- * @emits &lt;start|end&gt;
1004
- */
1005
- handleDrag (eventType) {
1006
- this.$emit(eventType)
1007
- this.dragging = (eventType === 'start')
1008
- },
1009
- &nbsp;
1010
- handleSelectEvent () {
1011
- this.selectedNodesObjects = this.getAllSelectedNodesObjects(this.treeData)
1012
- const filteredSelections = this.filterSelectableNodes(this.selectedNodesObjects)
1013
- &nbsp;
1014
- this.$emit('node-selection-change', filteredSelections)
1015
- },
1016
- &nbsp;
1017
- // Header and Footer should be fixed to the top/bottom of the page when the TreeList exceeds the viewport height.
1018
- initFixedControls () {
1019
- this.stickyHeader = new Stickier(this.$refs.header, this.$refs.treeList.$el, 0, 'top')
1020
- &nbsp;
1021
- if (this.$slots.footer) {
1022
- this.stickyFooter = new Stickier(this.$refs.footer, this.$refs.treeList.$el, 0, 'bottom')
1023
- }
1024
- },
1025
- &nbsp;
1026
- toggleAll () {
1027
- this.$root.$emit('treelist:toggle-all', !this.allElementsExpanded)
1028
- this.allElementsExpanded = !this.allElementsExpanded
1029
- },
1030
- &nbsp;
1031
- unselectAll () {
1032
- this.selectedNodesObjects.forEach(node =&gt; {
1033
- if (this.$refs['node_' + node.id]) {
1034
- this.$refs['node_' + node.id][0].setSelectionState(false)
1035
- }
1036
- })
1037
- this.selectedNodesObjects = []
1038
- this.allElementsSelected = false
1039
- this.$emit('node-selection-change', this.selectedNodesObjects)
1040
- }
1041
- },
1042
- &nbsp;
1043
- mounted () {
1044
- const defaults = {
1045
- branchesSelectable: false,
1046
- leavesSelectable: false,
1047
- rootDraggable: false,
1048
- dragAcrossBranches: false,
1049
- dragBranches: false,
1050
- dragLeaves: false,
1051
- // Options that are directly bound to the instances of vuedraggable
1052
- draggable: {
1053
- /*
1054
- * The `handle` property is used both to style the handle and as a DOM hook for draggable,
1055
- * that's why it is noted with the leading dot here. This is to be refactored later.
1056
- */
1057
- handle: '.c-treelist__drag-handle',
1058
- ghostClass: 'c-treelist__node-ghost',
1059
- chosenClass: 'c-treelist__node-chosen'
1060
- },
1061
- checkboxIdentifier: {
1062
- branch: 'nodeSelected',
1063
- leaf: 'nodeSelected'
1064
- },
1065
- selectOn: {
1066
- childSelect: false,
1067
- parentSelect: false
1068
- },
1069
- deselectOn: {
1070
- childDeselect: false,
1071
- parentDeselect: false
1072
- }
1073
- }
1074
- this.opts = deepMerge(defaults, this.options)
1075
- &nbsp;
1076
- this.initFixedControls()
1077
- }<span class="branch-0 cbranch-no" title="branch not covered" ></span>
1078
- }
1079
- &lt;/script&gt;
1080
- &nbsp;</pre></td></tr></table></pre>
1081
-
1082
- <div class='push'></div><!-- for sticky footer -->
1083
- </div><!-- /wrapper -->
1084
- <div class='footer quiet pad2 space-top1 center small'>
1085
- Code coverage generated by
1086
- <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
1087
- at 2024-12-02T14:13:18.182Z
1088
- </div>
1089
- <script src="../../../prettify.js"></script>
1090
- <script>
1091
- window.onload = function () {
1092
- prettyPrint();
1093
- };
1094
- </script>
1095
- <script src="../../../sorter.js"></script>
1096
- <script src="../../../block-navigation.js"></script>
1097
- </body>
1098
- </html>
1099
-