{"version":3,"sources":["app.js","appFactory.js","BCAAgreement.js","ChangePassword.js","CIF-1.js","cif-2.js","CIF-3.js","CIF-4.js","CIFDashboard.js","CIFProfile.js","forgetpassword.js","login.js","register-activation.js","register.js"],"names":["app","angular","module","$rootScope","$translate","console","preferredLanguage","use","lan","refresh","Swal","icon","title","text","allowOutsideClick","allowEscapeKey","allowEnterKey","backdrop","showCancelButton","confirmButtonColor","cancelButtonColor","focusConfirm","timer","onOpen","swal","showLoading","textFooter","footer","showConfirmButton","$routeProvider","templateUrl","$locationProvider","$translateProvider","controller","hashPrefix","when","otherwise","lang","getLang","setLang","value","webcam","patData","_video","patOpts","webcamError","hiddenCanvas","document","width","height","drawImage","factory","sendSnapshotToServer","snapshotData","patCanvas","onSuccess","x","y","w","h","channel","onError","activeStream","idata","dataURL","querySelector","isTurnOn","getVideoTracks","createElement","stream","log","getVideoData","checker","putImageData","window","location","success","substr","indexOf","length","service","_stream","downloadSnapshot","href","err","getContext","getImageData","stop","ctxPat","makeSnapshot","turnOff","imgBase64","ctx","onStream","toDataURL","video","Username","$scope","login","Notelp","urlNow","name","languageSelected","languages","$filter","$http","$window","$timeout","$q","$cookies","appFactory","$translatePartialLoader","allPromise","all","linkjagoauth","linkjagostate","state","lastIndexOf","signOutWithConf","result","signOut","urlsvc","postData","User","addClass","confirmButtonText","cancelButtonText","$","put","showLoaderOnConfirm","url","data","SWALtranslate","message","authCode","then","getData","status","preconfirmtranslate","AlertYesNo","focus","method","callback","currentUser","d","fire","stepClass","stepActive","currentStage","i","preConfirm","userSession","error","Stage","dismiss","checkSession","MpcLoader","start","WebCIFNID","IsFinished","split","pop","translateLocale","IsRejected","IsRevised","hash","checkLoginStep","expectedHref","get","scope","element","attr","$formatters","push","inputValue","momentValue","transformedInput","fromUser","ngModelCtrl","$render","undefined","$parsers","$setViewValue","shiftKey","preventDefault","which","event","responseType","deferred","resolve","reject","updateLanguage","directive","defer","id","ctrl","promise","Date","link","$uibModalInstance","close","require","checkPassword","cancel","replace","GeneratedKey","formChange","txtPassword","generatedkey","submit","restrict","elm","attrs","on","$log","cache","getDataByID","postGetData","agreementNumber","accept","Broker","$routeParams","ConfirmPassword","NewPassword","$invalid","txtConfirmPassword","concat","Email","email","chgPass","PostGetSwal","CIFInvestor","tmpdate","setFullYear","getFullYear","maxDate","toISOString","slice","Kewarganegaraan","KewarganegaraanOption","IDLength","chkSeumurHidup","DisabledSeumurHidup","IDCardCitySelected","DomicileCitySelected","NationalitySelected","IDCardCountrySelected","IDCardKecamatanSelected","IDCardOK","ListNationality","ListLookup","ListReligion","ListMarital","ListEducation","ListKecamatan","ListKecamatanDomicile","ListKecamatanAll","ListKelurahan","ListKelurahanDomicile","checkIDCardNumber","IDCardNumber","myForm1","$valid","obj","key","txtNoIDCard","KewarganegaraanChange","Nationality","IDCardCountry","CopyID","IDCardExpireDate","IDCardCity","IDCardKecamatan","IDCardKelurahan","IDCardRT","IDCardRW","IDCardAddress","selectNationality","item","model","label","CIFCountryNID","selectIDCardCountry","selectIDCardCity","CIFProvinceCityNID","kecamatanChange","selectDomicileCity","DomicileCity","Kecamatan","kelurahanChange","temp","Kelurahan","IDCardPostalCode","PostalCode","kecamatanDomicileChange","DomicileKecamatan","kelurahanDomicileChange","DomicileKelurahan","DomicilePostalCode","CopyFromID","DomicileAddress","DomicileRT","DomicileRW","mustSelect","field","keyCode","returnValue","CorrespondenceCity","ListCountry","ListProvinceCity","CIFLookupID","Sex","Religion","MaritalStatus","Education","BirthDate","html","imageUrl","imageAlt","imageHeight","animation","prepareData","language","AccountStatus","Number","EducationText","navigator","userLanguage","Language","moment","format","ClientBirthDate1","ClientBirthDate2","ClientBirthDate3","CurrentStep","cifdata","listBankRDN","rdnbca","bankRDN","PhoneCode","bankpribadi","NPWPLenght","disabledNPWPNumber","OPBBCA","occupation","occupationText","position","positionText","business","businessText","OPBOTHER","OPSPOUSE","CIFInvestorBeneficiaryOwnerIDCardExpiredDate","disableBank","disableCIFInvestorQuestionRDN","selectedFundSource","selectedSpouseFundSource","ListBank","listpekerjaan_BCA","listjabatan_BCA","listusaha_BCA","ListOccupation","ListSpouseIncome","CompanyCitySelected","SpouseCompanyCitySelected","CompanyCityBOSelected","ListKecamatanCompanyBO","ListKelurahanCompanyBO","selectedFundSourceBO","CIFInvestorBeneficiaryOwnerCity","SpouseCompanyCity","CompanyCity","CIFInvestorBeneficiaryOwnerCompanyCity","selectCity","CIFInvestorBeneficiaryOwnerKecamatan","CIFInvestorBeneficiaryOwnerKelurahan","CIFInvestorBeneficiaryOwnerPostalCode","selectCompanyCityBO","kecamatanChangeCompanyCityBO","CIFInvestorBeneficiaryOwnerCompanyAddress2","kelurahanChangeCompanyCityBO","CIFInvestorBeneficiaryOwnerCompanyAddress3","CIFInvestorBeneficiaryOwnerCompanyPostalCode","questionRDNchange","BankName","QuestionRDN","changeSpouseMandatory","param","spouseMandatory","flag","spouseMandatory2","spouseMandatory1","CIFLookupInteger","SpouseCompanyName","SpouseIncomePerAnnum","SpouseOccupation","SpousePosition","SpouseNatureOfBusiness","SpouseCompanyPostalCode","SpouseCompanyAddress","SpouseFundSource","updateNPWP","NPWPNumber","QuestionNPWP","NPWPReason","occupationChange_BCA","positionChange_BCA","occupationChange_OTHER","toggleFundSourceItem","fundsource","indexCIFLookupInteger","splice","FundSourceText","toggleSpouseFundSourceItem","SpouseFundSourceText","toggleFundSourceBOItem","CIFInvestorBeneficiaryOwnerFundSourceText","Occupation","OccupationText","Position","PositionText","NatureOfBusiness","NatureOfBusinessText","SpouseOccupationText","FundSource","CIFInvestorBeneficiaryOwnerFundSource","CIFInvestorBeneficiaryOwnerNationality","ListFundSource","ListIncomePerAnnum","ListIncomePerAnnumBO","ListFundSourceBO","ListOccupationBO","ListInvestmentObjectivesBO","listposition_BCA","listnature_BCA","BankOwner","FirstName","IncomePerAnnum","CIFInvestorBeneficiaryOwnerBirthDate","AlertShowLoading","response","chkquestionfatca","chkquestion1","chkquestion2","chkquestion3","chkquestion4","ListInvestmentObjectives","ListRisk","FATCA1","FATCA2","FATCA3","InvestmentObjectives","Question1","Question1_Text","Question2","Question2_Text","Question3","Question3_Text","Question4","Question4_Text","chkquestion5","Question5","Question5_Text","chkquestion6","Question6","Question6_Text","$uibModal","allowedExt","agree1","agree2","agree3","agree4","filenameKTP","fileKTP","fileKTPext","KTPFile","filenameNPWP","fileNPWP","fileNPWPext","NPWPile","filenameFotoDiri","fileFotoDiri","fileFotoDiriext","fotodiriFile","filenameTandaTangan","fileTandaTangan","fileTandaTanganext","tandatanganFile","selectKTP","files","allowed","reader","FileReader","onload","e","btoa","target","toString","readAsBinaryString","toLowerCase","alert","selectNPWP","NPWPFile","selectFotoDiri","selectTandaTangan","clickRemoveKTP","file","clickRemoveNPWP","clickRemoveFotoDiri","clickRemoveTandaTangan","validateAgreement","disclaimerBank","GlobalAlert","validateAgreementRDNBCA","disclaimerRDNBCA","showAgreement","validateAgreementTAPRESBCA","disclaimerTAPRESBCA","modalMessage","resetSign","finishSignature","clear","completeSign","signature","dataUrl","isEmpty","TandaTanganFile","number","open","size","agree","SelfieFile","endsWith","disclaimerPTMKES","page","datanasabah","active","imgMale","imgDoc","imgFemale","State1","State2","State3","State4","back","URLFolderKYC","imgItem","editing","now","type","navbarOptions","user_reset","UserNID","UserForget","user","showPassword","inputType","toggleShowPassword","UserLogin","AlertShowFooter","setTimeout","reload","ListReferral","ListSales","DisabledReferral","ReferralSelected","referralInvalid","initPage","Sales","ListCountryPhone","params","checkReferral","AliasSales","SalesPersonNID","SalesSelected","DisabledSales","selectSales","selectReferral","ReferralID","ReferalNumber","ReferralNID","checkBankNumber","BankNumber","ReferralDisabled"],"mappings":"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","file":"app.min.js","sourcesContent":["var app = angular.module(\"myApp\", ['templateCacher', 'slick', 'ui.bootstrap', 'ngAnimate', 'angular-jwt', 'ngRoute', 'ngCookies', 'ngMessages', 'ngFileUpload', 'ngCookies', 'signature', 'webcam', 'pascalprecht.translate', 'angular.filter']);\r\n\r\napp.run(['$rootScope', '$translate',\r\nfunction ($rootScope, $translate) {\r\n\r\n var lan = $translate.preferredLanguage();\r\n console.log('lan---- ' + lan);\r\n $translate.use(lan);\r\n $translate.refresh();\r\n\r\n $rootScope.GlobalAlert = function (icon, title, text) {\r\n return Swal.fire({\r\n icon: icon,\r\n title: title,\r\n text: text,\r\n allowOutsideClick: false,\r\n allowEscapeKey: false,\r\n allowEnterKey: false,\r\n backdrop: true,\r\n })\r\n };\r\n\r\n $rootScope.AlertYesNo = function (icon, title, text) {\r\n return Swal.fire({\r\n icon: icon,\r\n title: title,\r\n text: text,\r\n showCancelButton: true,\r\n confirmButtonColor: '#3085d6',\r\n cancelButtonColor: '#d33',\r\n focusConfirm: true,\r\n allowOutsideClick: false,\r\n allowEscapeKey: false,\r\n allowEnterKey: true,\r\n })\r\n };\r\n\r\n $rootScope.AlertShowLoading = function (icon, title, text, timer) {\r\n return Swal.fire({\r\n icon: icon,\r\n title: title,\r\n text: text,\r\n timer: timer,\r\n allowOutsideClick: false,\r\n allowEscapeKey: false,\r\n allowEnterKey: false,\r\n onOpen: () => {\r\n swal.showLoading()\r\n }\r\n })\r\n };\r\n\r\n $rootScope.AlertShowFooter = function (icon, title, text, textFooter, timer) {\r\n return Swal.fire({\r\n footer: textFooter,\r\n icon: icon,\r\n title: title,\r\n text: text,\r\n timer: timer,\r\n showConfirmButton: false,\r\n })\r\n };\r\n}]);\r\n\r\napp.config(['$provide', '$routeProvider', '$locationProvider', '$translateProvider',\r\n function ($provide, $routeProvider, $locationProvider, $translateProvider) {\r\n $locationProvider.hashPrefix('');\r\n $routeProvider.\r\n when('/',\r\n {\r\n templateUrl: 'login.html',\r\n controller: 'LoginCtrl'\r\n }).\r\n when('/register',\r\n {\r\n templateUrl: 'register.html',\r\n controller: 'RegisterCtrl'\r\n }).\r\n when('/register/:id',\r\n {\r\n templateUrl: 'login.html',\r\n controller: 'RegisterCtrl'\r\n }).\r\n when('/register/:param/:id',\r\n {\r\n templateUrl: 'register.html',\r\n controller: 'RegisterCtrl'\r\n }).\r\n when('/activation/:generatedkey',\r\n {\r\n templateUrl: 'activation.html',\r\n controller: 'ActivationCtrl'\r\n }).\r\n when('/forgetpassword',\r\n {\r\n templateUrl: 'forgetpassword.html',\r\n controller: 'forgetPasswordCtrl'\r\n }).\r\n when('/change_password/:generatedkey',\r\n {\r\n templateUrl: 'changepassword.html',\r\n controller: 'changePasswordCtrl'\r\n }).\r\n when('/login',\r\n {\r\n templateUrl: 'login.html',\r\n controller: 'LoginCtrl'\r\n }).\r\n when('/cif/data-pribadi',\r\n {\r\n templateUrl: 'cif-1.html',\r\n controller: 'CIF-CTRL'\r\n }).\r\n when('/cif/data-pekerjaan',\r\n {\r\n templateUrl: 'cif-2.html',\r\n controller: 'CIF2-CTRL'\r\n }).\r\n when('/cif/data-pendukung',\r\n {\r\n templateUrl: 'cif-3.html',\r\n controller: 'CIF3-CTRL'\r\n }).\r\n when('/cif/data-pernyataan',\r\n {\r\n templateUrl: 'cif-4.html',\r\n controller: 'CIF4-CTRL'\r\n }).\r\n when('/dashboard',\r\n {\r\n templateUrl: 'dashboard/dashboard.html',\r\n controller: 'CIFDashboard-CTRL'\r\n }).\r\n when('/profile',\r\n {\r\n templateUrl: 'dashboard/profile.html',\r\n controller: 'CIFProfile-CTRL'\r\n }).\r\n otherwise(\r\n {\r\n redirectTo: '/logout'\r\n });\r\n\r\n $translateProvider.useStaticFilesLoader({\r\n prefix: '/lang/locale-',\r\n suffix: '.json?version=02062022'\r\n });\r\n $translateProvider.preferredLanguage('en');\r\n }]);\r\n\r\napp.factory('S21Language', function () {\r\n var lang = '';\r\n return {\r\n getLang: function () {\r\n return lang;\r\n },\r\n\r\n setLang: function (value) {\r\n lang = value;\r\n return value;\r\n }\r\n };\r\n});\r\n\r\napp.factory('KTPCamService', function () {\r\n var webcam = {};\r\n webcam.isTurnOn = false;\r\n webcam.patData = null;\r\n var _video = null;\r\n var _stream = null;\r\n webcam.patOpts = { x: 0, y: 0, w: 25, h: 25 };\r\n webcam.channel = {};\r\n webcam.webcamError = false;\r\n\r\n var getVideoData = function getVideoData(x, y, w, h) {\r\n var hiddenCanvas = document.createElement('canvas');\r\n hiddenCanvas.width = _video.width;\r\n hiddenCanvas.height = _video.height;\r\n var ctx = hiddenCanvas.getContext('2d');\r\n ctx.drawImage(_video, 0, 0, _video.width, _video.height);\r\n return ctx.getImageData(x, y, w, h);\r\n };\r\n\r\n var sendSnapshotToServer = function sendSnapshotToServer(imgBase64) {\r\n webcam.snapshotData = imgBase64;\r\n };\r\n\r\n webcam.makeSnapshot = function () {\r\n if (_video) {\r\n var patCanvas = document.querySelector('#KTPsnapshot');\r\n if (!patCanvas) return;\r\n\r\n patCanvas.width = _video.width;\r\n patCanvas.height = _video.height;\r\n var ctxPat = patCanvas.getContext('2d');\r\n\r\n var idata = getVideoData(webcam.patOpts.x, webcam.patOpts.y, webcam.patOpts.w, webcam.patOpts.h);\r\n ctxPat.putImageData(idata, 0, 0);\r\n\r\n sendSnapshotToServer(patCanvas.toDataURL());\r\n\r\n webcam.patData = idata;\r\n\r\n webcam.success(webcam.snapshotData.substr(webcam.snapshotData.indexOf('base64,') + 'base64,'.length), 'image/png');\r\n //webcam.turnOff();\r\n }\r\n };\r\n\r\n webcam.onSuccess = function () {\r\n _video = webcam.channel.video;\r\n webcam.patOpts.w = _video.width;\r\n webcam.patOpts.h = _video.height;\r\n webcam.isTurnOn = true;\r\n };\r\n\r\n webcam.onStream = function (stream) {\r\n activeStream = stream;\r\n console.log('kt', activeStream);\r\n return activeStream;\r\n };\r\n\r\n webcam.downloadSnapshot = function downloadSnapshot(dataURL) {\r\n window.location.href = dataURL;\r\n };\r\n\r\n webcam.onError = function (err) {\r\n webcam.webcamError = err;\r\n };\r\n\r\n webcam.turnOff = function () {\r\n webcam.isTurnOn = false;\r\n if (activeStream && activeStream.getVideoTracks) {\r\n const checker = typeof activeStream.getVideoTracks === 'function';\r\n if (checker) {\r\n console.log('ktp', activeStream.getVideoTracks());\r\n return activeStream.getVideoTracks()[0].stop();\r\n }\r\n return false;\r\n }\r\n return false;\r\n };\r\n\r\n var service = {\r\n webcam: webcam\r\n };\r\n return service;\r\n});\r\n\r\napp.factory('SELFIECamService', function () {\r\n var webcam = {};\r\n webcam.isTurnOn = false;\r\n webcam.patData = null;\r\n var _video = null;\r\n var _stream = null;\r\n webcam.patOpts = { x: 0, y: 0, w: 25, h: 25 };\r\n webcam.channel = {};\r\n webcam.webcamError = false;\r\n\r\n var getVideoData = function getVideoData(x, y, w, h) {\r\n var hiddenCanvas = document.createElement('canvas');\r\n hiddenCanvas.width = _video.width;\r\n hiddenCanvas.height = _video.height;\r\n var ctx = hiddenCanvas.getContext('2d');\r\n ctx.drawImage(_video, 0, 0, _video.width, _video.height);\r\n return ctx.getImageData(x, y, w, h);\r\n };\r\n\r\n var sendSnapshotToServer = function sendSnapshotToServer(imgBase64) {\r\n webcam.snapshotData = imgBase64;\r\n };\r\n\r\n webcam.makeSnapshot = function () {\r\n if (_video) {\r\n var patCanvas = document.querySelector('#SELFIEsnapshot');\r\n if (!patCanvas) return;\r\n\r\n patCanvas.width = _video.width;\r\n patCanvas.height = _video.height;\r\n var ctxPat = patCanvas.getContext('2d');\r\n\r\n var idata = getVideoData(webcam.patOpts.x, webcam.patOpts.y, webcam.patOpts.w, webcam.patOpts.h);\r\n ctxPat.putImageData(idata, 0, 0);\r\n\r\n sendSnapshotToServer(patCanvas.toDataURL());\r\n\r\n webcam.patData = idata;\r\n\r\n webcam.success(webcam.snapshotData.substr(webcam.snapshotData.indexOf('base64,') + 'base64,'.length), 'image/png');\r\n //webcam.turnOff();\r\n }\r\n };\r\n\r\n webcam.onSuccess = function () {\r\n _video = webcam.channel.video;\r\n webcam.patOpts.w = _video.width;\r\n webcam.patOpts.h = _video.height;\r\n webcam.isTurnOn = true;\r\n };\r\n\r\n webcam.onStream = function (stream) {\r\n activeStream = stream;\r\n console.log('se', activeStream);\r\n return activeStream;\r\n };\r\n\r\n webcam.downloadSnapshot = function downloadSnapshot(dataURL) {\r\n window.location.href = dataURL;\r\n };\r\n\r\n webcam.onError = function (err) {\r\n webcam.webcamError = err;\r\n console.log('ERR', webcam.webcamError)\r\n };\r\n\r\n webcam.turnOff = function () {\r\n webcam.isTurnOn = false;\r\n if (activeStream && activeStream.getVideoTracks) {\r\n const checker = typeof activeStream.getVideoTracks === 'function';\r\n if (checker) {\r\n console.log('se', activeStream.getVideoTracks());\r\n return activeStream.getVideoTracks()[0].stop();\r\n }\r\n return false;\r\n }\r\n return false;\r\n };\r\n\r\n var service = {\r\n webcam: webcam\r\n };\r\n\r\n\r\n return service;\r\n});\r\n\r\napp.controller('HomeController', ['$scope', '$rootScope', '$filter', '$http', '$window', '$timeout', '$q', '$cookies', '$translate', 'appFactory', '$translatePartialLoader',\r\n function ($scope, $rootScope, $filter, $http, $window, $timeout, $q, $cookies, $translate, appFactory, $translatePartialLoader) {\r\n $scope.login = {\r\n Username: '',\r\n Password: '',\r\n Email: '',\r\n Notelp: ''\r\n };\r\n\r\n $scope.showLogoutBtn = function () {\r\n\r\n var urlNow = window.location.href.substr(window.location.href.lastIndexOf('/') + 1);\r\n if (urlNow == \"data-pribadi\" ||\r\n urlNow == \"data-pekerjaan\" ||\r\n urlNow == \"data-pendukung\" ||\r\n urlNow == \"data-pernyataan\" ||\r\n urlNow == \"dashboard\" ||\r\n urlNow == \"profile\"\r\n )\r\n return true;\r\n else\r\n return false;\r\n }\r\n\r\n $scope.languages = [\r\n {\r\n lang: 'en',\r\n name: 'English',\r\n },\r\n {\r\n lang: 'id',\r\n name: 'Indonesia'\r\n }\r\n ];\r\n\r\n $scope.languageSelected = $scope.languages[0];\r\n //$scope.language = 'en';\r\n\r\n $scope.updateLanguage = function (lang) {\r\n if (lang == 'id') {\r\n\r\n $scope.languageSelected = $scope.languages[1];\r\n $(\"#langID\").addClass('bg-primary');\r\n $(\"#langEN\").removeClass('bg-primary');\r\n } else {\r\n\r\n $scope.languageSelected = $scope.languages[0];\r\n $(\"#langID\").removeClass('bg-primary');\r\n $(\"#langEN\").addClass('bg-primary');\r\n }\r\n\r\n\r\n $translate.use($scope.languageSelected.lang);\r\n $cookies.put(\"lang\", $scope.languageSelected.lang);\r\n };\r\n\r\n var allPromise = $q.all([\r\n\r\n ]);\r\n\r\n if (window.location.href.substr(window.location.href.lastIndexOf('/') != '')) {\r\n\r\n $scope.linkjagoauth = window.location.href.substr(window.location.href.lastIndexOf('/') + 1)\r\n\r\n $scope.linkjagostate = window.location.href.substr(window.location.href.indexOf('&state='))\r\n\r\n\r\n if ($scope.linkjagoauth.substring(0, 10) == '?authCode=') {\r\n\r\n\r\n $scope.state = $scope.linkjagostate.replace('&state=', '')\r\n\r\n $scope.authCode = $scope.linkjagoauth.replace($scope.linkjagostate, '').replace('?authCode=', '')\r\n\r\n\r\n appFactory.getData('https://jagodev.pancaglobal.co.id:8012/core/jago/rdn/account-binding?AuthCode=' + $scope.authCode + '&State=' + $scope.state).then(function (data) {\r\n\r\n $window.location.href = \"/#/\";\r\n\r\n });\r\n }\r\n\r\n }\r\n\r\n // trigger sign out dan kembali ke halaman login\r\n $scope.signOut = function () {\r\n\r\n appFactory.getData(`/service/client.svc/SignOut`).then(function (data) {\r\n\r\n if (data.status == 200) {\r\n\r\n $window.location.href = \"/#/\";\r\n }\r\n });\r\n };\r\n\r\n // dengan sweet alert confirmation dialog sebelum logout\r\n $scope.signOutWithConf = function () {\r\n\r\n var SWALtranslate = $scope.SWALtranslate('logoutConf');\r\n\r\n $rootScope.AlertYesNo('question', SWALtranslate.title, SWALtranslate.message)\r\n .then((result) => {\r\n if (result.value) {\r\n\r\n $scope.signOut();\r\n }\r\n });\r\n }\r\n\r\n // the dynamic post or get sweet alert 2 \r\n $scope.PostGetSwal = function (preconfirmtranslate, urlsvc, postData, method, callback) {\r\n\r\n console.log(\"postgetswal-urlsvc:\", urlsvc)\r\n console.log(\"postgetswal-method:\", method)\r\n console.log(\"postgetswal-postdata:\", postData)\r\n\r\n // jika yang disubmit adalah registrasi, confirm text == Ya/Yes, Tidak/No\r\n if (postData.User) {\r\n\r\n\r\n var confirmButtonText = $scope.languageSelected.lang == \"id\" ? \"Ya\" : \"Yes\";\r\n var cancelButtonText = $scope.languageSelected.lang == \"id\" ? \"Tidak\" : \"No\";\r\n } else {\r\n\r\n var cancelButtonText = \"Cancel\";\r\n var confirmButtonText = \"Submit\"\r\n }\r\n\r\n $(\"#btnLogin\").blur();\r\n\r\n var SWALtranslate = $scope.SWALtranslate(preconfirmtranslate);\r\n\r\n return Swal.fire({\r\n icon: 'question',\r\n title: SWALtranslate.title,\r\n text: SWALtranslate.message,\r\n showCancelButton: true,\r\n confirmButtonColor: '#3a3963',\r\n confirmButtonText: confirmButtonText,\r\n cancelButtonText: cancelButtonText,\r\n showLoaderOnConfirm: true,\r\n preConfirm: (preConf) => {\r\n\r\n return $http({\r\n method: method,\r\n url: urlsvc,\r\n data: postData\r\n }).then(data => {\r\n\r\n console.log(data.data.d.result)\r\n\r\n if (data.data.d.result) {\r\n\r\n var SWALtranslate = $scope.SWALtranslate(data.data.d.message);\r\n\r\n Swal.fire({\r\n title: SWALtranslate.title,\r\n text: SWALtranslate.message,\r\n icon: \"success\",\r\n showConfirmButton: false,\r\n timer: 3000,\r\n }).then((result) => {\r\n\r\n callback(data.data.d); // send /return callback to .js\r\n })\r\n } else {\r\n\r\n var SWALtranslate = $scope.SWALtranslate(data.data.d.message);\r\n\r\n Swal.fire({\r\n title: SWALtranslate.title,\r\n text: SWALtranslate.message,\r\n icon: \"error\",\r\n showConfirmButton: true,\r\n }).then((result) => {\r\n\r\n callback(data.data.d); // send /return callback to .js\r\n })\r\n }\r\n\r\n })\r\n .catch(error => {\r\n Swal.showValidationMessage(\r\n \"There is a problem connecting to the server. \\\r\n Please ensure your internet connection is active. If the problem persists, please try again later.\"\r\n )\r\n console.log(`Request failed: ${error}`)\r\n })\r\n }\r\n }).then((result) => {\r\n\r\n // additional submit \r\n if (preconfirmtranslate == \"submitregistrationconf\") {\r\n\r\n if (result.dismiss === Swal.DismissReason.cancel) {\r\n $('#txtEmail').focus()\r\n }\r\n }\r\n });\r\n };\r\n\r\n // checking jwt session\r\n $scope.checkSession = function () {\r\n\r\n MpcLoader.start()\r\n\r\n appFactory.getData(`/service/client.svc/checkSession`).then(function (data) {\r\n\r\n if (data.status == 200) {\r\n\r\n if (data.data.d.WebCIFNID > 0) {\r\n\r\n $rootScope.currentUser = data.data.d;\r\n console.log(\"$rootScope.currentUser\", $rootScope.currentUser)\r\n\r\n // stage: finished\r\n if ($rootScope.currentUser.IsFinished == 1 && $rootScope.currentUser.Stage == 4 && $window.location.href.split('/').pop() !== \"profile\") {\r\n $window.location.href = \"#/dashboard\";\r\n console.log('get this')\r\n return;\r\n }\r\n\r\n // stage: is rejected\r\n if ($rootScope.currentUser.IsRejected == 1) {\r\n $window.location.href = \"#/dashboard\";\r\n return;\r\n }\r\n\r\n // stage is 1 and is revised\r\n if ($rootScope.currentUser.Stage == 1 && $rootScope.currentUser.IsRevised == 1 && $window.location.href.split('/').pop() !== \"data-pribadi\") {\r\n $window.location.href = \"#/dashboard\";\r\n return;\r\n }\r\n\r\n $rootScope.stepClass = ['', '', '', '', ''];\r\n $rootScope.stepActive = 'active current';\r\n $rootScope.currentStage = 0;\r\n\r\n for (var i = 1; i < 5; i++) {\r\n if (i <= $rootScope.currentUser.Stage)\r\n $rootScope.stepClass[i] = 'done';\r\n }\r\n\r\n switch ($window.location.hash) {\r\n case \"#/cif/data-pribadi\": $rootScope.stepClass[1] = $rootScope.stepActive; break;\r\n case \"#/cif/data-pekerjaan\": $rootScope.stepClass[2] = $rootScope.stepActive; break;\r\n case \"#/cif/data-pendukung\": $rootScope.stepClass[3] = $rootScope.stepActive; break;\r\n case \"#/cif/data-pernyataan\": $rootScope.stepClass[4] = $rootScope.stepActive; break;\r\n }\r\n\r\n //if (typeof ignoreCheckLoginStep == 'undefined') \r\n $scope.checkLoginStep(data.data.d);\r\n\r\n } else {\r\n\r\n $scope.signOut();\r\n }\r\n } else {\r\n\r\n $scope.signOut();\r\n }\r\n });\r\n }\r\n\r\n // check login step si user berada pada state dimana tergantung stage dan status login user\r\n $scope.checkLoginStep = function (userSession) {\r\n\r\n // get last url segment\r\n var urlNow = window.location.href.substr(window.location.href.lastIndexOf('/') + 1);\r\n\r\n // get the expected url:\r\n /** \r\n data-pribadi\r\n data-pekerjaan\r\n data-pendukung\r\n data-pernyataan\r\n **/\r\n if (userSession.Stage == 1)\r\n var expectedHref = \"#/cif/data-pribadi\";\r\n else if (userSession.Stage == 2)\r\n var expectedHref = \"#/cif/data-pekerjaan\";\r\n else if (userSession.Stage == 3)\r\n var expectedHref = \"#/cif/data-pendukung\";\r\n else if (userSession.Stage == 4)\r\n var expectedHref = \"#/cif/data-pernyataan\";\r\n\r\n // check start\r\n if (urlNow == \"dashboard\") {\r\n\r\n if (userSession.IsRevised == 1 || userSession.IsRejected == 1)\r\n $window.location.href = \"#/dashboard\";\r\n else\r\n $window.location.href = expectedHref;\r\n\r\n } else if (userSession.Stage == 1) {\r\n\r\n if (urlNow == \"\")\r\n $window.location.href = expectedHref;\r\n\r\n if (urlNow == \"data-pendukung\" || urlNow !== \"data-pernyataan\" || urlNow == \"data-pernyataan\")\r\n $window.location.href = expectedHref;\r\n else\r\n $window.location.href = \"#/cif/data-pribadi\";\r\n\r\n } else if (userSession.Stage == 2) {\r\n\r\n if (urlNow == \"\")\r\n $window.location.href = expectedHref;\r\n\r\n if (urlNow == \"data-pendukung\" || urlNow !== \"data-pernyataan\")\r\n $window.location.href = expectedHref;\r\n\r\n } else if (userSession.Stage == 3) {\r\n\r\n if (urlNow == \"\")\r\n $window.location.href = expectedHref;\r\n\r\n if (urlNow == \"data-pernyataan\")\r\n $window.location.href = expectedHref;\r\n\r\n } else if (userSession.Stage == 4) {\r\n\r\n if (urlNow == \"\")\r\n $window.location.href = expectedHref;\r\n\r\n }\r\n // check end\r\n }\r\n\r\n // scope untuk mengecek session saja\r\n // jika tidak ada session maka trigger $scope.signOut\r\n //$scope.retrieveSessions = function () {\r\n // MpcLoader.start()\r\n\r\n // $http({\r\n // method: 'POST',\r\n // url: '/service/client.svc/retrieveSession',\r\n // }).then(function (data) {\r\n\r\n // if (!data.data.d) {\r\n\r\n // $scope.signOut();\r\n // }\r\n // else\r\n // $scope.currentUser = data.data.d;\r\n\r\n // }, function (error) { })\r\n //}\r\n\r\n // kumpulan sweet alert translate untuk di lempar di ui sweet alert-- title, message, footer\r\n $scope.SWALtranslate = function (translateLocale) {\r\n\r\n var result = [];\r\n\r\n switch (translateLocale) {\r\n case 'useralreadyrejected':\r\n\r\n result.title = $filter('translate')('SESSION.expiredtitle');\r\n result.message = $filter('translate')('SESSION.pleaserelogin');\r\n break;\r\n case 'sessionexpired':\r\n\r\n result.title = $filter('translate')('SESSION.expiredtitle');\r\n result.message = $filter('translate')('SESSION.pleaserelogin');\r\n break;\r\n case 'logoutConf':\r\n\r\n result.title = $filter('translate')('INFO.logout');\r\n result.message = $filter('translate')('INFO.sure');\r\n break;\r\n case 'limitlogin':\r\n\r\n result.title = $filter('translate')('INFO.failed');\r\n result.message = $filter('translate')('INFO.limitlogin');\r\n break;\r\n case 'submitregistrationconf':\r\n\r\n result.title = $filter('translate')('INFO.submitregistrationtitle');\r\n result.message = $filter('translate')('INFO.submitregistration').replace(\"[email]\", $rootScope.user.Email).replace(\"[email]\", $rootScope.user.Email);\r\n break;\r\n case 'submitregistrationsuccess':\r\n\r\n result.title = $filter('translate')('INFO.success');\r\n result.message = $filter('translate')('INFO.submitregistrationsuccess');\r\n break;\r\n case 'emailduplicate':\r\n\r\n result.title = $filter('translate')('INFO.failed');\r\n result.message = $filter('translate')('INFO.emailduplicate');\r\n break;\r\n case 'savedatasuccess':\r\n\r\n result.title = $filter('translate')('INFO.success');\r\n result.message = $filter('translate')('INFO.succcessdatasave');\r\n break;\r\n case 'submitCif1':\r\n\r\n result.title = $filter('translate')('INFO.submitcif1');\r\n result.message = $filter('translate')('INFO.sure');\r\n break;\r\n case 'submitCif2':\r\n\r\n result.title = $filter('translate')('INFO.submitcif2');\r\n result.message = $filter('translate')('INFO.sure');\r\n break;\r\n case 'submitCif3':\r\n\r\n result.title = $filter('translate')('INFO.submitcif3');\r\n result.message = $filter('translate')('INFO.sure');\r\n break;\r\n case 'submitCif4':\r\n\r\n result.title = $filter('translate')('INFO.submitcif4');\r\n result.message = $filter('translate')('INFO.sure');\r\n break;\r\n case 'submitCif4success':\r\n\r\n result.title = $filter('translate')('INFO.success');\r\n result.message = $filter('translate')('INFO.submitcif4success');\r\n break;\r\n case 'logindisabled':\r\n\r\n result.title = $filter('translate')('INFO.loginfailed');\r\n result.message = $filter('translate')('INFO.notactivated');\r\n break;\r\n case 'notactivated':\r\n\r\n result.title = $filter('translate')('INFO.loginfailed');\r\n result.message = $filter('translate')('INFO.notactivated');\r\n result.footer = $filter('translate')('INFO.clicktoresendactivationlink');\r\n break;\r\n case 'wronguserpass':\r\n\r\n result.title = $filter('translate')('INFO.loginfailed');\r\n result.message = $filter('translate')('INFO.wronguserpass');\r\n break;\r\n case 'aggreement1':\r\n\r\n result.title = $filter('translate')('INFO.aggreement1');\r\n result.message = $filter('translate')('INFO.sure');\r\n break;\r\n case 'aggreement2':\r\n\r\n result.title = $filter('translate')('INFO.aggreement2');\r\n result.message = $filter('translate')('INFO.sure');\r\n break;\r\n case 'aggreement3':\r\n\r\n result.title = $filter('translate')('INFO.aggreement3');\r\n result.message = $filter('translate')('INFO.sure');\r\n break;\r\n case 'forgetpasswordsuccess':\r\n\r\n result.title = $filter('translate')('INFO.forgetpasswordsuccess');\r\n result.message = $filter('translate')('INFO.checkyouremail');\r\n break;\r\n case 'changepasswordconf':\r\n\r\n result.title = $filter('translate')('INFO.conf');\r\n result.message = $filter('translate')('INFO.changepasswordconf');\r\n break;\r\n case 'changepasswordsuccess':\r\n\r\n result.title = $filter('translate')('INFO.success');\r\n result.message = $filter('translate')('INFO.changepasswordsuccess');\r\n break;\r\n case 'sendforgetpassword':\r\n\r\n result.title = $filter('translate')('INFO.sendchangepasswordlink');\r\n result.message = $filter('translate')('INFO.sureForgetPasword');\r\n break;\r\n case 'activationsuccess':\r\n\r\n result.title = $filter('translate')('INFO.activationsuccess');\r\n result.message = $filter('translate')('INFO.activationsuccessmsg');\r\n break;\r\n case 'resendactivationlink':\r\n\r\n result.title = $filter('translate')('INFO.resendactivationlink');\r\n result.message = $filter('translate')('INFO.sure');\r\n break;\r\n case 'otpsent':\r\n\r\n result.title = $filter('translate')('INFO.success');\r\n result.message = $filter('translate')('INFO.resendactivationlinksuccess');\r\n break;\r\n case 'usernotfound':\r\n\r\n result.title = $filter('translate')('INFO.failed');\r\n result.message = $filter('translate')('INFO.usernotfound');\r\n break;\r\n case 'preparationinfouploadphotocif1':\r\n\r\n result.title = $filter('translate')('INFO.remindersupportdoc');\r\n result.message = $filter('translate')('INFO.preparationinfouploadphoto');\r\n break;\r\n case 'duplicatektp':\r\n\r\n result.title = $filter('translate')('INFO.duplicatektp');\r\n result.message = $filter('translate')('INFO.failed');\r\n break;\r\n case 'norektidakcocok':\r\n\r\n result.title = $filter('translate')('INFO.failed');\r\n result.message = $filter('translate')('INFO.norektidakcocok');\r\n break;\r\n default:\r\n\r\n result.title = \"New Version Update Needed\";\r\n result.message = \"Needed to update the apps.js\";\r\n break;\r\n }\r\n return result;\r\n }\r\n\r\n allPromise.then(function () {\r\n if (!$cookies.get('lang'))\r\n $cookies.put(\"lang\", 'id');\r\n else\r\n $scope.updateLanguage($cookies.get('lang'));\r\n });\r\n }]);\r\n\r\napp.directive('parseDate', ['$filter', function ($filter) {\r\n return {\r\n require: 'ngModel',\r\n link: function (scope, element, attr, ctrl) {\r\n if (!ctrl) {\r\n return;\r\n }\r\n\r\n ctrl.$formatters.push(function (inputValue) {\r\n\r\n if (inputValue) {\r\n\r\n var momentValue = moment(inputValue).format('D MMMM Y');\r\n var transformedInput = new Date(momentValue);\r\n return transformedInput\r\n }\r\n });\r\n }\r\n };\r\n}]);\r\n\r\napp.directive('textNumbers', function () {\r\n return {\r\n require: 'ngModel',\r\n link: function (scope, element, attr, ngModelCtrl) {\r\n function fromUser(text) {\r\n\r\n if (text) {\r\n\r\n var transformedInput = text.replace(/[^A-Za-z0-9/ \\s]/g, '');\r\n\r\n //if (transformedInput !== text) {\r\n ngModelCtrl.$setViewValue(transformedInput);\r\n ngModelCtrl.$render();\r\n //}\r\n return transformedInput;\r\n }\r\n return undefined;\r\n }\r\n ngModelCtrl.$parsers.push(fromUser);\r\n }\r\n };\r\n});\r\n\r\napp.directive('textOnly', function () {\r\n return {\r\n require: 'ngModel',\r\n link: function (scope, element, attr, ngModelCtrl) {\r\n function fromUser(text) {\r\n\r\n if (text) {\r\n\r\n var transformedInput = text.replace(/[^A-Za-z\\' \\s]/g, '');\r\n\r\n //if (transformedInput !== text) {\r\n ngModelCtrl.$setViewValue(transformedInput);\r\n ngModelCtrl.$render();\r\n //}\r\n return transformedInput;\r\n }\r\n return undefined;\r\n }\r\n ngModelCtrl.$parsers.push(fromUser);\r\n }\r\n };\r\n});\r\n\r\napp.directive('numbersOnly', function () {\r\n return {\r\n require: 'ngModel',\r\n link: function (scope, element, attr, ngModelCtrl) {\r\n function fromUser(text) {\r\n if (text) {\r\n var transformedInput = text.replace(/[^0-9]/g, '');\r\n\r\n if (transformedInput !== text) {\r\n ngModelCtrl.$setViewValue(transformedInput);\r\n ngModelCtrl.$render();\r\n }\r\n return transformedInput;\r\n }\r\n return undefined;\r\n }\r\n ngModelCtrl.$parsers.push(fromUser);\r\n }\r\n };\r\n});\r\n\r\napp.directive('onlyNumbers', function () {\r\n return {\r\n restrict: 'A',\r\n link: function (scope, elm, attrs, ctrl) {\r\n elm.on('keydown', function (event) {\r\n if (event.shiftKey) { event.preventDefault(); return false; }\r\n //console.log(event.which);\r\n if ([8, 13, 27, 37, 38, 39, 40].indexOf(event.which) > -1) {\r\n // backspace, enter, escape, arrows\r\n return true;\r\n } else if (event.which >= 48 && event.which <= 57) {\r\n // numbers 0 to 9\r\n return true;\r\n } else if (event.which >= 96 && event.which <= 105) {\r\n // numpad number\r\n return true;\r\n }\r\n // else if ([110, 190].indexOf(event.which) > -1) {\r\n // // dot and numpad dot\r\n // return true;\r\n // }\r\n else {\r\n event.preventDefault();\r\n return false;\r\n }\r\n });\r\n }\r\n }\r\n});","app.factory('appFactory', ['$http', '$log', '$q',\r\n function ($http, $log, $q) {\r\n\r\n return {\r\n getData: function (url,responseType) {\r\n var deferred = $q.defer();\r\n $http({\r\n method: 'GET',\r\n url: url,\r\n cache: false,\r\n responseType: responseType,\r\n }).then(function (data) {\r\n deferred.resolve(data);\r\n }, function (error) {\r\n Swal.fire(\r\n \"Failed\",\r\n \"There is a problem connecting to the server. \\\r\n Please ensure your internet connection is active. If the problem persists, please try again later.\",\r\n \"error\"\r\n )\r\n deferred.reject(error);\r\n $log.error(error);\r\n MpcLoader.stop();\r\n });\r\n return deferred.promise;\r\n },\r\n getDataByID: function (url, id) {\r\n var deferred = $q.defer();\r\n $http({\r\n method: 'GET',\r\n url: url + id,\r\n cache: false,\r\n }).then(function (data) {\r\n deferred.resolve(data);\r\n }, function (error) {\r\n deferred.reject(error);\r\n $log.error(error);\r\n MpcLoader.stop();\r\n });\r\n return deferred.promise;\r\n },\r\n postGetData: function (url, method, data) {\r\n var deferred = $q.defer();\r\n $http({\r\n method: method,\r\n url: url,\r\n data: data\r\n }).then(function (data) {\r\n deferred.resolve(data);\r\n }, function (error) {\r\n Swal.fire(\r\n \"Failed\",\r\n \"There is a problem connecting to the server. \\\r\n Please ensure your internet connection is active. If the problem persists, please try again later.\",\r\n \"error\"\r\n )\r\n deferred.reject(error);\r\n $log.error(error);\r\n MpcLoader.stop();\r\n });\r\n return deferred.promise;\r\n },\r\n }\r\n}]);","app.controller('BCAAgreementCtrl', ['$scope', '$uibModalInstance', 'agreementNumber', '$q', 'appFactory',\r\n function ($scope, $uibModalInstance, agreementNumber, $q, appFactory) {\r\n\r\n $scope.agreementNumber = agreementNumber;\r\n\r\n $scope.accept = function () {\r\n\r\n $uibModalInstance.close('accept', $scope.agreementNumber);\r\n };\r\n \r\n $scope.Broker = '';\r\n\r\n var allPromise = $q.all([\r\n\r\n appFactory.getData(`/service/client.svc/getBrokerClient`).then(function (data) {\r\n\r\n if (data.status == 200) {\r\n\r\n $scope.Broker = data.data.d;\r\n }\r\n })\r\n ]);\r\n\r\n allPromise.then(function () {\r\n\r\n });\r\n\r\n $scope.cancel = function () {\r\n\r\n $uibModalInstance.dismiss('cancel', $scope.agreementNumber);\r\n };\r\n}]);","app.controller('changePasswordCtrl', ['$scope', '$routeParams', '$window', '$q', 'appFactory',\r\n function ($scope, $routeParams, $window, $q, appFactory) {\r\n\r\n $scope.User = {};\r\n $scope.User.GeneratedKey = $routeParams.generatedkey;\r\n\r\n // confirm password harus sama\r\n $scope.ConfirmPassword = '';\r\n $scope.checkPassword = function () {\r\n if ($scope.ConfirmPassword != $scope.User.NewPassword) {\r\n $scope.formChange.txtPassword.$invalid = true;\r\n $scope.formChange.txtConfirmPassword.$invalid = true;\r\n } else {\r\n $scope.formChange.txtPassword.$invalid = false;\r\n $scope.formChange.txtConfirmPassword.$invalid = false;\r\n }\r\n };\r\n\r\n // get params, jika genkey salah maka kembali ke halaman awal / login\r\n if ($routeParams.generatedkey) {\r\n\r\n appFactory.getData(`/service/client.svc/GetChangePasswordKey?key=${$scope.User.GeneratedKey}`).then(function (data) {\r\n\r\n if (data.status == 200) {\r\n if (!data.data.d.result) {\r\n\r\n $window.location.href = \"/#/\";\r\n return;\r\n }\r\n\r\n $scope.User.Email = data.data.d.email;\r\n }\r\n });\r\n }\r\n\r\n var allPromise = $q.all([]);\r\n\r\n $scope.submit = function () {\r\n\r\n if ($scope.formChange.txtPassword.$invalid || $scope.formChange.txtConfirmPassword.$invalid)\r\n return;\r\n\r\n // dynamic sweet alert post to app.js\r\n // 1: set the url of post or get request\r\n // 2: set the sweet alert translation, refers to apps.js $scope.SWALtranslate() :preconfirm = confirmation dialog before post or get request\r\n // 3: set the postdata to $http request = GET : {} / POST { yourdata : data }\r\n // 4: set the method to $http request = \"GET\" / \"POST\"\r\n // 5: set the sweet alert translation, refers to apps.js $scope.SWALtranslate() :preconfirm = confirmation dialog before post or get request\r\n // 6: if success or no error returns then...\r\n var urlsvc = '/service/client.svc/changePassword'; // 1\r\n var preconfirmtranslate = \"changepasswordconf\"; // 2\r\n var postData = { chgPass: $scope.User } // 3\r\n var method = \"POST\" // 4\r\n $scope.PostGetSwal(preconfirmtranslate, urlsvc, postData, method, function (data) {\r\n\r\n if (data.result) // 6\r\n $window.location.href = \"#/login\"; \r\n });\r\n };\r\n}]);","app.controller('CIF-CTRL', ['$rootScope', '$scope', '$window', '$q', '$filter', 'appFactory',\r\n function ($rootScope, $scope, $window, $q, $filter, appFactory) {\r\n\r\n $scope.CIFInvestor = {}\r\n\r\n let tmpdate = new Date();\r\n tmpdate.setFullYear(tmpdate.getFullYear() - 17);\r\n $scope.maxDate = tmpdate.toISOString().slice(0, 10);\r\n $scope.Kewarganegaraan = 'WNI / Indonesian';\r\n $scope.KewarganegaraanOption = ['WNI / Indonesian', 'Lainnya / Others'];\r\n $scope.IDLength = 16;\r\n $scope.chkSeumurHidup = true;\r\n $scope.DisabledSeumurHidup = true;\r\n\r\n $scope.IDCardCitySelected = '';\r\n $scope.DomicileCitySelected = '';\r\n $scope.NationalitySelected = '';\r\n $scope.IDCardCountrySelected = '';\r\n $scope.IDCardKecamatanSelected = '';\r\n $scope.IDCardOK = true;\r\n\r\n $scope.ListNationality = [];\r\n $scope.ListLookup = [];\r\n $scope.ListReligion = [];\r\n $scope.ListMarital = [];\r\n $scope.ListEducation = [];\r\n $scope.ListKecamatan = [];\r\n $scope.ListKecamatanDomicile = [];\r\n $scope.ListKecamatanAll = [];\r\n $scope.ListKelurahan = [];\r\n $scope.ListKelurahanDomicile = [];\r\n\r\n $scope.checkIDCardNumber = function () {\r\n\r\n if ($scope.CIFInvestor.IDCardNumber.length < 16) {\r\n $scope.IDCardOK = false;\r\n $scope.myForm1.$valid = false;\r\n return;\r\n }\r\n\r\n // check duplicate ktp\r\n if ($scope.CIFInvestor.IDCardNumber) {\r\n \r\n MpcLoader.start();\r\n\r\n appFactory.getData(`/service/client.svc/checkIDCardNumber?KTP=${$scope.CIFInvestor.IDCardNumber}`).then(function (data) {\r\n\r\n if (data.status == 200) {\r\n\r\n if (data.data.d != null) {\r\n\r\n var obj = data.data.d;\r\n if (obj.key && obj.key == 1) {\r\n\r\n $scope.myForm1.$valid = false;\r\n $scope.IDCardOK = false;\r\n $scope.myForm1.txtNoIDCard.$invalid = true;\r\n\r\n var SWALtranslate = $scope.SWALtranslate(obj.value);\r\n Swal.fire(SWALtranslate.message, SWALtranslate.title, \"error\");\r\n } else {\r\n $scope.IDCardOK = true;\r\n $scope.myForm1.txtNoIDCard.$invalid = false;\r\n }\r\n }\r\n }\r\n\r\n MpcLoader.stop();\r\n });\r\n }\r\n }\r\n\r\n $scope.KewarganegaraanChange = function () {\r\n\r\n if ($scope.Kewarganegaraan == 'WNI / Indonesian') {\r\n\r\n $scope.IDLength = 16;\r\n $scope.chkSeumurHidup = true;\r\n $scope.DisabledSeumurHidup = true;\r\n $scope.CIFInvestor.Nationality = 102;\r\n $scope.CIFInvestor.IDCardCountry = 102;\r\n $scope.CIFInvestor.CopyID = true;\r\n $scope.CIFInvestor.IDCardExpireDate = new Date(9998, 11, 31);\r\n }\r\n else if ($scope.Kewarganegaraan == 'Lainnya / Others') {\r\n\r\n $scope.IDLength = 8;\r\n $scope.chkSeumurHidup = false;\r\n $scope.DisabledSeumurHidup = true;\r\n $scope.CIFInvestor.Nationality = 0;\r\n $scope.CIFInvestor.IDCardCountry = 0;\r\n $scope.CIFInvestor.CopyID = false;\r\n $scope.CIFInvestor.IDCardExpireDate = '';\r\n $scope.CIFInvestor.IDCardCity = 0;\r\n $scope.CIFInvestor.IDCardKecamatan = '';\r\n $scope.CIFInvestor.IDCardKelurahan = '';\r\n $scope.CIFInvestor.IDCardRT = '';\r\n $scope.CIFInvestor.IDCardRW = '';\r\n $scope.CIFInvestor.IDCardAddress = '';\r\n $scope.IDCardCitySelected = '';\r\n }\r\n }\r\n\r\n $scope.selectNationality = function (item, model, label, event) {\r\n if (item.CIFCountryNID) {\r\n\r\n $scope.CIFInvestor.Nationality = item.CIFCountryNID;\r\n $scope.CIFInvestor.IDCardCountry = item.CIFCountryNID;\r\n $scope.NationalitySelected = item;\r\n $scope.IDCardCountrySelected = item;\r\n }\r\n };\r\n\r\n $scope.selectIDCardCountry = function (item, model, label, event) {\r\n if (item.CIFCountryNID) \r\n $scope.CIFInvestor.IDCardCountry = item.CIFCountryNID;\r\n \r\n };\r\n\r\n $scope.selectIDCardCity = function (item, model, label, event) {\r\n $scope.ListKecamatan = '';\r\n $scope.ListKelurahan = '';\r\n\r\n if (item.CIFProvinceCityNID) {\r\n\r\n $scope.CIFInvestor.IDCardCity = item.CIFProvinceCityNID;\r\n\r\n appFactory.getData(`/service/client.svc/GetCIFKecamatanByCityNID?CIFCityNID=${item.CIFProvinceCityNID}`).then(function (data) {\r\n\r\n if (data.status == 200) {\r\n\r\n $scope.ListKecamatan = data.data.d;\r\n $scope.kecamatanChange();\r\n }\r\n });\r\n }\r\n\r\n };\r\n\r\n $scope.selectDomicileCity = function (item, model, label, event) {\r\n $scope.ListKecamatanDomicile = '';\r\n $scope.ListKelurahanDomicile = '';\r\n\r\n if (item.CIFProvinceCityNID) {\r\n $scope.CIFInvestor.DomicileCity = item.CIFProvinceCityNID;\r\n\r\n appFactory.getData(`/service/client.svc/GetCIFKecamatanByCityNID?CIFCityNID=${item.CIFProvinceCityNID}`).then(function (data) {\r\n\r\n if (data.status == 200) {\r\n\r\n $scope.ListKecamatanDomicile = data.data.d;\r\n $scope.kecamatanChange();\r\n }\r\n });\r\n }\r\n };\r\n\r\n $scope.kecamatanChange = function () {\r\n\r\n if ($scope.CIFInvestor.IDCardKecamatan) \r\n $scope.ListKelurahan = $filter('filter')($scope.ListKecamatan, { Kecamatan: $scope.CIFInvestor.IDCardKecamatan }, true);\r\n }\r\n\r\n $scope.kelurahanChange = function () {\r\n\r\n if ($scope.CIFInvestor.IDCardKelurahan) {\r\n\r\n let temp = $filter('filter')($scope.ListKecamatan, { Kelurahan: $scope.CIFInvestor.IDCardKelurahan }, true);\r\n if (temp)\r\n $scope.CIFInvestor.IDCardPostalCode = temp[0].PostalCode;\r\n \r\n }\r\n }\r\n\r\n $scope.kecamatanDomicileChange = function () {\r\n if ($scope.CIFInvestor.DomicileKecamatan)\r\n $scope.ListKelurahanDomicile = $filter('filter')($scope.ListKecamatanDomicile, { Kecamatan: $scope.CIFInvestor.DomicileKecamatan }, true);\r\n }\r\n\r\n $scope.kelurahanDomicileChange = function () {\r\n if ($scope.CIFInvestor.DomicileKelurahan) {\r\n let temp = $filter('filter')($scope.ListKecamatanDomicile, { Kelurahan: $scope.CIFInvestor.DomicileKelurahan }, true);\r\n if (temp) \r\n $scope.CIFInvestor.DomicilePostalCode = temp[0].PostalCode;\r\n }\r\n }\r\n\r\n $scope.CopyFromID = function () {\r\n if ($scope.CIFInvestor.CopyID) {\r\n\r\n $scope.CIFInvestor.DomicilePostalCode = $scope.CIFInvestor.IDCardPostalCode;\r\n $scope.CIFInvestor.DomicileAddress = $scope.CIFInvestor.IDCardAddress;\r\n $scope.CIFInvestor.DomicileRT = $scope.CIFInvestor.IDCardRT;\r\n $scope.CIFInvestor.DomicileRW = $scope.CIFInvestor.IDCardRW;\r\n $scope.CIFInvestor.DomicileKelurahan = $scope.CIFInvestor.IDCardKelurahan;\r\n $scope.CIFInvestor.DomicileKecamatan = $scope.CIFInvestor.IDCardKecamatan;\r\n $scope.CIFInvestor.DomicileCity = $scope.CIFInvestor.IDCardCity;\r\n $scope.DomicileCitySelected = $scope.IDCardCitySelected;\r\n } else {\r\n\r\n $scope.CIFInvestor.DomicilePostalCode = '';\r\n $scope.CIFInvestor.DomicileAddress = '';\r\n $scope.CIFInvestor.DomicileRT = '';\r\n $scope.CIFInvestor.DomicileRW = '';\r\n $scope.CIFInvestor.DomicileKelurahan = '';\r\n $scope.CIFInvestor.DomicileKecamatan = '';\r\n $scope.CIFInvestor.DomicileCity = 0;\r\n $scope.DomicileCitySelected = '';\r\n }\r\n };\r\n\r\n $scope.mustSelect = function (event, field) {\r\n\r\n if (event.keyCode == 27) {\r\n\r\n let returnValue = true;\r\n switch (field) {\r\n\r\n case 'IDCard': $scope.CIFInvestor.IDCardCity = ''; returnValue = false;\r\n break;\r\n case 'Domicile': $scope.CIFInvestor.DomicileCity = ''; returnValue = false;\r\n break;\r\n case 'Correspondence': $scope.CIFInvestor.CorrespondenceCity = ''; returnValue = false;\r\n break;\r\n default:\r\n break;\r\n }\r\n return returnValue;\r\n }\r\n return true;\r\n }\r\n\r\n var allPromise = $q.all([\r\n\r\n $scope.checkSession(),\r\n\r\n appFactory.getData(`/service/client.svc/GetCIFCountry`).then(function (data) {\r\n\r\n if (data.status == 200) {\r\n\r\n $scope.ListNationality = data.data.d;\r\n }\r\n }),\r\n\r\n appFactory.getData(`/service/client.svc/GetCIFCountryAll`).then(function (data) {\r\n\r\n if (data.status == 200) {\r\n\r\n $scope.ListCountry = data.data.d;\r\n }\r\n }),\r\n\r\n appFactory.getData(`/service/client.svc/GetCIFProvinceCity`).then(function (data) {\r\n\r\n if (data.status == 200) {\r\n\r\n $scope.ListProvinceCity = data.data.d;\r\n }\r\n }),\r\n\r\n appFactory.getData(`/service/client.svc/GetCIFLookup`).then(function (data) {\r\n\r\n if (data.status == 200) {\r\n\r\n $scope.ListLookup = data.data.d;\r\n if ($scope.ListLookup) {\r\n\r\n $scope.ListReligion = $filter('filter')($scope.ListLookup, { CIFLookupID: 'Religion' }, true);\r\n $scope.ListMarital = $filter('filter')($scope.ListLookup, { CIFLookupID: 'MaritalStatus' }, true);\r\n $scope.ListEducation = $filter('filter')($scope.ListLookup, { CIFLookupID: 'Educational' }, true);\r\n }\r\n }\r\n })\r\n ]);\r\n\r\n allPromise.then(function () {\r\n\r\n // stage: is rejected\r\n if ($rootScope.currentUser) {\r\n\r\n if ($rootScope.currentUser.IsRejected == 1 || $rootScope.currentUser.IsFinished == 1) {\r\n return;\r\n }\r\n }\r\n\r\n appFactory.getData(`/service/client.svc/getCIF`).then(function (data) {\r\n\r\n if (data.status == 200) {\r\n\r\n if (data.data.d.Email != null) {\r\n\r\n var obj = data.data.d;\r\n $scope.CIFInvestor = data.data.d;\r\n $scope.CIFInvestor.Stage = 1;\r\n\r\n if ($scope.CIFInvestor.Sex == 0)\r\n $scope.CIFInvestor.Sex = '';\r\n\r\n if ($scope.CIFInvestor.Religion == 0)\r\n $scope.CIFInvestor.Religion = '';\r\n\r\n if ($scope.CIFInvestor.MaritalStatus == 0)\r\n $scope.CIFInvestor.MaritalStatus = '';\r\n\r\n if ($scope.CIFInvestor.Education == 0)\r\n $scope.CIFInvestor.Education = '';\r\n\r\n if (data.data.d.BirthDate)\r\n $scope.CIFInvestor.BirthDate = new Date(data.data.d.BirthDate);\r\n\r\n if (data.data.d.IDCardCity) {\r\n\r\n $scope.IDCardCitySelected = $filter('filter')($scope.ListProvinceCity, { CIFProvinceCityNID: data.data.d.IDCardCity }, true)[0];\r\n\r\n appFactory.getData(`/service/client.svc/GetCIFKecamatanByCityNID?CIFCityNID=${data.data.d.IDCardCity}`).then(function (data) {\r\n\r\n if (data.status == 200) {\r\n\r\n $scope.ListKecamatan = data.data.d;\r\n if ($scope.ListKecamatan)\r\n $scope.ListKelurahan = $filter('filter')($scope.ListKecamatan, { Kecamatan: $scope.CIFInvestor.IDCardKecamatan }, true);\r\n }\r\n })\r\n }\r\n\r\n if (data.data.d.DomicileCity) {\r\n\r\n $scope.DomicileCitySelected = $filter('filter')($scope.ListProvinceCity, { CIFProvinceCityNID: data.data.d.DomicileCity }, true)[0];\r\n\r\n appFactory.getData(`/service/client.svc/GetCIFKecamatanByCityNID?CIFCityNID=${data.data.d.DomicileCity}`).then(function (data) {\r\n\r\n if (data.status == 200) {\r\n\r\n $scope.ListKecamatanDomicile = data.data.d;\r\n if ($scope.ListKecamatanDomicile)\r\n $scope.ListKelurahanDomicile = $filter('filter')($scope.ListKecamatanDomicile, { Kecamatan: $scope.CIFInvestor.DomicileKecamatan }, true);\r\n }\r\n });\r\n }\r\n\r\n if (data.data.d.Nationality) {\r\n\r\n if (data.data.d.Nationality == 102) {\r\n\r\n $scope.IDLength = 16;\r\n $scope.chkSeumurHidup = true;\r\n $scope.DisabledSeumurHidup = true;\r\n $scope.CIFInvestor.Nationality = 102;\r\n $scope.CIFInvestor.IDCardCountry = 102;\r\n $scope.Kewarganegaraan = $scope.KewarganegaraanOption[0];\r\n $scope.CIFInvestor.IDCardExpireDate = new Date(9998, 11, 31);\r\n } else {\r\n\r\n $scope.IDLength = 8;\r\n $scope.chkSeumurHidup = false;\r\n $scope.DisabledSeumurHidup = true;\r\n $scope.Kewarganegaraan = $scope.KewarganegaraanOption[1];\r\n $scope.NationalitySelected = $filter('filter')($scope.ListNationality, { CIFCountryNID: data.data.d.Nationality }, true)[0];\r\n $scope.IDCardCountrySelected = $filter('filter')($scope.ListCountry, { CIFCountryNID: data.data.d.IDCardCountry }, true)[0];\r\n\r\n if (data.data.d.IDCardExpireDate)\r\n $scope.CIFInvestor.IDCardExpireDate = new Date(data.data.d.IDCardExpireDate);\r\n }\r\n } else {\r\n $scope.KewarganegaraanChange();\r\n }\r\n\r\n if (data.data.d.CopyID)\r\n $scope.CopyFromID();\r\n\r\n var SWALtranslate = $scope.SWALtranslate('preparationinfouploadphotocif1');\r\n\r\n Swal.fire({\r\n title: SWALtranslate.title,\r\n html: SWALtranslate.message,\r\n imageUrl: 'img/guidance/preparefile.png',\r\n imageAlt: 'Preparation',\r\n imageHeight: 250,\r\n animation: false\r\n });\r\n\r\n MpcLoader.stop();\r\n }\r\n }\r\n });\r\n });\r\n\r\n $scope.prepareData = function () {\r\n\r\n if ($scope.CIFInvestor.CopyID) {\r\n\r\n $scope.CIFInvestor.DomicilePostalCode = $scope.CIFInvestor.IDCardPostalCode;\r\n $scope.CIFInvestor.DomicileAddress = $scope.CIFInvestor.IDCardAddress;\r\n $scope.CIFInvestor.DomicileRT = $scope.CIFInvestor.IDCardRT;\r\n $scope.CIFInvestor.DomicileRW = $scope.CIFInvestor.IDCardRW;\r\n $scope.CIFInvestor.DomicileKelurahan = $scope.CIFInvestor.IDCardKelurahan;\r\n $scope.CIFInvestor.DomicileKecamatan = $scope.CIFInvestor.IDCardKecamatan;\r\n $scope.CIFInvestor.DomicileCity = $scope.CIFInvestor.IDCardCity;\r\n $scope.DomicileCitySelected = $scope.IDCardCitySelected;\r\n }\r\n\r\n if ($scope.CIFInvestor.AccountStatus)\r\n $scope.CIFInvestor.AccountStatus = Number($scope.CIFInvestor.AccountStatus);\r\n\r\n //if ($scope.CIFInvestor.Sex)\r\n // $scope.CIFInvestor.Sex = Number($scope.CIFInvestor.Sex);\r\n\r\n //if ($scope.CIFInvestor.Religion)\r\n // $scope.CIFInvestor.Religion = Number($scope.CIFInvestor.Religion);\r\n\r\n //if ($scope.CIFInvestor.MaritalStatus)\r\n // $scope.CIFInvestor.MaritalStatus = Number($scope.CIFInvestor.MaritalStatus);\r\n\r\n //if ($scope.CIFInvestor.Education)\r\n // $scope.CIFInvestor.Education = Number($scope.CIFInvestor.Education);\r\n\r\n if ($scope.CIFInvestor.Nationality)\r\n $scope.CIFInvestor.Nationality = Number($scope.CIFInvestor.Nationality);\r\n\r\n if ($scope.CIFInvestor.IDCardCountry)\r\n $scope.CIFInvestor.IDCardCountry = Number($scope.CIFInvestor.IDCardCountry);\r\n\r\n if ($scope.CIFInvestor.IDCardCity)\r\n $scope.CIFInvestor.IDCardCity = Number($scope.CIFInvestor.IDCardCity);\r\n\r\n if ($scope.CIFInvestor.DomicileCity)\r\n $scope.CIFInvestor.DomicileCity = Number($scope.CIFInvestor.DomicileCity);\r\n\r\n if ($scope.CIFInvestor.Education != 1)\r\n $scope.CIFInvestor.EducationText = '';\r\n\r\n var language;\r\n if (window.navigator.languages) {\r\n\r\n language = window.navigator.languages[0];\r\n } else {\r\n\r\n language = window.navigator.userLanguage || window.navigator.language;\r\n }\r\n\r\n $scope.CIFInvestor.Language = language;\r\n\r\n if ($scope.CIFInvestor.BirthDate) {\r\n \r\n //$scope.CIFInvestor.ClientBirthDate1 = $scope.CIFInvestor.BirthDate.toLocaleDateString('en-US');\r\n //$scope.CIFInvestor.ClientBirthDate2 = $scope.CIFInvestor.BirthDate;\r\n //$scope.CIFInvestor.ClientBirthDate3 = date1;\r\n\r\n $scope.CIFInvestor.BirthDate = moment($scope.CIFInvestor.BirthDate).format('YYYY-MM-DD');\r\n $scope.CIFInvestor.ClientBirthDate1 = moment($scope.CIFInvestor.BirthDate).format('YYYY-MM-DD');\r\n $scope.CIFInvestor.ClientBirthDate2 = moment($scope.CIFInvestor.BirthDate).format('YYYY-MM-DD');\r\n $scope.CIFInvestor.ClientBirthDate3 = moment($scope.CIFInvestor.BirthDate).format('YYYY-MM-DD');\r\n }\r\n\r\n $scope.CIFInvestor.CurrentStep = 1;\r\n }\r\n\r\n $scope.submit = function () {\r\n $scope.prepareData();\r\n\r\n // dynamic sweet alert post to app.js\r\n // 1: set the url of post or get request\r\n // 2: set the sweet alert translation, refers to apps.js $scope.SWALtranslate() :preconfirm = confirmation dialog before post or get request\r\n // 3: set the postdata to $http request = GET : {} / POST { yourdata : data }\r\n // 4: set the method to $http request = \"GET\" / \"POST\"\r\n // 5: set the sweet alert translation, refers to apps.js $scope.SWALtranslate() :preconfirm = confirmation dialog before post or get request\r\n // 6: if success or no error returns then...\r\n var urlsvc = '/service/client.svc/SaveCIF'; // 1 \r\n var preconfirmtranslate = \"submitCif1\"; // 2\r\n var postData = { cifdata: $scope.CIFInvestor } // 3\r\n var method = \"POST\" // 4\r\n $scope.PostGetSwal(preconfirmtranslate, urlsvc, postData, method, function (data) {\r\n\r\n // if session is expired, relogin ...\r\n if (data.message == \"sessionexpired\") {\r\n \r\n $scope.signOut();\r\n }\r\n\r\n if (data.result) // 6\r\n $window.location.href = \"#/cif/data-pekerjaan\";\r\n \r\n });\r\n }\r\n}]);\r\n\r\n","app.controller('CIF2-CTRL', ['$scope', '$rootScope', '$http', '$window', '$q', '$filter', 'appFactory',\r\n function ($scope,$rootScope,$http, $window, $q, $filter, appFactory) {\r\n\r\n $scope.listBankRDN = ['BCA (Online)', 'MANDIRI (Offline)', 'CIMB (Offline)', 'MAYAPADA (Offline)'];\r\n $scope.rdnbca = $scope.listBankRDN[0];\r\n $scope.bankRDN = '';\r\n $scope.PhoneCode = '+62';\r\n $scope.CIFInvestor = {}\r\n $scope.bankpribadi = '';\r\n $scope.NPWPLenght = 16;\r\n $scope.disabledNPWPNumber = false;\r\n\r\n $scope.OPBBCA = {\r\n occupation: '',\r\n occupationText: '',\r\n position: '',\r\n positionText: '',\r\n business: '',\r\n businessText: ''\r\n }\r\n\r\n $scope.OPBOTHER = {\r\n occupation: '',\r\n occupationText: '',\r\n position: '',\r\n positionText: '',\r\n business: '',\r\n businessText: ''\r\n }\r\n\r\n $scope.OPSPOUSE = {\r\n occupation: '',\r\n occupationText: '',\r\n position: '',\r\n business: '',\r\n }\r\n\r\n $scope.IDCardCitySelected = '';\r\n $scope.ListKecamatan = [];\r\n $scope.ListKelurahan = [];\r\n\r\n $scope.NationalitySelected = '';\r\n $scope.ListNationality = [];\r\n\r\n $scope.chkSeumurHidup = true;\r\n $scope.DisabledSeumurHidup = true;\r\n $scope.CIFInvestor.CIFInvestorBeneficiaryOwnerIDCardExpiredDate = new Date(9998, 11, 31);\r\n\r\n $scope.disableBank = true;\r\n $scope.disableCIFInvestorQuestionRDN = false;\r\n\r\n $scope.selectedFundSource = [];\r\n $scope.selectedSpouseFundSource = [];\r\n\r\n $scope.ListBank = {};\r\n $scope.listpekerjaan_BCA = {};\r\n $scope.listjabatan_BCA = {};\r\n $scope.listusaha_BCA = {};\r\n $scope.ListLookup = [];\r\n $scope.ListOccupation = [];\r\n $scope.ListSpouseIncome = [];\r\n\r\n $scope.CompanyCitySelected = '';\r\n $scope.SpouseCompanyCitySelected = '';\r\n $scope.CompanyCityBOSelected = '';\r\n $scope.ListKecamatanCompanyBO = [];\r\n $scope.ListKelurahanCompanyBO = [];\r\n $scope.selectedFundSourceBO = [];\r\n //$scope.mustSelect = function (event, field) {\r\n\r\n // if (event.keyCode == 27) {\r\n\r\n // $scope.CIFInvestor.DomicileCity = '';\r\n // return false;\r\n // }\r\n // return true;\r\n //}\r\n\r\n $scope.mustSelect = function (event, field) {\r\n if (event.keyCode == 27) {\r\n let returnValue = true;\r\n switch (field) {\r\n case 'IDCard': $scope.CIFInvestor.CIFInvestorBeneficiaryOwnerCity = ''; returnValue = false;\r\n break;\r\n case 'SpouseCompanyCity': $scope.CIFInvestor.SpouseCompanyCity = ''; returnValue = false;\r\n break;\r\n case 'CompanyCity': $scope.CIFInvestor.CompanyCity = ''; returnValue = false;\r\n break;\r\n case 'CompanyBO': $scope.CIFInvestor.CIFInvestorBeneficiaryOwnerCompanyCity = ''; returnValue = false;\r\n break;\r\n default:\r\n break;\r\n }\r\n return returnValue;\r\n }\r\n return true;\r\n }\r\n\r\n $scope.selectCity = function (item, model, label, event) {\r\n\r\n if (item.CIFProvinceCityNID) {\r\n\r\n $scope.CIFInvestor.SpouseCompanyCity = item.CIFProvinceCityNID;\r\n $scope.CIFInvestor.CompanyCity = item.CIFProvinceCityNID;\r\n }\r\n };\r\n\r\n $scope.selectIDCardCity = function (item, model, label, event) {\r\n $scope.ListKecamatan = '';\r\n $scope.ListKelurahan = '';\r\n\r\n if (item.CIFProvinceCityNID) {\r\n $scope.CIFInvestor.CIFInvestorBeneficiaryOwnerCity = item.CIFProvinceCityNID;\r\n appFactory.getData(`/service/client.svc/GetCIFKecamatanByCityNID?CIFCityNID=${item.CIFProvinceCityNID}`).then(function (data) {\r\n\r\n if (data.status == 200) {\r\n\r\n $scope.ListKecamatan = data.data.d;\r\n $scope.kecamatanChange();\r\n }\r\n });\r\n }\r\n\r\n };\r\n\r\n\r\n $scope.kecamatanChange = function () {\r\n if ($scope.CIFInvestor.CIFInvestorBeneficiaryOwnerKecamatan) {\r\n $scope.ListKelurahan = $filter('filter')($scope.ListKecamatan, { Kecamatan: $scope.CIFInvestor.CIFInvestorBeneficiaryOwnerKecamatan }, true);\r\n }\r\n }\r\n\r\n $scope.kelurahanChange = function () {\r\n if ($scope.CIFInvestor.CIFInvestorBeneficiaryOwnerKelurahan) {\r\n let temp = $filter('filter')($scope.ListKecamatan, { Kelurahan: $scope.CIFInvestor.CIFInvestorBeneficiaryOwnerKelurahan }, true);\r\n if (temp) {\r\n $scope.CIFInvestor.CIFInvestorBeneficiaryOwnerPostalCode = temp[0].PostalCode;\r\n }\r\n }\r\n }\r\n\r\n $scope.selectCompanyCityBO = function (item, model, label, event) {\r\n $scope.ListKecamatanCompanyBO = '';\r\n $scope.ListKelurahanCompanyBO = '';\r\n\r\n if (item.CIFProvinceCityNID) {\r\n $scope.CIFInvestor.CIFInvestorBeneficiaryOwnerCompanyCity = item.CIFProvinceCityNID;\r\n appFactory.getData(`/service/client.svc/GetCIFKecamatanByCityNID?CIFCityNID=${item.CIFProvinceCityNID}`).then(function (data) {\r\n\r\n if (data.status == 200) {\r\n\r\n $scope.ListKecamatanCompanyBO = data.data.d;\r\n $scope.kecamatanChangeCompanyCityBO();\r\n }\r\n });\r\n }\r\n\r\n };\r\n\r\n $scope.kecamatanChangeCompanyCityBO = function () {\r\n if ($scope.CIFInvestor.CIFInvestorBeneficiaryOwnerCompanyAddress2) {\r\n $scope.ListKelurahanCompanyBO = $filter('filter')($scope.ListKecamatanCompanyBO, { Kecamatan: $scope.CIFInvestor.CIFInvestorBeneficiaryOwnerCompanyAddress2 }, true);\r\n }\r\n }\r\n\r\n $scope.kelurahanChangeCompanyCityBO = function () {\r\n if ($scope.CIFInvestor.CIFInvestorBeneficiaryOwnerCompanyAddress3) {\r\n let temp = $filter('filter')($scope.ListKecamatanCompanyBO, { Kelurahan: $scope.CIFInvestor.CIFInvestorBeneficiaryOwnerCompanyAddress3 }, true);\r\n if (temp) {\r\n $scope.CIFInvestor.CIFInvestorBeneficiaryOwnerCompanyPostalCode = temp[0].PostalCode;\r\n }\r\n }\r\n }\r\n\r\n $scope.questionRDNchange = function () {\r\n\r\n $scope.OPBBCA.occupation = '';\r\n $scope.OPBBCA.occupationText = '';\r\n $scope.OPBBCA.position = '';\r\n $scope.OPBBCA.positionText = '';\r\n $scope.OPBBCA.business = '';\r\n $scope.OPBBCA.businessText = '';\r\n\r\n $scope.OPBOTHER.occupation = '';\r\n $scope.OPBOTHER.occupationText = '';\r\n $scope.OPBOTHER.position = '';\r\n $scope.OPBOTHER.positionText = '';\r\n $scope.OPBOTHER.business = '';\r\n $scope.OPBOTHER.businessText = '';\r\n\r\n $scope.CIFInvestor.BankName = \"\";\r\n $scope.disableBank = false;\r\n\r\n if ($scope.CIFInvestor.QuestionRDN == '1' || $scope.CIFInvestor.QuestionRDN == 1) {\r\n\r\n $scope.bankpribadi = \"BANK CENTRAL ASIA\";\r\n $scope.disableBank = true;\r\n }\r\n };\r\n\r\n $scope.changeSpouseMandatory = function (param) {\r\n\r\n if (param) {\r\n\r\n $scope.spouseMandatory = true;\r\n } else {\r\n let flag = false;\r\n\r\n if ($scope.OPBBCA) {\r\n\r\n if ($scope.OPBBCA.occupation.key == 1 || $scope.OPBBCA.occupation.key == 2) {\r\n\r\n flag = true;\r\n $scope.spouseMandatory2 = true;\r\n $scope.spouseMandatory1 = false\r\n }\r\n }\r\n\r\n if ($scope.OPBOTHER) {\r\n\r\n if ($scope.OPBOTHER.CIFLookupInteger == 4 || $scope.OPBOTHER.CIFLookupInteger == 6) {\r\n\r\n flag = true;\r\n $scope.spouseMandatory2 = true;\r\n $scope.spouseMandatory1 = false;\r\n }\r\n\r\n }\r\n\r\n if ($scope.selectedFundSource.indexOf(7) > -1) {\r\n\r\n flag = true;\r\n $scope.spouseMandatory2 = true;\r\n $scope.spouseMandatory1 = false;\r\n }\r\n\r\n if ($scope.selectedFundSource.indexOf(6) > -1) {\r\n\r\n flag = true;\r\n $scope.spouseMandatory1 = true;\r\n $scope.spouseMandatory2 = false;\r\n }\r\n\r\n if (!flag) {\r\n\r\n $scope.CIFInvestor.SpouseCompanyName = '';\r\n $scope.CIFInvestor.SpouseIncomePerAnnum = '';\r\n $scope.CIFInvestor.SpouseOccupation = '';\r\n $scope.CIFInvestor.SpousePosition = '';\r\n $scope.CIFInvestor.SpouseNatureOfBusiness = '';\r\n $scope.CIFInvestor.SpouseCompanyCity = '';\r\n $scope.CIFInvestor.SpouseCompanyPostalCode = '';\r\n $scope.CIFInvestor.SpouseCompanyAddress = '';\r\n $scope.CIFInvestor.SpouseFundSource = '';\r\n\r\n $scope.SpouseCompanyCitySelected = '';\r\n $scope.selectedSpouseFundSource = [];\r\n\r\n $scope.OPSPOUSE.occupation = '';\r\n $scope.OPSPOUSE.occupationText = '';\r\n $scope.OPSPOUSE.position = '';\r\n $scope.OPSPOUSE.business = '';\r\n }\r\n\r\n $scope.spouseMandatory = flag;\r\n }\r\n }\r\n\r\n $scope.updateNPWP = function () {\r\n\r\n if ($scope.CIFInvestor.NPWPNumber) {\r\n\r\n if (+$scope.QuestionNPWP == 1) {\r\n\r\n $scope.CIFInvestor.NPWPNumber;\r\n } else {\r\n\r\n $scope.CIFInvestor.NPWPReason;\r\n $scope.CIFInvestor.NPWPNumber = '';\r\n }\r\n }\r\n };\r\n\r\n $scope.NPWPNumber = function () {\r\n if ($scope.CIFInvestor.QuestionNPWP == 1) {\r\n $scope.CIFInvestor.NPWPNumber = $scope.CIFInvestor.IDCardNumber\r\n $scope.disabledNPWPNumber = true;\r\n }\r\n };\r\n\r\n $scope.occupationChange_BCA = function () {\r\n\r\n if ($scope.OPBBCA.occupation) {\r\n\r\n $scope.OPBBCA.occupationText = '';\r\n $scope.OPBBCA.position = 0;\r\n $scope.OPBBCA.positionText = '';\r\n $scope.OPBBCA.business = 0;\r\n $scope.OPBBCA.businessText = '';\r\n\r\n if ($scope.OPBBCA.occupation.key == 1 || $scope.OPBBCA.occupation.key == 2)\r\n $scope.changeSpouseMandatory(true);\r\n else\r\n $scope.changeSpouseMandatory();\r\n\r\n appFactory.getData(`/service/client.svc/GetJabatan?Pekerjaan=${$scope.OPBBCA.occupation.key}`).then(function (data) {\r\n\r\n if (data.status == 200) {\r\n\r\n $scope.listjabatan_BCA = data.data.d;\r\n\r\n if ($scope.listjabatan_BCA.length) {\r\n $scope.OPBBCA.positionText = '';\r\n $scope.OPBBCA.position = $scope.listjabatan_BCA[0];\r\n\r\n $scope.positionChange_BCA();\r\n }\r\n }\r\n });\r\n }\r\n };\r\n\r\n $scope.positionChange_BCA = function () {\r\n\r\n appFactory.getData(`/service/client.svc/GetBidangUsaha?Jabatan=${$scope.OPBBCA.position.key}&Pekerjaan=${$scope.OPBBCA.occupation.key}`).then(function (data) {\r\n\r\n if (data.status == 200) {\r\n\r\n $scope.listusaha_BCA = data.data.d;\r\n\r\n if ($scope.listusaha_BCA.length) {\r\n\r\n $scope.OPBBCA.businessText = '';\r\n $scope.OPBBCA.business = $scope.listusaha_BCA[0];\r\n }\r\n }\r\n });\r\n };\r\n\r\n $scope.occupationChange_OTHER = function () {\r\n\r\n if ($scope.OPBOTHER.occupation) {\r\n\r\n $scope.OPBOTHER.occupationText = '';\r\n $scope.OPBOTHER.position = '';\r\n $scope.OPBOTHER.positionText = '';\r\n $scope.OPBOTHER.business = '';\r\n $scope.OPBOTHER.businessText = '';\r\n\r\n if ($scope.OPBOTHER.occupation == '4' || $scope.OPBOTHER.occupation == '6')\r\n $scope.changeSpouseMandatory(true);\r\n else\r\n $scope.changeSpouseMandatory();\r\n }\r\n }\r\n\r\n $scope.toggleFundSourceItem = function (fundsource) {\r\n\r\n let indexCIFLookupInteger = $scope.selectedFundSource.indexOf(fundsource.CIFLookupInteger);\r\n\r\n if (indexCIFLookupInteger > -1)\r\n $scope.selectedFundSource.splice(indexCIFLookupInteger, 1);\r\n else\r\n $scope.selectedFundSource.push(fundsource.CIFLookupInteger);\r\n\r\n if ($scope.selectedFundSource.indexOf(1) < 0)\r\n $scope.CIFInvestor.FundSourceText = '';\r\n\r\n $scope.changeSpouseMandatory();\r\n }\r\n\r\n $scope.toggleSpouseFundSourceItem = function (fundsource) {\r\n\r\n $scope.CIFInvestor.SpouseFundSource = '';\r\n let indexCIFLookupInteger = $scope.selectedSpouseFundSource.indexOf(fundsource.CIFLookupInteger);\r\n\r\n if (indexCIFLookupInteger > -1)\r\n $scope.selectedSpouseFundSource.splice(indexCIFLookupInteger, 1);\r\n else\r\n $scope.selectedSpouseFundSource.push(fundsource.CIFLookupInteger);\r\n\r\n if ($scope.selectedSpouseFundSource.indexOf(1) < 0)\r\n $scope.CIFInvestor.SpouseFundSourceText = '';\r\n }\r\n\r\n $scope.toggleFundSourceBOItem = function (fundsource) {\r\n\r\n let indexCIFLookupInteger = $scope.selectedFundSourceBO.indexOf(fundsource.CIFLookupInteger);\r\n\r\n if (indexCIFLookupInteger > -1)\r\n $scope.selectedFundSourceBO.splice(indexCIFLookupInteger, 1);\r\n else\r\n $scope.selectedFundSourceBO.push(fundsource.CIFLookupInteger);\r\n\r\n if ($scope.selectedFundSourceBO.indexOf(1) < 0)\r\n $scope.CIFInvestor.CIFInvestorBeneficiaryOwnerFundSourceText = '';\r\n\r\n $scope.changeSpouseMandatory();\r\n }\r\n $scope.prepareData = function () {\r\n\r\n if ($scope.CIFInvestor.QuestionRDN == '1' || $scope.CIFInvestor.QuestionRDN == 1) {\r\n\r\n $scope.CIFInvestor.BankName = $scope.bankpribadi;\r\n $scope.CIFInvestor.Occupation = $scope.OPBBCA.occupation.key;\r\n $scope.CIFInvestor.OccupationText = $scope.OPBBCA.occupationText;\r\n $scope.CIFInvestor.Position = $scope.OPBBCA.position.key;\r\n $scope.CIFInvestor.PositionText = $scope.OPBBCA.positionText;\r\n $scope.CIFInvestor.NatureOfBusiness = $scope.OPBBCA.business.key;\r\n $scope.CIFInvestor.NatureOfBusinessText = $scope.OPBBCA.businessText;\r\n } else {\r\n\r\n $scope.CIFInvestor.Occupation = Number($scope.OPBOTHER.occupation);\r\n $scope.CIFInvestor.BankName = $scope.bankpribadi;\r\n $scope.CIFInvestor.OccupationText = $scope.OPBOTHER.occupationText;\r\n $scope.CIFInvestor.Position = 0;\r\n $scope.CIFInvestor.NatureOfBusiness = 0;\r\n\r\n if ($scope.OPBOTHER.occupation == '4') {\r\n\r\n $scope.CIFInvestor.PositionText = '';\r\n $scope.CIFInvestor.NatureOfBusinessText = '';\r\n } else {\r\n\r\n $scope.CIFInvestor.PositionText = $scope.OPBOTHER.positionText;\r\n $scope.CIFInvestor.NatureOfBusiness = 0;\r\n $scope.CIFInvestor.NatureOfBusinessText = $scope.OPBOTHER.businessText;\r\n }\r\n }\r\n\r\n if ($scope.spouseMandatory) {\r\n\r\n $scope.CIFInvestor.SpouseOccupation = Number($scope.OPSPOUSE.occupation);\r\n $scope.CIFInvestor.SpouseOccupationText = $scope.SpouseOccupationText;\r\n $scope.CIFInvestor.SpousePosition = $scope.OPSPOUSE.position;\r\n $scope.CIFInvestor.SpouseNatureOfBusiness = ($scope.OPSPOUSE.business);\r\n //$scope.CIFInvestor.SpouseCompanyCity = Number($scope.SpouseCompanyCitySelected);\r\n } else {\r\n\r\n $scope.CIFInvestor.SpouseIncomePerAnnum = 0;\r\n $scope.CIFInvestor.SpouseOccupation = 0;\r\n $scope.CIFInvestor.SpouseCompanyCity = 0;\r\n }\r\n\r\n if ($scope.selectedFundSource) {\r\n\r\n $scope.CIFInvestor.FundSource = '';\r\n\r\n for (var i = 0; i < $scope.selectedFundSource.length; i++) {\r\n\r\n if ($scope.CIFInvestor.FundSource.length > 0)\r\n $scope.CIFInvestor.FundSource += ',';\r\n $scope.CIFInvestor.FundSource += $scope.selectedFundSource[i];\r\n }\r\n }\r\n\r\n if ($scope.selectedFundSourceBO) {\r\n $scope.CIFInvestor.CIFInvestorBeneficiaryOwnerFundSource = '';\r\n for (var i = 0; i < $scope.selectedFundSourceBO.length; i++) {\r\n if ($scope.CIFInvestor.CIFInvestorBeneficiaryOwnerFundSource.length > 0)\r\n $scope.CIFInvestor.CIFInvestorBeneficiaryOwnerFundSource += ',';\r\n $scope.CIFInvestor.CIFInvestorBeneficiaryOwnerFundSource += $scope.selectedFundSourceBO[i];\r\n\r\n }\r\n }\r\n\r\n\r\n if ($scope.CIFInvestor.CIFInvestorBeneficiaryOwnerNationality)\r\n $scope.CIFInvestor.CIFInvestorBeneficiaryOwnerNationality = Number($scope.CIFInvestor.CIFInvestorBeneficiaryOwnerNationality);\r\n\r\n if ($scope.CIFInvestor.CIFInvestorBeneficiaryOwnerCompanyCity)\r\n $scope.CIFInvestor.CIFInvestorBeneficiaryOwnerCompanyCity = Number($scope.CIFInvestor.CIFInvestorBeneficiaryOwnerCompanyCity);\r\n\r\n if ($scope.selectedSpouseFundSource) {\r\n\r\n $scope.CIFInvestor.SpouseFundSource = '';\r\n\r\n for (var i = 0; i < $scope.selectedSpouseFundSource.length; i++) {\r\n\r\n if ($scope.CIFInvestor.SpouseFundSource.length > 0)\r\n $scope.CIFInvestor.SpouseFundSource += ',';\r\n $scope.CIFInvestor.SpouseFundSource += $scope.selectedSpouseFundSource[i];\r\n }\r\n }\r\n\r\n $scope.CIFInvestor.CurrentStep = 2;\r\n };\r\n\r\n var allPromise = $q.all([\r\n\r\n $scope.checkSession(),\r\n\r\n appFactory.getData(`/service/client.svc/GetCIFProvinceCity`).then(function (data) {\r\n\r\n if (data.status == 200) {\r\n\r\n $scope.ListProvinceCity = data.data.d;\r\n }\r\n }),\r\n\r\n appFactory.getData(`/service/client.svc/GetCIFLookup`).then(function (data) {\r\n\r\n if (data.status == 200) {\r\n\r\n $scope.ListLookup = data.data.d;\r\n\r\n if ($scope.ListLookup) {\r\n\r\n $scope.ListOccupation = $filter('filter')($scope.ListLookup, { CIFLookupID: 'Occupation' }, true);\r\n $scope.ListSpouseIncome = $filter('filter')($scope.ListLookup, { CIFLookupID: 'IncomePerAnnum' }, true);\r\n $scope.ListFundSource = $filter('filter')($scope.ListLookup, { CIFLookupID: 'FundSource' }, true);\r\n $scope.ListIncomePerAnnum = $filter('filter')($scope.ListLookup, { CIFLookupID: 'IncomePerAnnum' }, true);\r\n $scope.ListIncomePerAnnum = $filter('filter')($scope.ListLookup, { CIFLookupID: 'IncomePerAnnum' }, true);\r\n $scope.ListIncomePerAnnumBO = $filter('filter')($scope.ListLookup, { CIFLookupID: 'IncomePerAnnum' }, true);\r\n $scope.ListFundSourceBO = $filter('filter')($scope.ListLookup, { CIFLookupID: 'FundSource' }, true);\r\n $scope.ListOccupationBO = $filter('filter')($scope.ListLookup, { CIFLookupID: 'Occupation' }, true);\r\n $scope.ListInvestmentObjectivesBO = $filter('filter')($scope.ListLookup, { CIFLookupID: 'InvestmentObjectives' }, true);\r\n }\r\n }\r\n }),\r\n\r\n appFactory.getData(`/service/client.svc/GetCIFBank`).then(function (data) {\r\n\r\n if (data.status == 200) {\r\n\r\n $scope.ListBank = data.data.d;\r\n }\r\n }),\r\n\r\n appFactory.getData(`/service/client.svc/GetCIFPekerjaan`).then(function (data) {\r\n\r\n if (data.status == 200) {\r\n\r\n $scope.listpekerjaan_BCA = data.data.d;\r\n }\r\n }),\r\n\r\n appFactory.getData(`/service/client.svc/GetJabatan`).then(function (data) {\r\n\r\n if (data.status == 200) {\r\n\r\n $scope.listposition_BCA = data.data.d;\r\n }\r\n }),\r\n\r\n appFactory.getData(`/service/client.svc/GetBidangUsaha`).then(function (data) {\r\n\r\n if (data.status == 200) {\r\n\r\n $scope.listnature_BCA = data.data.d;\r\n }\r\n })\r\n ]);\r\n\r\n allPromise.then(function () {\r\n\r\n appFactory.getData(`/service/client.svc/getCIF`).then(function (data) {\r\n\r\n if (data.status == 200) {\r\n\r\n if (data.data.d != null) {\r\n\r\n var obj = data.data.d;\r\n $scope.CIFInvestor = data.data.d;\r\n $scope.CIFInvestor.Stage = 2;\r\n if ($scope.CIFInvestor.QuestionRDN == 0) {\r\n\r\n $scope.CIFInvestor.QuestionRDN = '';\r\n }\r\n\r\n if ($scope.CIFInvestor.BankOwner == '' || !$scope.CIFInvestor.BankOwner)\r\n $scope.CIFInvestor.BankOwner = $scope.CIFInvestor.FirstName;\r\n\r\n $scope.bankpribadi = $scope.CIFInvestor.BankName;\r\n\r\n\r\n if ($scope.CIFInvestor.SpouseCompanyCity)\r\n $scope.SpouseCompanyCitySelected = $filter('filter')($scope.ListProvinceCity, { CIFProvinceCityNID: $scope.CIFInvestor.SpouseCompanyCity }, true)[0];\r\n\r\n if ($scope.CIFInvestor.CompanyCity)\r\n $scope.CompanyCitySelected = $filter('filter')($scope.ListProvinceCity, { CIFProvinceCityNID: $scope.CIFInvestor.CompanyCity }, true)[0];\r\n\r\n if ($scope.CIFInvestor.QuestionRDN) {\r\n\r\n if ($scope.CIFInvestor.QuestionRDN == '1' || $scope.CIFInvestor.QuestionRDN == 1) {\r\n\r\n $scope.OPBBCA.occupationText = $scope.CIFInvestor.OccupationText;\r\n $scope.OPBBCA.positionText = $scope.CIFInvestor.PositionText;\r\n $scope.OPBBCA.businessText = $scope.CIFInvestor.NatureOfBusinessText;\r\n\r\n if ($scope.CIFInvestor.Occupation && $scope.CIFInvestor.Occupation > 0) {\r\n\r\n $scope.OPBBCA.occupation = $filter('filter')($scope.listpekerjaan_BCA, { key: $scope.CIFInvestor.Occupation }, true)[0];\r\n\r\n appFactory.getData(`/service/client.svc/GetJabatan?Pekerjaan=${$scope.OPBBCA.occupation.key}`).then(function (data) {\r\n\r\n if (data.status == 200) {\r\n\r\n $scope.listjabatan_BCA = data.data.d;\r\n\r\n if ($scope.listjabatan_BCA.length) {\r\n\r\n if ($scope.CIFInvestor.Position && $scope.CIFInvestor.Position > 0) {\r\n\r\n $scope.OPBBCA.position = $filter('filter')($scope.listjabatan_BCA, { key: $scope.CIFInvestor.Position }, true)[0];\r\n\r\n appFactory.getData(`/service/client.svc/GetBidangUsaha?Jabatan=${$scope.OPBBCA.position.key}&Pekerjaan=${$scope.OPBBCA.occupation.key}`).then(function (data) {\r\n\r\n if (data.status == 200) {\r\n\r\n $scope.listusaha_BCA = data.data.d;\r\n\r\n if ($scope.listusaha_BCA.length) {\r\n\r\n if ($scope.CIFInvestor.NatureOfBusiness != null)\r\n $scope.OPBBCA.business = $filter('filter')($scope.listusaha_BCA, { key: $scope.CIFInvestor.NatureOfBusiness }, true)[0];\r\n }\r\n\r\n MpcLoader.stop();\r\n }\r\n });\r\n }\r\n }\r\n }\r\n })\r\n }\r\n } else {\r\n\r\n $scope.OPBOTHER.occupation = $scope.CIFInvestor.Occupation;\r\n $scope.OPBOTHER.occupationText = $scope.CIFInvestor.OccupationText;\r\n $scope.OPBOTHER.position = $scope.CIFInvestor.Position;\r\n $scope.OPBOTHER.positionText = $scope.CIFInvestor.PositionText;\r\n $scope.OPBOTHER.business = $scope.CIFInvestor.NatureOfBusiness;\r\n $scope.OPBOTHER.businessText = $scope.CIFInvestor.NatureOfBusinessText;\r\n\r\n }\r\n }\r\n\r\n if ($scope.CIFInvestor.SpouseCompanyCity == 0)\r\n $scope.CIFInvestor.SpouseCompanyCity = '';\r\n\r\n if ($scope.CIFInvestor.CompanyCity == 0)\r\n $scope.CIFInvestor.CompanyCity = '';\r\n\r\n if ($scope.CIFInvestor.FundSource) {\r\n\r\n $scope.selectedFundSource = [];\r\n let temp = $scope.CIFInvestor.FundSource.split(',');\r\n\r\n for (var i = 0; i < temp.length; i++) {\r\n\r\n $scope.selectedFundSource.push(Number(temp[i]));\r\n }\r\n }\r\n\r\n if ($scope.CIFInvestor.SpouseFundSource) {\r\n\r\n $scope.selectedSpouseFundSource = [];\r\n let temp = $scope.CIFInvestor.SpouseFundSource.split(',');\r\n\r\n for (var i = 0; i < temp.length; i++) {\r\n\r\n $scope.selectedSpouseFundSource.push(Number(temp[i]));\r\n }\r\n }\r\n\r\n if ($scope.CIFInvestor.CIFInvestorBeneficiaryOwnerFundSource) {\r\n\r\n $scope.selectedFundSourceBO = [];\r\n let temp = $scope.CIFInvestor.CIFInvestorBeneficiaryOwnerFundSource.split(',');\r\n\r\n for (var i = 0; i < temp.length; i++) {\r\n\r\n $scope.selectedFundSourceBO.push(Number(temp[i]));\r\n }\r\n }\r\n\r\n if ($scope.CIFInvestor.SpouseOccupation == 0)\r\n $scope.CIFInvestor.SpouseOccupation = '';\r\n\r\n if ($scope.CIFInvestor.SpouseIncomePerAnnum == 0)\r\n $scope.CIFInvestor.SpouseIncomePerAnnum = '';\r\n\r\n if ($scope.CIFInvestor.IncomePerAnnum == 0)\r\n $scope.CIFInvestor.IncomePerAnnum = '';\r\n\r\n if (data.data.d.CIFInvestorBeneficiaryOwnerBirthDate)\r\n $scope.CIFInvestor.CIFInvestorBeneficiaryOwnerBirthDate = new Date(data.data.d.CIFInvestorBeneficiaryOwnerBirthDate);\r\n\r\n $scope.CIFInvestor.CIFInvestorBeneficiaryOwnerIDCardExpiredDate = new Date(9998, 11, 31)\r\n\r\n if (data.data.d.CIFInvestorBeneficiaryOwnerCity) {\r\n $scope.IDCardCitySelected = $filter('filter')($scope.ListProvinceCity, { CIFProvinceCityNID: data.data.d.CIFInvestorBeneficiaryOwnerCity }, true)[0];\r\n appFactory.getData(`/service/client.svc/GetCIFKecamatanByCityNID?CIFCityNID=${data.data.d.CIFInvestorBeneficiaryOwnerCity}`).then(function (data) {\r\n\r\n if (data.status == 200) {\r\n\r\n $scope.ListKecamatan = data.data.d;\r\n if ($scope.ListKecamatan)\r\n $scope.ListKelurahan = $filter('filter')($scope.ListKecamatan, { Kecamatan: $scope.CIFInvestor.CIFInvestorBeneficiaryOwnerKecamatan }, true);\r\n }\r\n })\r\n }\r\n\r\n if (data.data.d.CIFInvestorBeneficiaryOwnerCompanyCity) {\r\n $scope.CompanyCityBOSelected = $filter('filter')($scope.ListProvinceCity, { CIFProvinceCityNID: data.data.d.CIFInvestorBeneficiaryOwnerCompanyCity }, true)[0];\r\n appFactory.getData(`/service/client.svc/GetCIFKecamatanByCityNID?CIFCityNID=${data.data.d.CIFInvestorBeneficiaryOwnerCompanyCity}`).then(function (data) {\r\n\r\n if (data.status == 200) {\r\n\r\n $scope.ListKecamatanCompanyBO = data.data.d;\r\n if ($scope.ListKecamatanCompanyBO)\r\n $scope.ListKelurahanCompanyBO = $filter('filter')($scope.ListKecamatanCompanyBO, { Kecamatan: $scope.CIFInvestor.CIFInvestorBeneficiaryOwnerCompanyAddress2 }, true);\r\n }\r\n })\r\n }\r\n\r\n\r\n $scope.NationalitySelected = $filter('filter')($scope.ListNationality, { CIFCountryNID: data.data.d.CIFInvestorBeneficiaryOwnerNationality }, true)[0];\r\n\r\n\r\n $scope.changeSpouseMandatory();\r\n $scope.OPSPOUSE.occupation = $scope.CIFInvestor.SpouseOccupation;\r\n $scope.OPSPOUSE.occupationText = $scope.CIFInvestor.SpouseOccupationText;\r\n $scope.OPSPOUSE.position = $scope.CIFInvestor.SpousePosition;\r\n $scope.OPSPOUSE.business = $scope.CIFInvestor.SpouseNatureOfBusiness;\r\n\r\n MpcLoader.stop();\r\n }\r\n }\r\n })\r\n });\r\n\r\n $scope.submit = function () {\r\n $scope.prepareData();\r\n var finished = 0;\r\n\r\n $rootScope.AlertYesNo('question', 'Konfirmasi', \"Apakah data yang diisi sudah sesuai?\")\r\n .then((result) => {\r\n if (result.value) {\r\n $rootScope.AlertShowLoading('warning', 'Loading...', '', 0);\r\n $http({\r\n method: 'POST',\r\n url: '/service/client.svc/SaveCIF',\r\n data:\r\n {\r\n cifdata: $scope.CIFInvestor\r\n },\r\n }).then(function (data) {\r\n\r\n if (data.data.d.result) {\r\n Swal.close();\r\n $window.location.href = \"#/cif/data-pendukung\";\r\n }\r\n else {\r\n Swal.fire('Failed', data.data.d.response, 'error');\r\n }\r\n }, function (error) {\r\n Swal.fire('Error', 'error - Please check your connection', 'error');\r\n });\r\n }\r\n });\r\n\r\n }\r\n}]);","app.controller('CIF3-CTRL', ['$scope', '$window', '$q', '$filter', 'appFactory',\r\n function ($scope, $window, $q, $filter, appFactory) {\r\n\r\n $scope.CIFInvestor = {}\r\n $scope.chkquestionfatca = true;\r\n $scope.chkquestion1 = false;\r\n $scope.chkquestion2 = false;\r\n $scope.chkquestion3 = false;\r\n $scope.chkquestion4 = false;\r\n\r\n var allPromise = $q.all([\r\n\r\n $scope.checkSession(),\r\n\r\n appFactory.getData(`/service/client.svc/GetCIFLookup`).then(function (data) {\r\n\r\n if (data.status == 200) {\r\n \r\n $scope.ListLookup = data.data.d;\r\n\r\n if ($scope.ListLookup) {\r\n\r\n $scope.ListInvestmentObjectives = $filter('filter')($scope.ListLookup, { CIFLookupID: 'InvestmentObjectives' }, true);\r\n $scope.ListRisk = $filter('filter')($scope.ListLookup, { CIFLookupID: 'Risk' }, true);\r\n }\r\n }\r\n }),\r\n\r\n ]);\r\n\r\n allPromise.then(function () {\r\n\r\n appFactory.getData(`/service/client.svc/getCIF`).then(function (data) {\r\n\r\n if (data.status == 200) {\r\n\r\n if (data.data.d != null) {\r\n\r\n var obj = data.data.d;\r\n $scope.CIFInvestor = data.data.d;\r\n $scope.CIFInvestor.Stage = 3;\r\n\r\n if ($scope.CIFInvestor.FATCA1 == 'Ya' || $scope.CIFInvestor.FATCA2 == 'Ya' || $scope.CIFInvestor.FATCA3 == 'Ya')\r\n $scope.chkquestionfatca = false;\r\n\r\n if ($scope.CIFInvestor.InvestmentObjectives == 0)\r\n $scope.CIFInvestor.InvestmentObjectives = '';\r\n\r\n MpcLoader.stop();\r\n }\r\n }\r\n });\r\n });\r\n\r\n $scope.prepareData = function () {\r\n\r\n if ($scope.chkquestion1) {\r\n\r\n if ($scope.chkquestion1 = true) {\r\n\r\n $scope.CIFInvestor.Question1 = 'Ya';\r\n $scope.CIFInvestor.Question1_Text = '';\r\n }\r\n }\r\n\r\n if ($scope.chkquestion2) {\r\n\r\n if ($scope.chkquestion2 = true) {\r\n\r\n $scope.CIFInvestor.Question2 = 'Ya';\r\n $scope.CIFInvestor.Question2_Text = '';\r\n }\r\n }\r\n\r\n if ($scope.chkquestion3) {\r\n\r\n if ($scope.chkquestion1 = true) {\r\n\r\n $scope.CIFInvestor.Question3 = 'Ya';\r\n $scope.CIFInvestor.Question3_Text = '';\r\n }\r\n }\r\n\r\n if ($scope.chkquestion4) {\r\n\r\n if ($scope.chkquestion4 = true) {\r\n\r\n $scope.CIFInvestor.Question4 = 'Ya';\r\n $scope.CIFInvestor.Question4_Text = '';\r\n }\r\n }\r\n\r\n if ($scope.chkquestion5) {\r\n\r\n if ($scope.chkquestion5 = true) {\r\n\r\n $scope.CIFInvestor.Question5 = 'Ya';\r\n $scope.CIFInvestor.Question5_Text = '';\r\n }\r\n }\r\n\r\n if ($scope.chkquestion6) {\r\n\r\n if ($scope.chkquestion6 = true) {\r\n\r\n $scope.CIFInvestor.Question6 = 'Ya';\r\n $scope.CIFInvestor.Question6_Text = '';\r\n }\r\n }\r\n\r\n if ($scope.chkquestionfatca) {\r\n\r\n if ($scope.chkquestionfatca = true) {\r\n\r\n $scope.CIFInvestor.FATCA1 = 'Tidak';\r\n $scope.CIFInvestor.FATCA2 = 'Tidak';\r\n $scope.CIFInvestor.FATCA3 = 'Tidak';\r\n }\r\n }\r\n\r\n \r\n\r\n $scope.CIFInvestor.CurrentStep = 3;\r\n }\r\n\r\n $scope.submit = function () {\r\n $scope.prepareData();\r\n\r\n // dynamic sweet alert post to app.js\r\n // 1: set the url of post or get request\r\n // 2: set the sweet alert translation, refers to apps.js $scope.SWALtranslate() :preconfirm = confirmation dialog before post or get request\r\n // 3: set the postdata to $http request = GET : {} / POST { yourdata : data }\r\n // 4: set the method to $http request = \"GET\" / \"POST\"\r\n // 5: set the sweet alert translation, refers to apps.js $scope.SWALtranslate() :preconfirm = confirmation dialog before post or get request\r\n // 6: if success or no error returns then...\r\n var urlsvc = '/service/client.svc/SaveCIF'; // 1\r\n var postData = { cifdata: $scope.CIFInvestor } // 2\r\n var preconfirmtranslate = \"submitCif3\"; // 3\r\n var method = \"POST\" // 4\r\n $scope.PostGetSwal(preconfirmtranslate, urlsvc, postData, method, function (data) {\r\n\r\n // if session is expired, relogin ...\r\n if (data.message == \"sessionexpired\") {\r\n\r\n $scope.signOut();\r\n }\r\n\r\n if (data.result) // 6\r\n $window.location.href = \"#/cif/data-pernyataan\";\r\n });\r\n }\r\n}]);\r\n\r\n\r\n","app.controller('CIF4-CTRL', ['$scope', '$rootScope', '$uibModal', '$q', 'appFactory', '$cookies',\r\n function ($scope, $rootScope, $uibModal, $q, appFactory, $cookies) {\r\n\r\n $scope.CIFInvestor = {}\r\n\r\n $scope.allowedExt = ['.jpg', '.jpeg', '.bmp', '.png'];\r\n $scope.agree1 = false;\r\n $scope.agree2 = false;\r\n $scope.agree3 = false;\r\n $scope.agree4 = false;\r\n\r\n $scope.filenameKTP = \"\";\r\n $scope.fileKTP = \"\";\r\n $scope.fileKTPext = \"\";\r\n $scope.KTPFile = [];\r\n\r\n $scope.filenameNPWP = \"\";\r\n $scope.fileNPWP = \"\";\r\n $scope.fileNPWPext = \"\";\r\n $scope.NPWPile = [];\r\n\r\n $scope.filenameFotoDiri = \"\";\r\n $scope.fileFotoDiri = \"\";\r\n $scope.fileFotoDiriext = \"\";\r\n $scope.fotodiriFile = [];\r\n\r\n $scope.filenameTandaTangan = \"\";\r\n $scope.fileTandaTangan = \"\";\r\n $scope.fileTandaTanganext = \"\";\r\n $scope.tandatanganFile = [];\r\n\r\n\r\n $scope.selectKTP = function (files) {\r\n\r\n $scope.KTPFile = files;\r\n let allowed = true;\r\n var reader = new FileReader();\r\n\r\n reader.onload = function (e) {\r\n\r\n if (allowed)\r\n $scope.fileKTP = btoa(e.target.result.toString());\r\n };\r\n\r\n reader.readAsBinaryString(files[0]);\r\n $scope.fileKTPext = files[0].name.substr(files[0].name.lastIndexOf('.'));\r\n\r\n if ($scope.allowedExt.indexOf($scope.fileKTPext.toLowerCase()) < 0) {\r\n\r\n allowed = false;\r\n $scope.fileKTPext = '';\r\n $scope.KTPFile = '';\r\n alert(\"Extensi yang dibolehkan : \" + $scope.allowedExt);\r\n } else {\r\n\r\n $scope.filenameKTP = files[0].name;\r\n }\r\n };\r\n\r\n $scope.selectNPWP = function (files) {\r\n\r\n $scope.NPWPFile = files;\r\n let allowed = true;\r\n var reader = new FileReader();\r\n\r\n reader.onload = function (e) {\r\n\r\n if (allowed)\r\n $scope.fileNPWP = btoa(e.target.result.toString());\r\n };\r\n\r\n reader.readAsBinaryString(files[0]);\r\n $scope.fileNPWPext = files[0].name.substr(files[0].name.lastIndexOf('.'));\r\n\r\n if ($scope.allowedExt.indexOf($scope.fileNPWPext.toLowerCase()) < 0) {\r\n\r\n allowed = false;\r\n $scope.fileNPWPext = '';\r\n $scope.NPWPFile = '';\r\n alert(\"Extensi yang dibolehkan : \" + $scope.allowedExt);\r\n } else {\r\n\r\n $scope.filenameNPWP = files[0].name;\r\n }\r\n };\r\n\r\n $scope.selectFotoDiri = function (files) {\r\n\r\n $scope.fotodiriFile = files;\r\n let allowed = true;\r\n var reader = new FileReader();\r\n\r\n reader.onload = function (e) {\r\n\r\n if (allowed)\r\n $scope.fileFotoDiri = btoa(e.target.result.toString());\r\n };\r\n\r\n reader.readAsBinaryString(files[0]);\r\n $scope.fileFotoDiriext = files[0].name.substr(files[0].name.lastIndexOf('.'));\r\n\r\n if ($scope.allowedExt.indexOf($scope.fileFotoDiriext.toLowerCase()) < 0) {\r\n\r\n allowed = false;\r\n $scope.fileFotoDiriext = '';\r\n $scope.fotodiriFile = '';\r\n alert(\"Extensi yang dibolehkan : \" + $scope.allowedExt);\r\n } else {\r\n\r\n $scope.filenameFotoDiri = files[0].name;\r\n }\r\n };\r\n\r\n $scope.selectTandaTangan = function (files) {\r\n\r\n $scope.tandatanganFile = files;\r\n let allowed = true;\r\n var reader = new FileReader();\r\n\r\n reader.onload = function (e) {\r\n\r\n if (allowed)\r\n $scope.fileTandaTangan = btoa(e.target.result.toString());\r\n };\r\n\r\n reader.readAsBinaryString(files[0]);\r\n $scope.fileTandaTanganext = files[0].name.substr(files[0].name.lastIndexOf('.'));\r\n if ($scope.allowedExt.indexOf($scope.fileTandaTanganext.toLowerCase()) < 0) {\r\n\r\n allowed = false;\r\n $scope.fileTandaTanganext = '';\r\n $scope.tandatanganFile = '';\r\n alert(\"Extensi yang dibolehkan : \" + $scope.allowedExt);\r\n } else {\r\n\r\n $scope.filenameTandaTangan = files[0].name;\r\n }\r\n };\r\n\r\n $scope.clickRemoveKTP = function (file, event, key) {\r\n\r\n event.preventDefault();\r\n $scope.fileKTP = \"\";\r\n $scope.filenameKTP = \"\";\r\n $scope.fileKTPext = \"x\";\r\n $scope.KTPFile.splice(key, 1);\r\n $scope.KTPFile = [];\r\n return null;\r\n };\r\n\r\n $scope.clickRemoveNPWP = function (file, event, key) {\r\n\r\n event.preventDefault();\r\n $scope.fileNPWP = \"\";\r\n $scope.filenameNPWP = \"\";\r\n $scope.fileNPWPext = \"x\";\r\n $scope.NPWPFile.splice(key, 1);\r\n $scope.NPWPFile = [];\r\n return null;\r\n };\r\n\r\n $scope.clickRemoveFotoDiri = function (file, event, key) {\r\n\r\n event.preventDefault();\r\n $scope.fileFotoDiri = \"\";\r\n $scope.filenameFotoDiri = \"\";\r\n $scope.fileFotoDiriext = \"x\";\r\n $scope.fotodiriFile.splice(key, 1);\r\n $scope.fotodiriFile = [];\r\n\r\n return null;\r\n };\r\n\r\n $scope.clickRemoveTandaTangan = function (file, event, key) {\r\n\r\n event.preventDefault();\r\n $scope.fileTandaTangan = \"\";\r\n $scope.filenameTandaTangan = \"\";\r\n $scope.fileTandaTanganext = \"x\";\r\n $scope.tandatanganFile.splice(key, 1);\r\n $scope.tandatanganFile = [];\r\n return null;\r\n };\r\n\r\n $scope.validateAgreement = function () {\r\n\r\n if ($scope.CIFInvestor.QuestionRDN == 1) {\r\n\r\n if (!$scope.agree1 || !$scope.agree2) {\r\n\r\n var SWALtranslate = $scope.SWALtranslate('aggreement1');\r\n $scope.disclaimerBank = false;\r\n }\r\n\r\n if (!$scope.agree1 && $scope.agree2) {\r\n\r\n var SWALtranslate = $scope.SWALtranslate('aggreement2');\r\n $scope.disclaimerBank = false;\r\n }\r\n\r\n if ($scope.agree1 && !$scope.agree2) {\r\n\r\n var SWALtranslate = $scope.SWALtranslate('aggreement3');\r\n $scope.disclaimerBank = false;\r\n }\r\n\r\n if ($scope.agree1 && $scope.agree2 && $scope.agree3) {\r\n\r\n $scope.disclaimerBank = true;\r\n return\r\n }\r\n $rootScope.GlobalAlert('error', \"\", SWALtranslate.title)\r\n }\r\n }\r\n\r\n $scope.validateAgreementRDNBCA = function () {\r\n\r\n if ($scope.CIFInvestor.QuestionRDN == 1) {\r\n\r\n if (!$scope.agree1) {\r\n\r\n $scope.disclaimerRDNBCA = false;\r\n $scope.showAgreement(1);\r\n }\r\n }\r\n }\r\n\r\n $scope.validateAgreementTAPRESBCA = function () {\r\n\r\n if ($scope.CIFInvestor.QuestionRDN == 1) {\r\n\r\n if (!$scope.agree2) {\r\n\r\n $scope.disclaimerTAPRESBCA = false;\r\n $scope.showAgreement(2);\r\n }\r\n }\r\n }\r\n\r\n //$scope.validateAgreementDEKLARASI = function () {\r\n\r\n // if ($scope.CIFInvestor.QuestionRDN == 1) {\r\n\r\n // if (!$scope.agree3) {\r\n\r\n // $scope.disclaimerDEKLARASI = false;\r\n // $scope.showAgreement(3);\r\n // }\r\n // }\r\n //}\r\n\r\n $scope.modalMessage = {\r\n\r\n message: '',\r\n param: {}\r\n };\r\n\r\n $scope.resetSign = function () {\r\n\r\n $scope.finishSignature = false;\r\n $scope.clear();\r\n };\r\n\r\n $scope.completeSign = function () {\r\n\r\n $scope.signature = $scope.accept();\r\n\r\n if ($scope.signature.dataUrl && !$scope.signature.isEmpty) {\r\n\r\n $scope.finishSignature = true;\r\n $scope.CIFInvestor.TandaTanganFile = $scope.signature.dataUrl.substr($scope.signature.dataUrl.lastIndexOf(',') + 1);\r\n\r\n } else {\r\n\r\n $scope.finishSignature = false;\r\n }\r\n };\r\n\r\n $scope.showAgreement = function (number) {\r\n\r\n //if ($cookies.get('lang') == \"en\")\r\n // number += \"-en\"\r\n console.log(\"$cookies.get('lang')\", $cookies.get('lang'))\r\n let htmlName = 'bcaagereement' + number + '.html';\r\n var modalInstance = $uibModal\r\n .open({\r\n animation: true,\r\n templateUrl: htmlName,\r\n controller: 'BCAAgreementCtrl',\r\n size: 'lg',\r\n backdrop: 'static',\r\n resolve: {\r\n\r\n agreementNumber: function () {\r\n\r\n return number;\r\n }\r\n }\r\n });\r\n\r\n modalInstance.result.then(function (response, agree) {\r\n\r\n if (response == 'accept') {\r\n\r\n if (number == 1) {\r\n\r\n $scope.agree1 = true;\r\n $scope.disclaimerRDNBCA = true;\r\n }\r\n\r\n if (number == 2) {\r\n\r\n $scope.agree2 = true;\r\n $scope.disclaimerTAPRESBCA = true;\r\n }\r\n\r\n //if (number == 3) {\r\n\r\n // $scope.agree3 = true;\r\n // $scope.disclaimerDEKLARASI = true;\r\n //}\r\n\r\n if ($scope.disclaimerRDNBCA == true && $scope.disclaimerTAPRESBCA == true)\r\n $scope.disclaimerBank = true;\r\n }\r\n }, function () { });\r\n };\r\n\r\n var allPromise = $q.all([\r\n\r\n $scope.checkSession(),\r\n\r\n ]);\r\n\r\n allPromise.then(function () {\r\n\r\n // stage: is rejected\r\n\r\n if ($rootScope.currentUser) {\r\n\r\n if ($rootScope.currentUser.IsRejected == 1) {\r\n return;\r\n }\r\n }\r\n\r\n appFactory.getData(`/service/client.svc/getCIF`).then(function (data) {\r\n\r\n if (data.status == 200) {\r\n\r\n if (data.data.d.Email != null) {\r\n\r\n var obj = data.data.d;\r\n $scope.CIFInvestor = data.data.d;\r\n $scope.CIFInvestor.Stage = 4;\r\n $scope.filenameKTP = $scope.CIFInvestor.KTPFile;\r\n $scope.filenameFotoDiri = $scope.CIFInvestor.SelfieFile;\r\n $scope.filenameTandaTangan = $scope.CIFInvestor.TandaTanganFile;\r\n $scope.filenameNPWP = $scope.CIFInvestor.NPWPFile;\r\n\r\n if ($scope.filenameKTP) {\r\n\r\n if (!$scope.filenameKTP.endsWith(\".pdf\")) {\r\n\r\n appFactory.getData(\r\n `FileKYC/${$scope.filenameKTP}`,\r\n 'blob').then(function (data) {\r\n\r\n if (data.status == 200) {\r\n\r\n $scope.KTPFile = [];\r\n $scope.KTPFile.push(data.data);\r\n }\r\n });\r\n }\r\n };\r\n\r\n if ($scope.filenameNPWP) {\r\n\r\n if (!$scope.filenameNPWP.endsWith(\".pdf\")) {\r\n\r\n appFactory.getData(\r\n `FileKYC/${$scope.filenameNPWP}`,\r\n 'blob').then(function (data) {\r\n\r\n if (data.status == 200) {\r\n\r\n $scope.NPWPFile = [];\r\n $scope.NPWPFile.push(data.data);\r\n }\r\n });\r\n }\r\n };\r\n\r\n if ($scope.filenameFotoDiri) {\r\n\r\n if (!$scope.filenameFotoDiri.endsWith(\".pdf\")) {\r\n\r\n appFactory.getData(\r\n `FileKYC/${$scope.filenameFotoDiri}`,\r\n 'blob').then(function (data) {\r\n\r\n if (data.status == 200) {\r\n\r\n $scope.fotodiriFile = [];\r\n $scope.fotodiriFile.push(data.data);\r\n }\r\n });\r\n }\r\n };\r\n\r\n if ($scope.filenameTandaTangan) {\r\n\r\n if (!$scope.filenameTandaTangan.endsWith(\".pdf\")) {\r\n\r\n appFactory.getData(\r\n `FileKYC/${$scope.filenameTandaTangan}`,\r\n 'blob').then(function (data) {\r\n\r\n if (data.status == 200) {\r\n\r\n $scope.tandatanganFile = [];\r\n $scope.tandatanganFile.push(data.data);\r\n }\r\n });\r\n }\r\n };\r\n\r\n if ($scope.CIFInvestor.IsFinished == 1) {\r\n\r\n $scope.disclaimerBank = true;\r\n $scope.disclaimerRDNBCA = true;\r\n $scope.disclaimerTAPRESBCA = true;\r\n $scope.disclaimerPTMKES = true;\r\n //$scope.disclaimerDEKLARASI = true;\r\n }\r\n\r\n Swal.fire({\r\n title: 'Upload Foto',\r\n text: 'Ketentuan untuk ambil gambar',\r\n imageUrl: 'img/guidance/petunjuk.png',\r\n imageAlt: 'E-KTP',\r\n width: '900px',\r\n animation: false\r\n });\r\n\r\n MpcLoader.stop();\r\n }\r\n }\r\n });\r\n });\r\n\r\n $scope.submit = function () {\r\n\r\n $scope.CIFInvestor.KTPFile = $scope.fileKTP;\r\n $scope.CIFInvestor.SelfieFile = $scope.fileFotoDiri;\r\n $scope.CIFInvestor.TandaTanganFile = $scope.fileTandaTangan;\r\n $scope.CIFInvestor.NPWPFile = $scope.fileNPWP\r\n $scope.CIFInvestor.IsFinished = 1;\r\n $scope.CIFInvestor.CurrentStep = 4;\r\n\r\n // dynamic sweet alert post to app.js\r\n // 1: set the url of post or get request\r\n // 2: set the sweet alert translation, refers to apps.js $scope.SWALtranslate() :preconfirm = confirmation dialog before post or get request\r\n // 3: set the postdata to $http request = GET : {} / POST { yourdata : data }\r\n // 4: set the method to $http request = \"GET\" / \"POST\"\r\n // 5: set the sweet alert translation, refers to apps.js $scope.SWALtranslate() :preconfirm = confirmation dialog before post or get request\r\n // 6: if success or no error returns then...\r\n var urlsvc = '/service/client.svc/SaveCIF'; // 1\r\n var postData = { cifdata: $scope.CIFInvestor } // 2\r\n var preconfirmtranslate = \"submitCif4\"; // 3\r\n var method = \"POST\" // 4\r\n $scope.PostGetSwal(preconfirmtranslate, urlsvc, postData, method, function (data) {\r\n\r\n // if session is expired, relogin ...\r\n if (data.message == \"sessionexpired\") {\r\n\r\n $scope.signOut();\r\n }\r\n\r\n if (data.result) { // 6\r\n\r\n $scope.signOut();\r\n var SWALtranslate = $scope.SWALtranslate('submitCif4success'); // 5\r\n\r\n $rootScope.GlobalAlert('success', SWALtranslate.title, SWALtranslate.message).then(function () {\r\n\r\n $scope.signOut();\r\n });\r\n }\r\n });\r\n }\r\n }]);","app.controller('CIFDashboard-CTRL', ['$scope', '$http', '$window', '$q', 'appFactory', '$timeout',\r\n function ($scope, $http, $window, $q, appFactory, $timeout) {\r\n\r\n $scope.CIFInvestor = {}\r\n $scope.page = '';\r\n console.log(\"x\");\r\n\r\n $scope.datanasabah = function () {\r\n\r\n $window.location.href = \"#/profile\";\r\n }\r\n\r\n $scope.stepClass = ['mr-5', 'blur mr-5', 'blur mr-5', 'blur mr-5', 'blur mr-5', 'blur mr-5'];\r\n\r\n $scope.active = \"active current\";\r\n\r\n $scope.imgMale = \"\";\r\n $scope.imgDoc = \"\";\r\n $scope.imgFemale = \"\";\r\n $scope.chkquestionfatca = 2;\r\n\r\n var allPromise = $q.all([\r\n $scope.checkSession()\r\n ]);\r\n\r\n allPromise.then(function () {\r\n\r\n appFactory.getData(`/service/client.svc/getCIFDetail`).then(function (data) {\r\n\r\n if (data.status == 200) {\r\n\r\n if (data.data.d != null) {\r\n\r\n var obj = data.data.d;\r\n $scope.CIFInvestor = data.data.d;\r\n\r\n if ($scope.CIFInvestor.State1)\r\n $scope.stepClass[1] = \"active current mr-5\";\r\n\r\n if ($scope.CIFInvestor.State2)\r\n $scope.stepClass[2] = \"active current mr-5\";\r\n\r\n if ($scope.CIFInvestor.State3)\r\n $scope.stepClass[3] = \"active current mr-5\";\r\n\r\n if ($scope.CIFInvestor.State4) {\r\n\r\n $scope.stepClass[4] = \"active current mr-5\";\r\n $scope.stepClass[5] = \"active current\";\r\n }\r\n\r\n\r\n if ($scope.CIFInvestor.IsFinished == 1)\r\n $scope.page = 'finished'\r\n\r\n if ($scope.CIFInvestor.IsRevised == 1)\r\n $scope.page = 'revised'\r\n\r\n if ($scope.CIFInvestor.IsRejected == 1)\r\n $scope.page = 'rejected'\r\n\r\n MpcLoader.stop();\r\n }\r\n }\r\n })\r\n \r\n });\r\n\r\n $scope.login = function () {\r\n $window.location.href = \"#/cif/data-pribadi\";\r\n }\r\n}]);","app.controller('CIFProfile-CTRL', ['$scope', '$http', '$window', '$q', 'appFactory',\r\n function ($scope, $http, $window, $q, appFactory) {\r\n\r\n $scope.CIFInvestor = {}\r\n $scope.chkquestionfatca = 2;\r\n\r\n $scope.back = function () {\r\n $window.location.href = \"#/dashboard\";\r\n }\r\n var allPromise = $q.all([\r\n\r\n $scope.checkSession()\r\n ]);\r\n\r\n\r\n allPromise.then(function () {\r\n\r\n appFactory.getData(`/service/client.svc/getCIFDetail`).then(function (data) {\r\n\r\n if (data.status == 200) {\r\n\r\n if (data.data.d != null) {\r\n\r\n var obj = data.data.d;\r\n $scope.CIFInvestor = data.data.d;\r\n $scope.CIFInvestor.QuestionRDN = \"BANK CENTRAL ASIA\";\r\n $scope.filenameKTP = $scope.CIFInvestor.KTPFile;\r\n $scope.filenameFotoDiri = $scope.CIFInvestor.SelfieFile;\r\n $scope.filenameTandaTangan = $scope.CIFInvestor.TandaTanganFile;\r\n $scope.URLFolderKYC = data.data.d.URLFolderKYC;\r\n\r\n $scope.imgItem = [];\r\n if ($scope.CIFInvestor.KTPFile !== '')\r\n $scope.imgItem.push({ editing: false, url: '/FileKYC/' + $scope.CIFInvestor.KTPFile + \"?timestamp=\" + Date.now(), type: 'KTP', label: 'KTP' });\r\n \r\n if ($scope.CIFInvestor.SelfieFile !== '')\r\n $scope.imgItem.push({ editing: false, url: '/FileKYC/' + $scope.CIFInvestor.SelfieFile + \"?timestamp=\" + Date.now(), type: 'FotoDiri', label: 'Foto Diri bersama KTP' });\r\n\r\n if ($scope.CIFInvestor.TandaTanganFile !== '')\r\n $scope.imgItem.push({ editing: false, url: '/FileKYC/' + $scope.CIFInvestor.TandaTanganFile + \"?timestamp=\" + Date.now(), type: 'TandaTangan', label: 'Tanda Tangan Nasabah' });\r\n\r\n if ($scope.CIFInvestor.NPWPFile !== '')\r\n $scope.imgItem.push({ editing: false, url: '/FileKYC/' + $scope.CIFInvestor.NPWPFile + \"?timestamp=\" + Date.now(), type: 'NPWP', label: 'NPWP Nasabah' });\r\n\r\n if ($scope.CIFInvestor.FATCA1 == 'Tidak' || $scope.CIFInvestor.FATCA2 == 'Tidak' || $scope.CIFInvestor.FATCA3 == 'Tidak') {\r\n $scope.chkquestionfatca = 1;\r\n }\r\n\r\n if ($scope.CIFInvestor.IsFinished == 1) {\r\n $scope.active = \"active current\";\r\n }\r\n\r\n if ($scope.CIFInvestor.IDCardExpireDate == \"31/12/98\") {\r\n $scope.CIFInvestor.IDCardExpireDate = \"SELAMANYA\";\r\n }\r\n\r\n MpcLoader.stop();\r\n\r\n }\r\n }\r\n });\r\n\r\n $scope.navbarOptions = true;\r\n });\r\n}]);","app.controller('forgetPasswordCtrl', ['$scope', '$http', '$window', '$q',\r\n function ($scope, $http, $window, $q) {\r\n\r\n $scope.user_reset = {};\r\n\r\n $scope.UserNID = '';\r\n\r\n $scope.back = function () {\r\n $window.location.href = \"#/dashboard\";\r\n }\r\n\r\n $scope.submit = function () {\r\n\r\n // dynamic sweet alert post to app.js\r\n // 1: set the url of post or get request\r\n // 2: set the sweet alert translation, refers to apps.js $scope.SWALtranslate() :preconfirm = confirmation dialog before post or get request\r\n // 3: set the postdata to $http request = GET : {} / POST { yourdata : data }\r\n // 4: set the method to $http request = \"GET\" / \"POST\"\r\n // 5: set the sweet alert translation, refers to apps.js $scope.SWALtranslate() :preconfirm = confirmation dialog before post or get request\r\n // 6: if success or no error returns then...\r\n var urlsvc = '/service/client.svc/Forget_Password'; // 1\r\n var preconfirmtranslate = \"sendforgetpassword\"; // 2\r\n var postData = { UserForget: $scope.user_reset } // 3\r\n var method = \"POST\"; // 4\r\n $scope.PostGetSwal(preconfirmtranslate, urlsvc, postData, method, function (data) {\r\n\r\n if (data.result) // 6\r\n $window.location.href = \"#/login\";\r\n });\r\n };\r\n}]);\r\n","app.controller('LoginCtrl', ['$scope', '$rootScope', '$window', '$http', '$q', 'appFactory',\r\n function ($scope, $rootScope, $window, $http, $q, appFactory) {\r\n\r\n var allPromise = $q.all([\r\n\r\n $scope.checkSession() // check login, jika ada session, maka pergi ke stage saat itu.\r\n ]);\r\n\r\n\r\n allPromise.then(function () {\r\n\r\n MpcLoader.stop();\r\n });\r\n\r\n $scope.user = {};\r\n\r\n // toggle password plaintext\r\n $scope.showPassword = false;\r\n $scope.inputType = 'password';\r\n $scope.toggleShowPassword = function () {\r\n $scope.showPassword = !$scope.showPassword;\r\n if ($scope.inputType == 'password')\r\n $scope.inputType = 'text';\r\n else\r\n $scope.inputType = 'password';\r\n }\r\n\r\n // saat tombol login di submit\r\n $scope.submit = function () {\r\n\r\n appFactory.postGetData(\r\n `/service/client.svc/LoginUser`,\r\n 'POST',\r\n { UserLogin: $scope.user }\r\n ).then(function (data) {\r\n\r\n if (data.status == 200) {\r\n\r\n $scope.result = data.data.d;\r\n\r\n var SWALtranslate = $scope.SWALtranslate($scope.result.message);\r\n\r\n // login ok\r\n if ($scope.result.result) {\r\n\r\n $scope.checkSession($scope.result);\r\n return;\r\n }\r\n\r\n // if user not activated, open sweet alert with footer\r\n if ($scope.result.message == \"notactivated\") {\r\n\r\n $rootScope.AlertShowFooter('warning', SWALtranslate.title, SWALtranslate.message,\r\n `` + SWALtranslate.footer + ``, 0);\r\n\r\n $(\"#resendOTP\").on(\"click\", function () {\r\n\r\n // dynamic sweet alert post to app.js\r\n // 1: set the url of post or get request\r\n // 2: set the sweet alert translation, refers to apps.js $scope.SWALtranslate() :preconfirm = confirmation dialog before post or get request\r\n // 3: set the postdata to $http request = GET : {} / POST { yourdata : data }\r\n // 4: set the method to $http request = \"GET\" / \"POST\"\r\n // 5: set the sweet alert translation, refers to apps.js $scope.SWALtranslate() :preconfirm = confirmation dialog before post or get request\r\n // 6: if success or no error returns then...\r\n var urlsvc = 'service/client.svc/resendOTP?emailto=' + $scope.user.Email; // 1\r\n var preconfirmtranslate = \"resendactivationlink\"; // 2 \r\n var postData = {}; // 3\r\n var method = \"GET\"; // 4\r\n $scope.PostGetSwal(preconfirmtranslate, urlsvc, postData, method, function (data) {\r\n\r\n if (data.result) // 6 \r\n $window.location.href = \"#/login\";\r\n });\r\n });\r\n return\r\n }\r\n\r\n // login not ok\r\n $rootScope.GlobalAlert('warning', SWALtranslate.title, SWALtranslate.message, 0);\r\n }\r\n });\r\n };\r\n }]);","app.controller('ActivationCtrl', ['$scope', '$routeParams', '$http', '$window', '$q', 'appFactory',\r\n function ($scope, $routeParams, $http, $window, $q, appFactory) {\r\n\r\n $scope.user = {};\r\n\r\n if ($routeParams.generatedkey) {\r\n $scope.user.generatedkey = $routeParams.generatedkey;\r\n }\r\n\r\n $scope.page = 'activation';\r\n\r\n var allPromise = $q.all([\r\n\r\n MpcLoader.start()\r\n ]);\r\n\r\n allPromise.then(function () {\r\n\r\n appFactory.getData(`service/client.svc/recheckActivationLink?key=${$routeParams.generatedkey}`).then(function (data) {\r\n\r\n if (data.status == 200) {\r\n\r\n if (!data.data.d.result) {\r\n $window.location.href = \"#/login\";\r\n $window.location.reload();\r\n } else {\r\n\r\n var SWALtranslate = $scope.SWALtranslate('activationsuccess');\r\n\r\n setTimeout(function () {\r\n Swal.fire(SWALtranslate.title, SWALtranslate.message, 'success');\r\n $window.location.href = \"#/login\";\r\n MpcLoader.stop();\r\n }, 1000);\r\n }\r\n }\r\n })\r\n });\r\n}]);\r\n","app.controller('RegisterCtrl', ['$rootScope', '$scope', '$routeParams', '$http', '$window', '$q', 'appFactory',\r\nfunction ($rootScope, $scope, $routeParams, $http, $window, $q, appFactory) {\r\n\r\n $rootScope.user = {}; // dirubah menjadi rootscope untuk melempar ke swal submit registrasi\r\n $scope.ListReferral = [];\r\n $scope.ListSales = [];\r\n\r\n $scope.user.PhoneCode = '+62';\r\n $scope.user.QuestionRDN = '1';\r\n\r\n $scope.DisabledReferral = false;\r\n $scope.ReferralSelected = '';\r\n $scope.referralInvalid = false;\r\n\r\n $scope.initPage = 0;\r\n\r\n // set default sales\r\n $scope.user.Sales = 2;\r\n\r\n $scope.page = 'step1';\r\n\r\n var allPromise = $q.all([\r\n appFactory.getData(`/service/client.svc/GetCountryPhone`).then(function (data) {\r\n\r\n if (data.status == 200)\r\n $scope.ListCountryPhone = data.data.d;\r\n }),\r\n //appFactory.getData(`/service/client.svc/GetCIFReferralList`).then(function (data) {\r\n // if (data.status == 200)\r\n // $scope.ListReferral = data.data.d;\r\n //}),\r\n appFactory.getData(`/service/client.svc/GetCIFSalesList`).then(function (data) {\r\n if (data.status == 200)\r\n $scope.ListSales = data.data.d;\r\n }),\r\n ]);\r\n\r\n allPromise.then(function () {\r\n\r\n // check and validate route params referral / sales\r\n if ($routeParams) {\r\n\r\n var params = $routeParams.param;\r\n\r\n if (params) {\r\n if (params.toLowerCase() == \"referral\") {\r\n $scope.checkReferral($routeParams.id);\r\n return\r\n }\r\n }\r\n\r\n //if ($routeParams.param == \"REFERRAL\" || $routeParams.param == \"referral\") {\r\n\r\n // $scope.referral = $routeParams.id;\r\n // $http({\r\n // method: 'GET',\r\n // url: '/service/client.svc/GetReferral?referral=' + $scope.referral,\r\n // cache: true,\r\n // }).then(function (data) {\r\n\r\n // if (data.data.d.ReferralNID > 0) {\r\n\r\n // $scope.ReferralSelected = data.data.d;\r\n // $scope.user.ReferalNumber = data.data.d.ReferralNID;\r\n // $scope.DisabledReferral = true;\r\n // }\r\n // }, function (error) { });\r\n //} else\r\n\r\n\r\n if ($routeParams.param == \"SALES\" || $routeParams.param == \"sales\") {\r\n\r\n $scope.AliasSales = $routeParams.id;\r\n $http({\r\n method: 'GET',\r\n url: '/service/client.svc/GetSales?salespersonid=' + $scope.AliasSales,\r\n cache: true,\r\n }).then(function (data) {\r\n\r\n if (data.data.d.SalesPersonNID > 0) {\r\n\r\n $scope.SalesSelected = data.data.d;\r\n $scope.user.Sales = data.data.d.SalesPersonNID;\r\n $scope.DisabledSales = true;\r\n }\r\n }, function (error) { });\r\n }\r\n }\r\n });\r\n\r\n // when referral is selected\r\n $scope.selectSales = function (item, model, label, event) {\r\n\r\n if (item.SalesPersonNID) {\r\n console.log(item)\r\n $scope.user.Sales = item.SalesPersonNID;\r\n $scope.SalesSelected = item;\r\n }\r\n };\r\n\r\n // when referral is selected\r\n $scope.selectReferral = function (item, model, label, event) {\r\n\r\n if (item.ReferralID) {\r\n console.log(item)\r\n $scope.user.ReferalNumber = item.ReferralNID;\r\n $scope.ReferralSelected = item;\r\n }\r\n };\r\n\r\n // check bank number duplication\r\n $scope.checkBankNumber = function () {\r\n if ($scope.user.BankNumber) {\r\n\r\n appFactory.getData(`/service/client.svc/checkBankNumber?BK=${$scope.user.BankNumber}`).then(function (data) {\r\n\r\n if (data.status == 200) {\r\n\r\n if (data.data.d != null) {\r\n var obj = data.data.d;\r\n if (obj.key && obj.key == 1) {\r\n $scope.user.BankNumber = '';\r\n Swal.fire('Failed', obj.value, \"error\");\r\n }\r\n }\r\n }\r\n });\r\n }\r\n }\r\n\r\n $scope.checkReferral = function (value) {\r\n\r\n if (value == \"\" || value === null) {\r\n\r\n if ($scope.user.ReferalNumber > 0)\r\n delete $scope.user.ReferalNumber;\r\n\r\n $scope.referralInvalid = false;\r\n return;\r\n }\r\n\r\n appFactory.getData(`/service/client.svc/GetReferral?referral=${value}`).then(function (data) {\r\n\r\n if (data.status == 200) {\r\n\r\n if (data.data.d.ReferralNID == 0) {\r\n\r\n console.log(\"referralInvalid\", $scope.referralInvalid)\r\n\r\n if($scope.user.ReferalNumber > 0)\r\n delete $scope.user.ReferalNumber;\r\n\r\n $scope.ReferralSelected = value;\r\n $scope.referralInvalid = true;\r\n } else {\r\n\r\n $scope.user.ReferalNumber = data.data.d.ReferralNID\r\n $scope.ReferralSelected = data.data.d.ReferralID;\r\n $scope.referralInvalid = false;\r\n\r\n //jika didapat dari routeparams::referral\r\n if ($routeParams.param) {\r\n var params = $routeParams.param;\r\n\r\n if (params.toLowerCase() == \"referral\" && $routeParams.id == value) {\r\n\r\n $scope.ReferralDisabled = true;\r\n }\r\n }\r\n }\r\n }\r\n });\r\n }\r\n\r\n \r\n\r\n // variables before submit post\r\n $scope.prepareData = function () {\r\n }\r\n\r\n $scope.submit = function () {\r\n\r\n //$scope.prepareData();\r\n\r\n if ($scope.referralInvalid) {\r\n $(\"#txtReferral\").focus();\r\n return;\r\n }\r\n \r\n // dynamic sweet alert post to app.js\r\n // 1: set the url of post or get request\r\n // 2: set the sweet alert translation, refers to apps.js $scope.SWALtranslate() :preconfirm = confirmation dialog before post or get request\r\n // 3: set the postdata to $http request = GET : {} / POST { yourdata : data }\r\n // 4: set the method to $http request = \"GET\" / \"POST\"\r\n // 5: set the sweet alert translation, refers to apps.js $scope.SWALtranslate() :preconfirm = confirmation dialog before post or get request\r\n // 6: if success or no error returns then...\r\n var urlsvc = '/service/client.svc/RegistrasiUser'; // 1\r\n var preconfirmtranslate = \"submitregistrationconf\"; // 2\r\n var postData = { User: $scope.user } // 3\r\n var method = \"POST\" // 4\r\n $scope.PostGetSwal(preconfirmtranslate, urlsvc, postData, method, function (data) {\r\n\r\n if (data.result) // 6\r\n $window.location.href = \"#/login\";\r\n });\r\n }\r\n}]);\r\n"]}