Update in main brench

This commit is contained in:
MaxOvs 2022-12-22 15:57:06 +03:00
commit d8993da744
11 changed files with 117 additions and 79 deletions

14
CHANGELOG.md Normal file
View 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 приложение.

View File

@ -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!

View File

@ -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>
Этот компонент предлагает более гибкую настройку и использование селекта. Так же Этот компонент предлагает более гибкую настройку и использование селекта. Так же
реализованны методы взаимодействия с селектом. реализованны методы взаимодействия с селектом.

View File

@ -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"

View File

@ -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);
} }

View File

@ -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;
} }
} }

View File

@ -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;

View File

@ -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>

View File

@ -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({

View File

@ -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;
} // }
} // }