<script type="module"> // <-- ========= здесь =============
const tooltip = d3.select("body").append("div")
.attr("class", "tooltip")
.style("opacity", 0);
//=============
const script = document.createElement('script');
script.id = 'dynamic-script';
script.type = 'module'; //================= Добавляем этот атрибут================
script.src = "/static/js/" + scriptFile;
document.body.appendChild(script);
//=============
</script>
depends_on:
- main_db
services:
mysql:
healthcheck:
test: ["CMD", "mysqladmin", "ping", "-h", "mysql", "-p${DB_PASSWORD:-secret}"]
interval: 10s
timeout: 5s
retries: 5
start_period: 10s
main_queue:
depends_on:
mysql:
condition: service_healthy
restart: true
Powercfg -SETACTIVE
айдишник на свои, полученные из предыдущего шага@echo off
chcp 65001>nul
call :ECHO " --= Выбор системы питания =--" 0B
echo.
call :ECHO " E - ЭНЕРГОСБЕРЕГАЮЩАЯ" 0E
echo.
call :ECHO " S - СБАЛАНСИРОВАННАЯ" 0A
echo.
call :ECHO " V - ВЫСОКОПРОИЗВОДИТЕЛЬНАЯ" 0D
echo.
call :ECHO " -----------------------------" 0B
echo.
call :ECHO " по умолчанию = " 0B
call :ECHO " ВЫСОКОПРОИЗВОДИТЕЛЬНАЯ" 0C
echo.
call :ECHO " время для выбора " 0B
call :ECHO "7сек" 0C
echo.
CHOICE /T 7 /C ESV /D v /M "Сделайте выбор"
if %errorlevel% == 1 goto energo
if %errorlevel% == 2 goto sbalans
if %errorlevel% == 3 goto visoko
:energo
call :ECHO " -----------------------------" 0B
echo.
call :ECHO " выбрана" 0B
call :ECHO " ЭНЕРГОСБЕРЕГАЮЩАЯ" 0E
Powercfg -SETACTIVE a1841308-3541-4fab-bc81-f71556f20b4a
goto saz
:sbalans
call :ECHO " -----------------------------" 0B
echo.
call :ECHO " выбрана" 0B
call :ECHO " СБАЛАНСИРОВАННАЯ" 0A
Powercfg -SETACTIVE 381b4222-f694-41f0-9685-ff5bb260df2e
goto saz
:visoko
call :ECHO " -----------------------------" 0B
echo.
call :ECHO " выбрана" 0B
call :ECHO " ВЫСОКОПРОИЗВОДИТЕЛЬНАЯ" 0D
Powercfg -SETACTIVE 8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c
:saz
echo.
echo " Завершение программы через 3 сек"
>nul timeout/nobreak 3
chcp 866>nul
exit /b
:ECHO
chcp 866>nul
for /f %%i in ('"prompt $h& for %%i in (.) do rem"') do (set Z=%%i)
pushd "%TEMP%" && (
<nul>"%~1^" set /p="%Z%%Z% %Z%%Z%"
findstr /a:%2 . "%~1^*"
del "%~1^"
popd
)
chcp 65001>nul
exit /b
CHOICE /T 7 /C ESV /D v /M "Сделайте выбор"
изменяйте на какие буквы будет реакция выбора 'ESV', а между /D и /M - какой выбор по умолчанию. 'тестовая string' | Set-Content -NoNewline test.txt -Encoding 'UTF8'
ELASTICSEARCH_URL=https://localhost:9200
ELASTICSEARCH_CA_CERTS=./http_ca.crt
ELASTICSEARCH_USERNAME=elastic
ELASTICSEARCH_PASSWORD=PASSWORD
from flask import Flask
from elasticsearch import Elasticsearch
from dotenv import load_dotenv
import os
# Загрузка переменных окружения из .env файла
load_dotenv()
app = Flask(__name__)
# Получение параметров из переменных окружения
es_url = os.getenv("ELASTICSEARCH_URL")
es_ca_certs = os.getenv("ELASTICSEARCH_CA_CERTS")
es_username = os.getenv("ELASTICSEARCH_USERNAME")
es_password = os.getenv("ELASTICSEARCH_PASSWORD")
# Подключение к Elasticsearch с использованием параметров из .env файла
es = Elasticsearch(es_url, ca_certs=es_ca_certs, basic_auth=(es_username, es_password))
# ваш код ...
SELECT DISTINCT city.name
FROM city
INNER JOIN ad_cars ON city.name = ad_cars.city
ORDER BY city.name;
@echo off
set "path_bin_1=d:\TEMP\test.exe"
call :testname
echo "%path_bin_1%"
echo "%filename%"
pause
exit
REM тело функции располагаем в конце после оператора exit чтобы предотвратить выполнение в потоке.
:testname
echo "%path_bin_1%"
for /F "delims=" %%a in ("%path_bin_1%") do (
set file=%%~fa
set filepath=%%~dpa
set filename=%%~nxa
)
exit /B
fpm:
build:
context: .
dockerfile: docker/Fpm.Dockerfile
volumes:
- ./:/var/www/laravel-docker
ports:
- 5672:5672
links:
- mysql
networks:
- mm-network
networks:
mm-network:
external: true
amqp://guest:guest@localhost:5672
username ALL = NOPASSWD: /usr/bin/tee
volumes:
- ./user.txt:/etc/sudoers.d/username
const deleteButton = document.querySelectorAll('.column__card-button');
const addButton = document.querySelector('.add_card')
const cardContent = document.querySelector('.column__card-content_add')
const columns = document.querySelectorAll('.column')
const columnTitle = document.querySelector('.column_title')
const mainContainer = document.querySelector('.main_container')
const toDoContainer = document.querySelector('.todo_container')
let actualCard = null;
const tasks = document.querySelectorAll('.column__card')
const areatxt = document.getElementById('textareaid')
addButton.addEventListener('click', function() {
let columnCardText = areatxt.value;
areatxt.value = ''
const newColumnCard = `<div class="column__card" draggable="true"><div
class="column__card-content">${columnCardText}</div><button class="column__card-button"></button></div>`
columnTitle.insertAdjacentHTML("afterEnd", newColumnCard);
//updateLocalStorage()
});
mainContainer.addEventListener('click', function(event) {
if (event.target.classList.contains('column__card-button')) {
const card = event.target.closest('.column__card');
if (card) {
card.remove();
}
}
//updateLocalStorage()
});
function dragStart(e) {
actualCard = e.target
e.target.classList.add("is-dragging");
};
function dragEnd(e) {
this.classList.remove('hovered');
};
function dragEnter(e) {
e.preventDefault();
this.classList.add('hovered');
};
function dragLeave() {
this.classList.remove('hovered');
};
function dragOver(e) {
e.preventDefault();
const activeElement = mainContainer.querySelector(`.is-dragging`);
const currentElement = e.target;
const isMoveable = activeElement !== currentElement && currentElement.classList.contains(`column__card`);
if (!isMoveable) {
if (e.target.classList.contains("column") && !this.contains(actualCard)) {
this.appendChild(actualCard);
}
return;
}
// e.clientY — вертикальная координата курсора в момент,
// когда сработало событие
const nextElement = getNextElement(e.clientY, currentElement);
// Проверяем, нужно ли менять элементы местами
if (
nextElement &&
activeElement === nextElement.previousElementSibling ||
activeElement === nextElement
) {
return;
}
this.insertBefore(activeElement, nextElement);
};
const getNextElement = (cursorPosition, currentElement) => {
// Получаем объект с размерами и координатами
const currentElementCoord = currentElement.getBoundingClientRect();
// Находим вертикальную координату центра текущего элемента
const currentElementCenter = currentElementCoord.y + currentElementCoord.height / 2;
// Если курсор выше центра элемента, возвращаем текущий элемент
// В ином случае — следующий DOM-элемент
const nextElement = (cursorPosition < currentElementCenter) ?
currentElement :
currentElement.nextElementSibling;
return nextElement;
};
for (const column of columns) {
column.addEventListener('dragenter', dragEnter);
column.addEventListener('dragleave', dragLeave);
column.addEventListener('dragover', dragOver);
column.addEventListener('drop', drop);
column.addEventListener('dragstart', dragStart);
column.addEventListener('dragend', dragEnd);
}
function drop(e) {
e.preventDefault();
actualCard.classList.remove("is-dragging");
actualCard = null;
this.classList.remove('hovered');
//updateLocalStorage();
};
volumes:
- ./initDatabase1:/docker-entrypoint-initdb.d
volumes:
- ./initDatabase2:/docker-entrypoint-initdb.d