- {{this.data | json}}
+
+
+ Имя:
+ {{this.data.contact.name }}
+
+
+ Почта:
+ {{this.data.contact.email}}
+
+
+ Телефон:
+ {{this.data.contact.phone}}
+
+
+ Тема:
+ {{this.data.subject.name }}
+
+
+ Сообщение:
+ {{this.data.text}}
+
+
\ No newline at end of file
diff --git a/ClientApp/app/app.component.less b/ClientApp/app/app.component.less
index 5334fc1..2c2dab8 100644
--- a/ClientApp/app/app.component.less
+++ b/ClientApp/app/app.component.less
@@ -4,8 +4,11 @@
@lcol-width: 100px;
@rcol-width: 300px;
-.form {
+.app {
+ font-family: Verdana, Arial, "Times New Roman";
+ color: #666;
text-align: left;
+
width: 430px;
margin: 0 auto;
padding: 15px 0 30px 0;
@@ -19,21 +22,21 @@
position: relative;
right: 12px;
background-image: url("./pic/form-title.svg");
- -webkit-filter: drop-shadow( 3px 3px 2px rgba(0, 0, 0, .7));
- filter: drop-shadow( 5px 5px 2px rgba(59, 59, 59, 0.5););
+ -webkit-filter: drop-shadow(3px 3px 2px rgba(0, 0, 0, .7));
+ filter: drop-shadow(5px 5px 2px rgba(59, 59, 59, 0.5); );
}
-.header.second{
+.header.second {
height: 12px;
background-image: url("./pic/form-title2.svg");
z-index: -1;
}
-p{
+p {
margin-top: 0px;
text-indent: 20px;
color: white;
- font-size: 22pt;
+ font-size: 18pt;
}
.field {
@@ -54,7 +57,7 @@ p{
width: @rcol-width;
height: @entry-field-height;
- border: 1px inset;
+ border: 1px solid #999;
border-radius: @entry-field-border;
}
@@ -62,12 +65,13 @@ textarea.entry-field {
height: 75px;
resize: vertical;
}
-#captcha.entry-field {
+
+#captcha>.entry-field {
width: 120px;
padding-left: 0px;
}
-.captcha-img{
+#captcha>div.image {
margin: 0 10px 0 10px;
display: inline-block;
vertical-align: middle;
@@ -77,18 +81,6 @@ textarea.entry-field {
background-image: url("/api/captcha");
}
-.error-field {
- padding-left: @lcol-width;
- height: 1em;
-}
-
-.error {
- color: red;
-}
-
-.ng-touched.ng-invalid{
- border-color: red;
- }
input.entry-field {
padding-left: 30px;
@@ -97,30 +89,45 @@ input.entry-field {
background-position: 5px;
}
-#phone {
+#phone>input {
background-image: url("./pic/phone.svg");
-
}
-#email {
+#email>input {
background-image: url("./pic/mail.svg");
}
-#name {
+#name>input {
background-image: url("./pic/person.svg");
}
+
label {
display: inline-block;
vertical-align: middle;
width: @lcol-width;
- font-size: 11pt;
- font-weight: bold;
text-align: left;
- color: darkslategray;
- //text-shadow: 1px 1px 1px gray;
+ font-size: 10pt;
+ font-weight: bold;
}
+.error {
+ padding-left: @lcol-width;
+ font-size: 14px;
+ height: 16px;
+ color: red;
+}
+
+
+.ng-touched.ng-invalid {
+ border-color: red;
+}
+
+.ng-touched.ng-valid {
+ border-color: greenyellow;
+}
+
+
input,
select,
textarea {
diff --git a/ClientApp/app/app.component.ts b/ClientApp/app/app.component.ts
index e8a3280..deb8956 100644
--- a/ClientApp/app/app.component.ts
+++ b/ClientApp/app/app.component.ts
@@ -1,9 +1,8 @@
-import {
- Component,
- OnInit
-} from "@angular/core";
+import {Component, OnInit} from "@angular/core";
import {DataService} from "../data.services";
import {Contact, Message, Subject} from "./app.models";
+import {Observable} from 'rxjs';
+import {map} from 'rxjs/operators';
import {
FormGroup,
@@ -13,8 +12,6 @@ import {
AbstractControl,
ValidationErrors
} from "@angular/forms";
-import {Observable} from 'rxjs';
-import {map} from 'rxjs/operators';
@Component({
selector: "app",
@@ -31,12 +28,11 @@ export class AppComponent implements OnInit {
title = "myapp";
subjects: Subject[];
myForm: FormGroup;
+ sended: boolean = false;
data: string[];
- contact: Contact;
constructor(private fb: FormBuilder, private dataService: DataService) {}
-
isControlInvalid(controlName: string): boolean {
const control = this.myForm.controls[controlName];
const result = control.invalid && control.touched;
@@ -44,7 +40,6 @@ export class AppComponent implements OnInit {
}
onSubmit() {
- // this.test(this.dataService)(this.myForm.value.captcha).subscribe(data=>console.log(data));
const controls = this.myForm.controls;
/** Проверяем форму на валидность */
if (this.myForm.invalid) {
@@ -54,13 +49,12 @@ export class AppComponent implements OnInit {
return;
} else {
let contact = new Contact(this.myForm.value.name, this.myForm.value.email, this.myForm.value.phone);
- let message = new Message(contact, this.myForm.value.subject.id, this.myForm.value.message);
+ let message = new Message(contact, this.myForm.value.subject, this.myForm.value.message);
this.dataService.sendMessage(message).subscribe((data: string[]) => {
- console.log("return: : ", data);
+ this.data = data;
+ this.sended = true;
});
-
-
}
}
@@ -72,37 +66,6 @@ export class AppComponent implements OnInit {
}
));
-
- /*
- CaptchaValidator(service: DataService): AsyncValidatorFn {
- return (control: AbstractControl): Observable < ValidationErrors | null > => {
-
- return service.checkCaptcha(control.value) .pipe(
- map((data: boolean) => {
- console.log("map: ", data);
- if (control.value != data) return {
- 'captcha': true
- };
- else return null;
- })
- );
- };
- }
- */
- /*
- CaptchaValidator = (service: DataService): AsyncValidatorFn => {
- return (control: AbstractControl): Promise < ValidationErrors | null > | Observable < ValidationErrors | null > => {
- return service.checkCaptcha(control.value).pipe(
- switchMap((data:boolean) => (
- data ?
- {captcha: true}
- :
- null
- )
- )
- );
- }
- }*/
ngOnInit() {
this.myForm = this.fb.group({
name: ["", [
@@ -131,11 +94,10 @@ export class AppComponent implements OnInit {
]
});
- //this.dataService.getData().subscribe((data: string) => this.data = [data]);
+ //инициализация тем сообщения
this.dataService.getSubjects().subscribe((subjects: Subject[]) => {
this.subjects = subjects;
- console.log(subjects);
- this.myForm.get('subject').setValue(subjects[0]);
+ this.myForm.get('subject').setValue(subjects[0]); //установка значения поумолчанию
});
}
}
\ No newline at end of file
diff --git a/ClientApp/app/app.models.ts b/ClientApp/app/app.models.ts
index 00d331d..5a7231c 100644
--- a/ClientApp/app/app.models.ts
+++ b/ClientApp/app/app.models.ts
@@ -9,19 +9,20 @@ export class Contact {
this.phone = phone;
}
}
+export class Subject {
+ id: number;
+ name: string;
+}
+
export class Message {
contact: Contact;
- subjectId: number;
+ subject: Subject;
text: string;
- constructor(contact: Contact, subjectId: number, text: string) {
+ constructor(contact: Contact, subject: Subject, text: string) {
this.contact = contact;
- this.subjectId = subjectId;
+ this.subject = subject;
this.text = text;
}
}
-export class Subject {
- id: number;
- name: string;
-}
\ No newline at end of file
diff --git a/ClientApp/app/app.module.ts b/ClientApp/app/app.module.ts
index 4de530f..2110910 100644
--- a/ClientApp/app/app.module.ts
+++ b/ClientApp/app/app.module.ts
@@ -5,7 +5,7 @@ import { AppComponent } from './app.component';
import { ReactiveFormsModule } from '@angular/forms';
import { DataService } from "../data.services";
import { HttpClientModule } from '@angular/common/http';
-import {NgxMaskModule} from 'ngx-mask'
+import { NgxMaskModule } from 'ngx-mask'
@NgModule({
declarations: [AppComponent],
imports: [
diff --git a/ClientApp/data.services.ts b/ClientApp/data.services.ts
index 75533b5..f873c36 100644
--- a/ClientApp/data.services.ts
+++ b/ClientApp/data.services.ts
@@ -1,12 +1,8 @@
-import {
- Injectable
-} from "@angular/core";
-import {
- HttpClient
-} from "@angular/common/http";
+import { Injectable } from "@angular/core";
+import { HttpClient } from "@angular/common/http";
-import { Observable, of, from } from "rxjs";
-import { catchError, map, tap } from "rxjs/operators";
+import { Observable, of } from "rxjs";
+import { catchError } from "rxjs/operators";
import {Contact, Message, Subject} from "./app/app.models";
@Injectable()
diff --git a/Controllers/CaptchaController.cs b/Controllers/CaptchaController.cs
index 30f2963..187cf9f 100644
--- a/Controllers/CaptchaController.cs
+++ b/Controllers/CaptchaController.cs
@@ -39,7 +39,7 @@ private string RndStr(int count)
public FileResult GetImage()
{
CaptchaRandomImage cr = new CaptchaRandomImage();
-
+
HttpContext.Session.SetString("CaptchaImageText", RndStr(5));
cr.GenerateImage(
HttpContext.Session.GetString("CaptchaImageText"),
@@ -49,15 +49,18 @@ public FileResult GetImage()
Color.White
);
MemoryStream ms = new MemoryStream();
-
cr.Image.Save(ms, ImageFormat.Png);
ms.Seek(0, SeekOrigin.Begin);
return new FileStreamResult(ms, "image/png");
}
-
+ // POST: api/Captcha
[HttpPost]
public IActionResult Check([FromBody] Captcha captcha)
{
+ if (!ModelState.IsValid)
+ {
+ return BadRequest(ModelState);
+ }
return Ok(captcha.CaptchaCode == HttpContext.Session.GetString("CaptchaImageText"));
}
}
diff --git a/Controllers/MessagesController.cs b/Controllers/MessagesController.cs
index b05687a..57b8227 100644
--- a/Controllers/MessagesController.cs
+++ b/Controllers/MessagesController.cs
@@ -20,13 +20,6 @@ public MessagesController(ApplicationContext context)
_context = context;
}
- // GET: api/Messages
- [HttpGet]
- public IEnumerable
GetMessages()
- {
- return _context.Messages;
- }
-
// POST: api/Messages
[HttpPost]
public async Task PostMessage([FromBody] Message message)
@@ -41,16 +34,14 @@ public async Task PostMessage([FromBody] Message message)
if (findContact.Count() == 0) _context.Contacts.Add(message.Contact);
else message.Contact = findContact.FirstOrDefault();
+ message.Subject = _context.Subjects.Find(message.Subject.Id);
+ message.SubjectId = message.Subject.Id;
+
message.ContactId = message.Contact.Id;
_context.Messages.Add(message);
await _context.SaveChangesAsync();
return Ok(message);
}
-
- private bool MessageExists(int id)
- {
- return _context.Messages.Any(e => e.Id == id);
- }
}
}
\ No newline at end of file
diff --git a/Controllers/SubjectsController.cs b/Controllers/SubjectsController.cs
index c616a38..ecfda35 100644
--- a/Controllers/SubjectsController.cs
+++ b/Controllers/SubjectsController.cs
@@ -1,10 +1,7 @@
using System;
using System.Collections.Generic;
using System.Linq;
-using System.Threading.Tasks;
-using Microsoft.AspNetCore.Http;
using Microsoft.AspNetCore.Mvc;
-using Microsoft.EntityFrameworkCore;
using Ang_form.Models;
namespace Ang_form.Controllers
@@ -24,13 +21,7 @@ public SubjectsController(ApplicationContext context)
[HttpGet]
public IEnumerable GetSubjects()
{
-
return _context.Subjects;
}
-
- private bool SubjectExists(int id)
- {
- return _context.Subjects.Any(e => e.Id == id);
- }
}
}
\ No newline at end of file
diff --git a/Program.cs b/Program.cs
index 17c516d..aaa908c 100644
--- a/Program.cs
+++ b/Program.cs
@@ -1,14 +1,5 @@
-using System;
-using System.Configuration;
-using System.Collections.Specialized;
-using System.Collections.Generic;
-using System.IO;
-using System.Linq;
-using System.Threading.Tasks;
-using Microsoft.AspNetCore;
+using Microsoft.AspNetCore;
using Microsoft.AspNetCore.Hosting;
-using Microsoft.Extensions.Configuration;
-using Microsoft.Extensions.Logging;
namespace Ang_form
{
diff --git a/Startup.cs b/Startup.cs
index 4221426..0924f40 100644
--- a/Startup.cs
+++ b/Startup.cs
@@ -4,7 +4,6 @@
using Microsoft.AspNetCore.Builder;
using Microsoft.AspNetCore.Hosting;
using Microsoft.AspNetCore.Mvc;
-using Microsoft.AspNetCore.Http;
using Microsoft.AspNetCore.SpaServices.Webpack;
using Microsoft.Extensions.Configuration;
@@ -33,13 +32,7 @@ public void ConfigureServices(IServiceCollection services)
services.AddDbContext(options => options.UseSqlServer(connectionString));
services.AddDistributedMemoryCache();
- services.AddSession(options => {
- // Set a short timeout for easy testing.
- options.IdleTimeout = TimeSpan.FromSeconds(10);
- options.Cookie.HttpOnly = true;
- // Make the session cookie essential
- options.Cookie.IsEssential = true;
- });
+ services.AddSession();
services.AddMvc()
.SetCompatibilityVersion(CompatibilityVersion.Version_2_1)
diff --git a/package-lock.json b/package-lock.json
index fcdd3aa..4c9c760 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -1,5 +1,5 @@
{
- "name": "asp.net",
+ "name": "ang_form",
"version": "1.0.0",
"lockfileVersion": 1,
"requires": true,
@@ -300,7 +300,8 @@
"ajv-keywords": {
"version": "3.4.0",
"resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.4.0.tgz",
- "integrity": "sha512-aUjdRFISbuFOl0EIZc+9e4FfZp0bDZgAdOOf30bJmw8VM9v84SHyVyxDfbWxpGYbdZD/9XoKxfHVNmxPkhwyGw=="
+ "integrity": "sha512-aUjdRFISbuFOl0EIZc+9e4FfZp0bDZgAdOOf30bJmw8VM9v84SHyVyxDfbWxpGYbdZD/9XoKxfHVNmxPkhwyGw==",
+ "dev": true
},
"angular2-template-loader": {
"version": "0.6.2",
@@ -466,8 +467,7 @@
"assert-plus": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz",
- "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=",
- "optional": true
+ "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU="
},
"assign-symbols": {
"version": "1.0.0",
@@ -481,14 +481,6 @@
"integrity": "sha1-ECyenpAF0+fjgpvwxPok7oYu6bk=",
"dev": true
},
- "async": {
- "version": "2.6.2",
- "resolved": "https://registry.npmjs.org/async/-/async-2.6.2.tgz",
- "integrity": "sha512-H1qVYh1MYhEEFLsP97cVKqCGo7KfCyTt6uEWqsTBr9SO84oK9Uwbyd/yCW+6rKJLHksBNUVWZDAjfS+Ccx0Bbg==",
- "requires": {
- "lodash": "^4.17.11"
- }
- },
"async-each": {
"version": "1.0.3",
"resolved": "https://registry.npmjs.org/async-each/-/async-each-1.0.3.tgz",
@@ -642,7 +634,8 @@
"big.js": {
"version": "3.2.0",
"resolved": "https://registry.npmjs.org/big.js/-/big.js-3.2.0.tgz",
- "integrity": "sha512-+hN/Zh2D08Mx65pZ/4g5bsmNiZUuChDiQfTUQ7qJr4/kuopCr88xZsAXv6mBoZEsUI4OuGHlX59qE94K2mMW8Q=="
+ "integrity": "sha512-+hN/Zh2D08Mx65pZ/4g5bsmNiZUuChDiQfTUQ7qJr4/kuopCr88xZsAXv6mBoZEsUI4OuGHlX59qE94K2mMW8Q==",
+ "dev": true
},
"binary-extensions": {
"version": "1.13.1",
@@ -1015,7 +1008,6 @@
"version": "1.0.7",
"resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.7.tgz",
"integrity": "sha512-brWl9y6vOB1xYPZcpZde3N9zDByXTosAeMDo4p1wzo6UMOX4vumB+TP1RZ76sfE6Md68Q0NJSrE/gbezd4Ul+w==",
- "optional": true,
"requires": {
"delayed-stream": "~1.0.0"
}
@@ -1339,8 +1331,7 @@
"delayed-stream": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz",
- "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=",
- "optional": true
+ "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk="
},
"des.js": {
"version": "1.0.0",
@@ -1438,7 +1429,8 @@
"emojis-list": {
"version": "2.1.0",
"resolved": "https://registry.npmjs.org/emojis-list/-/emojis-list-2.1.0.tgz",
- "integrity": "sha1-TapNnbAPmBmIDHn6RXrlsJof04k="
+ "integrity": "sha1-TapNnbAPmBmIDHn6RXrlsJof04k=",
+ "dev": true
},
"encodeurl": {
"version": "1.0.2",
@@ -1753,56 +1745,10 @@
}
}
},
- "extract-text-webpack-plugin": {
- "version": "4.0.0-beta.0",
- "resolved": "https://registry.npmjs.org/extract-text-webpack-plugin/-/extract-text-webpack-plugin-4.0.0-beta.0.tgz",
- "integrity": "sha512-Hypkn9jUTnFr0DpekNam53X47tXn3ucY08BQumv7kdGgeVUBLq3DJHJTi6HNxv4jl9W+Skxjz9+RnK0sJyqqjA==",
- "requires": {
- "async": "^2.4.1",
- "loader-utils": "^1.1.0",
- "schema-utils": "^0.4.5",
- "webpack-sources": "^1.1.0"
- },
- "dependencies": {
- "big.js": {
- "version": "5.2.2",
- "resolved": "https://registry.npmjs.org/big.js/-/big.js-5.2.2.tgz",
- "integrity": "sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ=="
- },
- "json5": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz",
- "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==",
- "requires": {
- "minimist": "^1.2.0"
- }
- },
- "loader-utils": {
- "version": "1.2.3",
- "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.2.3.tgz",
- "integrity": "sha512-fkpz8ejdnEMG3s37wGL07iSBDg99O9D5yflE9RGNH3hRdx9SOwYfnGYdZOUIZitN8E+E2vkq3MUMYMvPYl5ZZA==",
- "requires": {
- "big.js": "^5.2.2",
- "emojis-list": "^2.0.0",
- "json5": "^1.0.1"
- }
- },
- "schema-utils": {
- "version": "0.4.7",
- "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-0.4.7.tgz",
- "integrity": "sha512-v/iwU6wvwGK8HbU9yi3/nhGzP0yGSuhQMzL6ySiec1FSrZZDkhm4noOSWzrNFo/jEc+SJY6jRTwuwbSXJPDUnQ==",
- "requires": {
- "ajv": "^6.1.0",
- "ajv-keywords": "^3.1.0"
- }
- }
- }
- },
"extsprintf": {
"version": "1.3.0",
"resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz",
- "integrity": "sha1-lpGEQOMEGnpBT4xS48V06zw+HgU=",
- "optional": true
+ "integrity": "sha1-lpGEQOMEGnpBT4xS48V06zw+HgU="
},
"fast-deep-equal": {
"version": "2.0.1",
@@ -2045,8 +1991,7 @@
"ansi-regex": {
"version": "2.1.1",
"bundled": true,
- "dev": true,
- "optional": true
+ "dev": true
},
"aproba": {
"version": "1.2.0",
@@ -2067,14 +2012,12 @@
"balanced-match": {
"version": "1.0.0",
"bundled": true,
- "dev": true,
- "optional": true
+ "dev": true
},
"brace-expansion": {
"version": "1.1.11",
"bundled": true,
"dev": true,
- "optional": true,
"requires": {
"balanced-match": "^1.0.0",
"concat-map": "0.0.1"
@@ -2089,20 +2032,17 @@
"code-point-at": {
"version": "1.1.0",
"bundled": true,
- "dev": true,
- "optional": true
+ "dev": true
},
"concat-map": {
"version": "0.0.1",
"bundled": true,
- "dev": true,
- "optional": true
+ "dev": true
},
"console-control-strings": {
"version": "1.1.0",
"bundled": true,
- "dev": true,
- "optional": true
+ "dev": true
},
"core-util-is": {
"version": "1.0.2",
@@ -2219,8 +2159,7 @@
"inherits": {
"version": "2.0.3",
"bundled": true,
- "dev": true,
- "optional": true
+ "dev": true
},
"ini": {
"version": "1.3.5",
@@ -2232,7 +2171,6 @@
"version": "1.0.0",
"bundled": true,
"dev": true,
- "optional": true,
"requires": {
"number-is-nan": "^1.0.0"
}
@@ -2247,7 +2185,6 @@
"version": "3.0.4",
"bundled": true,
"dev": true,
- "optional": true,
"requires": {
"brace-expansion": "^1.1.7"
}
@@ -2255,14 +2192,12 @@
"minimist": {
"version": "0.0.8",
"bundled": true,
- "dev": true,
- "optional": true
+ "dev": true
},
"minipass": {
"version": "2.3.5",
"bundled": true,
"dev": true,
- "optional": true,
"requires": {
"safe-buffer": "^5.1.2",
"yallist": "^3.0.0"
@@ -2281,7 +2216,6 @@
"version": "0.5.1",
"bundled": true,
"dev": true,
- "optional": true,
"requires": {
"minimist": "0.0.8"
}
@@ -2362,8 +2296,7 @@
"number-is-nan": {
"version": "1.0.1",
"bundled": true,
- "dev": true,
- "optional": true
+ "dev": true
},
"object-assign": {
"version": "4.1.1",
@@ -2375,7 +2308,6 @@
"version": "1.4.0",
"bundled": true,
"dev": true,
- "optional": true,
"requires": {
"wrappy": "1"
}
@@ -2461,8 +2393,7 @@
"safe-buffer": {
"version": "5.1.2",
"bundled": true,
- "dev": true,
- "optional": true
+ "dev": true
},
"safer-buffer": {
"version": "2.1.2",
@@ -2498,7 +2429,6 @@
"version": "1.0.2",
"bundled": true,
"dev": true,
- "optional": true,
"requires": {
"code-point-at": "^1.0.0",
"is-fullwidth-code-point": "^1.0.0",
@@ -2518,7 +2448,6 @@
"version": "3.0.1",
"bundled": true,
"dev": true,
- "optional": true,
"requires": {
"ansi-regex": "^2.0.0"
}
@@ -2562,14 +2491,12 @@
"wrappy": {
"version": "1.0.2",
"bundled": true,
- "dev": true,
- "optional": true
+ "dev": true
},
"yallist": {
"version": "3.0.3",
"bundled": true,
- "dev": true,
- "optional": true
+ "dev": true
}
}
},
@@ -3219,8 +3146,7 @@
"jsbn": {
"version": "0.1.1",
"resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz",
- "integrity": "sha1-peZUwuWi3rXyAdls77yoDA7y9RM=",
- "optional": true
+ "integrity": "sha1-peZUwuWi3rXyAdls77yoDA7y9RM="
},
"json-parse-better-errors": {
"version": "1.0.2",
@@ -3248,7 +3174,8 @@
"json5": {
"version": "0.5.1",
"resolved": "https://registry.npmjs.org/json5/-/json5-0.5.1.tgz",
- "integrity": "sha1-Hq3nrMASA0rYTiOWdn6tn6VJWCE="
+ "integrity": "sha1-Hq3nrMASA0rYTiOWdn6tn6VJWCE=",
+ "dev": true
},
"jsprim": {
"version": "1.4.1",
@@ -3356,6 +3283,7 @@
"version": "0.2.17",
"resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-0.2.17.tgz",
"integrity": "sha1-+G5jdNQyBabmxg6RlvF8Apm/s0g=",
+ "dev": true,
"requires": {
"big.js": "^3.1.3",
"emojis-list": "^2.0.0",
@@ -3376,7 +3304,8 @@
"lodash": {
"version": "4.17.11",
"resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.11.tgz",
- "integrity": "sha512-cQKh8igo5QUhZ7lg38DYWAxMvjSAKG0A8wGSVimP07SIUEK2UO+arSRKbRZWtelMtN5V0Hkwh5ryOto/SshYIg=="
+ "integrity": "sha512-cQKh8igo5QUhZ7lg38DYWAxMvjSAKG0A8wGSVimP07SIUEK2UO+arSRKbRZWtelMtN5V0Hkwh5ryOto/SshYIg==",
+ "dev": true
},
"log-symbols": {
"version": "2.2.0",
@@ -3532,14 +3461,12 @@
"mime-db": {
"version": "1.39.0",
"resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.39.0.tgz",
- "integrity": "sha512-DTsrw/iWVvwHH+9Otxccdyy0Tgiil6TWK/xhfARJZF/QFhwOgZgOIvA2/VIGpM8U7Q8z5nDmdDWC6tuVMJNibw==",
- "optional": true
+ "integrity": "sha512-DTsrw/iWVvwHH+9Otxccdyy0Tgiil6TWK/xhfARJZF/QFhwOgZgOIvA2/VIGpM8U7Q8z5nDmdDWC6tuVMJNibw=="
},
"mime-types": {
"version": "2.1.23",
"resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.23.tgz",
"integrity": "sha512-ROk/m+gMVSrRxTkMlaQOvFmFmYDc7sZgrjjM76abqmd2Cc5fCV7jAMA5XUccEtJ3cYiYdgixUVI+fApc2LkXlw==",
- "optional": true,
"requires": {
"mime-db": "~1.39.0"
}
@@ -3574,7 +3501,8 @@
"minimist": {
"version": "1.2.0",
"resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz",
- "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ="
+ "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=",
+ "dev": true
},
"mississippi": {
"version": "3.0.0",
@@ -3802,7 +3730,8 @@
"object-assign": {
"version": "4.1.1",
"resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz",
- "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM="
+ "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=",
+ "dev": true
},
"object-copy": {
"version": "0.1.0",
@@ -4702,7 +4631,8 @@
"source-list-map": {
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/source-list-map/-/source-list-map-2.0.1.tgz",
- "integrity": "sha512-qnQ7gVMxGNxsiL4lEuJwe/To8UnK7fAnmbGEEH8RpLouuKbeEm0lhbQVFIrNSuB+G7tVrAlVsZgETT5nljf+Iw=="
+ "integrity": "sha512-qnQ7gVMxGNxsiL4lEuJwe/To8UnK7fAnmbGEEH8RpLouuKbeEm0lhbQVFIrNSuB+G7tVrAlVsZgETT5nljf+Iw==",
+ "dev": true
},
"source-map": {
"version": "0.5.7",
@@ -5195,14 +5125,6 @@
"repeat-string": "^1.6.1"
}
},
- "to-string-loader": {
- "version": "1.1.5",
- "resolved": "https://registry.npmjs.org/to-string-loader/-/to-string-loader-1.1.5.tgz",
- "integrity": "sha1-e3qheJG3u0lHp6Eb+wO1/enG5pU=",
- "requires": {
- "loader-utils": "^0.2.16"
- }
- },
"tough-cookie": {
"version": "2.4.3",
"resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.4.3.tgz",
@@ -5244,8 +5166,7 @@
"tweetnacl": {
"version": "0.14.5",
"resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz",
- "integrity": "sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q=",
- "optional": true
+ "integrity": "sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q="
},
"typedarray": {
"version": "0.0.6",
@@ -5727,6 +5648,7 @@
"version": "1.3.0",
"resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-1.3.0.tgz",
"integrity": "sha512-OiVgSrbGu7NEnEvQJJgdSFPl2qWKkWq5lHMhgiToIiN9w34EBnjYzSYs+VbL5KoYiLNtFFa7BZIKxRED3I32pA==",
+ "dev": true,
"requires": {
"source-list-map": "^2.0.0",
"source-map": "~0.6.1"
@@ -5735,7 +5657,8 @@
"source-map": {
"version": "0.6.1",
"resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
- "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g=="
+ "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
+ "dev": true
}
}
},
diff --git a/package.json b/package.json
index 83000c6..d3af292 100644
--- a/package.json
+++ b/package.json
@@ -1,6 +1,6 @@
{
"version": "1.0.0",
- "name": "asp.net",
+ "name": "ang_form",
"private": true,
"author": "",
"dependencies": {
@@ -13,11 +13,9 @@
"@angular/platform-browser-dynamic": "~7.2.13",
"@angular/router": "~7.2.13",
"core-js": "^3.0.1",
- "extract-text-webpack-plugin": "^4.0.0-beta.0",
"less": "^3.9.0",
"ngx-mask": "^7.9.3",
"rxjs": "~6.4.0",
- "to-string-loader": "^1.1.5",
"tslib": "^1.9.3",
"zone": "^0.3.4",
"zone.js": "~0.9.0"