CINXE.COM

Articles | Myskillsfuture.gov.sg

<!DOCTYPE html> <html lang="en"> <head> <meta charset="utf-8"/> <meta http-equiv="X-UA-Compatible" content="IE=edge"/> <meta content="width=device-width, initial-scale=1.0" name="viewport"/> <!-- Will override in child template --> <meta http-equiv="cache-control" content="max-age=0"/> <meta http-equiv="cache-control" content="no-cache"/> <meta http-equiv="expires" content="0"/> <meta http-equiv="expires" content="Tue, 01 Jan 1980 1:00:00 GMT"/> <meta http-equiv="pragma" content="no-cache"/> <meta name="keywords"/> <meta name="description" content="Read about personal development stories, industry news and the latest courses for you to embark on your own learning journey."/> <!-- Schema.org markup for Google+ --> <meta itemprop="name" content="Articles | Myskillsfuture.gov.sg"/> <meta itemprop="description" content="Read about personal development stories, industry news and the latest courses for you to embark on your own learning journey."/> <meta itemprop="image" content="https://www.myskillsfuture.gov.sg/content/dam/portal/social/skillsfuture_fb_1200by630_w.jpg"/> <!-- Twitter card data --> <meta name="twitter:card" content="summary_large_image"/> <meta name="twitter:site" content="@SkillsFutureSG"/> <meta name="twitter:title" content="Articles | Myskillsfuture.gov.sg"/> <meta name="twitter:description" content="Read about personal development stories, industry news and the latest courses for you to embark on your own learning journey."/> <meta name="twitter:creator" content="@SkillsFutureSG"/> <!-- Twitter summary card with large image must be at least 280x150px --> <meta name="twitter:image:src" content="https://www.myskillsfuture.gov.sg/content/dam/portal/social/skillsfuture_fb_1200by630_w.jpg"/> <!-- Open graph data --> <meta property="og:type" content="website"/> <meta property="og:title" content="Articles | Myskillsfuture.gov.sg"/> <meta property="og:description" content="Read about personal development stories, industry news and the latest courses for you to embark on your own learning journey."/> <meta property="og:url" content="https://www.myskillsfuture.gov.sg/content/portal/en/career-resources/career-resources.html"/> <meta property="og:image" content="https://www.myskillsfuture.gov.sg/content/dam/portal/social/skillsfuture_fb_1200by630_w.jpg"/> <meta property="og:image" content="https://www.myskillsfuture.gov.sg/content/dam/portal/social/skillsfuture_fb_200by200_w.jpg"/> <!-- Google Sign In --> <meta name="google-signin-client_id" content="138989246253-3rgkq9hpgcf2s1donoe66u58danb9icv.apps.googleusercontent.com.apps.googleusercontent.com"/> <link rel="icon" href="/favicon.ico"/> <title>Articles | Myskillsfuture.gov.sg</title> <script> //The scope of this file is to create global variables and function that are available in all pages. //Do not override this file in the child pages. Becareful on the variable name and also the variable //Secure Cookie Vulnerability //Function to check if need to set secure flag for client side cookies. function GetSecureCookieFlag(){ var securityProtocol=""; if(location && location.protocol == "https:"){ securityProtocol=";secure"; } return securityProtocol; } //Boolean Function to check if need to set secure flag for client side cookies. function CheckSecureCookieFlag(){ var securityProtocol=false; if(location && location.protocol == "https:"){ securityProtocol=true; } return securityProtocol; } </script> <!-- <sly data-sly-include="/libs/wcm/core/components/init/init.jsp" data-sly-unwrap/> --> <script src="/etc.clientlibs/clientlibs/granite/jquery.min.js"></script> <script src="/etc.clientlibs/clientlibs/granite/utils.min.js"></script> <script src="/etc.clientlibs/clientlibs/granite/jquery/granite.min.js"></script> <script src="/etc.clientlibs/foundation/clientlibs/jquery.min.js"></script> <script src="/etc/clientlibs/msf/core-base/csrfheader.min.js"></script> <script src="/etc.clientlibs/clientlibs/granite/jquery/granite/csrf.min.js"></script> <script src="/etc/clientlibs/granite/jquery/granite/csrf.min.js"></script> <link rel="stylesheet" href="/etc/clientlibs/msf/core-base/Workforce-v3.min.css" type="text/css"> <script src="/etc/clientlibs/msf/core-base/Workforce-v3.min.js"></script> <link rel="stylesheet" href="/etc/clientlibs/msf/core-base/V3-ui.min.css" type="text/css"> <!-- Will override in child template --> <link rel="stylesheet" href="/etc/clientlibs/external/moment.min.css" type="text/css"> <link rel="stylesheet" href="/etc/clientlibs/msf/pm/workforce_career_guidance_landing.min.css" type="text/css"> <script src="/etc/clientlibs/external/moment.min.js"></script> <script src="/etc/clientlibs/msf/pm/workforce_career_guidance_landing.min.js"></script> <script type="text/javascript" src="//cdn.evgnet.com/beacon/skillsfuturesingapore/ssg_prod/scripts/evergage.min.js"/> <style id="antiClickjack">body{display:none !important;}</style> <script type="text/javascript"> if (self === top) { var antiClickjack = document.getElementById("antiClickjack"); antiClickjack.parentNode.removeChild(antiClickjack); } else { top.location = self.location; } </script> <script type="text/javascript"> digitalData = { page: { pillar: "Career Resources", audience: "Individuals", type: "career resources landing page" }, user: { id: '294de3557d9d00b3d2d8a1e6aab028cf' // from the backend user database }, organisation: { name: '' // e.g. Hotel Jen } }; </script> <script src="//assets.adobedtm.com/7354f1c0c20b/d6ddc6e14c09/launch-f3038b0e7b74.min.js" defer></script> <script src="https://assets.wogaa.sg/scripts/wogaa.js" defer></script> <meta http-equiv="Content-Security-Policy" content="default-src https: 'unsafe-eval' 'unsafe-inline'; object-src 'none'; img-src * data:"/> </head> <body class="v3 page workforcecareerguidancelanding"> <input id="portalContextPath" type="hidden"/> <link rel="stylesheet" href="/etc/clientlibs/msf/core-base/header-footer-v3.min.css" type="text/css"> <script src="/etc/clientlibs/msf/core-base/header-footer-v3.min.js"></script> <header id="mysf-header-v3" class="fixed-top bootstrap-v3 screen-v3" data-bind="showHide : isHeaderPopulated()"> <div class="header-alert-holder"> <!-- Note: This implementation is done purely on the html page due to following. 1. To optimise page loading speed by retaining the logic at client side. 2. To work around Cloud Front caching, Dispatcher caching and Local Browser caching 3. To reuse the component across various portal's from 1 single source. Do consider the above before changing. --> <style> .close-cookie{ position: relative; margin-left: 99%; z-index: 11; cursor: pointer; color: #ffffff; top: 2px; font-size: 20px; font-family: 'FontAwesome'; width: 100%; } #cookieDiv .leftBox{ width:98%; } .cookie_message_text{ font-family:"Work Sans", sans-serif; font-size: 16px; color: #fff; width:96%; } .cookie_message_close{ width:0; /* padding-right: 5%; */ /* padding-right:15px;padding-left:15px;margin-right:auto;margin-left:auto; */ } .exclamation{ position: relative; z-index: 11; color: #e68717; font-size: 36px; font-family: 'FontAwesome'; width:4%; } fa-exclamation-triangle::before { font-family: 'FontAwesome'; font-weight:normal; line-height: 24px; padding-top: 1px; content: '\f00d'; color: #e68717; } .leftContent{ } .cookieMessageBox{ background-color: #3e3e3e; } #cookieDiv{ background-color: #3e3e3e; height: 50px; bottom:0px; padding-top:10px; position: fixed; z-index: 1051; width: 100%; } @media(max-width:1215px){ #cookieDiv{ height: 80px; } } @media(max-width:662px){ #cookieDiv{ height: 100px; } } </style> <div id="cookieDiv" class="col-xs-12" style="display:none"> <div id="cookieMessageBox" class='clear'> <div class="container"> <div style="float:left" class='leftBox'> <div class="leftContent"> <div class="cookie_message_text" id="cookieMessage"></div> </div> </div> <div class="cookie_message_close"> <span class="close-cookie fa-close" onclick="closeCookieMessage()"></span> </div> </div> </div> </div> <script> var COOKIE={ PORTAL:"MySkillsFuture uses cookies to personalise content for you. By continuing to use this website, you consent to our use of cookies.", TPG:"Training Partners Gateway uses cookies to personalise content for you. By continuing to use this website, you consent to our use of cookies." } function closeCookieMessage() { $('#cookieDiv').hide(); }; $( document ).ready(function() { //Cookie Enable message Logic -- Start var cookieEnabled = navigator.cookieEnabled; if(!cookieEnabled ){ //donot display on mobile apps page try{ var viewSource = RequestUtil.getURLParameter("viewSource"); if (!(viewSource && (viewSource == 'mobileApp'))) { var cookieText = COOKIE.PORTAL; if(window.location.href.indexOf("/content/portal/en/training-provider") >= 0){ cookieText = COOKIE.TPG; } $('.cookie_message_text').text(cookieText); $('#cookieDiv').show(); } }catch(e){ } } //Cookie Enable message Logic -- End }); </script> <script> var MAINTENANCE={ KEY:"MAIN-2024-11-23-1", //STUDENT:"Course fees after SkillsFuture Funding in course listings will be temporarily unavailable from 23 NOV 2024 11:00 PM to 24 NOV 2024 07:00 AM.", WORKFORCE:"Course fees after SkillsFuture Funding in course listings will be temporarily unavailable from 23 NOV 2024 11:00 PM to 24 NOV 2024 07:00 AM.", //TRAINING_PROVIDER: "<b>Training Partners Gateway</b> will be undergoing scheduled maintenance on the following dates: <b>22 NOV 2024 09:00 PM to 23 NOV 2024 07:00 AM</b>. During this period, the portal will not be available. Thank you for your patience.", UAM:"Course fees after SkillsFuture Funding in course listings will be temporarily unavailable from 23 NOV 2024 11:00 PM to 24 NOV 2024 07:00 AM.", SHOW_MAINTENACE:true, START_TIME: "2017-11-29T00:06:00.000Z", END_TIME: "2024-11-23T23:00:00.000Z" } </script> <style> .maintenancePlaceholder.alert.alert-dark.fade.show { display: flex !important; opacity: 1; z-index: 11; } .maintenancePlaceholder.alert.alert-dark.fade.show.close { display: none !important; } </style> <div class="maintenancePlaceholder alert alert-dark fade show" role="alert" style="display: none !important"> <div class="alert-message flex-fill"> <i class="bi bi-exclamation-circle-fill"></i> <span id="maintenanceMessage"></span> </div> <button type="button" class="btn-close" data-bs-dismiss="alert" aria-label="Close" onclick="closeMessage()"> <i class="bi bi-x"></i> </button> </div> <script> function checkMessageShowstatus(){ var showMessage = true; if(sessionStorage.getItem('curMessageKey')==MAINTENANCE.KEY){ showMessage= false; return showMessage; } if(!MAINTENANCE.SHOW_MAINTENACE){ showMessage=false; return showMessage; } if(getMessage()==null){ showMessage=false; return showMessage; } //donot display on mobile apps page try{ var viewSource = RequestUtil.getURLParameter("viewSource"); if (viewSource && (viewSource == 'mobileApp')) { showMessage=false; return showMessage; } }catch(e){ } /* if other conditions are true check if the date is inbetween the start and end date */ showMessage = checkdateInbetween(); return showMessage; } /* this function checks for if the date is inbetween 2 dates */ function checkdateInbetween(){ var dateInBetween = true; var fromDate; var toDate; var curDate = new Date(); if(typeof DateOverridenFlag !== 'undefined' && DateOverridenFlag==true){ fromDate= new Date(MAINTENANCE.START_TIME,false); toDate= new Date(MAINTENANCE.END_TIME,false); }else{ fromDate= new Date(MAINTENANCE.START_TIME); toDate= new Date(MAINTENANCE.END_TIME); } if(!(curDate.getTime() <= toDate.getTime() && curDate.getTime() >= fromDate.getTime())) { dateInBetween=false; } return dateInBetween; } function closeMessage() { //add messageKey to local storage sessionStorage.setItem("curMessageKey",MAINTENANCE.KEY); //close the message $('.maintenancePlaceholder').hide(); //if(window.location.href.indexOf("/content/portal/en/training-provider") >= 0){ $('#spaceMaintenance').css('padding-top','0px'); //} setTimeout(function(){ $(window).trigger('resize'); }, 100); }; function getMessage(){ if(window.location.href.indexOf("/content/student") >= 0){ return MAINTENANCE.STUDENT; } else if(window.location.href.indexOf("/content/portal/en/training-provider") >= 0){ return MAINTENANCE.TRAINING_PROVIDER; } else if(window.location.href.indexOf("/uam") >= 0){ return MAINTENANCE.UAM; } else{ return MAINTENANCE.WORKFORCE; } return null; } $( document ).ready(function() { $('.maintenancePlaceholder').hide(); $('.maintenancePlaceholder').addClass('close'); if(sessionStorage.getItem("curMessageKey") !=MAINTENANCE.KEY){ var returnStatus = checkMessageShowstatus(); if(!returnStatus){ MAINTENANCE.SHOW_MAINTENACE=false; $('#displayMessage').html(""); $('#mainDiv').hide(); $('.maintenancePlaceholder').hide(); $('.maintenancePlaceholder').addClass('close'); }else{ $('.maintenancePlaceholder').removeClass('close'); $('.maintenancePlaceholder').show(); $('#maintenanceMessage').html(getMessage()); setTimeout(function(){ $(window).trigger('resize'); }, 200); } if(window.location.href.indexOf("student") > -1 != true){ // except student pages var splashScreenFlag = CookieStorage.cookieStorage(CookieConstants.COOKIE_SPLASH_SCREEN_FLAG) || ''; if (splashScreenFlag && splashScreenFlag === 'true') { $('#splashscreen').modal('show'); CookieStorage.removeCookieStorageWithPath(CookieConstants.COOKIE_SPLASH_SCREEN_FLAG,'/content'); } } } //$(window).trigger('resize'); }); if(_satellite == null){ var _satellite = { pageBottom : function(rawUrl) { console.log('analytics not loaded'); }, track : function(rawUrl){ console.log('analytics not loaded'); } } } var MODSEC_PARAMS = { RESTRICTED_KEYWORDS:["coalesce","root@"], REPLACEMENT_CHARACTERS:"_" } function modSecSanitiseAgainstSingleItem(value,singleItem,replacementCharacter){ var returnValue = value; if(singleItem && replacementCharacter && value && value.toLowerCase().indexOf(singleItem.toLowerCase()) >-1){ var regex = new RegExp(singleItem , "ig"); returnValue=value.replace(regex, value.split(" ")[value.toLowerCase().indexOf(singleItem.toLowerCase())]+replacementCharacter); } return returnValue; } function modSecSanitiseAgainstArray(value,arrayList,replacementCharacter){ var returnValue = value; if(value && arrayList && arrayList.length>0){ arrayList.forEach(function(element) { returnValue = modSecSanitiseAgainstSingleItem(returnValue,element,replacementCharacter); }); } return returnValue; } // if(null!=digitalData && digitalData.organisation && digitalData.organisation.name){ // digitalData.organisation.name = modSecSanitiseAgainstArray(digitalData.organisation.name,MODSEC_PARAMS.RESTRICTED_KEYWORDS,MODSEC_PARAMS.REPLACEMENT_CHARACTERS); // } try{ $.ajaxSetup({contents: {script: false}}); }catch(e){ } </script> </div> <!-- start - Inclusion of SGDS script for Masthead banner --> <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/@govtechsg/sgds-masthead/dist/sgds-masthead/sgds-masthead.css"/> <script type="module" src="https://cdn.jsdelivr.net/npm/@govtechsg/sgds-masthead/dist/sgds-masthead/sgds-masthead.js"> </script> <div class="masthead-placeholder" style="min-height: 32px;"> <sgds-masthead fluid></sgds-masthead> </div> <script> $(document).ready(function() { const mastHeadBanner = document.querySelector('.masthead-placeholder'); mastHeadBanner.addEventListener('click', function() { console.log('First click event listener'); setTimeout(function(){ $(window).trigger('resize'); }, 100); }); }); </script> <!-- <div class="masthead-layout d-flex"> <div class="masthead-text-size-change "> <span>Change Text Size:</span> <a href="#" onclick="javascript:zoomOut(event);"><small>A-</small></a> <a href="#" onclick="javascript:zoomIn(event);">A+</a> </div> </div> --> <!-- <div id="sgds-masthead" class="sgds-masthead" aria-label="A Singapore Government Agency Website"> <div class="sgds-masthead-banner"> <div class="container-fluid"> <div class="masthead-layout"> <div class="masthead-govt-crest flex-fill"> <span style="cursor: pointer;" data-bind="click : function() { $root.iconClick($root.mastheadUrl(),'_blank') }" class="sgds-icon sgds-icon-sg-crest text-decoration-none"></span> <div style="cursor: pointer;" data-bind="click : function() { $root.iconClick($root.mastheadUrl(),'_blank') }" class="is-text">A Singapore Government Agency Website</div> </div> <div class="masthead-text-size-change"> <span>Change Text Size:</span> <a href="#" onclick="javascript:zoomOut(event);"><small>A-</small></a> <a href="#" onclick="javascript:zoomIn(event);">A+</a> </div> </div> </div> --> <!-- end - Inclusion of SGDS script for Masthead banner --> <div class="header-holder" id="mainHeader"> <div class="container-fluid"> <div class="d-flex align-items-center"> <div class="navbar-brand header-logo-holder" data-title="Welcome!" data-intro="Take a short tour of the MySkillsFuture Portal.<br/>Click 'Next' to proceed." data-step="1"> <a href="/content/portal/en/index.html" class="text-decoration-none stretched-link"> <!-- <img src="/etc/clientlibs/msf/core-base/V3-ui/images/myskillsfuture-color.png" alt="MySkillsFuture logo"> --> <img src="/etc/clientlibs/msf/core-base/V3-ui/images/myskillsfuture-color.png" alt="MySkillsFuture"/> </a> </div> <div class="header-nav-holder flex-fill"> <div class="navbar-menu"> <!-- Remove explore dropdown header --> <!-- <div class="explore-dropdown-header"> <div class="container-xxl"> <div class="explore-dropdown-header-content"> <div class="d-flex flex-fill"></div> <button type="button" class="btn-close"></button> </div> </div> </div> --> <div class="mobile-search-holder collapse" id="globalSearch" data-bs-parent="#mainHeader"> <div class="container-xxl"> <div class="input-group global-search-bar"> <input id="global-search-header-searchbar" type="text" class="form-control global-search header-search" placeholder='Include &quot; &quot; for better search results, e.g. &quot;data security&quot;' data-bind="jqAuto: { source: $PORTAL_SEARCH.remoteHandler, value : $PORTAL_SEARCH.portalSearchKeyword, labelProp : 'parameter', valueProp: 'parameter', options: { html:true, delay:250, minLength : 3 , select : function(data, event) { }} }, valueUpdate: 'afterkeydown', value : $PORTAL_SEARCH.portalSearchKeyword, executeOnEnter : function() { $PORTAL_SEARCH.searchPortalArticles(document.getElementById('global-search-header-searchbar').value)}"/> <div class="input-group-append"> <a rel="nofollow" href="#" class="clear-search animated" aria-label="Clear search bar"> <span class="sgds-icon sgds-icon-cross clear-global-search"></span> </a> <button class="btn btn-primary" type="button" data-bind="click : function() { $PORTAL_SEARCH.searchPortalArticles(document.getElementById('global-search-header-searchbar').value) }"> <i class="sgds-icon sgds-icon-search"></i> <span>Search</span> </button> </div> </div> </div> <div class="search-suggestions recent-popular-results"> <div class="container-xxl"> <div data-bind="foreach : $PORTAL_SEARCH.getRecentSearches()"> <h6 class="my-2" data-bind="text: category"></h6> <ul data-bind="foreach : searches"> <li> <a href="#"> <i class="material-icons-outlined">history</i> <span data-bind="text: title, click :function() { $PORTAL_SEARCH.navigateRecentSearch(url);}"></span> </a> </li> </ul> </div> <h6 class="my-2">Popular Searches</h6> <ul data-bind="foreach : $PORTAL_SEARCH.popularSearches()"> <li> <a href="#"> <i class="material-icons-outlined">search</i> <span data-bind="text : keyword,click :function() { $PORTAL_SEARCH.searchPortalArticles(keywordText);}"></span> </a> </li> </ul> </div> </div> <div class="search-suggestions suggestion-results d-none"> <section class="autoSuggestInitiatives d-none"> <div class="container-xxl"> <div> <h6 class="my-2">Initiatives</h6> <ul></ul> </div> </div> </section> <section class="autoSuggestCourses d-none"> <div class="container-xxl"> <div> <h6 class="my-2">Courses</h6> <ul></ul> </div> </div> </section> <section class="search-suggestions__related-occupation autoSuggestOccupations d-none"> <div class="container-xxl"> <div> <h6 class="my-2">View Courses By Related Occupations</h6> <ul></ul> </div> </div> </section> <section class="autoSuggestArticles d-none"> <div class="container-xxl"> <div> <h6 class="my-2">Articles</h6> <ul></ul> </div> </div> </section> </div> </div> <!-- <sly data-sly-test="true"> --> <div class="navbar-item active d-none"> <div class="navbar-item-top-level-link"> <a class="navbar-link" rel="nofollow" href="#"> <h6><span>Home</span></h6> </a> </div> </div> <div class="navbar-item nav-header-link navbar-contactus"> <div class="navbar-item-top-level-link"> <a class="navbar-link" href="javascript:$HOME_V3.clickGoToCSP('HOME');"> <h6><span>Careers & Skills Passport</span></h6> </a> </div> </div> <div class="navbar-item nav-header-link navbar-courses"> <div class="navbar-item-top-level-link"> <a class="navbar-link" rel="nofollow" href="#"> <h6> <span>Courses</span> <i class="sgds-icon sgds-icon-chevron-down"></i> </h6> </a> <button class="mobile-collapse-toggle" type="button" data-bs-toggle="collapse" data-bs-target="#menuDropdown-03"> <i class="sgds-icon sgds-icon-chevron-down"></i> </button> </div> <div class="navbar-dropdown collapse mega-menu" id="menuDropdown-03"> <div class="container-xxl"> <div class="mega-menu-holder"> <div class="mega-menu-navigation"> <!-- <sly data-sly-use.aot="aot.js"> <div class="row row-cols-1 row-cols-lg-3"> <sly data-sly-list.child=""> <div class="col"> <a href="" class="navbar-item sub-link"></a> </div> </sly> </div> </sly> --> <div class="row row-cols-1 text-center"> <div class="col"> <a href="/content/portal/en/portal-search/portal-search.html" class="navbar-item sub-link">Search Courses</a> </div> <div class="col"> <a href="/content/portal/en/portal-search/portal-search.html?fq=IsValid%3Atrue&q=Tags%3A%22SkillsFuture%20Credit%20(Mid-Career)%22&jumpstart=false" class="navbar-item sub-link">SkillsFuture Credit (Mid-Career) Courses</a> </div> <div class="col"> <a href="/content/portal/en/career-resources/career-resources/education-career-personal-development/use_SFC_for_online_subscriptions_and_courses.html" class="navbar-item sub-link">Online Courses and Subscriptions</a> </div> </div> </div> </div> </div> </div> </div> <!-- <div class="navbar-item nav-header-link navbar-initiatives"> <div class="navbar-item-top-level-link"> <a class="navbar-link" href="/content/portal/en/initiatives/initiatives.html"> <h6><span>Initiatives</span></h6> </a> </div> </div> --> <div class="navbar-item nav-header-link navbar-eservices"> <div class="navbar-item-top-level-link"> <a class="navbar-link" href="/content/portal/en/e-services.html"> <h6><span>E-Services</span></h6> </a> </div> </div> <div class="navbar-item nav-header-link navbar-resources"> <div class="navbar-item-top-level-link"> <a class="navbar-link" rel="nofollow" href="#"> <h6> <span>Resources</span> <i class="sgds-icon sgds-icon-chevron-down"></i> </h6> </a> <button class="mobile-collapse-toggle" type="button" data-bs-toggle="collapse" data-bs-target="#menuDropdown-04"> <i class="sgds-icon sgds-icon-chevron-down"></i> </button> </div> <div class="navbar-dropdown collapse mega-menu" id="menuDropdown-04"> <div class="container-xxl"> <div class="mega-menu-holder"> <div class="mega-menu-navigation"> <div class="row row-cols-1 text-center"> <div class="col"> <a href="/content/portal/en/career-resources/career-resources.html" class="navbar-item sub-link">View Articles</a> </div> <div class="col"> <a href="/content/portal/en/initiatives/initiatives.html" class="navbar-item sub-link">View SkillsFuture Initiatives</a> </div> </div> </div> </div> </div> </div> </div> <!-- <div class="navbar-item nav-header-link navbar-contactus"> <div class="navbar-item-top-level-link"> <a class="navbar-link" href="/content/portal/en/header/faqs/for-further-assistance.html"> <h6><span>Contact Us</span></h6> </a> </div> </div> --> <div class="navbar-item nav-header-link navbar-aboutus"> <div class="navbar-item-top-level-link"> <a class="navbar-link" href="/content/portal/en/about/about-myskillsfuture.html"> <h6><span>About Us</span></h6> </a> </div> </div> <!-- </sly> --> </div> </div> <div class="header-actions-holder"> <div class="d-flex align-items-center justify-content-end"> <div class="d-flex"> <!-- ko if: isLoggedIn() --> <!-- ko if: isLoggedIn() && isSingPassLogin() --> <div class="right-action-single-btn d-none d-lg-flex" data-bind="if : isSingPassLogin() && isLoggedIn()"> <span class="badge rounded-pill bg-danger" data-bind="html : $root.notificationsCount()"></span> <button class="sgds btn btn-link" type="button" data-bind="click : function() { $root.iconClick($root.notifications().inboxUrl, '_blank') }"> <i class="fa-regular fa-bell"></i> </button> </div> <div class="right-action-single-btn d-none d-lg-flex" data-bind="if : isSingPassLogin() && isLoggedIn()"> <span class="badge rounded-pill bg-danger" data-bind="html : $root.bookmarkResultCount()"></span> <button class="sgds btn btn-link" type="button" data-bind="click : function() { $root.iconClick($root.bookmarkResultUrl(), '_blank') }"> <i class="fa-regular fa-heart"></i> </button> </div> <!-- /ko --> <div class="right-action-single-btn" data-bind="if : isLoggedIn()"> <a class="right-action-header-profile-btn streched-link" data-bs-toggle="offcanvas" href="#offcanvasMenu" role="button"> <div class="right-action-header-profile d-flex"> <div class="right-action-header-profile-img"> <span class="material-icons-two-tone">account_circle</span> </div> <div class="right-action-header-profile-info d-none d-lg-flex"> <div> <span class="profile-name"><strong data-bind="text : $Util.shortenText(preferredName(), 20),attr:{title:preferredName()}"></strong></span> <!-- <span class="profile-credit" data-bind="if : availableCredits()">Credit Balance: <strong data-bind="text : availableCredits()"></strong></span>--> <span class="profile-credit"><a style="white-space: nowrap;" data-bind="if : availableCredits(), attr: { href: $GLOBAL_CONSTANTS.SFC_URL.PROD }">SkillsFuture Credit</a></span> </div> </div> </div> </a> </div> <div class="right-action-header-profile d-none" data-bind="if : isLoggedIn()"> <div class="right-action-header-profile-img"> <!--<i class="bi bi-person-circle"></i>--> <span class="material-icons-two-tone">account_circle</span> </div> <div class="right-action-header-profile-info"> <a class="streched-link" href="#"> <span class="profile-name"><strong data-bind="text : $Util.shortenText(preferredName(), 20),attr:{title:preferredName()}"></strong></span> <!-- <span class="profile-credit" data-bind="if : availableCredits()">Credit Balance: <strong data-bind="text : availableCredits()"></strong></span>--> <span class="profile-credit"><a style="white-space: nowrap;" data-bind="if : availableCredits(), attr: { href: $GLOBAL_CONSTANTS.SFC_URL.PROD }">SkillsFuture Credit</a></span> </a> </div> </div> <div class="offcanvas offcanvas-end" tabindex="-1" id="offcanvasMenu" aria-modal="true" role="dialog"> <div class="offcanvas-header"> <div class="d-flex flex-fill"> <div class="right-action-header-profile"> <div style="display:none" class="right-action-header-profile-img d-none"> <span class="material-icons-two-tone">account_circle</span> </div> <div class="right-action-header-profile-info"> <div> <span class="profile-name"><strong data-bind="text : $Util.shortenText(preferredName(), 20),attr:{title:preferredName()}"></strong></span> <!-- <span class="profile-credit" data-bind="if : availableCredits()">Credit Balance: <strong data-bind="text : '$' + availableCredits()"></strong></span> --> <!-- <span class="profile-credit" data-bind="if : availableCredits()">Credit Balance: <strong data-bind="text : availableCredits()"></strong></span>--> </div> </div> </div> </div> <div class="header-actions-holder"> <div class="d-flex align-items-center"> <div class="right-action-single-btn d-lg-none" data-bind="if : isSingPassLogin() && isLoggedIn()"> <span class="badge rounded-pill bg-danger" data-bind="html : $root.notificationsCount()"></span> <button class="sgds btn btn-link" type="button" data-bind="click : function() { $root.iconClick($root.notifications().inboxUrl, '_blank') }"> <i class="fa-regular fa-bell"></i> </button> </div> <div class="right-action-single-btn d-lg-none" data-bind="if : isSingPassLogin() && isLoggedIn()"> <span class="badge rounded-pill bg-danger" data-bind="html : $root.bookmarkResultCount()"></span> <button class="sgds btn btn-link" type="button" data-bind="click : function() { $root.iconClick($root.bookmarkResultUrl(), '_blank') }"> <i class="fa-regular fa-heart"></i> </button> </div> </div> </div> <button type="button" class="btn-close" data-bs-dismiss="offcanvas" aria-label="Close"></button> </div> <div class="offcanvas-body"> <div class="offcanvas-section"> <div class="list-group"> <!-- clientlibs/msf/core-base/Workforce-v3/js/use-api/userNav.js --> <!-- clientlibs/workforce/Workforce-v2/js/use-api/userNav.js --> <!-- <a class="list-group-item" href="/content/portal/en/individual/profile.html"><span>Profile</span></a> <a data-bind="visible: isSingPassLogin() || $AccessControl.isPortalIdLogin() " class="list-group-item" href="/content/portal/en/individual/skills-passport.html"><span>Skills Passport</span></a> <a data-bind="visible: isSingPassLogin() || $AccessControl.isPortalIdLogin() " class="list-group-item" href="/content/portal/en/individual/skills-passport.html#timeline"><span>Initiatives Applications</span></a> <a data-bind="visible: isSingPassLogin() || $AccessControl.isPortalIdLogin() " class="list-group-item" href="/content/portal/en/individual/documents.html"><span>Documents</span></a> <a class="list-group-item" href="/content/portal/en/individual/courses.html"><span>Course Enquiries</span></a> <a data-bind="visible: isSingPassLogin() || $AccessControl.isPortalIdLogin() " class="list-group-item" href="/content/portal/en/individual/feedback.html"><span>Feedback</span></a> <a class="list-group-item" href="/content/portal/en/individual/take-attendance.html"><span>Take Attendance</span></a> <a data-bind="visible: $AccessControl.isPortalIdLogin() " class="list-group-item" href="/content/portal/en/portalid/change-password.html"><span>Change Password</span></a> <a class="list-group-item" href="/content/portal/en/individual/settings.html"><span>Settings</span></a> --> </div> </div> </div> <div class="offcanvas-footer"> <div class="d-flex gap-3"> <a href="#" class="text-dark" onclick="window.open('/content/portal/en/header/faqs/others.html')">Help</a> <a href="#" class="text-dark" onclick="$UserLoginUtil.triggerLogout(); $UserLoginUtil.closeSideMenu();">Logout</a> </div> </div> </div> <!-- /ko --> <!-- ko if: !isLoggedIn() --> <div class="navbar-item align-self-center btn-login-v3"> <a class="sgds btn btn-outline-primary" onclick="assignRoute(window.location.href); $UserLoginUtil.setTargetUserMsg(0);" role="button" data-bs-toggle="offcanvas" href="#offcanvasLogin"> <span>Login</span> </a> </div> <!-- /ko --> <div class="right-action-single-btn d-none d-lg-flex"> <button class="btn btn-header-search" type="button" data-bs-toggle="collapse" data-bs-target="#globalSearch" aria-label="Search MySkillsFuture website" aria-expanded="false"> <span class="sgds-icon sgds-icon-search"></span> <span class="sgds-icon sgds-icon-cross"></span> </button> </div> </div> <div class="d-lg-none"> <a aria-label="Mobile navigation menu" class="hamburger-menu" data-bs-toggle="collapse" href="#siteMainNav" role="button" aria-expanded="false"> <span class="icon-bar"></span> </a> </div> </div> </div> </div> </div> </div> <div class="breadcrumb-holder"> <div class="container-fluid"> <nav aria-label="breadcrumb"> <ol class="breadcrumb"> <li class="breadcrumb-item"><a href="/content/portal/en/index.html">Home</a></li> <li class="breadcrumb-item active" aria-current="page">Articles</li> <!-- <li class="breadcrumb-item active" aria-current="page">Areas of Training</li> --> </ol> </nav> </div> </div> <div class="offcanvas offcanvas-end" tabindex="-1" id="offcanvasLogin" aria-modal="true" role="dialog" aria-label="Login modal"> <div class="offcanvas-header"> <div class="d-flex flex-fill">&nbsp;</div> <button type="button" class="btn-close" data-bs-dismiss="offcanvas" aria-label="Close"></button> </div> <div class="offcanvas-body"> <div class="offcanvas-login-holder"> <span id="loginWoMsg"><h4 class="mb-4">Hi there! Please log in to use this e-service.</h4></span> <p class="interested d-none">Login to use the service safely and for us to pre-fill your name and contact details for the training provider to respond to you.<br/></p> <h4 id="loginWMsg" class="d-none mb-4"> </h4> <div class="singpass-v3-login"> <h3 class="h6" id="login_panel_target_user">For Singapore Citizens and Permanent Residents</h3> <!-- <h3 class="h6" id="login_panel_target_user">For Singapore Citizens, Permanent Residents and holders of Foreign Identification Number (FIN)</h3> --> <form id="individual-sp-login-form" action="/services/common/doLogin" method="post"> <input type="hidden" name="loginType" value="SP"/> <input type="hidden" name="roleNameType" value=""/> <input type="hidden" id="redirectURL" name="redirectURL" value=""/> <input type="hidden" id="isMaintainLoginSession" name="isMaintainLoginSession" value=""/> <input type="hidden" id="lgnModalwMsgisMaintainLoginSession" name="lgnModalwMsgisMaintainLoginSession" value=""/> <a rel="nofollow" href="#" class="btn btn-danger d-block text-center singpass-v3-login-btn" isDefault="yes" onclick="$UserLoginUtil.clickSingPassLogin()">Singpass</a> </form> <p class="small singpass-note">Don't have a Singpass account? Forgot your password? <a href="https://www.singpass.gov.sg/main" class="link-primary fw-bold" rel="nofollow">Click here</a></p> </div> <div class="security-liner-message"> <br/> <h3 class="h6" data-bind="html: Granite.I18n.get('security-liner-message')"></h3> </div> </div> </div> <div class="offcanvas-footer"> <div class="d-flex gap-3"> <a href="#" class="text-dark" onclick="window.open('/content/portal/en/header/faqs/others.html')">Help</a> <a href="#" class="text-dark skipButton d-none" data-bs-dismiss="offcanvas">Skip</a> </div> </div> </div> <!-- ALERT BOX POP UP PANEL --> <!-- **************************** --> <div id="Alert_PopupPanel" style="display:none;" class="modal fade"> <div class="Closebtn_PopupPanel"></div> <div class="contentblock"> <div class="message">Place your text here</div> <div class="ActionPanel"> <button class="btn btn_bigorange confirmButton" type="button">OK</button> <a href="#" class="btn btn_bigorange confirmLink" style="display:none;" type="button">OK</a> <button class="btn btn_bigorange cancelButton" type="button">Cancel</button> </div> </div> </div> <!-- Yes No POP UP PANEL --> <!-- **************************** --> <div id="Common_PopupPanel" style="display:none;" class="modal fade"> <div class="Closebtn_PopupPanel"></div> <div class="contentblock"> <div class="message"></div> <div class="ctabox"> <button class="ctabtn small confirmButton" type="button"></button> <a rel="nofollow" href="#" class="btn btn_bigorange confirmLink" style="display:none;" type="button"></a> <button class="ctabtn small cancelButton" type="button"></button> </div> </div> </div> <!-- Common Modal Popup by Bootstrap --> <div class="modal fade" id="Common_Bootstrap_Modal_Popup" tabindex="-1" aria-hidden="true"> <div class="modal-dialog modal-dialog-centered"> <div class="modal-content"> <div class="modal-header"> <button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Close"></button> </div> <div class="modal-body"> <div class="general-message-holder"> <div> <div class="card"> <div class="card-body"> <div id="popup-icon-holder" class="message-icon mb-4"> </div> <h3 id="popup-content" class="mb-4"></h3> <div class="btn-holder justify-content-center"> <button data-bs-dismiss="modal" id="popup-btn-2" type="button" class="btn btn-outline-dark"></button> <button data-bs-dismiss="modal" id="popup-btn-1" type="button" class="btn btn-primary"></button> <!-- <a data-dismiss="modal" class="btn btn-outline-dark" id="popup-btn-2"></a> <a data-dismiss="modal" class="btn btn-primary" id="popup-btn-1"></a> --> </div> </div> </div> </div> </div> </div> <div class="modal-footer"> <button type="button" class="btn btn-secondary d-none" data-bs-dismiss="modal">Close</button> </div> </div> </div> </div> <!-- Common Modal XL Popup by Bootstrap --> <div class="modal fade" id="Common_Bootstrap_XL_Modal_Popup" tabindex="-1" aria-hidden="true"> <div class="modal-dialog modal-xl modal-dialog-centered"> <div class="modal-content"> <div class="modal-header"> <h5 class="modal-title"></h5> <button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Close"></button> </div> <div class="modal-body"> </div> <div class="modal-footer"> <div class="btn-holder"> <button data-bs-dismiss="modal" id="popup-btn-2" type="button" class="btn btn-outline-dark"></button> <button data-bs-dismiss="modal" id="popup-btn-1" type="button" class="btn btn-primary"></button> </div> </div> </div> </div> </div> <!-- Info Modal --> <div class="modal fade" id="infoModal" tabindex="-1" aria-hidden="true"> <div class="modal-dialog modal-lg modal-fluid modal-dialog-centered"> <div class="modal-content"> <div class="modal-header border-0"> <!--<h5 class="modal-title" id="exampleModalLabel">Modal title</h5>--> <button type="button" class="btn-close my-1" data-bs-dismiss="modal" aria-label="Close"></button> </div> <div class="modal-body p-4"> <div class="general-message-holder"> <div> <div class="card"> <div class="card-body"> <h3 class="mb-3 fw-normal"></h3> <p></p> <br/> <div class="btn-holder justify-content-center"> <button type="button" data-bs-dismiss="modal" id="popup-btn-2" class="btn btn-outline-dark">No</button> <button type="button" data-bs-dismiss="modal" id="popup-btn-1" class="btn btn-primary">Yes</button> </div> </div> </div> </div> </div> </div> <div class="modal-footer border-0"></div> </div> </div> </div> <div id="duplicate_session_popup_modal" data-keyboard="false" data-backdrop="static" aria-hidden="true" class="modal fade duplicateSessionPopupModal" tabindex="-1" role="dialog"> <div class="modal-dialog" role="document"> <div class="modal-content"> <div class="modal-header"> <h4 class="modal-title" style="text-align: center;">Duplicate Sessions</h4> </div> <div class="modal-body"> <div id="duplicate_session_container" style="text-align: center;"> <span>Another login session has been detected. If you continue, the previous session will be removed.</span> <br/><br/> <span>Do you want to continue?</span> </div> <div class="duplicateSessionContainer" style="text-align: center;margin-top: 23px;"> <a rel="nofollow" href="#" id="duplicate_session_popup_modal_yes_buttton" class="ctabtn tiffany">Yes</a> <a rel="nofollow" href="#" id="duplicate_session_popup_modal_logout_buttton" class="ctabtn tiffany">Logout</a> </div> </div> </div> </div> </div> <!-- message of network disconnection CR-34 2020-11-07 --> <div class="header-alert-holder d-none" id="networkDisconnectionMessageBoxV3"> <style> .networkDisconnectionPlaceholder.alert.alert-dark.fade.show { display: flex !important; opacity: 1; } .networkDisconnectionPlaceholder.alert.alert-dark.fade.show.close { display: none !important; } #networkDisconnectionMessageBoxV3 { position: relative; z-index: -1; } </style> <div class="networkDisconnectionPlaceholder alert alert-dark fade show" role="alert" style=""> <div class="alert-message flex-fill"> <i class="bi bi-exclamation-circle-fill"></i> <span id="networkDisconnectionMessage">No network connection. Reconnect to keep the browsing going.</span> </div> <button type="button" class="btn-close" aria-label="Close" onclick="closeNetworkMessageBox()"> <i class="bi bi-x"></i> </button> </div> </div> <script> function openNetworkMessageBox() { $('#networkDisconnectionMessageBoxV3').addClass('d-block'); $('#networkDisconnectionMessageBoxV3').removeClass('d-none'); } function closeNetworkMessageBox() { $('#networkDisconnectionMessageBoxV3').removeClass('d-block'); $('#networkDisconnectionMessageBoxV3').addClass('d-none'); }; function initializeDetection() { console.log('initializeDetection....'); window.addEventListener("offline", function (event) { console.log('status: network is disconnected at ', new Date()); openNetworkMessageBox(); $(window).trigger('resize'); }) window.addEventListener("online", function (event) { console.log('status: network is connected at ', new Date()); closeNetworkMessageBox(); $(window).trigger('resize'); }) if (!navigator.onLine) openNetworkMessageBox(); else closeNetworkMessageBox(); } $(document).ready(function () { initializeDetection(); }) </script> <div class="site-action-holder"> <a rel="nofollow" href="#" class="back-top cd-top shadow"> <div><span class="material-symbols-outlined">vertical_align_top</span></div> </a> </div> </header> <div class="coverall"></div> <script> // Populate Header var populateHeaderMenuViewModel = new PopulateHeaderMenuViewModel(); populateHeaderMenuViewModel.renderHeaderMenu_v3(); </script> <div class="modal fade" id="loginTempSingPassModal" tabindex="-1" style="z-index:9999998; margin-top: 10%; padding-top: 45px;" role="dialog" data-type="0"> <div class="modal-dialog" role="document"> <div class="modal-content"> <div class="modal-header"> <button type="button" class="close" data-bs-dismiss="modal" aria-label="Close"><span aria-hidden="true">&times;</span></button> <h4 class="modal-title" style="text-align: center">Login</h4> </div> <div class="modal-body"> <form id="sing-pass-login-form"> <input type="hidden" name="redirectURL" value=""/> <input type="hidden" id="isMaintainLoginSession" name="isMaintainLoginSession" value="false"/> <h2 class="form-signin-heading"></h2> <div class="form-group row"> <label for="inputUser" class="col-sm-2 col-form-label">User Id</label> <div class="col-sm-10"> <input class="form-control" type="text" name="userId" id="inputUser" placeholder="User ID" autocomplete="off" autofocus/> <div id="ERROR-userid" class="help-block with-errors hidden"> <ul class="list-unstyled"> <li></li> </ul> </div> </div> </div> <div class="form-group row"> <label for="inputPassword" class="col-sm-2 col-form-label">Password</label> <div class="col-sm-10"> <input type="password" class="form-control" id="inputPassword" name="userPwd" placeholder="Password" autocomplete="off" autofocus/> <div id="ERROR-password" class="help-block with-errors hidden"> <ul class="list-unstyled"> <li></li> </ul> </div> </div> </div> <div class="form-group row "> <div class="col-sm-10" style="float: right;text-align: left"> <input class="form-control" type="hidden" name="userType" id="userType" value="SP"/> </div> </div> <div class="form-group row"> <label class="col-sm-2 col-form-label"></label> <div class="col-sm-10"> <div id="ERROR-loginError" class="help-block with-errors hidden"> <ul class="list-unstyled"> <li></li> </ul> </div> </div> </div> <div class="theme1 form-group aligncenter"> <a rel="nofollow" href="#" id="button-submit-login-sing-pass" class="ctabtn" style="background-color: #5aacb4;">Sign in</a> <a rel="nofollow" href="#" class="ctabtn" data-bs-dismiss="modal" onclick="clearInput()" style="background-color: #5aacb4;">Cancel</a> <a href="javascript:loginWithTempCorpass('TP');" class="ctabtn" style="background-color: #5aacb4;">Corp Pass Login</a> </div> </form> </div> </div> </div> </div> <script> var serializeFormJSON = function(formObj) { var o = {}; var a = formObj.serializeArray(); $.each(a, function() { if (o[this.name]) { if (!o[this.name].push) { o[this.name] = [o[this.name]]; } o[this.name].push(this.value || ''); } else { o[this.name] = this.value || ''; } }); return o; } $("#button-submit-login-sing-pass").click(function() { var postLoginURLredirect = document.getElementById('sing-pass-login-form').redirectURL.value; if (!postLoginURLredirect) { document.getElementById('sing-pass-login-form').redirectURL.value = window.location.href ; } if(validateLoginForm()){ var formData = serializeFormJSON($("#sing-pass-login-form")); $.ajax({ type: "POST", url: "/services/common/spcplogin-temp", cache: false, data: formData, success: function(rawData) { var result = rawData; if (typeof rawData === 'string') { try { result = JSON.parse(rawData); } catch(e) { // invalid json } } if (result.status) { $('#ERROR-loginError').addClass('hidden'); $('#ERROR-loginError').html(''); if (result.statusCode == 1 || result.statusCode == 17) { $.cookie.defaults = { path: '/content/portal/en/' }; var url = checkAssignedRoute(); if (url == "") { window.location.href = '/content/portal/en/index.html'; } else { // tracking SN login link to MySF account if ($SessionStorage.get('loginFormId')) { WorkforceAnalytics.Common.trackingSocialLoginLinkAndUnLinkMSF($SessionStorage.get('loginFormId'),'link','success'); $SessionStorage.remove('loginFormId'); } window.location.href = url; } } else if (result.statusCode == 3) { $.cookie.defaults = { path: '/content/portal/en/' }; //Should let filter to identify window.location.href = '/content/portal/en/index.html'; // url is registration page, social acc didn't link to singpass // tracking SN login link to MySF account if ($SessionStorage.get('loginFormId')) { WorkforceAnalytics.Common.trackingSocialLoginLinkAndUnLinkMSF($SessionStorage.get('loginFormId'),'link','failure'); $SessionStorage.remove('loginFormId'); } } else if (result.statusCode == 0 || result.statusCode == 4 || result.statusCode == 6) { window.location.href='/services/common/doLogout?redirectURL=/content/portal/en/index.html?loginStatus=' + result.statusCode; } else if (result.statusCode == 14) { window.location.href=PortalConstants.URL.EASY_LOGIN; } } else if (!result.status) { $('#ERROR-loginError').removeClass('hidden'); $('#ERROR-loginError').html(result.message); } localStorage.removeItem("isPostJobs"); } });} }); function validateLoginForm(){ var isValidUser = true; var isValidPassword = true; var isValidUEN=true; var isValidRoles=true; var form=$("#sing-pass-login-form"); if(form.find('input#inputUser').val().trim().length == 0){ isValidUser = false; form.find('input#inputUser').focus(); $('#ERROR-userid ul li').html('User ID field cannot be empty'); $('#ERROR-userid').removeClass('hidden'); } else{ $('#ERROR-userid').addClass('hidden'); $('#ERROR-userid ul li').html(''); } if(form.find('input#inputPassword').val().trim().length == 0){ isValidPassword = false; form.find('input#inputPassword').focus(); $('#ERROR-password ul li').html('Password field cannot be empty'); $('#ERROR-password').removeClass('hidden'); } else{ $('#ERROR-password').addClass('hidden'); $('#ERROR-password ul li').html(''); } if(isValidUser && isValidPassword){ $('#ERROR-loginError').html(''); return true; } return false; } function loginWithTempCorpass(roleNameType){ console.log('temp sing') $('#login_popup_modal').modal('hide'); $('#loginTempSingPassModal').modal('hide'); $('#loginModal_corpass').modal('show'); document.getElementById('corp-pass-login-form').roleNameType.value = roleNameType; } function loginWithTempSingpass(){ $('#login_popup_modal').modal('hide'); $('#loginTempSingPassModal').modal('show'); // window.location = LoginUtils.LOGIN_SP_URL; } </script> <style> .changetextsize_box{ display:none; } </style> <div class="modal fade" id="loginModal_corpass" tabindex="-1" style="z-index:9999999; margin-top: 8%; padding-top: 98px;" role="dialog" data-type="0"> <div class="modal-dialog" role="document"> <div class="modal-content"> <div class="modal-header"> <button type="button" class="close" data-bs-dismiss="modal" aria-label="Close"><span aria-hidden="true">&times;</span></button> <h4 class="modal-title" style="text-align: center">Corp Pass Login</h4> </div> <div class="modal-body"> <form id="corp-pass-login-form"> <input type="hidden" name="roleNameType" value=""/> <input type="hidden" name="redirectURL" value=""/> <h2 class="form-signin-heading"></h2> <div class="form-group row"> <label for="inputUser" class="col-sm-2 col-form-label">UEN</label> <div class="col-sm-10"> <input class="form-control" type="text" name="uen" id="inputUEN" placeholder="UEN Number" autofocus/> <div id="ERROR-uen" class="help-block with-errors hidden"> <ul class="list-unstyled"> <li></li> </ul> </div> </div> </div> <div class="form-group row"> <label for="inputUser" class="col-sm-2 col-form-label">User Id</label> <div class="col-sm-10"> <input class="form-control" type="text" name="userId" id="inputUser" placeholder="User ID" autofocus autocomplete="off"/> <div id="ERROR-userid" class="help-block with-errors hidden"> <ul class="list-unstyled"> <li></li> </ul> </div> </div> </div> <div class="form-group row"> <label for="inputPassword" class="col-sm-2 col-form-label">Password</label> <div class="col-sm-10"> <input type="password" class="form-control" id="inputPassword" name="userPwd" placeholder="Password" autocomplete="off" autofocus/> <div id="ERROR-password" class="help-block with-errors hidden"> <ul class="list-unstyled"> <li></li> </ul> </div> </div> </div> <div class="form-group row"> <label for="tpCode" class="col-sm-2 col-form-label">TP Code</label> <div class="col-sm-10"> <input type="text" class="form-control" id="tpCode" name="tpCode" placeholder="TP Code" autocomplete="off" autofocus/> </div> </div> <div class="form-group row"> <label for="roles" class="col-sm-2 col-form-label">Roles</label> <div class="col-sm-10"> <ul class="roles"> <li style=" display: inline-block;"><input type="checkbox" name="roleName" id="tp_admin" value="TP_ADMIN" style="display: inline;"/><label for="tp_admin_label"> &nbsp;TP Admin &nbsp;&nbsp;&nbsp;&nbsp;</label></li> <li style="display: inline-block;"><input type="checkbox" name="roleName" id="job_admin" value="JOBSBANK_ADMIN" style=" display: inline;"/><label for="job_admin_label">&nbsp; Job Admin&nbsp;&nbsp;&nbsp;&nbsp;</label></li> <li style="display: inline-block;"><input type="checkbox" name="roleName" id="course_admin" value="COURSE_ADMIN" style="display: inline;"/><label for="course_admin_label">&nbsp; Course Admin</input></label></li> <li style="display: inline-block;"><input type="checkbox" name="isForeignEntity" id="isForeignEntity" value="true" style="display: inline;"/><label for="course_admin_label">&nbsp; isForeignEntity</input></label></li> <li style="display: inline-block;"><input type="checkbox" name="isNonSingpassHolder" id="isNonSingpassHolder" value="true" style="display: inline;"/><label for="course_admin_label">&nbsp; isNonSingpassHolder</input></label></li> </ul> <div id="ERROR-roles" class="help-block with-errors hidden"> <ul class="list-unstyled"> <li></li> </ul> </div> </div> </div> <div class="form-group row "> <div class="col-sm-10" style="float: right;text-align: left"> <input class="form-control" type="hidden" name="userType" id="userType" value="CP"/> </div> </div> <!-- <div class="form-group row hidden"> <div class="col-sm-10" style="float: right;text-align: left"> <sly data-sly-use.SEOTitleUtil="clientlibs/student/sightlyjstool/SEOTitleUtil.js"> <a href="/content/student/en//reset-password.html">Forgot your password?</a> </sly> </div> </div> --> <div class="form-group row"> <label class="col-sm-2 col-form-label"></label> <div class="col-sm-10"> <div id="ERROR-loginError" class="help-block with-errors hidden"> <ul class="list-unstyled"> <li></li> </ul> </div> </div> </div> <div class="theme1 form-group aligncenter"> <a rel="nofollow" href="#" id="button-submit-login-corp-pass" onclick="$UserLoginUtil.corpPassLogin()" class="ctabtn" style="background-color: #5aacb4;">Sign in</a> <a rel="nofollow" href="#" class="ctabtn" data-bs-dismiss="modal" style="background-color: #5aacb4;">Cancel</a> </div> </form> </div> </div> </div> </div> <script src="/etc/clientlibs/msf/core-base/V3-ui.min.js"></script> <main id="CareerGuidance"> <div class="careerguidancelanding parbase"><div class="vm-container-careerguidancelanding"> <!-- <div data-sly-resource ="landing_banner"></div> <div data-sly-resource ="midpanel"></div> --> <div class="page-header"><!-- <div class="banner-overlay"></div> <div id="articles-landing-banner"> <div class="container margin-top-10"> <div class="banner-text"> <h1>Articles</h1> </div> <div class="input-group searchbox margin-top-40"> <span class="input-group-addon search-icon-background" data-bind="click: searchByKeyword"> <span class="fa-search fa-search-icon"></span> </span> <input type="text" class="form-control input-lg ui-autocomplete-input" id="search-input" placeholder="Search Articles By Keyword" name="q" data-bind="value : searchKeyword, executeOnEnter: searchByKeyword, valueUpdate: 'afterkeydown'" autocomplete="off"> </div> </div> </div> --> <div class="container-xxl"> <div class="page-header-search-holder" id="articlepage-search"> <h1 id="article">Articles</h1> <div class="input-group article-search-bar"> <input id="searchKeyword" type="text" class="form-control article-search-page article-search-v3" placeholder='Search articles by keyword, include “ ” for better search results, e.g. “Inspiring Stories”' data-bind="jqAuto: { source: $PORTAL_SEARCH.remoteHandlerArticleSearch, value : searchKeyword, labelProp : 'parameter', valueProp: 'parameter', options: { html:true, delay:250, minLength : 3 , select : function(data, event) { }} }, valueUpdate: 'afterkeydown', value : searchKeyword, executeOnEnter : searchByKeywordV3"/> <button id="searchByKeywordV3" class="btn btn-primary" type="button" data-bind="click : searchByKeywordV3 "> <i class="sgds-icon sgds-icon-search"></i> <span>Search</span> </button> <a href="javascript:void(0);" class="clear-search animated" data-bind="click : function() { $root.searchKeyword(''); }"> <span class="sgds-icon sgds-icon-cross"></span> </a> </div> <div class="search-suggestions recent-popular-results"> <div class="container-xxl"> <div data-bind="foreach : $PORTAL_SEARCH.getRecentArticleSearches()"> <h6 class="my-2" data-bind="text: category"></h6> <ul data-bind="foreach : searches"> <li> <a href="#"> <i class="material-icons-outlined">history</i> <span data-bind="text: title, click :function() { $PORTAL_SEARCH.navigateRecentSearch(url);}"></span> </a> </li> </ul> </div> <h6 class="my-2">Popular Searches</h6> <ul data-bind="foreach : $PORTAL_SEARCH.popularSearches()"> <li> <a href="#"> <i class="material-icons-outlined">search</i> <span data-bind="text : keyword,click :function() { $PORTAL_SEARCH.searchPortalArticles(keywordText);}"></span> </a> </li> </ul> </div> </div> <div class="search-suggestions suggestion-results d-none"> <div class="container-xxl"> <div class="autoSuggestArticlesTerms d-none"> <ul> </ul> </div> <div class="autoSuggestArticles d-none"> <h6 class="my-2">Articles</h6> <ul></ul> </div> </div> </div> </div> </div></div> <div class="page-content-holder"><!--<sly data-sly-include="/templates/panel-large.tmpl.html"></sly> <sly data-sly-include="/templates/panel-small.tmpl.html"></sly> <div class="container-fluid no-padding-mobile" id="article-by-category"> <div class="container sectioncontent"> <div class="row" id="articles-landing-container"> <div class="col-xs-12 col-sm-12 col-md-12 col-lg-12"> <div id="content-bucket"> <div class="input-group"> <span class="input-group-btn"> <button id='categoryBuket' data-bind="click : getHighlights, , css : { 'selected' : isHighlightsSelected() }" class="btn" type="button" >Highlights</button> </span> </div> --> <!-- commentedko foreach : bucketList --> <!-- <div class="input-group margin-top-10"> <span class="input-group-btn"> <button id='categoryBuket' class="btn" type="button" data-bind="text : title, click : $root.searchByBucket, css : { 'selected' : path == $root.searchBucket()}"></button> </span> </div> --> <!-- /commentedko --> <!-- commentedko foreach : masterKeywords --> <!-- <div class="input-group margin-top-10"> <span class="input-group-btn"> <button id='categoryKeywords' class="btn" type="button" data-bind="text : featuredName, click : function() { $root.searchByKeywordTab($data); }, css : { 'selected' : ($data.tag()).toString().replace(/\s+/g, '') === $root.articleTag()}"></button> </span> </div> --> <!-- /commentedko --> <!-- </div> --> <!-- commentedko if : $root.keywordToShow() --> <!-- <div id="result-count"> <p> <span data-bind="text : resultCount"></span> Results with keyword "<span data-bind="text : keywordToShow"></span>" </p> </div> --> <!-- /commentedko --> <!-- </div> <div class="col-xs-12 col-sm-12 col-md-12 col-lg-12 no-padding-mobile"> <div class="row no-margin articles-container-margin"> <div class="DetailsPageStyle"> <div class="custom-container left-style" data-bind="foreach: articleList"> --> <!-- commentedko if: $index() == 0 --> <!-- <div class="col-xs-6 col-md-8 large-article-card"> <div class="article-panel panel-long" data-bind="css: { 'static-color': !$data.imagePathLarge, 'articleBackground': $data.imagePathLarge }, style: { backgroundImage: $data.imagePathLarge ? 'url(\'' + imagePathLarge + '\')' : '' }, template: 'panelLargeTemplate', click: function() { onArticleNameClick(title, contentBucket) }"></div> </div> --> <!-- /commentedko --> <!-- commentedko ifnot: $index() == 0 --> <!-- <div class="col-xs-6 col-md-4 small-article-card" data-bind="css: { 'margin-right-15': $index()%3 != 2 && $index() != 1 }"> <div class="article-panel panel-square" data-bind="css: { 'static-color': !$data.imagePath, 'articleBackground': $data.imagePath}, style: {backgroundImage: $data.imagePath ? 'url(\'' + imagePath + '\')' : '' }, template: 'panelSmallTemplate', click: function() { onArticleNameClick(title, contentBucket) }"></div> </div> --> <!-- /commentedko --> <!-- </div> </div> </div> </div> --> <!-- commentedko if : offset() + limit < resultCount() --> <!-- <div id="LoadNext6_panelMobile" class="col-xs-12 col-sm-12 col-md-12 col-lg-12"> <div class="input-group"> <span class="input-group-btn"> <button class="btn" type="button" data-bind="click : loadMore">Load More</button> </span> </div> </div> --> <!-- /commentedko --> <!-- </div> <sly data-sly-include="/templates/featured-ebooks-carousel.html"></sly> --> <!-- <sly data-sly-include="/templates/home-rssfeed.html"></sly>--> <!-- </div> </div> --> <div class="container-xxl"> <div class="two-columns-layout main-content-end"> <div class="row"> <div class="col-lg-3 article-mobile-sticky-section"> <div class="article-verticle-tab-holder"> <div class="dropdown"> <button class="btn btn-primary" type="button" data-bs-toggle="dropdown" aria-expanded="false"> <span data-bind="text: $root.bucketToShow()"></span> <i class="sgds-icon sgds-icon-chevron-down"></i> </button> <div class="dropdown-menu"> <nav class="nav nav-pills flex-column"> <!-- ko foreach : bucketList --> <button class="nav-link" type="button" data-bind="click : $root.searchByBucket, css : { 'active' : (path == $root.searchBucket() && !$root.isKeywordSearch() && $root.articleTag() == '')}" data-bs-toggle="pill" data-bs-target="#articleContent_Tab_01" role="tab" aria-selected="false" tabindex="-1"> <span data-bind="text : title"></span> </button> <!-- /ko --> <!-- ko foreach : masterKeywords --> <button class="nav-link" type="button" data-bind="click : function() { $root.searchByKeywordTab($data); }, css : { 'active' : ($data.tag()).toString().replace(/\s+/g, '') === $root.articleTag()}" data-bs-toggle="pill" data-bs-target="#articleContent_Tab_01" role="tab" aria-selected="false" tabindex="-1"> <span data-bind="text : featuredName"></span> </button> <!--<div class="input-group margin-top-10"> <span class="input-group-btn"> <button id='categoryKeywords' class="btn" type="button" data-bind="text : featuredName, click : function() { $root.searchByKeywordTab($data); }, css : { 'selected' : ($data.tag()).toString().replace(/\s+/g, '') === $root.articleTag()}"></button> </span> </div>--> <!-- /ko --> </nav> </div> </div> </div> </div> <div class="col-lg-9"> <div class="page-content-body-holder"> <div class="tab-content"> <div class="tab-pane fade show active" id="articleContent_Tab_01" role="tabpanel"> <!-- ko if : $root.keywordToShow() --> <h5 class="fw-normal mb-3"><span data-bind="text : resultCount"></span> Search Results with keyword <strong>"<span data-bind="text : keywordToShow"></span>"</strong></h5> <!-- /ko --> <div class="article-card-holder"> <div class="row row-cols-1 g-3" data-bind="foreach: articleList"> <div class="col"> <div class="card"> <div class="card-img"> <img data-bind="attr: { src: imagePath }" src="" alt="" class="img-cover" data-object-fit="cover"/> </div> <div class="card-body"> <span style="cursor: pointer;" class="badge rounded-pill text-bg-primary" data-bind="text: contentBucket, click : $root.searchCategories"></span> <h5 data-bind="text: title"></h5> <p data-bind="text: description"></p> <div class="card-btn-holder d-grid d-lg-flex gap-2"> <a href="#" class="btn btn-primary" data-bind="attr: { href: path }">Read More</a> </div> </div> </div> </div> </div> </div> <br/> <br/> <div class="pagination-holder"> <!-- ko if : resultCount() > 0 && !isKeywordSearch() --> <nav> <ul class="pagination justify-content-center"> <li class="page-item disabled" data-bind="attr: { class: $root.hasPrevious() ? 'page-item' : 'page-item disabled' }"> <a href="#" class="page-link" data-bind="click : $root.loadPrev" aria-label="View previous page"> <i class="fa-solid fa-chevron-left"></i> </a> </li> <!-- ko foreach : paginationList --> <li class="page-item" data-bind="visible: isPageNo, attr: { class: ($root.pageNumber() == number) ? 'page-item active' : 'page-item' }"> <a class="page-link" href="#" data-bind=" text: number, click: $root.loadPage.bind($data,number)"></a> </li> <li class="page-item" data-bind="visible: !isPageNo"><span>…</span></li> <!-- /ko --> <li class="page-item" data-bind="attr: { class: $root.hasNext() ? 'page-item' : 'page-item disabled' }"> <a href="#" class="page-link" data-bind=" click : $root.loadMore" aria-label="View next page"> <i class="fa-solid fa-chevron-right"></i> </a> </li> </ul> </nav> <!-- /ko --> <!-- ko if : resultCount() > 0 && isKeywordSearch() --> <nav> <ul class="pagination justify-content-center"> <li class="page-item disabled" data-bind="attr: { class: $root.hasPrevious() ? 'page-item' : 'page-item disabled' }"> <a href="#" class="page-link" data-bind="click : loadPrevV3"> <i class="fa-solid fa-chevron-left"></i> </a> </li> <!-- ko foreach : paginationList --> <li class="page-item" data-bind="visible: isPageNo, attr: { class: ($root.pageNumber() == number) ? 'page-item active' : 'page-item' }"> <a class="page-link" href="#" data-bind=" text: number, click: $root.loadPageV3.bind($data,number)"></a> </li> <li class="page-item" data-bind="visible: !isPageNo"><span>…</span></li> <!-- /ko --> <li class="page-item" data-bind="attr: { class: $root.hasNext() ? 'page-item' : 'page-item disabled' }"> <a href="#" class="page-link" data-bind=" click : loadMoreV3"> <i class="fa-solid fa-chevron-right"></i> </a> </li> </ul> </nav> <!-- /ko --> </div> </div> </div> </div> </div> </div> </div> </div> <script> //Tracking no. clicks on bucket tabs $(document).on('click', '#categoryBuket', function(){ var tabName = $(this).context.textContent; if (tabName) { if (digitalData != undefined) { digitalData.page.tabName = tabName; _satellite.track('pageTab'); } } }); function onArticleNameClick(articleTitle, contentBucket) { var industry = ''; if(RequestUtil.getURLParameter("title")){ industry=RequestUtil.getURLParameter("title"); }else if(RequestUtil.getURLParameter("q")){ industry=RequestUtil.getURLParameter("q"); } industry = industry.substring(0, industry.search("_")); digitalData.action = { type: "cross link", name: "Articles", item: { name: articleTitle, category: contentBucket, }, value: articleTitle }; try { _satellite.track("trackAction"); } catch(err) { console.log(err.message); } } </script> </div> </div> <!-- <div data-sly-resource ="ebook-details"></div> --> <!-- tab and graph row --> <!-- <div class="container-fluid-industry featured-industry paddingxs0" style="min-height: 325px;"> <div class="container sectioncontent"> <div data-sly-resource ="featured_industry_par"></div> </div> </div> --> <script> $CR_SEARCH_RESOURCE_PATH = '/content/portal/en/career-resources/career-resources/jcr:content/par/careerguidancelanding'; $CR_SEARCH_RESOURCE_NAME = 'careerguidancelanding'; </script></div> <div id="video-popup-modal" align="center" class="modal fade" tabindex="-1" role="dialog" aria-labelledby="myModalLabel"> <div class="modal-dialog" style="width: 600px; height: 400px;"> <div class="modal-content video-popup" style="width: 600px; height: 400px;"> <div class="single-column-popup"></div> </div> </div> </div> </main> <footer class="sgds footer screen-v3 bootstrap-v3 footer-background custom-footer-style"> <section class="footer-top"> <div class="container-fluid"> <div class="footer-header"> <div class="row"> <div class="col-lg-9"> <br/> <div class="title">MySkillsFuture</div> <br/> <div>MySkillsFuture is a one-stop portal to support Singaporeans in their lifelong learning journey. Individuals can discover training opportunities, submit SkillsFuture Credit claims and more.</div> </div> </div> </div> <div class="flex-fill"> <div class="footer-mandatory-links"> <ul> <li><a href="/content/portal/en/about/about-myskillsfuture.html" style="font-weight: 700;">About Us</a></li> <li><a href="/content/portal/en/header/faqs/related-sites.html" style="font-weight: 700;">Related Sites</a></li> </ul> </div> </div> </div> </section> <section class="footer-logo-holder"> <div class="container-fluid"> <div class="footer-logo-row justify-content-start"> <div class="d-lg-flex flex-md-column flex-lg-row"> <label>In association with:</label> <div> <a href="http://www.moe.gov.sg/" x-cq-linkchecker="skip"> <img src="/etc/clientlibs/msf/core-base/V3-ui/images/footer_logo_moe.svg" alt="Logo of Ministry of Education, Singapore." title="Navigate to the https://www.moe.gov.sg/"/> </a> </div> <div> <a href="https://www.skillsfuture.gov.sg/" x-cq-linkchecker="skip" title="Navigate to the https://www.skillsfuture.gov.sg/"> <img src="/etc/clientlibs/msf/core-base/V3-ui/images/footer_logo_skillsfuturesg.svg" alt="Logo for SkillsFuture, Singapoe."/> </a> </div> </div> <span class="vr d-none d-lg-flex"></span> <div class="d-lg-flex skillsfuture-footer-logo-v3"> <label>An initiative of:</label> <div><a href="http://www.skillsfuture.gov.sg/" target="_blank" title="Navigate to the https://www.skillsfuture.gov.sg/"> <img src="/etc/clientlibs/msf/core-base/V3-ui/images/footer_logo_skillsfuture.svg" alt=""/> </a> </div> </div> </div> </div> </section> <section class="footer-bottom"> <div class="container-fluid"> <div class="d-grid d-lg-flex"> <div class="flex-fill"> <div class="footer-copyrights"> <div class="d-inline-flex justify-content-lg-end text-lg-end gap-4 footer-float-right"> <div class="footer-mandatory-links"> <ul> <li><a href="/content/portal/en/header/faqs/for-further-assistance.html">Contact Us</a></li> <li><a href="https://service-portal.skillsfuture.gov.sg/s/feedback">Feedback</a></li> <li><a href="/content/portal/en/header/faqs/portal.html">FAQ</a></li> <li><a href="https://www.reach.gov.sg/">REACH</a></li> </ul> </div> </div> </div> </div> </div> <div class="d-lg-none"><br/></div> <div class="d-grid d-lg-flex"> <div class="flex-fill"> <div class="footer-mandatory-links"> <ul> <li><a href="https://www.tech.gov.sg/report_vulnerability" target="_blank">Report Vulnerability</a></li> <li><a href="/content/portal/en/footer/privacy-policy.html" target="_self">Privacy Policy</a></li> <li><a href="/content/portal/en/footer/terms-of-use.html" target="_self">Terms of Use</a></li> <li><a href="/content/portal/en/header/faqs/supported_browsers0.html" target="_self">Supported Browsers</a></li> </ul> </div> </div> </div> <br/> <div class="flex-fill"> <div class="footer-copyrights"> <div class="d-inline-flex justify-content-lg-end text-lg-end gap-4 copyright-float-right"> <p class="m-0" id="footerLastUpdatedDate">Last Updated </p> <p class="mt-0">&copy; 2024 Government of Singapore</p> </div> </div> </div> <br/> </div> </section> </footer> <script type="text/javascript" charset="utf-8"> $(document).ready(function (){ if(typeof moment !== "undefined"){ var lastUpdatedDate = moment(new Date()).format('DD MMM YYYY'); $('#footerLastUpdatedDate').append(lastUpdatedDate); }else{ var currentDateArr = (new Date).toDateString().split(" "); var lastUpdatedDate = currentDateArr[2]+" "+currentDateArr[1]+" "+currentDateArr[3]; $('#footerLastUpdatedDate').append(lastUpdatedDate); } }); </script> <script type="text/javascript" charset="utf-8"> $(document).ready(function (){ if(CommonUtils.checkUserIsLogin()){ $(document).idleTimeout({ idleTimeLimit: 14*60, idleCheckHeartbeat: 2, // Frequency to check for idle timeouts in seconds dialogDisplayLimit: 1*60, // Time to display the warning dialog before logout (and optional callback) in seconds. dialogTitle: 'Session Expiration Warning', // also displays on browser title bar dialogText: 'Because you have been inactive, your session is about to expire.', dialogTimeRemaining: 'Time remaining', dialogStayLoggedInButton: 'Stay Logged In', dialogLogOutNowButton: 'Log Out Now', logoutUrl:"/content/portal/en/index.html", redirectUrl:"/content/portal/en/index.html", }); setInterval(CommonUtils.extendFnScheduler, 4*60*1000); if (!(window.location.href.indexOf('/uam/') > -1) && (window.location.href.indexOf('/employer/jobs') > -1 || window.location.href.indexOf('/employer/feedback') > -1 || window.location.href.indexOf('/employer/settings') > -1 || window.location.href.indexOf('/employer/profile') > -1 || window.location.href.indexOf('/employer/candidates') > -1 || window.location.href.indexOf('/employer/tripartite-standards') > -1 || window.location.href.indexOf('/employer/overview') > -1 || window.location.href.indexOf('/employer/registration') > -1 || window.location.href.indexOf('/employer/create') > -1 || window.location.href.indexOf('/employer/interview') > -1)) { window.location.href=PortalConstants.URL.MCF_PAGE_URL.CAREERS_FUTURE; } }else{ //ILPPROD-6143,URL Redirection to MCF Employer Portal from MySF Portal if (window.location.href.indexOf('/employer') > -1) { window.location.href=$GLOBAL_CONSTANTS.PAGE_URL.ERROR_PAGE; } else { clearInterval(CommonUtils.extendFnScheduler); var isSessionTime=$.cookie("sessionTimeOut"); var message; if(isSessionTime=='true'){ $.removeCookie("sessionTimeOut"); // remove the cookie that was used to enter "If" sstatement to display popup if(store.get('sessionExpired')){ store.set('sessionExpired',false); message = "Your session has expired. Click 'CLOSE' to close the current window."; /* $("#Common_Bootstrap_Modal_Popup #popup-content").text("") .text("Your session has expired. Click 'CLOSE' to close the current window."); */ }else{ message = "You have been logged out because another login session was detected. Click ‘CLOSE’ to close the current window."; /* $("#Common_Bootstrap_Modal_Popup #popup-content").text("") .text("You have been logged out because another login session was detected. Click ‘CLOSE’ to close the current window."); */ } CommonUtils.showCommonPopup("warning",message,null,null,"CLOSE"); /* $("#Common_Bootstrap_Modal_Popup").modal({ backdrop: 'static', keyboard: false }); */ $.cookie.defaults = { path: '/content'}; $.removeCookie("sessionTimeOut"); // delete cookie from /content $.cookie.defaults = { path: '/'}; $.removeCookie("sessionTimeOut"); clearComparisonCache(); } } } if (!$("#myInfoRedirect").length) { localStorage.removeItem("myInfoRedirect") } if(typeof moment !== "undefined"){ $('#last-updated-date').text(moment(new Date()).format('DD MMM YYYY')); }else{ var currentDateArr = (new Date).toDateString().split(" "); $('#last-updated-date').text(currentDateArr[2]+" "+currentDateArr[1]+" "+currentDateArr[3]); } }); </script> <script> $(document).ready(function() { // Analytics scripts start // if (typeof WorkforceAnalytics != 'undefined') { try{ WorkforceAnalytics.Common.trackLoginUserType(); WorkforceAnalytics.HeaderMenu.trackMenuClickForInternalPages(); }catch(err){ console.log('Analytics Error!'); } } if (typeof digitalData != "undefined" && digitalData.page && digitalData.page.pillar && digitalData.page.audience) { _satellite.pageBottom(); } // Analytics scripts end // //Check duplicate session if(!window.location.href.indexOf("/content/admin") > -1) { $UserLoginUtil.checkDuplicateSession(); } // show preference popup at homepage if user have not edited if(window.location.href.indexOf("/content/portal/en/index") > -1) { if(CommonUtils.checkUserIsLogin() && (PortalConstants.ENCODED_INFO["log-type"] == "SP" || PortalConstants.ENCODED_INFO["isPortalLogin"] == "true")) { CommonUtils.showIndividualPreferenceSetting(); } } var individualLoginType = RequestUtil.getURLParameter("individualLoginType"); if (individualLoginType && (individualLoginType == 'SingPass') && !(CommonUtils.checkUserIsLogin() && $UserLoginUtil.userLoginType == 'SP')) { $(window).bind("load", function () { setTimeout(function () { var getIndividualLoginTypeUrl = window.location.href; var individualLoginTypeRedirectUrl = $Util.removeURLParameter(getIndividualLoginTypeUrl, "individualLoginType"); assignRoute(individualLoginTypeRedirectUrl); $UserLoginUtil.submitILPIndividualLogin('individual-sp-login-form'); }, 1000); }); } }); </script> <link rel="stylesheet" href="/etc/clientlibs/msf/core-modules/pm/pm_main.min.css" type="text/css"> <script src="/etc/clientlibs/msf/core-modules/pm/pm_main.min.js"></script> <!-- Will override in child template --> <!-- ALERT BOX POP UP PANEL --> <!-- **************************** --> <div id="Alert_PopupPanel" style="display:none;" class="modal fade"> <div class="Closebtn_PopupPanel"></div> <div class="contentblock"> <div class="message">Place your text here</div> <div class="ActionPanel"> <button class="btn btn_bigorange confirmButton" type="button">OK</button> <a href="#" class="btn btn_bigorange confirmLink" style="display:none;" type="button">OK</a> <button class="btn btn_bigorange cancelButton" type="button">Cancel</button> </div> </div> </div> <!-- Yes No POP UP PANEL --> <!-- **************************** --> <div id="Common_PopupPanel" style="display:none;" class="modal fade"> <div class="Closebtn_PopupPanel"></div> <div class="contentblock"> <div class="message"></div> <div class="ctabox"> <button class="ctabtn small confirmButton" type="button"></button> <a rel="nofollow" href="#" class="btn btn_bigorange confirmLink" style="display:none;" type="button"></a> <button class="ctabtn small cancelButton" type="button"></button> </div> </div> </div> <!-- Common Modal Popup by Bootstrap --> <div class="modal fade" id="Common_Bootstrap_Modal_Popup" tabindex="-1" aria-hidden="true"> <div class="modal-dialog modal-dialog-centered"> <div class="modal-content"> <div class="modal-header"> <button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Close"></button> </div> <div class="modal-body"> <div class="general-message-holder"> <div> <div class="card"> <div class="card-body"> <div id="popup-icon-holder" class="message-icon mb-4"> </div> <h3 id="popup-content" class="mb-4"></h3> <div class="btn-holder justify-content-center"> <button data-bs-dismiss="modal" id="popup-btn-2" type="button" class="btn btn-outline-dark"></button> <button data-bs-dismiss="modal" id="popup-btn-1" type="button" class="btn btn-primary"></button> <!-- <a data-dismiss="modal" class="btn btn-outline-dark" id="popup-btn-2"></a> <a data-dismiss="modal" class="btn btn-primary" id="popup-btn-1"></a> --> </div> </div> </div> </div> </div> </div> <div class="modal-footer"> <button type="button" class="btn btn-secondary d-none" data-bs-dismiss="modal">Close</button> </div> </div> </div> </div> <div id="duplicate_session_popup_modal" data-keyboard="false" data-backdrop="static" aria-hidden="true" class="modal fade duplicateSessionPopupModal" tabindex="-1" role="dialog"> <div class="modal-dialog" role="document"> <div class="modal-content"> <div class="modal-header"> <h4 class="modal-title" style="text-align: center;">Duplicate Sessions</h4> </div> <div class="modal-body"> <div id="duplicate_session_container" style="text-align: center;"> <span>Another login session has been detected. If you continue, the previous session will be removed.</span> <br/><br/> <span>Do you want to continue?</span> </div> <div class="duplicateSessionContainer" style="text-align: center;margin-top: 23px;"> <a rel="nofollow" href="#" id="duplicate_session_popup_modal_yes_buttton" class="ctabtn tiffany">Yes</a> <a rel="nofollow" href="#" id="duplicate_session_popup_modal_logout_buttton" class="ctabtn tiffany">Logout</a> </div> </div> </div> </div> </div> </body> </html>

Pages: 1 2 3 4 5 6 7 8 9 10