@progress/kendo-angular-spreadsheet
Version:
A Spreadsheet Component for Angular
140 lines (139 loc) • 8.22 kB
JavaScript
/**-----------------------------------------------------------------------------------------
* Copyright © 2025 Progress Software Corporation. All rights reserved.
* Licensed under commercial license. See LICENSE.md in the project root for more information
*-------------------------------------------------------------------------------------------*/
import { Component, forwardRef, Inject } from '@angular/core';
import { NgIf } from '@angular/common';
import { ToolBarComponent, ToolBarToolComponent } from '@progress/kendo-angular-toolbar';
import { DialogService } from '@progress/kendo-angular-dialog';
import { IconWrapperComponent } from '@progress/kendo-angular-icons';
import { ColorPickerComponent } from '@progress/kendo-angular-inputs';
import { SpreadsheetLocalizationService } from '../../localization/spreadsheet-localization.service';
import { SpreadsheetService } from '../../common/spreadsheet.service';
import { SpreadsheetToolsService } from '../tools.service';
import { SpreadsheetDropDownToolBase } from '../shared/spreadsheet-dropdown-tools-base';
import * as i0 from "@angular/core";
import * as i1 from "@progress/kendo-angular-dialog";
import * as i2 from "../../localization/spreadsheet-localization.service";
import * as i3 from "../../common/spreadsheet.service";
import * as i4 from "../tools.service";
import * as i5 from "@progress/kendo-angular-toolbar";
/**
* A component which configures an existing `ColorPickerComponent` as a Spreadsheet tool to change the text color.
*
* The component associates a `kendo-colorpicker` with a Spreadsheet command that changes the foreground color of a content block and
* automatically defines the options of the color picker and sets its values. [See example](slug:toolbar_tools_spreadsheet#home-menu-item-tools).
* @hidden
*/
export class SpreadsheetForeColorComponent extends SpreadsheetDropDownToolBase {
constructor(dialogService, localization, spreadsheetService, toolsService, toolbar) {
super('color', dialogService, localization, spreadsheetService, toolsService, toolbar);
}
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SpreadsheetForeColorComponent, deps: [{ token: i1.DialogService }, { token: i2.SpreadsheetLocalizationService }, { token: i3.SpreadsheetService }, { token: i4.SpreadsheetToolsService }, { token: ToolBarComponent }], target: i0.ɵɵFactoryTarget.Component });
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: SpreadsheetForeColorComponent, isStandalone: true, selector: "kendo-spreadsheet-forecolor-tool", providers: [{ provide: ToolBarToolComponent, useExisting: forwardRef(() => SpreadsheetForeColorComponent) }], usesInheritance: true, ngImport: i0, template: `
<ng-template
<div class="k-toolbar-item">
<kendo-colorpicker
[ ]="messageFor(command)"
[ ]="'hex'"
[(value)]="value"
[ ]="tabindex"
(valueChange)="onValueChange($event)"
[ ]="false"
fillMode="flat"
[ ]="icon"
[ ]="svgIcon"
[ ]="true"></kendo-colorpicker>
</div>
</ng-template>
<ng-template
<div
[ ]="tabindex"
role="menuitem"
class="k-item k-menu-item"
(click)="openDialog()">
<span
class="k-link k-menu-link">
<kendo-icon-wrapper [name]="icon" [svgIcon]="svgIcon"></kendo-icon-wrapper>
<span *ngIf="messageFor(command)" class="k-menu-link-text">{{messageFor(command)}}</span>
</span>
</div>
</ng-template>
<ng-template
<div class="k-toolbar-item">
<kendo-colorpicker
[ ]="messageFor(command)"
[ ]="'hex'"
[(value)]="value"
[ ]="tabindex"
(valueChange)="onValueChange($event)"
[ ]="false"
fillMode="flat"
[ ]="icon"
[ ]="svgIcon"
[ ]="true"></kendo-colorpicker>
</div>
</ng-template>
`, isInline: true, dependencies: [{ kind: "component", type: ColorPickerComponent, selector: "kendo-colorpicker", inputs: ["views", "view", "adaptiveMode", "activeView", "readonly", "disabled", "format", "value", "popupSettings", "paletteSettings", "gradientSettings", "icon", "iconClass", "svgIcon", "adaptiveTitle", "adaptiveSubtitle", "clearButton", "tabindex", "preview", "actionsLayout", "size", "rounded", "fillMode"], outputs: ["valueChange", "open", "close", "focus", "blur", "cancel", "activeColorClick", "clearButtonClick", "activeViewChange"], exportAs: ["kendoColorPicker"] }, { kind: "component", type: IconWrapperComponent, selector: "kendo-icon-wrapper", inputs: ["name", "svgIcon", "innerCssClass", "customFontClass", "size"], exportAs: ["kendoIconWrapper"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
}
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SpreadsheetForeColorComponent, decorators: [{
type: Component,
args: [{
providers: [{ provide: ToolBarToolComponent, useExisting: forwardRef(() => SpreadsheetForeColorComponent) }],
selector: 'kendo-spreadsheet-forecolor-tool',
template: `
<ng-template
<div class="k-toolbar-item">
<kendo-colorpicker
[ ]="messageFor(command)"
[ ]="'hex'"
[(value)]="value"
[ ]="tabindex"
(valueChange)="onValueChange($event)"
[ ]="false"
fillMode="flat"
[ ]="icon"
[ ]="svgIcon"
[ ]="true"></kendo-colorpicker>
</div>
</ng-template>
<ng-template
<div
[ ]="tabindex"
role="menuitem"
class="k-item k-menu-item"
(click)="openDialog()">
<span
class="k-link k-menu-link">
<kendo-icon-wrapper [name]="icon" [svgIcon]="svgIcon"></kendo-icon-wrapper>
<span *ngIf="messageFor(command)" class="k-menu-link-text">{{messageFor(command)}}</span>
</span>
</div>
</ng-template>
<ng-template
<div class="k-toolbar-item">
<kendo-colorpicker
[ ]="messageFor(command)"
[ ]="'hex'"
[(value)]="value"
[ ]="tabindex"
(valueChange)="onValueChange($event)"
[ ]="false"
fillMode="flat"
[ ]="icon"
[ ]="svgIcon"
[ ]="true"></kendo-colorpicker>
</div>
</ng-template>
`,
standalone: true,
imports: [ColorPickerComponent, IconWrapperComponent, NgIf]
}]
}], ctorParameters: function () { return [{ type: i1.DialogService }, { type: i2.SpreadsheetLocalizationService }, { type: i3.SpreadsheetService }, { type: i4.SpreadsheetToolsService }, { type: i5.ToolBarComponent, decorators: [{
type: Inject,
args: [ToolBarComponent]
}] }]; } });