2023-02-09 16:47:55 +03:00
# CG-SELECT
2023-10-04 18:26:51 +03:00
## Версия ~ 0.3.2
2023-02-09 16:47:55 +03:00
2023-03-21 15:02:59 +03:00
< a href = "https://github.com/apuc/cg-select/blob/main/README.md" > English README< / a >
2023-03-20 20:25:14 +03:00
2023-02-09 16:47:55 +03:00
Этот компонент позволяет вам создать пользовательский Select. Он предлагает более гибкую настройку и использование select.
Доступна кастомизация, multi-selection, живой поиск по элементам и многое другое.
### Возможность настройки основных элементов, таких как:
- Кнопка самого селекта Select.
- Список с выбранными элементами.
- Placeholder.
- В режиме мультиселекта доступна кастомизация chips (выбранных элементов).
- Label элемента (если она была указана).
- Переключить тему с темной на светлую.
2023-02-09 16:52:26 +03:00
- Так же в документации указанны все элементы для катомизации с помощью CSS.
2023-02-09 16:47:55 +03:00
2023-03-21 15:02:59 +03:00
## Установка
2023-02-09 16:47:55 +03:00
2023-04-17 17:09:57 +03:00
#### NPM
2023-02-09 16:47:55 +03:00
```
npm i cg-select
```
2023-04-17 17:09:57 +03:00
#### CDN
```
< script src = "https://cdn.itguild.info/items/cg-select/latest/main.js" > < / script >
```
2023-06-13 07:01:26 +03:00
#### PHP
Репозиторий: < a href = "https://git.itguild.info/apuc/php-cg-select-v2" > Интеграция пакета cg-select для PHP< / a >
2023-03-21 15:02:59 +03:00
## Использование
2023-02-09 16:47:55 +03:00
### Для создания компонента необходимо:
1. Создайте обычную кнопку.
2. Добавьте ей класс cg-dropdown.
```
< button class = "cg-dropdown" > < / button >
```
3. Добавьте ему **уникальный класс** ,
например: (cg-dropdown_categories)
```
< button class = "cg-dropdown cg-dropdown_categories" > < / button >
```
4. Создайте новый экземпляр класса (new CGSelect)
5. Передайте все нужные настройки как объект.
#### В с е варианты создания и управления селектом есть в документации, раздел "Конструктор класса CGSelect".
### Пример создания обычного CGSelect.
```javascript
import CGSelect from 'cg-select';
const dropdown = new CGSelect({
selector: '.cg-dropdown_selector',
placeholder: 'Выберите авто',
items: [
'BMW',
{
id: '213sade',
title: 'Opel',
value: 1,
},
'Mersedes',
'MAN',
'Ferari',
],
});
```
2023-04-24 20:24:32 +03:00
### Пример инициализации CGSelect в React.
```javascript
import { useEffect } from 'react';
import CGSelect from 'cg-select';
const App = () => {
useEffect(() => {
const drop = new CGSelect({
selector: '.cg-dropdown_selector',
placeholder: 'Выберите авто',
items: [
'BMW',
{
id: '213sade',
title: 'Opel',
value: 1,
},
'Mersedes',
'MAN',
'Ferari',
],
});
}, []);
return (
< div className = "App" >
< button className = "cg-dropdown cg-dropdown_selector" > < / button >
< / div >
);
};
```
2023-04-25 12:33:26 +03:00
### Пример инициализации CGSelect в Vue.
```javascript
< template >
< div >
< button class = "cg-dropdown cg-dropdown_selector" > < / button >
< / div >
< / template >
< script >
import CGSelect from "cg-select";
export default {
mounted() {
const drop = new CGSelect({
selector: ".cg-dropdown_selector",
placeholder: "Выберите авто",
items: [
"BMW",
{
id: "213sade",
title: "Opel",
value: 1,
},
"Mersedes",
"MAN",
"Ferari",
],
});
console.log(drop);
},
};
< / script >
```
2023-02-09 16:47:55 +03:00
## Примеры различных вариантов выбора.
2023-03-20 20:25:14 +03:00
< a href = "https://cg-select.itguild.info/" > Рабочий пример< / a >
2023-02-09 16:47:55 +03:00
Вся документация по CG-SELECT находится в одноименной папке. В документации описаны все методы и переменные, также есть примеры передачи настроек в CGSelect. Вы также можете открыть е г о на странице с примером, или перейти по ссылке ниже.
2023-03-20 20:25:14 +03:00
< a href = "https://cg-select.itguild.info/up_/documentation/index.html" > Документация< / a >
2023-02-09 16:47:55 +03:00
2023-03-21 15:02:59 +03:00
## Содействие
2023-02-09 16:47:55 +03:00
2023-03-21 15:02:59 +03:00
1. Сделайте Fork!
2. Создайте свою ветку: `git checkout -b my-new-feature`
3. Зафиксируйте свои изменения: `git commit -am 'Add some feature'`
4. Загрузите ветку: `git push origin my-new-feature`
5. Отправте запрос на вытягивание изменений :D
2023-02-09 16:47:55 +03:00
2023-03-21 15:02:59 +03:00
## Совместимость
2023-02-09 16:47:55 +03:00
2023-04-25 12:33:26 +03:00
| Совместимость в приложениях | JS | React | Angular | Vue |
| --------------------------- | :----------------------------------------------------------------------: | :----------------------------------------------------------------------: | :---------------------------------------------------------------------: | :----------------------------------------------------------------------: |
| CG-SELECT | ![image ](https://github.com/apuc/cg-select/blob/main/src/images/yes.png ) | ![image ](https://github.com/apuc/cg-select/blob/main/src/images/yes.png ) | ![image ](https://github.com/apuc/cg-select/blob/main/src/images/no.png ) | ![image ](https://github.com/apuc/cg-select/blob/main/src/images/yes.png ) |
| Комментарий | Протестировано в Js приложениях | Инициация селекта происходит внутри хука `useEffect()` | пока недоступно | Инициация селекта происходит внутри хука `mounted()` |
2023-02-09 16:47:55 +03:00
2023-03-21 15:02:59 +03:00
## История
2023-02-09 16:47:55 +03:00
16.12.2022 - release version 0.1.0!
20.01.2023 - upgrade to version 0.2.1
2023-04-06 15:15:24 +03:00
06.03.2023 - upgrade to version 0.3.0