@social-mail/social-mail-client 1.2.697 → 1.2.698

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (30) hide show
  1. package/dist/admin/AdminAppIndex.pack.js +2 -1
  2. package/dist/admin/AdminAppIndex.pack.js.map +1 -1
  3. package/dist/admin/AdminAppIndex.pack.min.js +1 -1
  4. package/dist/admin/AdminAppIndex.pack.min.js.map +1 -1
  5. package/dist/public/channel/ChannelCalendarView.d.ts +5 -2
  6. package/dist/public/channel/ChannelCalendarView.d.ts.map +1 -1
  7. package/dist/public/channel/ChannelCalendarView.js +139 -20
  8. package/dist/public/channel/ChannelCalendarView.js.map +1 -1
  9. package/dist/public/channel/ChannelView.js +3 -1
  10. package/dist/public/channel/ChannelView.js.map +1 -1
  11. package/dist/public/channel/ChannelView.pack.js +161 -21
  12. package/dist/public/channel/ChannelView.pack.js.map +1 -1
  13. package/dist/public/channel/ChannelView.pack.min.js +125 -13
  14. package/dist/public/channel/ChannelView.pack.min.js.map +1 -1
  15. package/dist/public/channel/styles/channelViewStyle.d.ts.map +1 -1
  16. package/dist/public/channel/styles/channelViewStyle.js +19 -0
  17. package/dist/public/channel/styles/channelViewStyle.js.map +1 -1
  18. package/dist/tsconfig.tsbuildinfo +1 -1
  19. package/dist/web/AppIndex.pack.js +2 -1
  20. package/dist/web/AppIndex.pack.js.map +1 -1
  21. package/dist/web/AppIndex.pack.min.js +1 -1
  22. package/dist/web/AppIndex.pack.min.js.map +1 -1
  23. package/dist/web/page/mails/mini-compose/MiniComposePage.d.ts.map +1 -1
  24. package/dist/web/page/mails/mini-compose/MiniComposePage.js +2 -1
  25. package/dist/web/page/mails/mini-compose/MiniComposePage.js.map +1 -1
  26. package/package.json +1 -1
  27. package/src/public/channel/ChannelCalendarView.tsx +155 -27
  28. package/src/public/channel/ChannelView.tsx +1 -1
  29. package/src/public/channel/styles/channelViewStyle.ts +19 -0
  30. package/src/web/page/mails/mini-compose/MiniComposePage.tsx +2 -1
@@ -592,6 +592,25 @@ gap: 5px;
592
592
  background: #FAFAFA;
593
593
  }
594
594
 
595
+ aside {
596
+
597
+ display: flex;
598
+ flex-direction: column;
599
+ gap: 10px;
600
+
601
+ & > * {
602
+ padding-bottom: 10px;
603
+ border-bottom: solid 1px lightgray;
604
+ }
605
+ }
606
+
607
+ @media (max-width: 900px) {
608
+ & > * {
609
+ padding: 10px;
610
+ }
611
+
612
+ }
613
+
595
614
  @media (min-width: 900px) {
596
615
  & {
597
616
  display: grid;
@@ -1050,25 +1069,48 @@ gap: 5px;
1050
1069
  }
1051
1070
  }
1052
1071
  `.installGlobal("*[data-calendar=calendar]")}}}));AmdLoader.instance.setup("@web-atoms/web-controls/dist/basic/styles/calendar-style");System.register(["tslib","@web-atoms/core/dist/core/Bind","@web-atoms/core/dist/core/BindableProperty","@web-atoms/core/dist/core/WatchProperty","@web-atoms/core/dist/core/XNode","@web-atoms/date-time/dist/DateTime","./AtomRepeater","./Select","./styles/calendar-style"],(function(_export,_context){"use strict";var __decorate,__metadata,Bind,BindableProperty,WatchProperty,XNode,DateTime,AtomRepeater,Select,Calendar,start,getWeekDays,getMonths,weekdays,months;function setValue(target,name,value){Object.defineProperty(target,name,{value});return value}_export("default",void 0);return{setters:[function(_tslib){__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_webAtomsCoreDistCoreBind){Bind=_webAtomsCoreDistCoreBind.default},function(_webAtomsCoreDistCoreBindableProperty){BindableProperty=_webAtomsCoreDistCoreBindableProperty.BindableProperty},function(_webAtomsCoreDistCoreWatchProperty){WatchProperty=_webAtomsCoreDistCoreWatchProperty.default},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_webAtomsDateTimeDistDateTime){DateTime=_webAtomsDateTimeDistDateTime.default},function(_AtomRepeater){AtomRepeater=_AtomRepeater.default},function(_Select){Select=_Select.default},function(_stylesCalendarStyle){}],execute:function(){start=DateTime.now;getWeekDays=(locale,type)=>{const baseDate=new Date(Date.UTC(2017,0,2));const weekDays=[];for(let i=0;i<7;i++){weekDays.push(baseDate.toLocaleDateString(locale,{weekday:type}));baseDate.setDate(baseDate.getDate()+1)}return weekDays};getMonths=(locale,type)=>{const baseDate=new Date(Date.UTC(2017,0,2));const weekDays=[];for(let i=0;i<12;i++){weekDays.push(baseDate.toLocaleDateString(locale,{month:type}));baseDate.setMonth(i+1)}return weekDays};_export("weekdays",weekdays={get short(){return setValue(this,"short",getWeekDays(navigator.language,"short"))},get long(){return setValue(this,"long",getWeekDays(navigator.language,"long"))}});_export("months",months={get short(){return setValue(this,"short",getMonths(navigator.language,"short"))},get long(){return setValue(this,"long",getMonths(navigator.language,"long"))},get items(){return setValue(this,"items",this.long.map(((x,i)=>({label:x,value:i}))))}});_export("default",Calendar=class Calendar extends AtomRepeater{constructor(){super(...arguments);this.dateModified=false}set startDate(v){if(this.dateModified){return}const year=v.getFullYear();const month=v.getMonth();if(this.year!==year){this.year=year}if(this.month!==month){this.month=month}}get dates(){const year=this.year;const tm=this.month;if(tm===undefined||year===undefined){return[]}const month=Number(tm);const today=DateTime.today;let startDate=new DateTime(year,month,1);while(startDate.dayOfWeek!==1){startDate=startDate.add(-1)}const a=[];const y=startDate.year;const m=startDate.month;const ef=this.enableFunc;for(let index=0;index<42;index++){const cd=startDate.add(index);const item={label:cd.day+"",row:Math.floor(index/7),column:index%7,type:null,value:cd,isToday:cd.equals(today),isOtherMonth:month!==cd.month,isWeekend:cd.dayOfWeek===0||cd.dayOfWeek===6,disabled:false};if(ef){item.disabled=!ef(item)}a.push(item)}return a}get years(){const years=[];const s=start.year+this.yearStart;const e=start.year+this.yearEnd+1;for(let index=s;index<e;index++){years.push({label:index.toString(),value:index})}return years}get value(){return super.value}set value(v){if(v instanceof Date){this.startDate=v}super.value=v}onPropertyChanged(name){super.onPropertyChanged(name);switch(name){case"enableFunc":case"dateRenderer":this.updateItems();break}}next(){if(this.month===11){this.year++;this.month=0;return}this.month++}prev(){if(this.month===0){this.year--;this.month=11;return}this.month--}preCreate(){super.preCreate();const now=new Date;this.selectedItems=[];this.valuePath=i=>i===null||i===void 0?void 0:i.value;this.yearStart=-10;this.yearEnd=10;this.year=now.getFullYear();this.month=now.getMonth();this.comparer=(left,right)=>{var _a,_b;return left&&right&&((_a=DateTime.from(left).date)===null||_a===void 0?void 0:_a.msSinceEpoch)===((_b=DateTime.from(right).date)===null||_b===void 0?void 0:_b.msSinceEpoch)};this.bindEvent(this.element,"change",(()=>this.dateModified=true),null,{capture:true});this.bindEvent(this.element,"itemSelect",(e=>e.detail.disabled?e.preventDefault():null));this.render(XNode.create("div",{"data-calendar":"calendar",items:Bind.oneWay((()=>this.dates))},XNode.create("i",{"data-element":"previous","event-click":()=>this.prev(),class:"fa-solid fa-circle-chevron-left",title:"Previous Month"}),XNode.create(Select,{"data-element":"month",items:months.items,value:Bind.twoWays((()=>this.month))}),XNode.create(Select,{"data-element":"year",items:Bind.oneWay((()=>this.years)),value:Bind.twoWays((()=>this.year))}),XNode.create("i",{"data-element":"next","event-click":()=>this.next(),class:"fa-solid fa-circle-chevron-right",title:"Next Month"}),XNode.create("div",{class:"week"}),XNode.create("div",{"data-click-event":"item-select",class:"dates"})));this.itemsPresenter=this.element.lastElementChild;const week=this.element.lastElementChild.previousElementSibling;let w=1;for(const iterator of weekdays.short){const text=document.createElement("span");text.textContent=iterator;week.appendChild(text);text.style.gridColumnStart=`${w++}`}this.dateRenderer=item=>XNode.create("div",{text:item.label});this.itemRenderer=item=>{var _a;const d=this.dateRenderer(item);const a=(_a=d.attributes)!==null&&_a!==void 0?_a:d.attributes={};if(item.isToday){a["data-is-today"]=item.isToday}if(item.isOtherMonth){a["data-is-other-month"]=item.isOtherMonth}if(item.isWeekend){a["data-is-weekend"]=item.isWeekend}if(item.disabled){a["data-disabled"]=item.disabled}return d}}dispatchItemEvent(eventName,item,recreate,originalTarget,nestedItem){this.dateModified=true;super.dispatchItemEvent(eventName,item,recreate,originalTarget,nestedItem)}});__decorate([BindableProperty,__metadata("design:type",Number)],Calendar.prototype,"year",void 0);__decorate([BindableProperty,__metadata("design:type",Number)],Calendar.prototype,"month",void 0);__decorate([BindableProperty,__metadata("design:type",Number)],Calendar.prototype,"yearStart",void 0);__decorate([BindableProperty,__metadata("design:type",Number)],Calendar.prototype,"yearEnd",void 0);__decorate([BindableProperty,__metadata("design:type",Function)],Calendar.prototype,"enableFunc",void 0);__decorate([BindableProperty,__metadata("design:type",Function)],Calendar.prototype,"dateRenderer",void 0);__decorate([WatchProperty,__metadata("design:type",Object),__metadata("design:paramtypes",[])],Calendar.prototype,"dates",null);__decorate([WatchProperty,__metadata("design:type",Object),__metadata("design:paramtypes",[])],Calendar.prototype,"years",null)}}}));AmdLoader.instance.setup("@web-atoms/web-controls/dist/basic/Calendar");System.register([],(function(_export,_context){"use strict";var Mailto;return{setters:[],execute:function(){_export("Mailto",Mailto={create({subject="",to="",body="",inReplyTo=""}){const usp=new URLSearchParams;if(subject){usp.append("subject",subject)}if(body){usp.append("body",body)}if(inReplyTo){usp.append("in-reply-to",inReplyTo)}return`mailto:${to}?${usp.toString()}`}})}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/common/Mailto");System.register(["tslib","@web-atoms/core/dist/core/InjectProperty","@web-atoms/core/dist/web/controls/AtomControl","../../services/EntityService","@web-atoms/date-time/dist/DateTime","@web-atoms/web-controls/dist/basic/Calendar","@web-atoms/core/dist/core/XNode","../../model/model","@web-atoms/core/dist/core/Bind","../../common/cache/CacheTTL","@web-atoms/core/dist/style/styled","./UrlService","../../common/Mailto","../../site-editor/editor/webComponentsPath"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,InjectProperty,AtomControl,EntityService,DateTime,Calendar,XNode,MailboxContactEvent,Bind,CacheTTL,styled,UrlService,Mailto,WebComponents,ChannelCalendarView,cacheVersion,cacheSeconds,renderChildren,toVisibleDate;_export("default",void 0);return{setters:[function(_tslib){__awaiter=_tslib.__awaiter;__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_webAtomsCoreDistCoreInjectProperty){InjectProperty=_webAtomsCoreDistCoreInjectProperty.default},function(_webAtomsCoreDistWebControlsAtomControl){AtomControl=_webAtomsCoreDistWebControlsAtomControl.AtomControl},function(_servicesEntityService){EntityService=_servicesEntityService.default},function(_webAtomsDateTimeDistDateTime){DateTime=_webAtomsDateTimeDistDateTime.default},function(_webAtomsWebControlsDistBasicCalendar){Calendar=_webAtomsWebControlsDistBasicCalendar.default},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_modelModel){MailboxContactEvent=_modelModel.MailboxContactEvent},function(_webAtomsCoreDistCoreBind){Bind=_webAtomsCoreDistCoreBind.default},function(_commonCacheCacheTTL){CacheTTL=_commonCacheCacheTTL.CacheTTL},function(_webAtomsCoreDistStyleStyled){styled=_webAtomsCoreDistStyleStyled.default},function(_UrlService){UrlService=_UrlService.UrlService},function(_commonMailto){Mailto=_commonMailto.Mailto},function(_siteEditorEditorWebComponentsPath){WebComponents=_siteEditorEditorWebComponentsPath.WebComponents}],execute:function(){styled.css`
1072
+
1073
+ width: 100%;
1074
+
1053
1075
  display: grid;
1054
- grid-template-columns: 1fr auto;
1055
- grid-template-rows: 1fr auto;
1076
+ grid-template-columns: 1fr;
1077
+ grid-template-rows: 1fr;
1078
+
1079
+ align-items: center;
1080
+ justify-items: stretch;
1081
+ justify-content: stretch;
1056
1082
 
1057
1083
  & > [data-calendar] {
1058
1084
  grid-row: 1;
1059
1085
  grid-column: 1;
1086
+ & mini-calendar-events {
1087
+ min-height: 80px;
1088
+ display: flex;
1089
+ align-items: center;
1090
+ flex-direction: column;
1091
+ padding-top: 10px;
1092
+ & > a {
1093
+ font-size: smaller;
1094
+ white-space: nowrap;
1095
+ text-overflow: ellipsis;
1096
+ /* margin-left: 5px; */
1097
+ /* margin-right: 5px; */
1098
+ /* display: block; */
1099
+ flex: 1 1 100%;
1100
+ place-self: stretch;
1101
+ overflow: hidden;
1102
+ background-color: #ffe1217d;
1103
+ border-radius: 9999px;
1104
+ max-height: 20px;
1105
+ padding: 2px;
1106
+ padding-left: 5px;
1107
+ text-decoration: none;
1108
+ }
1109
+ }
1060
1110
  }
1061
1111
 
1062
- & > [events-view] {
1063
- grid-column: 2;
1064
- }
1065
-
1066
- & calendar-events {
1067
- min-height: 80px;
1068
- display: flex;
1069
- align-items: center;
1070
- flex-direction: column;
1071
- padding: 10px;
1112
+ & > vflex-div {
1113
+ grid-row: 2;
1072
1114
  }
1073
1115
 
1074
1116
  & share-button {
@@ -1084,5 +1126,75 @@ gap: 5px;
1084
1126
  }
1085
1127
  }
1086
1128
 
1087
- `.installGlobal("[calendar-view]");cacheVersion="v1";cacheSeconds=CacheTTL.seconds.fifteenMinutes;renderChildren=AtomControl.registerProperty("data-render","children",((c,e,v)=>{e.innerHTML="";if(!v){return}c.render(XNode.create("div",null," ",...v," "),e,c)}));toVisibleDate=date=>{if(!date){return""}const month=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"][date.month];return`${date.year}-${month}-${date.day}`};_export("default",ChannelCalendarView=class ChannelCalendarView extends AtomControl{constructor(app,e){super(app,e);this.channel=null;this.selectedDate=null;this.calendarEvents=new Map;this.element.setAttribute("calendar-view","simple");this.pushInit();const now=DateTime.now;this.month=now.month;this.year=now.year}init(){return __awaiter(this,void 0,void 0,(function*(){this.app.installScript(`${WebComponents.path}/dist/main.js`);this.renderer=XNode.create("div",{update:Bind.oneWayAsync(((c,e,cancelToken)=>this.loadEvents(this.year,this.month,cancelToken)))},XNode.create(Calendar,{year:Bind.twoWaysImmediate((()=>this.year)),month:Bind.twoWaysImmediate((()=>this.month)),value:Bind.twoWaysImmediate((()=>this.selectedDate)),dateRenderer:x=>XNode.create("div",null,XNode.create("label",{text:x.label}),XNode.create("calendar-events",Object.assign({},renderChildren(Bind.source({self:this,x},(s=>this.renderEvent(s.source.self.calendarEvents,s.source.x)))))))}),XNode.create("share-button",{"style-display":Bind.oneWay((()=>!!this.selectedDate)),href:Bind.oneWay((()=>Mailto.create({to:this.channel.emailAddress.emailAddress,body:`\r\nEvent on 📅:${toVisibleDate(this.selectedDate)}\r\nEvent at 📍:`})))},XNode.create("button",{"data-layout":"accent-icon-button"},XNode.create("i",{class:"fas fa-plus"}),XNode.create("span",{text:Bind.oneWay((()=>{var _a;return`Create Event on ${(_a=this.selectedDate)===null||_a===void 0?void 0:_a.day} `}))}))))}))}renderEvent(calendarEvents,item){const items=calendarEvents.get(item.value.date.msSinceEpoch);if(!items){return null}return items.map((x=>XNode.create("a",{href:UrlService.toBlogUrl({emailID:x.emailID,email:x.email,mailbox:x.mailbox}),text:x.title})))}loadEvents(year,month,cancelToken){return __awaiter(this,void 0,void 0,(function*(){const events=yield this.entityService.query(MailboxContactEvent,"calendarMonth",year,month).include((x=>[x.email,x.mailbox.emailAddress])).toArray({cancelToken,cacheVersion,cacheSeconds});const dayMap=new Map;for(const element of events){const key=element.startDate.date.msSinceEpoch;let values=dayMap.get(key);if(!values){values=[];dayMap.set(key,values)}values.push(element)}this.calendarEvents=dayMap;return}))}});__decorate([InjectProperty,__metadata("design:type",EntityService)],ChannelCalendarView.prototype,"entityService",void 0)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/public/channel/ChannelCalendarView");System.register(["./PostList","@web-atoms/core/dist/core/XNode","../UrlService","@web-atoms/date-time/dist/DateTime"],(function(_export,_context){"use strict";var PostList,XNode,UrlService,DateTime,UpcomingEvents;_export("default",void 0);return{setters:[function(_PostList){PostList=_PostList.default},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_UrlService){UrlService=_UrlService.UrlService},function(_webAtomsDateTimeDistDateTime){DateTime=_webAtomsDateTimeDistDateTime.default}],execute:function(){_export("default",UpcomingEvents=class UpcomingEvents extends PostList{constructor(){super(...arguments);this.channel=null}setHeader(){this.header="Events";this.headerRenderer=text=>XNode.create("header",null,XNode.create("a",{href:UrlService.toCalendarUrl(this.channel)},"Events"))}query(q){const{now}=DateTime;return q.where({now},(p=>x=>x.email.mailboxContactEvents.some((a=>a.startDate>p.now)))).orderByDescending((x=>x.datePublished)).toPagedList({size:5})}})}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/public/channel/controls/UpcomingEvents");System.register(["tslib","@web-atoms/core/dist/core/InjectProperty","@web-atoms/core/dist/web/controls/AtomControl","./BlogService","@web-atoms/core/dist/core/XNode","@web-atoms/core/dist/view-model/Action","./emoji/EmojiPopup","../../style/GlobalStyle","./styles/channelViewStyle","@web-atoms/web-controls/dist/basic/AtomRepeater","./PostView","./controls/TagCloud","./controls/PostList","./controls/RecentPosts","./controls/BlogHeader","@web-atoms/core/dist/Pack","../../common/controls/repeater/InfiniteRepeater","@web-atoms/core/dist/core/Bind","./PostSummary","./UrlService","../../site-editor/editor/webComponentsPath","./BlogImageService","./ChannelCalendarView","../../common/Mailto","./controls/UpcomingEvents"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,InjectProperty,AtomControl,BlogService,XNode,Action,EmojiPopup,AtomRepeater,PostView,TagCloud,PopularPosts,RecentPosts,BlogHeader,Pack,InfiniteRepeater,Bind,PostSummary,UrlService,WebComponents,BlogImageService,ChannelCalendarView,Mailto,UpcomingEvents,channel,emailID,tag,author,calendar,commentIcon,ChannelMessage;return{setters:[function(_tslib){__awaiter=_tslib.__awaiter;__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_webAtomsCoreDistCoreInjectProperty){InjectProperty=_webAtomsCoreDistCoreInjectProperty.default},function(_webAtomsCoreDistWebControlsAtomControl){AtomControl=_webAtomsCoreDistWebControlsAtomControl.AtomControl},function(_BlogService){BlogService=_BlogService.default},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_webAtomsCoreDistViewModelAction){Action=_webAtomsCoreDistViewModelAction.default},function(_emojiEmojiPopup){EmojiPopup=_emojiEmojiPopup.default},function(_styleGlobalStyle){},function(_stylesChannelViewStyle){},function(_webAtomsWebControlsDistBasicAtomRepeater){AtomRepeater=_webAtomsWebControlsDistBasicAtomRepeater.default},function(_PostView){PostView=_PostView.default},function(_controlsTagCloud){TagCloud=_controlsTagCloud.default},function(_controlsPostList){PopularPosts=_controlsPostList.default},function(_controlsRecentPosts){RecentPosts=_controlsRecentPosts.default},function(_controlsBlogHeader){BlogHeader=_controlsBlogHeader.default},function(_webAtomsCoreDistPack){Pack=_webAtomsCoreDistPack.default},function(_commonControlsRepeaterInfiniteRepeater){InfiniteRepeater=_commonControlsRepeaterInfiniteRepeater.default},function(_webAtomsCoreDistCoreBind){Bind=_webAtomsCoreDistCoreBind.default},function(_PostSummary){PostSummary=_PostSummary.default},function(_UrlService){UrlService=_UrlService.UrlService},function(_siteEditorEditorWebComponentsPath){WebComponents=_siteEditorEditorWebComponentsPath.WebComponents},function(_BlogImageService){BlogImageService=_BlogImageService.default},function(_ChannelCalendarView){ChannelCalendarView=_ChannelCalendarView.default},function(_commonMailto){Mailto=_commonMailto.Mailto},function(_controlsUpcomingEvents){UpcomingEvents=_controlsUpcomingEvents.default}],execute:function(){({channel,emailID,tag,author,calendar}=UrlService.getParameters());commentIcon="💬";ChannelMessage=class ChannelMessage extends AtomControl{constructor(app,e=document.createElement("section")){super(app,e);this.search="";this.tag=tag;this.author=author;this.emails=[];this.pushInit()}init(){var _a;var _b;return __awaiter(this,void 0,void 0,(function*(){this.app.installScript(`${WebComponents.path}/dist/main.js`);this.channel=yield this.blogService.getChannel(void 0,channel,void 0);const{mailboxID:channelID}=this.channel;if(emailID){this.email=yield this.blogService.getEmail({emailID,channelID});(_a=(_b=this.email).engagements)!==null&&_a!==void 0?_a:_b.engagements=[];this.emails=[this.email];document.title="Social "+this.channel.emailAddress.emailAddress+" "+this.email.subject}else{document.title="Social "+this.channel.emailAddress.emailAddress}const search=Bind.twoWaysImmediate((()=>this.search));this.element.setAttribute("data-blog-list","blog-list");this.element.setAttribute("data-layout","flex-center");this.renderer=XNode.create("section",null,!calendar&&!emailID&&XNode.create(BlogHeader,{search,channel:this.channel}),XNode.create("section",null,this.renderBody()),XNode.create("aside",null,XNode.create(TagCloud,null),XNode.create(UpcomingEvents,{channel:this.channel}),XNode.create(PopularPosts,null),XNode.create(RecentPosts,null)),XNode.create("footer",null))}))}renderBody(){if(calendar){return XNode.create(ChannelCalendarView,{channel:this.channel})}return emailID?XNode.create(AtomRepeater,{"data-items-updated-event":"items-updated","event-items-updated":()=>this.itemsUpdated(),itemRenderer:x=>XNode.create(PostView,{channel:this.channel,email:x}),items:this.emails}):XNode.create(AtomRepeater,Object.assign({"data-items-updated-event":"items-updated","event-items-updated":()=>this.itemsUpdated(),"data-auto-scroll":"false",itemRenderer:x=>XNode.create(PostSummary,{blogService:this.blogImageService,channel:this.channel,mailboxEmail:x}),items:this.emails},InfiniteRepeater.pagedItems((start=>(c,e,cancelToken)=>this.blogService.getEmails({channelID:this.channel.mailboxID,author:this.author,tag:this.tag,start,search:this.search,cancelToken})))))}itemsUpdated(){window.pageReady=true}engagementClick({email,engagement}){const emoji=engagement.engagement;this.reactAction(email,emoji)}reactAction(email,emoji){const{headerMessageID}=email;const{channel:{emailAddress:{emailAddress}}}=this;const subject=`${emoji}:${Number(email.emailID).toString(36)}:${headerMessageID}`;const link=Mailto.create({to:emailAddress,subject,body:emoji,inReplyTo:headerMessageID});this.element.dispatchEvent(new CustomEvent("shareLink",{detail:{link,shareTitle:`React ${emoji} Via`},bubbles:true}))}reactEmail(email,ce){return __awaiter(this,void 0,void 0,(function*(){const emoji=yield EmojiPopup.showControl(ce.target,{parentElement:ce.target});this.reactAction(email,emoji)}))}replyEmail(email,ce){return __awaiter(this,void 0,void 0,(function*(){const emoji=commentIcon;const{headerMessageID}=email;const{channel:{emailAddress:{emailAddress}}}=this;const subject=`${emoji}:${Number(email.emailID).toString(36)}:${headerMessageID}`;const link=Mailto.create({to:emailAddress,subject,inReplyTo:headerMessageID});this.element.dispatchEvent(new CustomEvent("shareLink",{detail:{link,shareTitle:"Add Comment Via"},bubbles:true}))}))}};__decorate([InjectProperty,__metadata("design:type",BlogService)],ChannelMessage.prototype,"blogService",void 0);__decorate([InjectProperty,__metadata("design:type",BlogImageService)],ChannelMessage.prototype,"blogImageService",void 0);__decorate([Action({onEvent:"engagement-click"}),__metadata("design:type",Function),__metadata("design:paramtypes",[Object]),__metadata("design:returntype",void 0)],ChannelMessage.prototype,"engagementClick",null);__decorate([Action({onEvent:"react-email"}),__metadata("design:type",Function),__metadata("design:paramtypes",[Object,CustomEvent]),__metadata("design:returntype",Promise)],ChannelMessage.prototype,"reactEmail",null);__decorate([Action({onEvent:"reply-email"}),__metadata("design:type",Function),__metadata("design:paramtypes",[Object,CustomEvent]),__metadata("design:returntype",Promise)],ChannelMessage.prototype,"replyEmail",null);ChannelMessage=__decorate([Pack,__metadata("design:paramtypes",[Object,Object])],ChannelMessage);_export("default",ChannelMessage)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/public/channel/ChannelView");
1129
+ @media (max-width: 900px) {
1130
+ & > [data-calendar] > * {
1131
+ & [data-item-index] {
1132
+ display: flex;
1133
+ align-items: center;
1134
+ justify-content: center;
1135
+ justify-items: center;
1136
+ flex-direction: column;
1137
+ }
1138
+ & mini-calendar-events {
1139
+ position: relative;
1140
+ pointer-events: none;
1141
+ min-height: 20px;
1142
+ max-height: 30px;
1143
+ height: 30px;
1144
+ width: 20px;
1145
+ & a {
1146
+ position: absolute;
1147
+ display: block;
1148
+ position: relative;
1149
+ overflow: hidden;
1150
+ background-color: transparent;
1151
+ border: none;
1152
+ min-height: 20px;
1153
+ max-height: 20px;
1154
+ height: 20px;
1155
+ width: 20px;
1156
+ padding: 0;
1157
+ padding-left: 20px;
1158
+ &::before {
1159
+ display: block;
1160
+ position: absolute;
1161
+ left: 0;
1162
+ top: 0;
1163
+ display: block;
1164
+ width: 20px;
1165
+ height: 20px;
1166
+ content: "";
1167
+ background-color: blue;
1168
+ border-radius: 20px;
1169
+ }
1170
+ }
1171
+ }
1172
+ }
1173
+ }
1174
+
1175
+ & vflex-div {
1176
+ margin-top: 10px;
1177
+ border-top: solid 1px lightgray;
1178
+ padding-top: 10px;
1179
+
1180
+ margin-bottom: 10px;
1181
+ border-bottom: solid 1px lightgray;
1182
+ padding-bottom: 10px;
1183
+
1184
+ display: flex;
1185
+ flex-direction: column;
1186
+ gap: 10px;
1187
+ & > share-button {
1188
+ margin-right: auto;
1189
+ }
1190
+ }
1191
+
1192
+ & post-item {
1193
+ display: flex;
1194
+ flex-direction: row;
1195
+ align-items: center;
1196
+ gap: 10px;
1197
+ }
1198
+
1199
+ `.installGlobal("[calendar-view]");cacheVersion="v1";cacheSeconds=CacheTTL.seconds.fifteenMinutes;renderChildren=AtomControl.registerProperty("data-render","children",((c,e,v)=>{e.innerHTML="";if(!v){return}c.render(XNode.create("div",null," ",...v," "),e,c)}));toVisibleDate=date=>{if(!date){return""}const month=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"][date.month];return`${date.year}-${month}-${date.day}`};_export("default",ChannelCalendarView=class ChannelCalendarView extends AtomControl{constructor(app,e){super(app,e);this.channel=null;this.selectedDate=null;this.calendarEvents=new Map;this.element.setAttribute("calendar-view","simple");this.pushInit();const now=DateTime.now;this.month=now.month;this.year=now.year}init(){return __awaiter(this,void 0,void 0,(function*(){this.app.installScript(`${WebComponents.path}/dist/main.js`);this.renderer=XNode.create("div",{update:Bind.oneWayAsync(((c,e,cancelToken)=>this.loadEvents(this.year,this.month,cancelToken)))},XNode.create(Calendar,{year:Bind.twoWaysImmediate((()=>this.year)),month:Bind.twoWaysImmediate((()=>this.month)),value:Bind.twoWaysImmediate((()=>this.selectedDate)),dateRenderer:x=>XNode.create("div",null,XNode.create("label",{text:x.label}),XNode.create("mini-calendar-events",Object.assign({},renderChildren(Bind.source({self:this,x},(s=>this.renderEvent(s.source.self.calendarEvents,s.source.x.value)))))))}),XNode.create("vflex-div",{"style-display":Bind.oneWay((()=>!!this.selectedDate))},XNode.create("calendar-events",Object.assign({},renderChildren(Bind.source({self:this},(s=>this.renderEventItem(s.source.self.calendarEvents,s.source.self.selectedDate)))))),XNode.create("share-button",{href:Bind.oneWay((()=>Mailto.create({to:this.channel.emailAddress.emailAddress,body:`\r\nEvent on 📅:${toVisibleDate(this.selectedDate)}\r\nEvent at 📍:`})))},XNode.create("button",{"data-layout":"accent-icon-button"},XNode.create("i",{class:"fas fa-plus"}),XNode.create("span",{text:Bind.oneWay((()=>{var _a;return`Create Event on ${(_a=this.selectedDate)===null||_a===void 0?void 0:_a.day} `}))})))))}))}renderEvent(calendarEvents,date){const items=calendarEvents.get(date.date.msSinceEpoch);if(!items){return null}return items.map((x=>XNode.create("a",{href:UrlService.toBlogUrl({emailID:x.emailID,email:x.email,mailbox:x.mailbox}),text:x.title})))}renderEventItem(calendarEvents,date){const items=calendarEvents.get(date.date.msSinceEpoch);if(!items){return null}return items.map((x=>XNode.create("post-item",null,XNode.create("span",{text:"📅"}),XNode.create("span",{text:toVisibleDate(date)}),XNode.create("a",{href:UrlService.toBlogUrl({emailID:x.emailID,email:x.email,mailbox:x.mailbox}),text:x.title}))))}loadEvents(year,month,cancelToken){return __awaiter(this,void 0,void 0,(function*(){const events=yield this.entityService.query(MailboxContactEvent,"calendarMonth",year,month).include((x=>[x.email,x.mailbox.emailAddress])).orderBy((x=>x.startDate)).toArray({cancelToken,cacheVersion,cacheSeconds});const dayMap=new Map;let start=null;for(const element of events){const key=element.startDate.date.msSinceEpoch;let values=dayMap.get(key);start!==null&&start!==void 0?start:start=element.startDate.date;if(!values){values=[];dayMap.set(key,values)}values.push(element)}this.calendarEvents=dayMap;if(start){this.selectedDate=start}return}))}});__decorate([InjectProperty,__metadata("design:type",EntityService)],ChannelCalendarView.prototype,"entityService",void 0)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/public/channel/ChannelCalendarView");System.register(["./PostList","@web-atoms/core/dist/core/XNode","../UrlService","@web-atoms/date-time/dist/DateTime"],(function(_export,_context){"use strict";var PostList,XNode,UrlService,DateTime,UpcomingEvents;_export("default",void 0);return{setters:[function(_PostList){PostList=_PostList.default},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_UrlService){UrlService=_UrlService.UrlService},function(_webAtomsDateTimeDistDateTime){DateTime=_webAtomsDateTimeDistDateTime.default}],execute:function(){_export("default",UpcomingEvents=class UpcomingEvents extends PostList{constructor(){super(...arguments);this.channel=null}setHeader(){this.header="Events";this.headerRenderer=text=>XNode.create("header",null,XNode.create("a",{href:UrlService.toCalendarUrl(this.channel)},"Events"))}query(q){const{now}=DateTime;return q.where({now},(p=>x=>x.email.mailboxContactEvents.some((a=>a.startDate>p.now)))).orderByDescending((x=>x.datePublished)).toPagedList({size:5})}})}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/public/channel/controls/UpcomingEvents");System.register(["tslib","@web-atoms/core/dist/core/InjectProperty","@web-atoms/core/dist/web/controls/AtomControl","./BlogService","@web-atoms/core/dist/core/XNode","@web-atoms/core/dist/view-model/Action","./emoji/EmojiPopup","../../style/GlobalStyle","./styles/channelViewStyle","@web-atoms/web-controls/dist/basic/AtomRepeater","./PostView","./controls/TagCloud","./controls/PostList","./controls/RecentPosts","./controls/BlogHeader","@web-atoms/core/dist/Pack","../../common/controls/repeater/InfiniteRepeater","@web-atoms/core/dist/core/Bind","./PostSummary","./UrlService","../../site-editor/editor/webComponentsPath","./BlogImageService","./ChannelCalendarView","../../common/Mailto","./controls/UpcomingEvents"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,InjectProperty,AtomControl,BlogService,XNode,Action,EmojiPopup,AtomRepeater,PostView,TagCloud,PopularPosts,RecentPosts,BlogHeader,Pack,InfiniteRepeater,Bind,PostSummary,UrlService,WebComponents,BlogImageService,ChannelCalendarView,Mailto,UpcomingEvents,channel,emailID,tag,author,calendar,commentIcon,ChannelMessage;return{setters:[function(_tslib){__awaiter=_tslib.__awaiter;__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_webAtomsCoreDistCoreInjectProperty){InjectProperty=_webAtomsCoreDistCoreInjectProperty.default},function(_webAtomsCoreDistWebControlsAtomControl){AtomControl=_webAtomsCoreDistWebControlsAtomControl.AtomControl},function(_BlogService){BlogService=_BlogService.default},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_webAtomsCoreDistViewModelAction){Action=_webAtomsCoreDistViewModelAction.default},function(_emojiEmojiPopup){EmojiPopup=_emojiEmojiPopup.default},function(_styleGlobalStyle){},function(_stylesChannelViewStyle){},function(_webAtomsWebControlsDistBasicAtomRepeater){AtomRepeater=_webAtomsWebControlsDistBasicAtomRepeater.default},function(_PostView){PostView=_PostView.default},function(_controlsTagCloud){TagCloud=_controlsTagCloud.default},function(_controlsPostList){PopularPosts=_controlsPostList.default},function(_controlsRecentPosts){RecentPosts=_controlsRecentPosts.default},function(_controlsBlogHeader){BlogHeader=_controlsBlogHeader.default},function(_webAtomsCoreDistPack){Pack=_webAtomsCoreDistPack.default},function(_commonControlsRepeaterInfiniteRepeater){InfiniteRepeater=_commonControlsRepeaterInfiniteRepeater.default},function(_webAtomsCoreDistCoreBind){Bind=_webAtomsCoreDistCoreBind.default},function(_PostSummary){PostSummary=_PostSummary.default},function(_UrlService){UrlService=_UrlService.UrlService},function(_siteEditorEditorWebComponentsPath){WebComponents=_siteEditorEditorWebComponentsPath.WebComponents},function(_BlogImageService){BlogImageService=_BlogImageService.default},function(_ChannelCalendarView){ChannelCalendarView=_ChannelCalendarView.default},function(_commonMailto){Mailto=_commonMailto.Mailto},function(_controlsUpcomingEvents){UpcomingEvents=_controlsUpcomingEvents.default}],execute:function(){({channel,emailID,tag,author,calendar}=UrlService.getParameters());commentIcon="💬";ChannelMessage=class ChannelMessage extends AtomControl{constructor(app,e=document.createElement("section")){super(app,e);this.search="";this.tag=tag;this.author=author;this.emails=[];this.pushInit()}init(){var _a;var _b;return __awaiter(this,void 0,void 0,(function*(){this.app.installScript(`${WebComponents.path}/dist/main.js`);this.channel=yield this.blogService.getChannel(void 0,channel,void 0);const{mailboxID:channelID}=this.channel;if(emailID){this.email=yield this.blogService.getEmail({emailID,channelID});(_a=(_b=this.email).engagements)!==null&&_a!==void 0?_a:_b.engagements=[];this.emails=[this.email];document.title="Social "+this.channel.emailAddress.emailAddress+" "+this.email.subject}else{document.title="Social "+this.channel.emailAddress.emailAddress}const search=Bind.twoWaysImmediate((()=>this.search));this.element.setAttribute("data-blog-list","blog-list");this.element.setAttribute("data-layout","flex-center");this.renderer=XNode.create("section",null,!calendar&&!emailID&&XNode.create(BlogHeader,{search,channel:this.channel}),XNode.create("section",{"data-width":"100%"},this.renderBody()),XNode.create("aside",null,XNode.create(TagCloud,null),XNode.create(UpcomingEvents,{channel:this.channel}),XNode.create(PopularPosts,null),XNode.create(RecentPosts,null)),XNode.create("footer",null))}))}renderBody(){if(calendar){return XNode.create(ChannelCalendarView,{channel:this.channel})}return emailID?XNode.create(AtomRepeater,{"data-items-updated-event":"items-updated","event-items-updated":()=>this.itemsUpdated(),itemRenderer:x=>XNode.create(PostView,{channel:this.channel,email:x}),items:this.emails}):XNode.create(AtomRepeater,Object.assign({"data-items-updated-event":"items-updated","event-items-updated":()=>this.itemsUpdated(),"data-auto-scroll":"false",itemRenderer:x=>XNode.create(PostSummary,{blogService:this.blogImageService,channel:this.channel,mailboxEmail:x}),items:this.emails},InfiniteRepeater.pagedItems((start=>(c,e,cancelToken)=>this.blogService.getEmails({channelID:this.channel.mailboxID,author:this.author,tag:this.tag,start,search:this.search,cancelToken})))))}itemsUpdated(){window.pageReady=true}engagementClick({email,engagement}){const emoji=engagement.engagement;this.reactAction(email,emoji)}reactAction(email,emoji){const{headerMessageID}=email;const{channel:{emailAddress:{emailAddress}}}=this;const subject=`${emoji}:${Number(email.emailID).toString(36)}:${headerMessageID}`;const link=Mailto.create({to:emailAddress,subject,body:emoji,inReplyTo:headerMessageID});this.element.dispatchEvent(new CustomEvent("shareLink",{detail:{link,shareTitle:`React ${emoji} Via`},bubbles:true}))}reactEmail(email,ce){return __awaiter(this,void 0,void 0,(function*(){const emoji=yield EmojiPopup.showControl(ce.target,{parentElement:ce.target});this.reactAction(email,emoji)}))}replyEmail(email,ce){return __awaiter(this,void 0,void 0,(function*(){const emoji=commentIcon;const{headerMessageID}=email;const{channel:{emailAddress:{emailAddress}}}=this;const subject=`${emoji}:${Number(email.emailID).toString(36)}:${headerMessageID}`;const link=Mailto.create({to:emailAddress,subject,inReplyTo:headerMessageID});this.element.dispatchEvent(new CustomEvent("shareLink",{detail:{link,shareTitle:"Add Comment Via"},bubbles:true}))}))}};__decorate([InjectProperty,__metadata("design:type",BlogService)],ChannelMessage.prototype,"blogService",void 0);__decorate([InjectProperty,__metadata("design:type",BlogImageService)],ChannelMessage.prototype,"blogImageService",void 0);__decorate([Action({onEvent:"engagement-click"}),__metadata("design:type",Function),__metadata("design:paramtypes",[Object]),__metadata("design:returntype",void 0)],ChannelMessage.prototype,"engagementClick",null);__decorate([Action({onEvent:"react-email"}),__metadata("design:type",Function),__metadata("design:paramtypes",[Object,CustomEvent]),__metadata("design:returntype",Promise)],ChannelMessage.prototype,"reactEmail",null);__decorate([Action({onEvent:"reply-email"}),__metadata("design:type",Function),__metadata("design:paramtypes",[Object,CustomEvent]),__metadata("design:returntype",Promise)],ChannelMessage.prototype,"replyEmail",null);ChannelMessage=__decorate([Pack,__metadata("design:paramtypes",[Object,Object])],ChannelMessage);_export("default",ChannelMessage)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/public/channel/ChannelView");
1088
1200
  //# sourceMappingURL=ChannelView.pack.min.js.map