{"version":3,"file":"face-pile-B1ysUeXq.js","sources":["../src/webcomponents/face-pile.js"],"sourcesContent":["import { UnshadowedElement, html } from \"../lib/unshadowed.js\";\r\nimport { PostJSON } from \"../lib/fetchers.js\";\r\n\r\nimport { UserAvatar } from \"./user-avatar.js\";\r\n\r\n// Register required webcomponents\r\nUserAvatar.Register();\r\n\r\n/**\r\n * Array of user avatars\r\n * Relies on window.CurrentTrain\r\n */\r\nexport class FacePile extends UnshadowedElement {\r\n static elementName() { return \"face-pile\" }\r\n\r\n static properties = {\r\n maxAvatars: { type: Number },\r\n\r\n participants: { state: true, type: Array },\r\n totalParticipants: { state: true, type: Number },\r\n };\r\n\r\n constructor() {\r\n super();\r\n // Defaults\r\n this.maxAvatars = 6;\r\n }\r\n\r\n async connectedCallback() {\r\n super.connectedCallback();\r\n // Load facepile from backend\r\n try {\r\n const result = await PostJSON(\"/trains/\" + window.CurrentTrain.Id + \"/facepile\", { max: this.maxAvatars });\r\n this.participants = result.participants;\r\n this.totalParticipants = result.totalParticipants;\r\n } catch {\r\n // On failure, we just won't show\r\n }\r\n }\r\n\r\n render() {\r\n if (this.participants && this.participants.length) {\r\n const nodes = [];\r\n for (const participant of this.participants) {\r\n nodes.push(html`
  • `);\r\n }\r\n if (this.totalParticipants > this.maxAvatars) {\r\n nodes.push(html`
  • +${this.totalParticipants - this.maxAvatars}
  • `);\r\n }\r\n return html`\r\n \r\n `;\r\n } else {\r\n return null;\r\n }\r\n }\r\n}\r\n"],"names":["UserAvatar","Register","FacePile","_UnshadowedElement","_this","_classCallCheck","_callSuper","this","maxAvatars","_inherits","UnshadowedElement","_createClass","key","value","_connectedCallback","_asyncToGenerator","_regeneratorRuntime","mark","_callee","result","wrap","_context","prev","next","_superPropGet","PostJSON","window","CurrentTrain","Id","max","sent","participants","totalParticipants","t0","stop","apply","arguments","length","_step","nodes","_iterator","_createForOfIteratorHelper","s","n","done","participant","push","html","_templateObject3","_taggedTemplateLiteral","Avatar","Initials","err","e","f","_templateObject","_templateObject2","_defineProperty","type","Number","state","Array"],"mappings":"6NAMAA,EAAWC,WAMEC,IAAAA,WAAQC,GAUjB,SAAAD,IAAc,IAAAE,EAGU,OAHVC,OAAAH,IACVE,EAAAE,EAAAC,KAAAL,IAEKM,WAAa,EAAEJ,CACxB,CAAC,OAAAK,EAAAP,EAdyBQ,GAczBC,EAAAT,EAAA,CAAA,CAAAU,IAAA,oBAAAC,OAAAC,EAAAC,EAAAC,IAAAC,MAED,SAAAC,IAAA,IAAAC,EAAA,OAAAH,IAAAI,MAAA,SAAAC,GAAA,cAAAA,EAAAC,KAAAD,EAAAE,MAAA,KAAA,EAEI,OADAC,EAAAtB,EAAA,oBAAAK,KAAAiB,CAAA,IACAH,EAAAC,KAAA,EAAAD,EAAAE,KAAA,EAEyBE,EAAS,WAAaC,OAAOC,aAAaC,GAAK,YAAa,CAAEC,IAAKtB,KAAKC,aAAa,KAAA,EAApGW,EAAME,EAAAS,KACZvB,KAAKwB,aAAeZ,EAAOY,aAC3BxB,KAAKyB,kBAAoBb,EAAOa,kBAAkBX,EAAAE,KAAA,GAAA,MAAA,KAAA,EAAAF,EAAAC,KAAA,EAAAD,EAAAY,GAAAZ,EAAA,MAAA,GAAA,KAAA,GAAA,IAAA,MAAA,OAAAA,EAAAa,OAAA,GAAAhB,EAAAX,KAAA,CAAA,CAAA,EAAA,SAIzD,WAVsB,OAAAO,EAAAqB,MAAA5B,KAAA6B,UAAA,IAAA,CAAAxB,IAAA,SAAAC,MAYvB,WACI,GAAIN,KAAKwB,cAAgBxB,KAAKwB,aAAaM,OAAQ,CAC/C,IAC2CC,EADrCC,EAAQ,GAAGC,EAAAC,EACSlC,KAAKwB,cAAY,IAA3C,IAAAS,EAAAE,MAAAJ,EAAAE,EAAAG,KAAAC,MAA6C,CAAA,IAAlCC,EAAWP,EAAAzB,MAClB0B,EAAMO,KAAKC,EAAIC,IAAAA,EAAAC,EAA2BJ,CAAAA,2BAAAA,aAAAA,0BAAAA,EAAYK,OAAmBL,EAAYM,UACzF,CAAC,CAAA,MAAAC,GAAAZ,EAAAa,EAAAD,EAAA,CAAA,QAAAZ,EAAAc,GAAA,CAID,OAHI/C,KAAKyB,kBAAoBzB,KAAKC,YAC9B+B,EAAMO,KAAKC,EAAIQ,IAAAA,EAAAN,EAAoC,CAAA,oCAAA,WAAA1C,KAAKyB,kBAAoBzB,KAAKC,aAE9EuC,EAAIS,IAAAA,EAAAP,kHAEDV,EAGd,CACI,OAAO,IAEf,IAAC,CAAA,CAAA3B,IAAA,cAAAC,MA5CD,WAAuB,MAAO,WAAY,KAazC,IAAAC,CAb0C,IA6C9C2C,EA9CYvD,EAGW,aAAA,CAChBM,WAAY,CAAEkD,KAAMC,QAEpB5B,aAAc,CAAE6B,OAAO,EAAMF,KAAMG,OACnC7B,kBAAmB,CAAE4B,OAAO,EAAMF,KAAMC"}