Виталий Ананьев, еще раз повторяю - такого контрола в стандарте нет. Бесполезно его гуглить. В данном случае там просто div с текстом "In stock", все остальное делается в несколько строчек скриптов и css.
Похожие штуки есть в разных фремворках, но я вам не буду советовать применять какой-то фреймворк ради одного контрола. И вообще, вы вроде заявляли, что делаете бэк. Хотя в этом же вопросе написано "сверстать". Хм.
И еще раз - если бэк делается раньше фронта, то вам решать в каком формате бэк примет запросы. Если вы считаете, что это не в вашей компетенции - задайте вопрос руководителю, или вместе с фронтендером решите этот вопрос, смотря как у вас в компании это принято.
Виталий Ананьев, в браузере нет стандартного контрола для сортировки.
Следовательно, его сделает фронтендер.
Судя по тому, что вы делаете бэк до фронта, то ВЫ можете описать в каком формате должен быть запрос.
Ну там json может, или обычный query string.
Для сортировки обычно указывают ASC, DESC или ничего, если не выбрано.
Неплохо бы учесть, что сортировка может быть по нескольким столбца одновременно, и порядок столбцов важен.
Антон Вебсайтовский, там четыре параметра, все подписаны.
Селектор элемента куда выводить результат, стартовое значение, конечное значение и шаг - то есть сколько прибавлять за каждый тик.
Сами тики привязаны на частоту кадров в браузере, обычно это 60Гц.
Можно вместо requestAnimationFrame использовать sertTimeout или setInterval, тут в принципе не важна плавность отрисовки, и можно не попадать в каждый кадр.
enigma2030, да конечно можно решить разными способами, можно даже общий участок памяти выделить и фигачить обмен данными через него.
Только зачем эти все велосипеды, если есть проторенный путь - REST API и очереди сообщений. Тут вам и готовые примеры, и масштабируемость, и другие разработчики сравнительно легко разберуться что к чему.
У вас там настлько хайлоад, что готовые инструменты не справляются, или какая причина?