
Stas
08.05.2018
14:36:43
помимо прятанья кнопки (вариант хороший, но не для меня)

Sergey
08.05.2018
14:37:17
Я-то это делаю через жалкое подобие гвардов в маршрутах и ng-if/ng-show в шаблонах, там где те кому не надо не могли бы своими грязными неавторизованными руками лазить
Ну то есть у меня нет задачи показать юзеру сайт а потом мвахаха гото логин
Неавторизованный юзер вылетит на логин сразу при переходе на маршрут

Google

Sergey
08.05.2018
14:38:47
На любой
А там проверяются локально сохранённые данные аутентификации, т.е. если они пустые то маршурт реджектит, а в общем обработчике ошибок маршрутизации проверяется почему юзера послали и если потому что он неизвестен или не туда полез, то оттуда уже гонят его в логин
В твоей проверке плохо ещё то что всякий кто её использует получает зависимость от $state
То есть я бы весь твой if спрятал бы в метод сервиса
Или бы вообще извернулся и декторатором проверку сделал бы
Ну это уже вопросы кодстайла


Stas
08.05.2018
14:56:58
такс, тут есть интересная штука
каким образом ты запрещаешь переходить на какой-то роут?
у меня есть ui-router и там 3 маршрута
вот этот кусок
let config = (($stateProvider, $urlRouterProvider, $locationProvider) => {
$urlRouterProvider.otherwise('/');
$stateProvider
.state('home', {
url: '/',
templateUrl: '/home/home.view.html',
controller: 'homeCtrl',
controllerAs: 'vm'
})
.state('register', {
url: '/register',
templateUrl: '/auth/register/register.view.html',
controller: 'registerCtrl',
controllerAs: 'vm'
})
.state('login', {
url: '/login',
templateUrl: '/auth/login/login.view.html',
controller: 'loginCtrl',
controllerAs: 'vm'
});
$locationProvider.html5Mode({
enabled: true,
requireBase: false
});
});
как сделать "жалкое подобие гварда" для хоум

Sergey
08.05.2018
15:00:22
В resolve роута проверка
Там запроси свой authService и дергай его за проперти :D

Stas
08.05.2018
15:02:27
Я бы подёргал за проперти, только не пойму как туда можно добавить проверку. Пойду в юайроутер гляну, мож я что пропустил.

Google

Sergey
08.05.2018
15:03:34
https://github.com/angular-ui/ui-router/wiki
См. там resolve

Stas
08.05.2018
15:04:47
Хотя не, так не пойдёт. Я хотел еще опробовать при определённом клике в модалке выдавать вход. Спасибо, разговор натолкнул на дальнейшие действия)
Сейчас будет тупой вопрос, слабонервных просьба не читать.
В общем я делаю редирект на логин, и хочу выдать сообщение там. Сообщение нужно передать тоже из хоум контроллера.
Сделал вот такую штуку в штмл логина
<div ng-controller="homeCtrl as vm" role="alert" class="alert alert-danger">{{ vm.justTest }}</div>
Но если я добавляю ему нг-иф, оно не отображается. Как это обойти?
без нг-иф выводит, но его нужно показывать только когда кто-то тыкает

Sergey
08.05.2018
15:59:08
Сделай в роуте login параметр
С текстом сообщения
И при переходе делай state.go("login", {message: ololol})
В роуте читай $stateParams, если месодж не пустой - показать

Stas
08.05.2018
16:01:42
Гуглил твой способ, не разобрался. Там либо ты объявляешь homeCtrl, либо передаёшь function($stateParams)...
зато открыл для себя фабрики
через которые можно передавать данные

Sergey
08.05.2018
16:50:54
Тебе сообщение непременно в шаблоне homectrl надо показывать?
Есть же toastr для уведомлений
Зочем ты в темплейте логина трогаешь вообще homectrl

Stas
08.05.2018
16:54:12
?
Давай по порядку, я захожу на хоум страницу, тыкаю что-то, оно мне делает редирект на логин. Там я хочу пользователю сообщить что для тыканья ему нужно войти в акаунт, но я хочу выдавать это сообщение только при редиректе. Если он добровольно зайдёт на страницу входа, этого сообщения не должно быть. То есть по логике я должен это сообщение передавать из хоум контроллера. Иначе я не знаю как проверить был редирект или он сам зашёл на эту стрницу.

Google

Sergey
08.05.2018
16:57:14
Ну я бы это дело решил в стейте логина через параметры стейта
Можно и через сервис, без разницы
Но в параметрах маршрута будет нулл если не задать, а в сервисе тебе самому надо будет занулять после чтения
https://github.com/jirikavi/AngularJS-Toaster
Возьми что-то типа такого и показывай всё что хочешь
Ну если у тебя бутстрап, это я не знаю
В гугловом материал тоже свои есть
Зачем ты их в шаблон суёшь

Stas
08.05.2018
17:02:17
вроде всё вышло

Sergey
08.05.2018
17:03:02
Вот когда не надо ты по-своему делаешь, а когда надо так спрашиваешь :D

Stas
08.05.2018
17:04:48
Если б вышло с твоим вариантом, я б так и сделал. Но во время поиска обнаружил эти фабрики. Через которые можно сделать передачу параметра) Довольно легко и быстро)

Sergey
08.05.2018
17:05:20
Но тебе же его нулить надо
Или каждый переход на логин месодж будет
Гидэ логика(
Хотя если в геттере уничтожать значение
То можно

Stas
08.05.2018
17:07:26
ну да, нужно его после редиректа обнулять

Sergey
08.05.2018
17:08:33

Stas
08.05.2018
17:09:46

Andrey
08.05.2018
17:23:56
ребята, я тут в свободное время накидал на rxjs либу для хранения стейста приложения, там есть и фича для angularjs в виде контекста где исполняется всякие действия с котекстом
https://github.com/Insidexa/jstore

Google

Sergey
08.05.2018
17:43:40
Прикольно, лайкнул
Документации и примеров реального применения бы)

Andrey
08.05.2018
17:46:57
есть в examples
@yarrrrrrrr

Sergey
08.05.2018
17:49:56
Да я-то нашёл
Но один хрен непонятно как именно оно качество жизни должно менять
Я не просто покритиковать, мне правда интересно

Andrey
08.05.2018
17:51:35
я с чего это сделал, мне не подходят всякие redux`o похожие стейт машины
вообще не нравятся их концепции

Sergey
08.05.2018
17:55:48
У меня опыта с редаксом и вообще с реактом совсем нет, видимо в этом проблема)

Andrey
08.05.2018
17:57:04
у меня тоже, но опыт у меня доходил до того момента когда они нужны, но они никак не вписываются в концепцию, переусложняют сам процесс хранения, не нравится мне что должен быть 1 стор ( хранилище )

Sergey
08.05.2018
17:57:11
В целом всё понятно кроме лока анлока

Andrey
08.05.2018
17:57:58

Sergey
08.05.2018
17:58:14
Не, что оно вообще елает?

Andrey
08.05.2018
17:58:20
меня уже радует что все понятно

Sergey
08.05.2018
17:58:28
Я в исходники не стал лезть, каюсь

Andrey
08.05.2018
17:58:41
лочит стор, с ним потом нельзя ничего сделать
и кидает exception

Sergey
08.05.2018
17:59:21
А зачем оно на второй анлок ругается? Есть какая-то причина так делать?

Andrey
08.05.2018
18:00:04
в этом случаи я скорее всего переборщил, ну типа что бы потом не было приколов, а почему оно не обновляет стор
а так видно
я подумаю возможно хватит какого-то warning

Sergey
08.05.2018
18:10:19
Кстати вот инпут аутпут форматеры это кажется то что надо было)) Но смысл реактивщины от меня немного ускользает, ну, вспоминая проект на нг1. То есть я не очень понимаю как бы так извлечь пользу от того что данные у меня выглядят как поток. Надо пробовать, что тут думать. В любом случае - спасибо)

Google

Andrey
08.05.2018
18:12:43

Sergey
08.05.2018
18:17:16
Не, я больше думал за всякие преобразования дто - модель, если там такое вообще можно. Пока пользовался трансформаторами в http.

Power
09.05.2018
17:19:40
есть аналогичный плагин для angularjs https://vue-multiselect.js.org/ ?

Andrey
09.05.2018
17:23:19

Bako
10.05.2018
04:10:49
Привет всем
Кто может ответить на быстрый вопросы по angular?

Andrey
10.05.2018
04:33:54
http://neprivet.ru/
сразу б и задал

Vladislav
10.05.2018
05:20:02
Привет всем! Работал кто с chartjs ? я хотел бы задать вопрос, при больших объемах данных тултип вылезает за канвас, кто как решал проблему ? http://joxi.ru/8AnEKxVCj1Kgl2
Пока конечно решил проблему отфильтровав нулевые значения но это так себе варик

Lulz
10.05.2018
05:45:13
попробуй сделать скролл в канвасе

Vladislav
10.05.2018
06:00:04
Не работает
ну короче прое...ся прилично, в итоге сделаю сейчас кастомную функцию и буду генерить тултип не в канвасе и как мне угодно )

Denis
10.05.2018
06:06:18
Насколько помню там можно кастомные тултипы делает через опции
Погугли в эту сторону

Vladislav
10.05.2018
06:48:04
Ну я вот через кастомные и делаю спасибо

Alexander
10.05.2018
16:36:03
Я тупо на svg графики стал делать в следующий раз, chartjs хер заоптимизируешь и еще ошибки в сентри на проде сыплются

Евгений
11.05.2018
11:12:59
ребят, не получается найти раздел с описанием этих свойств