pa[aad
опишу как я сейчас использую на проекте (около 10 больших разелов типа црм, сделки и тому подобное, сотни компонентов), есть некая общая структура (компонент страницы, ресурсы, сервисы на раздел), согласованность. Одна из таких вещей это сервис фильтров, куда регистрируются (подписываются) все умные компоненты по уникальному имени (ключик), при любом изменении фильтров идет рассылка всем подписчикам (к примеру компонент и поиск в одно месте, какие-то фильтры в другом - в сайдбаре к примеру). Его же использую для обновления данных, решает проблему выше.
Но тут проблема в том, что это дополнительная связанность и хотелось бы избавыить от такого божественного сервиса на который все подписываются, хочется выровнять поток данных и вот уперся в текущий вопрос.
почитайте Мартин Фаулер шаблоны корпоративных приложений
найдете для себя новое
Sergey
А чего ж не Кнута сразу
Sergey
:)
Maksym
это компонент который по конфигу строит шапку и вызывает дочерние контейнеры, в шапке помимо меню и есть эта кнопокчка Обновить
Maksym
За книгу спасибо, читаю постепенно, сейчас Боба перепрочитываю, каждый раз совершенно другое понимание контента книги
pa[aad
А чего ж не Кнута сразу
Мартин Фаулер это то что действительно нужно читать
еще можно Object Thinking для понимание ООП в реальности как оно должно быть
Sergey
Да много книжек хороших есть, ну просто совет кмк так себе, как собрание сочинений безусловно божественного дяди боба вот прям сейчас поможет решить проблему?)
pa[aad
Sergey
Так тут же ангуларовская специфика скорее, а не какая-то концептуальная, хотя кто знает
Maksym
о, $state.reload возможно выход, какраз таки на уровне стейта роута логически
спасибо
Sergey
Ну это может быть плохо, если там резолвы чудовищные какие-то
Maksym
да... у меня для конфига страницы запрос за каунтами, не очень хорошо
Anonymous
hey guys, just in case someone might be interested in a remote-position
https://www.upwork.com/jobs/~01d1f84112b62711f8
Владислав
реьбят вопрос на засыпку
Владислав
как будет поступить наиболее грамотнее
Владислав
http://joxi.ru/p27aJW7s0Mx7Dr вот сократить надо запись
Владислав
Groups это обычный $resource
Владислав
из вариантов решения http://joxi.ru/GrqjR1gTNoYEKm
Nikolay
Суть в том чтобы не писать 2 раза me.loader.finish() ?
Владислав
В целом да )
Nikolay
вариант на втором скрине выполнить finish только в случае с resolve
Владислав
ну и суть в том что у ресурса в методе гет нету стандартного get приходится прикрутить промис, может есть запись поумнее
pa[aad
В целом да )
написать interceptor для лоадера
только он будет глобальный
еще как вариант сделать свой сервис для http
и туда передавать параметры, а нужно ли показывать лоадер
это учитываешь в intercetor`e
Nikolay
или как то так Resource().get().$promise.then().catch().finally();
Nikolay
и в finally запихать вызов
Владислав
Да правильнее согласен про свой сервис
Владислав
в рамках текущей проблемы интересно как будет более грамотнее
Владислав
Resource().get().$promise.then() разве не сработает после выполнения ?
Владислав
зачем catch finally ?
Владислав
Или я путаю что то :(
Nikolay
так тут второй функций catch идет, где display_http_err
Nikolay
http://joxi.ru/p27aJW7s0Mx7Dr вот сократить надо запись
Nikolay
а колбеки это плохо)
Владислав
т.е если в запросе будет ошибка и я использую $promise.then то я туда не попаду ? )
Nikolay
ага
Владислав
ну на самом деле быстрее будет уже просто проверить)))
Nikolay
при ошибках запроса идет в catch
Владислав
Спасибо всем
Евгений
Евгений
Привет, ребят хотел спросить, как можно обработать с помощью ангуляра фокус скролла?
Сейчас объясню: есть фильтр, который находится слева, как навигационная панель. Там несколько инпутов. И есть скролл. Но так же скролл есть и на всей странице, само собой.
При скролле в этом фильтре, получается что в 50% фокус пробрасывается на основную страницу, и поскольку контейнер фильтра должен быть fixed, он отрывается от шапки и катится вниз вместе со скроллом основной страницы.
Евгений
Евгений
и как бы абсолютом решается, но опять же мне говорят фиксед оставлять
Евгений
можно ли через ангуляр как то повлиять на фокус
Евгений
потому как через css я немного связан
Евгений
top: 0\left: 0 на фиксд не подействует никак
Sad
Ребят обьясните как можно создать такую простую директиву, чтобы она применялась к атрибуту инпута и элемент к которому применяется данная директива делала примерно такой код
document.getElementById("test").onclick = function() {
this.select();
};
Константин
Sad
Спасибо я нашел решение)
Stas
ребят, подскажите как вы выводите ошибки пользователю, отправляете ли вы те что приходят из бэка или свои выдаёте?
Max
status code
Stas
status code
а кроме статус кода? пользователю же эти цифры ничего не скажут
Stas
Max
на основание статус кода делать свой месседж
Константин
pa[aad
pa[aad
все что не для юзера - sentry
Stas
pa[aad
Stas
pa[aad
еще 403
Stas
pa[aad
в зависимости от кода + внутренний код от сервера и ошибки
Stas
да нифига, это если проект маленький
есть 200, 204, 201, 300, 401, 404, 500
ну 200, 201, 204 не касается же ошибки, это просто код ответа
Rem1te
Обсуждаем с беком кто будет генерировать ошибки, обычно АПИ возвращает человекочитаемые ошибки
если ошибок нет - то есть заготовленный набор ошибок на коды ответа
Все индивидуально
Например валидацию бек возвращает просто массив невалидных полей и на фронте уже их подсвечиваем и выводим сообщение что следующие поля не валидно заполненные
pa[aad
pa[aad
как выше говорят это индивидуально под проект
pa[aad
но лучше так не запариваться если у вас открытое API
там нужно смотреть на стандарты
Stas
всем спасибо, примерно логику уловил
Stas
Ребятки, подскажите как можно после выбора файле без кнопки сабмит отправлять форму? Форма должа запустить функцию, я сейчас делаю через нг-сабмит.
Stas
всё, нашёл решение
Sergey
А какое кстати?) Вообще по идее самому руками собирать FormData, если бэк ждёт в таком формате
Sasha
Блин, не так сохранилось
Sasha
Минуту
Stas
пока еще не понял что это, но оно работает