Как я создаю своё первое мобильное приложение

Процесс шел с 24 октября по 19 ноября 2017 года, суть приложения — создание заметок, инструмент — Fuse, мой уровень знаний — базовое знание HTML/CSS

Меню

15.11.2017


11. Удаление стикера

Алгоритм удаление стикера мало чем отличается от редактирования, поэтому этот шаг будет с легкостью выполнен на базе прошлого.

JS-алгоритм практически схож с алгоритмом из прошлого шага, отличается лишь 7 и 9 строка, где пользователя спрашивают об удалении, после чего метод splice «вырезает» выбранную заметку из массива:

// есть какой-то массив заметок, видимый пользователю
var flow = ["0. Дождик капает", "1. По лужам", "2. значит я кому-то нужен"];
alert(flow);
// выбирает определённую заметку (объявили номер выбранной заметки)
var number_of_note = prompt('Выбери заметку (введи ее номер): ' + flow);
// подтверждает удаление (вводим новое значение) выбранной заметки (создаём новое значение)
prompt('Удалить заметку?', flow[number_of_note]);
// заметка вырезается из массива
flow.splice(number_of_note, 1);
// обновлённый массив показывается пользователю
alert(flow);

В пробе алгоритма в UX Markup тоже мало изменений по сравнению с прошлым шагом: добавил кнопку удаления и прописал для неё простую функцию:

function del() {
    flow.remove(list.value);
    values.clear();
    list.clear();
};

Соответственно и в текущей версии правок минимум: на окне редактирования добавил кнопку удаления и приписал к ней необходимую функцию:

function del() {
    flow.remove(list.value);
    values.clear();
    goto_flow();
};

Отлично, теперь приложение сможет удалять стикеры:



Скачать архив проекта

После внесения основных правок начал тестировать приложение, нашёл парочку нюансов, в частности при повторном выборе существующей заметки без внесения изменений показывалось пустое поле. Это было связано с тегом ToggleSelection, который по умолчанию работает как чекбокс: то выбирает объект в выборку, но убирает. Я добавил другой режим Add Only с помощью тега Mode, и теперь при клике на стикер он попадает в выборку, а после нажатия отмены я прописал очищение этой выборки. Теперь всё работает как положено.