From b551fb3ec69533e007730632d0bb4f08bea276ab Mon Sep 17 00:00:00 2001 From: Eric Anderson Date: Tue, 3 Jan 2017 07:04:13 -0600 Subject: [PATCH 1/2] Aurelia - optional route with place holder for contact creation --- .../src/Aurelia/ClientApp/app/components/app/app.ts | 2 +- .../app/components/contacts/contactDetail.html | 3 +++ .../app/components/contacts/contactDetail.ts | 12 ++++++++++-- .../app/components/contacts/contactList.html | 2 ++ 4 files changed, 16 insertions(+), 3 deletions(-) diff --git a/ASP.NET Core Basics/src/Aurelia/ClientApp/app/components/app/app.ts b/ASP.NET Core Basics/src/Aurelia/ClientApp/app/components/app/app.ts index 7fcb1c9..85ed7ac 100644 --- a/ASP.NET Core Basics/src/Aurelia/ClientApp/app/components/app/app.ts +++ b/ASP.NET Core Basics/src/Aurelia/ClientApp/app/components/app/app.ts @@ -37,7 +37,7 @@ export class App { title: 'Contact List' }, { - route: 'contact-detail/:id', + route: 'contact-detail/:id?', name: 'contactdetail', moduleId: '../contacts/contactDetail', nav: false, diff --git a/ASP.NET Core Basics/src/Aurelia/ClientApp/app/components/contacts/contactDetail.html b/ASP.NET Core Basics/src/Aurelia/ClientApp/app/components/contacts/contactDetail.html index 0acc077..5f96240 100644 --- a/ASP.NET Core Basics/src/Aurelia/ClientApp/app/components/contacts/contactDetail.html +++ b/ASP.NET Core Basics/src/Aurelia/ClientApp/app/components/contacts/contactDetail.html @@ -15,6 +15,9 @@

Contact Details

${contact.email}
+

+ Place holder for creating a new contact +

Back to List
\ No newline at end of file diff --git a/ASP.NET Core Basics/src/Aurelia/ClientApp/app/components/contacts/contactDetail.ts b/ASP.NET Core Basics/src/Aurelia/ClientApp/app/components/contacts/contactDetail.ts index 0e771f2..aaadb9c 100644 --- a/ASP.NET Core Basics/src/Aurelia/ClientApp/app/components/contacts/contactDetail.ts +++ b/ASP.NET Core Basics/src/Aurelia/ClientApp/app/components/contacts/contactDetail.ts @@ -5,12 +5,20 @@ import { ContactService } from './contactService'; @inject(ContactService) export class ContactDetail { contact: Contact; + hasContactId: boolean; constructor(private contactService: ContactService) { } activate(parms, routeConfig) { - return this.contactService.getById(parms.id) - .then(contact => this.contact = contact); + this.hasContactId = parms.id; + + if (this.hasContactId) { + return this.contactService.getById(parms.id) + .then(contact => this.contact = contact); + } + + return null; + } } \ No newline at end of file diff --git a/ASP.NET Core Basics/src/Aurelia/ClientApp/app/components/contacts/contactList.html b/ASP.NET Core Basics/src/Aurelia/ClientApp/app/components/contacts/contactList.html index ee311bd..173d881 100644 --- a/ASP.NET Core Basics/src/Aurelia/ClientApp/app/components/contacts/contactList.html +++ b/ASP.NET Core Basics/src/Aurelia/ClientApp/app/components/contacts/contactList.html @@ -2,6 +2,8 @@

Contact List

Loading...

+ + Create New Contact From be599fb2c07d3ce0a3532420153705a816373448 Mon Sep 17 00:00:00 2001 From: Eric Anderson Date: Sat, 7 Jan 2017 14:06:26 -0600 Subject: [PATCH 2/2] Remove click delegate on create new contact --- .../Aurelia/ClientApp/app/components/contacts/contactList.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ASP.NET Core Basics/src/Aurelia/ClientApp/app/components/contacts/contactList.html b/ASP.NET Core Basics/src/Aurelia/ClientApp/app/components/contacts/contactList.html index 173d881..4baba41 100644 --- a/ASP.NET Core Basics/src/Aurelia/ClientApp/app/components/contacts/contactList.html +++ b/ASP.NET Core Basics/src/Aurelia/ClientApp/app/components/contacts/contactList.html @@ -3,7 +3,7 @@

Contact List

Loading...

- Create New Contact + Create New Contact