Browse Source

UI: convert tb-details-buttons and copy-device-credentials to mat-stroked-button

Switch every button inside .tb-details-buttons across all EntityComponent
templates (17 files, 102 buttons) from mat-raised-button to mat-stroked-button,
matching the device.component.html reference. Update the shared
.tb-details-buttons rule in styles.scss so outlined buttons inherit their
border color from the surrounding color context. copy-device-credentials
follows the same treatment and switches its host to display: contents so it
no longer takes layout space.
pull/15888/head
Igor Kulikov 2 weeks ago
parent
commit
c46a4d751e
  1. 6
      ui-ngx/src/app/modules/home/components/alarm-rules/alarm-rules.component.html
  2. 6
      ui-ngx/src/app/modules/home/components/calculated-fields/calculated-field.component.html
  3. 2
      ui-ngx/src/app/modules/home/components/device/copy-device-credentials.component.html
  4. 2
      ui-ngx/src/app/modules/home/components/device/copy-device-credentials.component.ts
  5. 10
      ui-ngx/src/app/modules/home/components/profile/asset-profile.component.html
  6. 10
      ui-ngx/src/app/modules/home/components/profile/device-profile.component.html
  7. 8
      ui-ngx/src/app/modules/home/components/profile/tenant-profile.component.html
  8. 8
      ui-ngx/src/app/modules/home/components/resources/resources-library.component.html
  9. 6
      ui-ngx/src/app/modules/home/pages/admin/queue/queue.component.html
  10. 8
      ui-ngx/src/app/modules/home/pages/admin/resource/js-resource.component.html
  11. 14
      ui-ngx/src/app/modules/home/pages/asset/asset.component.html
  12. 20
      ui-ngx/src/app/modules/home/pages/dashboard/dashboard-form.component.html
  13. 18
      ui-ngx/src/app/modules/home/pages/device/device.component.html
  14. 32
      ui-ngx/src/app/modules/home/pages/edge/edge.component.html
  15. 14
      ui-ngx/src/app/modules/home/pages/entity-view/entity-view.component.html
  16. 12
      ui-ngx/src/app/modules/home/pages/ota-update/ota-update.component.html
  17. 18
      ui-ngx/src/app/modules/home/pages/rulechain/rulechain.component.html
  18. 16
      ui-ngx/src/app/modules/home/pages/user/user.component.html
  19. 8
      ui-ngx/src/app/modules/home/pages/widget/widget-type.component.html
  20. 8
      ui-ngx/src/app/modules/home/pages/widget/widgets-bundle.component.html
  21. 4
      ui-ngx/src/styles.scss

6
ui-ngx/src/app/modules/home/components/alarm-rules/alarm-rules.component.html

@ -17,19 +17,19 @@
-->
@if (!standalone) {
<div class="tb-details-buttons xs:flex xs:flex-col">
<button mat-raised-button color="primary"
<button mat-stroked-button color="primary"
[disabled]="(isLoading$ | async)"
(click)="onEntityAction($event, 'open')"
[class.!hidden]="isEdit || isDetailsPage">
{{ 'common.open-details-page' | translate }}
</button>
<button mat-raised-button color="primary"
<button mat-stroked-button color="primary"
[disabled]="(isLoading$ | async)"
(click)="onEntityAction($event, 'export')"
[class.!hidden]="isEdit">
{{ 'action.export' | translate }}
</button>
<button mat-raised-button color="primary"
<button mat-stroked-button color="primary"
[disabled]="(isLoading$ | async)"
(click)="onEntityAction($event, 'delete')"
[class.!hidden]="hideDelete() || isEdit">

6
ui-ngx/src/app/modules/home/components/calculated-fields/calculated-field.component.html

@ -17,19 +17,19 @@
-->
@if (!standalone) {
<div class="tb-details-buttons xs:flex xs:flex-col">
<button mat-raised-button color="primary"
<button mat-stroked-button color="primary"
[disabled]="(isLoading$ | async)"
(click)="onEntityAction($event, 'open')"
[class.!hidden]="isEdit || isDetailsPage">
{{ 'common.open-details-page' | translate }}
</button>
<button mat-raised-button color="primary"
<button mat-stroked-button color="primary"
[disabled]="(isLoading$ | async)"
(click)="onEntityAction($event, 'export')"
[class.!hidden]="isEdit">
{{ 'action.export' | translate }}
</button>
<button mat-raised-button color="primary"
<button mat-stroked-button color="primary"
[disabled]="(isLoading$ | async)"
(click)="onEntityAction($event, 'delete')"
[class.!hidden]="hideDelete() || isEdit">

2
ui-ngx/src/app/modules/home/components/device/copy-device-credentials.component.html

@ -15,7 +15,7 @@
limitations under the License.
-->
<button mat-raised-button
<button mat-stroked-button
ngxClipboard
[cbContent]="credential"
(cbOnSuccess)="onCopyCredential()"

2
ui-ngx/src/app/modules/home/components/device/copy-device-credentials.component.ts

@ -30,7 +30,7 @@ import { TranslateService } from '@ngx-translate/core';
@Component({
selector: 'tb-copy-device-credentials',
templateUrl: './copy-device-credentials.component.html',
styleUrls: [],
styles: ':host { display: contents; }',
standalone: false
})
export class CopyDeviceCredentialsComponent implements OnInit, OnDestroy {

10
ui-ngx/src/app/modules/home/components/profile/asset-profile.component.html

@ -17,32 +17,32 @@
-->
@if (!standalone) {
<div class="tb-details-buttons xs:flex xs:flex-col">
<button mat-raised-button color="primary"
<button mat-stroked-button color="primary"
[disabled]="(isLoading$ | async)"
(click)="onEntityAction($event, 'open')"
[class.!hidden]="isEdit || isDetailsPage">
{{'common.open-details-page' | translate }}
</button>
<button mat-raised-button color="primary"
<button mat-stroked-button color="primary"
[disabled]="(isLoading$ | async)"
(click)="onEntityAction($event, 'export')"
[class.!hidden]="isEdit">
{{'asset-profile.export' | translate }}
</button>
<button mat-raised-button color="primary"
<button mat-stroked-button color="primary"
[disabled]="(isLoading$ | async)"
(click)="onEntityAction($event, 'setDefault')"
[class.!hidden]="isEdit || entity?.default">
{{'asset-profile.set-default' | translate }}
</button>
<button mat-raised-button color="primary"
<button mat-stroked-button color="primary"
[disabled]="(isLoading$ | async)"
(click)="onEntityAction($event, 'delete')"
[class.!hidden]="hideDelete() || isEdit">
{{'asset-profile.delete' | translate }}
</button>
<div class="flex flex-row xs:flex-col">
<button mat-raised-button
<button mat-stroked-button
ngxClipboard
(cbOnSuccess)="onAssetProfileIdCopied($event)"
[cbContent]="entity?.id?.id"

10
ui-ngx/src/app/modules/home/components/profile/device-profile.component.html

@ -17,32 +17,32 @@
-->
@if (!standalone) {
<div class="tb-details-buttons xs:flex xs:flex-col">
<button mat-raised-button color="primary"
<button mat-stroked-button color="primary"
[disabled]="(isLoading$ | async)"
(click)="onEntityAction($event, 'open')"
[class.!hidden]="isEdit || isDetailsPage">
{{'common.open-details-page' | translate }}
</button>
<button mat-raised-button color="primary"
<button mat-stroked-button color="primary"
[disabled]="(isLoading$ | async)"
(click)="onEntityAction($event, 'export')"
[class.!hidden]="isEdit">
{{'device-profile.export' | translate }}
</button>
<button mat-raised-button color="primary"
<button mat-stroked-button color="primary"
[disabled]="(isLoading$ | async)"
(click)="onEntityAction($event, 'setDefault')"
[class.!hidden]="isEdit || entity?.default">
{{'device-profile.set-default' | translate }}
</button>
<button mat-raised-button color="primary"
<button mat-stroked-button color="primary"
[disabled]="(isLoading$ | async)"
(click)="onEntityAction($event, 'delete')"
[class.!hidden]="hideDelete() || isEdit">
{{'device-profile.delete' | translate }}
</button>
<div class="flex flex-row xs:flex-col">
<button mat-raised-button
<button mat-stroked-button
ngxClipboard
(cbOnSuccess)="onDeviceProfileIdCopied($event)"
[cbContent]="entity?.id?.id"

8
ui-ngx/src/app/modules/home/components/profile/tenant-profile.component.html

@ -17,26 +17,26 @@
-->
@if (!standalone) {
<div class="tb-details-buttons xs:flex xs:flex-col">
<button mat-raised-button color="primary"
<button mat-stroked-button color="primary"
[disabled]="(isLoading$ | async)"
(click)="onEntityAction($event, 'open')"
[class.!hidden]="isEdit || isDetailsPage">
{{'common.open-details-page' | translate }}
</button>
<button mat-raised-button color="primary"
<button mat-stroked-button color="primary"
[disabled]="(isLoading$ | async)"
(click)="onEntityAction($event, 'setDefault')"
[class.!hidden]="isEdit || entity?.default">
{{'tenant-profile.set-default' | translate }}
</button>
<button mat-raised-button color="primary"
<button mat-stroked-button color="primary"
[disabled]="(isLoading$ | async)"
(click)="onEntityAction($event, 'delete')"
[class.!hidden]="hideDelete() || isEdit">
{{'tenant-profile.delete' | translate }}
</button>
<div class="flex flex-row xs:flex-col">
<button mat-raised-button
<button mat-stroked-button
ngxClipboard
(cbOnSuccess)="onTenantProfileIdCopied($event)"
[cbContent]="entity?.id?.id"

8
ui-ngx/src/app/modules/home/components/resources/resources-library.component.html

@ -17,26 +17,26 @@
-->
@if (!standalone) {
<div class="tb-details-buttons xs:flex xs:flex-col">
<button mat-raised-button color="primary"
<button mat-stroked-button color="primary"
[disabled]="(isLoading$ | async)"
(click)="onEntityAction($event, 'open')"
[class.!hidden]="isEdit || isDetailsPage">
{{'common.open-details-page' | translate }}
</button>
<button mat-raised-button color="primary"
<button mat-stroked-button color="primary"
[disabled]="(isLoading$ | async)"
(click)="onEntityAction($event, 'downloadResource')"
[class.!hidden]="isEdit">
{{ 'resource.download' | translate }}
</button>
<button mat-raised-button color="primary"
<button mat-stroked-button color="primary"
[disabled]="(isLoading$ | async)"
(click)="onEntityAction($event, 'deleteResource')"
[class.!hidden]="hideDelete() || isEdit">
{{ 'resource.delete' | translate }}
</button>
<div class="flex flex-row xs:flex-col">
<button mat-raised-button
<button mat-stroked-button
ngxClipboard
(cbOnSuccess)="onResourceIdCopied()"
[cbContent]="entity?.id?.id"

6
ui-ngx/src/app/modules/home/pages/admin/queue/queue.component.html

@ -16,20 +16,20 @@
-->
<div class="tb-details-buttons xs:flex xs:flex-col">
<button mat-raised-button color="primary"
<button mat-stroked-button color="primary"
[disabled]="(isLoading$ | async)"
(click)="onEntityAction($event, 'open')"
[class.!hidden]="isEdit || isDetailsPage">
{{'common.open-details-page' | translate }}
</button>
<button mat-raised-button color="primary"
<button mat-stroked-button color="primary"
[disabled]="(isLoading$ | async)"
(click)="onEntityAction($event, 'delete')"
[class.!hidden]="hideDelete() || isEdit">
{{ 'queue.delete' | translate }}
</button>
<div class="flex flex-row xs:flex-col">
<button mat-raised-button
<button mat-stroked-button
ngxClipboard
(cbOnSuccess)="onQueueIdCopied($event)"
[cbContent]="entity?.id?.id"

8
ui-ngx/src/app/modules/home/pages/admin/resource/js-resource.component.html

@ -16,26 +16,26 @@
-->
<div class="tb-details-buttons xs:flex xs:flex-col">
<button mat-raised-button color="primary"
<button mat-stroked-button color="primary"
[disabled]="(isLoading$ | async)"
(click)="onEntityAction($event, 'open')"
[class.!hidden]="isEdit || isDetailsPage">
{{'common.open-details-page' | translate }}
</button>
<button mat-raised-button color="primary"
<button mat-stroked-button color="primary"
[disabled]="(isLoading$ | async)"
(click)="onEntityAction($event, 'downloadResource')"
[class.!hidden]="isEdit">
{{ 'javascript.download' | translate }}
</button>
<button mat-raised-button color="primary"
<button mat-stroked-button color="primary"
[disabled]="(isLoading$ | async)"
(click)="onEntityAction($event, 'deleteLibrary')"
[class.!hidden]="hideDelete() || isEdit">
{{ 'javascript.delete' | translate }}
</button>
<div class="flex flex-row xs:flex-col">
<button mat-raised-button
<button mat-stroked-button
ngxClipboard
(cbOnSuccess)="onResourceIdCopied()"
[cbContent]="entity?.id?.id"

14
ui-ngx/src/app/modules/home/pages/asset/asset.component.html

@ -16,44 +16,44 @@
-->
<div class="tb-details-buttons xs:flex xs:flex-col">
<button mat-raised-button color="primary"
<button mat-stroked-button color="primary"
[disabled]="(isLoading$ | async)"
(click)="onEntityAction($event, 'open')"
[class.!hidden]="isEdit || isDetailsPage">
{{'common.open-details-page' | translate }}
</button>
<button mat-raised-button color="primary"
<button mat-stroked-button color="primary"
[disabled]="(isLoading$ | async)"
(click)="onEntityAction($event, 'makePublic')"
[class.!hidden]="isEdit || assetScope !== 'tenant' || isAssignedToCustomer(entity) || entity?.customerIsPublic">
{{'asset.make-public' | translate }}
</button>
<button mat-raised-button color="primary"
<button mat-stroked-button color="primary"
[disabled]="(isLoading$ | async)"
(click)="onEntityAction($event, 'assignToCustomer')"
[class.!hidden]="isEdit || assetScope !== 'tenant' || isAssignedToCustomer(entity)">
{{'asset.assign-to-customer' | translate }}
</button>
<button mat-raised-button color="primary"
<button mat-stroked-button color="primary"
[disabled]="(isLoading$ | async)"
(click)="onEntityAction($event, 'unassignFromCustomer')"
[class.!hidden]="isEdit || (assetScope !== 'customer' && assetScope !== 'tenant') || !isAssignedToCustomer(entity)">
{{ (entity?.customerIsPublic ? 'asset.make-private' : 'asset.unassign-from-customer') | translate }}
</button>
<button mat-raised-button color="primary"
<button mat-stroked-button color="primary"
[disabled]="(isLoading$ | async)"
(click)="onEntityAction($event, 'unassignFromEdge')"
[class.!hidden]="isEdit || assetScope !== 'edge'">
{{ 'edge.unassign-from-edge' | translate }}
</button>
<button mat-raised-button color="primary"
<button mat-stroked-button color="primary"
[disabled]="(isLoading$ | async)"
(click)="onEntityAction($event, 'delete')"
[class.!hidden]="hideDelete() || isEdit">
{{'asset.delete' | translate }}
</button>
<div class="flex flex-row xs:flex-col">
<button mat-raised-button
<button mat-stroked-button
ngxClipboard
(cbOnSuccess)="onAssetIdCopied($event)"
[cbContent]="entity?.id?.id"

20
ui-ngx/src/app/modules/home/pages/dashboard/dashboard-form.component.html

@ -16,63 +16,63 @@
-->
<div class="tb-details-buttons xs:flex xs:flex-col">
<button mat-raised-button color="primary"
<button mat-stroked-button color="primary"
[disabled]="(isLoading$ | async)"
(click)="onEntityAction($event, 'open')"
[class.!hidden]="isEdit">
{{'dashboard.open-dashboard' | translate }}
</button>
<button mat-raised-button color="primary"
<button mat-stroked-button color="primary"
[disabled]="(isLoading$ | async)"
(click)="onEntityAction($event, 'export')"
[class.!hidden]="isEdit || dashboardScope !== 'tenant'">
{{'dashboard.export' | translate }}
</button>
<button mat-raised-button color="primary"
<button mat-stroked-button color="primary"
[disabled]="(isLoading$ | async)"
(click)="onEntityAction($event, 'import')"
[class.!hidden]="isEdit || dashboardScope !== 'tenant'">
{{'dashboard.update-new-version' | translate }}
</button>
<button mat-raised-button color="primary"
<button mat-stroked-button color="primary"
[disabled]="(isLoading$ | async)"
(click)="onEntityAction($event, 'makePublic')"
[class.!hidden]="isEdit || dashboardScope !== 'tenant' || isPublic(entity)">
{{'dashboard.make-public' | translate }}
</button>
<button mat-raised-button color="primary"
<button mat-stroked-button color="primary"
[disabled]="(isLoading$ | async)"
(click)="onEntityAction($event, 'makePrivate')"
[class.!hidden]="isEdit || !(dashboardScope === 'tenant' && isPublic(entity)
|| dashboardScope === 'customer' && isCurrentPublicCustomer(entity))">
{{'dashboard.make-private' | translate }}
</button>
<button mat-raised-button color="primary"
<button mat-stroked-button color="primary"
[disabled]="(isLoading$ | async)"
(click)="onEntityAction($event, 'manageAssignedCustomers')"
[class.!hidden]="isEdit || dashboardScope !== 'tenant'">
{{'dashboard.manage-assigned-customers' | translate }}
</button>
<button mat-raised-button color="primary"
<button mat-stroked-button color="primary"
[disabled]="(isLoading$ | async)"
(click)="onEntityAction($event, 'unassignFromCustomer')"
[class.!hidden]="isEdit || dashboardScope !== 'customer' || isCurrentPublicCustomer(entity)">
{{ 'dashboard.unassign-from-customer' | translate }}
</button>
<button mat-raised-button color="primary"
<button mat-stroked-button color="primary"
[disabled]="(isLoading$ | async)"
(click)="onEntityAction($event, 'unassignFromEdge')"
[class.!hidden]="isEdit || dashboardScope !== 'edge'">
{{ 'edge.unassign-from-edge' | translate }}
</button>
<button mat-raised-button color="primary"
<button mat-stroked-button color="primary"
[disabled]="(isLoading$ | async)"
(click)="onEntityAction($event, 'delete')"
[class.!hidden]="hideDelete() || isEdit">
{{'dashboard.delete' | translate }}
</button>
<div class="flex flex-row">
<button mat-raised-button
<button mat-stroked-button
ngxClipboard
(cbOnSuccess)="onDashboardIdCopied($event)"
[cbContent]="entity?.id?.id"

18
ui-ngx/src/app/modules/home/pages/device/device.component.html

@ -16,56 +16,56 @@
-->
<div class="tb-details-buttons xs:flex xs:flex-col">
<button mat-raised-button color="primary"
<button mat-stroked-button color="primary"
[disabled]="(isLoading$ | async)"
(click)="onEntityAction($event, 'open')"
[class.!hidden]="isEdit || isDetailsPage">
{{'common.open-details-page' | translate }}
</button>
<button mat-raised-button color="primary"
<button mat-stroked-button color="primary"
[disabled]="(isLoading$ | async)"
(click)="onEntityAction($event, 'makePublic')"
[class.!hidden]="isEdit || deviceScope !== 'tenant' || isAssignedToCustomer(entity) || entity?.customerIsPublic">
{{'device.make-public' | translate }}
</button>
<button mat-raised-button color="primary"
<button mat-stroked-button color="primary"
[disabled]="(isLoading$ | async)"
(click)="onEntityAction($event, 'assignToCustomer')"
[class.!hidden]="isEdit || deviceScope !== 'tenant' || isAssignedToCustomer(entity)">
{{'device.assign-to-customer' | translate }}
</button>
<button mat-raised-button color="primary"
<button mat-stroked-button color="primary"
[disabled]="(isLoading$ | async)"
(click)="onEntityAction($event, 'unassignFromCustomer')"
[class.!hidden]="isEdit || (deviceScope !== 'customer' && deviceScope !== 'tenant') || !isAssignedToCustomer(entity)">
{{ (entity?.customerIsPublic ? 'device.make-private' : 'device.unassign-from-customer') | translate }}
</button>
<button mat-raised-button color="primary"
<button mat-stroked-button color="primary"
[disabled]="(isLoading$ | async)"
(click)="onEntityAction($event, 'manageCredentials')"
[class.!hidden]="isEdit">
{{ ((deviceScope === 'customer_user' || deviceScope === 'edge_customer_user') ? 'device.view-credentials' : 'device.manage-credentials') | translate }}
</button>
<button mat-raised-button color="primary"
<button mat-stroked-button color="primary"
[disabled]="(isLoading$ | async)"
(click)="onEntityAction($event, 'checkConnectivity')"
[class.!hidden]="isEdit">
{{ 'device.connectivity.check-connectivity' | translate }}
</button>
<button mat-raised-button color="primary"
<button mat-stroked-button color="primary"
[disabled]="(isLoading$ | async)"
(click)="onEntityAction($event, 'unassignFromEdge')"
[class.!hidden]="isEdit || deviceScope !== 'edge'">
{{ 'edge.unassign-from-edge' | translate }}
</button>
<button mat-raised-button color="primary"
<button mat-stroked-button color="primary"
[disabled]="(isLoading$ | async)"
(click)="onEntityAction($event, 'delete')"
[class.!hidden]="hideDelete() || isEdit">
{{'device.delete' | translate }}
</button>
<div class="flex flex-row xs:flex-col">
<button mat-raised-button
<button mat-stroked-button
ngxClipboard
(cbOnSuccess)="onDeviceIdCopied($event)"
[cbContent]="entity?.id?.id"

32
ui-ngx/src/app/modules/home/pages/edge/edge.component.html

@ -16,68 +16,68 @@
-->
<div class="tb-details-buttons xs:flex xs:flex-col">
<button mat-raised-button color="primary"
<button mat-stroked-button color="primary"
[disabled]="(isLoading$ | async)"
(click)="onEntityAction($event, 'open')"
[class.!hidden]="isEdit || isDetailsPage">
{{'common.open-details-page' | translate }}
</button>
<button mat-raised-button color="primary"
<button mat-stroked-button color="primary"
[disabled]="(isLoading$ | async)"
(click)="onEntityAction($event, 'makePublic')"
[class.!hidden]="isEdit || edgeScope !== 'tenant' || isAssignedToCustomer(entity) || entity?.customerIsPublic">
{{'edge.make-public' | translate }}
</button>
<button mat-raised-button color="primary"
<button mat-stroked-button color="primary"
[disabled]="(isLoading$ | async)"
(click)="onEntityAction($event, 'assignToCustomer')"
[class.!hidden]="isEdit || edgeScope !== 'tenant' || isAssignedToCustomer(entity)">
{{'edge.assign-to-customer' | translate }}
</button>
<button mat-raised-button color="primary"
<button mat-stroked-button color="primary"
[disabled]="(isLoading$ | async)"
(click)="onEntityAction($event, 'unassignFromCustomer')"
[class.!hidden]="isEdit || (edgeScope !== 'customer' && edgeScope !== 'tenant') || !isAssignedToCustomer(entity)">
{{ (entity?.customerIsPublic ? 'edge.make-private' : 'edge.unassign-from-customer') | translate }}
</button>
<button mat-raised-button color="primary"
<button mat-stroked-button color="primary"
[disabled]="(isLoading$ | async)"
(click)="onEntityAction($event, 'openEdgeAssets')"
[class.!hidden]="isEdit || edgeScope === 'customer'">
{{'edge.manage-assets' | translate }}
</button>
<button mat-raised-button color="primary"
<button mat-stroked-button color="primary"
[disabled]="(isLoading$ | async)"
(click)="onEntityAction($event, 'openEdgeDevices')"
[class.!hidden]="isEdit || edgeScope === 'customer'">
{{'edge.manage-devices' | translate }}
</button>
<button mat-raised-button color="primary"
<button mat-stroked-button color="primary"
[disabled]="(isLoading$ | async)"
(click)="onEntityAction($event, 'openEdgeEntityViews')"
[class.!hidden]="isEdit || edgeScope === 'customer'">
{{'edge.manage-entity-views' | translate }}
</button>
<button mat-raised-button color="primary"
<button mat-stroked-button color="primary"
[disabled]="(isLoading$ | async)"
(click)="onEntityAction($event, 'openEdgeDashboards')"
[class.!hidden]="isEdit || edgeScope === 'customer'">
{{'edge.manage-dashboards' | translate }}
</button>
<button mat-raised-button color="primary"
<button mat-stroked-button color="primary"
[disabled]="(isLoading$ | async)"
(click)="onEntityAction($event, 'openEdgeRuleChains')"
[class.!hidden]="isEdit || edgeScope !== 'tenant'">
{{'edge.manage-rulechains' | translate }}
</button>
<button mat-raised-button color="primary"
<button mat-stroked-button color="primary"
[disabled]="(isLoading$ | async)"
(click)="onEntityAction($event, 'delete')"
[class.!hidden]="hideDelete() || isEdit">
{{'edge.delete' | translate }}
</button>
<div class="flex flex-row flex-wrap xs:flex-col">
<button mat-raised-button
<button mat-stroked-button
ngxClipboard
(cbOnSuccess)="onEdgeIdCopied($event)"
[cbContent]="entity?.id?.id"
@ -86,7 +86,7 @@
<mat-icon svgIcon="mdi:clipboard-arrow-left"></mat-icon>
<span translate>edge.copy-id</span>
</button>
<button mat-raised-button
<button mat-stroked-button
ngxClipboard
(cbOnSuccess)="onEdgeInfoCopied('key')"
[cbContent]="entity?.routingKey"
@ -95,7 +95,7 @@
<mat-icon svgIcon="mdi:clipboard-arrow-left"></mat-icon>
<span translate>edge.copy-edge-key</span>
</button>
<button mat-raised-button
<button mat-stroked-button
ngxClipboard
(cbOnSuccess)="onEdgeInfoCopied('secret')"
[cbContent]="entity?.secret"
@ -104,7 +104,7 @@
<mat-icon svgIcon="mdi:clipboard-arrow-left"></mat-icon>
<span translate>edge.copy-edge-secret</span>
</button>
<button mat-raised-button
<button mat-stroked-button
ngxClipboard
[disabled]="(isLoading$ | async)"
(click)="onEntityAction($event, 'syncEdge')"
@ -115,7 +115,7 @@
</div>
<div class="flex flex-row xs:flex-col">
@if (!upgradeAvailable) {
<button mat-raised-button color="primary"
<button mat-stroked-button color="primary"
[disabled]="(isLoading$ | async)"
(click)="onEntityAction($event, 'openInstallInstructions')"
[class.!hidden]="isEdit || edgeScope === 'customer_user'">
@ -123,7 +123,7 @@
<span>{{ 'edge.install-connect-instructions' | translate }}</span>
</button>
} @else {
<button mat-raised-button color="primary"
<button mat-stroked-button color="primary"
[disabled]="(isLoading$ | async)"
(click)="onEntityAction($event, 'openUpgradeInstructions')"
[class.!hidden]="isEdit || edgeScope === 'customer_user'">

14
ui-ngx/src/app/modules/home/pages/entity-view/entity-view.component.html

@ -16,44 +16,44 @@
-->
<div class="tb-details-buttons xs:flex xs:flex-col">
<button mat-raised-button color="primary"
<button mat-stroked-button color="primary"
[disabled]="(isLoading$ | async)"
(click)="onEntityAction($event, 'open')"
[class.!hidden]="isEdit || isDetailsPage">
{{'common.open-details-page' | translate }}
</button>
<button mat-raised-button color="primary"
<button mat-stroked-button color="primary"
[disabled]="(isLoading$ | async)"
(click)="onEntityAction($event, 'makePublic')"
[class.!hidden]="isEdit || entityViewScope !== 'tenant' || isAssignedToCustomer(entity) || entity?.customerIsPublic">
{{'entity-view.make-public' | translate }}
</button>
<button mat-raised-button color="primary"
<button mat-stroked-button color="primary"
[disabled]="(isLoading$ | async)"
(click)="onEntityAction($event, 'assignToCustomer')"
[class.!hidden]="isEdit || entityViewScope !== 'tenant' || isAssignedToCustomer(entity)">
{{'entity-view.assign-to-customer' | translate }}
</button>
<button mat-raised-button color="primary"
<button mat-stroked-button color="primary"
[disabled]="(isLoading$ | async)"
(click)="onEntityAction($event, 'unassignFromCustomer')"
[class.!hidden]="isEdit || (entityViewScope !== 'customer' && entityViewScope !== 'tenant') || !isAssignedToCustomer(entity)">
{{ (entity?.customerIsPublic ? 'entity-view.make-private' : 'entity-view.unassign-from-customer') | translate }}
</button>
<button mat-raised-button color="primary"
<button mat-stroked-button color="primary"
[disabled]="(isLoading$ | async)"
(click)="onEntityAction($event, 'unassignFromEdge')"
[class.!hidden]="isEdit || entityViewScope !== 'edge'">
{{ 'edge.unassign-from-edge' | translate }}
</button>
<button mat-raised-button color="primary"
<button mat-stroked-button color="primary"
[disabled]="(isLoading$ | async)"
(click)="onEntityAction($event, 'delete')"
[class.!hidden]="hideDelete() || isEdit">
{{'entity-view.delete' | translate }}
</button>
<div class="flex flex-row xs:flex-col">
<button mat-raised-button
<button mat-stroked-button
ngxClipboard
(cbOnSuccess)="onEntityViewIdCopied($event)"
[cbContent]="entity?.id?.id"

12
ui-ngx/src/app/modules/home/pages/ota-update/ota-update.component.html

@ -16,26 +16,26 @@
-->
<div class="tb-details-buttons xs:flex xs:flex-col">
<button mat-raised-button color="primary"
<button mat-stroked-button color="primary"
[disabled]="(isLoading$ | async)"
(click)="onEntityAction($event, 'open')"
[class.!hidden]="isEdit || isDetailsPage">
{{'common.open-details-page' | translate }}
</button>
<button mat-raised-button color="primary"
<button mat-stroked-button color="primary"
[disabled]="(isLoading$ | async) || !(entity?.hasData && !entity?.url)"
(click)="onEntityAction($event, 'uploadPackage')"
[class.!hidden]="isEdit">
{{ 'ota-update.download' | translate }}
</button>
<button mat-raised-button color="primary"
<button mat-stroked-button color="primary"
[disabled]="(isLoading$ | async)"
(click)="onEntityAction($event, 'delete')"
[class.!hidden]="hideDelete() || isEdit">
{{ 'ota-update.delete' | translate }}
</button>
<div class="flex flex-row xs:flex-col">
<button mat-raised-button
<button mat-stroked-button
ngxClipboard
(cbOnSuccess)="onPackageIdCopied()"
[cbContent]="entity?.id?.id"
@ -43,7 +43,7 @@
<mat-icon svgIcon="mdi:clipboard-arrow-left"></mat-icon>
<span translate>ota-update.copyId</span>
</button>
<button mat-raised-button
<button mat-stroked-button
ngxClipboard
(cbOnSuccess)="onPackageChecksumCopied()"
[cbContent]="entity?.checksum"
@ -51,7 +51,7 @@
<mat-icon svgIcon="mdi:clipboard-arrow-left"></mat-icon>
<span translate>ota-update.copy-checksum</span>
</button>
<button mat-raised-button
<button mat-stroked-button
ngxClipboard
(cbOnSuccess)="onPackageDirectUrlCopied()"
[cbContent]="entity?.url"

18
ui-ngx/src/app/modules/home/pages/rulechain/rulechain.component.html

@ -16,56 +16,56 @@
-->
<div class="tb-details-buttons">
<button mat-raised-button color="primary"
<button mat-stroked-button color="primary"
[disabled]="(isLoading$ | async)"
(click)="onEntityAction($event, 'open')"
[class.!hidden]="isEdit">
{{'rulechain.open-rulechain' | translate }}
</button>
<button mat-raised-button color="primary"
<button mat-stroked-button color="primary"
[disabled]="(isLoading$ | async)"
(click)="onEntityAction($event, 'export')"
[class.!hidden]="isEdit">
{{'rulechain.export' | translate }}
</button>
<button mat-raised-button color="primary"
<button mat-stroked-button color="primary"
[disabled]="(isLoading$ | async)"
(click)="onEntityAction($event, 'setRoot')"
[class.!hidden]="isEdit || !((!entity?.root && ruleChainScope === 'tenant') || (!isEdgeRootRuleChain() && ruleChainScope === 'edge'))">
{{'rulechain.set-root' | translate }}
</button>
<button mat-raised-button color="primary"
<button mat-stroked-button color="primary"
[disabled]="(isLoading$ | async)"
(click)="onEntityAction($event, 'setEdgeTemplateRoot')"
[class.!hidden]="isEdit || entity?.root || ruleChainScope !== 'edges'">
{{'rulechain.set-edge-template-root-rulechain' | translate }}
</button>
<button mat-raised-button color="primary"
<button mat-stroked-button color="primary"
[disabled]="(isLoading$ | async)"
(click)="onEntityAction($event, 'setAutoAssignToEdge')"
[class.!hidden]="isEdit || !isNotAutoAssignToEdgeRuleChain() || ruleChainScope !== 'edges'">
{{'rulechain.set-auto-assign-to-edge' | translate }}
</button>
<button mat-raised-button color="primary"
<button mat-stroked-button color="primary"
[disabled]="(isLoading$ | async)"
(click)="onEntityAction($event, 'unsetAutoAssignToEdge')"
[class.!hidden]="isEdit || !isAutoAssignToEdgeRuleChain() || ruleChainScope !== 'edges'">
{{'rulechain.unset-auto-assign-to-edge' | translate }}
</button>
<button mat-raised-button color="primary"
<button mat-stroked-button color="primary"
[disabled]="(isLoading$ | async)"
(click)="onEntityAction($event, 'unassignFromEdge')"
[class.!hidden]="isEdit || isEdgeRootRuleChain() || ruleChainScope !== 'edges'">
{{'edge.unassign-from-edge' | translate }}
</button>
<button mat-raised-button color="primary"
<button mat-stroked-button color="primary"
[disabled]="(isLoading$ | async)"
(click)="onEntityAction($event, 'delete')"
[class.!hidden]="hideDelete() || isEdit || ruleChainScope === 'edge'">
{{'rulechain.delete' | translate }}
</button>
<div class="flex flex-row">
<button mat-raised-button
<button mat-stroked-button
ngxClipboard
(cbOnSuccess)="onRuleChainIdCopied($event)"
[cbContent]="entity?.id?.id"

16
ui-ngx/src/app/modules/home/pages/user/user.component.html

@ -16,52 +16,52 @@
-->
<div class="tb-details-buttons xs:flex xs:flex-col">
<button mat-raised-button color="primary"
<button mat-stroked-button color="primary"
[disabled]="(isLoading$ | async)"
(click)="onEntityAction($event, 'open')"
[class.!hidden]="isEdit || isDetailsPage">
{{'common.open-details-page' | translate }}
</button>
<button mat-raised-button color="primary"
<button mat-stroked-button color="primary"
[disabled]="(isLoading$ | async)"
(click)="onEntityAction($event, 'disableAccount')"
[class.!hidden]="isEdit || !isUserActivated() || !isUserCredentialsEnabled()">
{{'user.disable-account' | translate }}
</button>
<button mat-raised-button color="primary"
<button mat-stroked-button color="primary"
[disabled]="(isLoading$ | async)"
(click)="onEntityAction($event, 'enableAccount')"
[class.!hidden]="isEdit || !isUserActivated() || isUserCredentialsEnabled()">
{{'user.enable-account' | translate }}
</button>
<button mat-raised-button color="primary"
<button mat-stroked-button color="primary"
[disabled]="(isLoading$ | async)"
(click)="onEntityAction($event, 'displayActivationLink')"
[class.!hidden]="isEdit || isUserActivated()">
{{'user.display-activation-link' | translate }}
</button>
<button mat-raised-button color="primary"
<button mat-stroked-button color="primary"
[disabled]="(isLoading$ | async)"
(click)="onEntityAction($event, 'resendActivation')"
[class.!hidden]="isEdit || isUserActivated()">
{{'user.resend-activation' | translate }}
</button>
@if (loginAsUserEnabled$ | async) {
<button mat-raised-button color="primary"
<button mat-stroked-button color="primary"
[disabled]="(isLoading$ | async)"
(click)="onEntityAction($event, 'loginAsUser')"
[class.!hidden]="isEdit">
{{ (entity?.authority === authority.TENANT_ADMIN ? 'user.login-as-tenant-admin' : 'user.login-as-customer-user') | translate }}
</button>
}
<button mat-raised-button color="primary"
<button mat-stroked-button color="primary"
[disabled]="(isLoading$ | async)"
(click)="onEntityAction($event, 'delete')"
[class.!hidden]="hideDelete() || isEdit">
{{'user.delete' | translate }}
</button>
<div class="flex flex-row xs:flex-col">
<button mat-raised-button
<button mat-stroked-button
ngxClipboard
(cbOnSuccess)="onUserIdCopied($event)"
[cbContent]="entity?.id?.id"

8
ui-ngx/src/app/modules/home/pages/widget/widget-type.component.html

@ -16,25 +16,25 @@
-->
<div class="tb-details-buttons xs:flex xs:flex-col">
<button mat-raised-button color="primary"
<button mat-stroked-button color="primary"
[disabled]="(isLoading$ | async)"
(click)="onEntityAction($event, 'edit')"
[class.!hidden]="isEdit">
{{ 'widget.edit' | translate }}
</button>
<button mat-raised-button color="primary"
<button mat-stroked-button color="primary"
[disabled]="(isLoading$ | async)"
(click)="onEntityAction($event, 'openDetails')"
[class.!hidden]="isEdit || isDetailsPage">
{{'common.open-details-page' | translate }}
</button>
<button mat-raised-button color="primary"
<button mat-stroked-button color="primary"
[disabled]="(isLoading$ | async)"
(click)="onEntityAction($event, 'export')"
[class.!hidden]="isEdit">
{{ 'widget.export' | translate }}
</button>
<button mat-raised-button color="primary"
<button mat-stroked-button color="primary"
[disabled]="(isLoading$ | async)"
(click)="onEntityAction($event, 'delete')"
[class.!hidden]="hideDelete() || isEdit">

8
ui-ngx/src/app/modules/home/pages/widget/widgets-bundle.component.html

@ -17,25 +17,25 @@
-->
@if (!standalone) {
<div class="tb-details-buttons xs:flex xs:flex-col">
<button mat-raised-button color="primary"
<button mat-stroked-button color="primary"
[disabled]="(isLoading$ | async)"
(click)="onEntityAction($event, 'open')"
[class.!hidden]="isEdit">
{{'widgets-bundle.open-widgets-bundle' | translate }}
</button>
<button mat-raised-button color="primary"
<button mat-stroked-button color="primary"
[disabled]="(isLoading$ | async)"
(click)="onEntityAction($event, 'openDetails')"
[class.!hidden]="isEdit || isDetailsPage">
{{'common.open-details-page' | translate }}
</button>
<button mat-raised-button color="primary"
<button mat-stroked-button color="primary"
[disabled]="(isLoading$ | async)"
(click)="onEntityAction($event, 'export')"
[class.!hidden]="isEdit">
{{'widgets-bundle.export' | translate }}
</button>
<button mat-raised-button color="primary"
<button mat-stroked-button color="primary"
[disabled]="(isLoading$ | async)"
(click)="onEntityAction($event, 'delete')"
[class.!hidden]="hideDelete() || isEdit">

4
ui-ngx/src/styles.scss

@ -166,6 +166,10 @@ section.tb-footer-buttons {
.tb-details-buttons {
button {
margin: 6px 8px;
&.mat-mdc-outlined-button:not(:disabled) {
--mat-button-outlined-outline-color: inherit;
border-color: inherit;
}
}
}

Loading…
Cancel
Save