{"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","CIFHead.js","CIFProfile.js","forgetpassword.js","login.js","register-activation.js","register.js"],"names":["app","angular","module","$rootScope","icon","title","text","allowOutsideClick","allowEscapeKey","allowEnterKey","backdrop","showCancelButton","confirmButtonColor","cancelButtonColor","focusConfirm","timer","onOpen","swal","showLoading","textFooter","showConfirmButton","templateUrl","controller","$routeProvider","$locationProvider","$translateProvider","hashPrefix","when","redirectTo","prefix","factory","lang","webcam","isTurnOn","patData","_stream","x","y","otherwise","channel","useStaticFilesLoader","hiddenCanvas","sendSnapshotToServer","snapshotData","_video","value","patCanvas","ctxPat","idata","patOpts","w","h","onSuccess","makeSnapshot","checker","imgBase64","onError","webcamError","err","turnOff","width","height","getContext","document","createElement","onStream","stream","console","activeStream","log","getImageData","getVideoData","getVideoTracks","putImageData","downloadSnapshot","success","substr","indexOf","length","service","video","dataURL","window","location","href","drawImage","querySelector","ctx","stop","$scope","login","Email","Notelp","showLogoutBtn","urlNow","languages","name","$cookies","put","languageSelected","$filter","$http","$window","$q","$translate","appFactory","allPromise","Password","signOut","getData","lastIndexOf","signOutWithConf","SWALtranslate","PostGetSwal","Swal","fire","showLoaderOnConfirm","preConfirm","method","url","urlsvc","data","postData","$","d","all","then","status","result","checkLogin","message","preconfirmtranslate","callback","requestToken","access_token","setItem","confirmButtonText","preConf","checkLoginStep","IsFinished","Stage","reload","IsRevised","error","userSession","retrieveSessions","currentUser","headers","Authorization","localStorage","translateLocale","footer","fromUser","transformedInput","ngModelCtrl","$render","undefined","element","$setViewValue","$parsers","event","shiftKey","preventDefault","which","get","updateLanguage","directive","cache","link","attr","push","deferred","replace","promise","require","scope","close","cancel","$uibModalInstance","restrict","elm","attrs","ctrl","on","User","ConfirmPassword","NewPassword","$log","responseType","defer","resolve","reject","getDataByID","id","postGetData","agreementNumber","accept","Broker","retrieveSession","dismiss","$routeParams","GeneratedKey","generatedkey","checkPassword","formChange","txtConfirmPassword","$invalid","concat","email","submit","chgPass","issuccess","CIFInvestor","Sex","Religion","MaritalStatus","Education","ResidencyStatus","tmpdate","Date","setFullYear","getFullYear","maxDate","toISOString","slice","Kewarganegaraan","KewarganegaraanOption","IDLength","chkSeumurHidup","DisabledSeumurHidup","IDCardCitySelected","DomicileCitySelected","NationalitySelected","IDCardCountrySelected","IDCardKecamatanSelected","IDCardOK","ListNationality","ListLookup","ListReligion","ListMarital","ListEducation","ListResidencyStatus","ListKecamatan","ListKecamatanDomicile","ListKecamatanAll","ListKelurahan","ListKelurahanDomicile","checkIDCardNumber","IDCardNumber","obj","key","myForm1","$valid","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","BirthDate","imageUrl","imageAlt","imageHeight","animation","prepareData","AccountStatus","Number","EducationText","language","navigator","userLanguage","Language","date1","ClientBirthDate1","toLocaleDateString","ClientBirthDate2","ClientBirthDate3","cifdata","validationinput","errorForm","$error","required","validation","i","$name","FirstName","SpouseName","SpouseRelationship","MotherName","BirthPlace","listBankRDN","rdnbca","bankRDN","PhoneCode","bankpribadi","disabledNPWPNumber","OPBBCA","occupation","occupationText","position","positionText","business","businessText","OPBACA","OPBOTHER","OPSPOUSE","disableBank","disableCIFInvestorQuestionRDN","selectedFundSource","selectedSpouseFundSource","ListBank","listpekerjaan_BCA","listjabatan_BCA","listusaha_BCA","ListOccupation","ListSpouseIncome","CompanyCitySelected","SpouseCompanyCitySelected","selectCity","SpouseCompanyCity","CompanyCity","questionRDNchange","BankName","QuestionRDN","changeSpouseMandatory","param","spouseMandatory","flag","spouseMandatory2","spouseMandatory1","CIFLookupInteger","SpouseCompanyName","SpouseIncomePerAnnum","SpouseOccupation","SpousePosition","SpouseNatureOfBusiness","SpouseCompanyPostalCode","SpouseCompanyAddress","SpouseFundSource","NPWPNumber","QuestionNPWP","updateNPWP","NPWPReason","occupationChange_BACA","occupationChange_BCA","positionChange_BCA","occupationChange_OTHER","toggleFundSourceItem","fundsource","indexCIFLookupInteger","splice","FundSourceText","toggleSpouseFundSourceItem","SpouseFundSourceText","Occupation","OccupationText","Position","PositionText","NatureOfBusiness","NatureOfBusinessText","SpouseOccupationText","FundSource","AlertYesNo","AlertShowLoading","response","BankCabang","CompanyName","CompanyAddress","CompanyPostalCode","IncomePerAnnum","ContactPersonName","ContactPersonRelationn","ContactPersonMobilePhone","selected","ListFundSource","ListIncomePerAnnum","listpekerjaan_BACA","listposition_BCA","listnature_BCA","BankOwner","split","chkquestionfatca","chkquestion1","chkquestion2","chkquestion3","chkquestion4","myChangeFunction","newValue","CIFInvestorBeneficiaryOwner","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","Risk","$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","validateAgreementDEKLARASI","disclaimerDEKLARASI","modalMessage","resetSign","finishSignature","clear","completeSign","signature","dataUrl","isEmpty","TandaTanganFile","number","open","size","agree","SelfieFile","endsWith","disclaimerPTMKES","$timeout","page","datanasabah","stepClass","active","imgMale","imgDoc","imgFemale","State1","State2","State3","State4","stepActive","current","hash","showForm","goto","back","URLFolderKYC","imgItem","editing","now","type","navbarOptions","user_reset","UserNID","UserForget","user","showPassword","inputType","toggleShowPassword","UserLogin","AlertShowFooter","ListSales","disablesales","SalesSelected","disableBACA","disableBCA","showPasswordConfirmation","inputTypeConfirmation","toggleShowPasswordConfirmation","formRegister","infolengthpass","ListCountryPhone","selectSales","SalesPersonNID","Sales","checkBankNumber","BankNumber","Handphone","disclaimerRek"],"mappings":"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","file":"app.min.js","sourcesContent":["var app = angular.module(\"myApp\", ['slick','ui.bootstrap', 'ngAnimate', 'angular-jwt', 'ngRoute', 'ngCookies', 'ngMessages', 'ngFileUpload', 'ngCookies', 'signature', 'webcam', 'pascalprecht.translate', 'angular.filter']);\r\n\r\napp.run(['$rootScope',\r\nfunction ($rootScope) {\r\n \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\twhen('/',\r\n\t{\r\n\t templateUrl: '/template/login.html',\r\n\t controller: 'LoginCtrl'\r\n\t}).\r\n when('/register',\r\n\t{\r\n\t templateUrl: '/template/register.html',\r\n\t controller: 'RegisterCtrl'\r\n\t}).\r\n when('/register/:id',\r\n\t{\r\n\t templateUrl: '/template/register.html',\r\n\t controller: 'RegisterCtrl'\r\n\t}).\r\n when('/activation/:generatedkey',\r\n\t{\r\n\t templateUrl: '/template/activation.html',\r\n\t controller: 'ActivationCtrl'\r\n\t}).\r\n when('/forgetpassword',\r\n\t{\r\n\t templateUrl: '/template/forgetpassword.html',\r\n\t controller: 'forgetPasswordCtrl'\r\n\t}).\r\n when('/change_password/:generatedkey',\r\n\t{\r\n\t templateUrl: '/template/changePassword.html',\r\n\t controller: 'changePasswordCtrl'\r\n\t}).\r\n when('/login',\r\n\t{\r\n\t templateUrl: '/template/login.html',\r\n\t controller: 'LoginCtrl'\r\n\t}).\r\n when('/cif/data-pribadi',\r\n\t{\r\n\t templateUrl: '/template/CIF-1.html',\r\n\t controller: 'CIF-CTRL'\r\n\t}).\r\n when('/cif/data-pekerjaan',\r\n\t{\r\n\t templateUrl: '/template/CIF-2.html',\r\n\t controller: 'CIF2-CTRL'\r\n\t}).\r\n when('/cif/data-pendukung',\r\n\t{\r\n\t templateUrl: '/template/CIF-3.html',\r\n\t controller: 'CIF3-CTRL'\r\n\t}).\r\n when('/cif/data-pernyataan',\r\n\t{\r\n\t templateUrl: '/template/CIF-4.html',\r\n\t controller: 'CIF4-CTRL'\r\n\t}).\r\n when('/dashboard',\r\n\t{\r\n\t templateUrl: '/template/dashboard/dashboard.html',\r\n\t controller: 'CIFDashboard-CTRL'\r\n\t}).\r\n when('/profile',\r\n\t{\r\n\t templateUrl: '/template/dashboard/profile.html',\r\n\t controller: 'CIFProfile-CTRL'\r\n\t}).\r\n\totherwise(\r\n\t{\r\n\t redirectTo: '/logout'\r\n\t});\r\n\r\n $translateProvider.useStaticFilesLoader({\r\n prefix: '/lang/locale-',\r\n suffix: '.json'\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', '$q', '$cookies', '$translate', 'appFactory',\r\n function ($scope, $rootScope, $filter, $http, $window, $q, $cookies, $translate, appFactory) {\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 // 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 if (data.data.d == true) {\r\n $window.location.href = \"/#/\";\r\n }\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 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: 'Submit',\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 })\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 })\r\n return false;\r\n }\r\n\r\n callback(data.data.d.result); // send /return callback to .js\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 })\r\n };\r\n\r\n // checking halaman login,\r\n // jika ada session maka lanjutkan ke $scope.checkLoginStep\r\n $scope.checkLogin = function () {\r\n\r\n $http({\r\n method: 'POST',\r\n url: '/service/client.svc/retrieveSession',\r\n }).then(function (data) {\r\n if (data.data.d) {\r\n\r\n $scope.checkLoginStep(data.data.d);\r\n console.log(data.data.d)\r\n }\r\n }, function (error) { })\r\n }\r\n\r\n // req token: \r\n $scope.requestToken = function () {\r\n\r\n $http({\r\n method: 'POST',\r\n url: '/service/client.svc/RequestToken',\r\n headers: {\r\n 'Authorization': \"Basic eHh4Onl5eQ==\"\r\n }\r\n }).then(function (data) {\r\n\r\n\r\n if (data.data.d.access_token) {\r\n\r\n\r\n $window.localStorage.setItem('token', data.data.d.access_token)\r\n\r\n //$scope.checkLoginStep(data.data.d);\r\n //console.log(data.data.d)\r\n }\r\n }, function (error) { })\r\n }\r\n\r\n // check login step\r\n $scope.checkLoginStep = function (userSession) {\r\n\r\n // stage: finished\r\n if (userSession.IsFinished == 1) {\r\n $window.location.href = \"#/dashboard\";\r\n $window.location.reload();\r\n }\r\n\r\n // stage: 1\r\n if (userSession.Stage) {\r\n if (userSession.Stage == 1) {\r\n\r\n // stage: 1 and revised\r\n if (userSession.IsRevised == 1) {\r\n $window.location.href = \"#/dashboard\";\r\n $window.location.reload();\r\n } else {\r\n\r\n $window.location.href = \"#/cif/data-pribadi\";\r\n $window.location.reload();\r\n }\r\n }\r\n\r\n // stage: 2\r\n if (userSession.Stage == 2) {\r\n $window.location.href = \"#/cif/data-pekerjaan\";\r\n $window.location.reload();\r\n }\r\n\r\n // stage: 3\r\n if (userSession.Stage == 3) {\r\n $window.location.href = \"#/cif/data-pendukung\";\r\n $window.location.reload();\r\n }\r\n\r\n // stage: 4\r\n if (userSession.Stage == 4) {\r\n\r\n // stage: 4 and finished\r\n if (userSession.IsFinished == 1) {\r\n $window.location.href = \"#/dashboard\";\r\n $window.location.reload();\r\n } else {\r\n $window.location.href = \"#/cif/data-pernyataan\";\r\n }\r\n\r\n // stage: 4 and revised\r\n if (userSession.IsRevised == 1) {\r\n $window.location.href = \"#/dashboard\";\r\n $window.location.reload();\r\n }\r\n }\r\n }\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\r\n $http({\r\n method: 'POST',\r\n url: '/service/client.svc/retrieveSession',\r\n }).then(function (data) {\r\n\r\n console.log(data)\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 console.log($scope.currentUser)\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 '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 'submitregistrationconf':\r\n\r\n result.title = $filter('translate')('INFO.submitregistration');\r\n result.message = $filter('translate')('INFO.sure');\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 'bcagagal':\r\n\r\n result.title = $filter('translate')('INFO.failed');\r\n result.message = $filter('translate')('INFO.bcagagal');\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 'limitforget':\r\n\r\n result.title = $filter('translate')('INFO.failed');\r\n result.message = $filter('translate')('INFO.limitforget');\r\n break;\r\n case 'preparationinfouploadphotocif1':\r\n\r\n result.title = $filter('translate')('INFO.uploadphoto');\r\n result.message = $filter('translate')('INFO.preparationinfouploadphoto');\r\n break;\r\n case 'validationinput':\r\n\r\n result.title = $filter('translate')('INFO.validinput');\r\n result.message = $filter('translate')('INFO.validinputmsg');\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 default:\r\n\r\n result.title = \"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\n//app.directive('numericOnly', ['filter', function ($filter) {\r\n// return {\r\n// require: '?ngModel',\r\n// link: function (scope, elem, attrs, ctrl) {\r\n// if (!ctrl) {\r\n// return;\r\n// }\r\n\r\n// ctrl.$formatters.unshift(function () {\r\n// return $filter('number')(ctrl.$modelValue);\r\n// });\r\n\r\n// ctrl.$parsers.unshift(function (viewValue) {\r\n// var plainNumber = viewValue.replace(/[^\\d]/g, ''),\r\n// b = $filter('number')(plainNumber);\r\n\r\n// elem.val(b);\r\n// if (plainNumber == '') {\r\n// plainNumber = 0;\r\n// }\r\n// return parseInt(plainNumber);\r\n// });\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 console.log(element)\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 });\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 });\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 });\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 $scope.retrieveSession,\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.txtConfirmPassword.$invalid = true;\r\n } else {\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 // 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 (issuccess) {\r\n\r\n if (issuccess) // 6\r\n $window.location.href = \"#/login\"; \r\n });\r\n };\r\n}]);","app.controller('CIF-CTRL', ['$scope', '$window', '$q', '$filter', 'appFactory',\r\n function ($scope, $window, $q, $filter, appFactory) {\r\n\r\n $scope.CIFInvestor = {\r\n Sex: '',\r\n Religion: '',\r\n MaritalStatus: '',\r\n Education: '',\r\n ResidencyStatus: '',\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 = false;\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.ListResidencyStatus = [];\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 if ($scope.CIFInvestor.IDCardNumber) {\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 }\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 $scope.retrieveSessions(),\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 $scope.ListResidencyStatus = $filter('filter')($scope.ListLookup, { CIFLookupID: 'ResidencyStatus' }, 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.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 ($scope.CIFInvestor.ResidencyStatus == 0)\r\n $scope.CIFInvestor.ResidencyStatus = '';\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 text: 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 }\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\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 var date1 = $filter('date')(new Date($scope.CIFInvestor.BirthDate), 'yyyy-MM-dd');\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 }\r\n\r\n $scope.submit = function () {\r\n $scope.prepareData();\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 (issuccess) {\r\n\r\n if (issuccess) // 6\r\n $window.location.href = \"#/cif/data-pekerjaan\";\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-pekerjaan\";\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\r\n $scope.validationinput = function () {\r\n\r\n var errorForm = $scope.myForm1.$error.required\r\n var validation = $scope.myForm1.$valid;\r\n var message = [];\r\n //console.log('error :', errorForm);\r\n\r\n if (errorForm) {\r\n for (let i = 0; i < errorForm.length; i++) {\r\n //message += errorForm[i].$name + \" , \";\r\n message.push(errorForm[i].$name);\r\n }\r\n\r\n if ($scope.CIFInvestor.IDCardNumber == null)\r\n $scope.IDCardOK = false;\r\n\r\n if ($scope.CIFInvestor.FirstName != null //Data Pribadi Pemohon\r\n && $scope.Kewarganegaraan != null\r\n && $scope.CIFInvestor.IDCardNumber != null\r\n && $scope.CIFInvestor.SpouseName != null\r\n && $scope.CIFInvestor.SpouseRelationship != null\r\n && $scope.CIFInvestor.MotherName != null\r\n && $scope.CIFInvestor.Sex != null\r\n && $scope.CIFInvestor.BirthPlace != null\r\n && $scope.CIFInvestor.BirthDate != null\r\n && $scope.CIFInvestor.Religion != null\r\n && $scope.CIFInvestor.MaritalStatus != null\r\n && $scope.CIFInvestor.Education != null\r\n && $scope.CIFInvestor.EducationText != null\r\n && $scope.CIFInvestor.ResidencyStatus != null\r\n && $scope.CIFInvestor.IDCardCitySelected != null //Alamat Sesuai Identitas\r\n && $scope.CIFInvestor.IDCardKecamatan != null\r\n && $scope.CIFInvestor.IDCardKelurahan != null\r\n && $scope.CIFInvestor.IDCardRT != null\r\n && $scope.CIFInvestor.IDCardRW != null\r\n && $scope.CIFInvestor.IDCardPostalCode != null\r\n && $scope.CIFInvestor.IDCardAddress != null\r\n && $scope.DomicileCitySelected != null //Alamat Domisili \r\n && $scope.CIFInvestor.DomicileKecamatan != null\r\n && $scope.CIFInvestor.DomicileKelurahan != null\r\n && $scope.CIFInvestor.DomicileRT != null\r\n && $scope.CIFInvestor.DomicileRW != null\r\n && $scope.CIFInvestor.DomicilePostalCode != null\r\n && $scope.CIFInvestor.DomicileAddress != null)\r\n\r\n console.log('validation success');\r\n\r\n }\r\n\r\n //PROSES VALIDATION\r\n if (validation == false) {\r\n console.log(\"error : \" + message);\r\n\r\n var SWALtranslate = $scope.SWALtranslate('validationinput');\r\n Swal.fire({\r\n title: SWALtranslate.title,\r\n text: SWALtranslate.message,\r\n imageUrl: 'img/collection/wrong.png',\r\n imageAlt: 'Preparation',\r\n imageHeight: 250,\r\n animation: false\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\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.OPBACA = {\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.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.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 $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.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.OPBACA)\r\n {\r\n if ($scope.OPBACA.occupation.key == 12 || $scope.OPBACA.occupation.key == 34) {\r\n flag = true;\r\n $scope.spouseMandatory2 = true;\r\n $scope.spouseMandatory1 = false\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.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.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.occupationChange_BACA = function () {\r\n\r\n if ($scope.OPBACA.occupation) {\r\n\r\n $scope.OPBACA.occupationText = '';\r\n $scope.OPBACA.position = 0;\r\n $scope.OPBACA.positionText = '';\r\n $scope.OPBACA.business = 0;\r\n $scope.OPBACA.businessText = '';\r\n\r\n if ($scope.OPBACA.occupation.key == 12 || $scope.OPBACA.occupation.key == 34)\r\n $scope.changeSpouseMandatory(true);\r\n else\r\n $scope.changeSpouseMandatory();\r\n }\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.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 if ($scope.CIFInvestor.QuestionRDN == '26' || $scope.CIFInvestor.QuestionRDN == 26) {\r\n $scope.CIFInvestor.BankName = $scope.bankpribadi;\r\n $scope.CIFInvestor.Occupation = $scope.OPBACA.occupation.key;\r\n $scope.CIFInvestor.OccupationText = $scope.OPBACA.occupationText;\r\n $scope.CIFInvestor.Position = 0;\r\n $scope.CIFInvestor.PositionText = $scope.OPBACA.positionText;\r\n $scope.CIFInvestor.NatureOfBusiness = 0;\r\n $scope.CIFInvestor.NatureOfBusinessText = $scope.OPBACA.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.OPSPOUSE.occupationText;\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\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\r\n\r\n //$scope.submit = function () {\r\n // $scope.prepareData();\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 (issuccess) {\r\n\r\n // if (issuccess) // 6\r\n // $window.location.href = \"#/cif/data-pendukung\";\r\n // else {\r\n // Swal.fire('Failed', data.data.d.response, 'error');\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\r\n\r\n $scope.validationinput = function () {\r\n\r\n if ($scope.CIFInvestor.BankCabang != null //Data Bank & Pekerjaan\r\n && ($scope.CIFInvestor.QuestionNPWP != null || $scope.CIFInvestor.QuestionNPWP != 0)\r\n && $scope.CIFInvestor.NPWPNumber != null\r\n && $scope.CIFInvestor.NPWPReason != null\r\n && $scope.OPBBCA.occupation != null\r\n && $scope.OPBBCA.positionText != null\r\n && $scope.OPBBCA.businessText != null\r\n && $scope.CIFInvestor.CompanyName != null\r\n && $scope.CIFInvestor.CompanyAddress != null\r\n && $scope.CompanyCitySelected != null\r\n && $scope.CIFInvestor.CompanyPostalCode != null\r\n && $scope.FundSource != null\r\n && $scope.CIFInvestor.IncomePerAnnum != null\r\n && $scope.CIFInvestor.ContactPersonName != null //Kontak Darurat\r\n && $scope.CIFInvestor.ContactPersonRelationn != null\r\n && $scope.CIFInvestor.ContactPersonMobilePhone != null\r\n && $scope.CIFInvestor.SpouseCompanyName != null //Jika memilih sumber penghasilan dari ortu\r\n && $scope.CIFInvestor.SpouseIncomePerAnnum != null\r\n && $scope.OPSPOUSE.occupation != null\r\n && $scope.OPSPOUSE.position != null\r\n && $scope.SpouseCompanyCitySelected != null\r\n && $scope.CIFInvestor.SpouseCompanyPostalCode != null\r\n && $scope.CIFInvestor.SpouseCompanyAddress != null\r\n && $scope.SpouseFundSource.selected != null\r\n && $scope.CIFInvestor.SpouseFundSourceText != null)\r\n {\r\n console.log('validation success');\r\n }\r\n else {\r\n var SWALtranslate = $scope.SWALtranslate('validationinput');\r\n\r\n Swal.fire({\r\n title: SWALtranslate.title,\r\n text: SWALtranslate.message,\r\n imageUrl: 'img/collection/wrong.png',\r\n imageAlt: 'Preparation',\r\n imageHeight: 250,\r\n animation: false\r\n });\r\n }\r\n }\r\n\r\n var allPromise = $q.all([\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 }\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/GetCIFPekerjaanBACA`).then(function (data) {\r\n\r\n if (data.status == 200) {\r\n\r\n $scope.listpekerjaan_BACA = 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 if ($scope.CIFInvestor.SpouseCompanyCity)\r\n $scope.SpouseCompanyCitySelected = $filter('filter')($scope.ListProvinceCity, { CIFProvinceCityNID: $scope.CIFInvestor.DomicileCity }, 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 });\r\n }\r\n }\r\n }\r\n })\r\n }\r\n } else if ($scope.CIFInvestor.QuestionRDN == '26' || $scope.CIFInvestor.QuestionRDN == 26) {\r\n\r\n $scope.OPBACA.occupationText = $scope.CIFInvestor.OccupationText;\r\n $scope.OPBACA.positionText = $scope.CIFInvestor.PositionText;\r\n $scope.OPBACA.businessText = $scope.CIFInvestor.NatureOfBusinessText;\r\n\r\n if ($scope.CIFInvestor.Occupation && $scope.CIFInvestor.Occupation > 0) {\r\n\r\n $scope.OPBACA.occupation = $filter('filter')($scope.listpekerjaan_BACA, { key: $scope.CIFInvestor.Occupation }, true)[0];\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 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.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 $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 }\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 $scope.myChangeFunction = function (newValue) {\r\n console.log('benef', $scope.CIFInvestorBeneficiaryOwner)\r\n if ($scope.CIFInvestorBeneficiaryOwner == 2 || $scope.CIFInvestorBeneficiaryOwner == '2') {\r\n Swal.fire({\r\n title: 'Perhatian !!!',\r\n text: 'Untuk pilihan buka rekening kepentingan orang/pihak lain silakan menghubungi customer service Pilarmas Sekuritas di 087788997788',\r\n width: '900px',\r\n animation: false\r\n });\r\n }\r\n }\r\n\r\n var allPromise = $q.all([\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 $scope.retrieveSessions()\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 }\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.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 (issuccess) {\r\n\r\n if (issuccess) // 6\r\n $window.location.href = \"#/cif/data-pernyataan\";\r\n });\r\n }\r\n\r\n $scope.validationinput = function () {\r\n\r\n if ($scope.CIFInvestor.FATCA1 != null //Jika Bukan WNI\r\n && $scope.CIFInvestor.FATCA2 != null\r\n && $scope.CIFInvestor.FATCA3 != null\r\n && $scope.CIFInvestor.InvestmentObjectives != null //Profil Resiko\r\n && $scope.CIFInvestor.Risk != null\r\n && $scope.CIFInvestor.Question1 != null\r\n && $scope.CIFInvestor.Question1_Text != null\r\n && $scope.CIFInvestor.Question2 != null\r\n && $scope.CIFInvestor.Question2_Text != null\r\n && $scope.CIFInvestor.Question3 != null\r\n && $scope.CIFInvestor.Question3_Text != null\r\n && $scope.CIFInvestor.Question4 != null\r\n && $scope.CIFInvestor.Question4_Text != null\r\n && $scope.CIFInvestor.Question5 != null \r\n && $scope.CIFInvestor.Question5_Text != null\r\n && $scope.CIFInvestor.Question6 != null\r\n && $scope.CIFInvestor.Question6_Text != null)\r\n {\r\n console.log('validation success');\r\n }\r\n else {\r\n var SWALtranslate = $scope.SWALtranslate('validationinput');\r\n\r\n Swal.fire({\r\n title: SWALtranslate.title,\r\n text: SWALtranslate.message,\r\n imageUrl: 'img/collection/wrong.png',\r\n imageAlt: 'Preparation',\r\n imageHeight: 250,\r\n animation: false\r\n });\r\n }\r\n }\r\n}]);\r\n\r\n\r\n","app.controller('CIF4-CTRL', ['$scope', '$rootScope', '$uibModal', '$q', 'appFactory',\r\n function ($scope, $rootScope, $uibModal, $q, appFactory) {\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 || $scope.CIFInvestor.QuestionRDN == 26) {\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 let htmlName = 'template/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 && $scope.disclaimerDEKLARASI == true)\r\n $scope.disclaimerBank = true;\r\n }\r\n }, function () { });\r\n };\r\n\r\n var allPromise = $q.all([\r\n $scope.retrieveSessions()\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.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 }\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\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 (issuccess) {\r\n\r\n if (issuccess) { // 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', '$timeout', '$q', 'appFactory',\r\n function ($scope, $http, $window, $timeout, $q, appFactory) {\r\n\r\n $scope.CIFInvestor = {}\r\n $scope.page = '';\r\n\r\n $scope.datanasabah = function () {\r\n\r\n $window.location.href = \"#/profile\";\r\n }\r\n\r\n $scope.stepClass = ['', 'blur', 'blur', 'blur', 'blur'];\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\r\n $scope.retrieveSessions()\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\";\r\n\r\n if ($scope.CIFInvestor.State2)\r\n $scope.stepClass[2] = \"active current\";\r\n\r\n if ($scope.CIFInvestor.State3)\r\n $scope.stepClass[3] = \"active current\";\r\n\r\n if ($scope.CIFInvestor.State4)\r\n $scope.stepClass[4] = \"active current\";\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 }\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('CIFHeadCtrl', ['$scope', '$window', '$q', 'appFactory',\r\n function ($scope, $window, $q, appFactory) {\r\n $scope.stepClass = ['','', '', '', ''];\r\n $scope.stepActive = 'active current';\r\n $scope.current = 0;\r\n\r\n var allPromise = $q.all([\r\n appFactory.postGetData(`/service/client.svc/retrieveSession`, 'POST').then(function (data) {\r\n\r\n if (data.status == 200) {\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 })\r\n ]);\r\n \r\n allPromise.then(function () {\r\n\r\n for(var i=1;i<5;i++)\r\n {\r\n if (i <= $scope.currentUser.Stage)\r\n $scope.stepClass[i] = 'done';\r\n }\r\n\r\n switch ($window.location.hash) {\r\n case \"#/cif/data-pribadi\": $scope.current = 1; $scope.stepClass[1] = $scope.stepActive; break;\r\n case \"#/cif/data-pekerjaan\": $scope.current = 2; $scope.stepClass[2] = $scope.stepActive; break;\r\n case \"#/cif/data-pendukung\": $scope.current = 3; $scope.stepClass[3] = $scope.stepActive; break;\r\n case \"#/cif/data-pernyataan\": $scope.current = 4; $scope.stepClass[4] = $scope.stepActive; break;\r\n }\r\n });\r\n\r\n\r\n $scope.showForm = function (goto) {\r\n if (goto <= $scope.currentUser.Stage)\r\n {\r\n let page = '#/cif/data-pribadi';\r\n\r\n switch (goto) {\r\n case 1: page = '#/cif/data-pribadi'; break;\r\n case 2: page = '#/cif/data-pekerjaan'; break;\r\n case 3: page = '#/cif/data-pendukung'; break;\r\n case 4: page = '#/cif/data-pernyataan'; break;\r\n }\r\n $window.location.href = page;\r\n $window.location.reload();\r\n }\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 $scope.retrieveSessions()\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 if ($scope.CIFInvestor.QuestionRDN == 1) {\r\n $scope.CIFInvestor.QuestionRDN = \"BANK CENTRAL ASIA\";\r\n }\r\n else {\r\n $scope.CIFInvestor.QuestionRDN = \"BANK CAPITAL\";\r\n }\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 console.log($scope.CIFInvestor.NPWPFile)\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.Sex) {\r\n if ($scope.CIFInvestor.Sex == 'Male') {\r\n $scope.imgMale = \"../img/svg/report-male.svg\";\r\n }\r\n\r\n if ($scope.CIFInvestor.Sex == \"Female\") {\r\n $scope.imgMale = \"../img/svg/report-animate.svg\";\r\n }\r\n }\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 }\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 (issuccess) {\r\n\r\n if (issuccess) // 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 // check login, jika ada session, maka pergi ke stage saat itu.\r\n $scope.checkLogin()\r\n ]);\r\n\r\n\r\n allPromise.then(function () {\r\n\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 console.log($scope.result)\r\n\r\n $scope.checkLoginStep($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/ResendEmailActivation?param=' + $scope.result.param; // 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 (issuccess) {\r\n\r\n if (issuccess) // 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}]);\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 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 $window.location.href = \"#/login\";\r\n\r\n var SWALtranslate = $scope.SWALtranslate('activationsuccess');\r\n Swal.fire(SWALtranslate.title, SWALtranslate.message, 'success');\r\n }\r\n }\r\n })\r\n ]);\r\n\r\n allPromise.then(function () {\r\n\r\n });\r\n}]);\r\n","app.controller('RegisterCtrl', ['$scope', '$routeParams', '$http', '$window', '$q', 'appFactory',\r\nfunction ($scope, $routeParams, $http, $window, $q, appFactory) {\r\n\r\n $scope.user = {};\r\n $scope.ListSales = [];\r\n\r\n $scope.user.PhoneCode = '+62';\r\n $scope.user.QuestionRDN = '1';\r\n\r\n $scope.disablesales = false;\r\n $scope.SalesSelected = '';\r\n $scope.ConfirmPassword = '';\r\n $scope.SalesSelected = '';\r\n\r\n $scope.disableBACA = false;\r\n $scope.disableBCA = false;\r\n\r\n $scope.page = 'step1';\r\n\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 $scope.showPasswordConfirmation = false;\r\n $scope.inputTypeConfirmation = 'password';\r\n $scope.toggleShowPasswordConfirmation = function () {\r\n $scope.showPasswordConfirmation = !$scope.showPasswordConfirmation;\r\n if ($scope.inputTypeConfirmation == 'password')\r\n $scope.inputTypeConfirmation = 'text';\r\n else\r\n $scope.inputTypeConfirmation = 'password';\r\n }\r\n\r\n $scope.checkPassword = function () {\r\n if ($scope.ConfirmPassword != $scope.user.Password) {\r\n $scope.formRegister.txtConfirmPassword.$invalid = true;\r\n $scope.infolengthpass = false;\r\n }\r\n };\r\n\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/GetCIFSales`).then(function (data) {\r\n\r\n if (data.status == 200)\r\n $scope.ListSales = data.data.d;\r\n }),\r\n appFactory.getData(`/service/client.svc/GetCIFBank`).then(function (data) {\r\n\r\n if (data.status == 200)\r\n $scope.ListBank = data.data.d;\r\n }),\r\n ]);\r\n\r\n allPromise.then(function () {\r\n\r\n });\r\n\r\n // when sales is selected\r\n $scope.selectSales = function (item, model, label, event) {\r\n\r\n if (item.SalesPersonNID) {\r\n $scope.user.Sales = item.SalesPersonNID;\r\n $scope.SalesSelected = 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 // jika url ke: register/{id sales} maka sales selected auto\r\n //if ($routeParams.id) {\r\n\r\n // appFactory.getData(`/service/client.svc/GetAliasSales?alias=${$routeParams.id}`).then(function (data) {\r\n\r\n // if (data.status == 200) {\r\n // // jika id sales di temukan maka:\r\n // if (data.data.d.SalesPersonNID > 0) {\r\n\r\n // $scope.user.Sales = data.data.d.SalesPersonNID;\r\n // $scope.SalesSelected = data.data.d;\r\n // $scope.disablesales = true;\r\n // }\r\n // }\r\n // });\r\n //}\r\n\r\n if ($routeParams.id == \"BACA\") {\r\n\r\n $scope.user.QuestionRDN = 26;\r\n $scope.disableBCA = true;\r\n }\r\n\r\n if ($routeParams.id == \"BCA\") {\r\n\r\n $scope.user.QuestionRDN = 1;\r\n $scope.disableBACA = true;\r\n }\r\n\r\n // variables before submit post\r\n $scope.prepareData = function () {\r\n \r\n if ($scope.user.Sales == \"\")\r\n $scope.user.Sales = 133;\r\n\r\n $scope.user.BankName = $scope.bankpribadi;\r\n }\r\n\r\n $scope.submit = function () {\r\n\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/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 (issuccess) {\r\n\r\n if (issuccess) // 6\r\n $window.location.href = \"#/login\";\r\n });\r\n }\r\n\r\n $scope.validationinput = function () {\r\n\r\n if ($scope.user.FirstName != null \r\n && $scope.user.Email != null\r\n && $scope.user.Handphone != null\r\n && $scope.user.BankOwner != null\r\n && $scope.user.BankNumber != null\r\n && $scope.user.Password != null\r\n && $scope.ConfirmPassword != null\r\n && $scope.disclaimerRek != null\r\n ) {\r\n console.log('validation success');\r\n }\r\n else {\r\n var SWALtranslate = $scope.SWALtranslate('validationinput');\r\n\r\n Swal.fire({\r\n title: SWALtranslate.title,\r\n text: SWALtranslate.message,\r\n imageUrl: 'img/collection/wrong.png',\r\n imageAlt: 'Preparation',\r\n imageHeight: 250,\r\n animation: false\r\n });\r\n }\r\n }\r\n}]);\r\n"]}