All files / src/components/dashboard-toolbar si-dashboard-toolbar.component.html

55.38% Statements 36/65
19.44% Branches 7/36
75% Functions 3/4
51.92% Lines 27/52

Press n or j to go to the next uncovered block, b, p or k for the previous block.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 1115x   25x 6x 15x 13x 6x     13x   13x     1x   13x     13x   6x     10x                 3x 10x                                                                                                       3x   3x       10x 1x   10x 3x 3x     10x   1x   10x 3x     5x    
<div class="row mb-3" siResponsiveContainer>
  <div class="col-12 d-flex justify-content-between">
    @if (!editable()) {
      <ng-content select="[filters-slot]" />
      @if (!hideEditButton()) {
        @let showEditButtonLabelDesktop = this.showEditButtonLabelDesktop();
        <button
          type="button"
          class="btn ms-auto"
          [class]="showEditButtonLabelDesktop ? 'btn-secondary' : 'btn-icon btn-tertiary'"
          [attr.aria-label]="labelEdit | translate"
          [siTooltip]="labelEdit"
          [isDisabled]="showEditButtonLabelDesktop"
          [disabled]="disabled()"
          (click)="onEdit()"
        >
          @if (showEditButtonLabelDesktop) {
            {{ labelEdit | translate }}
          } @else {
            <si-icon [icon]="icons.elementEdit" />
          }
        </button>
      }
    } @else {
      @if (showContentActionBar()) {
        <si-content-action-bar
          toggleItemLabel="toggle"
          viewType="expanded"
          [disabled]="disabled()"
          [primaryActions]="primaryEditActionsComputed()"
          [secondaryActions]="secondaryEditActionsComputed()"
        />
      } @else {
        <div>
          @for (action of editActions(); track $index) {
            @if (isToolbarItem(action)) {
              @if (disabled()) {
                <!-- Links do not support disabled, so we need to render a button instead in this case. -->
                <button type="button" class="btn btn-secondary me-4" disabled>
                  {{ action.label! | translate }}
                </button>
              } @else {
                @switch (action.type) {
                  @case ('action') {
                    <button
                      type="button"
                      class="btn btn-secondary me-4"
                      (click)="action.action(grid())"
                    >
                      {{ action.label! | translate }}
                    </button>
                  }
                  @case ('router-link') {
                    <a
                      class="btn btn-secondary me-4"
                      [routerLink]="action.routerLink"
                      [queryParams]="action.extras?.queryParams"
                      [queryParamsHandling]="action.extras?.queryParamsHandling"
                      [fragment]="action.extras?.fragment"
                      [state]="action.extras?.state"
                      [relativeTo]="action.extras?.relativeTo ?? activatedRoute"
                      [preserveFragment]="action.extras?.preserveFragment"
                      [skipLocationChange]="action.extras?.skipLocationChange"
                      [replaceUrl]="action.extras?.replaceUrl"
                    >
                      {{ action.label! | translate }}
                    </a>
                  }
                  @case ('link') {
                    <a class="btn btn-secondary me-4" [href]="action.href" [target]="action.target">
                      {{ action.label! | translate }}
                    </a>
                  }
                }
              }
            } @else {
              <button
                type="button"
                class="btn btn-secondary me-4"
                [disabled]="disabled()"
                [siLink]="action"
              >
                {{ action.title! | translate }}
              </button>
            }
          }
        </div>
      }
      <div>
        <button
          type="button"
          class="btn btn-secondary me-4"
          [disabled]="disabled()"
          (click)="onCancel()"
        >
          {{ labelCancel | translate }}
        </button>
        <si-loading-button
          class="align-top"
          buttonClass="btn btn-primary"
          [disabled]="disableSaveButton()"
          [loading]="disabled()"
          (click)="onSave()"
        >
          {{ labelSave | translate }}
        </si-loading-button>
      </div>
    }
  </div>
</div>