aa-ledger 1.0.3__py3-none-any.whl → 2.0.0__py3-none-any.whl

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 (280) hide show
  1. {aa_ledger-1.0.3.dist-info → aa_ledger-2.0.0.dist-info}/METADATA +6 -6
  2. aa_ledger-2.0.0.dist-info/RECORD +267 -0
  3. {aa_ledger-1.0.3.dist-info → aa_ledger-2.0.0.dist-info}/WHEEL +1 -1
  4. ledger/__init__.py +2 -2
  5. ledger/admin.py +23 -18
  6. ledger/api/__init__.py +23 -7
  7. ledger/api/{ledger/admin.py → admin.py} +25 -31
  8. ledger/api/alliance.py +755 -0
  9. ledger/api/character.py +786 -0
  10. ledger/api/corporation.py +1141 -0
  11. ledger/api/{helpers.py → helpers/core.py} +33 -33
  12. ledger/api/helpers/icons.py +372 -0
  13. ledger/api/helpers/planetary_helper.py +354 -0
  14. ledger/api/planetary.py +354 -0
  15. ledger/api/schema.py +240 -15
  16. ledger/app_settings.py +18 -26
  17. ledger/auth_hooks.py +2 -2
  18. ledger/constants.py +50 -177
  19. ledger/decorators.py +2 -46
  20. ledger/forms.py +133 -39
  21. ledger/helpers/billboard.py +194 -144
  22. ledger/helpers/cache.py +105 -0
  23. ledger/helpers/discord.py +2 -4
  24. ledger/helpers/eveonline.py +160 -0
  25. ledger/helpers/ledger_data.py +23 -0
  26. ledger/helpers/ref_type.py +53 -78
  27. ledger/locale/cs_CZ/LC_MESSAGES/django.mo +0 -0
  28. ledger/locale/cs_CZ/LC_MESSAGES/django.po +349 -193
  29. ledger/locale/de/LC_MESSAGES/django.mo +0 -0
  30. ledger/locale/de/LC_MESSAGES/django.po +528 -379
  31. ledger/locale/django.pot +717 -553
  32. ledger/locale/es/LC_MESSAGES/django.mo +0 -0
  33. ledger/locale/es/LC_MESSAGES/django.po +349 -194
  34. ledger/locale/fr_FR/LC_MESSAGES/django.mo +0 -0
  35. ledger/locale/fr_FR/LC_MESSAGES/django.po +349 -193
  36. ledger/locale/it_IT/LC_MESSAGES/django.mo +0 -0
  37. ledger/locale/it_IT/LC_MESSAGES/django.po +349 -193
  38. ledger/locale/ja/LC_MESSAGES/django.mo +0 -0
  39. ledger/locale/ja/LC_MESSAGES/django.po +348 -193
  40. ledger/locale/ko_KR/LC_MESSAGES/django.mo +0 -0
  41. ledger/locale/ko_KR/LC_MESSAGES/django.po +349 -193
  42. ledger/locale/nl_NL/LC_MESSAGES/django.mo +0 -0
  43. ledger/locale/nl_NL/LC_MESSAGES/django.po +349 -193
  44. ledger/locale/pl_PL/LC_MESSAGES/django.mo +0 -0
  45. ledger/locale/pl_PL/LC_MESSAGES/django.po +350 -193
  46. ledger/locale/ru/LC_MESSAGES/django.mo +0 -0
  47. ledger/locale/ru/LC_MESSAGES/django.po +348 -193
  48. ledger/locale/sk/LC_MESSAGES/django.mo +0 -0
  49. ledger/locale/sk/LC_MESSAGES/django.po +348 -193
  50. ledger/locale/uk/LC_MESSAGES/django.mo +0 -0
  51. ledger/locale/uk/LC_MESSAGES/django.po +348 -193
  52. ledger/locale/zh_Hans/LC_MESSAGES/django.mo +0 -0
  53. ledger/locale/zh_Hans/LC_MESSAGES/django.po +348 -193
  54. ledger/managers/character_audit_manager.py +28 -20
  55. ledger/managers/character_journal_manager.py +187 -358
  56. ledger/managers/character_mining_manager.py +64 -30
  57. ledger/managers/character_planetary_manager.py +185 -138
  58. ledger/managers/corporation_audit_manager.py +36 -27
  59. ledger/managers/corporation_journal_manager.py +94 -57
  60. ledger/managers/general_manager.py +12 -8
  61. ledger/migrations/0018_remove_characterplanet_ledger_char_planet__58a5b6_idx_and_more.py +44 -0
  62. ledger/migrations/0019_rename_characteraudit_characterowner_and_more.py +48 -0
  63. ledger/models/__init__.py +5 -11
  64. ledger/models/characteraudit.py +101 -109
  65. ledger/models/corporationaudit.py +94 -49
  66. ledger/models/general.py +105 -211
  67. ledger/models/helpers/update_manager.py +302 -0
  68. ledger/models/planetary.py +60 -205
  69. ledger/providers.py +101 -0
  70. ledger/static/ledger/css/{ledger.css → aa-ledger.css} +54 -28
  71. ledger/static/ledger/js/aa-ledger.js +124 -0
  72. ledger/static/ledger/js/charts.js +25 -1
  73. ledger/static/ledger/js/view-alliance-ledger.js +383 -0
  74. ledger/static/ledger/js/view-character-ledger.js +388 -0
  75. ledger/static/ledger/js/view-corporation-ledger.js +402 -0
  76. ledger/static/ledger/js/view-planetary.js +492 -0
  77. ledger/static/ledger/libs/amCharts/5.14.4/js/flow.js +2 -0
  78. ledger/static/ledger/libs/amCharts/5.14.4/js/index.js +2 -0
  79. ledger/static/ledger/libs/amCharts/5.14.4/js/percent.js +2 -0
  80. ledger/static/ledger/libs/amCharts/5.14.4/js/themes/Animated.js +2 -0
  81. ledger/static/ledger/libs/amCharts/5.14.4/js/themes/Dark.js +2 -0
  82. ledger/static/ledger/libs/amCharts/5.14.4/js/xy.js +2 -0
  83. ledger/static/ledger/libs/datatables/2.3.5/css/dataTables.bootstrap5.css +610 -0
  84. ledger/static/ledger/libs/datatables/2.3.5/js/dataTables.bootstrap5.js +122 -0
  85. ledger/static/ledger/libs/datatables/2.3.5/js/dataTables.js +14127 -0
  86. ledger/static/ledger/libs/datatables/Extensions/ColumnControl/1.1.1/css/columnControl.bootstrap5.css +516 -0
  87. ledger/static/ledger/libs/datatables/Extensions/ColumnControl/1.1.1/css/columnControl.dataTables.css +529 -0
  88. ledger/static/ledger/libs/datatables/Extensions/ColumnControl/1.1.1/js/columnControl.bootstrap5.js +73 -0
  89. ledger/static/ledger/libs/datatables/Extensions/ColumnControl/1.1.1/js/dataTables.columnControl.js +3090 -0
  90. ledger/static/ledger/libs/datatables/Extensions/FixedHeader/4.0.4/css/fixedHeader.bootstrap5.css +20 -0
  91. ledger/static/ledger/libs/datatables/Extensions/FixedHeader/4.0.4/js/dataTables.fixedHeader.js +1203 -0
  92. ledger/static/ledger/libs/datatables/Extensions/FixedHeader/4.0.4/js/fixedHeader.bootstrap5.js +59 -0
  93. ledger/tasks.py +157 -146
  94. ledger/templates/ledger/base.html +59 -21
  95. ledger/templates/ledger/bundles/aa-ledger-css.html +3 -0
  96. ledger/templates/ledger/bundles/aa-ledger-js.html +3 -0
  97. ledger/templates/ledger/bundles/view-alliance-ledger-js.html +14 -0
  98. ledger/templates/ledger/bundles/view-character-ledger-js.html +15 -0
  99. ledger/templates/ledger/bundles/view-character-planetary-css.html +3 -0
  100. ledger/templates/ledger/bundles/view-character-planetary-js.html +4 -0
  101. ledger/templates/ledger/bundles/view-corporation-ledger-js.html +15 -0
  102. ledger/templates/ledger/partials/modal/confirm.html +0 -1
  103. ledger/templates/ledger/partials/modal/request-accept-delete-alliance.html +38 -0
  104. ledger/templates/ledger/partials/modal/request-accept-delete-character.html +38 -0
  105. ledger/templates/ledger/partials/modal/request-accept-delete-corporation.html +38 -0
  106. ledger/templates/ledger/partials/modal/request-accept-switch-notification.html +38 -0
  107. ledger/templates/ledger/partials/modal/request-view-alliance-details.html +26 -0
  108. ledger/templates/ledger/partials/modal/request-view-character-details.html +26 -0
  109. ledger/templates/ledger/partials/modal/request-view-corporation-details.html +26 -0
  110. ledger/templates/ledger/partials/modal/request-view-extractor.html +32 -0
  111. ledger/templates/ledger/partials/modal/request-view-factory.html +31 -0
  112. ledger/templates/ledger/partials/{menu → navigation}/administration.html +8 -0
  113. ledger/templates/ledger/partials/{menu → navigation}/navigation.html +2 -2
  114. ledger/templates/ledger/partials/{administration → view-alliance-administration}/alliance_corporations.html +3 -3
  115. ledger/templates/ledger/partials/view-alliance-administration/dashboard.html +81 -0
  116. ledger/templates/ledger/partials/view-alliance-ledger/alliance-billboard.html +25 -0
  117. ledger/templates/ledger/partials/view-alliance-ledger/alliance-ledger-details.html +21 -0
  118. ledger/templates/ledger/partials/view-alliance-ledger/alliance-table.html +24 -0
  119. ledger/templates/ledger/partials/view-alliance-ledger/information/daily.html +18 -0
  120. ledger/templates/ledger/partials/view-alliance-ledger/information/hourly.html +18 -0
  121. ledger/templates/ledger/partials/view-alliance-ledger/information/summary.html +19 -0
  122. ledger/templates/ledger/partials/{administration → view-character-administration}/character.html +1 -9
  123. ledger/templates/ledger/partials/{administration → view-character-administration}/dashboard.html +0 -34
  124. ledger/templates/ledger/partials/view-character-ledger/character-billboard.html +25 -0
  125. ledger/templates/ledger/partials/view-character-ledger/character-ledger-details.html +21 -0
  126. ledger/templates/ledger/partials/view-character-ledger/character-table.html +25 -0
  127. ledger/templates/ledger/partials/view-character-ledger/information/daily.html +18 -0
  128. ledger/templates/ledger/partials/view-character-ledger/information/hourly.html +18 -0
  129. ledger/templates/ledger/partials/view-character-ledger/information/summary.html +19 -0
  130. ledger/templates/ledger/partials/view-character-planetary/extractor-table.html +24 -0
  131. ledger/templates/ledger/partials/view-character-planetary/factory-table.html +24 -0
  132. ledger/templates/ledger/partials/view-character-planetary/planetary-table.html +22 -0
  133. ledger/templates/ledger/partials/view-character-planetary/storage-table.html +23 -0
  134. ledger/templates/ledger/partials/{administration → view-corporation-administration}/corporation.html +5 -13
  135. ledger/templates/ledger/partials/{administration → view-corporation-administration}/corporation_characters.html +1 -1
  136. ledger/templates/ledger/partials/view-corporation-administration/dashboard.html +81 -0
  137. ledger/templates/ledger/partials/view-corporation-ledger/corporation-billboard.html +25 -0
  138. ledger/templates/ledger/partials/view-corporation-ledger/corporation-ledger-details.html +21 -0
  139. ledger/templates/ledger/partials/view-corporation-ledger/corporation-table.html +26 -0
  140. ledger/templates/ledger/partials/view-corporation-ledger/information/daily.html +18 -0
  141. ledger/templates/ledger/partials/view-corporation-ledger/information/hourly.html +18 -0
  142. ledger/templates/ledger/partials/view-corporation-ledger/information/summary.html +19 -0
  143. ledger/templates/ledger/view-administration.html +62 -0
  144. ledger/templates/ledger/view-alliance-administration.html +49 -0
  145. ledger/templates/ledger/view-alliance-ledger.html +72 -0
  146. ledger/templates/ledger/view-alliance-overview.html +131 -0
  147. ledger/templates/ledger/view-character-administration.html +42 -0
  148. ledger/templates/ledger/view-character-ledger.html +73 -0
  149. ledger/templates/ledger/view-character-overview.html +135 -0
  150. ledger/templates/ledger/view-character-planetary-overview.html +135 -0
  151. ledger/templates/ledger/view-character-planetary.html +73 -0
  152. ledger/templates/ledger/view-corporation-administration.html +42 -0
  153. ledger/templates/ledger/view-corporation-ledger.html +73 -0
  154. ledger/templates/ledger/view-corporation-overview.html +131 -0
  155. ledger/templatetags/ledger.py +3 -5
  156. ledger/tests/__init__.py +187 -0
  157. ledger/tests/test_admin.py +164 -68
  158. ledger/tests/test_auth_hook.py +31 -13
  159. ledger/tests/test_decarators.py +14 -79
  160. ledger/tests/test_discord_installed.py +0 -1
  161. ledger/tests/test_helpers/test_ledger_data.py +19 -0
  162. ledger/tests/test_managers/test_character_audit_manager.py +111 -69
  163. ledger/tests/test_managers/test_character_journal_manager.py +48 -208
  164. ledger/tests/test_managers/test_character_mining_manager.py +37 -16
  165. ledger/tests/test_managers/test_corporation_division_manager.py +66 -28
  166. ledger/tests/test_managers/test_corporation_journal_manager.py +39 -42
  167. ledger/tests/test_managers/test_general_manager.py +78 -18
  168. ledger/tests/test_managers/test_planetary_manager.py +73 -32
  169. ledger/tests/test_models/test_characteraudit.py +58 -74
  170. ledger/tests/test_models/test_characterminingledger.py +20 -26
  171. ledger/tests/test_models/test_characterwalletjournal.py +10 -33
  172. ledger/tests/test_models/test_corporationaudit.py +41 -35
  173. ledger/tests/test_models/test_corporationwalletjournal.py +35 -32
  174. ledger/tests/test_models/test_general.py +44 -11
  175. ledger/tests/test_models/test_planetary.py +14 -80
  176. ledger/tests/test_templatetags.py +2 -7
  177. ledger/tests/test_views/corporation/test_add_corp.py +16 -35
  178. ledger/tests/test_views/corporation/test_delete_corporation.py +66 -42
  179. ledger/tests/test_views/test_access.py +512 -545
  180. ledger/tests/test_views/test_add_ally.py +57 -46
  181. ledger/tests/test_views/test_add_char.py +21 -33
  182. ledger/tests/test_views/test_delete_character.py +24 -21
  183. ledger/tests/testdata/README_ESI_STUB.md +430 -0
  184. ledger/tests/testdata/esi_stub_openapi.py +511 -0
  185. ledger/tests/testdata/integrations/__init__.py +0 -0
  186. ledger/tests/testdata/{load_eveuniverse.py → integrations/eveuniverse.py} +0 -1
  187. ledger/tests/testdata/integrations/planetary.py +13 -0
  188. ledger/tests/testdata/json/factory.json +281 -0
  189. ledger/tests/testdata/json/inactive.json +281 -0
  190. ledger/tests/testdata/json/pins.json +175 -272
  191. ledger/tests/testdata/json/route.json +95 -528
  192. ledger/tests/testdata/test_esi_stub.py +468 -0
  193. ledger/tests/testdata/utils.py +601 -0
  194. ledger/thirdparty/charlink_hook.py +60 -30
  195. ledger/urls.py +0 -135
  196. ledger/views/alliance/add_ally.py +2 -4
  197. ledger/views/alliance/alliance_ledger.py +64 -147
  198. ledger/views/character/add_char.py +8 -10
  199. ledger/views/character/character_ledger.py +60 -126
  200. ledger/views/character/planetary.py +5 -98
  201. ledger/views/corporation/add_corp.py +10 -12
  202. ledger/views/corporation/corporation_ledger.py +65 -327
  203. ledger/views/index.py +92 -30
  204. aa_ledger-1.0.3.dist-info/RECORD +0 -236
  205. ledger/api/api_helper/planetary_helper.py +0 -107
  206. ledger/api/ledger/__init__.py +0 -7
  207. ledger/api/ledger/planetary.py +0 -231
  208. ledger/helpers/alliance.py +0 -317
  209. ledger/helpers/character.py +0 -251
  210. ledger/helpers/core.py +0 -665
  211. ledger/helpers/corporation.py +0 -427
  212. ledger/helpers/data_exporter.py +0 -452
  213. ledger/static/ledger/js/planetary-confirm.js +0 -66
  214. ledger/static/ledger/js/planetary.js +0 -143
  215. ledger/templates/ledger/admin.html +0 -43
  216. ledger/templates/ledger/allyledger/admin/alliance_administration.html +0 -46
  217. ledger/templates/ledger/allyledger/admin/alliance_overview.html +0 -108
  218. ledger/templates/ledger/allyledger/alliance_ledger.html +0 -86
  219. ledger/templates/ledger/bundles/character-ledger-bundles.html +0 -66
  220. ledger/templates/ledger/bundles/corporation-ledger-bundles.html +0 -75
  221. ledger/templates/ledger/bundles/ledger-bundles.html +0 -23
  222. ledger/templates/ledger/bundles/ledger-css.html +0 -3
  223. ledger/templates/ledger/bundles/planetary-bundles.html +0 -50
  224. ledger/templates/ledger/bundles/table-css.html +0 -3
  225. ledger/templates/ledger/charledger/admin/character_administration.html +0 -39
  226. ledger/templates/ledger/charledger/admin/character_overview.html +0 -106
  227. ledger/templates/ledger/charledger/character_ledger.html +0 -94
  228. ledger/templates/ledger/charledger/planetary/admin/planetary_overview.html +0 -123
  229. ledger/templates/ledger/charledger/planetary/planetary_ledger.html +0 -54
  230. ledger/templates/ledger/corpledger/admin/corporation_administration.html +0 -39
  231. ledger/templates/ledger/corpledger/admin/corporation_overview.html +0 -108
  232. ledger/templates/ledger/corpledger/corporation_ledger.html +0 -129
  233. ledger/templates/ledger/data-export.html +0 -78
  234. ledger/templates/ledger/error.html +0 -31
  235. ledger/templates/ledger/partials/form/error-message.html +0 -1
  236. ledger/templates/ledger/partials/information/daily.html +0 -56
  237. ledger/templates/ledger/partials/information/day.html +0 -48
  238. ledger/templates/ledger/partials/information/error.html +0 -8
  239. ledger/templates/ledger/partials/information/hourly.html +0 -53
  240. ledger/templates/ledger/partials/information/summary.html +0 -88
  241. ledger/templates/ledger/partials/information/view_character_content.html +0 -35
  242. ledger/templates/ledger/partials/modal/switchalarm_confirm.html +0 -39
  243. ledger/templates/ledger/partials/modal/view_extractor.html +0 -48
  244. ledger/templates/ledger/partials/modal/view_factory.html +0 -123
  245. ledger/templates/ledger/partials/table/char-ledger.html +0 -85
  246. ledger/templates/ledger/partials/table/corp-ledger.html +0 -66
  247. ledger/templates/ledger/partials/table/planetary.html +0 -18
  248. ledger/templates/ledger/partials/thirdparty/billboard.html +0 -22
  249. ledger/templates/ledger/partials/view/card.html +0 -160
  250. ledger/templates/ledger/permission.html +0 -2
  251. ledger/tests/test_helpers/test_billboard.py +0 -11
  252. ledger/tests/test_helpers/test_data_exporter.py +0 -207
  253. ledger/tests/test_tasks.py +0 -282
  254. ledger/tests/test_view_helpers/test_core.py +0 -47
  255. ledger/tests/test_views/corporation/test_corporation.py +0 -267
  256. ledger/tests/test_views/test_planetary.py +0 -137
  257. ledger/tests/testdata/esi_stub.py +0 -109
  258. ledger/tests/testdata/esi_stub_migration.py +0 -80
  259. ledger/tests/testdata/generate_characteraudit.py +0 -106
  260. ledger/tests/testdata/generate_corporationaudit.py +0 -74
  261. ledger/tests/testdata/generate_events.py +0 -31
  262. ledger/tests/testdata/generate_miningledger.py +0 -13
  263. ledger/tests/testdata/generate_planets.py +0 -48
  264. ledger/tests/testdata/generate_walletjournal.py +0 -42
  265. ledger/tests/testdata/json/czarno-pins.json +0 -240
  266. ledger/tests/testdata/json/czarno-routes.json +0 -165
  267. ledger/tests/testdata/json/pins2.json +0 -538
  268. {aa_ledger-1.0.3.dist-info → aa_ledger-2.0.0.dist-info}/licenses/LICENSE +0 -0
  269. /ledger/{tests/test_view_helpers → api/helpers}/__init__.py +0 -0
  270. /ledger/templates/ledger/bundles/{ally-administration-bundles.html → view-alliance-administration-js.html} +0 -0
  271. /ledger/templates/ledger/bundles/{char-administration-bundles.html → view-character-administration-js.html} +0 -0
  272. /ledger/templates/ledger/bundles/{corp-administration-bundles.html → view-corporation-administration-js.html} +0 -0
  273. /ledger/templates/ledger/partials/{administration → view-alliance-administration}/alliance.html +0 -0
  274. /ledger/tests/testdata/{esi.json → esi_test_data.json} +0 -0
  275. /ledger/tests/testdata/{allianceauth.json → integrations/allianceauth.json} +0 -0
  276. /ledger/tests/testdata/{load_allianceauth.py → integrations/allianceauth.py} +0 -0
  277. /ledger/tests/testdata/{eveentity.json → integrations/eveentity.json} +0 -0
  278. /ledger/tests/testdata/{load_eveentity.py → integrations/eveentity.py} +0 -0
  279. /ledger/tests/testdata/{eveuniverse.json → integrations/eveuniverse.json} +0 -0
  280. /ledger/tests/testdata/{planetary.json → integrations/planetary.json} +0 -0
@@ -0,0 +1,529 @@
1
+ :root {
2
+ --dtcc-button_background: transparent;
3
+ --dtcc-button_border: none;
4
+ --dtcc-button_border-radius: 3px;
5
+ --dtcc-button_opacity: 0.4;
6
+ --dtcc-button_padding: 3px;
7
+ --dtcc-button_disabled-opacity: 0.6;
8
+ --dtcc-button_empty-opacity: 0.8;
9
+ --dtcc-button_hover-border: none;
10
+ --dtcc-button_hover-background: rgba(0, 0, 0, 0.1);
11
+ --dtcc-button_hover-opacity: 0.9;
12
+ --dtcc-button-icon_color: black;
13
+ --dtcc-button-icon_size: 16px;
14
+ --dtcc-button-icon_margin: 0.5em;
15
+ --dtcc-dropdown_background: white;
16
+ --dtcc-dropdown_border: 1px solid rgba(0, 0, 0, 0.2);
17
+ --dtcc-dropdown_border-radius: 5px;
18
+ --dtcc-dropdown_box-shadow: 3px 4px 10px 1px rgba(0, 0, 0, 0.3);
19
+ --dtcc-dropdown_margin: 3px 0 0 0;
20
+ --dtcc-dropdown_padding: 0.75em 0;
21
+ --dtcc-dropdown_width: 200px;
22
+ --dtcc-dropdown_z-index: 2002;
23
+ --dtcc-dropdown-button_background: transparent;
24
+ --dtcc-dropdown-button_border: none;
25
+ --dtcc-dropdown-button_color: black;
26
+ --dtcc-dropdown-button_padding: 0.5em 1em;
27
+ --dtcc-dropdown-button_hover-background: rgba(0, 0, 0, 0.05);
28
+ --dtcc-dropdown-icon_vertical-align: initial;
29
+ --dtcc-dropdown-search_padding: 0.5em 1em;
30
+ --dtcc-spacer_border: 1px solid rgba(0, 0, 0, 0.2);
31
+ --dtcc-spacer_margin: 0.5em;
32
+ --dtcc-title_background: rgba(255, 255, 255, 0.1);
33
+ --dtcc-title_border-left: none;
34
+ --dtcc-title_border-right: none;
35
+ --dtcc-title_border-top: none;
36
+ --dtcc-title_border-bottom: ;
37
+ --dtcc-title_margin: 0;
38
+ --dtcc-title_padding: 0.5em 0;
39
+ --dtcc-title_text-align: center;
40
+ --dtcc-search-icon_color: black;
41
+ --dtcc-search-icon_hover-background: rgba(0, 0, 0, 0.1);
42
+ --dtcc-search-icon_opacity: 0.4;
43
+ --dtcc-search-icon_size: 16px;
44
+ --dtcc-search-clear_right: 8px;
45
+ --dtcc-search-clear_bottom: 2px;
46
+ --dtcc-search-input_margin-top: 0.5em;
47
+ --dtcc-search-input_padding-right: 24px;
48
+ --dtcc-search-input_border: 1px solid #aaa;
49
+ --dtcc-search-input_background-color: var(--dt-html-background);
50
+ --dtcc-search-input_background: var(--dt-html-background);
51
+ --dtcc-search-input_border-radius: 3px;
52
+ --dtcc-search-input_padding: 5px;
53
+ --dtcc-search-input_flexCalc: 24px;
54
+ --dtcc-list-buttons_max-height: 300px;
55
+ --dtcc-list-buttons_background: rgba(0, 0, 0, 0.05);
56
+ }
57
+
58
+ :root.dark {
59
+ --dtcc-button_hover-background: rgba(255, 255, 255, 0.1);
60
+ --dtcc-button-icon_color: white;
61
+ --dtcc-spacer_border: 1px solid rgba(255, 255, 255, 0.15);
62
+ --dtcc-dropdown_background: rgb(33, 37, 41);
63
+ --dtcc-dropdown_border: 1px solid rgba(255, 255, 255, 0.15);
64
+ --dtcc-dropdown_box-shadow: 3px 4px 10px 1px rgba(0, 0, 0, 0.8);
65
+ --dtcc-dropdown-button_color: white;
66
+ --dtcc-dropdown-button_hover-background: rgba(153, 153, 153, 0.1);
67
+ --dtcc-search-icon_color: white;
68
+ --dtcc-search-icon_hover-background: rgba(255, 255, 255, 0.1);
69
+ --dtcc-search-input_border: 1px solid rgba(255, 255, 255, 0.2);
70
+ --dtcc-list-buttons_background: rgba(255, 255, 255, 0.05);
71
+ }
72
+
73
+ table.dataTable div.dt-column-header span.dt-column-title:empty + span.dtcc {
74
+ flex-grow: 1;
75
+ margin-left: auto;
76
+ }
77
+
78
+ table.dataTable .dt-type-numeric div.dt-column-header span.dt-column-title:empty + span.dtcc,
79
+ table.dataTable .dt-type-date div.dt-column-header span.dt-column-title:empty + span.dtcc,
80
+ table.dataTable .dt-right div.dt-column-header span.dt-column-title:empty + span.dtcc {
81
+ margin-right: auto;
82
+ margin-left: 0;
83
+ }
84
+
85
+ table.dataTable > thead > tr.dtcc-row_no-bottom-border > * {
86
+ border-bottom: none !important;
87
+ }
88
+
89
+ table.dataTable > thead > tr.dtcc-row_no-top-padding > * {
90
+ padding-top: 0 !important;
91
+ }
92
+
93
+ table.dataTable span.dtcc {
94
+ font-weight: normal;
95
+ white-space: nowrap;
96
+ display: inline-flex;
97
+ align-items: center;
98
+ }
99
+
100
+ table.dataTable span.dtcc button.dtcc-button {
101
+ display: inline-flex;
102
+ padding: var(--dtcc-button_padding);
103
+ border: var(--dtcc-button_border);
104
+ border-radius: var(--dtcc-button_border-radius);
105
+ background: var(--dtcc-button_background);
106
+ cursor: pointer;
107
+ opacity: var(--dtcc-button_opacity);
108
+ }
109
+
110
+ table.dataTable span.dtcc button.dtcc-button:hover {
111
+ border: var(--dtcc-button_hover-border);
112
+ background: var(--dtcc-button_hover-background);
113
+ opacity: var(--dtcc-button_hover-opacity);
114
+ }
115
+
116
+ table.dataTable span.dtcc button.dtcc-button.dtcc-button_disabled {
117
+ cursor: initial;
118
+ opacity: var(--dtcc-button_disabled-opacity);
119
+ }
120
+
121
+ table.dataTable span.dtcc button.dtcc-button > span.dtcc-button-state {
122
+ display: none;
123
+ }
124
+
125
+ table.dataTable span.dtcc button.dtcc-button > span.dtcc-button-extra {
126
+ display: none;
127
+ }
128
+
129
+ table.dataTable span.dtcc button.dtcc-button_active {
130
+ opacity: 1;
131
+ }
132
+
133
+ table.dataTable span.dtcc input {
134
+ box-sizing: border-box;
135
+ width: 100%;
136
+ }
137
+
138
+ table.dataTable span.dtcc span.dtcc-button-icon {
139
+ display: inline-block;
140
+ box-sizing: content-box;
141
+ color: var(--dtcc-button-icon_color);
142
+ vertical-align: middle;
143
+ line-height: var(--dtcc-button-icon_size);
144
+ height: var(--dtcc-button-icon_size);
145
+ }
146
+
147
+ table.dataTable span.dtcc span.dtcc-button-icon svg {
148
+ width: var(--dtcc-button-icon_size);
149
+ height: var(--dtcc-button-icon_size);
150
+ vertical-align: initial;
151
+ }
152
+
153
+ table.dataTable span.dtcc span.dtcc-button-text {
154
+ display: none;
155
+ }
156
+
157
+ table.dataTable span.dtcc div.dtcc-spacer {
158
+ display: inline-block;
159
+ margin: 0 var(--dtcc-spacer_margin);
160
+ padding-left: 0.5em;
161
+ border-left: var(--dtcc-spacer_border);
162
+ vertical-align: middle;
163
+ white-space: nowrap;
164
+ cursor: initial;
165
+ }
166
+
167
+ table.dataTable span.dtcc div.dtcc-spacer:empty {
168
+ width: 1px;
169
+ height: 1em;
170
+ padding-left: 0;
171
+ }
172
+
173
+ table.dataTable span.dtcc div.dtcc-search {
174
+ flex-grow: 1;
175
+ }
176
+
177
+ table.dataTable span.dtcc div.dtcc-search div.dtcc-search-title {
178
+ margin-bottom: 0.25em;
179
+ text-align: left;
180
+ }
181
+
182
+ table.dataTable span.dtcc div.dtcc-search:empty {
183
+ display: none;
184
+ }
185
+
186
+ table.dataTable span.dtcc div.dtcc-search.dtcc-search_active > div div.dtcc-search-type-icon svg {
187
+ opacity: 1;
188
+ }
189
+
190
+ table.dataTable span.dtcc div.dtcc-search:not(.dtcc-search_active) span.dtcc-search-clear {
191
+ display: none;
192
+ }
193
+
194
+ table.dataTable span.dtcc div.dtcc-search > div {
195
+ position: relative;
196
+ }
197
+
198
+ table.dataTable span.dtcc div.dtcc-search > div div.dtcc-search-type-icon {
199
+ display: flex;
200
+ position: absolute;
201
+ top: 0;
202
+ align-items: center;
203
+ justify-content: center;
204
+ width: 30px;
205
+ height: 100%;
206
+ }
207
+
208
+ table.dataTable span.dtcc div.dtcc-search > div div.dtcc-search-type-icon svg {
209
+ width: var(--dtcc-search-icon_size);
210
+ height: var(--dtcc-search-icon_size);
211
+ color: var(--dtcc-search-icon_color);
212
+ opacity: var(--dtcc-search-icon_opacity);
213
+ vertical-align: initial;
214
+ }
215
+
216
+ table.dataTable span.dtcc div.dtcc-search > div div.dtcc-search-type-icon:hover {
217
+ background-color: var(--dtcc-search-icon_hover-background);
218
+ }
219
+
220
+ table.dataTable span.dtcc div.dtcc-search > div select {
221
+ position: absolute;
222
+ top: 0;
223
+ width: 30px;
224
+ height: 100%;
225
+ cursor: pointer;
226
+ opacity: 0;
227
+ background-color: var(--dtcc-search-input_background);
228
+ }
229
+
230
+ table.dataTable span.dtcc div.dtcc-search > div span.dtcc-search-clear {
231
+ display: flex;
232
+ position: absolute;
233
+ top: 0;
234
+ align-items: center;
235
+ justify-content: center;
236
+ width: 14px;
237
+ height: 100%;
238
+ cursor: pointer;
239
+ }
240
+
241
+ table.dataTable span.dtcc div.dtcc-search > div div.dtcc-search-icon {
242
+ display: none;
243
+ }
244
+
245
+ table.dataTable span.dtcc div.dtcc-search > div input {
246
+ padding: var(--dtcc-search-input_padding);
247
+ border: var(--dtcc-search-input_border);
248
+ border-radius: var(--dtcc-search-input_border-radius);
249
+ background-color: var(--dtcc-search-input_background);
250
+ color: inherit;
251
+ }
252
+
253
+ table.dataTable span.dtcc div.dtcc-searchText > div div.dtcc-search-type-icon {
254
+ right: 0;
255
+ z-index: 1;
256
+ }
257
+
258
+ table.dataTable span.dtcc div.dtcc-searchText > div select {
259
+ right: 0;
260
+ z-index: 2;
261
+ padding: 0;
262
+ }
263
+
264
+ table.dataTable span.dtcc div.dtcc-searchText > div span.dtcc-search-clear {
265
+ right: 28px;
266
+ z-index: 1;
267
+ }
268
+
269
+ table.dataTable span.dtcc div.dtcc-searchText > div input {
270
+ padding-right: 46px;
271
+ }
272
+
273
+ table.dataTable span.dtcc div.dtcc-searchNumber > div div.dtcc-search-type-icon,
274
+ table.dataTable span.dtcc div.dtcc-searchDateTime > div div.dtcc-search-type-icon {
275
+ left: 0;
276
+ z-index: 1;
277
+ }
278
+
279
+ table.dataTable span.dtcc div.dtcc-searchNumber > div select,
280
+ table.dataTable span.dtcc div.dtcc-searchDateTime > div select {
281
+ left: 0;
282
+ z-index: 2;
283
+ padding: 0;
284
+ }
285
+
286
+ table.dataTable span.dtcc div.dtcc-searchNumber > div span.dtcc-search-clear,
287
+ table.dataTable span.dtcc div.dtcc-searchDateTime > div span.dtcc-search-clear {
288
+ left: 28px;
289
+ }
290
+
291
+ table.dataTable span.dtcc div.dtcc-searchNumber > div input,
292
+ table.dataTable span.dtcc div.dtcc-searchDateTime > div input {
293
+ padding-left: 46px;
294
+ text-align: right;
295
+ }
296
+
297
+ div.dtcc-dropdown {
298
+ display: block;
299
+ box-sizing: border-box;
300
+ z-index: var(--dtcc-dropdown_z-index);
301
+ position: absolute;
302
+ width: var(--dtcc-dropdown_width);
303
+ margin: var(--dtcc-dropdown_margin);
304
+ padding: var(--dtcc-dropdown_padding);
305
+ overflow: hidden;
306
+ border: var(--dtcc-dropdown_border);
307
+ border-radius: var(--dtcc-dropdown_border-radius);
308
+ background: var(--dtcc-dropdown_background);
309
+ box-shadow: var(--dtcc-dropdown_box-shadow);
310
+ }
311
+
312
+ div.dtcc-dropdown button.dtcc-button {
313
+ display: flex;
314
+ position: relative;
315
+ align-items: center;
316
+ width: 100%;
317
+ padding: var(--dtcc-dropdown-button_padding);
318
+ border: var(--dtcc-dropdown-button_border);
319
+ background: var(--dtcc-dropdown-button_background);
320
+ color: var(--dtcc-dropdown-button_color);
321
+ text-align: left;
322
+ cursor: pointer;
323
+ }
324
+
325
+ div.dtcc-dropdown button.dtcc-button:focus {
326
+ outline-offset: -2px;
327
+ }
328
+
329
+ div.dtcc-dropdown button.dtcc-button:hover {
330
+ background: var(--dtcc-dropdown-button_hover-background);
331
+ }
332
+
333
+ div.dtcc-dropdown button.dtcc-button.dtcc-button_disabled {
334
+ cursor: initial;
335
+ opacity: var(--dtcc-button_disabled-opacity);
336
+ }
337
+
338
+ div.dtcc-dropdown button.dtcc-button.dtcc-button_empty span.dtcc-button-text {
339
+ opacity: var(--dtcc-button_empty-opacity);
340
+ font-style: italic;
341
+ }
342
+
343
+ div.dtcc-dropdown button.dtcc-button > span.dtcc-button-state {
344
+ display: block;
345
+ width: var(--dtcc-button-icon_size);
346
+ height: var(--dtcc-button-icon_size);
347
+ margin: 0 0 0 var(--dtcc-button-icon_margin);
348
+ }
349
+
350
+ div.dtcc-dropdown button.dtcc-button > span.dtcc-button-state:empty {
351
+ display: none;
352
+ }
353
+
354
+ div.dtcc-dropdown button.dtcc-button > span.dtcc-button-state svg {
355
+ width: var(--dtcc-button-icon_size);
356
+ height: var(--dtcc-button-icon_size);
357
+ vertical-align: initial;
358
+ }
359
+
360
+ div.dtcc-dropdown button.dtcc-button > span.dtcc-button-extra:empty {
361
+ display: none;
362
+ }
363
+
364
+ div.dtcc-dropdown button.dtcc-button span.dtcc-button-icon {
365
+ width: var(--dtcc-button-icon_size);
366
+ height: var(--dtcc-button-icon_size);
367
+ margin: 0 var(--dtcc-button-icon_margin) 0 0;
368
+ }
369
+
370
+ div.dtcc-dropdown button.dtcc-button span.dtcc-button-icon svg {
371
+ width: var(--dtcc-button-icon_size);
372
+ height: var(--dtcc-button-icon_size);
373
+ vertical-align: var(--dtcc-dropdown-icon_vertical-align);
374
+ }
375
+
376
+ div.dtcc-dropdown button.dtcc-button span.dtcc-button-text {
377
+ flex-grow: 1;
378
+ overflow: hidden;
379
+ text-overflow: ellipsis;
380
+ white-space: nowrap;
381
+ }
382
+
383
+ div.dtcc-dropdown div.dtcc-spacer {
384
+ margin: var(--dtcc-spacer_margin) 0;
385
+ padding: 0;
386
+ border-bottom: var(--dtcc-spacer_border);
387
+ border-left: none;
388
+ }
389
+
390
+ div.dtcc-dropdown div.dtcc-title {
391
+ margin: var(--dtcc-title_margin);
392
+ padding: var(--dtcc-title_padding);
393
+ border-top: var(--dtcc-title_border-top);
394
+ border-right: var(--dtcc-title_border-right);
395
+ border-bottom: var(--dtcc-title_border-bottom);
396
+ border-left: var(--dtcc-title_border-left);
397
+ background: var(--dtcc-title_background);
398
+ text-align: var(--dtcc-title_text-align);
399
+ }
400
+
401
+ div.dtcc-dropdown div.dtcc-search {
402
+ padding: var(--dtcc-dropdown-search_padding);
403
+ }
404
+
405
+ div.dtcc-dropdown div.dtcc-search > div {
406
+ display: flex;
407
+ position: relative;
408
+ flex-wrap: wrap;
409
+ align-items: center;
410
+ border: var(--dtcc-dropdown-button_border);
411
+ background: var(--dtcc-dropdown-button_background);
412
+ color: var(--dtcc-dropdown-button_color);
413
+ }
414
+
415
+ div.dtcc-dropdown div.dtcc-search > div div {
416
+ flex: 0 0 var(--dtcc-button-icon_size);
417
+ width: var(--dtcc-button-icon_size);
418
+ height: var(--dtcc-button-icon_size);
419
+ margin: 0 var(--dtcc-button-icon_margin) 0 0;
420
+ }
421
+
422
+ div.dtcc-dropdown div.dtcc-search > div div svg {
423
+ width: var(--dtcc-search-icon_size);
424
+ height: var(--dtcc-search-icon_size);
425
+ color: var(--dtcc-search-icon_color);
426
+ vertical-align: var(--dtcc-dropdown-icon_vertical-align);
427
+ }
428
+
429
+ div.dtcc-dropdown div.dtcc-search > div select,
430
+ div.dtcc-dropdown div.dtcc-search > div input {
431
+ box-sizing: border-box;
432
+ flex: 1 1 calc(100% - var(--dtcc-search-input_flexCalc));
433
+ width: 100%;
434
+ min-width: 0;
435
+ padding: var(--dtcc-search-input_padding);
436
+ border: var(--dtcc-search-input_border);
437
+ border-radius: var(--dtcc-search-input_border-radius);
438
+ background-color: var(--dtcc-search-input_background-color);
439
+ }
440
+
441
+ div.dtcc-dropdown div.dtcc-search > div select option,
442
+ div.dtcc-dropdown div.dtcc-search > div input option {
443
+ background-color: var(--dtcc-search-input_background-color);
444
+ }
445
+
446
+ div.dtcc-dropdown div.dtcc-search > div input,
447
+ div.dtcc-dropdown div.dtcc-search > div div.dtcc-search-icon {
448
+ margin-top: var(--dtcc-search-input_margin-top);
449
+ }
450
+
451
+ div.dtcc-dropdown div.dtcc-search > div input {
452
+ padding-right: var(--dtcc-search-input_padding-right);
453
+ }
454
+
455
+ div.dtcc-dropdown div.dtcc-search > div span.dtcc-search-clear {
456
+ position: absolute;
457
+ right: var(--dtcc-search-clear_right);
458
+ bottom: var(--dtcc-search-clear_bottom);
459
+ width: 14px;
460
+ cursor: pointer;
461
+ }
462
+
463
+ div.dtcc-dropdown div.dtcc-search:not(.dtcc-search_active) span.dtcc-search-clear {
464
+ display: none;
465
+ }
466
+
467
+ div.dtcc-dropdown div.dtcc-list div.dtcc-list-title,
468
+ div.dtcc-dropdown div.dtcc-list div.dtcc-list-empty {
469
+ padding: var(--dtcc-dropdown-button_padding);
470
+ font-style: italic;
471
+ }
472
+
473
+ div.dtcc-dropdown div.dtcc-list div.dtcc-list-title:empty,
474
+ div.dtcc-dropdown div.dtcc-list div.dtcc-list-empty:empty {
475
+ display: none;
476
+ }
477
+
478
+ div.dtcc-dropdown div.dtcc-list div.dtcc-list-controls {
479
+ display: grid;
480
+ padding: var(--dtcc-dropdown-button_padding);
481
+ gap: 0.5em;
482
+ }
483
+
484
+ div.dtcc-dropdown div.dtcc-list div.dtcc-list-controls:empty {
485
+ display: none;
486
+ }
487
+
488
+ div.dtcc-dropdown div.dtcc-list div.dtcc-list-controls button.dtcc-list-selectAll,
489
+ div.dtcc-dropdown div.dtcc-list div.dtcc-list-controls button.dtcc-list-selectNone {
490
+ width: 100%;
491
+ padding: 0;
492
+ border: none;
493
+ background-color: transparent;
494
+ color: inherit;
495
+ font-size: 80%;
496
+ text-align: center;
497
+ cursor: pointer;
498
+ }
499
+
500
+ div.dtcc-dropdown div.dtcc-list div.dtcc-list-controls button.dtcc-list-selectAll:hover,
501
+ div.dtcc-dropdown div.dtcc-list div.dtcc-list-controls button.dtcc-list-selectNone:hover {
502
+ text-decoration: underline;
503
+ }
504
+
505
+ div.dtcc-dropdown div.dtcc-list div.dtcc-list-controls button.dtcc-list-selectAll span,
506
+ div.dtcc-dropdown div.dtcc-list div.dtcc-list-controls button.dtcc-list-selectNone span {
507
+ display: inline-block;
508
+ padding-left: 0.25em;
509
+ }
510
+
511
+ div.dtcc-dropdown div.dtcc-list div.dtcc-list-controls input.dtcc-list-search {
512
+ box-sizing: border-box;
513
+ grid-column: 1/3;
514
+ width: 100%;
515
+ padding: var(--dtcc-search-input_padding);
516
+ border: var(--dtcc-search-input_border);
517
+ border-radius: var(--dtcc-search-input_border-radius);
518
+ background-color: var(--dtcc-search-input_background-color);
519
+ }
520
+
521
+ div.dtcc-dropdown div.dtcc-list div.dtcc-list-buttons {
522
+ max-height: var(--dtcc-list-buttons_max-height);
523
+ overflow: auto;
524
+ background: var(--dtcc-list-buttons_background);
525
+ }
526
+
527
+ div.dtcc-dropdown div.dtcc-list span.dtcc-button-icon:empty {
528
+ display: none;
529
+ }
@@ -0,0 +1,73 @@
1
+ /*!
2
+ * Bootstrap 5 styling wrapper for ColumnControl
3
+ * © SpryMedia Ltd - datatables.net/license
4
+ */
5
+
6
+ (function( factory ){
7
+ if ( typeof define === 'function' && define.amd ) {
8
+ // AMD
9
+ define( ['jquery', 'datatables.net-bs5', 'datatables.net-columncontrol'], function ( $ ) {
10
+ return factory( $, window, document );
11
+ } );
12
+ }
13
+ else if ( typeof exports === 'object' ) {
14
+ // CommonJS
15
+ var jq = require('jquery');
16
+ var cjsRequires = function (root, $) {
17
+ if ( ! $.fn.dataTable ) {
18
+ require('datatables.net-bs5')(root, $);
19
+ }
20
+
21
+ if ( ! $.fn.dataTable.ColumnControl ) {
22
+ require('datatables.net-columncontrol')(root, $);
23
+ }
24
+ };
25
+
26
+ if (typeof window === 'undefined') {
27
+ module.exports = function (root, $) {
28
+ if ( ! root ) {
29
+ // CommonJS environments without a window global must pass a
30
+ // root. This will give an error otherwise
31
+ root = window;
32
+ }
33
+
34
+ if ( ! $ ) {
35
+ $ = jq( root );
36
+ }
37
+
38
+ cjsRequires( root, $ );
39
+ return factory( $, root, root.document );
40
+ };
41
+ }
42
+ else {
43
+ cjsRequires( window, jq );
44
+ module.exports = factory( jq, window, window.document );
45
+ }
46
+ }
47
+ else {
48
+ // Browser
49
+ factory( jQuery, window, document );
50
+ }
51
+ }(function( $, window, document ) {
52
+ 'use strict';
53
+ var DataTable = $.fn.dataTable;
54
+
55
+
56
+
57
+ DataTable.ColumnControl.content.dropdown.classes.container = [
58
+ 'dtcc-dropdown',
59
+ 'dropdown-menu',
60
+ 'show'
61
+ ];
62
+
63
+ DataTable.ColumnControl.CheckList.classes.input = [
64
+ 'dtcc-list-search',
65
+ 'form-control',
66
+ 'form-control-sm'
67
+ ];
68
+ DataTable.ColumnControl.SearchInput.classes.input = ['form-control', 'form-control-sm'];
69
+ DataTable.ColumnControl.SearchInput.classes.select = ['form-select', 'form-select-sm'];
70
+
71
+
72
+ return DataTable;
73
+ }));