Plattform der nächsten Generation

Notes-Widget implementieren

Das Verkaufspersonal verwendet das Notes-Widget, um Details wie den Bestellverlauf oder andere zusätzliche Informationen, die einem Kundenprofil zugeordnet sind, zu erfassen und anzuzeigen. Dieser Abschnitt beschreibt die APIs, Dienste und anderen Komponenten, die zur Implementierung des Notes-Widgets in Sterling Store Engagement verwendet werden.

Voraussetzungen und Einschränkungen

  • Notizen werden basierend auf dem Erstellungsdatum sortiert.
  • Notes-Filter werden beim Hinzufügen neuer Notes oder beim Schließen des Notes-Widgets zurückgesetzt.
  • Notes-Widgets unterstützen die clientseitige Paginierung.
  • Standardmäßig sind keine Notes-Filter ausgewählt.

Lösung

Das Notizen-Widget ist auf mehreren Seiten in Sterling Store Engagement verfügbar, z. B. auf der TA-Zusammenfassungsseite und auf den verschiedenen Seiten für den Empfang von Inventar und die Suche nach Inventar. Das Widget 'Hinweise' ist auch auf den Seiten für Bestellübersicht, Kundendetails und Warenkorbdetails verfügbar.

Sie können eine Notiz als wichtig markieren, wenn Sie die Notiz als wichtig markieren wollen. Sie können die Liste der Notizen auch nach dem Benutzer, der sie hinzugefügt hat, System oder Benutzer und dem Flag "Wichtig" filtern.

Die API getNoteList wird aufgerufen, um Hinweise auf der Basis von TableKey und TableNameabzurufen. Dieselbe API wird verwendet, um die Hinweise basierend darauf zu filtern, ob sie vom Benutzer protokolliert werden, vom System generiert werden oder das Flag "Wichtig" gesetzt ist. Diese Aktionen werden in der Notes-Komponente selbst ausgeführt.

In Fällen, in denen beim Abrufen der Anmerkungsliste nicht die generische API verwendet wird, können die Anmerkungslistendaten direkt an die untergeordnete Komponente übergeben werden. Die Add new note Mashup-Logik und -Implementierung bleiben unverändert. Da die Eingabeparameter und die API zum Hinzufügen eines Hinweises auf der Basis der Anzeige hauptsächlich unterschiedlich sind, werden neue Hinweisdaten an die übergeordnete Komponente ausgegeben.

Anschließend fügt er eine neue Notiz hinzu und setzt die notesList in der untergeordneten Modalkomponente 'Notes' mit einer der folgenden Methoden zurück:
  • Aufrufen der Methode AddNewNote in der Modalkomponente 'Notes'.
  • Direkte Aktualisierung der Eigenschaft noteList mithilfe von componentInstance.

Standardmäßig sind Filter verfügbar. Sie können jedoch konfigurieren, dass die Filter ausgeblendet werden, indem Sie showFilters als false an die Notes-Komponente übergeben.

Komponentendetails

  • Wenn die Eingabeparameter oder die API, die zum Abrufen der Notizen verwendet wird, nicht generisch sind, kann die übergeordnete Komponente notesListdirekt übergeben. Andernfalls muss das NoteTableEntity-Objekt mit den Eigenschaften entityTableKey und entityTableName übergeben werden, die das Notes-Widget verwendet, um die Notizen abzurufen.
  • Die Seite mit den Kundendaten verwendet die getParticipantNoteListAPI. In diesem Fall müssen Sie isParticipantNote als true übergeben und nur die Eigenschaft entityTableKey ist erforderlich. Auf dieser Basis ruft das Notes-Widget die Daten ab und filtert sie.
  • In Fällen, in denen die notesList -Daten von der übergeordneten Komponente übergeben werden, werden bei der Aktualisierung von Filtern Daten an die übergeordnete Komponente ausgegeben. Die übergeordnete Komponente ruft dann die notesList -Daten erneut ab und aktualisiert sie in der untergeordneten Hinweiskomponente.
  • Um den Titel des Notes-Widgets von Notes (Anzahl)zu ändern, müssen Sie modalTitleKey, den Übersetzungsschlüssel, von der übergeordneten Komponente übergeben. Anzahl kann als Übersetzungsparameter im Titel verwendet werden.

Eingabedekoratoren

In notes-modal werden die folgenden Eingabedekoratoren verwendet:
  • In: notesList. Wird verwendet, wenn eine andere API als die getNoteList -API zum Abrufen der Notes-Liste verwendet wird.
  • In: showFilters. Wird verwendet, um die Filter anzuzeigen, nämlich System, Benutzer und Wichtig. Standardwert: true.
  • In: noteTableEntity. Wird übergeben, wenn die Eingabe oder API zum Abrufen von Notizen nicht generisch ist.
  • In: isParticipantNote. Legen Sie true fest, wenn das Notes-Widget die getParticipantNoteList -API anstelle der getNoteList -API verwenden soll. Der Standardwert ist false.
  • In: modalTitleKey. Mit diesem Übersetzungsschlüssel können Sie den modalen Titel von Notes (count)ändern.
  • In: noNotesMessage. Optional. Verwenden Sie diese Option, um eine eindeutige Nachricht anzuzeigen, wenn die Notizanzahl 0 ist.

Ausgabeemitter

  • In: newNoteItem. Wird zum Hinzufügen einer neuen Notiz verwendet.
  • In: noteFilterCriteria. Wird verwendet, wenn eine andere API als die getNoteList -API zum Abrufen der Notes-Liste verwendet wird.

Verwendung

Option 1 (Generisch). Übergeben Sie entityTableKey und entityTableName als Teil des Objekts noteTableEntity . Das getNoteList -API-Mashup wird intern innerhalb der Komponente aufgerufen. Beim Anwenden von Filtern wird die Anmerkungsliste innerhalb der Komponente aktualisiert.

Option 2: Übergeben Sie isParticipantNote als true , wenn Sie die getParticipantNoteList -API anstelle der getNoteList -API zum Abrufen und Filtern der Hinweise verwenden wollen. In diesem Fall müssen Sie nur entityTableKey als Teil des Objekts noteTableEntity übergeben. Sie müssen entityTableNamenicht übergeben.

Option 3 (spezifisch). Der Aufruf getNotes erfolgt über die übergeordnete Komponente, da die API-oder Mashup-Eingabe eindeutig ist. Anschließend wird noteList beim Öffnen des Modals mithilfe von componentInstanceinitialisiert. In diesem Fall gibt der Emitter noteFilterCriteria beim Anwenden von Filtern die komplexe Abfrage aus, die von der übergeordneten Komponente verwendet werden kann, um die Hinweise erneut abzurufen und die notesList in der untergeordneten Komponente zurückzusetzen. Die Methode updateNotesCount kann verwendet werden, um notesCount von der übergeordneten Komponente zu aktualisieren.

Bereitstellung

Die folgenden Mashups werden für die Implementierung des Notes-Widgets verwendet:

Notes-Liste abrufen
  • API- getNoteList oder im Fall der Seite Kundendetails , getParticipantNoteList.
  • Eingabe- { 'Note': { 'TableKey': tableKey, TableName: tableName } }
Neue Anmerkung hinzufügen
  • API-spezifisch für die übergeordnete Komponente. Beispiel: changeOrder.
  • Eingabe-Spezifisch für die übergeordnete Komponente Für die API changeOrder kann die Eingabe beispielsweise wie folgt lauten:
    { 'Order': { 
    'OrderHeaderKey': key, 
    'Notes'; {
    'Note': [
    'NoteText': text,
    'Priority': 0
    ]
    }
    }