@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.
- package/dist/admin/AdminAppIndex.pack.js +2 -1
- package/dist/admin/AdminAppIndex.pack.js.map +1 -1
- package/dist/admin/AdminAppIndex.pack.min.js +1 -1
- package/dist/admin/AdminAppIndex.pack.min.js.map +1 -1
- package/dist/public/channel/ChannelCalendarView.d.ts +5 -2
- package/dist/public/channel/ChannelCalendarView.d.ts.map +1 -1
- package/dist/public/channel/ChannelCalendarView.js +139 -20
- package/dist/public/channel/ChannelCalendarView.js.map +1 -1
- package/dist/public/channel/ChannelView.js +3 -1
- package/dist/public/channel/ChannelView.js.map +1 -1
- package/dist/public/channel/ChannelView.pack.js +161 -21
- package/dist/public/channel/ChannelView.pack.js.map +1 -1
- package/dist/public/channel/ChannelView.pack.min.js +125 -13
- package/dist/public/channel/ChannelView.pack.min.js.map +1 -1
- package/dist/public/channel/styles/channelViewStyle.d.ts.map +1 -1
- package/dist/public/channel/styles/channelViewStyle.js +19 -0
- package/dist/public/channel/styles/channelViewStyle.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/dist/web/AppIndex.pack.js +2 -1
- package/dist/web/AppIndex.pack.js.map +1 -1
- package/dist/web/AppIndex.pack.min.js +1 -1
- package/dist/web/AppIndex.pack.min.js.map +1 -1
- package/dist/web/page/mails/mini-compose/MiniComposePage.d.ts.map +1 -1
- package/dist/web/page/mails/mini-compose/MiniComposePage.js +2 -1
- package/dist/web/page/mails/mini-compose/MiniComposePage.js.map +1 -1
- package/package.json +1 -1
- package/src/public/channel/ChannelCalendarView.tsx +155 -27
- package/src/public/channel/ChannelView.tsx +1 -1
- package/src/public/channel/styles/channelViewStyle.ts +19 -0
- 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
|
|
1055
|
-
grid-template-rows: 1fr
|
|
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
|
-
& >
|
|
1063
|
-
grid-
|
|
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
|