PageSourceSearch

https://account.canapii.com/chunk-FURJR7X3.js

js canapii.com collected 2026-09-24 09:43:58 UTC 15,187 bytes, 1 lines download raw bytes

1import{a as ge,b as he}from"./chunk-CK6VKG2C.js";import{d as de,f as w,h as ue,i as me}from"./chunk-AYFGFFIC.js";import"./chunk-X6WED2AZ.js";import"./chunk-E34OQ4RJ.js";import"./chunk-H4EPMV5Z.js";import{k as ie}from"./chunk-JN6AA4VD.js";import"./chunk-ZSHO3KMD.js";import"./chunk-QVGEDMLN.js";import"./chunk-UZY2R5Q5.js";import"./chunk-5GAGQHFR.js";import"./chunk-RYT6C367.js";import"./chunk-SNZM6YGS.js";import"./chunk-33XKUF6S.js";import"./chunk-3PGMBZAP.js";import"./chunk-VT7CJSCD.js";import{a as pe}from"./chunk-PNYSZFNB.js";import{A as se,M as ce,i as re,k as oe,wa as le}from"./chunk-Y3MTRBLK.js";import"./chunk-XMBPLYUK.js";import"./chunk-QRMJLQVM.js";import"./chunk-24HYNKH3.js";import"./chunk-65I45D2I.js";import"./chunk-GZL4NBTB.js";import{a as ae}from"./chunk-OMIAKVTT.js";import"./chunk-3XCK7DOC.js";import"./chunk-PJWNDC7A.js";import{K as ne,M as k,N as x,i as Z,p as ee,u as te}from"./chunk-QDFFLVTB.js";import"./chunk-JIVZONLP.js";import"./chunk-S43ITSQ5.js";import{h as J,k as X}from"./chunk-5FWAKVG3.js";import{q,w as W,z as Y}from"./chunk-KAXBUATZ.js";import{A as R,Ac as y,Bc as C,Cc as v,Dc as r,Ec as o,Fa as L,Fc as E,Jb as c,Jd as m,Kd as g,L as V,Ld as K,Oc as O,Sa as M,Ta as A,V as h,Vc as S,Wb as f,Xc as b,a as G,bc as H,cc as Q,jd as d,kd as D,ld as N,ra as z,vc as F,wc as U,xc as _,ya as j,zc as P}from"./chunk-XW6AEKHB.js";import{a as T,b as B}from"./chunk-6G35VSEK.js";var fe=(i,l)=>l.key;function be(i,l){i&1&&E(0,"cnp-page-header",1)}function Fe(i,l){i&1&&E(0,"cnp-page-header",2)}function _e(i,l){i&1&&(r(0,"cnp-callout",3),d(1," Canapii is provisioning the database for this event, which usually takes about half a minute. Keep this tab open until it finishes. "),o())}function ye(i,l){if(i&1){let e=O();r(0,"cnp-checkbox",17),m(1,"async"),S("checkedChange",function(){let n=M(e).$implicit,a=b(3);return A(a.toggleFeature(n.key))}),o()}if(i&2){let e,t=l.$implicit,n=b(3);v("label",t.name)("description",t.description)("checked",!!((e=n.formGroup.get(t.key))!=null&&e.value))("disabled",g(1,4,n.loading$)===!0)}}function Ce(i,l){if(i&1&&(r(0,"section",11)(1,"div",12)(2,"h2",13),E(3,"cnp-icon",14),d(4),o()(),r(5,"div",15),y(6,ye,2,6,"cnp-checkbox",16,fe),o()()),i&2){let e=l.$implicit,t=b(2);c(3),v("name",t.getCategoryIcon(e.key)),c(),N(" ",t.categoryLabel(e.key)," "),c(2),C(e.value)}}function Ee(i,l){if(i&1){let e=O();r(0,"cnp-callout",8),d(1," These are the most commonly used features to get your event started quickly. Visit the "),r(2,"strong"),d(3,"console settings"),o(),d(4," after creation to access the full library of advanced features including custom branding, advanced analytics, integrations, and more. "),o(),r(5,"form",9),S("ngSubmit",function(){M(e);let n=b();return A(n.onSubmit())}),r(6,"div",10),y(7,Ce,8,2,"section",11,fe),m(9,"keyvalue"),o()()}if(i&2){let e=b();c(5),v("formGroup",e.formGroup),c(2),C(K(9,1,e.groupedFeatures,e.originalOrder))}}function Se(i,l){if(i&1&&(r(0,"li"),d(1),o()),i&2){let e=l.$implicit;c(),D(e)}}function ke(i,l){if(i&1&&(r(0,"li"),d(1),o()),i&2){let e=l.$implicit;c(),D(e)}}function xe(i,l){if(i&1&&(r(0,"cnp-callout",4)(1,"p",18),d(2,"This template will be applied to the event once created."),o(),r(3,"h3",19),d(4,"Initial content"),o(),r(5,"ul",20),y(6,Se,2,1,"li",null,P),o(),r(8,"h3",19),d(9,"Menu items"),o(),r(10,"ul",20),y(11,ke,2,1,"li",null,P),o()()),i&2){let e=l,t=b();v("heading","Template selected: "+t.displayTemplate[e]),c(6),C(t.includedContent[e]),c(5),C(t.menuSetup[e])}}var I=(()=>{class i{createFeatureDefinition(e,t,n,a,s,p){return{name:e,key:t,default:n,type:a,category:s,description:p}}initBaseFeatures(){return[["Attendee list","attendees",!0,"page","people","A directory of registered attendees with profiles"],["Campaign","campaign",!1,"specialFeatures","communication","Email marketing campaigns."],["Chat","chat",!0,"otherFeatures","networking","Live chat during sessions and networking areas"],["Meetings","meetings",!0,"page","networking","1:1 meeting scheduling"],["Sponsors","supporters",!0,"page","networking","Sponsor showcase with logos, descriptions, and contact info"],["Matchmaking","matchMaking",!0,"otherFeatures","networking","Attendee matchmaking with homepage playlist and filter options."],["Forum","forum",!0,"page","community","A place for attendee questions, discussions, and shared insights"],["Gallery","gallery",!0,"page","community","Photos and videos captured during the event for attendees to view and share"],["Gamification","gamification",!0,"page","community","Points, badges, and leaderboards to boost engagement"],["Agenda","agenda",!0,"page","content","Event schedule with session details and personal agenda"],["Agenda filters","agendaFilters",!0,"otherFeatures","content","Filter sessions by track, time, speaker, or custom tags"],["Speakers","speakers",!0,"page","content","Speaker profiles, bios, and session assignments"],["Video on demand","vod",!0,"page","content","Recorded session library with search and categorization"],["Polls","polls",!0,"page","content","Interactive polls and Q&A during sessions"],["Abstracts","abstract",!0,"page","content","Content creation and submission platform"],["Resources","resourceCenter",!0,"page","content","Downloadable files, documents, and presentation materials"]].map(([t,n,a,s,p,u])=>this.createFeatureDefinition(t,n,a,s,p,u))}initOnsiteFeatures(){return[["Badges","badge",!1,"specialFeatures","onsite","Design and create badges for onsite attendees"],["App QR scanner","a
1ppQRscanner",!0,"otherFeatures","onsite","Enable use of QR code scanner in mobile app"],["Hotels","hotels",!1,"specialFeatures","onsite","Create and manage hotel options as part of the registration flow"],["Flights","flights",!1,"specialFeatures","onsite","Enable flight booking management through registration or manual import"],["Venue","venue",!0,"page","onsite","Event location details, maps, and directions"]].map(([t,n,a,s,p,u])=>this.createFeatureDefinition(t,n,a,s,p,u))}constructor(e,t,n,a,s,p){this.formBuilder=e,this.router=t,this.store=n,this.createEventFacade=a,this.utilities=s,this.toastService=p,this.groupedFeatures={people:[],communication:[],content:[],networking:[],onsite:[],community:[]},this.BASE_FEATURES=this.initBaseFeatures(),this.ONSITE_FEATURES=this.initOnsiteFeatures(),this.pagesAndFeatures=[],this.loading$=this.createEventFacade.loading$,this.error$=this.createEventFacade.error$,this.errorKind$=this.createEventFacade.errorKind$,this.selectedMethod$=this.createEventFacade.selectedMethod$,this.eventDuplicateData$=this.createEventFacade.eventDuplicateData$,this.eventInformation$=this.createEventFacade.eventInformation$,this.selectedTemplate$=this.createEventFacade.selectedTemplate$,this.eventFormat$=this.createEventFacade.eventFormat$,this.eventFeatures$=this.createEventFacade.eventFeatures$,this.createdEvent$=this.createEventFacade.createdEvent$,this.subscriptions$=new G,this.errorSubscriptions$=null,this.displayTemplate={conference:"Annual conference",workshop:"Workshop",webinar:"Webinar"},this.includedContent={conference:["Highlight banner","Secondary banner","Countdown clock","2 Playlists"],workshop:["Highlight banner","3 Playlists"],webinar:["Highlight banner","Secondary banner","Countdown clock"]},this.menuSetup={conference:["Attendee list","Agenda","Venue","Floor plan","Gamification","Sponsors","FAQ"],workshop:["Attendee list","Resource center","Forum","Projects","Abstracts","Gamification","FAQ"],webinar:["Agenda","Video on demand","Gamification","FAQ"]},this.handleFormStateChange=u=>{({true:this.disableForm.bind(this),false:this.enableForm.bind(this)})[String(u)]()},this.originalOrder=()=>0,this.pagesAndFeatures=this.convertFeatureDefinitions(this.BASE_FEATURES)}ngOnInit(){this.eventFormat$.subscribe(e=>{e===ue.HYBRID&&this.includeOnsiteFeatures()}),this.groupFeatures(),this.initForm(),this.listenToCreatedEvent(),this.listenToLoadingStatus()}convertFeatureDefinitions(e){return e.map(t=>this.createFeature(t.name,t.key,t.default,t.type,t.category,t.description))}includeOnsiteFeatures(){this.pagesAndFeatures.push(...this.convertFeatureDefinitions(this.ONSITE_FEATURES))}ngOnDestroy(){this.subscriptions$.unsubscribe(),this.errorSubscriptions$?.unsubscribe()}createFeature(e,t,n,a,s,p){return T({name:e,key:t,default:n,type:a,category:s},p&&{description:p})}listenToCreatedEvent(){this.subscriptions$.add(this.createdEvent$.pipe(V(e=>!!e)).subscribe(e=>{this.router.navigate(["/emp",e.url],{replaceUrl:!0})}))}listenToLoadingStatus(){this.subscriptions$.add(this.loading$.subscribe(this.handleFormStateChange))}disableForm(){this.formGroup?.disable({emitEvent:!1})}enableForm(){this.formGroup?.enable({emitEvent:!1})}groupFeatures(){this.groupedFeatures=this.pagesAndFeatures.reduce((e,t)=>{let n=t.category;return e[n]||(e[n]=[]),e[n].push(t),e},{})}initForm(){this.formGroup=this.formBuilder.group(this.pagesAndFeatures.reduce((e,t)=>(e[t.key]=[t.default],e),{}))}onPrevious(){this.createEventFacade.goToPreviousStep()}onSubmit(){let e=this.prepareEventFeaturesData();this.createEventFacade.setEventFeatures(e),R([this.selectedMethod$.pipe(h(1)),this.eventDuplicateData$.pipe(h(1)),this.eventInformation$.pipe(h(1)),this.eventFormat$.pipe(h(1)),this.eventFeatures$.pipe(h(1))]).subscribe(([t,n,a,s,p])=>{(t===w.SCRATCH||t===w.TEMPLATE)&&a&&s&&p?this.createEventFacade.createEvent(a,s,p):t===w.DUPLICATE&&a&&s&&p&&this.createEventFacade.duplicateEvent(n,a,s,p),this.errorSubscriptions$&&this.errorSubscriptions$.unsubscribe(),this.errorSubscriptions$=this.error$.pipe(z(1),h(1),j(this.errorKind$)).subscribe(([u,$])=>{if(!u){this.toastService.showSuccess("Event builder","Event created successfully!");return}if($==="server"){this.utilities.alert({header:"Event creation timed out",message:u});return}if($==="validation"){this.utilities.alert({header:"Event creation failed",message:u});return}this.utilities.alert({header:"Event creation failed",message:"Failed to create event. Please try again later."})})})}prepareEventFeaturesData(){let e=this.formGroup.value,t=[];for(let n in e)if(e.hasOwnProperty(n)){let a=this.pagesAndFeatures.find(s=>s.key===n);a&&t.push(B(T({},a),{enabled:e[n]}))}return t}getCategoryIcon(e){return{people:"people",communication:"communications",content:"content",networking:"networking",onsite:"onsite",community:"community"}[e.toLowerCase()]||"settings"}categoryLabel(e){return e.charAt(0).toUpperCase()+e.slice(1)}
1toggleFeature(e){let t=this.formGroup.get(e);t&&t.setValue(!t.value)}static{this.\u0275fac=function(t){return new(t||i)(f(ne),f(J),f(ie),f(de),f(ae),f(pe))}}static{this.\u0275cmp=H({type:i,selectors:[["app-event-features"]],decls:18,vars:19,consts:[[1,"event-builder-body"],["heading","Event features","description","Select features you would like to include in your event. You can enable or disable these at any time from the general settings."],["heading","Event features"],["tone","info","heading","Setting up your event"],["tone","info",3,"heading"],[1,"event-builder-footer"],["variant","secondary",3,"click","disabled"],["loadingLabel","Creating event",3,"click","loading","disabled"],["tone","info","heading","Quick setup: essential features"],[3,"ngSubmit","formGroup"],[1,"features-grid"],[1,"section-card"],[1,"section-head"],[1,"section-heading"],["size","sm",1,"category-icon",3,"name"],[1,"section-body","category-body"],[3,"label","description","checked","disabled"],[3,"checkedChange","label","description","checked","disabled"],[1,"template-note"],[1,"template-heading"],[1,"template-list"]],template:function(t,n){if(t&1&&(r(0,"div",0),E(1,"app-horizontal-steps"),F(2,be,1,0,"cnp-page-header",1),m(3,"async"),U(4,Fe,1,0,"cnp-page-header",2),F(5,_e,2,0,"cnp-callout",3),m(6,"async"),F(7,Ee,10,4),m(8,"async"),F(9,xe,13,1,"cnp-callout",4),m(10,"async"),o(),r(11,"div",5)(12,"cnp-button",6),m(13,"async"),S("click",function(){return n.onPrevious()}),d(14,"Previous"),o(),r(15,"cnp-button",7),m(16,"async"),S("click",function(){return n.onSubmit()}),d(17," Create event "),o()()),t&2){let a;c(2),_(g(3,7,n.selectedTemplate$)===null?2:4),c(3),_(g(6,9,n.loading$)===!0?5:-1),c(2),_(g(8,11,n.selectedTemplate$)===null?7:-1),c(2),_((a=g(10,13,n.selectedTemplate$))?9:-1,a),c(3),v("disabled",g(13,15,n.loading$)===!0),c(3),v("loading",g(16,17,n.loading$)??!1)("disabled",n.formGroup.invalid)}},dependencies:[ge,k,ee,Z,x,te,oe,le,ce,re,se,q,W],styles:["[_nghost-%COMP%]{display:flex;flex-direction:column;height:100%;min-height:calc(100vh - 71px)}.event-builder-body[_ngcontent-%COMP%]{display:flex;flex:1;flex-direction:column;gap:var(--cnp-space-card-gap);overflow-y:auto;padding:var(--cnp-space-page-gutter-y) var(--cnp-space-page-gutter-x) var(--cnp-space-8)}.section-card[_ngcontent-%COMP%]{background-color:var(--cnp-color-bg-card);border-radius:var(--cnp-radius-container);box-shadow:var(--cnp-shadow-low);padding:var(--cnp-space-5) var(--cnp-space-card-padding)}.section-head[_ngcontent-%COMP%]{align-items:center;border-bottom:2px solid var(--cnp-color-rule);display:flex;flex-wrap:wrap;gap:var(--cnp-space-3);justify-content:space-between;padding-bottom:var(--cnp-space-2)}.section-heading[_ngcontent-%COMP%]{color:var(--cnp-color-text-heading);font-size:var(--cnp-font-size-section);font-weight:var(--cnp-font-weight-bold);margin:0}.section-description[_ngcontent-%COMP%]{color:var(--cnp-color-text-secondary);margin:var(--cnp-space-4) 0 0;max-width:var(--cnp-font-measure-prose)}.section-body[_ngcontent-%COMP%]{margin-top:var(--cnp-space-5)}.event-builder-footer[_ngcontent-%COMP%]{--cnp-button-min-height: var(--cnp-size-control);align-items:center;background-color:var(--cnp-color-bg-body);border-top:1px solid var(--cnp-color-border);bottom:0;display:flex;gap:var(--cnp-space-3);justify-content:space-between;left:0;padding:var(--cnp-space-4) var(--cnp-space-page-gutter-x);position:sticky;right:0;z-index:var(--cnp-z-sticky)}.features-grid[_ngcontent-%COMP%]{display:grid;gap:var(--cnp-space-card-gap);grid-template-columns:repeat(2,minmax(0,1fr))}.category-icon[_ngcontent-%COMP%]{align-items:center;background-color:var(--cnp-color-action);border-radius:var(--cnp-radius-element);color:var(--cnp-color-on-action);display:inline-flex;flex-shrink:0;height:var(--cnp-size-icon);justify-content:center;margin-inline-end:var(--cnp-space-3);width:var(--cnp-size-icon)}.section-heading[_ngcontent-%COMP%]{align-items:center;display:flex}.category-body[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:var(--cnp-space-4)}.template-note[_ngcontent-%COMP%]{margin-bottom:var(--cnp-space-4)}.template-heading[_ngcontent-%COMP%]{font-size:var(--cnp-font-size-label);font-weight:var(--cnp-font-weight-semibold);margin-bottom:var(--cnp-space-2)}.template-list[_ngcontent-%COMP%]{margin-bottom:var(--cnp-space-4);padding-inline-start:var(--cnp-space-5)}.template-list[_ngcontent-%COMP%]:last-child{margin-bottom:0}@media (width <= 1024px){.features-grid[_ngcontent-%COMP%]{grid-template-columns:minmax(0,1fr)}}"]})}}return i})();var we=[{path:"",component:I}],qe=(()=>
1{class i{static{this.\u0275fac=function(t){return new(t||i)}}static{this.\u0275mod=Q({type:i})}static{this.\u0275inj=L({imports:[Y,k,x,X.forChild(we),me,he,I]})}}return i})();export{qe as EventFeaturesModule};

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.