events/events-list.component.ts
<c8y-sv-list
  [emptyStateIcon]="'online1'"
  [title]="LIST_TITLE | translate"
  [emptyStateTitle]="EMPTY_STATE_TITLE | translate"
  #scrollWrapper
  [loading]="isLoading()"
  [showEmptyState]="showEmptyState()"
  [docsUrl]="
    '/docs/device-management-application/monitoring-and-controlling-devices/#to-view-events'
  "
  data-cy="c8y-events-list"
>
  <c8y-sv-header-actions>
    <ng-content />
  </c8y-sv-header-actions>

  <c8y-sv-alerts>
    @if (showFilterWarning()) {
      <div
        class="alert alert-warning m-b-0"
        role="alert"
        translate
      >
        The selected event is not currently in the list, change your filter.
      </div>
    }
  </c8y-sv-alerts>

  <c8y-list-group class="c8y-list--timeline d-block p-r-16 p-t-16">
    @let navOpts = navigationOptions();
    <c8y-li-timeline
      class="pointer c8y-list--timeline__item"
      role="button"
      data-cy="c8y-events-list--timeline-item"
      *c8yFor="let event of events()!; loadMore: loadMoreMode()"
      [routerLink]="
        navOpts.allowNavigationToEventsView
          ? (event | eventRouterLink: navOpts.alwaysNavigateToAllEvents)
          : null
      "
      [queryParamsHandling]="navOpts.queryParamsHandling"
      routerLinkActive="active"
      (isActiveChange)="activeRouteChanged($event, liScrollAnchor, event)"
      (click)="onEventClick(event)"
    >
      <!-- Date column -->
      <span data-cy="c8y-events-list--event-date">
        {{ event.time | c8yDate: 'mediumDate' }}
        {{ event.time | c8yDate: 'mediumTime' }}
      </span>

      <c8y-li
        style="scroll-margin-top: 56px"
        #liScrollAnchor
      >
        <c8y-li-icon class="a-s-start">
          <i [c8yIcon]="event | eventIcon"></i>
        </c8y-li-icon>

        <c8y-li-body class="a-s-stretch">
          <div class="d-flex a-i-start fit-h">
            <div class="min-width-0 flex-grow">
              <!-- Event column (text) -->
              <p
                class="text-truncate-wrap p-b-4"
                data-cy="c8y-events-list--event-text"
              >
                {{ event.text | translate }}
              </p>

              <!-- Source column -->
              <p
                class="small text-muted text-truncate"
                [title]="event.source?.name"
                data-cy="c8y-events-list--event-source"
              >
                <i [c8yIcon]="'exchange'"></i>
                {{ event.source?.name }}
              </p>
            </div>
            @if (showPreview() && (event | eventIsImage)) {
              <c8y-file-preview
                data-cy="c8y-events-list--image-preview"
                (click)="onPreviewClick($event)"
                [mo]="toBinaryMo(event)"
                [downloadFn]="getEventDownloadFn(event)"
              >
                <button
                  class="btn btn-default btn-icon btn-xs"
                  [title]="'Preview' | translate"
                  type="button"
                  customButton
                  data-cy="c8y-events-list--preview-btn"
                >
                  <i c8yIcon="search"></i>
                </button>
              </c8y-file-preview>
            }
          </div>
        </c8y-li-body>
      </c8y-li>
    </c8y-li-timeline>
  </c8y-list-group>
</c8y-sv-list>

results matching ""

    No results matching ""