Skip to content

Commit

Permalink
расположение фильтра улиц и отображения улиц на одной странице
Browse files Browse the repository at this point in the history
  • Loading branch information
sashachernyakova committed Dec 11, 2024
1 parent 24ad4a8 commit ac16835
Show file tree
Hide file tree
Showing 2 changed files with 14 additions and 20 deletions.
29 changes: 13 additions & 16 deletions citywalls2/controllers/streetController.js
Original file line number Diff line number Diff line change
Expand Up @@ -51,24 +51,15 @@ exports.export = asyncHandler(async (req, res) => {
res.json(exportData);
});

// Маршрут для страницы фильтрации улиц
exports.streets_filter = asyncHandler(async (req, res) => {
// Получаем список уникальных типов улиц и районов из базы
exports.streets = asyncHandler(async (req, res) => {
const { type, district } = req.query;

// Запрашиваем список уникальных типов и районов
const typesCursor = await db.query('FOR street IN streets RETURN DISTINCT street.type');
const types = await typesCursor.all();

const districtsCursor = await db.query('FOR street IN streets RETURN DISTINCT street.district');
const districts = await districtsCursor.all();

res.render('streets_filter', {
title: 'Улицы Санкт-Петербурга',
types,
districts
});
});

exports.streets = asyncHandler( async (req, res) => {
const { type, district } = req.query;

// Строим запрос с учётом фильтров
let query = 'FOR street IN streets';
Expand All @@ -91,8 +82,14 @@ exports.streets = asyncHandler( async (req, res) => {
const streetsCursor = await db.query(query, bindVars);
const streets = await streetsCursor.all();

// Отправляем отфильтрованные данные на фронтенд
res.render('streets', { title: 'Улицы Санкт-Петербурга (результат фильтрации)', streets });
// Отправляем данные на фронтенд
res.render('streets', {
title: 'Улицы Санкт-Петербурга',
types,
districts,
streets,
filters: { type, district },
});
});

exports.housesByStreet = asyncHandler(async (req, res) => {
Expand Down
5 changes: 1 addition & 4 deletions citywalls2/routes/main.js
Original file line number Diff line number Diff line change
Expand Up @@ -13,10 +13,7 @@ router.post('/import', street_controller.import)
// Маршрут для экспорта данных
router.get('/export', street_controller.export)

// Маршрут для страницы фильтрации улиц
router.get('/main/streets', street_controller.streets_filter)

router.get('/main/streets/filter', street_controller.streets)
router.get('/main/streets', street_controller.streets)

// Маршрут для отображения домов конкретной улицы
router.get('/main/streets/:streetName/houses', street_controller.housesByStreet);
Expand Down

0 comments on commit ac16835

Please sign in to comment.