Искусство тайм-менеджмента: как правильно составлять to-do лист
Правильно управлять своим временем — искусство, которому стоит поучиться. На это надо потратить время, однако результат превзойдет все ожидания. Те, кто овладевает тайм-менеджментом, становятся гораздо производительнее и счастливее.
Исследование, которое упоминает в своей книге «Тайм-менеджмент за 30 минут» Ольга Азарова, показывает, что 36 % рабочего времени тратится впустую. Главная причина — в неправильном планировании. Чтобы ты не тратила драгоценные минуты зря, мы вместе с экспертом Наргиз Нойманн-Зандер рассказали об основах эффективного планирования.
Наргиз Нойманн-Зандер
гипнотерапевт, психолог, коуч
Что-то с памятью моей стало
Память человека имеет свойство «засоряться», так же как память смартфона с гигабайтами файлов. Чтобы освободить себя от ненужного, нужно выписывать мысли на бумагу. Причем именно бумага имеет терапевтический эффект и не идет ни в какое сравнение с электронным планшетом. Гаджеты помогают быть мобильной, а не здоровой.
Читайте на тему:
Если периодически не проводить очистку памяти, можно заметить, как путаются мысли, вылетают привычные слова. Не говоря уже о том, что проявляются физические ощущения усталости: жжение в затылочной части или головокружение. Новые идеи в переполненной голове не рождаются. Поэтому берем за правило: составлять списки нужно! Но не все списки одинаково полезны.
Давай разбираться.
Для галочки
Частая проблема домохозяек — имитировать бурную деятельность длинным списком, где в подробностях расписываются рутинные задачи вроде «почистить ботинки», «помыть посуду», «нанести маску на лицо». Согласись, это не стоит записывать. То, что можно сделать без списка, сделай сразу. Сюда же можно отнести дела, которые не имеют никакой ценности для конкретного человека.
Список сверхчеловека
- Съездить на дачу.
- Купить сыну ботинки.
- Дописать статью.
- Провести конференцию в Zoom.
- Сделать холодную рассылку.
- Собрать мужа в командировку.
- Приготовить обед из трех блюд.
- Отправиться на утренник ребенка.
- Провести влажную уборку.
- Отдать костюм в химчистку.
Сколько дней тебе понадобится, чтобы выполнить все эти задачи? Только при одном взгляде на этот список желание выполнить хотя бы один пункт отпадет. Сверхзадачность демотивирует. Люди, которые стремятся успеть прожить несколько жизней в одной, больше подвержены выгоранию. Прими, что жизнь одна и твой темп в ней должен быть не быстрым, а комфортным.
Есть такая тактика — одно дело в день. Это действительно эффективно. Нужно очень постараться, чтобы не выполнить единственную задачу. Главное — определить конкретное дело, которое прямо влияет на глобальную цель. Если ты его выполнишь, то у тебя будет причина для гордости.
Это лучше, чем ругать себя за то, что ты не успела завершить 10 задач.
Как определить единственное дело
Все, что ты делаешь, должно приводить к результату. Поэтому для начала нужно определить, какого результата ты хочешь достичь завтра или в будущем.
Например, твоя цель — зарабатывать удаленно определенную сумму. Уточни для себя все детали. Цель не должна быть размытой, иначе шаги к ее реализации тоже будут нечеткими и размытыми. Следовательно, если каждый день ты будешь слушать один обучающий урок, читать книгу по теме, делать рассылку заказчикам, то все равно придешь к желаемому результату.
Одна задача в день способна изменить жизнь. Хочешь достичь результата быстрее? Добавляй пункты, но не делай список огромным. Мы уже говорили про сверхзадачи и выгорание.
С точки зрения гипноза и психологии человек может не доводить начатое до конца по нескольким причинам: если он/она не справляется с внутренним сопротивлением, если он/она не замотивирован(а), если он/она физически не справляется с количеством задач, которые взваливает на себя. Когда ты понимаешь истинную причину своей цели, то легко можешь спланировать план действий и достичь желаемого.
Подписывайся на страницы WMJ.ru в ВКонтакте, Одноклассниках, Facebook, Instagram и Telegram Фото: Pexels
Источник: www.wmj.ru
Как использовать Microsoft To-Do List для организации личной и рабочей жизни
Microsoft To-Do — это облачное приложение для управления повседневными задачами. Вы можете использовать это приложение как ежедневник, чтобы составлять списки покупок или делать заметки. Вы также можете использовать его как диспетчер задач личной жизни, устанавливая напоминания о встречах или назначая работу своим подчиненным.
Смотрите также: Google Home не подключается к Wi-Fi? Попробуйте эти 5 исправлений
Например, вы можете создать список ежедневных дел и поделиться доступом к нему с другими членами семьи. Теперь все члены вашего дома будут иметь список и делиться ежедневной работой.
Точно так же вы также можете использовать это приложение для управления и назначения задач среди членов команды на работе. Каждый член команды может получить доступ к поставленным перед ним задачам в одном месте. И последнее, но не менее важное: вы также можете использовать это приложение, чтобы делиться заметками из колледжа со своим одноклассником.
Источник изображения: Майкрософт
Как создать свой первый список дел
Теперь вы можете начать использовать это приложение, создав свой первый список для управления задачами. Для этого
- Вам нужно нажать на новый вариант списка.
- Присвойте имя списку. Вы также можете добавить смайлики к имени.
- Вы также можете изменить цветовую тему, выбрав цветные точки.
- Чтобы изменить фон, вы можете нажать на фотографию и выбрать новое изображение.
- Нажмите Создать список.
Смотрите также: Как объединить несколько подключений к Интернету в Windows 10?
После того, как список создан, вы можете выполнять такие операции, как переименование, удаление и изменение в нем, щелкнув трехточечный значок в правой части экрана приложения.
Как добавить задачи в список дел
Теперь, когда ваш список создан, пришло время добавить в него задачи. Чтобы добавить задачи в список, вам необходимо:
- Выберите конкретный список на главном экране приложения.
- Затем нажмите значок + в правом нижнем углу приложения.
- Теперь введите свою задачу в список.
- Установите срок выполнения задачи.
- Вы можете использовать встроенный календарь, чтобы назначить дату выполнения. Нажмите OK, когда закончите.
- Вы также можете установить напоминание, щелкнув параметр «Напомнить мне».
- Вы можете использовать встроенный календарь, чтобы выбрать день, о котором вы хотите получить напоминание.
- Нажмите на дату, чтобы подтвердить напоминание.
- Воспользуйтесь календарем, чтобы выбрать день, о котором нужно напомнить. Затем нажмите на дату для подтверждения.
- Когда вы закончите, нажмите на стрелку или клавишу ввода, чтобы добавить созданную задачу в список.
- Чтобы создать любую новую задачу, вы должны повторить тот же процесс.
Как создать общий список дел и назначить задачи другим
Вы также можете создавать списки, которыми могут делиться разные пользователи. Чтобы создать общий список, вам нужно будет пригласить пользователей в список, которым вы хотите поделиться, а затем назначить им задачи.
Пригласите других пользователей для доступа к списку дел
- Откройте список, которым хотите поделиться.
- Чтобы поделиться своим списком, щелкните значок людей в верхней части приложения.
- Теперь выберите опцию «пригласить через», чтобы увидеть список приложений, таких как Whatsapp, чтобы поделиться списком.
- Выберите контакт в приложении, которым вы хотите поделиться.
- Как только пользователь примет ваш запрос на предоставление общего доступа к списку, вы готовы назначить ему задачи.
Смотрите также: Как изменить размер значков на рабочем столе в Windows 11
Как назначать задачи другим участникам
- Нажмите на задачу
- Нажмите на опцию назначить
- Выберите любого человека из списка, которому вы хотите поручить задачу.
- Чтобы управлять задачами, назначенными вам, перейдите на главный экран и нажмите назначенные мне. Теперь вы можете просмотреть или отредактировать задачу или изменить статус выполненной после выполнения задачи.
Вывод
Мы надеемся, что после прочтения этой статьи вы сможете легко и эффективно создавать задачи в Microsoft To-Do и управлять ими. Вы можете загрузить его из Microsoft Store, если вы еще не используете его.
Списками дел Microsoft можно управлять напрямую из Интернета. Вам необходимо войти в свою учетную запись Microsoft и более гибко управлять списками дел.
24 апреля, 2022 24 апреля, 2022 Валерий
Автор статей на Readd.org, пишу чтобы знакомить читателей с последними новостями о важных для них сериалах и фильмах, а также с хорошими подборками для просмотра. Гаджеты, технологии, IT — также не оставляю без внимания.
Если вы заметили ошибку, пожалуйста, отправьте автору подзатыльник! Выделите ошибку и нажмите Ctrl+Enter.
Источник: readd.org
Как использовать ToDo.txt — список дел для минималистов
Когда дела наваливаются так, что и не разгрести, человек начинает «перегреваться», это еще называют «сгорел на работе». В попытках выполнить рабочие задачи и совместить это с личными делами и обязанностями, люди подвергаются сильным стрессам, которые только усиливаются, если в круговороте дел было забыто нечто действительно важное! Грамотно расставить приоритеты помогает техника To-Do List, или по-простому – список задач. Правильно составленный, этот список помогает завершать действительно важные дела, отслеживать «хвосты» и чувствовать себя полноценным и продуктивным. Так как же правильно составлять To-Do List?
Что такое ToDo.txt
Это не программа и не веб‑приложение. Это система управления задачами, для которой достаточно только простого текстового файла в формате TXT. Придумала её блогер и разработчик Джина Трипани.
Суть этой системы в следующем: вы пишете свои дела в файлик TXT, строчка за строчкой, и отмечаете завершённые символом x. При необходимости можно добавлять теги и контекст, чтобы группировать задачи. Вот, в общем‑то, и всё. Идеальный инструмент для тайм‑менеджмента минималистов.
Прелесть ToDo.txt в том, что вы можете контролировать свои задачи с помощью одного только «Блокнота» — даже не надо ничего больше устанавливать. Правда, энтузиасты всё же разработали для ToDo.txt много клиентов, которые делают работу с задачами удобнее. Они, например, подсвечивают даты и приоритетные задачи, автоматически группируют дела по спискам и так далее.
В чём плюсы ToDo.txt
У этого способа записи дел есть ряд преимуществ — вот основные из них:
Почувствуйте ответственность
Пропишите временные рамки в Ваш основной список задач. Это поможет Вам отслеживать все задачи, необходимые для включения в сегодняшний To-Do List, и не пропустить ни одной! Составляя ежедневный список, обязательно пробегитесь по основному с датами, чтобы не упустить задачи, дедлайн которых уже близок!
Если у Вас нет определенного решения по времени выполнения какой-либо задачи, просто представьте, когда бы Вы хотели ее выполнить и укажите эту дату в основном списке. Ни одна задача не должна остаться без своего дедлайна. Если Вы не ставите этих целей, то некоторые задачи так и останутся висеть в неопределенности!
Разместите свой список задач так, чтобы он был всегда на виду. Бессмысленно создавать список, который лежит в ящике стола и в итоге просто забывается. To-Do List – средство мотивации, и всегда должен быть под рукой или перед глазами: в смартфоне на главном экране, на рабочем столе, на стене перед Вашим рабочим местом, или на зеркале в ванной, например.
Покажите кому-нибудь свой список задач. Это могут быть родители, друзья, коллеги, вторая половинка, любой человек, который может проверить Вас на выполнение задач из этого списка. Согласитесь, неловко выглядеть безответственным из-за невыполненной задачи из списка? Этот простой шаг будет мотивировать Вас на выполнение всего текущего списка.
Вам не нужна сиделка, да и вряд ли кто-то согласится ею быть! Но очень важно, чтобы в Вашей жизни был человек, перед которым Вы чувствуете ответственность!
Как составлять задачи в ToDo.txt
Принцип ToDo.txt гласит, что ваши задачи хранятся в текстовом документе todo.txt. Просто записывайте дела в файл (один пункт на одну строчку). Вдобавок вы можете снабжать их тегами и приоритетами для большей информативности. Вот пример самого простого списка, составленного в «Блокноте»:
Написать статью и проверить ссылки.
Сходить в спортзал.
ToDo.txt лучше всего сохранить в Dropbox, Google Drive или любом другом облаке на ваш выбор: так список дел всегда будет под рукой.
Определение приоритетов
В ToDo.txt можно назначать задачам приоритеты. Таким образом вы будете видеть, какие дела особенно важны, а какие нет, не вчитываясь в содержимое пунктов. Чтобы назначить приоритет, поставьте перед пунктом букву A, B, С и так далее, заключив её в скобки. Вот как это будет выглядеть:
(A) Закончить важный проект. (B) Накормить кота.
(C) Прибраться на кухне.
Большинство клиентов ToDo.txt могут сортировать ваши задачи по приоритетам, поэтому не забывайте проставлять их. Это, в принципе, необязательно, но полезно.
Группировка задач по проектам
Дела стоит группировать по проектам или темам, к которым они относятся: это позволит быстрее в них разбираться. Чтобы отнести задачу к тому или иному проекту, поставьте после неё знак + и сразу же, без пробела, укажите какое‑нибудь слово. Например так:
Закончить статью +Работа. Заказать фитнес‑трекер +Личное.
Переустановить macOS +Личное.
Прибраться наконец на кухне +Личное +Уборка.
Как стало понятно из последнего пункта, одна и та же задача может относится к двум и более проектам.
Добавление тегов
Их тоже можно добавлять сколько угодно.
Завершение задач
Когда вы выполнили какую‑то задачу, её нужно пометить как завершённую. Чтобы это сделать, поставьте в начале пункта букву x («икс»).
x Закончить статью. x Заказать фитнес‑трекер.
x Переустановить macOS.
x Прибраться на кухне.
Расстановка сроков
Если у дела есть дедлайн, его можно добавить, написав слово due и дату в формате год — месяц — число (due: ГГГГ‑ММ‑ДД).
Закончить статью due: 2019‑11‑20. Заказать фитнес‑трекер due: 2019‑12‑02.
Переустановить macOS due: 2019‑11‑25.
Прибраться на кухне due: 2019‑11‑25.
Форматирование списка задач
Само собой, все указанные элементы можно использовать вместе, чтобы одновременно назначать задачам приоритеты, проекты, теги и отмечать законченные дела. В итоге ваш ToDo.txt будет выглядеть примерно так:
Приводим список задач в порядок
Создайте категории в своем основном To-Do списке, например, «Рабочие задачи» и «Домашние дела». Когда Вы раскидаете Ваш список задач по категориям, Вам станет намного проще концентрироваться на каждой из них. И не забывайте, что каждая из этих категорий должна быть на виду в свое время: не имеет смысла размышлять над списком домашних дел, пока Вы сидите в офисе и выполняете рабочие задачи! Чтобы стать более продуктивным, отгородитесь от внешнего шума и сконцентрируйтесь на списке тех задач, которые наиболее актуальны в данный момент времени.
Составляйте список задач на текущий день из основного, а когда составите – отложите основной список в сторону. Это просто: забивая свою голову будущими проблемами, Вы не даете уму спокойно решать сегодняшние! Таким образом, Вы перестанете чувствовать свою непродуктивность относительно задач, которые Вам только предстоит решать в обозримом будущем.
Будьте реалистами: ближайшие 24 часа стоит посвятить задачам, которые можно решить за этот промежуток времени. Причем, желательно, чтобы таких задач на день было не больше десяти, а еще лучше – пяти. Если Вы не знаете, с какой задачи начать, вообразите свой день вплоть до момента, когда ложитесь спать и выберите задачу, которую точно хотели бы завершить до этого времени. Она и будет возглавлять список задач на сегодня!
Заложите время на выполнение каждой задачи из текущего списка. Но будьте реалистичными при этом: если Вы заложите слишком мало времени на какую-либо из задач, к Вам снова вернутся негативные чувства непродуктивности и потерянного времени, а вместе с ними и стресс! Здраво обдумайте, сколько времени займет выполнение каждой задачи из списка, и планируйте день, исходя из этого. Не забывайте вставлять перерывы по 15-20 минут между задачами. Мозг должен отдыхать, чтобы эффективно переключаться между делами!
Может прозвучать как излишество, но Ваш список задач должен выглядеть аккуратно и эстетично. Это поможет Вам избавиться от напряжения, когда Вы в него заглядываете, и поменять отношение этому важному элементу Вашей жизни. Важно, чтобы список своим видом мотивировал Вас!
Какие приложения ToDo.txt можно использовать
Приложения ToDo.txt есть для самых разных платформ. Все они мало весят, просты и практически идентичны в плане интерфейса и управления. И отслеживать задачи с помощью этих программ будет удобнее, чем в простом «Блокноте». Вот основные из них.
todotxt.net
todotxt.net — отличный клиент для Windows 10. Умеет работать с горячими клавишами. Фильтрует список дел по дате, приоритету и контексту.
TodoTxtMac
TodoTxtMac позволяет вести списки дел в macOS. Как и полагается программам для Mac, очень удобен и красив. Обладает продвинутой настраиваемой системой фильтров, так что вы не запутаетесь в вашем таск‑листе, даже если там десятки пунктов.
DayTasks
Приложение для Ubuntu и основанных на ней систем. Минималистичное и простенькое. Похвастаться настраиваемыми фильтрами, как предыдущие два кандидата, не может, но всё равно достаточно наглядно.
Todo.TXT Plus
Todo.TXT Plus — расширение для текстового редактора Atom. С его помощью можно добавлять пункты в список дел не отрываясь от работы с текстом: просто переключаетесь между вкладками с рабочими файлами и todo.txt в одном окне.
Загрузить Todo.TXT Plus →
Simpletask
Simpletask — клиент для Android. Умеет работать с Dropbox и Nextcloud. Помимо приложения, предоставляет также виджет для домашнего экрана. Выделяет приоритеты задач цветами и сортирует дела по датам, контексту или категориям.
Разработчик: Mark Janssen
Markor
Markor — мощный, продвинутый блокнот для Android. Его можно использовать для написания заметок в Markdown‑формате, также он умеет отображать и ToDo.txt. Приложение имеет удобную панель кнопок, облегчающих форматирование списка задач. Правда, оно не умеет синхронизироваться с облаками, так что лучше использовать его в связке с Autosync для Dropbox или Google Drive.
Markor: Markdown Editor — todo.txt — Notes Offline
Разработчик: Gregor Santner
Todo.txt
Менеджер дел с привлекательным интерфейсом, синхронизирующийся с Google Drive или Dropbox. Обладает настраиваемой системой фильтров для группировки задач по контексту или содержимому. В него легко пересылать любой текст через кнопку «Поделиться», так что вы сможете быстро добавлять в список дел ссылки из интернета, названия книг, которые собрались прочитать, и другие мелочи.
Todo.txt for Android — take your todo.txt with you
Разработчик: Aditya Bhaskar
Todotxt+
Todotxt+ — красивый и удобный клиент для iOS с поддержкой синхронизации через Dropbox. Редактор позволяет одновременно создавать по нескольку пунктов в таск‑листе. Присутствуют и фильтры для сортировки задач, но, к сожалению, только в версии Pro.
Разработчик: Arvindh Sukumar
Источник: mycomp.su
Создание Todo List на чистом JavaScript
В этой статье попрактикуемся на чистом на JavaScript на примере создания программы «Списка дел (Todo List)». При написании кода будем использовать современный синтаксис, но также сделаем так чтобы он работал в старых браузерах, включая Internet Explorer 11.
Что такое Todo List?
Todo List – это список дел, которые вам нужно выполнить или того, что вы хотите сделать.
Традиционно их пишут на листке бумаги и организовывают в порядке приоритета. При выполнении задачи, её обычно вычеркивают из списка.
Но такой список можно вести не только на листке бумаги, но и в электронном виде, например, браузере.
Исходные коды SimpleTodoList
SimpleTodoList – это название проекта, который мы создадим в рамках данной статьи для ведения списка задач. Напишем его он на HTML, CSS и чистом JavaScript.
Пошаговый процесс его создания приведён в следующем разделе этой статьи, а в этом его демо и исходные коды.
Исходные коды SimpleTodoList расположены в соответствующей папки проекта «ui-components» на GitHub.
Состоит SimpleTodoList из 3 файлов: «index.html» (вёрстки), «simple-todo-list.css» (стилей) и «simple-todo-list.js» (скрипта).
SimpleTodoList использует localStorage для хранения задач. Это позволяет при повторном открытии этой страницы или её обновлении считывать данные с веб-хранилища и на их основе воссоздавать последнее состояние списка.
Сохранение данных в хранилище происходит всякий раз, когда изменяется состояния этого списка. Это необходимо для того, чтобы в localStorage всегда находились актуальные сведения.
- добавлять новые задачи в список;
- отмечать выполненные задачи (при этом они сразу исключаются из списка активных задач и переводятся в завершённый);
- удалять элементы в корзину;
- удалять окончательно задачи в корзине, а также при необходимости восстанавливать их;
- переключаться между делами (активными, завершёнными и удалёнными);
- автоматически сохранять списки дел в localStorage (необходимо для восстановления последнего состояния списка при повторном открытии страницы).
Описание процесса создания SimpleTodoList
Разработку SimpleTodoList выполним за 5 шагов.
Шаг 1. Создание файловой структуры
Файловая структура проекта:
Шаг 2. Добавление в index.html базовой структуры
Откроем «index.html», добавим в него базовую разметку, а также подключим файлы со стилями и JavaScript.
Todo List on pure JavaScript *, *::before, *::after { box-sizing: border-box; } body { margin: 0; font-family: system-ui, -apple-system, «Segoe UI», Roboto, «Helvetica Neue», Arial, «Noto Sans», «Liberation Sans», sans-serif, «Apple Color Emoji», «Segoe UI Emoji», «Segoe UI Symbol», «Noto Color Emoji»; font-size: 1rem; font-weight: 400; line-height: 1.5; color: #212529; background-color: #fff; -webkit-text-size-adjust: 100%; -webkit-tap-highlight-color: rgba(0, 0, 0, 0); }
Шаг 3. Выполнение разметки самого todo
Разметим блок todo:
активные завершённые удалённые
- текстовое поле ( с классом todo__text ) для ввода новой задачи;
- кнопку .todo__add для добавления новой задачи в .todo__items ;
- элемент управления с выпадающим список задач для переключения между ними;
- список задач .todo__items , добавлять их в него будем с помощью JavaScript.
Скриншот того, что у нас вышло:
HTML-код самой задачи:
Его формирование и вставку в .todo__items будем осуществлять с помощью JavaScript.
Значение атрибута data-todo-state будет определять состояние задачи:
- active – активная;
- completed – выполненная;
- deleted – удалённая.
.todo__task – это элемент, который содержит текст задачи, а .todo__action – это кнопки для выполнения действий над задачей. С помощью них мы можем восстановить задачу (перевести её в активное состояние), отметить задачу как завершённую и удалить. Действие, которое выполняет кнопка .todo__action определяется значением атрибута data-todo-action .
Шаг 4. Написание стилей
Написать стили можно по-разному. Пример того, что получилось:
Конечный CSS код можно посмотреть на GitHub.
Разберём некоторые интересные моменты в этом коде.
1. Переключение отображение задач в .todo__items будем выполнять в зависимости от выбранной опции . Для этого в вышеприведённом файле прописаны следующие стили:
[data-todo-option=»active»] .todo__item:not([data-todo-state=»active»]), [data-todo-option=»completed»] .todo__item:not([data-todo-state=»completed»]), [data-todo-option=»deleted»] .todo__item:not([data-todo-state=»deleted»]) { display: none; }
Устанавливать значение атрибуту data-todo-option элемента .todo__items будем с помощью JavaScript при изменении выбранной опции .
2. Скрытие кнопок для задач, которые не должны показываться для определённых состояний, осуществляется следующим образом:
[data-todo-state=»active»] .todo__action_restore, [data-todo-state=»completed»] .todo__action_complete, [data-todo-state=»deleted»] .todo__action_complete { display: none; }
Например, кнопку восстановить .todo__action_restore не будем отображать для активных задач [data-todo-state=»active»] . Т.к. зачем переводить задачу в активное состояние, если она и так активна.
Шаг 5. Напишем JavaScript
Написание кода начнём с создания объекта todo :
const todo = {};
Он нужен только для того, чтобы лучше организовать наш код и не создавать кучу отдельных функций.
Поместим в todo следующие методы:
const todo = { action(e) {}, add() {}, create(text) {}, init() {}, update() {}, save() {} };
Начнём с init() . Данный метод будет осуществлять инициализацию Todo List.
Он выполняет следующие вещи:
- получает из localStorage сохранённый список дел и если он есть, то вставляет его в .todo__items ;
- назначает обработчик события change на элемент .todo__options ; в качестве обработчика используется update ;
- назначает обработчик события click на document ; в качестве обработчика выступает action .
Код метода init() :
init() { const fromStorage = localStorage.getItem(‘todo’); if (fromStorage) { document.querySelector(‘.todo__items’).innerHTML = fromStorage; } document.querySelector(‘.todo__options’).addEventListener(‘change’, this.update); document.addEventListener(‘click’, this.action.bind(this)); }
Когда мы указываем в качестве обработчика функцию или метод объекта, то нужно просто передать ссылку, а не вызов.
При указании this.action мы с помощью bind установили в качестве this текущий контекст. Это нужно чтобы мы могли в action() получить объект todo с помощью this .
Метод create() очень простой, он будет просто возвращать HTML код самой задачи с указанным текстом:
save() получает содержимое .todo__items и устанавливает его в localStorage:
save() { localStorage.setItem(‘todo’, document.querySelector(‘.todo__items’).innerHTML); }
update() используется в качестве обработчика:
update() { const option = document.querySelector(‘.todo__options’).value; document.querySelector(‘.todo__items’).dataset.todoOption = option; document.querySelector(‘.todo__text’).disabled = option !== ‘active’; }
При вызове устанавливает атрибуту data-todo-option элемента .todo__items значение выбранной опции , а также значение свойству disabled элемента .todo__text :
add() добавляет при нажатии на кнопку задачу в список .todo__items . Для создания HTML-кода задачи используется create() :
add() document.querySelector(‘.todo__items’).insertAdjacentHTML(‘beforeend’, this.create(elemText.value)); elemText.value = »; }
action вызывается, когда происходит событие click на документе:
action(e) { const target = e.target; if (target.classList.contains(‘todo__action’)) { const action = target.dataset.todoAction; const elemItem = target.closest(‘.todo__item’); if (action === ‘deleted’ elemItem.dataset.todoState === ‘deleted’) { elemItem.remove(); } else { elemItem.dataset.todoState = action; } this.save(); } else if (target.classList.contains(‘todo__add’)) { this.add(); this.save(); } }
Параметр e – это объект события event . Его создаёт браузер и передаёт его в качестве первого аргумента action .
В коде e.target – это элемент, по которому кликнули. Так как нам нужны не любые клики, а только по определённым элементам, то используем следующие условия:
if (target.classList.contains(‘todo__action’)) { // . } else if (target.classList.contains(‘todo__add’)) { // . }
Если пользователь кликнул по .todo__add , то выполним следующие действия:
this.add(); this.save();
add() добавляет в список .todo__items новую задачу, а save() сохраняет все задачи (содержимое .todo__items ) в localStorage.
Когда пользователь кликнул на .todo__action выполняется следующий код:
const action = target.dataset.todoAction; const elemItem = target.closest(‘.todo__item’); if (action === ‘deleted’ elemItem.dataset.todoState === ‘deleted’) { elemItem.remove(); } else { elemItem.dataset.todoState = action; } this.save();
Первое – получаем действие, которое нужно выполнить. Оно у нас находится в атрибуте data-todo-action . Далее находим элемент .todo__item и сохраняем его в переменную elemItem . Этот элемент нам понадобится дальше. После этого, если действие delete и состояние задачи delete , то удаляем элемент. В противном случае установим атрибуту data-todo-state элемента .todo__item значение action . В конце сохраним все изменения в localStorage с помощью save() .
Последнее что нужно сделать чтобы Todo работал это вызвать init :
todo.init();
Преобразование JavaScript для запуска в Internet Explorer 11
1. Выполним транспилирование, т.е. преобразуем исходный синтаксис в такой, который понимают старые браузеры, включая Internet Explorer 11.
Для этого воспользуемся онлайн инструментом Babel REPL:
В targets указали: defaults, ie 11 .
Полученный код скопируем и вставим в файл simple-todo-list.es5.js .
Теперь полученный синтаксис понимает Internet Explorer 11. Но этого не достаточно, т.к. в коде у нас остались два метода, который данный браузер не поддерживает. Это closest и remove .
2. Выполним полифилинг, т.е. добавим эти недостающие методы к старым браузерам путем предоставления им собственной версии.
// polyfill closest if (!Element.prototype.matches) if (!Element.prototype.closest) Element.prototype.closest = function(s) { var el = this; do { if (Element.prototype.matches.call(el, s)) return el; el = el.parentElement while (el !== null el.nodeType === 1); return null; }; } // polyfill remove if (!(‘remove’ in Element.prototype)) { Element.prototype.remove = function() { if (this.parentNode) { this.parentNode.removeChild(this); } }; }
В результате получился следующий код: simple-todo-list.es5.js .
Задачи
1. Добавить возможность создавать задачу при нажатии Enter.
2. Переписать код так, чтобы в localStorage сохранялись задачи не в виде кода HTML, а в формате массива объектов:
[ { task: ‘Задача 1’, state: ‘active’ }, { task: ‘Задача 2’, state: ‘completed’ }, . ];
3. Внести в код возможность сортировки задач посредством перетаскивания (drag и drop).
4. Добавить всплывающие сообщения для информирования пользователя при выполнении действий над задачами.
5. Для любителей jQuery переписать весь код с использованием функций этой библиотеки.
Источник: itchief.ru
To-Do List
To-Do List — это удобная и функциональная программа для создания списка дел. Программа позволяет сортировать задачи по приоритету, по дате добавления или вручную, выделять разными цветами по приоритету, по задачам или по группам. To-Do List поддерживает неограниченное число уровней групп и подзадач, позволяет добавлять картинки или файлы для задач. Использование программы увеличит вашу производительность и позволит легко составлять отчеты о проделанной работе.
Источник: freesoft.ru