@wcardinal/wcardinal-ui 0.367.0 → 0.368.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 (118) hide show
  1. package/dist/types/wcardinal/ui/d-table-body-cell-action-menu.d.ts +2 -1
  2. package/dist/types/wcardinal/ui/d-table-body-cell-check.d.ts +2 -1
  3. package/dist/types/wcardinal/ui/d-table-body-cell-color.d.ts +2 -1
  4. package/dist/types/wcardinal/ui/d-table-body-cell-date.d.ts +2 -1
  5. package/dist/types/wcardinal/ui/d-table-body-cell-datetime.d.ts +2 -1
  6. package/dist/types/wcardinal/ui/d-table-body-cell-index.d.ts +3 -2
  7. package/dist/types/wcardinal/ui/d-table-body-cell-input-integer.d.ts +2 -1
  8. package/dist/types/wcardinal/ui/d-table-body-cell-input-real.d.ts +2 -1
  9. package/dist/types/wcardinal/ui/d-table-body-cell-input-text-area.d.ts +24 -0
  10. package/dist/types/wcardinal/ui/d-table-body-cell-input-text.d.ts +2 -1
  11. package/dist/types/wcardinal/ui/d-table-body-cell-input-tree.d.ts +2 -1
  12. package/dist/types/wcardinal/ui/d-table-body-cell-select-dialog.d.ts +2 -1
  13. package/dist/types/wcardinal/ui/d-table-body-cell-select-menu.d.ts +2 -1
  14. package/dist/types/wcardinal/ui/d-table-body-cell-select-multiple.d.ts +2 -1
  15. package/dist/types/wcardinal/ui/d-table-body-cell-select-promise.d.ts +2 -1
  16. package/dist/types/wcardinal/ui/d-table-body-cell-text-area.d.ts +8 -0
  17. package/dist/types/wcardinal/ui/d-table-body-cell-text.d.ts +2 -1
  18. package/dist/types/wcardinal/ui/d-table-body-cell-time.d.ts +2 -1
  19. package/dist/types/wcardinal/ui/d-table-body-cell-tree.d.ts +2 -1
  20. package/dist/types/wcardinal/ui/d-table-body-cell.d.ts +3 -2
  21. package/dist/types/wcardinal/ui/d-table-body-row.d.ts +11 -7
  22. package/dist/types/wcardinal/ui/d-table-body.d.ts +1 -0
  23. package/dist/types/wcardinal/ui/d-table-column-type.d.ts +1 -0
  24. package/dist/types/wcardinal/ui/d-table-column-update.d.ts +13 -0
  25. package/dist/types/wcardinal/ui/d-table-column.d.ts +10 -0
  26. package/dist/types/wcardinal/ui/d-table-data-list-mapped.d.ts +2 -2
  27. package/dist/types/wcardinal/ui/d-table-data-tree.d.ts +5 -5
  28. package/dist/types/wcardinal/ui/d-table-data.d.ts +2 -1
  29. package/dist/types/wcardinal/ui/index.d.ts +3 -0
  30. package/dist/types/wcardinal/ui/theme/dark/d-theme-dark-table-body-cell-input-text-area.d.ts +16 -0
  31. package/dist/types/wcardinal/ui/theme/dark/d-theme-dark-table-body-cell-text-area.d.ts +5 -0
  32. package/dist/types/wcardinal/ui/theme/dark/index.d.ts +2 -0
  33. package/dist/types/wcardinal/ui/theme/white/d-theme-white-table-body-cell-input-text-area.d.ts +16 -0
  34. package/dist/types/wcardinal/ui/theme/white/d-theme-white-table-body-cell-text-area.d.ts +5 -0
  35. package/dist/types/wcardinal/ui/theme/white/index.d.ts +2 -0
  36. package/dist/wcardinal/ui/d-table-body-cell-action-menu.js +3 -2
  37. package/dist/wcardinal/ui/d-table-body-cell-action-menu.js.map +1 -1
  38. package/dist/wcardinal/ui/d-table-body-cell-button.js +2 -1
  39. package/dist/wcardinal/ui/d-table-body-cell-button.js.map +1 -1
  40. package/dist/wcardinal/ui/d-table-body-cell-check.js +6 -5
  41. package/dist/wcardinal/ui/d-table-body-cell-check.js.map +1 -1
  42. package/dist/wcardinal/ui/d-table-body-cell-color.js +3 -2
  43. package/dist/wcardinal/ui/d-table-body-cell-color.js.map +1 -1
  44. package/dist/wcardinal/ui/d-table-body-cell-date.js +3 -2
  45. package/dist/wcardinal/ui/d-table-body-cell-date.js.map +1 -1
  46. package/dist/wcardinal/ui/d-table-body-cell-datetime.js +3 -2
  47. package/dist/wcardinal/ui/d-table-body-cell-datetime.js.map +1 -1
  48. package/dist/wcardinal/ui/d-table-body-cell-index.js.map +1 -1
  49. package/dist/wcardinal/ui/d-table-body-cell-input-integer.js +3 -2
  50. package/dist/wcardinal/ui/d-table-body-cell-input-integer.js.map +1 -1
  51. package/dist/wcardinal/ui/d-table-body-cell-input-real.js +3 -2
  52. package/dist/wcardinal/ui/d-table-body-cell-input-real.js.map +1 -1
  53. package/dist/wcardinal/ui/d-table-body-cell-input-text-area.js +73 -0
  54. package/dist/wcardinal/ui/d-table-body-cell-input-text-area.js.map +1 -0
  55. package/dist/wcardinal/ui/d-table-body-cell-input-text.js +3 -2
  56. package/dist/wcardinal/ui/d-table-body-cell-input-text.js.map +1 -1
  57. package/dist/wcardinal/ui/d-table-body-cell-input-tree.js +4 -4
  58. package/dist/wcardinal/ui/d-table-body-cell-input-tree.js.map +1 -1
  59. package/dist/wcardinal/ui/d-table-body-cell-select-dialog.js +3 -2
  60. package/dist/wcardinal/ui/d-table-body-cell-select-dialog.js.map +1 -1
  61. package/dist/wcardinal/ui/d-table-body-cell-select-menu.js +3 -2
  62. package/dist/wcardinal/ui/d-table-body-cell-select-menu.js.map +1 -1
  63. package/dist/wcardinal/ui/d-table-body-cell-select-multiple.js +3 -2
  64. package/dist/wcardinal/ui/d-table-body-cell-select-multiple.js.map +1 -1
  65. package/dist/wcardinal/ui/d-table-body-cell-select-promise.js +3 -2
  66. package/dist/wcardinal/ui/d-table-body-cell-select-promise.js.map +1 -1
  67. package/dist/wcardinal/ui/d-table-body-cell-text-area.js +18 -0
  68. package/dist/wcardinal/ui/d-table-body-cell-text-area.js.map +1 -0
  69. package/dist/wcardinal/ui/d-table-body-cell-text.js.map +1 -1
  70. package/dist/wcardinal/ui/d-table-body-cell-time.js +3 -2
  71. package/dist/wcardinal/ui/d-table-body-cell-time.js.map +1 -1
  72. package/dist/wcardinal/ui/d-table-body-cell-tree.js +1 -2
  73. package/dist/wcardinal/ui/d-table-body-cell-tree.js.map +1 -1
  74. package/dist/wcardinal/ui/d-table-body-cell.js.map +1 -1
  75. package/dist/wcardinal/ui/d-table-body-row.js +27 -4
  76. package/dist/wcardinal/ui/d-table-body-row.js.map +1 -1
  77. package/dist/wcardinal/ui/d-table-body.js +10 -2
  78. package/dist/wcardinal/ui/d-table-body.js.map +1 -1
  79. package/dist/wcardinal/ui/d-table-column-type.js +2 -1
  80. package/dist/wcardinal/ui/d-table-column-type.js.map +1 -1
  81. package/dist/wcardinal/ui/d-table-column-update.js +13 -0
  82. package/dist/wcardinal/ui/d-table-column-update.js.map +1 -0
  83. package/dist/wcardinal/ui/d-table-column.js.map +1 -1
  84. package/dist/wcardinal/ui/d-table-data-list-mapped.js.map +1 -1
  85. package/dist/wcardinal/ui/d-table-data-tree.js.map +1 -1
  86. package/dist/wcardinal/ui/d-table-data.js.map +1 -1
  87. package/dist/wcardinal/ui/d-table-header-cell-check.js.map +1 -1
  88. package/dist/wcardinal/ui/d-table.js +5 -2
  89. package/dist/wcardinal/ui/d-table.js.map +1 -1
  90. package/dist/wcardinal/ui/index.js +3 -0
  91. package/dist/wcardinal/ui/index.js.map +1 -1
  92. package/dist/wcardinal/ui/theme/dark/d-theme-dark-table-body-cell-input-text-area.js +40 -0
  93. package/dist/wcardinal/ui/theme/dark/d-theme-dark-table-body-cell-input-text-area.js.map +1 -0
  94. package/dist/wcardinal/ui/theme/dark/d-theme-dark-table-body-cell-text-area.js +19 -0
  95. package/dist/wcardinal/ui/theme/dark/d-theme-dark-table-body-cell-text-area.js.map +1 -0
  96. package/dist/wcardinal/ui/theme/dark/index.js +2 -0
  97. package/dist/wcardinal/ui/theme/dark/index.js.map +1 -1
  98. package/dist/wcardinal/ui/theme/dark/load/load-theme-dark-table.js +6 -0
  99. package/dist/wcardinal/ui/theme/dark/load/load-theme-dark-table.js.map +1 -1
  100. package/dist/wcardinal/ui/theme/white/d-theme-white-table-body-cell-input-text-area.js +40 -0
  101. package/dist/wcardinal/ui/theme/white/d-theme-white-table-body-cell-input-text-area.js.map +1 -0
  102. package/dist/wcardinal/ui/theme/white/d-theme-white-table-body-cell-text-area.js +19 -0
  103. package/dist/wcardinal/ui/theme/white/d-theme-white-table-body-cell-text-area.js.map +1 -0
  104. package/dist/wcardinal/ui/theme/white/index.js +2 -0
  105. package/dist/wcardinal/ui/theme/white/index.js.map +1 -1
  106. package/dist/wcardinal/ui/theme/white/load/load-theme-white-table.js +6 -0
  107. package/dist/wcardinal/ui/theme/white/load/load-theme-white-table.js.map +1 -1
  108. package/dist/wcardinal-ui-theme-dark.js +57 -1
  109. package/dist/wcardinal-ui-theme-dark.min.js +2 -2
  110. package/dist/wcardinal-ui-theme-dark.min.js.map +1 -1
  111. package/dist/wcardinal-ui-theme-white.js +57 -1
  112. package/dist/wcardinal-ui-theme-white.min.js +2 -2
  113. package/dist/wcardinal-ui-theme-white.min.js.map +1 -1
  114. package/dist/wcardinal-ui.cjs.js +300 -44
  115. package/dist/wcardinal-ui.js +188 -44
  116. package/dist/wcardinal-ui.min.js +2 -2
  117. package/dist/wcardinal-ui.min.js.map +1 -1
  118. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"d-table-body-row.js","sourceRoot":"","sources":["../../../src/main/typescript/wcardinal/ui/d-table-body-row.ts"],"names":[],"mappings":"AAAA;;;GAGG;;AAKH,OAAO,EAAE,0BAA0B,EAAE,MAAM,mCAAmC,CAAC;AAC/E,OAAO,EAAE,wBAAwB,EAAE,MAAM,iCAAiC,CAAC;AAC3E,OAAO,EAAE,2BAA2B,EAAE,MAAM,oCAAoC,CAAC;AACjF,OAAO,EAAE,oBAAoB,EAAE,MAAM,4BAA4B,CAAC;AAClE,OAAO,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AAChE,OAAO,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AAChE,OAAO,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAC9D,OAAO,EAAE,sBAAsB,EAAE,MAAM,8BAA8B,CAAC;AACtE,OAAO,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AAChE,OAAO,EAAE,0BAA0B,EAAE,MAAM,mCAAmC,CAAC;AAC/E,OAAO,EAAE,uBAAuB,EAAE,MAAM,gCAAgC,CAAC;AACzE,OAAO,EAAE,uBAAuB,EAAE,MAAM,gCAAgC,CAAC;AACzE,OAAO,EAAE,uBAAuB,EAAE,MAAM,gCAAgC,CAAC;AACzE,OAAO,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAE9D,OAAO,EAAE,0BAA0B,EAAE,MAAM,mCAAmC,CAAC;AAC/E,OAAO,EAAE,wBAAwB,EAAE,MAAM,iCAAiC,CAAC;AAC3E,OAAO,EAAE,4BAA4B,EAAE,MAAM,qCAAqC,CAAC;AACnF,OAAO,EAAE,2BAA2B,EAAE,MAAM,oCAAoC,CAAC;AACjF,OAAO,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAC9D,OAAO,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAC9D,OAAO,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAE9D,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,EAAE,uBAAuB,EAAE,MAAM,0BAA0B,CAAC;AACnE,OAAO,EAAE,SAAS,EAAoC,MAAM,eAAe,CAAC;AAC5E,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAC9C,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAwB5C;IAIU,iCAA0D;IAMnE,uBACC,QAA6C,EAC7C,MAAe,EACf,wBAAiE,EACjE,OAAgB;QAJjB,YAMC,kBAAM,OAAO,CAAC,SAUd;QARA,KAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QACjB,KAAI,CAAC,kBAAkB,GAAG,UAAC,QAAQ,EAAE,QAAQ,EAAE,GAAG,EAAE,QAAQ,EAAE,WAAW;YACxE,KAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,GAAG,EAAE,QAAQ,EAAE,WAAW,EAAE,KAAI,CAAC,CAAC;YAC1E,QAAQ,CAAC,QAAQ,EAAE,QAAQ,EAAE,GAAG,EAAE,QAAQ,EAAE,WAAW,EAAE,KAAI,CAAC,CAAC;QAChE,CAAC,CAAC;QACF,KAAI,CAAC,yBAAyB,GAAG,wBAAwB,CAAC;QAC1D,KAAI,CAAC,KAAK,CAAC,YAAY,GAAG,CAAC,MAAM,CAAC;QAClC,KAAI,CAAC,SAAS,CAAC,OAAO,EAAE,KAAI,CAAC,QAAQ,EAAE,KAAI,CAAC,OAAO,CAAC,CAAC;;IACtD,CAAC;IAES,+BAAO,GAAjB,UACC,WAAmB,EACnB,MAAkC,EAClC,OAA0C,EAC1C,OAAgB;QAEhB,IAAM,QAAQ,GAAG,IAAI,CAAC,kBAAkB,CAAC;QACzC,IAAM,wBAAwB,GAAG,IAAI,CAAC,yBAAyB,CAAC;QAChE,IAAI,WAAW,GAAG,wBAAwB,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;QAC5D,IAAI,WAAW,IAAI,IAAI,EAAE;YACxB,WAAW,GAAG,IAAI,CAAC,aAAa,CAAC,WAAW,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;YAC/D,wBAAwB,CAAC,GAAG,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC;SACvD;QACD,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,KAAK,KAAK,EAAE;YACpC,OAAO,IAAI,CAAC,eAAe,CAAC,WAAW,EAAE,MAAM,EAAE,QAAQ,EAAE,WAAW,CAAC,CAAC;SACxE;aAAM;YACN,IAAM,IAAI,GAAG,IAAI,CAAC,gBAAgB,CAAC,WAAW,EAAE,MAAM,EAAE,QAAQ,EAAE,WAAW,CAAC,CAAC;YAC/E,IAAI,MAAM,CAAC,IAAI,KAAK,gBAAgB,CAAC,IAAI,EAAE;gBAC1C,IAAI,CAAC,KAAK,CAAC,UAAU,GAAG,IAAI,CAAC;aAC7B;YACD,OAAO,IAAI,CAAC;SACZ;IACF,CAAC;IAES,uCAAe,GAAzB,UACC,WAAmB,EACnB,MAA8B,EAC9B,QAA8C,EAC9C,OAAY;QAEZ,QAAQ,MAAM,CAAC,IAAI,EAAE;YACpB,KAAK,gBAAgB,CAAC,KAAK;gBAC1B,OAAO,IAAI,mBAAmB,CAAC,WAAW,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC;YACxE,KAAK,gBAAgB,CAAC,IAAI;gBACzB,OAAO,IAAI,uBAAuB,CAAC,WAAW,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC;YAC5E,KAAK,gBAAgB,CAAC,IAAI;gBACzB,OAAO,IAAI,uBAAuB,CAAC,WAAW,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC;YAC5E,KAAK,gBAAgB,CAAC,OAAO;gBAC5B,OAAO,IAAI,0BAA0B,CAAC,WAAW,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC;YAC/E,KAAK,gBAAgB,CAAC,IAAI;gBACzB,OAAO,IAAI,uBAAuB,CAAC,WAAW,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC;YAC5E,KAAK,gBAAgB,CAAC,KAAK,CAAC;YAC5B,KAAK,gBAAgB,CAAC,YAAY;gBACjC,OAAO,IAAI,mBAAmB,CAAC,WAAW,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC;YACxE,KAAK,gBAAgB,CAAC,KAAK;gBAC1B,OAAO,IAAI,mBAAmB,CAAC,WAAW,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC;YACxE,KAAK,gBAAgB,CAAC,MAAM;gBAC3B,OAAO,IAAI,oBAAoB,CAAC,WAAW,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC;YACzE,KAAK,gBAAgB,CAAC,IAAI;gBACzB,OAAO,IAAI,kBAAkB,CAAC,WAAW,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC;YACvE,KAAK,gBAAgB,CAAC,MAAM;gBAC3B,OAAO,IAAI,CAAC,aAAa,CAAC,WAAW,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC;YACnE,KAAK,gBAAgB,CAAC,MAAM;gBAC3B,OAAO,IAAI,CAAC,aAAa,CAAC,WAAW,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC;YACnE,KAAK,gBAAgB,CAAC,IAAI;gBACzB,OAAO,IAAI,kBAAkB,CAAC,WAAW,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC;YACvE,KAAK,gBAAgB,CAAC,QAAQ;gBAC7B,OAAO,IAAI,sBAAsB,CAAC,WAAW,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC;YAC3E,KAAK,gBAAgB,CAAC,IAAI;gBACzB,OAAO,IAAI,kBAAkB,CAAC,WAAW,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC;YACvE;gBACC,OAAO,IAAI,kBAAkB,CAAC,WAAW,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC;SACvE;IACF,CAAC;IAES,wCAAgB,GAA1B,UACC,WAAmB,EACnB,MAA8B,EAC9B,QAA8C,EAC9C,OAAY;QAEZ,QAAQ,MAAM,CAAC,IAAI,EAAE;YACpB,KAAK,gBAAgB,CAAC,KAAK;gBAC1B,OAAO,IAAI,mBAAmB,CAAC,WAAW,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC;YACxE,KAAK,gBAAgB,CAAC,IAAI;gBACzB,OAAO,IAAI,kBAAkB,CAAC,WAAW,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC;YACvE,KAAK,gBAAgB,CAAC,IAAI;gBACzB,OAAO,IAAI,kBAAkB,CAAC,WAAW,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC;YACvE,KAAK,gBAAgB,CAAC,OAAO;gBAC5B,OAAO,IAAI,kBAAkB,CAAC,WAAW,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC;YACvE,KAAK,gBAAgB,CAAC,IAAI;gBACzB,OAAO,IAAI,kBAAkB,CAAC,WAAW,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC;YACvE,KAAK,gBAAgB,CAAC,KAAK,CAAC;YAC5B,KAAK,gBAAgB,CAAC,YAAY;gBACjC,OAAO,IAAI,mBAAmB,CAAC,WAAW,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC;YACxE,KAAK,gBAAgB,CAAC,KAAK;gBAC1B,OAAO,IAAI,mBAAmB,CAAC,WAAW,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC;YACxE,KAAK,gBAAgB,CAAC,MAAM;gBAC3B,OAAO,IAAI,oBAAoB,CAAC,WAAW,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC;YACzE,KAAK,gBAAgB,CAAC,IAAI;gBACzB,OAAO,IAAI,kBAAkB,CAAC,WAAW,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC;YACvE,KAAK,gBAAgB,CAAC,MAAM;gBAC3B,OAAO,IAAI,CAAC,aAAa,CAAC,WAAW,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC;YACnE,KAAK,gBAAgB,CAAC,MAAM;gBAC3B,OAAO,IAAI,CAAC,aAAa,CAAC,WAAW,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC;YACnE,KAAK,gBAAgB,CAAC,IAAI;gBACzB,OAAO,IAAI,kBAAkB,CAAC,WAAW,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC;YACvE,KAAK,gBAAgB,CAAC,QAAQ;gBAC7B,OAAO,IAAI,sBAAsB,CAAC,WAAW,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC;YAC3E,KAAK,gBAAgB,CAAC,IAAI;gBACzB,OAAO,IAAI,kBAAkB,CAAC,WAAW,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC;YACvE;gBACC,OAAO,IAAI,kBAAkB,CAAC,WAAW,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC;SACvE;IACF,CAAC;IAES,qCAAa,GAAvB,UACC,WAAmB,EACnB,MAA8B,EAC9B,QAA8C,EAC9C,OAAY;QAEZ,IAAM,SAAS,GAAG,MAAM,CAAC,SAAS,CAAC;QACnC,IAAI,SAAS,CAAC,IAAI,IAAI,IAAI,EAAE;YAC3B,OAAO,IAAI,wBAAwB,CAAC,WAAW,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC;SAC5E;aAAM,IAAI,SAAS,CAAC,QAAQ,IAAI,IAAI,EAAE;YACtC,OAAO,IAAI,4BAA4B,CAAC,WAAW,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC;SAChF;aAAM,IAAI,SAAS,CAAC,MAAM,IAAI,IAAI,EAAE;YACpC,OAAO,IAAI,0BAA0B,CAAC,WAAW,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC;SAC9E;aAAM,IAAI,SAAS,CAAC,OAAO,IAAI,IAAI,EAAE;YACrC,OAAO,IAAI,2BAA2B,CAAC,WAAW,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC;SAC/E;aAAM;YACN,OAAO,IAAI,kBAAkB,CAAC,WAAW,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC;SACtE;IACF,CAAC;IAES,qCAAa,GAAvB,UACC,WAAmB,EACnB,MAA8B,EAC9B,QAA8C,EAC9C,OAAY;QAEZ,IAAM,SAAS,GAAG,MAAM,CAAC,SAAS,CAAC;QACnC,IAAI,SAAS,CAAC,IAAI,IAAI,IAAI,EAAE;YAC3B,OAAO,IAAI,wBAAwB,CAAC,WAAW,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC;SAC5E;aAAM,IAAI,SAAS,CAAC,MAAM,IAAI,IAAI,EAAE;YACpC,OAAO,IAAI,0BAA0B,CAAC,WAAW,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC;SAC9E;aAAM,IAAI,SAAS,CAAC,OAAO,IAAI,IAAI,EAAE;YACrC,OAAO,IAAI,2BAA2B,CAAC,WAAW,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC;SAC/E;aAAM;YACN,OAAO,IAAI,kBAAkB,CAAC,WAAW,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC;SACtE;IACF,CAAC;IAES,qCAAa,GAAvB,UACC,WAAmB,EACnB,MAAkC,EAClC,OAAgB;;;QAEhB,IAAM,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;QAEnD,SAAS;QACT,MAAM,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC;QAE9B,QAAQ;QACR,MAAM,CAAC,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC;QAE5B,QAAQ;QACR,MAAA,MAAM,CAAC,KAAK,oCAAZ,MAAM,CAAC,KAAK,GAAK,MAAM,CAAC,KAAK,CAAC,OAAO,EAAC;QAEtC,iBAAiB;QACjB,IAAM,eAAe,GAAG,MAAM,CAAC,SAAS,CAAC;QACzC,IAAI,eAAe,IAAI,IAAI,EAAE;YAC5B,IAAM,IAAI,GAAG,OAAC,MAAM,CAAC,IAAI,oCAAX,MAAM,CAAC,IAAI,GAAK,EAAE,EAAC,CAAC;YAClC,MAAA,IAAI,CAAC,SAAS,oCAAd,IAAI,CAAC,SAAS,GAAK,eAAe,EAAC;SACnC;QAED,wBAAwB;QACxB,IAAM,WAAW,GAAG,MAAM,CAAC,KAAK,CAAC;QACjC,IAAI,WAAW,IAAI,IAAI,EAAE;YACxB,IAAM,IAAI,GAAG,OAAC,MAAM,CAAC,IAAI,oCAAX,MAAM,CAAC,IAAI,GAAK,EAAE,EAAC,CAAC;YAClC,IAAM,SAAS,GAAG,OAAC,IAAI,CAAC,KAAK,oCAAV,IAAI,CAAC,KAAK,GAAK,EAAE,EAAC,CAAC;YACtC,MAAA,SAAS,CAAC,UAAU,oCAApB,SAAS,CAAC,UAAU,GAAK,WAAW,EAAC;SACrC;QAED,UAAU;QACV,IAAM,aAAa,GAAG,MAAM,CAAC,OAAO,CAAC;QACrC,IAAI,aAAa,CAAC,MAAM,KAAK,KAAK,EAAE;YACnC,IAAM,OAAO,GAAG,aAAE,MAAc,EAAC,OAAO,uCAAP,OAAO,GAAK,EAAE,EAAC,CAAC;YACjD,MAAA,OAAO,CAAC,SAAS,oCAAjB,OAAO,CAAC,SAAS,GAAK,aAAa,CAAC,SAAS,EAAC;YAC9C,MAAA,OAAO,CAAC,WAAW,oCAAnB,OAAO,CAAC,WAAW,GAAK,aAAa,CAAC,WAAW,EAAC;YAClD,MAAA,OAAO,CAAC,SAAS,oCAAjB,OAAO,CAAC,SAAS,GAAK,aAAa,CAAC,SAAS,EAAC;SAC9C;QAED,OAAO;QACP,IAAM,UAAU,GAAG,MAAM,CAAC,IAAI,CAAC;QAC/B,IAAI,UAAU,KAAK,SAAS,EAAE;YAC5B,MAAc,CAAC,IAAI,GAAG,UAAU,CAAC;SAClC;QAED,YAAY;QACZ,IAAM,eAAe,GAAG,MAAM,CAAC,SAAS,CAAC;QACzC,IAAM,mBAAmB,GAAG,MAAA,eAAe,CAAC,IAAI,mCAAI,eAAe,CAAC,QAAQ,CAAC;QAC7E,IAAI,mBAAmB,KAAK,SAAS,EAAE;YACrC,MAAc,CAAC,IAAI,GAAG,mBAAmB,CAAC;SAC3C;QAED,IAAM,aAAa,GAAG,MAAA,MAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,SAAS,0CAAE,IAAI,mCAAI,uBAAuB,CAAC,IAAI,CAAC;QAC/E,IAAI,aAAa,KAAK,uBAAuB,CAAC,IAAI,EAAE;YAClD,MAAc,CAAC,IAAI,GAAG,gBAAgB,CAAC;YACxC,MAAM,CAAC,MAAM,GAAG,UAAC,KAAoB;gBACpC,IAAI,KAAK,CAAC,EAAE,CAAC,WAAW,CAAC,UAAU,CAAC,EAAE;oBACrC,OAAO,SAAS,CAAC;iBACjB;gBACD,OAAO,SAAS,CAAC;YAClB,CAAC,CAAC;SACF;QAED,OAAO,MAAM,CAAC;IACf,CAAC;IAES,+BAAO,GAAjB;QACC,OAAO,eAAe,CAAC;IACxB,CAAC;IAQD,sBAAI,gCAAK;QANT;;;;;WAKG;aACH;YACC,OAAO,IAAI,CAAC,MAAM,CAAC;QACpB,CAAC;;;OAAA;IAQD,sBAAI,gCAAK;QANT;;;;;WAKG;aACH;YACC,OAAO,IAAI,CAAC,MAAM,CAAC;QACpB,CAAC;;;OAAA;IAES,8BAAM,GAAhB,UAAiB,MAAW;QAC3B,OAAO,MAAM,IAAI,IAAI,IAAI,KAAK,IAAI,MAAM,CAAC;IAC1C,CAAC;IAED,2BAAG,GAAH,UAAI,KAAU,EAAE,YAAqB,EAAE,QAAgB,EAAE,QAAkB;QAC1E,IAAI,QAAQ,IAAI,IAAI,CAAC,MAAM,KAAK,KAAK,IAAI,IAAI,CAAC,MAAM,KAAK,QAAQ,EAAE;YAClE,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;YACpB,IAAI,CAAC,MAAM,GAAG,QAAQ,CAAC;YAEvB,IAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC;YAC5B,IAAM,WAAW,GAAG,KAAK,CAAC,MAAM,CAAC;YACjC,IAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC;YAC9B,IAAM,aAAa,GAAG,OAAO,CAAC,MAAM,CAAC;YACrC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,WAAW,EAAE,EAAE,CAAC,EAAE;gBACrC,IAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;gBACtB,IAAM,WAAW,GAAG,aAAa,GAAG,CAAC,GAAG,CAAC,CAAC;gBAC1C,IAAM,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC;gBACpC,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE;oBACtB,IAAI,CAAC,GAAG,CACP,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,WAAW,CAAC,EACjC,KAAK,EACL,YAAY,EACZ,QAAQ,EACR,WAAW,EACX,QAAQ,CACR,CAAC;iBACF;aACD;YAED,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;SAC5B;IACF,CAAC;IAES,6BAAK,GAAf,UAAgB,KAAU,EAAE,QAAgB;QAC3C,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,IAAI,CAAC,CAAC;IACzC,CAAC;IAED,6BAAK,GAAL;QACC,IAAI,IAAI,CAAC,MAAM,KAAK,SAAS,EAAE;YAC9B,IAAI,CAAC,MAAM,GAAG,SAAS,CAAC;YACxB,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;YAEjB,IAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC;YAC5B,IAAM,WAAW,GAAG,KAAK,CAAC,MAAM,CAAC;YACjC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,WAAW,EAAE,EAAE,CAAC,EAAE;gBACrC,IAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;gBACtB,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE;oBACtB,IAAI,CAAC,KAAK,EAAE,CAAC;iBACb;aACD;YAED,IAAI,CAAC,OAAO,EAAE,CAAC;SACf;IACF,CAAC;IAES,+BAAO,GAAjB;QACC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;IAC1B,CAAC;IAES,2CAAmB,GAA7B;QACC,IAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;QAC3B,IAAI,MAAM,EAAE;YACX,IAAM,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC;YAC9B,IAAI,OAAO,EAAE;gBACZ,OAAO,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC;aAC1B;SACD;QACD,OAAO,CAAC,CAAC;IACV,CAAC;IACF,oBAAC;AAAD,CAAC,AA5UD,CAIU,SAAS,GAwUlB","sourcesContent":["/*\n * Copyright (C) 2019 Toshiba Corporation\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport { DBase } from \"./d-base\";\nimport { DBaseStateSet } from \"./d-base-state-set\";\nimport { DTableBodyCell, DTableBodyCellOnChange } from \"./d-table-body-cell\";\nimport { DTableBodyCellActionDialog } from \"./d-table-body-cell-action-dialog\";\nimport { DTableBodyCellActionMenu } from \"./d-table-body-cell-action-menu\";\nimport { DTableBodyCellActionPromise } from \"./d-table-body-cell-action-promise\";\nimport { DTableBodyCellButton } from \"./d-table-body-cell-button\";\nimport { DTableBodyCellCheck } from \"./d-table-body-cell-check\";\nimport { DTableBodyCellColor } from \"./d-table-body-cell-color\";\nimport { DTableBodyCellDate } from \"./d-table-body-cell-date\";\nimport { DTableBodyCellDatetime } from \"./d-table-body-cell-datetime\";\nimport { DTableBodyCellIndex } from \"./d-table-body-cell-index\";\nimport { DTableBodyCellInputInteger } from \"./d-table-body-cell-input-integer\";\nimport { DTableBodyCellInputReal } from \"./d-table-body-cell-input-real\";\nimport { DTableBodyCellInputText } from \"./d-table-body-cell-input-text\";\nimport { DTableBodyCellInputTree } from \"./d-table-body-cell-input-tree\";\nimport { DTableBodyCellLink } from \"./d-table-body-cell-link\";\nimport { DTableBodyCellOptions } from \"./d-table-body-cell-options\";\nimport { DTableBodyCellSelectDialog } from \"./d-table-body-cell-select-dialog\";\nimport { DTableBodyCellSelectMenu } from \"./d-table-body-cell-select-menu\";\nimport { DTableBodyCellSelectMultiple } from \"./d-table-body-cell-select-multiple\";\nimport { DTableBodyCellSelectPromise } from \"./d-table-body-cell-select-promise\";\nimport { DTableBodyCellText } from \"./d-table-body-cell-text\";\nimport { DTableBodyCellTime } from \"./d-table-body-cell-time\";\nimport { DTableBodyCellTree } from \"./d-table-body-cell-tree\";\nimport { DTableColumn } from \"./d-table-column\";\nimport { DTableColumnType } from \"./d-table-column-type\";\nimport { DTableDataSelectionType } from \"./d-table-data-selection\";\nimport { DTableRow, DTableRowOptions, DThemeTableRow } from \"./d-table-row\";\nimport { DTableState } from \"./d-table-state\";\nimport { toMerged } from \"./util/to-merged\";\n\nexport interface DTableBodyRowSelectionOptions {\n\ttype?: DTableDataSelectionType;\n}\n\nexport interface DTableBodyRowOptions<ROW, THEME extends DThemeTableBodyRow = DThemeTableBodyRow>\n\textends DTableRowOptions<ROW, DTableColumn<ROW, unknown>, THEME> {\n\theight?: number;\n\tcell?: DTableBodyCellOptions<ROW>;\n\tselection?: DTableBodyRowSelectionOptions;\n}\n\nexport interface DThemeTableBodyRow extends DThemeTableRow {}\n\nexport type DTableBodyRowOnChange<ROW, VALUE, EMITTER = any> = (\n\tnewValue: VALUE,\n\toldValue: VALUE,\n\trow: ROW,\n\trowIndex: number,\n\tcolumnIndex: number,\n\temitter: EMITTER\n) => void;\n\nexport class DTableBodyRow<\n\tROW,\n\tTHEME extends DThemeTableBodyRow = DThemeTableBodyRow,\n\tOPTIONS extends DTableBodyRowOptions<ROW, THEME> = DTableBodyRowOptions<ROW, THEME>\n> extends DTableRow<ROW, DTableColumn<ROW, unknown>, THEME, OPTIONS> {\n\tprotected _value?: ROW;\n\tprotected _index: number;\n\tprotected _onCellChangeBound: DTableBodyCellOnChange<ROW, unknown>;\n\tprotected _columnIndexToCellOptions: Map<number, DTableBodyCellOptions<ROW>>;\n\n\tconstructor(\n\t\tonChange: DTableBodyRowOnChange<ROW, unknown>,\n\t\tisEven: boolean,\n\t\tcolumnIndexToCellOptions: Map<number, DTableBodyCellOptions<ROW>>,\n\t\toptions: OPTIONS\n\t) {\n\t\tsuper(options);\n\n\t\tthis._index = -1;\n\t\tthis._onCellChangeBound = (newValue, oldValue, row, rowIndex, columnIndex): void => {\n\t\t\tthis.emit(\"change\", newValue, oldValue, row, rowIndex, columnIndex, this);\n\t\t\tonChange(newValue, oldValue, row, rowIndex, columnIndex, this);\n\t\t};\n\t\tthis._columnIndexToCellOptions = columnIndexToCellOptions;\n\t\tthis.state.isAlternated = !isEven;\n\t\tthis.initCells(options, this._columns, this._frozen);\n\t}\n\n\tprotected newCell(\n\t\tcolumnIndex: number,\n\t\tcolumn: DTableColumn<ROW, unknown>,\n\t\tcolumns: Array<DTableColumn<ROW, unknown>>,\n\t\toptions: OPTIONS\n\t): DBase {\n\t\tconst onChange = this._onCellChangeBound;\n\t\tconst columnIndexToCellOptions = this._columnIndexToCellOptions;\n\t\tlet cellOptions = columnIndexToCellOptions.get(columnIndex);\n\t\tif (cellOptions == null) {\n\t\t\tcellOptions = this.toCellOptions(columnIndex, column, options);\n\t\t\tcolumnIndexToCellOptions.set(columnIndex, cellOptions);\n\t\t}\n\t\tif (column.editing.enable !== false) {\n\t\t\treturn this.newCellEditable(columnIndex, column, onChange, cellOptions);\n\t\t} else {\n\t\t\tconst cell = this.newCellUnediable(columnIndex, column, onChange, cellOptions);\n\t\t\tif (column.type !== DTableColumnType.TREE) {\n\t\t\t\tcell.state.isReadOnly = true;\n\t\t\t}\n\t\t\treturn cell;\n\t\t}\n\t}\n\n\tprotected newCellEditable(\n\t\tcolumnIndex: number,\n\t\tcolumn: DTableColumn<ROW, any>,\n\t\tonChange: DTableBodyCellOnChange<ROW, unknown>,\n\t\toptions: any\n\t): DBase {\n\t\tswitch (column.type) {\n\t\t\tcase DTableColumnType.INDEX:\n\t\t\t\treturn new DTableBodyCellIndex(columnIndex, column, onChange, options);\n\t\t\tcase DTableColumnType.TEXT:\n\t\t\t\treturn new DTableBodyCellInputText(columnIndex, column, onChange, options);\n\t\t\tcase DTableColumnType.TREE:\n\t\t\t\treturn new DTableBodyCellInputTree(columnIndex, column, onChange, options);\n\t\t\tcase DTableColumnType.INTEGER:\n\t\t\t\treturn new DTableBodyCellInputInteger(columnIndex, column, onChange, options);\n\t\t\tcase DTableColumnType.REAL:\n\t\t\t\treturn new DTableBodyCellInputReal(columnIndex, column, onChange, options);\n\t\t\tcase DTableColumnType.CHECK:\n\t\t\tcase DTableColumnType.CHECK_SINGLE:\n\t\t\t\treturn new DTableBodyCellCheck(columnIndex, column, onChange, options);\n\t\t\tcase DTableColumnType.COLOR:\n\t\t\t\treturn new DTableBodyCellColor(columnIndex, column, onChange, options);\n\t\t\tcase DTableColumnType.BUTTON:\n\t\t\t\treturn new DTableBodyCellButton(columnIndex, column, onChange, options);\n\t\t\tcase DTableColumnType.LINK:\n\t\t\t\treturn new DTableBodyCellLink(columnIndex, column, onChange, options);\n\t\t\tcase DTableColumnType.SELECT:\n\t\t\t\treturn this.newCellSelect(columnIndex, column, onChange, options);\n\t\t\tcase DTableColumnType.ACTION:\n\t\t\t\treturn this.newCellAction(columnIndex, column, onChange, options);\n\t\t\tcase DTableColumnType.DATE:\n\t\t\t\treturn new DTableBodyCellDate(columnIndex, column, onChange, options);\n\t\t\tcase DTableColumnType.DATETIME:\n\t\t\t\treturn new DTableBodyCellDatetime(columnIndex, column, onChange, options);\n\t\t\tcase DTableColumnType.TIME:\n\t\t\t\treturn new DTableBodyCellTime(columnIndex, column, onChange, options);\n\t\t\tdefault:\n\t\t\t\treturn new DTableBodyCellText(columnIndex, column, onChange, options);\n\t\t}\n\t}\n\n\tprotected newCellUnediable(\n\t\tcolumnIndex: number,\n\t\tcolumn: DTableColumn<ROW, any>,\n\t\tonChange: DTableBodyCellOnChange<ROW, unknown>,\n\t\toptions: any\n\t): DBase {\n\t\tswitch (column.type) {\n\t\t\tcase DTableColumnType.INDEX:\n\t\t\t\treturn new DTableBodyCellIndex(columnIndex, column, onChange, options);\n\t\t\tcase DTableColumnType.TEXT:\n\t\t\t\treturn new DTableBodyCellText(columnIndex, column, onChange, options);\n\t\t\tcase DTableColumnType.TREE:\n\t\t\t\treturn new DTableBodyCellTree(columnIndex, column, onChange, options);\n\t\t\tcase DTableColumnType.INTEGER:\n\t\t\t\treturn new DTableBodyCellText(columnIndex, column, onChange, options);\n\t\t\tcase DTableColumnType.REAL:\n\t\t\t\treturn new DTableBodyCellText(columnIndex, column, onChange, options);\n\t\t\tcase DTableColumnType.CHECK:\n\t\t\tcase DTableColumnType.CHECK_SINGLE:\n\t\t\t\treturn new DTableBodyCellCheck(columnIndex, column, onChange, options);\n\t\t\tcase DTableColumnType.COLOR:\n\t\t\t\treturn new DTableBodyCellColor(columnIndex, column, onChange, options);\n\t\t\tcase DTableColumnType.BUTTON:\n\t\t\t\treturn new DTableBodyCellButton(columnIndex, column, onChange, options);\n\t\t\tcase DTableColumnType.LINK:\n\t\t\t\treturn new DTableBodyCellLink(columnIndex, column, onChange, options);\n\t\t\tcase DTableColumnType.SELECT:\n\t\t\t\treturn this.newCellSelect(columnIndex, column, onChange, options);\n\t\t\tcase DTableColumnType.ACTION:\n\t\t\t\treturn this.newCellAction(columnIndex, column, onChange, options);\n\t\t\tcase DTableColumnType.DATE:\n\t\t\t\treturn new DTableBodyCellDate(columnIndex, column, onChange, options);\n\t\t\tcase DTableColumnType.DATETIME:\n\t\t\t\treturn new DTableBodyCellDatetime(columnIndex, column, onChange, options);\n\t\t\tcase DTableColumnType.TIME:\n\t\t\t\treturn new DTableBodyCellTime(columnIndex, column, onChange, options);\n\t\t\tdefault:\n\t\t\t\treturn new DTableBodyCellText(columnIndex, column, onChange, options);\n\t\t}\n\t}\n\n\tprotected newCellSelect(\n\t\tcolumnIndex: number,\n\t\tcolumn: DTableColumn<ROW, any>,\n\t\tonChange: DTableBodyCellOnChange<ROW, unknown>,\n\t\toptions: any\n\t): DBase {\n\t\tconst selecting = column.selecting;\n\t\tif (selecting.menu != null) {\n\t\t\treturn new DTableBodyCellSelectMenu(columnIndex, column, onChange, options);\n\t\t} else if (selecting.multiple != null) {\n\t\t\treturn new DTableBodyCellSelectMultiple(columnIndex, column, onChange, options);\n\t\t} else if (selecting.dialog != null) {\n\t\t\treturn new DTableBodyCellSelectDialog(columnIndex, column, onChange, options);\n\t\t} else if (selecting.promise != null) {\n\t\t\treturn new DTableBodyCellSelectPromise(columnIndex, column, onChange, options);\n\t\t} else {\n\t\t\treturn new DTableBodyCellText(columnIndex, column, onChange, options);\n\t\t}\n\t}\n\n\tprotected newCellAction(\n\t\tcolumnIndex: number,\n\t\tcolumn: DTableColumn<ROW, any>,\n\t\tonChange: DTableBodyCellOnChange<ROW, unknown>,\n\t\toptions: any\n\t): DBase {\n\t\tconst selecting = column.selecting;\n\t\tif (selecting.menu != null) {\n\t\t\treturn new DTableBodyCellActionMenu(columnIndex, column, onChange, options);\n\t\t} else if (selecting.dialog != null) {\n\t\t\treturn new DTableBodyCellActionDialog(columnIndex, column, onChange, options);\n\t\t} else if (selecting.promise != null) {\n\t\t\treturn new DTableBodyCellActionPromise(columnIndex, column, onChange, options);\n\t\t} else {\n\t\t\treturn new DTableBodyCellText(columnIndex, column, onChange, options);\n\t\t}\n\t}\n\n\tprotected toCellOptions(\n\t\tcolumnIndex: number,\n\t\tcolumn: DTableColumn<ROW, unknown>,\n\t\toptions: OPTIONS\n\t): DTableBodyCellOptions<ROW> {\n\t\tconst result = toMerged(column.body, options.cell);\n\n\t\t// Weight\n\t\tresult.weight = column.weight;\n\n\t\t// Width\n\t\tresult.width = column.width;\n\n\t\t// State\n\t\tresult.state ??= column.state.initial;\n\n\t\t// Text formatter\n\t\tconst columnFormatter = column.formatter;\n\t\tif (columnFormatter != null) {\n\t\t\tconst text = (result.text ??= {});\n\t\t\ttext.formatter ??= columnFormatter;\n\t\t}\n\n\t\t// Text align horizontal\n\t\tconst columnAlign = column.align;\n\t\tif (columnAlign != null) {\n\t\t\tconst text = (result.text ??= {});\n\t\t\tconst textAlign = (text.align ??= {});\n\t\t\ttextAlign.horizontal ??= columnAlign;\n\t\t}\n\n\t\t// Editing\n\t\tconst columnEditing = column.editing;\n\t\tif (columnEditing.enable !== false) {\n\t\t\tconst editing = ((result as any).editing ??= {});\n\t\t\tediting.formatter ??= columnEditing.formatter;\n\t\t\tediting.unformatter ??= columnEditing.unformatter;\n\t\t\tediting.validator ??= columnEditing.validator;\n\t\t}\n\n\t\t// Link\n\t\tconst columnLink = column.link;\n\t\tif (columnLink !== undefined) {\n\t\t\t(result as any).link = columnLink;\n\t\t}\n\n\t\t// Selecting\n\t\tconst columnSelecting = column.selecting;\n\t\tconst columnSelectingMenu = columnSelecting.menu ?? columnSelecting.multiple;\n\t\tif (columnSelectingMenu !== undefined) {\n\t\t\t(result as any).menu = columnSelectingMenu;\n\t\t}\n\n\t\tconst selectionType = options?.selection?.type ?? DTableDataSelectionType.NONE;\n\t\tif (selectionType !== DTableDataSelectionType.NONE) {\n\t\t\t(result as any).when = \"DOUBLE_CLICKED\";\n\t\t\tresult.cursor = (state: DBaseStateSet): string | undefined => {\n\t\t\t\tif (state.in(DTableState.SELECTABLE)) {\n\t\t\t\t\treturn \"pointer\";\n\t\t\t\t}\n\t\t\t\treturn undefined;\n\t\t\t};\n\t\t}\n\n\t\treturn result;\n\t}\n\n\tprotected getType(): string {\n\t\treturn \"DTableBodyRow\";\n\t}\n\n\t/**\n\t * Returns a row data if exists.\n\t * Returns undefined if a row data does not exit.\n\t *\n\t * @returns a row data or undefined.\n\t */\n\tget value(): ROW | undefined {\n\t\treturn this._value;\n\t}\n\n\t/**\n\t * Returns a row index if a row data exists.\n\t * Returns -1 if a row data does not exit.\n\t *\n\t * @returns a row index or -1.\n\t */\n\tget index(): number {\n\t\treturn this._index;\n\t}\n\n\tprotected isCell(target: any): target is DTableBodyCell<unknown, unknown> {\n\t\treturn target != null && \"set\" in target;\n\t}\n\n\tset(value: ROW, supplimental: unknown, rowIndex: number, forcibly?: boolean): void {\n\t\tif (forcibly || this._value !== value || this._index !== rowIndex) {\n\t\t\tthis._value = value;\n\t\t\tthis._index = rowIndex;\n\n\t\t\tconst cells = this.children;\n\t\t\tconst cellsLength = cells.length;\n\t\t\tconst columns = this._columns;\n\t\t\tconst columnsLength = columns.length;\n\t\t\tfor (let i = 0; i < cellsLength; ++i) {\n\t\t\t\tconst cell = cells[i];\n\t\t\t\tconst columnIndex = columnsLength - 1 - i;\n\t\t\t\tconst column = columns[columnIndex];\n\t\t\t\tif (this.isCell(cell)) {\n\t\t\t\t\tcell.set(\n\t\t\t\t\t\tcolumn.getter(value, columnIndex),\n\t\t\t\t\t\tvalue,\n\t\t\t\t\t\tsupplimental,\n\t\t\t\t\t\trowIndex,\n\t\t\t\t\t\tcolumnIndex,\n\t\t\t\t\t\tforcibly\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tthis.onSet(value, rowIndex);\n\t\t}\n\t}\n\n\tprotected onSet(value: ROW, rowIndex: number): void {\n\t\tthis.emit(\"set\", value, rowIndex, this);\n\t}\n\n\tunset(): void {\n\t\tif (this._value !== undefined) {\n\t\t\tthis._value = undefined;\n\t\t\tthis._index = -1;\n\n\t\t\tconst cells = this.children;\n\t\t\tconst cellsLength = cells.length;\n\t\t\tfor (let i = 0; i < cellsLength; ++i) {\n\t\t\t\tconst cell = cells[i];\n\t\t\t\tif (this.isCell(cell)) {\n\t\t\t\t\tcell.unset();\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tthis.onUnset();\n\t\t}\n\t}\n\n\tprotected onUnset(): void {\n\t\tthis.emit(\"unset\", this);\n\t}\n\n\tprotected getContentPositionX(): number {\n\t\tconst parent = this.parent;\n\t\tif (parent) {\n\t\t\tconst content = parent.parent;\n\t\t\tif (content) {\n\t\t\t\treturn content.position.x;\n\t\t\t}\n\t\t}\n\t\treturn 0;\n\t}\n}\n"]}
1
+ {"version":3,"file":"d-table-body-row.js","sourceRoot":"","sources":["../../../src/main/typescript/wcardinal/ui/d-table-body-row.ts"],"names":[],"mappings":"AAAA;;;GAGG;;AAKH,OAAO,EAAE,0BAA0B,EAAE,MAAM,mCAAmC,CAAC;AAC/E,OAAO,EAAE,wBAAwB,EAAE,MAAM,iCAAiC,CAAC;AAC3E,OAAO,EAAE,2BAA2B,EAAE,MAAM,oCAAoC,CAAC;AACjF,OAAO,EAAE,oBAAoB,EAAE,MAAM,4BAA4B,CAAC;AAClE,OAAO,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AAChE,OAAO,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AAChE,OAAO,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAC9D,OAAO,EAAE,sBAAsB,EAAE,MAAM,8BAA8B,CAAC;AACtE,OAAO,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AAChE,OAAO,EAAE,0BAA0B,EAAE,MAAM,mCAAmC,CAAC;AAC/E,OAAO,EAAE,uBAAuB,EAAE,MAAM,gCAAgC,CAAC;AACzE,OAAO,EAAE,uBAAuB,EAAE,MAAM,gCAAgC,CAAC;AACzE,OAAO,EAAE,2BAA2B,EAAE,MAAM,qCAAqC,CAAC;AAClF,OAAO,EAAE,uBAAuB,EAAE,MAAM,gCAAgC,CAAC;AACzE,OAAO,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAE9D,OAAO,EAAE,0BAA0B,EAAE,MAAM,mCAAmC,CAAC;AAC/E,OAAO,EAAE,wBAAwB,EAAE,MAAM,iCAAiC,CAAC;AAC3E,OAAO,EAAE,4BAA4B,EAAE,MAAM,qCAAqC,CAAC;AACnF,OAAO,EAAE,2BAA2B,EAAE,MAAM,oCAAoC,CAAC;AACjF,OAAO,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAC9D,OAAO,EAAE,sBAAsB,EAAE,MAAM,+BAA+B,CAAC;AACvE,OAAO,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAC9D,OAAO,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAE9D,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAE7D,OAAO,EAAE,uBAAuB,EAAE,MAAM,0BAA0B,CAAC;AACnE,OAAO,EAAE,SAAS,EAAoC,MAAM,eAAe,CAAC;AAC5E,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAC9C,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAyB5C;IAIU,iCAA0D;IAQnE,uBACC,QAA6C,EAC7C,MAAe,EACf,wBAAiE,EACjE,OAAgB;QAJjB,YAMC,kBAAM,OAAO,CAAC,SAiBd;QAfA,KAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QACjB,KAAI,CAAC,SAAS,GAAG,QAAQ,CAAC;QAC1B,KAAI,CAAC,kBAAkB,GAAG,UACzB,QAAQ,EACR,QAAQ,EACR,GAAG,EACH,QAAQ,EACR,WAAW,EACX,MAAM;YAEN,KAAI,CAAC,YAAY,CAAC,QAAQ,EAAE,QAAQ,EAAE,GAAG,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,CAAC,CAAC;QAC3E,CAAC,CAAC;QACF,KAAI,CAAC,yBAAyB,GAAG,wBAAwB,CAAC;QAC1D,KAAI,CAAC,KAAK,CAAC,YAAY,GAAG,CAAC,MAAM,CAAC;QAClC,KAAI,CAAC,SAAS,CAAC,OAAO,EAAE,KAAI,CAAC,QAAQ,EAAE,KAAI,CAAC,OAAO,CAAC,CAAC;;IACtD,CAAC;IAES,oCAAY,GAAtB,UACC,QAAiB,EACjB,QAAiB,EACjB,GAAQ,EACR,QAAgB,EAChB,WAAmB,EACnB,MAAkC;QAElC,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,GAAG,EAAE,QAAQ,EAAE,WAAW,EAAE,IAAI,CAAC,CAAC;QAC1E,IAAI,MAAM,CAAC,MAAM,KAAK,kBAAkB,CAAC,GAAG,EAAE;YAC7C,IAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC;YAC1B,IAAM,YAAY,GAAG,IAAI,CAAC,aAAa,CAAC;YACxC,IAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC;YAC1B,IAAI,KAAK,KAAK,SAAS,IAAI,YAAY,KAAK,SAAS,EAAE;gBACtD,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,YAAY,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC;aAC3C;SACD;QACD,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,QAAQ,EAAE,GAAG,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC;IAC9E,CAAC;IAES,+BAAO,GAAjB,UACC,WAAmB,EACnB,MAAkC,EAClC,OAA0C,EAC1C,OAAgB;QAEhB,IAAM,QAAQ,GAAG,IAAI,CAAC,kBAAkB,CAAC;QACzC,IAAM,wBAAwB,GAAG,IAAI,CAAC,yBAAyB,CAAC;QAChE,IAAI,WAAW,GAAG,wBAAwB,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;QAC5D,IAAI,WAAW,IAAI,IAAI,EAAE;YACxB,WAAW,GAAG,IAAI,CAAC,aAAa,CAAC,WAAW,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;YAC/D,wBAAwB,CAAC,GAAG,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC;SACvD;QACD,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,KAAK,KAAK,EAAE;YACpC,OAAO,IAAI,CAAC,eAAe,CAAC,WAAW,EAAE,MAAM,EAAE,QAAQ,EAAE,WAAW,CAAC,CAAC;SACxE;aAAM;YACN,IAAM,IAAI,GAAG,IAAI,CAAC,gBAAgB,CAAC,WAAW,EAAE,MAAM,EAAE,QAAQ,EAAE,WAAW,CAAC,CAAC;YAC/E,IAAI,MAAM,CAAC,IAAI,KAAK,gBAAgB,CAAC,IAAI,EAAE;gBAC1C,IAAI,CAAC,KAAK,CAAC,UAAU,GAAG,IAAI,CAAC;aAC7B;YACD,OAAO,IAAI,CAAC;SACZ;IACF,CAAC;IAES,uCAAe,GAAzB,UACC,WAAmB,EACnB,MAA8B,EAC9B,QAA0C,EAC1C,OAAY;QAEZ,QAAQ,MAAM,CAAC,IAAI,EAAE;YACpB,KAAK,gBAAgB,CAAC,KAAK;gBAC1B,OAAO,IAAI,mBAAmB,CAAC,WAAW,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC;YACxE,KAAK,gBAAgB,CAAC,IAAI;gBACzB,OAAO,IAAI,uBAAuB,CAAC,WAAW,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC;YAC5E,KAAK,gBAAgB,CAAC,SAAS;gBAC9B,OAAO,IAAI,2BAA2B,CAAC,WAAW,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC;YAChF,KAAK,gBAAgB,CAAC,IAAI;gBACzB,OAAO,IAAI,uBAAuB,CAAC,WAAW,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC;YAC5E,KAAK,gBAAgB,CAAC,OAAO;gBAC5B,OAAO,IAAI,0BAA0B,CAAC,WAAW,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC;YAC/E,KAAK,gBAAgB,CAAC,IAAI;gBACzB,OAAO,IAAI,uBAAuB,CAAC,WAAW,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC;YAC5E,KAAK,gBAAgB,CAAC,KAAK,CAAC;YAC5B,KAAK,gBAAgB,CAAC,YAAY;gBACjC,OAAO,IAAI,mBAAmB,CAAC,WAAW,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC;YACxE,KAAK,gBAAgB,CAAC,KAAK;gBAC1B,OAAO,IAAI,mBAAmB,CAAC,WAAW,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC;YACxE,KAAK,gBAAgB,CAAC,MAAM;gBAC3B,OAAO,IAAI,oBAAoB,CAAC,WAAW,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC;YACzE,KAAK,gBAAgB,CAAC,IAAI;gBACzB,OAAO,IAAI,kBAAkB,CAAC,WAAW,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC;YACvE,KAAK,gBAAgB,CAAC,MAAM;gBAC3B,OAAO,IAAI,CAAC,aAAa,CAAC,WAAW,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC;YACnE,KAAK,gBAAgB,CAAC,MAAM;gBAC3B,OAAO,IAAI,CAAC,aAAa,CAAC,WAAW,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC;YACnE,KAAK,gBAAgB,CAAC,IAAI;gBACzB,OAAO,IAAI,kBAAkB,CAAC,WAAW,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC;YACvE,KAAK,gBAAgB,CAAC,QAAQ;gBAC7B,OAAO,IAAI,sBAAsB,CAAC,WAAW,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC;YAC3E,KAAK,gBAAgB,CAAC,IAAI;gBACzB,OAAO,IAAI,kBAAkB,CAAC,WAAW,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC;YACvE;gBACC,OAAO,IAAI,kBAAkB,CAAC,WAAW,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC;SACvE;IACF,CAAC;IAES,wCAAgB,GAA1B,UACC,WAAmB,EACnB,MAA8B,EAC9B,QAA0C,EAC1C,OAAY;QAEZ,QAAQ,MAAM,CAAC,IAAI,EAAE;YACpB,KAAK,gBAAgB,CAAC,KAAK;gBAC1B,OAAO,IAAI,mBAAmB,CAAC,WAAW,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC;YACxE,KAAK,gBAAgB,CAAC,IAAI;gBACzB,OAAO,IAAI,kBAAkB,CAAC,WAAW,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC;YACvE,KAAK,gBAAgB,CAAC,SAAS;gBAC9B,OAAO,IAAI,sBAAsB,CAAC,WAAW,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC;YAC3E,KAAK,gBAAgB,CAAC,IAAI;gBACzB,OAAO,IAAI,kBAAkB,CAAC,WAAW,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC;YACvE,KAAK,gBAAgB,CAAC,OAAO;gBAC5B,OAAO,IAAI,kBAAkB,CAAC,WAAW,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC;YACvE,KAAK,gBAAgB,CAAC,IAAI;gBACzB,OAAO,IAAI,kBAAkB,CAAC,WAAW,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC;YACvE,KAAK,gBAAgB,CAAC,KAAK,CAAC;YAC5B,KAAK,gBAAgB,CAAC,YAAY;gBACjC,OAAO,IAAI,mBAAmB,CAAC,WAAW,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC;YACxE,KAAK,gBAAgB,CAAC,KAAK;gBAC1B,OAAO,IAAI,mBAAmB,CAAC,WAAW,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC;YACxE,KAAK,gBAAgB,CAAC,MAAM;gBAC3B,OAAO,IAAI,oBAAoB,CAAC,WAAW,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC;YACzE,KAAK,gBAAgB,CAAC,IAAI;gBACzB,OAAO,IAAI,kBAAkB,CAAC,WAAW,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC;YACvE,KAAK,gBAAgB,CAAC,MAAM;gBAC3B,OAAO,IAAI,CAAC,aAAa,CAAC,WAAW,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC;YACnE,KAAK,gBAAgB,CAAC,MAAM;gBAC3B,OAAO,IAAI,CAAC,aAAa,CAAC,WAAW,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC;YACnE,KAAK,gBAAgB,CAAC,IAAI;gBACzB,OAAO,IAAI,kBAAkB,CAAC,WAAW,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC;YACvE,KAAK,gBAAgB,CAAC,QAAQ;gBAC7B,OAAO,IAAI,sBAAsB,CAAC,WAAW,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC;YAC3E,KAAK,gBAAgB,CAAC,IAAI;gBACzB,OAAO,IAAI,kBAAkB,CAAC,WAAW,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC;YACvE;gBACC,OAAO,IAAI,kBAAkB,CAAC,WAAW,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC;SACvE;IACF,CAAC;IAES,qCAAa,GAAvB,UACC,WAAmB,EACnB,MAA8B,EAC9B,QAA0C,EAC1C,OAAY;QAEZ,IAAM,SAAS,GAAG,MAAM,CAAC,SAAS,CAAC;QACnC,IAAI,SAAS,CAAC,IAAI,IAAI,IAAI,EAAE;YAC3B,OAAO,IAAI,wBAAwB,CAAC,WAAW,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC;SAC5E;aAAM,IAAI,SAAS,CAAC,QAAQ,IAAI,IAAI,EAAE;YACtC,OAAO,IAAI,4BAA4B,CAAC,WAAW,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC;SAChF;aAAM,IAAI,SAAS,CAAC,MAAM,IAAI,IAAI,EAAE;YACpC,OAAO,IAAI,0BAA0B,CAAC,WAAW,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC;SAC9E;aAAM,IAAI,SAAS,CAAC,OAAO,IAAI,IAAI,EAAE;YACrC,OAAO,IAAI,2BAA2B,CAAC,WAAW,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC;SAC/E;aAAM;YACN,OAAO,IAAI,kBAAkB,CAAC,WAAW,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC;SACtE;IACF,CAAC;IAES,qCAAa,GAAvB,UACC,WAAmB,EACnB,MAA8B,EAC9B,QAA0C,EAC1C,OAAY;QAEZ,IAAM,SAAS,GAAG,MAAM,CAAC,SAAS,CAAC;QACnC,IAAI,SAAS,CAAC,IAAI,IAAI,IAAI,EAAE;YAC3B,OAAO,IAAI,wBAAwB,CAAC,WAAW,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC;SAC5E;aAAM,IAAI,SAAS,CAAC,MAAM,IAAI,IAAI,EAAE;YACpC,OAAO,IAAI,0BAA0B,CAAC,WAAW,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC;SAC9E;aAAM,IAAI,SAAS,CAAC,OAAO,IAAI,IAAI,EAAE;YACrC,OAAO,IAAI,2BAA2B,CAAC,WAAW,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC;SAC/E;aAAM;YACN,OAAO,IAAI,kBAAkB,CAAC,WAAW,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC;SACtE;IACF,CAAC;IAES,qCAAa,GAAvB,UACC,WAAmB,EACnB,MAAkC,EAClC,OAAgB;;;QAEhB,IAAM,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;QAEnD,SAAS;QACT,MAAM,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC;QAE9B,QAAQ;QACR,MAAM,CAAC,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC;QAE5B,QAAQ;QACR,MAAA,MAAM,CAAC,KAAK,oCAAZ,MAAM,CAAC,KAAK,GAAK,MAAM,CAAC,KAAK,CAAC,OAAO,EAAC;QAEtC,iBAAiB;QACjB,IAAM,eAAe,GAAG,MAAM,CAAC,SAAS,CAAC;QACzC,IAAI,eAAe,IAAI,IAAI,EAAE;YAC5B,IAAM,IAAI,GAAG,OAAC,MAAM,CAAC,IAAI,oCAAX,MAAM,CAAC,IAAI,GAAK,EAAE,EAAC,CAAC;YAClC,MAAA,IAAI,CAAC,SAAS,oCAAd,IAAI,CAAC,SAAS,GAAK,eAAe,EAAC;SACnC;QAED,wBAAwB;QACxB,IAAM,WAAW,GAAG,MAAM,CAAC,KAAK,CAAC;QACjC,IAAI,WAAW,IAAI,IAAI,EAAE;YACxB,IAAM,IAAI,GAAG,OAAC,MAAM,CAAC,IAAI,oCAAX,MAAM,CAAC,IAAI,GAAK,EAAE,EAAC,CAAC;YAClC,IAAM,SAAS,GAAG,OAAC,IAAI,CAAC,KAAK,oCAAV,IAAI,CAAC,KAAK,GAAK,EAAE,EAAC,CAAC;YACtC,MAAA,SAAS,CAAC,UAAU,oCAApB,SAAS,CAAC,UAAU,GAAK,WAAW,EAAC;SACrC;QAED,UAAU;QACV,IAAM,aAAa,GAAG,MAAM,CAAC,OAAO,CAAC;QACrC,IAAI,aAAa,CAAC,MAAM,KAAK,KAAK,EAAE;YACnC,IAAM,OAAO,GAAG,aAAE,MAAc,EAAC,OAAO,uCAAP,OAAO,GAAK,EAAE,EAAC,CAAC;YACjD,MAAA,OAAO,CAAC,SAAS,oCAAjB,OAAO,CAAC,SAAS,GAAK,aAAa,CAAC,SAAS,EAAC;YAC9C,MAAA,OAAO,CAAC,WAAW,oCAAnB,OAAO,CAAC,WAAW,GAAK,aAAa,CAAC,WAAW,EAAC;YAClD,MAAA,OAAO,CAAC,SAAS,oCAAjB,OAAO,CAAC,SAAS,GAAK,aAAa,CAAC,SAAS,EAAC;SAC9C;QAED,OAAO;QACP,IAAM,UAAU,GAAG,MAAM,CAAC,IAAI,CAAC;QAC/B,IAAI,UAAU,KAAK,SAAS,EAAE;YAC5B,MAAc,CAAC,IAAI,GAAG,UAAU,CAAC;SAClC;QAED,YAAY;QACZ,IAAM,eAAe,GAAG,MAAM,CAAC,SAAS,CAAC;QACzC,IAAM,mBAAmB,GAAG,MAAA,eAAe,CAAC,IAAI,mCAAI,eAAe,CAAC,QAAQ,CAAC;QAC7E,IAAI,mBAAmB,KAAK,SAAS,EAAE;YACrC,MAAc,CAAC,IAAI,GAAG,mBAAmB,CAAC;SAC3C;QAED,IAAM,aAAa,GAAG,MAAA,MAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,SAAS,0CAAE,IAAI,mCAAI,uBAAuB,CAAC,IAAI,CAAC;QAC/E,IAAI,aAAa,KAAK,uBAAuB,CAAC,IAAI,EAAE;YAClD,MAAc,CAAC,IAAI,GAAG,gBAAgB,CAAC;YACxC,MAAM,CAAC,MAAM,GAAG,UAAC,KAAoB;gBACpC,IAAI,KAAK,CAAC,EAAE,CAAC,WAAW,CAAC,UAAU,CAAC,EAAE;oBACrC,OAAO,SAAS,CAAC;iBACjB;gBACD,OAAO,SAAS,CAAC;YAClB,CAAC,CAAC;SACF;QAED,OAAO,MAAM,CAAC;IACf,CAAC;IAES,+BAAO,GAAjB;QACC,OAAO,eAAe,CAAC;IACxB,CAAC;IAQD,sBAAI,gCAAK;QANT;;;;;WAKG;aACH;YACC,OAAO,IAAI,CAAC,MAAM,CAAC;QACpB,CAAC;;;OAAA;IAQD,sBAAI,gCAAK;QANT;;;;;WAKG;aACH;YACC,OAAO,IAAI,CAAC,MAAM,CAAC;QACpB,CAAC;;;OAAA;IAES,8BAAM,GAAhB,UAAiB,MAAW;QAC3B,OAAO,MAAM,IAAI,IAAI,IAAI,KAAK,IAAI,MAAM,CAAC;IAC1C,CAAC;IAED,2BAAG,GAAH,UACC,KAAU,EACV,YAA2C,EAC3C,QAAgB,EAChB,QAAkB;QAElB,IACC,QAAQ;YACR,IAAI,CAAC,MAAM,KAAK,KAAK;YACrB,IAAI,CAAC,aAAa,KAAK,YAAY;YACnC,IAAI,CAAC,MAAM,KAAK,QAAQ,EACvB;YACD,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;YACpB,IAAI,CAAC,aAAa,GAAG,YAAY,CAAC;YAClC,IAAI,CAAC,MAAM,GAAG,QAAQ,CAAC;YAEvB,IAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC;YAC5B,IAAM,WAAW,GAAG,KAAK,CAAC,MAAM,CAAC;YACjC,IAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC;YAC9B,IAAM,aAAa,GAAG,OAAO,CAAC,MAAM,CAAC;YACrC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,WAAW,EAAE,EAAE,CAAC,EAAE;gBACrC,IAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;gBACtB,IAAM,WAAW,GAAG,aAAa,GAAG,CAAC,GAAG,CAAC,CAAC;gBAC1C,IAAM,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC;gBACpC,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE;oBACtB,IAAI,CAAC,GAAG,CACP,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,WAAW,CAAC,EACjC,KAAK,EACL,YAAY,EACZ,QAAQ,EACR,WAAW,EACX,QAAQ,CACR,CAAC;iBACF;aACD;YAED,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;SAC5B;IACF,CAAC;IAES,6BAAK,GAAf,UAAgB,KAAU,EAAE,QAAgB;QAC3C,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,IAAI,CAAC,CAAC;IACzC,CAAC;IAED,6BAAK,GAAL;QACC,IAAI,IAAI,CAAC,MAAM,KAAK,SAAS,EAAE;YAC9B,IAAI,CAAC,MAAM,GAAG,SAAS,CAAC;YACxB,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;YAEjB,IAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC;YAC5B,IAAM,WAAW,GAAG,KAAK,CAAC,MAAM,CAAC;YACjC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,WAAW,EAAE,EAAE,CAAC,EAAE;gBACrC,IAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;gBACtB,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE;oBACtB,IAAI,CAAC,KAAK,EAAE,CAAC;iBACb;aACD;YAED,IAAI,CAAC,OAAO,EAAE,CAAC;SACf;IACF,CAAC;IAES,+BAAO,GAAjB;QACC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;IAC1B,CAAC;IAES,2CAAmB,GAA7B;QACC,IAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;QAC3B,IAAI,MAAM,EAAE;YACX,IAAM,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC;YAC9B,IAAI,OAAO,EAAE;gBACZ,OAAO,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC;aAC1B;SACD;QACD,OAAO,CAAC,CAAC;IACV,CAAC;IACF,oBAAC;AAAD,CAAC,AAxXD,CAIU,SAAS,GAoXlB","sourcesContent":["/*\n * Copyright (C) 2019 Toshiba Corporation\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport { DBase } from \"./d-base\";\nimport { DBaseStateSet } from \"./d-base-state-set\";\nimport { DTableBodyCell, DTableBodyCellOnChange } from \"./d-table-body-cell\";\nimport { DTableBodyCellActionDialog } from \"./d-table-body-cell-action-dialog\";\nimport { DTableBodyCellActionMenu } from \"./d-table-body-cell-action-menu\";\nimport { DTableBodyCellActionPromise } from \"./d-table-body-cell-action-promise\";\nimport { DTableBodyCellButton } from \"./d-table-body-cell-button\";\nimport { DTableBodyCellCheck } from \"./d-table-body-cell-check\";\nimport { DTableBodyCellColor } from \"./d-table-body-cell-color\";\nimport { DTableBodyCellDate } from \"./d-table-body-cell-date\";\nimport { DTableBodyCellDatetime } from \"./d-table-body-cell-datetime\";\nimport { DTableBodyCellIndex } from \"./d-table-body-cell-index\";\nimport { DTableBodyCellInputInteger } from \"./d-table-body-cell-input-integer\";\nimport { DTableBodyCellInputReal } from \"./d-table-body-cell-input-real\";\nimport { DTableBodyCellInputText } from \"./d-table-body-cell-input-text\";\nimport { DTableBodyCellInputTextArea } from \"./d-table-body-cell-input-text-area\";\nimport { DTableBodyCellInputTree } from \"./d-table-body-cell-input-tree\";\nimport { DTableBodyCellLink } from \"./d-table-body-cell-link\";\nimport { DTableBodyCellOptions } from \"./d-table-body-cell-options\";\nimport { DTableBodyCellSelectDialog } from \"./d-table-body-cell-select-dialog\";\nimport { DTableBodyCellSelectMenu } from \"./d-table-body-cell-select-menu\";\nimport { DTableBodyCellSelectMultiple } from \"./d-table-body-cell-select-multiple\";\nimport { DTableBodyCellSelectPromise } from \"./d-table-body-cell-select-promise\";\nimport { DTableBodyCellText } from \"./d-table-body-cell-text\";\nimport { DTableBodyCellTextArea } from \"./d-table-body-cell-text-area\";\nimport { DTableBodyCellTime } from \"./d-table-body-cell-time\";\nimport { DTableBodyCellTree } from \"./d-table-body-cell-tree\";\nimport { DTableColumn } from \"./d-table-column\";\nimport { DTableColumnType } from \"./d-table-column-type\";\nimport { DTableColumnUpdate } from \"./d-table-column-update\";\nimport { DTableDataSupplimental } from \"./d-table-data\";\nimport { DTableDataSelectionType } from \"./d-table-data-selection\";\nimport { DTableRow, DTableRowOptions, DThemeTableRow } from \"./d-table-row\";\nimport { DTableState } from \"./d-table-state\";\nimport { toMerged } from \"./util/to-merged\";\n\nexport interface DTableBodyRowSelectionOptions {\n\ttype?: DTableDataSelectionType;\n}\n\nexport interface DTableBodyRowOptions<ROW, THEME extends DThemeTableBodyRow = DThemeTableBodyRow>\n\textends DTableRowOptions<ROW, DTableColumn<ROW, unknown>, THEME> {\n\theight?: number;\n\tcell?: DTableBodyCellOptions<ROW>;\n\tselection?: DTableBodyRowSelectionOptions;\n}\n\nexport interface DThemeTableBodyRow extends DThemeTableRow {}\n\nexport type DTableBodyRowOnChange<ROW, VALUE, EMITTER = any> = (\n\tnewValue: VALUE,\n\toldValue: VALUE,\n\trow: ROW,\n\trowIndex: number,\n\tcolumnIndex: number,\n\tcolumn: DTableColumn<ROW, VALUE>,\n\temitter: EMITTER\n) => void;\n\nexport class DTableBodyRow<\n\tROW,\n\tTHEME extends DThemeTableBodyRow = DThemeTableBodyRow,\n\tOPTIONS extends DTableBodyRowOptions<ROW, THEME> = DTableBodyRowOptions<ROW, THEME>\n> extends DTableRow<ROW, DTableColumn<ROW, unknown>, THEME, OPTIONS> {\n\tprotected _value?: ROW;\n\tprotected _supplimental?: DTableDataSupplimental | null;\n\tprotected _index: number;\n\tprotected _onChange: DTableBodyRowOnChange<ROW, unknown>;\n\tprotected _onCellChangeBound: DTableBodyCellOnChange<ROW, any>;\n\tprotected _columnIndexToCellOptions: Map<number, DTableBodyCellOptions<ROW>>;\n\n\tconstructor(\n\t\tonChange: DTableBodyRowOnChange<ROW, unknown>,\n\t\tisEven: boolean,\n\t\tcolumnIndexToCellOptions: Map<number, DTableBodyCellOptions<ROW>>,\n\t\toptions: OPTIONS\n\t) {\n\t\tsuper(options);\n\n\t\tthis._index = -1;\n\t\tthis._onChange = onChange;\n\t\tthis._onCellChangeBound = (\n\t\t\tnewValue,\n\t\t\toldValue,\n\t\t\trow,\n\t\t\trowIndex,\n\t\t\tcolumnIndex,\n\t\t\tcolumn\n\t\t): void => {\n\t\t\tthis.onCellChange(newValue, oldValue, row, rowIndex, columnIndex, column);\n\t\t};\n\t\tthis._columnIndexToCellOptions = columnIndexToCellOptions;\n\t\tthis.state.isAlternated = !isEven;\n\t\tthis.initCells(options, this._columns, this._frozen);\n\t}\n\n\tprotected onCellChange(\n\t\tnewValue: unknown,\n\t\toldValue: unknown,\n\t\trow: ROW,\n\t\trowIndex: number,\n\t\tcolumnIndex: number,\n\t\tcolumn: DTableColumn<ROW, unknown>\n\t): void {\n\t\tthis.emit(\"change\", newValue, oldValue, row, rowIndex, columnIndex, this);\n\t\tif (column.update === DTableColumnUpdate.ROW) {\n\t\t\tconst value = this._value;\n\t\t\tconst supplimental = this._supplimental;\n\t\t\tconst index = this._index;\n\t\t\tif (value !== undefined && supplimental !== undefined) {\n\t\t\t\tthis.set(value, supplimental, index, true);\n\t\t\t}\n\t\t}\n\t\tthis._onChange(newValue, oldValue, row, rowIndex, columnIndex, column, this);\n\t}\n\n\tprotected newCell(\n\t\tcolumnIndex: number,\n\t\tcolumn: DTableColumn<ROW, unknown>,\n\t\tcolumns: Array<DTableColumn<ROW, unknown>>,\n\t\toptions: OPTIONS\n\t): DBase {\n\t\tconst onChange = this._onCellChangeBound;\n\t\tconst columnIndexToCellOptions = this._columnIndexToCellOptions;\n\t\tlet cellOptions = columnIndexToCellOptions.get(columnIndex);\n\t\tif (cellOptions == null) {\n\t\t\tcellOptions = this.toCellOptions(columnIndex, column, options);\n\t\t\tcolumnIndexToCellOptions.set(columnIndex, cellOptions);\n\t\t}\n\t\tif (column.editing.enable !== false) {\n\t\t\treturn this.newCellEditable(columnIndex, column, onChange, cellOptions);\n\t\t} else {\n\t\t\tconst cell = this.newCellUnediable(columnIndex, column, onChange, cellOptions);\n\t\t\tif (column.type !== DTableColumnType.TREE) {\n\t\t\t\tcell.state.isReadOnly = true;\n\t\t\t}\n\t\t\treturn cell;\n\t\t}\n\t}\n\n\tprotected newCellEditable(\n\t\tcolumnIndex: number,\n\t\tcolumn: DTableColumn<ROW, any>,\n\t\tonChange: DTableBodyCellOnChange<ROW, any>,\n\t\toptions: any\n\t): DBase {\n\t\tswitch (column.type) {\n\t\t\tcase DTableColumnType.INDEX:\n\t\t\t\treturn new DTableBodyCellIndex(columnIndex, column, onChange, options);\n\t\t\tcase DTableColumnType.TEXT:\n\t\t\t\treturn new DTableBodyCellInputText(columnIndex, column, onChange, options);\n\t\t\tcase DTableColumnType.TEXT_AREA:\n\t\t\t\treturn new DTableBodyCellInputTextArea(columnIndex, column, onChange, options);\n\t\t\tcase DTableColumnType.TREE:\n\t\t\t\treturn new DTableBodyCellInputTree(columnIndex, column, onChange, options);\n\t\t\tcase DTableColumnType.INTEGER:\n\t\t\t\treturn new DTableBodyCellInputInteger(columnIndex, column, onChange, options);\n\t\t\tcase DTableColumnType.REAL:\n\t\t\t\treturn new DTableBodyCellInputReal(columnIndex, column, onChange, options);\n\t\t\tcase DTableColumnType.CHECK:\n\t\t\tcase DTableColumnType.CHECK_SINGLE:\n\t\t\t\treturn new DTableBodyCellCheck(columnIndex, column, onChange, options);\n\t\t\tcase DTableColumnType.COLOR:\n\t\t\t\treturn new DTableBodyCellColor(columnIndex, column, onChange, options);\n\t\t\tcase DTableColumnType.BUTTON:\n\t\t\t\treturn new DTableBodyCellButton(columnIndex, column, onChange, options);\n\t\t\tcase DTableColumnType.LINK:\n\t\t\t\treturn new DTableBodyCellLink(columnIndex, column, onChange, options);\n\t\t\tcase DTableColumnType.SELECT:\n\t\t\t\treturn this.newCellSelect(columnIndex, column, onChange, options);\n\t\t\tcase DTableColumnType.ACTION:\n\t\t\t\treturn this.newCellAction(columnIndex, column, onChange, options);\n\t\t\tcase DTableColumnType.DATE:\n\t\t\t\treturn new DTableBodyCellDate(columnIndex, column, onChange, options);\n\t\t\tcase DTableColumnType.DATETIME:\n\t\t\t\treturn new DTableBodyCellDatetime(columnIndex, column, onChange, options);\n\t\t\tcase DTableColumnType.TIME:\n\t\t\t\treturn new DTableBodyCellTime(columnIndex, column, onChange, options);\n\t\t\tdefault:\n\t\t\t\treturn new DTableBodyCellText(columnIndex, column, onChange, options);\n\t\t}\n\t}\n\n\tprotected newCellUnediable(\n\t\tcolumnIndex: number,\n\t\tcolumn: DTableColumn<ROW, any>,\n\t\tonChange: DTableBodyCellOnChange<ROW, any>,\n\t\toptions: any\n\t): DBase {\n\t\tswitch (column.type) {\n\t\t\tcase DTableColumnType.INDEX:\n\t\t\t\treturn new DTableBodyCellIndex(columnIndex, column, onChange, options);\n\t\t\tcase DTableColumnType.TEXT:\n\t\t\t\treturn new DTableBodyCellText(columnIndex, column, onChange, options);\n\t\t\tcase DTableColumnType.TEXT_AREA:\n\t\t\t\treturn new DTableBodyCellTextArea(columnIndex, column, onChange, options);\n\t\t\tcase DTableColumnType.TREE:\n\t\t\t\treturn new DTableBodyCellTree(columnIndex, column, onChange, options);\n\t\t\tcase DTableColumnType.INTEGER:\n\t\t\t\treturn new DTableBodyCellText(columnIndex, column, onChange, options);\n\t\t\tcase DTableColumnType.REAL:\n\t\t\t\treturn new DTableBodyCellText(columnIndex, column, onChange, options);\n\t\t\tcase DTableColumnType.CHECK:\n\t\t\tcase DTableColumnType.CHECK_SINGLE:\n\t\t\t\treturn new DTableBodyCellCheck(columnIndex, column, onChange, options);\n\t\t\tcase DTableColumnType.COLOR:\n\t\t\t\treturn new DTableBodyCellColor(columnIndex, column, onChange, options);\n\t\t\tcase DTableColumnType.BUTTON:\n\t\t\t\treturn new DTableBodyCellButton(columnIndex, column, onChange, options);\n\t\t\tcase DTableColumnType.LINK:\n\t\t\t\treturn new DTableBodyCellLink(columnIndex, column, onChange, options);\n\t\t\tcase DTableColumnType.SELECT:\n\t\t\t\treturn this.newCellSelect(columnIndex, column, onChange, options);\n\t\t\tcase DTableColumnType.ACTION:\n\t\t\t\treturn this.newCellAction(columnIndex, column, onChange, options);\n\t\t\tcase DTableColumnType.DATE:\n\t\t\t\treturn new DTableBodyCellDate(columnIndex, column, onChange, options);\n\t\t\tcase DTableColumnType.DATETIME:\n\t\t\t\treturn new DTableBodyCellDatetime(columnIndex, column, onChange, options);\n\t\t\tcase DTableColumnType.TIME:\n\t\t\t\treturn new DTableBodyCellTime(columnIndex, column, onChange, options);\n\t\t\tdefault:\n\t\t\t\treturn new DTableBodyCellText(columnIndex, column, onChange, options);\n\t\t}\n\t}\n\n\tprotected newCellSelect(\n\t\tcolumnIndex: number,\n\t\tcolumn: DTableColumn<ROW, any>,\n\t\tonChange: DTableBodyCellOnChange<ROW, any>,\n\t\toptions: any\n\t): DBase {\n\t\tconst selecting = column.selecting;\n\t\tif (selecting.menu != null) {\n\t\t\treturn new DTableBodyCellSelectMenu(columnIndex, column, onChange, options);\n\t\t} else if (selecting.multiple != null) {\n\t\t\treturn new DTableBodyCellSelectMultiple(columnIndex, column, onChange, options);\n\t\t} else if (selecting.dialog != null) {\n\t\t\treturn new DTableBodyCellSelectDialog(columnIndex, column, onChange, options);\n\t\t} else if (selecting.promise != null) {\n\t\t\treturn new DTableBodyCellSelectPromise(columnIndex, column, onChange, options);\n\t\t} else {\n\t\t\treturn new DTableBodyCellText(columnIndex, column, onChange, options);\n\t\t}\n\t}\n\n\tprotected newCellAction(\n\t\tcolumnIndex: number,\n\t\tcolumn: DTableColumn<ROW, any>,\n\t\tonChange: DTableBodyCellOnChange<ROW, any>,\n\t\toptions: any\n\t): DBase {\n\t\tconst selecting = column.selecting;\n\t\tif (selecting.menu != null) {\n\t\t\treturn new DTableBodyCellActionMenu(columnIndex, column, onChange, options);\n\t\t} else if (selecting.dialog != null) {\n\t\t\treturn new DTableBodyCellActionDialog(columnIndex, column, onChange, options);\n\t\t} else if (selecting.promise != null) {\n\t\t\treturn new DTableBodyCellActionPromise(columnIndex, column, onChange, options);\n\t\t} else {\n\t\t\treturn new DTableBodyCellText(columnIndex, column, onChange, options);\n\t\t}\n\t}\n\n\tprotected toCellOptions(\n\t\tcolumnIndex: number,\n\t\tcolumn: DTableColumn<ROW, unknown>,\n\t\toptions: OPTIONS\n\t): DTableBodyCellOptions<ROW> {\n\t\tconst result = toMerged(column.body, options.cell);\n\n\t\t// Weight\n\t\tresult.weight = column.weight;\n\n\t\t// Width\n\t\tresult.width = column.width;\n\n\t\t// State\n\t\tresult.state ??= column.state.initial;\n\n\t\t// Text formatter\n\t\tconst columnFormatter = column.formatter;\n\t\tif (columnFormatter != null) {\n\t\t\tconst text = (result.text ??= {});\n\t\t\ttext.formatter ??= columnFormatter;\n\t\t}\n\n\t\t// Text align horizontal\n\t\tconst columnAlign = column.align;\n\t\tif (columnAlign != null) {\n\t\t\tconst text = (result.text ??= {});\n\t\t\tconst textAlign = (text.align ??= {});\n\t\t\ttextAlign.horizontal ??= columnAlign;\n\t\t}\n\n\t\t// Editing\n\t\tconst columnEditing = column.editing;\n\t\tif (columnEditing.enable !== false) {\n\t\t\tconst editing = ((result as any).editing ??= {});\n\t\t\tediting.formatter ??= columnEditing.formatter;\n\t\t\tediting.unformatter ??= columnEditing.unformatter;\n\t\t\tediting.validator ??= columnEditing.validator;\n\t\t}\n\n\t\t// Link\n\t\tconst columnLink = column.link;\n\t\tif (columnLink !== undefined) {\n\t\t\t(result as any).link = columnLink;\n\t\t}\n\n\t\t// Selecting\n\t\tconst columnSelecting = column.selecting;\n\t\tconst columnSelectingMenu = columnSelecting.menu ?? columnSelecting.multiple;\n\t\tif (columnSelectingMenu !== undefined) {\n\t\t\t(result as any).menu = columnSelectingMenu;\n\t\t}\n\n\t\tconst selectionType = options?.selection?.type ?? DTableDataSelectionType.NONE;\n\t\tif (selectionType !== DTableDataSelectionType.NONE) {\n\t\t\t(result as any).when = \"DOUBLE_CLICKED\";\n\t\t\tresult.cursor = (state: DBaseStateSet): string | undefined => {\n\t\t\t\tif (state.in(DTableState.SELECTABLE)) {\n\t\t\t\t\treturn \"pointer\";\n\t\t\t\t}\n\t\t\t\treturn undefined;\n\t\t\t};\n\t\t}\n\n\t\treturn result;\n\t}\n\n\tprotected getType(): string {\n\t\treturn \"DTableBodyRow\";\n\t}\n\n\t/**\n\t * Returns a row data if exists.\n\t * Returns undefined if a row data does not exit.\n\t *\n\t * @returns a row data or undefined.\n\t */\n\tget value(): ROW | undefined {\n\t\treturn this._value;\n\t}\n\n\t/**\n\t * Returns a row index if a row data exists.\n\t * Returns -1 if a row data does not exit.\n\t *\n\t * @returns a row index or -1.\n\t */\n\tget index(): number {\n\t\treturn this._index;\n\t}\n\n\tprotected isCell(target: any): target is DTableBodyCell<unknown, unknown> {\n\t\treturn target != null && \"set\" in target;\n\t}\n\n\tset(\n\t\tvalue: ROW,\n\t\tsupplimental: DTableDataSupplimental | null,\n\t\trowIndex: number,\n\t\tforcibly?: boolean\n\t): void {\n\t\tif (\n\t\t\tforcibly ||\n\t\t\tthis._value !== value ||\n\t\t\tthis._supplimental !== supplimental ||\n\t\t\tthis._index !== rowIndex\n\t\t) {\n\t\t\tthis._value = value;\n\t\t\tthis._supplimental = supplimental;\n\t\t\tthis._index = rowIndex;\n\n\t\t\tconst cells = this.children;\n\t\t\tconst cellsLength = cells.length;\n\t\t\tconst columns = this._columns;\n\t\t\tconst columnsLength = columns.length;\n\t\t\tfor (let i = 0; i < cellsLength; ++i) {\n\t\t\t\tconst cell = cells[i];\n\t\t\t\tconst columnIndex = columnsLength - 1 - i;\n\t\t\t\tconst column = columns[columnIndex];\n\t\t\t\tif (this.isCell(cell)) {\n\t\t\t\t\tcell.set(\n\t\t\t\t\t\tcolumn.getter(value, columnIndex),\n\t\t\t\t\t\tvalue,\n\t\t\t\t\t\tsupplimental,\n\t\t\t\t\t\trowIndex,\n\t\t\t\t\t\tcolumnIndex,\n\t\t\t\t\t\tforcibly\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tthis.onSet(value, rowIndex);\n\t\t}\n\t}\n\n\tprotected onSet(value: ROW, rowIndex: number): void {\n\t\tthis.emit(\"set\", value, rowIndex, this);\n\t}\n\n\tunset(): void {\n\t\tif (this._value !== undefined) {\n\t\t\tthis._value = undefined;\n\t\t\tthis._index = -1;\n\n\t\t\tconst cells = this.children;\n\t\t\tconst cellsLength = cells.length;\n\t\t\tfor (let i = 0; i < cellsLength; ++i) {\n\t\t\t\tconst cell = cells[i];\n\t\t\t\tif (this.isCell(cell)) {\n\t\t\t\t\tcell.unset();\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tthis.onUnset();\n\t\t}\n\t}\n\n\tprotected onUnset(): void {\n\t\tthis.emit(\"unset\", this);\n\t}\n\n\tprotected getContentPositionX(): number {\n\t\tconst parent = this.parent;\n\t\tif (parent) {\n\t\t\tconst content = parent.parent;\n\t\t\tif (content) {\n\t\t\t\treturn content.position.x;\n\t\t\t}\n\t\t}\n\t\treturn 0;\n\t}\n}\n"]}
@@ -12,6 +12,7 @@ import { DTableDataSelectionType } from "./d-table-data-selection";
12
12
  import { DTableState } from "./d-table-state";
13
13
  import { DApplications } from "./d-applications";
14
14
  import { isNumber } from "./util/is-number";
15
+ import { DTableColumnUpdate } from "./d-table-column-update";
15
16
  var toRowOptions = function (theme, options, selectionType) {
16
17
  var columns = options.columns || [];
17
18
  var result = options.row;
@@ -67,13 +68,20 @@ var DTableBody = /** @class */ (function (_super) {
67
68
  _this._isUpdateRowsCalled = false;
68
69
  _this._isUpdateRowsCalledForcibly = false;
69
70
  _this._workRows = [];
70
- _this._onRowChangeBound = function (newValue, oldValue, row, rowIndex, columnIndex) {
71
- data.emit("change", newValue, oldValue, row, rowIndex, columnIndex, data);
71
+ _this._onRowChangeBound = function (newValue, oldValue, row, rowIndex, columnIndex, column) {
72
+ _this.onRowChange(newValue, oldValue, row, rowIndex, columnIndex, column);
72
73
  };
73
74
  _this._columnIndexToCellOptions = new Map();
74
75
  _this._data.emit("init", _this._data);
75
76
  return _this;
76
77
  }
78
+ DTableBody.prototype.onRowChange = function (newValue, oldValue, row, rowIndex, columnIndex, column) {
79
+ var data = this._data;
80
+ data.emit("change", newValue, oldValue, row, rowIndex, columnIndex, data);
81
+ if (column.update === DTableColumnUpdate.ALL) {
82
+ this.update(true);
83
+ }
84
+ };
77
85
  DTableBody.prototype.toData = function (options) {
78
86
  if (this.isData(options)) {
79
87
  return options;
@@ -1 +1 @@
1
- {"version":3,"file":"d-table-body.js","sourceRoot":"","sources":["../../../src/main/typescript/wcardinal/ui/d-table-body.ts"],"names":[],"mappings":"AAAA;;;GAGG;;AAEH,OAAO,EAAe,KAAK,EAAa,MAAM,SAAS,CAAC;AAExD,OAAO,EAAE,KAAK,EAAyC,MAAM,UAAU,CAAC;AACxE,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAC5C,OAAO,EAAE,aAAa,EAA+C,MAAM,oBAAoB,CAAC;AAGhG,OAAO,EAAE,cAAc,EAAyB,MAAM,qBAAqB,CAAC;AAC5E,OAAO,EAAuB,uBAAuB,EAAE,MAAM,0BAA0B,CAAC;AAExF,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAG9C,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAgD5C,IAAM,YAAY,GAAG,UACpB,KAAsB,EACtB,OAAqC,EACrC,aAAsC;IAEtC,IAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,EAAE,CAAC;IACtC,IAAI,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC;IACzB,IAAI,MAAM,IAAI,IAAI,EAAE;QACnB,IAAI,MAAM,CAAC,MAAM,IAAI,IAAI,EAAE;YAC1B,MAAM,CAAC,MAAM,GAAG,KAAK,CAAC,YAAY,EAAE,CAAC;SACrC;QACD,IAAI,MAAM,CAAC,OAAO,KAAK,SAAS,EAAE;YACjC,MAAM,CAAC,OAAO,GAAG,OAAO,CAAC;SACzB;QACD,IAAI,MAAM,CAAC,MAAM,IAAI,IAAI,EAAE;YAC1B,MAAM,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;SAC/B;QACD,IAAI,MAAM,CAAC,SAAS,KAAK,SAAS,EAAE;YACnC,MAAM,CAAC,SAAS,GAAG;gBAClB,IAAI,EAAE,aAAa;aACnB,CAAC;SACF;aAAM,IAAI,MAAM,CAAC,SAAS,CAAC,IAAI,KAAK,SAAS,EAAE;YAC/C,MAAM,CAAC,SAAS,CAAC,IAAI,GAAG,aAAa,CAAC;SACtC;KACD;SAAM;QACN,MAAM,GAAG;YACR,OAAO,SAAA;YACP,MAAM,EAAE,KAAK,CAAC,YAAY,EAAE;YAC5B,MAAM,EAAE,OAAO,CAAC,MAAM;YACtB,SAAS,EAAE;gBACV,IAAI,EAAE,aAAa;aACnB;SACD,CAAC;KACF;IACD,OAAO,MAAmC,CAAC;AAC5C,CAAC,CAAC;AAEF;IAKU,8BAAqB;IAgB9B,oBAAY,OAAgB;QAA5B,iBAuBC;;gBAtBA,kBAAM,OAAO,CAAC;QAEd,KAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,GAAG,MAAA,OAAO,CAAC,MAAM,mCAAI,CAAC,CAAC;QAChD,IAAM,IAAI,GAAG,KAAI,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QACvC,KAAI,CAAC,KAAK,GAAG,IAAI,CAAC;QAClB,IAAI,CAAC,IAAI,CAAC,KAAI,CAAC,CAAC;QAChB,IAAM,KAAK,GAAG,KAAI,CAAC,KAAK,CAAC;QACzB,IAAM,UAAU,GAAG,YAAY,CAAC,KAAK,EAAE,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;QACrE,KAAI,CAAC,WAAW,GAAG,UAAU,CAAC;QAC9B,KAAI,CAAC,UAAU,GAAG,UAAU,CAAC,MAAM,IAAI,IAAI,CAAC,CAAC,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,YAAY,EAAE,CAAC;QACvF,KAAI,CAAC,QAAQ,GAAG,UAAU,CAAC,OAAO,IAAI,EAAE,CAAC;QACzC,KAAI,CAAC,oBAAoB,GAAG,CAAC,CAAC;QAC9B,KAAI,CAAC,kBAAkB,GAAG,CAAC,CAAC;QAC5B,KAAI,CAAC,gBAAgB,GAAG,CAAC,CAAC;QAC1B,KAAI,CAAC,mBAAmB,GAAG,KAAK,CAAC;QACjC,KAAI,CAAC,2BAA2B,GAAG,KAAK,CAAC;QACzC,KAAI,CAAC,SAAS,GAAG,EAAE,CAAC;QACpB,KAAI,CAAC,iBAAiB,GAAG,UAAC,QAAQ,EAAE,QAAQ,EAAE,GAAG,EAAE,QAAQ,EAAE,WAAW;YACvE,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,GAAG,EAAE,QAAQ,EAAE,WAAW,EAAE,IAAI,CAAC,CAAC;QAC3E,CAAC,CAAC;QACF,KAAI,CAAC,yBAAyB,GAAG,IAAI,GAAG,EAAsC,CAAC;QAC/E,KAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,KAAI,CAAC,KAAK,CAAC,CAAC;;IACrC,CAAC;IAES,2BAAM,GAAhB,UAAiB,OAA2C;QAC3D,IAAI,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE;YACzB,OAAO,OAAO,CAAC;SACf;QACD,OAAO,IAAI,cAAc,CAAM,OAAO,CAAQ,CAAC;IAChD,CAAC;IAES,2BAAM,GAAhB,UACC,MAAyD;QAEzD,OAAO,MAAM,IAAI,IAAI,IAAI,QAAQ,IAAI,MAAM,CAAC;IAC7C,CAAC;IAED,6BAAQ,GAAR,UAAS,QAAgB,EAAE,SAAiB,EAAE,QAAgB,EAAE,SAAiB;QAChF,iBAAM,QAAQ,YAAC,QAAQ,EAAE,SAAS,EAAE,QAAQ,EAAE,SAAS,CAAC,CAAC;QACzD,IAAI,CAAC,MAAM,EAAE,CAAC;IACf,CAAC;IAED,sBAAI,iCAAS;aAAb;YACC,OAAO,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC;QAC7B,CAAC;;;OAAA;IAED,yBAAI,GAAJ;QACC,IAAI,CAAC,gBAAgB,IAAI,CAAC,CAAC;QAC3B,IAAI,IAAI,CAAC,gBAAgB,KAAK,CAAC,EAAE;YAChC,IAAI,CAAC,mBAAmB,GAAG,KAAK,CAAC;YACjC,IAAI,CAAC,2BAA2B,GAAG,KAAK,CAAC;SACzC;IACF,CAAC;IAED,2BAAM,GAAN,UAAO,YAAqB;QAC3B,IAAI,CAAC,gBAAgB,IAAI,CAAC,CAAC;QAC3B,IAAI,IAAI,CAAC,gBAAgB,KAAK,CAAC,EAAE;YAChC,IAAI,YAAY,IAAI,IAAI,CAAC,mBAAmB,EAAE;gBAC7C,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,2BAA2B,CAAC,CAAC;aAC9C;YACD,IAAI,CAAC,mBAAmB,GAAG,KAAK,CAAC;YACjC,IAAI,CAAC,2BAA2B,GAAG,KAAK,CAAC;SACzC;IACF,CAAC;IAED;;;;;OAKG;IACH,2BAAM,GAAN,UAAO,QAAkB;QACxB,IAAI,CAAC,GAAG,IAAI,CAAC,gBAAgB,EAAE;YAC9B,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC;YAChC,IAAI,QAAQ,EAAE;gBACb,IAAI,CAAC,2BAA2B,GAAG,IAAI,CAAC;aACxC;YACD,OAAO;SACP;QAED,IAAM,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC;QAC5B,IAAI,OAAO,IAAI,IAAI,EAAE;YACpB,OAAO;SACP;QACD,IAAM,aAAa,GAAG,OAAO,CAAC,MAAM,CAAC;QACrC,IAAI,aAAa,IAAI,IAAI,EAAE;YAC1B,OAAO;SACP;QAED,IAAM,IAAI,GAAG,IAAI,CAAC,QAAqC,CAAC;QACxD,IAAM,MAAM,GAAG,aAAa,CAAC,MAAM,CAAC;QACpC,IAAM,SAAS,GAAG,IAAI,CAAC,UAAU,CAAC;QAElC,IAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC;QACxB,IAAM,cAAc,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;QAE1C,IAAM,sBAAsB,GAAG,IAAI,CAAC,oBAAoB,CAAC;QACzD,IAAI,oBAAoB,GAAG,IAAI,CAAC,kBAAkB,CAAC;QACnD,IAAI,WAAW,GAAG,oBAAoB,GAAG,sBAAsB,CAAC;QAEhE,IAAM,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC;QACpC,IAAM,SAAS,GAAG,CAAC,GAAG,cAAc,GAAG,SAAS,CAAC;QACjD,IAAM,gBAAgB,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;QACrD,IAAM,WAAW,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,GAAG,gBAAgB,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;QAE5E,IAAM,2BAA2B,GAAG,CAAC,WAAW,GAAG,SAAS,CAAC;QAC7D,IAAM,2BAA2B,GAAG,CAAC,MAAM,GAAG,CAAC,WAAW,GAAG,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC;QAC7E,IAAI,sBAAsB,GAAG,IAAI,CAAC,KAAK,CAAC,2BAA2B,CAAC,CAAC;QACrE,sBAAsB,IAAI,sBAAsB,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACnE,IAAI,oBAAoB,GAAG,IAAI,CAAC,KAAK,CAAC,2BAA2B,CAAC,CAAC;QACnE,oBAAoB,IAAI,CAAC,oBAAoB,GAAG,sBAAsB,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC1F,IAAI,WAAW,GAAG,oBAAoB,GAAG,sBAAsB,CAAC;QAChE,IAAI,WAAW,GAAG,WAAW,IAAI,WAAW,GAAG,CAAC,IAAI,WAAW,EAAE;YAChE,WAAW,GAAG,WAAW,CAAC;YAC1B,oBAAoB,GAAG,sBAAsB,GAAG,WAAW,CAAC;SAC5D;QAED,IAAI,WAAW,GAAG,WAAW,EAAE;YAC9B,KAAK,IAAI,CAAC,GAAG,WAAW,EAAE,CAAC,GAAG,WAAW,EAAE,EAAE,CAAC,EAAE;gBAC/C,IAAM,iBAAiB,GAAG,sBAAsB,GAAG,CAAC,CAAC;gBACrD,IAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,iBAAiB,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC;gBACxD,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;aACtB;YACD,WAAW,GAAG,WAAW,CAAC;YAC1B,oBAAoB,GAAG,sBAAsB,GAAG,WAAW,CAAC;SAC5D;aAAM,IAAI,WAAW,GAAG,WAAW,EAAE;YACrC,KAAK,IAAI,CAAC,GAAG,WAAW,GAAG,CAAC,EAAE,WAAW,IAAI,CAAC,EAAE,EAAE,CAAC,EAAE;gBACpD,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;aAC1B;YACD,WAAW,GAAG,WAAW,CAAC;YAC1B,oBAAoB,GAAG,sBAAsB,GAAG,WAAW,CAAC;SAC5D;QAED,IAAI,CAAC,oBAAoB,GAAG,sBAAsB,CAAC;QACnD,IAAI,CAAC,kBAAkB,GAAG,oBAAoB,CAAC;QAE/C,IAAM,wBAAwB,GAAG,sBAAsB,GAAG,sBAAsB,CAAC;QACjF,IAAM,2BAA2B,GAAG,IAAI,CAAC,GAAG,CAAC,wBAAwB,CAAC,CAAC;QACvE,IAAM,UAAU,GAAG,IAAI,CAAC,MAAM,CAAC;QAC/B,IAAI,CAAC,GAAG,2BAA2B,IAAI,2BAA2B,GAAG,UAAU,EAAE;YAChF,IAAM,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC;YAC5B,IAAI,CAAC,GAAG,wBAAwB,EAAE;gBACjC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,2BAA2B,EAAE,EAAE,CAAC,EAAE;oBACrD,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;iBAClC;gBACD,KAAK,IAAI,CAAC,GAAG,2BAA2B,EAAE,CAAC,GAAG,UAAU,EAAE,EAAE,CAAC,EAAE;oBAC9D,IAAI,CAAC,CAAC,GAAG,2BAA2B,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;iBAChD;gBACD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,2BAA2B,EAAE,EAAE,CAAC,EAAE;oBACrD,IAAI,CAAC,UAAU,GAAG,2BAA2B,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;iBAC7D;aACD;iBAAM;gBACN,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,2BAA2B,EAAE,EAAE,CAAC,EAAE;oBACrD,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,UAAU,GAAG,2BAA2B,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;iBAC7E;gBACD,KAAK,IAAI,CAAC,GAAG,UAAU,GAAG,2BAA2B,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC,EAAE;oBACvE,IAAI,CAAC,CAAC,GAAG,2BAA2B,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;iBAChD;gBACD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,2BAA2B,EAAE,EAAE,CAAC,EAAE;oBACrD,IAAI,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;iBAClB;aACD;YACD,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC;SAChB;QAED,IAAM,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC;QACjC,IAAM,eAAe,GAAG,SAAS,CAAC,IAAI,KAAK,uBAAuB,CAAC,IAAI,CAAC;QACxE,IAAI,CAAC,MAAM,CAAC,IAAI,CACf,UACC,KAAU,EACV,YAAqB,EACrB,KAAa,EACb,aAAqB;YAErB,IAAM,GAAG,GAAG,IAAI,CAAC,KAAK,GAAG,sBAAsB,CAAC,CAAC;YAEjD,WAAW;YACX,GAAG,CAAC,QAAQ,CAAC,CAAC,GAAG,KAAK,GAAG,SAAS,CAAC;YAEnC,QAAQ;YACR,IAAM,QAAQ,GAAG,GAAG,CAAC,KAAK,CAAC;YAC3B,QAAQ,CAAC,IAAI,EAAE,CAAC;YAChB,QAAQ,CAAC,GAAG,CAAC,WAAW,CAAC,UAAU,EAAE,eAAe,CAAC,CAAC;YACtD,QAAQ,CAAC,GAAG,CAAC,UAAU,CAAC,MAAM,EAAE,SAAS,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,CAAC;YACnE,QAAQ,CAAC,MAAM,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;YACrC,QAAQ,CAAC,MAAM,EAAE,CAAC;YAElB,OAAO;YACP,GAAG,CAAC,GAAG,CAAC,KAAK,EAAE,YAAY,EAAE,aAAa,EAAE,QAAQ,CAAC,CAAC;QACvD,CAAC,EACD,sBAAsB,EACtB,sBAAsB,GAAG,UAAU,CACnC,CAAC;QAEF,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,sBAAsB,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,UAAU,EAAE,EAAE,CAAC,EAAE;YACtE,IAAM,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;YAEpB,WAAW;YACX,GAAG,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,sBAAsB,GAAG,CAAC,CAAC,GAAG,SAAS,CAAC;YAE1D,QAAQ;YACR,IAAM,QAAQ,GAAG,GAAG,CAAC,KAAK,CAAC;YAC3B,QAAQ,CAAC,IAAI,EAAE,CAAC;YAChB,QAAQ,CAAC,GAAG,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;YAClC,QAAQ,CAAC,SAAS,CAAC,WAAW,CAAC,UAAU,EAAE,UAAU,CAAC,MAAM,CAAC,CAAC;YAC9D,QAAQ,CAAC,MAAM,EAAE,CAAC;YAElB,OAAO;YACP,GAAG,CAAC,KAAK,EAAE,CAAC;SACZ;QAED,KAAK,IAAI,CAAC,GAAG,UAAU,GAAG,CAAC,EAAE,cAAc,IAAI,sBAAsB,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC,EAAE;YACzF,IAAM,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;YAEpB,WAAW;YACX,GAAG,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,sBAAsB,GAAG,CAAC,CAAC,GAAG,SAAS,CAAC;YAE1D,QAAQ;YACR,IAAM,QAAQ,GAAG,GAAG,CAAC,KAAK,CAAC;YAC3B,QAAQ,CAAC,IAAI,EAAE,CAAC;YAChB,QAAQ,CAAC,GAAG,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;YAClC,QAAQ,CAAC,SAAS,CAAC,WAAW,CAAC,UAAU,EAAE,UAAU,CAAC,MAAM,CAAC,CAAC;YAC9D,QAAQ,CAAC,MAAM,EAAE,CAAC;YAElB,OAAO;YACP,GAAG,CAAC,KAAK,EAAE,CAAC;SACZ;QAED,IAAI,CAAC,IAAI,EAAE,CAAC;QACZ,OAAO,CAAC,QAAQ,CAAC,CAAC,GAAG,WAAW,CAAC;QACjC,OAAO,CAAC,MAAM,GAAG,gBAAgB,CAAC;QAClC,IAAI,CAAC,MAAM,GAAG,SAAS,CAAC;QACxB,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QACnB,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,2BAA2B,EAAE,2BAA2B,EAAE,IAAI,CAAC,CAAC;IACrF,CAAC;IAES,6BAAQ,GAAlB,UAAmB,GAAuB;QACzC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACf,IAAM,KAAK,GAAG,GAAG,CAAC,QAAQ,CAAC;QAC3B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,IAAI,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,GAAG,IAAI,EAAE,EAAE,CAAC,EAAE;YACnD,IAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;YACtB,IAAI,IAAI,YAAY,KAAK,EAAE;gBAC1B,IAAI,CAAC,KAAK,CAAC,SAAS,GAAG,KAAK,CAAC;aAC7B;SACD;QACD,OAAO,GAAG,CAAC;IACZ,CAAC;IAES,2BAAM,GAAhB,UAAiB,MAAe;QAC/B,OAAO,IAAI,aAAa,CACvB,IAAI,CAAC,iBAAiB,EACtB,MAAM,EACN,IAAI,CAAC,yBAAyB,EAC9B,IAAI,CAAC,WAAW,CAChB,CAAC;IACH,CAAC;IAES,iCAAY,GAAtB,UAAuB,IAAY,EAAE,IAAY,EAAE,IAAY,EAAE,IAAY;QAC5E,iBAAM,YAAY,YAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;QAC3C,IAAI,CAAC,wBAAwB,CAAC,IAAI,CAAC,CAAC;IACrC,CAAC;IAES,6CAAwB,GAAlC,UAAmC,CAAS;QAC3C,IAAM,MAAM,GAAG,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC;QACvC,IAAI,MAAM,IAAI,IAAI,IAAI,CAAC,GAAG,MAAM,EAAE;YACjC,IAAM,IAAI,GAAG,IAAI,CAAC,QAAqC,CAAC;YACxD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,IAAI,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,GAAG,IAAI,EAAE,EAAE,CAAC,EAAE;gBAClD,IAAI,CAAC,CAAC,CAAC,CAAC,wBAAwB,CAAC,CAAC,CAAC,CAAC;aACpC;SACD;IACF,CAAC;IAED,oCAAe,GAAf,UAAgB,MAAe,EAAE,MAAiB;QACjD,iBAAM,eAAe,YAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAEtC,IAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;QAC3B,IAAI,MAAM,EAAE;YACX,IAAM,EAAE,GAAG,CAAC,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC;YACxC,MAAM,CAAC,CAAC,IAAI,EAAE,CAAC;YACf,MAAM,CAAC,MAAM,IAAI,EAAE,CAAC;SACpB;IACF,CAAC;IAED;;;;;OAKG;IACH,6BAAQ,GAAR,UAAS,MAAoB;QAC5B,IAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;QAC3B,IAAI,MAAM,IAAI,IAAI,EAAE;YACnB,OAAO,KAAK,CAAC;SACb;QACD,IAAM,YAAY,GAAG,MAAM,CAAC,MAAM,CAAC;QACnC,IAAI,YAAY,IAAI,IAAI,EAAE;YACzB,OAAO,KAAK,CAAC;SACb;QACD,IAAI,cAAc,GAAG,CAAC,CAAC,CAAC;QACxB,IAAI,QAAQ,CAAC,MAAM,CAAC,EAAE;YACrB,IAAI,CAAC,IAAI,MAAM,IAAI,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,EAAE;gBACpD,cAAc,GAAG,MAAM,CAAC;aACxB;SACD;aAAM;YACN,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,UAAC,GAAQ,EAAE,CAAU,EAAE,KAAa;gBACzD,IAAI,GAAG,KAAK,MAAM,EAAE;oBACnB,cAAc,GAAG,KAAK,CAAC;oBACvB,OAAO,KAAK,CAAC;iBACb;gBACD,OAAO,IAAI,CAAC;YACb,CAAC,CAAC,CAAC;SACH;QACD,IAAI,cAAc,GAAG,CAAC,EAAE;YACvB,OAAO,KAAK,CAAC;SACb;QACD,MAAM,CAAC,QAAQ,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,CAC3B,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,YAAY,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,EAChD,CAAC,cAAc,GAAG,IAAI,CAAC,UAAU,CACjC,CAAC;QACF,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QAC3B,OAAO,IAAI,CAAC;IACb,CAAC;IAES,qCAAgB,GAA1B,UAA2B,KAAY;QACtC,IAAI,CAAC,IAAI,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,EAAE;YAC1C,OAAO,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC;SAC7C;QACD,OAAO,CAAC,CAAC,CAAC;IACX,CAAC;IAES,0BAAK,GAAf,UAAgB,cAAsB;QACrC,IAAM,KAAK,GAAG,cAAc,GAAG,IAAI,CAAC,oBAAoB,CAAC;QACzD,IAAM,IAAI,GAAG,IAAI,CAAC,QAAqC,CAAC;QACxD,IAAI,CAAC,IAAI,KAAK,IAAI,KAAK,GAAG,IAAI,CAAC,MAAM,EAAE;YACtC,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC;SACnB;QACD,OAAO,IAAI,CAAC;IACb,CAAC;IAES,2BAAM,GAAhB,UAAiB,GAAuB,EAAE,KAAY;QACrD,IAAM,KAAK,GAAG,GAAG,CAAC,QAA+C,CAAC;QAClE,IAAM,WAAW,GAAG,KAAK,CAAC,MAAM,CAAC;QACjC,IAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC;QAC9B,IAAM,aAAa,GAAG,OAAO,CAAC,MAAM,CAAC;QACrC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,WAAW,EAAE,aAAa,CAAC,EAAE,CAAC,GAAG,IAAI,EAAE,EAAE,CAAC,EAAE;YAC3E,IAAM,IAAI,GAAG,KAAK,CAAC,WAAW,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;YACxC,IAAM,CAAC,GAAG,KAAK,CAAC,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC;YACpC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,KAAK,EAAE;gBAC9B,OAAO,IAAI,CAAC;aACZ;SACD;QACD,OAAO,IAAI,CAAC;IACb,CAAC;IAED,+BAAU,GAAV,UAAW,CAAmB;QAC7B,IAAI,IAAI,CAAC,KAAK,CAAC,YAAY,EAAE;YAC5B,IAAM,KAAK,GAAG,UAAU,CAAC,aAAa,CAAC;YACvC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YAC9B,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;YAC7C,IAAM,cAAc,GAAG,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC;YACpD,IAAI,CAAC,IAAI,cAAc,IAAI,cAAc,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,EAAE,EAAE;gBACrE,gCAAgC;gBAChC,IAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;gBACvC,IAAI,GAAG,EAAE;oBACR,IAAM,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;oBACrC,IAAI,IAAI,IAAI,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,WAAW,CAAC,CAAC,EAAE,KAAK,CAAC,EAAE;wBAC3D,OAAO;qBACP;iBACD;gBAED,0BAA0B;gBAC1B,IAAI,CAAC,WAAW,CAAC,CAAC,EAAE,cAAc,CAAC,CAAC;aACpC;SACD;IACF,CAAC;IAES,gCAAW,GAArB,UAAsB,CAAmB,EAAE,cAAsB;QAChE,IAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC;QACxB,IAAM,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC;QACjC,IAAM,QAAQ,GAAG,SAAS,CAAC,IAAI,KAAK,uBAAuB,CAAC,MAAM,CAAC;QACnE,IAAM,WAAW,GAAG,CAAC,QAAQ,CAAC;QAC9B,IAAM,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;QACnD,IAAM,aAAa,GAAG,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC;QAC3C,IAAM,OAAO,GAAG,aAAa,CAAC,OAAO,CAAC;QACtC,IAAM,QAAQ,GAAG,aAAa,CAAC,QAAQ,CAAC;QACxC,IAAI,QAAQ,IAAI,SAAS,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,WAAW,IAAI,CAAC,OAAO,IAAI,QAAQ,CAAC,CAAC,EAAE;YAC/E,SAAS,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;SAChC;aAAM,IAAI,OAAO,EAAE;YACnB,SAAS,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;SAC3B;aAAM,IAAI,QAAQ,EAAE;YACpB,IAAM,YAAY,GAAG,SAAS,CAAC,IAAI,CAAC;YACpC,IAAI,YAAY,IAAI,IAAI,EAAE;gBACzB,IAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;gBAC3B,IAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;gBAC3B,IAAM,cAAc,GAAG,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;gBAC5C,IAAM,kBAAkB,GAAG,MAAM,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;gBACpD,IAAI,cAAc,IAAI,IAAI,IAAI,kBAAkB,IAAI,IAAI,EAAE;oBACzD,IAAI,MAAM,GAAG,kBAAkB,GAAG,CAAC,CAAC;oBACpC,IAAI,IAAI,GAAG,cAAc,GAAG,CAAC,CAAC;oBAC9B,IAAI,cAAc,GAAG,kBAAkB,EAAE;wBACxC,MAAM,GAAG,cAAc,CAAC;wBACxB,IAAI,GAAG,kBAAkB,CAAC;qBAC1B;oBACD,IAAI,MAAM,GAAG,IAAI,EAAE;wBAClB,IAAM,UAAU,GAAa,EAAE,CAAC;wBAChC,IAAM,eAAe,GAAG,MAAM,CAAC,OAAO,CAAC;wBACvC,IAAM,aAAa,GAAG,MAAM,CAAC,OAAO,CAAC;wBACrC,IAAI,eAAe,EAAE;4BACpB,IAAI,aAAa,EAAE;gCAClB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,IAAI,GAAG,eAAe,CAAC,MAAM,EAAE,CAAC,GAAG,IAAI,EAAE,EAAE,CAAC,EAAE;oCAC7D,IAAM,aAAa,GAAG,eAAe,CAAC,CAAC,CAAC,CAAC;oCACzC,IAAI,MAAM,IAAI,aAAa,IAAI,aAAa,GAAG,IAAI,EAAE;wCACpD,UAAU,CAAC,IAAI,CAAC,aAAa,CAAC,aAAa,CAAC,CAAC,CAAC;qCAC9C;iCACD;6BACD;iCAAM;gCACN,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,IAAI,GAAG,eAAe,CAAC,MAAM,EAAE,CAAC,GAAG,IAAI,EAAE,EAAE,CAAC,EAAE;oCAC7D,IAAM,aAAa,GAAG,eAAe,CAAC,CAAC,CAAC,CAAC;oCACzC,IAAI,MAAM,IAAI,aAAa,IAAI,aAAa,GAAG,IAAI,EAAE;wCACpD,UAAU,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;qCAC/B;iCACD;6BACD;yBACD;6BAAM;4BACN,IAAI,aAAa,EAAE;gCAClB,KAAK,IAAI,CAAC,GAAG,MAAM,EAAE,CAAC,GAAG,IAAI,EAAE,EAAE,CAAC,EAAE;oCACnC,UAAU,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC;iCAClC;6BACD;iCAAM;gCACN,KAAK,IAAI,CAAC,GAAG,MAAM,EAAE,CAAC,GAAG,IAAI,EAAE,EAAE,CAAC,EAAE;oCACnC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;iCACnB;6BACD;yBACD;wBACD,SAAS,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;qBAC7B;iBACD;aACD;SACD;IACF,CAAC;IAED,+BAAU,GAAV,UACC,CAA0B,EAC1B,kBAAkD;QAElD,OAAO,iBAAM,UAAU,YAAC,CAAC,EAAE,kBAAkB,CAAC,CAAC;IAChD,CAAC;IAES,4BAAO,GAAjB;QACC,OAAO,YAAY,CAAC;IACrB,CAAC;IAED,sBAAI,4BAAI;aAAR;YACC,OAAO,IAAI,CAAC,KAAK,CAAC;QACnB,CAAC;;;OAAA;IAtdgB,wBAAa,GAAG,IAAI,KAAK,EAAE,CAAC;IAud9C,iBAAC;CAAA,AA7dD,CAKU,KAAK,GAwdd;SA7dY,UAAU","sourcesContent":["/*\n * Copyright (C) 2019 Toshiba Corporation\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport { interaction, Point, Rectangle } from \"pixi.js\";\nimport InteractionEvent = interaction.InteractionEvent;\nimport { DBase, DBaseEvents, DBaseOptions, DThemeBase } from \"./d-base\";\nimport { DBaseState } from \"./d-base-state\";\nimport { DTableBodyRow, DTableBodyRowOnChange, DTableBodyRowOptions } from \"./d-table-body-row\";\nimport { DTableColumn } from \"./d-table-column\";\nimport { DTableData, DTableDataOptions } from \"./d-table-data\";\nimport { DTableDataList, DTableDataListOptions } from \"./d-table-data-list\";\nimport { DTableDataSelection, DTableDataSelectionType } from \"./d-table-data-selection\";\nimport { DTableBodyCell } from \"./d-table-body-cell\";\nimport { DTableState } from \"./d-table-state\";\nimport { DTableBodyCellOptions } from \"./d-table-body-cell-options\";\nimport { DOnOptions } from \"./d-on-options\";\nimport { DApplications } from \"./d-applications\";\nimport { isNumber } from \"./util/is-number\";\n\n/**\n * {@link DTableBody} events.\n */\nexport interface DTableBodyEvents<EMITTER> extends DBaseEvents<EMITTER> {\n\t/**\n\t * Triggered when rows are updated.\n\t * The first and second parameters are an mapped index range of visible data.\n\t * Please note that these parameters are real numbers.\n\t * For instance, An index range of [0.5, 2.5] means:\n\t *\n\t * * The row at index 0 is partially visible.\n\t * * The row at index 1 is fully visible.\n\t * * The row at index 2 is partially visible.\n\t *\n\t * @param from a lowest mapped index of visible data\n\t * @param to a highest mapped index of vislble data\n\t * @param emitter an emitter\n\t */\n\tupdate(from: number, to: number, emitter: EMITTER): void;\n}\n\n/**\n * {@link DTableBody} \"on\" options.\n */\nexport interface DTableBodyOnOptions<EMITTER>\n\textends Partial<DTableBodyEvents<EMITTER>>,\n\t\tDOnOptions {}\n\nexport interface DTableBodyOptions<\n\tROW,\n\tDATA extends DTableData<ROW> = DTableDataList<ROW>,\n\tTHEME extends DThemeTableBody = DThemeTableBody,\n\tEMITTER = any\n> extends DBaseOptions<THEME, EMITTER> {\n\tcolumns?: Array<DTableColumn<ROW, unknown>>;\n\trow?: DTableBodyRowOptions<ROW>;\n\tdata?: DTableDataListOptions<ROW> | DATA;\n\toffset?: number;\n\tfrozen?: number;\n\ton?: DTableBodyOnOptions<EMITTER>;\n}\n\nexport interface DThemeTableBody extends DThemeBase {\n\tgetRowHeight(): number;\n}\n\nconst toRowOptions = <ROW, DATA extends DTableData<ROW>>(\n\ttheme: DThemeTableBody,\n\toptions: DTableBodyOptions<ROW, DATA>,\n\tselectionType: DTableDataSelectionType\n): DTableBodyRowOptions<ROW> => {\n\tconst columns = options.columns || [];\n\tlet result = options.row;\n\tif (result != null) {\n\t\tif (result.height == null) {\n\t\t\tresult.height = theme.getRowHeight();\n\t\t}\n\t\tif (result.columns === undefined) {\n\t\t\tresult.columns = columns;\n\t\t}\n\t\tif (result.frozen == null) {\n\t\t\tresult.frozen = options.frozen;\n\t\t}\n\t\tif (result.selection === undefined) {\n\t\t\tresult.selection = {\n\t\t\t\ttype: selectionType\n\t\t\t};\n\t\t} else if (result.selection.type === undefined) {\n\t\t\tresult.selection.type = selectionType;\n\t\t}\n\t} else {\n\t\tresult = {\n\t\t\tcolumns,\n\t\t\theight: theme.getRowHeight(),\n\t\t\tfrozen: options.frozen,\n\t\t\tselection: {\n\t\t\t\ttype: selectionType\n\t\t\t}\n\t\t};\n\t}\n\treturn result as DTableBodyRowOptions<ROW>;\n};\n\nexport class DTableBody<\n\tROW,\n\tDATA extends DTableData<ROW> = DTableDataList<ROW>,\n\tTHEME extends DThemeTableBody = DThemeTableBody,\n\tOPTIONS extends DTableBodyOptions<ROW, DATA, THEME> = DTableBodyOptions<ROW, DATA, THEME>\n> extends DBase<THEME, OPTIONS> {\n\tprotected static WORK_ON_CLICK = new Point();\n\n\tprotected _columns: Array<DTableColumn<ROW, unknown>>;\n\tprotected _rowHeight: number;\n\tprotected _rowIndexMappedStart: number;\n\tprotected _rowIndexMappedEnd: number;\n\tprotected _rowOptions: DTableBodyRowOptions<ROW>;\n\tprotected _updateRowsCount: number;\n\tprotected _isUpdateRowsCalled: boolean;\n\tprotected _isUpdateRowsCalledForcibly: boolean;\n\tprotected _workRows: Array<DTableBodyRow<ROW>>;\n\tprotected _onRowChangeBound: DTableBodyRowOnChange<ROW, unknown>;\n\tprotected _columnIndexToCellOptions: Map<number, DTableBodyCellOptions<ROW>>;\n\tprotected _data: DATA;\n\n\tconstructor(options: OPTIONS) {\n\t\tsuper(options);\n\n\t\tthis.transform.position.y = options.offset ?? 0;\n\t\tconst data = this.toData(options.data);\n\t\tthis._data = data;\n\t\tdata.bind(this);\n\t\tconst theme = this.theme;\n\t\tconst rowOptions = toRowOptions(theme, options, data.selection.type);\n\t\tthis._rowOptions = rowOptions;\n\t\tthis._rowHeight = rowOptions.height != null ? rowOptions.height : theme.getRowHeight();\n\t\tthis._columns = rowOptions.columns || [];\n\t\tthis._rowIndexMappedStart = 0;\n\t\tthis._rowIndexMappedEnd = 0;\n\t\tthis._updateRowsCount = 0;\n\t\tthis._isUpdateRowsCalled = false;\n\t\tthis._isUpdateRowsCalledForcibly = false;\n\t\tthis._workRows = [];\n\t\tthis._onRowChangeBound = (newValue, oldValue, row, rowIndex, columnIndex): void => {\n\t\t\tdata.emit(\"change\", newValue, oldValue, row, rowIndex, columnIndex, data);\n\t\t};\n\t\tthis._columnIndexToCellOptions = new Map<number, DTableBodyCellOptions<ROW>>();\n\t\tthis._data.emit(\"init\", this._data);\n\t}\n\n\tprotected toData(options?: DATA | DTableDataListOptions<ROW>): DATA {\n\t\tif (this.isData(options)) {\n\t\t\treturn options;\n\t\t}\n\t\treturn new DTableDataList<ROW>(options) as any;\n\t}\n\n\tprotected isData(\n\t\ttarget?: ROW[] | DTableDataOptions<ROW> | DTableData<ROW>\n\t): target is DTableData<ROW> {\n\t\treturn target != null && \"mapped\" in target;\n\t}\n\n\tonResize(newWidth: number, newHeight: number, oldWidth: number, oldHeight: number): void {\n\t\tsuper.onResize(newWidth, newHeight, oldWidth, oldHeight);\n\t\tthis.update();\n\t}\n\n\tget selection(): DTableDataSelection<ROW> {\n\t\treturn this._data.selection;\n\t}\n\n\tlock(): void {\n\t\tthis._updateRowsCount += 1;\n\t\tif (this._updateRowsCount === 1) {\n\t\t\tthis._isUpdateRowsCalled = false;\n\t\t\tthis._isUpdateRowsCalledForcibly = false;\n\t\t}\n\t}\n\n\tunlock(callIfNeeded: boolean): void {\n\t\tthis._updateRowsCount -= 1;\n\t\tif (this._updateRowsCount === 0) {\n\t\t\tif (callIfNeeded && this._isUpdateRowsCalled) {\n\t\t\t\tthis.update(this._isUpdateRowsCalledForcibly);\n\t\t\t}\n\t\t\tthis._isUpdateRowsCalled = false;\n\t\t\tthis._isUpdateRowsCalledForcibly = false;\n\t\t}\n\t}\n\n\t/**\n\t * Updates rows. If the `forcibly` is true, some dirty checkings for\n\t * avoiding unnecessary state changes are skipped.\n\t *\n\t * @param forcibly true to update forcibly\n\t */\n\tupdate(forcibly?: boolean): void {\n\t\tif (0 < this._updateRowsCount) {\n\t\t\tthis._isUpdateRowsCalled = true;\n\t\t\tif (forcibly) {\n\t\t\t\tthis._isUpdateRowsCalledForcibly = true;\n\t\t\t}\n\t\t\treturn;\n\t\t}\n\n\t\tconst content = this.parent;\n\t\tif (content == null) {\n\t\t\treturn;\n\t\t}\n\t\tconst contentParent = content.parent;\n\t\tif (contentParent == null) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst rows = this.children as Array<DTableBodyRow<ROW>>;\n\t\tconst height = contentParent.height;\n\t\tconst rowHeight = this._rowHeight;\n\n\t\tconst data = this._data;\n\t\tconst dataMappedSize = data.mapped.size();\n\n\t\tconst oldRowIndexMappedStart = this._rowIndexMappedStart;\n\t\tlet oldRowIndexMappedEnd = this._rowIndexMappedEnd;\n\t\tlet oldRowCount = oldRowIndexMappedEnd - oldRowIndexMappedStart;\n\n\t\tconst y = this.transform.position.y;\n\t\tconst newHeight = y + dataMappedSize * rowHeight;\n\t\tconst newContentHeight = Math.max(height, newHeight);\n\t\tconst newContentY = Math.max(height - newContentHeight, content.position.y);\n\n\t\tconst newRowIndexMappedLowerBound = -newContentY / rowHeight;\n\t\tconst newRowIndexMappedUpperBound = (height - (newContentY + y)) / rowHeight;\n\t\tlet newRowIndexMappedStart = Math.floor(newRowIndexMappedLowerBound);\n\t\tnewRowIndexMappedStart -= newRowIndexMappedStart % 2 === 0 ? 2 : 1;\n\t\tlet newRowIndexMappedEnd = Math.floor(newRowIndexMappedUpperBound);\n\t\tnewRowIndexMappedEnd += (newRowIndexMappedEnd - newRowIndexMappedStart) % 2 === 1 ? 3 : 2;\n\t\tlet newRowCount = newRowIndexMappedEnd - newRowIndexMappedStart;\n\t\tif (newRowCount < oldRowCount && oldRowCount - 2 <= newRowCount) {\n\t\t\tnewRowCount = oldRowCount;\n\t\t\tnewRowIndexMappedEnd = newRowIndexMappedStart + newRowCount;\n\t\t}\n\n\t\tif (oldRowCount < newRowCount) {\n\t\t\tfor (let i = oldRowCount; i < newRowCount; ++i) {\n\t\t\t\tconst oldRowIndexMapped = oldRowIndexMappedStart + i;\n\t\t\t\tconst newRow = this.newRow(oldRowIndexMapped % 2 === 0);\n\t\t\t\tthis.addChild(newRow);\n\t\t\t}\n\t\t\toldRowCount = newRowCount;\n\t\t\toldRowIndexMappedEnd = oldRowIndexMappedStart + oldRowCount;\n\t\t} else if (newRowCount < oldRowCount) {\n\t\t\tfor (let i = oldRowCount - 1; newRowCount <= i; --i) {\n\t\t\t\tthis.removeChild(rows[i]);\n\t\t\t}\n\t\t\toldRowCount = newRowCount;\n\t\t\toldRowIndexMappedEnd = oldRowIndexMappedStart + oldRowCount;\n\t\t}\n\n\t\tthis._rowIndexMappedStart = newRowIndexMappedStart;\n\t\tthis._rowIndexMappedEnd = newRowIndexMappedEnd;\n\n\t\tconst rowIndexMappedStartDelta = newRowIndexMappedStart - oldRowIndexMappedStart;\n\t\tconst rowIndexMappedStartDeltaAbs = Math.abs(rowIndexMappedStartDelta);\n\t\tconst rowsLength = rows.length;\n\t\tif (0 < rowIndexMappedStartDeltaAbs && rowIndexMappedStartDeltaAbs < rowsLength) {\n\t\t\tconst work = this._workRows;\n\t\t\tif (0 < rowIndexMappedStartDelta) {\n\t\t\t\tfor (let i = 0; i < rowIndexMappedStartDeltaAbs; ++i) {\n\t\t\t\t\twork.push(this.resetRow(rows[i]));\n\t\t\t\t}\n\t\t\t\tfor (let i = rowIndexMappedStartDeltaAbs; i < rowsLength; ++i) {\n\t\t\t\t\trows[i - rowIndexMappedStartDeltaAbs] = rows[i];\n\t\t\t\t}\n\t\t\t\tfor (let i = 0; i < rowIndexMappedStartDeltaAbs; ++i) {\n\t\t\t\t\trows[rowsLength - rowIndexMappedStartDeltaAbs + i] = work[i];\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tfor (let i = 0; i < rowIndexMappedStartDeltaAbs; ++i) {\n\t\t\t\t\twork.push(this.resetRow(rows[rowsLength - rowIndexMappedStartDeltaAbs + i]));\n\t\t\t\t}\n\t\t\t\tfor (let i = rowsLength - rowIndexMappedStartDeltaAbs - 1; 0 <= i; --i) {\n\t\t\t\t\trows[i + rowIndexMappedStartDeltaAbs] = rows[i];\n\t\t\t\t}\n\t\t\t\tfor (let i = 0; i < rowIndexMappedStartDeltaAbs; ++i) {\n\t\t\t\t\trows[i] = work[i];\n\t\t\t\t}\n\t\t\t}\n\t\t\twork.length = 0;\n\t\t}\n\n\t\tconst selection = data.selection;\n\t\tconst isRowSelectable = selection.type !== DTableDataSelectionType.NONE;\n\t\tdata.mapped.each(\n\t\t\t(\n\t\t\t\tdatum: ROW,\n\t\t\t\tsupplimental: unknown,\n\t\t\t\tindex: number,\n\t\t\t\tunmappedIndex: number\n\t\t\t): void | boolean => {\n\t\t\t\tconst row = rows[index - newRowIndexMappedStart];\n\n\t\t\t\t// Position\n\t\t\t\trow.position.y = index * rowHeight;\n\n\t\t\t\t// State\n\t\t\t\tconst rowState = row.state;\n\t\t\t\trowState.lock();\n\t\t\t\trowState.set(DTableState.SELECTABLE, isRowSelectable);\n\t\t\t\trowState.set(DBaseState.ACTIVE, selection.contains(unmappedIndex));\n\t\t\t\trowState.remove(DBaseState.DISABLED);\n\t\t\t\trowState.unlock();\n\n\t\t\t\t// Data\n\t\t\t\trow.set(datum, supplimental, unmappedIndex, forcibly);\n\t\t\t},\n\t\t\tnewRowIndexMappedStart,\n\t\t\tnewRowIndexMappedStart + rowsLength\n\t\t);\n\n\t\tfor (let i = 0; newRowIndexMappedStart + i < 0 && i < rowsLength; ++i) {\n\t\t\tconst row = rows[i];\n\n\t\t\t// Position\n\t\t\trow.position.y = (newRowIndexMappedStart + i) * rowHeight;\n\n\t\t\t// State\n\t\t\tconst rowState = row.state;\n\t\t\trowState.lock();\n\t\t\trowState.add(DBaseState.DISABLED);\n\t\t\trowState.removeAll(DTableState.SELECTABLE, DBaseState.ACTIVE);\n\t\t\trowState.unlock();\n\n\t\t\t// Data\n\t\t\trow.unset();\n\t\t}\n\n\t\tfor (let i = rowsLength - 1; dataMappedSize <= newRowIndexMappedStart + i && 0 <= i; --i) {\n\t\t\tconst row = rows[i];\n\n\t\t\t// Position\n\t\t\trow.position.y = (newRowIndexMappedStart + i) * rowHeight;\n\n\t\t\t// State\n\t\t\tconst rowState = row.state;\n\t\t\trowState.lock();\n\t\t\trowState.add(DBaseState.DISABLED);\n\t\t\trowState.removeAll(DTableState.SELECTABLE, DBaseState.ACTIVE);\n\t\t\trowState.unlock();\n\n\t\t\t// Data\n\t\t\trow.unset();\n\t\t}\n\n\t\tthis.lock();\n\t\tcontent.position.y = newContentY;\n\t\tcontent.height = newContentHeight;\n\t\tthis.height = newHeight;\n\t\tthis.unlock(false);\n\t\tthis.emit(\"update\", newRowIndexMappedLowerBound, newRowIndexMappedUpperBound, this);\n\t}\n\n\tprotected resetRow(row: DTableBodyRow<ROW>): DTableBodyRow<ROW> {\n\t\trow.blur(true);\n\t\tconst cells = row.children;\n\t\tfor (let i = 0, imax = cells.length; i < imax; ++i) {\n\t\t\tconst cell = cells[i];\n\t\t\tif (cell instanceof DBase) {\n\t\t\t\tcell.state.isPressed = false;\n\t\t\t}\n\t\t}\n\t\treturn row;\n\t}\n\n\tprotected newRow(isEven: boolean): DTableBodyRow<ROW> {\n\t\treturn new DTableBodyRow<ROW>(\n\t\t\tthis._onRowChangeBound,\n\t\t\tisEven,\n\t\t\tthis._columnIndexToCellOptions,\n\t\t\tthis._rowOptions\n\t\t);\n\t}\n\n\tprotected onParentMove(newX: number, newY: number, oldX: number, oldY: number): void {\n\t\tsuper.onParentMove(newX, newY, oldX, oldY);\n\t\tthis.updateFrozenCellPosition(newX);\n\t}\n\n\tprotected updateFrozenCellPosition(x: number): void {\n\t\tconst frozen = this._rowOptions.frozen;\n\t\tif (frozen != null && 0 < frozen) {\n\t\t\tconst rows = this.children as Array<DTableBodyRow<ROW>>;\n\t\t\tfor (let i = 0, imax = rows.length; i < imax; ++i) {\n\t\t\t\trows[i].updateFrozenCellPosition(x);\n\t\t\t}\n\t\t}\n\t}\n\n\tgetClippingRect(target: unknown, result: Rectangle): void {\n\t\tsuper.getClippingRect(target, result);\n\n\t\tconst parent = this.parent;\n\t\tif (parent) {\n\t\t\tconst dy = -parent.transform.position.y;\n\t\t\tresult.y += dy;\n\t\t\tresult.height -= dy;\n\t\t}\n\t}\n\n\t/**\n\t * Scroll to the given row or row index.\n\t *\n\t * @param target a row or an row index to which the body scrolls to.\n\t * @returns true if succeeded\n\t */\n\tscrollTo(target: ROW | number): boolean {\n\t\tconst parent = this.parent;\n\t\tif (parent == null) {\n\t\t\treturn false;\n\t\t}\n\t\tconst parentParent = parent.parent;\n\t\tif (parentParent == null) {\n\t\t\treturn false;\n\t\t}\n\t\tlet rowIndexMapped = -1;\n\t\tif (isNumber(target)) {\n\t\t\tif (0 <= target && target < this.data.mapped.size()) {\n\t\t\t\trowIndexMapped = target;\n\t\t\t}\n\t\t} else {\n\t\t\tthis.data.mapped.each((row: ROW, _: unknown, index: number): boolean => {\n\t\t\t\tif (row === target) {\n\t\t\t\t\trowIndexMapped = index;\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\t\t\t\treturn true;\n\t\t\t});\n\t\t}\n\t\tif (rowIndexMapped < 0) {\n\t\t\treturn false;\n\t\t}\n\t\tparent.position.y = Math.max(\n\t\t\tMath.min(0, parentParent.height - parent.height),\n\t\t\t-rowIndexMapped * this._rowHeight\n\t\t);\n\t\tDApplications.update(this);\n\t\treturn true;\n\t}\n\n\tprotected toRowIndexMapped(local: Point): number {\n\t\tif (0 <= this.parent.position.y + local.y) {\n\t\t\treturn Math.floor(local.y / this._rowHeight);\n\t\t}\n\t\treturn -1;\n\t}\n\n\tprotected toRow(rowIndexMapped: number): DTableBodyRow<ROW> | null {\n\t\tconst index = rowIndexMapped - this._rowIndexMappedStart;\n\t\tconst rows = this.children as Array<DTableBodyRow<ROW>>;\n\t\tif (0 <= index && index < rows.length) {\n\t\t\treturn rows[index];\n\t\t}\n\t\treturn null;\n\t}\n\n\tprotected toCell(row: DTableBodyRow<ROW>, local: Point): DTableBodyCell<ROW, unknown> | null {\n\t\tconst cells = row.children as Array<DTableBodyCell<ROW, unknown>>;\n\t\tconst cellsLength = cells.length;\n\t\tconst columns = this._columns;\n\t\tconst columnsLength = columns.length;\n\t\tfor (let i = 0, imax = Math.min(cellsLength, columnsLength); i < imax; ++i) {\n\t\t\tconst cell = cells[cellsLength - i - 1];\n\t\t\tconst x = local.x - cell.position.x;\n\t\t\tif (0 <= x && x <= cell.width) {\n\t\t\t\treturn cell;\n\t\t\t}\n\t\t}\n\t\treturn null;\n\t}\n\n\tonRowClick(e: InteractionEvent): void {\n\t\tif (this.state.isActionable) {\n\t\t\tconst local = DTableBody.WORK_ON_CLICK;\n\t\t\tlocal.copyFrom(e.data.global);\n\t\t\tthis.toLocal(local, undefined, local, false);\n\t\t\tconst rowIndexMapped = this.toRowIndexMapped(local);\n\t\t\tif (0 <= rowIndexMapped && rowIndexMapped < this._data.mapped.size()) {\n\t\t\t\t// Delegate to the cell at first\n\t\t\t\tconst row = this.toRow(rowIndexMapped);\n\t\t\t\tif (row) {\n\t\t\t\t\tconst cell = this.toCell(row, local);\n\t\t\t\t\tif (cell && cell.onRowSelect && cell.onRowSelect(e, local)) {\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\t// Fallback to the default\n\t\t\t\tthis.onRowSelect(e, rowIndexMapped);\n\t\t\t}\n\t\t}\n\t}\n\n\tprotected onRowSelect(e: InteractionEvent, rowIndexMapped: number): void {\n\t\tconst data = this._data;\n\t\tconst selection = data.selection;\n\t\tconst isSingle = selection.type === DTableDataSelectionType.SINGLE;\n\t\tconst isNotSingle = !isSingle;\n\t\tconst rowIndex = data.mapped.unmap(rowIndexMapped);\n\t\tconst originalEvent = e.data.originalEvent;\n\t\tconst ctrlKey = originalEvent.ctrlKey;\n\t\tconst shiftKey = originalEvent.shiftKey;\n\t\tif (isSingle || selection.isEmpty() || !(isNotSingle && (ctrlKey || shiftKey))) {\n\t\t\tselection.clearAndAdd(rowIndex);\n\t\t} else if (ctrlKey) {\n\t\t\tselection.toggle(rowIndex);\n\t\t} else if (shiftKey) {\n\t\t\tconst lastRowIndex = selection.last;\n\t\t\tif (lastRowIndex != null) {\n\t\t\t\tconst sorter = data.sorter;\n\t\t\t\tconst filter = data.filter;\n\t\t\t\tconst rowIndexSorted = sorter.map(rowIndex);\n\t\t\t\tconst lastRowIndexSorted = sorter.map(lastRowIndex);\n\t\t\t\tif (rowIndexSorted != null && lastRowIndexSorted != null) {\n\t\t\t\t\tlet istart = lastRowIndexSorted + 1;\n\t\t\t\t\tlet iend = rowIndexSorted + 1;\n\t\t\t\t\tif (rowIndexSorted < lastRowIndexSorted) {\n\t\t\t\t\t\tistart = rowIndexSorted;\n\t\t\t\t\t\tiend = lastRowIndexSorted;\n\t\t\t\t\t}\n\t\t\t\t\tif (istart < iend) {\n\t\t\t\t\t\tconst rowIndices: number[] = [];\n\t\t\t\t\t\tconst indicesFiltered = filter.indices;\n\t\t\t\t\t\tconst indicesSorted = sorter.indices;\n\t\t\t\t\t\tif (indicesFiltered) {\n\t\t\t\t\t\t\tif (indicesSorted) {\n\t\t\t\t\t\t\t\tfor (let i = 0, imax = indicesFiltered.length; i < imax; ++i) {\n\t\t\t\t\t\t\t\t\tconst indexFiltered = indicesFiltered[i];\n\t\t\t\t\t\t\t\t\tif (istart <= indexFiltered && indexFiltered < iend) {\n\t\t\t\t\t\t\t\t\t\trowIndices.push(indicesSorted[indexFiltered]);\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\tfor (let i = 0, imax = indicesFiltered.length; i < imax; ++i) {\n\t\t\t\t\t\t\t\t\tconst indexFiltered = indicesFiltered[i];\n\t\t\t\t\t\t\t\t\tif (istart <= indexFiltered && indexFiltered < iend) {\n\t\t\t\t\t\t\t\t\t\trowIndices.push(indexFiltered);\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tif (indicesSorted) {\n\t\t\t\t\t\t\t\tfor (let i = istart; i < iend; ++i) {\n\t\t\t\t\t\t\t\t\trowIndices.push(indicesSorted[i]);\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\tfor (let i = istart; i < iend; ++i) {\n\t\t\t\t\t\t\t\t\trowIndices.push(i);\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t\tselection.addAll(rowIndices);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\tonDblClick(\n\t\te: MouseEvent | TouchEvent,\n\t\tinteractionManager: interaction.InteractionManager\n\t): boolean {\n\t\treturn super.onDblClick(e, interactionManager);\n\t}\n\n\tprotected getType(): string {\n\t\treturn \"DTableBody\";\n\t}\n\n\tget data(): DATA {\n\t\treturn this._data;\n\t}\n}\n"]}
1
+ {"version":3,"file":"d-table-body.js","sourceRoot":"","sources":["../../../src/main/typescript/wcardinal/ui/d-table-body.ts"],"names":[],"mappings":"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","sourcesContent":["/*\n * Copyright (C) 2019 Toshiba Corporation\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport { interaction, Point, Rectangle } from \"pixi.js\";\nimport InteractionEvent = interaction.InteractionEvent;\nimport { DBase, DBaseEvents, DBaseOptions, DThemeBase } from \"./d-base\";\nimport { DBaseState } from \"./d-base-state\";\nimport { DTableBodyRow, DTableBodyRowOnChange, DTableBodyRowOptions } from \"./d-table-body-row\";\nimport { DTableColumn } from \"./d-table-column\";\nimport { DTableData, DTableDataOptions, DTableDataSupplimental } from \"./d-table-data\";\nimport { DTableDataList, DTableDataListOptions } from \"./d-table-data-list\";\nimport { DTableDataSelection, DTableDataSelectionType } from \"./d-table-data-selection\";\nimport { DTableBodyCell } from \"./d-table-body-cell\";\nimport { DTableState } from \"./d-table-state\";\nimport { DTableBodyCellOptions } from \"./d-table-body-cell-options\";\nimport { DOnOptions } from \"./d-on-options\";\nimport { DApplications } from \"./d-applications\";\nimport { isNumber } from \"./util/is-number\";\nimport { DTableColumnUpdate } from \"./d-table-column-update\";\n\n/**\n * {@link DTableBody} events.\n */\nexport interface DTableBodyEvents<EMITTER> extends DBaseEvents<EMITTER> {\n\t/**\n\t * Triggered when rows are updated.\n\t * The first and second parameters are an mapped index range of visible data.\n\t * Please note that these parameters are real numbers.\n\t * For instance, An index range of [0.5, 2.5] means:\n\t *\n\t * * The row at index 0 is partially visible.\n\t * * The row at index 1 is fully visible.\n\t * * The row at index 2 is partially visible.\n\t *\n\t * @param from a lowest mapped index of visible data\n\t * @param to a highest mapped index of vislble data\n\t * @param emitter an emitter\n\t */\n\tupdate(from: number, to: number, emitter: EMITTER): void;\n}\n\n/**\n * {@link DTableBody} \"on\" options.\n */\nexport interface DTableBodyOnOptions<EMITTER>\n\textends Partial<DTableBodyEvents<EMITTER>>,\n\t\tDOnOptions {}\n\nexport interface DTableBodyOptions<\n\tROW,\n\tDATA extends DTableData<ROW> = DTableDataList<ROW>,\n\tTHEME extends DThemeTableBody = DThemeTableBody,\n\tEMITTER = any\n> extends DBaseOptions<THEME, EMITTER> {\n\tcolumns?: Array<DTableColumn<ROW, unknown>>;\n\trow?: DTableBodyRowOptions<ROW>;\n\tdata?: DTableDataListOptions<ROW> | DATA;\n\toffset?: number;\n\tfrozen?: number;\n\ton?: DTableBodyOnOptions<EMITTER>;\n}\n\nexport interface DThemeTableBody extends DThemeBase {\n\tgetRowHeight(): number;\n}\n\nconst toRowOptions = <ROW, DATA extends DTableData<ROW>>(\n\ttheme: DThemeTableBody,\n\toptions: DTableBodyOptions<ROW, DATA>,\n\tselectionType: DTableDataSelectionType\n): DTableBodyRowOptions<ROW> => {\n\tconst columns = options.columns || [];\n\tlet result = options.row;\n\tif (result != null) {\n\t\tif (result.height == null) {\n\t\t\tresult.height = theme.getRowHeight();\n\t\t}\n\t\tif (result.columns === undefined) {\n\t\t\tresult.columns = columns;\n\t\t}\n\t\tif (result.frozen == null) {\n\t\t\tresult.frozen = options.frozen;\n\t\t}\n\t\tif (result.selection === undefined) {\n\t\t\tresult.selection = {\n\t\t\t\ttype: selectionType\n\t\t\t};\n\t\t} else if (result.selection.type === undefined) {\n\t\t\tresult.selection.type = selectionType;\n\t\t}\n\t} else {\n\t\tresult = {\n\t\t\tcolumns,\n\t\t\theight: theme.getRowHeight(),\n\t\t\tfrozen: options.frozen,\n\t\t\tselection: {\n\t\t\t\ttype: selectionType\n\t\t\t}\n\t\t};\n\t}\n\treturn result as DTableBodyRowOptions<ROW>;\n};\n\nexport class DTableBody<\n\tROW,\n\tDATA extends DTableData<ROW> = DTableDataList<ROW>,\n\tTHEME extends DThemeTableBody = DThemeTableBody,\n\tOPTIONS extends DTableBodyOptions<ROW, DATA, THEME> = DTableBodyOptions<ROW, DATA, THEME>\n> extends DBase<THEME, OPTIONS> {\n\tprotected static WORK_ON_CLICK = new Point();\n\n\tprotected _columns: Array<DTableColumn<ROW, unknown>>;\n\tprotected _rowHeight: number;\n\tprotected _rowIndexMappedStart: number;\n\tprotected _rowIndexMappedEnd: number;\n\tprotected _rowOptions: DTableBodyRowOptions<ROW>;\n\tprotected _updateRowsCount: number;\n\tprotected _isUpdateRowsCalled: boolean;\n\tprotected _isUpdateRowsCalledForcibly: boolean;\n\tprotected _workRows: Array<DTableBodyRow<ROW>>;\n\tprotected _onRowChangeBound: DTableBodyRowOnChange<ROW, unknown>;\n\tprotected _columnIndexToCellOptions: Map<number, DTableBodyCellOptions<ROW>>;\n\tprotected _data: DATA;\n\n\tconstructor(options: OPTIONS) {\n\t\tsuper(options);\n\n\t\tthis.transform.position.y = options.offset ?? 0;\n\t\tconst data = this.toData(options.data);\n\t\tthis._data = data;\n\t\tdata.bind(this);\n\t\tconst theme = this.theme;\n\t\tconst rowOptions = toRowOptions(theme, options, data.selection.type);\n\t\tthis._rowOptions = rowOptions;\n\t\tthis._rowHeight = rowOptions.height != null ? rowOptions.height : theme.getRowHeight();\n\t\tthis._columns = rowOptions.columns || [];\n\t\tthis._rowIndexMappedStart = 0;\n\t\tthis._rowIndexMappedEnd = 0;\n\t\tthis._updateRowsCount = 0;\n\t\tthis._isUpdateRowsCalled = false;\n\t\tthis._isUpdateRowsCalledForcibly = false;\n\t\tthis._workRows = [];\n\t\tthis._onRowChangeBound = (newValue, oldValue, row, rowIndex, columnIndex, column): void => {\n\t\t\tthis.onRowChange(newValue, oldValue, row, rowIndex, columnIndex, column);\n\t\t};\n\t\tthis._columnIndexToCellOptions = new Map<number, DTableBodyCellOptions<ROW>>();\n\t\tthis._data.emit(\"init\", this._data);\n\t}\n\n\tprotected onRowChange(\n\t\tnewValue: unknown,\n\t\toldValue: unknown,\n\t\trow: ROW,\n\t\trowIndex: number,\n\t\tcolumnIndex: number,\n\t\tcolumn: DTableColumn<ROW, unknown>\n\t): void {\n\t\tconst data = this._data;\n\t\tdata.emit(\"change\", newValue, oldValue, row, rowIndex, columnIndex, data);\n\t\tif (column.update === DTableColumnUpdate.ALL) {\n\t\t\tthis.update(true);\n\t\t}\n\t}\n\n\tprotected toData(options?: DATA | DTableDataListOptions<ROW>): DATA {\n\t\tif (this.isData(options)) {\n\t\t\treturn options;\n\t\t}\n\t\treturn new DTableDataList<ROW>(options) as any;\n\t}\n\n\tprotected isData(\n\t\ttarget?: ROW[] | DTableDataOptions<ROW> | DTableData<ROW>\n\t): target is DTableData<ROW> {\n\t\treturn target != null && \"mapped\" in target;\n\t}\n\n\tonResize(newWidth: number, newHeight: number, oldWidth: number, oldHeight: number): void {\n\t\tsuper.onResize(newWidth, newHeight, oldWidth, oldHeight);\n\t\tthis.update();\n\t}\n\n\tget selection(): DTableDataSelection<ROW> {\n\t\treturn this._data.selection;\n\t}\n\n\tlock(): void {\n\t\tthis._updateRowsCount += 1;\n\t\tif (this._updateRowsCount === 1) {\n\t\t\tthis._isUpdateRowsCalled = false;\n\t\t\tthis._isUpdateRowsCalledForcibly = false;\n\t\t}\n\t}\n\n\tunlock(callIfNeeded: boolean): void {\n\t\tthis._updateRowsCount -= 1;\n\t\tif (this._updateRowsCount === 0) {\n\t\t\tif (callIfNeeded && this._isUpdateRowsCalled) {\n\t\t\t\tthis.update(this._isUpdateRowsCalledForcibly);\n\t\t\t}\n\t\t\tthis._isUpdateRowsCalled = false;\n\t\t\tthis._isUpdateRowsCalledForcibly = false;\n\t\t}\n\t}\n\n\t/**\n\t * Updates rows. If the `forcibly` is true, some dirty checkings for\n\t * avoiding unnecessary state changes are skipped.\n\t *\n\t * @param forcibly true to update forcibly\n\t */\n\tupdate(forcibly?: boolean): void {\n\t\tif (0 < this._updateRowsCount) {\n\t\t\tthis._isUpdateRowsCalled = true;\n\t\t\tif (forcibly) {\n\t\t\t\tthis._isUpdateRowsCalledForcibly = true;\n\t\t\t}\n\t\t\treturn;\n\t\t}\n\n\t\tconst content = this.parent;\n\t\tif (content == null) {\n\t\t\treturn;\n\t\t}\n\t\tconst contentParent = content.parent;\n\t\tif (contentParent == null) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst rows = this.children as Array<DTableBodyRow<ROW>>;\n\t\tconst height = contentParent.height;\n\t\tconst rowHeight = this._rowHeight;\n\n\t\tconst data = this._data;\n\t\tconst dataMappedSize = data.mapped.size();\n\n\t\tconst oldRowIndexMappedStart = this._rowIndexMappedStart;\n\t\tlet oldRowIndexMappedEnd = this._rowIndexMappedEnd;\n\t\tlet oldRowCount = oldRowIndexMappedEnd - oldRowIndexMappedStart;\n\n\t\tconst y = this.transform.position.y;\n\t\tconst newHeight = y + dataMappedSize * rowHeight;\n\t\tconst newContentHeight = Math.max(height, newHeight);\n\t\tconst newContentY = Math.max(height - newContentHeight, content.position.y);\n\n\t\tconst newRowIndexMappedLowerBound = -newContentY / rowHeight;\n\t\tconst newRowIndexMappedUpperBound = (height - (newContentY + y)) / rowHeight;\n\t\tlet newRowIndexMappedStart = Math.floor(newRowIndexMappedLowerBound);\n\t\tnewRowIndexMappedStart -= newRowIndexMappedStart % 2 === 0 ? 2 : 1;\n\t\tlet newRowIndexMappedEnd = Math.floor(newRowIndexMappedUpperBound);\n\t\tnewRowIndexMappedEnd += (newRowIndexMappedEnd - newRowIndexMappedStart) % 2 === 1 ? 3 : 2;\n\t\tlet newRowCount = newRowIndexMappedEnd - newRowIndexMappedStart;\n\t\tif (newRowCount < oldRowCount && oldRowCount - 2 <= newRowCount) {\n\t\t\tnewRowCount = oldRowCount;\n\t\t\tnewRowIndexMappedEnd = newRowIndexMappedStart + newRowCount;\n\t\t}\n\n\t\tif (oldRowCount < newRowCount) {\n\t\t\tfor (let i = oldRowCount; i < newRowCount; ++i) {\n\t\t\t\tconst oldRowIndexMapped = oldRowIndexMappedStart + i;\n\t\t\t\tconst newRow = this.newRow(oldRowIndexMapped % 2 === 0);\n\t\t\t\tthis.addChild(newRow);\n\t\t\t}\n\t\t\toldRowCount = newRowCount;\n\t\t\toldRowIndexMappedEnd = oldRowIndexMappedStart + oldRowCount;\n\t\t} else if (newRowCount < oldRowCount) {\n\t\t\tfor (let i = oldRowCount - 1; newRowCount <= i; --i) {\n\t\t\t\tthis.removeChild(rows[i]);\n\t\t\t}\n\t\t\toldRowCount = newRowCount;\n\t\t\toldRowIndexMappedEnd = oldRowIndexMappedStart + oldRowCount;\n\t\t}\n\n\t\tthis._rowIndexMappedStart = newRowIndexMappedStart;\n\t\tthis._rowIndexMappedEnd = newRowIndexMappedEnd;\n\n\t\tconst rowIndexMappedStartDelta = newRowIndexMappedStart - oldRowIndexMappedStart;\n\t\tconst rowIndexMappedStartDeltaAbs = Math.abs(rowIndexMappedStartDelta);\n\t\tconst rowsLength = rows.length;\n\t\tif (0 < rowIndexMappedStartDeltaAbs && rowIndexMappedStartDeltaAbs < rowsLength) {\n\t\t\tconst work = this._workRows;\n\t\t\tif (0 < rowIndexMappedStartDelta) {\n\t\t\t\tfor (let i = 0; i < rowIndexMappedStartDeltaAbs; ++i) {\n\t\t\t\t\twork.push(this.resetRow(rows[i]));\n\t\t\t\t}\n\t\t\t\tfor (let i = rowIndexMappedStartDeltaAbs; i < rowsLength; ++i) {\n\t\t\t\t\trows[i - rowIndexMappedStartDeltaAbs] = rows[i];\n\t\t\t\t}\n\t\t\t\tfor (let i = 0; i < rowIndexMappedStartDeltaAbs; ++i) {\n\t\t\t\t\trows[rowsLength - rowIndexMappedStartDeltaAbs + i] = work[i];\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tfor (let i = 0; i < rowIndexMappedStartDeltaAbs; ++i) {\n\t\t\t\t\twork.push(this.resetRow(rows[rowsLength - rowIndexMappedStartDeltaAbs + i]));\n\t\t\t\t}\n\t\t\t\tfor (let i = rowsLength - rowIndexMappedStartDeltaAbs - 1; 0 <= i; --i) {\n\t\t\t\t\trows[i + rowIndexMappedStartDeltaAbs] = rows[i];\n\t\t\t\t}\n\t\t\t\tfor (let i = 0; i < rowIndexMappedStartDeltaAbs; ++i) {\n\t\t\t\t\trows[i] = work[i];\n\t\t\t\t}\n\t\t\t}\n\t\t\twork.length = 0;\n\t\t}\n\n\t\tconst selection = data.selection;\n\t\tconst isRowSelectable = selection.type !== DTableDataSelectionType.NONE;\n\t\tdata.mapped.each(\n\t\t\t(\n\t\t\t\tdatum: ROW,\n\t\t\t\tsupplimental: DTableDataSupplimental | null,\n\t\t\t\tindex: number,\n\t\t\t\tunmappedIndex: number\n\t\t\t): void | boolean => {\n\t\t\t\tconst row = rows[index - newRowIndexMappedStart];\n\n\t\t\t\t// Position\n\t\t\t\trow.position.y = index * rowHeight;\n\n\t\t\t\t// State\n\t\t\t\tconst rowState = row.state;\n\t\t\t\trowState.lock();\n\t\t\t\trowState.set(DTableState.SELECTABLE, isRowSelectable);\n\t\t\t\trowState.set(DBaseState.ACTIVE, selection.contains(unmappedIndex));\n\t\t\t\trowState.remove(DBaseState.DISABLED);\n\t\t\t\trowState.unlock();\n\n\t\t\t\t// Data\n\t\t\t\trow.set(datum, supplimental, unmappedIndex, forcibly);\n\t\t\t},\n\t\t\tnewRowIndexMappedStart,\n\t\t\tnewRowIndexMappedStart + rowsLength\n\t\t);\n\n\t\tfor (let i = 0; newRowIndexMappedStart + i < 0 && i < rowsLength; ++i) {\n\t\t\tconst row = rows[i];\n\n\t\t\t// Position\n\t\t\trow.position.y = (newRowIndexMappedStart + i) * rowHeight;\n\n\t\t\t// State\n\t\t\tconst rowState = row.state;\n\t\t\trowState.lock();\n\t\t\trowState.add(DBaseState.DISABLED);\n\t\t\trowState.removeAll(DTableState.SELECTABLE, DBaseState.ACTIVE);\n\t\t\trowState.unlock();\n\n\t\t\t// Data\n\t\t\trow.unset();\n\t\t}\n\n\t\tfor (let i = rowsLength - 1; dataMappedSize <= newRowIndexMappedStart + i && 0 <= i; --i) {\n\t\t\tconst row = rows[i];\n\n\t\t\t// Position\n\t\t\trow.position.y = (newRowIndexMappedStart + i) * rowHeight;\n\n\t\t\t// State\n\t\t\tconst rowState = row.state;\n\t\t\trowState.lock();\n\t\t\trowState.add(DBaseState.DISABLED);\n\t\t\trowState.removeAll(DTableState.SELECTABLE, DBaseState.ACTIVE);\n\t\t\trowState.unlock();\n\n\t\t\t// Data\n\t\t\trow.unset();\n\t\t}\n\n\t\tthis.lock();\n\t\tcontent.position.y = newContentY;\n\t\tcontent.height = newContentHeight;\n\t\tthis.height = newHeight;\n\t\tthis.unlock(false);\n\t\tthis.emit(\"update\", newRowIndexMappedLowerBound, newRowIndexMappedUpperBound, this);\n\t}\n\n\tprotected resetRow(row: DTableBodyRow<ROW>): DTableBodyRow<ROW> {\n\t\trow.blur(true);\n\t\tconst cells = row.children;\n\t\tfor (let i = 0, imax = cells.length; i < imax; ++i) {\n\t\t\tconst cell = cells[i];\n\t\t\tif (cell instanceof DBase) {\n\t\t\t\tcell.state.isPressed = false;\n\t\t\t}\n\t\t}\n\t\treturn row;\n\t}\n\n\tprotected newRow(isEven: boolean): DTableBodyRow<ROW> {\n\t\treturn new DTableBodyRow<ROW>(\n\t\t\tthis._onRowChangeBound,\n\t\t\tisEven,\n\t\t\tthis._columnIndexToCellOptions,\n\t\t\tthis._rowOptions\n\t\t);\n\t}\n\n\tprotected onParentMove(newX: number, newY: number, oldX: number, oldY: number): void {\n\t\tsuper.onParentMove(newX, newY, oldX, oldY);\n\t\tthis.updateFrozenCellPosition(newX);\n\t}\n\n\tprotected updateFrozenCellPosition(x: number): void {\n\t\tconst frozen = this._rowOptions.frozen;\n\t\tif (frozen != null && 0 < frozen) {\n\t\t\tconst rows = this.children as Array<DTableBodyRow<ROW>>;\n\t\t\tfor (let i = 0, imax = rows.length; i < imax; ++i) {\n\t\t\t\trows[i].updateFrozenCellPosition(x);\n\t\t\t}\n\t\t}\n\t}\n\n\tgetClippingRect(target: unknown, result: Rectangle): void {\n\t\tsuper.getClippingRect(target, result);\n\n\t\tconst parent = this.parent;\n\t\tif (parent) {\n\t\t\tconst dy = -parent.transform.position.y;\n\t\t\tresult.y += dy;\n\t\t\tresult.height -= dy;\n\t\t}\n\t}\n\n\t/**\n\t * Scroll to the given row or row index.\n\t *\n\t * @param target a row or an row index to which the body scrolls to.\n\t * @returns true if succeeded\n\t */\n\tscrollTo(target: ROW | number): boolean {\n\t\tconst parent = this.parent;\n\t\tif (parent == null) {\n\t\t\treturn false;\n\t\t}\n\t\tconst parentParent = parent.parent;\n\t\tif (parentParent == null) {\n\t\t\treturn false;\n\t\t}\n\t\tlet rowIndexMapped = -1;\n\t\tif (isNumber(target)) {\n\t\t\tif (0 <= target && target < this.data.mapped.size()) {\n\t\t\t\trowIndexMapped = target;\n\t\t\t}\n\t\t} else {\n\t\t\tthis.data.mapped.each((row: ROW, _: unknown, index: number): boolean => {\n\t\t\t\tif (row === target) {\n\t\t\t\t\trowIndexMapped = index;\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\t\t\t\treturn true;\n\t\t\t});\n\t\t}\n\t\tif (rowIndexMapped < 0) {\n\t\t\treturn false;\n\t\t}\n\t\tparent.position.y = Math.max(\n\t\t\tMath.min(0, parentParent.height - parent.height),\n\t\t\t-rowIndexMapped * this._rowHeight\n\t\t);\n\t\tDApplications.update(this);\n\t\treturn true;\n\t}\n\n\tprotected toRowIndexMapped(local: Point): number {\n\t\tif (0 <= this.parent.position.y + local.y) {\n\t\t\treturn Math.floor(local.y / this._rowHeight);\n\t\t}\n\t\treturn -1;\n\t}\n\n\tprotected toRow(rowIndexMapped: number): DTableBodyRow<ROW> | null {\n\t\tconst index = rowIndexMapped - this._rowIndexMappedStart;\n\t\tconst rows = this.children as Array<DTableBodyRow<ROW>>;\n\t\tif (0 <= index && index < rows.length) {\n\t\t\treturn rows[index];\n\t\t}\n\t\treturn null;\n\t}\n\n\tprotected toCell(row: DTableBodyRow<ROW>, local: Point): DTableBodyCell<ROW, unknown> | null {\n\t\tconst cells = row.children as Array<DTableBodyCell<ROW, unknown>>;\n\t\tconst cellsLength = cells.length;\n\t\tconst columns = this._columns;\n\t\tconst columnsLength = columns.length;\n\t\tfor (let i = 0, imax = Math.min(cellsLength, columnsLength); i < imax; ++i) {\n\t\t\tconst cell = cells[cellsLength - i - 1];\n\t\t\tconst x = local.x - cell.position.x;\n\t\t\tif (0 <= x && x <= cell.width) {\n\t\t\t\treturn cell;\n\t\t\t}\n\t\t}\n\t\treturn null;\n\t}\n\n\tonRowClick(e: InteractionEvent): void {\n\t\tif (this.state.isActionable) {\n\t\t\tconst local = DTableBody.WORK_ON_CLICK;\n\t\t\tlocal.copyFrom(e.data.global);\n\t\t\tthis.toLocal(local, undefined, local, false);\n\t\t\tconst rowIndexMapped = this.toRowIndexMapped(local);\n\t\t\tif (0 <= rowIndexMapped && rowIndexMapped < this._data.mapped.size()) {\n\t\t\t\t// Delegate to the cell at first\n\t\t\t\tconst row = this.toRow(rowIndexMapped);\n\t\t\t\tif (row) {\n\t\t\t\t\tconst cell = this.toCell(row, local);\n\t\t\t\t\tif (cell && cell.onRowSelect && cell.onRowSelect(e, local)) {\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\t// Fallback to the default\n\t\t\t\tthis.onRowSelect(e, rowIndexMapped);\n\t\t\t}\n\t\t}\n\t}\n\n\tprotected onRowSelect(e: InteractionEvent, rowIndexMapped: number): void {\n\t\tconst data = this._data;\n\t\tconst selection = data.selection;\n\t\tconst isSingle = selection.type === DTableDataSelectionType.SINGLE;\n\t\tconst isNotSingle = !isSingle;\n\t\tconst rowIndex = data.mapped.unmap(rowIndexMapped);\n\t\tconst originalEvent = e.data.originalEvent;\n\t\tconst ctrlKey = originalEvent.ctrlKey;\n\t\tconst shiftKey = originalEvent.shiftKey;\n\t\tif (isSingle || selection.isEmpty() || !(isNotSingle && (ctrlKey || shiftKey))) {\n\t\t\tselection.clearAndAdd(rowIndex);\n\t\t} else if (ctrlKey) {\n\t\t\tselection.toggle(rowIndex);\n\t\t} else if (shiftKey) {\n\t\t\tconst lastRowIndex = selection.last;\n\t\t\tif (lastRowIndex != null) {\n\t\t\t\tconst sorter = data.sorter;\n\t\t\t\tconst filter = data.filter;\n\t\t\t\tconst rowIndexSorted = sorter.map(rowIndex);\n\t\t\t\tconst lastRowIndexSorted = sorter.map(lastRowIndex);\n\t\t\t\tif (rowIndexSorted != null && lastRowIndexSorted != null) {\n\t\t\t\t\tlet istart = lastRowIndexSorted + 1;\n\t\t\t\t\tlet iend = rowIndexSorted + 1;\n\t\t\t\t\tif (rowIndexSorted < lastRowIndexSorted) {\n\t\t\t\t\t\tistart = rowIndexSorted;\n\t\t\t\t\t\tiend = lastRowIndexSorted;\n\t\t\t\t\t}\n\t\t\t\t\tif (istart < iend) {\n\t\t\t\t\t\tconst rowIndices: number[] = [];\n\t\t\t\t\t\tconst indicesFiltered = filter.indices;\n\t\t\t\t\t\tconst indicesSorted = sorter.indices;\n\t\t\t\t\t\tif (indicesFiltered) {\n\t\t\t\t\t\t\tif (indicesSorted) {\n\t\t\t\t\t\t\t\tfor (let i = 0, imax = indicesFiltered.length; i < imax; ++i) {\n\t\t\t\t\t\t\t\t\tconst indexFiltered = indicesFiltered[i];\n\t\t\t\t\t\t\t\t\tif (istart <= indexFiltered && indexFiltered < iend) {\n\t\t\t\t\t\t\t\t\t\trowIndices.push(indicesSorted[indexFiltered]);\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\tfor (let i = 0, imax = indicesFiltered.length; i < imax; ++i) {\n\t\t\t\t\t\t\t\t\tconst indexFiltered = indicesFiltered[i];\n\t\t\t\t\t\t\t\t\tif (istart <= indexFiltered && indexFiltered < iend) {\n\t\t\t\t\t\t\t\t\t\trowIndices.push(indexFiltered);\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tif (indicesSorted) {\n\t\t\t\t\t\t\t\tfor (let i = istart; i < iend; ++i) {\n\t\t\t\t\t\t\t\t\trowIndices.push(indicesSorted[i]);\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\tfor (let i = istart; i < iend; ++i) {\n\t\t\t\t\t\t\t\t\trowIndices.push(i);\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t\tselection.addAll(rowIndices);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\tonDblClick(\n\t\te: MouseEvent | TouchEvent,\n\t\tinteractionManager: interaction.InteractionManager\n\t): boolean {\n\t\treturn super.onDblClick(e, interactionManager);\n\t}\n\n\tprotected getType(): string {\n\t\treturn \"DTableBody\";\n\t}\n\n\tget data(): DATA {\n\t\treturn this._data;\n\t}\n}\n"]}
@@ -17,6 +17,7 @@ export var DTableColumnType = {
17
17
  TIME: 11,
18
18
  ACTION: 12,
19
19
  LINK: 13,
20
- TREE: 14
20
+ TREE: 14,
21
+ TEXT_AREA: 15
21
22
  };
22
23
  //# sourceMappingURL=d-table-column-type.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"d-table-column-type.js","sourceRoot":"","sources":["../../../src/main/typescript/wcardinal/ui/d-table-column-type.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,MAAM,CAAC,IAAM,gBAAgB,GAAG;IAC/B,KAAK,EAAE,CAAC;IACR,IAAI,EAAE,CAAC;IACP,OAAO,EAAE,CAAC;IACV,IAAI,EAAE,CAAC;IACP,KAAK,EAAE,CAAC;IACR,YAAY,EAAE,CAAC;IACf,KAAK,EAAE,CAAC;IACR,MAAM,EAAE,CAAC;IACT,MAAM,EAAE,CAAC;IACT,IAAI,EAAE,CAAC;IACP,QAAQ,EAAE,EAAE;IACZ,IAAI,EAAE,EAAE;IACR,MAAM,EAAE,EAAE;IACV,IAAI,EAAE,EAAE;IACR,IAAI,EAAE,EAAE;CACC,CAAC","sourcesContent":["/*\n * Copyright (C) 2019 Toshiba Corporation\n * SPDX-License-Identifier: Apache-2.0\n */\n\nexport const DTableColumnType = {\n\tINDEX: 0,\n\tTEXT: 1,\n\tINTEGER: 2,\n\tREAL: 3,\n\tCHECK: 4,\n\tCHECK_SINGLE: 5,\n\tCOLOR: 6,\n\tBUTTON: 7,\n\tSELECT: 8,\n\tDATE: 9,\n\tDATETIME: 10,\n\tTIME: 11,\n\tACTION: 12,\n\tLINK: 13,\n\tTREE: 14\n} as const;\n\nexport type DTableColumnType = typeof DTableColumnType[keyof typeof DTableColumnType];\n"]}
1
+ {"version":3,"file":"d-table-column-type.js","sourceRoot":"","sources":["../../../src/main/typescript/wcardinal/ui/d-table-column-type.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,MAAM,CAAC,IAAM,gBAAgB,GAAG;IAC/B,KAAK,EAAE,CAAC;IACR,IAAI,EAAE,CAAC;IACP,OAAO,EAAE,CAAC;IACV,IAAI,EAAE,CAAC;IACP,KAAK,EAAE,CAAC;IACR,YAAY,EAAE,CAAC;IACf,KAAK,EAAE,CAAC;IACR,MAAM,EAAE,CAAC;IACT,MAAM,EAAE,CAAC;IACT,IAAI,EAAE,CAAC;IACP,QAAQ,EAAE,EAAE;IACZ,IAAI,EAAE,EAAE;IACR,MAAM,EAAE,EAAE;IACV,IAAI,EAAE,EAAE;IACR,IAAI,EAAE,EAAE;IACR,SAAS,EAAE,EAAE;CACJ,CAAC","sourcesContent":["/*\n * Copyright (C) 2019 Toshiba Corporation\n * SPDX-License-Identifier: Apache-2.0\n */\n\nexport const DTableColumnType = {\n\tINDEX: 0,\n\tTEXT: 1,\n\tINTEGER: 2,\n\tREAL: 3,\n\tCHECK: 4,\n\tCHECK_SINGLE: 5,\n\tCOLOR: 6,\n\tBUTTON: 7,\n\tSELECT: 8,\n\tDATE: 9,\n\tDATETIME: 10,\n\tTIME: 11,\n\tACTION: 12,\n\tLINK: 13,\n\tTREE: 14,\n\tTEXT_AREA: 15\n} as const;\n\nexport type DTableColumnType = typeof DTableColumnType[keyof typeof DTableColumnType];\n"]}
@@ -0,0 +1,13 @@
1
+ /**
2
+ * An update region when table cells get edited.
3
+ *
4
+ * * CELL: Edited cells (Default).
5
+ * * ROW: Rows that edited cells belongs to.
6
+ * * ALL: All the rows.
7
+ */
8
+ export var DTableColumnUpdate = {
9
+ CELL: 0,
10
+ ROW: 1,
11
+ ALL: 2
12
+ };
13
+ //# sourceMappingURL=d-table-column-update.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"d-table-column-update.js","sourceRoot":"","sources":["../../../src/main/typescript/wcardinal/ui/d-table-column-update.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,MAAM,CAAC,IAAM,kBAAkB,GAAG;IACjC,IAAI,EAAE,CAAC;IACP,GAAG,EAAE,CAAC;IACN,GAAG,EAAE,CAAC;CACG,CAAC","sourcesContent":["/**\n * An update region when table cells get edited.\n *\n * * CELL: Edited cells (Default).\n * * ROW: Rows that edited cells belongs to.\n * * ALL: All the rows.\n */\nexport const DTableColumnUpdate = {\n\tCELL: 0,\n\tROW: 1,\n\tALL: 2\n} as const;\n\nexport type DTableColumnUpdate = typeof DTableColumnUpdate[keyof typeof DTableColumnUpdate];\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"d-table-column.js","sourceRoot":"","sources":["../../../src/main/typescript/wcardinal/ui/d-table-column.ts"],"names":[],"mappings":"AAAA;;;GAGG","sourcesContent":["/*\n * Copyright (C) 2019 Toshiba Corporation\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport { DAlignHorizontal } from \"./d-align-horizontal\";\nimport { DTableBodyCellLinkLinkOptions } from \"./d-table-body-cell-link\";\nimport { DTableBodyCellOptions } from \"./d-table-body-cell-options\";\nimport {\n\tDTableColumnEditing,\n\tDTableColumnEditingOptions,\n\tDTableColumnEditable\n} from \"./d-table-column-editing\";\nimport { DTableColumnFormatter } from \"./d-table-column-formatter\";\nimport { DTableColumnGetter } from \"./d-table-column-getter\";\nimport { DTableColumnRenderable } from \"./d-table-column-renderable\";\nimport {\n\tDTableColumnSelecting,\n\tDTableColumnSelectingDialog,\n\tDTableColumnSelectingOptions\n} from \"./d-table-column-selecting\";\nimport { DTableColumnSetter } from \"./d-table-column-setter\";\nimport { DTableColumnSorting, DTableColumnSortingOptions } from \"./d-table-column-sorting\";\nimport { DTableColumnState, DTableColumnStateModifier } from \"./d-table-column-state\";\nimport { DTableColumnType } from \"./d-table-column-type\";\nimport { DTableHeaderCellOptions } from \"./d-table-header-cell\";\n\nexport interface DTableColumnOptions<\n\tROW_VALUE,\n\tCELL_VALUE = any,\n\tDIALOG_VALUE = any,\n\tDIALOG extends DTableColumnSelectingDialog<DIALOG_VALUE> = any\n> {\n\tweight?: number;\n\twidth?: number;\n\n\ttype?: keyof typeof DTableColumnType | DTableColumnType;\n\tlabel?: string;\n\tgetter?: DTableColumnGetter<ROW_VALUE, CELL_VALUE>;\n\tsetter?: DTableColumnSetter<ROW_VALUE, CELL_VALUE>;\n\tpath?: string;\n\tdefault?: CELL_VALUE;\n\n\t/**\n\t * A shortcut of body#text#formatter.\n\t */\n\tformatter?: DTableColumnFormatter<CELL_VALUE>;\n\n\t/**\n\t * A shortcut of body#text#align#horizontal.\n\t */\n\talign?: keyof typeof DAlignHorizontal | DAlignHorizontal;\n\n\t/**\n\t * A state option.\n\t */\n\tstate?: string | string[] | DTableColumnStateModifier<ROW_VALUE>;\n\n\t/**\n\t * If the renderable is\n\t *\n\t * * true, cells get rendered.\n\t * * false, cells do not get rendered.\n\t * * a function, cells get rendered only when that function returns true.\n\t * * \"AUTO\", cells get rendered only when the cell data exit.\n\t */\n\trenderable?: boolean | DTableColumnRenderable<ROW_VALUE> | \"auto\" | \"AUTO\";\n\n\t/**\n\t * If the editable is\n\t *\n\t * * true, cells get editable.\n\t * * false, cells do not get editable.\n\t * * a function, cells are editable only when that function returns true.\n\t * * \"AUTO\", cells are editable only when the cell data exist.\n\t */\n\teditable?: boolean | DTableColumnEditable<ROW_VALUE> | \"auto\" | \"AUTO\";\n\tediting?: DTableColumnEditingOptions<ROW_VALUE, CELL_VALUE>;\n\n\tsortable?: boolean;\n\tsorting?: DTableColumnSortingOptions<ROW_VALUE>;\n\n\theader?: DTableHeaderCellOptions<ROW_VALUE>;\n\tbody?: DTableBodyCellOptions<ROW_VALUE>;\n\n\tselecting?: DTableColumnSelectingOptions<CELL_VALUE, DIALOG_VALUE, DIALOG>;\n\n\tcategory?: string | string[];\n\tfrozen?: boolean;\n\n\tlink?: DTableBodyCellLinkLinkOptions<ROW_VALUE, CELL_VALUE>;\n}\n\nexport interface DTableColumn<\n\tROW_VALUE,\n\tCELL_VALUE,\n\tDIALOG_VALUE = CELL_VALUE,\n\tDIALOG extends DTableColumnSelectingDialog<DIALOG_VALUE> = DTableColumnSelectingDialog<DIALOG_VALUE>\n> {\n\tweight: number | undefined;\n\twidth: number | undefined;\n\n\ttype: DTableColumnType;\n\tlabel: string;\n\tgetter: DTableColumnGetter<ROW_VALUE, CELL_VALUE>;\n\tsetter: DTableColumnSetter<ROW_VALUE, CELL_VALUE>;\n\tformatter?: DTableColumnFormatter<CELL_VALUE>;\n\talign: DAlignHorizontal;\n\tstate: DTableColumnState<ROW_VALUE>;\n\trenderable: boolean | DTableColumnRenderable<ROW_VALUE>;\n\n\tediting: DTableColumnEditing<ROW_VALUE, CELL_VALUE>;\n\tsorting: DTableColumnSorting<ROW_VALUE>;\n\n\theader?: DTableHeaderCellOptions<ROW_VALUE>;\n\tbody?: DTableBodyCellOptions<ROW_VALUE>;\n\n\tselecting: DTableColumnSelecting<CELL_VALUE, DIALOG_VALUE, DIALOG>;\n\n\tcategory?: string | string[];\n\tfrozen?: boolean;\n\toffset: number;\n\n\tlink?: DTableBodyCellLinkLinkOptions<ROW_VALUE, CELL_VALUE>;\n}\n"]}
1
+ {"version":3,"file":"d-table-column.js","sourceRoot":"","sources":["../../../src/main/typescript/wcardinal/ui/d-table-column.ts"],"names":[],"mappings":"AAAA;;;GAGG","sourcesContent":["/*\n * Copyright (C) 2019 Toshiba Corporation\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport { DAlignHorizontal } from \"./d-align-horizontal\";\nimport { DTableBodyCellLinkLinkOptions } from \"./d-table-body-cell-link\";\nimport { DTableBodyCellOptions } from \"./d-table-body-cell-options\";\nimport {\n\tDTableColumnEditing,\n\tDTableColumnEditingOptions,\n\tDTableColumnEditable\n} from \"./d-table-column-editing\";\nimport { DTableColumnFormatter } from \"./d-table-column-formatter\";\nimport { DTableColumnGetter } from \"./d-table-column-getter\";\nimport { DTableColumnRenderable } from \"./d-table-column-renderable\";\nimport {\n\tDTableColumnSelecting,\n\tDTableColumnSelectingDialog,\n\tDTableColumnSelectingOptions\n} from \"./d-table-column-selecting\";\nimport { DTableColumnSetter } from \"./d-table-column-setter\";\nimport { DTableColumnSorting, DTableColumnSortingOptions } from \"./d-table-column-sorting\";\nimport { DTableColumnState, DTableColumnStateModifier } from \"./d-table-column-state\";\nimport { DTableColumnType } from \"./d-table-column-type\";\nimport { DTableColumnUpdate } from \"./d-table-column-update\";\nimport { DTableHeaderCellOptions } from \"./d-table-header-cell\";\n\nexport interface DTableColumnOptions<\n\tROW_VALUE,\n\tCELL_VALUE = any,\n\tDIALOG_VALUE = any,\n\tDIALOG extends DTableColumnSelectingDialog<DIALOG_VALUE> = any\n> {\n\tweight?: number;\n\twidth?: number;\n\n\ttype?: keyof typeof DTableColumnType | DTableColumnType;\n\tlabel?: string;\n\tgetter?: DTableColumnGetter<ROW_VALUE, CELL_VALUE>;\n\tsetter?: DTableColumnSetter<ROW_VALUE, CELL_VALUE>;\n\tpath?: string;\n\tdefault?: CELL_VALUE;\n\n\t/**\n\t * A shortcut of body#text#formatter.\n\t */\n\tformatter?: DTableColumnFormatter<CELL_VALUE>;\n\n\t/**\n\t * A shortcut of body#text#align#horizontal.\n\t */\n\talign?: keyof typeof DAlignHorizontal | DAlignHorizontal;\n\n\t/**\n\t * A state option.\n\t */\n\tstate?: string | string[] | DTableColumnStateModifier<ROW_VALUE>;\n\n\t/**\n\t * If the renderable is\n\t *\n\t * * true, cells get rendered.\n\t * * false, cells do not get rendered.\n\t * * a function, cells get rendered only when that function returns true.\n\t * * \"AUTO\", cells get rendered only when the cell data exit.\n\t */\n\trenderable?: boolean | DTableColumnRenderable<ROW_VALUE> | \"auto\" | \"AUTO\";\n\n\t/**\n\t * If the editable is\n\t *\n\t * * true, cells get editable.\n\t * * false, cells do not get editable.\n\t * * a function, cells are editable only when that function returns true.\n\t * * \"AUTO\", cells are editable only when the cell data exist.\n\t */\n\teditable?: boolean | DTableColumnEditable<ROW_VALUE> | \"auto\" | \"AUTO\";\n\tediting?: DTableColumnEditingOptions<ROW_VALUE, CELL_VALUE>;\n\n\tsortable?: boolean;\n\tsorting?: DTableColumnSortingOptions<ROW_VALUE>;\n\n\theader?: DTableHeaderCellOptions<ROW_VALUE>;\n\tbody?: DTableBodyCellOptions<ROW_VALUE>;\n\n\tselecting?: DTableColumnSelectingOptions<CELL_VALUE, DIALOG_VALUE, DIALOG>;\n\n\tcategory?: string | string[];\n\tfrozen?: boolean;\n\n\tlink?: DTableBodyCellLinkLinkOptions<ROW_VALUE, CELL_VALUE>;\n\n\t/**\n\t * An update region when cells get edited.\n\t *\n\t * * CELL: Edited cells (Default).\n\t * * ROW: Rows that edited cells belongs to.\n\t * * ALL: All the rows.\n\t */\n\tupdate?: keyof typeof DTableColumnUpdate | DTableColumnUpdate;\n}\n\nexport interface DTableColumn<\n\tROW_VALUE,\n\tCELL_VALUE,\n\tDIALOG_VALUE = CELL_VALUE,\n\tDIALOG extends DTableColumnSelectingDialog<DIALOG_VALUE> = DTableColumnSelectingDialog<DIALOG_VALUE>\n> {\n\tweight: number | undefined;\n\twidth: number | undefined;\n\n\ttype: DTableColumnType;\n\tlabel: string;\n\tgetter: DTableColumnGetter<ROW_VALUE, CELL_VALUE>;\n\tsetter: DTableColumnSetter<ROW_VALUE, CELL_VALUE>;\n\tformatter?: DTableColumnFormatter<CELL_VALUE>;\n\talign: DAlignHorizontal;\n\tstate: DTableColumnState<ROW_VALUE>;\n\trenderable: boolean | DTableColumnRenderable<ROW_VALUE>;\n\n\tediting: DTableColumnEditing<ROW_VALUE, CELL_VALUE>;\n\tsorting: DTableColumnSorting<ROW_VALUE>;\n\n\theader?: DTableHeaderCellOptions<ROW_VALUE>;\n\tbody?: DTableBodyCellOptions<ROW_VALUE>;\n\n\tselecting: DTableColumnSelecting<CELL_VALUE, DIALOG_VALUE, DIALOG>;\n\n\tcategory?: string | string[];\n\tfrozen?: boolean;\n\toffset: number;\n\n\tlink?: DTableBodyCellLinkLinkOptions<ROW_VALUE, CELL_VALUE>;\n\n\tupdate: DTableColumnUpdate;\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"d-table-data-list-mapped.js","sourceRoot":"","sources":["../../../src/main/typescript/wcardinal/ui/d-table-data-list-mapped.ts"],"names":[],"mappings":"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","sourcesContent":["import { DTableData, DTableDataMapped, DTableDataMappedEachIteratee } from \"./d-table-data\";\n\nexport interface DTableDataListMappedParent<ROW> extends DTableData<ROW> {\n\treadonly rows: ROW[];\n\treadonly supplimentals?: unknown[];\n}\n\nexport class DTableDataListMapped<ROW> implements DTableDataMapped<ROW> {\n\tprotected _parent: DTableDataListMappedParent<ROW>;\n\n\tconstructor(parent: DTableDataListMappedParent<ROW>) {\n\t\tthis._parent = parent;\n\t}\n\n\tget rows(): ROW[] {\n\t\tconst result: ROW[] = [];\n\t\tthis.each((row: ROW): void => {\n\t\t\tresult.push(row);\n\t\t});\n\t\treturn result;\n\t}\n\n\tmap(unmappedIndex: number): number | null {\n\t\tconst parent = this._parent;\n\t\tconst sortedIndex = parent.sorter.map(unmappedIndex);\n\t\tif (sortedIndex != null) {\n\t\t\treturn parent.filter.map(sortedIndex);\n\t\t}\n\t\treturn null;\n\t}\n\n\tunmap(index: number): number {\n\t\tconst parent = this._parent;\n\t\treturn parent.sorter.unmap(parent.filter.unmap(index));\n\t}\n\n\tsize(): number {\n\t\tconst parent = this._parent;\n\t\tconst indicesFiltered = parent.filter.indices;\n\t\treturn indicesFiltered != null ? indicesFiltered.length : parent.size();\n\t}\n\n\tget(index: number): ROW | null {\n\t\tconst parent = this._parent;\n\t\treturn parent.get(this.unmap(index));\n\t}\n\n\teach(iteratee: DTableDataMappedEachIteratee<ROW>, ifrom?: number, ito?: number): void {\n\t\tconst parent = this._parent;\n\t\tconst rows = parent.rows;\n\t\tconst supplimentals = parent.supplimentals;\n\t\tconst indicesFiltered = parent.filter.indices;\n\t\tconst indicesSorted = parent.sorter.indices;\n\t\tifrom = ifrom != null ? Math.max(0, ifrom) : 0;\n\t\tif (indicesFiltered) {\n\t\t\tconst size = indicesFiltered.length;\n\t\t\tito = ito != null ? Math.min(size, ito) : size;\n\t\t\tif (indicesSorted) {\n\t\t\t\tfor (let i = ifrom; i < ito; ++i) {\n\t\t\t\t\tconst unmappedIndex = indicesSorted[indicesFiltered[i]];\n\t\t\t\t\tconst row = rows[unmappedIndex];\n\t\t\t\t\tconst supplimental = supplimentals ? supplimentals[unmappedIndex] : null;\n\t\t\t\t\tif (iteratee(row, supplimental, i, unmappedIndex) === false) {\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tfor (let i = ifrom; i < ito; ++i) {\n\t\t\t\t\tconst unmappedIndex = indicesFiltered[i];\n\t\t\t\t\tconst row = rows[unmappedIndex];\n\t\t\t\t\tconst supplimental = supplimentals ? supplimentals[unmappedIndex] : null;\n\t\t\t\t\tif (iteratee(row, supplimental, i, unmappedIndex) === false) {\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t} else {\n\t\t\tconst size = rows.length;\n\t\t\tito = ito != null ? Math.min(size, ito) : size;\n\t\t\tif (indicesSorted) {\n\t\t\t\tfor (let i = ifrom; i < ito; ++i) {\n\t\t\t\t\tconst unmappedIndex = indicesSorted[i];\n\t\t\t\t\tconst row = rows[unmappedIndex];\n\t\t\t\t\tconst supplimental = supplimentals ? supplimentals[unmappedIndex] : null;\n\t\t\t\t\tif (iteratee(row, supplimental, i, unmappedIndex) === false) {\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tfor (let i = ifrom; i < ito; ++i) {\n\t\t\t\t\tconst row = rows[i];\n\t\t\t\t\tconst supplimental = supplimentals ? supplimentals[i] : null;\n\t\t\t\t\tif (iteratee(row, supplimental, i, i) === false) {\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n}\n"]}
1
+ {"version":3,"file":"d-table-data-list-mapped.js","sourceRoot":"","sources":["../../../src/main/typescript/wcardinal/ui/d-table-data-list-mapped.ts"],"names":[],"mappings":"AAYA;IAGC,8BAAY,MAAuC;QAClD,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC;IACvB,CAAC;IAED,sBAAI,sCAAI;aAAR;YACC,IAAM,MAAM,GAAU,EAAE,CAAC;YACzB,IAAI,CAAC,IAAI,CAAC,UAAC,GAAQ;gBAClB,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YAClB,CAAC,CAAC,CAAC;YACH,OAAO,MAAM,CAAC;QACf,CAAC;;;OAAA;IAED,kCAAG,GAAH,UAAI,aAAqB;QACxB,IAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC;QAC5B,IAAM,WAAW,GAAG,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;QACrD,IAAI,WAAW,IAAI,IAAI,EAAE;YACxB,OAAO,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;SACtC;QACD,OAAO,IAAI,CAAC;IACb,CAAC;IAED,oCAAK,GAAL,UAAM,KAAa;QAClB,IAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC;QAC5B,OAAO,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC;IACxD,CAAC;IAED,mCAAI,GAAJ;QACC,IAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC;QAC5B,IAAM,eAAe,GAAG,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC;QAC9C,OAAO,eAAe,IAAI,IAAI,CAAC,CAAC,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;IACzE,CAAC;IAED,kCAAG,GAAH,UAAI,KAAa;QAChB,IAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC;QAC5B,OAAO,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC;IACtC,CAAC;IAED,mCAAI,GAAJ,UAAK,QAA2C,EAAE,KAAc,EAAE,GAAY;QAC7E,IAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC;QAC5B,IAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC;QACzB,IAAM,aAAa,GAAG,MAAM,CAAC,aAAa,CAAC;QAC3C,IAAM,eAAe,GAAG,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC;QAC9C,IAAM,aAAa,GAAG,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC;QAC5C,KAAK,GAAG,KAAK,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC/C,IAAI,eAAe,EAAE;YACpB,IAAM,IAAI,GAAG,eAAe,CAAC,MAAM,CAAC;YACpC,GAAG,GAAG,GAAG,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;YAC/C,IAAI,aAAa,EAAE;gBAClB,KAAK,IAAI,CAAC,GAAG,KAAK,EAAE,CAAC,GAAG,GAAG,EAAE,EAAE,CAAC,EAAE;oBACjC,IAAM,aAAa,GAAG,aAAa,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC;oBACxD,IAAM,GAAG,GAAG,IAAI,CAAC,aAAa,CAAC,CAAC;oBAChC,IAAM,YAAY,GAAG,aAAa,CAAC,CAAC,CAAC,aAAa,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;oBACzE,IAAI,QAAQ,CAAC,GAAG,EAAE,YAAY,EAAE,CAAC,EAAE,aAAa,CAAC,KAAK,KAAK,EAAE;wBAC5D,MAAM;qBACN;iBACD;aACD;iBAAM;gBACN,KAAK,IAAI,CAAC,GAAG,KAAK,EAAE,CAAC,GAAG,GAAG,EAAE,EAAE,CAAC,EAAE;oBACjC,IAAM,aAAa,GAAG,eAAe,CAAC,CAAC,CAAC,CAAC;oBACzC,IAAM,GAAG,GAAG,IAAI,CAAC,aAAa,CAAC,CAAC;oBAChC,IAAM,YAAY,GAAG,aAAa,CAAC,CAAC,CAAC,aAAa,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;oBACzE,IAAI,QAAQ,CAAC,GAAG,EAAE,YAAY,EAAE,CAAC,EAAE,aAAa,CAAC,KAAK,KAAK,EAAE;wBAC5D,MAAM;qBACN;iBACD;aACD;SACD;aAAM;YACN,IAAM,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC;YACzB,GAAG,GAAG,GAAG,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;YAC/C,IAAI,aAAa,EAAE;gBAClB,KAAK,IAAI,CAAC,GAAG,KAAK,EAAE,CAAC,GAAG,GAAG,EAAE,EAAE,CAAC,EAAE;oBACjC,IAAM,aAAa,GAAG,aAAa,CAAC,CAAC,CAAC,CAAC;oBACvC,IAAM,GAAG,GAAG,IAAI,CAAC,aAAa,CAAC,CAAC;oBAChC,IAAM,YAAY,GAAG,aAAa,CAAC,CAAC,CAAC,aAAa,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;oBACzE,IAAI,QAAQ,CAAC,GAAG,EAAE,YAAY,EAAE,CAAC,EAAE,aAAa,CAAC,KAAK,KAAK,EAAE;wBAC5D,MAAM;qBACN;iBACD;aACD;iBAAM;gBACN,KAAK,IAAI,CAAC,GAAG,KAAK,EAAE,CAAC,GAAG,GAAG,EAAE,EAAE,CAAC,EAAE;oBACjC,IAAM,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;oBACpB,IAAM,YAAY,GAAG,aAAa,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;oBAC7D,IAAI,QAAQ,CAAC,GAAG,EAAE,YAAY,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,KAAK,EAAE;wBAChD,MAAM;qBACN;iBACD;aACD;SACD;IACF,CAAC;IACF,2BAAC;AAAD,CAAC,AA5FD,IA4FC","sourcesContent":["import {\n\tDTableData,\n\tDTableDataMapped,\n\tDTableDataMappedEachIteratee,\n\tDTableDataSupplimental\n} from \"./d-table-data\";\n\nexport interface DTableDataListMappedParent<ROW> extends DTableData<ROW> {\n\treadonly rows: ROW[];\n\treadonly supplimentals?: DTableDataSupplimental[];\n}\n\nexport class DTableDataListMapped<ROW> implements DTableDataMapped<ROW> {\n\tprotected _parent: DTableDataListMappedParent<ROW>;\n\n\tconstructor(parent: DTableDataListMappedParent<ROW>) {\n\t\tthis._parent = parent;\n\t}\n\n\tget rows(): ROW[] {\n\t\tconst result: ROW[] = [];\n\t\tthis.each((row: ROW): void => {\n\t\t\tresult.push(row);\n\t\t});\n\t\treturn result;\n\t}\n\n\tmap(unmappedIndex: number): number | null {\n\t\tconst parent = this._parent;\n\t\tconst sortedIndex = parent.sorter.map(unmappedIndex);\n\t\tif (sortedIndex != null) {\n\t\t\treturn parent.filter.map(sortedIndex);\n\t\t}\n\t\treturn null;\n\t}\n\n\tunmap(index: number): number {\n\t\tconst parent = this._parent;\n\t\treturn parent.sorter.unmap(parent.filter.unmap(index));\n\t}\n\n\tsize(): number {\n\t\tconst parent = this._parent;\n\t\tconst indicesFiltered = parent.filter.indices;\n\t\treturn indicesFiltered != null ? indicesFiltered.length : parent.size();\n\t}\n\n\tget(index: number): ROW | null {\n\t\tconst parent = this._parent;\n\t\treturn parent.get(this.unmap(index));\n\t}\n\n\teach(iteratee: DTableDataMappedEachIteratee<ROW>, ifrom?: number, ito?: number): void {\n\t\tconst parent = this._parent;\n\t\tconst rows = parent.rows;\n\t\tconst supplimentals = parent.supplimentals;\n\t\tconst indicesFiltered = parent.filter.indices;\n\t\tconst indicesSorted = parent.sorter.indices;\n\t\tifrom = ifrom != null ? Math.max(0, ifrom) : 0;\n\t\tif (indicesFiltered) {\n\t\t\tconst size = indicesFiltered.length;\n\t\t\tito = ito != null ? Math.min(size, ito) : size;\n\t\t\tif (indicesSorted) {\n\t\t\t\tfor (let i = ifrom; i < ito; ++i) {\n\t\t\t\t\tconst unmappedIndex = indicesSorted[indicesFiltered[i]];\n\t\t\t\t\tconst row = rows[unmappedIndex];\n\t\t\t\t\tconst supplimental = supplimentals ? supplimentals[unmappedIndex] : null;\n\t\t\t\t\tif (iteratee(row, supplimental, i, unmappedIndex) === false) {\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tfor (let i = ifrom; i < ito; ++i) {\n\t\t\t\t\tconst unmappedIndex = indicesFiltered[i];\n\t\t\t\t\tconst row = rows[unmappedIndex];\n\t\t\t\t\tconst supplimental = supplimentals ? supplimentals[unmappedIndex] : null;\n\t\t\t\t\tif (iteratee(row, supplimental, i, unmappedIndex) === false) {\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t} else {\n\t\t\tconst size = rows.length;\n\t\t\tito = ito != null ? Math.min(size, ito) : size;\n\t\t\tif (indicesSorted) {\n\t\t\t\tfor (let i = ifrom; i < ito; ++i) {\n\t\t\t\t\tconst unmappedIndex = indicesSorted[i];\n\t\t\t\t\tconst row = rows[unmappedIndex];\n\t\t\t\t\tconst supplimental = supplimentals ? supplimentals[unmappedIndex] : null;\n\t\t\t\t\tif (iteratee(row, supplimental, i, unmappedIndex) === false) {\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tfor (let i = ifrom; i < ito; ++i) {\n\t\t\t\t\tconst row = rows[i];\n\t\t\t\t\tconst supplimental = supplimentals ? supplimentals[i] : null;\n\t\t\t\t\tif (iteratee(row, supplimental, i, i) === false) {\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"d-table-data-tree.js","sourceRoot":"","sources":["../../../src/main/typescript/wcardinal/ui/d-table-data-tree.ts"],"names":[],"mappings":"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","sourcesContent":["/*\n * Copyright (C) 2021 Toshiba Corporation\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport { utils } from \"pixi.js\";\nimport { DTableData, DTableDataMapped, DTableDataParent } from \"./d-table-data\";\nimport { DTableDataFilter, DTableDataFilterer } from \"./d-table-data-filter\";\nimport { DTableDataTreeFilter } from \"./d-table-data-tree-filter\";\nimport { DTableDataListMapped } from \"./d-table-data-list-mapped\";\nimport { DTableDataSelection } from \"./d-table-data-selection\";\nimport { DTableDataComparator, DTableDataSorter } from \"./d-table-data-sorter\";\nimport { DTableDataTreeSorter } from \"./d-table-data-tree-sorter\";\nimport { DTableDataTreeNode } from \"./d-table-data-tree-item\";\nimport {\n\tDTableDataTreeItemAccessor,\n\tDTableDataTreeItemAccessorHasChildren,\n\tDTableDataTreeItemAccessorOptions,\n\tDTableDataTreeItemAccessorToChildren\n} from \"./d-table-data-tree-item-accessor\";\nimport {\n\tDTableDataTreeSelection,\n\tDTableDataTreeSelectionCreator,\n\tDTableDataTreeSelectionOptions\n} from \"./d-table-data-tree-selection\";\nimport { DTableDataTreeSelectionImpl } from \"./d-table-data-tree-selection-impl\";\nimport { isFunction } from \"./util/is-function\";\nimport { DBaseEvents } from \"./d-base\";\nimport { DOnOptions } from \"./d-on-options\";\n\n/**\n * {@link DTableDataTree} events.\n */\nexport interface DTableDataTreeEvents<NODE, EMITTER> extends DBaseEvents<EMITTER> {\n\t/**\n\t * Triggered when a node is expanded.\n\t *\n\t * @param node a node\n\t * @param emitter an emitter\n\t */\n\texpand(node: NODE, emitter: EMITTER): void;\n\n\t/**\n\t * Triggered when a node is collapsed.\n\t *\n\t * @param node a node\n\t * @param emitter an emitter\n\t */\n\tcollapse(node: NODE, emitter: EMITTER): void;\n}\n\n/**\n * {@link DTableDataTree} \"on\" options.\n */\nexport interface DTableDataTreeOnOptions<NODE, EMITTER>\n\textends Partial<DTableDataTreeEvents<NODE, EMITTER>>,\n\t\tDOnOptions {}\n\n/**\n * {@link DTableDataTree} options.\n */\nexport interface DTableDataTreeOptions<NODE, EMITTER = any>\n\textends DTableDataTreeItemAccessorOptions<NODE> {\n\tnodes?: NODE[];\n\n\t/**\n\t * Selection options.\n\t */\n\tselection?:\n\t\t| DTableDataTreeSelection<NODE>\n\t\t| DTableDataTreeSelectionCreator<NODE>\n\t\t| DTableDataTreeSelectionOptions;\n\n\t/**\n\t * A filter.\n\t */\n\tfilter?: DTableDataFilterer<NODE>;\n\n\t/**\n\t * A comparator.\n\t */\n\tcomparator?: DTableDataComparator<NODE>;\n\n\t/**\n\t * True to list up nodes in the given node array in the reverse order.\n\t */\n\treverse?: boolean;\n\n\t/**\n\t * Mappings of event names and event handlers.\n\t */\n\ton?: DTableDataTreeOnOptions<NODE, EMITTER>;\n}\n\n/**\n * Please note that this data class does not support the sorter.\n */\nexport class DTableDataTree<NODE extends DTableDataTreeNode<NODE, NODE>>\n\textends utils.EventEmitter\n\timplements DTableData<NODE>\n{\n\tprotected _parent: DTableDataParent | null;\n\tprotected _nodes?: NODE[];\n\tprotected _rows: NODE[];\n\tprotected _isRowsDirty: boolean;\n\tprotected _supplimentals: number[];\n\tprotected _flags: WeakMap<NODE, number>;\n\tprotected _filter: DTableDataTreeFilter<NODE>;\n\tprotected _sorter: DTableDataTreeSorter<NODE>;\n\tprotected _selection: DTableDataTreeSelection<NODE>;\n\tprotected _mapped: DTableDataMapped<NODE>;\n\tprotected _accessor: DTableDataTreeItemAccessor<NODE>;\n\tprotected _reverse: boolean;\n\n\tconstructor(options?: DTableDataTreeOptions<NODE>) {\n\t\tsuper();\n\n\t\tthis._parent = null;\n\t\tthis._accessor = this.toAccessor(options);\n\t\tthis._mapped = new DTableDataListMapped<NODE>(this);\n\t\tthis._rows = [];\n\t\tthis._isRowsDirty = false;\n\t\tthis._supplimentals = [];\n\t\tthis._flags = new WeakMap<NODE, number>();\n\t\tthis._reverse = !!options?.reverse;\n\t\tthis._selection = this.toSelection(options?.selection);\n\t\tthis._filter = new DTableDataTreeFilter<NODE>(this);\n\t\tthis._sorter = new DTableDataTreeSorter<NODE>();\n\n\t\tif (options) {\n\t\t\t// Filter\n\t\t\tconst filter = options.filter;\n\t\t\tif (filter) {\n\t\t\t\tthis._filter.set(filter);\n\t\t\t}\n\n\t\t\t// Events\n\t\t\tconst on = options.on;\n\t\t\tif (on) {\n\t\t\t\tfor (const name in on) {\n\t\t\t\t\tconst handler = on[name];\n\t\t\t\t\tif (handler) {\n\t\t\t\t\t\tthis.on(name, handler);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\t// Update rows\n\t\tthis.nodes = options?.nodes;\n\t}\n\n\tprotected toSelection(\n\t\toptions?:\n\t\t\t| DTableDataTreeSelection<NODE>\n\t\t\t| DTableDataTreeSelectionCreator<NODE>\n\t\t\t| DTableDataTreeSelectionOptions\n\t): DTableDataTreeSelection<NODE> {\n\t\tif (options instanceof utils.EventEmitter) {\n\t\t\treturn options;\n\t\t} else if (isFunction(options)) {\n\t\t\treturn options(this);\n\t\t}\n\t\treturn this.newSelection(options);\n\t}\n\n\tprotected newSelection(\n\t\toptions?: DTableDataTreeSelectionOptions\n\t): DTableDataTreeSelection<NODE> {\n\t\treturn new DTableDataTreeSelectionImpl(this, options);\n\t}\n\n\tprotected toAccessor(options?: DTableDataTreeOptions<NODE>): DTableDataTreeItemAccessor<NODE> {\n\t\treturn new DTableDataTreeItemAccessor(options);\n\t}\n\n\tbind(parent: DTableDataParent): void {\n\t\tthis._parent = parent;\n\t}\n\n\tget nodes(): NODE[] | undefined {\n\t\treturn this._nodes;\n\t}\n\n\tset nodes(nodes: NODE[] | undefined) {\n\t\tthis._nodes = nodes;\n\t\tthis._isRowsDirty = true;\n\t\tthis._selection.onNodeChange(nodes);\n\t\tthis._filter.toDirty();\n\t\tthis.update(true);\n\t}\n\n\tget rows(): NODE[] {\n\t\tif (this._isRowsDirty) {\n\t\t\tthis._isRowsDirty = false;\n\t\t\tthis.updateRows(this._nodes);\n\t\t}\n\t\treturn this._rows;\n\t}\n\n\tget supplimentals(): number[] {\n\t\treturn this._supplimentals;\n\t}\n\n\tget accessor(): DTableDataTreeItemAccessor<NODE> {\n\t\treturn this._accessor;\n\t}\n\n\tprotected updateRows(nodes: NODE[] | undefined): void {\n\t\tconst rows = this._rows;\n\t\tconst supplimentals = this._supplimentals;\n\t\tconst flags = this._flags;\n\t\tif (nodes != null) {\n\t\t\tconst accessor = this._accessor;\n\t\t\tconst irows = this.newRows(\n\t\t\t\tnodes,\n\t\t\t\t0,\n\t\t\t\t0,\n\t\t\t\trows,\n\t\t\t\tsupplimentals,\n\t\t\t\tflags,\n\t\t\t\tthis._reverse,\n\t\t\t\taccessor.toChildren,\n\t\t\t\taccessor.hasChildren\n\t\t\t);\n\t\t\tif (irows !== rows.length) {\n\t\t\t\trows.length = irows;\n\t\t\t\tsupplimentals.length = irows;\n\t\t\t}\n\t\t} else {\n\t\t\trows.length = 0;\n\t\t\tsupplimentals.length = 0;\n\t\t}\n\t}\n\n\tprotected toSupplimental(ilevel: number, hasChildren: boolean, isOpened: boolean): number {\n\t\treturn (ilevel << 2) | (hasChildren ? 2 : 0) | (isOpened ? 1 : 0);\n\t}\n\n\tprotected newRows(\n\t\tnodes: NODE[],\n\t\tirows: number,\n\t\tilevel: number,\n\t\trows: NODE[],\n\t\tsupplimentals: number[],\n\t\tflags: WeakMap<NODE, number>,\n\t\treverse: boolean,\n\t\ttoChildren: DTableDataTreeItemAccessorToChildren<NODE>,\n\t\thasChildren: DTableDataTreeItemAccessorHasChildren<NODE>\n\t): number {\n\t\tconst nodesLength = nodes.length;\n\t\tconst istart = reverse ? nodesLength - 1 : 0;\n\t\tconst idelta = reverse ? -1 : +1;\n\t\tfor (let i = istart; 0 <= i && i < nodesLength; i += idelta) {\n\t\t\tconst node = nodes[i];\n\t\t\tconst children = toChildren(node);\n\t\t\tconst isOpened = flags.has(node);\n\t\t\tconst supplimental = this.toSupplimental(ilevel, hasChildren(node, children), isOpened);\n\t\t\tif (irows < rows.length) {\n\t\t\t\trows[irows] = node;\n\t\t\t\tsupplimentals[irows] = supplimental;\n\t\t\t} else {\n\t\t\t\trows.push(node);\n\t\t\t\tsupplimentals.push(supplimental);\n\t\t\t}\n\t\t\tirows += 1;\n\n\t\t\tif (isOpened && children) {\n\t\t\t\tirows = this.newRows(\n\t\t\t\t\tchildren,\n\t\t\t\t\tirows,\n\t\t\t\t\tilevel + 1,\n\t\t\t\t\trows,\n\t\t\t\t\tsupplimentals,\n\t\t\t\t\tflags,\n\t\t\t\t\treverse,\n\t\t\t\t\ttoChildren,\n\t\t\t\t\thasChildren\n\t\t\t\t);\n\t\t\t}\n\t\t}\n\t\treturn irows;\n\t}\n\n\tupdate(forcibly?: boolean): void {\n\t\tconst parent = this._parent;\n\t\tif (parent) {\n\t\t\tparent.update(forcibly);\n\t\t}\n\t}\n\n\tsize(): number {\n\t\treturn this.rows.length;\n\t}\n\n\tget(index: number): NODE | null {\n\t\tconst rows = this.rows;\n\t\tif (0 <= index && index < rows.length) {\n\t\t\treturn rows[index];\n\t\t}\n\t\treturn null;\n\t}\n\n\texpand(node: NODE): boolean {\n\t\tconst flags = this._flags;\n\t\tif (!flags.has(node)) {\n\t\t\tflags.set(node, 1);\n\t\t\tthis._isRowsDirty = true;\n\t\t\tthis._filter.toDirty();\n\t\t\tthis.update(true);\n\t\t\treturn true;\n\t\t}\n\t\treturn false;\n\t}\n\n\tcollapse(node: NODE): boolean {\n\t\tconst flags = this._flags;\n\t\tif (flags.has(node)) {\n\t\t\tflags.delete(node);\n\t\t\tthis._isRowsDirty = true;\n\t\t\tthis._filter.toDirty();\n\t\t\tthis.update(true);\n\t\t\treturn true;\n\t\t}\n\t\treturn false;\n\t}\n\n\tisCollapsed(node: NODE): boolean {\n\t\treturn !this._flags.has(node);\n\t}\n\n\tisExpanded(node: NODE): boolean {\n\t\treturn this._flags.has(node);\n\t}\n\n\ttoggle(node: NODE): boolean {\n\t\tif (this.isExpanded(node)) {\n\t\t\treturn this.collapse(node);\n\t\t} else {\n\t\t\treturn this.expand(node);\n\t\t}\n\t}\n\n\t/** @deprecated in favor of {@link expand}. */\n\topen(node: NODE): boolean {\n\t\treturn this.expand(node);\n\t}\n\n\t/** @deprecated in favor of {@link collapse}. */\n\tclose(node: NODE): boolean {\n\t\treturn this.collapse(node);\n\t}\n\n\t/** @deprecated in favor of {@link isExpanded}. */\n\tisOpened(node: NODE): boolean {\n\t\treturn this.isExpanded(node);\n\t}\n\n\teach(\n\t\titeratee: (node: NODE, index: number) => boolean | void,\n\t\tifrom?: number,\n\t\tito?: number\n\t): void {\n\t\tconst rows = this.rows;\n\t\tifrom = ifrom != null ? Math.max(0, ifrom) : 0;\n\t\tito = ito != null ? Math.min(rows.length, ito) : rows.length;\n\t\tfor (let i = ifrom; i < ito; ++i) {\n\t\t\tconst row = rows[i];\n\t\t\tif (iteratee(row, i) === false) {\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\t}\n\n\tget selection(): DTableDataSelection<NODE> {\n\t\treturn this._selection;\n\t}\n\n\tget filter(): DTableDataFilter<NODE> {\n\t\treturn this._filter;\n\t}\n\n\tget sorter(): DTableDataSorter<NODE> {\n\t\treturn this._sorter;\n\t}\n\n\tget mapped(): DTableDataMapped<NODE> {\n\t\treturn this._mapped;\n\t}\n}\n"]}
1
+ {"version":3,"file":"d-table-data-tree.js","sourceRoot":"","sources":["../../../src/main/typescript/wcardinal/ui/d-table-data-tree.ts"],"names":[],"mappings":"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","sourcesContent":["/*\n * Copyright (C) 2021 Toshiba Corporation\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport { utils } from \"pixi.js\";\nimport {\n\tDTableData,\n\tDTableDataMapped,\n\tDTableDataParent,\n\tDTableDataSupplimental\n} from \"./d-table-data\";\nimport { DTableDataFilter, DTableDataFilterer } from \"./d-table-data-filter\";\nimport { DTableDataTreeFilter } from \"./d-table-data-tree-filter\";\nimport { DTableDataListMapped } from \"./d-table-data-list-mapped\";\nimport { DTableDataSelection } from \"./d-table-data-selection\";\nimport { DTableDataComparator, DTableDataSorter } from \"./d-table-data-sorter\";\nimport { DTableDataTreeSorter } from \"./d-table-data-tree-sorter\";\nimport { DTableDataTreeNode } from \"./d-table-data-tree-item\";\nimport {\n\tDTableDataTreeItemAccessor,\n\tDTableDataTreeItemAccessorHasChildren,\n\tDTableDataTreeItemAccessorOptions,\n\tDTableDataTreeItemAccessorToChildren\n} from \"./d-table-data-tree-item-accessor\";\nimport {\n\tDTableDataTreeSelection,\n\tDTableDataTreeSelectionCreator,\n\tDTableDataTreeSelectionOptions\n} from \"./d-table-data-tree-selection\";\nimport { DTableDataTreeSelectionImpl } from \"./d-table-data-tree-selection-impl\";\nimport { isFunction } from \"./util/is-function\";\nimport { DBaseEvents } from \"./d-base\";\nimport { DOnOptions } from \"./d-on-options\";\n\n/**\n * {@link DTableDataTree} events.\n */\nexport interface DTableDataTreeEvents<NODE, EMITTER> extends DBaseEvents<EMITTER> {\n\t/**\n\t * Triggered when a node is expanded.\n\t *\n\t * @param node a node\n\t * @param emitter an emitter\n\t */\n\texpand(node: NODE, emitter: EMITTER): void;\n\n\t/**\n\t * Triggered when a node is collapsed.\n\t *\n\t * @param node a node\n\t * @param emitter an emitter\n\t */\n\tcollapse(node: NODE, emitter: EMITTER): void;\n}\n\n/**\n * {@link DTableDataTree} \"on\" options.\n */\nexport interface DTableDataTreeOnOptions<NODE, EMITTER>\n\textends Partial<DTableDataTreeEvents<NODE, EMITTER>>,\n\t\tDOnOptions {}\n\n/**\n * {@link DTableDataTree} options.\n */\nexport interface DTableDataTreeOptions<NODE, EMITTER = any>\n\textends DTableDataTreeItemAccessorOptions<NODE> {\n\tnodes?: NODE[];\n\n\t/**\n\t * Selection options.\n\t */\n\tselection?:\n\t\t| DTableDataTreeSelection<NODE>\n\t\t| DTableDataTreeSelectionCreator<NODE>\n\t\t| DTableDataTreeSelectionOptions;\n\n\t/**\n\t * A filter.\n\t */\n\tfilter?: DTableDataFilterer<NODE>;\n\n\t/**\n\t * A comparator.\n\t */\n\tcomparator?: DTableDataComparator<NODE>;\n\n\t/**\n\t * True to list up nodes in the given node array in the reverse order.\n\t */\n\treverse?: boolean;\n\n\t/**\n\t * Mappings of event names and event handlers.\n\t */\n\ton?: DTableDataTreeOnOptions<NODE, EMITTER>;\n}\n\n/**\n * Please note that this data class does not support the sorter.\n */\nexport class DTableDataTree<NODE extends DTableDataTreeNode<NODE, NODE>>\n\textends utils.EventEmitter\n\timplements DTableData<NODE>\n{\n\tprotected _parent: DTableDataParent | null;\n\tprotected _nodes?: NODE[];\n\tprotected _rows: NODE[];\n\tprotected _isRowsDirty: boolean;\n\tprotected _supplimentals: DTableDataSupplimental[];\n\tprotected _flags: WeakMap<NODE, number>;\n\tprotected _filter: DTableDataTreeFilter<NODE>;\n\tprotected _sorter: DTableDataTreeSorter<NODE>;\n\tprotected _selection: DTableDataTreeSelection<NODE>;\n\tprotected _mapped: DTableDataMapped<NODE>;\n\tprotected _accessor: DTableDataTreeItemAccessor<NODE>;\n\tprotected _reverse: boolean;\n\n\tconstructor(options?: DTableDataTreeOptions<NODE>) {\n\t\tsuper();\n\n\t\tthis._parent = null;\n\t\tthis._accessor = this.toAccessor(options);\n\t\tthis._mapped = new DTableDataListMapped<NODE>(this);\n\t\tthis._rows = [];\n\t\tthis._isRowsDirty = false;\n\t\tthis._supplimentals = [];\n\t\tthis._flags = new WeakMap<NODE, number>();\n\t\tthis._reverse = !!options?.reverse;\n\t\tthis._selection = this.toSelection(options?.selection);\n\t\tthis._filter = new DTableDataTreeFilter<NODE>(this);\n\t\tthis._sorter = new DTableDataTreeSorter<NODE>();\n\n\t\tif (options) {\n\t\t\t// Filter\n\t\t\tconst filter = options.filter;\n\t\t\tif (filter) {\n\t\t\t\tthis._filter.set(filter);\n\t\t\t}\n\n\t\t\t// Events\n\t\t\tconst on = options.on;\n\t\t\tif (on) {\n\t\t\t\tfor (const name in on) {\n\t\t\t\t\tconst handler = on[name];\n\t\t\t\t\tif (handler) {\n\t\t\t\t\t\tthis.on(name, handler);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\t// Update rows\n\t\tthis.nodes = options?.nodes;\n\t}\n\n\tprotected toSelection(\n\t\toptions?:\n\t\t\t| DTableDataTreeSelection<NODE>\n\t\t\t| DTableDataTreeSelectionCreator<NODE>\n\t\t\t| DTableDataTreeSelectionOptions\n\t): DTableDataTreeSelection<NODE> {\n\t\tif (options instanceof utils.EventEmitter) {\n\t\t\treturn options;\n\t\t} else if (isFunction(options)) {\n\t\t\treturn options(this);\n\t\t}\n\t\treturn this.newSelection(options);\n\t}\n\n\tprotected newSelection(\n\t\toptions?: DTableDataTreeSelectionOptions\n\t): DTableDataTreeSelection<NODE> {\n\t\treturn new DTableDataTreeSelectionImpl(this, options);\n\t}\n\n\tprotected toAccessor(options?: DTableDataTreeOptions<NODE>): DTableDataTreeItemAccessor<NODE> {\n\t\treturn new DTableDataTreeItemAccessor(options);\n\t}\n\n\tbind(parent: DTableDataParent): void {\n\t\tthis._parent = parent;\n\t}\n\n\tget nodes(): NODE[] | undefined {\n\t\treturn this._nodes;\n\t}\n\n\tset nodes(nodes: NODE[] | undefined) {\n\t\tthis._nodes = nodes;\n\t\tthis._isRowsDirty = true;\n\t\tthis._selection.onNodeChange(nodes);\n\t\tthis._filter.toDirty();\n\t\tthis.update(true);\n\t}\n\n\tget rows(): NODE[] {\n\t\tif (this._isRowsDirty) {\n\t\t\tthis._isRowsDirty = false;\n\t\t\tthis.updateRows(this._nodes);\n\t\t}\n\t\treturn this._rows;\n\t}\n\n\tget supplimentals(): DTableDataSupplimental[] {\n\t\treturn this._supplimentals;\n\t}\n\n\tget accessor(): DTableDataTreeItemAccessor<NODE> {\n\t\treturn this._accessor;\n\t}\n\n\tprotected updateRows(nodes: NODE[] | undefined): void {\n\t\tconst rows = this._rows;\n\t\tconst supplimentals = this._supplimentals;\n\t\tconst flags = this._flags;\n\t\tif (nodes != null) {\n\t\t\tconst accessor = this._accessor;\n\t\t\tconst irows = this.newRows(\n\t\t\t\tnodes,\n\t\t\t\t0,\n\t\t\t\t0,\n\t\t\t\trows,\n\t\t\t\tsupplimentals,\n\t\t\t\tflags,\n\t\t\t\tthis._reverse,\n\t\t\t\taccessor.toChildren,\n\t\t\t\taccessor.hasChildren\n\t\t\t);\n\t\t\tif (irows !== rows.length) {\n\t\t\t\trows.length = irows;\n\t\t\t\tsupplimentals.length = irows;\n\t\t\t}\n\t\t} else {\n\t\t\trows.length = 0;\n\t\t\tsupplimentals.length = 0;\n\t\t}\n\t}\n\n\tprotected toSupplimental(\n\t\tilevel: number,\n\t\thasChildren: boolean,\n\t\tisOpened: boolean\n\t): DTableDataSupplimental {\n\t\treturn (ilevel << 2) | (hasChildren ? 2 : 0) | (isOpened ? 1 : 0);\n\t}\n\n\tprotected newRows(\n\t\tnodes: NODE[],\n\t\tirows: number,\n\t\tilevel: number,\n\t\trows: NODE[],\n\t\tsupplimentals: DTableDataSupplimental[],\n\t\tflags: WeakMap<NODE, number>,\n\t\treverse: boolean,\n\t\ttoChildren: DTableDataTreeItemAccessorToChildren<NODE>,\n\t\thasChildren: DTableDataTreeItemAccessorHasChildren<NODE>\n\t): number {\n\t\tconst nodesLength = nodes.length;\n\t\tconst istart = reverse ? nodesLength - 1 : 0;\n\t\tconst idelta = reverse ? -1 : +1;\n\t\tfor (let i = istart; 0 <= i && i < nodesLength; i += idelta) {\n\t\t\tconst node = nodes[i];\n\t\t\tconst children = toChildren(node);\n\t\t\tconst isOpened = flags.has(node);\n\t\t\tconst supplimental = this.toSupplimental(ilevel, hasChildren(node, children), isOpened);\n\t\t\tif (irows < rows.length) {\n\t\t\t\trows[irows] = node;\n\t\t\t\tsupplimentals[irows] = supplimental;\n\t\t\t} else {\n\t\t\t\trows.push(node);\n\t\t\t\tsupplimentals.push(supplimental);\n\t\t\t}\n\t\t\tirows += 1;\n\n\t\t\tif (isOpened && children) {\n\t\t\t\tirows = this.newRows(\n\t\t\t\t\tchildren,\n\t\t\t\t\tirows,\n\t\t\t\t\tilevel + 1,\n\t\t\t\t\trows,\n\t\t\t\t\tsupplimentals,\n\t\t\t\t\tflags,\n\t\t\t\t\treverse,\n\t\t\t\t\ttoChildren,\n\t\t\t\t\thasChildren\n\t\t\t\t);\n\t\t\t}\n\t\t}\n\t\treturn irows;\n\t}\n\n\tupdate(forcibly?: boolean): void {\n\t\tconst parent = this._parent;\n\t\tif (parent) {\n\t\t\tparent.update(forcibly);\n\t\t}\n\t}\n\n\tsize(): number {\n\t\treturn this.rows.length;\n\t}\n\n\tget(index: number): NODE | null {\n\t\tconst rows = this.rows;\n\t\tif (0 <= index && index < rows.length) {\n\t\t\treturn rows[index];\n\t\t}\n\t\treturn null;\n\t}\n\n\texpand(node: NODE): boolean {\n\t\tconst flags = this._flags;\n\t\tif (!flags.has(node)) {\n\t\t\tflags.set(node, 1);\n\t\t\tthis._isRowsDirty = true;\n\t\t\tthis._filter.toDirty();\n\t\t\tthis.update(true);\n\t\t\treturn true;\n\t\t}\n\t\treturn false;\n\t}\n\n\tcollapse(node: NODE): boolean {\n\t\tconst flags = this._flags;\n\t\tif (flags.has(node)) {\n\t\t\tflags.delete(node);\n\t\t\tthis._isRowsDirty = true;\n\t\t\tthis._filter.toDirty();\n\t\t\tthis.update(true);\n\t\t\treturn true;\n\t\t}\n\t\treturn false;\n\t}\n\n\tisCollapsed(node: NODE): boolean {\n\t\treturn !this._flags.has(node);\n\t}\n\n\tisExpanded(node: NODE): boolean {\n\t\treturn this._flags.has(node);\n\t}\n\n\ttoggle(node: NODE): boolean {\n\t\tif (this.isExpanded(node)) {\n\t\t\treturn this.collapse(node);\n\t\t} else {\n\t\t\treturn this.expand(node);\n\t\t}\n\t}\n\n\t/** @deprecated in favor of {@link expand}. */\n\topen(node: NODE): boolean {\n\t\treturn this.expand(node);\n\t}\n\n\t/** @deprecated in favor of {@link collapse}. */\n\tclose(node: NODE): boolean {\n\t\treturn this.collapse(node);\n\t}\n\n\t/** @deprecated in favor of {@link isExpanded}. */\n\tisOpened(node: NODE): boolean {\n\t\treturn this.isExpanded(node);\n\t}\n\n\teach(\n\t\titeratee: (node: NODE, index: number) => boolean | void,\n\t\tifrom?: number,\n\t\tito?: number\n\t): void {\n\t\tconst rows = this.rows;\n\t\tifrom = ifrom != null ? Math.max(0, ifrom) : 0;\n\t\tito = ito != null ? Math.min(rows.length, ito) : rows.length;\n\t\tfor (let i = ifrom; i < ito; ++i) {\n\t\t\tconst row = rows[i];\n\t\t\tif (iteratee(row, i) === false) {\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\t}\n\n\tget selection(): DTableDataSelection<NODE> {\n\t\treturn this._selection;\n\t}\n\n\tget filter(): DTableDataFilter<NODE> {\n\t\treturn this._filter;\n\t}\n\n\tget sorter(): DTableDataSorter<NODE> {\n\t\treturn this._sorter;\n\t}\n\n\tget mapped(): DTableDataMapped<NODE> {\n\t\treturn this._mapped;\n\t}\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"d-table-data.js","sourceRoot":"","sources":["../../../src/main/typescript/wcardinal/ui/d-table-data.ts"],"names":[],"mappings":"","sourcesContent":["import { utils } from \"pixi.js\";\nimport { DBaseOnOptions } from \"./d-base\";\nimport { DTableDataFilter, DTableDataFilterer } from \"./d-table-data-filter\";\nimport {\n\tDTableDataSelection,\n\tDTableDataSelectionCreator,\n\tDTableDataSelectionOptions\n} from \"./d-table-data-selection\";\nimport { DTableDataComparator, DTableDataSorter } from \"./d-table-data-sorter\";\n\nexport type DTableDataMappedEachIteratee<ROW> = (\n\trow: ROW,\n\tsupplimental: unknown,\n\tindex: number,\n\tunmappedIndex: number\n) => void | boolean;\n\nexport interface DTableDataMapped<ROW> {\n\t/**\n\t * Mapped rows.\n\t */\n\treadonly rows: ROW[];\n\n\t/**\n\t * Returns an mapped index of the specified unmapped index.\n\t * A mapped index is an index on rows filters and sorters are applied.\n\t *\n\t * @param unmappedIndex a unmapped index\n\t */\n\tmap(unmappedIndex: number): number | null;\n\n\t/**\n\t * Returns an unmapped index of the specified mapped index.\n\t * A mapped index is an index on rows filters and sorters are applied.\n\t *\n\t * @param index a mapped index\n\t */\n\tunmap(index: number): number;\n\n\t/**\n\t * Returns a size of rows.\n\t */\n\tsize(): number;\n\n\t/**\n\t * Returns a row data at the specified index.\n\t * The index is an index on rows filters and sorters are applied.\n\t *\n\t * @param index a mapped index\n\t */\n\tget(index: number): ROW | null;\n\n\t/**\n\t * Calls the specified iteratee on each mapped datum of the specified index range.\n\t * If called iteratee explicitly returns false, stops an iteration.\n\t *\n\t * @param iteratee an function called on each mapped datum\n\t * @param ifrom an index to start an iteration\n\t * @param ito an index before which an interation stops\n\t */\n\teach(iteratee: DTableDataMappedEachIteratee<ROW>, ifrom?: number, iend?: number): void;\n}\n\nexport type DTableDataEachIteratee<ROW> = (row: ROW, index: number) => void | boolean;\n\nexport interface DTableDataOptions<ROW, EMITTER = any> {\n\t/**\n\t * Selection options.\n\t */\n\tselection?:\n\t\t| DTableDataSelection<ROW>\n\t\t| DTableDataSelectionCreator<ROW>\n\t\t| DTableDataSelectionOptions;\n\n\t/**\n\t * A filter.\n\t */\n\tfilter?: DTableDataFilterer<ROW>;\n\n\t/**\n\t * A comparator.\n\t */\n\tcomparator?: DTableDataComparator<ROW>;\n\n\t/**\n\t * Mappings of event names and event handlers.\n\t */\n\ton?: DBaseOnOptions<EMITTER>;\n}\n\nexport interface DTableDataParent {\n\tlock(): void;\n\tunlock(callIfNeeded: boolean): void;\n\tupdate(forcibly?: boolean): void;\n}\n\nexport interface DTableData<ROW> extends utils.EventEmitter {\n\t/**\n\t * A data selection.\n\t */\n\treadonly selection: DTableDataSelection<ROW>;\n\n\t/**\n\t * A data filter.\n\t */\n\treadonly filter: DTableDataFilter<ROW>;\n\n\t/**\n\t * A data sorter.\n\t */\n\treadonly sorter: DTableDataSorter<ROW>;\n\n\t/**\n\t * Sorted and filtered data.\n\t */\n\treadonly mapped: DTableDataMapped<ROW>;\n\n\tbind(parent: DTableDataParent): void;\n\n\t/**\n\t * Returns a size of rows.\n\t */\n\tsize(): number;\n\n\t/**\n\t * Returns a row data at the specified index.\n\t * The index is an index on rows filters and sorters are not applied.\n\t *\n\t * @param index an index on rows filters and sorters are not applied\n\t */\n\tget(index: number): ROW | null;\n\n\t/**\n\t * Calls the specified iteratee on each datum of the specified index range.\n\t * If called iteratee explicitly returns false, stops an iteration.\n\t *\n\t * @param iteratee an function called on each datum\n\t * @param ifrom an index to start an iteration\n\t * @param ito an index before which an interation stops\n\t */\n\teach(iteratee: DTableDataEachIteratee<ROW>, ifrom?: number, ito?: number): void;\n}\n"]}
1
+ {"version":3,"file":"d-table-data.js","sourceRoot":"","sources":["../../../src/main/typescript/wcardinal/ui/d-table-data.ts"],"names":[],"mappings":"","sourcesContent":["import { utils } from \"pixi.js\";\nimport { DBaseOnOptions } from \"./d-base\";\nimport { DTableDataFilter, DTableDataFilterer } from \"./d-table-data-filter\";\nimport {\n\tDTableDataSelection,\n\tDTableDataSelectionCreator,\n\tDTableDataSelectionOptions\n} from \"./d-table-data-selection\";\nimport { DTableDataComparator, DTableDataSorter } from \"./d-table-data-sorter\";\n\nexport type DTableDataSupplimental = number;\n\nexport type DTableDataMappedEachIteratee<ROW> = (\n\trow: ROW,\n\tsupplimental: DTableDataSupplimental | null,\n\tindex: number,\n\tunmappedIndex: number\n) => void | boolean;\n\nexport interface DTableDataMapped<ROW> {\n\t/**\n\t * Mapped rows.\n\t */\n\treadonly rows: ROW[];\n\n\t/**\n\t * Returns an mapped index of the specified unmapped index.\n\t * A mapped index is an index on rows filters and sorters are applied.\n\t *\n\t * @param unmappedIndex a unmapped index\n\t */\n\tmap(unmappedIndex: number): number | null;\n\n\t/**\n\t * Returns an unmapped index of the specified mapped index.\n\t * A mapped index is an index on rows filters and sorters are applied.\n\t *\n\t * @param index a mapped index\n\t */\n\tunmap(index: number): number;\n\n\t/**\n\t * Returns a size of rows.\n\t */\n\tsize(): number;\n\n\t/**\n\t * Returns a row data at the specified index.\n\t * The index is an index on rows filters and sorters are applied.\n\t *\n\t * @param index a mapped index\n\t */\n\tget(index: number): ROW | null;\n\n\t/**\n\t * Calls the specified iteratee on each mapped datum of the specified index range.\n\t * If called iteratee explicitly returns false, stops an iteration.\n\t *\n\t * @param iteratee an function called on each mapped datum\n\t * @param ifrom an index to start an iteration\n\t * @param ito an index before which an interation stops\n\t */\n\teach(iteratee: DTableDataMappedEachIteratee<ROW>, ifrom?: number, iend?: number): void;\n}\n\nexport type DTableDataEachIteratee<ROW> = (row: ROW, index: number) => void | boolean;\n\nexport interface DTableDataOptions<ROW, EMITTER = any> {\n\t/**\n\t * Selection options.\n\t */\n\tselection?:\n\t\t| DTableDataSelection<ROW>\n\t\t| DTableDataSelectionCreator<ROW>\n\t\t| DTableDataSelectionOptions;\n\n\t/**\n\t * A filter.\n\t */\n\tfilter?: DTableDataFilterer<ROW>;\n\n\t/**\n\t * A comparator.\n\t */\n\tcomparator?: DTableDataComparator<ROW>;\n\n\t/**\n\t * Mappings of event names and event handlers.\n\t */\n\ton?: DBaseOnOptions<EMITTER>;\n}\n\nexport interface DTableDataParent {\n\tlock(): void;\n\tunlock(callIfNeeded: boolean): void;\n\tupdate(forcibly?: boolean): void;\n}\n\nexport interface DTableData<ROW> extends utils.EventEmitter {\n\t/**\n\t * A data selection.\n\t */\n\treadonly selection: DTableDataSelection<ROW>;\n\n\t/**\n\t * A data filter.\n\t */\n\treadonly filter: DTableDataFilter<ROW>;\n\n\t/**\n\t * A data sorter.\n\t */\n\treadonly sorter: DTableDataSorter<ROW>;\n\n\t/**\n\t * Sorted and filtered data.\n\t */\n\treadonly mapped: DTableDataMapped<ROW>;\n\n\tbind(parent: DTableDataParent): void;\n\n\t/**\n\t * Returns a size of rows.\n\t */\n\tsize(): number;\n\n\t/**\n\t * Returns a row data at the specified index.\n\t * The index is an index on rows filters and sorters are not applied.\n\t *\n\t * @param index an index on rows filters and sorters are not applied\n\t */\n\tget(index: number): ROW | null;\n\n\t/**\n\t * Calls the specified iteratee on each datum of the specified index range.\n\t * If called iteratee explicitly returns false, stops an iteration.\n\t *\n\t * @param iteratee an function called on each datum\n\t * @param ifrom an index to start an iteration\n\t * @param ito an index before which an interation stops\n\t */\n\teach(iteratee: DTableDataEachIteratee<ROW>, ifrom?: number, ito?: number): void;\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"d-table-header-cell-check.js","sourceRoot":"","sources":["../../../src/main/typescript/wcardinal/ui/d-table-header-cell-check.ts"],"names":[],"mappings":"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","sourcesContent":["import { DTableColumn } from \"./d-table-column\";\nimport { DTableHeaderTable } from \"./d-table-header\";\nimport { DTableHeaderCellHeader } from \"./d-table-header-cell\";\n\nexport interface DTableHeaderCellCheckOptions {\n\tenable?: boolean;\n\tfilterable?: boolean;\n\temittable?: boolean;\n}\n\nexport interface DTableHeaderCellCheckParent<ROW> {\n\treadonly column?: DTableColumn<ROW, unknown>;\n\treadonly columnIndex?: number;\n\treadonly header?: DTableHeaderCellHeader<ROW>;\n}\n\nexport class DTableHeaderCellCheck<ROW> {\n\tprotected _parent: DTableHeaderCellCheckParent<ROW>;\n\tprotected _isEnabled: boolean;\n\tprotected _isFilterable: boolean;\n\tprotected _isEmittable: boolean;\n\n\tconstructor(parent: DTableHeaderCellCheckParent<ROW>, options?: DTableHeaderCellCheckOptions) {\n\t\tthis._parent = parent;\n\t\tthis._isEnabled = options?.enable ?? false;\n\t\tthis._isFilterable = options?.filterable ?? true;\n\t\tthis._isEmittable = options?.emittable ?? true;\n\t}\n\n\tget isEnabled(): boolean {\n\t\treturn this._isEnabled;\n\t}\n\n\tget isFilterable(): boolean {\n\t\treturn this._isFilterable;\n\t}\n\n\tset isFilterable(isFilterable: boolean) {\n\t\tthis._isFilterable = isFilterable;\n\t}\n\n\tget isEmittable(): boolean {\n\t\treturn this._isEmittable;\n\t}\n\n\tset isEmittable(isEmittable: boolean) {\n\t\tthis._isEmittable = isEmittable;\n\t}\n\n\tprotected newIteratee(\n\t\ttable: DTableHeaderTable<ROW>,\n\t\tisChecked: boolean\n\t): ((row: ROW, rowIndex: number) => boolean) | null {\n\t\tconst parent = this._parent;\n\t\tconst column = parent.column;\n\t\tconst columnIndex = parent.columnIndex;\n\t\tif (column != null && columnIndex != null) {\n\t\t\tconst getter = column.getter;\n\t\t\tconst setter = column.setter;\n\t\t\tif (this._isEmittable) {\n\t\t\t\tconst data = table.data;\n\t\t\t\treturn (row: ROW, rowIndex: number): boolean => {\n\t\t\t\t\tif (getter(row, columnIndex) !== isChecked) {\n\t\t\t\t\t\tsetter(row, columnIndex, isChecked);\n\t\t\t\t\t\tdata.emit(\n\t\t\t\t\t\t\t\"change\",\n\t\t\t\t\t\t\tisChecked,\n\t\t\t\t\t\t\t!isChecked,\n\t\t\t\t\t\t\trow,\n\t\t\t\t\t\t\trowIndex,\n\t\t\t\t\t\t\tcolumnIndex,\n\t\t\t\t\t\t\tdata\n\t\t\t\t\t\t);\n\t\t\t\t\t\treturn true;\n\t\t\t\t\t}\n\t\t\t\t\treturn false;\n\t\t\t\t};\n\t\t\t} else {\n\t\t\t\treturn (row: ROW): boolean => {\n\t\t\t\t\tif (getter(row, columnIndex) !== isChecked) {\n\t\t\t\t\t\tsetter(row, columnIndex, isChecked);\n\t\t\t\t\t\treturn true;\n\t\t\t\t\t}\n\t\t\t\t\treturn false;\n\t\t\t\t};\n\t\t\t}\n\t\t}\n\t\treturn null;\n\t}\n\n\tpublic execute(isChecked: boolean): void {\n\t\tconst table = this._parent.header?.table;\n\t\tif (table) {\n\t\t\tconst iteratee = this.newIteratee(table, isChecked);\n\t\t\tif (iteratee) {\n\t\t\t\tlet isChanged = false;\n\t\t\t\tif (this._isFilterable) {\n\t\t\t\t\ttable.data.mapped.each(\n\t\t\t\t\t\t(\n\t\t\t\t\t\t\trow: ROW,\n\t\t\t\t\t\t\tsupplimental: unknown,\n\t\t\t\t\t\t\tindex: number,\n\t\t\t\t\t\t\tunmappedIndex: number\n\t\t\t\t\t\t): void => {\n\t\t\t\t\t\t\tif (iteratee(row, unmappedIndex)) {\n\t\t\t\t\t\t\t\tisChanged = true;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t);\n\t\t\t\t} else {\n\t\t\t\t\ttable.data.each((row: ROW, index: number): void => {\n\t\t\t\t\t\tif (iteratee(row, index)) {\n\t\t\t\t\t\t\tisChanged = true;\n\t\t\t\t\t\t}\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t\tif (isChanged) {\n\t\t\t\t\ttable.body.update(true);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n}\n"]}
1
+ {"version":3,"file":"d-table-header-cell-check.js","sourceRoot":"","sources":["../../../src/main/typescript/wcardinal/ui/d-table-header-cell-check.ts"],"names":[],"mappings":"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","sourcesContent":["import { DTableColumn } from \"./d-table-column\";\nimport { DTableDataSupplimental } from \"./d-table-data\";\nimport { DTableHeaderTable } from \"./d-table-header\";\nimport { DTableHeaderCellHeader } from \"./d-table-header-cell\";\n\nexport interface DTableHeaderCellCheckOptions {\n\tenable?: boolean;\n\tfilterable?: boolean;\n\temittable?: boolean;\n}\n\nexport interface DTableHeaderCellCheckParent<ROW> {\n\treadonly column?: DTableColumn<ROW, unknown>;\n\treadonly columnIndex?: number;\n\treadonly header?: DTableHeaderCellHeader<ROW>;\n}\n\nexport class DTableHeaderCellCheck<ROW> {\n\tprotected _parent: DTableHeaderCellCheckParent<ROW>;\n\tprotected _isEnabled: boolean;\n\tprotected _isFilterable: boolean;\n\tprotected _isEmittable: boolean;\n\n\tconstructor(parent: DTableHeaderCellCheckParent<ROW>, options?: DTableHeaderCellCheckOptions) {\n\t\tthis._parent = parent;\n\t\tthis._isEnabled = options?.enable ?? false;\n\t\tthis._isFilterable = options?.filterable ?? true;\n\t\tthis._isEmittable = options?.emittable ?? true;\n\t}\n\n\tget isEnabled(): boolean {\n\t\treturn this._isEnabled;\n\t}\n\n\tget isFilterable(): boolean {\n\t\treturn this._isFilterable;\n\t}\n\n\tset isFilterable(isFilterable: boolean) {\n\t\tthis._isFilterable = isFilterable;\n\t}\n\n\tget isEmittable(): boolean {\n\t\treturn this._isEmittable;\n\t}\n\n\tset isEmittable(isEmittable: boolean) {\n\t\tthis._isEmittable = isEmittable;\n\t}\n\n\tprotected newIteratee(\n\t\ttable: DTableHeaderTable<ROW>,\n\t\tisChecked: boolean\n\t): ((row: ROW, rowIndex: number) => boolean) | null {\n\t\tconst parent = this._parent;\n\t\tconst column = parent.column;\n\t\tconst columnIndex = parent.columnIndex;\n\t\tif (column != null && columnIndex != null) {\n\t\t\tconst getter = column.getter;\n\t\t\tconst setter = column.setter;\n\t\t\tif (this._isEmittable) {\n\t\t\t\tconst data = table.data;\n\t\t\t\treturn (row: ROW, rowIndex: number): boolean => {\n\t\t\t\t\tif (getter(row, columnIndex) !== isChecked) {\n\t\t\t\t\t\tsetter(row, columnIndex, isChecked);\n\t\t\t\t\t\tdata.emit(\n\t\t\t\t\t\t\t\"change\",\n\t\t\t\t\t\t\tisChecked,\n\t\t\t\t\t\t\t!isChecked,\n\t\t\t\t\t\t\trow,\n\t\t\t\t\t\t\trowIndex,\n\t\t\t\t\t\t\tcolumnIndex,\n\t\t\t\t\t\t\tdata\n\t\t\t\t\t\t);\n\t\t\t\t\t\treturn true;\n\t\t\t\t\t}\n\t\t\t\t\treturn false;\n\t\t\t\t};\n\t\t\t} else {\n\t\t\t\treturn (row: ROW): boolean => {\n\t\t\t\t\tif (getter(row, columnIndex) !== isChecked) {\n\t\t\t\t\t\tsetter(row, columnIndex, isChecked);\n\t\t\t\t\t\treturn true;\n\t\t\t\t\t}\n\t\t\t\t\treturn false;\n\t\t\t\t};\n\t\t\t}\n\t\t}\n\t\treturn null;\n\t}\n\n\tpublic execute(isChecked: boolean): void {\n\t\tconst table = this._parent.header?.table;\n\t\tif (table) {\n\t\t\tconst iteratee = this.newIteratee(table, isChecked);\n\t\t\tif (iteratee) {\n\t\t\t\tlet isChanged = false;\n\t\t\t\tif (this._isFilterable) {\n\t\t\t\t\ttable.data.mapped.each(\n\t\t\t\t\t\t(\n\t\t\t\t\t\t\trow: ROW,\n\t\t\t\t\t\t\tsupplimental: DTableDataSupplimental | null,\n\t\t\t\t\t\t\tindex: number,\n\t\t\t\t\t\t\tunmappedIndex: number\n\t\t\t\t\t\t): void => {\n\t\t\t\t\t\t\tif (iteratee(row, unmappedIndex)) {\n\t\t\t\t\t\t\t\tisChanged = true;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t);\n\t\t\t\t} else {\n\t\t\t\t\ttable.data.each((row: ROW, index: number): void => {\n\t\t\t\t\t\tif (iteratee(row, index)) {\n\t\t\t\t\t\t\tisChanged = true;\n\t\t\t\t\t\t}\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t\tif (isChanged) {\n\t\t\t\t\ttable.body.update(true);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n}\n"]}