Created
May 24, 2021 16:45
-
-
Save NoMan2000/b15d46425b9dba02884f1aa1443b2967 to your computer and use it in GitHub Desktop.
Generated by XState Viz: https://xstate.js.org/viz
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| var AdCreationPages; | |
| (function (AdCreationPages) { | |
| AdCreationPages["CHOOSE_ORGANIC_OR_PAID"] = "organicOrPaid"; | |
| AdCreationPages["AD_CREATION_FORM"] = "adCreationForm"; | |
| AdCreationPages["ORGANIC_POSTS"] = "organicPosts"; | |
| AdCreationPages["PAID_POSTS"] = "paidPosts"; | |
| AdCreationPages["PAID_POSTS_CURATED"] = "paidPostsCuration"; | |
| AdCreationPages["PAID_POSTS_BESPOKE"] = "paidPostsBespoke"; | |
| AdCreationPages["POSTS_PUBLISHED"] = "postsPublished"; | |
| AdCreationPages["SAVE_DRAFT"] = "saveDraft"; | |
| })(AdCreationPages || (AdCreationPages = {})); | |
| var PaidPostsCurationTypes; | |
| (function (PaidPostsCurationTypes) { | |
| PaidPostsCurationTypes["CREDITS"] = "credits"; | |
| PaidPostsCurationTypes["PRODUCTS"] = "products"; | |
| PaidPostsCurationTypes["COMPETITORS"] = "competitors"; | |
| PaidPostsCurationTypes["AUDIENCE"] = "audience"; | |
| })(PaidPostsCurationTypes || (PaidPostsCurationTypes = {})); | |
| var PaidPostsBespokeTypes; | |
| (function (PaidPostsBespokeTypes) { | |
| PaidPostsBespokeTypes["OBJECTIVES"] = "objectives"; | |
| PaidPostsBespokeTypes["AUDIENCE"] = "audience"; | |
| PaidPostsBespokeTypes["CREATIVE"] = "creative"; | |
| PaidPostsBespokeTypes["PAYMENT"] = "payment"; | |
| PaidPostsBespokeTypes["OVERVIEW"] = "overview"; | |
| })(PaidPostsBespokeTypes || (PaidPostsBespokeTypes = {})); | |
| // States specific to an action. | |
| var AdCreationEventStates; | |
| (function (AdCreationEventStates) { | |
| AdCreationEventStates["CHOOSE_ORGANIC_OR_PAID"] = "chooseOrganicOrPaid"; | |
| // Can do one of the two below | |
| AdCreationEventStates["CHOOSE_ORGANIC"] = "chooseOrganic"; | |
| AdCreationEventStates["CHOOSE_PAID"] = "choosePaid"; | |
| // If they choose paid, can do one of the two below. | |
| AdCreationEventStates["CHOOSE_PAID_CURATED"] = "choosePaidCurated"; | |
| AdCreationEventStates["CHOOSE_PAID_BESPOKE"] = "choosePaidBespoke"; | |
| // If they choose curated, they can choose one of the four paths below | |
| AdCreationEventStates["CHOOSE_PAID_CURATED_CREDITS"] = "choosePaidCuratedCredits"; | |
| AdCreationEventStates["CHOOSE_PAID_CURATED_PRODUCTS"] = "choosePaidCuratedProducts"; | |
| AdCreationEventStates["CHOOSE_PAID_CURATED_COMPETITORS"] = "choosePaidCuratedCompetitors"; | |
| AdCreationEventStates["CHOOSE_PAID_CURATED_AUDIENCE"] = "choosePaidCuratedAudience"; | |
| // Final curated states | |
| AdCreationEventStates["CHOOSE_PAID_CURATED_POST_DETAILS"] = "choosePaidCuratedPostDetails"; | |
| AdCreationEventStates["SUBMIT_PAID_CURATED_POST_DETAILS"] = "submitPaidCuratedPostDetails"; | |
| // If they choose bespoke, they can choosen one of the five paths below. | |
| AdCreationEventStates["CHOOSE_PAID_BESPOKE_OBJECTIVES"] = "choosePaidBespokeObjectives"; | |
| AdCreationEventStates["CHOOSE_PAID_BESPOKE_AUDIENCE"] = "choosePaidBespokeAudience"; | |
| AdCreationEventStates["CHOOSE_PAID_BESPOKE_CREATIVE"] = "choosePaidBespokeCreative"; | |
| AdCreationEventStates["CHOOSE_PAID_BESPOKE_PAYMENT"] = "choosePaidBespokePayment"; | |
| // Fetchers | |
| AdCreationEventStates["FETCH_PAID"] = "fetchPaid"; | |
| AdCreationEventStates["FETCH_ORGANIC"] = "fetchOrganic"; | |
| // Curated fetchers | |
| AdCreationEventStates["FETCH_PAID_CURATED"] = "fetchPaidCurated"; | |
| AdCreationEventStates["FETCH_PAID_CURATED_CREDITS"] = "fetchPaidCuratedCredits"; | |
| AdCreationEventStates["FETCH_PAID_CURATED_PRODUCTS"] = "fetchPaidCuratedProducts"; | |
| AdCreationEventStates["FETCH_PAID_CURATED_COMPETITORS"] = "fetchPaidCuratedCompetitors"; | |
| AdCreationEventStates["FETCH_PAID_CURATED_AUDIENCE"] = "fetchPaidCuratedAudience"; | |
| // Bespoke fetchers | |
| AdCreationEventStates["FETCH_PAID_BESPOKE"] = "fetchPaidBespoke"; | |
| AdCreationEventStates["FETCH_PAID_BESPOKE_OBJECTIVES"] = "fetchPaidBespokeObjectives"; | |
| AdCreationEventStates["FETCH_PAID_BESPOKE_AUDIENCE"] = "fetchPaidBespokeAudience"; | |
| AdCreationEventStates["FETCH_PAID_BESPOKE_CREATIVE"] = "fetchPaidBespokeCreative"; | |
| AdCreationEventStates["FETCH_PAID_BESPOKE_PAYMENT"] = "fetchPaidBespokePayment"; | |
| // Bespoke final states | |
| AdCreationEventStates["CHOOSE_PAID_BESPOKE_POST_DETAILS"] = "choosePaidBespokePostDetails"; | |
| AdCreationEventStates["SUBMIT_PAID_BESPOKE_POST_DETAILS"] = "submitPaidBespokePostDetails"; | |
| // GENERIC | |
| AdCreationEventStates["POST_SUBMITTED"] = "postSubmitted"; | |
| AdCreationEventStates["RESOLVE"] = "resolve"; | |
| AdCreationEventStates["REJECT"] = "reject"; | |
| AdCreationEventStates["ERROR"] = "error"; | |
| // FINAL PAGE | |
| AdCreationEventStates["SUBMITTED_PREVIEW"] = "submittedPreview"; | |
| AdCreationEventStates["CHOOSE_FINAL"] = "chooseFinal"; | |
| })(AdCreationEventStates || (AdCreationEventStates = {})); | |
| var Invokables; | |
| (function (Invokables) { | |
| Invokables["checkValid"] = "CHECK_VALID"; | |
| })(Invokables || (Invokables = {})); | |
| const AD_CREATION_MACHINE_ID = 'AdCreationMachine'; | |
| const fetchMachine = Machine({ | |
| id: AD_CREATION_MACHINE_ID, | |
| initial: AdCreationEventStates.CHOOSE_ORGANIC_OR_PAID, | |
| states: { | |
| [AdCreationEventStates.CHOOSE_ORGANIC_OR_PAID]: { | |
| on: { | |
| [AdCreationEventStates.FETCH_ORGANIC]: AdCreationEventStates.FETCH_ORGANIC, | |
| [AdCreationEventStates.FETCH_PAID]: AdCreationEventStates.FETCH_PAID, | |
| }, | |
| context: { | |
| isLoading: false, | |
| errorMessage: '', | |
| next: [AdCreationEventStates.CHOOSE_ORGANIC, AdCreationEventStates.CHOOSE_PAID], | |
| prev: AdCreationEventStates.CHOOSE_ORGANIC_OR_PAID, | |
| current: AdCreationEventStates.CHOOSE_ORGANIC_OR_PAID, | |
| }, | |
| }, | |
| [AdCreationEventStates.CHOOSE_ORGANIC]: { | |
| onDone: { | |
| target: AdCreationEventStates.CHOOSE_FINAL, | |
| actions: assign((ctx, eventData) => { | |
| return Object.assign(Object.assign({}, ctx), { isLoading: false, results: eventData.data }); | |
| }), | |
| }, | |
| onError: { | |
| target: AdCreationEventStates.ERROR, | |
| src: AdCreationEventStates.ERROR, | |
| actions: assign((ctx, eventData) => { | |
| return Object.assign(Object.assign({}, ctx), { isLoading: false, errorMessage: eventData.data }); | |
| }), | |
| }, | |
| context: { | |
| isLoading: true, | |
| next: [AdCreationEventStates.CHOOSE_FINAL], | |
| prev: AdCreationEventStates.CHOOSE_ORGANIC_OR_PAID, | |
| current: AdCreationEventStates.CHOOSE_ORGANIC_OR_PAID, | |
| }, | |
| on: { | |
| [AdCreationEventStates.CHOOSE_FINAL]: AdCreationEventStates.CHOOSE_FINAL, | |
| }, | |
| }, | |
| [AdCreationEventStates.CHOOSE_PAID]: { | |
| id: AdCreationEventStates.CHOOSE_PAID, | |
| context: { | |
| errorMessage: '', | |
| isLoading: false, | |
| next: [AdCreationEventStates.CHOOSE_PAID_CURATED, AdCreationEventStates.CHOOSE_PAID_BESPOKE], | |
| prev: AdCreationEventStates.CHOOSE_ORGANIC_OR_PAID, | |
| current: AdCreationEventStates.CHOOSE_PAID, | |
| }, | |
| on: { | |
| [AdCreationEventStates.FETCH_PAID_CURATED]: AdCreationEventStates.FETCH_PAID_CURATED, | |
| [AdCreationEventStates.FETCH_PAID_BESPOKE]: AdCreationEventStates.FETCH_PAID_BESPOKE, | |
| }, | |
| }, | |
| [AdCreationEventStates.CHOOSE_PAID_CURATED]: { | |
| id: AdCreationEventStates.CHOOSE_PAID_CURATED, | |
| context: { | |
| isLoading: false, | |
| errorMessage: '', | |
| next: [ | |
| AdCreationEventStates.CHOOSE_PAID_CURATED_CREDITS, | |
| AdCreationEventStates.CHOOSE_PAID_CURATED_PRODUCTS, | |
| AdCreationEventStates.CHOOSE_PAID_CURATED_COMPETITORS, | |
| AdCreationEventStates.CHOOSE_PAID_CURATED_AUDIENCE, | |
| ], | |
| current: AdCreationEventStates.CHOOSE_PAID_CURATED, | |
| prev: AdCreationEventStates.CHOOSE_PAID, | |
| }, | |
| on: { | |
| [AdCreationEventStates.FETCH_PAID_CURATED_CREDITS]: AdCreationEventStates.FETCH_PAID_CURATED_CREDITS, | |
| [AdCreationEventStates.FETCH_PAID_CURATED_PRODUCTS]: AdCreationEventStates.FETCH_PAID_CURATED_PRODUCTS, | |
| [AdCreationEventStates.FETCH_PAID_CURATED_COMPETITORS]: AdCreationEventStates.FETCH_PAID_CURATED_COMPETITORS, | |
| [AdCreationEventStates.FETCH_PAID_CURATED_AUDIENCE]: AdCreationEventStates.FETCH_PAID_CURATED_AUDIENCE, | |
| }, | |
| }, | |
| [AdCreationEventStates.CHOOSE_PAID_CURATED_CREDITS]: { | |
| id: AdCreationEventStates.CHOOSE_PAID_CURATED_CREDITS, | |
| context: { | |
| isLoading: false, | |
| errorMessage: '', | |
| next: [ | |
| AdCreationEventStates.CHOOSE_PAID_CURATED_POST_DETAILS, | |
| ], | |
| current: AdCreationEventStates.CHOOSE_PAID_CURATED_CREDITS, | |
| prev: AdCreationEventStates.CHOOSE_PAID_CURATED, | |
| }, | |
| on: { | |
| [AdCreationEventStates.CHOOSE_PAID_CURATED_POST_DETAILS]: AdCreationEventStates.CHOOSE_PAID_CURATED_POST_DETAILS, | |
| }, | |
| }, | |
| [AdCreationEventStates.CHOOSE_PAID_CURATED_PRODUCTS]: { | |
| id: AdCreationEventStates.CHOOSE_PAID_CURATED_PRODUCTS, | |
| context: { | |
| isLoading: false, | |
| errorMessage: '', | |
| next: [ | |
| AdCreationEventStates.CHOOSE_PAID_CURATED_POST_DETAILS, | |
| ], | |
| current: AdCreationEventStates.CHOOSE_PAID_CURATED_PRODUCTS, | |
| prev: AdCreationEventStates.CHOOSE_PAID_CURATED, | |
| }, | |
| on: { | |
| [AdCreationEventStates.CHOOSE_PAID_CURATED_POST_DETAILS]: AdCreationEventStates.CHOOSE_PAID_CURATED_POST_DETAILS, | |
| }, | |
| }, | |
| [AdCreationEventStates.CHOOSE_PAID_CURATED_COMPETITORS]: { | |
| id: AdCreationEventStates.CHOOSE_PAID_CURATED_COMPETITORS, | |
| context: { | |
| isLoading: false, | |
| errorMessage: '', | |
| next: [ | |
| AdCreationEventStates.CHOOSE_PAID_CURATED_POST_DETAILS, | |
| ], | |
| current: AdCreationEventStates.CHOOSE_PAID_CURATED_COMPETITORS, | |
| prev: AdCreationEventStates.CHOOSE_PAID_CURATED, | |
| }, | |
| on: { | |
| [AdCreationEventStates.CHOOSE_PAID_CURATED_POST_DETAILS]: AdCreationEventStates.CHOOSE_PAID_CURATED_POST_DETAILS, | |
| }, | |
| }, | |
| [AdCreationEventStates.CHOOSE_PAID_CURATED_AUDIENCE]: { | |
| id: AdCreationEventStates.CHOOSE_PAID_CURATED_AUDIENCE, | |
| context: { | |
| isLoading: false, | |
| next: [ | |
| AdCreationEventStates.CHOOSE_PAID_CURATED_POST_DETAILS, | |
| ], | |
| errorMessage: '', | |
| current: AdCreationEventStates.CHOOSE_PAID_CURATED_AUDIENCE, | |
| prev: AdCreationEventStates.CHOOSE_PAID_CURATED, | |
| }, | |
| on: { | |
| [AdCreationEventStates.CHOOSE_PAID_CURATED_POST_DETAILS]: AdCreationEventStates.CHOOSE_PAID_CURATED_POST_DETAILS, | |
| }, | |
| }, | |
| [AdCreationEventStates.CHOOSE_PAID_CURATED_POST_DETAILS]: { | |
| id: AdCreationEventStates.CHOOSE_PAID_CURATED_POST_DETAILS, | |
| on: { | |
| [AdCreationEventStates.SUBMIT_PAID_CURATED_POST_DETAILS]: AdCreationEventStates.SUBMIT_PAID_CURATED_POST_DETAILS, | |
| }, | |
| }, | |
| [AdCreationEventStates.SUBMIT_PAID_CURATED_POST_DETAILS]: { | |
| id: AdCreationEventStates.SUBMIT_PAID_CURATED_POST_DETAILS, | |
| on: { | |
| [AdCreationEventStates.POST_SUBMITTED]: AdCreationEventStates.POST_SUBMITTED, | |
| }, | |
| }, | |
| [AdCreationEventStates.CHOOSE_PAID_BESPOKE]: { | |
| id: AdCreationEventStates.CHOOSE_PAID_BESPOKE, | |
| context: { | |
| isLoading: true, | |
| next: [ | |
| AdCreationEventStates.CHOOSE_PAID_BESPOKE_OBJECTIVES, | |
| AdCreationEventStates.CHOOSE_PAID_BESPOKE_AUDIENCE, | |
| AdCreationEventStates.CHOOSE_PAID_CURATED_COMPETITORS, | |
| AdCreationEventStates.CHOOSE_PAID_CURATED_AUDIENCE, | |
| ], | |
| errorMessage: '', | |
| current: AdCreationEventStates.CHOOSE_PAID_BESPOKE, | |
| prev: AdCreationEventStates.CHOOSE_PAID, | |
| }, | |
| on: { | |
| [AdCreationEventStates.FETCH_PAID_BESPOKE_OBJECTIVES]: AdCreationEventStates.FETCH_PAID_BESPOKE_OBJECTIVES, | |
| [AdCreationEventStates.FETCH_PAID_BESPOKE_AUDIENCE]: AdCreationEventStates.FETCH_PAID_BESPOKE_AUDIENCE, | |
| [AdCreationEventStates.FETCH_PAID_CURATED_COMPETITORS]: AdCreationEventStates.FETCH_PAID_CURATED_COMPETITORS, | |
| [AdCreationEventStates.FETCH_PAID_CURATED_AUDIENCE]: AdCreationEventStates.FETCH_PAID_CURATED_AUDIENCE, | |
| } | |
| }, | |
| [AdCreationEventStates.CHOOSE_PAID_BESPOKE_OBJECTIVES]: { | |
| id: AdCreationEventStates.CHOOSE_PAID_BESPOKE_OBJECTIVES, | |
| context: { | |
| isLoading: false, | |
| errorMessage: '', | |
| next: [ | |
| AdCreationEventStates.CHOOSE_PAID_BESPOKE_POST_DETAILS, | |
| ], | |
| current: AdCreationEventStates.CHOOSE_PAID_BESPOKE_OBJECTIVES, | |
| prev: AdCreationEventStates.CHOOSE_PAID_BESPOKE, | |
| }, | |
| on: { | |
| [AdCreationEventStates.CHOOSE_PAID_BESPOKE_POST_DETAILS]: AdCreationEventStates.CHOOSE_PAID_BESPOKE_POST_DETAILS, | |
| }, | |
| }, | |
| [AdCreationEventStates.CHOOSE_PAID_BESPOKE_AUDIENCE]: { | |
| id: AdCreationEventStates.CHOOSE_PAID_BESPOKE_AUDIENCE, | |
| context: { | |
| isLoading: false, | |
| errorMessage: '', | |
| next: [ | |
| AdCreationEventStates.CHOOSE_PAID_BESPOKE_POST_DETAILS, | |
| ], | |
| current: AdCreationEventStates.CHOOSE_PAID_BESPOKE_OBJECTIVES, | |
| prev: AdCreationEventStates.CHOOSE_PAID_BESPOKE, | |
| }, | |
| on: { | |
| [AdCreationEventStates.CHOOSE_PAID_BESPOKE_POST_DETAILS]: AdCreationEventStates.CHOOSE_PAID_BESPOKE_POST_DETAILS, | |
| }, | |
| }, | |
| [AdCreationEventStates.CHOOSE_PAID_BESPOKE_CREATIVE]: { | |
| id: AdCreationEventStates.CHOOSE_PAID_BESPOKE_CREATIVE, | |
| context: { | |
| isLoading: false, | |
| errorMessage: '', | |
| next: [ | |
| AdCreationEventStates.CHOOSE_PAID_BESPOKE_POST_DETAILS, | |
| ], | |
| current: AdCreationEventStates.CHOOSE_PAID_BESPOKE_CREATIVE, | |
| prev: AdCreationEventStates.CHOOSE_PAID_BESPOKE, | |
| }, | |
| on: { | |
| [AdCreationEventStates.CHOOSE_PAID_BESPOKE_POST_DETAILS]: AdCreationEventStates.CHOOSE_PAID_BESPOKE_POST_DETAILS, | |
| }, | |
| }, | |
| [AdCreationEventStates.CHOOSE_PAID_BESPOKE_PAYMENT]: { | |
| id: AdCreationEventStates.CHOOSE_PAID_BESPOKE_PAYMENT, | |
| context: { | |
| isLoading: false, | |
| next: [ | |
| AdCreationEventStates.CHOOSE_PAID_BESPOKE_POST_DETAILS, | |
| ], | |
| errorMessage: '', | |
| current: AdCreationEventStates.CHOOSE_PAID_BESPOKE_PAYMENT, | |
| prev: AdCreationEventStates.CHOOSE_PAID_BESPOKE, | |
| }, | |
| on: { | |
| [AdCreationEventStates.CHOOSE_PAID_BESPOKE_POST_DETAILS]: AdCreationEventStates.CHOOSE_PAID_BESPOKE_POST_DETAILS, | |
| }, | |
| }, | |
| [AdCreationEventStates.CHOOSE_PAID_BESPOKE_POST_DETAILS]: { | |
| id: AdCreationEventStates.CHOOSE_PAID_BESPOKE_POST_DETAILS, | |
| context: { | |
| errorMessage: '', | |
| isLoading: false, | |
| current: AdCreationEventStates.CHOOSE_PAID_BESPOKE_POST_DETAILS, | |
| next: [AdCreationEventStates.SUBMIT_PAID_BESPOKE_POST_DETAILS] | |
| }, | |
| on: { | |
| [AdCreationEventStates.SUBMIT_PAID_BESPOKE_POST_DETAILS]: AdCreationEventStates.SUBMIT_PAID_BESPOKE_POST_DETAILS, | |
| }, | |
| }, | |
| [AdCreationEventStates.SUBMIT_PAID_BESPOKE_POST_DETAILS]: { | |
| context: { | |
| errorMessage: '', | |
| isLoading: false, | |
| next: [AdCreationEventStates.POST_SUBMITTED], | |
| current: AdCreationEventStates.SUBMIT_PAID_BESPOKE_POST_DETAILS, | |
| prev: AdCreationEventStates.CHOOSE_PAID_BESPOKE_POST_DETAILS, | |
| }, | |
| on: { | |
| [AdCreationEventStates.POST_SUBMITTED]: AdCreationEventStates.POST_SUBMITTED, | |
| }, | |
| }, | |
| // Fetchers | |
| [AdCreationEventStates.FETCH_PAID]: { | |
| on: { | |
| [AdCreationEventStates.RESOLVE]: { | |
| target: AdCreationEventStates.CHOOSE_PAID, | |
| actions: assign({ | |
| results: (_context, ev) => ev.data, | |
| }), | |
| }, | |
| [AdCreationEventStates.REJECT]: { | |
| target: AdCreationEventStates.ERROR, | |
| actions: assign({ | |
| errorMessage: (_context, ev) => ev.data, | |
| }), | |
| }, | |
| } | |
| }, | |
| [AdCreationEventStates.FETCH_PAID_BESPOKE]: { | |
| on: { | |
| [AdCreationEventStates.RESOLVE]: { | |
| target: AdCreationEventStates.CHOOSE_PAID_CURATED, | |
| actions: assign({ | |
| results: (_context, ev) => ev.data, | |
| }), | |
| }, | |
| [AdCreationEventStates.REJECT]: { | |
| target: AdCreationEventStates.ERROR, | |
| actions: assign({ | |
| errorMessage: (_context, ev) => ev.data, | |
| }), | |
| }, | |
| } | |
| }, | |
| [AdCreationEventStates.FETCH_PAID_BESPOKE_AUDIENCE]: { | |
| on: { | |
| [AdCreationEventStates.RESOLVE]: { | |
| target: AdCreationEventStates.CHOOSE_PAID_BESPOKE_AUDIENCE, | |
| actions: assign({ | |
| results: (_context, ev) => ev.data, | |
| }), | |
| }, | |
| [AdCreationEventStates.REJECT]: { | |
| target: AdCreationEventStates.ERROR, | |
| actions: assign({ | |
| errorMessage: (_context, ev) => ev.data, | |
| }), | |
| }, | |
| } | |
| }, | |
| [AdCreationEventStates.FETCH_PAID_BESPOKE_CREATIVE]: { | |
| on: { | |
| [AdCreationEventStates.RESOLVE]: { | |
| target: AdCreationEventStates.CHOOSE_PAID_BESPOKE_CREATIVE, | |
| actions: assign({ | |
| results: (_context, ev) => ev.data, | |
| }), | |
| }, | |
| [AdCreationEventStates.REJECT]: { | |
| target: AdCreationEventStates.ERROR, | |
| actions: assign({ | |
| errorMessage: (_context, ev) => ev.data, | |
| }), | |
| }, | |
| }, | |
| }, | |
| [AdCreationEventStates.FETCH_PAID_BESPOKE_OBJECTIVES]: { | |
| on: { | |
| [AdCreationEventStates.RESOLVE]: { | |
| target: AdCreationEventStates.CHOOSE_PAID_CURATED, | |
| actions: assign({ | |
| results: (_context, ev) => ev.data, | |
| }), | |
| }, | |
| [AdCreationEventStates.REJECT]: { | |
| target: AdCreationEventStates.ERROR, | |
| actions: assign({ | |
| errorMessage: (_context, ev) => ev.data, | |
| }), | |
| }, | |
| }, | |
| }, | |
| [AdCreationEventStates.FETCH_PAID_BESPOKE_PAYMENT]: { | |
| on: { | |
| [AdCreationEventStates.RESOLVE]: { | |
| target: AdCreationEventStates.CHOOSE_PAID_BESPOKE_PAYMENT, | |
| actions: assign({ | |
| results: (_context, ev) => ev.data, | |
| }), | |
| }, | |
| [AdCreationEventStates.REJECT]: { | |
| target: AdCreationEventStates.ERROR, | |
| actions: assign({ | |
| errorMessage: (_context, ev) => ev.data, | |
| }), | |
| }, | |
| } | |
| }, | |
| [AdCreationEventStates.FETCH_PAID_CURATED]: { | |
| on: { | |
| [AdCreationEventStates.RESOLVE]: { | |
| target: AdCreationEventStates.CHOOSE_PAID_CURATED, | |
| actions: assign({ | |
| results: (_context, ev) => ev.data, | |
| }), | |
| }, | |
| [AdCreationEventStates.REJECT]: { | |
| target: AdCreationEventStates.ERROR, | |
| actions: assign({ | |
| errorMessage: (_context, ev) => ev.data, | |
| }), | |
| }, | |
| } | |
| }, | |
| [AdCreationEventStates.FETCH_PAID_CURATED_AUDIENCE]: { | |
| on: { | |
| [AdCreationEventStates.RESOLVE]: { | |
| target: AdCreationEventStates.CHOOSE_PAID_CURATED_AUDIENCE, | |
| actions: assign({ | |
| results: (_context, ev) => ev.data, | |
| }), | |
| }, | |
| [AdCreationEventStates.REJECT]: { | |
| target: AdCreationEventStates.ERROR, | |
| actions: assign({ | |
| errorMessage: (_context, ev) => ev.data, | |
| }), | |
| }, | |
| } | |
| }, | |
| [AdCreationEventStates.FETCH_PAID_CURATED_COMPETITORS]: { | |
| on: { | |
| [AdCreationEventStates.RESOLVE]: { | |
| target: AdCreationEventStates.CHOOSE_PAID_CURATED_COMPETITORS, | |
| actions: assign({ | |
| results: (_context, ev) => ev.data, | |
| }), | |
| }, | |
| [AdCreationEventStates.REJECT]: { | |
| target: AdCreationEventStates.ERROR, | |
| actions: assign({ | |
| errorMessage: (_context, ev) => ev.data, | |
| }), | |
| }, | |
| } | |
| }, | |
| [AdCreationEventStates.FETCH_PAID_CURATED_CREDITS]: { | |
| on: { | |
| [AdCreationEventStates.RESOLVE]: { | |
| target: AdCreationEventStates.CHOOSE_PAID_CURATED_CREDITS, | |
| actions: assign({ | |
| results: (_context, ev) => ev.data, | |
| }), | |
| }, | |
| [AdCreationEventStates.REJECT]: { | |
| target: AdCreationEventStates.ERROR, | |
| actions: assign({ | |
| errorMessage: (_context, ev) => ev.data, | |
| }), | |
| }, | |
| } | |
| }, | |
| [AdCreationEventStates.FETCH_PAID_CURATED_PRODUCTS]: { | |
| on: { | |
| [AdCreationEventStates.RESOLVE]: { | |
| target: AdCreationEventStates.CHOOSE_PAID_CURATED_PRODUCTS, | |
| actions: assign({ | |
| results: (_context, ev) => ev.data, | |
| }), | |
| }, | |
| [AdCreationEventStates.REJECT]: { | |
| target: AdCreationEventStates.ERROR, | |
| actions: assign({ | |
| errorMessage: (_context, ev) => ev.data, | |
| }), | |
| }, | |
| } | |
| }, | |
| [AdCreationEventStates.FETCH_ORGANIC]: { | |
| on: { | |
| [AdCreationEventStates.RESOLVE]: { | |
| target: AdCreationEventStates.CHOOSE_ORGANIC, | |
| actions: assign({ | |
| results: (_context, ev) => ev.data, | |
| }), | |
| }, | |
| [AdCreationEventStates.REJECT]: { | |
| target: AdCreationEventStates.ERROR, | |
| actions: assign({ | |
| errorMessage: (_context, ev) => ev.data, | |
| }), | |
| }, | |
| } | |
| }, | |
| [AdCreationEventStates.POST_SUBMITTED]: { | |
| context: { | |
| isLoading: true, | |
| errorMessage: '', | |
| }, | |
| on: { | |
| [AdCreationEventStates.RESOLVE]: { | |
| target: AdCreationEventStates.SUBMITTED_PREVIEW, | |
| actions: assign({ | |
| results: (_context, ev) => ev.data, | |
| }), | |
| }, | |
| [AdCreationEventStates.REJECT]: { | |
| target: AdCreationEventStates.ERROR, | |
| actions: assign({ | |
| errorMessage: (_context, ev) => ev.data, | |
| }), | |
| }, | |
| }, | |
| }, | |
| [AdCreationEventStates.CHOOSE_ORGANIC]: { | |
| type: 'final', | |
| }, | |
| // Final pages. | |
| [AdCreationEventStates.ERROR]: { | |
| type: 'final', | |
| }, | |
| [AdCreationEventStates.SUBMITTED_PREVIEW]: { | |
| type: 'final', | |
| }, | |
| }, | |
| context: { | |
| results: [], | |
| errorMessage: '', | |
| next: [''], | |
| current: AdCreationEventStates.CHOOSE_ORGANIC_OR_PAID, | |
| isLoading: false, | |
| }, | |
| }, { | |
| // @ts-ignore | |
| actions: { | |
| // @ts-ignore | |
| }, | |
| }); |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment