"use strict";angular.module("temujanjiApp",["ngAnimate","ngCookies","ngResource","ngRoute","ngSanitize","ngTouch","ui.bootstrap","ngCsv","pascalprecht.translate","vcRecaptcha"]).config(["$routeProvider","$locationProvider","$translateProvider",function(a,b,c){a.when("/",{template:"Front Page"}).when("/borang-permohonan",{template:"<form-temujanji></form-temujanji>"}).when("/semak",{template:"<semak></semak>"}).when("/maklum-balas",{template:"<maklum-balas></maklum-balas>"}).when("/private/senarai-permohonan",{template:"<list-permohonan></list-permohonan>",resolve:{auth:["authRouteService",function(a){var b={access:1};return a.getAuthRoute(b)}]}}).when("/private/cetak-senarai-permohonan",{template:"<cetak-senarai-permohonan></cetak-senarai-permohonan>",resolve:{auth:["authRouteService",function(a){var b={access:1};return a.getAuthRoute(b)}]}}).when("/private/senarai-pejabat-laut",{template:"<senarai-pejabat-laut></senarai-pejabat-laut>",resolve:{auth:["authRouteService",function(a){var b={access:1};return a.getAuthRoute(b)}]}}).when("/private/senarai-bahagian",{template:"<senarai-bahagian></senarai-bahagian>",resolve:{auth:["authRouteService",function(a){var b={access:1};return a.getAuthRoute(b)}]}}).when("/private/senarai-pegawai",{template:"<senarai-pegawai></senarai-pegawai>",resolve:{auth:["authRouteService",function(a){var b={access:1};return a.getAuthRoute(b)}]}}).when("/private/person-incharge/senarai-pegawai",{template:"<selenggara-pegawai-oleh-pic></selenggara-pegawai-oleh-pic>",resolve:{auth:["authRouteService",function(a){var b={access:1};return a.getAuthRoute(b)}]}}).when("/private/senarai-pengguna",{template:"<senarai-pengguna></senarai-pengguna>",resolve:{auth:["authRouteService",function(a){var b={access:1};return a.getAuthRoute(b)}]}}).when("/private/senarai-cuti",{template:"<senarai-cuti></senarai-cuti>",resolve:{auth:["authRouteService",function(a){var b={access:1};return a.getAuthRoute(b)}]}}).when("/private/laporan/officer-appointment-frequency",{template:"<officer-appointment-frequency></officer-appointment-frequency>",resolve:{auth:["authRouteService",function(a){var b={access:1};return a.getAuthRoute(b)}]}}).when("/private/laporan/number-of-appointment",{template:"<number-of-appointment></number-of-appointment>",resolve:{auth:["authRouteService",function(a){var b={access:1};return a.getAuthRoute(b)}]}}).when("/private/laporan/response-time",{template:"<laporan-response-time></laporan-response-time>",resolve:{auth:["authRouteService",function(a){var b={access:1};return a.getAuthRoute(b)}]}}).when("/private/laporan/report-by-negeri",{template:"<report-by-negeri></report-by-negeri>",resolve:{auth:["authRouteService",function(a){var b={access:1};return a.getAuthRoute(b)}]}}).when("/private/permohonan/:id/:norujukan/approval/:status",{template:"<approve-form></approve-form>",resolve:{auth:["authRouteService",function(a){var b={access:1};return a.getAuthRoute(b)}]}}).when("/private/profil",{template:"<profil><profil/>",resolve:{auth:["authRouteService",function(a){var b={access:1};return a.getAuthRoute(b)}]}}).when("/logout",{template:"<logout></logout>",resolve:{auth:["authRouteService",function(a){var b={access:1};return a.getAuthRoute(b)}]}}).when("/dashboard",{template:"<dashboard></dashboard>",resolve:{auth:["authRouteService",function(a){var b={access:1};return a.getAuthRoute(b)}]}}).when("/login-page",{template:"<login-page></login-page>",resolve:{auth:["authRouteService",function(a){var b={access:0};return a.getAuthRoute(b)}]}}).when("/public/senarai-permohonan",{template:"<list-permohonan></list-permohonan>"}).otherwise({redirectTo:"/borang-permohonan"}),c.useStaticFilesLoader({prefix:"api/language/",suffix:".json"}),b.hashPrefix(""),c.useSanitizeValueStrategy("sceParameters"),c.preferredLanguage("my")}]),angular.module("temujanjiApp").component("temujanji",{templateUrl:"views/temujanji.html",controller:["$log","storage","$cookies","$rootScope","$route","$sce","$http","$location","$translate",function(a,b,c,d,e,f,g,h,i){var j=this;j.$location=h,j.$onInit=function(){j.navibarLastUpd=b.getNavibarLastUpdate(),j.childsLastUpd=b.getChildsLastUpdate();var a=(new Date).getTime();c.put("dashDate",a),d.dashDate=a,j.btnDisabledMy=!0,j.btnDisabledEn=!1,k()},j.reload=function(){e.reload()},j.changeLanguage=function(a){i.use(a),"my"==i.proposedLanguage()&&(j.btnDisabledMy=!0,j.btnDisabledEn=!1),"en"==i.proposedLanguage()&&(j.btnDisabledMy=!1,j.btnDisabledEn=!0)};var k=function(){g({method:"GET",url:"./api/website/website_info.php"}).then(function(a){j.websiteInfo=a.data,j.websiteInfo.link_maklumbalas=f.trustAsResourceUrl(j.websiteInfo.link_maklumbalas)},function(b){j.websiteInfo={},a.error("General Error : ",b)})}}]}),angular.module("temujanjiApp").component("formTemujanji",{templateUrl:"views/form-temujanji.html",controller:["$log","$location","dateService","$http","modalServices","toastServices","lookup","$uibModal","$filter",function(a,b,c,d,e,f,g,h,i){var j=this;j.step=1,j.$location=b,j.formTemujanji={},j.ddlNegeri=[],j.ddlPejabatLaut=[],j.ddlbahagian=[],j.ddltujuan=[],j.ddlMasa=[],j.norujukan="JLM120102001TEST",j.$onInit=function(){n(),l();var a=new Date;j.curentYear=a.getFullYear()};var k=function(a,b){var d;d=1==a.weekend?1:0,j.dtFormat=c.getFormat(),j.dtOptions=c.getOption(0,d,a.id,b.openDateToday),j.dtAltInputFormats=c.getAltInputFormats(),c.addNewDateConfig(),j.dateConfigInstances=c.getDateConfigInstances()},l=function(){g.lookupNegeri().then(function(a){j.ddlNegeri=a.data},function(b){a.error(b)})};j.bindPejabatLaut=function(){(j.formTemujanji.negeri||null!=j.formTemujanji.negeri)&&g.lookupPejabatLaut({negeri:j.formTemujanji.negeri.id}).then(function(a){j.ddlPejabatLaut=a.data},function(b){a.error(b)}),j.ddlPejabatLaut=[],j.ddlbahagian=[],j.ddltujuan=[],j.formTemujanji.pejabatlaut=null,j.formTemujanji.bahagian=null,j.formTemujanji.tujuan=null,j.formTemujanji.tarikh=null,j.formTemujanji.masa=null},j.bindBahgian=function(){(j.formTemujanji.pejabatlaut||null!=j.formTemujanji.pejabatlaut)&&(k(j.formTemujanji.negeri,j.formTemujanji.pejabatlaut),g.lookupBahagian({pejabat_laut:j.formTemujanji.pejabatlaut.id}).then(function(a){j.ddlbahagian=a.data},function(b){a.error(b)})),j.ddlbahagian=[],j.ddltujuan=[],j.formTemujanji.bahagian=null,j.formTemujanji.tujuan=null,j.formTemujanji.tarikh=null,j.formTemujanji.masa=null},j.bindTujuan=function(){(j.formTemujanji.bahagian||null!=j.formTemujanji.bahagian)&&g.lookupTujuan().then(function(a){j.ddltujuan=a.data},function(b){a.error(b)}),j.ddltujuan=[],j.formTemujanji.tujuan=null,j.formTemujanji.tarikh=null,j.formTemujanji.masa=null},j.bindMasa=function(){if(j.formTemujanji.masa=null,j.formTemujanji.negeri||null!=j.formTemujanji.negeri){var b=angular.copy(j.formTemujanji);if(""!=j.formTemujanji.tarikh){b.tarikh=c.getStringFormattedDT(j.formTemujanji.tarikh,1);var d=c.getStringFormattedDT(j.formTemujanji.tarikh,3);j.formTemujanji.dateOnly=d}var e=j.formTemujanji.tarikh,f=e.getDay(),h={};h.tarikh=b.tarikh,h.daysOfNo=f,h.weekend=b.negeri.weekend,h.pejabat=b.pejabatlaut.id,g.lookupMasa(h).then(function(a){j.ddlMasa=a.data},function(b){a.error(b)})}};var m=function(){j.isLoading=!0;var b=angular.copy(j.formTemujanji);""!=j.formTemujanji.negeri&&(b.negeri=j.formTemujanji.negeri.id),""!=j.formTemujanji.pejabatlaut&&(b.pejabatlaut=j.formTemujanji.pejabatlaut.id),""!=j.formTemujanji.bahagian&&(b.bahagian=j.formTemujanji.bahagian.id),""!=j.formTemujanji.tujuan&&(b.tujuan=j.formTemujanji.tujuan.id),""!=j.formTemujanji.tarikh&&(b.tarikh=c.getStringFormattedDT(j.formTemujanji.tarikh,1)),""!=j.formTemujanji.masa&&(b.masa=j.formTemujanji.masa.masa),d({method:"POST",url:"./api/temujanji/save_temujanji.php",data:b}).then(function(a){j.message=a.data,f.toastNotify("",i("translate")("MSG_6"),1),j.norujukan=j.message.norujukan,j.formTemujanji.norujukan=j.message.norujukan,j.step=4,j.isLoading=!1},function(b){a.error("Error pengguna service",b),401===b.status?a.log("status error",b):(a.log("status error",b),f.toastNotify("","Error "+b.status,2))})};j.confirmButton=function(){var a={size:"sm"},b={closeButtonText:i("translate")("BTN_CANCEL"),actionButtonText:i("translate")("BTN_SUBMIT"),headerText:"",bodyText:i("translate")("MSG_1"),buttonClass:"btn-success"};e.showModal(a,b).then(function(a){m()})};var n=function(a){var b=h.open({animation:!0,component:"modalTermaSyarat",size:"lg",backdrop:"static",keyboard:!1,resolve:{items:function(){return a}}});b.result.then(function(a){},function(){})};j.checkStatusHariBekerja=function(b){(b||null!=b)&&d({method:"GET",url:"./api/temujanji/check_status_hari_bekerja.php",params:b}).then(function(a){var b=a.data;1==b.block?(o(),j.disabledPejabatLaut=!0):j.disabledPejabatLaut=!1},function(b){a.error("Error pengguna service",b),401===b.status?a.log("status error",b):(a.log("status error",b),f.toastNotify("","Error "+b.status,2))})};var o=function(){var a={size:"sm"},b={closeButtonText:"hide",actionButtonText:"OK",headerText:"",bodyText:i("translate")("TEXT_14_2"),buttonClass:"primary-custom"};e.showModal(a,b).then(function(a){})}}]}),angular.module("temujanjiApp").factory("dateService",["$log","$http",function(a,b){var c=[],d="dd-MM-yyyy",e=["M!/d!/yyyy"],f={startingDay:0,showWeeks:!0,minDate:new Date},g="MM-yyyy",h=["M!/yyyy"],i={startingDay:0,datepickerMode:"month",minMode:"month"},j="yyyy",k=["yyyy"],l={startingDay:0,datepickerMode:"year",minMode:"year"},m=function(a,b,c){var d=new Date(a,b,c);return d},n=[],o=function(c){var d={};null!=c&&(d.negeri=c),n=[];var e="/9dTNA7nZA/IQmaX75GuQXOUmUM5vZiJJ+l4P0Pc+viE++ddSKGYdcuUjGcdS8ln4RtA8884i0gDbi/12gpaW52R59O6Edgdg4eTDNo/5lLnXIUEhsIIH8A34rM77Met",f={method:"GET",url:"./api/lookup/lookup_cuti.php",headers:{Authorization:"Bearer "+e},params:d};b(f).then(function(a){n=0!=a.data.cuti?a.data.cuti:[]},function(b){n=[],a.error("General Error : ",b)})};return{getOption:function(a,b,c,d){function e(a){var b=a.date,c=a.mode,d=b.getDate(),e=b.getMonth()+1,f=b.getFullYear();d=10>d?"0"+d:d,e=10>e?"0"+e:e;var g=f+"-"+e+"-"+d,h=n;return 0!=h.length?"day"===c&&-1!=h.indexOf(g):void 0}function e(a){var b=a.date,c=a.mode,d=b.getDate(),e=b.getMonth()+1,f=b.getFullYear();d=10>d?"0"+d:d,e=10>e?"0"+e:e;var g=f+"-"+e+"-"+d,h=n;return 0!=h.length?"day"===c&&(0===b.getDay()||6===b.getDay()||-1!=h.indexOf(g)):"day"===c&&(0===b.getDay()||6===b.getDay())}function g(a){var b=a.date,c=a.mode,d=b.getDate(),e=b.getMonth()+1,f=b.getFullYear();d=10>d?"0"+d:d,e=10>e?"0"+e:e;var g=f+"-"+e+"-"+d,h=n;return 0!=h.length?"day"===c&&(5===b.getDay()||6===b.getDay()||-1!=h.indexOf(g)):"day"===c&&(5===b.getDay()||6===b.getDay())}if(1==a)return i;if(2==a)return l;if(3==a)return f={startingDay:0,showWeeks:!0};if(4==a){o();var h=new Date;return h.setDate(h.getDate()+0),f={startingDay:0,showWeeks:!0,minDate:h,dateDisabled:e}}o(c);var j;j=1==b?g:e;var k=new Date,m=k.getHours();m>=18?k.setDate(k.getDate()+2):"0"===d?k.setDate(k.getDate()):k.setDate(k.getDate()+1);var p=new Date;return p.setDate(p.getDate()+90),f=5==a?{startingDay:0,showWeeks:!0,minDate:k,dateDisabled:j}:{startingDay:0,showWeeks:!0,minDate:k,maxDate:p,dateDisabled:j}},getFormat:function(a){return 1==a?g:2==a?j:d},getAltInputFormats:function(a){return 1==a?h:2==a?k:e},getDate:function(a,b,c){var d=m(a,b,c);return d},getToday:function(){var a=new Date;return a},getStringFormattedDT:function(a,b){var c,d,e;return d=a.getDate()<10?"0"+a.getDate():a.getDate(),e=a.getMonth()+1<10?"0"+(a.getMonth()+1):a.getMonth()+1,c=1==b?a.getFullYear()+"-"+e+"-"+d:2==b?a.getFullYear():3==b?d+"-"+e+"-"+a.getFullYear():a.getFullYear()+"-"+e+"-"+d+" "+a.getHours()+":"+a.getMinutes()+":"+a.getSeconds()},getStringFormattedT:function(a){var b;return b=a.getHours()+":"+a.getMinutes()+":"+a.getSeconds()},addNewDateConfig:function(a){c.push({popupOpened:!1,open:function(){this.popupOpened=!0},format:d})},getDateConfigInstances:function(){return c}}}]),angular.module("temujanjiApp").factory("toastServices",function(){return toastr.options={closeButton:!0,debug:!1,newestOnTop:!1,progressBar:!0,positionClass:"toast-bottom-right",preventDuplicates:!1,onclick:null,showDuration:"300",hideDuration:"1000",timeOut:"4000",extendedTimeOut:"1000",showEasing:"swing",hideEasing:"linear",showMethod:"fadeIn",hideMethod:"fadeOut"},{toastNotify:function(a,b,c){return 1==c?toastr.success(b,a):2==c?toastr.error(b,a):3==c?toastr.warning(b,a):4==c?toastr.info(b,a):void 0}}}),angular.module("temujanjiApp").factory("modalServices",["$uibModal",function(a){var b=this,c={backdrop:!1,keyboard:!0,modalFade:!0,size:"sm",templateUrl:"views/modal-services.html"},d={closeButtonText:"Close",actionButtonText:"OK",headerText:"Proceed?",bodyText:"Perform this action?",buttonClass:"btn-danger"};return b.show=function(b,e){var f={},g={};return angular.extend(f,c,b),angular.extend(g,d,e),f.controller||(f.controller=["$scope","$uibModalInstance",function(a,b){a.modalOptions=g,a.modalOptions.ok=function(a){b.close(a)},a.modalOptions.close=function(a){b.dismiss("cancel")}}]),a.open(f).result},{showModal:function(a,c){return a||(a={},a.backdrop="static"),b.show(a,c)}}}]),angular.module("temujanjiApp").component("preloader",{templateUrl:"views/preloader.html",controller:["$log",function(a){}]}),angular.module("temujanjiApp").factory("lookup",["$http",function(a){var b="/9dTNA7nZA/IQmaX75GuQXOUmUM5vZiJJ+l4P0Pc+viE++ddSKGYdcuUjGcdS8ln4RtA8884i0gDbi/12gpaW52R59O6Edgdg4eTDNo/5lLnXIUEhsIIH8A34rM77Met";return{lookupMasa:function(c){var d={method:"GET",url:"./api/lookup/lookup_masa.php",headers:{Authorization:"Bearer "+b},params:c};return a(d)},lookupNegeri:function(c){var d={method:"GET",url:"./api/lookup/lookup_negeri.php",headers:{Authorization:"Bearer "+b},params:c};return a(d)},lookupPejabatLaut:function(c){var d={method:"GET",url:"./api/lookup/lookup_pejabat_laut.php",headers:{Authorization:"Bearer "+b},params:c};return a(d)},lookupStatus:function(c){var d={method:"GET",url:"./api/lookup/lookup_status.php",headers:{Authorization:"Bearer "+b},params:c};return a(d)},lookupBahagian:function(c){var d={method:"GET",url:"./api/lookup/lookup_bahagian.php",headers:{Authorization:"Bearer "+b},params:c};return a(d)},lookupTujuan:function(c){var d={method:"GET",url:"./api/lookup/lookup_tujuan.php",headers:{Authorization:"Bearer "+b},params:c};return a(d)},lookupPegawai:function(c){var d={method:"GET",url:"./api/lookup/lookup_pegawai.php",headers:{Authorization:"Bearer "+b},params:c};return a(d)},lookupRole:function(c){var d={method:"GET",url:"./api/lookup/lookup_role.php",headers:{Authorization:"Bearer "+b},params:c};return a(d)},lookupStatusVerifySecurity:function(c){var d={method:"GET",url:"./api/lookup/lookup_status_verify_security.php",headers:{Authorization:"Bearer "+b},params:c};return a(d)},lookupNegeriAdmin:function(c){var d={method:"GET",url:"./api/lookup/lookup_negeri_admin.php",headers:{Authorization:"Bearer "+b},params:c};return a(d)}}}]),angular.module("temujanjiApp").component("modalTermaSyarat",{templateUrl:"views/modal-terma-syarat.html",bindings:{resolve:"<",close:"&",dismiss:"&"},controller:["$log","$http","$uibModal","$timeout",function(a,b,c,d){var e=this;e.check=!1,e.tab=1,e.isLoading=!0,e.termadansyarat=[],e.$onInit=function(){e.objParam=e.resolve.items,f()};var f=function(){b({method:"GET",url:"./api/temujanji/terma_dan_syarat.php"}).then(function(a){e.isLoading=!1,e.termadansyarat=a.data},function(b){e.termadansyarat=[],a.error("General Error : ",b)})};e.openEtikaBerpakaian=function(a){var b=c.open({animation:!0,component:"modalEtikaPakaian",size:"lg",backdrop:"static",keyboard:!1,resolve:{items:function(){return a}}});b.result.then(function(a){},function(){})},e.ok=function(){e.close({$value:"closed"}),d(function(){e.openEtikaBerpakaian()},200)},e.cancel=function(){e.dismiss()}}]}),angular.module("temujanjiApp").component("semak",{templateUrl:"views/semak.html",controller:["$log","$http","modalServices","toastServices","$filter",function(a,b,c,d,e){var f=this;f.temujanji={},f.search={},f.temujanjirekod=!1,f.isLoading=!1,f.semak=function(){f.isLoading=!0,f.temujanjirekod=!1,f.temujanji={};var c=angular.copy(f.search);b({method:"GET",url:"./api/temujanji/semak.php",params:c}).then(function(a){null!=a.data.norujukan?(f.temujanji=a.data,f.temujanji.telefon=f.temujanji.telefon.replace("JLM",""),f.temujanji.nopengenalan=f.temujanji.nopengenalan.replace("JLM","")):f.temujanjirekod=!0,f.isLoading=!1},function(b){f.temujanji={},a.error("General Error : ",b)})};var g=function(c){f.isLoading=!0,b({method:"POST",url:"./api/temujanji/setuju.php",data:c}).then(function(a){d.toastNotify("",e("translate")("MSG_2"),1),f.isLoading=!1,f.semak()},function(b){f.temujanji={},a.error("General Error : ",b)})};f.confirmButton=function(a){var b={size:"sm"},d={closeButtonText:e("translate")("BTN_NO"),actionButtonText:e("translate")("BTN_SETUJU"),headerText:"",bodyText:e("translate")("MSG_3"),buttonClass:"btn-success"};c.showModal(b,d).then(function(a){var b={};b.id=f.temujanji.id,g(b)})},f.confirmButtonBatal=function(a){var b={size:"sm"},d={closeButtonText:e("translate")("BTN_NO"),actionButtonText:e("translate")("BTN_YES"),headerText:"",bodyText:e("translate")("MSG_4"),buttonClass:"btn-danger"};c.showModal(b,d).then(function(a){var b={};b.id=f.temujanji.id,h(b)})};var h=function(c){f.isLoading=!0,b({method:"POST",url:"./api/temujanji/batal.php",data:c}).then(function(a){d.toastNotify("",e("translate")("MSG_5"),1),f.isLoading=!1,f.semak()},function(b){f.temujanji={},a.error("General Error : ",b)})};f.reset=function(){f.search.norujukan=null,f.temujanji.norujukan=null,f.temujanjirekod=!1}}]}),angular.module("temujanjiApp").component("approveForm",{templateUrl:"views/approve-form.html",controller:["$log","$routeParams","$http","modalServices","toastServices","dateService","lookup","securityService","$location",function(a,b,c,d,e,f,g,h,i){var j=this;j.temujanji={},j.approveTemujanji={},j.ddlMasa=[],j.ddltujuan=[],j.ddlPegawai=[],j.ddlStatus=[],j.ubahTarikh=!1,j.$onInit=function(){j.userObj=h.getUserObj(),1==h.getUserObj().roleID||2==h.getUserObj().roleID||(i.path("/"),a.error("403 FORBIDEN ACCESS")),j.detailID=b.id,"-1"!=b.status?j.urlparams="?status="+b.status:j.urlparams="",n(j.detailID),l()};var k=function(a){var b;b=1==a.weekend?1:0,j.dtFormat=f.getFormat(),j.dtOptions=f.getOption(0,b,a.id),j.dtAltInputFormats=f.getAltInputFormats(),f.addNewDateConfig(),j.dateConfigInstances=f.getDateConfigInstances()};j.bindMasa=function(){if(j.approveTemujanji.masa=null,j.temujanji.negeri||null!=j.temujanji.negeri){var b=angular.copy(j.approveTemujanji);""!=j.approveTemujanji.tarikh&&(b.tarikh=f.getStringFormattedDT(j.approveTemujanji.tarikh,1));var c=j.approveTemujanji.tarikh,d=c.getDay(),e={};e.tarikh=b.tarikh,e.daysOfNo=d,e.weekend=j.temujanji.weekend,e.pejabat=j.temujanji.pejabatlautID,g.lookupMasa(e).then(function(a){j.ddlMasa=a.data},function(b){a.error(b)})}};var l=function(){g.lookupStatus().then(function(a){j.ddlStatus=a.data},function(b){a.error(b)})},m=function(b){g.lookupPegawai({bahagian:b}).then(function(a){j.ddlPegawai=a.data},function(b){a.error(b)})},n=function(b){j.isLoading=!0;var d={};d.id=b,c({method:"GET",url:"./api/temujanji/detail.php",params:d}).then(function(a){j.temujanji=a.data,j.temujanji.telefon=j.temujanji.telefon.replace("JLM",""),j.temujanji.nopengenalan=j.temujanji.nopengenalan.replace("JLM",""),k(a.data.negeriID),m(a.data.bahagianID),j.isLoading=!1},function(b){j.temujanji={},"401"==b.status&&(i.path("/dashboard/"),j.isLoading=!1),a.error("General Error : ",b)})},o=function(b){j.isLoading=!0,c({method:"POST",url:"./api/temujanji/kemaskini_temujanji.php",data:b}).then(function(a){j.message=a.data,1!=j.message.errno?(e.toastNotify("","Permohonan berjaya dikemaskini.",1),n(j.detailID),j.approveTemujanji={}):(e.toastNotify("",j.message.message,2),j.isLoading=!1,j.approveTemujanji={})},function(b){a.error("Error pengguna service",b),401===b.status?a.log("status error",b):(a.log("status error",b),e.toastNotify("","Error "+b.status,2))})};j.confirmButton=function(a){var b={size:"sm"},c={closeButtonText:"Cancel",actionButtonText:"Kemaskini",headerText:"",bodyText:"Anda pasti untuk mengemaskini permohonan ini?",buttonClass:"btn-success"};d.showModal(b,c).then(function(a){var b=angular.copy(j.approveTemujanji);1==j.ubahTarikh?(""!=j.approveTemujanji.tarikh&&(b.tarikh=f.getStringFormattedDT(j.approveTemujanji.tarikh,1)),""!=j.approveTemujanji.masa&&(b.masa=j.approveTemujanji.masa.masa)):(delete b.masa,delete b.tarikh),1==j.approveTemujanji.status.id?""!=j.approveTemujanji.pegawai&&(b.pegawai=j.approveTemujanji.pegawai.id):delete b.pegawai,""!=j.approveTemujanji.status&&(b.status=j.approveTemujanji.status.id),b.id=j.detailID,o(b)})},j.reset=function(){j.approveTemujanji.catatan=null,j.approveTemujanji.pegawai=null,j.approveTemujanji.status=null,j.approveTemujanji.masa=null,j.approveTemujanji.tarikh=null}}]}),angular.module("temujanjiApp").component("listPermohonan",{templateUrl:"views/list-permohonan.html",controller:["$log","lookup","$http","$q","$location","securityService","searchingStorage",function(a,b,c,d,e,f,g){var h=this,i={pagingType:2,totalRow:0,totalPage:1};h.pagingInfoObj={},h.ddlNegeri=[],h.ddlPejabatLaut=[],h.ddlStatus=[],h.ListPermohonan=[],h.searchObj={},h.list={},h.$location=e,h.userObj={},h.ddlTahun=[],h.statusparam="-1",h.$onInit=function(){if(h.userObj=f.getUserObj(),1==g.getSearchingLastUpdate()[1].historyFlag)h.searchObj.namapemohon=g.getSearchingLastUpdate()[0].namapemohon,h.searchObj.norujukan=g.getSearchingLastUpdate()[0].norujukan,h.searchObj.tahuntemujanji=g.getSearchingLastUpdate()[0].tahuntemujanji,j();else{var a=new Date,b=a.getFullYear();h.searchObj.tahuntemujanji={id:b,tahun:b},j()}h.searchObj1=e.search(),void 0!==e.search().status?h.statusparam=e.search().status:h.statusparam="-1",h.search()},h.filter=function(a){e.search("status",a),e.search("pageNo",null),e.search("tahuntemujanji",null),h.statusparam=e.search()};var j=function(){for(var a=new Date,b=a.getFullYear(),c=2022;b>=c;c++)h.ddlTahun.push({id:c,tahun:c});h.ddlTahun.reverse()},k=function(b){h.isLoading=!0,c({method:"GET",url:"./api/temujanji/list_permohonan_info.php",params:b}).then(function(a){return h.pagingInfoObj=a.data,h.currentPage=1,0===h.pagingInfoObj.totalRow?d.reject("No record to fetch"):c({method:"GET",url:"./api/temujanji/list_permohonan_data.php",params:b})}).then(function(a){return angular.isArray(a.data)?(h.ListPermohonan=a.data,void(h.isLoading=!1)):d.reject("Data returned not an array")},function(b){h.pagingInfoObj=i,h.ListPermohonan=[],h.isLoading=!1,a.error("General Error : ",b)})};h.setPage=function(a){h.currentPage=a},h.pageChanged=function(){h.isLoading=!0,h.list=e.search(),h.list.tahuntemujanji=h.searchObj.tahuntemujanji.tahun,h.list.pageNo=h.currentPage,c({method:"GET",url:"./api/temujanji/list_permohonan_data.php",params:h.list}).then(function(a){return angular.isArray(a.data)?(h.ListPermohonan=a.data,void(h.isLoading=!1)):d.reject("Data returned not an array")},function(b){h.pagingInfoObj=i,h.ListPermohonan=[],h.isLoading=!1,a.error("General Error : ",b)})},h.search=function(){var a=angular.copy(h.searchObj);g.setSearchingLastUpdate(h.searchObj),g.setSearchingHistory(!0),null!=h.searchObj1.status?a.status=h.searchObj1.status:delete a.status,""!=h.searchObj.norujukan&&null!=h.searchObj.norujukan&&void 0!=h.searchObj.norujukan?a.norujukan=h.searchObj.norujukan:delete a.norujukan,""!=h.searchObj.namapemohon&&null!=h.searchObj.namapemohon&&void 0!=h.searchObj.namapemohon?a.namapemohon=h.searchObj.namapemohon:delete a.namapemohon,""!=h.searchObj.tahuntemujanji&&null!=h.searchObj.tahuntemujanji&&void 0!=h.searchObj.tahuntemujanji?a.tahuntemujanji=h.searchObj.tahuntemujanji.id:delete a.tahuntemujanji,h.list=a,k(a)},h.reset=function(){var a=new Date,b=a.getFullYear();h.searchObj.tahuntemujanji={id:b,tahun:b},h.searchObj.negeri=null,h.searchObj.pejabatlaut=null,h.searchObj.norujukan=null,h.searchObj.namapemohon=null,e.search("pageNo",null),h.search(),g.clearSearchingHistory()}}]}),angular.module("temujanjiApp").component("loginPage",{templateUrl:"views/login-page.html",controller:["$log","securityService","$location","storage","$http","$uibModal","toastServices","$filter","vcRecaptchaService","$window","searchingStorage",function(a,b,c,d,e,f,g,h,i,j,k){var l=this;l.isLoading=!1,l.loginCred={},l.errorMessage="",l.response=null,l.widgetId=null,l.$onInit=function(){l.searchItems=c.search(),l.nextstep=1,m()};var m=function(){k.clearSearchingHistory()};l.login=function(){l.isLoading=!0;var f=!1,h=angular.copy(l.loginCred);h.email=j.btoa(j.btoa(h.email)),h.password=j.btoa(j.btoa(h.password)),e({method:"POST",url:"./api/pentadbir/login/validate_recaptcha.php",data:h}).then(function(j){f=j.data.success,f?e({method:"POST",url:"./api/pentadbir/login/login.php",data:h}).then(function(a){b.createUserObj(a.data),b.setInSession(1),d.setNavibarLastUpdate(),c.path("/dashboard/"),l.isLoading=!1},function(b){1==b.data.errmsg&&g.toastNotify("","Emel tiada dalam rekod.",2),2==b.data.errmsg&&g.toastNotify("","Emel dan kata laluan yang digunakan tidak sepadan atau id pengguna tidak aktif.",2),a.error(b),l.isLoading=!1,i.reload()}):(i.reload(),l.isLoading=!1,g.toastNotify("","reCaptcha timeout",2))},function(a){l.isLoading=!1})},l.openForgotPassword=function(a){var b=f.open({animation:!0,component:"modalForgotPassword",size:"lg",backdrop:"static",keyboard:!1,resolve:{items:function(){return a}}});b.result.then(function(a){},function(){})},l.inputType="password",l.hideShowPassword=function(){"password"==l.inputType?l.inputType="text":l.inputType="password"},$(document).on("keyup keypress","input",function(a){return 13==a.which?(a.preventDefault(),!1):void 0}),l.model={key:"6LcEbdghAAAAAIbSa4XOo3gAc629YaMp27t7yBaf"},l.setResponse=function(a){l.response=a},l.setWidgetId=function(a){l.widgetId=a},l.cbExpiration=function(){i.reload(),l.response=null}}]}),angular.module("temujanjiApp").factory("securityService",["$http","$cookies","$log",function(a,b,c){var d=0,e={roleID:0};return{setInSession:function(a){d=a},getInSessionStatus:function(){return d},initSession:function(){return a.get("./api/pentadbir/login/sessionStatus.php").then(function(a){return d=1,a})},createUserObj:function(a){e=a,b.put("fullname",a.fullname),b.put("roleID",a.roleID),b.put("bahagian",a.bahagian),b.put("roleName",a.roleName),b.put("modulOwner",a.modulOwner),b.put("ref_bahagian",a.ref_bahagian),b.put("pejabatLautId",a.pejabatLautId)},destroyUserObj:function(){e={},b.put("fullname",""),b.put("roleID",0),b.put("bahagian",""),b.put("roleName",""),b.put("modulOwner",""),b.put("ref_bahagian",""),b.put("pejabatLautId","")},getUserObj:function(){return e.roleID?e:(b.get("roleID")?e={fullname:b.get("fullname"),roleID:b.get("roleID"),bahagian:b.get("bahagian"),roleName:b.get("roleName"),modulOwner:b.get("modulOwner"),ref_bahagian:b.get("ref_bahagian"),pejabatLautId:b.get("pejabatLautId")}:this.destroyUserObj(),e)},logout:function(){return a.get("api/pentadbir/logout/logout.php")}}}]),angular.module("temujanjiApp").factory("storage",function(){var a=[(new Date).getTime()],b=[(new Date).getTime()];return{getNavibarLastUpdate:function(){return a},setNavibarLastUpdate:function(){a[0]=(new Date).getTime()},getChildsLastUpdate:function(){return b},setChildsLastUpdate:function(a){b[a]=(new Date).getTime()}}}),angular.module("temujanjiApp").component("sidebarMenu",{templateUrl:"views/sidebar-menu.html",bindings:{lastUpdate:"<",configureWebsite:"<"},controller:["$log","$location","securityService","searchingStorage",function(a,b,c,d){var e=this;e.classActive="active",e.$location=b,e.userObj={},e.$onInit=function(){e.userObj=c.getUserObj()},e.$onChanges=function(a){void 0!=a.lastUpdate.currentValue&&(e.userObj=c.getUserObj())},e.clearHistorySearching=function(){d.clearSearchingHistory()},angular.element(".ui.dropdown").dropdown({action:"hide"})}]}),angular.module("temujanjiApp").component("logout",{templateUrl:"views/logout.html",controller:["$log","$location","securityService","storage",function a(b,c,d,e){var f=this;f.isLoading=!0,f.$onInit=function(){a()};var g=function(){d.setInSession(0),d.destroyUserObj()},a=function(){d.logout().then(function(a){g(),e.setNavibarLastUpdate(),c.path("/login-page"),c.replace()},function(a){b.error("Logout error : ",a)})}}]}),angular.module("temujanjiApp").factory("authRouteService",["$q","$location","securityService","$log",function(a,b,c,d){return{getAuthRoute:function(a){return c.initSession().then(function(e){c.getUserObj().roleID>0?("/login-page"===b.path()&&(d.info(b.path(),": YOU ARE LOGIN USER"),b.path("/dashboard")),"/private/senarai-pengguna"===b.path()&&(1==c.getUserObj().roleID||(b.path("/"),d.error("403 FORBIDEN ACCESS"))),("/private/senarai-pejabat-laut"===b.path()||"/private/senarai-bahagian"===b.path()||"/private/senarai-pegawai"===b.path()||"/private/senarai-cuti"===b.path()||"/private/cetak-senarai-permohonan"===b.path()||"/private/officer-appointment-frequency"===b.path()||"/private/laporan/number-of-appointment"===b.path()||"/private/laporan/response-time"===b.path())&&(1==c.getUserObj().roleID||1==c.getUserObj().modulOwner||3==c.getUserObj().roleID||(d.error("403 FORBIDEN ACCESS"),b.path("/"))),"/private/senarai-permohonan"===b.path()&&(1==c.getUserObj().roleID||2==c.getUserObj().roleID||(d.error("403 FORBIDEN ACCESS"),b.path("/"))),"/private/person-incharge/senarai-pegawai"===b.path()&&(2==c.getUserObj().roleID||(d.error("403 FORBIDEN ACCESS"),b.path("/")))):(0!==a.access&&(d.error("401 ACCESS DENIED / AUTHORIZATION PAGE"),b.path("/logout")),"/logout"===b.path()&&b.path("/"))},function(a){"/login-page"===b.path()||b.path("/")})}}}]),angular.module("temujanjiApp").component("senaraiPejabatLaut",{templateUrl:"views/senarai-pejabat-laut.html",controller:["$log","$location","$http","modalServices","toastServices","lookup","$uibModal","$q",function(a,b,c,d,e,f,g,h){var i=this,j={pagingType:2,totalRow:0,totalPage:1};i.pagingInfoObj={},i.searchObj={},i.list={},i.ddlNegeri=[],i.ListPejabat=[],i.displayList=!1,i.$onInit=function(){k()};var k=function(){f.lookupNegeriAdmin().then(function(a){i.ddlNegeri=a.data},function(b){a.error(b)})},l=function(b){i.isLoading=!0,c({method:"GET",url:"./api/pentadbir/selenggara/list_pejabat_info.php",params:b}).then(function(a){return i.pagingInfoObj=a.data,i.currentPage=1,0===i.pagingInfoObj.totalRow?h.reject("No record to fetch"):c({method:"GET",url:"./api/pentadbir/selenggara/list_pejabat_data.php",params:b})}).then(function(a){return angular.isArray(a.data)?(i.ListPejabat=a.data,void(i.isLoading=!1)):h.reject("Data returned not an array")},function(b){i.pagingInfoObj=j,i.ListPejabat=[],i.isLoading=!1,a.error("General Error : ",b)})};i.setPage=function(a){i.currentPage=a},i.pageChanged=function(){i.isLoading=!0,i.list.pageNo=i.currentPage,c({method:"GET",url:"./api/pentadbir/selenggara/list_pejabat_data.php",params:i.list}).then(function(a){return angular.isArray(a.data)?(i.ListPejabat=a.data,void(i.isLoading=!1)):h.reject("Data returned not an array")},function(b){i.pagingInfoObj=j,i.ListPejabat=[],i.isLoading=!1,a.error("General Error : ",b)})},i.search=function(){var a=angular.copy(i.searchObj);i.searchObj.negeri||null!=i.searchObj.negeri?(a.negeri=i.searchObj.negeri.id,i.list=a,l(a),i.displayList=!0):(delete a.negeri,i.displayList=!1)},i.addPejabat=function(a){var b=g.open({animation:!0,component:"modalAddPejabatLaut",size:"lg",backdrop:"static",keyboard:!1,resolve:{items:function(){return a}}});b.result.then(function(a){i.search()},function(){})},i.updatePejabat=function(a){var b=g.open({animation:!0,component:"modalUpdatePejabatLaut",size:"lg",backdrop:"static",keyboard:!1,resolve:{items:function(){return a}}});b.result.then(function(a){i.search()},function(){})}}]}),angular.module("temujanjiApp").component("modalAddPejabatLaut",{templateUrl:"views/modal-add-pejabat-laut.html",bindings:{resolve:"<",close:"&",dismiss:"&"},controller:["$log","$http","toastServices","lookup","modalServices",function(a,b,c,d,e){
var f=this;f.addPejabat={},f.$onInit=function(){f.addPejabat.negeri=f.resolve.items};f.confirmButton=function(){var a={size:"sm"},b={closeButtonText:"Cancel",actionButtonText:"Tambah",headerText:"",bodyText:"Anda pasti untuk tambah pejabat laut?",buttonClass:"btn-success"};e.showModal(a,b).then(function(a){var b=angular.copy(f.addPejabat);""!=f.addPejabat.negeri?b.negeri=f.addPejabat.negeri.id:delete b.negeri,g(b)})};var g=function(d){f.isLoading=!0,b({method:"POST",url:"./api/pentadbir/selenggara/save_pejabat_laut.php",data:d}).then(function(a){c.toastNotify("","Tambah Pejabat Laut berjaya.",1),f.isLoading=!1,f.ok()},function(b){a.error("Error pengguna service",b),401===b.status?a.log("status error",b):(a.log("status error",b),c.toastNotify("","Error "+b.status,2))})};f.ok=function(){f.close()},f.cancel=function(){f.dismiss()}}]}),angular.module("temujanjiApp").component("modalUpdatePejabatLaut",{templateUrl:"views/modal-update-pejabat-laut.html",bindings:{resolve:"<",close:"&",dismiss:"&"},controller:["$log","$http","toastServices","lookup","modalServices",function(a,b,c,d,e){var f=this;f.addPejabat={},f.ddlStatus=[],f.$onInit=function(){f.addPejabat=f.resolve.items,f.addPejabat.statusLookup={id:f.resolve.items.status,status:f.resolve.items.statusDesc},f.ddlStatus=[{id:0,status:"Aktif"},{id:1,status:"Tak Aktif"}]},f.confirmButton=function(){var a={size:"sm"},b={closeButtonText:"Cancel",actionButtonText:"Kemaskini",headerText:"",bodyText:"Anda pasti untuk tambah pejabat laut?",buttonClass:"btn-success"};e.showModal(a,b).then(function(a){var b=angular.copy(f.addPejabat);""!=f.addPejabat.statusLookup&&(b.status=f.addPejabat.statusLookup.id),delete b.statusLookup,delete b.negeri,delete b.statusDesc,g(b)})};var g=function(d){f.isLoading=!0,b({method:"POST",url:"./api/pentadbir/selenggara/update_pejabat_laut.php",data:d}).then(function(a){c.toastNotify("","Kemaskini Pejabat Laut berjaya.",1),f.isLoading=!1,f.ok()},function(b){a.error("Error pengguna service",b),401===b.status?a.log("status error",b):(a.log("status error",b),c.toastNotify("","Error "+b.status,2))})};f.ok=function(){f.close()},f.cancel=function(){f.dismiss()}}]}),angular.module("temujanjiApp").component("senaraiBahagian",{templateUrl:"views/senarai-bahagian.html",controller:["$log","$location","$http","modalServices","toastServices","lookup","$uibModal","$q",function(a,b,c,d,e,f,g,h){var i=this,j={pagingType:2,totalRow:0,totalPage:1};i.pagingInfoObj={},i.searchObj={},i.list={},i.ddlPejabatLaut=[],i.ListBahagian=[],i.displayList=!1,i.ddlbahagian=[],i.$onInit=function(){k()};var k=function(){f.lookupNegeriAdmin().then(function(a){i.ddlNegeri=a.data},function(b){a.error(b)})};i.bindPejabatLaut=function(){(i.searchObj.negeri||null!=i.searchObj.negeri)&&f.lookupPejabatLaut({negeri:i.searchObj.negeri.id}).then(function(a){i.ddlPejabatLaut=a.data},function(b){a.error(b)}),i.ddlPejabatLaut=[],i.searchObj.pejabatlaut=null,i.displayList=!1};var l=function(b){i.isLoading=!0,c({method:"GET",url:"./api/pentadbir/selenggara/list_bahagian_info.php",params:b}).then(function(a){return i.pagingInfoObj=a.data,i.currentPage=1,0===i.pagingInfoObj.totalRow?h.reject("No record to fetch"):c({method:"GET",url:"./api/pentadbir/selenggara/list_bahagian_data.php",params:b})}).then(function(a){return angular.isArray(a.data)?(i.ListBahagian=a.data,void(i.isLoading=!1)):h.reject("Data returned not an array")},function(b){i.pagingInfoObj=j,i.ListBahagian=[],i.isLoading=!1,a.error("General Error : ",b)})};i.setPage=function(a){i.currentPage=a},i.pageChanged=function(){i.isLoading=!0,i.list.pageNo=i.currentPage,c({method:"GET",url:"./api/pentadbir/selenggara/list_bahagian_data.php",params:i.list}).then(function(a){return angular.isArray(a.data)?(i.ListBahagian=a.data,void(i.isLoading=!1)):h.reject("Data returned not an array")},function(b){i.pagingInfoObj=j,i.ListBahagian=[],i.isLoading=!1,a.error("General Error : ",b)})},i.search=function(){var a=angular.copy(i.searchObj);i.searchObj.negeri||null!=i.searchObj.negeri?a.negeri=i.searchObj.negeri.id:(delete a.negeri,i.displayList=!1),i.searchObj.pejabatlaut||null!=i.searchObj.pejabatlaut?(a.pejabatlaut=i.searchObj.pejabatlaut.id,i.list=a,l(a),i.displayList=!0):(delete a.pejabatlaut,i.displayList=!1)},i.addBahagian=function(a){var b=g.open({animation:!0,component:"modalAddBahagian",size:"lg",backdrop:"static",keyboard:!1,resolve:{items:function(){return a}}});b.result.then(function(a){i.search()},function(){})},i.updateBahagian=function(a){var b=g.open({animation:!0,component:"modalUpdateBahagian",size:"lg",backdrop:"static",keyboard:!1,resolve:{items:function(){return a}}});b.result.then(function(a){i.search()},function(){})}}]}),angular.module("temujanjiApp").component("modalAddBahagian",{templateUrl:"views/modal-add-bahagian.html",bindings:{resolve:"<",close:"&",dismiss:"&"},controller:["$log","$http","toastServices","lookup","modalServices",function(a,b,c,d,e){var f=this;f.addBahagian={},f.$onInit=function(){f.addBahagian=f.resolve.items},f.confirmButton=function(){var a={size:"sm"},b={closeButtonText:"Cancel",actionButtonText:"Tambah",headerText:"",bodyText:"Anda pasti untuk tambah bahagian / unit?",buttonClass:"btn-success"};e.showModal(a,b).then(function(a){var b=angular.copy(f.addBahagian);""!=f.addBahagian.pejabatlaut&&(b.pejabatlaut=f.addBahagian.pejabatlaut.id),delete b.negeri,g(b)})};var g=function(d){f.isLoading=!0,b({method:"POST",url:"./api/pentadbir/selenggara/save_bahagian.php",data:d}).then(function(a){c.toastNotify("","Tambah Bahagian / Unit berjaya.",1),f.isLoading=!1,f.addBahagian.bahagian=null,f.addBahagian.fungsi=null,f.ok()},function(b){a.error("Error pengguna service",b),401===b.status?a.log("status error",b):(a.log("status error",b),c.toastNotify("","Error "+b.status,2))})};f.ok=function(){f.close()},f.cancel=function(){f.dismiss(),f.addBahagian.fungsi=null,f.addBahagian.bahagian=null}}]}),angular.module("temujanjiApp").component("modalUpdateBahagian",{templateUrl:"views/modal-update-bahagian.html",bindings:{resolve:"<",close:"&",dismiss:"&"},controller:["$log","$http","toastServices","lookup","modalServices",function(a,b,c,d,e){var f=this;f.updateBahagian={},f.$onInit=function(){f.updateBahagian=f.resolve.items,f.updateBahagian.statusLookup={id:f.resolve.items.status,status:f.resolve.items.statusDesc},f.ddlStatus=[{id:0,status:"Aktif"},{id:1,status:"Tak Aktif"}]},f.confirmButton=function(){var a={size:"sm"},b={closeButtonText:"Cancel",actionButtonText:"Kemaskini",headerText:"",bodyText:"Anda pasti untuk kemaskini bahagian / unit?",buttonClass:"btn-success"};e.showModal(a,b).then(function(a){var b=angular.copy(f.updateBahagian);""!=f.updateBahagian.statusLookup&&(b.status=f.updateBahagian.statusLookup.id),delete b.statusDesc,delete b.ref_pejabat_laut,delete b.pejabatlaut,delete b.statusLookup,g(b)})};var g=function(d){f.isLoading=!0,b({method:"POST",url:"./api/pentadbir/selenggara/update_bahagian.php",data:d}).then(function(a){c.toastNotify("","Kemaskini Bahagian / Unit berjaya.",1),f.isLoading=!1,f.ok()},function(b){a.error("Error pengguna service",b),401===b.status?a.log("status error",b):(a.log("status error",b),c.toastNotify("","Error "+b.status,2))})};f.ok=function(){f.close()},f.cancel=function(){f.dismiss()}}]}),angular.module("temujanjiApp").component("senaraiPegawai",{templateUrl:"views/senarai-pegawai.html",controller:["$log","$location","$http","modalServices","toastServices","lookup","$uibModal","$q",function(a,b,c,d,e,f,g,h){var i=this,j={pagingType:2,totalRow:0,totalPage:1};i.pagingInfoObj={},i.ddlNegeri=[],i.ddlPejabatLaut=[],i.ddlbahagian=[],i.searchObj={},i.list={},i.ListPegawai=[],i.displayList=!1,i.$onInit=function(){k()};var k=function(){f.lookupNegeriAdmin().then(function(a){i.ddlNegeri=a.data},function(b){a.error(b)})};i.bindPejabatLaut=function(){(i.searchObj.negeri||null!=i.searchObj.negeri)&&f.lookupPejabatLaut({negeri:i.searchObj.negeri.id}).then(function(a){i.ddlPejabatLaut=a.data},function(b){a.error(b)}),i.ddlPejabatLaut=[],i.ddlbahagian=[],i.searchObj.pejabatlaut=null,i.searchObj.bahagian=null,i.displayList=!1},i.bindBahgian=function(){(i.searchObj.pejabatlaut||null!=i.searchObj.pejabatlaut)&&f.lookupBahagian({pejabat_laut:i.searchObj.pejabatlaut.id}).then(function(a){i.ddlbahagian=a.data},function(b){a.error(b)}),i.ddlbahagian=[],i.searchObj.bahagian=null,i.displayList=!1},i.search=function(){var a=angular.copy(i.searchObj);i.searchObj.negeri||null!=i.searchObj.negeri?a.negeri=i.searchObj.negeri.id:(delete a.negeri,i.displayList=!1),i.searchObj.pejabatlaut||null!=i.searchObj.pejabatlaut?a.pejabatlaut=i.searchObj.pejabatlaut.id:(delete a.pejabatlaut,i.displayList=!1),i.searchObj.bahagian||null!=i.searchObj.bahagian?(a.bahagian=i.searchObj.bahagian.id,i.list=a,l(a),i.displayList=!0):(delete a.bahagian,i.displayList=!1)};var l=function(b){i.isLoading=!0,c({method:"GET",url:"./api/pentadbir/selenggara/list_pegawai_info.php",params:b}).then(function(a){return i.pagingInfoObj=a.data,i.currentPage=1,0===i.pagingInfoObj.totalRow?h.reject("No record to fetch"):c({method:"GET",url:"./api/pentadbir/selenggara/list_pegawai_data.php",params:b})}).then(function(a){return angular.isArray(a.data)?(i.ListPegawai=a.data,void(i.isLoading=!1)):h.reject("Data returned not an array")},function(b){i.pagingInfoObj=j,i.ListPegawai=[],i.isLoading=!1,a.error("General Error : ",b)})};i.setPage=function(a){i.currentPage=a},i.pageChanged=function(){i.isLoading=!0,i.list.pageNo=i.currentPage,c({method:"GET",url:"./api/pentadbir/selenggara/list_pegawai_data.php",params:i.list}).then(function(a){return angular.isArray(a.data)?(i.ListPegawai=a.data,void(i.isLoading=!1)):h.reject("Data returned not an array")},function(b){i.pagingInfoObj=j,i.ListPegawai=[],i.isLoading=!1,a.error("General Error : ",b)})},i.addPegawai=function(a){var b=g.open({animation:!0,component:"modalAddPegawai",size:"lg",backdrop:"static",keyboard:!1,resolve:{items:function(){return a}}});b.result.then(function(a){i.search()},function(){})},i.updatePegawai=function(a){var b=g.open({animation:!0,component:"modalUpdatePegawai",size:"lg",backdrop:"static",keyboard:!1,resolve:{items:function(){return a}}});b.result.then(function(a){i.search()},function(){})}}]}),angular.module("temujanjiApp").component("modalAddPegawai",{templateUrl:"views/modal-add-pegawai.html",bindings:{resolve:"<",close:"&",dismiss:"&"},controller:["$log","$http","toastServices","lookup","modalServices",function(a,b,c,d,e){var f=this;f.addBahagian={},f.$onInit=function(){f.addPegawai=f.resolve.items},f.confirmButton=function(){var a={size:"sm"},b={closeButtonText:"Cancel",actionButtonText:"Tambah",headerText:"",bodyText:"Anda pasti untuk tambah pegawai?",buttonClass:"btn-success"};e.showModal(a,b).then(function(a){var b=angular.copy(f.addPegawai);""!=f.addPegawai.bahagian&&null!=f.addPegawai.bahagian?b.bahagian=f.addPegawai.bahagian.id:delete b.bahagian,delete b.negeri,delete b.pejabatlaut,g(b)})};var g=function(d){f.isLoading=!0,b({method:"POST",url:"./api/pentadbir/selenggara/save_pegawai.php",data:d}).then(function(a){c.toastNotify("","Tambah Pegawai berjaya.",1),f.isLoading=!1,f.addPegawai.nama_pegawai=null,f.ok()},function(b){a.error("Error pengguna service",b),401===b.status?a.log("status error",b):(a.log("status error",b),c.toastNotify("","Error "+b.status,2))})};f.ok=function(){f.close()},f.cancel=function(){f.addPegawai.nama_pegawai=null,f.dismiss()}}]}),angular.module("temujanjiApp").component("modalUpdatePegawai",{templateUrl:"views/modal-update-pegawai.html",bindings:{resolve:"<",close:"&",dismiss:"&"},controller:["$log","$http","toastServices","lookup","modalServices",function(a,b,c,d,e){var f=this;f.updatePegawai={},f.$onInit=function(){f.updatePegawai=f.resolve.items,f.updatePegawai.statusLookup={id:f.resolve.items.status,status:f.resolve.items.statusDesc},f.ddlStatus=[{id:0,status:"Aktif"},{id:1,status:"Tak Aktif"}]},f.confirmButton=function(){var a={size:"sm"},b={closeButtonText:"Cancel",actionButtonText:"Kemaskini",headerText:"",bodyText:"Anda pasti untuk kemaskini pegawai?",buttonClass:"btn-success"};e.showModal(a,b).then(function(a){var b=angular.copy(f.updatePegawai);""!=f.updatePegawai.statusLookup&&(b.status=f.updatePegawai.statusLookup.id),delete b.bahagian,delete b.pejabatlaut,delete b.ref_bahagian,delete b.statusDesc,delete b.statusLookup,g(b)})};var g=function(d){f.isLoading=!0,b({method:"POST",url:"./api/pentadbir/selenggara/update_pegawai.php",data:d}).then(function(a){c.toastNotify("","Kemaskini Pegawai berjaya.",1),f.isLoading=!1,f.ok()},function(b){a.error("Error pengguna service",b),401===b.status?a.log("status error",b):(a.log("status error",b),c.toastNotify("","Error "+b.status,2))})};f.ok=function(){f.close()},f.cancel=function(){f.dismiss()}}]}),angular.module("temujanjiApp").component("senaraiPengguna",{templateUrl:"views/senarai-pengguna.html",controller:["$log","$location","$http","modalServices","toastServices","lookup","$uibModal","$q",function(a,b,c,d,e,f,g,h){var i=this,j={pagingType:2,totalRow:0,totalPage:1};i.pagingInfoObj={},i.list={},i.ListPengguna=[],i.ddlNegeri=[],i.ddlPejabatLaut=[],i.ddlbahagian=[],i.$onInit=function(){m(),k(),l()};var k=function(){f.lookupNegeriAdmin().then(function(a){i.ddlNegeri=a.data},function(b){a.error(b)})};i.bindPejabatLaut=function(){(i.searchObj.negeri||null!=i.searchObj.negeri)&&f.lookupPejabatLaut({negeri:i.searchObj.negeri.id,isAdmin:1}).then(function(a){i.ddlPejabatLaut=a.data},function(b){a.error(b)}),i.ddlPejabatLaut=[],i.ddlbahagian=[],i.searchObj.pejabatlaut=null,i.searchObj.bahagian=null},i.bindBahgian=function(){(i.searchObj.pejabatlaut||null!=i.searchObj.pejabatlaut)&&f.lookupBahagian({pejabat_laut:i.searchObj.pejabatlaut.id,isAdmin:1}).then(function(a){i.ddlbahagian=a.data},function(b){a.error(b)}),i.ddlbahagian=[],i.searchObj.bahagian=null};var l=function(){f.lookupRole().then(function(a){i.ddlrole=a.data},function(b){a.error(b)})};i.search=function(){var a=angular.copy(i.searchObj);i.list.pageNo=1,void 0==a?m():(""!=i.searchObj.negeri&&null!=i.searchObj.negeri?a.negeri=i.searchObj.negeri.id:delete a.negeri,""!=i.searchObj.pejabatlaut&&null!=i.searchObj.pejabatlaut?(a.pejabatlaut=i.searchObj.pejabatlaut.id,delete a.negeri):delete a.pejabatlaut,""!=i.searchObj.bahagian&&null!=i.searchObj.bahagian?(a.bahagian=i.searchObj.bahagian.id,delete a.negeri,delete a.pejabatlaut):delete a.bahagian,""!=i.searchObj.role&&null!=i.searchObj.role?a.role=i.searchObj.role.id:delete a.role,i.list=a,m(a))};var m=function(b){i.isLoading=!0,c({method:"GET",url:"./api/pentadbir/selenggara/list_pengguna_info.php",params:b}).then(function(a){return i.pagingInfoObj=a.data,i.currentPage=1,0===i.pagingInfoObj.totalRow?h.reject("No record to fetch"):c({method:"GET",url:"./api/pentadbir/selenggara/list_pengguna_data.php",params:b})}).then(function(a){return angular.isArray(a.data)?(i.ListPengguna=a.data,void(i.isLoading=!1)):h.reject("Data returned not an array")},function(b){i.pagingInfoObj=j,i.ListPengguna=[],i.isLoading=!1,a.error("General Error : ",b)})};i.setPage=function(a){i.currentPage=a},i.pageChanged=function(){i.isLoading=!0,i.list.pageNo=i.currentPage,c({method:"GET",url:"./api/pentadbir/selenggara/list_pengguna_data.php",params:i.list}).then(function(a){return angular.isArray(a.data)?(i.ListPengguna=a.data,void(i.isLoading=!1)):h.reject("Data returned not an array")},function(b){i.pagingInfoObj=j,i.ListPengguna=[],i.isLoading=!1,a.error("General Error : ",b)})},i.addPengguna=function(a){var b=g.open({animation:!0,component:"modalAddPengguna",size:"lg",backdrop:"static",keyboard:!1,resolve:{items:function(){return a}}});b.result.then(function(a){i.search()},function(){})},i.updatePengguna=function(a){var b=g.open({animation:!0,component:"modalUpdatePengguna",size:"lg",backdrop:"static",keyboard:!1,resolve:{items:function(){return a}}});b.result.then(function(a){i.search()},function(){})},i.confirmReset=function(a){var b={size:"sm"},c={closeButtonText:"Cancel",actionButtonText:"Reset",headerText:"",bodyText:"Anda pasti untuk reset password pengguna ini?",buttonClass:"btn-success"};d.showModal(b,c).then(function(b){n(a)})};var n=function(b){var d=angular.copy(b);delete d.IDnegeri,delete d.IDpejabatlaut,delete d.bahagiandesc,delete d.created_date,delete d.isModulOwner,delete d.negeridesc,delete d.pejabatlautdesc,delete d.ref_bahagian,delete d.role,delete d.roleName,delete d.status,delete d.statusDesc,i.isLoading=!0,c({method:"POST",url:"./api/pentadbir/selenggara/reset_password.php",data:d}).then(function(a){e.toastNotify("","Kemaskini password Pengguna berjaya.",1),i.isLoading=!1},function(b){a.error("Error pengguna service",b),401===b.status?a.log("status error",b):(a.log("status error",b),e.toastNotify("","Error "+b.status,2))})};i.reset=function(){i.searchObj={},i.ddlPejabatLaut=[],i.ddlbahagian=[],i.search()}}]}),angular.module("temujanjiApp").component("modalAddPengguna",{templateUrl:"views/modal-add-pengguna.html",bindings:{resolve:"<",close:"&",dismiss:"&"},controller:["$log","$http","toastServices","lookup","modalServices",function(a,b,c,d,e){var f=this;f.addPengguna={},f.ddlNegeri=[],f.ddlPejabatLaut=[],f.ddlbahagian=[],f.ddlrole=[],f.$onInit=function(){h(),g()};var g=function(){d.lookupRole().then(function(a){f.ddlrole=a.data},function(b){a.error(b)})},h=function(){d.lookupNegeriAdmin().then(function(a){f.ddlNegeri=a.data},function(b){a.error(b)})};f.bindPejabatLaut=function(){(f.addPengguna.negeri||null!=f.addPengguna.negeri)&&d.lookupPejabatLaut({negeri:f.addPengguna.negeri.id,isAdmin:1}).then(function(a){f.ddlPejabatLaut=a.data},function(b){a.error(b)}),f.ddlPejabatLaut=[],f.ddlbahagian=[],f.addPengguna.pejabatlaut=null,f.addPengguna.bahagian=null},f.bindBahgian=function(){(f.addPengguna.pejabatlaut||null!=f.addPengguna.pejabatlaut)&&d.lookupBahagian({pejabat_laut:f.addPengguna.pejabatlaut.id,isAdmin:1}).then(function(a){f.ddlbahagian=a.data},function(b){a.error(b)}),f.ddlbahagian=[],f.addPengguna.bahagian=null},f.confirmButton=function(){var a={size:"sm"},b={closeButtonText:"Cancel",actionButtonText:"Tambah",headerText:"",bodyText:"Anda pasti untuk tambah pengguna?",buttonClass:"btn-success"};e.showModal(a,b).then(function(a){var b=angular.copy(f.addPengguna);""!=f.addPengguna.bahagian&&null!=f.addPengguna.bahagian&&(b.bahagian=f.addPengguna.bahagian.id),""!=f.addPengguna.role&&null!=f.addPengguna.role&&(b.role=f.addPengguna.role.id),""!=f.addPengguna.moduleOwner&&null!=f.addPengguna.moduleOwner?1==f.addPengguna.moduleOwner?b.moduleOwner=1:b.moduleOwner=0:delete b.moduleOwner,delete b.negeri,delete b.pejabatlaut,i(b)})};var i=function(d){f.isLoading=!0,b({method:"POST",url:"./api/pentadbir/selenggara/save_pengguna.php",data:d}).then(function(a){var b=a.data;1==b.errno?(c.toastNotify("",b.errmsg,2),f.isLoading=!1):(c.toastNotify("","Tambah Pengguna berjaya",1),f.addPengguna={},f.ok(),f.isLoading=!1)},function(b){a.error("Error pengguna service",b),401===b.status?a.log("status error",b):(a.log("status error",b),c.toastNotify("","Error "+b.status,2))})};f.ok=function(){f.close()},f.cancel=function(){f.dismiss()},angular.element(".ui.checkbox").checkbox()}]}),angular.module("temujanjiApp").component("senaraiCuti",{templateUrl:"views/senarai-cuti.html",controller:["$log","$http","modalServices","toastServices","lookup","$uibModal","$q","securityService",function(a,b,c,d,e,f,g,h){var i=this,j={pagingType:2,totalRow:0,totalPage:1};i.pagingInfoObj={},i.searchObj={},i.list={},i.ddlNegeri=[],i.displayList=!1,i.ListCuti=[],i.$onInit=function(){l(),k()};var k=function(){i.ddlJenisCuti=[{id:"1",jeniscuti:"Cuti Umum Malaysia"},{id:"2",jeniscuti:"Cuti Negeri"}]},l=function(){e.lookupNegeriAdmin().then(function(a){i.ddlNegeri=a.data},function(b){a.error(b)})},m=function(c){i.isLoading=!0,b({method:"GET",url:"./api/pentadbir/selenggara/list_cuti_info.php",params:c}).then(function(a){return i.pagingInfoObj=a.data,i.currentPage=1,0===i.pagingInfoObj.totalRow?g.reject("No record to fetch"):b({method:"GET",url:"./api/pentadbir/selenggara/list_cuti_data.php",params:c})}).then(function(a){return angular.isArray(a.data)?(i.ListCuti=a.data,void(i.isLoading=!1)):g.reject("Data returned not an array")},function(b){i.pagingInfoObj=j,i.ListCuti=[],i.isLoading=!1,a.error("General Error : ",b)})};i.setPage=function(a){i.currentPage=a},i.pageChanged=function(){i.isLoading=!0,i.list.pageNo=i.currentPage,b({method:"GET",url:"./api/pentadbir/selenggara/list_cuti_data.php",params:i.list}).then(function(a){return angular.isArray(a.data)?(i.ListCuti=a.data,void(i.isLoading=!1)):g.reject("Data returned not an array")},function(b){i.pagingInfoObj=j,i.ListCuti=[],i.isLoading=!1,a.error("General Error : ",b)})},i.search=function(){var a=angular.copy(i.searchObj);null==i.searchObj.jeniscuti?(delete a.negeri,i.searchObj.negeri=null,i.displayList=!1):null!=i.searchObj.jeniscuti&&1==i.searchObj.jeniscuti.id?(delete a.negeri,a.jeniscuti=i.searchObj.jeniscuti.id,i.list=a,m(a),i.displayList=!0):i.searchObj.negeri&&null!=i.searchObj.negeri?(a.negeri=i.searchObj.negeri.id,delete a.jeniscuti,i.list=a,m(a),i.displayList=!0):(delete a.negeri,i.searchObj.negeri=null,i.displayList=!1)},i.addCuti=function(a){var b=f.open({animation:!0,component:"modalAddCuti",size:"lg",backdrop:"static",keyboard:!1,resolve:{items:function(){return a}}});b.result.then(function(a){i.search()},function(){})},i.confirmButton=function(a){var b={size:"sm"},d={closeButtonText:"Cancel",actionButtonText:"Delete",headerText:"",bodyText:"Anda pasti untuk delete cuti peristiwa "+a.peristiwa+"?",buttonClass:"btn-success"};c.showModal(b,d).then(function(b){var c=angular.copy(a);delete c.peristiwa,delete c.tarikh,delete c.day,n(c)})};var n=function(c){i.isLoading=!0,b({method:"POST",url:"./api/pentadbir/selenggara/delete_cuti.php",data:c}).then(function(a){d.toastNotify("","Delete Cuti berjaya.",1),i.isLoading=!1,i.search()},function(b){a.error("Error pengguna service",b),401===b.status?a.log("status error",b):(a.log("status error",b),d.toastNotify("","Error "+b.status,2))})}}]}),angular.module("temujanjiApp").component("modalAddCuti",{templateUrl:"views/modal-add-cuti.html",bindings:{resolve:"<",close:"&",dismiss:"&"},controller:["$log","$http","toastServices","modalServices","dateService",function(a,b,c,d,e){var f=this;f.addCuti={},f.$onInit=function(){f.addCuti=f.resolve.items,g(f.addCuti)};var g=function(a){f.dtFormat=e.getFormat(),1==a.jeniscuti.id?(f.dateOptionsTarikhMula=e.getOption(4),f.dateOptionsTarikhAkhir=e.getOption(4)):(f.dateOptionsTarikhMula=e.getOption(5,a.negeri.weekend,a.negeri.id),f.dateOptionsTarikhAkhir=e.getOption(5,a.negeri.weekend,a.negeri.id)),f.dtAltInputFormats=e.getAltInputFormats(),e.addNewDateConfig(),e.addNewDateConfig(),f.dateConfigInstances=e.getDateConfigInstances()};f.confirmButton=function(){var a={size:"sm"},b={closeButtonText:"Cancel",actionButtonText:"Tambah",headerText:"",bodyText:"Anda pasti untuk tambah cuti?",buttonClass:"btn-success"};d.showModal(a,b).then(function(a){var b=angular.copy(f.addCuti);""!=f.addCuti.jeniscuti?b.jeniscuti=f.addCuti.jeniscuti.id:delete b.jeniscuti,""!=f.addCuti.negeri&&null!=f.addCuti.negeri?b.negeri=f.addCuti.negeri.id:delete b.negeri,""!=f.addCuti.tarikhMula&&(b.tarikhMula=e.getStringFormattedDT(f.addCuti.tarikhMula,1)),""!=f.addCuti.tarikhAkhir&&(b.tarikhAkhir=e.getStringFormattedDT(f.addCuti.tarikhAkhir,1)),h(b)})};var h=function(d){f.isLoading=!0,b({method:"POST",url:"./api/pentadbir/selenggara/save_cuti.php",data:d}).then(function(a){c.toastNotify("","Tambah Cuti berjaya.",1),f.isLoading=!1,f.ok()},function(b){a.error("Error pengguna service",b),401===b.status?a.log("status error",b):(a.log("status error",b),c.toastNotify("","Error "+b.status,2))})};f.ok=function(){delete f.addCuti.tarikhMula,delete f.addCuti.tarikhAkhir,delete f.addCuti.peristiwa,f.close()},f.cancel=function(){delete f.addCuti.tarikhMula,delete f.addCuti.tarikhAkhir,delete f.addCuti.peristiwa,f.dismiss()},f.updateMinTarikhAkhir=function(){f.dateOptionsTarikhAkhir={minDate:f.addCuti.tarikhMula}},f.updateMaxTarikhMula=function(){f.dateOptionsTarikhMula={maxDate:f.addCuti.tarikhAkhir}}}]}),angular.module("temujanjiApp").component("profil",{templateUrl:"views/profil.html",controller:["$log","$http","$timeout","modalServices","$scope","toastServices","storage","$cookies",function(a,b,c,d,e,f,g,h){var i=this;i.daftarObj={},i.tab=1,i.$onInit=function(){j()};var j=function(){i.isLoading=!0;var c={};b({method:"GET",url:"./api/temujanji/get_detail_pengguna.php",params:c}).then(function(a){i.isLoading=!1,i.message=a.data,i.daftarObj.nama=i.message.nama,i.daftarObj.bahagian=i.message.bahagian,i.daftarObj.email=i.message.email},function(b){a.error("Error get detail service",b),401===b.status?a.log("status error",b):a.log("status error",b)})};i.confirmButton=function(){var a={size:"sm"},b={closeButtonText:"Cancel",actionButtonText:"Kemaskini",headerText:"",bodyText:"Anda pasti untuk kemaskini profil?",buttonClass:"btn-success"};d.showModal(a,b).then(function(a){k()})};var k=function(){i.isLoading=!0;var c=angular.copy(i.daftarObj);delete c.bahagian,delete c.email,b({method:"POST",url:"./api/temujanji/update_pengguna.php",data:c}).then(function(a){f.toastNotify("","Kemaskini Profil berjaya",1),h.put("fullname",c.nama),g.setNavibarLastUpdate(),i.isLoading=!1},function(b){a.error("Error profile service",b),401===b.status?a.log("status error",b):(a.log("status error",b),f.toastNotify("","Error "+b.status,2))})}}]}),angular.module("temujanjiApp").component("tukarPassword",{templateUrl:"views/tukar-password.html",controller:["$log","$http","toastServices",function(a,b,c){var d=this;d.daftarObj={},d.$onInit=function(){},d.save=function(){d.isLoading=!0;var e=angular.copy(d.daftarObj);delete e.verifyPassword,b({method:"POST",url:"./api/temujanji/tukar_password.php",data:e}).then(function(a){1==a.data.errno?(c.toastNotify("",a.data.errmsg,2),d.isLoading=!1):(c.toastNotify("","Kemaskini Kata laluan berjaya",1),d.isLoading=!1,d.daftarObj={})},function(b){a.error("Error pengguna service",b),401===b.status?a.log("status error",b):(a.log("status error",b),c.toastNotify("","Error "+b.status,2))})},d.inputType="password",d.inputType2="password",d.hideShowPassword=function(a){1==a?"password"==d.inputType?d.inputType="text":d.inputType="password":2==a&&("password"==d.inputType2?d.inputType2="text":d.inputType2="password")}}]}),angular.module("temujanjiApp").component("dashboard",{templateUrl:"views/dashboard.html",controller:["$log","$http","securityService","searchingStorage",function(a,b,c,d){var e=this;e.userObj={},e.dashboard={baru:0,Approve:0,Reject:0},e.$onInit=function(){g(),e.userObj=c.getUserObj(),f()};var f=function(){d.clearSearchingHistory()},g=function(c){var d={};b({method:"GET",url:"./api/temujanji/dashboard.php",params:d}).then(function(a){e.dashboard=a.data},function(b){a.error("Error dashboard service",b),401===b.status?a.log("status error",b):a.log("status error",b)})}}]}),angular.module("temujanjiApp").component("modalUpdatePengguna",{templateUrl:"views/modal-update-pengguna.html",bindings:{resolve:"<",close:"&",dismiss:"&"},controller:["$log","$http","toastServices","lookup","modalServices",function(a,b,c,d,e){var f=this;f.updatePengguna={},f.$onInit=function(){h(),g(),f.ddlStatus=[{id:0,status:"Aktif"},{id:1,status:"Tak Aktif"}],f.updatePengguna=f.resolve.items,f.updatePengguna.statusLookup={id:f.resolve.items.status,status:f.resolve.items.statusDesc},f.updatePengguna.roleUpdate={id:f.resolve.items.role,role:f.resolve.items.roleName},f.updatePengguna.negeri={id:f.resolve.items.IDnegeri,negeri:f.resolve.items.negeridesc},f.bindPejabatLaut(),f.updatePengguna.pejabatlaut={id:f.resolve.items.IDpejabatlaut,pejabatlaut:f.resolve.items.pejabatlautdesc},f.bindBahgian(),f.updatePengguna.bahagian={id:f.resolve.items.ref_bahagian,bahagian:f.resolve.items.bahagiandesc},1==f.updatePengguna.isModulOwner?f.updatePengguna.moduleOwner=!0:f.updatePengguna.moduleOwner=!1};var g=function(){d.lookupRole().then(function(a){f.ddlrole=a.data},function(b){a.error(b)})},h=function(){d.lookupNegeriAdmin().then(function(a){f.ddlNegeri=a.data},function(b){a.error(b)})};f.bindPejabatLaut=function(){(f.updatePengguna.negeri||null!=f.updatePengguna.negeri)&&d.lookupPejabatLaut({negeri:f.updatePengguna.negeri.id,isAdmin:1}).then(function(a){f.ddlPejabatLaut=a.data},function(b){a.error(b)}),f.ddlPejabatLaut=[],f.ddlbahagian=[],f.updatePengguna.pejabatlaut=null,f.updatePengguna.bahagian=null},f.bindBahgian=function(){(f.updatePengguna.pejabatlaut||null!=f.updatePengguna.pejabatlaut)&&d.lookupBahagian({pejabat_laut:f.updatePengguna.pejabatlaut.id,isAdmin:1}).then(function(a){f.ddlbahagian=a.data},function(b){a.error(b)}),f.ddlbahagian=[],f.updatePengguna.bahagian=null},f.confirmButton=function(){var a={size:"sm"},b={closeButtonText:"Cancel",actionButtonText:"Kemaskini",headerText:"",bodyText:"Anda pasti untuk kemaskini pengguna?",buttonClass:"btn-success"};e.showModal(a,b).then(function(a){var b=angular.copy(f.updatePengguna);""!=f.updatePengguna.negeri&&(b.negeri=f.updatePengguna.negeri.id),""!=f.updatePengguna.pejabatlaut&&(b.pejabatlaut=f.updatePengguna.pejabatlaut.id),""!=f.updatePengguna.bahagian&&(b.bahagian=f.updatePengguna.bahagian.id),""!=f.updatePengguna.roleUpdate&&(b.roleUpdate=f.updatePengguna.roleUpdate.id),""!=f.updatePengguna.statusLookup&&(b.status=f.updatePengguna.statusLookup.id),""!==f.updatePengguna.moduleOwner&&null!==f.updatePengguna.moduleOwner?f.updatePengguna.moduleOwner===!0?b.moduleOwner=1:b.moduleOwner=0:delete b.moduleOwner,delete b.negeridesc,delete b.pejabatlautdesc,delete b.IDnegeri,delete b.IDpejabatlaut,delete b.created_date,delete b.email,delete b.bahagiandesc,delete b.isModulOwner,delete b.role,delete b.roleName,delete b.created_date,delete b.statusDesc,delete b.statusLookup,delete b.ref_bahagian,i(b)})};var i=function(d){f.isLoading=!0,b({method:"POST",url:"./api/pentadbir/selenggara/update_pengguna.php",data:d}).then(function(a){c.toastNotify("","Kemaskini Pengguna berjaya.",1),f.isLoading=!1,f.ok()},function(b){a.error("Error pengguna service",b),401===b.status?a.log("status error",b):(a.log("status error",b),c.toastNotify("","Error "+b.status,2))})};f.ok=function(){f.close()},f.cancel=function(){f.dismiss()},angular.element(".ui.checkbox").checkbox()}]}),angular.module("temujanjiApp").component("officerAppointmentFrequency",{templateUrl:"views/officer-appointment-frequency.html",controller:["$log","$http","dateService","lookup","$q",function(a,b,c,d,e){var f=this;f.ddlNegeri=[],f.ddlPejabatLaut=[],f.ddlbahagian=[],f.searchObj={},f.ListReport=[],f.displayReport=!1,f.dtFormat=c.getFormat(),f.dateOptionsTarikhMula=c.getOption(3),f.dateOptionsTarikhAkhir=c.getOption(3),f.dtAltInputFormats=c.getAltInputFormats(),c.addNewDateConfig(),c.addNewDateConfig(),f.dateConfigInstances=c.getDateConfigInstances(),f.updateMinTarikhAkhir=function(){f.dateOptionsTarikhAkhir={minDate:f.searchObj.tarikhM}},f.updateMaxTarikhMula=function(){f.dateOptionsTarikhMula={maxDate:f.searchObj.tarikhA}},f.$onInit=function(){g()};var g=function(){d.lookupNegeriAdmin().then(function(a){f.ddlNegeri=a.data},function(b){a.error(b)})};f.bindPejabatLaut=function(){(f.searchObj.negeri||null!=f.searchObj.negeri)&&d.lookupPejabatLaut({negeri:f.searchObj.negeri.id}).then(function(a){f.ddlPejabatLaut=a.data},function(b){a.error(b)}),f.ddlPejabatLaut=[],f.ddlbahagian=[],f.searchObj.pejabatlaut=null,f.searchObj.bahagian=null,f.searchObj.tarikhM=null,f.searchObj.tarikhA=null,f.displayList=!1},f.bindBahgian=function(){(f.searchObj.pejabatlaut||null!=f.searchObj.pejabatlaut)&&d.lookupBahagian({pejabat_laut:f.searchObj.pejabatlaut.id}).then(function(a){f.ddlbahagian=a.data},function(b){a.error(b)}),f.ddlbahagian=[],f.searchObj.bahagian=null,f.searchObj.tarikhM=null,f.searchObj.tarikhA=null,f.displayList=!1},f.resetTarikh=function(){f.searchObj.tarikhM=null,f.searchObj.tarikhA=null,f.displayList=!1},f.jana=function(){f.displayList=!1,f.isLoading=!0;var a=angular.copy(f.searchObj);
""!=f.searchObj.bahagian&&null!=f.searchObj.bahagian?a.bahagian=f.searchObj.bahagian.id:delete a.bahagian,""!=f.searchObj.tarikhM&&(a.tarikhM=c.getStringFormattedDT(f.searchObj.tarikhM,1)),""!=f.searchObj.tarikhA&&(a.tarikhA=c.getStringFormattedDT(f.searchObj.tarikhA,1)),delete a.negeri,delete a.pejabatlaut,h(a)};var h=function(c){b({method:"GET",url:"./api/pentadbir/laporan/officer_report.php",params:c}).then(function(a){f.ListReport=a.data,f.isLoading=!1,f.displayList=!0},function(b){f.ListReport=[],a.error("General Error : ",b)})};f.reset=function(){f.searchObj={},f.displayList=!1,f.ddlPejabatLaut=[],f.ddlbahagian=[]}}]}),angular.module("temujanjiApp").component("numberOfAppointment",{templateUrl:"views/number-of-appointment.html",controller:["$log","$http","dateService","lookup","$q",function(a,b,c,d,e){var f=this;f.ddlNegeri=[],f.ddlPejabatLaut=[],f.searchObj={},f.ListReport=[],f.displayReport=!1,f.dtFormat=c.getFormat(),f.dateOptionsTarikhMula=c.getOption(3),f.dateOptionsTarikhAkhir=c.getOption(3),f.dtAltInputFormats=c.getAltInputFormats(),c.addNewDateConfig(),c.addNewDateConfig(),f.dateConfigInstances=c.getDateConfigInstances(),f.updateMinTarikhAkhir=function(){f.dateOptionsTarikhAkhir={minDate:f.searchObj.tarikhM}},f.updateMaxTarikhMula=function(){f.dateOptionsTarikhMula={maxDate:f.searchObj.tarikhA}},f.$onInit=function(){g()};var g=function(){d.lookupNegeriAdmin().then(function(a){f.ddlNegeri=a.data},function(b){a.error(b)})};f.bindPejabatLaut=function(){(f.searchObj.negeri||null!=f.searchObj.negeri)&&d.lookupPejabatLaut({negeri:f.searchObj.negeri.id}).then(function(a){f.ddlPejabatLaut=a.data},function(b){a.error(b)}),f.ddlPejabatLaut=[],f.searchObj.pejabatlaut=null,f.searchObj.tarikhM=null,f.searchObj.tarikhA=null,f.displayList=!1},f.resetTarikh=function(){f.searchObj.tarikhM=null,f.searchObj.tarikhA=null,f.displayList=!1},f.jana=function(){f.displayList=!1,f.isLoading=!0;var a=angular.copy(f.searchObj);""!=f.searchObj.pejabatlaut&&null!=f.searchObj.pejabatlaut?a.pejabatlaut=f.searchObj.pejabatlaut.id:delete a.pejabatlaut,""!=f.searchObj.tarikhM&&(a.tarikhM=c.getStringFormattedDT(f.searchObj.tarikhM,1)),""!=f.searchObj.tarikhA&&(a.tarikhA=c.getStringFormattedDT(f.searchObj.tarikhA,1)),delete a.negeri,h(a)};var h=function(c){b({method:"GET",url:"./api/pentadbir/laporan/appointment_report.php",params:c}).then(function(a){f.ListReport=a.data,f.isLoading=!1,f.displayList=!0},function(b){f.ListReport=[],a.error("General Error : ",b)})};f.reset=function(){f.searchObj={},f.displayList=!1,f.ddlPejabatLaut=[],f.ddlbahagian=[]}}]}),angular.module("temujanjiApp").component("maklumBalas",{templateUrl:"views/maklum-balas.html",controller:["$log","$http","$sce",function(a,b,c){var d=this;d.$onInit=function(){e()};var e=function(){b({method:"GET",url:"./api/website/website_info.php"}).then(function(a){d.websiteInfo=a.data,d.websiteInfo.link_maklumbalas=c.trustAsResourceUrl(d.websiteInfo.link_maklumbalas)},function(b){d.websiteInfo={},a.error("General Error : ",b)})}}]}),angular.module("temujanjiApp").component("cetakSenaraiPermohonan",{templateUrl:"views/cetak-senarai-permohonan.html",controller:["$log","$http","dateService","lookup",function(a,b,c,d){var e=this;e.pagingInfoObj={},e.ListPermohonan=[],e.ddlNegeri=[],e.ddlPejabatLaut=[],e.searchObj={},e.displayList=!1,e.$onInit=function(){f(),e.date=new Date},e.dtFormat=c.getFormat(),e.dtOptions=c.getOption(3),e.dtAltInputFormats=c.getAltInputFormats(),c.addNewDateConfig(),e.dateConfigInstances=c.getDateConfigInstances();var f=function(){d.lookupNegeri().then(function(a){e.ddlNegeri=a.data},function(b){a.error(b)})};e.bindPejabatLaut=function(){(e.searchObj.negeri||null!=e.searchObj.negeri)&&d.lookupPejabatLaut({negeri:e.searchObj.negeri.id}).then(function(a){e.ddlPejabatLaut=a.data},function(b){a.error(b)}),e.ddlPejabatLaut=[],e.searchObj.pejabatlaut=null,e.displayList=!1},e.search=function(){e.displayList=!1,e.isLoading=!0;var a=angular.copy(e.searchObj);""!=e.searchObj.tarikh&&(a.tarikh=c.getStringFormattedDT(e.searchObj.tarikh,1)),""!=e.searchObj.pejabatlaut&&null!=e.searchObj.pejabatlaut?a.pejabatlaut=e.searchObj.pejabatlaut.id:delete a.pejabatlaut,delete a.negeri,g(a)},e.reset=function(){e.searchObj={},e.displayList=!1};var g=function(c){b({method:"GET",url:"./api/temujanji/cetak_senarai_permohonan.php",params:c}).then(function(a){e.ListPermohonan=a.data,e.isLoading=!1,e.displayList=!0}).then(function(a){},function(b){e.ListPermohonan=[],e.isLoading=!1,a.error("General Error : ",b)})}}]}),angular.module("temujanjiApp").component("laporanResponseTime",{templateUrl:"views/laporan-response-time.html",controller:["$log","$http","dateService","lookup","$q",function(a,b,c,d,e){var f=this;f.ddlNegeri=[],f.ddlPejabatLaut=[],f.searchObj={},f.ListReport=[],f.displayReport=!1,f.dtFormat=c.getFormat(),f.dateOptionsTarikhMula=c.getOption(3),f.dateOptionsTarikhAkhir=c.getOption(3),f.dtAltInputFormats=c.getAltInputFormats(),c.addNewDateConfig(),c.addNewDateConfig(),f.dateConfigInstances=c.getDateConfigInstances(),f.updateMinTarikhAkhir=function(){f.dateOptionsTarikhAkhir={minDate:f.searchObj.tarikhM}},f.updateMaxTarikhMula=function(){f.dateOptionsTarikhMula={maxDate:f.searchObj.tarikhA}},f.$onInit=function(){g()};var g=function(){d.lookupNegeri().then(function(a){f.ddlNegeri=a.data},function(b){a.error(b)})};f.bindPejabatLaut=function(){(f.searchObj.negeri||null!=f.searchObj.negeri)&&d.lookupPejabatLaut({negeri:f.searchObj.negeri.id}).then(function(a){f.ddlPejabatLaut=a.data},function(b){a.error(b)}),f.ddlPejabatLaut=[],f.searchObj.pejabatlaut=null,f.searchObj.tarikhM=null,f.searchObj.tarikhA=null,f.displayList=!1},f.resetTarikh=function(){f.searchObj.tarikhM=null,f.searchObj.tarikhA=null,f.displayList=!1},f.jana=function(){f.displayList=!1,f.isLoading=!0;var a=angular.copy(f.searchObj);""!=f.searchObj.pejabatlaut&&null!=f.searchObj.pejabatlaut?a.pejabatlaut=f.searchObj.pejabatlaut.id:delete a.pejabatlaut,""!=f.searchObj.tarikhM&&(a.tarikhM=c.getStringFormattedDT(f.searchObj.tarikhM,1)),""!=f.searchObj.tarikhA&&(a.tarikhA=c.getStringFormattedDT(f.searchObj.tarikhA,1)),delete a.negeri,h(a)};var h=function(c){b({method:"GET",url:"./api/pentadbir/laporan/response_time.php",params:c}).then(function(a){f.ListReport=a.data,f.isLoading=!1,f.displayList=!0},function(b){f.ListReport=[],a.error("General Error : ",b)})};f.reset=function(){f.searchObj={},f.displayList=!1,f.ddlPejabatLaut=[],f.ddlbahagian=[]}}]}),angular.module("temujanjiApp").component("modalForgotPassword",{templateUrl:"views/modal-forgot-password.html",bindings:{resolve:"<",close:"&",dismiss:"&"},controller:["$log","$http","toastServices","lookup","modalServices",function(a,b,c,d,e){var f=this;f.resetpassword={},f.$onInit=function(){},f.confirmButton=function(){var a={size:"sm"},b={closeButtonText:"Cancel",actionButtonText:"Reset",headerText:"",bodyText:"Anda pasti untuk reset password?",buttonClass:"btn-success"};e.showModal(a,b).then(function(a){var b=angular.copy(f.resetpassword);g(b)})};var g=function(d){f.isLoading=!0,b({method:"POST",url:"./api/temujanji/user_reset_password.php",data:d}).then(function(a){var b=a.data;"404"==b.errNo?c.toastNotify("",b.errMessage,2):(c.toastNotify("","Sila lihat emel.",1),f.isLoading=!1,f.ok())},function(b){a.error("Error pengguna service",b),401===b.status?a.log("status error",b):(a.log("status error",b),c.toastNotify("","Error "+b.status,2))})};f.ok=function(){f.close()},f.cancel=function(){f.dismiss()}}]}),angular.module("temujanjiApp").component("selenggaraPegawaiOlehPic",{templateUrl:"views/selenggara-pegawai-oleh-pic.html",controller:["$log","$location","$http","modalServices","toastServices","lookup","$uibModal","$q","securityService",function(a,b,c,d,e,f,g,h,i){var j=this,k={pagingType:2,totalRow:0,totalPage:1};j.pagingInfoObj={},j.ddlNegeri=[],j.ddlPejabatLaut=[],j.ddlbahagian=[],j.searchObj={},j.list={},j.ListPegawai=[],j.displayList=!1,j.$onInit=function(){j.userObj=i.getUserObj(),j.searchObj.bahagian={id:j.userObj.ref_bahagian,bahagian:j.userObj.bahagian},l()};var l=function(b){j.isLoading=!0,c({method:"GET",url:"./api/pentadbir/selenggara/list_pegawai_by_pic_info.php",params:b}).then(function(a){return j.pagingInfoObj=a.data,j.currentPage=1,0===j.pagingInfoObj.totalRow?h.reject("No record to fetch"):c({method:"GET",url:"./api/pentadbir/selenggara/list_pegawai_by_pic_data.php",params:b})}).then(function(a){return angular.isArray(a.data)?(j.ListPegawai=a.data,void(j.isLoading=!1)):h.reject("Data returned not an array")},function(b){j.pagingInfoObj=k,j.ListPegawai=[],j.isLoading=!1,a.error("General Error : ",b)})};j.setPage=function(a){j.currentPage=a},j.pageChanged=function(){j.isLoading=!0,j.list.pageNo=j.currentPage,c({method:"GET",url:"./api/pentadbir/selenggara/list_pegawai_by_pic_data.php",params:j.list}).then(function(a){return angular.isArray(a.data)?(j.ListPegawai=a.data,void(j.isLoading=!1)):h.reject("Data returned not an array")},function(b){j.pagingInfoObj=k,j.ListPegawai=[],j.isLoading=!1,a.error("General Error : ",b)})},j.addPegawai=function(a){var b=g.open({animation:!0,component:"modalAddPegawai",size:"lg",backdrop:"static",keyboard:!1,resolve:{items:function(){return a}}});b.result.then(function(a){l()},function(){})},j.updatePegawai=function(a){var b=g.open({animation:!0,component:"modalUpdatePegawai",size:"lg",backdrop:"static",keyboard:!1,resolve:{items:function(){return a}}});b.result.then(function(a){l()},function(){})}}]}),angular.module("temujanjiApp").component("senaraiVerifySecurity",{templateUrl:"views/senarai-verify-security.html",controller:["$log","$http","$q","securityService","$uibModal",function(a,b,c,d,e){var f=this,g={pagingType:2,totalRow:0,totalPage:1};f.pagingInfoObj={},f.ListPermohonan=[],f.searchObj={},f.list={},f.userObj={},f.$onInit=function(){f.today=new Date,f.userObj=d.getUserObj(),f.search()};var h=function(d){f.isLoading=!0,b({method:"GET",url:"./api/temujanji/list_verify_security_info.php",params:d}).then(function(a){return f.pagingInfoObj=a.data,f.currentPage=1,0===f.pagingInfoObj.totalRow?c.reject("No record to fetch"):b({method:"GET",url:"./api/temujanji/list_verify_security_data.php",params:d})}).then(function(a){return angular.isArray(a.data)?(f.ListPermohonan=a.data,void(f.isLoading=!1)):c.reject("Data returned not an array")},function(b){f.pagingInfoObj=g,f.ListPermohonan=[],f.isLoading=!1,a.error("General Error : ",b)})};f.setPage=function(a){f.currentPage=a},f.pageChanged=function(){f.isLoading=!0,f.list.pageNo=f.currentPage,b({method:"GET",url:"./api/temujanji/list_verify_security_data.php",params:f.list}).then(function(a){return angular.isArray(a.data)?(f.ListPermohonan=a.data,void(f.isLoading=!1)):c.reject("Data returned not an array")},function(b){f.pagingInfoObj=g,f.ListPermohonan=[],f.isLoading=!1,a.error("General Error : ",b)})},f.search=function(){var a=angular.copy(f.searchObj);""!=f.searchObj.norujukan&&null!=f.searchObj.norujukan&&void 0!=f.searchObj.norujukan?a.norujukan=f.searchObj.norujukan:delete a.norujukan,""!=f.searchObj.namapemohon&&null!=f.searchObj.namapemohon&&void 0!=f.searchObj.namapemohon?a.namapemohon=f.searchObj.namapemohon:delete a.namapemohon,f.list=a,h(a)},f.reset=function(){f.searchObj.norujukan=null,f.searchObj.namapemohon=null,h()},f.verifySecurity=function(a){var b=e.open({animation:!0,component:"modalVerifySecurity",size:"lg",backdrop:"static",keyboard:!1,resolve:{items:function(){return a}}});b.result.then(function(a){f.search()},function(){})}}]}),angular.module("temujanjiApp").component("modalVerifySecurity",{templateUrl:"views/modal-verify-security.html",bindings:{resolve:"<",close:"&",dismiss:"&"},controller:["$log","$http","toastServices","lookup","modalServices",function(a,b,c,d,e){var f=this;f.updateVerifySecurity={},f.$onInit=function(){f.updateVerifySecurity=f.resolve.items,g()};var g=function(){d.lookupStatusVerifySecurity().then(function(a){f.ddlStatus=a.data},function(b){a.error(b)})};f.confirmButton=function(){var a={size:"sm"},b={closeButtonText:"Cancel",actionButtonText:"Kemaskini",headerText:"",bodyText:"Anda pasti untuk kemaskini maklumat ini?",buttonClass:"btn-success"};e.showModal(a,b).then(function(a){var b=angular.copy(f.updateVerifySecurity);""!=f.updateVerifySecurity.statusLookup&&(b.statusVerify=f.updateVerifySecurity.statusLookup.id),delete b.bahagian,delete b.datecreated,delete b.keterangan,delete b.masa,delete b.statusLookup,delete b.nama,delete b.negeri,delete b.norujukan,delete b.pejabatlaut,delete b.ref_bahagian,delete b.ref_tujuan,delete b.status,delete b.statusDesc,delete b.statusVerifyDesc,delete b.tarikh,delete b.tujuan,delete b.bilkehadiran,delete b.verifySecurityStatus,delete b.catatanSecurity,h(b)})};var h=function(d){f.isLoading=!0,b({method:"POST",url:"./api/temujanji/update_verify_security.php",data:d}).then(function(a){c.toastNotify("","Kemaskini Pegawai berjaya.",1),f.isLoading=!1,f.ok()},function(b){a.error("Error pengguna service",b),401===b.status?a.log("status error",b):(a.log("status error",b),c.toastNotify("","Error "+b.status,2))})};f.ok=function(){f.close()},f.cancel=function(){f.dismiss()}}]}),angular.module("temujanjiApp").component("printTerm",{templateUrl:"views/print-term.html",controller:["$log","$http",function(a,b){var c=this;c.termadansyarat=[],c.$onInit=function(){d()};var d=function(){b({method:"GET",url:"./api/temujanji/terma_dan_syarat.php"}).then(function(a){c.termadansyarat=a.data},function(b){c.termadansyarat=[],a.error("General Error : ",b)})}}]}),angular.module("temujanjiApp").component("frontPage",{templateUrl:"views/front-page.html",bindings:{getInfo:"<"},controller:["$log","$http","$uibModal",function(a,b,c){var d=this;d.$onInit=function(){},d.$onChanges=function(a){void 0!=a.getInfo.currentValue&&(d.getInfo=a.getInfo.currentValue)},d.openTerms=function(a){var b=c.open({animation:!0,component:"modalTermaSyarat",size:"lg",backdrop:"static",keyboard:!1,resolve:{items:function(){return a}}});b.result.then(function(a){},function(){})},d.openEtika=function(a){var b=c.open({animation:!0,component:"modalEtikaPakaian",size:"lg",backdrop:"static",keyboard:!1,resolve:{items:function(){return a}}});b.result.then(function(a){},function(){})}}]}),angular.module("temujanjiApp").component("modalForYoutube",{templateUrl:"views/modal-for-youtube.html",bindings:{resolve:"<",close:"&",dismiss:"&"},controller:["$log","$sce",function(a,b){var c=this;c.linkYoutube="",c.$onInit=function(){c.objParam=c.resolve.items,c.linkYoutube1=b.trustAsResourceUrl(c.objParam),a.info(c.objParam)},c.ok=function(){c.close({$value:"closed"})},c.cancel=function(){c.dismiss()}}]}),angular.module("temujanjiApp").directive("onlyNumber",function(){return{require:"ngModel",restrict:"A",link:function(a,b,c,d){function e(a){if(a){var b=a.replace(/[^0-9]/g,"");return b!==a&&(d.$setViewValue(b),d.$render()),b}return void 0}d.$parsers.push(e)}}}),angular.module("temujanjiApp").component("modalEtikaPakaian",{templateUrl:"views/modal-etika-pakaian.html",bindings:{resolve:"<",close:"&",dismiss:"&"},controller:["$log","$http","$timeout",function(a,b,c){var d=this;d.termadansyarat=[],d.$onInit=function(){d.isLoading=!0,c(function(){d.isLoading=!1},500)},d.ok=function(){d.close({$value:"closed"})},d.cancel=function(){d.dismiss()}}]}),angular.module("temujanjiApp").factory("searchingStorage",["$cookies","$log",function(a,b){var c=[a.getObject("searchingObj"),a.getObject("searchingHistory")];return{getSearchingLastUpdate:function(){return c},setSearchingLastUpdate:function(b){c[0]=b,a.putObject("searchingObj",b)},setSearchingHistory:function(b){c[1]={historyFlag:b},a.putObject("searchingHistory",{historyFlag:b})},clearSearchingHistory:function(){c[0]=null,a.putObject("searchingObj",c[0]),c[1]={historyFlag:!1},a.putObject("searchingHistory",c[1])}}}]),angular.module("temujanjiApp").component("reportByNegeri",{templateUrl:"views/report-by-negeri.html",controller:["$log","$http","dateService","lookup","$q",function(a,b,c,d,e){var f=this;f.ddlNegeri=[],f.searchObj={},f.ListReport=[],f.displayReport=!1,f.dtFormat=c.getFormat(),f.dateOptionsTarikhMula=c.getOption(3),f.dateOptionsTarikhAkhir=c.getOption(3),f.dtAltInputFormats=c.getAltInputFormats(),c.addNewDateConfig(),c.addNewDateConfig(),f.dateConfigInstances=c.getDateConfigInstances(),f.updateMinTarikhAkhir=function(){f.dateOptionsTarikhAkhir={minDate:f.searchObj.tarikhM}},f.updateMaxTarikhMula=function(){f.dateOptionsTarikhMula={maxDate:f.searchObj.tarikhA}},f.$onInit=function(){g()};var g=function(){d.lookupNegeriAdmin().then(function(a){f.ddlNegeri=a.data},function(b){a.error(b)})};f.bindPejabatLaut=function(){f.searchObj.tarikhM=null,f.searchObj.tarikhA=null,f.displayList=!1},f.resetTarikh=function(){f.searchObj.tarikhM=null,f.searchObj.tarikhA=null,f.displayList=!1},f.jana=function(){f.displayList=!1,f.isLoading=!0;var a=angular.copy(f.searchObj);""!=f.searchObj.negeri&&null!=f.searchObj.negeri?a.negeri=f.searchObj.negeri.id:delete a.negeri,""!=f.searchObj.tarikhM&&(a.tarikhM=c.getStringFormattedDT(f.searchObj.tarikhM,1)),""!=f.searchObj.tarikhA&&(a.tarikhA=c.getStringFormattedDT(f.searchObj.tarikhA,1)),h(a)};var h=function(c){b({method:"GET",url:"./api/pentadbir/laporan/report_by_negeri.php",params:c}).then(function(a){f.ListReport=a.data,f.isLoading=!1,f.displayList=!0},function(b){f.ListReport=[],a.error("General Error : ",b)})};f.reset=function(){f.searchObj={},f.displayList=!1,f.ddlPejabatLaut=[],f.ddlbahagian=[]}}]}),angular.module("temujanjiApp").component("pemakluman",{templateUrl:"views/pemakluman.html",controller:["$log","$http","securityService","$filter","modalServices",function(a,b,c,d,e){var f=this;f.userObj={},f.$onInit=function(){var a=c.getUserObj();"2"==a.roleID&&g()};var g=function(c){var d={};b({method:"GET",url:"./api/temujanji/pemakluman.php",params:d}).then(function(a){var b=a.data[0];null!=b&&h(b)},function(b){a.error("Error dashboard service",b),401===b.status?a.log("status error",b):a.log("status error",b)})},h=function(a){var b={size:"md"},c={closeButtonText:"Close",actionButtonText:"hide",headerText:"",bodyText:"<u><h4>"+d("translate")("TEXT_44")+"</h4></u></br>"+a,buttonClass:""};e.showModal(b,c).then(function(a){},function(){})}}]}),angular.module("temujanjiApp").run(["$templateCache",function(a){a.put("views/approve-form.html",'<!DOCTYPE html><!-- {{$ctrl.detailID}} --> <div class="ui segments"> <div class="ui segment"> <h3>Maklumat Permohonan</h3> </div> <div class="ui secondary segment"> <h4>( No Ruj : {{$ctrl.temujanji.norujukan}} )</h4> </div> <div class="ui segment"> <div class="ui equal width form"> <div class="field"> <div class="fields"> <div class="field"> <label>Negeri</label> {{$ctrl.temujanji.negeri | uppercase}} <div class="ui divider"></div> </div> <div class="field"> <label>Pejabat Laut</label> {{$ctrl.temujanji.pejabatlaut | uppercase}} <div class="ui divider"></div> </div> </div> <div class="fields"> <div class="field"> <label>Bahagian</label> {{$ctrl.temujanji.bahagian | uppercase}} <div class="ui divider"></div> </div> <div class="field"> <label>Tujuan</label> {{$ctrl.temujanji.tujuan | uppercase}} <div class="ui divider"></div> </div> </div> <div class="fields"> <div class="field"> <label>Tarikh Temujanji</label> {{$ctrl.temujanji.tarikh}} <div class="ui divider"></div> </div> <div class="field"> <label>Masa Temujanji</label> {{$ctrl.temujanji.masa}} <div class="ui divider"></div> </div> </div> <div class="fields"> <div class="field"> <label>Nama</label> <span class="text-uppercase" ng-bind-html="$ctrl.temujanji.nama"></span> <div class="ui divider"></div> </div> <div class="field"> <label>Emel</label> {{$ctrl.temujanji.emel || \'NIL\'}} <div class="ui divider"></div> </div> </div> <div class="fields"> <div class="field"> <label>Telefon</label> {{$ctrl.temujanji.telefon || \'NIL\'}} <div class="ui divider"></div> </div> <div class="field"> <label>Keterangan</label> <span ng-bind-html="$ctrl.temujanji.keterangan"></span> <div class="ui divider"></div> </div> </div> <div class="fields"> <div class="field"> <label>Bil Kehadiran</label> {{$ctrl.temujanji.bilkehadiran || \'NIL\'}} <div class="ui divider"></div> </div> <div class="field"> &nbsp; </div> </div> <div class="fields"> <div class="field"> <label>Status</label> {{$ctrl.temujanji.statusDesc || \'NIL\'}} <div class="ui divider"></div> </div> <div class="field"> <label>Pegawai yang ditugaskan</label> {{$ctrl.temujanji.assign_pegawai || \'NIL\'}} <div class="ui divider"></div> </div> </div> <div class="fields"> <div class="field"> <label>Catatan</label> {{$ctrl.temujanji.catatan || \'NIL\'}} <div class="ui divider"></div> </div> <div class="field"> <label>Tarikh Permohonan</label> {{$ctrl.temujanji.datecreated || \'NIL\'}} <div class="ui divider"></div> </div> </div> </div> </div> </div> </div> <div class="ui segments" ng-if="$ctrl.temujanji.verifySecurityStatus != null"> <div class="ui segment"> <h3>Maklumat Pengesahan Pengawal Keselamatan</h3> </div> <div class="ui segment"> <div class="ui equal width form"> <div class="field"> <div class="fields"> <div class="field"> <label>Catatan</label> {{$ctrl.temujanji.catatanSecurity || \'NIL\'}} <div class="ui divider"></div> </div> <div class="field"> <label>Status Pengesahan</label> {{$ctrl.temujanji.verifySecurityStatus || \'NIL\'}} <div class="ui divider"></div> </div> </div> <div class="fields"> <div class="field"> <label>Tarikh Pengesahan</label> {{$ctrl.temujanji.verifySecurityDate || \'NIL\'}} <div class="ui divider"></div> </div> <div class="field"> <label>Dikemaskini Oleh</label> {{$ctrl.temujanji.verifySecurityByid || \'NIL\' }} <div class="ui divider"></div> </div> </div> </div> </div> </div> </div> <a href="./#/private/senarai-permohonan{{$ctrl.urlparams}}" class="ui basic icon button" ng-if="$ctrl.temujanji.status != 0"> <i class="left angle left icon"></i> Kembali</a> <div class="ui segments" ng-if="$ctrl.temujanji.status == 0"> <div class="ui secondary segment"> <h3>Maklumat Pengesahan</h3> </div> <div class="ui segment"> <form name="formApprove"> <div class="ui equal width form"> <div class="field"> <div class="ui checkbox"> <input type="checkbox" tabindex="0" class="hidden" ng-model="$ctrl.ubahTarikh"> <label>Sila <b><i class="check square outline icon"></i></b> sekiranya ada perubahan tarikh temujanji.</label> </div> </div> <script>angular.element(\'.ui.checkbox\').checkbox();</script> <div class="fields" ng-if="$ctrl.ubahTarikh"> <div class="required field"> <label>Tarikh</label> <div class="ui action input"> <input type="text" ng-model="$ctrl.approveTemujanji.tarikh" name="tarikh" uib-datepicker-popup="{{$ctrl.dtFormat}}" is-open="$ctrl.dateConfigInstances[0].popupOpened" datepicker-options="$ctrl.dtOptions" placeholder="00-00-0000" ng-change="$ctrl.bindMasa();" readonly required> <button class="ui icon button" ng-click="$ctrl.dateConfigInstances[0].open()"> <i class="calendar alternate outline icon"></i> </button> </div> </div> <div class="required field"> <label>Masa</label> <div class="form-group form-group-md col m6 s12"> <select class="form-control form-control-md" name="masa" id="masa" ng-model="$ctrl.approveTemujanji.masa" ng-disabled="$ctrl.ddlMasa.length===0" ng-options="option.masa for option in $ctrl.ddlMasa track by option.masa" required> <option value="">-Sila pilih-</option> </select> </div> </div> </div> <div class="ui divider" ng-show="$ctrl.ubahTarikh"></div> <div class="fields"> <div class="required field"> <label>Status</label> <div class="form-group form-group-md col m6 s12"> <select class="form-control form-control-md text-uppercase" name="status" id="status" ng-model="$ctrl.approveTemujanji.status" ng-disabled="$ctrl.ddlStatus.length===0" ng-options="option.status for option in $ctrl.ddlStatus track by option.id" required ng-change="$ctrl.approveTemujanji.pegawai = null;"> <option value="">-Sila pilih-</option> </select> </div> </div> <div class="field" ng-class="{\'required\':$ctrl.approveTemujanji.status.id == 1}"> <label>Pegawai yang ditugaskan</label> <div class="form-group form-group-md col m6 s12"> <select class="form-control form-control-md text-uppercase" name="pegawai" id="pegawai" ng-model="$ctrl.approveTemujanji.pegawai" ng-disabled="$ctrl.ddlPegawai.length===0 || $ctrl.approveTemujanji.status.id == 2 || $ctrl.approveTemujanji.status == null" ng-options="(option.nama_pegawai +\' (\'+ option.emel + \')\') for option in $ctrl.ddlPegawai track by option.id" ng-required="$ctrl.approveTemujanji.status.id == 1"> <option value="">-Sila pilih-</option> </select> <!-- <div class="ui pointing label" ng-show="$ctrl.ddlPegawai.length===0 && $ctrl.approveTemujanji.status.id == 1">\n                                Tiada Maklumat Pegawai sila maklumkan kepada Pentadbir Sistem\n                            </div> --> </div> </div> </div> <div class="fields"> <div class="required field"> <label>Catatan</label> <textarea rows="3" ng-model="$ctrl.approveTemujanji.catatan" placeholder="Catatan" required maxlength="240"></textarea> <small style="float: right">{{$ctrl.approveTemujanji.catatan.length || \'0\'}}/240</small> </div> <div class="field"> &nbsp; </div> </div> </div> <div class="ui divider"></div> <a href="./#/private/senarai-permohonan{{$ctrl.urlparams}}" class="ui basic icon button"> <i class="left angle left icon"></i></a> <button type="button" class="ui right labeled icon button primary-custom" ng-click="$ctrl.confirmButton(1);" ng-disabled="formApprove.$invalid || $ctrl.isLoading" ng-class="{\'loading\': $ctrl.isLoading}"> <i class="right save icon"></i> Kemaskini </button> <button type="reset" class="ui right labeled icon basic button" ng-disabled="formApprove.$invalid || $ctrl.isLoading" ng-click="$ctrl.reset();"> <i class="right refresh icon"></i> Reset </button> </form> </div> </div> <preloader ng-if="$ctrl.isLoading"></preloader>'),a.put("views/cetak-senarai-permohonan.html",'<!DOCTYPE html> <style>.table-responsive {\n        font-size: 12.5px;\n    }</style> <h2 class="ui header hidden-print"> <i class="big icons"> <i class="file alternate outline icon icon-color-primary"></i> <i class="inverted corner print icon"></i> </i> <div class="content"> Cetak Senarai Permohonan <!-- <div class="sub header text-capitalize">{{$ctrl.date | date:\'dd-MM-yyyy\'}}</div> --> </div> </h2> <h1 class="header text-center visible-print">Senarai Permohonan Temujanji {{$ctrl.searchObj.tarikh | date:\'dd-MM-yyyy\'}} </h1> <hr class="hidden-print"> <div class="ui equal width form hidden-print"> <form name="formSearch" autocomplete="off"> <div class="fields"> <div class="field"> <label>Negeri</label> <div class="form-group form-group-md col m6 s12"> <select class="form-control form-control-md text-uppercase" name="negeri" id="negeri" ng-model="$ctrl.searchObj.negeri" ng-disabled="$ctrl.ddlNegeri.length===0" ng-options="option.negeri for option in $ctrl.ddlNegeri track by option.id" ng-change="$ctrl.bindPejabatLaut();"> <option value="">-Sila pilih-</option> </select> </div> </div> <div class="required field" ng-class="{\'required\':$ctrl.searchObj.negeri != null}"> <label>Pejabat Laut</label> <div class="form-group form-group-md col m6 s12"> <select class="form-control form-control-md text-uppercase" name="pejabatlaut" id="pejabatlaut" ng-model="$ctrl.searchObj.pejabatlaut" ng-disabled="$ctrl.ddlPejabatLaut.length===0" ng-options="option.pejabatlaut for option in $ctrl.ddlPejabatLaut track by option.id" ng-change="$ctrl.displayList = false;" ng-required="$ctrl.searchObj.negeri != null"> <option value="">-Sila pilih-</option> </select> </div> </div> </div> <div class="fields"> <div class="field required"> <label>Tarikh Temujanji</label> <div class="ui action input"> <input type="text" ng-model="$ctrl.searchObj.tarikh" name="tarikh" uib-datepicker-popup="{{$ctrl.dtFormat}}" is-open="$ctrl.dateConfigInstances[0].popupOpened" datepicker-options="$ctrl.dtOptions" placeholder="00-00-0000" ng-change="$ctrl.displayList = false;" readonly required> <button class="ui icon button" ng-click="$ctrl.dateConfigInstances[0].open()"> <i class="calendar alternate outline icon"></i> </button> </div> </div> <div class="field"> &nbsp; </div> </div> <div class="field"> <label>&nbsp;</label> <button type="button" class="ui right labeled icon button primary-custom" ng-disabled="formSearch.$invalid" ng-click="$ctrl.search();"> <i class="right search icon"></i> Search </button> <button type="button" class="ui right labeled icon button basic" ng-click="$ctrl.reset();"> <i class="right undo alternate icon"></i> Reset </button> </div> </form> </div> <div ng-if="$ctrl.displayList"> <hr class="hidden-print"> <button class="ui right labeled icon button basic hidden-print" onclick="window.print()"> <i class="print icon"></i> Cetak </button> <br><br> <div class="table-responsive"> <table class="ui unstackable selectable celled table"> <thead> <tr> <th width="1%">#</th> <th width="10%">No Rujukan</th> <th width="20%">Nama</th> <th width="20%">Bahagian</th> <th width="15%">Tujuan</th> <th width="15%">Tarikh &amp; Masa</th> <th width="15%">Pegawai yg ditugaskan</th> </tr> </thead> <tbody> <tr ng-repeat="list in $ctrl.ListPermohonan track by $index"> <td> {{$index + 1 }} </td> <td> {{list.norujukan ||"-"}} </td> <td>{{list.nama}}</td> <td>{{list.bahagian}}</td> <td>{{list.tujuan}}</td> <td>{{list.tarikh}} | {{list.masa}}</td> <td>{{list.pegawaiygditugaskan}}</td> </tr> <tr ng-show="$ctrl.ListPermohonan.length===0"> <td colspan="7" style="text-align: center">-Tiada Rekod Ditemui-</td> </tr> </tbody> </table> </div> </div>'),a.put("views/dashboard.html",'<!DOCTYPE html> <h2 class="ui header"> <i class="big icons"> <i class="calendar check outline icon icon-color-primary"></i> <i class="inverted corner anchor icon"></i> </i> <div class="content"> Dashboard <div class="sub header text-capitalize" ng-if="$ctrl.userObj.roleID == 2">{{$ctrl.userObj.bahagian}}</div> <div class="sub header text-capitalize" ng-if="$ctrl.userObj.roleID == 5">Modul Pengawal Keselamatan</div> </div> </h2> <hr> <pemakluman></pemakluman> <div class="ui two stackable link cards" ng-if="$ctrl.userObj.roleID == 1 || $ctrl.userObj.roleID == 2"> <br><br> <div class="ui blue card"> <div class="content"> <div class="description"> <div class="ui huge statistics" style="display: flex;justify-content: center;align-items: center;line-height: normal"> <div class="blue statistic"> <div class="value"> <a href="./#/private/senarai-permohonan?status=0" style="cursor: pointer">{{$ctrl.dashboard.baru}}</a> </div> <div class="label"> Baharu </div> </div> </div> </div> </div> </div> <div class="ui green card"> <div class="content"> <div class="description"> <div class="ui huge statistics" style="display: flex;justify-content: center;align-items: center"> <div class="green statistic"> <div class="value"> <a href="./#/private/senarai-permohonan?status=1" style="color: green;cursor: pointer">{{$ctrl.dashboard.approve}}</a> </div> <div class="label"> DILULUSKAN </div> </div> </div> </div> </div> </div> <div class="ui orange card"> <div class="content"> <div class="description"> <div class="ui huge statistics" style="display: flex;justify-content: center;align-items: center"> <div class="green statistic"> <div class="value"> <a href="./#/private/senarai-permohonan?status=2" style="color: orange;cursor: pointer">{{$ctrl.dashboard.ditolak}}</a> </div> <div class="label"> DITOLAK </div> </div> </div> </div> </div> </div> <div class="ui red card"> <div class="content"> <div class="description"> <div class="ui huge statistics" style="display: flex;justify-content: center;align-items: center"> <div class="green statistic"> <div class="value"> <a href="./#/private/senarai-permohonan?status=4" style="color: red;cursor: pointer">{{$ctrl.dashboard.dibatalkan}}</a> </div> <div class="label"> DIBATALKAN OLEH PEMOHON </div> </div> </div> </div> </div> </div> </div> <div ng-if="$ctrl.userObj.roleID == 3" class="ui placeholder segment"> <div class="ui icon header"> <i class="user outline icon"></i> Halaman Pemilik Modul </div> <!-- <div class="ui primary button">Add Document</div> --> </div> <senarai-verify-security ng-if="$ctrl.userObj.roleID == 5"></senarai-verify-security>'),
a.put("views/form-temujanji.html",'<!DOCTYPE html> <style>/* .ui.form .fields {\r\n        flex-direction: column !important;\r\n    } */\r\n\r\n    .ui.card>.extra {\r\n        color: rgba(0, 0, 0, .7);\r\n    }\r\n\r\n    .table,\r\n    .table td {\r\n        font-size: 13px;\r\n        padding-left: 5px;\r\n        padding-top: 2px;\r\n    }\r\n\r\n    .mouse-over {\r\n        text-decoration: underline;\r\n    }</style> <!-- Display title when click print --> <h1 class="header text-center visible-print"><img src="./images/jlm_logo.b5aea912.png" style="width: 100px;margin-top: -150px"> </h1> <h1 class="header text-center visible-print" style="margin-top: -30px;font-size: 24px">{{"TEXT_28" | translate}}</h1> <div class="ui divider visible-print"></div> <div class="ui four top attached steps hidden-print"> <div class="step hidden-print" ng-class="{\'active\': $ctrl.step == 1}"> <i class="map marker alternate icon icon-color-primary"></i> <div class="content"> <div class="title">{{"TEXT_9" | translate}}</div> <!-- <div class="description">Silih Pilih Negeri & Pejabat Laut</div> --> </div> </div> <div class="step hidden-print" ng-class="{\'active\': $ctrl.step == 2,\'disabled\': $ctrl.step == 1}"> <i class="calendar alternate outline icon icon-color-primary" ng-class="{\'disabled\': $ctrl.step == 1}"></i> <div class="content"> <div class="title">{{"TEXT_10" | translate}}</div> <!-- <div class="description">Sila Pilih Tarikh & Masa</div> --> </div> </div> <div class="step hidden-print" ng-class="{\'active\': $ctrl.step == 3,\'disabled\': $ctrl.step == 1 || $ctrl.step == 2}"> <i class="file alternate outline icon icon-color-primary" ng-class="{\'disabled\': $ctrl.step == 1 || $ctrl.step == 2}"></i> <div class="content"> <div class="title">{{"TEXT_11" | translate}}</div> <!-- <div class="description">Verify details</div> --> </div> </div> <div class="step hidden-print" ng-class="{\'active\': $ctrl.step == 4,\'disabled\': $ctrl.step == 1 || $ctrl.step == 2 || $ctrl.step == 3}"> <i class="check icon icon-color-primary" ng-class="{\'disabled\': $ctrl.step == 1 || $ctrl.step == 2 || $ctrl.step == 3}"></i> <div class="content"> <div class="title">{{"TEXT_12" | translate}}</div> <!-- <div class="description">Verify order details</div> --> </div> </div> </div> <div class="ui attached segment"> <br> <!-- {{$ctrl.formTemujanji}} --> <div ng-show="$ctrl.step == 1" class="hidden-print"> <!-- <h4>Step : 1</h4> --> <!-- <div class="ui divider"></div> --> <div class="ui info message"> <div class="header"> {{"TEXT_13" | translate}} </div> <ul class="list text-justify"> <li>{{"TEXT_14" | translate}}</li> <li>{{"TEXT_14_2" | translate}}</li> <li><a class="mouse-over" href="https://www.marine.gov.my/jlm/direktori" target="_blank">{{"TEXT_14_4" | translate}}</a></li> <li>{{"TEXT_14_3" | translate}}</li> </ul> </div> <br> <form name="form1"> <div class="ui equal width form"> <div class="field"> <div class="fields"> <div class="required field"> <label>{{"TEXT_15" | translate}}</label> <div class="form-group form-group-md col m6 s12"> <select class="form-control form-control-md text-uppercase" name="negeri" id="negeri" ng-model="$ctrl.formTemujanji.negeri" ng-disabled="$ctrl.ddlNegeri.length===0" ng-options="option.negeri for option in $ctrl.ddlNegeri track by option.id" ng-change="$ctrl.bindPejabatLaut();$ctrl.checkStatusHariBekerja($ctrl.formTemujanji.negeri);" required> <option value="">{{"TEXT_27" | translate}}</option> </select> </div> </div> <div class="required field"> <label>{{"TEXT_16" | translate}}</label> <div class="form-group form-group-md col m6 s12"> <select class="form-control form-control-md text-uppercase" name="pejabatlaut" id="pejabatlaut" ng-model="$ctrl.formTemujanji.pejabatlaut" ng-disabled="$ctrl.ddlPejabatLaut.length===0  || $ctrl.disabledPejabatLaut" ng-options="option.pejabatlaut for option in $ctrl.ddlPejabatLaut track by option.id" ng-change="$ctrl.bindBahgian();" required> <option value="">{{"TEXT_27" | translate}}</option> </select> </div> </div> </div> </div> <div class="field"> <div class="fields"> <div class="required field"> <label>{{"TEXT_17" | translate}}</label> <div class="form-group form-group-md col m6 s12"> <select class="form-control form-control-md text-uppercase" name="bahagian" id="bahagian" ng-model="$ctrl.formTemujanji.bahagian" ng-disabled="$ctrl.ddlbahagian.length===0" ng-options="option.bahagian for option in $ctrl.ddlbahagian track by option.id" ng-change="$ctrl.bindTujuan();" required> <option value="">{{"TEXT_27" | translate}}</option> </select> <div class="ui" ng-if="$ctrl.formTemujanji.bahagian.fungsi!=null" style="font-size: 0.87em;padding:3px 3px 3px 8px;border-bottom: #eeeeee solid 1px; background-color: #fafafa;text-align: justify"> <em>{{$ctrl.formTemujanji.bahagian.fungsi}}</em> </div> <!-- <div class="ui pointing basic blue label" style="font-weight: normal;"\r\n                                    ng-if="$ctrl.formTemujanji.bahagian.fungsi!=null">\r\n                                    {{$ctrl.formTemujanji.bahagian.fungsi}}\r\n                                </div> --> </div> </div> <div class="required field"> <label>{{"TEXT_18" | translate}}</label> <div class="form-group form-group-md col m6 s12"> <select class="form-control form-control-md text-uppercase" name="tujuan" id="tujuan" ng-model="$ctrl.formTemujanji.tujuan" ng-disabled="$ctrl.ddltujuan.length===0" ng-options="option.tujuan for option in $ctrl.ddltujuan track by option.id" required> <option value="">{{"TEXT_27" | translate}}</option> </select> </div> </div> </div> </div> </div> <br> <button type="button" class="ui right labeled icon button primary-custom" ng-click="$ctrl.step = 2" style="float: right" ng-disabled="form1.$invalid"> <i class="right arrow icon"></i> {{"BTN_NEXT" | translate}} </button> <br><br> </form> </div> <div ng-show="$ctrl.step == 2" class="hidden-print"> <!-- <h4>Step : 2</h4> --> <!-- <div class="ui divider"></div> --> <div class="ui info message"> <div class="header"> {{"TEXT_35" | translate}} </div> <ul class="list"> <li>{{"TEXT_36" | translate}}</li> <li>{{"TEXT_37" | translate}}</li> <li>{{"TEXT_38" | translate}} {{$ctrl.curentYear}}, {{"TEXT_38_1" | translate}} </li> </ul> </div> <br> <form name="form2"> <div class="ui equal width form"> <div class="field"> <div class="fields"> <div class="required field"> <label>{{"TEXT_24" | translate}}</label> <div class="ui action input"> <input type="text" ng-model="$ctrl.formTemujanji.tarikh" name="tarikh" uib-datepicker-popup="{{$ctrl.dtFormat}}" is-open="$ctrl.dateConfigInstances[0].popupOpened" datepicker-options="$ctrl.dtOptions" placeholder="00-00-0000" ng-change="$ctrl.bindMasa();" readonly required> <button class="ui icon button" ng-click="$ctrl.dateConfigInstances[0].open()"> <i class="calendar alternate outline icon"></i> </button> </div> </div> <div class="required field"> <label>{{"TEXT_25" | translate}}</label> <div class="form-group form-group-md col m6 s12"> <select class="form-control form-control-md" name="masa" id="masa" ng-model="$ctrl.formTemujanji.masa" ng-disabled="$ctrl.ddlMasa.length===0" ng-options="option.masa for option in $ctrl.ddlMasa track by option.masa" required> <option value="">{{"TEXT_27" | translate}}</option> </select> </div> </div> </div> </div> </div> <br> <button type="button" class="ui left labeled icon button basic" ng-click="$ctrl.step = 1"> <i class="left arrow icon"></i> {{"BTN_PREV" | translate}} </button> <button type="button" class="ui right labeled icon button primary-custom" ng-click="$ctrl.step = 3" style="float: right" ng-disabled="form2.$invalid"> <i class="right arrow icon"></i> {{"BTN_NEXT" | translate}} </button> </form> </div> <div ng-show="$ctrl.step == 3" class="hidden-print"> <!-- <h4>Step : 3</h4> --> <!-- <div class="ui divider"></div> --> <div class="ui horizontal divided list"> <div class="item"> <div class="content"> <a class="header" style="color: black !important">{{"TEXT_15" | translate}}</a> <div class="description">{{$ctrl.formTemujanji.negeri.negeri | uppercase}}</div> </div> </div> <div class="item"> <div class="content"> <a class="header" style="color: black !important">{{"TEXT_16" | translate}}</a> <div class="description">{{$ctrl.formTemujanji.pejabatlaut.pejabatlaut | uppercase}}</div> </div> </div> <div class="item"> <div class="content"> <a class="header" style="color: black !important">{{"TEXT_17" | translate}}</a> <div class="description">{{$ctrl.formTemujanji.bahagian.bahagian | uppercase}}</div> </div> </div> </div> <div class="ui divider"></div> <div class="ui horizontal divided list"> <div class="item"> <div class="content"> <a class="header" style="color: black !important">{{"TEXT_18" | translate}}</a> <div class="description">{{$ctrl.formTemujanji.tujuan.tujuan | uppercase}}</div> </div> </div> <div class="item"> <div class="content"> <a class="header" style="color: black !important">{{"TEXT_24" | translate}}</a> <div class="description">{{$ctrl.formTemujanji.dateOnly}}</div> </div> </div> <div class="item"> <div class="content"> <a class="header" style="color: black !important">{{"TEXT_25" | translate}}</a> <div class="description">{{$ctrl.formTemujanji.masa.masa}}</div> </div> </div> </div> <div class="ui divider"></div> <br> <!-- <div class="ui form">\r\n            <div class="ui info message">\r\n                <div class="header">Perhatian!</div>\r\n                <ul class="list">\r\n                    <li>Sila masukkan maklumat yang betul bagi memudahkan kami berurusan dengan anda.</li>\r\n                </ul>\r\n            </div>\r\n        </div>\r\n\r\n        <br /> --> <form name="form3"> <div class="ui equal width form"> <div class="field"> <div class="fields"> <div class="required field"> <label>{{"TEXT_23" | translate}}</label> <input name="nama" placeholder="{{\'TEXT_23\' | translate}}" type="text" ng-model="$ctrl.formTemujanji.nama" required> </div> <!-- <div class="required field">\r\n                            <label>No Pengenalan Diri</label>\r\n                            <input name="nokp" placeholder="No Pengenalan Diri" type="text"\r\n                                ng-model="$ctrl.formTemujanji.nokp" required />\r\n                        </div> --> <div class="required field"> <label>{{"TEXT_19" | translate}} <span class="small" style="color: #90a4ae">({{"TEXT_19_1" | translate}})</span></label> <input name="emel" placeholder="{{\'TEXT_19\' | translate}}" type="text" ng-model="$ctrl.formTemujanji.emel" required ng-pattern="/^[^\\s@]+@[^\\s@]+\\.[^\\s@]{2,}$/"> </div> </div> <div class="fields"> <div class="required field"> <label>{{"TEXT_20" | translate}}</label> <input name="telefon" placeholder="{{\'TEXT_20\' | translate}}" type="text" ng-model="$ctrl.formTemujanji.telefon" required only-number> </div> <div class="required field"> <label>{{"TEXT_21" | translate}}</label> <div class="form-group form-group-md col m6 s12"> <select class="form-control form-control-md" name="kehadiran" id="kehadiran" ng-model="$ctrl.formTemujanji.bilkehadiran" required> <option value="">{{"TEXT_27" | translate}}</option> <option value="1">1</option> <option value="2">2</option> <option value="3">3</option> </select> </div> </div> </div> <div class="fields"> <div class="required field"> <label>{{"TEXT_22" | translate}}</label> <!-- <input name="keterangan" placeholder="Keterangan" type="text"\r\n                                ng-model="$ctrl.formTemujanji.keterangan" required /> --> <textarea rows="3" ng-model="$ctrl.formTemujanji.keterangan" placeholder="{{\'TEXT_22\' | translate}}" required maxlength="240"></textarea> <small style="float: right">{{$ctrl.formTemujanji.keterangan.length || \'0\'}}/240</small> </div> <div class="field"> &nbsp; </div> </div> </div> </div> <br> <button type="button" class="ui left labeled icon button basic" ng-click="$ctrl.step = 2"> <i class="left arrow icon"></i> {{"BTN_PREV" | translate}} </button> <button type="button" class="ui right labeled icon button primary-custom" ng-click="$ctrl.confirmButton();" style="float: right" ng-disabled="form3.$invalid"> <i class="right paper plane outline icon"></i> {{"BTN_SUBMIT" | translate}} </button> </form> </div> <div ng-show="$ctrl.step == 4"> <br class="hidden-print"> <br class="hidden-print"> <!-- step : 4 --> <!-- <h2 class="ui center aligned icon header">\r\n            <i class="circular green check icon hidden-print"></i>\r\n            No Ruj : {{$ctrl.norujukan}}\r\n        </h2>\r\n\r\n        <div class="ui divider"></div>\r\n\r\n        <div class="ui form"\r\n            style="margin: auto;width: 100%;border: 1px solid rgba(109, 109, 109, 0.178);padding: 10px;">\r\n\r\n            <div class="ui horizontal divided list">\r\n                <div class="item">\r\n                    <div class="content">\r\n                        <a class="header" style="color: black !important;">Negeri</a>\r\n                        <div class="description">{{$ctrl.formTemujanji.negeri.negeri | uppercase}}</div>\r\n                    </div>\r\n                </div>\r\n                <div class="item">\r\n                    <div class="content">\r\n                        <a class="header" style="color: black !important;">Pejabat Laut</a>\r\n                        <div class="description">{{$ctrl.formTemujanji.pejabatlaut.pejabatlaut | uppercase}}</div>\r\n                    </div>\r\n                </div>\r\n                <div class="item">\r\n                    <div class="content">\r\n                        <a class="header" style="color: black !important;">Bahagian / Unit</a>\r\n                        <div class="description">{{$ctrl.formTemujanji.bahagian.bahagian | uppercase}}</div>\r\n                    </div>\r\n                </div>\r\n\r\n            </div>\r\n\r\n            <div class="ui divider"></div>\r\n\r\n            <div class="ui horizontal divided list">\r\n                <div class="item">\r\n                    <div class="content">\r\n                        <a class="header" style="color: black !important;">Tujuan</a>\r\n                        <div class="description">{{$ctrl.formTemujanji.tujuan.tujuan | uppercase}}</div>\r\n                    </div>\r\n                </div>\r\n                <div class="item">\r\n                    <div class="content">\r\n                        <a class="header" style="color: black !important;">Tarikh</a>\r\n                        <div class="description">{{$ctrl.formTemujanji.dateOnly}}</div>\r\n                    </div>\r\n                </div>\r\n                <div class="item">\r\n                    <div class="content">\r\n                        <a class="header" style="color: black !important;">Masa</a>\r\n                        <div class="description">{{$ctrl.formTemujanji.masa.masa}}</div>\r\n                    </div>\r\n                </div>\r\n            </div>\r\n\r\n            <div class="ui divider"></div>\r\n\r\n            <div class="ui horizontal divided list">\r\n                <div class="item">\r\n                    <div class="content">\r\n                        <a class="header" style="color: black !important;">Nama</a>\r\n                        <div class="description">{{$ctrl.formTemujanji.nama | uppercase}}</div>\r\n                    </div>\r\n                </div>\r\n                <div class="item">\r\n                    <div class="content">\r\n                        <a class="header" style="color: black !important;">Emel</a>\r\n                        <div class="description">{{$ctrl.formTemujanji.emel}}</div>\r\n                    </div>\r\n                </div>\r\n                <div class="item">\r\n                    <div class="content">\r\n                        <a class="header" style="color: black !important;">Telefon</a>\r\n                        <div class="description">{{$ctrl.formTemujanji.telefon}}</div>\r\n                    </div>\r\n                </div>\r\n\r\n            </div>\r\n\r\n            <div class="ui divider"></div>\r\n\r\n            <div class="ui horizontal divided list">\r\n\r\n                <div class="item">\r\n                    <div class="content">\r\n                        <a class="header" style="color: black !important;">Bil Kehadiran</a>\r\n                        <div class="description">{{$ctrl.formTemujanji.bilkehadiran}}</div>\r\n                    </div>\r\n                </div>\r\n\r\n                <div class="item">\r\n                    <div class="content">\r\n                        <a class="header" style="color: black !important;">Keterangan</a>\r\n                        <div class="description">{{$ctrl.formTemujanji.keterangan}}</div>\r\n                    </div>\r\n                </div>\r\n\r\n                <div class="item">\r\n                    <div class="content">\r\n                        <a class="header" style="color: black !important;">Status</a>\r\n                        <div class="description">New</div>\r\n                    </div>\r\n                </div>\r\n\r\n            </div>\r\n\r\n        </div> --> <h2 class="header text-center" style="margin-top: -30px">{{"TEXT_30" | translate}} : {{$ctrl.formTemujanji.norujukan}}</h2> <table class="ui striped compact celled table"> <tbody> <tr> <td style="width: 18%;font-weight: bold">{{"TEXT_15" | translate}}&nbsp;:</td> <td style="width: 32%">{{$ctrl.formTemujanji.negeri.negeri | uppercase}}</td> <td style="width: 18%;font-weight: bold">{{"TEXT_16" | translate}}&nbsp;:</td> <td style="width: 32%">{{$ctrl.formTemujanji.pejabatlaut.pejabatlaut | uppercase}}</td> </tr> <tr> <td style="font-weight: bold">{{"TEXT_17" | translate}}&nbsp;:</td> <td>{{$ctrl.formTemujanji.bahagian.bahagian | uppercase}}</td> <td style="font-weight: bold">{{"TEXT_18" | translate}}&nbsp;:</td> <td>{{$ctrl.formTemujanji.tujuan.tujuan | uppercase}}</td> </tr> <tr> <td style="font-weight: bold">{{"TEXT_24" | translate}}&nbsp;:</td> <td>{{$ctrl.formTemujanji.dateOnly}}</td> <td style="font-weight: bold">{{"TEXT_25" | translate}}&nbsp;:</td> <td>{{$ctrl.formTemujanji.masa.masa}}</td> </tr> <tr> <td style="font-weight: bold">{{"TEXT_23" | translate}}&nbsp;:</td> <td>{{$ctrl.formTemujanji.nama | uppercase}}</td> <td style="font-weight: bold">{{"TEXT_19" | translate}}&nbsp;:</td> <td>{{$ctrl.formTemujanji.emel}}</td> </tr> <tr> <td style="font-weight: bold">{{"TEXT_20" | translate}}&nbsp;:</td> <td>{{$ctrl.formTemujanji.telefon}}</td> <td style="font-weight: bold">{{"TEXT_22" | translate}}&nbsp;:</td> <td>{{$ctrl.formTemujanji.keterangan}}</td> </tr> <tr> <td style="font-weight: bold">{{"TEXT_21" | translate}}&nbsp;:</td> <td>{{$ctrl.formTemujanji.bilkehadiran}}</td> <td style="font-weight: bold">Status&nbsp;:</td> <td><b>{{"TEXT_29" | translate}}</b></td> </tr> </tbody> </table> <print-term class="visible-print"></print-term> <!-- <br />\r\n\r\n        <button class="ui right labeled icon button right floated basic hidden-print" onclick="window.print();">\r\n            <i class="print icon"></i>\r\n            Print\r\n        </button> --> <br class="hidden-print"><br class="hidden-print"> </div> </div> <preloader ng-if="$ctrl.isLoading"></preloader>'),a.put("views/front-page.html",'<style>html {\r\n        height: 0;\r\n    }\r\n\r\n    .ui.labeled.icon.menu .item>.icon:not(.dropdown) {\r\n        font-size: 60px !important;\r\n        color: var(--secondary-color) !important;\r\n    }\r\n\r\n    .b-font {\r\n        color: #e53935 !important;\r\n        font-size: 1.18571429rem !important;\r\n    }\r\n\r\n    .b-title {\r\n        /* font-size: 2.08571429rem !important; */\r\n        /* font-size: 3.2vw !important; */\r\n        font-size: calc(2.5em + 0.5vw);\r\n        line-height: 8vh;\r\n    }\r\n\r\n    .b-title-2 {\r\n        /* font-size: 1.48571429rem !important; */\r\n        /* font-size: 2.6vw !important; */\r\n        font-size: calc(2em + 0.5vw);\r\n        line-height: 4vh;\r\n    }\r\n\r\n    .img-logo-kpm {\r\n        width: 55%;\r\n    }\r\n\r\n    @media (max-width: 280px) {\r\n        .b-title {\r\n            /* font-size: 2.08571429rem !important; */\r\n            /* font-size: 3.2vw !important; */\r\n            font-size: calc(1.3em + 0.5vw);\r\n            line-height: 4vh;\r\n        }\r\n\r\n        .b-title-2 {\r\n            /* font-size: 1.48571429rem !important; */\r\n            /* font-size: 2.6vw !important; */\r\n            font-size: calc(1.1em + 0.5vw);\r\n            line-height: 2vh;\r\n        }\r\n\r\n        .b-font {\r\n            color: #e53935 !important;\r\n            font-size: 0.89rem !important;\r\n        }\r\n\r\n    }\r\n\r\n    @media (min-width: 281px) and (max-width: 568px) {\r\n        .b-title {\r\n            /* font-size: 2.08571429rem !important; */\r\n            /* font-size: 3.2vw !important; */\r\n            font-size: calc(1.5em + 0.5vw);\r\n            line-height: 4vh;\r\n        }\r\n\r\n        .b-title-2 {\r\n            /* font-size: 1.48571429rem !important; */\r\n            /* font-size: 2.6vw !important; */\r\n            font-size: calc(1.2em + 0.5vw);\r\n            line-height: 2vh;\r\n        }\r\n\r\n        .b-font {\r\n            color: #e53935 !important;\r\n            font-size: 0.89rem !important;\r\n        }\r\n\r\n    }\r\n\r\n    @media (min-width: 1350px) {\r\n        .img-logo-kpm {\r\n            width: 53%;\r\n        }\r\n\r\n        .img-logo-laut {\r\n            width: 23%;\r\n        }\r\n    }\r\n\r\n    @media (min-width: 1025px) and (max-width:1100px) {\r\n        .img-logo-kpm {\r\n            width: 65%;\r\n        }\r\n    }\r\n\r\n    @media (max-width: 1024px) {\r\n        .img-logo-kpm {\r\n            width: 72%;\r\n        }\r\n    }\r\n\r\n    @media (max-width: 768px) {\r\n        .img-logo-kpm {\r\n            width: 107%;\r\n        }\r\n\r\n        .img-logo-laut {\r\n            width: 50%;\r\n        }\r\n    }\r\n\r\n    @media (min-width: 812px) and (max-width:823px) {\r\n        .img-logo-kpm {\r\n            width: 95%;\r\n        }\r\n\r\n        .img-logo-laut {\r\n            width: 38%;\r\n        }\r\n    }\r\n\r\n    @media (width:823px) {\r\n        .img-logo-kpm {\r\n            width: 87%;\r\n        }\r\n\r\n        .img-logo-laut {\r\n            width: 40%;\r\n        }\r\n    }\r\n\r\n    @media (max-width: 414px) {\r\n        .img-logo-kpm {\r\n            width: 130%;\r\n        }\r\n\r\n        .img-logo-laut {\r\n            width: 57%;\r\n        }\r\n    }</style> <div class="ui column centered grid" style="margin: auto"> <div class="column"> <div class="ui center aligned segment" style="border: none"> <div class="ui equal width grid"> <div class="column"> <img class="img-logo-kpm" ng-if="(\'LANGUAGE\' | translate) === \'MY\'" src="./images/2022-MOT-BM-01.85fd9a99.png"> <img class="img-logo-kpm" ng-if="(\'LANGUAGE\' | translate) === \'EN\'" src="./images/2022-MOT-EN-01.4be4fd9c.png"> </div> <div class="column"> <img class="img-logo-laut" src="./images/jlm_logo.b5aea912.png"> </div> </div> <hr> <div class="ui equal width grid"> <div class="column"> <b class="b-title">{{"TEXT_1" | translate}}</b> <br><br> <b class="b-title-2">{{"TEXT_2" | translate}}</b> </div> </div> <br> <a href="./#/borang-permohonan" class="ui primary-custom button"> <i class="calendar alternate outline icon"></i> {{"TEXT_3" | translate}} </a> <br><br><br> <div class="ui stackable equal width grid"> <div class="column"> <div class="ui one item labeled icon menu"> <a href="{{$ctrl.getInfo.link_manual_permohonan}}" target="_blank" class="item"> <i class="file pdf outline icon"></i> {{"TEXT_4" | translate}} </a> </div> </div> <div class="column"> <div class="ui one item labeled icon menu" ng-click="$ctrl.openTerms(1);"> <a class="item"> <i class="tasks icon"></i> {{"TEXT_5" | translate}} </a> </div> </div> <div class="column"> <div class="ui one item labeled icon menu"> <a href="./#/maklum-balas" class="item"> <i class="comments outline icon"></i> {{"TEXT_6" | translate}} </a> </div> </div> <!-- <div class="column">\r\n                    <div class="ui one item labeled icon menu" ng-click="$ctrl.openEtika();">\r\n                        <a class="item">\r\n                            <i class="street view icon"></i>\r\n                            {{"TEXT_6_1" | translate}}\r\n                        </a>\r\n                    </div>\r\n                </div> --> </div> <!-- <br /> --> <!-- Klik icon di atas untuk melihat video --> <br><br> <b class="b-font">{{"TEXT_7" | translate}}</b> <br> <b class="b-font">{{"TEXT_8" | translate}}</b> </div> </div> </div>'),a.put("views/landing-page.html",'<style>html {\r\n        height: 0;\r\n    }\r\n\r\n    .ui.labeled.icon.menu .item>.icon:not(.dropdown) {\r\n        font-size: 60px !important;\r\n        color: var(--secondary-color) !important;\r\n    }\r\n\r\n    .b-font {\r\n        color: #e53935 !important;\r\n        font-size: 1.18571429rem !important;\r\n    }\r\n\r\n    .b-title {\r\n        /* font-size: 2.08571429rem !important; */\r\n        /* font-size: 3.2vw !important; */\r\n        font-size: calc(2.5em + 0.5vw);\r\n        line-height: 8vh;\r\n    }\r\n\r\n    .b-title-2 {\r\n        /* font-size: 1.48571429rem !important; */\r\n        /* font-size: 2.6vw !important; */\r\n        font-size: calc(2em + 0.5vw);\r\n        line-height: 4vh;\r\n    }\r\n\r\n    .img-logo-kpm {\r\n        width: 40%;\r\n    }\r\n\r\n    @media (max-width: 568px) {\r\n        .b-title {\r\n            /* font-size: 2.08571429rem !important; */\r\n            /* font-size: 3.2vw !important; */\r\n            font-size: calc(1.5em + 0.5vw);\r\n            line-height: 4vh;\r\n        }\r\n\r\n        .b-title-2 {\r\n            /* font-size: 1.48571429rem !important; */\r\n            /* font-size: 2.6vw !important; */\r\n            font-size: calc(1.2em + 0.5vw);\r\n            line-height: 2vh;\r\n        }\r\n\r\n        .b-font {\r\n            color: #e53935 !important;\r\n            font-size: 0.89rem !important;\r\n        }\r\n\r\n    }\r\n\r\n    @media (min-width: 1350px) {\r\n        .img-logo-laut {\r\n            width: 23%;\r\n        }\r\n        .colomn-front-page{\r\n            width: 80% !important;\r\n        }\r\n    }\r\n\r\n    @media (min-width: 1025px) {\r\n        .colomn-front-page{\r\n            width: 90% !important;\r\n        }\r\n    }\r\n\r\n    @media (max-width: 1024px) {\r\n        .img-logo-kpm {\r\n            width: 50%;\r\n        }\r\n    }\r\n\r\n    @media (max-width: 768px) {\r\n        .img-logo-kpm {\r\n            width: 80%;\r\n        }\r\n\r\n        .img-logo-laut {\r\n            width: 50%;\r\n        }\r\n    }\r\n\r\n    @media (max-width: 812px) and (max-width:823px) {\r\n        /* .img-logo-kpm {\r\n            width: 100%;\r\n        } */\r\n\r\n        .img-logo-laut {\r\n            width: 38%;\r\n        }\r\n    }\r\n\r\n    @media (width:823px) {\r\n        .img-logo-kpm {\r\n            width: 100%;\r\n        }\r\n\r\n        .img-logo-laut {\r\n            width: 40%;\r\n        }\r\n    }\r\n\r\n    @media (max-width: 414px) {\r\n        .img-logo-kpm {\r\n            width: 100%;\r\n        }\r\n\r\n        .img-logo-laut {\r\n            width: 57%;\r\n        }\r\n    }\r\n    #bg,#wave {\r\n        position: fixed;\r\n        top: 0;\r\n        left: 0;\r\n\r\n        /* Preserve aspet ratio */\r\n        min-width: 100%;\r\n        min-height: 100%;\r\n        background-image: linear-gradient(to bottom,\r\n                var(--primary-color),\r\n                var(--secondary-color)) !important;\r\n                z-index: -99999;\r\n    }</style> <div id="bg"></div> <svg id="wave" style="transform:rotate(180deg); transition: 0.3s" viewbox="0 0 1440 490" version="1.1" xmlns="http://www.w3.org/2000/svg"><defs><lineargradient id="sw-gradient-0" x1="0" x2="0" y1="1" y2="0"><stop stop-color="rgba(255, 252.31, 172.129, 1)" offset="0%"></stop><stop stop-color="rgba(255, 189.222, 11, 1)" offset="100%"></stop></lineargradient></defs><path style="transform:translate(0, 0px); opacity:1" fill="url(#sw-gradient-0)" d="M0,49L26.7,65.3C53.3,82,107,114,160,179.7C213.3,245,267,343,320,318.5C373.3,294,427,147,480,89.8C533.3,33,587,65,640,73.5C693.3,82,747,65,800,122.5C853.3,180,907,310,960,343C1013.3,376,1067,310,1120,294C1173.3,278,1227,310,1280,294C1333.3,278,1387,212,1440,155.2C1493.3,98,1547,49,1600,81.7C1653.3,114,1707,229,1760,228.7C1813.3,229,1867,114,1920,57.2C1973.3,0,2027,0,2080,8.2C2133.3,16,2187,33,2240,32.7C2293.3,33,2347,16,2400,49C2453.3,82,2507,163,2560,179.7C2613.3,196,2667,147,2720,122.5C2773.3,98,2827,98,2880,106.2C2933.3,114,2987,131,3040,122.5C3093.3,114,3147,82,3200,65.3C3253.3,49,3307,49,3360,73.5C3413.3,98,3467,147,3520,171.5C3573.3,196,3627,196,3680,220.5C3733.3,245,3787,294,3813,318.5L3840,343L3840,490L3813.3,490C3786.7,490,3733,490,3680,490C3626.7,490,3573,490,3520,490C3466.7,490,3413,490,3360,490C3306.7,490,3253,490,3200,490C3146.7,490,3093,490,3040,490C2986.7,490,2933,490,2880,490C2826.7,490,2773,490,2720,490C2666.7,490,2613,490,2560,490C2506.7,490,2453,490,2400,490C2346.7,490,2293,490,2240,490C2186.7,490,2133,490,2080,490C2026.7,490,1973,490,1920,490C1866.7,490,1813,490,1760,490C1706.7,490,1653,490,1600,490C1546.7,490,1493,490,1440,490C1386.7,490,1333,490,1280,490C1226.7,490,1173,490,1120,490C1066.7,490,1013,490,960,490C906.7,490,853,490,800,490C746.7,490,693,490,640,490C586.7,490,533,490,480,490C426.7,490,373,490,320,490C266.7,490,213,490,160,490C106.7,490,53,490,27,490L0,490Z"></path></svg> <div class="ui column centered grid" style="margin: 20px auto"> <div class="column colomn-front-page"> <div class="ui center aligned piled segment"> <!-- <div class="ui equal width grid">\r\n\r\n                <div class="column">\r\n                    <img class="img-logo-kpm" ng-if="(\'LANGUAGE\' | translate) === \'MY\'"\r\n                        src="./images/jata-kementerian-penagngkutan.d3e05466.png" />\r\n                    <img class="img-logo-kpm" ng-if="(\'LANGUAGE\' | translate) === \'EN\'" src="./images/jata-mot.6407966b.png" />\r\n                </div>\r\n                <div class="column">\r\n                    <img class="img-logo-laut" src="./images/jlm_logo.b5aea912.png" />\r\n                </div>\r\n\r\n            </div> --> <div class="ui equal width grid"> <div class="column"> <img class="img-logo-kpm" ng-if="(\'LANGUAGE\' | translate) === \'MY\'" src="./images/logo.d3f54b93.png"> <img class="img-logo-kpm" ng-if="(\'LANGUAGE\' | translate) === \'EN\'" src="./images/logo-2.90d1b883.png"> </div> </div> <hr> <div class="ui equal width grid"> <div class="column"> <b class="b-title">{{"TEXT_1" | translate}}</b> <br><br> <b class="b-title-2">{{"TEXT_2" | translate}}</b> </div> </div> <br> <a href="./#/borang-permohonan" class="large ui primary-custom button"> <i class="calendar alternate outline icon"></i> {{"TEXT_3" | translate}} </a> <br><br><br> <div class="ui stackable equal width grid"> <div class="column"> <div class="ui one item labeled icon menu"> <a href="{{$ctrl.getInfo.link_manual_permohonan}}" target="_blank" class="item"> <i class="file pdf outline icon"></i> {{"TEXT_4" | translate}} </a> </div> </div> <div class="column"> <div class="ui one item labeled icon menu" ng-click="$ctrl.openTerms(1);"> <a class="item"> <i class="tasks icon"></i> {{"TEXT_5" | translate}} </a> </div> </div> <div class="column"> <div class="ui one item labeled icon menu"> <a href="./#/maklum-balas" class="item"> <i class="comments outline icon"></i> {{"TEXT_6" | translate}} </a> </div> </div> <!-- <div class="column">\r\n                    <div class="ui one item labeled icon menu" ng-click="$ctrl.openEtika();">\r\n                        <a class="item">\r\n                            <i class="street view icon"></i>\r\n                            {{"TEXT_6_1" | translate}}\r\n                        </a>\r\n                    </div>\r\n                </div> --> </div> <!-- <br /> --> <!-- Klik icon di atas untuk melihat video --> <br><br> <b class="b-font">{{"TEXT_7" | translate}}</b> <br> <b class="b-font">{{"TEXT_8" | translate}}</b> </div> </div> </div>'),
a.put("views/laporan-response-time.html",'<style>.ahref {\n        color: #2ba9ae !important;\n    }\n\n    .ahref:hover {\n        color: none !important;\n        text-decoration: underline !important;\n    }</style> <h2 class="ui header"> <i class="big icons"> <i class="chart bar outline icon icon-color-primary"></i> <i class="inverted corner anchor icon"></i> </i> <div class="content"> Laporan Response Time </div> </h2> <hr> <form name="formReport"> <div class="ui equal width form"> <div class="fields"> <div class="required field"> <label>Negeri</label> <div class="form-group form-group-md col m6 s12"> <select class="form-control form-control-md text-uppercase" name="negeri" id="negeri" ng-model="$ctrl.searchObj.negeri" ng-disabled="$ctrl.ddlNegeri.length===0" ng-options="option.negeri for option in $ctrl.ddlNegeri track by option.id" ng-change="$ctrl.bindPejabatLaut();"> <option value="">-Sila pilih-</option> </select> </div> </div> <div class="required field"> <label>Pejabat Laut</label> <div class="form-group form-group-md col m6 s12"> <select class="form-control form-control-md text-uppercase" name="pejabatlaut" id="pejabatlaut" ng-model="$ctrl.searchObj.pejabatlaut" ng-disabled="$ctrl.ddlPejabatLaut.length===0" ng-options="option.pejabatlaut for option in $ctrl.ddlPejabatLaut track by option.id" ng-change="$ctrl.resetTarikh();" required> <option value="">-Sila pilih-</option> </select> </div> </div> </div> <div class="fields"> <div class="required field"> <label>Tarikh Mula</label> <div class="ui action input"> <input type="text" ng-model="$ctrl.searchObj.tarikhM" name="tarikhM" uib-datepicker-popup="{{$ctrl.dtFormat}}" is-open="$ctrl.dateConfigInstances[0].popupOpened" datepicker-options="$ctrl.dateOptionsTarikhMula" placeholder="00-00-0000" readonly required ng-change="$ctrl.updateMinTarikhAkhir();"> <button class="ui icon button" ng-click="$ctrl.dateConfigInstances[0].open()"> <i class="calendar alternate outline icon"></i> </button> </div> </div> <div class="required field"> <label>Tarikh Akhir</label> <div class="ui action input"> <input type="text" ng-model="$ctrl.searchObj.tarikhA" name="tarikh" uib-datepicker-popup="{{$ctrl.dtFormat}}" is-open="$ctrl.dateConfigInstances[1].popupOpened" datepicker-options="$ctrl.dateOptionsTarikhAkhir" placeholder="00-00-0000" readonly required ng-change="$ctrl.updateMaxTarikhMula();"> <button class="ui icon button" ng-click="$ctrl.dateConfigInstances[1].open()"> <i class="calendar alternate outline icon"></i> </button> </div> </div> </div> <button type="button" class="ui right labeled icon button primary-custom" ng-click="$ctrl.jana();" ng-disabled="formReport.$invalid"> <i class="right paper plane outline icon"></i> Generate </button> <button type="reset" class="ui right labeled icon basic button" ng-disabled="formApprove.$invalid" ng-click="$ctrl.reset();"> <i class="right refresh icon"></i> Reset </button> </div> </form> <div class="ui divider"></div> <div class="table-responsive" style="margin-top: 10px; margin-bottom: 10px" ng-if="$ctrl.displayList"> <button ng-if="$ctrl.ListReport.length!==0" type="button" class="ui right labeled icon basic button" ng-csv="$ctrl.ListReport" csv-header="[\'Bahagian\', \'(Approve & Reject) < 7 Hari\',\'(Approve & Reject) > 7 Hari\', \'(New) > 7 Hari\']" filename="Laporan_Response_Time.csv"> <i class="right download icon"></i> Download CSV </button> <br> <table class="ui unstackable selectable celled table"> <thead> <tr> <th width="1%">#</th> <th width="50%">Bahagian</th> <th width="10%" class="center aligned">(Approve & Reject) <br>&#60; 7 Hari</th> <th width="10%" class="center aligned">(Approve & Reject) <br>&#62; 7 Hari</th> <th width="10%" class="center aligned">(New) <br>&#62; 7 Hari</th> <!-- <th width="10%" class="center aligned">Total</th> --> </tr> </thead> <tbody> <tr ng-repeat="list in $ctrl.ListReport track by $index"> <td> {{$index + 1}} </td> <td>{{list.bahagian}}</td> <td class="center aligned"> {{list.less7Days}} </td> <td class="center aligned"> {{list.over7Days}} </td> <td class="center aligned"> {{list.tanpaTindakan}} </td> <!-- <td class="center aligned">\n                    <i class="ui basic label">{{list.total}}</i>\n                </td> --> </tr> <tr ng-show="$ctrl.ListReport.length===0"> <td colspan="6" style="text-align: center">-Tiada Rekod Ditemui-</td> </tr> </tbody> </table> </div> <preloader ng-if="$ctrl.isLoading"></preloader>'),a.put("views/list-permohonan.html",'<!DOCTYPE html> <style>.ahref {\r\n        color: #2ba9ae !important;\r\n    }\r\n\r\n    .ahref:hover {\r\n        color: none !important;\r\n        text-decoration: underline !important;\r\n    }\r\n\r\n    @media only screen and (max-width: 568px) {\r\n        #display-tab-mobile {\r\n            display: block;\r\n        }\r\n\r\n        #display-tab-dekstop {\r\n            display: none;\r\n        }\r\n\r\n    }\r\n\r\n    @media only screen and (min-width: 569px) {\r\n        #display-tab-mobile {\r\n            display: none;\r\n        }\r\n\r\n        #display-tab-dekstop {\r\n            display: block;\r\n        }\r\n\r\n    }</style> <h2 class="ui header"> <i class="big icons"> <i class="file alternate outline icon icon-color-primary"></i> <i class="inverted corner anchor icon"></i> </i> <div class="content"> Senarai Permohonan <div class="sub header text-capitalize" ng-if="$ctrl.userObj.roleID == 2">{{$ctrl.userObj.bahagian}}</div> </div> </h2> <hr> <div class="ui equal width form"> <div class="field"> <!-- <div class="fields">\r\n            <div class="field">\r\n                <label>Negeri</label>\r\n                <div class="form-group form-group-md col m6 s12">\r\n                    <select class="form-control form-control-md" name="negeri" id="negeri"\r\n                        ng-model="$ctrl.searchObj.negeri" ng-disabled="$ctrl.ddlNegeri.length===0"\r\n                        ng-options="option.negeri for option in $ctrl.ddlNegeri track by option.id"\r\n                        ng-change="$ctrl.bindPejabatLaut();">\r\n                        <option value="">-Sila pilih-</option>\r\n                    </select>\r\n                </div>\r\n            </div>\r\n\r\n            <div class="field">\r\n                <label>Pejabat Laut</label>\r\n                <div class="form-group form-group-md col m6 s12">\r\n                    <select class="form-control form-control-md" name="pejabatlaut" id="pejabatlaut"\r\n                        ng-model="$ctrl.searchObj.pejabatlaut" ng-disabled="$ctrl.ddlPejabatLaut.length===0"\r\n                        ng-options="option.pejabatlaut for option in $ctrl.ddlPejabatLaut track by option.id">\r\n                        <option value="">-Sila pilih-</option>\r\n                    </select>\r\n                </div>\r\n            </div>\r\n        </div> --> <div class="fields"> <div class="field"> <div class="fields"> <div class="field"> <label>No Rujukan</label> <input name="norujukan" placeholder="No Rujukan" type="text" ng-model="$ctrl.searchObj.norujukan"> </div> <div class="field"> <label>Nama Pemohon</label> <input name="namapemohon" placeholder="Nama Pemohon" type="text" ng-model="$ctrl.searchObj.namapemohon"> </div> </div> </div> <!-- <div class="field"> --> <!-- <label>Pejabat Laut</label> --> <!-- <div class="form-group form-group-md col m6 s12">\r\n                    <select class="form-control form-control-md" name="pejabatlaut" id="pejabatlaut"\r\n                        ng-model="$ctrl.searchObj.pejabatlaut" ng-disabled="$ctrl.ddlPejabatLaut.length===0"\r\n                        ng-options="option.pejabatlaut for option in $ctrl.ddlPejabatLaut track by option.id">\r\n                        <option value="">-Sila pilih-</option>\r\n                    </select>\r\n                </div> --> <!-- </div> --> </div> <div class="fields"> <div class="field"> <label>Tahun Temujanji</label> <div class="form-group form-group-md col m6 s12"> <select class="form-control form-control-md" name="tahuntemujanji" id="tahuntemujanji" ng-model="$ctrl.searchObj.tahuntemujanji" ng-disabled="$ctrl.ddlTahun.length===0" ng-options="option.tahun for option in $ctrl.ddlTahun track by option.id"> <option value="">-Sila pilih-</option> </select> </div> </div> <div class="field"> <label>&nbsp;</label> </div> </div> </div> <!-- <div class="field">\r\n    <div class="fields">\r\n        <div class="field">\r\n            <label>Status</label>\r\n            <div class="form-group form-group-md col m6 s12">\r\n                <select class="form-control form-control-md" name="status" id="status" ng-model="$ctrl.searchObj.status"\r\n                    ng-disabled="$ctrl.ddlStatus.length===0"\r\n                    ng-options="option.status for option in $ctrl.ddlStatus track by option.id">\r\n                    <option value="">-Sila pilih-</option>\r\n                </select>\r\n            </div>\r\n        </div>\r\n\r\n        <div class="field">\r\n            &nbsp;\r\n        </div>\r\n    </div>\r\n</div>--> </div> <button type="button" class="ui right labeled icon button primary-custom" ng-click="$ctrl.search();"> <i class="right search icon"></i> Search </button> <button type="button" class="ui right labeled icon button basic" ng-click="$ctrl.reset();"> <i class="right undo alternate icon"></i> Reset </button> <div class="ui divider"></div> <div id="display-tab-dekstop" class="ui small basic icon buttons five"> <button ng-click="$ctrl.filter(null);" class="ui button" ng-class="{\'active\': $ctrl.searchObj1.status==null}">SEMUA</button> <button ng-click="$ctrl.filter(0);" class="ui button" ng-class="{\'active\': $ctrl.searchObj1.status == 0}">BAHARU</button> <button ng-click="$ctrl.filter(1);" class="ui button" ng-class="{\'active\': $ctrl.searchObj1.status == 1}">DILULUSKAN</button> <button ng-click="$ctrl.filter(2);" class="ui button" ng-class="{\'active\': $ctrl.searchObj1.status == 2}">DITOLAK</button> <button ng-click="$ctrl.filter(4);" class="ui button" ng-class="{\'active\': $ctrl.searchObj1.status == 4}">DIBATALKAN</button> </div> <div id="display-tab-mobile" class="ui small basic icon buttons five vertical display-tab-mobile"> <button ng-click="$ctrl.filter(null);" class="ui button" ng-class="{\'active\': $ctrl.searchObj1.status==null}">SEMUA</button> <button ng-click="$ctrl.filter(0);" class="ui button" ng-class="{\'active\': $ctrl.searchObj1.status == 0}">BAHARU</button> <button ng-click="$ctrl.filter(1);" class="ui button" ng-class="{\'active\': $ctrl.searchObj1.status == 1}">DILULUSKAN</button> <button ng-click="$ctrl.filter(2);" class="ui button" ng-class="{\'active\': $ctrl.searchObj1.status == 2}">DITOLAK</button> <button ng-click="$ctrl.filter(4);" class="ui button" ng-class="{\'active\': $ctrl.searchObj1.status == 4}">DIBATALKAN</button> </div> <br> <div class="ui divider"></div> Jumlah Permohonan : <b>{{$ctrl.pagingInfoObj.totalRow}}</b> <div class="table-responsive" style="margin-top: 10px; margin-bottom: 10px"> <table class="ui unstackable selectable celled table"> <thead> <tr> <th width="1%">#</th> <th width="10%">No Rujukan</th> <th width="20%">Nama</th> <th width="20%">Bahagian</th> <th width="15%">Tujuan</th> <th width="15%">Keterangan</th> <th width="10%">Tarikh Permohonan</th> <th width="15%">Tarikh &amp; Masa Temujanji</th> <th width="15%">Pegawai yang ditugaskan</th> <th width="5%">Status</th> </tr> </thead> <tbody> <tr ng-repeat="list in $ctrl.ListPermohonan track by $index"> <td> {{$index + 1 + (($ctrl.currentPage - 1) * $ctrl.pagingInfoObj.totalRowPerPaging)}} </td> <td> <a class="ahref" href="./#/private/permohonan/{{list.id}}/{{list.norujukan}}/approval/{{$ctrl.statusparam}}">{{list.norujukan || "-"}}</a> <!-- <b ng-show="$ctrl.$location.path() === \'/public/senarai-permohonan\'">{{list.norujukan ||\r\n                        "-"}}</b> --> </td> <td ng-bind-html="list.nama"></td> <td>{{list.bahagian}}</td> <td>{{list.tujuan}}</td> <td ng-bind-html="list.keterangan"></td> <td>{{list.datecreated}}</td> <td>{{list.tarikh}} | {{list.masa}}</td> <td>{{list.pegawaiditugaskan || "-"}}</td> <td> <i class="ui basic label">{{list.statusDesc}}</i> </td> </tr> <tr ng-show="$ctrl.pagingInfoObj.totalRow===0"> <td colspan="9" style="text-align: center">-Tiada Rekod Ditemui-</td> </tr> </tbody> </table> </div> <div class="box-footer"> <span class="text-md">Halaman: {{$ctrl.currentPage}} daripada {{$ctrl.numPages}}</span> <ul uib-pagination class="pagination pagination-md no-margin pull-right" total-items="$ctrl.pagingInfoObj.totalRow" ng-model="$ctrl.currentPage" ng-change="$ctrl.pageChanged()" items-per-page="$ctrl.pagingInfoObj.totalRowPerPaging" max-size="10" num-pages="$ctrl.numPages" boundary-link-numbers="true" rotate="true"></ul> </div> <preloader ng-if="$ctrl.isLoading"></preloader>'),a.put("views/login-page.html",'<!DOCTYPE html> <style>body {\r\n        /* background-image: linear-gradient(to bottom, var(--primary-color), var(--secondary-color)); */\r\n        background-repeat: no-repeat;\r\n        background-attachment: fixed;\r\n\r\n        /* background: url(\'./images/blue-blur-background.jpg\') no-repeat center center fixed;\r\n        -webkit-background-size: cover;\r\n        -moz-background-size: cover;\r\n        -o-background-size: cover;\r\n        background-size: cover; */\r\n    }\r\n\r\n    a:hover {\r\n        text-decoration: none;\r\n    }</style> <div style="min-height: calc(100vh - 200px);display: flex;flex-direction: column;justify-content: center;overflow: hidden;max-width: 500px;margin:auto"> <main class="page-content"> <div class="container-fluid"> <div class="ui piled attached segment"> <a class="ui login-label huge fluid ribbon label" style="text-align: left"><i class="sign-in-alt icon"></i> Log Masuk </a> <hr> <div class="ui basic segment" ng-class="{\'loading\': $ctrl.isLoading}"> <form class="ui fluid form" name="loginForm" ng-submit="$ctrl.login();" method="post" autocomplete="off"> <div class="field"> <label>Emel</label> <input type="email" name="email" ng-model="$ctrl.loginCred.email" required ng-disabled="$ctrl.nextstep===2"> </div> <div class="field"> <label>Kata laluan</label> <div class="ui icon input"> <input type="{{$ctrl.inputType}}" name="password" ng-model="$ctrl.loginCred.password" required> <i class="eye link icon" ng-class="{\'eye\' : $ctrl.inputType == \'password\',\'eye slash\' : $ctrl.inputType == \'text\'}" ng-click="$ctrl.hideShowPassword()"></i> </div> </div> <div class="field"> <div vc-recaptcha key="$ctrl.model.key" ng-model="$ctrl.loginCred.gRecaptchaResponse" on-create="$ctrl.setWidgetId($ctrl.widgetId)" on-success="$ctrl.setResponse($ctrl.response)" on-expire="$ctrl.cbExpiration()"></div> </div> <div class="ui buttons fluid"> <button class="ui primary-custom button" ng-class="{\'loading\': $ctrl.isLoading}" ng-disabled="loginForm.$invalid || !loginForm.$dirty || $ctrl.isLoading" type="submit">Log Masuk</button> </div> </form> <div class="ui horizontal divider"> ATAU </div> <div class="ui center aligned basic segment"> <button class="ui basic button" ng-click="$ctrl.openForgotPassword();"> <i class="icon key"></i> Lupa Kata Laluan </button> </div> </div> </div> </div> </main> </div>'),a.put("views/logout.html",'<!-- <p>This is the logout view.</p> --> <br><br><br> <div class="ui centered card"> <div class="image text-center" style="padding:25px"> <i class="massive child icon"></i> </div> <div class="content text-center"> Good Bye...... </div> </div>'),a.put("views/main.html",'<div class="jumbotron"> <h1>\'Allo, \'Allo!</h1> <p class="lead"> <img src="images/yeoman.c582c4d1.png" alt="I\'m Yeoman"><br> Always a pleasure scaffolding your apps. </p> <p><a class="btn btn-lg btn-success" ng-href="#/">Splendid!<span class="glyphicon glyphicon-ok"></span></a></p> </div> <div class="row marketing"> <h4>HTML5 Boilerplate</h4> <p> HTML5 Boilerplate is a professional front-end template for building fast, robust, and adaptable web apps or sites. </p> <h4>Angular</h4> <p> AngularJS is a toolset for building the framework most suited to your application development. </p> <h4>Karma</h4> <p>Spectacular Test Runner for JavaScript.</p> </div>'),a.put("views/maklum-balas.html",'<style>.ahref {\n        color: #2ba9ae !important;\n    }\n\n    .ahref:hover {\n        color: none !important;\n        text-decoration: underline !important;\n    }\n\n    iframe {\n        height: calc(80vh - 4px);\n        width: 100%;\n        box-sizing: border-box;\n        border: none; \n    }</style> <h2 class="ui header"> <i class="big icons"> <i class="comment outline icon icon-color-primary"></i> <i class="inverted corner anchor icon"></i> </i> <div class="content"> {{"TEXT_6" | translate}} </div> </h2> <div class="ui divider"></div> <iframe ng-src="{{$ctrl.websiteInfo.link_maklumbalas}}" title="Maklum Balas"></iframe> <preloader ng-if="$ctrl.isLoading"></preloader>'),a.put("views/modal-add-bahagian.html",'<div class="ui segments"> <div class="ui segment"> <h2 class="ui header"> <i class="big icons"> <i class="building outline icon icon-color-primary"></i> <i class="inverted corner anchor icon"></i> </i> <div class="content"> Tambah Bahagian <!-- <div class="sub header">{{"PAGE_TITLE_SUB" | translate}}</div> --> </div> </h2> </div> <div class="ui segment"> <form name="formAddBahagian"> <div class="ui equal width form"> <div class="fields"> <div class="field"> <label>Negeri</label> <input name="negeri" placeholder="Negeri" type="text" disabled ng-value="$ctrl.addBahagian.negeri.negeri" class="text-uppercase"> <!-- <div class="form-group form-group-md col m6 s12">\n                            <select class="form-control form-control-md" name="negeri" id="negeri"\n                                ng-model="$ctrl.addPejabat.negeri" ng-disabled="$ctrl.ddlNegeri.length===0"\n                                ng-options="option.negeri for option in $ctrl.ddlNegeri track by option.id">\n                                <option value="">-Sila pilih-</option>\n                            </select>\n                        </div> --> </div> <div class="field"> <label>Pejabat Laut</label> <input name="pejabatlaut" placeholder="Pejabat Laut" type="text" ng-value="$ctrl.addBahagian.pejabatlaut.pejabatlaut" disabled class="text-uppercase"> </div> </div> <div class="fields"> <div class="required field"> <label>Bahagian / Unit</label> <input name="bahagian" placeholder="Bahagian / Unit" type="text" required ng-model="$ctrl.addBahagian.bahagian"> </div> <div class="field"> <label>Fungsi <em>(optional)</em></label> <textarea name="fungsi" rows="2" ng-model="$ctrl.addBahagian.fungsi" placeholder="fungsi" maxlength="240"></textarea> <small style="float: right">{{$ctrl.addBahagian.fungsi.length || \'0\'}}/240</small> <!-- <input name="fungsi" placeholder="Fungsi" type="text" ng-model="$ctrl.addBahagian.fungsi" /> --> </div> </div> <div class="fields"> <div class="field"> <label>Group Emel <em>(optional)</em></label> <input name="groupemel" placeholder="Group Emel" type="email" ng-model="$ctrl.addBahagian.groupemel"> </div> <div class="field"> <label>&nbsp;</label> </div> </div> </div> <div class="ui divider"></div> <button type="button" class="ui left labeled icon button basic" ng-click="$ctrl.cancel();$ctrl.addBahagian.bahagian = null;" ng-disabled="$ctrl.isLoading"> <i class="close icon"></i>Tutup </button> <button type="button" class="ui right labeled icon button primary-custom" ng-click="$ctrl.confirmButton();" ng-disabled="formAddBahagian.$invalid || $ctrl.isLoading" ng-class="{\'loading\': $ctrl.isLoading}"> <i class="right save icon"></i> Simpan </button> </form> </div> </div>'),a.put("views/modal-add-cuti.html",'<div class="ui segments"> <div class="ui segment"> <h2 class="ui header"> <i class="big icons"> <i class="calendar alternate outline icon icon-color-primary"></i> <i class="inverted corner anchor icon"></i> </i> <div class="content"> Tambah Cuti <!-- <div class="sub header">{{"PAGE_TITLE_SUB" | translate}}</div> --> </div> </h2> </div> <div class="ui segment"> <form name="formAddCuti"> <div class="ui equal width form"> <div class="fields"> <div class="field"> <label>Jenis Cuti</label> <input name="negeri" placeholder="Negeri" type="text" disabled ng-value="$ctrl.addCuti.jeniscuti.jeniscuti" class="text-uppercase"> </div> <div class="field"> <label ng-if="$ctrl.addCuti.jeniscuti.id==2">Negeri</label> <input name="negeri" placeholder="Negeri" type="text" disabled ng-value="$ctrl.addCuti.negeri.negeri" class="text-uppercase" ng-if="$ctrl.addCuti.jeniscuti.id==2"> </div> </div> <div class="fields"> <div class="field"> <label>Peristiwa</label> <input name="peristiwa" placeholder="Peristiwa" type="text" ng-model="$ctrl.addCuti.peristiwa" required> </div> </div> <div class="fields"> <div class="required field"> <label>Tarikh Mula</label> <!-- <input name="tarikhMula" type="text" ng-model="$ctrl.addCuti.tarikhMula" required /> --> <div class="ui action input"> <input type="text" ng-model="$ctrl.addCuti.tarikhMula" name="tarikhMula" uib-datepicker-popup="{{$ctrl.dtFormat}}" is-open="$ctrl.dateConfigInstances[0].popupOpened" datepicker-options="$ctrl.dateOptionsTarikhMula" placeholder="00-00-0000" readonly required ng-change="$ctrl.updateMinTarikhAkhir();"> <button class="ui icon button" ng-click="$ctrl.dateConfigInstances[0].open()"> <i class="calendar alternate outline icon"></i> </button> </div> </div> <div class="required field"> <label>Tarikh Akhir</label> <!-- <input name="tarikhAkhir" type="text" ng-model="$ctrl.addCuti.tarikhAkhir" required /> --> <div class="ui action input"> <input type="text" ng-model="$ctrl.addCuti.tarikhAkhir" name="tarikhAkhir" uib-datepicker-popup="{{$ctrl.dtFormat}}" is-open="$ctrl.dateConfigInstances[1].popupOpened" datepicker-options="$ctrl.dateOptionsTarikhAkhir" placeholder="00-00-0000" readonly required ng-change="$ctrl.updateMaxTarikhMula();"> <button class="ui icon button" ng-click="$ctrl.dateConfigInstances[1].open()"> <i class="calendar alternate outline icon"></i> </button> </div> </div> </div> </div> <div class="ui divider"></div> <button type="button" class="ui left labeled icon button basic" ng-click="$ctrl.cancel();" ng-disabled="$ctrl.isLoading"> <i class="close icon"></i>Tutup </button> <button type="button" class="ui right labeled icon button primary-custom" ng-click="$ctrl.confirmButton();" ng-disabled="formAddCuti.$invalid || $ctrl.isLoading" ng-class="{\'loading\': $ctrl.isLoading}"> <i class="right save icon"></i> Simpan </button> </form> </div> </div>'),a.put("views/modal-add-pegawai.html",'<!DOCTYPE html> <div class="ui segments"> <div class="ui segment"> <h2 class="ui header"> <i class="big icons"> <i class="user outline icon icon-color-primary"></i> <i class="inverted corner anchor icon"></i> </i> <div class="content"> Tambah Pegawai <!-- <div class="sub header">{{"PAGE_TITLE_SUB" | translate}}</div> --> </div> </h2> </div> <div class="ui segment"> <form name="formAddPegawai"> <div class="ui equal width form"> <div class="fields"> <div class="field" ng-if="$ctrl.addPegawai.pejabatlaut != NULL"> <label>Pejabat Laut</label> <input name="pejabatlaut" placeholder="Pejabat Laut" type="text" ng-value="$ctrl.addPegawai.pejabatlaut.pejabatlaut" disabled class="text-uppercase"> </div> <div class="field"> <label>Bahagian / Unit</label> <input name="bahagian" placeholder="Bahagian / Unit" type="text" ng-model="$ctrl.addPegawai.bahagian.bahagian" disabled class="text-uppercase"> </div> </div> <div class="fields"> <div class="required field"> <label>Nama Pegawai</label> <input name="nama_pegawai" placeholder="Nama Pegawai" type="text" ng-model="$ctrl.addPegawai.nama_pegawai" required> </div> <div class="required field"> <label>Emel</label> <input name="emel" placeholder="Emel" type="text" ng-model="$ctrl.addPegawai.emel" ng-pattern="/^[^\\s@]+@[^\\s@]+\\.[^\\s@]{2,}$/" required> &nbsp; </div> </div> </div> <div class="ui divider"></div> <button type="button" class="ui left labeled icon button basic" ng-click="$ctrl.cancel();$ctrl.addPegawai.nama_pegawai = null;" ng-disabled="$ctrl.isLoading"> <i class="close icon"></i>Tutup </button> <button type="button" class="ui right labeled icon button primary-custom" ng-click="$ctrl.confirmButton();" ng-disabled="formAddPegawai.$invalid || $ctrl.isLoading" ng-class="{\'loading\': $ctrl.isLoading}"> <i class="right save icon"></i> Simpan </button> </form> </div> </div>'),a.put("views/modal-add-pejabat-laut.html",'<div class="ui segments"> <div class="ui segment"> <h2 class="ui header"> <i class="big icons"> <i class="building outline icon icon-color-primary"></i> <i class="inverted corner anchor icon"></i> </i> <div class="content"> Tambah Pejabat Laut <!-- <div class="sub header">{{"PAGE_TITLE_SUB" | translate}}</div> --> </div> </h2> </div> <div class="ui segment"> <form name="formAddPejabat"> <div class="ui equal width form"> <div class="fields"> <div class="field"> <label>Negeri</label> <input name="negeri" placeholder="Negeri" type="text" disabled ng-value="$ctrl.addPejabat.negeri.negeri" class="text-uppercase"> <!-- <div class="form-group form-group-md col m6 s12">\n                            <select class="form-control form-control-md" name="negeri" id="negeri"\n                                ng-model="$ctrl.addPejabat.negeri" ng-disabled="$ctrl.ddlNegeri.length===0"\n                                ng-options="option.negeri for option in $ctrl.ddlNegeri track by option.id">\n                                <option value="">-Sila pilih-</option>\n                            </select>\n                        </div> --> </div> <div class="required field"> <label>Pejabat Laut</label> <input name="pejabatlaut" placeholder="Pejabat Laut" type="text" ng-model="$ctrl.addPejabat.pejabatlaut" required> </div> </div> </div> <div class="ui divider"></div> <button type="button" class="ui left labeled icon button basic" ng-click="$ctrl.cancel();" ng-disabled="$ctrl.isLoading"> <i class="close icon"></i>Tutup </button> <button type="button" class="ui right labeled icon button primary-custom" ng-click="$ctrl.confirmButton();" ng-disabled="formAddPejabat.$invalid || $ctrl.isLoading" ng-class="{\'loading\': $ctrl.isLoading}"> <i class="right save icon"></i> Simpan </button> </form> </div> </div>'),a.put("views/modal-add-pengguna.html",'<div class="ui segments"> <div class="ui segment"> <h2 class="ui header"> <i class="big icons"> <i class="user outline icon icon-color-primary"></i> <i class="inverted corner anchor icon"></i> </i> <div class="content"> Tambah Pengguna <!-- <div class="sub header">{{"PAGE_TITLE_SUB" | translate}}</div> --> </div> </h2> </div> <div class="ui segment"> <form name="formAddPengguna" autocomplete="off"> <div class="ui equal width form"> <div class="fields"> <div class="field"> <label>Nama</label> <input name="nama" placeholder="Nama" type="text" ng-model="$ctrl.addPengguna.nama" required> </div> <div class="field"> <label>Emel</label> <input name="emel" placeholder="Emel" type="text" ng-model="$ctrl.addPengguna.emel" ng-pattern="/^[^\\s@]+@[^\\s@]+\\.[^\\s@]{2,}$/" required> </div> </div> <div class="fields"> <div class="field"> <label>Negeri</label> <div class="form-group form-group-md col m6 s12"> <select class="form-control form-control-md text-uppercase" name="negeri" id="negeri" ng-model="$ctrl.addPengguna.negeri" ng-disabled="$ctrl.ddlNegeri.length===0" ng-options="option.negeri for option in $ctrl.ddlNegeri track by option.id" ng-change="$ctrl.bindPejabatLaut();" required> <option value="">-Sila pilih-</option> </select> </div> </div> <div class="required field"> <label>Pejabat Laut</label> <div class="form-group form-group-md col m6 s12"> <select class="form-control form-control-md text-uppercase" name="pejabatlaut" id="pejabatlaut" ng-model="$ctrl.addPengguna.pejabatlaut" ng-disabled="$ctrl.ddlPejabatLaut.length===0" ng-options="option.pejabatlaut for option in $ctrl.ddlPejabatLaut track by option.id" ng-change="$ctrl.bindBahgian();" required> <option value="">-Sila pilih-</option> </select> </div> </div> </div> <div class="fields"> <div class="required field"> <label>Bahagian / Unit</label> <select class="form-control form-control-md text-uppercase" name="bahagian" id="bahagian" ng-model="$ctrl.addPengguna.bahagian" ng-disabled="$ctrl.ddlbahagian.length===0" ng-options="option.bahagian for option in $ctrl.ddlbahagian track by option.id" required> <option value="">-Sila pilih-</option> </select> </div> <div class="required field"> <label>Role</label> <select class="form-control form-control-md text-uppercase" name="role" id="role" ng-model="$ctrl.addPengguna.role" ng-disabled="$ctrl.ddlrole.length===0" ng-options="option.role for option in $ctrl.ddlrole track by option.id" required> <option value="">-Sila pilih-</option> </select> </div> </div> </div> <div class="ui form" ng-show="$ctrl.addPengguna.role.id == 2"> <div class="inline fields"> <label>Modul Owner</label> <div class="field"> <div class="ui checkbox"> <input type="checkbox" tabindex="0" class="hidden" ng-model="$ctrl.addPengguna.moduleOwner"> </div> </div> </div> </div> <div class="ui divider"></div> <button type="button" class="ui left labeled icon button basic" ng-click="$ctrl.Pengguna = {};$ctrl.cancel();" ng-disabled="$ctrl.isLoading"> <i class="close icon"></i>Tutup </button> <button type="button" class="ui right labeled icon button primary-custom" ng-click="$ctrl.confirmButton();" ng-disabled="formAddPengguna.$invalid || $ctrl.isLoading" ng-class="{\'loading\': $ctrl.isLoading}"> <i class="right save icon"></i> Simpan </button> </form> </div> </div>'),a.put("views/modal-etika-pakaian.html",'<div class="ui segments"> <div class="ui placeholder segment" ng-class="{\'loading\': $ctrl.isLoading}"> <div class="column" style="margin-left: auto;margin-right: auto"> <img style="width: 100%;max-height: 80vh" src="./images/etika-berpakaian.aaa66c84.png"> </div> </div> <div class="ui segment"> <!-- <button type="button" class="ui right labeled icon button primary-custom" ng-click="$ctrl.close();"\n            style="float: right;">\n            <i class="right times icon"></i>\n            {{"BTN_CLOSE" | translate}}\n        </button> --> <button type="button" class="ui right labeled icon button primary-custom" ng-click="$ctrl.ok();" style="float: right" ng-disabled="$ctrl.isLoading" ng-class="{\'loading\': $ctrl.isLoading}"> <i class="right arrow icon"></i> {{"BTN_NEXT" | translate}} </button> <br><br> </div> </div>'),a.put("views/modal-for-youtube.html",'<div class="ui segments"> <div class="ui segment"> <iframe width="100%" height="450" src="{{$ctrl.linkYoutube1}}" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen> <a href="{{$ctrl.linkYoutube1}}" target="_blank">Manual Pengguna</a> </iframe> </div> <div class="ui segment"> <button type="button" class="ui right labeled icon button primary-custom" ng-click="$ctrl.close();" style="float: right"> <i class="right times icon"></i> Close </button> <br><br> </div> </div>'),a.put("views/modal-forgot-password.html",'<!DOCTYPE html> <div class="ui segments"> <div class="ui segment"> <h2 class="ui header"> <i class="icons"> <i class="key icon icon-color-primary"></i> <i class="inverted corner anchor icon"></i> </i> <div class="content"> Lupa Kata Laluan </div> </h2> </div> <div class="ui segment" ng-class="{\'loading\': $ctrl.isLoading}"> <form name="formReset" autocomplete="off"> <div class="ui equal width form"> <div class="fields"> <div class="field"> <label>Emel</label> <input name="emel" placeholder="emel" type="text" ng-model="$ctrl.resetpassword.email" required ng-pattern="/^[^\\s@]+@[^\\s@]+\\.[^\\s@]{2,}$/"> </div> <div class="field"> </div> </div> </div> <div class="ui divider"></div> <button type="button" class="ui left labeled icon button basic" ng-click="$ctrl.cancel();"> <i class="close icon"></i>Tutup </button> <button type="button" class="ui right labeled icon button primary-custom" ng-click="$ctrl.confirmButton();" ng-disabled="formReset.$invalid || $ctrl.isLoading" ng-class="{\'loading\': $ctrl.isLoading}"> <i class="right key icon"></i> Reset </button> </form> </div> </div>'),
a.put("views/modal-services.html",'<!DOCTYPE html> <div class="modal-body"> <h5 ng-bind-html="modalOptions.bodyText"></h5> <br> <div style="margin-bottom: 10px"> <button class="btn btn-sm {{modalOptions.buttonClass}} pull-right" style="margin-left: 10px" data-ng-click="modalOptions.ok();" ng-hide="modalOptions.actionButtonText==\'hide\'">{{modalOptions.actionButtonText}}</button> &nbsp; <button type="button" class="btn btn-sm pull-right" data-ng-click="modalOptions.close()" ng-hide="modalOptions.closeButtonText==\'hide\'">{{modalOptions.closeButtonText}}</button> </div> </div>'),a.put("views/modal-terma-syarat.html",'<div class="ui segments"> <div class="ui segment"> <div class="ui two steps mini"> <div class="step" ng-click="$ctrl.tab = 1;" ng-class="{\'active\': $ctrl.tab == 1}" style="cursor: pointer"> <!-- <i class="clipboard list icon"></i> --> <div class="content"> <div class="title">{{"TEXT_5" | translate}}</div> </div> </div> <!-- <div class="step" ng-click="$ctrl.tab = 2;" ng-class="{\'active\': $ctrl.tab == 2}" style="cursor: pointer;">\n                <i class="info icon"></i> \n                <div class="content">\n                    <div class="title">FAQ\'s</div>\n                </div>\n            </div> --> </div> </div> <div class="ui placeholder segment" ng-class="{\'loading\': $ctrl.isLoading}" ng-if="$ctrl.tab == 1"> <ol class="ui list" style="text-align: justify" ng-if="(\'LANGUAGE\' | translate) === \'MY\'"> <li style="margin-bottom: 10px" ng-repeat="list in $ctrl.termadansyarat track by $index" ng-bind-html="list.terma"> </li> </ol> <ol class="ui list" style="text-align: justify" ng-if="(\'LANGUAGE\' | translate) === \'EN\'"> <li style="margin-bottom: 10px" ng-repeat="list in $ctrl.termadansyarat track by $index" ng-bind-html="list.terma_bi"> </li> </ol> <br> <form class="ui form" ng-show="!$ctrl.objParam"> <div class="field" style="max-width: none !important"> <label> <input type="checkbox" ng-model="$ctrl.check">&nbsp;&nbsp; {{"TEXT_26" | translate}} </label> </div> </form> </div> <!-- <div class="ui placeholder segment" ng-if="$ctrl.tab == 2">\n\n        <ol class="ui list">\n            <li style="margin-bottom: 10px;"><b>BAGAIMANA UNTUK MEMBUAT PERMOHONAN?</b>\n                <ol>\n                    <li value="-" style="margin-top: 10px;">Sila buat permohonan di pautan</li>\n                </ol>\n            </li>\n\n            <li style="margin-bottom: 10px;"><b>PERKHIDMATAN YANG PERLU DIBUAT JANJI TEMU</b>\n                <ol>\n                    <li value="-" style="margin-top: 10px;">Semua perkhidmatan urusniaga JLM</li>\n                </ol>\n            </li>\n\n            <li style="margin-bottom: 10px;"><b>PEJABAT JLM YANG BOLEH DIPILIH?</b>\n                <ol>\n                    <li value="-" style="margin-top: 10px;">Pejabat JLM yang disenaraikan dalam pilihan sahaja</li>\n                </ol>\n            </li>\n\n            <li style="margin-bottom: 10px;"><b>BAGAIMANA JIKA TELAH MENDAPAT JANJI TEMU PADA HARI TIDAK BEKERJA ATAU\n                    CUTI\n                    UMUM?</b>\n                <ol>\n                    <li value="-" style="margin-top: 10px;">\n                        Mohon semula janji temu baru. Pilih tarikh mengikut waktu sebenar operasi Pejabat\n                        JLM.<br /><br />\n\n                        • ISNIN- JUMAAT: WP Putrajaya, WP Kuala Lumpur, Melaka, Negeri Sembilan, Selangor, Pahang\n                        (kecuali Jerantut dan Temerloh), Perak, Perlis dan Pulau Pinang<br /><br />\n\n                        • AHAD- KHAMIS: Johor, Kedah & Terengganu</li>\n                </ol>\n            </li>\n\n            <li style="margin-bottom: 10px;"><b>BERAPA LAMA TEMPOH MENDAPATKAN TARIKH JANJI TEMU?</b>\n                <ol>\n                    <li value="-" style="margin-top: 10px;">Pemohon akan membuat pilihan tarikh janji temu sendiri\n                        melalui sistem tertakluk kepada kekosongan slot.</li>\n                </ol>\n            </li>\n\n            <li style="margin-bottom: 10px;"><b>APA PERLU DIBUAT SEKIRANYA TERLEPAS TARIKH JANJI TEMU?</b>\n                <ol>\n                    <li value="-" style="margin-top: 10px;">Pemohonan tersebut terbatal. Perlu memohon janji temu baru.\n                    </li>\n                </ol>\n            </li>\n\n            <li style="margin-bottom: 10px;"><b>BOLEHKAH TARIKH JANJI TEMU DIUBAH?</b>\n                <ol>\n                    <li value="-" style="margin-top: 10px;">Tidak, pemohon perlu membuat janji temu baru.</li>\n                </ol>\n            </li>\n\n            <li style="margin-bottom: 10px;"><b>MAKLUMAT APA YANG MESTI DI ISI OLEH PEMOHON?</b>\n                <ol>\n                    <li value="-" style="margin-top: 10px;">Semua medan adalah wajib di kunci masuk oleh pemohon.</li>\n                </ol>\n            </li>\n\n        </ol>\n        <br />\n\n    </div> --> <div class="ui segment" ng-show="$ctrl.tab == 1"> <button type="button" class="ui right labeled icon button primary-custom" ng-click="$ctrl.ok();" style="float: right" ng-disabled="!$ctrl.check" ng-show="!$ctrl.objParam"> <i class="right arrow icon"></i> {{"BTN_NEXT" | translate}} </button> <button type="button" class="ui right labeled icon button primary-custom" ng-click="$ctrl.close();" style="float: right" ng-show="$ctrl.objParam==1"> <i class="right times icon"></i> {{"BTN_CLOSE" | translate}} </button> <br><br> </div> </div>'),a.put("views/modal-update-bahagian.html",'<div class="ui segments"> <div class="ui segment"> <h2 class="ui header"> <i class="big icons"> <i class="building outline icon icon-color-primary"></i> <i class="inverted corner anchor icon"></i> </i> <div class="content"> Kemaskini Bahagian <!-- <div class="sub header">{{"PAGE_TITLE_SUB" | translate}}</div> --> </div> </h2> </div> <div class="ui segment"> <form name="formUpdateBahagian"> <div class="ui equal width form"> <div class="fields"> <div class="field"> <div class="field"> <label>Pejabat Laut</label> <input name="pejabatlaut" placeholder="Pejabat Laut" type="text" ng-value="$ctrl.updateBahagian.pejabatlaut" disabled class="text-uppercase"> </div> </div> <div class="field"> <label>Bahagian / Unit</label> <input name="bahagian" placeholder="Bahagian / Unit" type="text" required ng-model="$ctrl.updateBahagian.bahagian"> </div> </div> <div class="fields"> <div class="field"> <label>Fungsi <em>(optional)</em></label> <textarea name="fungsi" rows="2" ng-model="$ctrl.updateBahagian.fungsi" placeholder="fungsi" maxlength="240"></textarea> <small style="float: right">{{$ctrl.updateBahagian.fungsi.length || \'0\'}}/240</small> <!-- <input name="fungsi" placeholder="Fungsi" type="text" ng-model="$ctrl.updateBahagian.fungsi" /> --> </div> <div class="field"> <label>Status</label> <div class="form-group form-group-md col m6 s12"> <select class="form-control form-control-md" name="status" id="status" ng-model="$ctrl.updateBahagian.statusLookup" ng-disabled="$ctrl.ddlStatus.length===0" ng-options="option.status for option in $ctrl.ddlStatus track by option.id" required> <option value="">-Sila pilih-</option> </select> </div> </div> </div> <div class="fields"> <div class="field"> <label>Group Emel <em>(optional)</em></label> <input name="groupemel" placeholder="Group Emel" type="email" ng-model="$ctrl.updateBahagian.groupemel"> </div> <div class="field"> <label>&nbsp;</label> </div> </div> </div> <div class="ui divider"></div> <button type="button" class="ui left labeled icon button basic" ng-click="$ctrl.cancel();" ng-disabled="$ctrl.isLoading"> <i class="close icon"></i>Tutup </button> <button type="button" class="ui right labeled icon button primary-custom" ng-click="$ctrl.confirmButton();" ng-disabled="formUpdateBahagian.$invalid || !formUpdateBahagian.$dirty || $ctrl.isLoading" ng-class="{\'loading\': $ctrl.isLoading}"> <i class="right save icon"></i> Kemaskini </button> </form> </div> </div>'),a.put("views/modal-update-pegawai.html",'<!DOCTYPE html> <div class="ui segments"> <div class="ui segment"> <h2 class="ui header"> <i class="big icons"> <i class="user outline icon icon-color-primary"></i> <i class="inverted corner anchor icon"></i> </i> <div class="content"> Kemaskini Pegawai <!-- <div class="sub header">{{"PAGE_TITLE_SUB" | translate}}</div> --> </div> </h2> </div> <div class="ui segment"> <form name="formUpdatePegawai"> <div class="ui equal width form"> <div class="fields"> <div class="field"> <label>Pejabat Laut</label> <input name="pejabatlaut" placeholder="Pejabat Laut" type="text" ng-value="$ctrl.updatePegawai.pejabatlaut" disabled class="text-uppercase"> </div> <div class="field"> <label>Bahagian / Unit</label> <input name="bahagian" placeholder="Bahagian / Unit" type="text" ng-model="$ctrl.updatePegawai.bahagian" disabled class="text-uppercase"> </div> </div> <div class="fields"> <div class="required field"> <label>Nama Pegawai</label> <input name="nama_pegawai" placeholder="Nama Pegawai" type="text" ng-model="$ctrl.updatePegawai.nama_pegawai" required> </div> <div class="required field"> <label>Emel</label> <input name="emel" placeholder="Emel" type="text" ng-model="$ctrl.updatePegawai.emel" ng-pattern="/^[^\\s@]+@[^\\s@]+\\.[^\\s@]{2,}$/" required> </div> </div> <div class="fields"> <div class="required field"> <label>Status</label> <div class="form-group form-group-md col m6 s12"> <select class="form-control form-control-md" name="status" id="status" ng-model="$ctrl.updatePegawai.statusLookup" ng-disabled="$ctrl.ddlStatus.length===0" ng-options="option.status for option in $ctrl.ddlStatus track by option.id" required> <option value="">-Sila pilih-</option> </select> </div> </div> <div class="field"> <label>&nbsp;</label> &nbsp; </div> </div> </div> <div class="ui divider"></div> <button type="button" class="ui left labeled icon button basic" ng-click="$ctrl.cancel();$ctrl.addPegawai.nama_pegawai = null;" ng-disabled="$ctrl.isLoading"> <i class="close icon"></i>Tutup </button> <button type="button" class="ui right labeled icon button primary-custom" ng-click="$ctrl.confirmButton();" ng-disabled="formUpdatePegawai.$invalid || !formUpdatePegawai.$dirty || $ctrl.isLoading" ng-class="{\'loading\': $ctrl.isLoading}"> <i class="right save icon"></i> Kemaskini </button> </form> </div> </div>'),a.put("views/modal-update-pejabat-laut.html",'<div class="ui segments"> <div class="ui segment"> <h2 class="ui header"> <i class="big icons"> <i class="building outline icon icon-color-primary"></i> <i class="inverted corner anchor icon"></i> </i> <div class="content"> Kemaskini Pejabat Laut <!-- <div class="sub header">{{"PAGE_TITLE_SUB" | translate}}</div> --> </div> </h2> </div> <div class="ui segment"> <form name="formAddPejabat"> <div class="ui equal width form"> <div class="fields"> <div class="field"> <label>Negeri</label> <input name="negeri" placeholder="Negeri" type="text" disabled ng-value="$ctrl.addPejabat.negeri" class="text-uppercase"> <!-- <div class="form-group form-group-md col m6 s12">\n                            <select class="form-control form-control-md" name="negeri" id="negeri"\n                                ng-model="$ctrl.addPejabat.negeri" ng-disabled="$ctrl.ddlNegeri.length===0"\n                                ng-options="option.negeri for option in $ctrl.ddlNegeri track by option.id">\n                                <option value="">-Sila pilih-</option>\n                            </select>\n                        </div> --> </div> <div class="required field"> <label>Pejabat Laut</label> <input name="pejabatlaut" placeholder="Pejabat Laut" type="text" ng-model="$ctrl.addPejabat.pejabatlaut" required> </div> </div> <div class="fields"> <div class="required field"> <label>Status</label> <div class="form-group form-group-md col m6 s12"> <select class="form-control form-control-md" name="status" id="status" ng-model="$ctrl.addPejabat.statusLookup" ng-disabled="$ctrl.ddlStatus.length===0" ng-options="option.status for option in $ctrl.ddlStatus track by option.id" required> <option value="">-Sila pilih-</option> </select> </div> </div> <div class="field"> &nbsp; </div> </div> </div> <div class="ui divider"></div> <button type="button" class="ui left labeled icon button basic" ng-click="$ctrl.cancel();" ng-disabled="$ctrl.isLoading"> <i class="close icon"></i>Tutup </button> <button type="button" class="ui right labeled icon button primary-custom" ng-click="$ctrl.confirmButton();" ng-disabled="formAddPejabat.$invalid || !formAddPejabat.$dirty || $ctrl.isLoading" ng-class="{\'loading\': $ctrl.isLoading}"> <i class="right save icon"></i> Kemaskini </button> </form> </div> </div>'),a.put("views/modal-update-pengguna.html",'<div class="ui segments"> <div class="ui segment"> <h2 class="ui header"> <i class="big icons"> <i class="user outline icon icon-color-primary"></i> <i class="inverted corner anchor icon"></i> </i> <div class="content"> Kemaskini Pengguna <!-- <div class="sub header">{{"PAGE_TITLE_SUB" | translate}}</div> --> </div> </h2> </div> <div class="ui segment"> <form name="formUpdatePengguna" autocomplete="off"> <div class="ui equal width form"> <div class="fields"> <div class="field"> <label>Nama</label> <input name="nama" placeholder="Nama" type="text" ng-model="$ctrl.updatePengguna.nama" required> </div> <div class="field"> <label>Emel</label> <input name="emel" placeholder="Emel" type="text" ng-model="$ctrl.updatePengguna.email" ng-pattern="/^[^\\s@]+@[^\\s@]+\\.[^\\s@]{2,}$/" required disabled> </div> </div> <div class="fields"> <div class="field"> <label>Negeri</label> <div class="form-group form-group-md col m6 s12"> <select class="form-control form-control-md text-uppercase" name="negeri" id="negeri" ng-model="$ctrl.updatePengguna.negeri" ng-disabled="$ctrl.ddlNegeri.length===0" ng-options="option.negeri for option in $ctrl.ddlNegeri track by option.id" ng-change="$ctrl.bindPejabatLaut();" required> <option value="">-Sila pilih-</option> </select> </div> </div> <div class="required field"> <label>Pejabat Laut</label> <div class="form-group form-group-md col m6 s12"> <select class="form-control form-control-md text-uppercase" name="pejabatlaut" id="pejabatlaut" ng-model="$ctrl.updatePengguna.pejabatlaut" ng-disabled="$ctrl.ddlPejabatLaut.length===0" ng-options="option.pejabatlaut for option in $ctrl.ddlPejabatLaut track by option.id" ng-change="$ctrl.bindBahgian();" required> <option value="">-Sila pilih-</option> </select> </div> </div> </div> <div class="fields"> <div class="required field"> <label>Bahagian / Unit</label> <select class="form-control form-control-md text-uppercase" name="bahagian" id="bahagian" ng-model="$ctrl.updatePengguna.bahagian" ng-disabled="$ctrl.ddlbahagian.length===0" ng-options="option.bahagian for option in $ctrl.ddlbahagian track by option.id" required> <option value="">-Sila pilih-</option> </select> </div> <div class="required field"> <label>Role</label> <select class="form-control form-control-md text-uppercase" name="role" id="role" ng-model="$ctrl.updatePengguna.roleUpdate" ng-disabled="$ctrl.ddlrole.length===0" ng-options="option.role for option in $ctrl.ddlrole track by option.id" required> <option value="">-Sila pilih-</option> </select> </div> </div> </div> <div class="fields"> <div class="required field"> <label>Status</label> <div class="form-group form-group-md col m6 s12"> <select class="form-control form-control-md" name="status" id="status" ng-model="$ctrl.updatePengguna.statusLookup" ng-disabled="$ctrl.ddlStatus.length===0" ng-options="option.status for option in $ctrl.ddlStatus track by option.id" required> <option value="">-Sila pilih-</option> </select> </div> </div> <div class="field"> <div class="ui form" ng-show="$ctrl.updatePengguna.roleUpdate.id == 2"> <div class="inline fields"> <label>Modul Owner</label> <div class="field"> <div class="ui checkbox"> <input type="checkbox" tabindex="0" class="hidden" ng-model="$ctrl.updatePengguna.moduleOwner"> </div> </div> </div> </div> </div> </div> <!-- <div class="ui form" ng-show="$ctrl.updatePengguna.roleUpdate.id == 2">\r\n\r\n                <div class="inline fields">\r\n                    <label>Modul Owner</label>\r\n                    <div class="field">\r\n                        <div class="ui checkbox">\r\n                            <input type="checkbox" tabindex="0" class="hidden"\r\n                                ng-model="$ctrl.updatePengguna.moduleOwner">\r\n                        </div>\r\n                    </div>\r\n                </div>\r\n\r\n            </div> --> <div class="ui divider"></div> <button type="button" class="ui left labeled icon button basic" ng-click="$ctrl.Pengguna = {};$ctrl.cancel();" ng-disabled="$ctrl.isLoading"> <i class="close icon"></i>Tutup </button> <button type="button" class="ui right labeled icon button primary-custom" ng-click="$ctrl.confirmButton();" ng-disabled="formUpdatePengguna.$invalid || $ctrl.isLoading" ng-class="{\'loading\': $ctrl.isLoading}"> <i class="right save icon"></i> Kemaskini </button> </form> </div> </div>'),a.put("views/modal-verify-security.html",'<div class="ui segments"> <div class="ui segment"> <h2 class="ui header"> <i class="big icons"> <i class="user outline icon icon-color-primary"></i> <i class="inverted corner check icon"></i> </i> <div class="content"> Pengesahan Pengawal Keselamatan <!-- <div class="sub header">{{"PAGE_TITLE_SUB" | translate}}</div> --> </div> </h2> </div> <div class="ui segment"> <form name="formUpdateVerify"> <div class="ui equal width form"> <div class="fields"> <div class="field"> <label>No Rujukan</label> <input name="norujukan" type="text" ng-value="$ctrl.updateVerifySecurity.norujukan" disabled class="text-uppercase"> </div> <div class="field"> <label>Nama Pemohon</label> <input name="nama" type="text" ng-model="$ctrl.updateVerifySecurity.nama" disabled class="text-uppercase"> </div> </div> <div class="fields"> <div class="field"> <label>Bil Kehadiran</label> <input name="bilkehadiran" type="text" ng-value="$ctrl.updateVerifySecurity.bilkehadiran" disabled class="text-uppercase"> </div> <div class="required field"> <label>Verify Security</label> <div class="form-group form-group-md col m6 s12"> <select class="form-control form-control-md" name="status" id="status" ng-model="$ctrl.updateVerifySecurity.statusLookup" ng-disabled="$ctrl.ddlStatus.length===0" ng-options="option.statusVerify for option in $ctrl.ddlStatus track by option.id" required> <option value="">-Sila pilih-</option> </select> </div> </div> </div> <div class="fields"> <div class="required field"> <label>Catatan</label> <textarea rows="3" ng-model="$ctrl.updateVerifySecurity.catatan" placeholder="Catatan" required maxlength="240"></textarea> <small style="float: right">{{$ctrl.updateVerifySecurity.catatan.length || \'0\'}}/240</small> </div> </div> </div> <div class="ui divider"></div> <button type="button" class="ui left labeled icon button basic" ng-click="$ctrl.cancel();$ctrl.addPegawai.nama_pegawai = null;" ng-disabled="$ctrl.isLoading"> <i class="close icon"></i>Tutup </button> <button type="button" class="ui right labeled icon button primary-custom" ng-click="$ctrl.confirmButton();" ng-disabled="formUpdateVerify.$invalid || !formUpdateVerify.$dirty || $ctrl.isLoading" ng-class="{\'loading\': $ctrl.isLoading}"> <i class="right save icon"></i> Kemaskini </button> </form> </div> </div>'),a.put("views/number-of-appointment.html",'<!DOCTYPE html> <style>.ahref {\n        color: #2ba9ae !important;\n    }\n\n    .ahref:hover {\n        color: none !important;\n        text-decoration: underline !important;\n    }</style> <h2 class="ui header"> <i class="big icons"> <i class="chart bar outline icon icon-color-primary"></i> <i class="inverted corner anchor icon"></i> </i> <div class="content"> Laporan Bilangan Temujanji </div> </h2> <hr> <form name="formReport"> <div class="ui equal width form"> <div class="fields"> <div class="required field"> <label>Negeri</label> <div class="form-group form-group-md col m6 s12"> <select class="form-control form-control-md text-uppercase" name="negeri" id="negeri" ng-model="$ctrl.searchObj.negeri" ng-disabled="$ctrl.ddlNegeri.length===0" ng-options="option.negeri for option in $ctrl.ddlNegeri track by option.id" ng-change="$ctrl.bindPejabatLaut();"> <option value="">-Sila pilih-</option> </select> </div> </div> <div class="required field"> <label>Pejabat Laut</label> <div class="form-group form-group-md col m6 s12"> <select class="form-control form-control-md text-uppercase" name="pejabatlaut" id="pejabatlaut" ng-model="$ctrl.searchObj.pejabatlaut" ng-disabled="$ctrl.ddlPejabatLaut.length===0" ng-options="option.pejabatlaut for option in $ctrl.ddlPejabatLaut track by option.id" ng-change="$ctrl.resetTarikh();" required> <option value="">-Sila pilih-</option> </select> </div> </div> </div> <div class="fields"> <div class="required field"> <label>Tarikh Mula</label> <div class="ui action input"> <input type="text" ng-model="$ctrl.searchObj.tarikhM" name="tarikhM" uib-datepicker-popup="{{$ctrl.dtFormat}}" is-open="$ctrl.dateConfigInstances[0].popupOpened" datepicker-options="$ctrl.dateOptionsTarikhMula" placeholder="00-00-0000" readonly required ng-change="$ctrl.updateMinTarikhAkhir();"> <button class="ui icon button" ng-click="$ctrl.dateConfigInstances[0].open()"> <i class="calendar alternate outline icon"></i> </button> </div> </div> <div class="required field"> <label>Tarikh Akhir</label> <div class="ui action input"> <input type="text" ng-model="$ctrl.searchObj.tarikhA" name="tarikh" uib-datepicker-popup="{{$ctrl.dtFormat}}" is-open="$ctrl.dateConfigInstances[1].popupOpened" datepicker-options="$ctrl.dateOptionsTarikhAkhir" placeholder="00-00-0000" readonly required ng-change="$ctrl.updateMaxTarikhMula();"> <button class="ui icon button" ng-click="$ctrl.dateConfigInstances[1].open()"> <i class="calendar alternate outline icon"></i> </button> </div> </div> </div> <button type="button" class="ui right labeled icon button primary-custom" ng-click="$ctrl.jana();" ng-disabled="formReport.$invalid"> <i class="right paper plane outline icon"></i> Generate </button> <button type="reset" class="ui right labeled icon basic button" ng-disabled="formApprove.$invalid" ng-click="$ctrl.reset();"> <i class="right refresh icon"></i> Reset </button> </div> </form> <div class="ui divider"></div> <div class="table-responsive" style="margin-top: 10px; margin-bottom: 10px" ng-if="$ctrl.displayList"> <button ng-if="$ctrl.ListReport.length!==0" type="button" class="ui right labeled icon basic button" ng-csv="$ctrl.ListReport" csv-header="[\'Bahagian\', \'Baharu\',\'Diluluskan\', \'Ditolak\', \'Dibatalkan\',\'Jumlah\']" filename="Laporan_Bilangan_Temujanji.csv"> <i class="right download icon"></i> Download CSV </button> <br> <table class="ui unstackable selectable celled table"> <thead> <tr> <th width="1%">#</th> <th width="50%">Bahagian</th> <th width="5%" class="center aligned">Baharu</th> <th width="5%" class="center aligned">Diluluskan</th> <th width="5%" class="center aligned">Ditolak</th> <th width="5%" class="center aligned">Dibatalkan</th> <th width="5%" class="center aligned">Jumlah</th> </tr> </thead> <tbody> <tr ng-repeat="list in $ctrl.ListReport track by $index"> <td> {{$index + 1}} </td> <td>{{list.bahagian}}</td> <td class="center aligned"> {{list.baharu}} </td> <td class="center aligned"> {{list.diluluskan}} </td> <td class="center aligned"> {{list.ditolak}} </td> <td class="center aligned"> {{list.dibatalkan}} </td> <td class="center aligned"> <i class="ui basic label">{{list.total}}</i> </td> </tr> <tr ng-show="$ctrl.ListReport.length===0"> <td colspan="6" style="text-align: center">-Tiada Rekod Ditemui-</td> </tr> </tbody> </table> </div> <preloader ng-if="$ctrl.isLoading"></preloader>'),a.put("views/officer-appointment-frequency.html",'<style>.ahref {\n        color: #2ba9ae !important;\n    }\n\n    .ahref:hover {\n        color: none !important;\n        text-decoration: underline !important;\n    }</style> <h2 class="ui header"> <i class="big icons"> <i class="chart bar outline icon icon-color-primary"></i> <i class="inverted corner anchor icon"></i> </i> <div class="content"> Laporan Kekerapan Pegawai Temujanji </div> </h2> <hr> <form name="formReport"> <div class="ui equal width form"> <div class="fields"> <div class="required field"> <label>Negeri</label> <div class="form-group form-group-md col m6 s12"> <select class="form-control form-control-md text-uppercase" name="negeri" id="negeri" ng-model="$ctrl.searchObj.negeri" ng-disabled="$ctrl.ddlNegeri.length===0" ng-options="option.negeri for option in $ctrl.ddlNegeri track by option.id" ng-change="$ctrl.bindPejabatLaut();"> <option value="">-Sila pilih-</option> </select> </div> </div> <div class="required field"> <label>Pejabat Laut</label> <div class="form-group form-group-md col m6 s12"> <select class="form-control form-control-md text-uppercase" name="pejabatlaut" id="pejabatlaut" ng-model="$ctrl.searchObj.pejabatlaut" ng-disabled="$ctrl.ddlPejabatLaut.length===0" ng-options="option.pejabatlaut for option in $ctrl.ddlPejabatLaut track by option.id" ng-change="$ctrl.bindBahgian();" required> <option value="">-Sila pilih-</option> </select> </div> </div> </div> <div class="field"> <div class="fields"> <div class="required field"> <label>Bahagian / Unit</label> <div class="form-group form-group-md col m6 s12"> <select class="form-control form-control-md text-uppercase" name="bahagian" id="bahagian" ng-model="$ctrl.searchObj.bahagian" ng-disabled="$ctrl.ddlbahagian.length===0" ng-options="option.bahagian for option in $ctrl.ddlbahagian track by option.id" ng-change="$ctrl.resetTarikh();" required> <option value="">-Sila pilih-</option> </select> </div> </div> <div class="field"> &nbsp; </div> </div> </div> <div class="fields"> <div class="required field"> <label>Tarikh Mula</label> <div class="ui action input"> <input type="text" ng-model="$ctrl.searchObj.tarikhM" name="tarikhM" uib-datepicker-popup="{{$ctrl.dtFormat}}" is-open="$ctrl.dateConfigInstances[0].popupOpened" datepicker-options="$ctrl.dateOptionsTarikhMula" placeholder="00-00-0000" readonly required ng-change="$ctrl.updateMinTarikhAkhir();"> <button class="ui icon button" ng-click="$ctrl.dateConfigInstances[0].open()"> <i class="calendar alternate outline icon"></i> </button> </div> </div> <div class="required field"> <label>Tarikh Akhir</label> <div class="ui action input"> <input type="text" ng-model="$ctrl.searchObj.tarikhA" name="tarikh" uib-datepicker-popup="{{$ctrl.dtFormat}}" is-open="$ctrl.dateConfigInstances[1].popupOpened" datepicker-options="$ctrl.dateOptionsTarikhAkhir" placeholder="00-00-0000" readonly required ng-change="$ctrl.updateMaxTarikhMula();"> <button class="ui icon button" ng-click="$ctrl.dateConfigInstances[1].open()"> <i class="calendar alternate outline icon"></i> </button> </div> </div> </div> <button type="button" class="ui right labeled icon button primary-custom" ng-click="$ctrl.jana();" ng-disabled="formReport.$invalid"> <i class="right paper plane outline icon"></i> Generate </button> <button type="reset" class="ui right labeled icon basic button" ng-disabled="formApprove.$invalid" ng-click="$ctrl.reset();"> <i class="right refresh icon"></i> Reset </button> </div> </form> <div class="ui divider"></div> <div class="table-responsive" style="margin-top: 10px; margin-bottom: 10px" ng-if="$ctrl.displayList"> <button ng-if="$ctrl.ListReport.length!==0" type="button" class="ui right labeled icon basic button" ng-csv="$ctrl.ListReport" csv-header="[\'Nama\',\'Total\']" filename="Laporan_Kekerapan_Pegawai_Temujanji.csv"> <i class="right download icon"></i> Download CSV </button> <br> <table class="ui unstackable selectable celled table"> <thead> <tr> <th width="1%">#</th> <th width="50%">Nama</th> <th width="5%" class="center aligned">Total</th> </tr> </thead> <tbody> <tr ng-repeat="list in $ctrl.ListReport track by $index"> <td> {{$index + 1}} </td> <td>{{list.nama}}</td> <td class="center aligned"> {{list.total}} </td> </tr> <tr ng-show="$ctrl.ListReport.length===0"> <td colspan="3" style="text-align: center">-Tiada Rekod Ditemui-</td> </tr> </tbody> </table> </div> <preloader ng-if="$ctrl.isLoading"></preloader>'),a.put("views/pemakluman.html","<!DOCTYPE html>"),a.put("views/preloader.html",'<style>div.loader-custom {\n        margin: 0;\n        position: fixed;\n        top: 50%;\n        left: 50%;\n        margin-right: -50%;\n        transform: translate(-50%, -50%);\n        z-index: 99999;\n    }\n\n    .overlay {\n        position: fixed;\n        height: 100%;\n        width: 100%;\n        z-index: 9999;\n        background-color: rgba(255, 255, 255, 0.4);\n        overflow-x: hidden;\n        /* Disable horizontal scroll */\n        transition: 0.5s;\n        top: 0;\n        left: 0;\n        right: 0;\n        bottom: 0;\n        /*dim the background*/\n    }</style> <div class="overlay"></div> <div class="loader-custom text-center"> <i class="big spinner loading icon"></i> <br><br>Loading data<br>Please wait </div>'),a.put("views/print-term.html",'<br> <b style="font-size: 12px">{{"TEXT_5" | translate}} :</b> <ol class="ui list" style="font-size: 12px;text-align: justify" ng-if="(\'LANGUAGE\' | translate) === \'MY\'"> <li ng-repeat="list in $ctrl.termadansyarat track by $index" ng-bind-html="list.terma"> </li> </ol> <ol class="ui list" style="font-size: 12px;text-align: justify" ng-if="(\'LANGUAGE\' | translate) === \'EN\'"> <li ng-repeat="list in $ctrl.termadansyarat track by $index" ng-bind-html="list.terma_bi"> </li> </ol>'),a.put("views/profil.html",'<h2 class="ui header"> <i class="big icons"> <i class="user alternate outline icon"></i> <i class="inverted corner anchor icon"></i> </i> <div class="content"> Profil <!-- <div class="sub header">{{"PAGE_TITLE_SUB" | translate}}</div> --> </div> </h2> <hr> <div class="ui three steps mini"> <div class="step" ng-click="$ctrl.tab = 1;" ng-class="{\'active\': $ctrl.tab == 1}" style="cursor: pointer"> <i class="user circle icon"></i> <div class="content"> <div class="title">Profil</div> </div> </div> <div class="step" ng-click="$ctrl.tab = 2;" ng-class="{\'active\': $ctrl.tab == 2}" style="cursor: pointer"> <i class="lock open icon"></i> <div class="content"> <div class="title">Tukar Kata laluan</div> </div> </div> </div> <br><br> <div ng-show="$ctrl.tab == 1"> <form name="editForm" ng-submit="$ctrl.confirmButton();" method="post" autocomplete="off" autocomplete="false"> <div class="ui segments"> <!-- <div class="ui secondary segment">\n            <p>Maklumat Pengumuman</p>\n        </div> --> <div class="ui segment"> <div class="ui equal width form"> <div class="field"> <div class="fields"> <div class="required field"> <label>Nama</label> <input name="nama" placeholder="Nama" type="text" ng-model="$ctrl.daftarObj.nama" required> </div> <div class="field"> <label>Bahagian</label> <input name="bahagian" placeholder="Bahagian" type="text" ng-model="$ctrl.daftarObj.bahagian" disabled> </div> </div> <div class="fields"> <div class="field"> <label>Emel</label> <input name="email" placeholder="Emel" type="email" ng-model="$ctrl.daftarObj.email" disabled> </div> <div class="required field"> <!-- <label>NRIC / Passport</label>\n                                <input name="nric_passport" placeholder="NRIC / Passport" type="text"\n                                    ng-model="$ctrl.daftarObj.nric_passport" disabled maxlength="20" /> --> &nbsp; </div> </div> </div> </div> </div> </div> <br> <button class="ui primary-custom right labeled icon button" ng-class="{\'loading\': $ctrl.isLoading}" ng-disabled="editForm.$invalid || !editForm.$dirty ||\n        $ctrl.isLoading" type="submit"> <i class="right save icon"></i> Simpan </button> </form> <preloader ng-if="$ctrl.isLoading"></preloader> <!-- <div class="ui success message message-custom" ng-if="$ctrl.AlertMessage">\n        <p><i class="thumbs up icon"></i> Kemaskini Berjaya.</p>\n    </div> --> </div> <tukar-password ng-show="$ctrl.tab == 2"></tukar-password>'),
a.put("views/report-by-negeri.html",'<!DOCTYPE html> <style>.ahref {\n        color: #2ba9ae !important;\n    }\n\n    .ahref:hover {\n        color: none !important;\n        text-decoration: underline !important;\n    }</style> <h2 class="ui header"> <i class="big icons"> <i class="chart bar outline icon icon-color-primary"></i> <i class="inverted corner anchor icon"></i> </i> <div class="content"> Laporan Bilangan Temujanji Mengikut Negeri </div> </h2> <hr> <form name="formReport"> <div class="ui equal width form"> <div class="fields"> <div class="required field"> <label>Negeri</label> <div class="form-group form-group-md col m6 s12"> <select class="form-control form-control-md text-uppercase" name="negeri" id="negeri" ng-model="$ctrl.searchObj.negeri" ng-disabled="$ctrl.ddlNegeri.length===0" ng-options="option.negeri for option in $ctrl.ddlNegeri track by option.id" ng-change="$ctrl.bindPejabatLaut();"> <option value="">-Sila pilih-</option> </select> </div> </div> <div class="field"> <label>&nbsp;</label> </div> </div> <div class="fields"> <div class="required field"> <label>Tarikh Mula</label> <div class="ui action input"> <input type="text" ng-model="$ctrl.searchObj.tarikhM" name="tarikhM" uib-datepicker-popup="{{$ctrl.dtFormat}}" is-open="$ctrl.dateConfigInstances[0].popupOpened" datepicker-options="$ctrl.dateOptionsTarikhMula" placeholder="00-00-0000" readonly required ng-change="$ctrl.updateMinTarikhAkhir();"> <button class="ui icon button" ng-click="$ctrl.dateConfigInstances[0].open()"> <i class="calendar alternate outline icon"></i> </button> </div> </div> <div class="required field"> <label>Tarikh Akhir</label> <div class="ui action input"> <input type="text" ng-model="$ctrl.searchObj.tarikhA" name="tarikh" uib-datepicker-popup="{{$ctrl.dtFormat}}" is-open="$ctrl.dateConfigInstances[1].popupOpened" datepicker-options="$ctrl.dateOptionsTarikhAkhir" placeholder="00-00-0000" readonly required ng-change="$ctrl.updateMaxTarikhMula();"> <button class="ui icon button" ng-click="$ctrl.dateConfigInstances[1].open()"> <i class="calendar alternate outline icon"></i> </button> </div> </div> </div> <button type="button" class="ui right labeled icon button primary-custom hidden-print" ng-click="$ctrl.jana();" ng-disabled="formReport.$invalid"> <i class="right paper plane outline icon"></i> Generate </button> <button type="reset" class="ui right labeled icon basic button hidden-print" ng-disabled="formApprove.$invalid" ng-click="$ctrl.reset();"> <i class="right refresh icon"></i> Reset </button> </div> </form> <div class="ui divider"></div> <div class="table-responsive" style="margin-top: 10px; margin-bottom: 10px" ng-if="$ctrl.displayList"> <button ng-if="$ctrl.ListReport.length!==0" type="button" class="ui right labeled icon basic button" onclick="ExportToExcel(\'xlsx\')"> <i class="right download icon"></i> Download Excel </button> <br> <table class="ui unstackable selectable celled table" id="tbl_exporttable_to_xls"> <thead> <tr> <th rowspan="2" width="20%">Pejabat Laut</th> <th rowspan="2" width="30%">Bahagian</th> <th colspan="5" class="center aligned">Status</th> </tr> <tr> <th class="center aligned" width="5%">Baharu</th> <th class="center aligned" width="5%">Diluluskan</th> <th class="center aligned" width="5%">Ditolak</th> <th class="center aligned" width="5%">Dibatalkan</th> <th class="center aligned" width="5%">Jumlah</th> </tr> </thead> <tbody ng-repeat="list in $ctrl.ListReport track by $index"> <tr> <td rowspan="{{list.listbahagian.length + 1}}">{{list.pejabatlaut}}</td> </tr> <tr ng-if="list.listbahagian.length != \'0\'" ng-repeat="list2 in list.listbahagian track by $index"> <td>{{list2.bahagian}}</td> <td class="center aligned">{{list2.baharu}}</td> <td class="center aligned">{{list2.diluluskan}}</td> <td class="center aligned">{{list2.ditolak}}</td> <td class="center aligned">{{list2.dibatalkan}}</td> <td class="center aligned"><i class="ui basic label">{{list2.total}}</i></td> </tr> <tr ng-if="list.listbahagian.length == \'0\'" ng-repeat="list2 in list.listbahagian track by $index"> <td colspan="7">-Tiada Rekod-</td> </tr> </tbody> </table> <script>function ExportToExcel(type, fn, dl) {\n            var elt = document.getElementById(\'tbl_exporttable_to_xls\');\n            var wb = XLSX.utils.table_to_book(elt, { sheet: "sheet1" });\n            return dl ?\n                XLSX.write(wb, { bookType: type, bookSST: true, type: \'base64\' }) :\n                XLSX.writeFile(wb, fn || (\'Laporan-Bilangan-Temujanji-Mengikut-Negeri.\' + (type || \'xlsx\')));\n        }</script> <script type="text/javascript" src="https://unpkg.com/xlsx@0.15.1/dist/xlsx.full.min.js"></script> </div> <preloader ng-if="$ctrl.isLoading"></preloader>'),a.put("views/selenggara-pegawai-oleh-pic.html",'<!DOCTYPE html> <style>.ahref {\n        color: #2ba9ae !important;\n    }\n\n    .ahref:hover {\n        color: none !important;\n        text-decoration: underline !important;\n    }</style> <h2 class="ui header"> <i class="big icons"> <i class="user outline icon icon-color-primary"></i> <i class="inverted corner anchor icon"></i> </i> <div class="content"> Senarai Pegawai yang ditugaskan <div class="sub header text-capitalize">{{$ctrl.userObj.bahagian}}</div> </div> </h2> <hr> <!--  --> <button type="button" class="ui left labeled icon button basic" ng-click="$ctrl.addPegawai($ctrl.searchObj)"> <i class="plus icon"></i> Tambah Pegawai </button> <br> <div class="ui warning message"> ** Sila klik butang <b>tambah pegawai</b> sekiranya terdapat penambahan baharu pada nama pegawai yang ditugaskan. </div> <div class="table-responsive" style="margin-top: 10px; margin-bottom: 10px"> <table class="ui unstackable selectable celled table"> <thead> <tr> <th width="1%">#</th> <th width="50%">Nama Pegawai</th> <th width="20%">Emel</th> <th width="2%" class="center aligned">Status</th> <th width="2%" class="center aligned">Tindakan</th> </tr> </thead> <tbody> <tr ng-repeat="list in $ctrl.ListPegawai track by $index"> <td> {{$index + 1 + (($ctrl.currentPage - 1) * $ctrl.pagingInfoObj.totalRowPerPaging)}} </td> <td>{{list.nama_pegawai}}</td> <td>{{list.emel || \'-\'}}</td> <td class="center aligned"> <i class="ui basic label" ng-class="{\'green\':list.status == 0}">{{list.statusDesc}}</i> <!-- <i class="ui basic label">{{list.statusDesc}}</i> --> </td> <td class="center aligned"> <i class="edit icon" style="cursor: pointer" ng-click="$ctrl.updatePegawai(list)"></i> </td> </tr> <tr ng-show="$ctrl.pagingInfoObj.totalRow===0"> <td colspan="4" style="text-align: center">-Tiada Rekod Ditemui-</td> </tr> </tbody> </table> </div> <div class="box-footer"> <span class="text-md">Halaman: {{$ctrl.currentPage}} daripada {{$ctrl.numPages}}</span> <ul uib-pagination class="pagination pagination-md no-margin pull-right" total-items="$ctrl.pagingInfoObj.totalRow" ng-model="$ctrl.currentPage" ng-change="$ctrl.pageChanged()" items-per-page="$ctrl.pagingInfoObj.totalRowPerPaging" max-size="10" num-pages="$ctrl.numPages" boundary-link-numbers="true" rotate="true"></ul> </div> <preloader ng-if="$ctrl.isLoading"></preloader>'),a.put("views/semak.html",'<!DOCTYPE html> <style>.table,\r\n    .table td {\r\n        font-size: 13px;\r\n        padding-left: 5px;\r\n        padding-top: 2px;\r\n    }</style> <!-- Display title when click print --> <h1 class="header text-center visible-print"><img src="./images/jlm_logo.b5aea912.png" style="width: 100px;margin-top: -150px"> </h1> <h1 class="header text-center visible-print" style="margin-top: -30px;font-size: 24px">{{"TEXT_28" | translate}}</h1> <div class="ui divider visible-print"></div> <div class="ui segments"> <div class="ui segment hidden-print"> <h3>{{"TEXT_32" | translate}}</h3> </div> <div class="ui segment"> <div class="ui action input hidden-print"> <input type="text" placeholder="{{\'TEXT_30\' | translate}}..." ng-model="$ctrl.search.norujukan"> <button ng-show="$ctrl.search.norujukan" class="ui icon button basic" ng-click="$ctrl.reset();"> <i class="times icon"></i> </button> <button class="ui icon button primary-custom" ng-click="$ctrl.semak();" ng-disabled="$ctrl.search.norujukan.length == 0 || $ctrl.search.norujukan == null"> <i class="search link icon"></i> </button> </div> <div class="ui divider hidden-print"></div> <div class="ui equal width form" ng-show="$ctrl.temujanji.norujukan"> <h2 class="header text-center">{{"TEXT_30" | translate}} : {{$ctrl.temujanji.norujukan}} </h2> <table class="ui striped compact celled table"> <tbody> <tr> <td style="width: 18%;font-weight: bold">{{"TEXT_15" | translate}}&nbsp;:</td> <td style="width: 32%">{{$ctrl.temujanji.negeri | uppercase}}</td> <td style="width: 18%;font-weight: bold">{{"TEXT_16" | translate}}&nbsp;:</td> <td style="width: 32%">{{$ctrl.temujanji.pejabatlaut | uppercase}}</td> </tr> <tr> <td style="font-weight: bold">{{"TEXT_17" | translate}}&nbsp;:</td> <td>{{$ctrl.temujanji.bahagian | uppercase}}</td> <td style="font-weight: bold">{{"TEXT_18" | translate}}&nbsp;:</td> <td>{{$ctrl.temujanji.tujuan | uppercase}}</td> </tr> <tr> <td style="font-weight: bold">{{"TEXT_24" | translate}}&nbsp;:</td> <td> <span ng-class="{\'ui red label\': $ctrl.temujanji.days < 0, \'description\': $ctrl.temujanji.days >= 0}"> {{$ctrl.temujanji.tarikh}} </span> </td> <td style="font-weight: bold">{{"TEXT_25" | translate}}&nbsp;:</td> <td>{{$ctrl.temujanji.masa}}</td> </tr> <tr> <td style="font-weight: bold">{{"TEXT_23" | translate}}&nbsp;:</td> <td>{{$ctrl.temujanji.nama | uppercase}}</td> <td style="font-weight: bold">{{"TEXT_19" | translate}}&nbsp;:</td> <td>{{$ctrl.temujanji.emel}}</td> </tr> <tr> <td style="font-weight: bold">{{"TEXT_20" | translate}}&nbsp;:</td> <td>{{$ctrl.temujanji.telefon}}</td> <td style="font-weight: bold">{{"TEXT_22" | translate}}&nbsp;:</td> <td>{{$ctrl.temujanji.keterangan}}</td> </tr> <tr> <td style="font-weight: bold">{{"TEXT_21" | translate}}&nbsp;:</td> <td>{{$ctrl.temujanji.bilkehadiran || "NIL"}}</td> <td style="font-weight: bold">Status&nbsp;:</td> <td> <b ng-if="(\'LANGUAGE\' | translate) ===\'MY\'">{{$ctrl.temujanji.statusDesc}}</b> <b ng-if="(\'LANGUAGE\' | translate) ===\'EN\'">{{$ctrl.temujanji.statusDescBi}}</b> </td> </tr> <tr ng-if="$ctrl.temujanji.status == 1 && $ctrl.temujanji.days >= 0"> <td style="font-weight: bold">{{"TEXT_39" | translate}}&nbsp;:</td> <td><span ng-if="$ctrl.temujanji.status == 1">{{$ctrl.temujanji.assign_pegawai || "NIL" | uppercase}}</span></td> <td style="font-weight: bold">{{"TEXT_40" | translate}}&nbsp;:</td> <td><span ng-if="$ctrl.temujanji.catatan != null">{{$ctrl.temujanji.catatan || "NIL"}}</span> </td> </tr> </tbody> </table> <print-term class="visible-print"></print-term> <!-- </div> --> <div class="ui red message hidden-print" ng-show="$ctrl.temujanji.days < 0" style="color: #000;margin-top:10px;padding-top: 5px"> <p class="item"><b>{{"TEXT_35" | translate}} : </b> {{"TEXT_41" | translate}} </p> </div> <div ng-if="$ctrl.temujanji.days >= 0"> <div class="ui yellow message hidden-print" ng-if="$ctrl.temujanji.user_accept == null && $ctrl.temujanji.status == 1 && $ctrl.temujanji.verifySecurityByid === null" style="color: #000;margin-top:10px;padding-top: 5px"> <p class="item"><b>{{"TEXT_35" | translate}} : </b> {{"TEXT_42" | translate}} </p> </div> <button type="button" class="ui right labeled icon button primary-custom hidden-print" ng-click="$ctrl.confirmButton();" ng-show="$ctrl.temujanji.user_accept == null && $ctrl.temujanji.status == 1 && $ctrl.temujanji.verifySecurityByid === null" ng-disabled="$ctrl.isLoading"> <i class="right check icon"></i> {{"BTN_SETUJU" | translate}} </button> <button type="button" class="ui right labeled icon button red basic hidden-print" ng-click="$ctrl.confirmButtonBatal();" ng-show="$ctrl.temujanji.user_accept == null && $ctrl.temujanji.status == 1 && $ctrl.temujanji.verifySecurityByid === null" ng-disabled="$ctrl.isLoading"> <i class="right times icon"></i> {{"BTN_BATAL" | translate}} </button> <br> <button ng-if="$ctrl.temujanji.user_accept == 1 || $ctrl.temujanji.status == 1" class="ui right labeled icon button right floated basic hidden-print" onclick="window.print()"> <i class="print icon"></i> {{"BTN_CETAK" | translate}} </button> <br class="hidden-print"><br class="hidden-print"> </div> </div> <div class="ui message" ng-show="$ctrl.temujanjirekod"> <p>{{"TEXT_43" | translate}}</p> </div> </div> </div> <preloader ng-if="$ctrl.isLoading"></preloader>'),a.put("views/senarai-bahagian.html",'<!DOCTYPE html> <style>.ahref {\n        color: #2ba9ae !important;\n    }\n\n    .ahref:hover {\n        color: none !important;\n        text-decoration: underline !important;\n    }</style> <h2 class="ui header"> <i class="big icons"> <i class="building outline icon icon-color-primary"></i> <i class="inverted corner anchor icon"></i> </i> <div class="content"> Senarai Bahagian <!-- <div class="sub header">{{"PAGE_TITLE_SUB" | translate}}</div> --> </div> </h2> <hr> <div class="ui equal width form"> <div class="fields"> <div class="field"> <label>Negeri</label> <div class="form-group form-group-md col m6 s12"> <select class="form-control form-control-md text-uppercase" name="negeri" id="negeri" ng-model="$ctrl.searchObj.negeri" ng-disabled="$ctrl.ddlNegeri.length===0" ng-options="option.negeri for option in $ctrl.ddlNegeri track by option.id" ng-change="$ctrl.bindPejabatLaut();"> <option value="">-Sila pilih-</option> </select> </div> </div> <div class="required field"> <label>Pejabat Laut</label> <div class="form-group form-group-md col m6 s12"> <select class="form-control form-control-md text-uppercase" name="pejabatlaut" id="pejabatlaut" ng-model="$ctrl.searchObj.pejabatlaut" ng-disabled="$ctrl.ddlPejabatLaut.length===0" ng-options="option.pejabatlaut for option in $ctrl.ddlPejabatLaut track by option.id" ng-change="$ctrl.search();" required> <option value="">-Sila pilih-</option> </select> </div> </div> </div> </div> <div class="ui divider"></div> <button type="button" class="ui left labeled icon button basic" ng-click="$ctrl.addBahagian($ctrl.searchObj)" ng-if="$ctrl.displayList"> <i class="plus icon"></i> Tambah Bahagian </button> <div class="table-responsive" style="margin-top: 10px; margin-bottom: 10px" ng-if="$ctrl.displayList"> <table class="ui unstackable selectable celled table"> <thead> <tr> <th width="1%">#</th> <th width="50%">Bahagian</th> <th width="2%" class="center aligned">Status</th> <th width="2%" class="center aligned">Tindakan</th> </tr> </thead> <tbody> <tr ng-repeat="list in $ctrl.ListBahagian track by $index"> <td> {{$index + 1 + (($ctrl.currentPage - 1) * $ctrl.pagingInfoObj.totalRowPerPaging)}} </td> <td>{{list.bahagian}}</td> <td class="center aligned"> <i class="ui basic label" ng-class="{\'green\':list.status == 0}">{{list.statusDesc}}</i> <!-- <i class="ui basic label">{{list.statusDesc}}</i> --> </td> <td class="center aligned"> <i class="edit icon" style="cursor: pointer" ng-click="$ctrl.updateBahagian(list)"></i> </td> </tr> <tr ng-show="$ctrl.pagingInfoObj.totalRow===0"> <td colspan="4" style="text-align: center">-Tiada Rekod Ditemui-</td> </tr> </tbody> </table> </div> <div class="box-footer" ng-if="$ctrl.displayList"> <span class="text-md">Halaman: {{$ctrl.currentPage}} daripada {{$ctrl.numPages}}</span> <ul uib-pagination class="pagination pagination-md no-margin pull-right" total-items="$ctrl.pagingInfoObj.totalRow" ng-model="$ctrl.currentPage" ng-change="$ctrl.pageChanged()" items-per-page="$ctrl.pagingInfoObj.totalRowPerPaging" max-size="10" num-pages="$ctrl.numPages" boundary-link-numbers="true" rotate="true"></ul> </div> <preloader ng-if="$ctrl.isLoading"></preloader>'),a.put("views/senarai-cuti.html",'<style>.ahref {\n        color: #2ba9ae !important;\n    }\n\n    .ahref:hover {\n        color: none !important;\n        text-decoration: underline !important;\n    }</style> <h2 class="ui header"> <i class="big icons"> <i class="calendar alternate outline icon icon-color-primary"></i> <i class="inverted corner anchor icon"></i> </i> <div class="content"> Senarai Cuti <!-- <div class="sub header">{{"PAGE_TITLE_SUB" | translate}}</div> --> </div> </h2> <hr> <div class="ui equal width form"> <div class="fields"> <div class="field"> <label>Jenis Cuti</label> <div class="form-group form-group-md col m6 s12"> <select class="form-control form-control-md text-uppercase" name="jeniscuti" id="jeniscuti" ng-model="$ctrl.searchObj.jeniscuti" ng-disabled="$ctrl.ddlJenisCuti.length===0" ng-options="option.jeniscuti for option in $ctrl.ddlJenisCuti track by option.id" ng-change="$ctrl.searchObj.negeri=null;$ctrl.search();"> <option value="">-Sila pilih-</option> </select> </div> </div> <div class="field"> <label ng-if="$ctrl.searchObj.jeniscuti.id==2">Negeri</label> <div class="form-group form-group-md col m6 s12" ng-if="$ctrl.searchObj.jeniscuti.id==2"> <select class="form-control form-control-md text-uppercase" name="negeri" id="negeri" ng-model="$ctrl.searchObj.negeri" ng-disabled="$ctrl.ddlNegeri.length===0" ng-options="option.negeri for option in $ctrl.ddlNegeri track by option.id" ng-change="$ctrl.search();"> <option value="">-Sila pilih-</option> </select> </div> </div> </div> </div> <div class="ui divider"></div> <button type="button" class="ui left labeled icon button basic" ng-click="$ctrl.addCuti($ctrl.searchObj)" ng-if="$ctrl.displayList"> <i class="plus icon"></i> Tambah Cuti </button> <div class="table-responsive" style="margin-top: 10px; margin-bottom: 10px" ng-if="$ctrl.displayList"> <table class="ui unstackable selectable celled table"> <thead> <tr> <th width="1%">#</th> <th width="50%">Peristiwa</th> <th width="10%" class="center aligned">Tarikh</th> <th width="2%" class="center aligned">Tindakan</th> </tr> </thead> <tbody> <tr ng-repeat="list in $ctrl.ListCuti track by $index"> <td> {{$index + 1 + (($ctrl.currentPage - 1) * $ctrl.pagingInfoObj.totalRowPerPaging)}} </td> <td>{{list.peristiwa}}</td> <td class="center aligned"> <!-- {{list.day}} <br/> --> {{list.tarikh_}} </td> <td class="center aligned"> <i class="trash alternate outline icon" style="cursor: pointer" ng-click="$ctrl.confirmButton(list)"></i> </td> </tr> <tr ng-show="$ctrl.pagingInfoObj.totalRow===0"> <td colspan="4" style="text-align: center">-Tiada Rekod Ditemui-</td> </tr> </tbody> </table> </div> <div class="box-footer" ng-if="$ctrl.displayList"> <span class="text-md">Halaman: {{$ctrl.currentPage}} daripada {{$ctrl.numPages}}</span> <ul uib-pagination class="pagination pagination-md no-margin pull-right" total-items="$ctrl.pagingInfoObj.totalRow" ng-model="$ctrl.currentPage" ng-change="$ctrl.pageChanged()" items-per-page="$ctrl.pagingInfoObj.totalRowPerPaging" max-size="10" num-pages="$ctrl.numPages" class="pagination-md" boundary-link-numbers="true" rotate="true"></ul> </div> <preloader ng-if="$ctrl.isLoading"></preloader>'),a.put("views/senarai-pegawai.html",'<!DOCTYPE html> <style>.ahref {\n        color: #2ba9ae !important;\n    }\n\n    .ahref:hover {\n        color: none !important;\n        text-decoration: underline !important;\n    }</style> <h2 class="ui header"> <i class="big icons"> <i class="user outline icon icon-color-primary"></i> <i class="inverted corner anchor icon"></i> </i> <div class="content"> Senarai Pegawai yang ditugaskan <!-- <div class="sub header">{{"PAGE_TITLE_SUB" | translate}}</div> --> </div> </h2> <hr> <div class="ui equal width form"> <div class="fields"> <div class="field"> <label>Negeri</label> <div class="form-group form-group-md col m6 s12"> <select class="form-control form-control-md text-uppercase" name="negeri" id="negeri" ng-model="$ctrl.searchObj.negeri" ng-disabled="$ctrl.ddlNegeri.length===0" ng-options="option.negeri for option in $ctrl.ddlNegeri track by option.id" ng-change="$ctrl.bindPejabatLaut();"> <option value="">-Sila pilih-</option> </select> </div> </div> <div class="required field"> <label>Pejabat Laut</label> <div class="form-group form-group-md col m6 s12"> <select class="form-control form-control-md text-uppercase" name="pejabatlaut" id="pejabatlaut" ng-model="$ctrl.searchObj.pejabatlaut" ng-disabled="$ctrl.ddlPejabatLaut.length===0" ng-options="option.pejabatlaut for option in $ctrl.ddlPejabatLaut track by option.id" ng-change="$ctrl.bindBahgian();" required> <option value="">-Sila pilih-</option> </select> </div> </div> </div> <div class="field"> <div class="fields"> <div class="required field"> <label>Bahagian / Unit</label> <div class="form-group form-group-md col m6 s12"> <select class="form-control form-control-md text-uppercase" name="bahagian" id="bahagian" ng-model="$ctrl.searchObj.bahagian" ng-disabled="$ctrl.ddlbahagian.length===0" ng-options="option.bahagian for option in $ctrl.ddlbahagian track by option.id" ng-change="$ctrl.search();" required> <option value="">-Sila pilih-</option> </select> <!-- <div class="ui pointing basic label" style="font-weight: normal;"\n                        ng-if="$ctrl.formTemujanji.bahagian.fungsi!=null">\n                        {{$ctrl.formTemujanji.bahagian.fungsi}}\n                    </div> --> </div> </div> <div class="field"> &nbsp; </div> </div> </div> </div> <div class="ui divider"></div> <button type="button" class="ui left labeled icon button basic" ng-click="$ctrl.addPegawai($ctrl.searchObj)" ng-if="$ctrl.displayList"> <i class="plus icon"></i> Tambah Pegawai </button> <div class="table-responsive" style="margin-top: 10px; margin-bottom: 10px" ng-if="$ctrl.displayList"> <table class="ui unstackable selectable celled table"> <thead> <tr> <th width="1%">#</th> <th width="50%">Nama Pegawai</th> <th width="20%">Emel</th> <th width="2%" class="center aligned">Status</th> <th width="2%" class="center aligned">Tindakan</th> </tr> </thead> <tbody> <tr ng-repeat="list in $ctrl.ListPegawai track by $index"> <td> {{$index + 1 + (($ctrl.currentPage - 1) * $ctrl.pagingInfoObj.totalRowPerPaging)}} </td> <td>{{list.nama_pegawai}}</td> <td>{{list.emel || \'-\'}}</td> <td class="center aligned"> <i class="ui basic label" ng-class="{\'green\':list.status == 0}">{{list.statusDesc}}</i> <!-- <i class="ui basic label">{{list.statusDesc}}</i> --> </td> <td class="center aligned"> <i class="edit icon" style="cursor: pointer" ng-click="$ctrl.updatePegawai(list)"></i> </td> </tr> <tr ng-show="$ctrl.pagingInfoObj.totalRow===0"> <td colspan="4" style="text-align: center">-Tiada Rekod Ditemui-</td> </tr> </tbody> </table> </div> <div class="box-footer" ng-if="$ctrl.displayList"> <span class="text-md">Halaman: {{$ctrl.currentPage}} daripada {{$ctrl.numPages}}</span> <ul uib-pagination class="pagination pagination-md no-margin pull-right" total-items="$ctrl.pagingInfoObj.totalRow" ng-model="$ctrl.currentPage" ng-change="$ctrl.pageChanged()" items-per-page="$ctrl.pagingInfoObj.totalRowPerPaging" max-size="10" num-pages="$ctrl.numPages" boundary-link-numbers="true" rotate="true"></ul> </div> <preloader ng-if="$ctrl.isLoading"></preloader>'),a.put("views/senarai-pejabat-laut.html",'<style>.ahref {\r\n        color: #2ba9ae !important;\r\n    }\r\n\r\n    .ahref:hover {\r\n        color: none !important;\r\n        text-decoration: underline !important;\r\n    }</style> <h2 class="ui header"> <i class="big icons"> <i class="building outline icon icon-color-primary"></i> <i class="inverted corner anchor icon"></i> </i> <div class="content"> Senarai Pejabat Laut <!-- <div class="sub header">{{"PAGE_TITLE_SUB" | translate}}</div> --> </div> </h2> <hr> <div class="ui equal width form"> <div class="field"> <div class="fields"> <div class="field"> <label>Negeri</label> <div class="form-group form-group-md col m6 s12"> <select class="form-control form-control-md text-uppercase" name="negeri" id="negeri" ng-model="$ctrl.searchObj.negeri" ng-disabled="$ctrl.ddlNegeri.length===0" ng-options="option.negeri for option in $ctrl.ddlNegeri track by option.id" ng-change="$ctrl.search();"> <option value="">-Sila pilih-</option> </select> </div> </div> <div class="field"> &nbsp; </div> </div> </div> </div> <div class="ui divider"></div> <button type="button" class="ui left labeled icon button basic" ng-click="$ctrl.addPejabat($ctrl.searchObj.negeri)" ng-if="$ctrl.displayList"> <i class="plus icon"></i> Tambah Pejabat Laut </button> <div class="table-responsive" style="margin-top: 10px; margin-bottom: 10px" ng-if="$ctrl.displayList"> <table class="ui unstackable selectable celled table"> <thead> <tr> <th width="1%">#</th> <th width="50%">Pejabat Laut</th> <th width="2%" class="center aligned">Status</th> <th width="2%" class="center aligned">Tindakan</th> </tr> </thead> <tbody> <tr ng-repeat="list in $ctrl.ListPejabat track by $index"> <td> {{$index + 1 + (($ctrl.currentPage - 1) * $ctrl.pagingInfoObj.totalRowPerPaging)}} </td> <td>{{list.pejabatlaut}}</td> <td class="center aligned"> <i class="ui basic label" ng-class="{\'green\':list.status == 0}">{{list.statusDesc}}</i> <!-- <i class="ui basic label">{{list.statusDesc}}</i> --> </td> <td class="center aligned"> <i class="edit icon" style="cursor: pointer" ng-click="$ctrl.updatePejabat(list)"></i> </td> </tr> <tr ng-show="$ctrl.pagingInfoObj.totalRow===0"> <td colspan="4" style="text-align: center">-Tiada Rekod Ditemui-</td> </tr> </tbody> </table> </div> <div class="box-footer" ng-if="$ctrl.displayList"> <span class="text-md">Halaman: {{$ctrl.currentPage}} daripada {{$ctrl.numPages}}</span> <ul uib-pagination class="pagination pagination-md no-margin pull-right" total-items="$ctrl.pagingInfoObj.totalRow" ng-model="$ctrl.currentPage" ng-change="$ctrl.pageChanged()" items-per-page="$ctrl.pagingInfoObj.totalRowPerPaging" max-size="10" num-pages="$ctrl.numPages" class="pagination-md" boundary-link-numbers="true" rotate="true"></ul> </div> <preloader ng-if="$ctrl.isLoading"></preloader>'),a.put("views/senarai-pengguna.html",'<style>.ahref {\n        color: #2ba9ae !important;\n    }\n\n    .ahref:hover {\n        color: none !important;\n        text-decoration: underline !important;\n    }</style> <h2 class="ui header"> <i class="big icons"> <i class="user outline icon icon-color-primary"></i> <i class="inverted corner anchor icon"></i> </i> <div class="content"> Senarai Pengguna <!-- <div class="sub header">{{"PAGE_TITLE_SUB" | translate}}</div> --> </div> </h2> <hr> <div class="ui equal width form"> <div class="fields"> <div class="required field"> <label>Negeri</label> <div class="form-group form-group-md col m6 s12"> <select class="form-control form-control-md text-uppercase" name="negeri" id="negeri" ng-model="$ctrl.searchObj.negeri" ng-disabled="$ctrl.ddlNegeri.length===0" ng-options="option.negeri for option in $ctrl.ddlNegeri track by option.id" ng-change="$ctrl.bindPejabatLaut();" required> <option value="">-Sila pilih-</option> </select> </div> </div> <div class="required field"> <label>Pejabat Laut</label> <div class="form-group form-group-md col m6 s12"> <select class="form-control form-control-md text-uppercase" name="pejabatlaut" id="pejabatlaut" ng-model="$ctrl.searchObj.pejabatlaut" ng-disabled="$ctrl.ddlPejabatLaut.length===0" ng-options="option.pejabatlaut for option in $ctrl.ddlPejabatLaut track by option.id" ng-change="$ctrl.bindBahgian();" required> <option value="">-Sila pilih-</option> </select> </div> </div> </div> <div class="fields"> <div class="field"> <label>Bahagian / Unit</label> <div class="form-group form-group-md col m6 s12"> <select class="form-control form-control-md text-uppercase" name="bahagian" id="bahagian" ng-model="$ctrl.searchObj.bahagian" ng-disabled="$ctrl.ddlbahagian.length===0" ng-options="option.bahagian for option in $ctrl.ddlbahagian track by option.id" ng-change="$ctrl.bindTujuan();" required> <option value="">-Sila pilih-</option> </select> </div> </div> <div class="field"> <label>Nama</label> <input type="text" placeholder="Nama..." ng-model="$ctrl.searchObj.nama"> <!-- <div class="ui action input">\n                <input type="text" placeholder="Carian Nama..." ng-model="$ctrl.searchObj.nama">\n                <div class="ui button basic icon" ng-show="$ctrl.searchObj.nama">\n                    <i class="times link icon" ng-click="$ctrl.searchObj.nama=null;$ctrl.search()"></i>\n                </div>\n                <button class="ui button primary-custom" ng-click="$ctrl.search();"\n                    ng-disabled="$ctrl.searchObj.nama==null">Carian</button>\n\n            </div> --> </div> </div> <div class="fields"> <div class="required field"> <label>Role</label> <select class="form-control form-control-md text-uppercase" name="role" id="role" ng-model="$ctrl.searchObj.role" ng-disabled="$ctrl.ddlrole.length===0" ng-options="option.role for option in $ctrl.ddlrole track by option.id" required> <option value="">-Sila pilih-</option> </select> </div> <div class="field"> <label>&nbsp;</label> </div> </div> <button type="button" class="ui right labeled icon button primary-custom" ng-click="$ctrl.search();"> <i class="right search icon"></i> Search </button> <button type="reset" class="ui right labeled icon basic button" ng-click="$ctrl.reset();"> <i class="right refresh icon"></i> Reset </button> </div> <div class="ui divider"></div> <button type="button" class="ui left labeled icon button basic" ng-click="$ctrl.addPengguna()"> <i class="plus icon"></i> Tambah Pengguna </button> <br><br> Jumlah Pengguna : <b>{{$ctrl.pagingInfoObj.totalRow}}</b> <div class="table-responsive" style="margin-top: 10px; margin-bottom: 10px"> <table class="ui unstackable selectable celled table"> <thead> <tr> <th width="1%">#</th> <th width="35%">Nama</th> <th width="20%">Bahagian, Pejabat Laut</th> <th width="10%">Emel</th> <th width="5%">Role</th> <th width="2%" class="center aligned">Status</th> <th width="2%" class="center aligned">Tindakan</th> </tr> </thead> <tbody> <tr ng-repeat="list in $ctrl.ListPengguna track by $index"> <td> {{$index + 1 + (($ctrl.currentPage - 1) * $ctrl.pagingInfoObj.totalRowPerPaging)}} </td> <td>{{list.nama}}</td> <td class="text-uppercase">{{list.bahagiandesc || \'NIL\'}},<br>{{list.pejabatlautdesc || \'\'}}</td> <td>{{list.email || \'NIL\'}}</td> <td>{{list.roleName}}</td> <td class="center aligned"> <i class="ui basic label" ng-class="{\'green\':list.status == 0}">{{list.statusDesc}}</i> <!-- <i class="ui basic label">{{list.statusDesc}}</i> --> <i class="check circle outline icon" ng-show="list.isModulOwner==1" title="is Module Owner"></i> </td> <td class="center aligned"> <i class="edit icon" style="cursor: pointer" ng-click="$ctrl.updatePengguna(list)"></i> <i class="lock open icon" style="cursor: pointer" title="Reset Password" ng-click="$ctrl.confirmReset(list)"></i> </td> </tr> <tr ng-show="$ctrl.pagingInfoObj.totalRow===0"> <td colspan="7" style="text-align: center">-Tiada Rekod Ditemui-</td> </tr> </tbody> </table> </div> <div class="box-footer"> <span class="text-md">Halaman: {{$ctrl.currentPage}} daripada {{$ctrl.numPages}}</span> <ul uib-pagination class="pagination pagination-md no-margin pull-right" total-items="$ctrl.pagingInfoObj.totalRow" ng-model="$ctrl.currentPage" ng-change="$ctrl.pageChanged()" items-per-page="$ctrl.pagingInfoObj.totalRowPerPaging" max-size="10" num-pages="$ctrl.numPages" class="pagination-md" boundary-link-numbers="true" rotate="true"></ul> </div> <preloader ng-if="$ctrl.isLoading"></preloader>'),a.put("views/senarai-verify-security.html",'<style>.ahref {\n        color: #2ba9ae !important;\n    }\n\n    .ahref:hover {\n        color: none !important;\n        text-decoration: underline !important;\n    }</style> <h2 class="text-center"> Senarai Temujanji pada {{$ctrl.today | date:\'dd-MM-yyyy\'}} </h2> <hr> <div class="ui equal width form"> <div class="field"> <div class="fields"> <div class="field"> <div class="fields"> <div class="field"> <label>No Rujukan</label> <input name="norujukan" placeholder="No Rujukan" type="text" ng-model="$ctrl.searchObj.norujukan"> </div> <div class="field"> <label>Nama Pemohon</label> <input name="namapemohon" placeholder="Nama Pemohon" type="text" ng-model="$ctrl.searchObj.namapemohon"> </div> </div> </div> </div> </div> </div> <button type="button" class="ui right labeled icon button primary-custom" ng-click="$ctrl.search();"> <i class="right search icon"></i> Search </button> <button type="button" class="ui right labeled icon button basic" ng-click="$ctrl.reset();"> <i class="right undo alternate icon"></i> Reset </button> <div class="ui divider"></div> Jumlah Permohonan : <b>{{$ctrl.pagingInfoObj.totalRow}}</b> <div class="table-responsive" style="margin-top: 10px; margin-bottom: 10px"> <table class="ui unstackable selectable celled table"> <thead> <tr> <th width="1%">#</th> <th width="10%">No Rujukan</th> <th width="20%">Nama</th> <th width="20%">Bahagian</th> <th width="15%">Tujuan</th> <th width="15%">Keterangan</th> <th width="1%">Bil Kehadiran</th> <th width="15%">Tarikh & Masa Temujanji</th> <th width="5%">Status Permohonan</th> <th width="15%">Pegawai yang ditugaskan</th> <th width="10%">Pengesahan Pengawal Keselamatan</th> </tr> </thead> <tbody> <tr ng-repeat="list in $ctrl.ListPermohonan track by $index"> <td> {{$index + 1 + (($ctrl.currentPage - 1) * $ctrl.pagingInfoObj.totalRowPerPaging)}} </td> <td> {{list.norujukan || "-"}} </td> <td ng-bind-html="list.nama"></td> <td>{{list.bahagian}}</td> <td>{{list.tujuan}}</td> <td>{{list.keterangan}}</td> <td>{{list.bilkehadiran}}</td> <td>{{list.tarikh}} | {{list.masa}}</td> <td> <i class="ui basic label">{{list.statusDesc}}</i> </td> <td>{{list.pegawaiditugaskan || "-"}}</td> <td> <span ng-if="list.statusVerifyDesc != null" uib-popover="{{list.catatanSecurity}}" popover-trigger="\'mouseenter\'" popover-title="Catatan" style="cursor: pointer"><i class="ui label" ng-class="{\'green\':list.verifySecurityStatus === 1,\'red\':list.verifySecurityStatus === 2}">{{list.statusVerifyDesc}}</i></span> <span ng-if="list.statusVerifyDesc == null"> <button type="button" class="ui button primary-custom" ng-click="$ctrl.verifySecurity(list);"> Pengesahan </button> </span> </td> </tr> <tr ng-show="$ctrl.pagingInfoObj.totalRow===0"> <td colspan="9" style="text-align: center">-Tiada Rekod Ditemui-</td> </tr> </tbody> </table> </div> <div class="box-footer"> <span class="text-md">Halaman: {{$ctrl.currentPage}} daripada {{$ctrl.numPages}}</span> <ul uib-pagination class="pagination pagination-md no-margin pull-right" total-items="$ctrl.pagingInfoObj.totalRow" ng-model="$ctrl.currentPage" ng-change="$ctrl.pageChanged()" items-per-page="$ctrl.pagingInfoObj.totalRowPerPaging" max-size="10" num-pages="$ctrl.numPages" class="pagination-md" boundary-link-numbers="true" rotate="true"></ul> </div> <preloader ng-if="$ctrl.isLoading"></preloader>'),
a.put("views/sidebar-menu.html",'<!DOCTYPE html> <style>.truncate {\r\n        max-width: 200px;\r\n        white-space: nowrap;\r\n        overflow: hidden;\r\n        text-overflow: ellipsis;\r\n    }</style> <div class="ui stackable fluid menu hidden-print" style="margin-top: 40px" ng-show="$ctrl.userObj.roleID > \'0\'"> <a class="item" href="./#/dashboard" ng-class="{\'active\':$ctrl.$location.path() === \'/dashboard\'}"> <i class="home icon"></i> Dashboard </a> <div class="ui pointing dropdown link item" ng-show="$ctrl.userObj.modulOwner == 1 || $ctrl.userObj.roleID == 1 || $ctrl.userObj.roleID == 3"> <i class="cogs icon"></i> <span class="text" ng-show="$ctrl.userObj.roleID == 1">Pentadbir</span> <span class="text" ng-show="$ctrl.userObj.modulOwner == 1 || $ctrl.userObj.roleID == 3">Pemilik Modul</span> <i class="dropdown icon"></i> <div class="menu"> <div class="header">Selenggara</div> <a class="item" href="./#/private/senarai-pejabat-laut"><i class="circle outline icon" ng-class="{\'check\':$ctrl.$location.path() === \'/private/senarai-pejabat-laut\'}"></i> Senarai Pejabat Laut</a> <a class="item" href="./#/private/senarai-bahagian"><i class="circle outline icon" ng-class="{\'check\':$ctrl.$location.path() === \'/private/senarai-bahagian\'}"></i> Senarai Bahagian</a> <a class="item" href="./#/private/senarai-pegawai"><i class="circle outline icon" ng-class="{\'check\':$ctrl.$location.path() === \'/private/senarai-pegawai\'}"></i> Senarai Pegawai yang ditugaskan</a> <a class="item" href="./#/private/senarai-pengguna" ng-show="$ctrl.userObj.roleID == 1"><i class="circle outline icon" ng-class="{\'check\':$ctrl.$location.path() === \'/private/senarai-pengguna\'}"></i> Senarai Pengguna</a> <a class="item" href="./#/private/senarai-cuti"><i class="circle outline icon" ng-class="{\'check\':$ctrl.$location.path() === \'/private/senarai-cuti\'}"></i> Senarai Cuti</a> <div class="divider"></div> <div class="header">Laporan</div> <a class="item" href="./#/private/laporan/officer-appointment-frequency"><i class="circle outline icon" ng-class="{\'check\':$ctrl.$location.path() === \'/private/laporan/officer-appointment-frequency\'}"></i> Kekerapan Pegawai Temujanji</a> <a class="item" href="./#/private/laporan/number-of-appointment"><i class="circle outline icon" ng-class="{\'check\':$ctrl.$location.path() === \'/private/laporan/number-of-appointment\'}"></i> Bilangan Temujanji Pejabat Laut</a> <a class="item" href="./#/private/laporan/report-by-negeri"><i class="circle outline icon" ng-class="{\'check\':$ctrl.$location.path() === \'/private/laporan/report-by-negeri\'}"></i> Bilangan Temujanji Mengikut Negeri</a> <a ng-show="$ctrl.userObj.roleID == 1" class="item" href="./#/private/laporan/response-time"><i class="circle outline icon" ng-class="{\'check\':$ctrl.$location.path() === \'/private/laporan/response-time\'}"></i> Response Time</a> <div class="divider" ng-show="$ctrl.userObj.roleID == 1"></div> <div class="header" ng-show="$ctrl.userObj.roleID == 1"> Permohonan</div> <a class="item" href="./#/private/cetak-senarai-permohonan" ng-show="$ctrl.userObj.roleID == 1"><i class="circle outline icon" ng-class="{\'check\':$ctrl.$location.path() === \'/private/cetak-senarai-permohonan\'}"></i> Cetak Senarai Pemohonan</a> </div> </div> <div class="ui pointing dropdown link item" ng-show="$ctrl.userObj.roleID == 2 || $ctrl.userObj.roleID == 1"> <i class="tasks icon"></i> <span class="text">Person in Charges</span> <i class="dropdown icon"></i> <div class="menu"> <a class="item" href="./#/private/senarai-permohonan" ng-click="$ctrl.clearHistorySearching();"><i class="circle outline icon" ng-class="{\'check\':$ctrl.$location.path() === \'/private/senarai-permohonan\'}"></i> Senarai Pemohonan</a> <div class="divider" ng-show="$ctrl.userObj.roleID == 2"></div> <div class="header" ng-show="$ctrl.userObj.roleID == 2">Selenggara</div> <a class="item" href="./#/private/person-incharge/senarai-pegawai" ng-show="$ctrl.userObj.roleID == 2"><i class="circle outline icon" ng-class="{\'check\':$ctrl.$location.path() === \'/private/person-incharge/senarai-pegawai\'}"></i> Senarai Pegawai yang ditugaskan</a> </div> </div> <div class="ui pointing dropdown link item"> <i class="user circle icon"></i> <span class="text text-capitalize truncate">{{$ctrl.userObj.fullname}}</span> <i class="dropdown icon"></i> <div class="menu"> <a class="item" href="./#/private/profil"><i class="circle outline icon" ng-class="{\'check\':$ctrl.$location.path() === \'/private/profil\'}"></i> Profil</a> <div class="divider"></div> <a class="item" href="./#/logout"> <i class="sign-out icon"></i> Log Keluar </a> </div> </div> <!-- <div class="right menu">\r\n        <a class="item" href="./#/logout">\r\n            <i class="sign-out icon"></i> Sign Out\r\n        </a>\r\n    </div> --> </div>'),a.put("views/temujanji.html",'<!DOCTYPE html> <front-page get-info="$ctrl.websiteInfo" ng-if="$ctrl.$location.path() === \'/\'"></front-page> <div ng-if="$ctrl.$location.path() !== \'/\'"> <nav class="navbar navbar-dark fixed-top navbar-top-background"> <a class="navbar-brand" href="./#/borang-permohonan" ng-click="$ctrl.reload();" style="vertical-align:middle"> <i class="icons" style="color: #ffffffea;font-size: 50px;text-shadow: -1px -1px 1px rgba(255,255,255,.1), 1px 1px 1px rgba(0,0,0,.5)"> <i class="jlm logo icon" style="margin-top:-7px"></i> <!-- <i class="inverted corner check icon"></i> --> </i> <div class="text-title-website">{{$ctrl.websiteInfo.website_name}}</div> <!-- <img src="./images/logo.d3f54b93.png" style="height: 75px;margin-top: -15px;" /> --> </a> </nav> <div style="margin-top:50px"> <main class="page-content"> <div class="container-fluid"> <div class="row"> <div class="col-md-12"> <div class="ui basic segment"> <sidebar-menu last-update="$ctrl.navibarLastUpd[0]"></sidebar-menu> <div style="margin-top:40px;margin-bottom:20px" ng-view=""> </div> <br> <div class="ui divider hidden-print"></div> <div class="ui celled horizontal list link hidden-print"> <a href="./#/borang-permohonan" class="item">{{"TEXT_31" | translate}}</a> <a href="./#/semak" class="item">{{"TEXT_32" | translate}}</a> </div> <div class="text-center hidden-print" style="font-size: 12px;color:#9e9e9e;border-top: 1px solid #eeeeee; margin-top:10px;padding-top: 5px"> <p class="item"><b>{{"TEXT_33" | translate}}</b> : {{"TEXT_33_1" | translate}} </p> </div> <div class="ui olive message text-center hidden-print" style="font-size: 12px;color:#757575;margin-top:10px;padding-top: 5px"> <p class="item">{{"TEXT_34" | translate}} </p> </div> <!-- TODO : visible when print slip temujanji--> <!-- <div class="text-center visible-print"\r\n                            style="font-size: 12px;color:#9e9e9e;border-top: 1px solid #eeeeee; margin-top:-8px;padding-top: 5px;">\r\n                            <p class="item"><b>PENAFIAN</b> :\r\n                                Jabatan Laut Malaysia (JLM) tidak bertanggungjawab terhadap sebarang kerugian atau\r\n                                kehilangan yang disebabkan oleh penggunaan mana-mana maklumat yang diperolehi dari laman\r\n                                web ini serta tidak boleh ditafsirkan sebagai ejen kepada, ataupun syarikat yang\r\n                                disyorkan oleh Jabatan Laut Malaysia.\r\n                            </p>\r\n                        </div> --> </div> </div> </div> </div> </main> </div> </div> <style>.float {\r\n        position: fixed;\r\n        width: 55px;\r\n        /* height: 30px; */\r\n        top: 5px;\r\n        right: 20px;\r\n        background-color: var(--primary-color);\r\n        color: #FFF;\r\n        border-radius: 5px;\r\n        text-align: center;\r\n        /* box-shadow: 2px 2px 3px #999; */\r\n        padding-left: 7px;\r\n        z-index: 999999;\r\n    }\r\n\r\n    .not-active-div {\r\n        pointer-events: none;\r\n        cursor: default;\r\n        text-decoration: none;\r\n        color: #FFF;\r\n        opacity: 0.5;\r\n    }</style> <div class="float hidden-print" ng-class="{\'not-active-div\': $ctrl.btnDisabledEn===true}" title="English" style="cursor: pointer" ng-click="$ctrl.changeLanguage(\'en\')" ng-if="$ctrl.$location.path() === \'/\' || $ctrl.$location.path() === \'/borang-permohonan\' || $ctrl.$location.path() === \'/semak\' || $ctrl.$location.path() === \'/maklum-balas\'"> <i class="gb uk flag"></i><span class="small">EN&nbsp;</span> </div> <div class="float hidden-print" ng-class="{\'not-active-div\': $ctrl.btnDisabledMy===true}" style="right: 78px;cursor: pointer" title="Malay" ng-click="$ctrl.changeLanguage(\'my\')" ng-if="$ctrl.$location.path() === \'/\' || $ctrl.$location.path() === \'/borang-permohonan\' || $ctrl.$location.path() === \'/semak\' || $ctrl.$location.path() === \'/maklum-balas\'"> <i class="my flag"></i><span class="small">MY&nbsp;</span> </div>'),a.put("views/tukar-password.html",'<form name="passwordForm" ng-submit="$ctrl.save();" method="post" autocomplete="off" autocomplete="false"> <div class="ui segments"> <!-- <div class="ui secondary segment">\n            <p>Tukar Password</p>\n        </div> --> <div class="ui segment"> <div class="ui equal width form"> <!-- <div class="field"> --> <div class="fields"> <div class="required field"> <label>Katalaluan Baru</label> <!-- <input name="newpassword" placeholder="New Password" type="password"\n                                ng-model="$ctrl.daftarObj.newpassword" required /> --> <div class="ui icon input"> <input type="{{$ctrl.inputType}}" name="newpassword" placeholder="Katalaluan Baru" ng-model="$ctrl.daftarObj.newpassword" required ng-pattern="/^(?=.*\\d)(?=.*[@#\\-_$%^&+=.!\\?])(?=.*[a-z])(?=.*[A-Z])[0-9A-Za-z@#\\-_$%^&+=.!\\?]{8,}$/"> <i class="eye link icon" ng-class="{\'eye\' : $ctrl.inputType == \'password\',\'eye slash\' : $ctrl.inputType == \'text\'}" ng-click="$ctrl.hideShowPassword(1)"></i> </div> <div class="ui pointing red basic label fluid" ng-show="passwordForm.newpassword.$error.pattern" style="text-align:left"> <ul> <li>Minima lapan (8) aksara</li> <li>Minima satu (1) aksara kecil</li> <li>Minima satu (1) aksara besar</li> <li>Minima satu (1) nombor</li> <li>Minima satu (1) simbol : @#-_$%^&+=.!?</li> </ul> </div> </div> <div class="required field"> <label>Sahkan Katalaluan</label> <input name="verifyPassword" placeholder="Sahkan Katalaluan" type="{{$ctrl.inputType}}" ng-model="$ctrl.daftarObj.verifyPassword" required> <div class="ui pointing red basic label fluid" ng-show="($ctrl.daftarObj.verifyPassword && $ctrl.daftarObj.newpassword) != $ctrl.daftarObj.verifyPassword"> Sahkan Kata Laluan mestilah sama dengan Kata Laluan Baru </div> </div> </div> <div class="fields"> <div class="required field"> <label>Katalaluan Lama</label> <!-- <input name="newpassword" placeholder="New Password" type="password"\n                                ng-model="$ctrl.daftarObj.newpassword" required /> --> <div class="ui icon input"> <input type="{{$ctrl.inputType2}}" name="oldpassword" placeholder="Katalaluan Lama" ng-model="$ctrl.daftarObj.oldpassword" required> <i class="eye link icon" ng-class="{\'eye\' : $ctrl.inputType2 == \'password\',\'eye slash\' : $ctrl.inputType2 == \'text\'}" ng-click="$ctrl.hideShowPassword(2)"></i> </div> </div> <div class="field"> <!-- <label>Sahkan Katalaluan</label> --> &nbsp; </div> </div> <!-- </div> --> </div> </div> </div> <br> <button class="ui primary-custom right labeled icon button" ng-class="{\'loading\': $ctrl.isLoading}" ng-disabled="passwordForm.$invalid || !passwordForm.$dirty ||\n        $ctrl.isLoading || ($ctrl.daftarObj.newpassword != $ctrl.daftarObj.verifyPassword)" type="submit"> <i class="right save icon"></i> Simpan </button> </form> <preloader ng-if="$ctrl.isLoading"></preloader> <!-- <div class="ui success message message-custom" ng-if="$ctrl.AlertMessage">\n    <p><i class="thumbs up icon"></i> Kemaskini Berjaya.</p>\n</div> -->')}]);