All files / app/shared/components/topics-sidebar-action topics-sidebar-action.component.html

100% Statements 1/1
100% Branches 0/0
100% Functions 0/0
100% Lines 1/1

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 594x                                                                                                                    
@if (canModerate()) {
    <app-sidebar-action
        [order]="40"
        [priority]="topicCount() > 0 ? 'secondary' : 'primary'"
        icon="question_mark"
        [svgIcon]="firstTopicIcon()"
        [label]="topicsLabel()"
        [badge]="topicBadge()"
        (activated)="togglePanel()"
    />
 
    <ui-side-panel
        header="Словники"
        [open]="isPanelOpen()"
        (closed)="closePanel()"
    >
        @if (isPanelOpen()) {
            <div class="topics-panel">
                <div class="topics-panel__list">
                    @for (topic of allTopics; track topic.id) {
                        <div class="topics-panel__item">
                            <ui-icon
                                class="topics-panel__icon"
                                [svgIcon]="topic.icon"
                                size="small"
                            />
                            <ui-checkbox
                                [label]="topic.name"
                                [attr.data-testid]="'topic-' + topic.id"
                                [disabled]="isSaving()"
                                [ngModel]="selectedTopics().has(topic.id)"
                                (valueChanged)="onTopicToggle(topic.id, $event)"
                            />
                        </div>
                    }
                </div>
                <div class="topics-panel__actions">
                    <ui-button
                        variant="filled"
                        accent="primary"
                        [loading]="isSaving()"
                        [disabled]="isSaving()"
                        (click)="save()"
                    >
                        OK
                    </ui-button>
                    <ui-button
                        variant="outlined"
                        [disabled]="isSaving()"
                        (click)="closePanel()"
                    >
                        Отмена
                    </ui-button>
                </div>
            </div>
        }
    </ui-side-panel>
}