@@ -311,3 +311,62 @@ export const GroupedEmail = () => html`
311311 }
312312 </ style >
313313` ;
314+
315+ export const TeamsMessages = ( ) => html `
316+ < mgt-teams-channel-picker > </ mgt-teams-channel-picker >
317+ < mgt-get id ="messagesGet " version ="beta ">
318+ < template data-type ="value ">
319+ < div data-if ="!deletedDateTime " class ="teams-message ">
320+ < mgt-person user-id ="{{from.user.id}} " show-name person-card ="hover "> </ mgt-person >
321+ < div data-props ="@click: messageClick, innerHTML: body.content "> </ div >
322+ < div class ="reply hidden ">
323+ < input > </ input >
324+ < button > reply</ button >
325+ </ div >
326+ </ div >
327+ </ template >
328+ < template data-type ="loading ">
329+ loading
330+ </ template >
331+ </ mgt-get >
332+ < script type ="module ">
333+ const channelPicker = document . querySelector ( 'mgt-teams-channel-picker' ) ;
334+ const messagesGet = document . getElementById ( 'messagesGet' ) ;
335+
336+ channelPicker . addEventListener ( 'selectionChanged' , e => {
337+ if ( e . detail . length ) {
338+ let channelId = e . detail [ 0 ] . channel . id ;
339+ let teamId = e . detail [ 0 ] . team . id ;
340+ messagesGet . resource = \`teams / \${ teamId} / channels / \${ channelId} / messages / delta \`;
341+ }
342+ } ) ;
343+
344+ messagesGet . templateContext = {
345+ messageClick : ( e , message , root ) => {
346+ const reply = root . querySelector ( '.reply' ) ;
347+ reply . classList . toggle ( 'hidden' ) ;
348+ }
349+ } ;
350+ </ script >
351+ < style >
352+ .teams-message {
353+ box-shadow : 0 3px 7px rgba (0 , 0 , 0 , 0.3 );
354+ padding : 10px ;
355+ margin : 8px 4px ;
356+ font-family : Segoe UI, Frutiger, Frutiger Linotype, Dejavu Sans, Helvetica Neue, Arial, sans-serif;
357+ }
358+
359+ .teams-message : hover {
360+ box-shadow : 0 3px 14px rgba (0 , 0 , 0 , 0.3 );
361+ }
362+
363+ .hidden {
364+ display : none;
365+ }
366+
367+ # messagesGet {
368+ overflow : auto;
369+ display : block;
370+ }
371+ </ style >
372+ ` ;
0 commit comments