Fixed public methods
This commit is contained in:
parent
994a1e972d
commit
1830ae23ad
@ -779,4 +779,97 @@ export class CGSelect implements ICgSelect {
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
* Метод экземпляра класса DropDown
|
||||
* @param {boolean} value - Передаваемый параметр для добавления атрибута disabled;
|
||||
* @description Метод позволяющий переключать состояние селекта disabled,
|
||||
* @method disabled
|
||||
*/
|
||||
public disabled(value: boolean) {
|
||||
const select = this.element!.querySelector('.cg-select');
|
||||
const nativeSelect = this.element!.querySelector('.nativeSelect');
|
||||
|
||||
if (value === true) {
|
||||
this.element!.setAttribute('disabled', 'true');
|
||||
nativeSelect!.setAttribute('disabled', 'true');
|
||||
select!.classList.add('disabled');
|
||||
} else {
|
||||
this.element!.removeAttribute('disabled');
|
||||
nativeSelect!.removeAttribute('disabled');
|
||||
select!.classList.remove('disabled');
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Метод экземпляра класса DropDown
|
||||
* @param {string | object} item добавляемый елемент
|
||||
* @description добавляет переданный элемент в конец списка и перерисовывает список. Не может использоваться при передачи элементов с категорями
|
||||
* @method addItem
|
||||
*/
|
||||
public addItem(item: IItems | string | number) {
|
||||
if (this.category) {
|
||||
console.log('can`t add item to category');
|
||||
return;
|
||||
}
|
||||
|
||||
if (!item) {
|
||||
return false;
|
||||
}
|
||||
|
||||
const index = this.items.length;
|
||||
|
||||
this.items.push(getFormatItem(item, index));
|
||||
this.render();
|
||||
}
|
||||
|
||||
/**
|
||||
* Метод экземпляра класса DropDown
|
||||
* @param {number} index индекс удаляемого элемента
|
||||
* @description удаляет елемент по индексу из списка и перерисовывает его. Не может использоваться при передачи элементов с категорями.
|
||||
* @method deleteItem
|
||||
*/
|
||||
public deleteItem(index: number) {
|
||||
if (this.category) {
|
||||
console.log('can`t add item to category');
|
||||
return;
|
||||
}
|
||||
|
||||
const item = this.items[index];
|
||||
|
||||
this.items.splice(index, 1);
|
||||
this.render();
|
||||
}
|
||||
|
||||
/**
|
||||
* Метод экземпляра класса DropDown
|
||||
* @description удаляет все елементы из списка и перерисовывает его.
|
||||
* @method deleteItemAll
|
||||
*/
|
||||
public deleteItemAll() {
|
||||
this.items.splice(0, this.items.length);
|
||||
this.render();
|
||||
}
|
||||
|
||||
/**
|
||||
* Метод экземпляра класса DropDown
|
||||
* @param {number} index индекс выбранного элемента
|
||||
* @description выбирает элемент который будет изначально отрисовываться в селекте
|
||||
* @method selectIndex
|
||||
*/
|
||||
public selectIndex(index: number) {
|
||||
if (this.category) {
|
||||
console.log('can`t add item to category');
|
||||
return;
|
||||
}
|
||||
|
||||
const options = this.element!.querySelectorAll('.list__item') as NodeListOf<HTMLElement>;
|
||||
|
||||
if (index > options!.length) {
|
||||
return;
|
||||
}
|
||||
|
||||
const select: string = options[index].innerText;
|
||||
this.render(select);
|
||||
}
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user