Skip to content

Commit

Permalink
LDBR-2.21: Страница доски и интеграционная ветка (#25)
Browse files Browse the repository at this point in the history
* LDBR-2.12: Перевести проект на Flux-архитектуру.

* LDBR-2.12: Исправить actions & actionTypes, добавить каналы в EventBus, подробнее раскрыть Dispatcher, убрать use strict, переименовать переменные в Router и починить историю, изменить алгоритм инициализирующего запроса, вынести в константу неизменяемые параметры запросов Network.

* LDBR-2.12: Переименовать действие init в fetchUser.

* LDBR-2.12: Исправить NotFoundView, исправить logout, исправить замечания из PR, исправить структуру папок actions.

* LDBR-2.12: Исправить адреса на адреса деплоя.

* LDBR-2.12: Исправить .eslintrc.json

* LDBR-2.12: Исправить порт в server.js

* LDBR-2.12: Исправить Dispatcher, исправить EventBus.

* LDBR-2.12: Исправить Dispatcher, исправить EventBus.

* LDBR-2.12: Обновить версию eslint.

* LDBR-2.12: Исправить getContext.

* LDBR-2.1: Дополнить README (#21)

* LDBR-2.1: Дополнить README.md: внести структуру каталогов, внести кодстайл, внести инструкцию к командам.

* LDBR-2.1: Убрать файлы из README.md

* LDBR-2.13: Рефакторинг страницы входа (#20)

* LDBR-2.13: Исправить дизайн страницы входа, добавить шрифты на сервер, обновить стили.

* LDBR-2.13: Вынести валидацию в хранилище, добавить сохранение валидного ввода, перевести все картинки в формат .webp.

* LDBR-2.13: Заменить .png на .webp в Navbar'е.

* LDBR-2.13: Исправить цвета в css, удалить метод __isOpened, убрать валидацию из view, исправить setContext, исправить payload.

* LDBR-2.14: Рефакторинг страницы регистрации (#22)

* LDBR-2.12: Исправить getContext.

* LDBR-2.14: Исправить страницу регистрации, изменить дизайн интерфейса.

* LDBR-2.14: Исправить валидацию: разделить на две формы. Исправить замечания в ПР.

* LDBR-2.13: Убрать мошенничество в jsdoc, поправить уезжающий контейнер логина.

* LDBR-2.21: Тест компонентов для доски и сама доска. Требуется масштабная доработка.

* LDBR-2.21: Добавить заготовки для actions, починить компоненты и store.

* LDBR-2.21: Частично подправить ветку в соответствии с main.

* LDBR-2.21: Написать actions для карточек, улучшить код, починить CI.

* LDBR-2.21: Исправить Profile после интеграции с бэкендом.

* LDBR-2.21: Добавить Network-запросы, добавить actions.

* LDBR-2.21: Исправить некорректную работу создания доски.

* LDBR-2.21: CI.

* LDBR-2.21: Временно принимать только png.

* LDBR-2.21: Исправить перед РК

* LDBR 2.21: Фикс верстки  (#27)

* LDBR-2.21: Добавить работу с SCSS

* LDBR-2.21: Исправить поломку заголовка карточки

* LDBR-2.21: Убрать префиксы blick

* LDBR-2.21: Создасть div с id под popup

* LDBR-2.21: Добавить правки в верстку

* LDBR-2.21 Убрать нераспознанные опции вебпака

* LDBR-2.21: Исправить причину падения сборки

* LDBR-2.21: Отрефакторить fetchUser.

* LDBR-2.21: Исправить actions, исправить views.

* LDBR-2.29: Добавить в конструктор BaseComponent функционал из BaseView и параметры под PopUp

* LDBR-2.29: Переписать render функцию в BaseComponent, addComponent

* LDBR-2.29: Удалить popup из компонентов

* LDBR-2.29: Переписать затронутые измениями BaseComponent участки кода

* LDBR-2.29: Исправить баг с контекстом списка шаблонов

* LDBR-2.29: Исправить замечания линтера

* LDBR-2.29: Удалить _setContext из BaseView

* LDBR-2.26: Добавить типы action'ов доски

* LDBR-2.26: Добавить board action'ы

* LDBR-2.26: Добавить popup настроек доски

* LDBR-2.26: Создать класс popup'a для создания доски, добавить обновление списка досок после создания очередной доски

* LDBR-2.26: Вынести стили из BoardsView

* LDBR-2.26: Реализовать окно настроек доски

* LDBR-2.26: Добавить Actions для CL и шаблоны

* LDBR-2.26: Добавить классы CardListPopUp и DeleteCardListPopUp

* LDBR-2.26: Регистрация helper'ов в webpack'e

* LDBR-2.26: Добавить решение для работы нескольких popup'ов с один стором

* LDBR-2.26: Реализовать работу окна создания списка карточек

* LDBR-2.26: Добавить обработчики на кнопки CardList'ов

* LDBR-2.26: Добавить функционал редактирования списка карточек

* LDBR-2.26: Добавить функционал удаления списка карточек

* LDBR-2.26: Исправить замечания линтера

* LDBR-2.26: Удалить не нужные комментарии

* LDBR-2.26: Внести исправления после ревью

* LDBR-2.26: Исправть смену порядка карточек после изменения позиции карточки

* LDBR-2.26: Переписать popup'ы на компоненты view

* LDBR-2.26: Заменить строку константой

* LDBR-2.26: Сделать кнопку Пригласить визуально disabled

* LDBR-2.26: Исправить шаблон CreateBoardPopUp

* LDBR-2.26: Исправить замечания линтера

* LBDR 2.29: Вынести общий функционал в Base Component (#28)

* LDBR-2.29: Добавить в конструктор BaseComponent функционал из BaseView и параметры под PopUp

* LDBR-2.29: Переписать render функцию в BaseComponent, addComponent

* LDBR-2.29: Удалить popup из компонентов

* LDBR-2.29: Переписать затронутые измениями BaseComponent участки кода

* LDBR-2.29: Исправить баг с контекстом списка шаблонов

* LDBR-2.29: Исправить замечания линтера

* LDBR-2.29: Удалить _setContext из BaseView

Co-authored-by: DPeshkoff <[email protected]>

* LDBR-2.27: Исправить карточки (#30)

* rebase from LDBR-2.26

* LDBR-2.27: Исправить Navbar: убрать доски для невошедших.

* LDBR-2.27: Исправить LoginView: починить стиль для кнопки.

* LDBR-2.27: Переделать попапы карточек. Ребейзнуть исправления системы попапов. Исправить отображение карточек.

* LDBR-2.27: Исправить перенаправление на странице входа, исправить получение контекста для страницы профиля.

* LDBR-2.27: Rebase и часть правок к ПР.

* LDBR-2.27: Исправления замечаний из ПР.

* LDBR-2.27: Исправить перенаправление на странице логина.

* LDBR-2.27: Исправить попап создания доски.

* LDBR-2.27: Исправить попапы

* LDBR-2.27: Исправить попап создания доски.

* LDBR-2.27: Исправить попап.

* LDBR-2.27: исправить этот дурацкий попап.

* LDBR-2.27: Попытка починить helper... раньше работалgit add src/git add src/

* LDBR-2.27: Временно убрать дедлайн.

* LDBR-2.27: Закомментировать хелпер целиком, потому что он якобы где-то вызывается :\.

* LDBR-2.27: Убрать нерабочий функционал: дедлайн.

* LDBR-2.27: Убрать нерабочий функционал: страница регистрации.

* LDBR-2.27: Починить удаление карточки.

* LDBR-2.27: Починить CI.

* LDBR-2.27: Исправить перемещение карточки.

* LDBR-2.27: Исправить перемещение карточки.

* LDBR-2.27: Исправить перемещение карточки.

* LDBR-2.27: Попытка исправить передачу параметров.

* LDBR-2.27: Попытка исправить передачу параметров.

* LDBR-2.27: Исправить баг с удалением списка карточек

* LDBR-2.27: Исправить баг с обновлением заголовка и значка описания карточки

* LDBR-2.27: Исправить работу роутера на ридеректах

* LDBR-2.27: Исправить валидацию пароля

* LDBR-2.27: Добавить проверку авторизации в onShow профиля

Co-authored-by: Georgiy <[email protected]>

* LDBR-2.20: Service Worker (#31)

* rebase from LDBR-2.26

* LDBR-2.27: Исправить Navbar: убрать доски для невошедших.

* LDBR-2.27: Исправить LoginView: починить стиль для кнопки.

* LDBR-2.27: Переделать попапы карточек. Ребейзнуть исправления системы попапов. Исправить отображение карточек.

* LDBR-2.27: Исправить перенаправление на странице входа, исправить получение контекста для страницы профиля.

* LDBR-2.20: Неработающий service worker.

* rebase from LDBR-2.26

* LDBR-2.27: Исправить Navbar: убрать доски для невошедших.

* LDBR-2.27: Исправить LoginView: починить стиль для кнопки.

* LDBR-2.27: Переделать попапы карточек. Ребейзнуть исправления системы попапов. Исправить отображение карточек.

* LDBR-2.27: Исправить перенаправление на странице входа, исправить получение контекста для страницы профиля.

* LDBR-2.27: Rebase и часть правок к ПР.

* LDBR-2.27: Исправления замечаний из ПР.

* LDBR-2.27: Исправить перенаправление на странице логина.

* LDBR-2.27: Исправить попап создания доски.

* LDBR-2.27: Исправить попапы

* LDBR-2.27: Исправить попап создания доски.

* LDBR-2.27: Исправить попап.

* LDBR-2.27: исправить этот дурацкий попап.

* LDBR-2.27: Попытка починить helper... раньше работалgit add src/git add src/

* LDBR-2.27: Временно убрать дедлайн.

* LDBR-2.27: Закомментировать хелпер целиком, потому что он якобы где-то вызывается :\.

* LDBR-2.27: Убрать нерабочий функционал: дедлайн.

* LDBR-2.27: Убрать нерабочий функционал: страница регистрации.

* LDBR-2.27: Починить удаление карточки.

* LDBR-2.27: Починить CI.

* LDBR-2.27: Исправить перемещение карточки.

* LDBR-2.27: Исправить перемещение карточки.

* LDBR-2.27: Исправить перемещение карточки.

* LDBR-2.27: Попытка исправить передачу параметров.

* LDBR-2.27: Попытка исправить передачу параметров.

* LDBR-2.27: Исправить баг с удалением списка карточек

* LDBR-2.27: Исправить баг с обновлением заголовка и значка описания карточки

* LDBR-2.20: Починить Service Worker.

* LDBR-2.20: Исправления для линтера.

* LDBR-2.20: Исправить двойной импорт.

* LDBR-2.27: Исправить работу роутера на ридеректах

* LDBR-2.27: Исправить валидацию пароля

* LDBR-2.27: Добавить проверку авторизации в onShow профиля

* LDBR-2.20: исправить ServiceWorker.

* LDBR-2.20: исправить профиль.

* LDBR-2.20: исправить профиль.

* LDBR-2.20: исправить профиль.

* LDBR-2.20: исправить профиль.

* LDBR-2.20: исправить sw.

* LDBR-2.20: убрать offline.html.

* LDBR-2.20: убрать stopPropagation.

Co-authored-by: Georgiy <[email protected]>

* LDBR-2.21: исправить компоненты, исправить верстку, исправить удаление карточек и списков карточек.

* LDBR-2.21: Внести ошибку в if.

Co-authored-by: GeorgiyX <[email protected]>
Co-authored-by: Georgiy <[email protected]>
  • Loading branch information
3 people authored Nov 10, 2021
1 parent 307e244 commit cde26da
Show file tree
Hide file tree
Showing 71 changed files with 11,094 additions and 3,973 deletions.
4 changes: 4 additions & 0 deletions .eslintignore
Original file line number Diff line number Diff line change
@@ -1 +1,5 @@
/src/tmpl.js

*.tmpl.js

dist/*
12 changes: 7 additions & 5 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,5 @@
[![CI](https://github.com/frontend-park-mail-ru/2021_2_LadnoDavayteBezRoflov/actions/workflows/CI.yml/badge.svg?branch=main)](https://github.com/frontend-park-mail-ru/2021_2_LadnoDavayteBezRoflov/actions/workflows/CI.yml)

# Trello

Trello frontend repository for Ladno Davayte Bez Roflov team, autumn of 2021.
Expand All @@ -6,14 +8,14 @@ Trello frontend repository for Ladno Davayte Bez Roflov team, autumn of 2021.

* [Anton Chumakov](https://github.com/TonyBlock);
* [Alexander Orletskiy](https://github.com/Trollbump);
* [Georgij Sedojkin](https://github.com/GeorgiyX);
* [Dmitrij Peshkov](https://github.com/DPeshkoff).
* [Georgiy Sedoykin](https://github.com/GeorgiyX);
* [Dmitriy Peshkov](https://github.com/DPeshkoff).

### Mentors

* [Ekaterina Alekseeva](https://github.com/yletamitlu) — frontend mentor;
* [Gavrilenco Roman](https://github.com/gavroman) — frontend mentor;
* [Timofej Razumov](https://github.com/TimRazumov) — backend mentor.
* [Roman Gavrilenco](https://github.com/gavroman) — frontend mentor;
* [Timofey Razumov](https://github.com/TimRazumov) — backend mentor.

### Backend repository
[Link to backend repository](https://github.com/go-park-mail-ru/2021_2_LadnoDavayteBezRoflov).
Expand Down Expand Up @@ -79,7 +81,7 @@ Latest version: `0.2.0`: *Transferred to Flux architecture, refactored every mod

### Code style
The project is written using slightly modified [Google ESling config](https://github.com/google/eslint-config-google). Code style changes:

* **Semicolons** at the end of statements are **required**;
* Use of **single quotes** wherever possible is **required**;
* **4-space** indentation is **required**;
Expand Down
10,607 changes: 7,055 additions & 3,552 deletions package-lock.json

Large diffs are not rendered by default.

36 changes: 22 additions & 14 deletions package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "ladnodavaytebezroflov-frontend",
"version": "0.2.0",
"version": "0.2.1",
"description": "LadnoDavayteBezRoflov team, Technopark, autumn of 2021",
"main": "./server/server.js",
"scripts": {
Expand All @@ -12,7 +12,7 @@
"server-dev": "npx webpack serve",
"start-dev": "npm run server-dev",
"build": "NODE_ENV='production' npx webpack",
"server": "node server/server.js",
"server": "sudo node server/server.js",
"start": "npm run build && npm run server"
},
"repository": {
Expand All @@ -29,29 +29,37 @@
},
"homepage": "https://github.com/frontend-park-mail-ru/2021_2_LadnoDavayteBezRoflov#readme",
"dependencies": {
"body-parser": "^1.18.3",
"eslint": "^7.5.0",
"body-parser": "^1.19.0",
"eslint": "^8.2.0",
"eslint-config-google": "^0.14.0",
"eslint-plugin-unused-imports": "^1.1.5",
"express": "^4.17.1",
"express": "5.0.0-alpha.8",
"handlebars": "^4.7.7",
"handlebars-loader": "^1.7.1",
"morgan": "^1.9.1"
"morgan": "^1.10.0"
},
"devDependencies": {
"@babel/core": "^7.15.8",
"@babel/plugin-transform-runtime": "^7.15.8",
"@babel/preset-env": "^7.15.8",
"@babel/core": "^7.16.0",
"@babel/plugin-transform-runtime": "^7.16.0",
"@babel/preset-env": "^7.16.0",
"babel-loader": "^8.2.3",
"clean-webpack-plugin": "^4.0.0",
"copy-webpack-plugin": "^5.1.2",
"css-loader": "^6.5.0",
"copy-webpack-plugin": "^9.0.1",
"css-loader": "^6.5.1",
"html-webpack-plugin": "^5.5.0",
"mini-css-extract-plugin": "^2.4.3",
"mini-css-extract-plugin": "^2.4.4",
"node-sass": "^6.0.1",
"sass-loader": "^12.3.0",
"webpack": "^5.60.0",
"webpack": "^5.62.1",
"webpack-cli": "^4.9.1",
"webpack-dev-server": "^4.4.0"
"webpack-dev-server": "^4.4.0",
"workbox-build": "^6.3.0",
"workbox-cli": "^6.3.0",
"workbox-core": "^6.3.0",
"workbox-expiration": "^6.3.0",
"workbox-precaching": "^6.3.0",
"workbox-routing": "^6.3.0",
"workbox-strategies": "^6.3.0",
"workbox-webpack-plugin": "^6.3.0"
}
}
2 changes: 2 additions & 0 deletions server/server.js
Original file line number Diff line number Diff line change
Expand Up @@ -23,8 +23,10 @@ app.use([/\/bundle\.[A-Za-z0-9]*\.js/, /\/style\.[A-Za-z0-9]*\.css/], cacheMW);

/* Директория со статикой */
const distFolder = path.resolve(__dirname, '..', 'dist');
const avatarsFolder = path.resolve(__dirname, '..', 'public');
/* Используем статику */
app.use(express.static(distFolder));
app.use(express.static(avatarsFolder));

/* Реагируем на любые запросы посылкой index.html */
app.all('*', (req, res) => {
Expand Down
81 changes: 81 additions & 0 deletions src/actions/board.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,81 @@
'use strict';

// Modules
import Dispatcher from '../modules/Dispatcher/Dispatcher.js';

/**
* Константа, содержащая в себе типы действий для списка досок.
*/
export const BoardActionTypes = {
// Открыть popup настройки доски
POPUP_BOARD_SHOW: 'board/popup/board/show',
// Закрыть popup настройки доски
POPUP_BOARD_HIDE: 'board/popup/board/hide',
// Кнопка обновить (название + описание доски)
POPUP_BOARD_UPDATE: 'board/popup/board/update',
// Отобразить диалог подтверждения удаления доски
POPUP_BOARD_DELETE_SHOW: 'board/popup/delete/show',
// Закрытие диалога подтверждения удаления доски (нажато да/нет)
POPUP_BOARD_DELETE_HIDE: 'board/popup/delete/hide',
};

/**
* Класс, содержащий в себе действия, иницируемые с BoardView.
*/
export const boardActions = {

/**
* Отобразить popup настроек доски
*/
showBoardSettingsPopUp() {
Dispatcher.dispatch({
actionName: BoardActionTypes.POPUP_BOARD_SHOW,
});
},

/**
* Скрыть popup с настройками доски
*/
hideBoardSettingsPopUp() {
Dispatcher.dispatch({
actionName: BoardActionTypes.POPUP_BOARD_HIDE,
});
},

/**
* Обновить заглавие и описание доски
* @param {String} boardName
* @param {String} description
*/
updateBoardTitleDescription(boardName, description) {
Dispatcher.dispatch({
actionName: BoardActionTypes.POPUP_BOARD_UPDATE,
data: {
board_name: boardName,
description,
},
});
},

/**
* Отобразить диалог подтверддения удаления доски
*/
showConfirmDeleteBoard() {
Dispatcher.dispatch({
actionName: BoardActionTypes.POPUP_BOARD_DELETE_SHOW,
});
},

/**
* Закрыть диалог подтверждения удаления доски
* @param {Boolean} confirmed - подтверждено или нет удаление доски
*/
hideConfirmDeleteBoard(confirmed) {
Dispatcher.dispatch({
actionName: BoardActionTypes.POPUP_BOARD_DELETE_HIDE,
data: {
confirmed,
},
});
},
};
30 changes: 25 additions & 5 deletions src/actions/boards.js
Original file line number Diff line number Diff line change
Expand Up @@ -8,9 +8,10 @@ import Dispatcher from '../modules/Dispatcher/Dispatcher.js';
*/
export const BoardsActionTypes = {
BOARDS_GET: 'boards/get',
BOARD_GET: 'board/get',
BOARDS_CREATE: 'boards/create',
BOARDS_MODAL_SHOW: 'boards/modal/show',
BOARDS_MODAL_HIDE: 'boards/modal/hide',
BOARDS_POPUP_SHOW: 'boards/popup/show',
BOARDS_POPUP_HIDE: 'boards/popup/hide',
};

/**
Expand All @@ -26,7 +27,22 @@ export const boardsActions = {
});
},

/**
* Действие: запрос доски с определенным id.
* @param {any} id
*/
getBoard(id) {
Dispatcher.dispatch({
actionName: BoardsActionTypes.BOARD_GET,
data: {id},
});
},

/**
* Действие: создание доски.
* @param {String} name - название доски
* @param {int} teamID - номер команды
*/
createBoard(name, teamID) {
Dispatcher.dispatch({
actionName: BoardsActionTypes.BOARDS_CREATE,
Expand All @@ -37,18 +53,22 @@ export const boardsActions = {
});
},

/**
* Действие: открытие модального окна для команды.
* @param {int} teamID - номер команды
*/
showModal(teamID) {
Dispatcher.dispatch({
actionName: BoardsActionTypes.BOARDS_MODAL_SHOW,
actionName: BoardsActionTypes.BOARDS_POPUP_SHOW,
data: {
teamID,
},
});
},

hideModal() {
hidePopUp() {
Dispatcher.dispatch({
actionName: BoardsActionTypes.BOARDS_MODAL_HIDE,
actionName: BoardsActionTypes.BOARDS_POPUP_HIDE,
});
},
};
132 changes: 132 additions & 0 deletions src/actions/card.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,132 @@
'use strict';

// Modules
import Dispatcher from '../modules/Dispatcher/Dispatcher.js';

/**
* Константа, содержащая в себе типы действий для списка досок.
*/
export const CardActionTypes = {
CARD_CREATE_SHOW_POPUP: 'card/create/show',
CARD_EDIT_SHOW_POPUP: 'card/edit/show',
CARD_HIDE_POPUP: 'card/hide',
CARD_UPDATE_SUBMIT: 'card/update/submit',
CARD_CREATE_SUBMIT: 'card/create/submit',
CARD_DELETE_SHOW: 'card/delete/show',
CARD_DELETE_CHOOSE: 'card/delete/choose',
CARD_DELETE_HIDE: 'card/delete/hide',
};

/**
* Класс, содержащий в себе действия в системе.
*/
export const cardActions = {
/**
* Отобразить popup создания карточки
* @param {Number} clid id списка карточек
*/
showCreateCardPopUp(clid) {
Dispatcher.dispatch({
actionName: CardActionTypes.CARD_CREATE_SHOW_POPUP,
data: {clid},
});
},

/**
* Отобразить popup редактирования карточки
* @param {Number} clid id списка карточек
* @param {Number} cid id карточки
*/
showEditCardPopUp(clid, cid) {
Dispatcher.dispatch({
actionName: CardActionTypes.CARD_EDIT_SHOW_POPUP,
data: {
clid,
cid,
},
});
},

/**
* Скрыть popup создания/редактирования карточки
*/
hidePopUp() {
Dispatcher.dispatch({
actionName: CardActionTypes.CARD_HIDE_POPUP,
});
},

/**
* Обновляет список карточек
* @param {Number} position позиция на доске
* @param {String} title заголовок
* @param {String} description описание
* @param {Number} cid id карточки
* @param {Number} bid id доски
* @param {Number} clid id списка карточек
*/
updateCard(position, title, description, cid, bid, clid) {
Dispatcher.dispatch({
actionName: CardActionTypes.CARD_UPDATE_SUBMIT,
data: {
card_name: title,
description,
pos: position,
cid,
bid,
clid,
},
});
},

/**
* Создает карточку
* @param {String} title заголовок
* @param {String} description описание
*/
createCard(title, description) {
Dispatcher.dispatch({
actionName: CardActionTypes.CARD_CREATE_SUBMIT,
data: {
card_name: title,
description,
// deadline,
},
});
},

/**
* Отобразить popup удаления карточки
* @param {Number} clid id списка карточек
* @param {Number} cid id карточки
*/
showDeleteCardPopUp(clid, cid) {
Dispatcher.dispatch({
actionName: CardActionTypes.CARD_DELETE_SHOW,
data: {
clid,
cid,
},
});
},

/**
* Скрыть pop удаления карточки с выбором "удалять" или "не удалять"
* @param {Boolean} confirmation подтверждено ли удаление
*/
deleteCard(confirmation) {
Dispatcher.dispatch({
actionName: CardActionTypes.CARD_DELETE_CHOOSE,
data: {confirmation},
});
},

/**
* Скрыть pop удаления карточки
*/
hideDeleteCardPopUp() {
Dispatcher.dispatch({
actionName: CardActionTypes.CARD_DELETE_HIDE,
});
},
};
Loading

0 comments on commit cde26da

Please sign in to comment.