@progress/kendo-angular-spreadsheet
Version:
A Spreadsheet Component for Angular
92 lines (91 loc) • 4.43 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, ElementRef, Input, Renderer2 } from '@angular/core';
import { formulaFxIcon } from '@progress/kendo-svg-icons';
import { IconWrapperComponent } from '@progress/kendo-angular-icons';
import { EventsOutsideAngularDirective } from '@progress/kendo-angular-common';
import { SpreadsheetService } from '../common/spreadsheet.service';
import * as i0 from "@angular/core";
import * as i1 from "../common/spreadsheet.service";
/**
* @hidden
*/
export class FormulaListComponent {
element;
spreadsheetService;
renderer;
maxHeight;
data = [];
itemClick;
formulaFxIcon = formulaFxIcon;
constructor(element, spreadsheetService, renderer) {
this.element = element;
this.spreadsheetService = spreadsheetService;
this.renderer = renderer;
}
ngOnInit() {
this.renderer.setAttribute(this.element.nativeElement, 'id', this.spreadsheetService.formulaListId);
}
handleMouseDown = (ev) => {
ev.preventDefault();
};
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: FormulaListComponent, deps: [{ token: i0.ElementRef }, { token: i1.SpreadsheetService }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Component });
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: FormulaListComponent, isStandalone: true, selector: "kendo-spreadsheet-formula-list", inputs: { maxHeight: "maxHeight", data: "data", itemClick: "itemClick" }, ngImport: i0, template: `
<ul #ulRef
class="k-spreadsheet-formula-list k-list-ul k-list-md k-group k-reset"
role="menu"
[style.overflowY]="'auto'"
[style.maxHeight]="maxHeight"
[kendoEventsOutsideAngular]="{mousedown: handleMouseDown}">
(item of data; track item) {
<li
(click)="itemClick(item.text)"
class="k-list-item"
role="menuitem">
<kendo-icon-wrapper
[svgIcon]="formulaFxIcon"
name="formula-fx"
></kendo-icon-wrapper>
<span className="k-list-item-text">{{item.text}}</span>
</li>
}
</ul>
`, isInline: true, dependencies: [{ kind: "directive", type: EventsOutsideAngularDirective, selector: "[kendoEventsOutsideAngular]", inputs: ["kendoEventsOutsideAngular", "scope"] }, { kind: "component", type: IconWrapperComponent, selector: "kendo-icon-wrapper", inputs: ["name", "svgIcon", "innerCssClass", "customFontClass", "size"], exportAs: ["kendoIconWrapper"] }] });
}
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: FormulaListComponent, decorators: [{
type: Component,
args: [{
selector: 'kendo-spreadsheet-formula-list',
template: `
<ul #ulRef
class="k-spreadsheet-formula-list k-list-ul k-list-md k-group k-reset"
role="menu"
[style.overflowY]="'auto'"
[style.maxHeight]="maxHeight"
[kendoEventsOutsideAngular]="{mousedown: handleMouseDown}">
(item of data; track item) {
<li
(click)="itemClick(item.text)"
class="k-list-item"
role="menuitem">
<kendo-icon-wrapper
[svgIcon]="formulaFxIcon"
name="formula-fx"
></kendo-icon-wrapper>
<span className="k-list-item-text">{{item.text}}</span>
</li>
}
</ul>
`,
standalone: true,
imports: [EventsOutsideAngularDirective, IconWrapperComponent]
}]
}], ctorParameters: () => [{ type: i0.ElementRef }, { type: i1.SpreadsheetService }, { type: i0.Renderer2 }], propDecorators: { maxHeight: [{
type: Input
}], data: [{
type: Input
}], itemClick: [{
type: Input
}] } });