Loading
Kommunicera från Omniscript till en Lightning

Kommunicera från Omniscript till en Lightning

Skicka data från Omniscript-åtgärder och steg till andra Lightning med hjälp av egenskapen Publicera och prenumerera.

Innan du börjar, gå igenom dokumentationen om att använda PubSub. Se Kommunicera mellan komponenter.

Anteckning
Anteckning Modulen pubsub fungerar inte när Standardruntime har aktiverats. Arbeta kring denna begränsning genom att använda window post message (wpm) eller session storage message (ssm). Mer information finns i Meddelande med fönsterpostmeddelanden och sessionslagringsmeddelanden.

Egenskapen Pub/Under låter elementen Åtgärd och Steg skicka data i nyckelvärdepar till andra Lightning. Lightning måste registrera Omniscript-komponentens händelsenamn och lägga till kod för att hantera de data som skickas från händelsen.

  1. I en Omniscript-åtgärd eller -steg, i panelen Egenskaper, under Meddelanderamverk, välj Pub/Under.
  2. I fälten Nyckel och Värde, konfigurera vilka data som ska skickas till en annan Lightning.
    1. För Nyckel, ange ett namn för att lagra värdet.
    2. För Värde, ange data att skicka till Lightning. Fältet accepterar kopplingssyntax.

      Åtgärdsexempel

      Stegexempel

      Skicka data från åtgärdens svar i fältet Värde med kopplingssyntax. Till exempel, för att skicka svarsnoden "accountId", ange %accountId% för värdet.

      Skicka data från ett element inom steget med kopplingssyntax. Till exempel, för att skicka ett textelement som heter Text1, ange %Text1% för värdet.

  3. Aktivera Omniscript.
  4. I en Lightning som tar emot data från åtgärden eller steget, importera pubsub-modulen.
    import pubsub from 'namespace/pubsub';
  5. I Lightning webbkomponent, registrera pubsub-händelsen med denna kod utan att ersätta något. Den jämna måste registreras efter att komponenten återges.

    Åtgärd pubsub-händelse

    Steg pubsub-händelse

    pubsub.register('omniscript_action', {
        data: this.handleOmniAction.bind(this),
    });
    pubsub.register('omniscript_step', {
        data: this.handleOmniStepLoadData.bind(this),
    });
  6. I Lightning webbkomponent, skapa en hanterare för pubsub-händelser.

    Exempel på åtgärdshändelsehanterare

    Exempel på steghändelsehanterare

    handleOmniAction(data) {
      // perform logic to handle the Action's response data
    }
    handleOmniStepLoadData(data) {
      // perform logic to handle the pubsub data from the Step
    }
  7. (Valfritt) Om olika åtgärder eller steg kräver olika logik, använd ett växeluttryck för att beskriva hur händelsen ska hanteras. Mer information om switchuttryck finns i switch.

    Åtgärdsexempel

    Stegexempel

    Gå till åtgärdens elementnamn med data.name.

    handleOmniAction(data) {
      switch(data.name) {
        case 'SomeNameForAction':
          this.handleSomeNameForAction(data);
          break;
        case 'SomeNameForAction2':
          this.handleSomeNameForAction2(data);
          break;
        default:
          // handle default case
      }
    }
    
    handleSomeNameForAction(data) {
        // perform some logic specific to SomeNameForAction action
        // that has element name = "SomeNameForAction"
    }
    
    handleSomeNameForAction2(data) {
        // perform some logic specific to SomeNameForAction2 action
        // that has element name = "SomeNameForAction2"
    }

    Gå till stegets elementnamn med data.name.

    handleOmniStepLoadData(data) {
      switch(data.name) {
        case 'FirstStep':
          this.handleOmniFirstStepLoadData(data);
          break;
        case 'SecondStep':
          this.handleOmniSecondStepLoadData(data);
          break;
        default:
          // handle default case
      }
    }
    
    handleOmniFirstStepLoadData(data) {
        // perform some logic specific when a Step element which name is
        // FirstStep is loaded
    }
    
    handleOmniSecondStepLoadData(data) {
        // perform some logic specific when a Step element which name is
        // SecondStep is loaded
    }

    Gå till åtgärdens elementtyp med hjälp av data.type.

    handleOmniAction(data) {
      switch(data.type) {
        case 'Integration Procedure Action':
          this.handleIPActionPubsubEvents(data);
          break;
        case 'Remote Action':
          this.handleRemoteActionPubsubEvents(data);
          break;
        default:
          // handle default case
      }
    }
    
    handleIPActionPubsubEvents(data) {
        // perform some logic specific to Integration Procedure Actions
    }
    
    handleRemoteActionPubsubEvents(data) {
        // perform some logic specific to Remote Actions
    }

    ej tillämpligt

 
Laddar
Salesforce Help | Article