Update in main brench
This commit is contained in:
commit
d8993da744
14
CHANGELOG.md
Normal file
14
CHANGELOG.md
Normal file
@ -0,0 +1,14 @@
|
|||||||
|
# CG-SELECT
|
||||||
|
|
||||||
|
## 16.12.2022 - релиз версии 0.1.0!
|
||||||
|
|
||||||
|
### 20.12.2022 - обновление 0.1.12.
|
||||||
|
|
||||||
|
Проведены тесты в JS и React. Выявленны ошибки в работе в Реакт приложениях.
|
||||||
|
|
||||||
|
- Изменена файловая структура приложения.
|
||||||
|
|
||||||
|
### 22.12.2022 - обновление 0.1.14.
|
||||||
|
|
||||||
|
- Изменеия в расположении файлов scss.
|
||||||
|
- Исправлено влияние стилей селекта на JS приложение.
|
15
README.md
15
README.md
@ -1,6 +1,6 @@
|
|||||||
# CG-SELECT
|
# CG-SELECT
|
||||||
|
|
||||||
## version ~ 0.0.1
|
## version ~ 0.1.14
|
||||||
|
|
||||||
Этот компонент позволяет создать кастомный селект. Он предлагает более гибкую настройку и использование селекта.
|
Этот компонент позволяет создать кастомный селект. Он предлагает более гибкую настройку и использование селекта.
|
||||||
Доступна кастомизация, мультивыбор и живой поиск по елементам.
|
Доступна кастомизация, мультивыбор и живой поиск по елементам.
|
||||||
@ -16,7 +16,9 @@
|
|||||||
|
|
||||||
## Installation
|
## Installation
|
||||||
|
|
||||||
TODO: Describe the installation process
|
```
|
||||||
|
npm i cg-select
|
||||||
|
```
|
||||||
|
|
||||||
## Usage
|
## Usage
|
||||||
|
|
||||||
@ -43,7 +45,8 @@ TODO: Describe the installation process
|
|||||||
### Пример создния обычного селекта
|
### Пример создния обычного селекта
|
||||||
|
|
||||||
```javascript
|
```javascript
|
||||||
import { DropDown } from './cg-dropdown';
|
import { DropDown } from 'cg-select/src/cg-select';
|
||||||
|
import 'cg-select/src/main.scss';
|
||||||
|
|
||||||
const dropdown = new DropDown({
|
const dropdown = new DropDown({
|
||||||
selector: '.cg-dropdown_selector',
|
selector: '.cg-dropdown_selector',
|
||||||
@ -62,7 +65,7 @@ const dropdown = new DropDown({
|
|||||||
});
|
});
|
||||||
```
|
```
|
||||||
|
|
||||||
## Примеры разных селектов
|
## Пример разных селектов
|
||||||
|
|
||||||
Так же рабочий пример -- https://cg-select.itguild.info/
|
Так же рабочий пример -- https://cg-select.itguild.info/
|
||||||
|
|
||||||
@ -73,7 +76,7 @@ const dropdown = new DropDown({
|
|||||||
|
|
||||||
Вся документация по CG-SELECT находится в одноименной папке. В документации описаны все методы и переменные, также есть примеры передачи настроек в select.
|
Вся документация по CG-SELECT находится в одноименной папке. В документации описаны все методы и переменные, также есть примеры передачи настроек в select.
|
||||||
|
|
||||||
**Чтобы ознакомиться с ней, перейдите по ссылке -** https://maxovs19.github.io/cg-select/up_/documentation/index.html
|
**Чтобы ознакомиться с ней, перейдите по ссылке -** https://cg-select.itguild.info/up_/up_/documentation/index.html
|
||||||
|
|
||||||
## Contributing
|
## Contributing
|
||||||
|
|
||||||
@ -85,4 +88,4 @@ const dropdown = new DropDown({
|
|||||||
|
|
||||||
## History
|
## History
|
||||||
|
|
||||||
TODO: Write history
|
16.12.2022 - релиз версии 0.1.0!
|
||||||
|
@ -19,7 +19,7 @@
|
|||||||
|
|
||||||
<section>
|
<section>
|
||||||
<h2>CG-SELECT</h2>
|
<h2>CG-SELECT</h2>
|
||||||
<a href="../src/index.html">-- Вернуться к примеру --</a>
|
<a href="/src/page/index.html">-- Вернуться к примеру --</a>
|
||||||
<p>
|
<p>
|
||||||
Этот компонент предлагает более гибкую настройку и использование селекта. Так же
|
Этот компонент предлагает более гибкую настройку и использование селекта. Так же
|
||||||
реализованны методы взаимодействия с селектом.
|
реализованны методы взаимодействия с селектом.
|
||||||
|
13
package.json
13
package.json
@ -1,10 +1,11 @@
|
|||||||
{
|
{
|
||||||
"name": "dropdown-list",
|
"name": "cg-select",
|
||||||
"version": "0.0.1",
|
"version": "0.1.14",
|
||||||
"description": "",
|
"description": "Select control created with JS for use in JS/React",
|
||||||
|
"author": "MaxOvs19",
|
||||||
"scripts": {
|
"scripts": {
|
||||||
"start": "parcel src/index.html -p 4500 --open ",
|
"start": "parcel src/page/index.html -p 4500 --open ",
|
||||||
"build": "parcel build ./src/index.html --public-url /",
|
"build": "parcel build ./src/page/index.html",
|
||||||
"deploy": "gh-pages -d dist",
|
"deploy": "gh-pages -d dist",
|
||||||
"predeploy": "npm run build"
|
"predeploy": "npm run build"
|
||||||
},
|
},
|
||||||
@ -12,7 +13,7 @@
|
|||||||
"type": "git",
|
"type": "git",
|
||||||
"url": "git+https://github.com/MaxOvs19/cg-select.git"
|
"url": "git+https://github.com/MaxOvs19/cg-select.git"
|
||||||
},
|
},
|
||||||
"author": "MaxOvs19",
|
|
||||||
"license": "ISC",
|
"license": "ISC",
|
||||||
"bugs": {
|
"bugs": {
|
||||||
"url": "https://github.com/MaxOvs19/cg-select/issues"
|
"url": "https://github.com/MaxOvs19/cg-select/issues"
|
||||||
|
@ -16,6 +16,8 @@ import {
|
|||||||
} from './components/create-element';
|
} from './components/create-element';
|
||||||
import { ru, en } from './language/language';
|
import { ru, en } from './language/language';
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @class Описание класса DropDown
|
* @class Описание класса DropDown
|
||||||
* @description Этот класс реализовывает функционал кастомного селекта, с возможностями кастомизации.
|
* @description Этот класс реализовывает функционал кастомного селекта, с возможностями кастомизации.
|
||||||
@ -309,9 +311,10 @@ export class DropDown {
|
|||||||
|
|
||||||
const elem = document.querySelector(options.selector);
|
const elem = document.querySelector(options.selector);
|
||||||
|
|
||||||
if (!elem) {
|
//TODO: для теста в реакте нужно пересмотреть необходимость этой проверки!
|
||||||
throw new Error(`Element with selector ${options.selector}`);
|
// if (!elem) {
|
||||||
}
|
// throw new Error(`Element with selector ${options.selector}`);
|
||||||
|
// }
|
||||||
|
|
||||||
this.#element = elem;
|
this.#element = elem;
|
||||||
|
|
||||||
@ -396,8 +399,6 @@ export class DropDown {
|
|||||||
*/
|
*/
|
||||||
#render(select) {
|
#render(select) {
|
||||||
const { styles, multiselect, searchMode, multiselectTag, darkTheme, language } = this.#options;
|
const { styles, multiselect, searchMode, multiselectTag, darkTheme, language } = this.#options;
|
||||||
const { list, search } = styles;
|
|
||||||
|
|
||||||
const random = Math.random().toString(36).substring(2, 10);
|
const random = Math.random().toString(36).substring(2, 10);
|
||||||
|
|
||||||
if (select || (select && styles)) {
|
if (select || (select && styles)) {
|
||||||
@ -419,6 +420,7 @@ export class DropDown {
|
|||||||
} else {
|
} else {
|
||||||
intputSearch = createInputSearch(random, en.placeholder);
|
intputSearch = createInputSearch(random, en.placeholder);
|
||||||
}
|
}
|
||||||
|
const { search } = styles;
|
||||||
customStylesFormat(search, intputSearch);
|
customStylesFormat(search, intputSearch);
|
||||||
ulList.appendChild(intputSearch);
|
ulList.appendChild(intputSearch);
|
||||||
}
|
}
|
||||||
@ -426,6 +428,7 @@ export class DropDown {
|
|||||||
ulList.classList.add('list');
|
ulList.classList.add('list');
|
||||||
|
|
||||||
if (styles) {
|
if (styles) {
|
||||||
|
const { list } = styles;
|
||||||
customStylesFormat(list, ulList);
|
customStylesFormat(list, ulList);
|
||||||
}
|
}
|
||||||
|
|
@ -1,37 +1,7 @@
|
|||||||
@import './nativSelect.scss';
|
@import './style/nativSelect.scss';
|
||||||
@import './scrolbar.scss';
|
@import './style/scrolbar.scss';
|
||||||
@import './whiteTheme.scss';
|
@import './style/svgStyle.scss';
|
||||||
@import './svgStyle.scss';
|
@import './style/whiteTheme.scss';
|
||||||
@import './ExemplePage.scss';
|
|
||||||
|
|
||||||
* {
|
|
||||||
font-size: 14px;
|
|
||||||
font-family: Arial, Helvetica, sans-serif;
|
|
||||||
}
|
|
||||||
|
|
||||||
body {
|
|
||||||
background: #000000c4;
|
|
||||||
}
|
|
||||||
|
|
||||||
.container {
|
|
||||||
margin: 0 auto;
|
|
||||||
width: 900px;
|
|
||||||
|
|
||||||
display: -webkit-box;
|
|
||||||
display: -ms-flexbox;
|
|
||||||
display: flex;
|
|
||||||
|
|
||||||
-webkit-box-align: baseline;
|
|
||||||
-ms-flex-align: baseline;
|
|
||||||
align-items: baseline;
|
|
||||||
|
|
||||||
-webkit-box-pack: justify;
|
|
||||||
-ms-flex-pack: justify;
|
|
||||||
justify-content: space-between;
|
|
||||||
|
|
||||||
-ms-flex-wrap: wrap;
|
|
||||||
flex-wrap: wrap;
|
|
||||||
}
|
|
||||||
|
|
||||||
// ----Layout----
|
// ----Layout----
|
||||||
.cg-dropdown {
|
.cg-dropdown {
|
||||||
@ -340,14 +310,25 @@ input[type='checkbox'] {
|
|||||||
}
|
}
|
||||||
|
|
||||||
.list {
|
.list {
|
||||||
display: none !important;
|
width: 98% !important;
|
||||||
}
|
}
|
||||||
|
|
||||||
.open {
|
// .open {
|
||||||
display: none !important;
|
// display: none !important;
|
||||||
}
|
// }
|
||||||
|
|
||||||
.cg-select {
|
.cg-select {
|
||||||
display: none !important;
|
width: 100% !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.example-select {
|
||||||
|
&_title {
|
||||||
|
padding: 24px 0 0px 15px;
|
||||||
|
font-size: 16px;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
pre {
|
||||||
|
overflow-x: scroll;
|
||||||
}
|
}
|
||||||
}
|
}
|
@ -1,3 +1,34 @@
|
|||||||
|
@import '/src/main.scss';
|
||||||
|
|
||||||
|
* {
|
||||||
|
font-size: 14px;
|
||||||
|
font-family: Arial, Helvetica, sans-serif;
|
||||||
|
}
|
||||||
|
|
||||||
|
.body-example {
|
||||||
|
background: #000000c4;
|
||||||
|
}
|
||||||
|
|
||||||
|
.container {
|
||||||
|
margin: 0 auto;
|
||||||
|
width: 900px;
|
||||||
|
|
||||||
|
display: -webkit-box;
|
||||||
|
display: -ms-flexbox;
|
||||||
|
display: flex;
|
||||||
|
|
||||||
|
-webkit-box-align: baseline;
|
||||||
|
-ms-flex-align: baseline;
|
||||||
|
align-items: baseline;
|
||||||
|
|
||||||
|
-webkit-box-pack: justify;
|
||||||
|
-ms-flex-pack: justify;
|
||||||
|
justify-content: space-between;
|
||||||
|
|
||||||
|
-ms-flex-wrap: wrap;
|
||||||
|
flex-wrap: wrap;
|
||||||
|
}
|
||||||
|
|
||||||
.header {
|
.header {
|
||||||
width: 100%;
|
width: 100%;
|
||||||
border-radius: 5px;
|
border-radius: 5px;
|
@ -5,9 +5,9 @@
|
|||||||
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
|
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||||
<title>Cg-Select</title>
|
<title>Cg-Select</title>
|
||||||
<link href="style/main.scss" rel="stylesheet" />
|
<link href="/src/page/ExemplePage.scss" rel="stylesheet" />
|
||||||
</head>
|
</head>
|
||||||
<body>
|
<body class="body-example">
|
||||||
<div class="container">
|
<div class="container">
|
||||||
<header class="header">
|
<header class="header">
|
||||||
<div class="header__logoBox">
|
<div class="header__logoBox">
|
||||||
@ -18,7 +18,7 @@
|
|||||||
<nav>
|
<nav>
|
||||||
<ul class="navlist">
|
<ul class="navlist">
|
||||||
<li><a href="">Home</a></li>
|
<li><a href="">Home</a></li>
|
||||||
<li><a href="../documentation/index.html">Documentation</a></li>
|
<li><a href="/documentation/index.html">Documentation</a></li>
|
||||||
</ul>
|
</ul>
|
||||||
</nav>
|
</nav>
|
||||||
</header>
|
</header>
|
||||||
@ -126,7 +126,12 @@
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
category: <span class="code__string">'USA',</span>
|
category: <span class="code__string">'USA',</span>
|
||||||
categoryItems: <span class="code__string">['Alabama', 'Texas', 'Colorado', 'Klirens', 'Los-Angeles'],</span>
|
categoryItems: <span class="code__string">[
|
||||||
|
'Alabama',
|
||||||
|
'Texas',
|
||||||
|
'Colorado',
|
||||||
|
'Klirens',
|
||||||
|
'Los-Angeles'],</span>
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
category: <span class="code__string">'France',</span>
|
category: <span class="code__string">'France',</span>
|
||||||
@ -225,7 +230,7 @@
|
|||||||
<span class="code__keyword">const</span> <span class="code__var">dropdown</span> = <span class="code__keyword">new</span> <span class="code__class">DropDown</span>({
|
<span class="code__keyword">const</span> <span class="code__var">dropdown</span> = <span class="code__keyword">new</span> <span class="code__class">DropDown</span>({
|
||||||
selector: <span class="code__string">'.cg-dropdown_checkboxDisable',</span>
|
selector: <span class="code__string">'.cg-dropdown_checkboxDisable',</span>
|
||||||
placeholder: <span class="code__string">'Выберите авто',</span>
|
placeholder: <span class="code__string">'Выберите авто',</span>
|
||||||
lable: <span class="code__string">'EXAMPLE',</span>
|
searchMode: <span class="code__keyword">true,</span>
|
||||||
items: [
|
items: [
|
||||||
<span class="code__string">'BMW',</span>
|
<span class="code__string">'BMW',</span>
|
||||||
{
|
{
|
||||||
@ -254,5 +259,5 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</body>
|
</body>
|
||||||
<script type="module" src="/src/index.js"></script>
|
<script type="module" src="index.js"></script>
|
||||||
</html>
|
</html>
|
@ -1,5 +1,5 @@
|
|||||||
import { DropDown } from './cg-dropdown';
|
import { DropDown } from '../cg-select';
|
||||||
import './exemple-page';
|
import './example';
|
||||||
|
|
||||||
// ------------------------------Обычный селект--------------------
|
// ------------------------------Обычный селект--------------------
|
||||||
const dropdown = new DropDown({
|
const dropdown = new DropDown({
|
@ -18,19 +18,19 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@media (max-width: 576px) {
|
// @media (max-width: 576px) {
|
||||||
.nativSelect {
|
// .nativSelect {
|
||||||
display: block;
|
// display: block;
|
||||||
min-width: 235px;
|
// min-width: 235px;
|
||||||
height: 50px;
|
// height: 50px;
|
||||||
|
|
||||||
border: none;
|
// border: none;
|
||||||
border-radius: 10px;
|
// border-radius: 10px;
|
||||||
}
|
// }
|
||||||
|
|
||||||
select[multiple='multiple'] {
|
// select[multiple='multiple'] {
|
||||||
color: black;
|
// color: black;
|
||||||
background-color: white;
|
// background-color: white;
|
||||||
border-radius: 0;
|
// border-radius: 0;
|
||||||
}
|
// }
|
||||||
}
|
// }
|
||||||
|
Loading…
Reference in New Issue
Block a user