{"version":3,"file":"js/offerDetail.bundle.js","mappings":"yMAAA,gBAEA,mCACI,MAAMA,EAA0B,6CAC1BC,EAAuB,2CAE7BC,EAAED,GAAsBE,IAAI,UAAUC,GAAG,UAAWC,IAClD,MAAMC,EAAaJ,EAAED,GAAsB,GAAGK,YAAc,GAC1CJ,EAAED,GAAsB,GAAGM,aAAe,IACrCL,EAAED,GAAsBO,cAAgB,IAE7BF,EAChCJ,EAAEF,GACCS,KAAK,iEACLC,OACkB,GAAdJ,EACPJ,EAAEF,GACCS,KAAK,gEACLC,OAEHR,EAAEF,GACCS,KAAK,+BACLE,IAAI,CAAEC,QAAS,QAAS,IAG/BV,EACE,gFAEGC,IAAI,SACJC,GAAG,SAAUC,IACVA,EAAGQ,kBACH,IAAAC,oBAAmBb,EAAsB,IAAI,IAErDC,EACE,+EAEGC,IAAI,SACJC,GAAG,SAAUC,IACVA,EAAGQ,kBACH,IAAAE,mBAAkBd,EAAsB,IAAI,GAExD,C,uGCzCA,gBAIE,WAAAe,CAAYC,GACVC,KAAKD,QAAUf,EAAEe,GACjB,MAAME,EAA6BD,KAAKE,WACxCF,KAAKG,WAAaF,EAAMG,QACxBH,EAAMI,IAAIL,KAAKG,YAAYX,MAC7B,CAEA,SAAIc,GACF,OAAON,KAAKE,WAAWI,MAAMN,KAAKG,WACpC,CAEA,UAAII,GACF,OAAOP,KAAKE,WAAWK,MACzB,CAEA,IAAAC,GACER,KAAKS,WAAWT,KAAKM,MAAQ,EAC/B,CAEA,IAAAI,GACEV,KAAKS,WAAWT,KAAKM,MAAQ,EAC/B,CAEA,OAAAK,CAAQC,GACNZ,KAAKS,WAAWG,EAClB,CAEQ,QAAAV,GACN,OAAOlB,EAAE,gBAAiBgB,KAAKD,QACjC,CAEQ,UAAAU,CAAWH,GACjB,MAAML,EAA6BD,KAAKE,WAExC,GAAqB,IAAjBD,EAAMM,OACR,OAGED,EAAQ,IACVA,EAAQ,GAGNA,GAASL,EAAMM,SACjBD,EAAQL,EAAMM,OAAS,GAGzB,MAAMK,EAAgCX,EAAMY,IAAIP,GAEhDN,KAAKD,QAAQe,QAAQ,KAAK,KACD,MAAnBd,KAAKG,YACPH,KAAKG,WAAWX,OAGdoB,IACFZ,KAAKG,WAAanB,EAAE4B,GACpBZ,KAAKG,WAAWY,OAAOC,QAAQ,QAC/BhB,KAAKD,QAAQkB,OAAO,K,GAG1B,E,mgBCtCFjC,GAAE,KACA,EAAAkC,iBAAmBlC,EAAE,oBAAoBmC,KAAK,yBAC9C,EAAAC,kBAAoBpC,EAAE,oBAAoBmC,KAAK,0BAC/C,EAAAE,iBAAmBrC,EAAE,oBAAoBmC,KAAK,yBAC9C,EAAAG,eAAiBtC,EAAE,oBAAoBmC,KAAK,uBAC5C,EAAAI,QAAUvC,EAAE,oBAAoBmC,KAAK,gBACrC,EAAAK,UAAYxC,EAAE,oBAAoBmC,KAAK,kBACvC,EAAAM,QAAUzC,EAAE,oBAAoBmC,KAAK,gBACrC,EAAAO,UAAY1C,EAAE,oBAAoBmC,KAAK,kBACvC,EAAAQ,OAAS3C,EAAE,oBAAoBmC,KAAK,eACpC,EAAAS,MAAQ5C,EAAE,oBAAoBmC,KAAK,cACnC,EAAAU,KAAO7C,EAAE,oBAAoBmC,KAAK,aAClC,EAAAW,UAAY9C,EAAE,oBAAoBmC,KAAK,kBACvC,EAAAY,UAAY/C,EAAE,oBAAoBmC,KAAK,kBACvC,EAAAa,mBAAqBhD,EAAE,oBAAoBmC,KAAK,2BAChD,EAAAc,mBAAqBjD,EAAE,oBAAoBmC,KAAK,2BAChD,EAAAe,eAAiBlD,EAAE,oBAAoBmC,KAAK,uBAC5C,EAAAgB,YAAcnD,EAAE,oBAAoBmC,KAAK,oBACzC,EAAAiB,cAAgBpD,EAAE,oBAAoBmC,KAAK,sBAC3C,EAAAkB,2BAA6BrD,EAAE,oBAAoBmC,KACjD,mCAEF,EAAAmB,oBAAsBtD,EAAE,oBAAoBmC,KAAK,4BACjD,EAAAoB,6BAA+BvD,EAAE,oBAAoBmC,KACnD,qCAEF,EAAAqB,kBAAoBxD,EAAE,oBAAoBmC,KAAK,0BAC/C,EAAAsB,2BAA6BzD,EAAE,oBAAoBmC,KACjD,mCAEF,EAAAuB,iCAAmC1D,EAAE,oBAAoBmC,KACvD,wCACA,G,0ICxDJ,gBACA,UACA,UAOA,UAGA,UACA,UAGA,UAGA,SAEMwB,EAA0B,IAAM3D,EAAE,sBAClC4D,EAAyB,IAAM5D,EAAE,qBACjC6D,EAAsB,IAAM7D,EAAE,wBAK9B8D,EAAkB,kBAClBC,EAAqB,qBAiC3BC,eAAeC,IACb,MAAMC,QA2CRF,iBAEE,aADqC,IAAAG,aAEvC,CA9CuCA,GAC/BC,QA+CRJ,iBAEE,aAD2C,IAAAK,gBAE7C,CAlD6CA,GAE3C,IAAIC,EAAqB,GACzBtE,EAAE,GAAG8D,iCAA+CS,OACpDL,EAAQM,SAASC,IACfH,GAAc,8GAA8GG,EAAOC,eAC/HD,EAAOE,wBACL,IAER3E,EAAE,GAAG8D,iCAA+CS,KAAKD,GAEzD,IAAIM,EAAwB,GAC5B5E,EAAE,GAAG+D,iCAAkDQ,OACvDH,EAAWI,SAASK,IAClBD,GAAiB,8GAA8GC,EAAUH,eACrIG,EAAUF,wBACR,IAER3E,EAAE,GAAG+D,iCAAkDQ,KAAKK,GAE5D5E,EAAE,sBAAsB8E,WACH9E,EAAE+E,KAAK/E,EAAE,sBAAsB,GAAI,aAAagF,SAExDC,cAAiBC,IAC5BlF,EAAE,QAASkF,GAAMC,OACCnF,EAAE,sBAAsB8E,WA2B9Cd,iBACEH,IAAsBuB,KAAK,YAAY,GACvC,MAAMX,GAAyC,IAAAY,kBAAiBvB,GAC1De,GAA4C,IAAAQ,kBAAiBtB,GAE7DuB,EADctF,EAAE,sBAAsBuF,iBAChBhF,MAAMiF,GAAkC,WAAnBA,EAAWC,OAI5D,IAFqBhB,EAAOiB,QAAUb,EAAUa,QAAUJ,GAASI,MAKjE,OAFA,IAAAC,UAAS,EAAAvC,cAAe,QAAS,UACjCS,IAAsBuB,KAAK,YAAY,GAIzC,UACQ,IAAAQ,sBAAqBnB,EAAOiB,MAAMG,WAAYC,SAASjB,EAAUa,OAAQJ,EAAQI,QACvF,IAAAC,UAAS,EAAAI,qBAAsB,UAAW,KAC1CC,IACGC,OAAOC,eAAeD,OAAOC,cAAc,uB,CAC9C,MAAOC,IACP,IAAAR,UAAS,EAAAvC,cAAe,QAAS,KACjCS,IAAsBuB,KAAK,YAAY,E,CAE3C,CAlDIgB,EAAe,EAGjB,EAAArF,QAAQS,MACV,CAEAwC,eAAeqC,UACP,IAAAC,uBACHL,OAAOC,eAAeD,OAAOC,cAAc,wBAC9CF,GACF,CAEAhC,eAAegC,KACb,IAAAO,2BACF,CAzEA,oBAAOvC,iBACL,IAEE,aADsC,IAAAwC,oB,CAEtC,MAAML,GAEN,OADA,IAAAM,YAAWN,IACJ,C,CAEX,EAEA,yBAAOnC,iBACLL,IAA0B1D,IAAI,QAASgE,GACvCL,IAAyB3D,IAAI,QAASoG,GACtC1C,IAA0BzD,GAAG,QAAS+D,GACtCL,IAAyB1D,GAAG,QAASmG,IAErC,IAAAK,0BAAyB,mBAAoB,EAAAC,0BAC7C,IAAAD,0BAAyB,mBAAoB,EAAAE,yBAC7C,IAAAF,0BAAyB,mBAAoB,EAAAG,8BAC7C,IAAAC,uBAAsB,mBAAoB,EAAAH,yBAE1C3G,EAAE,yBAAyB+G,KA3BJ/G,EAAE,wBAAwBmC,KAAK,qBA4BtDnC,EAAE,4BAA4B+G,KA3BD/G,EAAE,wBAAwBmC,KAAK,yBA6B5D,IAAA6E,WAAU,mBAAoB,CAAEC,cAAc,EAAMC,cAAc,EAAOC,KAAM,EAAAC,aAAaC,IAE5FpB,OAAOqB,WAAWC,KAAK,CACrBC,MAAO,0BAEX,C,+JC5DA,gBAOA,UAGA,UAOA,UAGA,UAOA,SACA,UACA,UACA,UAGMC,EAAyB,IAAMzH,EAAE,sBACjC0H,EAAyB,IAAM1H,EAAE,qBACjC2H,EAAqB,IAAM3H,EAAE,uBAM7B4H,EAAwB,uBACxBC,EAAiB,iBAmChB7D,eAAe8D,IACpB,GAAoB,OAAhB,EAAAC,YAAsB,CACxB,MAAMC,QA+CVhE,iBAEE,aADiD,IAAAiE,oBAEnD,CAlDqDA,GAEjD,IAAIC,EAA0B,GAC9BlI,EAAE,GAAG4H,iCAAqDrD,OACxDyD,EAAexD,SAAS2D,IACtBD,GAAmB,8GAA8GC,EAAYzD,iBAC3IyD,EAAYxD,0BACV,IAER3E,EAAE,GAAG4H,iCAAqDrD,KAAK2D,GAE/DlI,EAAE,GAAG4H,8BAAkD1H,GAAG,UAAWsH,KACnE,IAAAY,eAAcpI,EAAE,GAAG6H,MACnB,MAAMQ,EAA6Cb,EAAMa,OAEzDC,EADctI,EAAEqI,GAAQlG,KAAK,oBACX,KAGpB,IAAAoG,iBAAgBvI,EAAE6H,KAClB,IAAAO,eAAcpI,EAAE,GAAG6H,K,MAEnBS,EAAY,MACZtI,EAAE4H,GAAuBpH,OAG3BR,EAAE,qBAAqB8E,WACF9E,EAAE+E,KAAK/E,EAAE,qBAAqB,GAAI,aAAagF,SAEvDC,cAAiBC,IAC5BlF,EAAE,QAASkF,GAAMC,OACCnF,EAAE,qBAAqB8E,WAyC7Cd,iBACE2D,IAAqBvC,KAAK,YAAY,GACtC,MAAM+C,GAA+C,IAAA9C,kBAAiBuC,GAChEY,GAAyC,IAAAnD,kBAAiBwC,GAEhE,IAAIY,GAAeN,EAAYzC,QAAU8C,EAAM9C,MAM/C,GAJmB,MAAf,EAAAqC,cACFU,GAAeD,EAAM9C,OAGnB+C,EAGF,OAFAd,IAAqBvC,KAAK,YAAY,QACtC,IAAAO,UAAS,EAAAvC,cAAe,QAAS,KAInC,UACQ,IAAAsF,qBAAoBP,EAAYzC,MAAMG,WAAY2C,EAAM9C,QAC9D,IAAAC,UAAS,EAAAgD,oBAAqB,UAAW,KACtC1C,OAAOC,eAAeD,OAAOC,cAAc,wBAC9C0C,G,CACA,MAAOzC,GACPwB,IAAqBvC,KAAK,YAAY,IACtC,IAAAO,UAAS,EAAAvC,cAAe,QAAS,I,CAErC,CAlEIyF,EAAc,EAGhB,EAAA9H,QAAQS,MACV,CAEAwC,eAAe8E,UACP,IAAAC,8BACH9C,OAAOC,eAAeD,OAAOC,cAAc,wBAC9C0C,GACF,CAEA,SAASA,KACP,IAAAI,0BACF,CAYAhF,eAAesE,EAAYH,GACzB,MAAMc,QANRjF,eAA0BmE,GAExB,aADsB,IAAAe,YAAkBf,EAE1C,CAGsCe,CAAWf,GAE/C,IAAIgB,EAAsB,GAC1BnJ,EAAE,GAAG6H,iCAA8CtD,OACnD0E,EAAQzE,SAASgE,IACfW,GAAe,8GAA8GX,EAAM9D,eAC/H8D,EAAM7D,wBACJ,IAER3E,EAAE,GAAG6H,iCAA8CtD,KAAK4E,IACxD,IAAAC,gBAAepJ,EAAE6H,GACnB,CAxGA,mBAAO7D,iBACL,IAEE,aADqC,IAAAqF,0B,CAErC,MAAOlD,GAEP,OADA,IAAAM,YAAWN,IACJ,C,CAEX,EAEA,mCACEsB,IAAyBxH,IAAI,QAAS6H,GACtCJ,IAAyBzH,IACvB,QACA6I,GAEFrB,IAAyBvH,GAAG,QAAS4H,GACrCJ,IAAyBxH,GAAG,QAAS4I,IAErC,IAAApC,0BAAyB,mBAAoB,EAAAC,0BAC7C,IAAAD,0BAAyB,mBAAoB,EAAAE,yBAC7C,IAAAF,0BAAyB,mBAAoB,EAAAG,8BAC7C,IAAAC,uBAAsB,mBAAoB,EAAAF,wBAE1C5G,EAAE,yBAAyB+G,KA/BJ/G,EAAE,wBAAwBmC,KAAK,qBAgCtDnC,EAAE,4BAA4B+G,KA9B9B/G,EAAE,wBAAwBmC,KAAK,yBAgC/B,IAAA6E,WAAU,mBAAoB,CAAEC,cAAc,EAAMC,cAAc,EAAOC,KAAM,EAAAC,aAAaC,IAC5FpB,OAAOqB,WAAWC,KAAK,CACrBC,MAAO,wBAEX,EAEA,wB,iJC7EA,gBAMA,UACA,UAGA,SAGA,UACA,UACA,UAKA,IAAI8B,EAEJ,yBAAOtF,iBACL,IAIE,OAHAsF,QAAwB,IAAAC,sBACxBvJ,EAAE,0BAA0BwJ,SAC5BxJ,EAAE,sBAAsByJ,OAAOH,GACJ,KAApBA,C,CACP,MAAMnD,GAEN,OADA,IAAAM,YAAWN,IACJ,C,CAEX,EAEA,2BAAOnC,iBACLhE,EAAE,kCAAkCE,GAAG,SAAS,KAC9C,EAAAa,QAAQW,MAAM,IAGhB,MAAMgI,EAAyBC,KAAKC,MAClCC,KAAK7J,EAAE,uBAAuBmC,KAAK,cAG/B2H,EAA0C,CAAC,EACjDJ,EAAalF,SAASE,IAEpBoF,EAAMpF,EAAGmB,YAAc,CAAEkE,UAAU,EAAM,IAE3C,MAAMC,EAAyBhK,EAAE,2BAA2BuB,OAE5DvB,EAAE,yBAAyB+G,KAjCJ/G,EAAE,wBAAwBmC,KAAK,qBAkCtDnC,EAAE,4BAA4B+G,KAjCD/G,EAAE,wBAAwBmC,KAAK,wBAmC5DnC,EAAE,2BAA2BiK,MAC3B,CAAC3I,EAAe4I,KACdlK,EAAEkK,GAAapF,SAAS,CACtBgF,MAAOA,EACPK,eAAgB,KACP,EAETlF,cAAe,KACT+E,EAAiB,IAAM1I,EAqBrC,WACEtB,EAAE,wBAAwBoF,KAAK,YAAY,GAE3C,MAAMgF,EAAkC,GACTT,KAAKC,MAClCC,KAAK7J,EAAE,uBAAuBmC,KAAK,cAGxBqC,SAASE,IACpB,MAAM2F,EAASrK,EAAE,6BAA6B0E,OAE1C2F,EAAO9I,OAAS,EAClB6I,EAAQ7C,KAAK,CACX+C,WAAY5F,EACZ2F,OAAQ,GACRE,gBAAiBF,EAAOG,OAAO,YAAYC,QAG7CL,EAAQ7C,KAAK,CACX+C,WAAY5F,EACZ2F,OAAQA,EAAOI,MAAO5E,WACtB0E,eAAgB,M,IAKtBvK,EAAE0K,KAAK,CACLC,KAAM,OACNC,IAAK,EAAAC,YACL9F,KAAM4E,KAAKmB,UAAUV,GACrBW,YAAa,qBAEZC,MAAK,KA/FoBhL,EAAE,oBAgGRC,IAAI,kBAAmB,EAAAgL,6BACzC,IAAAC,oBAAmB,qBACnB,IAAAC,6BAA4B,IAE7BC,MAAMC,IACW,KAAZA,EAAEC,QAAe,IAAA3F,UAAS,EAAAtC,2BAA4B,SACrD,IAAAsC,UAAS,EAAAvC,cAAc,IAE7BmI,MAAM,EAAA9E,YACN+E,QAAO,KACNxL,EAAE,wBAAwBoF,KAAK,YAAY,EAAM,GAEvD,CAjEYqG,GAEA,EAAA1K,QAAQS,M,GAGZ,KAIN,IAAAkF,0BAAyB,mBAAoB,EAAAC,0BAC7C,IAAAD,0BAAyB,mBAAoB,EAAAE,yBAC7C,IAAAF,0BAAyB,mBAAoB,EAAAG,8BAC7C,IAAAC,uBAAsB,mBAAoB,EAAAD,8BAE1C,IAAAG,WAAU,mBAAoB,CAAEC,cAAc,EAAMC,cAAc,EAAOC,KAAM,EAAAC,aAAaC,IAC5FpB,OAAOqB,WAAWC,KAAK,CACrBC,MAAO,8BAEX,C,sKCjFA,mBACA,UACA,UAWA,UACA,UACA,SACA,UAEA,IAAIkE,EAqIJ,SAASC,IAEP,GADkC7F,UAAS,IAAA8F,WAAU,EAAAC,iCAC7B,EAAAC,sBAAuB,CAC7CC,aAAaL,GACb,MAAMM,GAAiB,cAAM,IAAAJ,WAAU,EAAAK,kCACjCC,GAAU,eACVC,EAAgCH,EAAeI,KAAKF,EAAS,WAC7DG,EAAgCC,KAAKC,KAAKJ,EAAwB,IACxE,IAAIK,EAAU,GAEZA,EADCH,GAAyB,EAkDN,EAAA5I,2BACTgJ,QAAQ,MAAO,EAAA/I,mCAGIgJ,EAnDOL,EAoDjB,EAAA7I,kBACTiJ,QAAQ,MAAOC,EAAQ7G,YAAY4G,QAAQ,MAAO,EAAA/I,oCApD/D,IAAAiC,UAAS6G,EAAS,QAAS,KAAS,GAAM,E,CAkD9C,IAAoCE,CAhDpC,CAEA,SAASC,IAEc,KADE,IAAAf,WAAU,EAAAK,kCAE/BjM,EAAE,gBAAgBmC,KAAK,WAAY,QACnCnC,EAAE,yBAAyB+B,SAE3B/B,EAAE,yBAAyBQ,OAC3BR,EAAE,gBAAgB4M,WAAW,YAEjC,CAEA,SAASC,KACP,IAAAC,cAAa,EAAAjB,8BAA+B,MAC5C,IAAAiB,cAAa,EAAAb,gCAAiC,IAChD,CAEA,SAASc,IAEP,GAAqB,KADE,IAAAnB,WAAU,EAAAK,iCACR,CACvB,MAAMe,GAAqB,cAAM,IAAApB,WAAU,EAAAK,kCACrCC,GAAU,eACVC,EAAgCa,EAAmBZ,KAAKF,EAAS,WAEvER,EAA2BuB,YAAW,KACpCJ,IACAF,KACA,IAAAO,uBAAsB,GACG,IAAxBf,E,CAEP,CAjLAnM,GAAE,KACA,MAAMmN,EAAYnN,EAAE,cACdoN,EAAcpN,EAAE,gBAEF,MAAhBmN,EAAU,KACSnN,EAAE+E,KAAKoI,EAAU,GAAI,aAAanI,SAE1CC,cAAiBkI,IAC5BnN,EAAE,QAASmN,GAAWhI,OACtBiI,EAAYhI,KAAK,YAAY,GAC7B,MAAMiI,EAAY,CAChBC,UAAWtN,EAAE,gBAAgByK,MAC7B8C,KAAMvN,EAAE,cAAcyK,MACtB+C,SAAUxN,EAAE,kBAAkByK,OAGhCzK,EAAE,gBAAgByK,OAAO5E,WACzBI,OAAOqB,WAAWC,KAAK,CACrBC,MAAO,4BAETxH,EAAEyN,KAAK,EAAAC,UAAWL,GACfrC,MAAM2C,IACLd,IACA,MAAMe,EACJ5N,EAAE,gBAAgByK,OAAO5E,YAAc,IACzCI,OAAOqB,WAAWC,KAAK,CACrBC,MAAO,+BAENvB,OAAO4H,YAAY5H,OAAO4H,WAAWF,EAAOG,WAAWC,eACvD9H,OAAOC,eAAeD,OAAOC,cAAc,gBAC9C+G,YAAW,IAAMhH,OAAO+H,SAASvB,QAAQmB,IAAc,IAAI,IAE5DxC,MAAMjF,IACL,IAAI8H,EACJ,MAAMC,EAAYlO,EAAE,cAAc8E,WAClC,OAAQqB,EAAMmF,QACZ,KAAK,IACH2C,EAAe,EAAAjL,mBAgD7B,WACE,IAAImL,GAA4B,IAAAvC,WAAU,EAAAC,+BACdsC,EAAJ,IAArBA,EAA6C,KACtBrI,SAASqI,GAAqB,GAAGtI,WACxDC,SAASqI,IAAsB,EAAArC,wBAChC,IAAAsC,WAAU,EAAAvC,8BAA+BsC,EAAmB,IAChE,CAZEE,GAcF,WACE,MAAMF,EAA4BrI,UAAS,IAAA8F,WAAU,EAAAC,gCACrD,GAAGsC,GAAqB,EAAArC,sBAAuB,CAC7C,MAAMwC,GAuGsB5B,EAvGmB,EAAA6B,oBAwG1C,IAAIC,MAAK,IAAIA,MAAOC,UAAuB,IAAV/B,KAvGtC,IAAA0B,WACE,EAAAnC,gCACAqC,EAAUI,cACV,IACAJ,IACF,IAAAxB,cAAa,EAAAjB,8BAA+B,MAC5C,IAAAuC,WAAU,EAAAvC,8BAA+BsC,EAAmB,IAAKG,E,CAgGrE,IAAgC5B,CA9FhC,CAzBEiC,GA2BF,WACE,MAAMR,EAA4BrI,UAAS,IAAA8F,WAAU,EAAAC,gCAC7B,GAArBsC,IAEKA,GAAsB,EAAArC,sBAAwB,GACpD,IAAAnG,UAoEsB,EAAApC,6BACTkJ,QAAQ,MAAO,EAAA8B,oBAAoB1I,YAnE9C,UACA,KACA,GACA,GACIsI,EAAoB,EAAArC,uBAC1B,IAAAnG,UAiEJ,SAAsCwI,GAEpC,OADwB,EAAA7K,oBACTmJ,QAAQ,MAAO0B,EAAkBtI,YAAY4G,QAAQ,MAAO,EAAA8B,oBAAoB1I,WACjG,CAnEM+I,CAA6BT,GAC7B,UACA,KACA,GACA,GACIA,GAAqB,EAAArC,wBAC3BH,IACAoB,KAEJ,CAhDE8B,GACAlC,IA3CYuB,EAAUY,WAAW,CACnBtB,SAAUS,IAEZ,MACF,KAAK,IACHA,EAAe,EAAAhL,mBACfiL,EAAUY,WAAW,CACnBvB,KAAMU,IAER,MACF,KAAK,IACHA,EAAe,EAAA/K,eACfgL,EAAUY,WAAW,CACnBvB,KAAMU,IAER,MACF,QACEA,EAAe,EAAA9K,YACf+K,EAAUY,WAAW,CACnBvB,KAAMU,I,IAKb1C,MAAM,EAAA9E,YACN+E,QAAO,KA6IO,KADE,IAAAI,WAAU,EAAAK,kCAE/BjM,EAAE,gBAAgB4M,WAAW,WA7IH,GACpB,GAIR5M,EAAE+O,UAAU7O,GAAG,QAAS,oBAAqB8O,KAC3C,IAAAhI,WAAU,cAAe,CAAEC,cAAc,EAAME,KAAM,EAAAC,aAAa6H,KAClEtD,IACAgB,IACAI,GAAsB,GACtB,G,sVC9FJ,gBACA,UAGA,UAGA,SACA,UAGA,UAIA,UACA,UACA,UACA,UACA,UACA,UAGMmC,EAAkB,IAAMlP,EAAE,2BAGhC,IAAImP,EACAC,EACAC,EACAC,EACAC,EAuGJ,SAAgBC,KACd,IAAAtE,oBAAmB,oBACnBlL,EAAEyN,KAAK,EAAAgC,0BACJzE,MAAK,MACJ,IAAAhE,WAAU,wBAAyB,CAAEE,cAAc,EAAOC,KAAM,EAAAC,aAAaC,IAE7E,MAAMqI,EAnHU1P,EAAE,qBAAqBmC,KAAK,gBAoHtCwN,GAAU,IAAAC,cAChB3J,OAAO4J,QACL,GAAG,EAAAC,yDAAyDJ,IAC5DC,EAAQI,SAEN9J,OAAOC,eACTD,OAAOC,cAAc,6BAA6B,IAErDkF,MAAMC,IACW,KAAZA,EAAEC,QAAe,IAAA3F,UAAS,EAAAtC,2BAA4B,SACrD,IAAAsC,UAAS,EAAAvC,cAAc,IAE7BmI,MAAM,EAAA9E,YACN+E,QAAO,KACNP,GAA4B,GAElC,CAyBA,SAAgBA,IACdjL,EAAE,qBAAqBoF,KAAK,YAAY,EAC1C,CAuBA,SAAgB4K,IACdhQ,EAAE,qBAAqBoF,KAAK,YAAY,EAC1C,CAEA,SAAS6K,IACc,GAAjB,EAAAlP,QAAQO,MAAY,EAAAP,QAAQW,QAE9B,IAAAwJ,oBAAmB,mBAEvB,CA/KAlL,GAAE,KACAA,EAAE,qBAAqBE,GAAG,SAAS8D,UACjC,MAAMkM,EAAcnB,SAASoB,uBAAuB,oBAAoB,GACxEb,IACmD,SAAjDY,EAAYE,aAAa,qBAE3BhB,IACuD,SAArDc,EAAYE,aAAa,yBAG3BnK,OAAOqB,WAAWC,KAAK,CACrBC,MAAO,2BAETwI,IAEAb,QAAuB,IAAA3I,qBACvB6I,QAAuB,IAAAgB,oBACvBd,QAA4B,IAAAe,2BAExBnB,GAAmBC,GACrBpP,EAAE,qBAAqBwJ,UAGrB6F,GAAmBC,GACrBtP,EAAE,oBAAoBwJ,SAGnB+F,GACHvP,EAAE,2BAA2BwJ,SAG/B,EAAAzI,QAAU,IAAI,EAAAwP,QAAQvQ,EAAE,uBAExBkP,IAAkBjP,IAAI,QAASgQ,GAC/Bf,IAAkBhP,GAAG,QAAS+P,GAE9B,EAAAlP,QAAQY,QAAQ,IACXwN,GAAkBC,EACrBnC,YAAW,KAAM,IAAAuD,2BAA0B,MACjCnB,GAAkBC,EAC5BrC,YAAW,KAAM,IAAAwD,0BAAyB,KACjClB,EACTtC,YAAW,KAAM,IAAAyD,6BAA4B,KACxClB,GAAgB,KAGzB,IAAAmB,wBAAuB,IAGzB3Q,GAAE,KACAA,EAAE+O,UAAU7O,GAAG,QAAS,kBAAmBsH,IACzC,MAAMoJ,EAAqB5Q,EAAE,uBAAuBmC,KAAK,WAGzD,OAF8BnC,EAAEwH,EAAMqJ,eAAe9L,KAAK,UAGxD,IAAK,WACHkB,OAAO6K,KACL,+CAAiDF,EACjD,SACA,kDAEF,MACF,IAAK,UACH,IAAIG,EAAe/Q,EAAE,wBAAwBmC,KAAK,WAClD,MACM6O,EAAoB,GADJhR,EAAE,yBAAyBmC,KAAK,cAChB4O,2BAElCA,EAAKE,QAAQ,MAAQ,IACvBF,EAAOA,EAAKG,OAAO,EAAGH,EAAKI,YAAY,OAGzClL,OAAO6K,KACL,qDACEF,EACA,6BACAI,EACA,yBACAJ,EACF,SACA,kDAEF,MACF,IAAK,WACH3K,OAAO6K,KACL,uDAAyDF,EACzD,SACA,kD,GAIN,IAGJ,mBAyBA,uCACOvB,GAAkBC,IACrB,IAAAmB,yBACA,EAAA1P,QAAQY,QAAQ,IACP4N,IACT,IAAAmB,4BACA,EAAA3P,QAAQY,QAAQ,IACX6N,GACT,EAEA,qCACMD,IACF,IAAAmB,6BACCvB,GAAkBC,EACf,EAAArO,QAAQY,QAAQ,GAChB,EAAAZ,QAAQY,QAAQ,IACf6N,GACT,EAEA,wCACEA,GACF,EAEA,+BAIA,qCACEvJ,OAAOqB,WAAWC,KAAK,CACrBC,MAAO,2BAETyD,GACF,EAEA,oCACEhF,OAAOqB,WAAWC,KAAK,CACrBC,MAAO,yBAETyD,GACF,EAEA,yCACEhF,OAAOqB,WAAWC,KAAK,CACrBC,MAAO,+BAETyD,GACF,EAEA,+B,gTCxMA,eAGA,UAEA,sBAAOjH,eAAmCmE,EAAqBK,GAC3D,IACI,MAAMzD,EAAO,IAAIqM,gBAOjB,OANArM,EAAK0E,OAAO,cAAetB,GAC3BpD,EAAK0E,OAAO,QAASjB,SACf6I,MAAM,EAAAC,kBAAmB,CAC7BC,OAAQ,OACRC,KAAOzM,KAEF,C,CACT,MAAMoB,GAEJ,OADA,IAAAM,YAAWN,IACJ,C,CAEf,EAEA,aAAOnC,eAA0BmE,GAC7B,IACI,MAAMsJ,QAA2BJ,MAAM,GAAG,EAAAK,0BAA0BvJ,KAEpE,aADoCsJ,EAASE,M,CAE/C,MAAMxL,GAEJ,OADA,IAAAM,YAAWN,GACJ,E,CAEf,EAEA,oBAAOnC,iBACH,IACI,MAAMyN,QAAiBJ,MAAM,EAAAO,yBAE7B,aADiDH,EAASE,M,CAE5D,MAAMxL,GAEJ,OADA,IAAAM,YAAWN,GACJ,E,CAEf,EAEA,0BAAOnC,iBACH,IAEI,OAA2B,aADMqN,MAAM,EAAAQ,6BACvBvG,M,CAClB,MAAMnF,GAEJ,OADA,IAAAM,YAAWN,IACJ,C,CAEf,EAEA,6BAAOnC,iBACH,IAEI,aADMqN,MAAM,EAAAS,mCAAoC,CAAEP,OAAQ,UACnD,C,CACT,MAAMpL,GAEJ,OADA,IAAAM,YAAWN,IACJ,C,CAEf,EAEA,aAAOnC,iBACH,IACI,MAAMyN,QAAiBJ,MAAM,EAAAU,iBAE7B,aADqCN,EAASE,M,CAEhD,MAAMxL,GAEJ,OADA,IAAAM,YAAWN,GACJ,E,CAEf,EAEA,gBAAOnC,iBACH,IACI,MAAMyN,QAAiBJ,MAAM,EAAAW,mBAE7B,aAD2CP,EAASE,M,CAEtD,MAAMxL,GAEJ,OADA,IAAAM,YAAWN,GACJ,E,CAEf,EAEA,uBAAOnC,eAAoCS,EAAgBI,EAAmBS,GAC1E,IACI,MAAMP,EAAO,IAAIqM,gBAQjB,OAPArM,EAAK0E,OAAO,SAAUhF,GACtBM,EAAK0E,OAAO,YAAa5E,EAAUgB,YACnCd,EAAK0E,OAAO,UAAWnE,SACjB+L,MAAM,EAAAY,mBAAoB,CAC5BV,OAAQ,OACRC,KAAOzM,KAEJ,C,CACT,MAAMoB,GAEJ,OADA,IAAAM,YAAWN,IACJ,C,CAEf,EAEA,oBAAOnC,iBACH,IAEI,OAA2B,aADJqN,MAAM,EAAAa,0BACb5G,M,CAClB,MAAMnF,GAEJ,OADA,IAAAM,YAAWN,IACJ,C,CAEf,EAEA,qBAAOnC,iBACH,IACI,MAAMyN,QAAiBJ,MAAM,EAAAc,YAC7B,aAAaV,EAAS1K,M,CACxB,MAAMZ,GAEJ,OADA,IAAAM,YAAWN,GACJ,E,CAEf,EAEA,sBAAOnC,iBACH,IAEI,aADMqN,MAAM,EAAAe,2BAA4B,CAAEb,OAAQ,UAC3C,C,CACT,MAAMpL,GAEJ,OADA,IAAAM,YAAWN,IACJ,C,CAEf,C,imBCjHAnG,GAAE,KACA,MAAMqS,EAAkBrS,EAAE,wBAC1B,EAAAmS,WAAaE,EAAgBlQ,KAAK,mBAClC,EAAA0I,YAAcwH,EAAgBlQ,KAAK,oBACnC,EAAAsN,yBAA2B4C,EAAgBlQ,KACzC,iCAEF,EAAAmQ,uBAAyBD,EAAgBlQ,KACvC,+BAEF,EAAAoQ,SAAWF,EAAgBlQ,KAAK,iBAChC,EAAAqQ,YAAcH,EAAgBlQ,KAAK,oBACnC,EAAAuL,UAAY2E,EAAgBlQ,KAAK,kBAEjC,EAAA2J,sBAAwB,EACxB,EAAAyC,oBAAsB,GACtB,EAAA1C,8BAAgC,qBAChC,EAAAI,gCAAkC,0BAClC,EAAAiG,wBAA0BlS,EAAE,wBAAwBmC,KAAK,gCACzD,EAAA4P,gBAAkB/R,EAAE,wBAAwBmC,KAAK,wBACjD,EAAA6P,kBAAoBhS,EAAE,wBAAwBmC,KAAK,0BACnD,EAAA8P,mBAAqBjS,EAAE,wBAAwBmC,KAAK,2BACpD,EAAAyP,wBAA0B5R,EAAE,wBAAwBmC,KAAK,gCACzD,EAAA0P,2BAA6B7R,EAAE,wBAAwBmC,KAAK,mCAC5D,EAAAuP,gBAAkB1R,EAAE,wBAAwBmC,KAAK,wBACjD,EAAAmP,kBAAoBtR,EAAE,wBAAwBmC,KAAK,0BACnD,EAAAiQ,2BAA6BpS,EAAE,wBAAwBmC,KAAK,mCAC5D,EAAA2P,mCAAqC9R,EAAE,wBAAwBmC,KAAK,2CACpE,EAAA4D,qBAAuB/F,EAAE,wBAAwBmC,KAAK,6BACtD,EAAAwG,oBAAsB3I,EAAE,wBAAwBmC,KAAK,2BAA4B,G","sources":["webpack:///./ts/components/relatedOffers.ts","webpack:///./ts/components/stepper.ts","webpack:///./ts/resources.ts","webpack:///./ts/views/offer-detail/experiences.ts","webpack:///./ts/views/offer-detail/formations.ts","webpack:///./ts/views/offer-detail/killer-questions.ts","webpack:///./ts/views/offer-detail/login.ts","webpack:///./ts/views/offer-detail/offer-detail.ts","webpack:///./ts/views/offer-detail/requests.ts","webpack:///./ts/views/offer-detail/settings.ts"],"sourcesContent":["import { scrollElementLeft, scrollElementRight } from \"../helpers\";\r\n\r\nexport function initRelatedOffersComp(): void {\r\n const psfRelatedOffersContent = \"#RelatedOffers .psf-related-offers-content\";\r\n const psfRelatedOffersList = \"#RelatedOffers .psf-related-offers__list\";\r\n \r\n $(psfRelatedOffersList).off(\"scroll\").on(\"scroll\", (ev) => {\r\n const scrollLeft = $(psfRelatedOffersList)[0].scrollLeft ?? 0;\r\n const listWidth = $(psfRelatedOffersList)[0].scrollWidth ?? 0;\r\n const innerListWidth = $(psfRelatedOffersList).innerWidth() ?? 0;\r\n \r\n if (listWidth - innerListWidth == scrollLeft)\r\n $(psfRelatedOffersContent)\r\n .find(\".psf-related-offers-control.psf-related-offers-control--right\")\r\n .hide();\r\n else if (scrollLeft == 0)\r\n $(psfRelatedOffersContent)\r\n .find(\".psf-related-offers-control.psf-related-offers-control--left\")\r\n .hide();\r\n else\r\n $(psfRelatedOffersContent)\r\n .find(\".psf-related-offers-control\")\r\n .css({ display: \"flex\" });\r\n });\r\n \r\n $(\r\n \"#RelatedOffers .psf-related-offers-control.psf-related-offers-control--right\"\r\n )\r\n .off(\"click\")\r\n .on(\"click\", (ev) => {\r\n ev.preventDefault();\r\n scrollElementRight(psfRelatedOffersList, 344);\r\n });\r\n $(\r\n \"#RelatedOffers .psf-related-offers-control.psf-related-offers-control--left\"\r\n )\r\n .off(\"click\")\r\n .on(\"click\", (ev) => {\r\n ev.preventDefault();\r\n scrollElementLeft(psfRelatedOffersList, 344);\r\n });\r\n}","export class Stepper {\r\n private stepper: JQuery;\r\n private activeStep?: JQuery;\r\n\r\n constructor(stepper: any) {\r\n this.stepper = $(stepper);\r\n const steps: JQuery = this.getSteps();\r\n this.activeStep = steps.first();\r\n steps.not(this.activeStep).hide();\r\n }\r\n\r\n get index(): number {\r\n return this.getSteps().index(this.activeStep);\r\n }\r\n\r\n get length(): number {\r\n return this.getSteps().length;\r\n }\r\n\r\n next() {\r\n this.changeStep(this.index + 1);\r\n }\r\n\r\n prev() {\r\n this.changeStep(this.index - 1);\r\n }\r\n\r\n setStep(step: number) {\r\n this.changeStep(step);\r\n }\r\n\r\n private getSteps(): JQuery {\r\n return $(\"> [data-step]\", this.stepper);\r\n }\r\n\r\n private changeStep(index: number) {\r\n const steps: JQuery = this.getSteps();\r\n\r\n if (steps.length === 0) {\r\n return;\r\n }\r\n\r\n if (index < 0) {\r\n index = 0;\r\n }\r\n\r\n if (index >= steps.length) {\r\n index = steps.length - 1;\r\n }\r\n\r\n const step: HTMLElement | undefined = steps.get(index);\r\n\r\n this.stepper.fadeOut(200, () => {\r\n if (this.activeStep != null) {\r\n this.activeStep.hide();\r\n }\r\n\r\n if (step) {\r\n this.activeStep = $(step);\r\n this.activeStep.show().trigger(\"show\");\r\n this.stepper.fadeIn(200);\r\n }\r\n });\r\n }\r\n}\r\n","export let PENDING_CLOTHING: string;\r\nexport let PENDING_FORMATION: string;\r\nexport let PENDING_DOCUMENT: string;\r\nexport let PENDING_SURVEY: string;\r\nexport let COURSES: string;\r\nexport let CLOTHINGS: string;\r\nexport let SURVEYS: string;\r\nexport let DOCUMENTS: string;\r\nexport let ACCESS: string;\r\nexport let START: string;\r\nexport let SIGN: string;\r\nexport let SHOW_MORE: string;\r\nexport let SHOW_LESS: string;\r\nexport let INCORRECT_PASSWORD: string;\r\nexport let USER_NOT_ACTIVATED: string;\r\nexport let USER_NOT_EXIST: string;\r\nexport let LOGIN_ERROR: string;\r\nexport let GENERAL_ERROR: string;\r\nexport let GENERAL_ERROR_SUPPORT_MODE: string;\r\nexport let LOGIN_BLOCK_WARNING: string;\r\nexport let LOGIN_BLOCK_WARNING_SINGULAR: string;\r\nexport let LOGIN_BLOCK_ERROR: string;\r\nexport let LOGIN_BLOCK_ERROR_SINGULAR: string;\r\nexport let LOGIN_BLOCK_RESTORE_PASSWORD_URL: string;\r\n\r\n$(() => {\r\n PENDING_CLOTHING = $(\"#sharedResources\").attr(\"data-PENDING_CLOTHING\")!;\r\n PENDING_FORMATION = $(\"#sharedResources\").attr(\"data-PENDING_FORMATION\")!;\r\n PENDING_DOCUMENT = $(\"#sharedResources\").attr(\"data-PENDING_DOCUMENT\")!;\r\n PENDING_SURVEY = $(\"#sharedResources\").attr(\"data-PENDING_SURVEY\")!;\r\n COURSES = $(\"#sharedResources\").attr(\"data-COURSES\")!;\r\n CLOTHINGS = $(\"#sharedResources\").attr(\"data-CLOTHINGS\")!;\r\n SURVEYS = $(\"#sharedResources\").attr(\"data-SURVEYS\")!;\r\n DOCUMENTS = $(\"#sharedResources\").attr(\"data-DOCUMENTS\")!;\r\n ACCESS = $(\"#sharedResources\").attr(\"data-ACCESS\")!;\r\n START = $(\"#sharedResources\").attr(\"data-START\")!;\r\n SIGN = $(\"#sharedResources\").attr(\"data-SIGN\")!;\r\n SHOW_MORE = $(\"#sharedResources\").attr(\"data-SHOW_MORE\")!;\r\n SHOW_LESS = $(\"#sharedResources\").attr(\"data-SHOW_LESS\")!;\r\n INCORRECT_PASSWORD = $(\"#sharedResources\").attr(\"data-INCORRECT_PASSWORD\")!;\r\n USER_NOT_ACTIVATED = $(\"#sharedResources\").attr(\"data-USER_NOT_ACTIVATED\")!;\r\n USER_NOT_EXIST = $(\"#sharedResources\").attr(\"data-USER_NOT_EXIST\")!;\r\n LOGIN_ERROR = $(\"#sharedResources\").attr(\"data-LOGIN_ERROR\")!;\r\n GENERAL_ERROR = $(\"#sharedResources\").attr(\"data-GENERAL_ERROR\")!;\r\n GENERAL_ERROR_SUPPORT_MODE = $(\"#sharedResources\").attr(\r\n \"data-GENERAL_ERROR_SUPPORT_MODE\"\r\n )!;\r\n LOGIN_BLOCK_WARNING = $(\"#sharedResources\").attr(\"data-LOGIN_BLOCK_WARNING\")!;\r\n LOGIN_BLOCK_WARNING_SINGULAR = $(\"#sharedResources\").attr(\r\n \"data-LOGIN_BLOCK_WARNING_SINGULAR\"\r\n )!;\r\n LOGIN_BLOCK_ERROR = $(\"#sharedResources\").attr(\"data-LOGIN_BLOCK_ERROR\")!;\r\n LOGIN_BLOCK_ERROR_SINGULAR = $(\"#sharedResources\").attr(\r\n \"data-LOGIN_BLOCK_ERROR_SINGULAR\"\r\n )!;\r\n LOGIN_BLOCK_RESTORE_PASSWORD_URL = $(\"#sharedResources\").attr(\r\n \"data-LOGIN_BLOCK_RESTORE_PASSWORD_URL\"\r\n )!;\r\n});\r\n","// Components\r\nimport { addToast } from \"../../components/toasts\";\r\nimport { EuiModalSize, addModalCloseCallback, removeModalCloseCallback, showModal } from \"../../components/modal\";\r\nimport { getDropdownValue } from \"../../components/dropdown\";\r\n\r\n// Models\r\nimport { Sector } from \"../../models/sector\";\r\nimport { Ocupation } from \"../../models/ocupation\";\r\n\r\n// Actions\r\nimport { finishAddExperienceModal, onCloseModalExperiences, onCloseModalFormations, onCloseModalKillerQuestions, stepper } from \"./offer-detail\";\r\n\r\n// Resources\r\nimport { GENERAL_ERROR } from \"../../resources\";\r\nimport { catchError } from \"../../catchErrors\";\r\n\r\n// Requests\r\nimport { getSectors as getSectorsRequest, getOcupations as getOcupationsRequest, addExperienceRequest, getHaveExperience as getHaveExperienceRequest, setHaveNoExperience } from \"./requests\";\r\n\r\n// Settings\r\nimport { NEW_EXPERIENCE_TOAST } from \"./settings\";\r\n\r\nconst haveExperienceYesButton = () => $(\"#haveExperienceYes\");\r\nconst haveExperienceNoButton = () => $(\"#haveExperienceNo\");\r\nconst addExperienceButton = () => $(\"#addExperienceButton\");\r\n\r\nconst offerTitle = () => $(\"#offerDetailSettings\").attr(\"data-OFFER_TITLE\")!;\r\nconst offerDescription = () => $(\"#offerDetailSettings\").attr(\"data-OFFER_LOCATION\")!;\r\n\r\nconst SECTOR_SELECTOR = '#sectorSelector';\r\nconst OCUPATION_SELECTOR = '#ocupacionSelector';\r\n\r\nexport async function getHaveExperience(): Promise {\r\n try {\r\n const haveExperience: boolean = await getHaveExperienceRequest();\r\n return haveExperience;\r\n } catch(error) {\r\n catchError(error);\r\n return false;\r\n }\r\n}\r\n\r\nexport async function showAddExperienceModal() {\r\n haveExperienceYesButton().off('click', showNewExperienceStep);\r\n haveExperienceNoButton().off('click', setHaveNoExperienceAndCloseModal);\r\n haveExperienceYesButton().on('click', showNewExperienceStep);\r\n haveExperienceNoButton().on('click', setHaveNoExperienceAndCloseModal);\r\n\r\n removeModalCloseCallback('#applyOfferModal', onCloseModalExperiences);\r\n removeModalCloseCallback('#applyOfferModal', onCloseModalFormations);\r\n removeModalCloseCallback('#applyOfferModal', onCloseModalKillerQuestions);\r\n addModalCloseCallback('#applyOfferModal', onCloseModalExperiences);\r\n\r\n $(\"#experienceOfferTitle\").text(offerTitle());\r\n $(\"#experienceOfferLocation\").text(offerDescription());\r\n\r\n showModal('#applyOfferModal', { isFullScreen: true, overlayClose: false, size: EuiModalSize.S });\r\n\r\n window.dataLayer?.push({\r\n event: \"PedirExperienciaOferta\",\r\n });\r\n}\r\n\r\nasync function showNewExperienceStep() {\r\n const sectors: Array = await getSectors();\r\n const ocupations: Array = await getOcupations();\r\n\r\n let sectorHTML: string = '';\r\n $(`${SECTOR_SELECTOR} .eui-dropdown__options-body`).html();\r\n sectors.forEach((sector: Sector) => {\r\n sectorHTML += `
  • \r\n ${sector.description}\r\n
  • `\r\n });\r\n $(`${SECTOR_SELECTOR} .eui-dropdown__options-body`).html(sectorHTML);\r\n\r\n let ocupationHTML: string = '';\r\n $(`${OCUPATION_SELECTOR} .eui-dropdown__options-body`).html();\r\n ocupations.forEach((ocupation: Ocupation) => {\r\n ocupationHTML += `
  • \r\n ${ocupation.description}\r\n
  • `\r\n });\r\n $(`${OCUPATION_SELECTOR} .eui-dropdown__options-body`).html(ocupationHTML);\r\n\r\n $(\"#addExperienceForm\").validate();\r\n const formSettings = $.data($(\"#addExperienceForm\")[0], \"validator\").settings;\r\n\r\n formSettings.submitHandler = (form: any) => {\r\n $(\"input\", form).blur();\r\n const validator = $(\"#addExperienceForm\").validate();\r\n addExperience();\r\n };\r\n\r\n stepper.next();\r\n}\r\n\r\nasync function setHaveNoExperienceAndCloseModal() {\r\n await setHaveNoExperience();\r\n if(window.addBrazeEvent) window.addBrazeEvent(\"B2C - Update profile\");\r\n closeExperienceModal();\r\n}\r\n\r\nasync function closeExperienceModal() {\r\n finishAddExperienceModal();\r\n}\r\n\r\nasync function getSectors() {\r\n const sectors: Array = await getSectorsRequest();\r\n return sectors;\r\n}\r\n\r\nasync function getOcupations() {\r\n const ocupations: Array = await getOcupationsRequest();\r\n return ocupations;\r\n}\r\n\r\nasync function addExperience() {\r\n addExperienceButton().prop(\"disabled\", true);\r\n const sector: {value: string, text: string } = getDropdownValue(SECTOR_SELECTOR)!;\r\n const ocupation: {value: string, text: string } = getDropdownValue(OCUPATION_SELECTOR)!;\r\n const inputFields = $(\"#addExperienceForm\").serializeArray();\r\n const company = inputFields.find((inputField) => inputField.name == 'Company');\r\n \r\n const formInvalid = !sector.value || !ocupation.value || !company?.value;\r\n\r\n if(formInvalid) {\r\n addToast(GENERAL_ERROR, 'error', 2000);\r\n addExperienceButton().prop(\"disabled\", false);\r\n return;\r\n }\r\n\r\n try {\r\n await addExperienceRequest(sector.value.toString(), parseInt(ocupation.value), company.value);\r\n addToast(NEW_EXPERIENCE_TOAST, 'success', 2000);\r\n closeExperienceModal();\r\n if(window.addBrazeEvent) window.addBrazeEvent(\"B2C - Update profile\");\r\n } catch (error: any) {\r\n addToast(GENERAL_ERROR, 'error', 2000);\r\n addExperienceButton().prop(\"disabled\", false);\r\n }\r\n}","// Components\r\nimport { addToast } from \"../../components/toasts\";\r\n\r\n// Models\r\nimport { StudyDegree } from \"../../models/study-degree\";\r\nimport { Study } from \"../../models/study\";\r\n\r\n// Resources\r\nimport { catchError } from \"../../catchErrors\";\r\n\r\n// Settings\r\nimport {\r\n finishAddFormationModal,\r\n onCloseModalExperiences,\r\n onCloseModalFormations,\r\n onCloseModalKillerQuestions,\r\n stepper,\r\n} from \"./offer-detail\";\r\nimport { COUNTRY_KEY } from \"../../settings\";\r\n\r\n// Requests\r\nimport {\r\n addFormationRequest,\r\n getHasRegulatedTraining,\r\n getStudies as getStudiesRequest,\r\n getStudiesDegrees as getStudiesDegreesRequest,\r\n setHaveNoRegulatedTraining,\r\n} from \"./requests\";\r\nimport { NEW_FORMATION_TOAST } from \"./settings\";\r\nimport { GENERAL_ERROR } from \"../../resources\";\r\nimport { addModalCloseCallback, removeModalCloseCallback, showModal, EuiModalSize } from \"../../components/modal\";\r\nimport { disableDropdown, enableDropdown, getDropdownValue, resetDropdown } from \"../../components/dropdown\";\r\n\r\nconst applyOfferModal = () => $(\"#applyOfferModal\");\r\nconst haveFormationYesButton = () => $(\"#haveFormationsYes\");\r\nconst haveFormationsNoButton = () => $(\"#haveFormationsNo\");\r\nconst addFormationButton = () => $(\"#addFormationButton\");\r\n\r\nconst offerTitle = () => $(\"#offerDetailSettings\").attr(\"data-OFFER_TITLE\")!;\r\nconst offerDescription = () =>\r\n $(\"#offerDetailSettings\").attr(\"data-OFFER_LOCATION\")!;\r\n\r\nconst STUDY_DEGREE_SELECTOR = \"#studyDegreeSelector\";\r\nconst STUDY_SELECTOR = \"#studySelector\";\r\n\r\nexport async function getHaveFormation(): Promise {\r\n try {\r\n const hasFormations: boolean = await getHasRegulatedTraining();\r\n return hasFormations;\r\n } catch (error) {\r\n catchError(error);\r\n return false;\r\n }\r\n}\r\n\r\nexport function showAddFormationModal() {\r\n haveFormationYesButton().off(\"click\", showNewFormationStep);\r\n haveFormationsNoButton().off(\r\n \"click\",\r\n setHaveNoRegulatedTrainingAndCloseModal\r\n );\r\n haveFormationYesButton().on(\"click\", showNewFormationStep);\r\n haveFormationsNoButton().on(\"click\", setHaveNoRegulatedTrainingAndCloseModal);\r\n\r\n removeModalCloseCallback('#applyOfferModal', onCloseModalExperiences);\r\n removeModalCloseCallback('#applyOfferModal', onCloseModalFormations);\r\n removeModalCloseCallback('#applyOfferModal', onCloseModalKillerQuestions);\r\n addModalCloseCallback('#applyOfferModal', onCloseModalFormations);\r\n\r\n $(\"#experienceOfferTitle\").text(offerTitle());\r\n $(\"#experienceOfferLocation\").text(offerDescription());\r\n\r\n showModal('#applyOfferModal', { isFullScreen: true, overlayClose: false, size: EuiModalSize.S });\r\n window.dataLayer?.push({\r\n event: \"PedirFormacionOferta\",\r\n });\r\n}\r\n\r\nexport async function showNewFormationStep() {\r\n if (COUNTRY_KEY !== \"PT\") {\r\n const studiesDegrees: Array = await getStudiesDegrees();\r\n\r\n let studyDegreeHTML: string = \"\";\r\n $(`${STUDY_DEGREE_SELECTOR} .eui-dropdown__options-body`).html();\r\n studiesDegrees.forEach((studyDegree: StudyDegree) => {\r\n studyDegreeHTML += `
  • \r\n ${studyDegree.description}\r\n
  • `\r\n });\r\n $(`${STUDY_DEGREE_SELECTOR} .eui-dropdown__options-body`).html(studyDegreeHTML);\r\n\r\n $(`${STUDY_DEGREE_SELECTOR} .eui-dropdown .eui-input`).on(\"change\", (event) => {\r\n resetDropdown($(`${STUDY_SELECTOR}`));\r\n const target: HTMLInputElement = event.target;\r\n const value = $(target).attr(\"eui-dropdown-val\")!;\r\n loadStudies(value);\r\n });\r\n\r\n disableDropdown($(STUDY_SELECTOR));\r\n resetDropdown($(`${STUDY_SELECTOR}`));\r\n } else {\r\n loadStudies(\"-1\");\r\n $(STUDY_DEGREE_SELECTOR).hide();\r\n }\r\n\r\n $(\"#addFormationForm\").validate();\r\n const formSettings = $.data($(\"#addFormationForm\")[0], \"validator\").settings;\r\n\r\n formSettings.submitHandler = (form: any) => {\r\n $(\"input\", form).blur();\r\n const validator = $(\"#addFormationForm\").validate();\r\n addFormation();\r\n };\r\n\r\n stepper.next();\r\n}\r\n\r\nasync function setHaveNoRegulatedTrainingAndCloseModal() {\r\n await setHaveNoRegulatedTraining();\r\n if(window.addBrazeEvent) window.addBrazeEvent(\"B2C - Update profile\");\r\n closeFormationModal();\r\n}\r\n\r\nfunction closeFormationModal() {\r\n finishAddFormationModal();\r\n}\r\n\r\nasync function getStudiesDegrees(): Promise> {\r\n const studiesDegrees: Array = await getStudiesDegreesRequest();\r\n return studiesDegrees;\r\n}\r\n\r\nasync function getStudies(studyDegree: string) {\r\n const studies = await getStudiesRequest(studyDegree);\r\n return studies;\r\n}\r\n\r\nasync function loadStudies(studyDegree: string) {\r\n const studies: Array = await getStudies(studyDegree);\r\n\r\n let studiesHTML: string = '';\r\n $(`${STUDY_SELECTOR} .eui-dropdown__options-body`).html();\r\n studies.forEach((study: Study) => {\r\n studiesHTML += `
  • \r\n ${study.description}\r\n
  • `\r\n });\r\n $(`${STUDY_SELECTOR} .eui-dropdown__options-body`).html(studiesHTML);\r\n enableDropdown($(STUDY_SELECTOR));\r\n}\r\n\r\nasync function addFormation() {\r\n addFormationButton().prop(\"disabled\", true);\r\n const studyDegree: { value: string; text: string } = getDropdownValue(STUDY_DEGREE_SELECTOR)!;\r\n const study: { value: string; text: string } = getDropdownValue(STUDY_SELECTOR)!;\r\n\r\n let formInvalid = !studyDegree.value || !study.value;\r\n\r\n if (COUNTRY_KEY == \"PT\") {\r\n formInvalid = !study.value;\r\n }\r\n\r\n if (formInvalid) {\r\n addFormationButton().prop(\"disabled\", false);\r\n addToast(GENERAL_ERROR, \"error\", 2000);\r\n return;\r\n }\r\n\r\n try {\r\n await addFormationRequest(studyDegree.value.toString(), study.value);\r\n addToast(NEW_FORMATION_TOAST, \"success\", 2000);\r\n if(window.addBrazeEvent) window.addBrazeEvent(\"B2C - Update profile\");\r\n closeFormationModal();\r\n } catch (error: any) {\r\n addFormationButton().prop(\"disabled\", false);\r\n addToast(GENERAL_ERROR, \"error\", 2000);\r\n }\r\n}\r\n","// Components\r\nimport { addToast } from \"../../components/toasts\";\r\n\r\n// Models\r\nimport { KillerQuestionAnswer } from \"../../models/killer-question-answer\";\r\n\r\n// Resources\r\nimport { GENERAL_ERROR, GENERAL_ERROR_SUPPORT_MODE } from \"../../resources\";\r\nimport { catchError } from \"../../catchErrors\";\r\n\r\n// Settings\r\nimport { POST_KQ_URL } from \"./settings\";\r\n\r\n// Requests\r\nimport { getKillerQuestions } from \"./requests\";\r\nimport { enableSubscribeOfferButton, finishKillerQuestionsModal, onCloseModalExperiences, onCloseModalFormations, onCloseModalKillerQuestions, stepper } from \"./offer-detail\";\r\nimport { addModalCloseCallback, closeModal, closeSpecificModal, removeModalCloseCallback, showModal, EuiModalSize } from \"../../components/modal\";\r\n\r\nconst offerTitle = () => $(\"#offerDetailSettings\").attr(\"data-OFFER_TITLE\")!;\r\nconst offerDescription = () => $(\"#offerDetailSettings\").attr(\"data-OFFER_LOCATION\")!;\r\nconst applyOfferModal = () => $(\"#applyOfferModal\");\r\nlet killerQuestions: string;\r\n\r\nexport async function getHaveKillerQuestions(): Promise {\r\n try {\r\n killerQuestions = await getKillerQuestions();\r\n $(\"[killer-questions-form\").remove();\r\n $(\"#applyOfferStepper\").append(killerQuestions);\r\n return killerQuestions !== '';\r\n } catch(error) {\r\n catchError(error);\r\n return false;\r\n }\r\n}\r\n\r\nexport async function showKillerQuestionsModal() {\r\n $(\"#applyOfferStepper [prev-step]\").on(\"click\", () => {\r\n stepper.prev();\r\n });\r\n\r\n const questionsIds: number[] = JSON.parse(\r\n atob($(\"#killerQuestionsIds\").attr(\"data-ids\")!)\r\n );\r\n\r\n const rules: JQueryValidation.RulesDictionary = {};\r\n questionsIds.forEach((id: number) => {\r\n // @ts-ignore\r\n rules[id.toString()] = { required: true };\r\n });\r\n const questionsSteps: number = $(\"[killer-questions-form]\").length;\r\n\r\n $(\"#experienceOfferTitle\").text(offerTitle());\r\n $(\"#experienceOfferLocation\").text(offerDescription());\r\n\r\n $(\"[killer-questions-form]\").each(\r\n (index: number, formElement: HTMLElement) => {\r\n $(formElement).validate({\r\n rules: rules,\r\n errorPlacement: () => {\r\n return true;\r\n },\r\n submitHandler: () => {\r\n if (questionsSteps - 1 === index) {\r\n sendKillerQuestions();\r\n } else {\r\n stepper.next();\r\n }\r\n },\r\n });\r\n }\r\n );\r\n\r\n removeModalCloseCallback('#applyOfferModal', onCloseModalExperiences);\r\n removeModalCloseCallback('#applyOfferModal', onCloseModalFormations);\r\n removeModalCloseCallback('#applyOfferModal', onCloseModalKillerQuestions);\r\n addModalCloseCallback('#applyOfferModal', onCloseModalKillerQuestions);\r\n\r\n showModal('#applyOfferModal', { isFullScreen: true, overlayClose: false, size: EuiModalSize.S });\r\n window.dataLayer?.push({\r\n event: \"PedirKillerQuestionsOferta\",\r\n });\r\n}\r\n\r\nfunction sendKillerQuestions(): void {\r\n $(\"#sendKillerQuestions\").prop(\"disabled\", true);\r\n\r\n const answers: KillerQuestionAnswer[] = [];\r\n const questionsIds: number[] = JSON.parse(\r\n atob($(\"#killerQuestionsIds\").attr(\"data-ids\")!)\r\n );\r\n\r\n questionsIds.forEach((id: number) => {\r\n const answer = $(`#applyOfferStepper [name=\"${id}\"]`);\r\n\r\n if (answer.length > 1) {\r\n answers.push({\r\n idQuestion: id,\r\n answer: \"\",\r\n selectedAnswer: +answer.filter(\":checked\").val()!,\r\n });\r\n } else {\r\n answers.push({\r\n idQuestion: id,\r\n answer: answer.val()!.toString(),\r\n selectedAnswer: null,\r\n });\r\n }\r\n });\r\n\r\n $.ajax({\r\n type: \"POST\",\r\n url: POST_KQ_URL,\r\n data: JSON.stringify(answers),\r\n contentType: \"application/json\",\r\n })\r\n .done(() => {\r\n applyOfferModal().off('hidden.bs.modal', enableSubscribeOfferButton);\r\n closeSpecificModal('#applyOfferModal');\r\n finishKillerQuestionsModal();\r\n })\r\n .fail((x) => {\r\n if (x.status == 412) addToast(GENERAL_ERROR_SUPPORT_MODE, \"info\");\r\n else addToast(GENERAL_ERROR);\r\n })\r\n .catch(catchError)\r\n .always(() => {\r\n $(\"#sendKillerQuestions\").prop(\"disabled\", false);\r\n });\r\n}\r\n","import dayjs from \"dayjs\";\r\nimport { catchError } from \"../../catchErrors\";\r\nimport {\r\n INCORRECT_PASSWORD,\r\n LOGIN_BLOCK_ERROR,\r\n LOGIN_BLOCK_ERROR_SINGULAR,\r\n LOGIN_BLOCK_RESTORE_PASSWORD_URL,\r\n LOGIN_BLOCK_WARNING,\r\n LOGIN_BLOCK_WARNING_SINGULAR,\r\n LOGIN_ERROR,\r\n USER_NOT_ACTIVATED,\r\n USER_NOT_EXIST,\r\n} from \"../../resources\";\r\nimport { deleteCookie, getCookie, setCookie } from \"../../storage\";\r\nimport { addToast, cleanToastsContainer } from \"../../components/toasts\";\r\nimport { LOGIN_BLOCK_MAX_TRIES, LOGIN_BLOCK_MINUTES, LOGIN_BLOCK_MINUTES_COOKIE_NAME, LOGIN_BLOCK_TRIES_COOKIE_NAME, LOGIN_URL } from \"./settings\";\r\nimport { showModal, EuiModalSize } from \"../../components/modal\";\r\n\r\nlet loginBlockRemovalTimeout: any;\r\n\r\n$(() => {\r\n const loginForm = $(\"#loginForm\");\r\n const submitLogin = $(\"#submitLogin\");\r\n\r\n if (loginForm[0] != null) {\r\n const formSettings = $.data(loginForm[0], \"validator\").settings;\r\n\r\n formSettings.submitHandler = (loginForm: any) => {\r\n $(\"input\", loginForm).blur();\r\n submitLogin.prop(\"disabled\", true);\r\n const loginData = {\r\n UrlReturn: $(\"#loginReturn\").val(),\r\n User: $(\"#loginUser\").val(),\r\n Password: $(\"#loginPassword\").val(),\r\n };\r\n\r\n $(\"#loginReturn\").val()?.toString() ?? \"/\";\r\n window.dataLayer?.push({\r\n event: \"Login_popup_oferta_call\",\r\n });\r\n $.post(LOGIN_URL, loginData)\r\n .done((result) => {\r\n removeLoginBlockCookies();\r\n const redirection: string =\r\n $(\"#loginReturn\").val()?.toString() ?? \"/\";\r\n window.dataLayer?.push({\r\n event: \"Login_popup_oferta_call_ok\",\r\n });\r\n if(window.changeUser) window.changeUser(result.workerGuid.toUpperCase());\r\n if(window.addBrazeEvent) window.addBrazeEvent(\"B2C - Log in\");\r\n setTimeout(() => window.location.replace(redirection), 500);\r\n })\r\n .fail((error) => {\r\n let errorMessage: string;\r\n const validator = $(\"#loginForm\").validate();\r\n switch (error.status) {\r\n case 400:\r\n errorMessage = INCORRECT_PASSWORD;\r\n handleLoginBlock();\r\n validator.showErrors({\r\n Password: errorMessage,\r\n });\r\n break;\r\n case 403:\r\n errorMessage = USER_NOT_ACTIVATED;\r\n validator.showErrors({\r\n User: errorMessage,\r\n });\r\n break;\r\n case 404:\r\n errorMessage = USER_NOT_EXIST;\r\n validator.showErrors({\r\n User: errorMessage,\r\n });\r\n break;\r\n default:\r\n errorMessage = LOGIN_ERROR;\r\n validator.showErrors({\r\n User: errorMessage,\r\n });\r\n break;\r\n }\r\n })\r\n .catch(catchError)\r\n .always(() => {\r\n _checkSubmitButton();\r\n });\r\n };\r\n }\r\n\r\n $(document).on(\"click\", \"[psf-open-login]\", (e) => {\r\n showModal(\"#loginModal\", { isFullScreen: true, size: EuiModalSize.XL });\r\n handleLoginBlockErrorToast();\r\n handleLoginBlockActions();\r\n setLoginBlockRemoval();\r\n });\r\n});\r\n\r\nfunction handleLoginBlock(): void {\r\n handleLoginBlockMaxTriesCookie();\r\n handleLoginBlockMinutesCookie();\r\n handleLoginBlockToast();\r\n handleLoginBlockActions();\r\n}\r\n\r\nfunction handleLoginBlockMaxTriesCookie(): void {\r\n let currentLoginTries: string = getCookie(LOGIN_BLOCK_TRIES_COOKIE_NAME);\r\n if(currentLoginTries == '') currentLoginTries = '1';\r\n else currentLoginTries = (parseInt(currentLoginTries) + 1).toString();\r\n if(parseInt(currentLoginTries) <= LOGIN_BLOCK_MAX_TRIES)\r\n setCookie(LOGIN_BLOCK_TRIES_COOKIE_NAME, currentLoginTries, '/');\r\n}\r\n\r\nfunction handleLoginBlockMinutesCookie(): void {\r\n const currentLoginTries: number = parseInt(getCookie(LOGIN_BLOCK_TRIES_COOKIE_NAME));\r\n if(currentLoginTries == LOGIN_BLOCK_MAX_TRIES) {\r\n const dateLimit: Date = _getMoreMinutesFromNow(LOGIN_BLOCK_MINUTES);\r\n setCookie(\r\n LOGIN_BLOCK_MINUTES_COOKIE_NAME, \r\n dateLimit.toISOString(), \r\n '/', \r\n dateLimit);\r\n deleteCookie(LOGIN_BLOCK_TRIES_COOKIE_NAME, '/');\r\n setCookie(LOGIN_BLOCK_TRIES_COOKIE_NAME, currentLoginTries, '/', dateLimit);\r\n }\r\n}\r\n\r\nfunction handleLoginBlockToast(): void {\r\n const currentLoginTries: number = parseInt(getCookie(LOGIN_BLOCK_TRIES_COOKIE_NAME));\r\n if(currentLoginTries == 1)\r\n return;\r\n else if(currentLoginTries == (LOGIN_BLOCK_MAX_TRIES - 1))\r\n addToast(\r\n _getLoginBlockWarningSingularMessage(), \r\n 'warning', \r\n 1000000, \r\n true,\r\n false);\r\n else if(currentLoginTries < LOGIN_BLOCK_MAX_TRIES)\r\n addToast(\r\n _getLoginBlockWarningMessage(currentLoginTries), \r\n 'warning', \r\n 1000000, \r\n true,\r\n false);\r\n else if(currentLoginTries == LOGIN_BLOCK_MAX_TRIES) {\r\n handleLoginBlockErrorToast();\r\n setLoginBlockRemoval();\r\n }\r\n}\r\n\r\nfunction handleLoginBlockErrorToast(): void {\r\n const currentLoginTries: number = parseInt(getCookie(LOGIN_BLOCK_TRIES_COOKIE_NAME));\r\n if(currentLoginTries == LOGIN_BLOCK_MAX_TRIES) {\r\n clearTimeout(loginBlockRemovalTimeout);\r\n const dateLoginBlock = dayjs(getCookie(LOGIN_BLOCK_MINUTES_COOKIE_NAME));\r\n const dateNow = dayjs();\r\n const dateSecondsDifference: number = dateLoginBlock.diff(dateNow, 'seconds');\r\n const dateMinutesDifference: number = Math.ceil(dateSecondsDifference / 60);\r\n let message = '';\r\n if(dateMinutesDifference <= 1)\r\n message = _getLoginBlockErrorSingularMessage();\r\n else\r\n message = _getLoginBlockErrorMessage(dateMinutesDifference);\r\n addToast(message, 'error', 1000000, true, false);\r\n }\r\n}\r\n\r\nfunction handleLoginBlockActions(): void {\r\n const dateLoginBlock = getCookie(LOGIN_BLOCK_MINUTES_COOKIE_NAME);\r\n if(dateLoginBlock != '') {\r\n $(\"#submitLogin\").attr(\"disabled\", \"true\");\r\n $(\"#blocked-access-error\").show()\r\n } else {\r\n $(\"#blocked-access-error\").hide();\r\n $(\"#submitLogin\").removeAttr(\"disabled\");\r\n }\r\n}\r\n\r\nfunction removeLoginBlockCookies(): void {\r\n deleteCookie(LOGIN_BLOCK_TRIES_COOKIE_NAME, '/');\r\n deleteCookie(LOGIN_BLOCK_MINUTES_COOKIE_NAME, '/');\r\n}\r\n\r\nfunction setLoginBlockRemoval(): void {\r\n const dateLoginBlock = getCookie(LOGIN_BLOCK_MINUTES_COOKIE_NAME);\r\n if(dateLoginBlock != '') {\r\n const dateLoginBlockDate = dayjs(getCookie(LOGIN_BLOCK_MINUTES_COOKIE_NAME));\r\n const dateNow = dayjs();\r\n const dateSecondsDifference: number = dateLoginBlockDate.diff(dateNow, 'seconds');\r\n\r\n loginBlockRemovalTimeout = setTimeout(() => {\r\n removeLoginBlockCookies();\r\n handleLoginBlockActions();\r\n cleanToastsContainer();\r\n }, dateSecondsDifference * 1000)\r\n }\r\n}\r\n\r\nfunction _getLoginBlockWarningSingularMessage(): string {\r\n const message: string = LOGIN_BLOCK_WARNING_SINGULAR;\r\n return message.replace('-0-', LOGIN_BLOCK_MINUTES.toString());\r\n}\r\n\r\nfunction _getLoginBlockWarningMessage(currentLoginTries: number): string {\r\n const message: string = LOGIN_BLOCK_WARNING;\r\n return message.replace('-0-', currentLoginTries.toString()).replace('-1-', LOGIN_BLOCK_MINUTES.toString());\r\n}\r\n\r\nfunction _getLoginBlockErrorSingularMessage(): string {\r\n const message: string = LOGIN_BLOCK_ERROR_SINGULAR;\r\n return message.replace('-0-', LOGIN_BLOCK_RESTORE_PASSWORD_URL);\r\n}\r\n\r\nfunction _getLoginBlockErrorMessage(minutes: number): string {\r\n const message: string = LOGIN_BLOCK_ERROR;\r\n return message.replace('-0-', minutes.toString()).replace('-1-', LOGIN_BLOCK_RESTORE_PASSWORD_URL);\r\n}\r\n\r\nfunction _getMoreMinutesFromNow(minutes: number): Date {\r\n return new Date(new Date().getTime() + (minutes * 60000));\r\n}\r\n\r\nfunction _checkSubmitButton(): void {\r\n const dateLoginBlock = getCookie(LOGIN_BLOCK_MINUTES_COOKIE_NAME);\r\n if(dateLoginBlock == '')\r\n $(\"#submitLogin\").removeAttr(\"disabled\");\r\n}","// Resources\r\nimport { GENERAL_ERROR, GENERAL_ERROR_SUPPORT_MODE } from \"../../resources\";\r\nimport { catchError } from \"../../catchErrors\";\r\n\r\n// Components\r\nimport { addToast } from \"../../components/toasts\";\r\n\r\n// Settings\r\nimport { POST_SUBSCRIBE_OFFER_URL } from \"./settings\";\r\nimport { COUNTRY_KEY, FRONT_OFFICE_URL } from \"../../settings\";\r\n\r\n// Functions\r\nimport {\r\n getHaveKillerQuestions,\r\n showKillerQuestionsModal,\r\n} from \"./killer-questions\";\r\nimport { getHaveExperience, showAddExperienceModal } from \"./experiences\";\r\nimport { getHaveFormation, showAddFormationModal } from \"./formations\";\r\nimport { Stepper } from \"../../components/stepper\";\r\nimport { getSession } from \"../../helpers\";\r\nimport { closeSpecificModal, showModal, EuiModalSize } from \"../../components/modal\";\r\nimport { initRelatedOffersComp } from \"../../components/relatedOffers\";\r\n\r\nconst applyOfferModal = () => $(\"#applyOfferModal\");\r\nconst stepBackButtons = () => $(\"[apply-offer-step-back]\");\r\nconst offerId = () => $(\".psf-offer-detail\").attr(\"data-offerid\");\r\n\r\nlet haveExperience: boolean;\r\nlet offerRequireExperience: boolean;\r\nlet haveFormations: boolean;\r\nlet offerRequireFormation: boolean;\r\nlet haveKillerQuestions: boolean;\r\nexport let stepper: Stepper;\r\n\r\ndeclare global {\r\n interface Window {\r\n pushUTM: Function;\r\n addBrazeEvent: Function;\r\n }\r\n}\r\n\r\n$(() => {\r\n $(\"[subscribe-offer]\").on(\"click\", async () => {\r\n const offerDetail = document.getElementsByClassName(\"psf-offer-detail\")[0];\r\n offerRequireFormation = !(\r\n offerDetail.getAttribute(\"data-isuntrained\") === \"True\"\r\n );\r\n offerRequireExperience = !(\r\n offerDetail.getAttribute(\"data-isinexperienced\") === \"True\"\r\n );\r\n\r\n window.dataLayer?.push({\r\n event: \"BotonInscripcionOferta\",\r\n });\r\n disableSubscribeOfferButton();\r\n\r\n haveExperience = await getHaveExperience();\r\n haveFormations = await getHaveFormation();\r\n haveKillerQuestions = await getHaveKillerQuestions();\r\n\r\n if (haveExperience || !offerRequireExperience) {\r\n $(\"[experience-step]\").remove();\r\n }\r\n\r\n if (haveFormations || !offerRequireFormation) {\r\n $(\"[formation-step]\").remove();\r\n }\r\n\r\n if (!haveKillerQuestions) {\r\n $(\"[killer-questions-form]\").remove();\r\n }\r\n\r\n stepper = new Stepper($(\"#applyOfferStepper\"));\r\n\r\n stepBackButtons().off(\"click\", doStepBack);\r\n stepBackButtons().on(\"click\", doStepBack);\r\n\r\n stepper.setStep(0);\r\n if (!haveExperience && offerRequireExperience) {\r\n setTimeout(() => showAddExperienceModal(), 1000);\r\n } else if (!haveFormations && offerRequireFormation) {\r\n setTimeout(() => showAddFormationModal(), 1000);\r\n } else if (haveKillerQuestions) {\r\n setTimeout(() => showKillerQuestionsModal(), 1000);\r\n } else subscribeOffer();\r\n });\r\n\r\n initRelatedOffersComp();\r\n});\r\n\r\n$(() => {\r\n $(document).on(\"click\", \"[share-button]\", (event) => {\r\n const currentUrl: string = $(\"meta[name='og:url']\").attr(\"content\")!;\r\n const socialNetwork: string = $(event.currentTarget).data(\"media\");\r\n\r\n switch (socialNetwork) {\r\n case \"facebook\":\r\n window.open(\r\n \"http://www.facebook.com/sharer/sharer.php?u=\" + currentUrl,\r\n \"_blank\",\r\n \"toolbar=no,left=0, top=0, width=500,height=400\"\r\n );\r\n break;\r\n case \"twitter\":\r\n let town: string = $(\"meta[name='og:town']\").attr(\"content\")!;\r\n const title: string = $(\"meta[name='og:title']\").attr(\"content\")!;\r\n const textParam: string = `${title} ${town} - Eurofirms @EUROFIRMS`;\r\n\r\n if (town.indexOf(\"-\") > -1) {\r\n town = town.substr(0, town.lastIndexOf(\"-\"));\r\n }\r\n\r\n window.open(\r\n \"https://twitter.com/intent/tweet?original_referer=\" +\r\n currentUrl +\r\n \"&ref_src=twsrc%5Etfw&text=\" +\r\n textParam +\r\n \"&tw_p=tweetbutton&url=\" +\r\n currentUrl,\r\n \"_blank\",\r\n \"toolbar=no,left=0, top=0, width=500,height=400\"\r\n );\r\n break;\r\n case \"linkedin\":\r\n window.open(\r\n \"https://www.linkedin.com/sharing/share-offsite/?url=\" + currentUrl,\r\n \"_blank\",\r\n \"toolbar=no,left=0, top=0, width=500,height=400\"\r\n );\r\n break;\r\n }\r\n });\r\n});\r\n\r\nexport function subscribeOffer() {\r\n closeSpecificModal('#applyOfferModal');\r\n $.post(POST_SUBSCRIBE_OFFER_URL)\r\n .done(() => {\r\n showModal(\"#offerSubscribedModal\", { overlayClose: false, size: EuiModalSize.S });\r\n\r\n const offerIdValue = offerId();\r\n const session = getSession();\r\n window.pushUTM(\r\n `${FRONT_OFFICE_URL}UTMs/InsertJobApplyUTMEvent?orderGuid=${offerIdValue}`,\r\n session.jwToken\r\n );\r\n if (window.addBrazeEvent)\r\n window.addBrazeEvent(\"B2C - Apply to a job offer\");\r\n })\r\n .fail((x) => {\r\n if (x.status == 412) addToast(GENERAL_ERROR_SUPPORT_MODE, \"info\");\r\n else addToast(GENERAL_ERROR);\r\n })\r\n .catch(catchError)\r\n .always(() => {\r\n enableSubscribeOfferButton();\r\n });\r\n}\r\n\r\nexport function finishAddExperienceModal() {\r\n if (!haveFormations && offerRequireFormation) {\r\n showAddFormationModal();\r\n stepper.setStep(2);\r\n } else if (haveKillerQuestions) {\r\n showKillerQuestionsModal();\r\n stepper.setStep(2);\r\n } else subscribeOffer();\r\n}\r\n\r\nexport function finishAddFormationModal() {\r\n if (haveKillerQuestions) {\r\n showKillerQuestionsModal();\r\n !haveExperience && offerRequireExperience\r\n ? stepper.setStep(4)\r\n : stepper.setStep(2);\r\n } else subscribeOffer();\r\n}\r\n\r\nexport function finishKillerQuestionsModal() {\r\n subscribeOffer();\r\n}\r\n\r\nexport function enableSubscribeOfferButton() {\r\n $(\"[subscribe-offer]\").prop(\"disabled\", false);\r\n}\r\n\r\nexport function onCloseModalExperiences() {\r\n window.dataLayer?.push({\r\n event: \"SalirExperienciaOferta\",\r\n });\r\n enableSubscribeOfferButton();\r\n}\r\n\r\nexport function onCloseModalFormations() {\r\n window.dataLayer?.push({\r\n event: \"SalirFormacionOferta\",\r\n });\r\n enableSubscribeOfferButton();\r\n}\r\n\r\nexport function onCloseModalKillerQuestions() {\r\n window.dataLayer?.push({\r\n event: \"SalirKillerQuestionsOferta\",\r\n });\r\n enableSubscribeOfferButton();\r\n}\r\n\r\nexport function disableSubscribeOfferButton() {\r\n $(\"[subscribe-offer]\").prop(\"disabled\", true);\r\n}\r\n\r\nfunction doStepBack() {\r\n if (stepper.index != 0) stepper.prev();\r\n else {\r\n closeSpecificModal('#applyOfferModal');\r\n }\r\n}\r\n","// Models\r\nimport { Ocupation } from \"../../models/ocupation\";\r\nimport { Sector } from \"../../models/sector\";\r\nimport { Study } from \"../../models/study\";\r\nimport { StudyDegree } from \"../../models/study-degree\";\r\n\r\n// URLs\r\nimport { GET_HAS_REGULATED_TRAINING, GET_HAVE_EXPERIENCE_URL, GET_KQ_URL, GET_OCUPATION_URL, GET_SECTORS_URL, GET_STUDIES_DEGREES_URL, GET_STUDIES_URL, SET_EXPERIENCE_URL, SET_FORMATION_URL, SET_HAVE_NO_EXPERIENCE_URL, SET_HAVE_NO_REGULATED_TRAINING_URL } from \"./settings\";\r\n\r\n// Resources\r\nimport { catchError } from \"../../catchErrors\";\r\n\r\nexport async function addFormationRequest(studyDegree: string, study: string): Promise {\r\n try {\r\n const data = new URLSearchParams();\r\n data.append('StudyDegree', studyDegree);\r\n data.append('Study', study);\r\n await fetch(SET_FORMATION_URL, { \r\n method: 'POST',\r\n body : data\r\n }); \r\n return true;\r\n } catch(error) {\r\n catchError(error);\r\n return false;\r\n }\r\n}\r\n\r\nexport async function getStudies(studyDegree: string): Promise> {\r\n try {\r\n const response: Response = await fetch(`${GET_STUDIES_URL}?degree=${studyDegree}`);\r\n const studies: Array = await response.json();\r\n return studies;\r\n } catch(error) {\r\n catchError(error);\r\n return [];\r\n }\r\n}\r\n\r\nexport async function getStudiesDegrees(): Promise> {\r\n try {\r\n const response = await fetch(GET_STUDIES_DEGREES_URL);\r\n const studiesDegrees: Array = await response.json();\r\n return studiesDegrees;\r\n } catch(error) {\r\n catchError(error);\r\n return [];\r\n }\r\n}\r\n\r\nexport async function getHasRegulatedTraining(): Promise {\r\n try {\r\n const response: Response = await fetch(GET_HAS_REGULATED_TRAINING)\r\n return response.status === 204;\r\n } catch(error) {\r\n catchError(error);\r\n return false;\r\n }\r\n}\r\n\r\nexport async function setHaveNoRegulatedTraining(): Promise {\r\n try {\r\n await fetch(SET_HAVE_NO_REGULATED_TRAINING_URL, { method: 'POST' });\r\n return true;\r\n } catch(error) {\r\n catchError(error);\r\n return false;\r\n }\r\n}\r\n\r\nexport async function getSectors(): Promise> {\r\n try {\r\n const response = await fetch(GET_SECTORS_URL);\r\n const sectors: Array = await response.json();\r\n return sectors;\r\n } catch(error) {\r\n catchError(error);\r\n return [];\r\n }\r\n}\r\n\r\nexport async function getOcupations(): Promise> {\r\n try {\r\n const response = await fetch(GET_OCUPATION_URL);\r\n const ocupations: Array = await response.json();\r\n return ocupations;\r\n } catch(error) {\r\n catchError(error);\r\n return [];\r\n }\r\n}\r\n\r\nexport async function addExperienceRequest(sector: string, ocupation: number, company: string): Promise {\r\n try {\r\n const data = new URLSearchParams();\r\n data.append('Sector', sector);\r\n data.append('Ocupation', ocupation.toString());\r\n data.append('Company', company);\r\n await fetch(SET_EXPERIENCE_URL, { \r\n method: 'POST',\r\n body : data\r\n });\r\n return true;\r\n } catch(error) {\r\n catchError(error);\r\n return false;\r\n }\r\n}\r\n\r\nexport async function getHaveExperience(): Promise {\r\n try {\r\n const response = await fetch(GET_HAVE_EXPERIENCE_URL);\r\n return response.status === 204;\r\n } catch(error) {\r\n catchError(error);\r\n return false;\r\n }\r\n}\r\n\r\nexport async function getKillerQuestions(): Promise {\r\n try {\r\n const response = await fetch(GET_KQ_URL);\r\n return await response.text();\r\n } catch(error) {\r\n catchError(error);\r\n return '';\r\n }\r\n}\r\n\r\nexport async function setHaveNoExperience(): Promise {\r\n try {\r\n await fetch(SET_HAVE_NO_EXPERIENCE_URL, { method: 'POST' });\r\n return true;\r\n } catch(error) {\r\n catchError(error);\r\n return false;\r\n }\r\n}","export let GET_KQ_URL: string;\r\nexport let POST_KQ_URL: string;\r\nexport let POST_SUBSCRIBE_OFFER_URL: string;\r\nexport let POST_USER_ACT_CAND_URL: string;\r\nexport let OFFER_ID: string;\r\nexport let CURRENT_URL: string;\r\nexport let LOGIN_URL: string;\r\nexport let LOGIN_BLOCK_MAX_TRIES: number;\r\nexport let LOGIN_BLOCK_MINUTES: number;\r\nexport let LOGIN_BLOCK_TRIES_COOKIE_NAME: string;\r\nexport let LOGIN_BLOCK_MINUTES_COOKIE_NAME: string;\r\nexport let GET_HAVE_EXPERIENCE_URL: string;\r\nexport let GET_SECTORS_URL: string;\r\nexport let GET_OCUPATION_URL: string;\r\nexport let SET_EXPERIENCE_URL: string;\r\nexport let SET_HAVE_NO_EXPERIENCE_URL: string;\r\nexport let GET_HAS_REGULATED_TRAINING: string;\r\nexport let GET_STUDIES_DEGREES_URL: string;\r\nexport let GET_STUDIES_URL: string;\r\nexport let SET_FORMATION_URL: string;\r\nexport let SET_HAVE_NO_REGULATED_TRAINING_URL: string;\r\nexport let NEW_EXPERIENCE_TOAST: string;\r\nexport let NEW_FORMATION_TOAST: string;\r\n\r\n$(() => {\r\n const settingsElement = $(\"#offerDetailSettings\");\r\n GET_KQ_URL = settingsElement.attr(\"data-GET_KQ_URL\")!;\r\n POST_KQ_URL = settingsElement.attr(\"data-POST_KQ_URL\")!;\r\n POST_SUBSCRIBE_OFFER_URL = settingsElement.attr(\r\n \"data-POST_SUBSCRIBE_OFFER_URL\"\r\n )!;\r\n POST_USER_ACT_CAND_URL = settingsElement.attr(\r\n \"data-POST_USER_ACT_CAND_URL\"\r\n )!;\r\n OFFER_ID = settingsElement.attr(\"data-OFFER_ID\")!;\r\n CURRENT_URL = settingsElement.attr(\"data-CURRENT_URL\")!;\r\n LOGIN_URL = settingsElement.attr(\"data-LOGIN_URL\")!;\r\n\r\n LOGIN_BLOCK_MAX_TRIES = 4;\r\n LOGIN_BLOCK_MINUTES = 10;\r\n LOGIN_BLOCK_TRIES_COOKIE_NAME = \"ett-password-block\";\r\n LOGIN_BLOCK_MINUTES_COOKIE_NAME = \"ett-password-block-time\";\r\n GET_HAVE_EXPERIENCE_URL = $(\"#offerDetailSettings\").attr(\"data-GET_HAVE_EXPERIENCE_URL\")!;\r\n GET_SECTORS_URL = $(\"#offerDetailSettings\").attr(\"data-GET_SECTORS_URL\")!;\r\n GET_OCUPATION_URL = $(\"#offerDetailSettings\").attr(\"data-GET_OCUPATION_URL\")!;\r\n SET_EXPERIENCE_URL = $(\"#offerDetailSettings\").attr(\"data-SET_EXPERIENCE_URL\")!;\r\n GET_STUDIES_DEGREES_URL = $(\"#offerDetailSettings\").attr(\"data-GET_STUDIES_DEGREES_URL\")!;\r\n GET_HAS_REGULATED_TRAINING = $(\"#offerDetailSettings\").attr(\"data-GET_HAS_REGULATED_TRAINING\")!;\r\n GET_STUDIES_URL = $(\"#offerDetailSettings\").attr(\"data-GET_STUDIES_URL\")!;\r\n SET_FORMATION_URL = $(\"#offerDetailSettings\").attr(\"data-SET_FORMATION_URL\")!;\r\n SET_HAVE_NO_EXPERIENCE_URL = $(\"#offerDetailSettings\").attr(\"data-SET_HAVE_NO_EXPERIENCE_URL\")!;\r\n SET_HAVE_NO_REGULATED_TRAINING_URL = $(\"#offerDetailSettings\").attr(\"data-SET_HAVE_NO_REGULATED_TRAINING_URL\")!;\r\n NEW_EXPERIENCE_TOAST = $(\"#offerDetailSettings\").attr(\"data-NEW_EXPERIENCE_TOAST\")!;\r\n NEW_FORMATION_TOAST = $(\"#offerDetailSettings\").attr(\"data-NEW_FORMATION_TOAST\")!;\r\n});\r\n"],"names":["psfRelatedOffersContent","psfRelatedOffersList","$","off","on","ev","scrollLeft","scrollWidth","innerWidth","find","hide","css","display","preventDefault","scrollElementRight","scrollElementLeft","constructor","stepper","this","steps","getSteps","activeStep","first","not","index","length","next","changeStep","prev","setStep","step","get","fadeOut","show","trigger","fadeIn","PENDING_CLOTHING","attr","PENDING_FORMATION","PENDING_DOCUMENT","PENDING_SURVEY","COURSES","CLOTHINGS","SURVEYS","DOCUMENTS","ACCESS","START","SIGN","SHOW_MORE","SHOW_LESS","INCORRECT_PASSWORD","USER_NOT_ACTIVATED","USER_NOT_EXIST","LOGIN_ERROR","GENERAL_ERROR","GENERAL_ERROR_SUPPORT_MODE","LOGIN_BLOCK_WARNING","LOGIN_BLOCK_WARNING_SINGULAR","LOGIN_BLOCK_ERROR","LOGIN_BLOCK_ERROR_SINGULAR","LOGIN_BLOCK_RESTORE_PASSWORD_URL","haveExperienceYesButton","haveExperienceNoButton","addExperienceButton","SECTOR_SELECTOR","OCUPATION_SELECTOR","async","showNewExperienceStep","sectors","getSectors","ocupations","getOcupations","sectorHTML","html","forEach","sector","id","description","ocupationHTML","ocupation","validate","data","settings","submitHandler","form","blur","prop","getDropdownValue","company","serializeArray","inputField","name","value","addToast","addExperienceRequest","toString","parseInt","NEW_EXPERIENCE_TOAST","closeExperienceModal","window","addBrazeEvent","error","addExperience","setHaveNoExperienceAndCloseModal","setHaveNoExperience","finishAddExperienceModal","getHaveExperience","catchError","removeModalCloseCallback","onCloseModalExperiences","onCloseModalFormations","onCloseModalKillerQuestions","addModalCloseCallback","text","showModal","isFullScreen","overlayClose","size","EuiModalSize","S","dataLayer","push","event","haveFormationYesButton","haveFormationsNoButton","addFormationButton","STUDY_DEGREE_SELECTOR","STUDY_SELECTOR","showNewFormationStep","COUNTRY_KEY","studiesDegrees","getStudiesDegrees","studyDegreeHTML","studyDegree","resetDropdown","target","loadStudies","disableDropdown","study","formInvalid","addFormationRequest","NEW_FORMATION_TOAST","closeFormationModal","addFormation","setHaveNoRegulatedTrainingAndCloseModal","setHaveNoRegulatedTraining","finishAddFormationModal","studies","getStudies","studiesHTML","enableDropdown","getHasRegulatedTraining","killerQuestions","getKillerQuestions","remove","append","questionsIds","JSON","parse","atob","rules","required","questionsSteps","each","formElement","errorPlacement","answers","answer","idQuestion","selectedAnswer","filter","val","ajax","type","url","POST_KQ_URL","stringify","contentType","done","enableSubscribeOfferButton","closeSpecificModal","finishKillerQuestionsModal","fail","x","status","catch","always","sendKillerQuestions","loginBlockRemovalTimeout","handleLoginBlockErrorToast","getCookie","LOGIN_BLOCK_TRIES_COOKIE_NAME","LOGIN_BLOCK_MAX_TRIES","clearTimeout","dateLoginBlock","LOGIN_BLOCK_MINUTES_COOKIE_NAME","dateNow","dateSecondsDifference","diff","dateMinutesDifference","Math","ceil","message","replace","minutes","handleLoginBlockActions","removeAttr","removeLoginBlockCookies","deleteCookie","setLoginBlockRemoval","dateLoginBlockDate","setTimeout","cleanToastsContainer","loginForm","submitLogin","loginData","UrlReturn","User","Password","post","LOGIN_URL","result","redirection","changeUser","workerGuid","toUpperCase","location","errorMessage","validator","currentLoginTries","setCookie","handleLoginBlockMaxTriesCookie","dateLimit","LOGIN_BLOCK_MINUTES","Date","getTime","toISOString","handleLoginBlockMinutesCookie","_getLoginBlockWarningMessage","handleLoginBlockToast","showErrors","document","e","XL","stepBackButtons","haveExperience","offerRequireExperience","haveFormations","offerRequireFormation","haveKillerQuestions","subscribeOffer","POST_SUBSCRIBE_OFFER_URL","offerIdValue","session","getSession","pushUTM","FRONT_OFFICE_URL","jwToken","disableSubscribeOfferButton","doStepBack","offerDetail","getElementsByClassName","getAttribute","getHaveFormation","getHaveKillerQuestions","Stepper","showAddExperienceModal","showAddFormationModal","showKillerQuestionsModal","initRelatedOffersComp","currentUrl","currentTarget","open","town","textParam","indexOf","substr","lastIndexOf","URLSearchParams","fetch","SET_FORMATION_URL","method","body","response","GET_STUDIES_URL","json","GET_STUDIES_DEGREES_URL","GET_HAS_REGULATED_TRAINING","SET_HAVE_NO_REGULATED_TRAINING_URL","GET_SECTORS_URL","GET_OCUPATION_URL","SET_EXPERIENCE_URL","GET_HAVE_EXPERIENCE_URL","GET_KQ_URL","SET_HAVE_NO_EXPERIENCE_URL","settingsElement","POST_USER_ACT_CAND_URL","OFFER_ID","CURRENT_URL"],"sourceRoot":""}