AWMW-M: APPLY WORKPLACE SAFETY AND HEALTH IN METAL WORK (MALAY)
An error occurred while processing the template.
Syntax error in template "20097#20123#98301" in line 482, column 92: Unknown built-in: "image". Help (latest version): https://freemarker.apache.org/docs/ref_builtins.html; you're using FreeMarker 2.3.29. The alphabetical list of built-ins: abs, absolute_template_name, ancestors, api, boolean, byte, c, cap_first, capitalize, ceiling, children, chop_linebreak, chunk, contains, counter, date, date_if_unknown, datetime, datetime_if_unknown, default, double, drop_while, ends_with, ensure_ends_with, ensure_starts_with, esc, eval, exists, filter, first, float, floor, groups, has_api, has_content, has_next, html, if_exists, index, index_of, int, interpret, is_boolean, is_collection, is_collection_ex, is_date, is_date_like, is_date_only, is_datetime, is_directive, is_enumerable, is_even_item, is_first, is_hash, is_hash_ex, is_indexable, is_infinite, is_last, is_macro, is_markup_output, is_method, is_nan, is_node, is_number, is_odd_item, is_sequence, is_string, is_time, is_transform, is_unknown_date_like, iso, iso_h, iso_h_nz, iso_local, iso_local_h, iso_local_h_nz, iso_local_m, iso_local_m_nz, iso_local_ms, iso_local_ms_nz, iso_local_nz, iso_m, iso_m_nz, iso_ms, iso_ms_nz, iso_nz, iso_utc, iso_utc_fz, iso_utc_h, iso_utc_h_nz, iso_utc_m, iso_utc_m_nz, iso_utc_ms, iso_utc_ms_nz, iso_utc_nz, item_cycle, item_parity, item_parity_cap, j_string, join, js_string, json_string, keep_after, keep_after_last, keep_before, keep_before_last, keys, last, last_index_of, left_pad, length, long, lower_abc, lower_case, map, markup_string, matches, max, min, namespace, new, next_sibling, no_esc, node_name, node_namespace, node_type, number, number_to_date, number_to_datetime, number_to_time, parent, previous_sibling, remove_beginning, remove_ending, replace, reverse, right_pad, root, round, rtf, seq_contains, seq_index_of, seq_last_index_of, sequence, short, size, sort, sort_by, split, starts_with, string, substring, switch, take_while, then, time, time_if_unknown, trim, truncate, truncate_c, truncate_c_m, truncate_m, truncate_w, truncate_w_m, uncap_first, upper_abc, upper_case, url, url_path, values, web_safe, word_list, xhtml, xml
1<style>
2 .btn-holder.d-flex a:focus,.btn-holder.d-flex a:link,.btn-holder.d-flex a:visited{
3 color:#0097CE !important;
4 }
5
6 .box-icon.mr-1.border.border-secondary.rounded-circle.p-2 {
7 border: 0 !important;
8 font-size: 16px;
9 margin-top: -7px;
10 padding: 0 !important;
11 }
12
13 .btn-holder.d-flex a {
14 text-transform: capitalize;
15 padding: 0;
16 padding-bottom: 1rem;
17 }
18 .btn-holder.d-flex a.btn-2:hover{
19 background:transparent !important;
20 color:#102935 !important;
21 }
22
23 .tb-2 td, .tb-2 th{
24 padding:10px 24px;
25 }
26
27 #schedule-list td .download-schedule,.tb-2 td.type-rs .btn-1{
28 text-transform: inherit;
29 font-size: 16px;
30 }
31
32 div#elementIdku {
33 min-width: 100%;
34 /* margin-left: -16px;
35 margin-right: -16px; */
36 }
37
38 .modal-all-schedules.active .cs-container .box-content{
39 padding: 2rem 32px;
40 }
41
42 .modal-all-schedules.active .container {
43 max-width: 96%;
44 }
45
46 .course-details-wrap .course-inner {
47 overflow-x: auto;
48 }
49
50 .tb-2 {
51 background: transparent;
52 }
53
54 .tb-2 th {
55 width: auto;
56 }
57
58 .tb-2 th:first-child,
59 .tb-2 th:last-child {
60 width: 150px;
61 }
62
63 .tb-2 .btn-1 {
64 border-radius: 50px;
65 padding: 10px;
66 min-height: auto;
67 width: 140px;
68 }
69
70 .cx-box-close{
71 top: 0 !important;
72 right: 0 !important;
73 margin-top: -2vh !important;
74 }
75
76 a.cx-download:hover .no-hover,a.cx-link:hover .no-hover{
77 display: none;
78 }
79
80 a.cx-download:hover .hover,a.cx-link:hover .hover{
81 display: block;
82 }
83
84 a.cx-download .hover,a.cx-link .hover{
85 display: none;
86 }
87
88 @media screen and (max-width:550px) {
89 .tb-2 .btn-1 {
90 min-width: 80%;
91 }
92
93 .modal-all-schedules.active .cs-container .box-content{
94 padding: 2rem 16px;
95 }
96 .modal-all-schedules.active .cs-container .box-content{
97 height: 89vh;
98 margin-top: 4vh;
99 }
100 }
101
102 table#isi {
103 border: 0;
104 border-collapse: collapse;
105 margin: 0;
106 padding: 0;
107 width: 100%;
108 table-layout: fixed;
109 }
110
111 table#isi caption {
112 text-align: left;
113 font-size: 1.3em;
114 margin: 0.5em 0 0.75em;
115 }
116
117 table#isi thead {
118 display: none;
119 }
120
121 table#isi tr {
122 background: #dcedf5;
123 display: block;
124 /* border: 1px solid #000; */
125 padding: 12px 0;
126 margin-bottom: 2rem;
127 position: relative;
128 }
129
130 table#isi tr+tr {
131 margin-top: 0.625em;
132 }
133
134 table#isi tr:nth-of-type(even) {
135 display: none;
136 }
137
138 table#isi td {
139 display: flex;
140 justify-content: flex-start;
141 align-items: flex-start;
142 border-bottom: 1px solid #eee;
143 font-size: 16px;
144 line-height: 1.35em;
145 text-align: left;
146 border: 0px !important;
147 border-bottom: 0px solid #fff !important;
148 color: #333333;
149 }
150
151 table#isi td:last-child {
152 border-bottom: 0px !important;
153 }
154
155 table#isi td:before {
156 content: attr(data-label);
157 /* font-size: 0.9em; */
158 text-align: left;
159 font-weight: bold;
160 text-transform: uppercase;
161 max-width: 50%;
162 min-width: 55%;
163 margin-right: 10px;
164 color: #333333;
165 }
166
167 @media screen and (max-width:576px) {
168 table#isi td:before{
169 max-width: 30%;
170 min-width: 36%;
171 }
172 }
173
174 table#isi td:nth-child(1):before {
175 content: "Batch ID";
176 }
177
178 table#isi td:nth-child(2):before {
179 content: "Course Period";
180 }
181
182 table#isi td:nth-child(3):before {
183 content: "Course Title";
184 }
185
186 table#isi td:nth-child(4):before {
187 content: "Funding Available";
188 }
189
190 table#isi td:nth-child(5):before {
191 content: "Duration (Hours)";
192 }
193
194 table#isi td:nth-child(6):before {
195 content: "Session (Hours)";
196 }
197
198 table#isi td:nth-child(7):before {
199 content: "Venue";
200 }
201
202 table#isi td:nth-child(8):before {
203 content: "Available Seats";
204 }
205
206 table#isi td:nth-child(9):before {
207 content: "Online Payment";
208 }
209
210
211 table#isi td+td {
212 margin-top: 0.8em;
213 }
214
215 table#isi td:last-child {
216 border-bottom: 0;
217 }
218
219 span.payment {
220 display: none;
221 }
222
223 table#isi tr+tr {
224 margin-top: 0;
225 }
226
227 .tb-2 td.type-rs .btn-1 {
228 margin: auto;
229 /* width: auto; */
230 }
231
232 @media screen and (max-width:1181px){
233
234 #schedule-list td .download-schedule {
235 position: absolute;
236 bottom: 24px;
237 left: 0;
238 right: 50%;
239 margin: auto;
240 min-width:44%;
241 padding: 12px;
242 }
243
244 .tb-2 td.type-rs .btn-1 {
245 margin: auto;
246 position: absolute;
247 left: 50%;
248 right: 0;
249 bottom: 24px;
250 min-width:44%;
251 padding: 12px;
252 }
253 }
254
255 /* @media screen and (max-width:768px){
256 #schedule-list td .download-schedule{
257 right:34%;
258 }
259
260 .tb-2 td.type-rs .btn-1{
261 left:34%;
262 }
263 } */
264
265
266 table#isi td:last-child {
267 min-height: 64px;
268 padding:0px 16px;
269 margin-top:32px;
270 }
271
272 @media screen and (max-width:575px){
273 #schedule-list td .download-schedule{
274 bottom:78px;
275 right:0%;
276 min-width:92%;
277 }
278
279 .tb-2 td.type-rs .btn-1{
280 bottom:16px;
281 left:0%;
282 min-width: 92%;
283 }
284 .tb-2 td, .tb-2 th{
285 padding:0 16px;
286 }
287
288 table#isi td:last-child{
289 min-height:120px;
290 padding: 0px 16px;
291 margin-top:24px;
292 }
293 }
294
295
296
297
298 @media screen and (max-width:1024px) {
299 table#isi td {
300 font-size: 16px !important;
301 }
302 }
303
304 @media screen and (min-width:1182px) {
305
306 #schedule-list td .download-schedule,
307 .tb-2 td.type-rs .btn-1 {
308 bottom: 0;
309 border-radius: 10px;
310 position: relative;
311 width: auto;
312 }
313 }
314
315 @media screen and (min-width: 1181px) {
316
317
318 table#isi caption {
319 font-size: 10px;
320 }
321
322 table#isi thead {
323 display: table-header-group;
324 }
325
326 table#isi tr {
327 display: table-row;
328 border: 0;
329 }
330
331 table#isi th,
332 table#isi td {
333 text-align: center;
334 }
335
336 table#isi th {
337 font-size: 12px;
338 text-transform: uppercase;
339 }
340
341 table#isi td {
342 display: table-cell;
343 }
344
345 table#isi td:before {
346 display: none;
347 }
348
349 table#isi td:last-child {
350 border-bottom: 1px solid #eee;
351 }
352 }
353
354 @media screen and (max-width:320px) {
355 div#elementIdku .btn-holder.d-flex {
356 display: block !important;
357 }
358
359 div#elementIdku .btn-holder.d-flex div.ml-3{
360 margin-left:0 !important;
361 }
362
363 div#elementIdku .border {
364 border: 0px !important;
365 }
366
367
368
369 .cx-title-bread {
370 font-size: 12px;
371 position: relative;
372 }
373 i.fa.fa-link,i.fa.fa-download{
374 border: 1px solid;
375 padding: 8px;
376 border-radius: 50%;
377 }
378 }
379
380 @media (horizontal-viewport-segments: 2) {
381
382 #schedule-list td .download-schedule,
383 .tb-2 td.type-rs .btn-1 {
384 left: auto;
385 }
386
387 div#schedule-list {
388 padding: 0;
389 }
390
391 table#isi td {
392 font-size: 10px !important;
393 margin-bottom: -6px;
394 }
395
396 .modal-all-schedules.active .cs-container .box-content {
397 height: 92vh;
398 margin-top: 4vh;
399 }
400 }
401
402 @media (vertical-viewport-segments: 2) {
403
404 #schedule-list td .download-schedule,
405 .tb-2 td.type-rs .btn-1 {
406 left: auto;
407 }
408
409 div#schedule-list {
410 padding: 0;
411 margin-top: -3rem !important;
412 }
413
414 table#isi td {
415 margin-bottom: -10px;
416 }
417
418 .modal-all-schedules.active .cs-container .box-content {
419 height: 96vh;
420 margin-top: 1vh;
421 }
422
423 .modal-all-schedules.active .cs-container .box-close{
424 margin-top:1vh;
425 }
426 }
427
428 a.disabled {
429 pointer-events: none;
430 cursor: default;
431 display: none;
432 }
433
434 .payment {
435 opacity: 0;
436 }
437
438 .loader {
439 position: relative !important;
440 }
441
442 .document ul li:before {
443 opacity: 0;
444 }
445
446 .document ul {
447 list-style: disc;
448 margin-left: 0;
449 padding-left: 0;
450 padding-inline-start: 20px;
451 }
452
453 .document ul ul {
454 list-style: circle;
455 }
456
457 .cource-sub-items {
458 font-size: 16px !important;
459 font-weight: 400 !important;
460 }
461
462 .sensitive-case {
463 text-transform: none; /* Menonaktifkan transformasi teks */
464 }
465
466
467</style>
468 <div style="height:70px; width:20px; background-color:#fff"></div>
469<section class="dt-courses mode-edit-section">
470<div class="container main-wrap">
471 <div class="sp-main-bot sp-main-top">
472 <div class="cx-breadcrumb">
473 <@liferay_ui["breadcrumb"] />
474 <span class="cx-title-bread">${courseTitle.getData()}</span>
475 </div>
476 <div class="course-details-wrap clearfix">
477 <div class="course-inner">
478 <div class="row intro">
479 <div class="col-lg-5 image">
480 <img width="365" height="286"
481 src="${image.getData()}"
482 class="attachment-365x286 size-365x286" alt="${image.getData()?image.getAttribute("alt"):'' }" loading="lazy"
483 srcset="${image.getData()}"
484 sizes="(max-width: 365px) 100vw, 365px">
485 </div>
486 <div class="col-lg-7 sp-991-1">
487 <h1>${courseTitle.getData()}</h1>
488 <#if getterUtil.getBoolean(popular.getData())>
489 <div class="info-group">
490 <div class="bcol box-status">
491 <#if getterUtil.getBoolean(popular.getData())>
492 <span class="popular">POPULAR</span>
493 </#if>
494 <#if getterUtil.getBoolean(funded.getData())>
495 <span class="funded">Funded</span>
496 </#if>
497 </div>
498 <div class="sharethis">
499 </div>
500 </div>
501 <#elseif getterUtil.getBoolean(funded.getData())>
502 <div class="info-group">
503 <div class="bcol box-status">
504 <#if getterUtil.getBoolean(popular.getData())>
505 <span class="popular">POPULAR</span>
506 </#if>
507 <#if getterUtil.getBoolean(funded.getData())>
508 <span class="funded">Funded</span>
509 </#if>
510 </div>
511 <div class="sharethis">
512 </div>
513 </div>
514 </#if>
515 <#if CourseDuration.getData() !="">
516 <div class="fas fa-clock ico-row" style="display: block;">
517 <div class="row sp-row-2">
518 <div class="col-sm-4 bcol"><h2 class="cource-sub-items">Course Duration</h2></div>
519 <div class="col-sm-8 bcol">${CourseDuration.getData()?replace('hr(s)','')} hr(s)</div>
520 </div>
521 </div>
522 </#if>
523 <#if modeofAssesment.getData() !="">
524 <div class="fas fa-calendar-check ico-row" style="display: block;">
525 <div class="row sp-row-2">
526 <div class="col-sm-4 bcol"><h2 class="cource-sub-items">Mode of Assessment</h2></div>
527 <div class="col-sm-8 bcol">
528 <p>${modeofAssesment.getData()}</p>
529 </div>
530 </div>
531 </div>
532 </#if>
533 <#if whoShouldAttend.getData() !="">
534 <div class="fas fa-user-friends ico-row" style="display: block;">
535 <div class="row sp-row-2">
536 <div class="col-sm-4 bcol"><h2 class="cource-sub-items">Who Should Attend</h2></div>
537 <div class="col-sm-8 bcol">${whoShouldAttend.getData()}</div>
538 </div>
539 </div>
540 </#if>
541
542 </div>
543 </div>
544 <#if detailWhatsInItforMe.getData() !="">
545 <div>
546 <h3 style="font-weight: 700;font-size: 30px;">${whatsInItForMe.getData()}</h3>
547 ${detailWhatsInItforMe.getData()}
548 </div>
549 </#if>
550 <div class="document">
551 <div class="loader"></div>
552 <#if courseOverview.DetailCourseOverview.getData() !="">
553 <h2 id="Overview">${courseOverview.getData()}</h2>
554 <p>${courseOverview.DetailCourseOverview.getData()}</p>
555 </#if>
556
557 <!--Start Scedule-->
558 <div class="schedule-wrapper">
559
560 <h2 id="Schedule">${courseSchedule.getData()}</h2>
561 <p class="fas fa-calendar-check ico-type">Next available schedule</p>
562
563 <div id ="scdule-api"></div>
564 <div class="mb-4">
565 <#if batchID.getData() !="">
566 <div id="download-sc"></div>
567 </#if>
568
569
570 </div>
571 <div>
572 <div class="link-1 btn-all-schedules" >See All Schedules</div>
573 </div>
574
575 </div>
576 <!--End Scedule-->
577
578 <#if courseObjectives.detailCourseObjectives.getData() !="">
579 <h2 id="Objectives">${courseObjectives.getData()}</h2>
580 <p>${courseObjectives.detailCourseObjectives.getData()}</p>
581 </#if>
582
583 <#if prerequisites.detailPrerequisites.getData() !="">
584 <h2 id="Requisites">${prerequisites.getData()}</h2>
585 <p>${prerequisites.detailPrerequisites.getData()}</p>
586 </#if>
587
588 <#if courseOutline.detailCourseOutline.getData() !="">
589 <h2 id="Outline">${courseOutline.getData()}</h2>
590 <p>${courseOutline.detailCourseOutline.getData()}</p>
591 </#if>
592
593 <#if certificateObtainedAndConferredBy.detailCertificateObtainedAndConferredBy.getData() !="">
594 <h2 id="Certificate">${certificateObtainedAndConferredBy.getData()}</h2>
595 <p>${certificateObtainedAndConferredBy.detailCertificateObtainedAndConferredBy.getData()}</p>
596 </#if>
597
598 <#if additionalDetails.detailAdditionalDetails.getData() !="">
599 <h2 id="Additional">${additionalDetails.getData()}</h2>
600 <p>${additionalDetails.detailAdditionalDetails.getData()}</p>
601 </#if>
602 </div>
603 </div>
604 <div id="sidebar" class="sidebar" style="">
605 <div class="sidebar-inner" style="">
606 <div class="box">
607 <div class="title-wrap">
608 <!--<div class="status">Funded</div>-->
609
610 <p class="type-1">Course Code</p>
611 <p class="type-2">${courseCode.getData()}</p>
612
613 </div>
614 <ul>
615
616 <#if courseOverview.DetailCourseOverview.getData() !="">
617 <li class="quick-link" data-target="Overview">${courseOverview.getData()}</li>
618 </#if>
619 <#if courseDescription.getData() !="">
620 <li class="quick-link" data-target="Schedule">${courseSchedule.getData()}</li>
621 </#if>
622 <#if courseObjectives.detailCourseObjectives.getData() !="">
623 <li class="quick-link" data-target="Objectives">${courseObjectives.getData()}</li>
624 </#if>
625 <#if prerequisites.detailPrerequisites.getData() !="">
626 <li class="quick-link" data-target="Requisites">${prerequisites.getData()}</li>
627 </#if>
628 <#if courseOutline.detailCourseOutline.getData() !="">
629 <li class="quick-link" data-target="Outline">${courseOutline.getData()}</li>
630 </#if>
631 <#if certificateObtainedAndConferredBy.detailCertificateObtainedAndConferredBy.getData() !="">
632 <li class="quick-link" data-target="Certificate">${certificateObtainedAndConferredBy.getData()}</li>
633 </#if>
634 <#if additionalDetails.detailAdditionalDetails.getData() !="">
635 <li class="quick-link" data-target="Additional">${additionalDetails.getData()}</li>
636 </#if>
637
638 </ul>
639
640 <div class="price price-container">Before Funding <strong>${price.getData()}</strong>
641 <a href="#price-table"><i class="fa fa-info-circle" aria-hidden="true"></i></a>
642 </div>
643
644 <div id="reserve" class="d-none"></div>
645 <a id="starting-soon" href="javascript:void(0)" class="btn-2 btn-block d-none">Starting Soon</a>
646
647 <div id="btn-enquiry" class="mt-3"></div>
648 <!--<a id="btn-enquiry" href="/enquiry-form?course_name=${courseTitle.getData()}&course_code=${courseCode.getData()}&course_type=" class="btn-2 btn-block">ENQUIRE NOW</a>-->
649 <p style="color:#ff0000; margin-top: 5px">Please contact us through our enquiry form if there
650 are no schedules available.</p>
651 </div>
652 </div>
653 </div>
654 </div>
655 </div>
656</div>
657</section>
658<#if courseCode.getData() !="">
659<div class="modal-all-schedules">
660 <div class="container cs-container">
661 <div class="row">
662
663 <div class="box-content container">
664 <div class="position-relative float-right text-right box-close cx-box-close">
665 <i class="fas fa-times" style="font-size: 26px;"></i>
666 </div>
667 <!---Content---->
668 <div id="schedule-list" class="mt-2 table-fixed">
669 <!-- <button class="btn-2" onclick="printDiv()">DOWNLOAD ALL</button>-->
670 <div id="elementIdku" class="print-area">
671
672 <div class="btn-holder d-flex">
673 <div>
674 <a class="no-print btn-2 d-flex border-0 align-items-center cx-download" href="javascript:printDiv('elementIdku');">
675 <div class="box-icon mr-1 border border-secondary rounded-circle p-2" >
676 <!-- <i class="fa fa-download" aria-hidden="true"></i> -->
677 <!-- <i class="bi bi-download"></i> -->
678 <img src="/documents/39367/4629630/icon-download.svg" class="no-hover">
679 <img src="/documents/39367/4629630/icon-download-hover.svg" class="hover">
680 </div>
681 <span class="sensitive-case">Download all</span>
682 </a>
683 </div>
684 <div class="ml-3">
685 <a id ="copy-link" class="no-print btn-2 d-flex border-0 align-items-center cx-link" href="javascript:createLink();" data-toggle="popover" data-content="Link has been copied to clipboard">
686 <div class="box-icon mr-1 border border-secondary rounded-circle p-2" >
687 <!-- <i class="fa fa-link" aria-hidden="true"></i> -->
688 <!-- <i class="bi bi-link-45deg"></i> -->
689 <img src="/documents/39367/4629630/icon-link.svg" class="no-hover">
690 <img src="/documents/39367/4629630/icon-link-hover.svg" class="hover">
691 </div>
692 <span class="sensitive-case">Copy link</span>
693 </a>
694 </div></div>
695
696 <table id="isi" class="tb-2">
697 <thead>
698 <tr>
699 <th style="width: 150px;">Batch ID</th>
700 <th>Course Period</th>
701 <th>Course Title</th>
702 <th>Funding<br> Available</th>
703 <th>Duration<br> (Hours)</th>
704 <th>Session<br> (Hours)</th>
705 <th>Venue</th>
706 <th>Available<br> Seats</th>
707 <th>Online<br> Payment</th>
708 <th class="type-rs"></th>
709 </tr>
710 </thead>
711 <tbody>
712 </tbody>
713 </table>
714 </div>
715 </div>
716 <!----End Content---->
717 </div>
718 </div>
719 </div>
720</div>
721</#if>
722
723<textarea id="printing-css" style="display:none;">html,body,div,span,applet,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,address,big,cite,code,del,dfn,em,img,ins,kbd,q,s,samp,small,strike,strong,sub,sup,tt,var,b,u,i,center,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td,article,aside,canvas,details,embed,figure,figcaption,footer,header,hgroup,menu,nav,output,ruby,section,summary,time,mark,audio,video{
724 margin:0;
725 padding:0;
726 border:0;
727 font-size:100%;
728 font:inherit;
729 vertical-align:baseline
730}
731article,aside,details,figcaption,figure,footer,header,hgroup,menu,nav,section{
732 display:block
733}
734body{
735 line-height:1
736}
737table[border="1"] th,table[border="1"] td,table[border="1"] caption{
738 border:1px solid #000;
739 padding:.5em 1em;
740 text-align:left;
741 vertical-align:top;
742 margin-top:20px;
743 text-align:center;
744}
745th{
746 padding:10px 8px;
747 text-align: center;
748 background-color: #18355f;
749 color: white;
750 vertical-align: middle;
751}
752td{
753 padding:10px 8px;
754 text-align: center;
755 background-color:#dcedf5;
756 vertical-align: middle;
757}
758.btn-1{
759 background: #18355f;
760 border: #fcd205 solid 2px;
761 color: #fcd205 !important;
762 display:block;
763 padding:10px 8px;
764 text-decoration:none;
765 display:none;
766}
767.type-rs{
768 display:none;
769}
770.payment{
771 opacity:1;
772 }
773table[border="1"] caption{
774 border:none;
775 font-style:italic
776}
777.no-print{
778 display:none
779}
780</textarea>
781 <iframe name="print_frame" src="about:blank" style="border:0px; display:none"></iframe>
782 <script>
783 $(document).ready(function () {
784
785 getGlobalCourseType();
786 //console.log("courseTypeGlobal = "+courseTypeGlobal);
787
788 //popover
789 $('[data-toggle="popover"]').popover();
790
791 // mengaktifkan Popover secara otomatis saat tautan di klik
792 $('#copy-link').on('click', function() {
793 var link = $(this);
794
795 // menampilkan Popover setelah penundaan 2 detik
796 setTimeout(function() {
797 link.popover('show');
798
799 // menghilangkan Popover setelah penundaan 2 detik
800 setTimeout(function() {
801 link.popover('hide');
802 }, 2000);
803 }, 2000);
804 });
805
806 });
807 var groupId = '${themeDisplay.getScopeGroupId()}';
808 var portalURL = '${themeDisplay.getPortalURL()}';
809 console.log("Portal URL: "+portalURL);
810
811
812 function createLink() {
813 // Create a dummy input to copy the string array inside it
814 var dummy = document.createElement("input");
815 // Add it to the document
816 document.body.appendChild(dummy);
817 // Set its ID
818 dummy.setAttribute("id", "copy_url_id");
819 // Output the array into it
820 var courseCodeCopy = '${courseCode.getData()}';
821 document.getElementById("copy_url_id").value=portalURL+"/course-schedules-link?courseCode="+courseCodeCopy;
822 // Select it
823 dummy.select();
824 // Copy its contents
825 document.execCommand("copy");
826 // Remove it as its not needed anymore
827 document.body.removeChild(dummy);
828 }
829
830 function getGlobalCourseType () {
831 console.log('${courseCode.getData()}', "course code");
832 console.log(groupId, "group id");
833 Liferay.Service(
834 '/ntuc_course_admin.course/get-course-by-course-code',
835 {
836 groupId : groupId,
837 courseCode: '${courseCode.getData()}',
838 deleted: false
839 },
840 function(result) {
841 let courseType = result.length != 0 ? result[0]['courseType'] : '';
842 loadRealData(courseType);
843 }
844 );
845 }
846
847 function loadRealData(courseTypeGlob) {
848 Liferay.Service(
849 '/ntuc_course_admin.course/get-course-schedule-from-tms',
850 {
851 groupId : groupId,
852 courseCode: '${courseCode.getData()}'
853 },
854 function(data) {
855 if(data.length == undefined) {
856 console.log('failed hit api');
857 loadapiintern(courseTypeGlob);
858 } else if (data.length == 0) {
859 console.log('success hit api but length = 0');
860 $('.loader').fadeOut('slow');
861 $(".schedule-wrapper").addClass("d-none");
862 $("#starting-soon").removeClass("d-none");
863 }else {
864 console.log('not empty');
865 $('.loader').fadeOut('slow');
866
867 data.sort(function(a,b){
868 return convert(a.start_date) - convert(b.start_date)
869 });
870
871
872 $.each(data, function (i) {
873 var idbatch = data[i].batchid;
874 var startdate = convert(data[i].start_date).toISOString().slice(0,10) ;
875 var enddate = convert(data[i].end_date).toISOString().slice(0,10);
876
877 var courseduration = data[i].course_duration;
878 var noseats = data[i].availability;
879 var venue = data[i].venue;
880 var othersdetails = data[i].description;
881 var coursetitle = data[i].course_title;
882 var fundedcourseflag = data[i].funded_course_flag;
883 var allowOnlinePayment = data[i].allow_online_payment;
884 var urlDownloadAll= "https://tmspro.ntuclearninghub.com/portal/addins/cms/prtcourseschedule.do?batchid="+idbatch+"&prtindicator=P&autologin=1" ;
885 var urlReserveAll= "https://tmspro.ntuclearninghub.com/portal/addins/cms/initregister.do?batchid="+idbatch+"&autologin=1" ;
886
887//format date
888 var sdate = new Date(startdate);
889 var year = sdate.getFullYear();
890 var month = sdate.getMonth()+1;
891 var gdt = sdate.getDate();
892 var formatdate = (gdt+'-' + month + '-'+year);
893
894 var edate = new Date(enddate);
895 var eyear = edate.getFullYear();
896 var emonth = edate.getMonth()+1;
897 var egdt = edate.getDate();
898 var formatedate = (egdt+'-' + emonth + '-'+eyear);
899
900 //var coursetype = courseTypeGlobal;
901 //if(allowOnlinePayment == 'Yes') {
902 // <i class="fas fa-check color-info"></i>
903 //}
904
905 $("#isi").append("<tr><td class='text-left'>" + idbatch + "<a href='" + urlDownloadAll + "'class='btn-1 btn-block download-schedule' target='_blank'>Download schedule</a> </td><td>" + formatdate + " to " + formatedate + "</td><td>" + coursetitle + "</td><td><i class='iconcheckfunded '><span class='payment'>"+fundedcourseflag+"</span></i></td><td>" + courseduration + "</td><td>" + othersdetails + "</td><td>" + venue + "</td><td>" + noseats + "</td><td> <i class='iconcheck '><span class='payment'>"+allowOnlinePayment+"</span></i></td><td class='type-rs'><a id='btn-reserve-isi-"+i+"' href='" +urlReserveAll+ "'class='btn-1 btn-block btn-reserve d-none' target='_blank'>Reserve a spot</a></td><tr>");
906
907 if(noseats != '' && noseats != '0' && idbatch != ''){
908 $('#btn-reserve-isi-'+i).removeClass("d-none");
909 }
910
911
912 if (i == 0) {
913 console.log("noseats = "+noseats);
914 console.log("idbatch = "+idbatch);
915 if(noseats != '' && noseats != '0' && idbatch != ''){
916 $("#reserve").removeClass("d-none");
917 } else {
918 $("#starting-soon").removeClass("d-none");
919 }
920
921 $("#scdule-api").append("<div class='schedule-tb'><div class='row'><div class='col-xl-2 col-lg-3 col-6'><h5>Start date</h5><p>" + formatdate + "</p></div><div class='col-xl-2 col-lg-3 col-6'><h5>End date</h5><p>"+formatedate+"</p></div><div class='col-xl-2 col-lg-3 col-6'><h5>Course Duration</h5><p>" + courseduration + " hr(s)</p></div><div class='col-xl-2 col-lg-3 col-6'><h5>No. seats</h5><p>" + noseats + "</p></div></div><div class='row'><div class='col-xl-4 col-6'><h5>Venue</h5><p>" + venue + "</p></div><div class='col-xl-4 col-6'><h5>Other details</h5><p>" + othersdetails + "</p></div></div></div>");
922
923 $("#download-sc").append("<a class='btn-2' href='" + urlDownloadAll + "'>Download schedule</a>");
924 $("#reserve").append("<a href='" +urlReserveAll+ "' class='btn-1 btn-block btn-reserve' target='_blank'>Reserve a spot</a>");
925
926 }
927 if(data[i].allow_web_registration == 'No') {
928 $(".btn-reserve").addClass("disabled");
929 }
930 if(data[i].allow_online_payment == 'Yes') {
931 $(".iconcheck").addClass("fas fa-check color-info");
932 } else if(data[i].allow_online_payment == 'No'){
933 $(".iconcheck").addClass("fas fa-times color-info");
934 }
935
936 if(data[i].funded_course_flag == 'Yes') {
937 $(".iconcheckfunded").addClass("fas fa-check color-info");
938 } else if(data[i].funded_course_flag == 'No'){
939 $(".iconcheckfunded").addClass("fas fa-times color-info");
940 }
941
942 console.log(i);
943 })
944 }
945 $("#btn-enquiry").append("<a href='/enquiry-form?course_name=${htmlUtil.escape(courseTitle.getData())}&course_code=${courseCode.getData()}&course_type="+courseTypeGlob+" 'class='btn-2 btn-block'>ENQUIRE NOW</a>");
946 }
947 );
948 }
949
950 function isEmpty(obj) {
951 for(var prop in obj) {
952 if(obj.hasOwnProperty(prop))
953 return false;
954 }
955
956 return true;
957 }
958
959 function loadapiintern(courseTypeGlob) {
960
961 Liferay.Service(
962 '/ntuc_course_admin.course/get-course-by-course-code',
963 {
964 groupId : groupId,
965 courseCode: '${courseCode.getData()}',
966 deleted: false
967 },
968 function(obj) {
969 if (obj.length == 0) {
970 $('.loader').fadeOut('slow');
971 $(".schedule-wrapper").addClass("d-none");
972 $("#starting-soon").removeClass("d-none");
973 } else {
974 jQuery.each( obj, function( i, val ) {
975 var idbatch = obj[i].batchId;
976 var startdate = new Date(obj[i].startDate).toISOString().slice(0,10);
977 var enddate = new Date(obj[i].endDate).toISOString().slice(0,10);
978 var courseduration = obj[i].courseDuration;
979 var availability = obj[i].availability;
980 var venue = obj[i].venue;
981 var description = obj[i].description;
982 var coursetitle = obj[i].courseTitle;
983 var allowonlinepayment = obj[i].allowOnlinePayment;
984 var fundedcourseflag = obj[i].fundedCourseFlag;
985 //var coursetype = obj[i].courseType;
986 var urlDownloadAll= "https://tmspro.ntuclearninghub.com/portal/addins/cms/prtcourseschedule.do?batchid="+idbatch+"&prtindicator=P&autologin=1" ;
987 var urlReserveAll= "https://tmspro.ntuclearninghub.com/portal/addins/cms/initregister.do?batchid="+idbatch+"&autologin=1" ;
988
989//format date
990 var sdate = new Date(startdate);
991 var year = sdate.getFullYear();
992 var month = sdate.getMonth()+1;
993 var gdt = sdate.getDate();
994 var formatdate = (gdt+'-' + month + '-'+year);
995
996 var edate = new Date(enddate);
997 var eyear = edate.getFullYear();
998 var emonth = edate.getMonth()+1;
999 var egdt = edate.getDate();
1000 var formatedate = (egdt+'-' + emonth + '-'+eyear);
1001
1002
1003 $("#isi").append("<tr><td class='text-left'> "+idbatch+" <a href='" + urlDownloadAll + "'class='btn-1 btn-block download-schedule' target='_blank'>Download schedule</a></td><td>" + startdate + " to " + enddate + "</td><td>" + coursetitle + "</td><td><i class='iconcheckfunded '><span class='payment'>"+fundedcourseflag+"</span></i></td><td>" + courseduration+ "</td><td>" + description + "</td><td>" + venue + "</td><td>" + availability + "</td><td> <i class='iconcheck '><span class='payment'>"+allowonlinepayment+"</span></i></td><td class='type-rs'><a id='btn-reserve-isi' href='" +urlReserveAll+ "'class='btn-1 btn-block' target='_blank'>Reserve a spot</a></td><tr>");
1004
1005 if(noseats != '' && noseats != '0' && idbatch != ''){
1006 $('#btn-reserve-isi').removeClass("d-none");
1007 }
1008
1009 if (i == 0) {
1010
1011 if(availability != "" && availability != "0" && idbatch != ""){
1012 $("#reserve").removeClass("d-none");
1013 } else {
1014 $("#starting-soon").removeClass("d-none");
1015 }
1016 $("#scdule-api").append("<div class='schedule-tb'><div class='row'><div class='col-xl-2 col-lg-3 col-6'><h5>Start date</h5><p>" + startdate + "</p></div><div class='col-xl-2 col-lg-3 col-6'><h5>End date</h5><p>" + enddate + "</p></div><div class='col-xl-2 col-lg-3 col-6'><h5>Course Duration</h5><p>" + courseduration + " hr(s)</p></div><div class='col-xl-2 col-lg-3 col-6'><h5>No. seats</h5><p>" + availability + "</p></div></div><div class='row'><div class='col-xl-4 col-6'><h5>Venue</h5><p>" + venue + "</p></div><div class='col-xl-4 col-6'><h5>Other details</h5><p>" + description + "</p></div></div></div>");
1017
1018 $("#download-sc").append("<a class='btn-2' href='"+ urlDownloadAll +"'>Download schedule</a>");
1019
1020 $("#reserve").append("<a href='"+ urlReserveAll +"' class='btn-1 btn-block' target='_blank'>Reserve a spot</a>");
1021
1022
1023 }
1024 if(obj[i].allowWebRegistration == false) {
1025 $(".btn-reserve").addClass("disabled");
1026 }
1027 if(obj[i].allowOnlinePayment == true) {
1028 $(".iconcheck").addClass("fas fa-check color-info");
1029 } else if(obj[i].allowOnlinePayment == false){
1030 $(".iconcheck").addClass("fas fa-times color-info");
1031 }
1032
1033 if(obj[i].fundedCourseFlag == true) {
1034 $(".iconcheckfunded").addClass("fas fa-check color-info");
1035 } else if(obj[i].fundedCourseFlag == false){
1036 $(".iconcheckfunded").addClass("fas fa-times color-info");
1037 }
1038
1039
1040 });
1041
1042 //var enquiryLink = document.getElementById("btn-enquiry").href;
1043 //enquiryLink += obj[0].courseType;
1044 //document.getElementById("btn-enquiry").href = enquiryLink;
1045
1046 $("#btn-enquiry").append("<a href='/enquiry-form?course_name=${htmlUtil.escape(courseTitle.getData())}&course_code=${courseCode.getData()}&course_type="+courseTypeGlob+" 'class='btn-2 btn-block'>ENQUIRE NOW</a>");
1047 }
1048 $('.loader').fadeOut('slow');
1049 }
1050
1051 );
1052 }
1053
1054 function convert(date) {
1055 var parts = date.split("/");
1056 var dt = new Date(parseInt(parts[2], 10),
1057 parseInt(parts[1], 10) - 1,
1058 parseInt(parts[0], 10) + 1);
1059 return dt;
1060 }
1061
1062 //var enquiryLink = document.getElementById("btn-enquiry").href;
1063 //enquiryLink += this['courseType'];
1064 //document.getElementById("btn-enquiry").href = enquiryLink;
1065 //console.log(enquiryLink)coursetype
1066 //}
1067 //);
1068 //});
1069 </script>
1070 <script>
1071 function printDiv(elementIdku) {
1072 var a = document.getElementById('printing-css').value;
1073 var b = document.getElementById(elementIdku).innerHTML;window.frames["print_frame"].document.body.innerHTML =
1074
1075 window.frames["print_frame"].document.body.innerHTML = '<style>' + a + '</style>' + b;
1076 window.frames["print_frame"].window.focus();
1077 window.frames["print_frame"].window.print();
1078 }
1079 </script>
1080
1081
1082
1083 <!-- Sosial Share -->
1084 <section class="fixed-sosial">
1085<div class="sidebar-sosial">
1086 <div class="social facebook">
1087 <a href="javascript:void(window.open('https://www.facebook.com/sharer.php?u=' + encodeURIComponent(document.location) + '?t=' + encodeURIComponent(document.title),
1088'mywin','left=20,top=20,width=500,height=500,toolbar=1,resizable=0'))" >
1089 <p><i class="fab fa-facebook-f"></i><span>Share</span> </p>
1090 </a>
1091 </div>
1092 <div class="social twitter">
1093 <a href="javascript:void(window.open('https://twitter.com/share?url=' + encodeURIComponent(document.location) + '&text=' + encodeURIComponent(document.title) + '&via=fabienb&hashtags=koandesign','mywin','left=20,top=20,width=500,height=500,toolbar=1,resizable=0'))">
1094 <p><i class="fab fa-twitter"></i><span>Tweet</span></p>
1095 </a>
1096 </div>
1097 <div class="social pinterest">
1098 <a href="javascript:void(window.open('https://www.pinterest.com/sharer.php?u=' + encodeURIComponent(document.location) + '?t=' + encodeURIComponent(document.title),
1099'mywin','left=20,top=20,width=500,height=500,toolbar=1,resizable=0'))" >
1100 <p><i class="fab fa-pinterest"></i><span>Pin</span></p>
1101 </a>
1102 </div>
1103 <div class="social envelope">
1104 <a href="javascript:void(window.open('mailto:?subject=' + encodeURIComponent(document.location) + '?t=' + encodeURIComponent(document.title),
1105'mywin','left=20,top=20,width=500,height=500,toolbar=1,resizable=0'))">
1106 <p><i class="far fa-envelope"></i><span>Email</span></p>
1107 </a>
1108 </div>
1109 <div class="social whatsapp">
1110 <a href="javascript:void(window.open('https://web.whatsapp.com/sharer.php?u=' + encodeURIComponent(document.location) + '?t=' + encodeURIComponent(document.title),
1111'mywin','left=20,top=20,width=500,height=500,toolbar=1,resizable=0'))">
1112 <p><i class="fab fa-whatsapp"></i><span>Share</span></p>
1113 </a>
1114 </div>
1115 <div class="social linkedin">
1116 <a href="javascript:void(window.open('https://www.linkedin.com/shareArticle?url=' + encodeURIComponent(document.location) + '&title=' + encodeURIComponent (document.title),'mywin','left=20,top=20,width=500,height=500,toolbar=1,resizable=0'))">
1117 <p><i class="fab fa-linkedin-in"></i><span>Share</span></p>
1118 </a>
1119 </div>
1120 <div class="social messenger">
1121 <a href="javascript:void(window.open('https://www.facebook.com/dialog/send?link=' + encodeURIComponent(document.location) + '&title=' + encodeURIComponent (document.title),'mywin','left=20,top=20,width=500,height=500,toolbar=1,resizable=0'))" >
1122 <p><i class="fab fa-facebook-messenger"></i><span>Share</span></p>
1123 </a>
1124 </div>
1125
1126
1127</div>
1128 <div class="st-toggle">
1129 <div class="st-left">
1130 <i class="fas fa-angle-double-left"></i>
1131 </div>
1132 <div class="st-right">
1133 <i class="fas fa-angle-double-right"></i>
1134 </div>
1135</div>
1136</section>
1137<!--
1138<script>
1139$(document).ready(function(){
1140 $('a').attr('target', '_blank');
1141});-->
1142</script>
What Others Also Enrolled In
Funded
APPLY WORKPLACE SAFETY AND HEALTH IN PROCESS PLANT - BENGALI
View detail
Before Funding
$102.80
Funded
APPLY WORKPLACE SAFETY AND HEALTH IN PROCESS PLANT (MANDARIN)
View detail
Before Funding
$102.80
Funded
APPLY WORKPLACE SAFETY AND HEALTH IN PROCESS PLANT - MALAY
View detail
Before Funding
$102.80
Funded
APPLY WORKPLACE SAFETY AND HEALTH IN PROCESS PLANT - TAMIL
View detail
Before Funding
$102.80
Funded
APPLY WORKPLACE SAFETY AND HEALTH IN CONSTRUCTION SITES (MANDARIN)
View detail
Before Funding
$105.00