3лаба
BIN
laba3/Color Hunt Palette 252b484450695b9a8bf7e987.png
Normal file
After Width: | Height: | Size: 479 B |
BIN
laba3/Color Hunt Palette 57375dff3fa4ff9b82ffc8c8.png
Normal file
After Width: | Height: | Size: 479 B |
BIN
laba3/Icon.png
Normal file
After Width: | Height: | Size: 5.1 KiB |
BIN
laba3/checkBox.png
Normal file
After Width: | Height: | Size: 184 B |
BIN
laba3/createtest.jpg
Normal file
After Width: | Height: | Size: 113 KiB |
BIN
laba3/createtest.psd
Normal file
BIN
laba3/icon.psd
Normal file
BIN
laba3/logIn.jpg
Normal file
After Width: | Height: | Size: 108 KiB |
BIN
laba3/logIn.psd
Normal file
BIN
laba3/mainPage.jpg
Normal file
After Width: | Height: | Size: 500 KiB |
BIN
laba3/mainPage.psd
Normal file
BIN
laba3/profile.jpg
Normal file
After Width: | Height: | Size: 75 KiB |
BIN
laba3/profile.psd
Normal file
BIN
laba3/signIn.jpg
Normal file
After Width: | Height: | Size: 144 KiB |
BIN
laba3/signIn.psd
Normal file
20
laba3/site/.eslintrc.json
Normal file
@ -0,0 +1,20 @@
|
||||
{
|
||||
"env": {
|
||||
"browser": true,
|
||||
"es2021": true
|
||||
},
|
||||
"extends": "airbnb-base",
|
||||
"parserOptions": {
|
||||
"ecmaVersion": 12,
|
||||
"sourceType": "module"
|
||||
},
|
||||
"rules": {
|
||||
"quotes": "off",
|
||||
"indent": "off",
|
||||
"no-console": "off",
|
||||
"no-use-before-define": "off",
|
||||
"no-alert": "off",
|
||||
"no-restricted-globals": "off",
|
||||
"quote-props": "off"
|
||||
}
|
||||
}
|
3
laba3/site/.vite/deps_temp_55714b4d/package.json
Normal file
@ -0,0 +1,3 @@
|
||||
{
|
||||
"type": "module"
|
||||
}
|
BIN
laba3/site/Icon.png
Normal file
After Width: | Height: | Size: 5.1 KiB |
BIN
laba3/site/checkBox.png
Normal file
After Width: | Height: | Size: 184 B |
95
laba3/site/createTest.html
Normal file
@ -0,0 +1,95 @@
|
||||
<html lang="ru">
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<title>Нереальные тесты</title>
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||
<script type="module" src="./node_modules/bootstrap/dist/js/bootstrap.min.js"></script>
|
||||
<link href="./node_modules/bootstrap/dist/css/bootstrap.min.css" rel="stylesheet"/>
|
||||
<link href="./node_modules/@fortawesome/fontawesome-free/css/all.min.css" rel="stylesheet"/>
|
||||
<link rel="stylesheet" href="./style.css">
|
||||
</head>
|
||||
<body class="d-flex flex-column">
|
||||
<header>
|
||||
<nav class="navbar navbar-expand-md navbar-dark">
|
||||
<div class="container-fluid">
|
||||
<a class="navbar-brand" href="/">
|
||||
<name>
|
||||
<img src="icon.png" class="img-fluid" alt="...">
|
||||
Нереальные тесты
|
||||
</name>
|
||||
</a>
|
||||
</div>
|
||||
</nav>
|
||||
</header>
|
||||
<main class="container-fluid p-2">
|
||||
<div class="row justify-content-center">
|
||||
<form id = "items-form" class="col-md-6 m-0">
|
||||
<div class="mb-2">
|
||||
<label class="form-label" for="testName">Название теста</label>
|
||||
<input id="name" name="testName" class="form-control" type="text" required>
|
||||
</div>
|
||||
<div class="mb-2">
|
||||
<label class="form-label" for="testDescrition">Описание</label>
|
||||
<input id="description" name="testDescrition" class="form-control" type="text" required>
|
||||
</div>
|
||||
<div class="mb-2">
|
||||
<label class="form-label" for="file">Файл картинки</label>
|
||||
<input id = "image" type="file" class="form-control" id="file">
|
||||
</div>
|
||||
<div class="mb-2 w-100" style="height: 500px;">
|
||||
<img id="image-preview" src="image.jpg" class="h-100 w-100" style="object-fit: cover;" alt="">
|
||||
</div>
|
||||
<div class="mb-2" style="background-color: #445069; display: flex;
|
||||
flex-direction: column;">
|
||||
<div class="p-2">
|
||||
<label class="form-label" for="file">Файл картинки</label>
|
||||
<input type="file" class="form-control" id="file">
|
||||
</div>
|
||||
<div class="p-2 w-100" style="height: 500px;">
|
||||
<img src="image.jpg" class="h-100 w-100" style="object-fit: cover;" alt="">
|
||||
</div>
|
||||
<div class="p-2">
|
||||
<label class="form-label" for="taskText">Текст вопроса</label>
|
||||
<input id="taskText" name="taskText" class="form-control" type="text">
|
||||
</div>
|
||||
<div class="p-2">
|
||||
Ответы на вопрос:
|
||||
<div class="form-check me-3">
|
||||
<input class="form-check-input" id="checkbox1" name="checkbox1" type="checkbox">
|
||||
<input id="checkbox1text" name="checkbox1text" class="form-control" type="text" placeholder="ответ 1">
|
||||
</div>
|
||||
<div class="form-check me-3">
|
||||
<input class="form-check-input" id="checkbox2" name="checkbox1" type="checkbox">
|
||||
<input id="checkbox2text" name="checkbox2text" class="form-control" type="text" placeholder="ответ 2">
|
||||
</div>
|
||||
<div class="form-check me-3">
|
||||
<input class="form-check-input" id="checkbox3" name="checkbox1" type="checkbox">
|
||||
<input id="checkbox3text" name="checkbox3text" class="form-control" type="text" placeholder="ответ 3">
|
||||
</div>
|
||||
<div class="form-check me-3">
|
||||
<input class="form-check-input" id="checkbox4" name="checkbox1" type="checkbox">
|
||||
<input id="checkbox4text" name="checkbox4text" class="form-control" type="text" placeholder="ответ 4">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div id = "btAddTask" class="btn btn-primary startButton" style="background-color: #445069;">Добавить вопрос</div>
|
||||
<div class="text-center m-3">
|
||||
<button class="btn btn-primary w-50 startButton" type="submit">Готово</button>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
</main>
|
||||
<footer class="footer d-flex flex-shrink-0 justify-content-center align-items-center">
|
||||
Автор, 2022
|
||||
</footer>
|
||||
<script type="module">
|
||||
import validation from "./js/validation";
|
||||
import { linesPageForm } from "./js/lines"
|
||||
|
||||
document.addEventListener('DOMContentLoaded', () => {
|
||||
validation();
|
||||
linesPageForm();
|
||||
});
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
22
laba3/site/data.json
Normal file
BIN
laba3/site/dist/assets/fa-brands-400-003f1154.ttf
vendored
Normal file
BIN
laba3/site/dist/assets/fa-brands-400-faae6fc0.woff2
vendored
Normal file
BIN
laba3/site/dist/assets/fa-regular-400-7d81a1a7.ttf
vendored
Normal file
BIN
laba3/site/dist/assets/fa-regular-400-9169d8be.woff2
vendored
Normal file
BIN
laba3/site/dist/assets/fa-solid-900-886c8611.woff2
vendored
Normal file
BIN
laba3/site/dist/assets/fa-solid-900-cea79b34.ttf
vendored
Normal file
BIN
laba3/site/dist/assets/fa-v4compatibility-335fd7d9.woff2
vendored
Normal file
BIN
laba3/site/dist/assets/fa-v4compatibility-455e8e72.ttf
vendored
Normal file
BIN
laba3/site/dist/assets/icon-994c7fa6.png
vendored
Normal file
After Width: | Height: | Size: 5.1 KiB |
BIN
laba3/site/dist/assets/image-cd5bd8e6.jpg
vendored
Normal file
After Width: | Height: | Size: 115 KiB |
5
laba3/site/dist/assets/profile-e3835859.js
vendored
Normal file
9
laba3/site/dist/assets/style-1069ead9.css
vendored
Normal file
5
laba3/site/dist/assets/style-698ee9fc.js
vendored
Normal file
81
laba3/site/dist/createTest.html
vendored
Normal file
@ -0,0 +1,81 @@
|
||||
<html lang="ru">
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<title>Нереальные тесты</title>
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||
|
||||
|
||||
|
||||
|
||||
<script type="module" crossorigin src="/assets/style-698ee9fc.js"></script>
|
||||
<link rel="stylesheet" href="/assets/style-1069ead9.css">
|
||||
</head>
|
||||
<body class="d-flex flex-column">
|
||||
<header>
|
||||
<nav class="navbar navbar-expand-md navbar-dark">
|
||||
<div class="container-fluid">
|
||||
<a class="navbar-brand" href="/">
|
||||
<name>
|
||||
<img src="/assets/icon-994c7fa6.png" class="img-fluid" alt="...">
|
||||
Нереальные тесты
|
||||
</name>
|
||||
</a>
|
||||
</div>
|
||||
</nav>
|
||||
</header>
|
||||
<main class="container-fluid p-2">
|
||||
<div class="row justify-content-center">
|
||||
<form class="col-md-6 m-0" action="./page3.html" method="get">
|
||||
<div class="mb-2">
|
||||
<label class="form-label" for="testName">Название теста</label>
|
||||
<input id="testDescrition" name="testName" class="form-control" type="text" required>
|
||||
</div>
|
||||
<div class="mb-2">
|
||||
<label class="form-label" for="testDescrition">Описание</label>
|
||||
<input id="testDescrition" name="testDescrition" class="form-control" type="text" required>
|
||||
</div>
|
||||
<div class="mb-2" style="background-color: #445069; display: flex;
|
||||
flex-direction: column;">
|
||||
<div class="p-2">
|
||||
<label class="form-label" for="file">Файл картинки</label>
|
||||
<input type="file" class="form-control" id="file">
|
||||
</div>
|
||||
<div class="p-2 w-100" style="height: 500px;">
|
||||
<img src="/assets/image-cd5bd8e6.jpg" class="h-100 w-100" style="object-fit: cover;" alt="">
|
||||
</div>
|
||||
<div class="p-2">
|
||||
<label class="form-label" for="taskText">Текст вопроса</label>
|
||||
<input id="taskText" name="taskText" class="form-control" type="text" required>
|
||||
</div>
|
||||
<div class="p-2">
|
||||
Ответы на вопрос:
|
||||
<div class="form-check me-3">
|
||||
<input class="form-check-input" id="checkbox1" name="checkbox1" type="checkbox">
|
||||
<input id="checkbox1text" name="checkbox1text" class="form-control" type="text" placeholder="ответ 1">
|
||||
</div>
|
||||
<div class="form-check me-3">
|
||||
<input class="form-check-input" id="checkbox2" name="checkbox1" type="checkbox">
|
||||
<input id="checkbox2text" name="checkbox2text" class="form-control" type="text" placeholder="ответ 2">
|
||||
</div>
|
||||
<div class="form-check me-3">
|
||||
<input class="form-check-input" id="checkbox3" name="checkbox1" type="checkbox">
|
||||
<input id="checkbox3text" name="checkbox3text" class="form-control" type="text" placeholder="ответ 3">
|
||||
</div>
|
||||
<div class="form-check me-3">
|
||||
<input class="form-check-input" id="checkbox4" name="checkbox1" type="checkbox">
|
||||
<input id="checkbox4text" name="checkbox4text" class="form-control" type="text" placeholder="ответ 4">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div id = "btAddTask" class="btn btn-primary startButton" style="background-color: #445069;">Добавить вопрос</div>
|
||||
<div class="text-center m-3">
|
||||
<button class="btn btn-primary w-50 startButton" type="submit">Готово</button>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
</main>
|
||||
<footer class="footer d-flex flex-shrink-0 justify-content-center align-items-center">
|
||||
Автор, 2022
|
||||
</footer>
|
||||
</body>
|
||||
</html>
|
172
laba3/site/dist/index.html
vendored
Normal file
@ -0,0 +1,172 @@
|
||||
<html lang="ru">
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<title>Нереальные тесты</title>
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||
|
||||
|
||||
|
||||
|
||||
<script type="module" crossorigin src="/assets/style-698ee9fc.js"></script>
|
||||
<link rel="stylesheet" href="/assets/style-1069ead9.css">
|
||||
</head>
|
||||
<body class="d-flex flex-column" style="height: auto; min-height: 100%">
|
||||
<header>
|
||||
<nav class="navbar navbar-expand-md navbar-dark">
|
||||
<div class="container-fluid">
|
||||
<a class="navbar-brand" href="/">
|
||||
<name>
|
||||
<img src="/assets/icon-994c7fa6.png" class="img-fluid" alt="...">
|
||||
Нереальные тесты
|
||||
</name>
|
||||
</a>
|
||||
<button class="navbar-toggler" type="button" data-bs-toggle="collapse" data-bs-target="#navbarNav"
|
||||
aria-controls="navbarNav" aria-expanded="false" aria-label="Toggle navigation">
|
||||
<span class="navbar-toggler-icon"></span>
|
||||
</button>
|
||||
<div class="navbar-collapse collapse justify-content-end" id="navbarNav">
|
||||
<div class="navbar-nav">
|
||||
<a class="nav-link active" href="./logIn.html">Вход</a>
|
||||
<a class="nav-link" href="./signIn.html">Регистрация</a>
|
||||
<a class="nav-link" href="./profile.html">Профиль</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</nav>
|
||||
</header>
|
||||
<main>
|
||||
<div style = "margin-top: 1rem; background-color: #252b48;">
|
||||
<div id="carouselExample" style = "max-width: 30rem; " class="carousel slide w-50 mx-auto">
|
||||
<div class="carousel-inner">
|
||||
<div class="carousel-item active carouselItem1">
|
||||
<div style="position: absolute; top: 50%; transform: translateY(-50%); text-align: center; width: 100%;">
|
||||
<h2>Ваше описание</h2>
|
||||
</div>
|
||||
<div style="position: absolute; bottom: 2; transform: translateY(-50%); text-align: center; width: 100%;">
|
||||
<a href="testPage.html" class="btn btn-primary startButton" >Начать</a>
|
||||
</div>
|
||||
</div>
|
||||
<div class="carousel-item carouselItem2">
|
||||
<div style="position: absolute; top: 50%; transform: translateY(-50%); text-align: center; width: 100%;">
|
||||
<h2>Ваше описание</h2>
|
||||
</div>
|
||||
<div style="position: absolute; bottom: 2; transform: translateY(-50%); text-align: center; width: 100%;">
|
||||
<a href="testPage.html" class="btn btn-primary startButton" >Начать</a>
|
||||
</div>
|
||||
</div>
|
||||
<div class="carousel-item carouselItem3">
|
||||
<div style="position: absolute; top: 50%; transform: translateY(-50%); text-align: center; width: 100%;">
|
||||
<h2>Ваше описание</h2>
|
||||
</div>
|
||||
<div style="position: absolute; bottom: 2; transform: translateY(-50%); text-align: center; width: 100%;">
|
||||
<a href="testPage.html" class="btn btn-primary startButton" >Начать</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<button class="carousel-control-prev" type="button" data-bs-target="#carouselExample" data-bs-slide="prev">
|
||||
<span class="carousel-control-prev-icon" aria-hidden="true"></span>
|
||||
<span class="visually-hidden">Previous</span>
|
||||
</button>
|
||||
<button class="carousel-control-next" type="button" data-bs-target="#carouselExample" data-bs-slide="next">
|
||||
<span class="carousel-control-next-icon" aria-hidden="true"></span>
|
||||
<span class="visually-hidden">Next</span>
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
<div class="container mt-3 mx-auto" style="width: 70%;">
|
||||
<div class="row justify-content-center align-items-center g-2 mt-3 mb-3" style="height: 10rem;" >
|
||||
<div class="col-3 h-100">
|
||||
<img src="/assets/image-cd5bd8e6.jpg" class="w-100 h-100" style="object-fit: cover;">
|
||||
</div>
|
||||
<div class="col justify-content-between h-100" style="position: relative; width: 70%;">
|
||||
<div class="row-10 justify-content-center align-items-center g-2">
|
||||
<h3 class="w-100 mx-auto text-left">описание</h3>
|
||||
</div>
|
||||
<div class="row-2 justify-content-left align-items-left g-2" style="position: absolute; bottom: 2; left: 2; width: 100%;">
|
||||
<a href="testPage.html" class="btn btn-primary startButton" >Начать</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row justify-content-center align-items-center g-2 mt-3 mb-3" style="height: 10rem;" >
|
||||
<div class="col-3 h-100">
|
||||
<img src="/assets/image-cd5bd8e6.jpg" class="w-100 h-100" style="object-fit: cover;">
|
||||
</div>
|
||||
<div class="col justify-content-between h-100" style="position: relative; width: 70%;">
|
||||
<div class="row-10 justify-content-center align-items-center g-2">
|
||||
<h3 class="w-100 mx-auto text-left">описание</h3>
|
||||
</div>
|
||||
<div class="row-2 justify-content-left align-items-left g-2" style="position: absolute; bottom: 2; left: 2; width: 100%;">
|
||||
<a href="testPage.html" class="btn btn-primary startButton" >Начать</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row justify-content-center align-items-center g-2 mt-3 mb-3" style="height: 10rem;" >
|
||||
<div class="col-3 h-100">
|
||||
<img src="/assets/image-cd5bd8e6.jpg" class="w-100 h-100" style="object-fit: cover;">
|
||||
</div>
|
||||
<div class="col justify-content-between h-100" style="position: relative; width: 70%;">
|
||||
<div class="row-10 justify-content-center align-items-center g-2">
|
||||
<h3 class="w-100 mx-auto text-left">описание</h3>
|
||||
</div>
|
||||
<div class="row-2 justify-content-left align-items-left g-2" style="position: absolute; bottom: 2; left: 2; width: 100%;">
|
||||
<a href="testPage.html" class="btn btn-primary startButton" >Начать</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row justify-content-center align-items-center g-2 mt-3 mb-3" style="height: 10rem;" >
|
||||
<div class="col-3 h-100">
|
||||
<img src="/assets/image-cd5bd8e6.jpg" class="w-100 h-100" style="object-fit: cover;">
|
||||
</div>
|
||||
<div class="col justify-content-between h-100" style="position: relative; width: 70%;">
|
||||
<div class="row-10 justify-content-center align-items-center g-2">
|
||||
<h3 class="w-100 mx-auto text-left">описание</h3>
|
||||
</div>
|
||||
<div class="row-2 justify-content-left align-items-left g-2" style="position: absolute; bottom: 2; left: 2; width: 100%;">
|
||||
<a href="testPage.html" class="btn btn-primary startButton" >Начать</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row justify-content-center align-items-center g-2 mt-3 mb-3" style="height: 10rem;" >
|
||||
<div class="col-3 h-100">
|
||||
<img src="/assets/image-cd5bd8e6.jpg" class="w-100 h-100" style="object-fit: cover;">
|
||||
</div>
|
||||
<div class="col justify-content-between h-100" style="position: relative; width: 70%;">
|
||||
<div class="row-10 justify-content-center align-items-center g-2">
|
||||
<h3 class="w-100 mx-auto text-left">описание</h3>
|
||||
</div>
|
||||
<div class="row-2 justify-content-left align-items-left g-2" style="position: absolute; bottom: 2; left: 2; width: 100%;">
|
||||
<a href="testPage.html" class="btn btn-primary startButton" >Начать</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row justify-content-center align-items-center g-2 mt-3 mb-3" style="height: 10rem;" >
|
||||
<div class="col-3 h-100">
|
||||
<img src="/assets/image-cd5bd8e6.jpg" class="w-100 h-100" style="object-fit: cover;">
|
||||
</div>
|
||||
<div class="col justify-content-between h-100" style="position: relative; width: 70%;">
|
||||
<div class="row-10 justify-content-center align-items-center g-2">
|
||||
<h3 class="w-100 mx-auto text-left">описание</h3>
|
||||
</div>
|
||||
<div class="row-2 justify-content-left align-items-left g-2" style="position: absolute; bottom: 2; left: 2; width: 100%;">
|
||||
<a href="testPage.html" class="btn btn-primary startButton" >Начать</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row justify-content-center align-items-center g-2 mt-3 mb-3" style="height: 10rem;" >
|
||||
<div class="col-3 h-100">
|
||||
<img src="/assets/image-cd5bd8e6.jpg" class="w-100 h-100" style="object-fit: cover;">
|
||||
</div>
|
||||
<div class="col justify-content-between h-100" style="position: relative; width: 70%;">
|
||||
<div class="row-10 justify-content-center align-items-center g-2">
|
||||
<h3 class="w-100 mx-auto text-left">описание</h3>
|
||||
</div>
|
||||
<div class="row-2 justify-content-left align-items-left g-2" style="position: absolute; bottom: 2; left: 2; width: 100%;">
|
||||
<a href="testPage.html" class="btn btn-primary startButton" >Начать</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</main>
|
||||
<footer class="footer d-flex flex-shrink-0 justify-content-center align-items-center">
|
||||
Автор, 2022
|
||||
</footer>
|
||||
</html>
|
55
laba3/site/dist/login.html
vendored
Normal file
@ -0,0 +1,55 @@
|
||||
<html lang="ru">
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<title>Нереальные тесты</title>
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||
|
||||
|
||||
|
||||
|
||||
<script type="module" crossorigin src="/assets/style-698ee9fc.js"></script>
|
||||
<link rel="stylesheet" href="/assets/style-1069ead9.css">
|
||||
</head>
|
||||
<body class="d-flex flex-column">
|
||||
<header>
|
||||
<nav class="navbar navbar-expand-md navbar-dark">
|
||||
<div class="container-fluid">
|
||||
<a class="navbar-brand" href="/">
|
||||
<name>
|
||||
<img src="/assets/icon-994c7fa6.png" class="img-fluid" alt="...">
|
||||
Нереальные тесты
|
||||
</name>
|
||||
</a>
|
||||
<button class="navbar-toggler" type="button" data-bs-toggle="collapse" data-bs-target="#navbarNav"
|
||||
aria-controls="navbarNav" aria-expanded="false" aria-label="Toggle navigation">
|
||||
<span class="navbar-toggler-icon"></span>
|
||||
</button>
|
||||
<div class="navbar-collapse collapse justify-content-end" id="navbarNav">
|
||||
<div class="navbar-nav">
|
||||
<a class="nav-link active" href="./logIn.html">Вход</a>
|
||||
<a class="nav-link" href="./signIn.html">Регистрация</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</nav>
|
||||
</header>
|
||||
<main class="container-fluid p-2">
|
||||
<form class="col-md-6 mx-auto mt-3" action="./profile.html" method="get">
|
||||
<div class="mb-2">
|
||||
<label class="form-label" for="email">E-mail</label>
|
||||
<input id="email" name="email" class="form-control" type="email" placeholder="name@example.ru" required>
|
||||
</div>
|
||||
<div class="mb-2">
|
||||
<label class="form-label" for="password">Пароль</label>
|
||||
<input id="password" name="password" class="form-control" type="password" required>
|
||||
</div>
|
||||
<div class="text-center">
|
||||
<button class="btn btn-primary w-50 startButton" type="submit">Войти</button>
|
||||
</div>
|
||||
</form>
|
||||
</main>
|
||||
<footer class="footer d-flex flex-shrink-0 justify-content-center align-items-center">
|
||||
Автор, 2022
|
||||
</footer>
|
||||
</body>
|
||||
</html>
|
61
laba3/site/dist/profile.html
vendored
Normal file
@ -0,0 +1,61 @@
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<title>Нереальные тесты</title>
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||
|
||||
|
||||
|
||||
|
||||
<script type="module" crossorigin src="/assets/profile-e3835859.js"></script>
|
||||
<link rel="modulepreload" crossorigin href="/assets/style-698ee9fc.js">
|
||||
<link rel="stylesheet" href="/assets/style-1069ead9.css">
|
||||
</head>
|
||||
<body class="d-flex flex-column">
|
||||
<header>
|
||||
<nav class="navbar navbar-expand-md navbar-dark">
|
||||
<div class="container-fluid">
|
||||
<a class="navbar-brand" href="/">
|
||||
<name>
|
||||
<img src="/assets/icon-994c7fa6.png" class="img-fluid" alt="...">
|
||||
Нереальные тесты
|
||||
</name>
|
||||
</a>
|
||||
</div>
|
||||
</nav>
|
||||
</header>
|
||||
<main class="container-fluid">
|
||||
<div class="row" style="height: 100%;">
|
||||
<div class="h-100" style="width: auto;">
|
||||
<h1>Порофиль</h1>
|
||||
</div>
|
||||
<div class="h-100 p-0" style="background-color: black; width: 5px"></div>
|
||||
<div class="col">
|
||||
<h3>Созданные тесты</h3>
|
||||
<div id = "items table">
|
||||
|
||||
</div>
|
||||
<div class="row justify-content-center align-items-center g-2 mt-1 mb-1">
|
||||
<div class="col-2">Имя теста</div>
|
||||
<div class="col">Описание</div>
|
||||
<a href="testPage.html" class="col-2 btn btn-primary startButton" >открыть тест</a>
|
||||
</div>
|
||||
<div class="row justify-content-center align-items-center g-2 mt-1 mb-1">
|
||||
<div class="col-2">Имя теста</div>
|
||||
<div class="col">Описание</div>
|
||||
<a href="testPage.html" class="col-2 btn btn-primary startButton" >открыть тест</a>
|
||||
</div>
|
||||
<div class="row justify-content-center align-items-center g-2 mt-1 mb-1">
|
||||
<div class="col-2">Имя теста</div>
|
||||
<div class="col">Описание</div>
|
||||
<a href="testPage.html" class="col-2 btn btn-primary startButton" >открыть тест</a>
|
||||
</div>
|
||||
<a href="createTest.html" class="btn btn-primary startButton" >Создать тест</a>
|
||||
</div>
|
||||
</div>
|
||||
</main>
|
||||
<footer class="footer d-flex flex-shrink-0 justify-content-center align-items-center">
|
||||
Автор, 2022
|
||||
</footer>
|
||||
|
||||
</body>
|
||||
</html>
|
63
laba3/site/dist/signIn.html
vendored
Normal file
@ -0,0 +1,63 @@
|
||||
<html lang="ru">
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<title>Нереальные тесты</title>
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||
|
||||
|
||||
|
||||
|
||||
<script type="module" crossorigin src="/assets/style-698ee9fc.js"></script>
|
||||
<link rel="stylesheet" href="/assets/style-1069ead9.css">
|
||||
</head>
|
||||
<body class="d-flex flex-column">
|
||||
<header>
|
||||
<nav class="navbar navbar-expand-md navbar-dark">
|
||||
<div class="container-fluid">
|
||||
<a class="navbar-brand" href="/">
|
||||
<name>
|
||||
<img src="/assets/icon-994c7fa6.png" class="img-fluid" alt="...">
|
||||
Нереальные тесты
|
||||
</name>
|
||||
</a>
|
||||
<button class="navbar-toggler" type="button" data-bs-toggle="collapse" data-bs-target="#navbarNav"
|
||||
aria-controls="navbarNav" aria-expanded="false" aria-label="Toggle navigation">
|
||||
<span class="navbar-toggler-icon"></span>
|
||||
</button>
|
||||
<div class="navbar-collapse collapse justify-content-end" id="navbarNav">
|
||||
<div class="navbar-nav">
|
||||
<a class="nav-link active" href="./logIn.html">Вход</a>
|
||||
<a class="nav-link" href="./signIn.html">Регистрация</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</nav>
|
||||
</header>
|
||||
<main class="container-fluid p-2">
|
||||
<form class="col-md-6 mx-auto mt-3" action="./profile.html" method="get">
|
||||
<div class="mb-2">
|
||||
<label class="form-label" for="firstname">Логин</label>
|
||||
<input id="firstname" name="firstname" class="form-control" type="text" placeholder="login" required>
|
||||
</div>
|
||||
<div class="mb-2">
|
||||
<label class="form-label" for="email">E-mail</label>
|
||||
<input id="email" name="email" class="form-control" type="email" placeholder="name@example.ru" required>
|
||||
</div>
|
||||
<div class="mb-2">
|
||||
<label class="form-label" for="password">Пароль</label>
|
||||
<input id="password" name="password" class="form-control" type="password" required>
|
||||
</div>
|
||||
<div class="mb-2">
|
||||
<label class="form-label" for="passwordAgain">Повторите ароль</label>
|
||||
<input id="password" name="passwordAgain" class="form-control" type="password" required>
|
||||
</div>
|
||||
<div class="text-center">
|
||||
<button class="btn btn-primary w-50 startButton" type="submit">Зарегестрироваться</button>
|
||||
</div>
|
||||
</form>
|
||||
</main>
|
||||
<footer class="footer d-flex flex-shrink-0 justify-content-center align-items-center">
|
||||
Автор, 2022
|
||||
</footer>
|
||||
</body>
|
||||
</html>
|
61
laba3/site/dist/testInProcess.html
vendored
Normal file
@ -0,0 +1,61 @@
|
||||
<html lang="ru">
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<title>Нереальные тесты</title>
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||
|
||||
|
||||
|
||||
|
||||
<script type="module" crossorigin src="/assets/style-698ee9fc.js"></script>
|
||||
<link rel="stylesheet" href="/assets/style-1069ead9.css">
|
||||
</head>
|
||||
<body class="d-flex flex-column">
|
||||
<header>
|
||||
<nav class="navbar navbar-expand-md navbar-dark">
|
||||
<div class="container-fluid">
|
||||
<a class="navbar-brand" href="/">
|
||||
<name>
|
||||
<img src="/assets/icon-994c7fa6.png" class="img-fluid" alt="...">
|
||||
Нереальные тесты
|
||||
</name>
|
||||
</a>
|
||||
</div>
|
||||
</nav>
|
||||
</header>
|
||||
<main class="container-fluid">
|
||||
<div class="row w-100 d-flex justify-content-center m-3">
|
||||
<img src="/assets/image-cd5bd8e6.jpg" style="object-fit: cover; width: 50%; height: 500px;">
|
||||
</div>
|
||||
|
||||
<h3 class="row w-100 d-flex justify-content-center m-1" >Текст вопроса</h3>
|
||||
|
||||
<div class="row w-100 justify-content-center m-3">
|
||||
<form class="col-6 m-0" action="./testInProcess.html" method="get">
|
||||
<div class="form-check me-md-3">
|
||||
<input class="form-check-input" id="checkbox1" name="checkbox1" type="checkbox">
|
||||
<label class="form-check-label" for="checkbox1">ответ 1</label>
|
||||
</div>
|
||||
<div class="form-check me-md-3">
|
||||
<input class="form-check-input" id="checkbox2" name="checkbox2" type="checkbox">
|
||||
<label class="form-check-label" for="checkbox2">ответ 2</label>
|
||||
</div>
|
||||
<div class="form-check me-md-3">
|
||||
<input class="form-check-input" id="checkbox3" name="checkbox3" type="checkbox">
|
||||
<label class="form-check-label" for="checkbox3">ответ 3</label>
|
||||
</div>
|
||||
<div class="form-check me-md-3">
|
||||
<input class="form-check-input" id="checkbox4" name="checkbox4" type="checkbox">
|
||||
<label class="form-check-label" for="checkbox4">ответ 4</label>
|
||||
</div>
|
||||
<div class="text-center">
|
||||
<button class="btn btn-primary w-2 startButton" type="submit">Отправить</button>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
</main>
|
||||
<footer class="footer d-flex flex-shrink-0 justify-content-center align-items-center">
|
||||
Автор, 2022
|
||||
</footer>
|
||||
</body>
|
||||
</html>
|
56
laba3/site/dist/testPage.html
vendored
Normal file
@ -0,0 +1,56 @@
|
||||
<html lang="ru">
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<title>Нереальные тесты</title>
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||
|
||||
|
||||
|
||||
|
||||
<script type="module" crossorigin src="/assets/style-698ee9fc.js"></script>
|
||||
<link rel="stylesheet" href="/assets/style-1069ead9.css">
|
||||
</head>
|
||||
<body class="d-flex flex-column">
|
||||
<header>
|
||||
<nav class="navbar navbar-expand-md navbar-dark">
|
||||
<div class="container-fluid">
|
||||
<a class="navbar-brand" href="/">
|
||||
<name>
|
||||
<img src="/assets/icon-994c7fa6.png" class="img-fluid" alt="...">
|
||||
Нереальные тесты
|
||||
</name>
|
||||
</a>
|
||||
<button class="navbar-toggler" type="button" data-bs-toggle="collapse" data-bs-target="#navbarNav"
|
||||
aria-controls="navbarNav" aria-expanded="false" aria-label="Toggle navigation">
|
||||
<span class="navbar-toggler-icon"></span>
|
||||
</button>
|
||||
<div class="navbar-collapse collapse justify-content-end" id="navbarNav">
|
||||
<div class="navbar-nav">
|
||||
<a class="nav-link active" href="./logIn.html">Вход</a>
|
||||
<a class="nav-link" href="./signIn.html">Регистрация</a>
|
||||
<a class="nav-link" href="./profile.html">Профиль</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</nav>
|
||||
</header>
|
||||
<main class="container-fluid">
|
||||
<div class="row justify-content-center align-items-center g-2 h-100 m-3 w-100">
|
||||
<div class="h-100" style="width: 40%;">
|
||||
<div class="w-100 d-flex justify-content-center" style="height: 70%;">
|
||||
<img src="/assets/image-cd5bd8e6.jpg" class="row w-100" style="object-fit: contain;">
|
||||
</div>
|
||||
<div class="w-100 d-flex justify-content-center">
|
||||
<a href="testInProcess.html" class="row btn btn-primary startButton m-3 w-50" >Начать тест</a>
|
||||
</div>
|
||||
</div>
|
||||
<div class="h-100 d-flex align-items-center m-3" style="width: 40%;">
|
||||
<h3>Описание</h3>
|
||||
</div>
|
||||
</div>
|
||||
</main>
|
||||
<footer class="footer d-flex flex-shrink-0 justify-content-center align-items-center">
|
||||
Автор, 2022
|
||||
</footer>
|
||||
</body>
|
||||
</html>
|
BIN
laba3/site/image.jpg
Normal file
After Width: | Height: | Size: 115 KiB |
170
laba3/site/index.html
Normal file
@ -0,0 +1,170 @@
|
||||
<html lang="ru">
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<title>Нереальные тесты</title>
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||
<script type="module" src="./node_modules/bootstrap/dist/js/bootstrap.min.js"></script>
|
||||
<link href="./node_modules/bootstrap/dist/css/bootstrap.min.css" rel="stylesheet"/>
|
||||
<link href="./node_modules/@fortawesome/fontawesome-free/css/all.min.css" rel="stylesheet"/>
|
||||
<link rel="stylesheet" href="./style.css">
|
||||
</head>
|
||||
<body class="d-flex flex-column" style="height: auto; min-height: 100%">
|
||||
<header>
|
||||
<nav class="navbar navbar-expand-md navbar-dark">
|
||||
<div class="container-fluid">
|
||||
<a class="navbar-brand" href="/">
|
||||
<name>
|
||||
<img src="icon.png" class="img-fluid" alt="...">
|
||||
Нереальные тесты
|
||||
</name>
|
||||
</a>
|
||||
<button class="navbar-toggler" type="button" data-bs-toggle="collapse" data-bs-target="#navbarNav"
|
||||
aria-controls="navbarNav" aria-expanded="false" aria-label="Toggle navigation">
|
||||
<span class="navbar-toggler-icon"></span>
|
||||
</button>
|
||||
<div class="navbar-collapse collapse justify-content-end" id="navbarNav">
|
||||
<div class="navbar-nav">
|
||||
<a class="nav-link active" href="./logIn.html">Вход</a>
|
||||
<a class="nav-link" href="./signIn.html">Регистрация</a>
|
||||
<a class="nav-link" href="./profile.html">Профиль</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</nav>
|
||||
</header>
|
||||
<main>
|
||||
<div style = "margin-top: 1rem; background-color: #252b48;">
|
||||
<div id="carouselExample" style = "max-width: 30rem; " class="carousel slide w-50 mx-auto">
|
||||
<div class="carousel-inner">
|
||||
<div class="carousel-item active carouselItem1">
|
||||
<div style="position: absolute; top: 50%; transform: translateY(-50%); text-align: center; width: 100%;">
|
||||
<h2>Ваше описание</h2>
|
||||
</div>
|
||||
<div style="position: absolute; bottom: 2; transform: translateY(-50%); text-align: center; width: 100%;">
|
||||
<a href="testPage.html" class="btn btn-primary startButton" >Начать</a>
|
||||
</div>
|
||||
</div>
|
||||
<div class="carousel-item carouselItem2">
|
||||
<div style="position: absolute; top: 50%; transform: translateY(-50%); text-align: center; width: 100%;">
|
||||
<h2>Ваше описание</h2>
|
||||
</div>
|
||||
<div style="position: absolute; bottom: 2; transform: translateY(-50%); text-align: center; width: 100%;">
|
||||
<a href="testPage.html" class="btn btn-primary startButton" >Начать</a>
|
||||
</div>
|
||||
</div>
|
||||
<div class="carousel-item carouselItem3">
|
||||
<div style="position: absolute; top: 50%; transform: translateY(-50%); text-align: center; width: 100%;">
|
||||
<h2>Ваше описание</h2>
|
||||
</div>
|
||||
<div style="position: absolute; bottom: 2; transform: translateY(-50%); text-align: center; width: 100%;">
|
||||
<a href="testPage.html" class="btn btn-primary startButton" >Начать</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<button class="carousel-control-prev" type="button" data-bs-target="#carouselExample" data-bs-slide="prev">
|
||||
<span class="carousel-control-prev-icon" aria-hidden="true"></span>
|
||||
<span class="visually-hidden">Previous</span>
|
||||
</button>
|
||||
<button class="carousel-control-next" type="button" data-bs-target="#carouselExample" data-bs-slide="next">
|
||||
<span class="carousel-control-next-icon" aria-hidden="true"></span>
|
||||
<span class="visually-hidden">Next</span>
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
<div class="container mt-3 mx-auto" style="width: 70%;">
|
||||
<div class="row justify-content-center align-items-center g-2 mt-3 mb-3" style="height: 10rem;" >
|
||||
<div class="col-3 h-100">
|
||||
<img src="image.jpg" class="w-100 h-100" style="object-fit: cover;">
|
||||
</div>
|
||||
<div class="col justify-content-between h-100" style="position: relative; width: 70%;">
|
||||
<div class="row-10 justify-content-center align-items-center g-2">
|
||||
<h3 class="w-100 mx-auto text-left">описание</h3>
|
||||
</div>
|
||||
<div class="row-2 justify-content-left align-items-left g-2" style="position: absolute; bottom: 2; left: 2; width: 100%;">
|
||||
<a href="testPage.html" class="btn btn-primary startButton" >Начать</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row justify-content-center align-items-center g-2 mt-3 mb-3" style="height: 10rem;" >
|
||||
<div class="col-3 h-100">
|
||||
<img src="image.jpg" class="w-100 h-100" style="object-fit: cover;">
|
||||
</div>
|
||||
<div class="col justify-content-between h-100" style="position: relative; width: 70%;">
|
||||
<div class="row-10 justify-content-center align-items-center g-2">
|
||||
<h3 class="w-100 mx-auto text-left">описание</h3>
|
||||
</div>
|
||||
<div class="row-2 justify-content-left align-items-left g-2" style="position: absolute; bottom: 2; left: 2; width: 100%;">
|
||||
<a href="testPage.html" class="btn btn-primary startButton" >Начать</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row justify-content-center align-items-center g-2 mt-3 mb-3" style="height: 10rem;" >
|
||||
<div class="col-3 h-100">
|
||||
<img src="image.jpg" class="w-100 h-100" style="object-fit: cover;">
|
||||
</div>
|
||||
<div class="col justify-content-between h-100" style="position: relative; width: 70%;">
|
||||
<div class="row-10 justify-content-center align-items-center g-2">
|
||||
<h3 class="w-100 mx-auto text-left">описание</h3>
|
||||
</div>
|
||||
<div class="row-2 justify-content-left align-items-left g-2" style="position: absolute; bottom: 2; left: 2; width: 100%;">
|
||||
<a href="testPage.html" class="btn btn-primary startButton" >Начать</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row justify-content-center align-items-center g-2 mt-3 mb-3" style="height: 10rem;" >
|
||||
<div class="col-3 h-100">
|
||||
<img src="image.jpg" class="w-100 h-100" style="object-fit: cover;">
|
||||
</div>
|
||||
<div class="col justify-content-between h-100" style="position: relative; width: 70%;">
|
||||
<div class="row-10 justify-content-center align-items-center g-2">
|
||||
<h3 class="w-100 mx-auto text-left">описание</h3>
|
||||
</div>
|
||||
<div class="row-2 justify-content-left align-items-left g-2" style="position: absolute; bottom: 2; left: 2; width: 100%;">
|
||||
<a href="testPage.html" class="btn btn-primary startButton" >Начать</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row justify-content-center align-items-center g-2 mt-3 mb-3" style="height: 10rem;" >
|
||||
<div class="col-3 h-100">
|
||||
<img src="image.jpg" class="w-100 h-100" style="object-fit: cover;">
|
||||
</div>
|
||||
<div class="col justify-content-between h-100" style="position: relative; width: 70%;">
|
||||
<div class="row-10 justify-content-center align-items-center g-2">
|
||||
<h3 class="w-100 mx-auto text-left">описание</h3>
|
||||
</div>
|
||||
<div class="row-2 justify-content-left align-items-left g-2" style="position: absolute; bottom: 2; left: 2; width: 100%;">
|
||||
<a href="testPage.html" class="btn btn-primary startButton" >Начать</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row justify-content-center align-items-center g-2 mt-3 mb-3" style="height: 10rem;" >
|
||||
<div class="col-3 h-100">
|
||||
<img src="image.jpg" class="w-100 h-100" style="object-fit: cover;">
|
||||
</div>
|
||||
<div class="col justify-content-between h-100" style="position: relative; width: 70%;">
|
||||
<div class="row-10 justify-content-center align-items-center g-2">
|
||||
<h3 class="w-100 mx-auto text-left">описание</h3>
|
||||
</div>
|
||||
<div class="row-2 justify-content-left align-items-left g-2" style="position: absolute; bottom: 2; left: 2; width: 100%;">
|
||||
<a href="testPage.html" class="btn btn-primary startButton" >Начать</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row justify-content-center align-items-center g-2 mt-3 mb-3" style="height: 10rem;" >
|
||||
<div class="col-3 h-100">
|
||||
<img src="image.jpg" class="w-100 h-100" style="object-fit: cover;">
|
||||
</div>
|
||||
<div class="col justify-content-between h-100" style="position: relative; width: 70%;">
|
||||
<div class="row-10 justify-content-center align-items-center g-2">
|
||||
<h3 class="w-100 mx-auto text-left">описание</h3>
|
||||
</div>
|
||||
<div class="row-2 justify-content-left align-items-left g-2" style="position: absolute; bottom: 2; left: 2; width: 100%;">
|
||||
<a href="testPage.html" class="btn btn-primary startButton" >Начать</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</main>
|
||||
<footer class="footer d-flex flex-shrink-0 justify-content-center align-items-center">
|
||||
Автор, 2022
|
||||
</footer>
|
||||
</html>
|
100
laba3/site/js/lines-rest-api.js
Normal file
@ -0,0 +1,100 @@
|
||||
// модуль для работы с REST API сервера
|
||||
|
||||
// адрес сервера
|
||||
const serverUrl = "http://localhost:8081";
|
||||
|
||||
// функция возвращает объект нужной структуры для отправки на сервер
|
||||
/*
|
||||
function createLineObject(item, price, count, image) {
|
||||
return {
|
||||
itemsId: item,
|
||||
price: parseFloat(price).toFixed(2),
|
||||
count,
|
||||
sum: parseFloat(price * count).toFixed(2),
|
||||
image,
|
||||
};
|
||||
}
|
||||
*/
|
||||
function createLineObject(name, description, image) {
|
||||
return {
|
||||
name,
|
||||
description,
|
||||
image,
|
||||
};
|
||||
}
|
||||
|
||||
// обращение к серверу для получения всех записей (get)
|
||||
export async function getAllLines() {
|
||||
const response = await fetch(`${serverUrl}/lines?_expand=items`);
|
||||
if (!response.ok) {
|
||||
throw response.statusText;
|
||||
}
|
||||
return response.json();
|
||||
}
|
||||
|
||||
// обращение к серверу для получения записи по первичному ключу (id) (get)
|
||||
// id передается в качестве части пути URL get-запроса
|
||||
export async function getLine(id) {
|
||||
const response = await fetch(`${serverUrl}/lines/${id}?_expand=items`);
|
||||
if (!response.ok) {
|
||||
throw response.statusText;
|
||||
}
|
||||
return response.json();
|
||||
}
|
||||
|
||||
// обращение к серверу для создания записи (post)
|
||||
// объект отправляется в теле запроса (body)
|
||||
export async function createLine(name, description, image) {
|
||||
const itemObject = createLineObject(name, description, image);
|
||||
|
||||
const options = {
|
||||
method: "POST",
|
||||
body: JSON.stringify(itemObject),
|
||||
headers: {
|
||||
"Accept": "application/json",
|
||||
"Content-Type": "application/json",
|
||||
},
|
||||
};
|
||||
|
||||
const response = await fetch(`${serverUrl}/lines`, options);
|
||||
if (!response.ok) {
|
||||
throw response.statusText;
|
||||
}
|
||||
return response.json();
|
||||
}
|
||||
|
||||
// обращение к серверу для обновления записи по id (put)
|
||||
// объект отправляется в теле запроса (body)
|
||||
// id передается в качестве части пути URL get-запроса
|
||||
export async function updateLine(id, name, description, image) {
|
||||
const itemObject = createLineObject(name, description, image);
|
||||
|
||||
const options = {
|
||||
method: "PUT",
|
||||
body: JSON.stringify(itemObject),
|
||||
headers: {
|
||||
"Accept": "application/json",
|
||||
"Content-Type": "application/json",
|
||||
},
|
||||
};
|
||||
|
||||
const response = await fetch(`${serverUrl}/lines/${id}`, options);
|
||||
if (!response.ok) {
|
||||
throw response.statusText;
|
||||
}
|
||||
return response.json();
|
||||
}
|
||||
|
||||
// обращение к серверу для удаления записи по id (delete)
|
||||
// id передается в качестве части пути URL get-запроса
|
||||
export async function deleteLine(id) {
|
||||
const options = {
|
||||
method: "DELETE",
|
||||
};
|
||||
|
||||
const response = await fetch(`${serverUrl}/lines/${id}`, options);
|
||||
if (!response.ok) {
|
||||
throw response.statusText;
|
||||
}
|
||||
return response.json();
|
||||
}
|
72
laba3/site/js/lines-ui.js
Normal file
@ -0,0 +1,72 @@
|
||||
// модуль для работы с элементами управления
|
||||
|
||||
// объект для удобного получения элементов
|
||||
// при обращении к атрибуту объекта вызывается
|
||||
// нужная функция для поиска элемента
|
||||
export const cntrls = {
|
||||
button: document.getElementById("items-add"),
|
||||
table: document.getElementById("items-table"),
|
||||
form: document.getElementById("items-form"),
|
||||
lineId: document.getElementById("items-line-id"),
|
||||
name: document.getElementById("name"),
|
||||
description: document.getElementById("description"),
|
||||
image: document.getElementById("image"),
|
||||
imagePreview: document.getElementById("image-preview"),
|
||||
};
|
||||
|
||||
// Дефолтное превью
|
||||
export const imagePlaceholder = "https://via.placeholder.com/200";
|
||||
|
||||
// функция создает тег option для select
|
||||
// <option value="" selected>name</option>
|
||||
export function createItemsOption(name, value = "", isSelected = false) {
|
||||
const option = document.createElement("option");
|
||||
option.value = value || "";
|
||||
option.selected = isSelected;
|
||||
option.text = name;
|
||||
return option;
|
||||
}
|
||||
// функция создает строку таблицы
|
||||
// <div class="row justify-content-center align-items-center g-2 mt-1 mb-1">
|
||||
// <div class="col-2">item.name</div>
|
||||
// <div class="col">item.description</div>
|
||||
// <a href="testPage.html" class="col-2 btn btn-primary startButton" >открыть тест</a>
|
||||
// </div>
|
||||
export function createTableRow(item, editPageCallback, deleteCallback) {
|
||||
const container = document.createElement("div");
|
||||
container.classList.add("row", "justify-content-center", "align-items-center", "g-2", "mt-1", "mb-1");
|
||||
|
||||
const nameDiv = document.createElement("div");
|
||||
nameDiv.classList.add("col-2");
|
||||
nameDiv.textContent = item.name;
|
||||
|
||||
const descriptionDiv = document.createElement("div");
|
||||
descriptionDiv.classList.add("col");
|
||||
descriptionDiv.textContent = item.description;
|
||||
|
||||
const link = document.createElement("a");
|
||||
link.href = "testPage.html";
|
||||
link.classList.add("col-2", "btn", "btn-primary", "startButton");
|
||||
link.textContent = "открыть тест";
|
||||
|
||||
const editLink = document.createElement("a");
|
||||
editLink.href = "#"; // Укажите нужный href
|
||||
editLink.classList.add("col-2", "btn", "btn-secondary", "startButton");
|
||||
editLink.textContent = "изменить";
|
||||
editLink.addEventListener("click", editPageCallback); // Привязка обработчика события
|
||||
|
||||
// Создание элемента для удаления
|
||||
const deleteLink = document.createElement("a");
|
||||
deleteLink.href = "#"; // Укажите нужный href
|
||||
deleteLink.classList.add("col-2", "btn", "btn-danger", "startButton");
|
||||
deleteLink.textContent = "удалить";
|
||||
deleteLink.addEventListener("click", deleteCallback); // Привязка обработчика события
|
||||
|
||||
container.appendChild(nameDiv);
|
||||
container.appendChild(descriptionDiv);
|
||||
container.appendChild(link);
|
||||
container.appendChild(editLink);
|
||||
container.appendChild(deleteLink);
|
||||
|
||||
return container;
|
||||
}
|
203
laba3/site/js/lines.js
Normal file
@ -0,0 +1,203 @@
|
||||
// модуль с логикой
|
||||
|
||||
import {
|
||||
createLine, deleteLine, getAllLines, getLine, updateLine,
|
||||
} from "./lines-rest-api";
|
||||
import {
|
||||
cntrls, createTableRow, imagePlaceholder,
|
||||
} from "./lines-ui";
|
||||
|
||||
export async function drawLinesTable() {
|
||||
console.info("Try to load data");
|
||||
if (!cntrls.table) {
|
||||
return;
|
||||
}
|
||||
// вызов метода REST API для получения всех записей
|
||||
const data = await getAllLines();
|
||||
// очистка содержимого table
|
||||
// удаляется все, что находится между тегами <table></table>
|
||||
// но не атрибуты
|
||||
cntrls.table.innerHTML = "";
|
||||
// цикл по результату ответа от сервера
|
||||
// используется лямбда-выражение
|
||||
// (item, index) => {} аналогично function(item, index) {}
|
||||
data.forEach((item) => {
|
||||
cntrls.table.appendChild(
|
||||
createTableRow(
|
||||
item,
|
||||
// функции передаются в качестве параметра
|
||||
// это очень удобно, так как аргументы функций доступны только
|
||||
// в данном месте кода и не передаются в сервисные модули
|
||||
() => location.assign(`createTest.html?id=${item.id}`),
|
||||
() => removeLine(item.id),
|
||||
),
|
||||
);
|
||||
});
|
||||
}
|
||||
|
||||
async function addLine(name, description, image) {
|
||||
console.info("Try to add item");
|
||||
// вызов метода REST API для добавления записи
|
||||
const data = await createLine(name, description, image);
|
||||
console.info("Added");
|
||||
console.info(data);
|
||||
// загрузка и заполнение table
|
||||
drawLinesTable();
|
||||
}
|
||||
|
||||
async function editLine(id, name, description, image) {
|
||||
console.info("Try to update item");
|
||||
// вызов метода REST API для обновления записи
|
||||
const data = await updateLine(id, name, description, image);
|
||||
console.info("Updated");
|
||||
console.info(data);
|
||||
// загрузка и заполнение table
|
||||
drawLinesTable();
|
||||
}
|
||||
|
||||
async function removeLine(id) {
|
||||
if (!confirm("Do you really want to remove this item?")) {
|
||||
console.info("Canceled");
|
||||
return;
|
||||
}
|
||||
console.info("Try to remove item");
|
||||
// вызов метода REST API для удаления записи
|
||||
const data = await deleteLine(id);
|
||||
console.info(data);
|
||||
// загрузка и заполнение table
|
||||
drawLinesTable();
|
||||
}
|
||||
|
||||
// функция для получения содержимого файла в виде base64 строки
|
||||
// https://ru.wikipedia.org/wiki/Base64
|
||||
async function readFile(file) {
|
||||
const reader = new FileReader();
|
||||
|
||||
// создание Promise-объекта для использования функции
|
||||
// с помощью await (асинхронно) без коллбэков (callback)
|
||||
// https://learn.javascript.ru/promise
|
||||
return new Promise((resolve, reject) => {
|
||||
// 2. "Возвращаем" содержимое когда файл прочитан
|
||||
// через вызов resolve
|
||||
// Если не использовать Promise, то всю работу по взаимодействию
|
||||
// с REST API пришлось бы делать в обработчике (callback) функции
|
||||
// onloadend
|
||||
reader.onloadend = () => {
|
||||
const fileContent = reader.result;
|
||||
// Здесь могла бы быть работа с REST API
|
||||
// Чтение заканчивает выполняться здесь
|
||||
resolve(fileContent);
|
||||
};
|
||||
// 3. Возвращаем ошибку
|
||||
reader.onerror = () => {
|
||||
// Или здесь в случае ошибки
|
||||
reject(new Error("oops, something went wrong with the file reader."));
|
||||
};
|
||||
// Шаг 1. Сначала читаем файл
|
||||
// Чтение начинает выполняться здесь
|
||||
reader.readAsDataURL(file);
|
||||
});
|
||||
}
|
||||
|
||||
// функция для обновления блока с превью выбранного изображения
|
||||
async function updateImagePreview() {
|
||||
// получение выбранного файла
|
||||
// возможен выбор нескольких файлов, поэтому необходимо получить только первый
|
||||
const file = cntrls.image.files[0];
|
||||
// чтение содержимого файла в виде base64 строки
|
||||
const fileContent = await readFile(file);
|
||||
console.info("base64 ", fileContent);
|
||||
// обновление атрибута src для тега img с id image-preview
|
||||
cntrls.imagePreview.src = fileContent;
|
||||
}
|
||||
|
||||
// Функция для обработки создания и редактирования элементов таблицы через страницу page-edit.html
|
||||
// Если хотите делать через модальное окно, то удалите эту функцию
|
||||
export async function linesPageForm() {
|
||||
console.info("linesPageForm");
|
||||
|
||||
// func1 = (id) => {} аналогично function func1(id) {}
|
||||
const goBack = () => location.assign("/profile.html");
|
||||
|
||||
// Вызов функции обновления превью изображения при возникновении
|
||||
// события onchange в тэге input с id image
|
||||
cntrls.image.addEventListener("change", () => updateImagePreview());
|
||||
|
||||
// получение параметров GET-запроса из URL
|
||||
// параметры перечислены после символа ? (?id=1&color=black&...)
|
||||
const urlParams = new URLSearchParams(location.search);
|
||||
|
||||
// получение значения конкретного параметра (id)
|
||||
// указан только при редактировании
|
||||
const currentId = urlParams.get("id");
|
||||
// если id задан
|
||||
if (currentId) {
|
||||
try {
|
||||
// вызов метода REST API для получения записи по первичному ключу(id)
|
||||
const line = await getLine(currentId);
|
||||
// заполнение формы для редактирования
|
||||
cntrls.name.value = line.name;
|
||||
cntrls.description.value = line.description;
|
||||
// заполнение превью
|
||||
// Если пользователь выбрал изображение, то оно загружается
|
||||
// в тэг image с id image - preview
|
||||
// иначе устанавливается заглушка, адрес которой указан в imagePlaceholder
|
||||
cntrls.imagePreview.src = line.image ? line.image : imagePlaceholder;
|
||||
} catch {
|
||||
// в случае ошибки происходит возврат к page4
|
||||
goBack();
|
||||
}
|
||||
}
|
||||
|
||||
// обработчик события отправки формы
|
||||
// возникает при нажатии на кнопку (button) с типом submit
|
||||
// кнопка должна находится внутри тега form
|
||||
cntrls.form.addEventListener("submit", async (event) => {
|
||||
console.info("Form onSubmit");
|
||||
// отключение стандартного поведения формы при отправке
|
||||
// при отправке страница обновляется и JS перестает работать
|
||||
event.preventDefault();
|
||||
event.stopPropagation();
|
||||
// если форма не прошла валидацию, то ничего делать не нужно
|
||||
if (!cntrls.form.checkValidity()) {
|
||||
// return;
|
||||
}
|
||||
|
||||
let imageBase64 = "";
|
||||
// Получение выбранного пользователем изображения в виде base64 строки
|
||||
// Если пользователь ничего не выбрал, то не нужно сохранять в БД
|
||||
// дефолтное изображение
|
||||
if (cntrls.imagePreview.src !== imagePlaceholder) {
|
||||
// Загрузка содержимого атрибута src тэга img с id image-preview
|
||||
// Здесь выполняется HTTP запрос с типом GET
|
||||
const result = await fetch(cntrls.imagePreview.src);
|
||||
// Получение из HTTP-ответа бинарного содержимого
|
||||
const blob = await result.blob();
|
||||
// Получение base64 строки для файла
|
||||
// Здесь выполняется Promise из функции readFile
|
||||
// Promise позволяет писать линейный код для работы с асинхронными методами
|
||||
// без использования обработчиков (callback) с помощью await
|
||||
imageBase64 = await readFile(blob);
|
||||
}
|
||||
|
||||
// если значение параметра запроса не задано,
|
||||
// то необходимо выполнить добавление записи
|
||||
// иначе обновление записи
|
||||
if (!currentId) {
|
||||
await addLine(
|
||||
cntrls.name.value,
|
||||
cntrls.description.value,
|
||||
imageBase64,
|
||||
);
|
||||
} else {
|
||||
await editLine(
|
||||
currentId,
|
||||
cntrls.name.value,
|
||||
cntrls.description.value,
|
||||
imageBase64,
|
||||
);
|
||||
}
|
||||
// возврат к странице page4
|
||||
goBack();
|
||||
});
|
||||
}
|
25
laba3/site/js/validation.js
Normal file
@ -0,0 +1,25 @@
|
||||
// модуль используется для валидации форма на странице
|
||||
|
||||
function validation() {
|
||||
// поиск всех форма с классом .needs-validation
|
||||
const forms = document.querySelectorAll("form.needs-validation");
|
||||
|
||||
for (let i = 0; i < forms.length; i += 1) {
|
||||
const form = forms[i];
|
||||
// для каждой формы добавляется обработчик события отправки
|
||||
form.addEventListener("submit", (event) => {
|
||||
// если форма не прошла валидацию
|
||||
// то выключить стандартное действие
|
||||
if (!form.checkValidity()) {
|
||||
event.preventDefault();
|
||||
// предотвращает распространение preventDefault
|
||||
// на другие объекты
|
||||
event.stopPropagation();
|
||||
}
|
||||
// добавляет к форме класс was-validated
|
||||
form.classList.add("was-validated");
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
export default validation;
|
14
laba3/site/jsconfig.json
Normal file
@ -0,0 +1,14 @@
|
||||
{
|
||||
"compilerOptions": {
|
||||
"module": "ESNext",
|
||||
"moduleResolution": "Node",
|
||||
"target": "ES2020",
|
||||
"jsx": "preserve",
|
||||
"strictNullChecks": true,
|
||||
"strictFunctionTypes": true
|
||||
},
|
||||
"exclude": [
|
||||
"node_modules",
|
||||
"**/node_modules/*"
|
||||
]
|
||||
}
|
53
laba3/site/logIn.html
Normal file
@ -0,0 +1,53 @@
|
||||
<html lang="ru">
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<title>Нереальные тесты</title>
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||
<script type="module" src="./node_modules/bootstrap/dist/js/bootstrap.min.js"></script>
|
||||
<link href="./node_modules/bootstrap/dist/css/bootstrap.min.css" rel="stylesheet"/>
|
||||
<link href="./node_modules/@fortawesome/fontawesome-free/css/all.min.css" rel="stylesheet"/>
|
||||
<link rel="stylesheet" href="./style.css">
|
||||
</head>
|
||||
<body class="d-flex flex-column">
|
||||
<header>
|
||||
<nav class="navbar navbar-expand-md navbar-dark">
|
||||
<div class="container-fluid">
|
||||
<a class="navbar-brand" href="/">
|
||||
<name>
|
||||
<img src="icon.png" class="img-fluid" alt="...">
|
||||
Нереальные тесты
|
||||
</name>
|
||||
</a>
|
||||
<button class="navbar-toggler" type="button" data-bs-toggle="collapse" data-bs-target="#navbarNav"
|
||||
aria-controls="navbarNav" aria-expanded="false" aria-label="Toggle navigation">
|
||||
<span class="navbar-toggler-icon"></span>
|
||||
</button>
|
||||
<div class="navbar-collapse collapse justify-content-end" id="navbarNav">
|
||||
<div class="navbar-nav">
|
||||
<a class="nav-link active" href="./logIn.html">Вход</a>
|
||||
<a class="nav-link" href="./signIn.html">Регистрация</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</nav>
|
||||
</header>
|
||||
<main class="container-fluid p-2">
|
||||
<form class="col-md-6 mx-auto mt-3" action="./profile.html" method="get">
|
||||
<div class="mb-2">
|
||||
<label class="form-label" for="email">E-mail</label>
|
||||
<input id="email" name="email" class="form-control" type="email" placeholder="name@example.ru" required>
|
||||
</div>
|
||||
<div class="mb-2">
|
||||
<label class="form-label" for="password">Пароль</label>
|
||||
<input id="password" name="password" class="form-control" type="password" required>
|
||||
</div>
|
||||
<div class="text-center">
|
||||
<button class="btn btn-primary w-50 startButton" type="submit">Войти</button>
|
||||
</div>
|
||||
</form>
|
||||
</main>
|
||||
<footer class="footer d-flex flex-shrink-0 justify-content-center align-items-center">
|
||||
Автор, 2022
|
||||
</footer>
|
||||
</body>
|
||||
</html>
|
12
laba3/site/node_modules/.bin/acorn
generated
vendored
Normal file
@ -0,0 +1,12 @@
|
||||
#!/bin/sh
|
||||
basedir=$(dirname "$(echo "$0" | sed -e 's,\\,/,g')")
|
||||
|
||||
case `uname` in
|
||||
*CYGWIN*|*MINGW*|*MSYS*) basedir=`cygpath -w "$basedir"`;;
|
||||
esac
|
||||
|
||||
if [ -x "$basedir/node" ]; then
|
||||
exec "$basedir/node" "$basedir/../acorn/bin/acorn" "$@"
|
||||
else
|
||||
exec node "$basedir/../acorn/bin/acorn" "$@"
|
||||
fi
|
17
laba3/site/node_modules/.bin/acorn.cmd
generated
vendored
Normal file
@ -0,0 +1,17 @@
|
||||
@ECHO off
|
||||
GOTO start
|
||||
:find_dp0
|
||||
SET dp0=%~dp0
|
||||
EXIT /b
|
||||
:start
|
||||
SETLOCAL
|
||||
CALL :find_dp0
|
||||
|
||||
IF EXIST "%dp0%\node.exe" (
|
||||
SET "_prog=%dp0%\node.exe"
|
||||
) ELSE (
|
||||
SET "_prog=node"
|
||||
SET PATHEXT=%PATHEXT:;.JS;=;%
|
||||
)
|
||||
|
||||
endLocal & goto #_undefined_# 2>NUL || title %COMSPEC% & "%_prog%" "%dp0%\..\acorn\bin\acorn" %*
|
28
laba3/site/node_modules/.bin/acorn.ps1
generated
vendored
Normal file
@ -0,0 +1,28 @@
|
||||
#!/usr/bin/env pwsh
|
||||
$basedir=Split-Path $MyInvocation.MyCommand.Definition -Parent
|
||||
|
||||
$exe=""
|
||||
if ($PSVersionTable.PSVersion -lt "6.0" -or $IsWindows) {
|
||||
# Fix case when both the Windows and Linux builds of Node
|
||||
# are installed in the same directory
|
||||
$exe=".exe"
|
||||
}
|
||||
$ret=0
|
||||
if (Test-Path "$basedir/node$exe") {
|
||||
# Support pipeline input
|
||||
if ($MyInvocation.ExpectingInput) {
|
||||
$input | & "$basedir/node$exe" "$basedir/../acorn/bin/acorn" $args
|
||||
} else {
|
||||
& "$basedir/node$exe" "$basedir/../acorn/bin/acorn" $args
|
||||
}
|
||||
$ret=$LASTEXITCODE
|
||||
} else {
|
||||
# Support pipeline input
|
||||
if ($MyInvocation.ExpectingInput) {
|
||||
$input | & "node$exe" "$basedir/../acorn/bin/acorn" $args
|
||||
} else {
|
||||
& "node$exe" "$basedir/../acorn/bin/acorn" $args
|
||||
}
|
||||
$ret=$LASTEXITCODE
|
||||
}
|
||||
exit $ret
|
12
laba3/site/node_modules/.bin/esbuild
generated
vendored
Normal file
@ -0,0 +1,12 @@
|
||||
#!/bin/sh
|
||||
basedir=$(dirname "$(echo "$0" | sed -e 's,\\,/,g')")
|
||||
|
||||
case `uname` in
|
||||
*CYGWIN*|*MINGW*|*MSYS*) basedir=`cygpath -w "$basedir"`;;
|
||||
esac
|
||||
|
||||
if [ -x "$basedir/node" ]; then
|
||||
exec "$basedir/node" "$basedir/../esbuild/bin/esbuild" "$@"
|
||||
else
|
||||
exec node "$basedir/../esbuild/bin/esbuild" "$@"
|
||||
fi
|
17
laba3/site/node_modules/.bin/esbuild.cmd
generated
vendored
Normal file
@ -0,0 +1,17 @@
|
||||
@ECHO off
|
||||
GOTO start
|
||||
:find_dp0
|
||||
SET dp0=%~dp0
|
||||
EXIT /b
|
||||
:start
|
||||
SETLOCAL
|
||||
CALL :find_dp0
|
||||
|
||||
IF EXIST "%dp0%\node.exe" (
|
||||
SET "_prog=%dp0%\node.exe"
|
||||
) ELSE (
|
||||
SET "_prog=node"
|
||||
SET PATHEXT=%PATHEXT:;.JS;=;%
|
||||
)
|
||||
|
||||
endLocal & goto #_undefined_# 2>NUL || title %COMSPEC% & "%_prog%" "%dp0%\..\esbuild\bin\esbuild" %*
|
28
laba3/site/node_modules/.bin/esbuild.ps1
generated
vendored
Normal file
@ -0,0 +1,28 @@
|
||||
#!/usr/bin/env pwsh
|
||||
$basedir=Split-Path $MyInvocation.MyCommand.Definition -Parent
|
||||
|
||||
$exe=""
|
||||
if ($PSVersionTable.PSVersion -lt "6.0" -or $IsWindows) {
|
||||
# Fix case when both the Windows and Linux builds of Node
|
||||
# are installed in the same directory
|
||||
$exe=".exe"
|
||||
}
|
||||
$ret=0
|
||||
if (Test-Path "$basedir/node$exe") {
|
||||
# Support pipeline input
|
||||
if ($MyInvocation.ExpectingInput) {
|
||||
$input | & "$basedir/node$exe" "$basedir/../esbuild/bin/esbuild" $args
|
||||
} else {
|
||||
& "$basedir/node$exe" "$basedir/../esbuild/bin/esbuild" $args
|
||||
}
|
||||
$ret=$LASTEXITCODE
|
||||
} else {
|
||||
# Support pipeline input
|
||||
if ($MyInvocation.ExpectingInput) {
|
||||
$input | & "node$exe" "$basedir/../esbuild/bin/esbuild" $args
|
||||
} else {
|
||||
& "node$exe" "$basedir/../esbuild/bin/esbuild" $args
|
||||
}
|
||||
$ret=$LASTEXITCODE
|
||||
}
|
||||
exit $ret
|
12
laba3/site/node_modules/.bin/eslint
generated
vendored
Normal file
@ -0,0 +1,12 @@
|
||||
#!/bin/sh
|
||||
basedir=$(dirname "$(echo "$0" | sed -e 's,\\,/,g')")
|
||||
|
||||
case `uname` in
|
||||
*CYGWIN*|*MINGW*|*MSYS*) basedir=`cygpath -w "$basedir"`;;
|
||||
esac
|
||||
|
||||
if [ -x "$basedir/node" ]; then
|
||||
exec "$basedir/node" "$basedir/../eslint/bin/eslint.js" "$@"
|
||||
else
|
||||
exec node "$basedir/../eslint/bin/eslint.js" "$@"
|
||||
fi
|
17
laba3/site/node_modules/.bin/eslint.cmd
generated
vendored
Normal file
@ -0,0 +1,17 @@
|
||||
@ECHO off
|
||||
GOTO start
|
||||
:find_dp0
|
||||
SET dp0=%~dp0
|
||||
EXIT /b
|
||||
:start
|
||||
SETLOCAL
|
||||
CALL :find_dp0
|
||||
|
||||
IF EXIST "%dp0%\node.exe" (
|
||||
SET "_prog=%dp0%\node.exe"
|
||||
) ELSE (
|
||||
SET "_prog=node"
|
||||
SET PATHEXT=%PATHEXT:;.JS;=;%
|
||||
)
|
||||
|
||||
endLocal & goto #_undefined_# 2>NUL || title %COMSPEC% & "%_prog%" "%dp0%\..\eslint\bin\eslint.js" %*
|
28
laba3/site/node_modules/.bin/eslint.ps1
generated
vendored
Normal file
@ -0,0 +1,28 @@
|
||||
#!/usr/bin/env pwsh
|
||||
$basedir=Split-Path $MyInvocation.MyCommand.Definition -Parent
|
||||
|
||||
$exe=""
|
||||
if ($PSVersionTable.PSVersion -lt "6.0" -or $IsWindows) {
|
||||
# Fix case when both the Windows and Linux builds of Node
|
||||
# are installed in the same directory
|
||||
$exe=".exe"
|
||||
}
|
||||
$ret=0
|
||||
if (Test-Path "$basedir/node$exe") {
|
||||
# Support pipeline input
|
||||
if ($MyInvocation.ExpectingInput) {
|
||||
$input | & "$basedir/node$exe" "$basedir/../eslint/bin/eslint.js" $args
|
||||
} else {
|
||||
& "$basedir/node$exe" "$basedir/../eslint/bin/eslint.js" $args
|
||||
}
|
||||
$ret=$LASTEXITCODE
|
||||
} else {
|
||||
# Support pipeline input
|
||||
if ($MyInvocation.ExpectingInput) {
|
||||
$input | & "node$exe" "$basedir/../eslint/bin/eslint.js" $args
|
||||
} else {
|
||||
& "node$exe" "$basedir/../eslint/bin/eslint.js" $args
|
||||
}
|
||||
$ret=$LASTEXITCODE
|
||||
}
|
||||
exit $ret
|
12
laba3/site/node_modules/.bin/he
generated
vendored
Normal file
@ -0,0 +1,12 @@
|
||||
#!/bin/sh
|
||||
basedir=$(dirname "$(echo "$0" | sed -e 's,\\,/,g')")
|
||||
|
||||
case `uname` in
|
||||
*CYGWIN*|*MINGW*|*MSYS*) basedir=`cygpath -w "$basedir"`;;
|
||||
esac
|
||||
|
||||
if [ -x "$basedir/node" ]; then
|
||||
exec "$basedir/node" "$basedir/../he/bin/he" "$@"
|
||||
else
|
||||
exec node "$basedir/../he/bin/he" "$@"
|
||||
fi
|
17
laba3/site/node_modules/.bin/he.cmd
generated
vendored
Normal file
@ -0,0 +1,17 @@
|
||||
@ECHO off
|
||||
GOTO start
|
||||
:find_dp0
|
||||
SET dp0=%~dp0
|
||||
EXIT /b
|
||||
:start
|
||||
SETLOCAL
|
||||
CALL :find_dp0
|
||||
|
||||
IF EXIST "%dp0%\node.exe" (
|
||||
SET "_prog=%dp0%\node.exe"
|
||||
) ELSE (
|
||||
SET "_prog=node"
|
||||
SET PATHEXT=%PATHEXT:;.JS;=;%
|
||||
)
|
||||
|
||||
endLocal & goto #_undefined_# 2>NUL || title %COMSPEC% & "%_prog%" "%dp0%\..\he\bin\he" %*
|
28
laba3/site/node_modules/.bin/he.ps1
generated
vendored
Normal file
@ -0,0 +1,28 @@
|
||||
#!/usr/bin/env pwsh
|
||||
$basedir=Split-Path $MyInvocation.MyCommand.Definition -Parent
|
||||
|
||||
$exe=""
|
||||
if ($PSVersionTable.PSVersion -lt "6.0" -or $IsWindows) {
|
||||
# Fix case when both the Windows and Linux builds of Node
|
||||
# are installed in the same directory
|
||||
$exe=".exe"
|
||||
}
|
||||
$ret=0
|
||||
if (Test-Path "$basedir/node$exe") {
|
||||
# Support pipeline input
|
||||
if ($MyInvocation.ExpectingInput) {
|
||||
$input | & "$basedir/node$exe" "$basedir/../he/bin/he" $args
|
||||
} else {
|
||||
& "$basedir/node$exe" "$basedir/../he/bin/he" $args
|
||||
}
|
||||
$ret=$LASTEXITCODE
|
||||
} else {
|
||||
# Support pipeline input
|
||||
if ($MyInvocation.ExpectingInput) {
|
||||
$input | & "node$exe" "$basedir/../he/bin/he" $args
|
||||
} else {
|
||||
& "node$exe" "$basedir/../he/bin/he" $args
|
||||
}
|
||||
$ret=$LASTEXITCODE
|
||||
}
|
||||
exit $ret
|
12
laba3/site/node_modules/.bin/http-server
generated
vendored
Normal file
@ -0,0 +1,12 @@
|
||||
#!/bin/sh
|
||||
basedir=$(dirname "$(echo "$0" | sed -e 's,\\,/,g')")
|
||||
|
||||
case `uname` in
|
||||
*CYGWIN*|*MINGW*|*MSYS*) basedir=`cygpath -w "$basedir"`;;
|
||||
esac
|
||||
|
||||
if [ -x "$basedir/node" ]; then
|
||||
exec "$basedir/node" "$basedir/../http-server/bin/http-server" "$@"
|
||||
else
|
||||
exec node "$basedir/../http-server/bin/http-server" "$@"
|
||||
fi
|
17
laba3/site/node_modules/.bin/http-server.cmd
generated
vendored
Normal file
@ -0,0 +1,17 @@
|
||||
@ECHO off
|
||||
GOTO start
|
||||
:find_dp0
|
||||
SET dp0=%~dp0
|
||||
EXIT /b
|
||||
:start
|
||||
SETLOCAL
|
||||
CALL :find_dp0
|
||||
|
||||
IF EXIST "%dp0%\node.exe" (
|
||||
SET "_prog=%dp0%\node.exe"
|
||||
) ELSE (
|
||||
SET "_prog=node"
|
||||
SET PATHEXT=%PATHEXT:;.JS;=;%
|
||||
)
|
||||
|
||||
endLocal & goto #_undefined_# 2>NUL || title %COMSPEC% & "%_prog%" "%dp0%\..\http-server\bin\http-server" %*
|
28
laba3/site/node_modules/.bin/http-server.ps1
generated
vendored
Normal file
@ -0,0 +1,28 @@
|
||||
#!/usr/bin/env pwsh
|
||||
$basedir=Split-Path $MyInvocation.MyCommand.Definition -Parent
|
||||
|
||||
$exe=""
|
||||
if ($PSVersionTable.PSVersion -lt "6.0" -or $IsWindows) {
|
||||
# Fix case when both the Windows and Linux builds of Node
|
||||
# are installed in the same directory
|
||||
$exe=".exe"
|
||||
}
|
||||
$ret=0
|
||||
if (Test-Path "$basedir/node$exe") {
|
||||
# Support pipeline input
|
||||
if ($MyInvocation.ExpectingInput) {
|
||||
$input | & "$basedir/node$exe" "$basedir/../http-server/bin/http-server" $args
|
||||
} else {
|
||||
& "$basedir/node$exe" "$basedir/../http-server/bin/http-server" $args
|
||||
}
|
||||
$ret=$LASTEXITCODE
|
||||
} else {
|
||||
# Support pipeline input
|
||||
if ($MyInvocation.ExpectingInput) {
|
||||
$input | & "node$exe" "$basedir/../http-server/bin/http-server" $args
|
||||
} else {
|
||||
& "node$exe" "$basedir/../http-server/bin/http-server" $args
|
||||
}
|
||||
$ret=$LASTEXITCODE
|
||||
}
|
||||
exit $ret
|
12
laba3/site/node_modules/.bin/js-yaml
generated
vendored
Normal file
@ -0,0 +1,12 @@
|
||||
#!/bin/sh
|
||||
basedir=$(dirname "$(echo "$0" | sed -e 's,\\,/,g')")
|
||||
|
||||
case `uname` in
|
||||
*CYGWIN*|*MINGW*|*MSYS*) basedir=`cygpath -w "$basedir"`;;
|
||||
esac
|
||||
|
||||
if [ -x "$basedir/node" ]; then
|
||||
exec "$basedir/node" "$basedir/../js-yaml/bin/js-yaml.js" "$@"
|
||||
else
|
||||
exec node "$basedir/../js-yaml/bin/js-yaml.js" "$@"
|
||||
fi
|
17
laba3/site/node_modules/.bin/js-yaml.cmd
generated
vendored
Normal file
@ -0,0 +1,17 @@
|
||||
@ECHO off
|
||||
GOTO start
|
||||
:find_dp0
|
||||
SET dp0=%~dp0
|
||||
EXIT /b
|
||||
:start
|
||||
SETLOCAL
|
||||
CALL :find_dp0
|
||||
|
||||
IF EXIST "%dp0%\node.exe" (
|
||||
SET "_prog=%dp0%\node.exe"
|
||||
) ELSE (
|
||||
SET "_prog=node"
|
||||
SET PATHEXT=%PATHEXT:;.JS;=;%
|
||||
)
|
||||
|
||||
endLocal & goto #_undefined_# 2>NUL || title %COMSPEC% & "%_prog%" "%dp0%\..\js-yaml\bin\js-yaml.js" %*
|
28
laba3/site/node_modules/.bin/js-yaml.ps1
generated
vendored
Normal file
@ -0,0 +1,28 @@
|
||||
#!/usr/bin/env pwsh
|
||||
$basedir=Split-Path $MyInvocation.MyCommand.Definition -Parent
|
||||
|
||||
$exe=""
|
||||
if ($PSVersionTable.PSVersion -lt "6.0" -or $IsWindows) {
|
||||
# Fix case when both the Windows and Linux builds of Node
|
||||
# are installed in the same directory
|
||||
$exe=".exe"
|
||||
}
|
||||
$ret=0
|
||||
if (Test-Path "$basedir/node$exe") {
|
||||
# Support pipeline input
|
||||
if ($MyInvocation.ExpectingInput) {
|
||||
$input | & "$basedir/node$exe" "$basedir/../js-yaml/bin/js-yaml.js" $args
|
||||
} else {
|
||||
& "$basedir/node$exe" "$basedir/../js-yaml/bin/js-yaml.js" $args
|
||||
}
|
||||
$ret=$LASTEXITCODE
|
||||
} else {
|
||||
# Support pipeline input
|
||||
if ($MyInvocation.ExpectingInput) {
|
||||
$input | & "node$exe" "$basedir/../js-yaml/bin/js-yaml.js" $args
|
||||
} else {
|
||||
& "node$exe" "$basedir/../js-yaml/bin/js-yaml.js" $args
|
||||
}
|
||||
$ret=$LASTEXITCODE
|
||||
}
|
||||
exit $ret
|
12
laba3/site/node_modules/.bin/json-server
generated
vendored
Normal file
@ -0,0 +1,12 @@
|
||||
#!/bin/sh
|
||||
basedir=$(dirname "$(echo "$0" | sed -e 's,\\,/,g')")
|
||||
|
||||
case `uname` in
|
||||
*CYGWIN*|*MINGW*|*MSYS*) basedir=`cygpath -w "$basedir"`;;
|
||||
esac
|
||||
|
||||
if [ -x "$basedir/node" ]; then
|
||||
exec "$basedir/node" "$basedir/../json-server/lib/cli/bin.js" "$@"
|
||||
else
|
||||
exec node "$basedir/../json-server/lib/cli/bin.js" "$@"
|
||||
fi
|
17
laba3/site/node_modules/.bin/json-server.cmd
generated
vendored
Normal file
@ -0,0 +1,17 @@
|
||||
@ECHO off
|
||||
GOTO start
|
||||
:find_dp0
|
||||
SET dp0=%~dp0
|
||||
EXIT /b
|
||||
:start
|
||||
SETLOCAL
|
||||
CALL :find_dp0
|
||||
|
||||
IF EXIST "%dp0%\node.exe" (
|
||||
SET "_prog=%dp0%\node.exe"
|
||||
) ELSE (
|
||||
SET "_prog=node"
|
||||
SET PATHEXT=%PATHEXT:;.JS;=;%
|
||||
)
|
||||
|
||||
endLocal & goto #_undefined_# 2>NUL || title %COMSPEC% & "%_prog%" "%dp0%\..\json-server\lib\cli\bin.js" %*
|
28
laba3/site/node_modules/.bin/json-server.ps1
generated
vendored
Normal file
@ -0,0 +1,28 @@
|
||||
#!/usr/bin/env pwsh
|
||||
$basedir=Split-Path $MyInvocation.MyCommand.Definition -Parent
|
||||
|
||||
$exe=""
|
||||
if ($PSVersionTable.PSVersion -lt "6.0" -or $IsWindows) {
|
||||
# Fix case when both the Windows and Linux builds of Node
|
||||
# are installed in the same directory
|
||||
$exe=".exe"
|
||||
}
|
||||
$ret=0
|
||||
if (Test-Path "$basedir/node$exe") {
|
||||
# Support pipeline input
|
||||
if ($MyInvocation.ExpectingInput) {
|
||||
$input | & "$basedir/node$exe" "$basedir/../json-server/lib/cli/bin.js" $args
|
||||
} else {
|
||||
& "$basedir/node$exe" "$basedir/../json-server/lib/cli/bin.js" $args
|
||||
}
|
||||
$ret=$LASTEXITCODE
|
||||
} else {
|
||||
# Support pipeline input
|
||||
if ($MyInvocation.ExpectingInput) {
|
||||
$input | & "node$exe" "$basedir/../json-server/lib/cli/bin.js" $args
|
||||
} else {
|
||||
& "node$exe" "$basedir/../json-server/lib/cli/bin.js" $args
|
||||
}
|
||||
$ret=$LASTEXITCODE
|
||||
}
|
||||
exit $ret
|
12
laba3/site/node_modules/.bin/json5
generated
vendored
Normal file
@ -0,0 +1,12 @@
|
||||
#!/bin/sh
|
||||
basedir=$(dirname "$(echo "$0" | sed -e 's,\\,/,g')")
|
||||
|
||||
case `uname` in
|
||||
*CYGWIN*|*MINGW*|*MSYS*) basedir=`cygpath -w "$basedir"`;;
|
||||
esac
|
||||
|
||||
if [ -x "$basedir/node" ]; then
|
||||
exec "$basedir/node" "$basedir/../json5/lib/cli.js" "$@"
|
||||
else
|
||||
exec node "$basedir/../json5/lib/cli.js" "$@"
|
||||
fi
|
17
laba3/site/node_modules/.bin/json5.cmd
generated
vendored
Normal file
@ -0,0 +1,17 @@
|
||||
@ECHO off
|
||||
GOTO start
|
||||
:find_dp0
|
||||
SET dp0=%~dp0
|
||||
EXIT /b
|
||||
:start
|
||||
SETLOCAL
|
||||
CALL :find_dp0
|
||||
|
||||
IF EXIST "%dp0%\node.exe" (
|
||||
SET "_prog=%dp0%\node.exe"
|
||||
) ELSE (
|
||||
SET "_prog=node"
|
||||
SET PATHEXT=%PATHEXT:;.JS;=;%
|
||||
)
|
||||
|
||||
endLocal & goto #_undefined_# 2>NUL || title %COMSPEC% & "%_prog%" "%dp0%\..\json5\lib\cli.js" %*
|
28
laba3/site/node_modules/.bin/json5.ps1
generated
vendored
Normal file
@ -0,0 +1,28 @@
|
||||
#!/usr/bin/env pwsh
|
||||
$basedir=Split-Path $MyInvocation.MyCommand.Definition -Parent
|
||||
|
||||
$exe=""
|
||||
if ($PSVersionTable.PSVersion -lt "6.0" -or $IsWindows) {
|
||||
# Fix case when both the Windows and Linux builds of Node
|
||||
# are installed in the same directory
|
||||
$exe=".exe"
|
||||
}
|
||||
$ret=0
|
||||
if (Test-Path "$basedir/node$exe") {
|
||||
# Support pipeline input
|
||||
if ($MyInvocation.ExpectingInput) {
|
||||
$input | & "$basedir/node$exe" "$basedir/../json5/lib/cli.js" $args
|
||||
} else {
|
||||
& "$basedir/node$exe" "$basedir/../json5/lib/cli.js" $args
|
||||
}
|
||||
$ret=$LASTEXITCODE
|
||||
} else {
|
||||
# Support pipeline input
|
||||
if ($MyInvocation.ExpectingInput) {
|
||||
$input | & "node$exe" "$basedir/../json5/lib/cli.js" $args
|
||||
} else {
|
||||
& "node$exe" "$basedir/../json5/lib/cli.js" $args
|
||||
}
|
||||
$ret=$LASTEXITCODE
|
||||
}
|
||||
exit $ret
|
12
laba3/site/node_modules/.bin/mime
generated
vendored
Normal file
@ -0,0 +1,12 @@
|
||||
#!/bin/sh
|
||||
basedir=$(dirname "$(echo "$0" | sed -e 's,\\,/,g')")
|
||||
|
||||
case `uname` in
|
||||
*CYGWIN*|*MINGW*|*MSYS*) basedir=`cygpath -w "$basedir"`;;
|
||||
esac
|
||||
|
||||
if [ -x "$basedir/node" ]; then
|
||||
exec "$basedir/node" "$basedir/../mime/cli.js" "$@"
|
||||
else
|
||||
exec node "$basedir/../mime/cli.js" "$@"
|
||||
fi
|
17
laba3/site/node_modules/.bin/mime.cmd
generated
vendored
Normal file
@ -0,0 +1,17 @@
|
||||
@ECHO off
|
||||
GOTO start
|
||||
:find_dp0
|
||||
SET dp0=%~dp0
|
||||
EXIT /b
|
||||
:start
|
||||
SETLOCAL
|
||||
CALL :find_dp0
|
||||
|
||||
IF EXIST "%dp0%\node.exe" (
|
||||
SET "_prog=%dp0%\node.exe"
|
||||
) ELSE (
|
||||
SET "_prog=node"
|
||||
SET PATHEXT=%PATHEXT:;.JS;=;%
|
||||
)
|
||||
|
||||
endLocal & goto #_undefined_# 2>NUL || title %COMSPEC% & "%_prog%" "%dp0%\..\mime\cli.js" %*
|
28
laba3/site/node_modules/.bin/mime.ps1
generated
vendored
Normal file
@ -0,0 +1,28 @@
|
||||
#!/usr/bin/env pwsh
|
||||
$basedir=Split-Path $MyInvocation.MyCommand.Definition -Parent
|
||||
|
||||
$exe=""
|
||||
if ($PSVersionTable.PSVersion -lt "6.0" -or $IsWindows) {
|
||||
# Fix case when both the Windows and Linux builds of Node
|
||||
# are installed in the same directory
|
||||
$exe=".exe"
|
||||
}
|
||||
$ret=0
|
||||
if (Test-Path "$basedir/node$exe") {
|
||||
# Support pipeline input
|
||||
if ($MyInvocation.ExpectingInput) {
|
||||
$input | & "$basedir/node$exe" "$basedir/../mime/cli.js" $args
|
||||
} else {
|
||||
& "$basedir/node$exe" "$basedir/../mime/cli.js" $args
|
||||
}
|
||||
$ret=$LASTEXITCODE
|
||||
} else {
|
||||
# Support pipeline input
|
||||
if ($MyInvocation.ExpectingInput) {
|
||||
$input | & "node$exe" "$basedir/../mime/cli.js" $args
|
||||
} else {
|
||||
& "node$exe" "$basedir/../mime/cli.js" $args
|
||||
}
|
||||
$ret=$LASTEXITCODE
|
||||
}
|
||||
exit $ret
|
12
laba3/site/node_modules/.bin/mkdirp
generated
vendored
Normal file
@ -0,0 +1,12 @@
|
||||
#!/bin/sh
|
||||
basedir=$(dirname "$(echo "$0" | sed -e 's,\\,/,g')")
|
||||
|
||||
case `uname` in
|
||||
*CYGWIN*|*MINGW*|*MSYS*) basedir=`cygpath -w "$basedir"`;;
|
||||
esac
|
||||
|
||||
if [ -x "$basedir/node" ]; then
|
||||
exec "$basedir/node" "$basedir/../mkdirp/bin/cmd.js" "$@"
|
||||
else
|
||||
exec node "$basedir/../mkdirp/bin/cmd.js" "$@"
|
||||
fi
|
17
laba3/site/node_modules/.bin/mkdirp.cmd
generated
vendored
Normal file
@ -0,0 +1,17 @@
|
||||
@ECHO off
|
||||
GOTO start
|
||||
:find_dp0
|
||||
SET dp0=%~dp0
|
||||
EXIT /b
|
||||
:start
|
||||
SETLOCAL
|
||||
CALL :find_dp0
|
||||
|
||||
IF EXIST "%dp0%\node.exe" (
|
||||
SET "_prog=%dp0%\node.exe"
|
||||
) ELSE (
|
||||
SET "_prog=node"
|
||||
SET PATHEXT=%PATHEXT:;.JS;=;%
|
||||
)
|
||||
|
||||
endLocal & goto #_undefined_# 2>NUL || title %COMSPEC% & "%_prog%" "%dp0%\..\mkdirp\bin\cmd.js" %*
|
28
laba3/site/node_modules/.bin/mkdirp.ps1
generated
vendored
Normal file
@ -0,0 +1,28 @@
|
||||
#!/usr/bin/env pwsh
|
||||
$basedir=Split-Path $MyInvocation.MyCommand.Definition -Parent
|
||||
|
||||
$exe=""
|
||||
if ($PSVersionTable.PSVersion -lt "6.0" -or $IsWindows) {
|
||||
# Fix case when both the Windows and Linux builds of Node
|
||||
# are installed in the same directory
|
||||
$exe=".exe"
|
||||
}
|
||||
$ret=0
|
||||
if (Test-Path "$basedir/node$exe") {
|
||||
# Support pipeline input
|
||||
if ($MyInvocation.ExpectingInput) {
|
||||
$input | & "$basedir/node$exe" "$basedir/../mkdirp/bin/cmd.js" $args
|
||||
} else {
|
||||
& "$basedir/node$exe" "$basedir/../mkdirp/bin/cmd.js" $args
|
||||
}
|
||||
$ret=$LASTEXITCODE
|
||||
} else {
|
||||
# Support pipeline input
|
||||
if ($MyInvocation.ExpectingInput) {
|
||||
$input | & "node$exe" "$basedir/../mkdirp/bin/cmd.js" $args
|
||||
} else {
|
||||
& "node$exe" "$basedir/../mkdirp/bin/cmd.js" $args
|
||||
}
|
||||
$ret=$LASTEXITCODE
|
||||
}
|
||||
exit $ret
|
12
laba3/site/node_modules/.bin/nanoid
generated
vendored
Normal file
@ -0,0 +1,12 @@
|
||||
#!/bin/sh
|
||||
basedir=$(dirname "$(echo "$0" | sed -e 's,\\,/,g')")
|
||||
|
||||
case `uname` in
|
||||
*CYGWIN*|*MINGW*|*MSYS*) basedir=`cygpath -w "$basedir"`;;
|
||||
esac
|
||||
|
||||
if [ -x "$basedir/node" ]; then
|
||||
exec "$basedir/node" "$basedir/../nanoid/bin/nanoid.cjs" "$@"
|
||||
else
|
||||
exec node "$basedir/../nanoid/bin/nanoid.cjs" "$@"
|
||||
fi
|
17
laba3/site/node_modules/.bin/nanoid.cmd
generated
vendored
Normal file
@ -0,0 +1,17 @@
|
||||
@ECHO off
|
||||
GOTO start
|
||||
:find_dp0
|
||||
SET dp0=%~dp0
|
||||
EXIT /b
|
||||
:start
|
||||
SETLOCAL
|
||||
CALL :find_dp0
|
||||
|
||||
IF EXIST "%dp0%\node.exe" (
|
||||
SET "_prog=%dp0%\node.exe"
|
||||
) ELSE (
|
||||
SET "_prog=node"
|
||||
SET PATHEXT=%PATHEXT:;.JS;=;%
|
||||
)
|
||||
|
||||
endLocal & goto #_undefined_# 2>NUL || title %COMSPEC% & "%_prog%" "%dp0%\..\nanoid\bin\nanoid.cjs" %*
|
28
laba3/site/node_modules/.bin/nanoid.ps1
generated
vendored
Normal file
@ -0,0 +1,28 @@
|
||||
#!/usr/bin/env pwsh
|
||||
$basedir=Split-Path $MyInvocation.MyCommand.Definition -Parent
|
||||
|
||||
$exe=""
|
||||
if ($PSVersionTable.PSVersion -lt "6.0" -or $IsWindows) {
|
||||
# Fix case when both the Windows and Linux builds of Node
|
||||
# are installed in the same directory
|
||||
$exe=".exe"
|
||||
}
|
||||
$ret=0
|
||||
if (Test-Path "$basedir/node$exe") {
|
||||
# Support pipeline input
|
||||
if ($MyInvocation.ExpectingInput) {
|
||||
$input | & "$basedir/node$exe" "$basedir/../nanoid/bin/nanoid.cjs" $args
|
||||
} else {
|
||||
& "$basedir/node$exe" "$basedir/../nanoid/bin/nanoid.cjs" $args
|
||||
}
|
||||
$ret=$LASTEXITCODE
|
||||
} else {
|
||||
# Support pipeline input
|
||||
if ($MyInvocation.ExpectingInput) {
|
||||
$input | & "node$exe" "$basedir/../nanoid/bin/nanoid.cjs" $args
|
||||
} else {
|
||||
& "node$exe" "$basedir/../nanoid/bin/nanoid.cjs" $args
|
||||
}
|
||||
$ret=$LASTEXITCODE
|
||||
}
|
||||
exit $ret
|
12
laba3/site/node_modules/.bin/npm-run-all
generated
vendored
Normal file
@ -0,0 +1,12 @@
|
||||
#!/bin/sh
|
||||
basedir=$(dirname "$(echo "$0" | sed -e 's,\\,/,g')")
|
||||
|
||||
case `uname` in
|
||||
*CYGWIN*|*MINGW*|*MSYS*) basedir=`cygpath -w "$basedir"`;;
|
||||
esac
|
||||
|
||||
if [ -x "$basedir/node" ]; then
|
||||
exec "$basedir/node" "$basedir/../npm-run-all/bin/npm-run-all/index.js" "$@"
|
||||
else
|
||||
exec node "$basedir/../npm-run-all/bin/npm-run-all/index.js" "$@"
|
||||
fi
|
17
laba3/site/node_modules/.bin/npm-run-all.cmd
generated
vendored
Normal file
@ -0,0 +1,17 @@
|
||||
@ECHO off
|
||||
GOTO start
|
||||
:find_dp0
|
||||
SET dp0=%~dp0
|
||||
EXIT /b
|
||||
:start
|
||||
SETLOCAL
|
||||
CALL :find_dp0
|
||||
|
||||
IF EXIST "%dp0%\node.exe" (
|
||||
SET "_prog=%dp0%\node.exe"
|
||||
) ELSE (
|
||||
SET "_prog=node"
|
||||
SET PATHEXT=%PATHEXT:;.JS;=;%
|
||||
)
|
||||
|
||||
endLocal & goto #_undefined_# 2>NUL || title %COMSPEC% & "%_prog%" "%dp0%\..\npm-run-all\bin\npm-run-all\index.js" %*
|
28
laba3/site/node_modules/.bin/npm-run-all.ps1
generated
vendored
Normal file
@ -0,0 +1,28 @@
|
||||
#!/usr/bin/env pwsh
|
||||
$basedir=Split-Path $MyInvocation.MyCommand.Definition -Parent
|
||||
|
||||
$exe=""
|
||||
if ($PSVersionTable.PSVersion -lt "6.0" -or $IsWindows) {
|
||||
# Fix case when both the Windows and Linux builds of Node
|
||||
# are installed in the same directory
|
||||
$exe=".exe"
|
||||
}
|
||||
$ret=0
|
||||
if (Test-Path "$basedir/node$exe") {
|
||||
# Support pipeline input
|
||||
if ($MyInvocation.ExpectingInput) {
|
||||
$input | & "$basedir/node$exe" "$basedir/../npm-run-all/bin/npm-run-all/index.js" $args
|
||||
} else {
|
||||
& "$basedir/node$exe" "$basedir/../npm-run-all/bin/npm-run-all/index.js" $args
|
||||
}
|
||||
$ret=$LASTEXITCODE
|
||||
} else {
|
||||
# Support pipeline input
|
||||
if ($MyInvocation.ExpectingInput) {
|
||||
$input | & "node$exe" "$basedir/../npm-run-all/bin/npm-run-all/index.js" $args
|
||||
} else {
|
||||
& "node$exe" "$basedir/../npm-run-all/bin/npm-run-all/index.js" $args
|
||||
}
|
||||
$ret=$LASTEXITCODE
|
||||
}
|
||||
exit $ret
|
12
laba3/site/node_modules/.bin/opener
generated
vendored
Normal file
@ -0,0 +1,12 @@
|
||||
#!/bin/sh
|
||||
basedir=$(dirname "$(echo "$0" | sed -e 's,\\,/,g')")
|
||||
|
||||
case `uname` in
|
||||
*CYGWIN*|*MINGW*|*MSYS*) basedir=`cygpath -w "$basedir"`;;
|
||||
esac
|
||||
|
||||
if [ -x "$basedir/node" ]; then
|
||||
exec "$basedir/node" "$basedir/../opener/bin/opener-bin.js" "$@"
|
||||
else
|
||||
exec node "$basedir/../opener/bin/opener-bin.js" "$@"
|
||||
fi
|
17
laba3/site/node_modules/.bin/opener.cmd
generated
vendored
Normal file
@ -0,0 +1,17 @@
|
||||
@ECHO off
|
||||
GOTO start
|
||||
:find_dp0
|
||||
SET dp0=%~dp0
|
||||
EXIT /b
|
||||
:start
|
||||
SETLOCAL
|
||||
CALL :find_dp0
|
||||
|
||||
IF EXIST "%dp0%\node.exe" (
|
||||
SET "_prog=%dp0%\node.exe"
|
||||
) ELSE (
|
||||
SET "_prog=node"
|
||||
SET PATHEXT=%PATHEXT:;.JS;=;%
|
||||
)
|
||||
|
||||
endLocal & goto #_undefined_# 2>NUL || title %COMSPEC% & "%_prog%" "%dp0%\..\opener\bin\opener-bin.js" %*
|
28
laba3/site/node_modules/.bin/opener.ps1
generated
vendored
Normal file
@ -0,0 +1,28 @@
|
||||
#!/usr/bin/env pwsh
|
||||
$basedir=Split-Path $MyInvocation.MyCommand.Definition -Parent
|
||||
|
||||
$exe=""
|
||||
if ($PSVersionTable.PSVersion -lt "6.0" -or $IsWindows) {
|
||||
# Fix case when both the Windows and Linux builds of Node
|
||||
# are installed in the same directory
|
||||
$exe=".exe"
|
||||
}
|
||||
$ret=0
|
||||
if (Test-Path "$basedir/node$exe") {
|
||||
# Support pipeline input
|
||||
if ($MyInvocation.ExpectingInput) {
|
||||
$input | & "$basedir/node$exe" "$basedir/../opener/bin/opener-bin.js" $args
|
||||
} else {
|
||||
& "$basedir/node$exe" "$basedir/../opener/bin/opener-bin.js" $args
|
||||
}
|
||||
$ret=$LASTEXITCODE
|
||||
} else {
|
||||
# Support pipeline input
|
||||
if ($MyInvocation.ExpectingInput) {
|
||||
$input | & "node$exe" "$basedir/../opener/bin/opener-bin.js" $args
|
||||
} else {
|
||||
& "node$exe" "$basedir/../opener/bin/opener-bin.js" $args
|
||||
}
|
||||
$ret=$LASTEXITCODE
|
||||
}
|
||||
exit $ret
|
12
laba3/site/node_modules/.bin/pidtree
generated
vendored
Normal file
@ -0,0 +1,12 @@
|
||||
#!/bin/sh
|
||||
basedir=$(dirname "$(echo "$0" | sed -e 's,\\,/,g')")
|
||||
|
||||
case `uname` in
|
||||
*CYGWIN*|*MINGW*|*MSYS*) basedir=`cygpath -w "$basedir"`;;
|
||||
esac
|
||||
|
||||
if [ -x "$basedir/node" ]; then
|
||||
exec "$basedir/node" "$basedir/../pidtree/bin/pidtree.js" "$@"
|
||||
else
|
||||
exec node "$basedir/../pidtree/bin/pidtree.js" "$@"
|
||||
fi
|
17
laba3/site/node_modules/.bin/pidtree.cmd
generated
vendored
Normal file
@ -0,0 +1,17 @@
|
||||
@ECHO off
|
||||
GOTO start
|
||||
:find_dp0
|
||||
SET dp0=%~dp0
|
||||
EXIT /b
|
||||
:start
|
||||
SETLOCAL
|
||||
CALL :find_dp0
|
||||
|
||||
IF EXIST "%dp0%\node.exe" (
|
||||
SET "_prog=%dp0%\node.exe"
|
||||
) ELSE (
|
||||
SET "_prog=node"
|
||||
SET PATHEXT=%PATHEXT:;.JS;=;%
|
||||
)
|
||||
|
||||
endLocal & goto #_undefined_# 2>NUL || title %COMSPEC% & "%_prog%" "%dp0%\..\pidtree\bin\pidtree.js" %*
|
28
laba3/site/node_modules/.bin/pidtree.ps1
generated
vendored
Normal file
@ -0,0 +1,28 @@
|
||||
#!/usr/bin/env pwsh
|
||||
$basedir=Split-Path $MyInvocation.MyCommand.Definition -Parent
|
||||
|
||||
$exe=""
|
||||
if ($PSVersionTable.PSVersion -lt "6.0" -or $IsWindows) {
|
||||
# Fix case when both the Windows and Linux builds of Node
|
||||
# are installed in the same directory
|
||||
$exe=".exe"
|
||||
}
|
||||
$ret=0
|
||||
if (Test-Path "$basedir/node$exe") {
|
||||
# Support pipeline input
|
||||
if ($MyInvocation.ExpectingInput) {
|
||||
$input | & "$basedir/node$exe" "$basedir/../pidtree/bin/pidtree.js" $args
|
||||
} else {
|
||||
& "$basedir/node$exe" "$basedir/../pidtree/bin/pidtree.js" $args
|
||||
}
|
||||
$ret=$LASTEXITCODE
|
||||
} else {
|
||||
# Support pipeline input
|
||||
if ($MyInvocation.ExpectingInput) {
|
||||
$input | & "node$exe" "$basedir/../pidtree/bin/pidtree.js" $args
|
||||
} else {
|
||||
& "node$exe" "$basedir/../pidtree/bin/pidtree.js" $args
|
||||
}
|
||||
$ret=$LASTEXITCODE
|
||||
}
|
||||
exit $ret
|
12
laba3/site/node_modules/.bin/resolve
generated
vendored
Normal file
@ -0,0 +1,12 @@
|
||||
#!/bin/sh
|
||||
basedir=$(dirname "$(echo "$0" | sed -e 's,\\,/,g')")
|
||||
|
||||
case `uname` in
|
||||
*CYGWIN*|*MINGW*|*MSYS*) basedir=`cygpath -w "$basedir"`;;
|
||||
esac
|
||||
|
||||
if [ -x "$basedir/node" ]; then
|
||||
exec "$basedir/node" "$basedir/../resolve/bin/resolve" "$@"
|
||||
else
|
||||
exec node "$basedir/../resolve/bin/resolve" "$@"
|
||||
fi
|
17
laba3/site/node_modules/.bin/resolve.cmd
generated
vendored
Normal file
@ -0,0 +1,17 @@
|
||||
@ECHO off
|
||||
GOTO start
|
||||
:find_dp0
|
||||
SET dp0=%~dp0
|
||||
EXIT /b
|
||||
:start
|
||||
SETLOCAL
|
||||
CALL :find_dp0
|
||||
|
||||
IF EXIST "%dp0%\node.exe" (
|
||||
SET "_prog=%dp0%\node.exe"
|
||||
) ELSE (
|
||||
SET "_prog=node"
|
||||
SET PATHEXT=%PATHEXT:;.JS;=;%
|
||||
)
|
||||
|
||||
endLocal & goto #_undefined_# 2>NUL || title %COMSPEC% & "%_prog%" "%dp0%\..\resolve\bin\resolve" %*
|
28
laba3/site/node_modules/.bin/resolve.ps1
generated
vendored
Normal file
@ -0,0 +1,28 @@
|
||||
#!/usr/bin/env pwsh
|
||||
$basedir=Split-Path $MyInvocation.MyCommand.Definition -Parent
|
||||
|
||||
$exe=""
|
||||
if ($PSVersionTable.PSVersion -lt "6.0" -or $IsWindows) {
|
||||
# Fix case when both the Windows and Linux builds of Node
|
||||
# are installed in the same directory
|
||||
$exe=".exe"
|
||||
}
|
||||
$ret=0
|
||||
if (Test-Path "$basedir/node$exe") {
|
||||
# Support pipeline input
|
||||
if ($MyInvocation.ExpectingInput) {
|
||||
$input | & "$basedir/node$exe" "$basedir/../resolve/bin/resolve" $args
|
||||
} else {
|
||||
& "$basedir/node$exe" "$basedir/../resolve/bin/resolve" $args
|
||||
}
|
||||
$ret=$LASTEXITCODE
|
||||
} else {
|
||||
# Support pipeline input
|
||||
if ($MyInvocation.ExpectingInput) {
|
||||
$input | & "node$exe" "$basedir/../resolve/bin/resolve" $args
|
||||
} else {
|
||||
& "node$exe" "$basedir/../resolve/bin/resolve" $args
|
||||
}
|
||||
$ret=$LASTEXITCODE
|
||||
}
|
||||
exit $ret
|
12
laba3/site/node_modules/.bin/rimraf
generated
vendored
Normal file
@ -0,0 +1,12 @@
|
||||
#!/bin/sh
|
||||
basedir=$(dirname "$(echo "$0" | sed -e 's,\\,/,g')")
|
||||
|
||||
case `uname` in
|
||||
*CYGWIN*|*MINGW*|*MSYS*) basedir=`cygpath -w "$basedir"`;;
|
||||
esac
|
||||
|
||||
if [ -x "$basedir/node" ]; then
|
||||
exec "$basedir/node" "$basedir/../rimraf/bin.js" "$@"
|
||||
else
|
||||
exec node "$basedir/../rimraf/bin.js" "$@"
|
||||
fi
|
17
laba3/site/node_modules/.bin/rimraf.cmd
generated
vendored
Normal file
@ -0,0 +1,17 @@
|
||||
@ECHO off
|
||||
GOTO start
|
||||
:find_dp0
|
||||
SET dp0=%~dp0
|
||||
EXIT /b
|
||||
:start
|
||||
SETLOCAL
|
||||
CALL :find_dp0
|
||||
|
||||
IF EXIST "%dp0%\node.exe" (
|
||||
SET "_prog=%dp0%\node.exe"
|
||||
) ELSE (
|
||||
SET "_prog=node"
|
||||
SET PATHEXT=%PATHEXT:;.JS;=;%
|
||||
)
|
||||
|
||||
endLocal & goto #_undefined_# 2>NUL || title %COMSPEC% & "%_prog%" "%dp0%\..\rimraf\bin.js" %*
|
28
laba3/site/node_modules/.bin/rimraf.ps1
generated
vendored
Normal file
@ -0,0 +1,28 @@
|
||||
#!/usr/bin/env pwsh
|
||||
$basedir=Split-Path $MyInvocation.MyCommand.Definition -Parent
|
||||
|
||||
$exe=""
|
||||
if ($PSVersionTable.PSVersion -lt "6.0" -or $IsWindows) {
|
||||
# Fix case when both the Windows and Linux builds of Node
|
||||
# are installed in the same directory
|
||||
$exe=".exe"
|
||||
}
|
||||
$ret=0
|
||||
if (Test-Path "$basedir/node$exe") {
|
||||
# Support pipeline input
|
||||
if ($MyInvocation.ExpectingInput) {
|
||||
$input | & "$basedir/node$exe" "$basedir/../rimraf/bin.js" $args
|
||||
} else {
|
||||
& "$basedir/node$exe" "$basedir/../rimraf/bin.js" $args
|
||||
}
|
||||
$ret=$LASTEXITCODE
|
||||
} else {
|
||||
# Support pipeline input
|
||||
if ($MyInvocation.ExpectingInput) {
|
||||
$input | & "node$exe" "$basedir/../rimraf/bin.js" $args
|
||||
} else {
|
||||
& "node$exe" "$basedir/../rimraf/bin.js" $args
|
||||
}
|
||||
$ret=$LASTEXITCODE
|
||||
}
|
||||
exit $ret
|
12
laba3/site/node_modules/.bin/rollup
generated
vendored
Normal file
@ -0,0 +1,12 @@
|
||||
#!/bin/sh
|
||||
basedir=$(dirname "$(echo "$0" | sed -e 's,\\,/,g')")
|
||||
|
||||
case `uname` in
|
||||
*CYGWIN*|*MINGW*|*MSYS*) basedir=`cygpath -w "$basedir"`;;
|
||||
esac
|
||||
|
||||
if [ -x "$basedir/node" ]; then
|
||||
exec "$basedir/node" "$basedir/../rollup/dist/bin/rollup" "$@"
|
||||
else
|
||||
exec node "$basedir/../rollup/dist/bin/rollup" "$@"
|
||||
fi
|
17
laba3/site/node_modules/.bin/rollup.cmd
generated
vendored
Normal file
@ -0,0 +1,17 @@
|
||||
@ECHO off
|
||||
GOTO start
|
||||
:find_dp0
|
||||
SET dp0=%~dp0
|
||||
EXIT /b
|
||||
:start
|
||||
SETLOCAL
|
||||
CALL :find_dp0
|
||||
|
||||
IF EXIST "%dp0%\node.exe" (
|
||||
SET "_prog=%dp0%\node.exe"
|
||||
) ELSE (
|
||||
SET "_prog=node"
|
||||
SET PATHEXT=%PATHEXT:;.JS;=;%
|
||||
)
|
||||
|
||||
endLocal & goto #_undefined_# 2>NUL || title %COMSPEC% & "%_prog%" "%dp0%\..\rollup\dist\bin\rollup" %*
|