diff --git a/frontend/main/package-lock.json b/frontend/main/package-lock.json index 1326ade..4517777 100644 --- a/frontend/main/package-lock.json +++ b/frontend/main/package-lock.json @@ -16,7 +16,9 @@ "@angular/platform-browser": "^14.0.0", "@angular/platform-browser-dynamic": "^14.0.0", "@angular/router": "^14.0.0", + "@types/axios": "^0.14.0", "admin-lte": "3.0", + "axios": "^0.27.2", "jquery": "^3.6.1", "rxjs": "~7.5.0", "tslib": "^2.3.0", @@ -28,6 +30,7 @@ "@angular/compiler-cli": "^14.0.0", "@types/jasmine": "~4.0.0", "@types/jquery": "^3.5.14", + "@types/node": "^18.7.16", "jasmine-core": "~4.3.0", "karma": "~6.4.0", "karma-chrome-launcher": "~3.1.0", @@ -2927,6 +2930,15 @@ "resolved": "https://registry.npmjs.org/@ttskch/select2-bootstrap4-theme/-/select2-bootstrap4-theme-1.5.2.tgz", "integrity": "sha512-gAj8qNy/VYwQDBkACm0USM66kxFai8flX83ayRXPNhzZckEgSqIBB9sM74SCM3ssgeX+ZVy4BifTnLis+KpIyg==" }, + "node_modules/@types/axios": { + "version": "0.14.0", + "resolved": "https://registry.npmjs.org/@types/axios/-/axios-0.14.0.tgz", + "integrity": "sha512-KqQnQbdYE54D7oa/UmYVMZKq7CO4l8DEENzOKc4aBRwxCXSlJXGz83flFx5L7AWrOQnmuN3kVsRdt+GZPPjiVQ==", + "deprecated": "This is a stub types definition for axios (https://github.com/mzabriskie/axios). axios provides its own type definitions, so you don't need @types/axios installed!", + "dependencies": { + "axios": "*" + } + }, "node_modules/@types/body-parser": { "version": "1.19.2", "resolved": "https://registry.npmjs.org/@types/body-parser/-/body-parser-1.19.2.tgz", @@ -3069,9 +3081,9 @@ "dev": true }, "node_modules/@types/node": { - "version": "18.7.13", - "resolved": "https://registry.npmjs.org/@types/node/-/node-18.7.13.tgz", - "integrity": "sha512-46yIhxSe5xEaJZXWdIBP7GU4HDTG8/eo0qd9atdiL+lFpA03y8KS+lkTN834TWJj5767GbWv4n/P6efyTFt1Dw==", + "version": "18.7.16", + "resolved": "https://registry.npmjs.org/@types/node/-/node-18.7.16.tgz", + "integrity": "sha512-EQHhixfu+mkqHMZl1R2Ovuvn47PUw18azMJOTwSZr9/fhzHNGXAJ0ma0dayRVchprpCj0Kc1K1xKoWaATWF1qg==", "dev": true }, "node_modules/@types/parse-json": { @@ -3694,6 +3706,11 @@ "integrity": "sha512-hNfzcOV8W4NdualtqBFPyVO+54DSJuZGY9qT4pRroB6S9e3iiido2ISIC5h9R2sPJ8H3FHCIiEnsv1lPXO3KtQ==", "dev": true }, + "node_modules/asynckit": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", + "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==" + }, "node_modules/at-least-node": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/at-least-node/-/at-least-node-1.0.0.tgz", @@ -3746,6 +3763,15 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/axios": { + "version": "0.27.2", + "resolved": "https://registry.npmjs.org/axios/-/axios-0.27.2.tgz", + "integrity": "sha512-t+yRIyySRTp/wua5xEr+z1q60QmLq8ABsS5O9Me1AsE5dfKqgnCFzwiCZZ/cGNd1lq4/7akDWMxdhVlucjmnOQ==", + "dependencies": { + "follow-redirects": "^1.14.9", + "form-data": "^4.0.0" + } + }, "node_modules/babel-loader": { "version": "8.2.5", "resolved": "https://registry.npmjs.org/babel-loader/-/babel-loader-8.2.5.tgz", @@ -4417,6 +4443,17 @@ "integrity": "sha512-3tlv/dIP7FWvj3BsbHrGLJ6l/oKh1O3TcgBqMn+yyCagOxc23fyzDS6HypQbgxWbkpDnf52p1LuR4eWDQ/K9WQ==", "dev": true }, + "node_modules/combined-stream": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", + "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", + "dependencies": { + "delayed-stream": "~1.0.0" + }, + "engines": { + "node": ">= 0.8" + } + }, "node_modules/commander": { "version": "2.20.3", "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", @@ -5316,6 +5353,14 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/delayed-stream": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", + "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==", + "engines": { + "node": ">=0.4.0" + } + }, "node_modules/delegates": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/delegates/-/delegates-1.0.0.tgz", @@ -6555,7 +6600,6 @@ "version": "1.15.1", "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.1.tgz", "integrity": "sha512-yLAMQs+k0b2m7cVxpS1VKJVvoz7SS9Td1zss3XRwXj+ZDH00RJgnuLx7E44wx02kQLrdM3aOOy+FpzS7+8OizA==", - "dev": true, "funding": [ { "type": "individual", @@ -6603,6 +6647,19 @@ "is-callable": "^1.1.3" } }, + "node_modules/form-data": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.0.tgz", + "integrity": "sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==", + "dependencies": { + "asynckit": "^0.4.0", + "combined-stream": "^1.0.8", + "mime-types": "^2.1.12" + }, + "engines": { + "node": ">= 6" + } + }, "node_modules/forwarded": { "version": "0.2.0", "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.2.0.tgz", @@ -8878,7 +8935,6 @@ "version": "1.52.0", "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", - "dev": true, "engines": { "node": ">= 0.6" } @@ -8887,7 +8943,6 @@ "version": "2.1.35", "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", - "dev": true, "dependencies": { "mime-db": "1.52.0" }, @@ -15378,6 +15433,14 @@ "resolved": "https://registry.npmjs.org/@ttskch/select2-bootstrap4-theme/-/select2-bootstrap4-theme-1.5.2.tgz", "integrity": "sha512-gAj8qNy/VYwQDBkACm0USM66kxFai8flX83ayRXPNhzZckEgSqIBB9sM74SCM3ssgeX+ZVy4BifTnLis+KpIyg==" }, + "@types/axios": { + "version": "0.14.0", + "resolved": "https://registry.npmjs.org/@types/axios/-/axios-0.14.0.tgz", + "integrity": "sha512-KqQnQbdYE54D7oa/UmYVMZKq7CO4l8DEENzOKc4aBRwxCXSlJXGz83flFx5L7AWrOQnmuN3kVsRdt+GZPPjiVQ==", + "requires": { + "axios": "*" + } + }, "@types/body-parser": { "version": "1.19.2", "resolved": "https://registry.npmjs.org/@types/body-parser/-/body-parser-1.19.2.tgz", @@ -15520,9 +15583,9 @@ "dev": true }, "@types/node": { - "version": "18.7.13", - "resolved": "https://registry.npmjs.org/@types/node/-/node-18.7.13.tgz", - "integrity": "sha512-46yIhxSe5xEaJZXWdIBP7GU4HDTG8/eo0qd9atdiL+lFpA03y8KS+lkTN834TWJj5767GbWv4n/P6efyTFt1Dw==", + "version": "18.7.16", + "resolved": "https://registry.npmjs.org/@types/node/-/node-18.7.16.tgz", + "integrity": "sha512-EQHhixfu+mkqHMZl1R2Ovuvn47PUw18azMJOTwSZr9/fhzHNGXAJ0ma0dayRVchprpCj0Kc1K1xKoWaATWF1qg==", "dev": true }, "@types/parse-json": { @@ -16058,6 +16121,11 @@ "integrity": "sha512-hNfzcOV8W4NdualtqBFPyVO+54DSJuZGY9qT4pRroB6S9e3iiido2ISIC5h9R2sPJ8H3FHCIiEnsv1lPXO3KtQ==", "dev": true }, + "asynckit": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", + "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==" + }, "at-least-node": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/at-least-node/-/at-least-node-1.0.0.tgz", @@ -16082,6 +16150,15 @@ "resolved": "https://registry.npmjs.org/available-typed-arrays/-/available-typed-arrays-1.0.5.tgz", "integrity": "sha512-DMD0KiN46eipeziST1LPP/STfDU0sufISXmjSgvVsoU2tqxctQeASejWcfNtxYKqETM1UxQ8sp2OrSBWpHY6sw==" }, + "axios": { + "version": "0.27.2", + "resolved": "https://registry.npmjs.org/axios/-/axios-0.27.2.tgz", + "integrity": "sha512-t+yRIyySRTp/wua5xEr+z1q60QmLq8ABsS5O9Me1AsE5dfKqgnCFzwiCZZ/cGNd1lq4/7akDWMxdhVlucjmnOQ==", + "requires": { + "follow-redirects": "^1.14.9", + "form-data": "^4.0.0" + } + }, "babel-loader": { "version": "8.2.5", "resolved": "https://registry.npmjs.org/babel-loader/-/babel-loader-8.2.5.tgz", @@ -16586,6 +16663,14 @@ "integrity": "sha512-3tlv/dIP7FWvj3BsbHrGLJ6l/oKh1O3TcgBqMn+yyCagOxc23fyzDS6HypQbgxWbkpDnf52p1LuR4eWDQ/K9WQ==", "dev": true }, + "combined-stream": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", + "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", + "requires": { + "delayed-stream": "~1.0.0" + } + }, "commander": { "version": "2.20.3", "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", @@ -17316,6 +17401,11 @@ "object-keys": "^1.1.1" } }, + "delayed-stream": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", + "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==" + }, "delegates": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/delegates/-/delegates-1.0.0.tgz", @@ -18195,8 +18285,7 @@ "follow-redirects": { "version": "1.15.1", "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.1.tgz", - "integrity": "sha512-yLAMQs+k0b2m7cVxpS1VKJVvoz7SS9Td1zss3XRwXj+ZDH00RJgnuLx7E44wx02kQLrdM3aOOy+FpzS7+8OizA==", - "dev": true + "integrity": "sha512-yLAMQs+k0b2m7cVxpS1VKJVvoz7SS9Td1zss3XRwXj+ZDH00RJgnuLx7E44wx02kQLrdM3aOOy+FpzS7+8OizA==" }, "fontkit": { "version": "1.9.0", @@ -18229,6 +18318,16 @@ "is-callable": "^1.1.3" } }, + "form-data": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.0.tgz", + "integrity": "sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==", + "requires": { + "asynckit": "^0.4.0", + "combined-stream": "^1.0.8", + "mime-types": "^2.1.12" + } + }, "forwarded": { "version": "0.2.0", "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.2.0.tgz", @@ -19927,14 +20026,12 @@ "mime-db": { "version": "1.52.0", "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", - "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", - "dev": true + "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==" }, "mime-types": { "version": "2.1.35", "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", - "dev": true, "requires": { "mime-db": "1.52.0" } diff --git a/frontend/main/package.json b/frontend/main/package.json index a123bbb..78acb49 100644 --- a/frontend/main/package.json +++ b/frontend/main/package.json @@ -18,7 +18,9 @@ "@angular/platform-browser": "^14.0.0", "@angular/platform-browser-dynamic": "^14.0.0", "@angular/router": "^14.0.0", + "@types/axios": "^0.14.0", "admin-lte": "3.0", + "axios": "^0.27.2", "jquery": "^3.6.1", "rxjs": "~7.5.0", "tslib": "^2.3.0", @@ -30,6 +32,7 @@ "@angular/compiler-cli": "^14.0.0", "@types/jasmine": "~4.0.0", "@types/jquery": "^3.5.14", + "@types/node": "^18.7.16", "jasmine-core": "~4.3.0", "karma": "~6.4.0", "karma-chrome-launcher": "~3.1.0", diff --git a/frontend/main/src/app/login/login.component.ts b/frontend/main/src/app/login/login.component.ts index 1309713..fe1aeb9 100644 --- a/frontend/main/src/app/login/login.component.ts +++ b/frontend/main/src/app/login/login.component.ts @@ -2,7 +2,6 @@ import { Component, OnInit } from '@angular/core'; import { Router } from '@angular/router'; import { catchError, of } from 'rxjs'; import { LoginserviceService } from '../loginservice.service'; -import * as $ from 'jquery' @Component({ selector: 'app-login', diff --git a/frontend/main/src/app/loginservice.service.ts b/frontend/main/src/app/loginservice.service.ts index 22c3967..13b7fa0 100644 --- a/frontend/main/src/app/loginservice.service.ts +++ b/frontend/main/src/app/loginservice.service.ts @@ -1,4 +1,4 @@ -import { HttpClient } from '@angular/common/http'; +import { HttpClient, HttpHeaders } from '@angular/common/http'; import { Injectable } from '@angular/core'; import { InjectSetupWrapper } from '@angular/core/testing'; import { ActivatedRouteSnapshot, CanActivate, Router, RouterStateSnapshot, UrlTree } from '@angular/router'; @@ -10,57 +10,57 @@ import { LoginComponent } from './login/login.component'; }) export class LoginserviceService implements CanActivate { - user!:string - TMSLoginAPI:string = "https://randomuser.me/api/?results=1" - succeed!:boolean - progress:boolean = false + user!: string + TMSLoginAPI: string = "https://randomuser.me/api/?results=1" + succeed!: boolean + progress: boolean = false - constructor(private router:Router, private http:HttpClient) {} + constructor(private router: Router, private http: HttpClient) { } - logging(user:string, password:string){ + logging(user: string, password: string) { this.progress = true fetch(this.TMSLoginAPI) - .then((resp) => resp.json()) - .then((data) =>{ - let ranUsers = data.results; - return ranUsers.map((ranUser:any) =>{ - this.user = `${ranUser.name.first}` - this.succeed = true - new LoginComponent(this.router, this).gotoHome() + .then((resp) => resp.json()) + .then((data) => { + let ranUsers = data.results; + return ranUsers.map((ranUser: any) => { + this.user = `${ranUser.name.first}` + this.succeed = true + new LoginComponent(this.router, this).gotoHome() + }) + }) + .catch((error) => { + console.log(error); + this.progress = false }) - }) - .catch((error) =>{ - console.log(error); - this.progress = false - }) - return this.http.get(this.TMSLoginAPI+'/'+user+'/'+password) + return this.http.get(this.TMSLoginAPI + '/' + user + '/' + password) } - registering(user:string, password:string, email:string){ + registering(user: string, password: string, email: string) { this.progress = true fetch(this.TMSLoginAPI) - .then((resp) => resp.json()) - .then((data) =>{ - let ranUsers = data.results; - return ranUsers.map((ranUser:any) =>{ - this.user = `${ranUser.name.first}` - this.succeed = true - new LoginComponent(this.router, this).gotoHome() + .then((resp) => resp.json()) + .then((data) => { + let ranUsers = data.results; + return ranUsers.map((ranUser: any) => { + this.user = `${ranUser.name.first}` + this.succeed = true + new LoginComponent(this.router, this).gotoHome() + }) + }) + .catch((error) => { + console.log(error); + this.progress = false }) - }) - .catch((error) =>{ - console.log(error); - this.progress = false - }) - return this.http.get(this.TMSLoginAPI+'/'+user+'/'+password) - + return this.http.get(this.TMSLoginAPI + '/' + user + '/' + password) + } canActivate(route: ActivatedRouteSnapshot, state: RouterStateSnapshot): boolean | UrlTree | Observable | Promise { - if(!this.succeed){ + if (!this.succeed) { this.router.navigateByUrl(''); } return this.succeed diff --git a/frontend/main/src/app/quote.service.spec.ts b/frontend/main/src/app/quote.service.spec.ts new file mode 100644 index 0000000..e6dee4b --- /dev/null +++ b/frontend/main/src/app/quote.service.spec.ts @@ -0,0 +1,16 @@ +import { TestBed } from '@angular/core/testing'; + +import { QuoteService } from './quote.service'; + +describe('QuoteService', () => { + let service: QuoteService; + + beforeEach(() => { + TestBed.configureTestingModule({}); + service = TestBed.inject(QuoteService); + }); + + it('should be created', () => { + expect(service).toBeTruthy(); + }); +}); diff --git a/frontend/main/src/app/quote.service.ts b/frontend/main/src/app/quote.service.ts new file mode 100644 index 0000000..1e24ae2 --- /dev/null +++ b/frontend/main/src/app/quote.service.ts @@ -0,0 +1,21 @@ +import { HttpClient } from '@angular/common/http'; +import { Injectable } from '@angular/core'; +import { catchError } from 'rxjs'; +import { ShipQtComponent } from './ship-qt/ship-qt.component'; + +@Injectable({ + providedIn: 'root' +}) +export class QuoteService { + + apiURL:string = 'https://maps.googleapis.com/maps/api/distancematrix/json?destinations=' + + constructor(private http: HttpClient) { } + + quote(cepOrigem:string, cepDestino:string):any{ + + return this.http.get(this.apiURL+cepOrigem+'&origins='+cepDestino+'&units=imperial&key=AIzaSyCKNjLUI0d01M0SfoDjIov4vZlR3DprotM') + + } + +} diff --git a/frontend/main/src/app/ship-qt/ship-qt.component.html b/frontend/main/src/app/ship-qt/ship-qt.component.html index 3a040db..59268f7 100644 --- a/frontend/main/src/app/ship-qt/ship-qt.component.html +++ b/frontend/main/src/app/ship-qt/ship-qt.component.html @@ -9,17 +9,17 @@ - - - - - - + + + + + + - +

@@ -47,9 +47,6 @@ - - -
{{quote.largura}} {{quote.altura}} {{quote.peso}}
diff --git a/frontend/main/src/app/ship-qt/ship-qt.component.ts b/frontend/main/src/app/ship-qt/ship-qt.component.ts index f6e059d..46a012b 100644 --- a/frontend/main/src/app/ship-qt/ship-qt.component.ts +++ b/frontend/main/src/app/ship-qt/ship-qt.component.ts @@ -1,5 +1,7 @@ import { HttpClient } from '@angular/common/http'; import { Component, OnInit } from '@angular/core'; +import { catchError, of } from 'rxjs'; +import { QuoteService } from '../quote.service'; @Component({ selector: 'app-ship-qt', @@ -8,49 +10,40 @@ import { Component, OnInit } from '@angular/core'; }) export class ShipQtComponent implements OnInit { quotes!: Array - cepOrigem!: number - cepDestino!: number + cepOrigem!: string + cepDestino!: string comprimento!: number largura!: number altura!: number peso!: number precoFrete!: number - tempo!: number + tempo!: string trackid!: string - readonly apiURL! : string - readonly apiURL2! : string - readonly apiURL3! : string - - - constructor(private http : HttpClient) { - this.apiURL=='https://maps.googleapis.com/maps/api/distancematrix/json?destinations='; - this.apiURL2=='&origins'; - this.apiURL3=='&units=imperial&key=AIzaSyCKNjLUI0d01M0SfoDjIov4vZlR3DprotM'; - } + constructor(public quoteService:QuoteService) {} ngOnInit(): void { - - // this.quotes.push({ precoFrete: 45.50, tempo: 3, trackid: "BR23154546TR", cepOrigem: 88058086, cepDestino: 88058086, comprimento: 50, largura: 50, altura: 50, peso: 10 }) - // this.quotes.push({ precoFrete: 94.50, tempo: 6, trackid: "BR22315445TR", cepOrigem: 46513265, cepDestino: 65898454, comprimento: 100, largura: 200, altura: 10, peso: 25 }) + //this.quotes.push({ precoFrete: 45.50, tempo: 3, trackid: "BR23154546TR", cepOrigem: 88058086, cepDestino: 88058086, comprimento: 50, largura: 50, altura: 50, peso: 10 }) + //this.quotes.push({ precoFrete: 94.50, tempo: 6, trackid: "BR22315445TR", cepOrigem: 46513265, cepDestino: 65898454, comprimento: 100, largura: 200, altura: 10, peso: 25 }) } - quote(cepOrigem:number, cepDestino:number) { - // this.http.post(`${this.apiURL}`,cepOrigem,`${this.apiURL2}`,cepDestino, `${this.apiURL3}`) - - - // https://maps.googleapis.com/maps/api/distancematrix/json?destinations=88352370&origins=88058086&units=imperial&key= + quote() { + + if(this.cepOrigem != null && this.cepDestino != null){ + this.quoteService.quote(this.cepOrigem, this.cepDestino) + .pipe() + .subscribe((response:any) => { + console.log(response); + console.log(response.rows); + console.log(response.rows); + alert(`${response.rows.elements.duration.text}`) + }) + }else{ + alert('DIGITE TODOS OS DADOS!') + } - // AIzaSyCKNjLUI0d01M0SfoDjIov4vZlR3DprotM - - } - - - - - -} \ No newline at end of file +} diff --git a/frontend/main/src/app/users/users.component.ts b/frontend/main/src/app/users/users.component.ts index f4d47fa..a1c6bbc 100644 --- a/frontend/main/src/app/users/users.component.ts +++ b/frontend/main/src/app/users/users.component.ts @@ -19,18 +19,20 @@ cpf!:string this.users.push({name:"Bruno Roberto", email:"bruno@gmail.com", cpf:"03215415454"}) this.users.push({name:"Cristian Schaufer", email:"cristian@gmail.com", cpf:"03215415454"}) this.users.push({name:"Kalil", email:"kalil@gmail.com", cpf:"03215415454"}) - + } adicionar(){ - if(this.name){ + if(this.name != null && this.email != null && this.cpf != null){ this.users.push({name:this.name, email:this.email, cpf:this.cpf}) - this.name ="" + this.name ="" this.email="" - this.cpf="" + this.cpf="" + }else{ + alert('DIGITE TODOS OS DADOS!') } } - + deletar(index:number){ this.users.splice(index,1) diff --git a/frontend/main/tsconfig.app.json b/frontend/main/tsconfig.app.json index 82d91dc..226adb4 100644 --- a/frontend/main/tsconfig.app.json +++ b/frontend/main/tsconfig.app.json @@ -3,7 +3,9 @@ "extends": "./tsconfig.json", "compilerOptions": { "outDir": "./out-tsc/app", - "types": [] + "types": [ + "node" + ] }, "files": [ "src/main.ts",