Current Path : /var/www/axolotl/data/www/arhangelsk.axolotls.ru/a537b/ |
Current File : /var/www/axolotl/data/www/arhangelsk.axolotls.ru/a537b/component.tar |
dialog/messenger.component.dialog.bundle.map.js 0000664 00000043717 14774427135 0015650 0 ustar 00 {"version":3,"sources":["messenger.component.dialog.bundle.js"],"names":["exports","TemplateType","Object","freeze","message","delimiter","group","historyLoader","unreadLoader","button","ObserverType","history","unread","read","none","MessengerStore","messages","BX","Messenger","Model","Messages","getName","dialogues","Dialogues","LoadButtonTypes","before","after","ReferenceClassName","listItem","listItemBody","listUnreadLoader","Vue","component","props","userId","default","dialogId","chatId","listenEventScrollToBottom","listenEventRequestHistory","listenEventRequestUnread","messageLimit","enableEmotions","enableDateActions","enableCreateContent","showMessageAvatar","showMessageMenu","data","showScrollButton","messageShowCount","messageExtraCount","unreadLoaderShow","unreadLoaderBlocked","historyLoaderBlocked","historyLoaderShow","startMessageLimit","created","this","scrollIsChanged","scrollBlocked","scrollButtonDiff","scrollButtonShowTimeout","scrollPosition","scrollPositionChangeTime","Date","getTime","observers","requestHistoryInterval","requestUnreadInterval","lastAuthorId","firstMessageId","firstUnreadMessageId","lastMessageId","dateFormatFunction","cacheGroupTitle","waitLoadHistory","waitLoadUnread","readMessageQueue","dialog","counter","event","$on","onScrollToBottom","$root","onRequestHistoryAnswer","onRequestUnreadAnswer","window","addEventListener","onWindowFocus","onWindowBlur","beforeDestroy","clearTimeout","clearInterval","$off","removeEventListener","mounted","body","$refs","unreadId","Utils","scrollToFirstUnreadMessage","collection","scrollTop","scrollHeight","offsetHeight","windowFocused","document","hasFocus","beforeUpdate","unreadCounter","updated","_this","$nextTick","scrollTo","computed","localize","getFilteredPhrases","$bitrixMessages","$store","state","elementsWithLimit","_this2","start","length","groupNode","slicedCollection","slice","id","forEach","element","_groupTitle","date","push","Blocks","getGroup","title","authorId","getDelimiter","unreadLastId","statusWriting","writingList","users","map","userName","IM_MESSENGER_DIALOG_WRITES_MESSAGE","replace","join","statusReaded","methods","onDialogClick","testNode","target","className","onCommandClick","$emit","value","dataset","entity","nextSibling","innerHTML","command","type","onScroll","_this3","setTimeout","scrollToBottom","_this4","force","arguments","undefined","scrollToMessageId","params","_this5","callback","_params","_params$start","_params$end","end","_params$increment","increment","_params$duration","duration","diff","currentPosition","easeInOutQuad","current","requestFrame","requestAnimationFrame","webkitRequestAnimationFrame","mozRequestAnimationFrame","animateScroll","_this6","messageId","requestReadMessage","requestHistoryDelayed","_this7","Logger","log","requestHistory","setInterval","getElementsByClassName","scrollToElementAfterLoadHistory","lastId","requestUnreadDelayed","_this8","requestUnread","error","count","scrollIntoView","scrollToElementAfterLoadUnread","_body","readMessage","onClickByUserName","onClickByMessageMenu","onClickByMessageRetry","_getDateFormat","_this9","create","Main","_getMessage","phrase","getDateFormat","dateFormat","getDateFormatType","Const","groupTitle","format","directives","bx-messenger-dialog-observer","inserted","bindings","vnode","context","getMessageLoaderObserver","observe","unbind","unobserve","template","toJSON","index","offsetTop","elementBody","previousOffsetTop","config","IntersectionObserver","observerCallback","observerOptions","entries","observer","entry","sendReadEvent","isIntersecting","intersectionRatio","rootBounds","height","boundingClientRect","intersectionRect","root","threshold","Array","fill","zero","templateId","templateType","text","getHistoryLoader","getUnreadLoader","getLoadButton"],"mappings":"CAAC,SAAUA,GACV,aAWA,IAAIC,EAAeC,OAAOC,QACxBC,QAAS,UACTC,UAAW,YACXC,MAAO,QACPC,cAAe,gBACfC,aAAc,eACdC,OAAQ,WAEV,IAAIC,EAAeR,OAAOC,QACxBQ,QAAS,UACTC,OAAQ,SACRC,KAAM,OACNC,KAAM,SAER,IAAIC,EAAiBb,OAAOC,QAC1Ba,SAAUC,GAAGC,UAAUC,MAAMC,SAASC,UACtCC,UAAWL,GAAGC,UAAUC,MAAMI,UAAUF,YAE1C,IAAIG,EAAkBtB,OAAOC,QAC3BsB,OAAQ,SACRC,MAAO,UAET,IAAIC,EAAqBzB,OAAOC,QAC9ByB,SAAU,mCACVC,aAAc,2CACdC,iBAAkB,8CAEpBb,GAAGc,IAAIC,UAAU,uBAgBfC,OACEC,QACEC,QAAS,GAEXC,UACED,QAAS,GAEXE,QACEF,QAAS,GAEXG,2BACEH,QAAS,IAEXI,2BACEJ,QAAS,IAEXK,0BACEL,QAAS,IAEXM,cACEN,QAAS,IAEXO,gBACEP,QAAS,MAEXQ,mBACER,QAAS,MAEXS,qBACET,QAAS,MAEXU,mBACEV,QAAS,MAEXW,iBACEX,QAAS,OAGbY,KAAM,SAASA,IACb,OACEC,iBAAkB,MAClBC,iBAAkB,EAClBC,kBAAmB,EACnBC,iBAAkB,MAClBC,oBAAqB,MACrBC,qBAAsB,MACtBC,kBAAmB,MACnBC,kBAAmB,EACnBtD,aAAcA,EACdS,aAAcA,EACdiB,mBAAoBA,IAGxB6B,QAAS,SAASA,IAChBC,KAAKC,gBAAkB,MACvBD,KAAKE,cAAgB,MACrBF,KAAKG,iBAAmB,GACxBH,KAAKI,wBAA0B,KAC/BJ,KAAKK,eAAiB,EACtBL,KAAKM,0BAA2B,IAAIC,MAAOC,UAC3CR,KAAKS,aACLT,KAAKU,uBAAyB,KAC9BV,KAAKW,sBAAwB,KAC7BX,KAAKY,aAAe,EACpBZ,KAAKa,eAAiB,KACtBb,KAAKc,qBAAuB,KAC5Bd,KAAKe,cAAgB,KACrBf,KAAKgB,mBAAqB,KAC1BhB,KAAKiB,mBACLjB,KAAKkB,gBAAkB,MACvBlB,KAAKmB,eAAiB,MACtBnB,KAAKoB,oBACLpB,KAAKL,oBAAsBK,KAAKqB,OAAOC,UAAY,EACnDtB,KAAKF,kBAAoBE,KAAKhB,aAE9B,GAAIgB,KAAKnB,0BAA2B,CAClCrB,GAAGc,IAAIiD,MAAMC,IAAIxB,KAAKnB,0BAA2BmB,KAAKyB,kBACtDzB,KAAK0B,MAAMF,IAAIxB,KAAKnB,0BAA2BmB,KAAKyB,kBAGtD,GAAIzB,KAAKlB,0BAA2B,CAClCkB,KAAK0B,MAAMF,IAAIxB,KAAKlB,0BAA2BkB,KAAK2B,wBAGtD,GAAI3B,KAAKjB,yBAA0B,CACjCiB,KAAK0B,MAAMF,IAAIxB,KAAKjB,yBAA0BiB,KAAK4B,uBAGrDC,OAAOC,iBAAiB,QAAS9B,KAAK+B,eACtCF,OAAOC,iBAAiB,OAAQ9B,KAAKgC,eAEvCC,cAAe,SAASA,IACtBjC,KAAKS,aACLyB,aAAalC,KAAKI,yBAClB+B,cAAcnC,KAAKU,wBACnByB,cAAcnC,KAAKW,uBAEnB,GAAIX,KAAKnB,0BAA2B,CAClCrB,GAAGc,IAAIiD,MAAMa,KAAKpC,KAAKnB,0BAA2BmB,KAAKyB,kBACvDzB,KAAK0B,MAAMU,KAAKpC,KAAKnB,0BAA2BmB,KAAKyB,kBAGvD,GAAIzB,KAAKlB,0BAA2B,CAClCkB,KAAK0B,MAAMU,KAAKpC,KAAKlB,0BAA2BkB,KAAK2B,wBAGvD,GAAI3B,KAAKjB,yBAA0B,CACjCiB,KAAK0B,MAAMU,KAAKpC,KAAKjB,yBAA0BiB,KAAK4B,uBAGtDC,OAAOQ,oBAAoB,QAASrC,KAAK+B,eACzCF,OAAOQ,oBAAoB,OAAQrC,KAAKgC,eAE1CM,QAAS,SAASA,IAChB,IAAIC,EAAOvC,KAAKwC,MAAMD,KACtB,IAAIE,EAAWzC,KAAKqB,OAAOoB,SAE3B,GAAIA,EAAU,CACZC,EAAMC,2BAA2B3C,KAAMA,KAAK4C,WAAYH,EAAU,UAC7D,CACLF,EAAKM,UAAYN,EAAKO,aAAeP,EAAKQ,aAG5C/C,KAAKgD,cAAgBC,SAASC,YAEhCC,aAAc,SAASA,IACrB,IAAIZ,EAAOvC,KAAKwC,MAAMD,KAEtB,GAAIvC,KAAKE,cAAe,CACtBF,KAAKC,gBAAkB,UAClB,CACLD,KAAKC,gBAAkBsC,EAAKM,UAAY7C,KAAKG,kBAAoBoC,EAAKO,aAAeP,EAAKQ,aAE1F,IAAK/C,KAAKC,kBAAoBD,KAAKT,kBAAoBS,KAAKoD,cAAgB,EAAG,CAC7EpD,KAAKT,iBAAmB,QAI9B8D,QAAS,SAASA,IAChB,IAAIC,EAAQtD,KAEZ,IAAKA,KAAKC,gBAAiB,CACzB,OAGFD,KAAKuD,UAAU,WACb,IAAIhB,EAAOe,EAAMd,MAAMD,KAEvB,GAAIe,EAAMrD,gBAAiB,CACzB,IAAKqD,EAAMN,eAAiBM,EAAMF,cAAgB,IAAME,EAAM/D,iBAAkB,CAC9EmD,EAAMC,2BAA2BW,EAAOA,EAAMV,WAAYU,EAAMxC,sBAChE,OAGFwC,EAAME,SAAS,WACbtB,aAAaoB,EAAMlD,yBAEnB,GAAIkD,EAAM/D,kBAAoB+D,EAAMN,cAAe,CACjDM,EAAM/D,iBAAmB,aAMnCkE,UACEC,SAAU,SAASA,IACjB,OAAOlG,GAAGc,IAAIqF,mBAAmB,uBAAwB3D,KAAK0B,MAAMkC,kBAEtEvC,OAAQ,SAASA,IACf,IAAIA,EAASrB,KAAK6D,OAAOC,MAAMxG,EAAeO,WAAW+E,WAAW5C,KAAKrB,UACzE,OAAO0C,EAASA,MAElBuB,WAAY,SAASA,IACnB,IAAIA,EAAa5C,KAAK6D,OAAOC,MAAMxG,EAAeC,UAAUqF,WAAW5C,KAAKpB,QAC5E,OAAOgE,EAAaA,MAEtBmB,kBAAmB,SAASA,IAC1B,IAAIC,EAAShE,KAEb,IAAIiE,EAAQjE,KAAK4C,WAAWsB,QAAUlE,KAAKP,kBAAoBO,KAAKhB,cAEpE,IAAKgB,KAAKH,mBAAqBoE,EAAQ,EAAG,CACxCA,EAAQ,EAGV,IAAIrB,KACJ,IAAIhC,EAAe,EACnB,IAAIuD,KACJ,IAAIC,EAAmBH,GAAS,EAAIjE,KAAK4C,WAAa5C,KAAK4C,WAAWyB,MAAMJ,EAAOjE,KAAK4C,WAAWsB,QACnGlE,KAAKR,iBAAmB4E,EAAiBF,OAEzC,GAAIlE,KAAKR,iBAAmB,EAAG,CAC7BQ,KAAKa,eAAiBuD,EAAiB,GAAGE,GAC1CtE,KAAKe,cAAgBqD,EAAiBA,EAAiBF,OAAS,GAAGI,GAGrE,GAAItE,KAAK4C,WAAWsB,QAAUlE,KAAKhB,cAAgBgB,KAAK4C,WAAWsB,QAAUlE,KAAKR,kBAAoBQ,KAAKJ,uBAAyB,MAAO,CACzII,KAAKH,kBAAoB,SACpB,CACLG,KAAKH,kBAAoB,MAG3BG,KAAKc,qBAAuB,EAC5BsD,EAAiBG,QAAQ,SAAUC,GACjC,IAAI3H,EAAQmH,EAAOS,YAAYD,EAAQE,MAEvC,IAAKP,EAAUtH,EAAMyH,IAAK,CACxBH,EAAUtH,EAAMyH,IAAM,KACtB1B,EAAW+B,KAAKC,EAAOC,SAAShI,EAAMyH,GAAIzH,EAAMiI,aAC3C,GAAIlE,GAAgB4D,EAAQO,SAAU,CAC3CnC,EAAW+B,KAAKC,EAAOI,aAAaR,EAAQF,KAG9C1B,EAAW+B,KAAKH,GAChB5D,EAAe4D,EAAQO,SAEvB,GAAIP,EAAQrH,OAAQ,CAClB,IAAK6G,EAAOlD,qBAAsB,CAChCkD,EAAOlD,qBAAuB0D,EAAQF,OAK5C,GAAItE,KAAKqB,OAAO4D,aAAejF,KAAKe,eAAiBf,KAAKL,sBAAwB,MAAO,CACvFK,KAAKN,iBAAmB,SACnB,CACLM,KAAKN,iBAAmB,MAG1B,OAAOkD,GAETsC,cAAe,SAASA,IACtB,GAAIlF,KAAKqB,OAAO8D,YAAYjB,QAAU,EAAG,MAAO,GAChD,IAAIkB,EAAQpF,KAAKqB,OAAO8D,YAAYE,IAAI,SAAUb,GAChD,OAAOA,EAAQc,WAEjB,OAAOtF,KAAK0D,SAAS6B,mCAAmCC,QAAQ,SAAUJ,EAAMK,KAAK,QAEvFC,aAAc,SAASA,IACrB,OAAO,OAETtC,cAAe,SAASA,IACtB,OAAOpD,KAAKqB,OAAOC,QAAU,IAAM,IAAMtB,KAAKqB,OAAOC,UAGzDqE,SACEC,cAAe,SAASA,EAAcrE,GACpC,GAAI/D,GAAGc,IAAIuH,SAAStE,EAAMuE,QACxBC,UAAW,0BACT,CACF/F,KAAKgG,eAAezE,GAGtBvB,KAAKgD,cAAgB,KACrBhD,KAAKiG,MAAM,SACT1E,MAAOA,KAGXyE,eAAgB,SAASA,EAAezE,GACtC,IAAI2E,EAAQ,GAEZ,GAAI3E,EAAMuE,OAAOK,QAAQC,SAAW,QAAU7E,EAAMuE,OAAOK,QAAQC,SAAW,MAAO,CACnFF,EAAQ3E,EAAMuE,OAAOO,YAAYC,eAC5B,GAAI/E,EAAMuE,OAAOK,QAAQC,SAAW,OAAQ,CACjDF,EAAQ3E,EAAMuE,OAAOK,QAAQI,QAG/BvG,KAAKiG,MAAM,kBACTO,KAAMjF,EAAMuE,OAAOK,QAAQC,OAC3BF,MAAOA,EACP3E,MAAOA,KAGXkF,SAAU,SAASA,EAASlF,GAC1B,IAAImF,EAAS1G,KAEbA,KAAKK,eAAiBkB,EAAMuE,OAAOjD,UACnC7C,KAAKM,0BAA2B,IAAIC,MAAOC,UAC3C0B,aAAalC,KAAKI,yBAClBJ,KAAKI,wBAA0BuG,WAAW,WACxC,GAAIpF,EAAMuE,OAAOjD,UAAY6D,EAAOvG,kBAAoBoB,EAAMuE,OAAOhD,aAAevB,EAAMuE,OAAO/C,aAAc,CAC7G,GAAI2D,EAAOnH,mBAAqBmH,EAAOhH,kBAAoBgH,EAAO1D,cAAe,CAC/E0D,EAAOnH,iBAAmB,WAEvB,CACL,IAAKmH,EAAOnH,iBAAkB,CAC5BmH,EAAOnH,iBAAmB,QAG7B,KAEH,GAAIgC,EAAMuE,OAAOjD,WAAatB,EAAMuE,OAAOhD,aAAevB,EAAMuE,OAAO/C,aAAc,CACnFb,aAAalC,KAAKI,yBAElB,GAAIJ,KAAKT,mBAAqBS,KAAKN,kBAAoBM,KAAKgD,cAAe,CACzEhD,KAAKT,iBAAmB,SAI9BqH,eAAgB,SAASA,IACvB,IAAIC,EAAS7G,KAEb,IAAI8G,EAAQC,UAAU7C,OAAS,GAAK6C,UAAU,KAAOC,UAAYD,UAAU,GAAK,MAChF,IAAIxE,EAAOvC,KAAKwC,MAAMD,KAEtB,GAAIvC,KAAKqB,OAAOC,QAAU,EAAG,CAC3B,IAAI2F,EAAoBjH,KAAKqB,OAAOC,QAAU,EAAItB,KAAKc,qBAAuBd,KAAKe,cACnF2B,EAAMC,2BAA2B3C,KAAMA,KAAK4C,WAAYqE,GAExD,GAAIjH,KAAKqB,OAAOC,QAAUtB,KAAKF,kBAAmB,CAChDE,KAAKP,kBAAoB,EACzBO,KAAKH,kBAAoB,KACzBG,KAAKJ,qBAAuB,MAG9B,OAAO,KAGTI,KAAKT,iBAAmB,MAExB,GAAIuH,EAAO,CACTvE,EAAKM,UAAYN,EAAKO,aAAeP,EAAKQ,aAC1C/C,KAAKP,kBAAoB,EACzBO,KAAKH,kBAAoB,KACzBG,KAAKJ,qBAAuB,UACvB,CACLI,KAAKwD,SAAS,WACZqD,EAAOpH,kBAAoB,EAC3BoH,EAAOhH,kBAAoB,KAC3BgH,EAAOjH,qBAAuB,UAIpC4D,SAAU,SAASA,EAAS0D,GAC1B,IAAIC,EAASnH,KAEb,IAAIuC,EAAOvC,KAAKwC,MAAMD,KAEtB,UAAW2E,IAAW,WAAY,CAChCA,GACEE,SAAUF,GAId,IAAK3E,EAAM,CACT,GAAI2E,EAAOE,iBAAmBF,EAAOE,WAAa,WAAY,CAC5DF,EAAOE,WAGT,OAAO,KAGT,IAAIC,EAAUH,EACVI,EAAgBD,EAAQpD,MACxBA,EAAQqD,SAAuB,EAAI/E,EAAKM,UAAYyE,EACpDC,EAAcF,EAAQG,IACtBA,EAAMD,SAAqB,EAAIhF,EAAKO,aAAeP,EAAKQ,aAAewE,EACvEE,EAAoBJ,EAAQK,UAC5BA,EAAYD,SAA2B,EAAI,GAAKA,EAChDL,EAAWC,EAAQD,SACnBO,EAAmBN,EAAQO,SAC3BA,EAAWD,SAA0B,EAAI,IAAMA,EACnD,IAAIE,EAAOL,EAAMvD,EACjB,IAAI6D,EAAkB,EAEtB,IAAIC,EAAgB,SAASA,EAAcC,EAAS/D,EAAO4D,EAAMD,GAC/DI,GAAWJ,EAAW,EAEtB,GAAII,EAAU,EAAG,CACf,OAAOH,EAAO,EAAIG,EAAUA,EAAU/D,EAGxC+D,IACA,OAAQH,EAAO,GAAKG,GAAWA,EAAU,GAAK,GAAK/D,GAGrD,IAAIgE,EAAepG,OAAOqG,uBAAyBrG,OAAOsG,6BAA+BtG,OAAOuG,0BAA4B,SAAUhB,GACpIvF,OAAO8E,WAAWS,EAAU,IAAO,KAGrC,IAAIiB,EAAgB,SAASA,IAC3BP,GAAmBJ,EACnBP,EAAO3E,MAAMD,KAAKM,UAAYkF,EAAcD,EAAiB7D,EAAO4D,EAAMD,GAE1E,GAAIE,EAAkBF,EAAU,CAC9BK,EAAaI,OACR,CACL,GAAIjB,UAAmBA,IAAa,WAAY,CAC9CA,OAKNiB,KAEF5G,iBAAkB,SAASA,IACzB,IAAIF,EAAQwF,UAAU7C,OAAS,GAAK6C,UAAU,KAAOC,UAAYD,UAAU,MAC3ExF,EAAMuF,MAAQvF,EAAMuF,QAAU,KAC9B9G,KAAK4G,eAAerF,EAAMuF,OAC1B,OAAO,MAET/E,cAAe,SAASA,IACtB,IAAIuG,EAAStI,KACbA,KAAKgD,cAAgB,KACrBhD,KAAKoB,iBAAmBpB,KAAKoB,iBAAiBiE,IAAI,SAAUkD,GAC1DD,EAAOE,mBAAmBD,GAE1B,OAAO,SAGXvG,aAAc,SAASA,IACrBhC,KAAKgD,cAAgB,OAEvByF,sBAAuB,SAASA,IAC9B,IAAIC,EAAS1I,KAEb,GAAIA,KAAKU,uBAAwB,CAC/BlD,GAAGC,UAAUkL,OAAOC,IAAI,8DACxB,OAAO,MAGT,GAAI5I,KAAKM,yBAA2B,KAAM,IAAIC,MAAOC,WAAaR,KAAKwC,MAAMD,KAAKM,WAAa,EAAG,CAChGV,cAAcnC,KAAKU,wBACnBV,KAAKU,uBAAyB,KAC9BV,KAAK6I,iBACL,OAAO,KAGT1G,cAAcnC,KAAKU,wBACnBV,KAAKU,uBAAyBoI,YAAY,WACxC,GAAIJ,EAAOpI,yBAA2B,KAAM,IAAIC,MAAOC,WAAakI,EAAOlG,MAAMD,KAAKM,WAAa,EAAG,CACpGV,cAAcuG,EAAOhI,wBACrBgI,EAAOhI,uBAAyB,KAEhCgI,EAAOG,iBAEP,OAAO,OAER,IACH,OAAO,MAETA,eAAgB,SAASA,IACvB,GAAI7I,KAAKkB,gBAAiB,CACxB1D,GAAGC,UAAUkL,OAAOC,IAAI,yEACxB,OAAO,MAGT5I,KAAKkB,gBAAkB,KACvB,IAAIgD,EAASlE,KAAK4C,WAAWsB,OAC7B,IAAI1E,EAAmBQ,KAAKR,iBAE5B,GAAI0E,EAAS1E,EAAkB,CAC7B,IAAIgF,EAAUxE,KAAKwC,MAAMD,KAAKwG,uBAAuB7K,EAAmBC,UAAU,GAClF6B,KAAKP,mBAAqBO,KAAKhB,aAC/B0D,EAAMsG,gCAAgChJ,KAAMwE,GAC5C,OAAO,KAGTxE,KAAKiG,MAAM,kBACTgD,OAAQjJ,KAAKa,kBAGjBqI,qBAAsB,SAASA,IAC7B,IAAIC,EAASnJ,KAEb,GAAIA,KAAKW,sBAAuB,CAC9BnD,GAAGC,UAAUkL,OAAOC,IAAI,6DACxB,OAAO,MAGT,IAAIrG,EAAOvC,KAAKwC,MAAMD,KAEtB,GAAIvC,KAAKM,yBAA2B,KAAM,IAAIC,MAAOC,WAAa+B,EAAKM,WAAaN,EAAKO,aAAeP,EAAKQ,aAAc,CACzHZ,cAAcnC,KAAKW,uBACnBX,KAAKW,sBAAwB,KAC7BX,KAAKoJ,gBACL,OAAO,KAGTjH,cAAcnC,KAAKW,uBACnBX,KAAKW,sBAAwBmI,YAAY,WACvC,GAAIK,EAAO7I,yBAA2B,KAAM,IAAIC,MAAOC,WAAa+B,EAAKM,WAAaN,EAAKO,aAAeP,EAAKQ,aAAc,CAC3HZ,cAAcgH,EAAOxI,uBACrBwI,EAAOxI,sBAAwB,KAE/BwI,EAAOC,gBAEP,OAAO,OAER,IACH,OAAO,MAETzH,uBAAwB,SAASA,IAC/B,IAAIJ,EAAQwF,UAAU7C,OAAS,GAAK6C,UAAU,KAAOC,UAAYD,UAAU,MAE3E,GAAIxF,EAAM8H,MAAO,CACfrJ,KAAKJ,qBAAuB,UACvB,CACLI,KAAKJ,qBAAuB2B,EAAM+H,MAAQtJ,KAAKF,kBAC/CE,KAAKP,mBAAqB8B,EAAM+H,MAGlC,GAAItJ,KAAKJ,qBAAsB,CAC7BI,KAAKH,kBAAoB,MAG3B,IAAI2E,EAAUxE,KAAKwC,MAAMD,KAAKwG,uBAAuB7K,EAAmBC,UAAU,GAElF,GAAIoD,EAAM+H,MAAQ,EAAG,CACnB5G,EAAMsG,gCAAgChJ,KAAMwE,QACvC,GAAIjD,EAAM8H,MAAO,CACtB7E,EAAQ+E,eAAe,MACvBvJ,KAAKkB,gBAAkB,UAClB,CACLlB,KAAKwC,MAAMD,KAAKM,UAAY,EAC5B7C,KAAKkB,gBAAkB,MAGzB,OAAO,MAETkI,cAAe,SAASA,IACtB,GAAIpJ,KAAKmB,eAAgB,CACvB3D,GAAGC,UAAUkL,OAAOC,IAAI,uEACxB,OAAO,MAGT5I,KAAKmB,eAAiB,KACtBnB,KAAKiG,MAAM,iBACTgD,OAAQjJ,KAAKe,iBAGjBa,sBAAuB,SAASA,IAC9B,IAAIL,EAAQwF,UAAU7C,OAAS,GAAK6C,UAAU,KAAOC,UAAYD,UAAU,MAE3E,GAAIxF,EAAM8H,MAAO,CACfrJ,KAAKJ,qBAAuB,UACvB,CACLI,KAAKL,oBAAsB4B,EAAM+H,MAAQtJ,KAAKF,kBAC9CE,KAAKP,mBAAqB8B,EAAM+H,MAGlC,GAAItJ,KAAKL,oBAAqB,CAC5BK,KAAKN,iBAAmB,MAG1B,GAAI6B,EAAM+H,MAAQ,EAAG,CACnB5G,EAAM8G,+BAA+BxJ,WAChC,GAAIuB,EAAM8H,MAAO,CACtB,IAAI7E,EAAUxE,KAAKwC,MAAMD,KAAKwG,uBAAuB7K,EAAmBG,kBAAkB,GAC1F,IAAIkE,EAAOvC,KAAKwC,MAAMD,KACtBA,EAAKM,UAAYN,EAAKM,UAAY2B,EAAQzB,aAAe,EACzD/C,KAAKmB,eAAiB,UACjB,CACL,IAAIsI,EAAQzJ,KAAKwC,MAAMD,KACvBkH,EAAM5G,UAAY4G,EAAM3G,aAAe2G,EAAM1G,aAC7C/C,KAAKmB,eAAiB,MAGxB,OAAO,MAETuI,YAAa,SAASA,EAAYnB,GAChC,GAAIvI,KAAKgD,cAAe,CACtBhD,KAAKiG,MAAM,eACT3B,GAAIiE,QAED,CACLvI,KAAKoB,iBAAiBuD,KAAK4D,KAG/BC,mBAAoB,SAASA,EAAmBD,GAC9CvI,KAAKiG,MAAM,eACT3B,GAAIiE,KAGRoB,kBAAmB,SAASA,EAAkBpI,GAC5CvB,KAAKiG,MAAM,kBAAmB1E,IAEhCqI,qBAAsB,SAASA,EAAqBrI,GAClDvB,KAAKiG,MAAM,qBAAsB1E,IAEnCsI,sBAAuB,SAASA,EAAsBtI,GACpDvB,KAAKiG,MAAM,sBAAuB1E,IAEpCuI,eAAgB,SAASA,IACvB,IAAIC,EAAS/J,KAEb,GAAIA,KAAKgB,mBAAoB,CAC3B,OAAOhB,KAAKgB,mBAGdhB,KAAKgB,mBAAqBvE,OAAOuN,OAAOxM,GAAGyM,KAAK1J,MAEhD,GAAIP,KAAK0B,MAAMkC,gBAAiB,CAC9B5D,KAAKgB,mBAAmBkJ,YAAc,SAAUC,GAC9C,OAAOJ,EAAOrI,MAAMkC,gBAAgBuG,IAIxC,OAAOnK,KAAKgB,oBAEdyD,YAAa,SAASA,EAAYC,GAChC,IAAIJ,EAAK5B,EAAM0H,cAAc1F,GAE7B,GAAI1E,KAAKiB,gBAAgBqD,GAAK,CAC5B,OACEA,GAAIA,EACJQ,MAAO9E,KAAKiB,gBAAgBqD,IAIhC,IAAI+F,EAAa7M,GAAGC,UAAUiF,MAAM4H,kBAAkB9M,GAAGC,UAAU8M,MAAMF,WAAWG,WAAYxK,KAAK0B,MAAMkC,iBAC3G5D,KAAKiB,gBAAgBqD,GAAMtE,KAAK8J,iBAAiBW,OAAOJ,EAAY3F,GACpE,OACEJ,GAAIA,EACJQ,MAAO9E,KAAKiB,gBAAgBqD,MAIlCoG,YACEC,gCACEC,SAAU,SAASA,EAASpG,EAASqG,EAAUC,GAC7C,GAAID,EAAS3E,OAASjJ,EAAaI,KAAM,CACvC,OAAO,MAGT,IAAKyN,EAAMC,QAAQtK,UAAUoK,EAAS3E,OAAQ,CAC5C4E,EAAMC,QAAQtK,UAAUoK,EAAS3E,OAASxD,EAAMsI,0BAC9CxE,KAAMqE,EAAS3E,MACf6E,QAASD,EAAMC,UAInBD,EAAMC,QAAQtK,UAAUoK,EAAS3E,OAAO+E,QAAQzG,GAChD,OAAO,MAET0G,OAAQ,SAASA,EAAO1G,EAASqG,EAAUC,GACzC,GAAID,EAAS3E,OAASjJ,EAAaI,KAAM,CACvC,OAAO,KAGT,GAAIyN,EAAMC,QAAQtK,UAAUoK,EAAS3E,OAAQ,CAC3C4E,EAAMC,QAAQtK,UAAUoK,EAAS3E,OAAOiF,UAAU3G,GAGpD,OAAO,QAIb4G,SAAU,yvHAEZ,IAAI1I,GACF0H,cAAe,SAASA,EAAc1F,GACpC,OAAOA,EAAK2G,SAAShH,MAAM,EAAG,KAEhC1B,2BAA4B,SAASA,EAA2BoI,EAASnI,GACvE,IAAIH,EAAWsE,UAAU7C,OAAS,GAAK6C,UAAU,KAAOC,UAAYD,UAAU,GAAK,KACnF,IAAID,EAAQC,UAAU7C,OAAS,GAAK6C,UAAU,KAAOC,UAAYD,UAAU,GAAK,MAChF,IAAIxE,EAAOwI,EAAQvI,MAAMD,KACzB,IAAIiC,EAAU,MAEd,GAAI/B,IAAa,KAAM,CACrB+B,EAAUjC,EAAKwG,uBAAuB7K,EAAmBC,SAAW,IAAMsE,GAAU,GAGtF,IAAK+B,EAAS,CACZ,IAAK,IAAI8G,EAAQ1I,EAAWsB,OAAS,EAAGoH,GAAS,EAAGA,IAAS,CAC3D,IAAK1I,EAAW0I,GAAOnO,OAAQ,CAC7B,MAGFsF,EAAWG,EAAW0I,GAAOhH,GAG/BE,EAAUjC,EAAKwG,uBAAuB7K,EAAmBC,SAAW,IAAMsE,GAAU,GAGtF,IAAI+E,EAAM,EAEV,GAAIhD,EAAS,CACXgD,EAAMhD,EAAQ+G,UAAY,OACrB,CACL/D,EAAMjF,EAAKO,aAAeP,EAAKQ,aAGjC,GAAI+D,EAAO,CACTvE,EAAKM,UAAY2E,MACZ,CACLuD,EAAQvH,UACNgE,IAAKA,MAIXwB,gCAAiC,SAASA,EAAgC+B,EAASvG,GACjF,IAAKA,EAAS,CACZuG,EAAQ7J,gBAAkB,MAC1B,OAAO,MAGT,IAAIsK,EAAchH,EAAQuE,uBAAuB7K,EAAmBE,cAAc,GAElF,GAAIoN,EAAa,CACfhH,EAAUgH,EAGZ,IAAIC,EAAoBjH,EAAQ+G,UAChCR,EAAQxH,UAAU,WAChB,IAAKiB,EAAS,CACZ,OAAO,MAGTuG,EAAQvI,MAAMD,KAAKM,UAAY2B,EAAQ+G,UAAYE,EACnDV,EAAQ7J,gBAAkB,SAG9BsI,+BAAgC,SAASA,EAA+BuB,GACtEA,EAAQ7K,cAAgB,KACxB6K,EAAQxL,iBAAmB,KAC3BwL,EAAQxH,UAAU,WAChBwH,EAAQ7K,cAAgB,MACxB6K,EAAQ5J,eAAiB,SAG7B6J,yBAA0B,SAASA,EAAyBU,GAC1D,UAAW7J,OAAO8J,uBAAyB,aAAeD,EAAOxF,OAASjJ,EAAaI,KAAM,CAC3F,OACE4N,QAAS,SAASA,MAClBE,UAAW,SAASA,OAIxB,IAAIS,EAAkBC,EAEtB,GAAIH,EAAOlF,MAAQvJ,EAAaG,KAAM,CACpCwO,EAAmB,SAASA,EAAiBE,EAASC,GACpDD,EAAQvH,QAAQ,SAAUyH,GACxB,IAAIC,EAAgB,MAEpB,GAAID,EAAME,eAAgB,CACxB,GAAIF,EAAMG,mBAAqB,EAAG,CAChCF,EAAgB,UACX,GAAID,EAAMG,kBAAoB,GAAKH,EAAMI,WAAWC,OAASL,EAAMM,mBAAmBD,OAAS,IAAML,EAAMO,iBAAiBF,OAASL,EAAMI,WAAWC,OAAS,GAAI,CACxKJ,EAAgB,MAIpB,GAAIA,EAAe,CACjBP,EAAOX,QAAQrB,YAAYsC,EAAMlG,OAAOK,QAAQoC,WAChDmD,EAAOX,QAAQtK,UAAUiL,EAAOlF,MAAM2E,UAAUa,EAAMlG,YAK5D+F,GACEW,KAAMd,EAAOX,QAAQvI,MAAMD,KAC3BkK,UAAW,IAAIC,MAAM,KAAKC,KAAK,GAAGtH,IAAI,SAAUuH,EAAMtB,GACpD,OAAOA,EAAQ,WAGd,CACLM,EAAmB,SAASA,EAAiBE,EAASC,GACpDD,EAAQvH,QAAQ,SAAUyH,GACxB,GAAIA,EAAME,gBAAkBF,EAAMG,kBAAoB,EAAG,CACvD,GAAIT,EAAOlF,MAAQvJ,EAAaE,OAAQ,CACtCuO,EAAOX,QAAQ7B,2BACV,CACLwC,EAAOX,QAAQtC,6BAMvBoD,GACEW,KAAMd,EAAOX,QAAQvI,MAAMD,KAC3BkK,WAAY,EAAG,IAAM,IAAM,IAI/B,OAAO,IAAId,qBAAqBC,EAAkBC,KAGtD,IAAIjH,GACFI,aAAc,SAASA,IACrB,IAAIV,EAAKyC,UAAU7C,OAAS,GAAK6C,UAAU,KAAOC,UAAYD,UAAU,GAAK,EAC7E,OACE8F,WAAY,YAAcvI,EAC1BwI,aAActQ,EAAaI,YAG/BiI,SAAU,SAASA,IACjB,IAAIP,EAAKyC,UAAU7C,OAAS,GAAK6C,UAAU,KAAOC,UAAYD,UAAU,GAAK,EAC7E,IAAIgG,EAAOhG,UAAU7C,OAAS,GAAK6C,UAAU,KAAOC,UAAYD,UAAU,GAAK,GAC/E,OACE8F,WAAY,QAAUvI,EACtBwI,aAActQ,EAAaK,MAC3BkQ,KAAMA,IAGVC,iBAAkB,SAASA,IACzB,OACEH,WAAY,gBACZC,aAActQ,EAAaM,gBAG/BmQ,gBAAiB,SAASA,IACxB,OACEJ,WAAY,eACZC,aAActQ,EAAaO,eAG/BmQ,cAAe,SAASA,IACtB,IAAI5I,EAAKyC,UAAU7C,OAAS,GAAK6C,UAAU,KAAOC,UAAYD,UAAU,GAAK,EAC7E,IAAIgG,EAAOhG,UAAU7C,OAAS,GAAK6C,UAAU,KAAOC,UAAYD,UAAU,GAAK,GAC/E,IAAIP,EAAOO,UAAU7C,OAAS,GAAK6C,UAAU,KAAOC,UAAYD,UAAU,GAAKhJ,EAAgBC,OAC/F,OACE6O,WAAY,aAAevI,EAAKkC,EAChCsG,aAActQ,EAAaQ,OAC3B+P,KAAMA,EACNvG,KAAMA,EACN+B,UAAWjE,MAz2BlB,CA82BGtE,KAAK6B,OAAS7B,KAAK6B","file":"messenger.component.dialog.bundle.map.js"} dialog/config.php 0000664 00000001040 14774427135 0007774 0 ustar 00 <? if (!defined("B_PROLOG_INCLUDED") || B_PROLOG_INCLUDED !== true) { die(); } return [ 'js' => [ '/bitrix/js/messenger/component/dialog/messenger.component.dialog.bundle.js', ], 'css' => [ '/bitrix/js/messenger/component/dialog/messenger.component.dialog.bundle.css', ], 'rel' => [ 'main.polyfill.complex', 'ui.vue', 'ui.vue.vuex', 'main.polyfill.intersectionobserver', 'ui.vue.directives.lazyload', 'messenger.component.message', 'messenger.model.dialogues', 'messenger.model.messages', ], 'skip_core' => true, ]; dialog/messenger.component.dialog.css 0000664 00000016717 14774427135 0014000 0 ustar 00 .bx-im-dialog { display: flex; height: 100%; overflow: hidden; } .bx-im-dialog-list { overflow-y: auto; width: 100%; } .bx-im-dialog-list-box { width: 100%; display: flex; flex-direction: column; flex-wrap: nowrap; -webkit-overflow-scrolling: touch; overflow-x: hidden; overflow-y: auto; padding: 10px 0; } .bx-im-dialog-scroll-button { position: absolute; right: 14px; background: #fff; border: 1px solid #ececec; box-shadow: 0 2px 1px 0 rgba(0,0,0,0.2); border-radius: 50%; width: 34px; height: 34px; cursor: pointer; bottom: 10px; transition: background-color .2s; -webkit-tap-highlight-color: transparent; outline: none; text-align: center; } .bx-im-dialog-scroll-button:hover { background-color: #f9f9f9; } .bx-im-dialog-scroll-button-arrow { display: inline-block; width: 7px; height: 7px; border-top: 3px solid #bbb8b8; border-right: 3px solid #bbb8b8; transform: rotate(135deg); margin-top: 11px; cursor: pointer; box-sizing: content-box; } .bx-im-dialog-scroll-button-counter { width: 100%; text-align: center; margin-top:-7px; position: absolute; } .bx-im-dialog-scroll-button-counter-digit { display: inline-block; font: 11px/16px "Helvetica Neue", Helvetica, Arial, sans-serif; color: #fff; padding: 0 5px 0 5px; border: 2px solid #fff; border-radius: 10px; background-color: #17b0e1; } .bx-im-dialog-scroll-button-enter-active, .bx-im-dialog-scroll-button-leave-active { transition: bottom .2s ease-out; } .bx-im-dialog-scroll-button-enter, .bx-im-dialog-scroll-button-leave-to { bottom: -60px; } .bx-im-dialog-message-animation-enter-active, .bx-im-dialog-message-animation-leave-active { transition: all .3s; } .bx-im-dialog-list-item {} .bx-im-dialog-group { font: 14px/19px "Helvetica Neue", Helvetica, Arial, sans-serif; margin: 10px 15px; text-overflow: ellipsis; white-space: nowrap; text-align: center; position: relative; } .bx-im-dialog-group-date { background-color: rgba(7, 5, 27, 0.62); border: 1px solid rgba(7, 5, 27, 0.1); text-shadow: none; color: #fff!important; display: inline-block; padding: 5px 15px; border-radius: 15px; font-size: 14px; text-decoration: none; } .bx-im-dialog-group-float.bx-im-dialog-group-date { position: absolute; display: block; margin-top: 32px; z-index: 30; -webkit-transform: translateZ(0); transform: translateZ(0); } .bx-im-dialog-load-more { position: relative; text-align: center; padding: 10px 15px; } .bx-im-dialog-load-more + .bx-im-dialog-list-box { padding-top: 0; } .bx-im-dialog-load-more-history { padding-bottom: 0; } .bx-im-dialog-load-more-unread { padding-top: 0; padding-bottom: 13px; } .bx-im-dialog-load-more-text:before { position: absolute; margin-left: -30px; margin-top: 4px; width: 21px; height: 21px; background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABUAAAAVCAYAAACpF6WWAAACP0lEQVQ4T63UPWhTURQH8P+5SZM2qVSoOjtkKEaF5AW3arBQ+4KTWHWRurTS3KRdHBRFih+LFFGb16IOghFRu0pfiFbqJpgPiFQcqpubSFMNrW1yj7zWlCZWY2PeeM85Pw7n3HcJNT5fj+yyCfaUWDgItATwx4wZe/W3Mtos2NEl291OXAYoQoommNgGwgdi3qMIK8QYYMat+eLK9U8v7+Wrjd/QgB4+zhD9YH6cThgPAXB1UTA4Yl9o+nJK2HlIEa5kpoznG3MqUI8edbYRx9NTsRO1xlKOa6FIklXpXCYxkSufVaDe3l7H7OTk8r+C67Auk0y4U+5405luFbXyNV1mlxa5c3Zm/HvDUN8ReVoIeNOmcb5hqLWP7VDzKdNoaRj6awTjAuppY9GQvE+K3pAvJA/aWdBbc+x1PQvaWKOF5BAUQH492i+gAinTONsAdK1Tf3fksBB8LJUwIv+N6uEJBX6yOlNNl8vbFne6ZmZGivXCu4Nnmne4Wr+mpmKuVTQQkjeUolwmEXtUL6r1yD6AOtKJ2IW1TrWBNtrV9CJlGgfqRQN6JLP8Od+Zy8UL61fKH5JHiTGUNo3urcKaLqcJNJoyY6ZVW3FP93YN7nc6xOhWYL8upxnFaNa8+37TV8o6tDoWjKslhZvfhHg2Z479qO7cWkp7s/skEQ0DuFju8I+oFfAGw63NLXSJgGEGHoDQBIV3ENgH5iKR6GOF2ysqfy2XjBdqvvzVCT598JCNbR4W7CZFhRLRXLbG3/cTppTaSIGxlgcAAAAASUVORK5CYII='); background-repeat: no-repeat; -ms-animation: bx-im-dialog-load-more .8s linear infinite; -webkit-animation: bx-im-dialog-load-more .8s linear infinite; animation: bx-im-dialog-load-more .8s linear infinite; content: "" } .bx-im-dialog-load-more-text { display: inline-block; height: 29px; font: 15px/29px "Helvetica Neue",Helvetica,Arial,sans-serif; color: #687B8C; vertical-align: top; padding-left: 30px; } @-webkit-keyframes bx-im-dialog-load-more { 0% { -webkit-transform:rotate(0deg); transform:rotate(0deg); } 100% { -webkit-transform:rotate(360deg); transform:rotate(360deg); } } @keyframes bx-im-dialog-load-more { 0% { -moz-transform:rotate(0deg); transform:rotate(0deg); } 100% { -moz-transform:rotate(360deg); transform:rotate(360deg); } } .bx-im-dialog-status { padding: 0 20px 15px; display: inline-block; font: 13px/19px "Helvetica Neue", Helvetica, Arial, sans-serif; color: #585858; word-wrap: break-word; vertical-align: middle; -moz-user-select:none; -webkit-user-select:none; user-select:none; cursor: default; position: relative; } .bx-im-dialog-status-enter-active, .bx-im-dialog-status-leave-active { transition: opacity .1s ease-out; } .bx-im-dialog-status-leave-active { transition: opacity .05s ease-out; } .bx-im-dialog-status-enter, .bx-im-dialog-status-leave-to { opacity: 0; } .bx-im-dialog-status-writing { width: 20px; height: 11px; display: inline-block; background-image: url('data:image/svg+xml;charset=US-ASCII,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20width%3D%228%22%20height%3D%222%22%3E%0A%20%20%3Cg%20fill%3D%22%23717171%22%20fill-rule%3D%22evenodd%22%3E%0A%20%20%20%20%3Crect%20width%3D%221.6%22%20height%3D%222%22%20rx%3D%22.8%22/%3E%0A%20%20%20%20%3Crect%20width%3D%221.6%22%20height%3D%222%22%20x%3D%223.2%22%20rx%3D%22.8%22/%3E%0A%20%20%20%20%3Crect%20width%3D%221.6%22%20height%3D%222%22%20x%3D%226.4%22%20rx%3D%22.8%22/%3E%0A%20%20%3C/g%3E%0A%3C/svg%3E%0A'); background-repeat: no-repeat; background-position: bottom left; vertical-align: middle; } .bx-im-dialog-status-writing:before { -webkit-animation: imWriting 1.4s linear infinite; animation: imWriting 1.4s linear infinite; content: ''; height: 16px; position: absolute; width: 19px; margin-left: 10px; margin-top:-1px; background-image: url('data:image/svg+xml;charset=US-ASCII,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20width%3D%2210%22%20height%3D%2210%22%3E%0A%20%20%3Cpath%20fill%3D%22%23717171%22%20fill-rule%3D%22evenodd%22%20d%3D%22M7.8128%204.807L5.1751%202.1694a.041.041%200%200%200-.0578%200L.0328%207.2538c-.0739.0733%200%202.696%200%202.696s2.6222.0734%202.6961%200l5.0845-5.0844a.0416.0416%200%200%200-.0006-.0583zM1.0647%208.9376v-1.047h1.0495V8.94H1.0647v-.0025zm8.8785-6.2584L7.3054.0413a.0421.0421%200%200%200-.0578%200L6.1144%201.1746a.0416.0416%200%200%200%200%20.0577l2.6378%202.6378a.041.041%200%200%200%20.0577%200l1.1338-1.1333a.0427.0427%200%200%200-.0028-.0577h.0023z%22/%3E%0A%3C/svg%3E%0A'); background-repeat: no-repeat; zoom:1; } .bx-im-dialog-status-text {} @-webkit-keyframes imWriting { 0% { margin-left: 1px; margin-top:-0px; } 20% { margin-left: 4px; margin-top:-1px; } 60% { margin-left: 8px; margin-top:-2px; } 65% { margin-left: 8px; margin-top:-2px; } 70% { margin-left: 8px; margin-top:-3px; -webkit-transform:rotate(-20deg); transform:rotate(-20deg); } 90% { margin-left: 8px; margin-top:-5px; -webkit-transform:rotate(-40deg); transform:rotate(-40deg); } 100% { margin-left: 1px; margin-top:-3px; } } @keyframes imWriting { 0% { margin-left: 1px; margin-top:-0px; } 20% { margin-left: 4px; margin-top:-1px; } 60% { margin-left: 8px; margin-top:-2px; } 65% { margin-left: 8px; margin-top:-2px; } 70% { margin-left: 8px; margin-top:-3px; transform:rotate(-20deg); } 90% { margin-left: 8px; margin-top:-5px; transform:rotate(-40deg); } 100% { margin-left: 1px; margin-top:-3px; } } dialog/messenger.component.dialog.bundle.css 0000664 00000020571 14774427135 0015241 0 ustar 00 .bx-im-dialog { display: -webkit-box; display: -ms-flexbox; display: flex; height: 100%; overflow: hidden; } .bx-im-dialog-list { overflow-y: auto; width: 100%; } .bx-im-dialog-list-box { width: 100%; display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-orient: vertical; -webkit-box-direction: normal; -ms-flex-direction: column; flex-direction: column; -ms-flex-wrap: nowrap; flex-wrap: nowrap; -webkit-overflow-scrolling: touch; overflow-x: hidden; overflow-y: auto; padding: 10px 0; } .bx-im-dialog-scroll-button { position: absolute; right: 14px; background: #fff; border: 1px solid #ececec; -webkit-box-shadow: 0 2px 1px 0 rgba(0,0,0,0.2); box-shadow: 0 2px 1px 0 rgba(0,0,0,0.2); border-radius: 50%; width: 34px; height: 34px; cursor: pointer; bottom: 10px; -webkit-transition: background-color .2s; -o-transition: background-color .2s; transition: background-color .2s; -webkit-tap-highlight-color: transparent; outline: none; text-align: center; } .bx-im-dialog-scroll-button:hover { background-color: #f9f9f9; } .bx-im-dialog-scroll-button-arrow { display: inline-block; width: 7px; height: 7px; border-top: 3px solid #bbb8b8; border-right: 3px solid #bbb8b8; -webkit-transform: rotate(135deg); -ms-transform: rotate(135deg); transform: rotate(135deg); margin-top: 11px; cursor: pointer; -webkit-box-sizing: content-box; box-sizing: content-box; } .bx-im-dialog-scroll-button-counter { width: 100%; text-align: center; margin-top:-7px; position: absolute; } .bx-im-dialog-scroll-button-counter-digit { display: inline-block; font: 11px/16px "Helvetica Neue", Helvetica, Arial, sans-serif; color: #fff; padding: 0 5px 0 5px; border: 2px solid #fff; border-radius: 10px; background-color: #17b0e1; } .bx-im-dialog-scroll-button-enter-active, .bx-im-dialog-scroll-button-leave-active { -webkit-transition: bottom .2s ease-out; -o-transition: bottom .2s ease-out; transition: bottom .2s ease-out; } .bx-im-dialog-scroll-button-enter, .bx-im-dialog-scroll-button-leave-to { bottom: -60px; } .bx-im-dialog-message-animation-enter-active, .bx-im-dialog-message-animation-leave-active { -webkit-transition: all .3s; -o-transition: all .3s; transition: all .3s; } .bx-im-dialog-list-item {} .bx-im-dialog-group { font: 14px/19px "Helvetica Neue", Helvetica, Arial, sans-serif; margin: 10px 15px; -o-text-overflow: ellipsis; text-overflow: ellipsis; white-space: nowrap; text-align: center; position: relative; } .bx-im-dialog-group-date { background-color: rgba(7, 5, 27, 0.62); border: 1px solid rgba(7, 5, 27, 0.1); text-shadow: none; color: #fff!important; display: inline-block; padding: 5px 15px; border-radius: 15px; font-size: 14px; text-decoration: none; } .bx-im-dialog-group-float.bx-im-dialog-group-date { position: absolute; display: block; margin-top: 32px; z-index: 30; -webkit-transform: translateZ(0); transform: translateZ(0); } .bx-im-dialog-load-more { position: relative; text-align: center; padding: 10px 15px; } .bx-im-dialog-load-more + .bx-im-dialog-list-box { padding-top: 0; } .bx-im-dialog-load-more-history { padding-bottom: 0; } .bx-im-dialog-load-more-unread { padding-top: 0; padding-bottom: 13px; } .bx-im-dialog-load-more-text:before { position: absolute; margin-left: -30px; margin-top: 4px; width: 21px; height: 21px; background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABUAAAAVCAYAAACpF6WWAAACP0lEQVQ4T63UPWhTURQH8P+5SZM2qVSoOjtkKEaF5AW3arBQ+4KTWHWRurTS3KRdHBRFih+LFFGb16IOghFRu0pfiFbqJpgPiFQcqpubSFMNrW1yj7zWlCZWY2PeeM85Pw7n3HcJNT5fj+yyCfaUWDgItATwx4wZe/W3Mtos2NEl291OXAYoQoommNgGwgdi3qMIK8QYYMat+eLK9U8v7+Wrjd/QgB4+zhD9YH6cThgPAXB1UTA4Yl9o+nJK2HlIEa5kpoznG3MqUI8edbYRx9NTsRO1xlKOa6FIklXpXCYxkSufVaDe3l7H7OTk8r+C67Auk0y4U+5405luFbXyNV1mlxa5c3Zm/HvDUN8ReVoIeNOmcb5hqLWP7VDzKdNoaRj6awTjAuppY9GQvE+K3pAvJA/aWdBbc+x1PQvaWKOF5BAUQH492i+gAinTONsAdK1Tf3fksBB8LJUwIv+N6uEJBX6yOlNNl8vbFne6ZmZGivXCu4Nnmne4Wr+mpmKuVTQQkjeUolwmEXtUL6r1yD6AOtKJ2IW1TrWBNtrV9CJlGgfqRQN6JLP8Od+Zy8UL61fKH5JHiTGUNo3urcKaLqcJNJoyY6ZVW3FP93YN7nc6xOhWYL8upxnFaNa8+37TV8o6tDoWjKslhZvfhHg2Z479qO7cWkp7s/skEQ0DuFju8I+oFfAGw63NLXSJgGEGHoDQBIV3ENgH5iKR6GOF2ysqfy2XjBdqvvzVCT598JCNbR4W7CZFhRLRXLbG3/cTppTaSIGxlgcAAAAASUVORK5CYII='); background-repeat: no-repeat; -webkit-animation: bx-im-dialog-load-more .8s linear infinite; animation: bx-im-dialog-load-more .8s linear infinite; content: "" } .bx-im-dialog-load-more-text { display: inline-block; height: 29px; font: 15px/29px "Helvetica Neue",Helvetica,Arial,sans-serif; color: #687B8C; vertical-align: top; padding-left: 30px; } @-webkit-keyframes bx-im-dialog-load-more { 0% { -webkit-transform:rotate(0deg); transform:rotate(0deg); } 100% { -webkit-transform:rotate(360deg); transform:rotate(360deg); } } @keyframes bx-im-dialog-load-more { 0% { -webkit-transform:rotate(0deg); transform:rotate(0deg); } 100% { -webkit-transform:rotate(360deg); transform:rotate(360deg); } } .bx-im-dialog-status { padding: 0 20px 15px; display: inline-block; font: 13px/19px "Helvetica Neue", Helvetica, Arial, sans-serif; color: #585858; word-wrap: break-word; vertical-align: middle; -moz-user-select:none; -webkit-user-select:none; -ms-user-select:none; user-select:none; cursor: default; position: relative; } .bx-im-dialog-status-enter-active, .bx-im-dialog-status-leave-active { -webkit-transition: opacity .1s ease-out; -o-transition: opacity .1s ease-out; transition: opacity .1s ease-out; } .bx-im-dialog-status-leave-active { -webkit-transition: opacity .05s ease-out; -o-transition: opacity .05s ease-out; transition: opacity .05s ease-out; } .bx-im-dialog-status-enter, .bx-im-dialog-status-leave-to { opacity: 0; } .bx-im-dialog-status-writing { width: 20px; height: 11px; display: inline-block; background-image: url('data:image/svg+xml;charset=US-ASCII,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20width%3D%228%22%20height%3D%222%22%3E%0A%20%20%3Cg%20fill%3D%22%23717171%22%20fill-rule%3D%22evenodd%22%3E%0A%20%20%20%20%3Crect%20width%3D%221.6%22%20height%3D%222%22%20rx%3D%22.8%22/%3E%0A%20%20%20%20%3Crect%20width%3D%221.6%22%20height%3D%222%22%20x%3D%223.2%22%20rx%3D%22.8%22/%3E%0A%20%20%20%20%3Crect%20width%3D%221.6%22%20height%3D%222%22%20x%3D%226.4%22%20rx%3D%22.8%22/%3E%0A%20%20%3C/g%3E%0A%3C/svg%3E%0A'); background-repeat: no-repeat; background-position: bottom left; vertical-align: middle; } .bx-im-dialog-status-writing:before { -webkit-animation: imWriting 1.4s linear infinite; animation: imWriting 1.4s linear infinite; content: ''; height: 16px; position: absolute; width: 19px; margin-left: 10px; margin-top:-1px; background-image: url('data:image/svg+xml;charset=US-ASCII,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20width%3D%2210%22%20height%3D%2210%22%3E%0A%20%20%3Cpath%20fill%3D%22%23717171%22%20fill-rule%3D%22evenodd%22%20d%3D%22M7.8128%204.807L5.1751%202.1694a.041.041%200%200%200-.0578%200L.0328%207.2538c-.0739.0733%200%202.696%200%202.696s2.6222.0734%202.6961%200l5.0845-5.0844a.0416.0416%200%200%200-.0006-.0583zM1.0647%208.9376v-1.047h1.0495V8.94H1.0647v-.0025zm8.8785-6.2584L7.3054.0413a.0421.0421%200%200%200-.0578%200L6.1144%201.1746a.0416.0416%200%200%200%200%20.0577l2.6378%202.6378a.041.041%200%200%200%20.0577%200l1.1338-1.1333a.0427.0427%200%200%200-.0028-.0577h.0023z%22/%3E%0A%3C/svg%3E%0A'); background-repeat: no-repeat; zoom:1; } .bx-im-dialog-status-text {} @-webkit-keyframes imWriting { 0% { margin-left: 1px; margin-top:-0px; } 20% { margin-left: 4px; margin-top:-1px; } 60% { margin-left: 8px; margin-top:-2px; } 65% { margin-left: 8px; margin-top:-2px; } 70% { margin-left: 8px; margin-top:-3px; -webkit-transform:rotate(-20deg); transform:rotate(-20deg); } 90% { margin-left: 8px; margin-top:-5px; -webkit-transform:rotate(-40deg); transform:rotate(-40deg); } 100% { margin-left: 1px; margin-top:-3px; } } @keyframes imWriting { 0% { margin-left: 1px; margin-top:-0px; } 20% { margin-left: 4px; margin-top:-1px; } 60% { margin-left: 8px; margin-top:-2px; } 65% { margin-left: 8px; margin-top:-2px; } 70% { margin-left: 8px; margin-top:-3px; -webkit-transform:rotate(-20deg); transform:rotate(-20deg); } 90% { margin-left: 8px; margin-top:-5px; -webkit-transform:rotate(-40deg); transform:rotate(-40deg); } 100% { margin-left: 1px; margin-top:-3px; } } /*# sourceMappingURL=messenger.component.dialog.bundle.css.map */ dialog/bundle.config.js 0000664 00000000215 14774427135 0011074 0 ustar 00 module.exports = { input: './messenger.component.dialog.js', output: './messenger.component.dialog.bundle.js', namespaceFunction: null, }; dialog/messenger.component.dialog.bundle.js 0000664 00000076566 14774427135 0015104 0 ustar 00 (function (exports) { 'use strict'; /** * Bitrix Messenger * Dialog Vue component * * @package bitrix * @subpackage im * @copyright 2001-2019 Bitrix */ var TemplateType = Object.freeze({ message: 'message', delimiter: 'delimiter', group: 'group', historyLoader: 'historyLoader', unreadLoader: 'unreadLoader', button: 'button' }); var ObserverType = Object.freeze({ history: 'history', unread: 'unread', read: 'read', none: 'none' }); var MessengerStore = Object.freeze({ messages: BX.Messenger.Model.Messages.getName(), dialogues: BX.Messenger.Model.Dialogues.getName() }); var LoadButtonTypes = Object.freeze({ before: 'before', after: 'after' }); var ReferenceClassName = Object.freeze({ listItem: 'bx-im-dialog-list-item-reference', listItemBody: 'bx-im-dialog-list-item-content-reference', listUnreadLoader: 'bx-im-dialog-list-unread-loader-reference' }); BX.Vue.component('bx-messenger-dialog', { /** * @emits 'requestHistory' {lastId: number, limit: number} * @emits 'requestUnread' {lastId: number, limit: number} * @emits 'readMessage' {id: number} * @emits 'click' {event: MouseEvent} * @emits 'clickByUserName' {userData: object, event: MouseEvent} * @emits 'clickByMessageMenu' {message: object, event: MouseEvent} * @emits 'clickByCommand' {type: string, value: string, event: MouseEvent} */ /** * @listens props.listenEventScrollToBottom {force:boolean} (global|application) -- scroll dialog to bottom, see more in methods.onScrollToBottom() * @listens props.listenEventRequestHistory {count:number} (application) * @listens props.listenEventRequestUnread {count:number} (application) */ props: { userId: { default: 0 }, dialogId: { default: 0 }, chatId: { default: 0 }, listenEventScrollToBottom: { default: '' }, listenEventRequestHistory: { default: '' }, listenEventRequestUnread: { default: '' }, messageLimit: { default: 20 }, enableEmotions: { default: true }, enableDateActions: { default: true }, enableCreateContent: { default: true }, showMessageAvatar: { default: true }, showMessageMenu: { default: true } }, data: function data() { return { showScrollButton: false, messageShowCount: 0, messageExtraCount: 0, unreadLoaderShow: false, unreadLoaderBlocked: false, historyLoaderBlocked: false, historyLoaderShow: false, startMessageLimit: 0, TemplateType: TemplateType, ObserverType: ObserverType, ReferenceClassName: ReferenceClassName }; }, created: function created() { this.scrollIsChanged = false; this.scrollBlocked = false; this.scrollButtonDiff = 30; this.scrollButtonShowTimeout = null; this.scrollPosition = 0; this.scrollPositionChangeTime = new Date().getTime(); this.observers = {}; this.requestHistoryInterval = null; this.requestUnreadInterval = null; this.lastAuthorId = 0; this.firstMessageId = null; this.firstUnreadMessageId = null; this.lastMessageId = null; this.dateFormatFunction = null; this.cacheGroupTitle = {}; this.waitLoadHistory = false; this.waitLoadUnread = false; this.readMessageQueue = []; this.unreadLoaderBlocked = this.dialog.counter === 0; this.startMessageLimit = this.messageLimit; if (this.listenEventScrollToBottom) { BX.Vue.event.$on(this.listenEventScrollToBottom, this.onScrollToBottom); this.$root.$on(this.listenEventScrollToBottom, this.onScrollToBottom); } if (this.listenEventRequestHistory) { this.$root.$on(this.listenEventRequestHistory, this.onRequestHistoryAnswer); } if (this.listenEventRequestUnread) { this.$root.$on(this.listenEventRequestUnread, this.onRequestUnreadAnswer); } window.addEventListener('focus', this.onWindowFocus); window.addEventListener('blur', this.onWindowBlur); }, beforeDestroy: function beforeDestroy() { this.observers = {}; clearTimeout(this.scrollButtonShowTimeout); clearInterval(this.requestHistoryInterval); clearInterval(this.requestUnreadInterval); if (this.listenEventScrollToBottom) { BX.Vue.event.$off(this.listenEventScrollToBottom, this.onScrollToBottom); this.$root.$off(this.listenEventScrollToBottom, this.onScrollToBottom); } if (this.listenEventRequestHistory) { this.$root.$off(this.listenEventRequestHistory, this.onRequestHistoryAnswer); } if (this.listenEventRequestUnread) { this.$root.$off(this.listenEventRequestUnread, this.onRequestUnreadAnswer); } window.removeEventListener('focus', this.onWindowFocus); window.removeEventListener('blur', this.onWindowBlur); }, mounted: function mounted() { var body = this.$refs.body; var unreadId = this.dialog.unreadId; if (unreadId) { Utils.scrollToFirstUnreadMessage(this, this.collection, unreadId, true); } else { body.scrollTop = body.scrollHeight - body.offsetHeight; } this.windowFocused = document.hasFocus(); }, beforeUpdate: function beforeUpdate() { var body = this.$refs.body; if (this.scrollBlocked) { this.scrollIsChanged = false; } else { this.scrollIsChanged = body.scrollTop + this.scrollButtonDiff >= body.scrollHeight - body.offsetHeight; if (!this.scrollIsChanged && !this.showScrollButton && this.unreadCounter > 1) { this.showScrollButton = true; } } }, updated: function updated() { var _this = this; if (!this.scrollIsChanged) { return; } this.$nextTick(function () { var body = _this.$refs.body; if (_this.scrollIsChanged) { if (!_this.windowFocused && _this.unreadCounter > 0 && !_this.showScrollButton) { Utils.scrollToFirstUnreadMessage(_this, _this.collection, _this.firstUnreadMessageId); return; } _this.scrollTo(function () { clearTimeout(_this.scrollButtonShowTimeout); if (_this.showScrollButton && _this.windowFocused) { _this.showScrollButton = false; } }); } }); }, computed: { localize: function localize() { return BX.Vue.getFilteredPhrases('IM_MESSENGER_DIALOG_', this.$root.$bitrixMessages); }, dialog: function dialog() { var dialog = this.$store.state[MessengerStore.dialogues].collection[this.dialogId]; return dialog ? dialog : {}; }, collection: function collection() { var collection = this.$store.state[MessengerStore.messages].collection[this.chatId]; return collection ? collection : []; }, elementsWithLimit: function elementsWithLimit() { var _this2 = this; var start = this.collection.length - (this.messageExtraCount + this.messageLimit); if (!this.historyLoaderShow || start < 0) { start = 0; } var collection = []; var lastAuthorId = 0; var groupNode = {}; var slicedCollection = start == 0 ? this.collection : this.collection.slice(start, this.collection.length); this.messageShowCount = slicedCollection.length; if (this.messageShowCount > 0) { this.firstMessageId = slicedCollection[0].id; this.lastMessageId = slicedCollection[slicedCollection.length - 1].id; } if (this.collection.length >= this.messageLimit && this.collection.length >= this.messageShowCount && this.historyLoaderBlocked === false) { this.historyLoaderShow = true; } else { this.historyLoaderShow = false; } this.firstUnreadMessageId = 0; slicedCollection.forEach(function (element) { var group = _this2._groupTitle(element.date); if (!groupNode[group.id]) { groupNode[group.id] = true; collection.push(Blocks.getGroup(group.id, group.title)); } else if (lastAuthorId != element.authorId) { collection.push(Blocks.getDelimiter(element.id)); } collection.push(element); lastAuthorId = element.authorId; if (element.unread) { if (!_this2.firstUnreadMessageId) { _this2.firstUnreadMessageId = element.id; } } }); if (this.dialog.unreadLastId > this.lastMessageId && this.unreadLoaderBlocked === false) { this.unreadLoaderShow = true; } else { this.unreadLoaderShow = false; } return collection; }, statusWriting: function statusWriting() { if (this.dialog.writingList.length == 0) return ''; var users = this.dialog.writingList.map(function (element) { return element.userName; }); return this.localize.IM_MESSENGER_DIALOG_WRITES_MESSAGE.replace('#USER#', users.join(', ')); }, statusReaded: function statusReaded() { return false; }, unreadCounter: function unreadCounter() { return this.dialog.counter > 999 ? 999 : this.dialog.counter; } }, methods: { onDialogClick: function onDialogClick(event) { if (BX.Vue.testNode(event.target, { className: 'bx-im-message-command' })) { this.onCommandClick(event); } this.windowFocused = true; this.$emit('click', { event: event }); }, onCommandClick: function onCommandClick(event) { var value = ''; if (event.target.dataset.entity === 'send' || event.target.dataset.entity === 'put') { value = event.target.nextSibling.innerHTML; } else if (event.target.dataset.entity === 'call') { value = event.target.dataset.command; } this.$emit('clickByCommand', { type: event.target.dataset.entity, value: value, event: event }); }, onScroll: function onScroll(event) { var _this3 = this; this.scrollPosition = event.target.scrollTop; this.scrollPositionChangeTime = new Date().getTime(); clearTimeout(this.scrollButtonShowTimeout); this.scrollButtonShowTimeout = setTimeout(function () { if (event.target.scrollTop + _this3.scrollButtonDiff >= event.target.scrollHeight - event.target.offsetHeight) { if (_this3.showScrollButton && !_this3.unreadLoaderShow && _this3.windowFocused) { _this3.showScrollButton = false; } } else { if (!_this3.showScrollButton) { _this3.showScrollButton = true; } } }, 200); if (event.target.scrollTop == event.target.scrollHeight - event.target.offsetHeight) { clearTimeout(this.scrollButtonShowTimeout); if (this.showScrollButton && !this.unreadLoaderShow && this.windowFocused) { this.showScrollButton = false; } } }, scrollToBottom: function scrollToBottom() { var _this4 = this; var force = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false; var body = this.$refs.body; if (this.dialog.counter > 0) { var scrollToMessageId = this.dialog.counter > 1 ? this.firstUnreadMessageId : this.lastMessageId; Utils.scrollToFirstUnreadMessage(this, this.collection, scrollToMessageId); if (this.dialog.counter < this.startMessageLimit) { this.messageExtraCount = 0; this.historyLoaderShow = true; this.historyLoaderBlocked = false; } return true; } this.showScrollButton = false; if (force) { body.scrollTop = body.scrollHeight - body.offsetHeight; this.messageExtraCount = 0; this.historyLoaderShow = true; this.historyLoaderBlocked = false; } else { this.scrollTo(function () { _this4.messageExtraCount = 0; _this4.historyLoaderShow = true; _this4.historyLoaderBlocked = false; }); } }, scrollTo: function scrollTo(params) { var _this5 = this; var body = this.$refs.body; if (typeof params === 'function') { params = { callback: params }; } if (!body) { if (params.callback && typeof params.callback === 'function') { params.callback(); } return true; } var _params = params, _params$start = _params.start, start = _params$start === void 0 ? body.scrollTop : _params$start, _params$end = _params.end, end = _params$end === void 0 ? body.scrollHeight - body.offsetHeight : _params$end, _params$increment = _params.increment, increment = _params$increment === void 0 ? 20 : _params$increment, callback = _params.callback, _params$duration = _params.duration, duration = _params$duration === void 0 ? 300 : _params$duration; var diff = end - start; var currentPosition = 0; var easeInOutQuad = function easeInOutQuad(current, start, diff, duration) { current /= duration / 2; if (current < 1) { return diff / 2 * current * current + start; } current--; return -diff / 2 * (current * (current - 2) - 1) + start; }; var requestFrame = window.requestAnimationFrame || window.webkitRequestAnimationFrame || window.mozRequestAnimationFrame || function (callback) { window.setTimeout(callback, 1000 / 60); }; var animateScroll = function animateScroll() { currentPosition += increment; _this5.$refs.body.scrollTop = easeInOutQuad(currentPosition, start, diff, duration); if (currentPosition < duration) { requestFrame(animateScroll); } else { if (callback && typeof callback === 'function') { callback(); } } }; animateScroll(); }, onScrollToBottom: function onScrollToBottom() { var event = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}; event.force = event.force === true; this.scrollToBottom(event.force); return true; }, onWindowFocus: function onWindowFocus() { var _this6 = this; this.windowFocused = true; this.readMessageQueue = this.readMessageQueue.map(function (messageId) { _this6.requestReadMessage(messageId); return false; }); }, onWindowBlur: function onWindowBlur() { this.windowFocused = false; }, requestHistoryDelayed: function requestHistoryDelayed() { var _this7 = this; if (this.requestHistoryInterval) { BX.Messenger.Logger.log('bx-messenger-dialog.methods.requestHistoryDelayed: skipped'); return false; } if (this.scrollPositionChangeTime + 100 < new Date().getTime() && this.$refs.body.scrollTop >= 0) { clearInterval(this.requestHistoryInterval); this.requestHistoryInterval = null; this.requestHistory(); return true; } clearInterval(this.requestHistoryInterval); this.requestHistoryInterval = setInterval(function () { if (_this7.scrollPositionChangeTime + 100 < new Date().getTime() && _this7.$refs.body.scrollTop >= 0) { clearInterval(_this7.requestHistoryInterval); _this7.requestHistoryInterval = null; _this7.requestHistory(); return true; } }, 50); return true; }, requestHistory: function requestHistory() { if (this.waitLoadHistory) { BX.Messenger.Logger.log('bx-messenger-dialog.methods.requestHistory: waitLoadHistory not empty'); return false; } this.waitLoadHistory = true; var length = this.collection.length; var messageShowCount = this.messageShowCount; if (length > messageShowCount) { var element = this.$refs.body.getElementsByClassName(ReferenceClassName.listItem)[0]; this.messageExtraCount += this.messageLimit; Utils.scrollToElementAfterLoadHistory(this, element); return true; } this.$emit('requestHistory', { lastId: this.firstMessageId }); }, requestUnreadDelayed: function requestUnreadDelayed() { var _this8 = this; if (this.requestUnreadInterval) { BX.Messenger.Logger.log('bx-messenger-dialog.methods.requestUnreadDelayed: skipped'); return false; } var body = this.$refs.body; if (this.scrollPositionChangeTime + 100 < new Date().getTime() && body.scrollTop <= body.scrollHeight - body.offsetHeight) { clearInterval(this.requestUnreadInterval); this.requestUnreadInterval = null; this.requestUnread(); return true; } clearInterval(this.requestUnreadInterval); this.requestUnreadInterval = setInterval(function () { if (_this8.scrollPositionChangeTime + 100 < new Date().getTime() && body.scrollTop <= body.scrollHeight - body.offsetHeight) { clearInterval(_this8.requestUnreadInterval); _this8.requestUnreadInterval = null; _this8.requestUnread(); return true; } }, 50); return true; }, onRequestHistoryAnswer: function onRequestHistoryAnswer() { var event = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}; if (event.error) { this.historyLoaderBlocked = false; } else { this.historyLoaderBlocked = event.count < this.startMessageLimit; this.messageExtraCount += event.count; } if (this.historyLoaderBlocked) { this.historyLoaderShow = false; } var element = this.$refs.body.getElementsByClassName(ReferenceClassName.listItem)[0]; if (event.count > 0) { Utils.scrollToElementAfterLoadHistory(this, element); } else if (event.error) { element.scrollIntoView(true); this.waitLoadHistory = false; } else { this.$refs.body.scrollTop = 0; this.waitLoadHistory = false; } return true; }, requestUnread: function requestUnread() { if (this.waitLoadUnread) { BX.Messenger.Logger.log('bx-messenger-dialog.methods.requestUnread: waitLoadUnread not empty'); return false; } this.waitLoadUnread = true; this.$emit('requestUnread', { lastId: this.lastMessageId }); }, onRequestUnreadAnswer: function onRequestUnreadAnswer() { var event = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}; if (event.error) { this.historyLoaderBlocked = false; } else { this.unreadLoaderBlocked = event.count < this.startMessageLimit; this.messageExtraCount += event.count; } if (this.unreadLoaderBlocked) { this.unreadLoaderShow = false; } if (event.count > 0) { Utils.scrollToElementAfterLoadUnread(this); } else if (event.error) { var element = this.$refs.body.getElementsByClassName(ReferenceClassName.listUnreadLoader)[0]; var body = this.$refs.body; body.scrollTop = body.scrollTop - element.offsetHeight * 2; this.waitLoadUnread = false; } else { var _body = this.$refs.body; _body.scrollTop = _body.scrollHeight - _body.offsetHeight; this.waitLoadUnread = false; } return true; }, readMessage: function readMessage(messageId) { if (this.windowFocused) { this.$emit('readMessage', { id: messageId }); } else { this.readMessageQueue.push(messageId); } }, requestReadMessage: function requestReadMessage(messageId) { this.$emit('readMessage', { id: messageId }); }, onClickByUserName: function onClickByUserName(event) { this.$emit('clickByUserName', event); }, onClickByMessageMenu: function onClickByMessageMenu(event) { this.$emit('clickByMessageMenu', event); }, onClickByMessageRetry: function onClickByMessageRetry(event) { this.$emit('clickByMessageRetry', event); }, _getDateFormat: function _getDateFormat() { var _this9 = this; if (this.dateFormatFunction) { return this.dateFormatFunction; } this.dateFormatFunction = Object.create(BX.Main.Date); if (this.$root.$bitrixMessages) { this.dateFormatFunction._getMessage = function (phrase) { return _this9.$root.$bitrixMessages[phrase]; }; } return this.dateFormatFunction; }, _groupTitle: function _groupTitle(date) { var id = Utils.getDateFormat(date); if (this.cacheGroupTitle[id]) { return { id: id, title: this.cacheGroupTitle[id] }; } var dateFormat = BX.Messenger.Utils.getDateFormatType(BX.Messenger.Const.dateFormat.groupTitle, this.$root.$bitrixMessages); this.cacheGroupTitle[id] = this._getDateFormat().format(dateFormat, date); return { id: id, title: this.cacheGroupTitle[id] }; } }, directives: { 'bx-messenger-dialog-observer': { inserted: function inserted(element, bindings, vnode) { if (bindings.value == ObserverType.none) { return false; } if (!vnode.context.observers[bindings.value]) { vnode.context.observers[bindings.value] = Utils.getMessageLoaderObserver({ type: bindings.value, context: vnode.context }); } vnode.context.observers[bindings.value].observe(element); return true; }, unbind: function unbind(element, bindings, vnode) { if (bindings.value == ObserverType.none) { return true; } if (vnode.context.observers[bindings.value]) { vnode.context.observers[bindings.value].unobserve(element); } return true; } } }, template: "\n\t\t<div class=\"bx-im-dialog\" @click=\"onDialogClick\">\t\n\t\t\t<div class=\"bx-im-dialog-list\" @scroll.passive=\"onScroll\" ref=\"body\">\n\t\t\t\t<template v-if=\"historyLoaderShow\">\n\t\t\t\t\t<div class=\"bx-im-dialog-load-more bx-im-dialog-load-more-history\" v-bx-messenger-dialog-observer=\"ObserverType.history\">\n\t\t\t\t\t\t<span class=\"bx-im-dialog-load-more-text\">{{ localize.IM_MESSENGER_DIALOG_LOAD_MESSAGES }}</span>\n\t\t\t\t\t</div>\n\t\t\t\t</template>\n\t\t\t\t<transition-group tag=\"div\" class=\"bx-im-dialog-list-box\" name=\"bx-im-dialog-message-animation\" >\n\t\t\t\t\t<template v-for=\"element in elementsWithLimit\">\n\t\t\t\t\t\t<template v-if=\"element.templateType == TemplateType.message\">\n\t\t\t\t\t\t\t<div :class=\"['bx-im-dialog-list-item', ReferenceClassName.listItem, ReferenceClassName.listItem+'-'+element.id]\" :data-message-id=\"element.id\" :key=\"element.templateId\" v-bx-messenger-dialog-observer=\"element.unread? ObserverType.read: ObserverType.none\">\t\t\t\n\t\t\t\t\t\t\t\t<component :is=\"element.params.COMPONENT_ID\"\n\t\t\t\t\t\t\t\t\t:userId=\"userId\" \n\t\t\t\t\t\t\t\t\t:dialogId=\"dialogId\"\n\t\t\t\t\t\t\t\t\t:chatId=\"chatId\"\n\t\t\t\t\t\t\t\t\t:message=\"element\"\n\t\t\t\t\t\t\t\t\t:enableEmotions=\"enableEmotions\"\n\t\t\t\t\t\t\t\t\t:enableDateActions=\"enableDateActions\"\n\t\t\t\t\t\t\t\t\t:enableCreateContent=\"showMessageMenu\"\n\t\t\t\t\t\t\t\t\t:showAvatar=\"showMessageAvatar\"\n\t\t\t\t\t\t\t\t\t:showMenu=\"showMessageMenu\"\n\t\t\t\t\t\t\t\t\t:referenceContentClassName=\"ReferenceClassName.listItem\"\n\t\t\t\t\t\t\t\t\t:referenceContentBodyClassName=\"ReferenceClassName.listItemBody\"\n\t\t\t\t\t\t\t\t\t@clickByUserName=\"onClickByUserName\"\n\t\t\t\t\t\t\t\t\t@clickByMessageMenu=\"onClickByMessageMenu\"\n\t\t\t\t\t\t\t\t\t@clickByMessageRetry=\"onClickByMessageRetry\"\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</template>\n\t\t\t\t\t\t<template v-else-if=\"element.templateType == TemplateType.group\">\n\t\t\t\t\t\t\t<div class=\"bx-im-dialog-group\" :key=\"element.templateId\">\n\t\t\t\t\t\t\t\t<div class=\"bx-im-dialog-group-date\">{{ element.text }}</div>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</template>\n\t\t\t\t\t\t<template v-else-if=\"element.templateType == TemplateType.delimiter\">\n\t\t\t\t\t\t\t<div class=\"bx-im-dialog-delimiter\" :key=\"element.templateId\" ></div>\n\t\t\t\t\t\t</template>\n\t\t\t\t\t</template>\n\t\t\t\t</transition-group>\n\t\t\t\t<template v-if=\"unreadLoaderShow\">\n\t\t\t\t\t<div :class=\"['bx-im-dialog-load-more', 'bx-im-dialog-load-more-unread', ReferenceClassName.listUnreadLoader]\" v-bx-messenger-dialog-observer=\"ObserverType.unread\">\n\t\t\t\t\t\t<span class=\"bx-im-dialog-load-more-text\">{{ localize.IM_MESSENGER_DIALOG_LOAD_MESSAGES }}</span>\n\t\t\t\t\t</div>\n\t\t\t\t</template>\n\t\t\t\t<transition name=\"bx-im-dialog-status\">\n\t\t\t\t\t<template v-if=\"statusWriting\">\n\t\t\t\t\t\t<div class=\"bx-im-dialog-status\">\n\t\t\t\t\t\t\t<span class=\"bx-im-dialog-status-writing\"></span>\n\t\t\t\t\t\t\t{{ statusWriting }}\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</template>\n\t\t\t\t\t<template v-else-if=\"statusReaded\">\n\t\t\t\t\t\t<div class=\"bx-im-dialog-status\">\n\t\t\t\t\t\t\t<span class=\"bx-im-dialog-status-readed\"></span>\n\t\t\t\t\t\t\t{{ statusReaded }}\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</template>\n\t\t\t\t</transition>\n\t\t\t</div>\n\t\t\t<transition name=\"bx-im-dialog-scroll-button\">\n\t\t\t\t<div v-show=\"showScrollButton || unreadLoaderShow && unreadCounter\" class=\"bx-im-dialog-scroll-button\" @click=\"scrollToBottom()\">\n\t\t\t\t\t<div v-show=\"unreadCounter\" class=\"bx-im-dialog-scroll-button-counter\">\n\t\t\t\t\t\t<div class=\"bx-im-dialog-scroll-button-counter-digit\">{{unreadCounter}}</div>\n\t\t\t\t\t</div>\n\t\t\t\t\t<div class=\"bx-im-dialog-scroll-button-arrow\"></div>\n\t\t\t\t</div>\n\t\t\t</transition>\n\t\t</div>\n\t" }); var Utils = { getDateFormat: function getDateFormat(date) { return date.toJSON().slice(0, 10); }, scrollToFirstUnreadMessage: function scrollToFirstUnreadMessage(context, collection) { var unreadId = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : null; var force = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : false; var body = context.$refs.body; var element = false; if (unreadId !== null) { element = body.getElementsByClassName(ReferenceClassName.listItem + '-' + unreadId)[0]; } if (!element) { for (var index = collection.length - 1; index >= 0; index--) { if (!collection[index].unread) { break; } unreadId = collection[index].id; } element = body.getElementsByClassName(ReferenceClassName.listItem + '-' + unreadId)[0]; } var end = 0; if (element) { end = element.offsetTop - 20; } else { end = body.scrollHeight - body.offsetHeight; } if (force) { body.scrollTop = end; } else { context.scrollTo({ end: end }); } }, scrollToElementAfterLoadHistory: function scrollToElementAfterLoadHistory(context, element) { if (!element) { context.waitLoadHistory = false; return false; } var elementBody = element.getElementsByClassName(ReferenceClassName.listItemBody)[0]; if (elementBody) { element = elementBody; } var previousOffsetTop = element.offsetTop; context.$nextTick(function () { if (!element) { return false; } context.$refs.body.scrollTop = element.offsetTop - previousOffsetTop; context.waitLoadHistory = false; }); }, scrollToElementAfterLoadUnread: function scrollToElementAfterLoadUnread(context) { context.scrollBlocked = true; context.showScrollButton = true; context.$nextTick(function () { context.scrollBlocked = false; context.waitLoadUnread = false; }); }, getMessageLoaderObserver: function getMessageLoaderObserver(config) { if (typeof window.IntersectionObserver === 'undefined' || config.value == ObserverType.none) { return { observe: function observe() {}, unobserve: function unobserve() {} }; } var observerCallback, observerOptions; if (config.type == ObserverType.read) { observerCallback = function observerCallback(entries, observer) { entries.forEach(function (entry) { var sendReadEvent = false; if (entry.isIntersecting) { if (entry.intersectionRatio >= 1) { sendReadEvent = true; } else if (entry.intersectionRatio > 0 && entry.rootBounds.height < entry.boundingClientRect.height + 20 && entry.intersectionRect.height > entry.rootBounds.height - 20) { sendReadEvent = true; } } if (sendReadEvent) { config.context.readMessage(entry.target.dataset.messageId); config.context.observers[config.type].unobserve(entry.target); } }); }; observerOptions = { root: config.context.$refs.body, threshold: new Array(101).fill(0).map(function (zero, index) { return index * 0.01; }) }; } else { observerCallback = function observerCallback(entries, observer) { entries.forEach(function (entry) { if (entry.isIntersecting && entry.intersectionRatio > 0) { if (config.type == ObserverType.unread) { config.context.requestUnreadDelayed(); } else { config.context.requestHistoryDelayed(); } } }); }; observerOptions = { root: config.context.$refs.body, threshold: [0, 0.01, 0.99, 1] }; } return new IntersectionObserver(observerCallback, observerOptions); } }; var Blocks = { getDelimiter: function getDelimiter() { var id = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0; return { templateId: 'delimiter' + id, templateType: TemplateType.delimiter }; }, getGroup: function getGroup() { var id = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0; var text = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : ''; return { templateId: 'group' + id, templateType: TemplateType.group, text: text }; }, getHistoryLoader: function getHistoryLoader() { return { templateId: 'historyLoader', templateType: TemplateType.historyLoader }; }, getUnreadLoader: function getUnreadLoader() { return { templateId: 'unreadLoader', templateType: TemplateType.unreadLoader }; }, getLoadButton: function getLoadButton() { var id = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0; var text = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : ''; var type = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : LoadButtonTypes.before; return { templateId: 'loadButton' + id + type, templateType: TemplateType.button, text: text, type: type, messageId: id }; } }; }((this.window = this.window || {}))); //# sourceMappingURL=messenger.component.dialog.bundle.js.map dialog/lang/ua/config.php 0000664 00000000712 14774427135 0011327 0 ustar 00 <? $MESS["IM_MESSENGER_DIALOG_LOAD_MESSAGES"] = "Завантаження повідомлень"; $MESS["IM_MESSENGER_DIALOG_READED"] = "Повідомлення переглянуто, #DATE#"; $MESS["IM_MESSENGER_DIALOG_READED_CHAT"] = "Повідомлення переглянуто: #USERS#"; $MESS["IM_MESSENGER_DIALOG_READED_CHAT_MORE"] = "ще #COUNT#"; $MESS["IM_MESSENGER_DIALOG_WRITES_MESSAGE"] = "#USER# пише повідомлення…"; ?>