1 <div class=
"toggle-plugin-type">
2 <p-selectButton [options]=
"pluginTypeOptions" [(ngModel)]=
"pluginType" (ngModelChange)=
"reloadPlugins()"></p-selectButton>
5 <div class=
"search-bar">
6 <input type=
"text" (input)=
"onSearchChange($event.target.value)" i18n-placeholder
placeholder=
"Search..."/>
9 <div class=
"result-title" *
ngIf=
"!isSearching">
10 <ng-container *
ngIf=
"!search">
11 <my-global-icon iconName=
"trending"></my-global-icon>
12 <ng-container i18n
>Popular
</ng-container>
15 <ng-container i18n *
ngIf=
"!!search">
16 <my-global-icon iconName=
"search"></my-global-icon>
19 {{ pagination.totalItems }} {pagination.totalItems, plural, =
1 {result} other {results}} for "{{ search }}"
24 <div class=
"no-results" i18n *
ngIf=
"pagination.totalItems === 0">
28 <div class=
"plugins" myInfiniteScroller (nearOfBottom)=
"onNearOfBottom()" [autoInit]=
"true">
29 <div class=
"card plugin" *
ngFor=
"let plugin of plugins">
30 <div class=
"card-body">
31 <div class=
"first-row">
32 <span class=
"plugin-name">{{ plugin.name }}
</span>
34 <span class=
"plugin-version">{{ plugin.latestVersion }}
</span>
37 <div class=
"second-row">
38 <div class=
"description">{{ plugin.description }}
</div>
41 <a class=
"action-button action-button-edit grey-button" target=
"_blank" rel=
"noopener noreferrer"
42 [href]=
"plugin.homepage" i18n-title
title=
"Go to the plugin homepage"
44 <my-global-icon iconName=
"go"></my-global-icon>
45 <span i18n
class=
"button-label">Homepage
</span>
48 <my-button class=
"update-button" *
ngIf=
"plugin.installed === false" (click)=
"install(plugin)" [loading]=
"isInstalling(plugin)"
49 label=
"Install" icon=
"cloud-download" [attr.disabled]=
"isInstalling(plugin)"