Anpassen der Überprüfungs-App

Um die Anpassung der Review-App zu erleichtern, haben wir einige der unten aufgeführten und erläuterten Erweiterungspunkte bereitgestellt:

Review-Comment

  • id: review_comment
  • hook: this.updateExtraProps:

Wie hier erläutert, werden alle neuen Attribute, die bei der Anpassung hinzugefügt werden, unter this.model.extraProps gespeichert. Mit der Methode "updateExtraProps" können Sie einem Überprüfungskommentar Attribute hinzufügen und dabei auch die Aktualisierung und Speicherung des hinzugefügten Attributs auf dem Server durchführen.

Nutzungsbeispiel

Angenommen, Sie möchten Ihren Kommentaren die Felder commentRationale und severity hinzufügen.
Aktualisieren wir die commentRationale auf "Dies ist ein wichtiger Satz". und die severity auf "CRITICAL"setzen.
Dies kann mithilfe der folgenden Syntax erfolgen:

  this.next('updateExtraProps', {
    'commentRationale': 'This is an important sentence.',
    'severity': 'CRITICAL'
  })

Das obige Codefragment verarbeitet die Aktualisierung und Speicherung der Werte. Die gespeicherten Werte können über die Benutzeroberfläche gerendert werden, indem die Ansicht definiert wird.

{
    "component" : "label",
    "label": "@extraProps.commentRationale"
}

Bedienfeld für Inline-Überprüfung

  • id: inline_review_panel
  1. hook: onNewCommentEvent
    Mit dem Hook onNewCommentEvent können Sie ein Ereignis ausgeben oder eine Methode für ein neues Kommentar- oder Antwortereignis aufrufen.
    Die im onNewCommentEvent empfangenen Protokolle umfassen:

    • events: das Kommentar-/Antwortereignis, das gesendet wurde.
    • newComment: boolean
      Wenn das gesendete Ereignis ein neues Kommentar-Ereignis war, d. h. highlight, insertion, deletion, sticky note comment
    • newReply: boolean
      Wenn das gesendete Ereignis ein neues Antwortereignis war.
  2. hook: sendExtraProps

Dieser Erweiterungspunkt ist nützlich, wenn Sie einen event erweitern und extraProps aus dem Inline-Überprüfungsfenster senden möchten. Wir erklären Ihnen die Verwendung dieser beiden Haken unten.

Beispiel für Inline-Prüfungsbereich

Angenommen, wir möchten bei jedem Versand eines neuen Kommentars oder einer neuen Antwort eine extraProp, userInfo senden. Nun erfolgt dies über das Inline-Überprüfungsfenster, aber wir haben nicht den Verweis auf die commentId des neu generierten Kommentars, daher können wir zu diesem Zweck den folgenden Code schreiben.

    onNewCommentEvent(args){
      const events = _.get(args, "events")
      const currTopicIndex = tcx.model.getValue(tcx.model.KEYS.REVIEW_CURR_TOPIC) || this.getValue('currTopicIndex') || "0"
      const event = _.get(_.get(events, currTopicIndex), '0')
      const newComment = _.get(args, 'newComment')
      const newReply = _.get(args, 'newReply')
      if ((newComment || newReply) && event) {
        this.next('setUserInfo', event)
      }
    },

Im obigen Codeausschnitt überprüfen wir, ob das gesendete Ereignis ein neuer Kommentar oder eine neue Antwort war. Im Falle eines neuen Kommentars oder einer neuen Antwort rufen wir die Methode setUserInfo auf

    setUserInfo(event) {
      this.loader?.getUserInfo(event.user).subscribe(userData => {
        const extraProps = {
          "userFirstName": userData?.givenName || '',
          "userLastName": userData?.familyName || '',
          "userTitle": userData?.title || '',
          "userJobTitle": userData?.jobTitle || '',
          'userEmail': userData?.email || '',
        }
        const data = {... event, extraProps}
        this.next(
          'sendExtraProps',
          data
        )
      })
    },

In der obigen Methode erweitern wir das Ereignis, um extraProps zu senden, die den Vornamen, die E-Mail-Adresse, den Titel usw. des Benutzers enthalten. Wenn Sie das Ereignis auf diese Weise erweitern, wird sichergestellt, dass die extraProps mit der richtigen commentId gesendet werden, sodass sie an den richtigen Kommentar angehängt werden.

Der Hook updateExtraProps nennt grundsätzlich den Hook sendExtraProps, also wann was zu verwenden ist?

Wir verwenden updateExtraProps im review_comment-Controller, der bereits über die id des Kommentars verfügt, und deshalb müssen Sie nur die extraProps. erwähnen

Die inline_review_panel hat jedoch keinen Zugriff auf die ID des Kommentars. Jedes Mal, wenn Sie ein Ereignis aus dem Inline-Überprüfungsfenster senden müssen, ist die sendExtraProps praktisch.

recommendation-more-help
11125c99-e1a1-4369-b5d7-fb3098b9b178