| 86 | |
| 87 | class CampaignView extends RootView { |
| 88 | static initClass () { |
| 89 | this.prototype.id = 'campaign-view' |
| 90 | this.prototype.template = template |
| 91 | |
| 92 | this.prototype.subscriptions = { |
| 93 | 'subscribe-modal:subscribed': 'onSubscribed', |
| 94 | } |
| 95 | |
| 96 | this.prototype.events = { |
| 97 | 'click #amazon-campaign-logo': 'onClickAmazonCampaign', |
| 98 | 'click #anon-classroom-signup-close': 'onClickAnonClassroomClose', |
| 99 | 'click #anon-classroom-join-btn': 'onClickAnonClassroomJoin', |
| 100 | 'click #anon-classroom-signup-btn': 'onClickAnonClassroomSignup', |
| 101 | 'click .roblox-menu-icon': 'onRobloxMenuIconClick', |
| 102 | 'click .hackstack-menu-icon': 'onHackStackMenuIconClick', |
| 103 | 'click .ai-league-menu-icon': 'onAILeagueIconClick', |
| 104 | 'click .junior-menu-icon': 'onJuniorIconClick', |
| 105 | 'click .cchome-menu-icon': 'onCCHomeIconClick', |
| 106 | 'click .map-background': 'onClickMap', |
| 107 | 'click .level': 'onClickLevel', |
| 108 | 'dblclick .level': 'onDoubleClickLevel', |
| 109 | 'click .level-info-container .start-level': 'onClickStartLevel', |
| 110 | 'click .level-info-container .home-version button': 'onClickStartLevel', |
| 111 | 'click .level-info-container .view-solutions': 'onClickViewSolutions', |
| 112 | 'click .scenario': 'onClickScenario', |
| 113 | 'click .level-info-container .course-version button': 'onClickCourseVersion', |
| 114 | 'click #volume-button': 'onToggleVolume', |
| 115 | 'click #back-button': 'onClickBack', |
| 116 | 'click #clear-storage-button': 'onClickClearStorage', |
| 117 | 'click .portals .campaign': 'onClickPortalCampaign', |
| 118 | 'click .portals .side-campaign': 'onClickPortalCampaign', |
| 119 | 'click .portals .main-campaign': 'onClickPortalCampaign', |
| 120 | 'click a .campaign-switch': 'onClickCampaignSwitch', |
| 121 | 'mousemove .portals': 'onMouseMovePortals', |
| 122 | 'click .poll': 'showPoll', |
| 123 | 'click #brain-pop-replay-btn': 'onClickBrainPopReplayButton', |
| 124 | 'click .premium-menu-icon': 'onClickPremiumButton', |
| 125 | 'click .premium-btn': 'onClickPremiumButton', |
| 126 | 'click [data-toggle="coco-modal"][data-target="play/modal/PromotionModal"]': 'openPromotionModal', |
| 127 | 'click [data-toggle="coco-modal"][data-target="play/modal/PlayItemsModal"]': 'openPlayItemsModal', |
| 128 | 'click [data-toggle="coco-modal"][data-target="play/modal/PlayHeroesModal"]': 'openPlayHeroesModal', |
| 129 | 'click [data-toggle="coco-modal"][data-target="play/modal/PlayAchievementsModal"]': 'openPlayAchievementsModal', |
| 130 | 'click [data-toggle="coco-modal"][data-target="play/modal/BuyGemsModal"]': 'openBuyGemsModal', |
| 131 | 'click [data-toggle="coco-modal"][data-target="core/ContactModal"]': 'openContactModal', |
| 132 | 'click [data-toggle="coco-modal"][data-target="core/CreateAccountModal"]': 'openCreateAccountModal', |
| 133 | 'click [data-toggle="coco-modal"][data-target="core/AnonymousTeacherModal"]': 'openAnonymousTeacherModal', |
| 134 | 'click #videos-button': 'onClickVideosButton', |
| 135 | 'click .module-portal': 'onClickModulePortal', |
| 136 | } |
| 137 | |
| 138 | this.prototype.shortcuts = { |
| 139 | 'shift+s': 'onShiftS', |
| 140 | } |
| 141 | |
| 142 | this.prototype.activeArenas = utils.activeArenas |
| 143 | } |
| 144 | |
| 145 | constructor (options, terrain) { |