connect-admin/src/app/pages/customization/customize-buttons.component.ts

82 lines
4.0 KiB
TypeScript

import {Component, Input} from '@angular/core';
import {ButtonsCustomization} from '../../openaireLibrary/connect/community/CustomizationOptions';
@Component({
selector: 'customize-buttons',
template: `
<div class="">
<div *ngIf="onlyBorder" class="uk-margin-medium-bottom" >
<border [style]="buttons.borderStyle" [width]=
"buttons.borderWidth" [radius]=
"buttons.borderRadius" (borderChange)=
" buttons.borderStyle = $event.style;
buttons.borderRadius = $event.radius;
buttons.borderWidth = $event.width; "
[stylePublished]="buttonsPublished.borderStyle"
[widthPublished]="buttonsPublished.borderWidth"
[radiusPublished]="buttonsPublished.borderRadius"
></border>
</div>
<div *ngIf="!onlyBorder" class="uk-grid uk-margin-top" >
<div class="">
<div class=" uk-margin-xsmall-bottom uk-text-bold uk-margin-small-left uk-text-meta uk-text-uppercase uk-flex uk-flex-middle">Colors
<a *ngIf="buttons.color !=buttonsPublished.color || buttons.backgroundColor != buttonsPublished.backgroundColor || buttons.borderColor !=buttonsPublished.borderColor " class="uk-margin-small-left uk-button-link"
uk-tooltip="title:<div class='uk-width-large'>Reset to previously saved options</div>"
(click)="buttons.color =buttonsPublished.color; buttons.backgroundColor = buttonsPublished.backgroundColor ; buttons.borderColor =buttonsPublished.borderColor "> <icon name="settings_backup_restore" flex="true"></icon></a>
</div>
<color [color]="buttons.color" (colorChange)=
" buttons.color = $event; "
label="Fonts" [light]="!light"
></color>
<color [color]="buttons.backgroundColor" (colorChange)=
" buttons.backgroundColor = $event; " [light]="light"
label="Background" ></color>
<color [color]="buttons.borderColor" (colorChange)=
" buttons.borderColor = $event; " [light]="light"
label="Border"
></color>
</div>
<div class="uk-margin-top">
<div class=" uk-margin-xsmall-bottom uk-text-bold uk-margin-small-left uk-text-meta uk-text-uppercase uk-flex uk-flex-middle">Colors on hover
<a *ngIf="hasChanges(buttons.onHover,buttonsPublished.onHover)" class="uk-margin-small-left uk-button-link"
uk-tooltip="title:<div class='uk-width-large'>Reset to previously saved options</div>"
(click)="buttons.onHover.color =buttonsPublished.onHover.color; buttons.onHover.backgroundColor = buttonsPublished.onHover.backgroundColor ;
buttons.onHover.borderColor = buttonsPublished.onHover.borderColor"> <icon name="settings_backup_restore" flex="true"></icon></a>
</div>
<div class="">
<color [color]="buttons.onHover.color" (colorChange)=
" buttons.onHover.color = $event;" label="Fonts" [light]="!light"
></color>
<color [color]="buttons.onHover.backgroundColor"
(colorChange)=
" buttons.onHover.backgroundColor = $event;" [light]="light"
label="Background" ></color>
<color [color]="buttons.onHover.borderColor" (colorChange)=
" buttons.onHover.borderColor = $event;" [light]="light"
label="Border" ></color>
</div>
</div>
</div>
</div>
`,
styles:[` `]
})
export class CustomizeButtonsComponent {
@Input() buttons:ButtonsCustomization;
@Input() buttonsPublished:ButtonsCustomization;
@Input() light:boolean;
@Input() onlyBorder:boolean = false;
constructor() {
}
hasChanges(object1,object2):boolean{
return JSON.stringify(object1) != JSON.stringify(object2);
}
}