@progress/kendo-angular-dropdowns
Version:
A wide variety of native Angular dropdown components including AutoComplete, ComboBox, DropDownList, DropDownTree, MultiColumnComboBox, MultiSelect, and MultiSelectTree
48 lines (47 loc) • 2.14 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 { Injectable } from '@angular/core';
import { isPresent } from '../util';
import { DataService } from '../data.service';
import * as i0 from "@angular/core";
import * as i1 from "../data.service";
/**
* @hidden
*/
export class DisabledItemsService {
dataService;
defaultItem;
itemDisabled = null;
constructor(dataService) {
this.dataService = dataService;
}
isIndexDisabled(index) {
if (this.itemDisabled) {
const item = this.dataService.itemAt(index);
if (isPresent(item)) {
return this.itemDisabled({ dataItem: item, index });
}
else if (isPresent(this.defaultItem)) {
return this.itemDisabled({ dataItem: this.defaultItem, index: -1 });
}
}
}
isItemDisabled(item) {
if (this.itemDisabled) {
const index = this.dataService.indexOf(item);
if (index !== -1) {
return this.itemDisabled({ dataItem: item, index });
}
else if (isPresent(this.defaultItem)) {
return this.itemDisabled({ dataItem: this.defaultItem, index: -1 });
}
}
}
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DisabledItemsService, deps: [{ token: i1.DataService }], target: i0.ɵɵFactoryTarget.Injectable });
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DisabledItemsService });
}
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DisabledItemsService, decorators: [{
type: Injectable
}], ctorParameters: function () { return [{ type: i1.DataService }]; } });