{"version":3,"file":"js/event-rsvp-root-store-getter-fd1f2078257c5c8a03e2.chunk.js","mappings":"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","sources":["webpack://agra/./app/javascript/campaign-action-shared/store/actions.js","webpack://agra/./app/javascript/campaign-action-shared/store/getters.js","webpack://agra/./app/javascript/campaign-action-shared/store/mutations.js","webpack://agra/./app/javascript/campaign-action-shared/store/one-click-from-crm-statuses.js","webpack://agra/./app/javascript/campaign-action-shared/store/state.js","webpack://agra/./app/javascript/daisy-chains/store/state.js","webpack://agra/./app/javascript/daisy-chains/store/actions.js","webpack://agra/./app/javascript/daisy-chains/store/getters.js","webpack://agra/./app/javascript/daisy-chains/store/mutations.js","webpack://agra/./app/javascript/daisy-chains/store/module.js","webpack://agra/./app/javascript/events/rsvp/attending-statuses.js","webpack://agra/./app/javascript/events/rsvp/store/actions.js","webpack://agra/./app/javascript/events/rsvp/store/mutations.js","webpack://agra/./app/javascript/events/rsvp/store/getters.js","webpack://agra/./app/javascript/events/rsvp/store/state.js","webpack://agra/./app/javascript/events/rsvp/store/index.js","webpack://agra/./app/javascript/events/rsvp/store/build-state.js","webpack://agra/./app/javascript/utils/web-share-supported.js","webpack://agra/./node_modules/lodash/_arrayAggregator.js","webpack://agra/./node_modules/lodash/_baseAggregator.js","webpack://agra/./node_modules/lodash/_baseAssignValue.js","webpack://agra/./node_modules/lodash/_createAggregator.js","webpack://agra/./node_modules/lodash/groupBy.js"],"sourcesContent":["import ajax from '../../helpers/ajax'\nimport { objectKeysToSnakeCase } from '../../helpers/transform-object-keys'\nimport { OneClickFromCrmStatus } from './one-click-from-crm-statuses'\n\nexport default {\n fetchGlobalSubscriptionDataFromCrm({ state, commit }) {\n ajax.get({\n url: state.globalSubscriptionCheck.url,\n throwOnFailure: true,\n successHandler: (resp) => {\n if (resp.subscribed) {\n commit('setCrmSubscribed')\n }\n }\n }).catch(() => {\n // If the network call to get the data fails, we want to just handle that situation,\n // rather than showing a \"network call failed\" message to the user.\n commit('setGlobalSubscriptionCheckFromCrmFailed')\n })\n },\n\n fetchOneClickDataFromCrm({ state, commit, dispatch }) {\n ajax.get({\n url: state.crmOneClickUrl,\n camelCaseResponse: false,\n throwOnFailure: true,\n successHandler: (resp) => {\n // We got data from the CRM!\n dispatch('handleIfAlreadyTakenAction', resp).then((alreadyTakenAction) => {\n if (!alreadyTakenAction) {\n // Use the one-click signing UX! We got enough information and the action-taker hasn't already taken action on this campaign.\n commit('activateOneClickFromCrm', resp)\n commit('applyOneClickFieldMappings', resp)\n\n dispatch('trackSawOneClick')\n\n state.oneClickFromCrmStatus = OneClickFromCrmStatus.SUCCEEDED\n\n if (resp.subscribed) {\n commit('setCrmSubscribed')\n }\n } else {\n state.oneClickFromCrmStatus = OneClickFromCrmStatus.ALREADY_TOOK_ACTION\n }\n })\n }\n }).catch(() => {\n // If the network call to get the data fails, we want to just handle that situation,\n // rather than showing a \"network call failed\" message to the user.\n commit('cancelOneClick')\n\n // Must be set after calling cancelOneClick to avoid setting OneClickFromCrmStatus.CANCELLED instead\n state.oneClickFromCrmStatus = OneClickFromCrmStatus.FAILED\n\n if (state.globalSubscriptionCheck.enabled) {\n commit('setGlobalSubscriptionCheckFromCrmFailed')\n }\n })\n }\n}\n\nexport function getNewActionPayload(state, actionType, suppressEmailOptInField, {friendlyCaptchaSolution, hcaptchaResponse, recaptchaToken, turnstileToken }) {\n const data = {\n [actionType]: {\n ...objectKeysToSnakeCase(state.action),\n ...state.extraParams\n }\n }\n\n // Reset the additional fields attribute that we want to send without transforming to snake case\n data[actionType].additional_fields = state.action.additionalFields\n\n if (suppressEmailOptInField) {\n delete data[actionType].join_organisation\n delete data[actionType].email_opt_in_type_id\n }\n\n if (friendlyCaptchaSolution) {\n data.friendly_captcha_solution = friendlyCaptchaSolution\n }\n\n if (hcaptchaResponse) {\n data.hcaptcha_response = hcaptchaResponse\n }\n\n if (recaptchaToken) {\n data.recaptcha_token = recaptchaToken\n }\n\n if (turnstileToken) {\n data.turnstile_token = turnstileToken\n }\n\n return data\n}\n","import { EU_COUNTRIES } from '@/eu-countries'\nimport { MIN_MD_SCREEN_WIDTH } from '@/constants'\n\nexport default {\n dataProcessingConsentField: (state) => {\n return state.fields.find((f) => f.name === 'euDataProcessingConsent')\n },\n\n dataProcessingConsentLabel: (state, getters) => {\n const fieldConfig = getters.dataProcessingConsentField\n\n if (!fieldConfig) {\n return null\n }\n\n return fieldConfig.label\n },\n\n fieldWasSetFromCrm: (state) => (fieldName) => {\n return state.fieldsSetFromCrm.indexOf(fieldName) !== -1\n },\n\n fieldValue: (state) => (fieldName) => {\n const matchingField = state.fields.find((f) => f.name === fieldName)\n\n if (!matchingField) {\n throw `invalid field name ${fieldName}`\n }\n\n if (matchingField.isAdditionalField) {\n return state.action.additionalFields[fieldName]\n } else {\n return state.action[fieldName]\n }\n },\n\n isSubscribedInCrm: (state) => {\n return state.globalSubscriptionCheck.email === state.action.email && state.globalSubscriptionCheck.isSubscribed\n },\n\n oneClickSigning: (state) => {\n return state.oneClickFromContext || state.oneClickFromCrm\n },\n\n shouldShowDataProcessingConsent: (state, getters) => {\n const fieldConfig = getters.dataProcessingConsentField\n if (!fieldConfig) {\n return null\n }\n\n if (fieldConfig.countryToggles && state.action.country) {\n return EU_COUNTRIES.includes(state.action.country)\n } else {\n return true\n }\n },\n\n showDataProcessingConsentAfterSubmit: (state, getters) => {\n // If we shouldn't show data processing consent at all, then we should not show the message\n if (!getters.shouldShowDataProcessingConsent) {\n return false\n }\n\n const fieldConfig = getters.dataProcessingConsentField\n\n // For explicit consent, we never show a message after the submit button\n if (fieldConfig.explicitConsentRequired) {\n return false\n }\n\n // If the message is configured for the \"after submit\" position, show it\n return fieldConfig.messagePosition === 'after_submit'\n },\n\n showSidebarForScreenSize: (state) => {\n return state.windowWidth >= MIN_MD_SCREEN_WIDTH\n },\n\n suppressEmailOptInField: (state) => {\n return state.globalSubscriptionCheck.suppressEmailOptInFieldIfCrmLookupFails && state.globalSubscriptionCheck.crmLookupFailed\n }\n}\n","import { OneClickFromCrmStatus } from './one-click-from-crm-statuses'\n\nexport default {\n activateOneClickFromCrm(state, { first_name }) {\n state.oneClickFromCrm = true\n state.actionTakerName = first_name\n },\n\n applyOneClickFieldMappings(state, crmResponse) {\n if (!state.oneClickFieldMappings) {\n return\n }\n\n for (const oneClickFieldMapping of state.oneClickFieldMappings) {\n // Lookup the agra field from the one-click field mapping in the list of fields to assign as\n // a regular or an additional field\n const matchingAgraField = state.fields.find((f) => f.name === oneClickFieldMapping.agraFieldName)\n\n if (!matchingAgraField) {\n console.log(`Could not find matching field with name ${oneClickFieldMapping.agraFieldName}`)\n continue\n }\n\n // Only assign from CRM if response includes a value. This avoids that additional fields\n // with hideIfSetFromCrm == true are implicitly set to null\n const fieldValueFromCrm = crmResponse[oneClickFieldMapping.crmFieldName]\n if (fieldValueFromCrm) {\n if (matchingAgraField.isAdditionalField) {\n state.action.additionalFields[oneClickFieldMapping.agraFieldName] = fieldValueFromCrm\n } else {\n state.action[oneClickFieldMapping.agraFieldName] = fieldValueFromCrm\n }\n\n state.fieldsSetFromCrm.push(oneClickFieldMapping.agraFieldName)\n }\n }\n },\n\n cancelOneClick(state) {\n if (state.tryOneClickFromCrm) {\n state.oneClickFromCrm = false\n state.extraParams.fill_from_crm = false\n state.oneClickFromCrmStatus = OneClickFromCrmStatus.CANCELLED\n }\n if (state.oneClickFromContext) {\n state.oneClickFromContext = false\n state.extraParams.fill_from_context = false\n }\n state.actionTakerName = null\n },\n\n hideActionFormModal(state) {\n state.showingActionFormModal = false\n },\n\n setCrmSubscribed(state) {\n state.globalSubscriptionCheck.isSubscribed = true\n },\n\n setShowDaisyChain(state, showDaisyChain) {\n state.showDaisyChain = showDaisyChain\n },\n\n setAdditionalFieldValue(state, {field, value}) {\n state.action.additionalFields[field] = value\n },\n\n setEmailOptInValues(state, { value }) {\n state.action.emailOptInTypeId = value.emailOptInTypeId\n state.action.joinOrganisation = value.joinOrganisation\n },\n\n setFieldValue(state, {field, value}) {\n state.action[field] = value\n },\n\n setGlobalSubscriptionCheckFromCrmFailed(state) {\n state.globalSubscriptionCheck.crmLookupFailed = true\n },\n\n setSmsOptInValues(state, {value}) {\n state.action.smsOptInTypeId = value.smsOptInTypeId\n state.action.optInSms = value.optInSms\n },\n\n setToastErrorMessage(state, message) {\n state.toastErrorMessage = message\n setTimeout(() => {\n state.toastErrorMessage = null\n }, 5000)\n },\n\n setWindowWidth(state, newWidth) {\n state.windowWidth = newWidth\n },\n\n showActionFormModal(state) {\n state.showingActionFormModal = true\n }\n}\n","export const OneClickFromCrmStatus = {\n NOT_AVAILABLE: 'NotAvailable',\n PENDING: 'Pending',\n FAILED: 'Failed',\n SUCCEEDED: 'Succeeded',\n ALREADY_TOOK_ACTION: 'AlreadyTookAction',\n CANCELLED: 'Cancelled'\n}\n","export default {\n // Configure the action form\n createActionUrl: null,\n fields: [],\n extraParams: {},\n\n action: {},\n\n showingActionFormModal: false,\n\n windowWidth: window.innerWidth,\n\n actionTakerName: null,\n\n submittingCreateAction: false,\n\n disclaimerContent: {\n beforeSubmit: '',\n afterSubmit: ''\n },\n\n notMeLink: {\n url: null,\n method: null\n },\n\n oneClickFromContext: false,\n\n tryOneClickFromCrm: false,\n oneClickFromCrm: false,\n crmOneClickUrl: null,\n oneClickFromCrmStatus: null,\n\n oneClickFieldMappings: null,\n fieldsSetFromCrm: [],\n\n globalSubscriptionCheck: {\n enabled: false,\n url: null,\n email: null,\n isSubscribed: false,\n suppressEmailOptInFieldIfCrmLookupFails: false,\n crmLookupFailed: false\n },\n\n // Handle submission: Needs email confirmation\n awaitingEmailConfirmation: false,\n\n // Handle submission: Error display\n toastErrorMessage: null,\n validationErrors: {},\n\n // Post-submission: Show daisy chain\n showDaisyChain: false,\n completingAction: false,\n baseDaisyChainsPath: null,\n daisyChainRepeatedAction: false,\n\n // Post-submission: Sharing\n sharing: null\n}\n","export default {\n // Unchanging information about the kind of campaign and action we're dealing with\n pageKind: null,\n baseUrl: null,\n repeatedAction: false,\n\n // Persistent success message\n thanksMessageKey: null,\n successMessageKey: null,\n\n // Information about our place in the chain\n currentStepKind: null,\n previousStepKind: null,\n hasNextStep: null,\n stepsProgress: null,\n\n // Information specific to the current step\n stepData: null,\n stepTrackingData: null\n}\n","import ajax from '../../helpers/ajax'\nimport { trackEvent } from '@/analytics/track'\nimport webShareSupported from '@/utils/web-share-supported'\n\nexport default {\n loadNextStep({state, dispatch}) {\n state.previousStepKind = state.currentStepKind\n dispatch('loadStep')\n },\n\n loadStep({state, commit, dispatch, getters}) {\n const params = {\n web_share_supported: webShareSupported()\n }\n if (state.repeatedAction !== null) {\n params.re_sign = state.repeatedAction\n }\n\n // If there is a \"partner\" URL parameter, pass it along\n const urlParams = new URLSearchParams(new URL(window.location.href).search)\n if (urlParams.has('after_action')) {\n params.after_action = urlParams.get('after_action')\n }\n if (urlParams.has('partner')) {\n params.partner = urlParams.get('partner')\n }\n\n ajax.get({\n url: state.previousStepKind ? getters.nextStepUrl : getters.firstStepUrl,\n params: params,\n successHandler: (resp) => {\n const { daisyChainStepKind:kind, stepData:data, showNextStep:hasNextStep, stepsProgress, trackingData:tracking } = resp\n\n commit('setCurrentStep', { kind, data, hasNextStep, stepsProgress, tracking })\n\n if (state.currentStepKind) {\n dispatch('trackStepEvent')\n }\n }\n })\n },\n\n trackStepEvent({getters}) {\n trackEvent(\n getters.trackingEventNameForCurrentStep,\n getters.trackingEventDataForCurrentStep,\n getters.trackingIdentity\n )\n }\n}\n","import { importWithRetry } from '@/utils/component-loader'\nimport { defineAsyncComponent } from 'vue'\n\nconst sharedComponentMapping = {\n embedded_iframe_modal: () => importWithRetry(() => import(/* webpackMode: \"lazy\" */ /* webpackChunkName: \"embedded-iframe-modal\" */ '../shared/embedded-iframe-modal')),\n redirect: () => importWithRetry(() => import(/* webpackMode: \"lazy\" */ /* webpackChunkName: \"daisy-chain-redirect\" */ '../shared/redirect')),\n welcome_modal: () => importWithRetry(() => import(/* webpackMode: \"lazy\" */ /* webpackChunkName: \"welcome-modal\" */ '../shared/welcome-modal'))\n}\nconst componentMapping = {\n event: {\n ...sharedComponentMapping,\n registration_modal: () => importWithRetry(() => import(/* webpackMode: \"lazy\" */ /* webpackChunkName: \"event-registration-modal\" */ '../events/registration-modal')),\n share_modal: () => importWithRetry(() => import(/* webpackMode: \"lazy\" */ /* webpackChunkName: \"event-share-modal\" */ '../events/share-modal')),\n welcome_to_local_chapter_modal: () => importWithRetry(() => import(/* webpackMode: \"lazy\" */ /* webpackChunkName: \"event-welcome-modal\" */ '../events/welcome-to-local-chapter-modal'))\n },\n petition: {\n ...sharedComponentMapping,\n effort_modal: () => importWithRetry(() => import(/* webpackMode: \"lazy\" */ /* webpackChunkName: \"petition-effort-modal\" */ '../petitions/effort-modal')),\n event_modal: () => importWithRetry(() => import(/* webpackMode: \"lazy\" */ /* webpackChunkName: \"petition-event-modal\" */ '../petitions/event-modal')),\n local_chapter_modal: () => importWithRetry(() => import(/* webpackMode: \"lazy\" */ /* webpackChunkName: \"petition-local-chapter-modal\" */ '../petitions/local-chapter-modal')),\n promoted_petition_modal: () => importWithRetry(() => import(/* webpackMode: \"lazy\" */ /* webpackChunkName: \"promoted-petition-modal\" */ '../petitions/promoted-petition-modal')),\n share_modal: () => importWithRetry(() => import(/* webpackMode: \"lazy\" */ /* webpackChunkName: \"petition-share-modal\" */ '../petitions/share-modal'))\n }\n}\n\nconst trackingMetadataByPageAndStepKind = {\n event: {\n embedded_iframe_modal: {\n name: 'Saw IFrame Modal Step',\n slug: 'iframe-modal'\n },\n redirect: {\n name: 'Redirect After Event RSVP',\n slug: 'redirect'\n },\n registration_modal: {\n name: 'Saw Registration Modal Step',\n slug: 'registration-modal'\n },\n share_modal: {\n name: 'Saw Share Modal Step',\n slug: 'share-modal'\n },\n welcome_modal: {\n name: 'Saw Welcome Modal Step',\n slug: 'welcome-modal'\n },\n welcome_to_local_chapter_modal: {\n name: 'Saw Welcome To Local Group Modal Step',\n slug: 'welcome-to-local-group'\n }\n },\n petition: {\n effort_modal: {\n name: 'Saw Effort Modal Step',\n slug: 'effort-modal'\n },\n embedded_iframe_modal: {\n name: 'Saw IFrame Modal Step',\n slug: 'iframe-modal'\n },\n event_modal: {\n name: 'Saw Event Modal Step',\n slug: 'event-modal'\n },\n local_chapter_modal: {\n name: 'Saw Local Chapter Modal Step',\n slug: 'local-chapter-effort-modal'\n },\n promoted_petition_modal: {\n name: 'Saw Promoted Petition Modal Step',\n slug: 'promoted-petition-modal'\n },\n redirect: {\n name: 'Redirect After Signing Petition',\n slug: 'redirect'\n },\n share_modal: {\n name: 'Saw Share Modal Step',\n slug: 'share-modal'\n },\n welcome_modal: {\n name: 'Saw Welcome Modal Step',\n slug: 'welcome-modal'\n }\n }\n}\n\nexport default {\n currentStepComponent: (state) => {\n return defineAsyncComponent(componentMapping[state.pageKind][state.currentStepKind])\n },\n\n firstStepUrl: (state) => {\n return `${state.baseUrl}/start`\n },\n\n nextStepUrl: (state) => {\n return `${state.baseUrl}/${state.previousStepKind}`\n },\n\n trackingEventDataForCurrentStep: (state) => {\n const page = state.stepTrackingData.page\n const action = state.stepTrackingData.action\n\n const trackingData = {\n action: trackingMetadataByPageAndStepKind[state.pageKind][state.currentStepKind].slug,\n category: `${state.pageKind}-daisy-chain`,\n name: page.slug,\n source: action.source,\n value: action.source\n }\n\n trackingData[state.pageKind] = page.slug\n\n // Certain steps have extra tracking data\n switch (state.currentStepKind) {\n case 'promoted_petition_modal':\n trackingData.promoted_petition = state.stepData.promotedPetitions[0].slug\n trackingData.value = state.stepData.promotedPetitions[0].slug\n break\n case 'redirect':\n trackingData.redirect_url = state.stepData.redirectUrl\n trackingData.value = state.stepData.redirectUrl\n break\n }\n\n return trackingData\n },\n\n trackingEventNameForCurrentStep: (state) => {\n return trackingMetadataByPageAndStepKind[state.pageKind][state.currentStepKind].name\n },\n\n trackingIdentity: (state) => {\n const memberInfo = state.stepTrackingData.member\n // TODO: include anonymousId in here either way, as we do in views/tracking_integrations/_track_action.erb\n return memberInfo ? { id: memberInfo.id, email: memberInfo.email } : {}\n }\n}\n","export default {\n initializeDaisyChain(state, details) {\n const { pageKind, baseUrl, repeatedAction, thanksMessageKey, successMessageKey, previousStepKind } = details\n state.pageKind = pageKind\n state.baseUrl = baseUrl\n state.repeatedAction = repeatedAction\n state.thanksMessageKey = thanksMessageKey\n state.successMessageKey = successMessageKey\n state.previousStepKind = previousStepKind\n },\n\n setCurrentStep(state, { kind, data, hasNextStep, stepsProgress, tracking }) {\n state.currentStepKind = kind\n state.stepData = data\n state.hasNextStep = hasNextStep\n state.stepsProgress = stepsProgress\n state.stepTrackingData = tracking\n }\n}\n","import state from './state'\nimport actions from './actions'\nimport getters from './getters'\nimport mutations from './mutations'\n\nexport default {\n namespaced: true,\n\n state,\n actions,\n getters,\n mutations\n}\n","export const ATTENDED = 'attended'\nexport const ATTENDING = 'attending'\nexport const CONFIRMED = 'confirmed'\nexport const NO_SHOW = 'no_show'\nexport const NOT_ATTENDING = 'not_attending'\nexport const WAITING_LIST = 'waiting_list'\n","import ajax from '../../../helpers/ajax'\nimport campaignActionSharedActions, { getNewActionPayload } from '../../../campaign-action-shared/store/actions'\nimport storeModule from '../../../daisy-chains/store/module'\nimport { trackEvent } from '@/analytics/track'\n\nexport default {\n ...campaignActionSharedActions,\n\n handleIfAlreadyTakenAction() {\n // This is not yet a feature for event attendees.\n // Always return false.\n return false\n },\n\n saveNewAction({state, commit, dispatch, getters}, { attendingStatus, friendlyCaptchaSolution, hcaptchaResponse, recaptchaToken, turnstileToken }) {\n state.submittingCreateAction = true\n\n const data = getNewActionPayload(state, 'attendee', getters.suppressEmailOptInField, {friendlyCaptchaSolution, hcaptchaResponse, recaptchaToken, turnstileToken})\n data.attendee.attending_status = attendingStatus\n\n ajax.post({\n url: state.createActionUrl,\n data,\n successHandler: ({ attendee, baseDaisyChainsPath, event, sendForumMagicLinkPath, trackingData }) => {\n // Successful RSVP!\n trackEvent('Attendee Created', trackingData.parameters, trackingData.identity)\n\n // Update the state to show the correct information\n state.attendingStatus = attendee.attendingStatus\n state.attendingShiftIds = attendee.shiftIds\n state.updateAttendeeUrl = attendee.updatePath\n state.eventStatus.full = event.full\n\n // Reveal full address of event, if needed\n if (state.eventStatus.hiddenAddress) {\n state.fullLocationHtml = event.fullLocationHtml\n state.locationRevealed = true\n }\n\n if (event.webConferenceLink) {\n state.webConferenceLinkHtml = event.webConferenceLink\n state.webConferenceLinkRevealed = true\n }\n\n // Reveal discussion forum or \"get a magic link\" button\n document.dispatchEvent(new CustomEvent('agra:update-forum-context', {\n detail: {\n canViewForum: attendee.canViewForum,\n forumProps: attendee.forumProps,\n sendMagicLinkUrl: sendForumMagicLinkPath,\n showLoginPrompt: true\n }\n }))\n\n if (attendee.requiresEmailConfirmation) {\n state.awaitingEmailConfirmation = true\n } else {\n // Return initial daisy chain step info\n dispatch('startDaisyChain', baseDaisyChainsPath)\n }\n },\n errorHandler: ({ info }) => {\n state.validationErrors = info.errors\n\n if (info.cancelOneClick) {\n commit('cancelOneClick')\n }\n\n // The RSVP might have failed due to the event or some shifts becoming full.\n // Update the event state in case this is what happened.\n state.eventStatus.full = info.event.full\n state.event.shifts = info.event.shifts\n }\n }).then(() => {\n state.submittingCreateAction = false\n })\n },\n\n startDaisyChain({commit}, baseDaisyChainsPath) {\n this.registerModule('daisyChain', storeModule)\n commit('setShowDaisyChain', true)\n commit('daisyChain/initializeDaisyChain', {\n pageKind: 'event',\n baseUrl: baseDaisyChainsPath,\n previousStepKind: null,\n repeatedAction: null,\n successMessageKey: 'public.daisy_chains.events.rsvp_success',\n thanksMessageKey: 'public.daisy_chains.events.thanks_for_rsvp'\n })\n },\n\n trackSawOneClick({state}) {\n trackEvent('Saw event one-click attendee', {\n action: 'one-click-attendee',\n category: 'event',\n name: state.event.slug,\n event: state.event.slug\n })\n },\n\n updateAttendee({ state, commit }, { attendingStatus, shiftIds }) {\n const updateData = {}\n if (attendingStatus) {\n updateData.attending_status = attendingStatus\n }\n if (shiftIds) {\n updateData.shift_ids = shiftIds\n }\n\n ajax.patch({\n url: state.updateAttendeeUrl,\n data: {\n attendee: updateData\n },\n successHandler: ({ attendee, event }) => {\n state.attendingStatus = attendee.attendingStatus\n state.attendingShiftIds = attendee.shiftIds\n commit('doneEditingAttendingShifts')\n\n state.eventStatus.full = event.full\n state.event.shifts = event.shifts\n },\n errorHandler: ({ message, info }) => {\n // Updating the attendee failed. This can happen if the event or some shifts have become full,\n // so update the event state with the latest info.\n state.eventStatus.full = info.event.full\n state.event.shifts = info.event.shifts\n\n commit('setToastErrorMessage', message)\n }\n })\n }\n}\n","import campaignActionSharedMutations from '../../../campaign-action-shared/store/mutations'\n\nexport default {\n ...campaignActionSharedMutations,\n\n doneEditingAttendingShifts(state) {\n state.editingAttendingShifts = false\n },\n\n editAttendingShifts(state) {\n state.editingAttendingShifts = true\n },\n\n hideConfirmNotAttendingModal(state) {\n state.showConfirmNotAttendingModal = false\n },\n\n showConfirmNotAttendingModal(state) {\n state.showConfirmNotAttendingModal = true\n }\n}\n","import { ATTENDED, ATTENDING, CONFIRMED, NOT_ATTENDING, NO_SHOW, WAITING_LIST } from '../attending-statuses'\nimport campaignActionSharedGetters from '../../../campaign-action-shared/store/getters'\nimport groupBy from 'lodash/groupBy'\n\nexport default {\n ...campaignActionSharedGetters,\n\n attendeeHasRsvped: (state) => {\n return state.attendingStatus !== null\n },\n\n attending: (state) => {\n return [ATTENDING, CONFIRMED, ATTENDED].includes(state.attendingStatus)\n },\n\n eventCanBeShared: (state) => {\n return state.eventStatus.publiclyVisible && !state.eventStatus.cancelled && !state.eventStatus.sharingDisabled\n },\n\n notAttending: (state) => {\n return [NOT_ATTENDING, NO_SHOW].includes(state.attendingStatus)\n },\n\n onWaitlist: (state) => {\n return state.attendingStatus === WAITING_LIST\n },\n\n shiftedEvent: (state) => {\n return state.event.shifts.length > 0\n },\n\n shiftsByDay: (state) => {\n return groupBy(state.event.shifts, 'day')\n }\n}\n","import campaignActionSharedState from '../../../campaign-action-shared/store/state'\n\nexport default {\n ...campaignActionSharedState,\n\n event: {\n shifts: [],\n slug: null\n },\n\n eventStatus: {\n allowWaitlistSignup: null,\n cancelled: false,\n currentUserIsHost: false,\n full: false,\n hiddenAddress: false,\n publiclyVisible: true,\n sharingDisabled: false\n },\n\n // This reflects the status as persisted on the server\n attendingStatus: null,\n attendingShiftIds: [],\n\n // Post-submission: Reveal location (if applicable)\n locationRevealed: false,\n fullLocationHtml: null,\n\n // Post-submission and later: Update attending status\n editingAttendingShifts: false,\n updateAttendeeUrl: null,\n showConfirmNotAttendingModal: false,\n\n // Post-submission: show the web conference link (if applicable)\n webConferenceLinkRevealed: false,\n webConferenceLinkHtml: null\n}\n","import { createStore } from 'vuex'\n\nimport actions from './actions'\nimport mutations from './mutations'\nimport getters from './getters'\nimport defaultState from './state'\n\nimport buildState from './build-state'\n\nexport default function buildStore(componentName) {\n const state = buildState(componentName, defaultState)\n\n return createStore({\n state,\n getters,\n mutations,\n actions\n })\n}\n","import { OneClickFromCrmStatus } from '@/campaign-action-shared/store/one-click-from-crm-statuses'\n\nexport default function buildState(componentName, defaultState) {\n const el = document.querySelector(`.vue-component-loader[data-component-name=${componentName}]`)\n const { ...initialState } = JSON.parse(el.dataset.storeData)\n\n const state = {...defaultState, ...initialState}\n\n if (state.tryOneClickFromCrm) {\n state.oneClickFromCrmStatus = OneClickFromCrmStatus.PENDING\n } else {\n state.oneClickFromCrmStatus = OneClickFromCrmStatus.NOT_AVAILABLE\n }\n\n return state\n}\n","export default function webShareSupported() {\n return (typeof navigator.share !== 'undefined')\n}\n","/**\n * A specialized version of `baseAggregator` for arrays.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} setter The function to set `accumulator` values.\n * @param {Function} iteratee The iteratee to transform keys.\n * @param {Object} accumulator The initial aggregated object.\n * @returns {Function} Returns `accumulator`.\n */\nfunction arrayAggregator(array, setter, iteratee, accumulator) {\n var index = -1,\n length = array == null ? 0 : array.length;\n\n while (++index < length) {\n var value = array[index];\n setter(accumulator, value, iteratee(value), array);\n }\n return accumulator;\n}\n\nmodule.exports = arrayAggregator;\n","var baseEach = require('./_baseEach');\n\n/**\n * Aggregates elements of `collection` on `accumulator` with keys transformed\n * by `iteratee` and values set by `setter`.\n *\n * @private\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function} setter The function to set `accumulator` values.\n * @param {Function} iteratee The iteratee to transform keys.\n * @param {Object} accumulator The initial aggregated object.\n * @returns {Function} Returns `accumulator`.\n */\nfunction baseAggregator(collection, setter, iteratee, accumulator) {\n baseEach(collection, function(value, key, collection) {\n setter(accumulator, value, iteratee(value), collection);\n });\n return accumulator;\n}\n\nmodule.exports = baseAggregator;\n","var defineProperty = require('./_defineProperty');\n\n/**\n * The base implementation of `assignValue` and `assignMergeValue` without\n * value checks.\n *\n * @private\n * @param {Object} object The object to modify.\n * @param {string} key The key of the property to assign.\n * @param {*} value The value to assign.\n */\nfunction baseAssignValue(object, key, value) {\n if (key == '__proto__' && defineProperty) {\n defineProperty(object, key, {\n 'configurable': true,\n 'enumerable': true,\n 'value': value,\n 'writable': true\n });\n } else {\n object[key] = value;\n }\n}\n\nmodule.exports = baseAssignValue;\n","var arrayAggregator = require('./_arrayAggregator'),\n baseAggregator = require('./_baseAggregator'),\n baseIteratee = require('./_baseIteratee'),\n isArray = require('./isArray');\n\n/**\n * Creates a function like `_.groupBy`.\n *\n * @private\n * @param {Function} setter The function to set accumulator values.\n * @param {Function} [initializer] The accumulator object initializer.\n * @returns {Function} Returns the new aggregator function.\n */\nfunction createAggregator(setter, initializer) {\n return function(collection, iteratee) {\n var func = isArray(collection) ? arrayAggregator : baseAggregator,\n accumulator = initializer ? initializer() : {};\n\n return func(collection, setter, baseIteratee(iteratee, 2), accumulator);\n };\n}\n\nmodule.exports = createAggregator;\n","var baseAssignValue = require('./_baseAssignValue'),\n createAggregator = require('./_createAggregator');\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Creates an object composed of keys generated from the results of running\n * each element of `collection` thru `iteratee`. The order of grouped values\n * is determined by the order they occur in `collection`. The corresponding\n * value of each key is an array of elements responsible for generating the\n * key. The iteratee is invoked with one argument: (value).\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Collection\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function} [iteratee=_.identity] The iteratee to transform keys.\n * @returns {Object} Returns the composed aggregate object.\n * @example\n *\n * _.groupBy([6.1, 4.2, 6.3], Math.floor);\n * // => { '4': [4.2], '6': [6.1, 6.3] }\n *\n * // The `_.property` iteratee shorthand.\n * _.groupBy(['one', 'two', 'three'], 'length');\n * // => { '3': ['one', 'two'], '5': ['three'] }\n */\nvar groupBy = createAggregator(function(result, value, key) {\n if (hasOwnProperty.call(result, key)) {\n result[key].push(value);\n } else {\n baseAssignValue(result, key, [value]);\n }\n});\n\nmodule.exports = groupBy;\n"],"names":["getNewActionPayload","state","actionType","suppressEmailOptInField","friendlyCaptchaSolution","hcaptchaResponse","recaptchaToken","turnstileToken","data","objectKeysToSnakeCase","action","extraParams","additional_fields","additionalFields","join_organisation","email_opt_in_type_id","friendly_captcha_solution","hcaptcha_response","recaptcha_token","turnstile_token","fetchGlobalSubscriptionDataFromCrm","commit","ajax","get","url","globalSubscriptionCheck","throwOnFailure","successHandler","resp","subscribed","catch","fetchOneClickDataFromCrm","dispatch","crmOneClickUrl","camelCaseResponse","then","alreadyTakenAction","oneClickFromCrmStatus","OneClickFromCrmStatus","ALREADY_TOOK_ACTION","SUCCEEDED","FAILED","enabled","dataProcessingConsentField","fields","find","f","name","dataProcessingConsentLabel","getters","fieldConfig","label","fieldWasSetFromCrm","fieldName","fieldsSetFromCrm","indexOf","fieldValue","matchingField","isAdditionalField","isSubscribedInCrm","email","isSubscribed","oneClickSigning","oneClickFromContext","oneClickFromCrm","shouldShowDataProcessingConsent","countryToggles","country","EU_COUNTRIES","includes","showDataProcessingConsentAfterSubmit","explicitConsentRequired","messagePosition","showSidebarForScreenSize","windowWidth","MIN_MD_SCREEN_WIDTH","suppressEmailOptInFieldIfCrmLookupFails","crmLookupFailed","activateOneClickFromCrm","first_name","actionTakerName","applyOneClickFieldMappings","crmResponse","oneClickFieldMappings","oneClickFieldMapping","matchingAgraField","agraFieldName","console","log","fieldValueFromCrm","crmFieldName","push","cancelOneClick","tryOneClickFromCrm","fill_from_crm","CANCELLED","fill_from_context","hideActionFormModal","showingActionFormModal","setCrmSubscribed","setShowDaisyChain","showDaisyChain","setAdditionalFieldValue","field","value","setEmailOptInValues","emailOptInTypeId","joinOrganisation","setFieldValue","setGlobalSubscriptionCheckFromCrmFailed","setSmsOptInValues","smsOptInTypeId","optInSms","setToastErrorMessage","message","toastErrorMessage","setTimeout","setWindowWidth","newWidth","showActionFormModal","NOT_AVAILABLE","PENDING","createActionUrl","window","innerWidth","submittingCreateAction","disclaimerContent","beforeSubmit","afterSubmit","notMeLink","method","awaitingEmailConfirmation","validationErrors","completingAction","baseDaisyChainsPath","daisyChainRepeatedAction","sharing","loadNextStep","previousStepKind","currentStepKind","loadStep","params","web_share_supported","webShareSupported","repeatedAction","re_sign","urlParams","URLSearchParams","URL","location","href","search","has","after_action","partner","nextStepUrl","firstStepUrl","daisyChainStepKind","kind","stepData","showNextStep","hasNextStep","stepsProgress","trackingData","tracking","trackStepEvent","trackEvent","trackingEventNameForCurrentStep","trackingEventDataForCurrentStep","trackingIdentity","sharedComponentMapping","embedded_iframe_modal","importWithRetry","redirect","welcome_modal","componentMapping","event","registration_modal","share_modal","welcome_to_local_chapter_modal","petition","effort_modal","event_modal","local_chapter_modal","promoted_petition_modal","trackingMetadataByPageAndStepKind","slug","currentStepComponent","defineAsyncComponent","pageKind","baseUrl","page","stepTrackingData","category","source","promoted_petition","promotedPetitions","redirect_url","redirectUrl","memberInfo","member","id","initializeDaisyChain","details","thanksMessageKey","successMessageKey","setCurrentStep","namespaced","actions","mutations","ATTENDED","ATTENDING","CONFIRMED","NO_SHOW","NOT_ATTENDING","WAITING_LIST","campaignActionSharedActions","handleIfAlreadyTakenAction","saveNewAction","attendingStatus","attendee","attending_status","post","sendForumMagicLinkPath","parameters","identity","attendingShiftIds","shiftIds","updateAttendeeUrl","updatePath","eventStatus","full","hiddenAddress","fullLocationHtml","locationRevealed","webConferenceLink","webConferenceLinkHtml","webConferenceLinkRevealed","document","dispatchEvent","CustomEvent","detail","canViewForum","forumProps","sendMagicLinkUrl","showLoginPrompt","requiresEmailConfirmation","errorHandler","info","errors","shifts","startDaisyChain","this","registerModule","storeModule","trackSawOneClick","updateAttendee","updateData","shift_ids","patch","campaignActionSharedMutations","doneEditingAttendingShifts","editingAttendingShifts","editAttendingShifts","hideConfirmNotAttendingModal","showConfirmNotAttendingModal","campaignActionSharedGetters","attendeeHasRsvped","attending","eventCanBeShared","publiclyVisible","cancelled","sharingDisabled","notAttending","onWaitlist","shiftedEvent","length","shiftsByDay","groupBy","campaignActionSharedState","allowWaitlistSignup","currentUserIsHost","buildStore","componentName","defaultState","el","querySelector","initialState","JSON","parse","dataset","storeData","buildState","createStore","navigator","share","module","exports","array","setter","iteratee","accumulator","index","baseEach","collection","key","defineProperty","object","arrayAggregator","baseAggregator","baseIteratee","isArray","initializer","func","baseAssignValue","createAggregator","hasOwnProperty","Object","prototype","result","call"],"sourceRoot":""}