Skip to content

Commit be39ef3

Browse files
committed
[PROJ-18.11/compl] deleting-days-comments
Deleting "habbit-days/comnts". Updating "data/localStorage", re-render. Worth noting: - implicit changes, in line "return { ...habbit, days: habbit.days }". FS-dev: B-3 / JS basic
1 parent 63cf9ff commit be39ef3

File tree

1 file changed

+15
-2
lines changed
  • full-stack-dev/3-js-basic/18-proj-habit-tracker/18-11-deleting-days-comments/js

1 file changed

+15
-2
lines changed

full-stack-dev/3-js-basic/18-proj-habit-tracker/18-11-deleting-days-comments/js/index.js

Lines changed: 15 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -100,7 +100,7 @@ function rerenderHabbitDaysContentEl(activeHabbit) {
100100
}</div>
101101
<div class="habbit-days__comment-wrap">
102102
<div class="habbit-days__comment">${activeHabbit.days[i].comment}</div>
103-
<button class="habbit-days__delete-btn" type="button" aria-label="Удалить день" title="Удалить день">
103+
<button class="habbit-days__delete-btn" type="button" aria-label="Удалить день" title="Удалить день" onclick="deleteCommentDay(${i})">
104104
<img class="habbit-days__delete-icon" src="./images/trash-icon.svg" width="24" height="24"
105105
alt="Иконка: Мусорное ведро">
106106
</button>
@@ -167,7 +167,7 @@ function addCommentDay(event) {
167167

168168
habbits = habbits.map((habbit) => {
169169
if (habbit.id === globalActiveHabbitId) {
170-
return { ...habbit, days: habbit.days.concat({ comment: dayComment }) }; // создание новых объектов, на основе старых (с корректировкой поля days)
170+
return { ...habbit, days: habbit.days.concat({ comment: dayComment }) }; // создание новых объектов, на основе старых (с корректировкой поля/массива days)
171171
}
172172
return habbit;
173173
});
@@ -180,6 +180,19 @@ function addCommentDay(event) {
180180
}
181181
}
182182

183+
function deleteCommentDay(index) {
184+
habbits = habbits.map((habbit) => {
185+
if (habbit.id === globalActiveHabbitId) {
186+
habbit.days.splice(index, 1);
187+
return { ...habbit, days: habbit.days }; // создание новых объектов, на основе старых (с корректировкой поля/массива days)
188+
}
189+
return habbit;
190+
});
191+
192+
rerender(globalActiveHabbitId); // перерисовка всего/content элемента
193+
saveData(); // обновление/сохранение в localStorage
194+
}
195+
183196
// init
184197
(() => {
185198
// загрузка данных.. по сути автоматическая/сразу (соответственно через IIFE)

0 commit comments

Comments
 (0)