В методе sortProductsByPrice (sortOrder) сортировка не работает, когда я удаляю или добавляю продукты в dom при помощи слушателей(buttAdd.addEventListener,buttDelete.addEventListener), сортировка работает только для продуктов, находящихся в массиве this.products по умолчанию. То есть, сначала когда загрузилась таблица с дефолтными товарами, то при клике по ячейке "Price :" они сортируются в порядке возрастания, а после того как удаляю или добавляю новый товар, сортировка уже не работает.
Я понимаю что в методе "show()" перерисовывается таблица и слушатели не попадают уже на новые элементы. Тогда, я пробовал переместить всех слушателей с их переменными в метод show() (как я пониманию, это так же правильно по построению кода), но после этого, когда срабатывает buttAdd.addEventListener добавляется продукт, при следующем добавлении то количество, которое уже было добавлено и +1 (видно при втором добавлении и так дальше), а фильтр по цене, вообще перестал работать : ). Поэтому я вынес слушателей с их переменными из метода "show()"
Продукты сортируются, при клике на Price: th>
Помогите пожалуйста JsFiddle