{"version":3,"sources":["../js/services/admin/modalMessageService.js","../js/controllers/main/displayModalMessageController.js"],"names":["SUGApp","service","util","$filter","userService","$location","$window","today","Date","startdate","getFullYear","getMonth","getDate","enddate","searchSettings","startDate","endDate","formattedStartDate","formattedEndDate","filterBy","sortBy","sortReverse","activeTrue","activeFalse","showArchived","validationFail","validationError","pageSettings","currentPage","maxSize","totalItems","numPerPage","pageTitle","userPermissions","i","permissionsArray","permissions","split","join","lowerCaseKeys","membertype","value","label","priority","mediatype","linktype","id","messageDefaults","dt","messageDefault","randomtotal","starttime","endtime","messagepriority","displaypage","mediafile","mediaalttag","bodytext","buttontext","showto","videolink","messageratio1","messageratio2","displayonce","displaydelay","active","messagebody","mediasize","modalmaxsize","openinnewwindow","goToLocation","event","scrollTo","path","clickMeterLinksHardcoded","MESSAGE","CODE","SUCCESS","DATA","success","datapoints","determineModalMessageToDisplay","data","APISyncCall","trackModalImpression","downloadModalStats","getMessageList","getModalMessageByID","saveModalMessage","deleteModalMessage","activateModalMessage","archiveModalMessage","unArchiveModalMessage","deactivateModalMessage","uploadImage","getDisplayPages","getModalMessageTypes","getClickMeterDataPoints","errorHandler","errorObj","errMessage","resultErrorHandler","indexOf","location","reload","showMagnificAlert","controller","$scope","SUGUtilities","modalMessageService","$sce","$modal","$timeout","getEpochTime","newDate","getTime","getMilliseconds","sug_memberinfo","getMessageToDisplay","displaypageroute","href","replace","origin","pathname","search","hash","then","result","displayModal","modalMessage","uploadsrc","mediafilewithepoch","epochTime","trustmediafile","trustAsResourceUrl","displayModalMessage","confMsg","titleMsg","open","templateUrl","modalController","resolve","title","confirmation","cancel","ok","response","supportedScreenSize","viewportSize","getWidth","previewMode","$on","$modalInstance","confirmationTitle","confirmationMessage","okBtn","cancelBtn","close","dismiss","filter","htmlCode","trustAsHtml"],"mappings":"AACAA,OAAOC,QAAQ,sBAAuB,CAAC,eAAe,UAAU,cAAc,YAAY,UAAW,SAASC,EAAKC,EAAQC,EAAYC,EAAUC,GAChJ,IAAIC,EAAQ,IAAIC,KACZC,EAAY,IAAID,KAAKD,EAAMG,YAAY,EAAEH,EAAMI,SAAS,EAAEJ,EAAMK,QAAQ,EAAE,EAAE,EAC5EC,EAAU,IAAIL,KAAKD,EAAMG,YAAY,EAAEH,EAAMI,SAAS,EAAEJ,EAAMK,QAAQ,EAAE,EAAE,EAE1EX,EAAU,CACba,eAAiB,CAChBC,UAAWN,EACXO,QAASH,EACTI,mBAAoBd,EAAQ,MAAM,EAAEM,EAAW,YAAY,EAC3DS,iBAAkBf,EAAQ,MAAM,EAAEU,EAAS,YAAY,EAEvDM,SAAU,GACVC,OAAQ,YACRC,YAAa,CAAA,EACbC,WAAY,CAAA,EACZC,YAAa,CAAA,EACbC,aAAc,CAAA,EACdC,eAAgB,GAChBC,gBAAiB,EAClB,EACAC,aAAe,CACdC,YAAa,EACbC,QAAS,GACTC,WAAY,EACZC,WAAY,EACb,EAGDC,UAAoB,WACnB,MAAO,0BACR,EAEAC,gBAA0B,WACzB,IAGSC,EAFLC,EADc/B,EAAYgC,YACKC,MAAM,GAAG,EACxCJ,EAAkB,GACtB,IAASC,KAAKC,EACbF,EAAgBE,EAAiBD,GAAGG,MAAM,GAAG,EAAEC,KAAK,GAAG,GAAK,CAAA,EAG7D,OAAOpC,EAAKqC,cAAcN,CAAe,CAC1C,EAEA1B,MAAgB,WAEf,OADU,IAAIC,IAEf,EAEAgC,WAAqB,WACpB,MAAO,CACL,CAAEC,MAAO,MAAOC,MAAO,WAAY,EACnC,CAAED,MAAO,OAAQC,MAAO,YAAa,EACrC,CAAED,MAAO,UAAWC,MAAO,gBAAiB,EAC5C,CAAED,MAAO,WAAYC,MAAO,gBAAiB,EAC7C,CAAED,MAAO,cAAeC,MAAO,oBAAqB,EACpD,CAAED,MAAO,QAASC,MAAO,aAAc,EAY1C,EACAC,SAAmB,WAClB,MAAO,CAAE,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GACrC,EAEAC,UAAoB,WACnB,MAAO,CACL,CAAEH,MAAO,QAASC,MAAO,OAAQ,EACjC,CAAED,MAAO,QAASC,MAAO,eAAgB,EACzC,CAAED,MAAO,OAAQC,MAAO,MAAO,EAElC,EAEAG,SAAmB,WAClB,MAAO,CACN,CAAEC,GAAI,EAAGJ,MAAO,OAAQ,EACxB,CAAEI,GAAI,EAAGJ,MAAO,aAAc,EAEhC,EAEAK,gBAA0B,SAASC,GAClC,IAAIC,EAAkB,CACtBH,GAAoB,EACpBI,YAA6B,CAFN,EA0BvB,OAvBAD,EAAexC,UAAYuC,EAC3BC,EAAeE,UAAY,QAC3BF,EAAeG,QAAU,QACzBH,EAAeI,gBAAmB,EAClCJ,EAAeK,YAAc,CAAC,GAC9BL,EAAeL,UAAY,QAC3BK,EAAeM,UAAY,GAC3BN,EAAeO,YAAc,GAC7BP,EAAeQ,SAAW,GAC1BR,EAAeS,WAAa,aAC5BT,EAAeU,OAAS,MACxBV,EAAeW,UAAY,GAC3BX,EAAeY,cAAgB,EAC/BZ,EAAea,cAAgB,EAC/Bb,EAAec,YAAc,EAC7Bd,EAAee,aAAe,EAC9Bf,EAAegB,OAAS,EACxBhB,EAAeiB,YAAc,GAC7BjB,EAAekB,UAAY,IAC3BlB,EAAemB,aAAenB,EAAekB,UAAY,GACzDlB,EAAeJ,SAAW,EAC1BI,EAAeoB,gBAAkB,CAAA,EAE1BpB,CACR,EAIAqB,aAAuB,SAASC,GAE/BC,SAAS,EAAG,CAAC,EACbnE,EAAUoE,KAAKF,CAAK,CACrB,EAEAG,yBAAmC,WAClC,MAAO,CACNC,QAAW,GACXC,KAAQ,GACRC,QAAW,CAAA,EACXC,KAAQ,CACPC,QAAW,CAAA,EACXC,WAAc,EACf,CACD,CACD,EACAC,+BAAyC,SAASC,GACjD,OAAOhF,EAAKiF,YAAa,OAAQ,GAAID,EAAM,mCAAoC,IAAM,CACtF,EAEAE,qBAA+B,SAASF,GACvC,OAAOhF,EAAKiF,YAAa,OAAQ,GAAID,EAAM,yBAA0B,IAAM,CAC5E,EAEAG,mBAA6B,SAASH,GACrC,OAAOhF,EAAKiF,YAAa,OAAQ,GAAID,EAAM,uBAAwB,GAAO,CAC3E,EAEAI,eAAyB,SAASJ,GACjC,OAAOhF,EAAKiF,YAAa,OAAQ,GAAID,EAAM,wBAAyB,IAAM,CAC3E,EAEAK,oBAA8B,SAASL,GACtC,OAAOhF,EAAKiF,YAAa,OAAQ,GAAID,EAAM,wBAAyB,IAAM,CAC3E,EAEAM,iBAA2B,SAASN,GACnC,OAAOhF,EAAKiF,YAAa,OAAQ,GAAID,EAAM,qBAAsB,IAAM,CACxE,EAEAO,mBAA6B,SAASP,GACrC,OAAOhF,EAAKiF,YAAa,OAAQ,GAAID,EAAM,uBAAwB,IAAM,CAC1E,EAEAQ,qBAA+B,SAASR,GACvC,OAAOhF,EAAKiF,YAAa,OAAQ,GAAID,EAAM,yBAA0B,IAAM,CAC5E,EAEAS,oBAA8B,SAAST,GACtC,OAAOhF,EAAKiF,YAAa,OAAQ,GAAID,EAAM,wBAAyB,IAAM,CAC3E,EAEAU,sBAAgC,SAASV,GACxC,OAAOhF,EAAKiF,YAAa,OAAQ,GAAID,EAAM,0BAA2B,IAAM,CAC7E,EAEAW,uBAAiC,SAASX,GACzC,OAAOhF,EAAKiF,YAAa,OAAQ,GAAID,EAAM,2BAA4B,IAAM,CAC9E,EAEAY,YAAsB,SAASZ,GAC9B,OAAOhF,EAAKiF,YAAa,OAAQ,GAAID,EAAM,gBAAiB,IAAM,CACnE,EAEAa,gBAA0B,SAASb,GAClC,OAAOhF,EAAKiF,YAAa,OAAQ,GAAID,EAAM,oBAAqB,IAAM,CACvE,EAECc,qBAA+B,SAASd,GACtC,OAAOhF,EAAKiF,YAAa,OAAQ,GAAID,EAAM,yBAA0B,IAAM,CAC7E,EAEAe,wBAAkC,SAASf,GACzC,OAAOhF,EAAKiF,YAAa,OAAQ,GAAID,EAAM,4BAA6B,IAAM,CAChF,EAGAgB,aAAuB,SAAUC,GAChC,IAAIC,EAAalG,EAAKmG,mBAAmBF,CAAQ,EACoC,GAAjFC,EAAWE,QAAQ,yDAAyD,GAK5EH,EAASvB,MAA0B,OAAlBuB,EAASvB,KAC7BtE,EAAQiG,SAASC,OAAO,EAGxBtG,EAAKuG,kBAAkBL,EAAY,QAAS,GAAI,QAAQ,CAE1D,CAxLD,EA0LA,OAAOnG,CAGR,EAAE;ACzNFD,OAAO0G,WAAW,gCAAiC,CAAC,SAAS,eAAe,sBAAuB,UAAW,YAAa,OAAQ,SAAU,UAAW,WACvJ,SAASC,EAAQC,EAAcC,EAAqB1G,EAASE,EAAWyG,EAAMC,EAAQzG,EAAS0G,GAE/FL,EAAOM,aAAe,WACrB,IAAIC,EAAU,IAAI1G,KAElB,OAAO0G,GADKA,EAAQC,QAAQ,EAAID,EAAQE,gBAAgB,GAAM,GAE/D,EAEAT,EAAOzB,KAAO0B,EAAarE,cAAcjC,EAAQ+G,cAAc,EAE/DV,EAAOW,oBAAsB,WACG,iCAA5BX,EAAOzB,KAAK5B,cAGdqD,EAAOzB,KAAKqC,iBAAmBjH,EAAQiG,SAASiB,KAAKC,QAAQnH,EAAQiG,SAASmB,OAAO,EAAE,EAEhD,KAAA,IAA5BpH,EAAQiG,SAASmB,UAC3Bf,EAAOzB,KAAKqC,iBAAmBjH,EAAQiG,SAASoB,SAAWrH,EAAQiG,SAASqB,OAAStH,EAAQiG,SAASsB,MAGxGhB,EAAoB5B,+BAA+B0B,EAAOzB,IAAI,EAC5D4C,KAAK,SAASC,IACdA,EAASnB,EAAarE,cAAcwF,EAAO7C,IAAI,GAEpCH,SACV4B,EAAOqB,aAAe,CAAA,EACtBrB,EAAOsB,aAAeF,EAAO7C,KAC7ByB,EAAOsB,aAAaC,UAAY,CAAA,EAChCvB,EAAOsB,aAAaE,mBAAqBxB,EAAOsB,aAAa1E,UAAY,MAAQoD,EAAOyB,UACxFzB,EAAOsB,aAAaI,eAAiBvB,EAAKwB,mBAAmB3B,EAAOsB,aAAa1E,SAAS,EAC1FoD,EAAOsB,aAAa7D,aAAeuC,EAAOsB,aAAa9D,UAAY,GAAK,MAExEwC,EAAOqB,aAAe,CAAA,CAExB,CACD,CACD,EAGArB,EAAO4B,oBAAsB,SAAUC,EAASC,EAAUR,GAEhClB,EAAO2B,KAAK,CACpCC,YAAa,yCAAyChC,EAAOyB,UAC7D1B,WAAYkC,EACZC,QAAU,CACTZ,aAAc,WAAY,OAAOtB,EAAOsB,YAAc,EACtDa,MAAO,WAAY,OAAOL,CAAU,EACpCM,aAAc,WAAY,OAAOP,CAAS,EAC1CQ,OAAQ,WAAY,MAAO,QAAU,EACrCC,GAAI,WAAY,MAAO,IAAM,CAC9B,CACD,CAAC,EAEkBlB,OACjBD,KAAM,SAASoB,KAEb,SAASA,IAGX,CACH,EAEA,IAAIC,EAAsB,CAAA,EAoBtBP,GAnBuB,aAAxB,OAAOQ,cAAgCA,aAAaC,SAAS,GAAK,MACpEF,EAAsB,CAAA,GAGvBxC,EAAOqB,aAAe,CAAA,EACtBrB,EAAO2C,YAAc,CAAA,EACrB3C,EAAOyB,UAAYzB,EAAOM,aAAa,EACpCkC,GACFxC,EAAOW,oBAAoB,EAI5BX,EAAO4C,IAAI,uBAAuB,WAC9BJ,GACFxC,EAAOW,oBAAoB,CAE7B,CAAC,EAGqB,CAAC,SAAU,iBAAkB,eAAgB,KAAM,SAAU,eAAgB,QAAS,UAC3G,SAAUX,EAAQ6C,EAAgBT,EAAcE,EAAID,EAAQf,EAAca,EAAO3I,GAChFwG,EAAOsB,aAAeA,EACtBtB,EAAO8C,kBAAoBX,EAC3BnC,EAAO+C,oBAAsBX,EAC7BpC,EAAOgD,MAAsB,KAAA,IAAPV,EAAqBA,EAAK,OAChDtC,EAAOiD,UAA8B,KAAA,IAAXZ,EAAyBA,EAAS,SAC5DrC,EAAO2C,YAAc,CAAA,EACrB3C,EAAOsC,GAAK,WACXO,EAAeK,MAAM,CAAA,CAAI,CAC1B,EACAlD,EAAOqC,OAAS,WACfQ,EAAeM,QAAQ,CAAA,CAAK,CAC7B,CACD,GAGF,EAAE,EAEF9J,OAAO+J,OAAO,QAAS,CAAC,OAAQ,SAASjD,GACxC,OAAO,SAASkD,GACf,OAAOlD,EAAKmD,YAAYD,CAAQ,CACjC,CACD,EAAE","file":"marketingmodal.min.js","sourcesContent":["\r\nSUGApp.service('modalMessageService', ['SUGUtilities','$filter','userService','$location','$window', function(util,$filter,userService,$location,$window){\r\n\tvar today = new Date();\r\n\tvar startdate = new Date(today.getFullYear(),today.getMonth(),today.getDate()-30);\r\n\tvar enddate = new Date(today.getFullYear(),today.getMonth(),today.getDate()+30);\r\n\r\n\tvar service = {\r\n\t\tsearchSettings : {\r\n\t\t\tstartDate: startdate,\r\n\t\t\tendDate: enddate,\r\n\t\t\tformattedStartDate: $filter('date')(startdate, 'yyyy-MM-dd'),\r\n\t\t\tformattedEndDate: $filter('date')(enddate, 'yyyy-MM-dd'),\r\n\r\n\t\t\tfilterBy: '',\r\n\t\t\tsortBy: \"startdate\",\r\n\t\t\tsortReverse: false,\r\n\t\t\tactiveTrue: true,\r\n\t\t\tactiveFalse: true,\r\n\t\t\tshowArchived: false,\r\n\t\t\tvalidationFail: '',\r\n\t\t\tvalidationError: ''\r\n\t\t},\r\n\t\tpageSettings : {\r\n\t\t\tcurrentPage: 1,\r\n\t\t\tmaxSize: 15,\r\n\t\t\ttotalItems: 0,\r\n\t\t\tnumPerPage: 20\r\n\t\t}\r\n\t};\r\n\r\n\tservice.pageTitle = function() {\r\n\t\treturn 'Modal Message Management';\r\n\t};\r\n\r\n\tservice.userPermissions = function() {\r\n\t\tvar permissions = userService.permissions;\r\n\t\tvar permissionsArray = permissions.split(\",\");\r\n\t\tvar userPermissions = {};\r\n\t\tfor (var i in permissionsArray) {\r\n\t\t\tuserPermissions[permissionsArray[i].split(' ').join('_')] = true;\r\n\t\t}\r\n\r\n\t\treturn util.lowerCaseKeys(userPermissions);\r\n\t};\r\n\r\n\tservice.today = function() {\r\n\t\tvar dt = new Date();\r\n\t\treturn dt;\r\n\t};\r\n\r\n\tservice.membertype = function(){\r\n\t\treturn [\r\n\t\t\t\t{ value: 'all', label: 'All Users' },\r\n\t\t\t\t{ value: 'paid', label: 'Paid Users' },\r\n\t\t\t\t{ value: 'nonpaid', label: 'Non-Paid Users' },\t\t\t\t\t\t\t\t\r\n\t\t\t\t{ value: 'payments', label: 'Payments Users' },\r\n\t\t\t\t{ value: 'nonpayments', label: 'Non-Payments Users' },\r\n\t\t\t\t{ value: 'trial', label: 'Trial Users' }\r\n/* Removed for now because marketing doesn't need them.\r\n\t\t\t\t,\r\n\t\t\t\t{ value: 'basic', label: 'Basic Users' },\r\n \t\t\t\t{ value: 'trial', label: 'Trial Users' },\r\n\t\t\t\t{ value: 'firsttime', label: 'First Time Users' },\r\n \t\t\t\t{ value: 'silver', label: 'Silver Users' },\r\n \t\t\t\t{ value: 'gold', label: 'Gold Users' },\r\n \t\t\t\t{ value: 'platinum', label: 'Platinum Users' },\r\n\t\t\t\t{ value: 'enterprise', label: 'Enterprise Users' }\r\n*/\t\t\t\r\n\t\t\t];\r\n\t};\r\n\tservice.priority = function(){\r\n\t\treturn [ 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 ];\r\n\t};\r\n\r\n\tservice.mediatype = function(){\r\n\t\treturn [\r\n\t\t\t\t{ value: 'image', label: 'Image' },\r\n\t\t\t\t{ value: 'video', label: 'Video (Vimeo)' },\r\n\t\t\t\t{ value: 'text', label: 'Text' }\r\n\t\t\t];\r\n\t};\r\n\r\n\tservice.linktype = function(){\r\n\t\treturn [\r\n\t\t\t{ id: 1, label: 'Basic' },\r\n\t\t\t{ id: 2, label: 'Click Meter' }\r\n\t\t];\r\n\t};\r\n\r\n\tservice.messageDefaults = function(dt){\r\n\t\tvar messageDefault = {};\r\n\t\tmessageDefault.id = 0;\r\n\t\tmessageDefault.randomtotal = 0;\r\n\t\tmessageDefault.startdate = dt;\r\n\t\tmessageDefault.starttime = \"00:00\";\r\n\t\tmessageDefault.endtime = \"23:59\";\r\n\t\tmessageDefault.messagepriority = 1;\r\n\t\tmessageDefault.displaypage = [1]; // **** TO DO ?: May need to update this to populate dynamically\r\n\t\tmessageDefault.mediatype = 'image';\r\n\t\tmessageDefault.mediafile = '';\r\n\t\tmessageDefault.mediaalttag = '';\r\n\t\tmessageDefault.bodytext = '';\r\n\t\tmessageDefault.buttontext = 'Learn More';\r\n\t\tmessageDefault.showto = 'all';\r\n\t\tmessageDefault.videolink = '';\r\n\t\tmessageDefault.messageratio1 = 1;\r\n\t\tmessageDefault.messageratio2 = 1;\r\n\t\tmessageDefault.displayonce = 0;\r\n\t\tmessageDefault.displaydelay = 1;\r\n\t\tmessageDefault.active = 0;\r\n\t\tmessageDefault.messagebody = '';\r\n\t\tmessageDefault.mediasize = 610;\r\n\t\tmessageDefault.modalmaxsize = messageDefault.mediasize + 80;\r\n\t\tmessageDefault.linktype = 2;\r\n\t\tmessageDefault.openinnewwindow = true;\r\n\r\n\t\treturn messageDefault;\r\n\t};\r\n\r\n\r\n\t//Goto location subtroutine\r\n\tservice.goToLocation = function(event) {\r\n\t\t//scroll to the top of the page\r\n\t\tscrollTo(0, 0);\r\n\t\t$location.path(event);\r\n\t};\r\n\r\n\tservice.clickMeterLinksHardcoded = function() {\r\n\t\treturn {\r\n\t\t\t\"MESSAGE\": \"\",\r\n\t\t\t\"CODE\": \"\",\r\n\t\t\t\"SUCCESS\": true,\r\n\t\t\t\"DATA\": {\r\n\t\t\t\t\"success\": true,\r\n\t\t\t\t\"datapoints\": []\r\n\t\t\t}\r\n\t\t};\r\n\t};\r\n\tservice.determineModalMessageToDisplay = function(data){\r\n\t\treturn util.APISyncCall( \"post\", \"\", data, \"c.determineModalMessageToDisplay\", 15000 );\r\n\t};\r\n\r\n\tservice.trackModalImpression = function(data){\r\n\t\treturn util.APISyncCall( \"post\", \"\", data, \"c.trackModalImpression\", 15000 );\r\n\t};\r\n\r\n\tservice.downloadModalStats = function(data){\r\n\t\treturn util.APISyncCall( \"post\", \"\", data, \"a.downloadModalStats\", 300000 );\r\n\t};\r\n\r\n\tservice.getMessageList = function(data){\r\n\t\treturn util.APISyncCall( \"post\", \"\", data, \"a.getModalMessageList\", 15000 );\r\n\t};\r\n\r\n\tservice.getModalMessageByID = function(data){\r\n\t\treturn util.APISyncCall( \"post\", \"\", data, \"a.getModalMessageByID\", 15000 );\r\n\t};\r\n\r\n\tservice.saveModalMessage = function(data){\r\n\t\treturn util.APISyncCall( \"post\", \"\", data, \"a.saveModalMessage\", 15000 );\r\n\t};\r\n\r\n\tservice.deleteModalMessage = function(data){\r\n\t\treturn util.APISyncCall( \"post\", \"\", data, \"a.deleteModalMessage\", 15000 );\r\n\t};\r\n\r\n\tservice.activateModalMessage = function(data){\r\n\t\treturn util.APISyncCall( \"post\", \"\", data, \"a.activateModalMessage\", 15000 );\r\n\t};\r\n\r\n\tservice.archiveModalMessage = function(data){\r\n\t\treturn util.APISyncCall( \"post\", \"\", data, \"a.archiveModalMessage\", 15000 );\r\n\t};\r\n\r\n\tservice.unArchiveModalMessage = function(data){\r\n\t\treturn util.APISyncCall( \"post\", \"\", data, \"a.unArchiveModalMessage\", 15000 );\r\n\t};\r\n\r\n\tservice.deactivateModalMessage = function(data){\r\n\t\treturn util.APISyncCall( \"post\", \"\", data, \"a.deactivateModalMessage\", 15000 );\r\n\t};\r\n\r\n\tservice.uploadImage = function(data){\r\n\t\treturn util.APISyncCall( \"post\", \"\", data, \"a.uploadImage\", 15000 );\r\n\t};\r\n\r\n\tservice.getDisplayPages = function(data){\r\n\t\treturn util.APISyncCall( \"post\", \"\", data, \"a.getDisplayPages\", 15000 );\r\n\t};\r\n\r\n\t service.getModalMessageTypes = function(data){\r\n\t\t\t\treturn util.APISyncCall( \"post\", \"\", data, \"a.getModalMessageTypes\", 15000 );\r\n\t };\r\n\r\n\t service.getClickMeterDataPoints = function(data){\r\n\t\t\t\treturn util.APISyncCall( \"post\", \"\", data, \"a.allClickMeterDataPoints\", 15000 );\r\n\t };\r\n\r\n\t // use this for displaying an error modal\r\n\t service.errorHandler = function (errorObj) {\r\n\t\t var errMessage = util.resultErrorHandler(errorObj);\r\n\t\t if (errMessage.indexOf('Make sure you are logged in and have an active session.') >= 0) {\r\n\t\t\t $window.location.reload();\r\n\t\t\t return;\r\n\t\t }\r\n\t\t // no longer logged in\r\n\t\t if (errorObj.CODE && errorObj.CODE === 1002) {\r\n\t\t\t $window.location.reload();\r\n\t\t\t return;\r\n\t\t } else {\r\n\t\t\t util.showMagnificAlert(errMessage, 'error', '', 'Sorry!');\r\n\t\t }\r\n\t };\r\n\r\n\treturn service;\r\n\r\n\r\n}]);\r\n","SUGApp.controller('modalMessageDisplayController', ['$scope','SUGUtilities','modalMessageService', '$filter', '$location', '$sce', '$modal', '$window', '$timeout',\r\n\tfunction($scope, SUGUtilities, modalMessageService, $filter, $location, $sce, $modal, $window, $timeout){\r\n\r\n\t$scope.getEpochTime = function() {\r\n\t\tvar newDate = new Date();\r\n\t\tnewDate = ( newDate.getTime() - newDate.getMilliseconds() ) / 1000;\r\n\t\treturn newDate;\r\n\t};\r\n\r\n\t$scope.data = SUGUtilities.lowerCaseKeys($window.sug_memberinfo);\r\n\r\n\t$scope.getMessageToDisplay = function() {\r\n\t\tif($scope.data.displaypage === '/index.cfm?go=w.manageSignUp'){\r\n\t\t\t// for regex path matching to work across routes we need to report the entire path\r\n\t\t\t// for now, enabled for the new wizard only\r\n\t\t\t$scope.data.displaypageroute = $window.location.href.replace($window.location.origin,'');\r\n\t\t\t// needed for IE10\r\n\t\t\tif( typeof $window.location.origin === 'undefined' ){\r\n\t\t\t\t$scope.data.displaypageroute = $window.location.pathname + $window.location.search + $window.location.hash;\r\n\t\t\t}\r\n\t\t}\r\n\t\tmodalMessageService.determineModalMessageToDisplay($scope.data)\r\n\t\t\t.then(function(result){\r\n\t\t\t\tresult = SUGUtilities.lowerCaseKeys(result.data);\r\n\r\n\t\t\t\tif (result.success){\r\n\t\t\t\t\t$scope.displayModal = true;\r\n\t\t\t\t\t$scope.modalMessage = result.data;\r\n\t\t\t\t\t$scope.modalMessage.uploadsrc = false;\r\n\t\t\t\t\t$scope.modalMessage.mediafilewithepoch = $scope.modalMessage.mediafile + '?v=' + $scope.epochTime;\r\n\t\t\t\t\t$scope.modalMessage.trustmediafile = $sce.trustAsResourceUrl($scope.modalMessage.mediafile);\r\n\t\t\t\t\t$scope.modalMessage.modalmaxsize = $scope.modalMessage.mediasize + 80 + 'px';\r\n\t\t\t\t} else {\r\n\t\t\t\t\t$scope.displayModal = false;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t);\r\n\t};\r\n\r\n\t/* Alert Window Controller */\r\n\t$scope.displayModalMessage = function( confMsg, titleMsg, modalMessage ){\r\n\r\n\t\tvar displayModalWindow = $modal.open({\r\n\t\t\ttemplateUrl: '/view/templates/marketingmodal.html?v='+$scope.epochTime,\r\n\t\t\tcontroller: modalController,\r\n\t\t\tresolve : {\r\n\t\t\t\tmodalMessage: function(){ return $scope.modalMessage; },\r\n\t\t\t\ttitle: function(){ return titleMsg; },\r\n\t\t\t\tconfirmation: function(){ return confMsg; },\r\n\t\t\t\tcancel: function(){ return 'Cancel'; },\r\n\t\t\t\tok: function(){ return 'Ok'; }\r\n\t\t\t}\r\n\t\t});\r\n\r\n\t\tdisplayModalWindow.result\r\n\t\t\t.then( function(response){\r\n\t\t\t\t//do nothing\r\n\t\t\t}, function(response){\r\n\t\t\t\t//Don't do anything\r\n\t\t\t\t//Cancel\r\n\t\t\t});\r\n\t};\r\n\r\n\tvar supportedScreenSize = true;\r\n\tif(typeof viewportSize !== 'undefined' && viewportSize.getWidth() <= 991){\r\n\t\tsupportedScreenSize = false;\r\n\t}\r\n\r\n\t$scope.displayModal = false;\r\n\t$scope.previewMode = false;\r\n\t$scope.epochTime = $scope.getEpochTime();\r\n\tif(supportedScreenSize){\r\n\t\t$scope.getMessageToDisplay();\r\n\t}\r\n\r\n\t// trigger an on-demand check for modal messages (useful for route based modals on route change)\r\n\t$scope.$on('checkForModalMessage',function(){\r\n\t\tif(supportedScreenSize){\r\n\t\t\t$scope.getMessageToDisplay();\r\n\t\t}\r\n\t});\r\n\r\n\t/* Modal Controller */\r\n\tvar modalController = ['$scope', '$modalInstance', 'confirmation', 'ok', 'cancel', 'modalMessage', 'title', '$filter',\r\n\t\tfunction ($scope, $modalInstance, confirmation, ok, cancel, modalMessage, title, $filter) {\r\n\t\t\t$scope.modalMessage = modalMessage;\r\n\t\t\t$scope.confirmationTitle = title;\r\n\t\t\t$scope.confirmationMessage = confirmation;\r\n\t\t\t$scope.okBtn = typeof ok !== 'undefined' ? ok : 'Okay';\r\n\t\t\t$scope.cancelBtn = typeof cancel !== 'undefined' ? cancel : 'Cancel';\r\n\t\t\t$scope.previewMode = false;\r\n\t\t\t$scope.ok = function () {\r\n\t\t\t\t$modalInstance.close(true);\r\n\t\t\t};\r\n\t\t\t$scope.cancel = function () {\r\n\t\t\t\t$modalInstance.dismiss(false);\r\n\t\t\t};\r\n\t\t}\r\n\t];\r\n\r\n}]);\r\n\r\nSUGApp.filter(\"trust\", ['$sce', function($sce) {\r\n\treturn function(htmlCode){\r\n\t\treturn $sce.trustAsHtml(htmlCode);\r\n\t};\r\n}]);\r\n"]}