course_list.blade.php 56 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198
  1. <div class="col card--ui" id="card--dashboard" style="padding-top: 0px !important;">
  2. <header id="title--section" style="display:none !important" class="d-flex align-items-center justify-content-between">
  3. <div class="title--section_name d-flex align-items-center justify-content-between">
  4. <i class="ico--ui title_section utenti me-2"></i>
  5. <h2 class="primary">Pagamento corsi</h2>
  6. </div>
  7. </header>
  8. <div class="row" style="margin-top: 10px; margin-bottom:10px;">
  9. <div class="col-md-4">
  10. <div class="col-md ">
  11. <div class="dt-buttons btn-group flex-wrap">
  12. <div class="btn-group">
  13. <button class="btn btn-secondary buttons-collection" wire:click="export()" style="color:black !important">ESPORTA</button>
  14. </div>
  15. </div>
  16. </div>
  17. </div>
  18. <div class="col-md-4">
  19. <div class="row">
  20. <div class="col-md-4" style="text-align:right">Visualizza</div>
  21. <div class="col-md-4">
  22. <select name="tablesaw-350_length" aria-controls="tablesaw-350" class="form-select form-select-sm" id="dt-length-0" wire:model="pageLength">
  23. <option value="10">10</option>
  24. <option value="25">25</option>
  25. <option value="50">50</option>
  26. <option value="100">100</option>
  27. <option value="100000">Tutti</option>
  28. </select>
  29. </div>
  30. <div class="col-md-3">elementi</div>
  31. </div>
  32. </div>
  33. <div class="col-md-4" style="text-align:right">
  34. <a href="#" class="showHideFilter btn--ui" ><i class="fa-solid fa-sliders"></i></a><br>
  35. </div>
  36. </div>
  37. <div class="showFilter" style="display:none; margin-top:10px;" wire:ignore.self>
  38. <hr size="1">
  39. <div class="row g-3">
  40. <div class="col-md-2">
  41. <div class="row">
  42. <div class="col-md-12" style="margin-bottom:10px;">
  43. <b>Anno</b>
  44. </div>
  45. <div class="col-12">
  46. <select class="form-select filterYear" >
  47. <option value="">--Seleziona--
  48. @foreach($course_years as $c)
  49. @php
  50. $selected = '';
  51. try
  52. {
  53. list($f, $t) = explode("-", $c);
  54. if ($f == date("Y"))
  55. $selected = 'selected';
  56. } catch (Exception $e) {
  57. }
  58. @endphp
  59. <option value="{{$c}}" {{$selected}}>{{$c}}
  60. @endforeach
  61. </select>
  62. </div>
  63. </div>
  64. </div>
  65. <div class="col-md-2">
  66. <div class="row">
  67. <div class="col-md-12" style="margin-bottom:10px;">
  68. <b>Corso</b>
  69. </div>
  70. <div class="col-12" >
  71. <select class="form-select filterCourse" multiple="multiple" wire:model="filterCourse">
  72. @foreach($courses as $c)
  73. <option value="{{$c}}">{{$c}}
  74. @endforeach
  75. </select>
  76. </div>
  77. </div>
  78. </div>
  79. <div class="col-md-2">
  80. <div class="row">
  81. <div class="col-md-12" style="margin-bottom:10px;">
  82. <b>Livello</b>
  83. </div>
  84. <div class="col-12">
  85. <select class="form-select filterLevel" multiple="multiple" wire:model="filterLevel">
  86. @foreach($course_levels as $c)
  87. <option value="{{$c->id}}">{{$c->name}}
  88. @endforeach
  89. </select>
  90. </div>
  91. </div>
  92. </div>
  93. <div class="col-md-2">
  94. <div class="row">
  95. <div class="col-md-12" style="margin-bottom:10px;">
  96. <b>Frequenza</b>
  97. </div>
  98. <div class="col-12">
  99. <select class="form-select filterFrequency" multiple="multiple" wire:model="filterFrequency">
  100. @foreach($course_frequencies as $c)
  101. <option value="{{$c->id}}">{{$c->name}}
  102. @endforeach
  103. </select>
  104. </div>
  105. </div>
  106. </div>
  107. <div class="col-md-2">
  108. <div class="row">
  109. <div class="col-md-12" style="margin-bottom:10px;">
  110. <b>Tipologia</b>
  111. </div>
  112. <div class="col-12">
  113. <select class="form-select filterType" multiple="multiple" wire:model="filterType">
  114. @foreach($course_types as $c)
  115. <option value="{{$c->id}}">{{$c->name}}
  116. @endforeach
  117. </select>
  118. </div>
  119. </div>
  120. </div>
  121. <div class="col-md-2">
  122. <div class="row">
  123. <div class="col-md-12" style="margin-bottom:10px;">
  124. <b>Durata</b>
  125. </div>
  126. <div class="col-12">
  127. <select class="form-select filterDuration" multiple="multiple" wire:model="filterDuration">
  128. @foreach($course_durations as $c)
  129. <option value="{{$c->id}}">{{$c->name}}
  130. @endforeach
  131. </select>
  132. </div>
  133. </div>
  134. </div>
  135. </div>
  136. <div class="row g-3" style="margin-top:20px;">
  137. <div class="col-md-12" style="text-align:right">
  138. <button class="btn--ui_outline light" onclick="reset()">CANCELLA</button>
  139. <button class="btn--ui" wire:click="search()">FILTRA</button>
  140. </div>
  141. </div>
  142. <hr size="1">
  143. </div>
  144. <div class="row text-right">
  145. <div class="col-md-12" style="text-align:right">
  146. <button style="display:none; width:200px;" class="btn--ui btNewPayment" onclick="newPayment()">NUOVA ENTRATA</button>
  147. </div>
  148. </div>
  149. <section id="resume-table" class="scrollTable" style="margin-top:10px;">
  150. <div class="compare--chart_wrapper d-none"></div>
  151. <table class="table tablesaw tableHead tablesaw-stack pagamento--corsi display nowrap" id="tablesaw-350" width="100%">
  152. <thead>
  153. <tr>
  154. <th scope="col" class="sticky-col-header first-zero"></th>
  155. <th scope="col" class="sticky-col-header first-col" >Corso</th>
  156. <th scope="col" class="sticky-col-header second-col"><a wire:click="setSort(2)" style="cursor:pointer">Cognome</a></th>
  157. <th scope="col" class="sticky-col-header third-col"><a wire:click="setSort(3)" style="cursor:pointer">Nome</a></th>
  158. <th scope="col"><a wire:click="setSort(4)" style="cursor:pointer">Iscrizione</a></th>
  159. @foreach($months as $idx => $m)
  160. <th scope="col"><a wire:click="setSort({{$idx + 5}})" style="cursor:pointer">&nbsp;&nbsp;&nbsp;&nbsp;{{$m}}</a></th>
  161. @endforeach
  162. </tr>
  163. </thead>
  164. <tbody id="checkall-target">
  165. @foreach($records as $idx => $record)
  166. <tr>
  167. <td class="sticky-col-header first-zero">{{$record["column_18"]}}</td>
  168. <td class="sticky-col-header first-col">{{$record["column_19"]}}</td>
  169. <td class="sticky-col-header second-col">{{$record["column_0"]}}</td>
  170. <td class="sticky-col-header third-col">{{$record["column_1"]}}</td>
  171. <td>
  172. @php
  173. list($color, $value) = explode("§", $record["column_2"]);
  174. @endphp
  175. @if($color == 0)
  176. <a style="width:100%;float:right; text-align:right; display:block;{{$color == 1 ? '' : 'cursor:pointer;'}}" class="{{$color == 1 ? 'green' : 'orange'}} sub_{{$record["column_16"]}}" onclick="setSubscription('{{$record["column_15"]}}', '{{$record["column_17"]}}', '{{$record["column_16"]}}')" style="cursor: pointer;"><small>{{$value}}</small></a>
  177. @else
  178. <a style="width:100%;float:right; text-align:right; display:block;" class="{{$color == 1 ? 'green' : 'orange'}}"><small>{{$value}}</small></a>
  179. @endif
  180. </td>
  181. @for($ii=3; $ii<=14; $ii++)
  182. @php
  183. list($color, $value, $diff) = explode("§", $record["column_" . $ii]);
  184. @endphp
  185. <td>
  186. @if ($color == 'orange')
  187. <a style="{{$diff == 'X' ? 'background-color:#d9ad86' : ''}};width:100%;float:right; text-align:right; display:block; cursor:pointer;" class="{{$color}} lnk_{{$record["column_16"]}}" id="lnk_{{$record["column_15"]}}_{{$ii - 2}}_{{$record["column_17"]}}" onclick="setPayMonth('{{$record["column_15"]}}', {{$ii - 2}}, '{{$record["column_17"]}}', '{{$record["column_16"]}}')" style="cursor: pointer;"><small>{{$value}}</small></a>
  188. @else
  189. @if ($color != 'wgrey')
  190. <a style="width:100%;float:right; text-align:right; display:block;" class="{{$color}}"><small>{{$value}}</small></a>
  191. @endif
  192. @endif
  193. </td>
  194. @endfor
  195. </tr>
  196. @endforeach
  197. </tbody>
  198. <tfoot id="checkall-target">
  199. <tr>
  200. <th class="sticky-col-header first-zero"></th>
  201. <th class="sticky-col-header first-col"></th>
  202. <th class="sticky-col-header second-col"></th>
  203. <th class="sticky-col-header third-col"></th>
  204. @foreach($totS as $yyy)
  205. @if (isset($yyy))
  206. <th style="padding-left:5px !important;padding-right:5px !important;">{!!$yyy!!}</th>
  207. @else
  208. <th style="padding-left:5px !important;padding-right:5px !important;">aa</th>
  209. @endif
  210. @endforeach
  211. <!--<th style="padding-left:5px !important;padding-right:5px !important;"></th>
  212. <th style="padding-left:5px !important;padding-right:5px !important;"></th>
  213. <th style="padding-left:5px !important;padding-right:5px !important;"></th>
  214. <th style="padding-left:5px !important;padding-right:5px !important;"></th>
  215. <th style="padding-left:5px !important;padding-right:5px !important;"></th>
  216. <th style="padding-left:5px !important;padding-right:5px !important;"></th>
  217. <th style="padding-left:5px !important;padding-right:5px !important;"></th>
  218. <th style="padding-left:5px !important;padding-right:5px !important;"></th>
  219. <th style="padding-left:5px !important;padding-right:5px !important;"></th>
  220. <th style="padding-left:5px !important;padding-right:5px !important;"></th>
  221. <th style="padding-left:5px !important;padding-right:5px !important;"></th>
  222. <th style="padding-left:5px !important;padding-right:5px !important;"></th>
  223. <th style="padding-left:5px !important;padding-right:5px !important;"></th>
  224. <th style="padding-left:5px !important;padding-right:5px !important;"></th>
  225. <th style="padding-left:5px !important;padding-right:5px !important;"></th>-->
  226. </tr>
  227. </tfoot>
  228. </table>
  229. <div class="row">
  230. <div class="col-md-6">
  231. Vista da {{(($currentPage - 1) * $pageLength) + 1}} a {{$currentPage * $pageLength}} di {{$totalRecords}} elementi
  232. </div>
  233. <div class="col-md-6" style="text-align:right">
  234. <ul class="pagination" style="margin:0px !important;float:right">
  235. @if($pages < 10)
  236. @for($p=1; $p<=$pages;$p++)
  237. <li class="page-item {{$p == $currentPage ? 'active' : ''}}"><a class="page-link" wire:click="setPage({{$p}})" href="#">{{$p}}</a></li>
  238. @endfor
  239. @else
  240. <li class="page-item {{1 == $currentPage ? 'active' : ''}}"><a class="page-link" wire:click="setPage(1)" href="#">1</a></li>
  241. @if($currentPage > 4)
  242. <li class="page-item "><a class="page-link" href="#">...</a></li>
  243. @endif
  244. @for($p=2; $p<=$pages - 1;$p++)
  245. @if($p > $currentPage - 3 && $p < $currentPage + 3)
  246. <li class="page-item {{$p == $currentPage ? 'active' : ''}}"><a class="page-link" wire:click="setPage({{$p}})" href="#">{{$p}}</a></li>
  247. @endif
  248. @endfor
  249. @if($currentPage < ($pages - 3))
  250. <li class="page-item "><a class="page-link" href="#">...</a></li>
  251. @endif
  252. <li class="page-item {{$pages == $currentPage ? 'active' : ''}}"><a class="page-link" wire:click="setPage({{$pages}})" href="#">{{$pages}}</a></li>
  253. @endif
  254. </ul>
  255. </div>
  256. </div>
  257. </section>
  258. </div>
  259. @push('scripts')
  260. @endpush
  261. @push('scripts')
  262. <link href="https://cdn.jsdelivr.net/npm/select2@4.1.0-rc.0/dist/css/select2.min.css" rel="stylesheet" />
  263. <style>
  264. @media (min-width: 992px) {
  265. .sidebar--ui ~ div.col {
  266. max-height: 100vh;
  267. }
  268. }
  269. .scrollTable {
  270. padding: 15px;
  271. max-width: 100% !important;
  272. overflow-x: auto;
  273. overflow-y: auto;
  274. white-space: nowrap;
  275. border: 1px solid #ddd;
  276. }
  277. ::-webkit-scrollbar-thumb {
  278. background: #e4e4e4;
  279. border-radius: 10px;
  280. }
  281. .select2-container--default .select2-selection--single{
  282. background-color: #E9F0F5;
  283. border: 0.0625rem solid #DFE5EB;
  284. font-size: 0.75rem;
  285. }
  286. .select2-selection
  287. {
  288. height: 38px !important;
  289. }
  290. .select2-selection__rendered
  291. {
  292. padding-top:3px;
  293. }
  294. .select2 {
  295. width:100% !important;
  296. }
  297. tfoot #checkall-target > tr > th
  298. {
  299. padding-right:5px !important;
  300. }
  301. /*.container-fluid
  302. {
  303. display: table-row !important;
  304. }
  305. .row.row.header--gestionale
  306. {
  307. padding-left:20px !important;
  308. }*/
  309. </style>
  310. <script src="https://code.jquery.com/jquery-2.2.4.min.js" integrity="sha256-BbhdlvQf/xTY9gja0Dq3HiwQF8LaCRTXxZKRutelT44=" crossorigin="anonymous"></script>
  311. <script src="https://cdn.jsdelivr.net/npm/select2@4.1.0-rc.0/dist/js/select2.min.js"></script>
  312. @endpush
  313. @push('scripts')
  314. <link href="/css/datatables.css" rel="stylesheet" />
  315. <script src="https://code.jquery.com/jquery-2.2.4.min.js" integrity="sha256-BbhdlvQf/xTY9gja0Dq3HiwQF8LaCRTXxZKRutelT44=" crossorigin="anonymous"></script>
  316. <link href="https://cdn.jsdelivr.net/npm/select2@4.1.0-rc.0/dist/css/select2.min.css" rel="stylesheet" />
  317. <style>
  318. #tablesaw-350_wrapper > div.justify-content-between
  319. {
  320. background-color: white;
  321. position: sticky;
  322. z-index: 100000;
  323. padding-top:10px;
  324. top: -15px;
  325. left: 0px;
  326. }
  327. /*.table-v-scroll > div, #checkall-target
  328. {
  329. overflow-x: auto !important;
  330. overflow-y: hidden !important;
  331. }*/
  332. table.tableHead thead {
  333. /* Important */
  334. position: sticky;
  335. z-index: 100;
  336. top: -17px;
  337. }
  338. table thead {
  339. /* Important */
  340. position: sticky;
  341. z-index: 100;
  342. top: 0;
  343. }
  344. .select2-container--default .select2-selection--single{
  345. background-color: #E9F0F5;
  346. border: 0.0625rem solid #DFE5EB;
  347. font-size: 0.75rem;
  348. }
  349. .select2-selection
  350. {
  351. height: 38px !important;
  352. }
  353. .select2-selection__rendered
  354. {
  355. padding-top:3px;
  356. }
  357. .select2 {
  358. width:100% !important;
  359. }
  360. .select2-selection--multiple{
  361. overflow: hidden !important;
  362. height: auto !important;
  363. }
  364. .select2-container {
  365. box-sizing: border-box;
  366. display: inline-block;
  367. margin: 0;
  368. position: relative;
  369. vertical-align: middle;
  370. }
  371. .select2-container .select2-selection--single {
  372. box-sizing: border-box;
  373. cursor: pointer;
  374. display: block;
  375. height: 38px;
  376. user-select: none;
  377. -webkit-user-select: none;
  378. }
  379. .select2-container .select2-selection--single .select2-selection__rendered {
  380. display: block;
  381. padding-left: 8px;
  382. padding-right: 20px;
  383. overflow: hidden;
  384. text-overflow: ellipsis;
  385. white-space: nowrap;
  386. }
  387. .select2-selection__choice__display{
  388. color:#000000 !important;
  389. }
  390. .sticky-col-header {
  391. position: -webkit-sticky !important;
  392. position: sticky !important;
  393. background-color: '#f6f8fa' !important;
  394. }
  395. .sticky-col {
  396. position: -webkit-sticky !important;
  397. position: sticky !important;
  398. background-color: white;
  399. }
  400. .first-zero {
  401. width: 20px;
  402. min-width: 20px;
  403. max-width: 20px;
  404. left: 0px;
  405. z-index:99;
  406. }
  407. .first-col {
  408. width: 100px;
  409. min-width: 100px;
  410. max-width: 100px;
  411. left: 0px;
  412. z-index:99;
  413. }
  414. .second-col {
  415. width: 150px;
  416. min-width: 150px;
  417. max-width: 150px;
  418. left: 100px;
  419. z-index:99;
  420. }
  421. .third-col {
  422. width: 150px;
  423. min-width: 150px;
  424. max-width: 150px;
  425. left: 250px;
  426. z-index:99;
  427. }
  428. </style>
  429. <script src="https://code.jquery.com/jquery-2.2.4.min.js" integrity="sha256-BbhdlvQf/xTY9gja0Dq3HiwQF8LaCRTXxZKRutelT44=" crossorigin="anonymous"></script>
  430. <script src="https://cdn.jsdelivr.net/npm/select2@4.1.0-rc.0/dist/js/select2.min.js"></script>
  431. <script src="/assets/js/datatables.js"></script>
  432. <script src="https://cdn.datatables.net/buttons/3.0.2/js/buttons.dataTables.js"></script>
  433. <script src="https://cdnjs.cloudflare.com/ajax/libs/jszip/3.10.1/jszip.min.js"></script>
  434. <script src="https://cdnjs.cloudflare.com/ajax/libs/pdfmake/0.2.7/pdfmake.min.js"></script>
  435. <script src="https://cdnjs.cloudflare.com/ajax/libs/pdfmake/0.2.7/vfs_fonts.js"></script>
  436. @endpush
  437. @push('scripts')
  438. <script>
  439. var totals = '';
  440. $(document).ready(function() {
  441. loadDataTable();
  442. } );
  443. $('.filterYear').select2({"language": {"noResults": function(){return "Nessun risultato";}}});
  444. $('.filterYear').val('{{date("Y")-1}}-{{date("Y")}}').trigger("change");
  445. $('.filterCourse').select2({"language": {"noResults": function(){return "Nessun risultato";}}});
  446. $('.filterCourse').on('change', function (e) {
  447. var data = $('.filterCourse').select2("val");
  448. if (data == null) data = [];
  449. @this.set('filterCourse', data);
  450. //@this.search();
  451. });
  452. $('.filterLevel').select2({"language": {"noResults": function(){return "Nessun risultato";}}});
  453. $('.filterLevel').on('change', function (e) {
  454. var data = $('.filterLevel').select2("val");
  455. if (data == null) data = [];
  456. @this.set('filterLevel', data);
  457. //@this.search();
  458. });
  459. $('.filterFrequency').select2({"language": {"noResults": function(){return "Nessun risultato";}}});
  460. $('.filterFrequency').on('change', function (e) {
  461. var data = $('.filterFrequency').select2("val");
  462. if (data == null) data = [];
  463. @this.set('filterFrequency', data);
  464. //@this.search();
  465. });
  466. $('.filterType').select2({"language": {"noResults": function(){return "Nessun risultato";}}});
  467. $('.filterType').on('change', function (e) {
  468. var data = $('.filterType').select2("val");
  469. if (data == null) data = [];
  470. @this.set('filterType', data);
  471. //@this.search();
  472. });
  473. $('.filterDuration').select2({"language": {"noResults": function(){return "Nessun risultato";}}});
  474. $('.filterDuration').on('change', function (e) {
  475. var data = $('.filterDuration').select2("val");
  476. if (data == null) data = [];
  477. // @this.set('filterDuration', data);
  478. //@this.search();
  479. });
  480. Livewire.on('load-data-table', () => {
  481. $('.filterYear').select2({"language": {"noResults": function(){return "Nessun risultato";}}});
  482. $('.filterCourse').select2({"language": {"noResults": function(){return "Nessun risultato";}}});
  483. $('.filterLevel').select2({"language": {"noResults": function(){return "Nessun risultato";}}});
  484. $('.filterFrequency').select2({"language": {"noResults": function(){return "Nessun risultato";}}});
  485. $('.filterType').select2({"language": {"noResults": function(){return "Nessun risultato";}}});
  486. $('.filterDuration').select2({"language": {"noResults": function(){return "Nessun risultato";}}});
  487. loadDataTable();
  488. setTimeout(() => {
  489. setMaxWidth();
  490. setMaxHeight();
  491. }, 1);
  492. });
  493. Livewire.on('destroy-data-table', () => {
  494. $('#tablesaw-350').DataTable().destroy();
  495. });
  496. function destroyDataTable()
  497. {
  498. $('#tablesaw-350').DataTable().destroy();
  499. }
  500. var isFilter = false;
  501. $(document).ready(function() {
  502. $(document).on("click",".showHideFilter",function() {
  503. if (isFilter)
  504. {
  505. isFilter = false;
  506. $(".showFilter").hide();
  507. }
  508. else
  509. {
  510. isFilter = true;
  511. $(".showFilter").show();
  512. }
  513. });
  514. } );
  515. function searchAction()
  516. {
  517. //destroyDataTable();
  518. //@this.search();
  519. }
  520. @if(isset($_GET["showFilters"]))
  521. var filterYear = localStorage.getItem("filterYearCourseList");
  522. if (filterYear)
  523. {
  524. $('.filterYear').val(filterYear).trigger('change');
  525. }
  526. var filterCourse = localStorage.getItem("filterCourseCourseList");
  527. if (filterCourse)
  528. {
  529. $('.filterCourse').val(filterCourse).trigger('change');
  530. }
  531. var filterLevel = localStorage.getItem("filterLevelCourseList");
  532. if (filterLevel)
  533. {
  534. $('.filterLevel').val(filterLevel).trigger('change');
  535. }
  536. var filterFrequency = localStorage.getItem("filterFrequencyCourseList");
  537. if (filterFrequency)
  538. {
  539. $('.filterFrequency').val(filterFrequency).trigger('change');
  540. }
  541. var filterDuration = localStorage.getItem("filterDurationCourseList");
  542. if (filterDuration)
  543. {
  544. $('.filterDuration').val(filterDuration).trigger('change');
  545. }
  546. var filterType = localStorage.getItem("filterTypeCourseList");
  547. if (filterType)
  548. {
  549. $('.filterType').val(filterType).trigger('change');
  550. }
  551. @endif
  552. function reset()
  553. {
  554. $('.filterYear').val(null).trigger("change");
  555. $('.filterCourse').val(null).trigger("change");
  556. $('.filterLevel').val(null).trigger("change");
  557. $('.filterFrequency').val(null).trigger("change");
  558. $('.filterDuration').val(null).trigger("change");
  559. $('.filterType').val(null).trigger("change");
  560. destroyDataTable();
  561. //localStorage.clear();
  562. loadDataTable();
  563. }
  564. function loadDataTable(){
  565. /*
  566. if ( $.fn.DataTable.isDataTable('#tablesaw-350') ) {
  567. $('#tablesaw-350').DataTable().destroy();
  568. }
  569. var filterYear = $('.filterYear').val();
  570. localStorage.setItem("filterYearCourseList", filterYear);
  571. var filterCourse = $('.filterCourse').val();
  572. localStorage.setItem("filterCourseCourseList", filterCourse);
  573. var filterLevel = $('.filterLevel').val();
  574. localStorage.setItem("filterLevelCourseList", filterLevel);
  575. var filterDuration = $('.filterDuration').val();
  576. localStorage.setItem("filterDurationCourseList", filterDuration);
  577. var filterFrequency = $('.filterFrequency').val();
  578. localStorage.setItem("filterFrequencyCourseList", filterFrequency);
  579. var filterType = $('.filterType').val();
  580. localStorage.setItem("filterTypeCourseList", filterType);
  581. */
  582. /*
  583. var output_table = $('#tablesaw-350').DataTable({
  584. //scrollX: true,
  585. //scrollY: true,
  586. //scrollCollapse: true,
  587. scrollY: '400px',
  588. serverSide: true,
  589. ajax: {
  590. url : '/get_course_list?filterCourse=' + filterCourse + '&filterDuration=' + filterDuration + '&filterLevel=' + filterLevel + '&filterType=' + filterType + '&filterFrequency=' + filterFrequency + '&filterYear=' + filterYear,
  591. dataSrc: function (json){
  592. if(json.totals){
  593. totals = json.totals;
  594. }
  595. return json.data;
  596. }
  597. },
  598. thead: {
  599. 'th': {'background-color': 'blue'}
  600. },
  601. columns: [
  602. {
  603. data: 'column_18',
  604. "orderable": false,
  605. className: 'red',
  606. render: function (data, type, row, meta){
  607. return data;
  608. }
  609. },
  610. {
  611. data: 'column_19',
  612. className: 'red',
  613. className: 'sticky-col first-col'
  614. },
  615. {
  616. data: 'column_0',
  617. className: 'red',
  618. className: 'sticky-col second-col',
  619. render: function (data, type, row){
  620. var ret = '<a href="/members?member_detail=' + row["column_17"] + '&from=course_list">' + data + '</a>';
  621. return ret;
  622. }
  623. },
  624. {
  625. data: 'column_1',
  626. className: 'sticky-col third-col',
  627. render: function (data, type, row){
  628. const x = data.split("§");
  629. var ret = '<a href="/members?member_detail=' + row["column_17"] + '&from=course_list">' + data + '</a>';
  630. return ret;
  631. }
  632. },
  633. {
  634. data: 'column_2',
  635. orderSequence: ['asc', 'desc'],
  636. className: 'ciccio',
  637. render: function (data, type, row){
  638. const x = data.split("§");
  639. var ret = '';
  640. if (x[0] == 0)
  641. {
  642. var ret = '<a style="width:100%;float:right; text-align:right; display:block; ' + (x[0] == 1 ? '' : 'cursor:pointer;') + '" class="' + (x[0] == 1 ? 'green' : 'orange') + ' sub_' + row["column_16"] + '" onclick="setSubscription(' + row["column_15"] + ', ' + row["column_17"] + ', ' + row["column_16"] + ')" style="cursor: pointer;"><small>' + x[1] + '</small></a>';
  643. }
  644. else
  645. {
  646. ret = '<a style="width:100%;float:right; text-align:right; display:block;" class="' + (x[0] == 1 ? 'green' : 'orange') + '"><small>' + x[1] + '</small></a>';
  647. }
  648. return ret;
  649. }
  650. },
  651. {
  652. data: 'column_3',
  653. orderSequence: ['asc', 'desc'],
  654. render: function (data, type, row, meta){
  655. const x = data.split("§");
  656. var ret = '';
  657. if (x[0] == 'orange')
  658. {
  659. ret = '<a style="width:100%;float:right; text-align:right; display:block; cursor:pointer;" class="' + x[0] + ' lnk_' + row["column_16"] + '" id="lnk_' + row["column_15"] + '_1_' + row["column_17"] + '" onclick="setPayMonth(' + row["column_15"] + ', 1, ' + row["column_17"] + ', ' + row["column_16"] + ')" style="cursor: pointer;"><small>' + x[1] + '</small></a>';
  660. }
  661. else
  662. {
  663. if (x[0] != 'wgrey')
  664. ret = '<a style="width:100%;float:right; text-align:right; display:block;" class="' + x[0] + '"><small>' + x[1] + '</small></a>';
  665. }
  666. return ret;
  667. }
  668. },
  669. {
  670. data: 'column_4',
  671. orderSequence: ['asc', 'desc'],
  672. render: function (data, type, row, meta){
  673. const x = data.split("§");
  674. var ret = '';
  675. if (x[0] == 'orange')
  676. {
  677. ret = '<a style="width:100%;float:right; text-align:right; display:block; cursor:pointer;" class="' + x[0] + ' lnk_' + row["column_16"] + '" id="lnk_' + row["column_15"] + '_2_' + row["column_17"] + '" onclick="setPayMonth(' + row["column_15"] + ', 2, ' + row["column_17"] + ', ' + row["column_16"] + ')" style="cursor: pointer;"><small>' + x[1] + '</small></a>';
  678. }
  679. else
  680. {
  681. if (x[0] != 'wgrey')
  682. ret = '<a style="width:100%;float:right; text-align:right; display:block;" class="' + x[0] + '"><small>' + x[1] + '</small></a>';
  683. }
  684. return ret;
  685. }
  686. },
  687. {
  688. data: 'column_5',
  689. orderSequence: ['asc', 'desc'],
  690. render: function (data, type, row, meta){
  691. const x = data.split("§");
  692. var ret = '';
  693. if (x[0] == 'orange')
  694. {
  695. ret = '<a style="width:100%;float:right; text-align:right; display:block; cursor:pointer;" class="' + x[0] + ' lnk_' + row["column_16"] + '" id="lnk_' + row["column_15"] + '_3_' + row["column_17"] + '" onclick="setPayMonth(' + row["column_15"] + ', 3, ' + row["column_17"] + ', ' + row["column_16"] + ')" style="cursor: pointer;"><small>' + x[1] + '</small></a>';
  696. }
  697. else
  698. {
  699. if (x[0] != 'wgrey')
  700. ret = '<a style="width:100%;float:right; text-align:right; display:block;" class="' + x[0] + '"><small>' + x[1] + '</small></a>';
  701. }
  702. return ret;
  703. }
  704. },
  705. {
  706. data: 'column_6',
  707. orderSequence: ['asc', 'desc'],
  708. render: function (data, type, row, meta){
  709. const x = data.split("§");
  710. var ret = '';
  711. if (x[0] == 'orange')
  712. {
  713. ret = '<a style="width:100%;float:right; text-align:right; display:block; cursor:pointer;" class="' + x[0] + ' lnk_' + row["column_16"] + '" id="lnk_' + row["column_15"] + '_4_' + row["column_17"] + '" onclick="setPayMonth(' + row["column_15"] + ', 4, ' + row["column_17"] + ', ' + row["column_16"] + ')" style="cursor: pointer;"><small>' + x[1] + '</small></a>';
  714. }
  715. else
  716. {
  717. if (x[0] != 'wgrey')
  718. ret = '<a style="width:100%;float:right; text-align:right; display:block;" class="' + x[0] + '"><small>' + x[1] + '</small></a>';
  719. }
  720. return ret;
  721. }
  722. },
  723. {
  724. data: 'column_7',
  725. orderSequence: ['asc', 'desc'],
  726. render: function (data, type, row, meta){
  727. const x = data.split("§");
  728. var ret = '';
  729. if (x[0] == 'orange')
  730. {
  731. ret = '<a style="width:100%;float:right; text-align:right; display:block; cursor:pointer;" class="' + x[0] + ' lnk_' + row["column_16"] + '" id="lnk_' + row["column_15"] + '_5_' + row["column_17"] + '" onclick="setPayMonth(' + row["column_15"] + ', 5, ' + row["column_17"] + ', ' + row["column_16"] + ')" style="cursor: pointer;"><small>' + x[1] + '</small></a>';
  732. }
  733. else
  734. {
  735. if (x[0] != 'wgrey')
  736. ret = '<a style="width:100%;float:right; text-align:right; display:block;" class="' + x[0] + '"><small>' + x[1] + '</small></a>';
  737. }
  738. return ret;
  739. }
  740. },
  741. {
  742. data: 'column_8',
  743. orderSequence: ['asc', 'desc'],
  744. render: function (data, type, row, meta){
  745. const x = data.split("§");
  746. var ret = '';
  747. if (x[0] == 'orange')
  748. {
  749. ret = '<a style="width:100%;float:right; text-align:right; display:block; cursor:pointer;" class="' + x[0] + ' lnk_' + row["column_16"] + '" id="lnk_' + row["column_15"] + '_6_' + row["column_17"] + '" onclick="setPayMonth(' + row["column_15"] + ', 6, ' + row["column_17"] + ', ' + row["column_16"] + ')" style="cursor: pointer;"><small>' + x[1] + '</small></a>';
  750. }
  751. else
  752. {
  753. if (x[0] != 'wgrey')
  754. ret = '<a style="width:100%;float:right; text-align:right; display:block;" class="' + x[0] + '"><small>' + x[1] + '</small></a>';
  755. }
  756. return ret;
  757. }
  758. },
  759. {
  760. data: 'column_9',
  761. orderSequence: ['asc', 'desc'],
  762. render: function (data, type, row, meta){
  763. const x = data.split("§");
  764. var ret = '';
  765. if (x[0] == 'orange')
  766. {
  767. ret = '<a style="width:100%;float:right; text-align:right; display:block; cursor:pointer;" class="' + x[0] + ' lnk_' + row["column_16"] + '" id="lnk_' + row["column_15"] + '_7_' + row["column_17"] + '" onclick="setPayMonth(' + row["column_15"] + ', 7, ' + row["column_17"] + ', ' + row["column_16"] + ')" style="cursor: pointer;"><small>' + x[1] + '</small></a>';
  768. }
  769. else
  770. {
  771. if (x[0] != 'wgrey')
  772. ret = '<a style="width:100%;float:right; text-align:right; display:block;" class="' + x[0] + '"><small>' + x[1] + '</small></a>';
  773. }
  774. return ret;
  775. }
  776. },
  777. {
  778. data: 'column_10',
  779. orderSequence: ['asc', 'desc'],
  780. render: function (data, type, row, meta){
  781. const x = data.split("§");
  782. var ret = '';
  783. if (x[0] == 'orange')
  784. {
  785. ret = '<a style="width:100%;float:right; text-align:right; display:block; cursor:pointer;" class="' + x[0] + ' lnk_' + row["column_16"] + '" id="lnk_' + row["column_15"] + '_8_' + row["column_17"] + '" onclick="setPayMonth(' + row["column_15"] + ', 8, ' + row["column_17"] + ', ' + row["column_16"] + ')" style="cursor: pointer;"><small>' + x[1] + '</small></a>';
  786. }
  787. else
  788. {
  789. if (x[0] != 'wgrey')
  790. ret = '<a style="width:100%;float:right; text-align:right; display:block;" class="' + x[0] + '"><small>' + x[1] + '</small></a>';
  791. }
  792. return ret;
  793. }
  794. },
  795. {
  796. data: 'column_11',
  797. orderSequence: ['asc', 'desc'],
  798. render: function (data, type, row, meta){
  799. const x = data.split("§");
  800. var ret = '';
  801. if (x[0] == 'orange')
  802. {
  803. ret = '<a style="width:100%;float:right; text-align:right; display:block; cursor:pointer;" class="' + x[0] + ' lnk_' + row["column_16"] + '" id="lnk_' + row["column_15"] + '_9_' + row["column_17"] + '" onclick="setPayMonth(' + row["column_15"] + ', 9, ' + row["column_17"] + ', ' + row["column_16"] + ')" style="cursor: pointer;"><small>' + x[1] + '</small></a>';
  804. }
  805. else
  806. {
  807. if (x[0] != 'wgrey')
  808. ret = '<a style="width:100%;float:right; text-align:right; display:block;" class="' + x[0] + '"><small>' + x[1] + '</small></a>';
  809. }
  810. return ret;
  811. }
  812. },
  813. {
  814. data: 'column_12',
  815. orderSequence: ['asc', 'desc'],
  816. render: function (data, type, row, meta){
  817. const x = data.split("§");
  818. var ret = '';
  819. if (x[0] == 'orange')
  820. {
  821. ret = '<a style="width:100%;float:right; text-align:right; display:block; cursor:pointer;" class="' + x[0] + ' lnk_' + row["column_16"] + '" id="lnk_' + row["column_15"] + '_10_' + row["column_17"] + '" onclick="setPayMonth(' + row["column_15"] + ', 10, ' + row["column_17"] + ', ' + row["column_16"] + ')" style="cursor: pointer;"><small>' + x[1] + '</small></a>';
  822. }
  823. else
  824. {
  825. if (x[0] != 'wgrey')
  826. ret = '<a style="width:100%;float:right; text-align:right; display:block;" class="' + x[0] + '"><small>' + x[1] + '</small></a>';
  827. }
  828. return ret;
  829. }
  830. },
  831. {
  832. data: 'column_13',
  833. orderSequence: ['asc', 'desc'],
  834. render: function (data, type, row, meta){
  835. const x = data.split("§");
  836. var ret = '';
  837. if (x[0] == 'orange')
  838. {
  839. ret = '<a style="width:100%;float:right; text-align:right; display:block; cursor:pointer;" class="' + x[0] + ' lnk_' + row["column_16"] + '" id="lnk_' + row["column_15"] + '_11_' + row["column_17"] + '" onclick="setPayMonth(' + row["column_15"] + ', 11, ' + row["column_17"] + ', ' + row["column_16"] + ')" style="cursor: pointer;"><small>' + x[1] + '</small></a>';
  840. }
  841. else
  842. {
  843. if (x[0] != 'wgrey')
  844. ret = '<a style="width:100%;float:right; text-align:right; display:block;" class="' + x[0] + '"><small>' + x[1] + '</small></a>';
  845. }
  846. return ret;
  847. }
  848. },
  849. {
  850. data: 'column_14',
  851. orderSequence: ['asc', 'desc'],
  852. render: function (data, type, row, meta){
  853. const x = data.split("§");
  854. var ret = '';
  855. if (x[0] == 'orange')
  856. {
  857. ret = '<a style="width:100%;float:right; text-align:right; display:block; cursor:pointer;" class="' + x[0] + ' lnk_' + row["column_16"] + '" id="lnk_' + row["column_15"] + '_12_' + row["column_17"] + '" onclick="setPayMonth(' + row["column_15"] + ', 12, ' + row["column_17"] + ', ' + row["column_16"] + ')" style="cursor: pointer;"><small>' + x[1] + '</small></a>';
  858. }
  859. else
  860. {
  861. if (x[0] != 'wgrey')
  862. ret = '<a style="width:100%;float:right; text-align:right; display:block;" class="' + x[0] + '"><small>' + x[1] + '</small></a>';
  863. }
  864. return ret;
  865. }
  866. }
  867. ],
  868. layout: {
  869. topStart : null,
  870. topEnd : null,
  871. top1A: {
  872. buttons: [
  873. {
  874. extend: 'collection',
  875. text: 'ESPORTA',
  876. buttons: [
  877. {
  878. extend: 'excelHtml5',"action":newexportaction,
  879. title: 'Pagamento corsi',
  880. orientation: 'landscape',
  881. exportOptions: {
  882. columns: ":not(':last')"
  883. },
  884. footer:false,
  885. customize: function(xlsx) {
  886. var sheet = xlsx.xl.worksheets['sheet1.xml'];
  887. const letters = ["E", "F", "G", "H", "I", "J", "K", "L", "M", "N", "O", "P", "Q"];
  888. for(y=0; y<letters.length; y++)
  889. {
  890. z = y + 4;
  891. var c = output_table.column(z).data().toArray();
  892. //console.log(c);
  893. for (var i = 0; i < c.length; i++)
  894. {
  895. var j = c[i].split("§");
  896. if (j[0] == '0' || j[0] == 'orange')
  897. {
  898. $('row:nth-child('+(i+3)+') [r^="' + letters[y] + '"]', sheet).attr('s', '10');
  899. //sheet.table.body[i+1][z].fillColor = 'orange';
  900. }
  901. if (j[0] == '1' || j[0] == 'green')
  902. {
  903. $('row:nth-child('+(i+3)+') [r^="' + letters[y] + '"]', sheet).attr('s', '40');
  904. //doc.content[1].table.body[i+1][z].fillColor = 'green';
  905. }
  906. if (j[0] == 'yellow')
  907. {
  908. $('row:nth-child('+(i+3)+') [r^="' + letters[y] + '"]', sheet).attr('s', '20');
  909. //doc.content[1].table.body[i+1][z].fillColor = 'blue';
  910. }
  911. }
  912. }
  913. },
  914. },
  915. {
  916. extend: 'pdfHtml5',"action":newexportaction,
  917. title: 'Pagamento corsi',
  918. orientation: 'landscape',
  919. exportOptions: {
  920. columns: ":not(':last')"
  921. },
  922. footer:false,
  923. customize: function(doc) {
  924. for(z=4; z<=16; z++)
  925. {
  926. var c = output_table.column(z).data().toArray();
  927. for (var i = 0; i < c.length; i++)
  928. {
  929. var j = c[i].split("§");
  930. if (j[0] == '0' || j[0] == 'orange')
  931. {
  932. doc.content[1].table.body[i+1][z].fillColor = 'orange';
  933. }
  934. if (j[0] == '1' || j[0] == 'green')
  935. {
  936. doc.content[1].table.body[i+1][z].fillColor = 'green';
  937. }
  938. if (j[0] == 'yellow')
  939. {
  940. doc.content[1].table.body[i+1][z].fillColor = 'blue';
  941. }
  942. }
  943. }
  944. }
  945. }
  946. ],
  947. dropup: true
  948. }
  949. ]
  950. },
  951. top1B : {
  952. pageLength: {
  953. menu: [[10, 25, 50, 100, 100000], [10, 25, 50, 100, "Tutti"]]
  954. }
  955. },
  956. top1C :'search',
  957. },
  958. order: [[2, 'asc'], [3, 'asc']],
  959. pagingType: 'numbers',
  960. "language": {
  961. "url": "/assets/js/Italian.json"
  962. },
  963. "fnInitComplete": function (oSettings, json) {
  964. var html = '&nbsp;<a href="#" class="showHideFilter btn--ui"><i class="fa-solid fa-sliders"></i></a>';
  965. $(".dt-search").append(html);
  966. },
  967. "footerCallback": function (row, data, start, end, display) {
  968. let api = this.api();
  969. api.column(0).footer().innerHTML = '';
  970. api.column(1).footer().innerHTML = '';
  971. api.column(2).footer().innerHTML = '';
  972. api.column(3).footer().innerHTML = '';
  973. for(var i=4; i<=15; i++)
  974. {
  975. api.column(i).footer().innerHTML = '';
  976. }
  977. if (totals != '')
  978. {
  979. totals.split("_").forEach(function (item)
  980. {
  981. var x = item.split("§");
  982. if (x[1] != undefined)
  983. api.column(x[0]).footer().innerHTML = x[1];
  984. else
  985. api.column(x[0]).footer().innerHTML = '';
  986. });
  987. }
  988. }
  989. });
  990. $('#tablesaw-350 thead tr th').addClass('col');
  991. $('#tablesaw-350 thead tr th').css("background-color", "#f6f8fa");
  992. $('#tablesaw-350').on('draw.dt', function() {
  993. $('[data-bs-toggle="popover"]').popover()
  994. });
  995. */
  996. jQuery.fn.dataTable.Api.register( 'sum()', function ( ) {
  997. return this.flatten().reduce( function ( a, b ) {
  998. if ( typeof a === 'string') {
  999. start = a.indexOf("€");
  1000. a = a.substr(start + 2).replace("</small></a>", "").replace(",",".") * 1;
  1001. }
  1002. if ( typeof b === 'string' && b.indexOf('green') > 0) {
  1003. start = b.indexOf("€");
  1004. b = b.substr(start + 2).replace("</small></a>", "").replace(",",".") * 1;
  1005. }
  1006. else
  1007. {
  1008. b = 0;
  1009. }
  1010. return a + b;
  1011. }, 0 );
  1012. } );
  1013. }
  1014. Livewire.on('setTotals', (tot) =>
  1015. {
  1016. totals = tot;
  1017. console.log(totals);
  1018. });
  1019. var subscription = false;
  1020. var months = [];
  1021. var selectedCourseId = 0;
  1022. var selectedMemberId = 0;
  1023. var selectedMemberCourseId = 0;
  1024. function setPayMonth(course_id, month, member_id, id)
  1025. {
  1026. if (selectedMemberId > 0 && selectedMemberId != member_id)
  1027. {
  1028. months = [];
  1029. subscription = false;
  1030. }
  1031. if (selectedMemberCourseId != id)
  1032. {
  1033. $(".sub_" + selectedMemberCourseId).addClass("orange").removeClass("blue").removeClass("selected");
  1034. $(".lnk_" + selectedMemberCourseId).addClass("orange").removeClass("blue").removeClass("selected");
  1035. }
  1036. selectedCourseId = course_id;
  1037. selectedMemberId = member_id;
  1038. selectedMemberCourseId = id;
  1039. if(!months.includes(month))
  1040. {
  1041. months.push(month);
  1042. $("#lnk_" + course_id + "_" + month + "_" + member_id).addClass("blue").addClass("selected").removeClass("orange");
  1043. }
  1044. else
  1045. {
  1046. months.splice(months.indexOf(months), 1);
  1047. $("#lnk_" + course_id + "_" + month + "_" + member_id).addClass("orange").removeClass("blue").removeClass("selected");
  1048. }
  1049. if (months.length > 0)
  1050. {
  1051. $(".btNewPayment").show();
  1052. }
  1053. else
  1054. {
  1055. $(".btNewPayment").hide();
  1056. }
  1057. }
  1058. function setSubscription(course_id, member_id, id)
  1059. {
  1060. if (selectedMemberCourseId != id)
  1061. {
  1062. $(".sub_" + selectedMemberCourseId).addClass("orange").removeClass("blue").removeClass("selected");
  1063. $(".lnk_" + selectedMemberCourseId).addClass("orange").removeClass("blue").removeClass("selected");
  1064. months = [];
  1065. subscription = false;
  1066. }
  1067. selectedCourseId = course_id;
  1068. selectedMemberId = member_id;
  1069. selectedMemberCourseId = id;
  1070. if (subscription)
  1071. {
  1072. $(".sub_" + selectedMemberCourseId).addClass("orange").removeClass("blue").removeClass("selected");
  1073. subscription = false;
  1074. $(".btNewPayment").hide();
  1075. }
  1076. else
  1077. {
  1078. $(".sub_" + selectedMemberCourseId).addClass("blue").addClass("selected").removeClass("orange");
  1079. subscription = true;
  1080. $(".btNewPayment").show();
  1081. }
  1082. }
  1083. function newPayment()
  1084. {
  1085. @this.newPayment(selectedCourseId, months.toString(), selectedMemberId, selectedMemberCourseId, subscription);
  1086. }
  1087. $( document ).ready( function(){
  1088. setMaxWidth();
  1089. setMaxHeight();
  1090. $( window ).bind( "resize", setMaxWidth );
  1091. $( window ).bind( "resize", setMaxHeight );
  1092. });
  1093. function setMaxWidth() {
  1094. $("#resume-table").width( Math.round( $(window ).width() - size ) ) ;
  1095. //$(".justify-content-between").css({"width": Math.round( $(window ).width() - size) + "px;"}); //.width( Math.round( $(window ).width() - size ) ) ;
  1096. }
  1097. function setMaxHeight() {
  1098. console.log('height:' + $(window ).height() + 'px !important');
  1099. //$("div.row.h-100").attr('style', 'height:' + ($(window ).height() + 50) + 'px !important');
  1100. $("#resume-table").height( Math.round( $(window ).height() - 220 ) ) ;
  1101. }
  1102. </script>
  1103. @endpush