Size: a a a

AngularPiter - русскоговорящее сообщество

2020 November 19

D

Dias in AngularPiter - русскоговорящее сообщество
Danil
так сядь изучи основы, а то в интерны взяли, а времени изучить не дают?
по селекторам проблем вообще нет. Но что вижу, тут они вообще эти селекторы не нужны были )))
источник

D

Dias in AngularPiter - русскоговорящее сообщество
Maxim Afanasev
Скорее всего, app.component.html.
import {Component, OnInit, TemplateRef, ViewChild, Inject} from '@angular/core';
import {DOCUMENT} from '@angular/common';
import {NavigationEnd, Router} from '@angular/router';
import {BsModalRef, BsModalService} from 'ngx-bootstrap';

import {ErrorHandler} from './core/error/ui/support/error-handler';
import {ErrorContext} from './core/error/ui/support/error-context';
import {environment} from '../environments/environment';

@Component({
 selector: 'app-root',
 templateUrl: './app.component.html',
 providers: [
   {provide: ErrorHandler, useExisting: AppComponent},
   BsModalService
 ]
})
export class AppComponent implements OnInit, ErrorHandler {

 errors: any[];

 @ViewChild('errorsModalTemplate') errorTemplate: TemplateRef<any>;

 private modalRef: BsModalRef;

 private error: any;

 private errorContext: ErrorContext;

 constructor(@Inject(DOCUMENT) private doc: any,
   private router: Router,
   private modalService: BsModalService) {
   this.router.events.subscribe(event => {
     if (event instanceof NavigationEnd) {
       // (<any>window).ga('set', 'page', event.urlAfterRedirects);
       // (<any>window).ga('send', 'pageview');
     }
   });
 }

 ngOnInit() {
   this.setGoogleAnalytics();

   this.router.events.subscribe((evt) => {
     if (!(evt instanceof NavigationEnd)) {
       return;
     }
     window.scrollTo(0, 0);
   });
 }

 handleError(error, context): void {
   if (error) {
     this.error = error;
     this.errorContext = context;
     if (error.message) {
       this.errors = [error.message];
       console.log(this.errors);
     } else if (error instanceof Array) {
       this.errors = error;
     } else {
       this.errors = [error];
     }
   }
   this.modalRef = this.modalService.show(this.errorTemplate);
 }

 closeModal() {
   this.modalRef.hide();

   if (this.errorContext != null
     && this.errorContext.canContinue !== undefined
     && !this.errorContext.canContinue) {

       if (this.errorContext.recommendedRoute) {
         this.router.navigate(this.errorContext.recommendedRoute);
       } else {
         // hwo to resolve to home
         this.router.navigate(['/company']);
       }
   }
   this.errors = [];
   this.error = null;
   this.errorContext = null;
   this.modalRef = null;
 }

 private setGoogleAnalytics() {

   this.doc.write(`<script async src="https://www.googletagmanager.com/gtag/js?id=${environment.googleAnalyticsTrackingId}"></script>`);

   const s = this.doc.createElement('script');
   s.type = 'text/javascript';
   s.innerHTML = `<!-- Google Analytics -->
                 window.dataLayer = window.dataLayer || [];
                 function gtag(){dataLayer.push(arguments);}
                 gtag('js', new Date());
                 gtag('config', '${environment.googleAnalyticsTrackingId}');`;
   const head = this.doc.getElementsByTagName('head')[0];
   head.appendChild(s);
 }

}
источник

D

Dias in AngularPiter - русскоговорящее сообщество
сорри за такой большой текст (((
источник

D

Danil in AngularPiter - русскоговорящее сообщество
Dias
по селекторам проблем вообще нет. Но что вижу, тут они вообще эти селекторы не нужны были )))
ну по первому тебе ответили, во втором случае скорее всего есть сервис который отображает эти данные
источник

D

Danil in AngularPiter - русскоговорящее сообщество
просто учитывая то что ты совсем незнаком с англуяром тебе в целом помочь очень сложно будет
источник

D

Dias in AngularPiter - русскоговорящее сообщество
Danil
просто учитывая то что ты совсем незнаком с англуяром тебе в целом помочь очень сложно будет
да я понимаю ((((
источник

D

Danil in AngularPiter - русскоговорящее сообщество
Dias
да я понимаю ((((
странная стажировка в казахстане :)
источник

D

Dias in AngularPiter - русскоговорящее сообщество
я думал вначале что будет типа
сделай нам менюшку )))
источник

D

Dias in AngularPiter - русскоговорящее сообщество
Danil
странная стажировка в казахстане :)
халявная рабочая сила после карантина )))
источник

MA

Maxim Afanasev in AngularPiter - русскоговорящее сообщество
Dias
надо сегодня эти задачи сделать ((((
По моему опыту, изучать что-то на продовых задачах - плохая идея. Потому что прод сложнее синтетических примеров, там много нюансов. Когда я не понимаю, как что-то работает - я иду и делаю мини-демку чисто под эту функциональность. И вам советую сделать мини-приложение с роутингом и навбаром. Это займет несколько часов, но понимания у вас сильно прибавится.
источник

D

Danil in AngularPiter - русскоговорящее сообщество
Dias
халявная рабочая сила после карантина )))
ну обычно дают время на изучение, у нас в компании мидлам давали даже
источник

D

Danil in AngularPiter - русскоговорящее сообщество
особенно те кто приходил с других фреймворков
источник

D

Dias in AngularPiter - русскоговорящее сообщество
Maxim Afanasev
По моему опыту, изучать что-то на продовых задачах - плохая идея. Потому что прод сложнее синтетических примеров, там много нюансов. Когда я не понимаю, как что-то работает - я иду и делаю мини-демку чисто под эту функциональность. И вам советую сделать мини-приложение с роутингом и навбаром. Это займет несколько часов, но понимания у вас сильно прибавится.
роутинг отличается от копи - паста селектора?
источник

D

Dias in AngularPiter - русскоговорящее сообщество
Danil
ну обычно дают время на изучение, у нас в компании мидлам давали даже
да у вас мидлы вообще красавчики )))
источник

MA

Maxim Afanasev in AngularPiter - русскоговорящее сообщество
Dias
import {Component, OnInit, TemplateRef, ViewChild, Inject} from '@angular/core';
import {DOCUMENT} from '@angular/common';
import {NavigationEnd, Router} from '@angular/router';
import {BsModalRef, BsModalService} from 'ngx-bootstrap';

import {ErrorHandler} from './core/error/ui/support/error-handler';
import {ErrorContext} from './core/error/ui/support/error-context';
import {environment} from '../environments/environment';

@Component({
 selector: 'app-root',
 templateUrl: './app.component.html',
 providers: [
   {provide: ErrorHandler, useExisting: AppComponent},
   BsModalService
 ]
})
export class AppComponent implements OnInit, ErrorHandler {

 errors: any[];

 @ViewChild('errorsModalTemplate') errorTemplate: TemplateRef<any>;

 private modalRef: BsModalRef;

 private error: any;

 private errorContext: ErrorContext;

 constructor(@Inject(DOCUMENT) private doc: any,
   private router: Router,
   private modalService: BsModalService) {
   this.router.events.subscribe(event => {
     if (event instanceof NavigationEnd) {
       // (<any>window).ga('set', 'page', event.urlAfterRedirects);
       // (<any>window).ga('send', 'pageview');
     }
   });
 }

 ngOnInit() {
   this.setGoogleAnalytics();

   this.router.events.subscribe((evt) => {
     if (!(evt instanceof NavigationEnd)) {
       return;
     }
     window.scrollTo(0, 0);
   });
 }

 handleError(error, context): void {
   if (error) {
     this.error = error;
     this.errorContext = context;
     if (error.message) {
       this.errors = [error.message];
       console.log(this.errors);
     } else if (error instanceof Array) {
       this.errors = error;
     } else {
       this.errors = [error];
     }
   }
   this.modalRef = this.modalService.show(this.errorTemplate);
 }

 closeModal() {
   this.modalRef.hide();

   if (this.errorContext != null
     && this.errorContext.canContinue !== undefined
     && !this.errorContext.canContinue) {

       if (this.errorContext.recommendedRoute) {
         this.router.navigate(this.errorContext.recommendedRoute);
       } else {
         // hwo to resolve to home
         this.router.navigate(['/company']);
       }
   }
   this.errors = [];
   this.error = null;
   this.errorContext = null;
   this.modalRef = null;
 }

 private setGoogleAnalytics() {

   this.doc.write(`<script async src="https://www.googletagmanager.com/gtag/js?id=${environment.googleAnalyticsTrackingId}"></script>`);

   const s = this.doc.createElement('script');
   s.type = 'text/javascript';
   s.innerHTML = `<!-- Google Analytics -->
                 window.dataLayer = window.dataLayer || [];
                 function gtag(){dataLayer.push(arguments);}
                 gtag('js', new Date());
                 gtag('config', '${environment.googleAnalyticsTrackingId}');`;
   const head = this.doc.getElementsByTagName('head')[0];
   head.appendChild(s);
 }

}
Здесь ничего нет, смотрите в шаблоне (html)
источник

D

Dias in AngularPiter - русскоговорящее сообщество
я два дня с запуском бекенда парился блин и помог только друг )))
источник

D

Dias in AngularPiter - русскоговорящее сообщество
Maxim Afanasev
Здесь ничего нет, смотрите в шаблоне (html)
не знаю плакать или чего
<ng-progress [spinner]="false" color="#5ABBA2" [thick]="true"></ng-progress>
<router-outlet></router-outlet>
<!-- Errors Modal Template -->
<ng-template #errorsModalTemplate>
 <div class="modal-header">
   <h4 class="modal-title text-danger"><i class="fa fa-exclamation-triangle"></i> Errors</h4>
   <button type="button" class="close" (click)="closeModal()" aria-label="Close">
     <span aria-hidden="true">&times;</span>
   </button>
 </div>
 <div class="modal-body">
   <div class="row">
     <p class="pb-3 text-blue-grey" *ngFor="let error of errors">{{ error }}</p>
   </div>
 </div>
 <div class="modal-footer">
   <button type="button" class="btn btn-danger text-white" (click)="closeModal()">OK</button>
 </div>
</ng-template>
источник

D

Danil in AngularPiter - русскоговорящее сообщество
<router-outlet></router-outlet>
источник

MA

Maxim Afanasev in AngularPiter - русскоговорящее сообщество
Dias
не знаю плакать или чего
<ng-progress [spinner]="false" color="#5ABBA2" [thick]="true"></ng-progress>
<router-outlet></router-outlet>
<!-- Errors Modal Template -->
<ng-template #errorsModalTemplate>
 <div class="modal-header">
   <h4 class="modal-title text-danger"><i class="fa fa-exclamation-triangle"></i> Errors</h4>
   <button type="button" class="close" (click)="closeModal()" aria-label="Close">
     <span aria-hidden="true">&times;</span>
   </button>
 </div>
 <div class="modal-body">
   <div class="row">
     <p class="pb-3 text-blue-grey" *ngFor="let error of errors">{{ error }}</p>
   </div>
 </div>
 <div class="modal-footer">
   <button type="button" class="btn btn-danger text-white" (click)="closeModal()">OK</button>
 </div>
</ng-template>
Ну, навбара здесь нет )
источник

D

Dias in AngularPiter - русскоговорящее сообщество
Maxim Afanasev
Ну, навбара здесь нет )
navbar в dashboard находится
источник