diff options
Diffstat (limited to 'src/app/identity-page')
-rw-r--r-- | src/app/identity-page/identity-page.component.html | 27 | ||||
-rw-r--r-- | src/app/identity-page/identity-page.component.ts | 30 |
2 files changed, 46 insertions, 11 deletions
diff --git a/src/app/identity-page/identity-page.component.html b/src/app/identity-page/identity-page.component.html index fe72dc1..b0f22d8 100644 --- a/src/app/identity-page/identity-page.component.html +++ b/src/app/identity-page/identity-page.component.html | |||
@@ -18,12 +18,13 @@ | |||
18 | <div class="u-mv-x1" *ngFor="let identity of filteredItems"> | 18 | <div class="u-mv-x1" *ngFor="let identity of filteredItems"> |
19 | <div class="c-card c-card--no-padding u-p-x1"> | 19 | <div class="c-card c-card--no-padding u-p-x1"> |
20 | <div class="o-grid"> | 20 | <div class="o-grid"> |
21 | <div class="o-grid__col u-1/12"><div class="c-circle" [ngStyle]="{'background-color': returnHSL(identity.id)}">{{identity.name | slice:0:1 | uppercase}}</div></div> | 21 | <div class="o-grid__col u-1/12"><div class="c-circle" [ngStyle]="{'background-color': returnHSL(identity.pubkey)}">{{identity.name | slice:0:1 | uppercase}}</div></div> |
22 | <div class="o-grid__col u-9/12"> | 22 | <div class="o-grid__col u-8/12"> |
23 | <p class="u-color-grey">Public Key: <span class="">{{identity.id}}</span></p> | 23 | <p class="u-color-grey">Public Key: <span class="">{{identity.pubkey}}</span></p> |
24 | <span class="o-type-20">{{identity.name}}</span> | 24 | <span class="o-type-20">{{identity.name}}</span> |
25 | </div> | 25 | </div> |
26 | <div class="o-grid__col u-1/12"><p class="u-color-grey">Rename</p><a class="c-button c-button--rename" (click)="onClickRename(identity)"><i class="fa fa-pencil"></i></a></div> | 26 | <div class="o-grid__col u-1/12"><p class="u-color-grey">Rename</p><a class="c-button c-button--rename" (click)="onClickRename(identity)"><i class="fa fa-pencil"></i></a></div> |
27 | <div class="o-grid__col u-1/12"><p class="u-color-grey">Subsystem</p><a class="c-button c-button--rename" (click)="onClickAddSubsystem(identity)"><i class="fa fa-plus"></i></a></div> | ||
27 | <div class="o-grid__col u-1/12"><p class="u-color-grey">Delete</p><a class="c-button c-button--danger" (click)="onClickDelete(identity)"><i class="fa fa-trash"></i></a></div> | 28 | <div class="o-grid__col u-1/12"><p class="u-color-grey">Delete</p><a class="c-button c-button--danger" (click)="onClickDelete(identity)"><i class="fa fa-trash"></i></a></div> |
28 | </div> | 29 | </div> |
29 | </div> | 30 | </div> |
@@ -32,20 +33,32 @@ | |||
32 | 33 | ||
33 | <div class="c-card u-p-x3 u-mt-x2" *ngIf="this.rename"> | 34 | <div class="c-card u-p-x3 u-mt-x2" *ngIf="this.rename"> |
34 | <h1 class="o-type-22 u-pb-x1 u-color-primary-light" >Rename</h1> | 35 | <h1 class="o-type-22 u-pb-x1 u-color-primary-light" >Rename</h1> |
35 | <div class="u-color-grey">Public Key: <span>{{changeIdentity.id}}</span></div> | 36 | <div class="u-color-grey u-pb-x1">Public Key: <span>{{changeIdentity.pubkey}}</span></div> |
36 | <div> | 37 | <div> |
37 | <span class="u-mr-x2"><span class="u-mr-x3">Name: </span><input class="c-input" placeholder="Change Name" [(ngModel)]="changeIdentity.name"/></span> | 38 | <span class="u-mr-x2"><span class="u-mr-x3">Name: </span><input class="c-input" placeholder="Change Name" [(ngModel)]="changeIdentity.name"/></span> |
38 | <a class="c-button" (click)="onRename(changeIdentity)">Rename</a> | 39 | <a class="c-button" (click)="onRename(changeIdentity)">Save</a> |
39 | <a class="c-button c-button--outline u-m-x2" (click)="onReset()">Cancel</a> | 40 | <a class="c-button c-button--outline u-m-x2" (click)="onReset()">Cancel</a> |
40 | </div> | 41 | </div> |
41 | </div> | 42 | </div> |
42 | 43 | ||
44 | <div class="c-card u-p-x3 u-mt-x2" *ngIf="this.addsubsystem"> | ||
45 | <h1 class="o-type-22 u-pb-x1 u-color-primary-light" >Add Subsystem</h1> | ||
46 | <div class="u-color-grey">Public Key: <span>{{changeIdentity.pubkey}}</span></div> | ||
47 | <div class="u-color-grey">Name: <span>{{changeIdentity.name}}</span></div> | ||
48 | <span class="u-mr-x2"> | ||
49 | <span class="u-mr-x3">Subsystem: </span> | ||
50 | <input class="c-input" placeholder="e.g. namestore, ..." [(ngModel)]="newsubsystem"/> | ||
51 | </span> | ||
52 | <a class="c-button" (click)="onAddSubsystem(changeIdentity.pubkey)">Add</a> | ||
53 | <a class="c-button c-button--outline u-m-x2" (click)="onReset()">Cancel</a> | ||
54 | </div> | ||
55 | |||
43 | <div class="c-card u-p-x3 u-mt-x2" *ngIf="this.delete"> | 56 | <div class="c-card u-p-x3 u-mt-x2" *ngIf="this.delete"> |
44 | <h1 class="o-type-22 u-pb-x1 u-color-primary-light" >Delete</h1> | 57 | <h1 class="o-type-22 u-pb-x1 u-color-primary-light" >Delete</h1> |
45 | <div >Public Key: <span>{{changeIdentity.id}}</span></div> | 58 | <div >Public Key: <span>{{changeIdentity.pubkey}}</span></div> |
46 | <div >Name: <span>{{changeIdentity.name}}</span></div> | 59 | <div >Name: <span>{{changeIdentity.name}}</span></div> |
47 | <div> | 60 | <div> |
48 | <a class="c-button" (click)="onDelete(changeIdentity.id)">Delete</a> | 61 | <a class="c-button" (click)="onDelete(changeIdentity.pubkey)">Delete</a> |
49 | <a class="c-button c-button--outline u-m-x2" (click)="onReset()">Cancel</a> | 62 | <a class="c-button c-button--outline u-m-x2" (click)="onReset()">Cancel</a> |
50 | </div> | 63 | </div> |
51 | </div> | 64 | </div> |
diff --git a/src/app/identity-page/identity-page.component.ts b/src/app/identity-page/identity-page.component.ts index f347f44..7588799 100644 --- a/src/app/identity-page/identity-page.component.ts +++ b/src/app/identity-page/identity-page.component.ts | |||
@@ -38,10 +38,12 @@ export class IdentityPageComponent implements OnInit { | |||
38 | filteredItems: IdentityAPI[]; | 38 | filteredItems: IdentityAPI[]; |
39 | rename: boolean = false; | 39 | rename: boolean = false; |
40 | delete: boolean = false; | 40 | delete: boolean = false; |
41 | addsubsystem: boolean = false; | ||
41 | changeIdentity: IdentityAPI; | 42 | changeIdentity: IdentityAPI; |
42 | json: any; | 43 | json: any; |
43 | is_displayed: boolean = true; | 44 | is_displayed: boolean = true; |
44 | request: boolean = false; | 45 | request: boolean = false; |
46 | newsubsystem: string=""; | ||
45 | 47 | ||
46 | constructor(private apiService: ApiService,private message: MessagesService) { } | 48 | constructor(private apiService: ApiService,private message: MessagesService) { } |
47 | 49 | ||
@@ -68,8 +70,7 @@ export class IdentityPageComponent implements OnInit { | |||
68 | this.filteredItems = Object.assign([], this.identities).filter( | 70 | this.filteredItems = Object.assign([], this.identities).filter( |
69 | item => { | 71 | item => { |
70 | return ((item.name.indexOf(value) > -1) || | 72 | return ((item.name.indexOf(value) > -1) || |
71 | (item.id.indexOf(value) > -1) || | 73 | (item.pubkey.indexOf(value) > -1)) |
72 | (item.type.indexOf(value) > -1 )) | ||
73 | }); | 74 | }); |
74 | } | 75 | } |
75 | 76 | ||
@@ -79,12 +80,13 @@ export class IdentityPageComponent implements OnInit { | |||
79 | this.changeIdentity = Object.assign({},identity); | 80 | this.changeIdentity = Object.assign({},identity); |
80 | } | 81 | } |
81 | 82 | ||
83 | |||
82 | onRename(identity: IdentityAPI){ | 84 | onRename(identity: IdentityAPI){ |
83 | this.request = true; | 85 | this.request = true; |
84 | this.onReset(); | 86 | this.onReset(); |
85 | this.filteredItems = []; | 87 | this.filteredItems = []; |
86 | this.json = {'newname':identity.name}; | 88 | this.json = {'newname':identity.name,'pubkey':identity.pubkey}; |
87 | this.apiService.changeIdentity(identity.id,this.json).subscribe(data => { | 89 | this.apiService.changeIdentity(this.json).subscribe(data => { |
88 | this.message.pushSuccess('Rename was successful.'); | 90 | this.message.pushSuccess('Rename was successful.'); |
89 | this.getAPIs(); | 91 | this.getAPIs(); |
90 | }); | 92 | }); |
@@ -93,6 +95,7 @@ export class IdentityPageComponent implements OnInit { | |||
93 | onReset(){ | 95 | onReset(){ |
94 | this.rename = false; | 96 | this.rename = false; |
95 | this.delete = false; | 97 | this.delete = false; |
98 | this.addsubsystem = false; | ||
96 | this.is_displayed = true; | 99 | this.is_displayed = true; |
97 | } | 100 | } |
98 | 101 | ||
@@ -112,6 +115,25 @@ export class IdentityPageComponent implements OnInit { | |||
112 | }); | 115 | }); |
113 | } | 116 | } |
114 | 117 | ||
118 | |||
119 | onClickAddSubsystem(identity: IdentityAPI){ | ||
120 | this.is_displayed = false; | ||
121 | this.addsubsystem = true; | ||
122 | this.changeIdentity = Object.assign({},identity); | ||
123 | } | ||
124 | |||
125 | onAddSubsystem(pubkey:string){ | ||
126 | this.request = true; | ||
127 | this.onReset(); | ||
128 | this.filteredItems = []; | ||
129 | this.json = {'subsystem':this.newsubsystem,'pubkey':pubkey}; | ||
130 | this.apiService.assignIdentity(this.json).subscribe(data => { | ||
131 | this.newsubsystem = ""; | ||
132 | this.message.pushSuccess('Subsystem was successfully added.'); | ||
133 | this.getAPIs(); | ||
134 | }); | ||
135 | } | ||
136 | |||
115 | intFromHash(str:string): number{ | 137 | intFromHash(str:string): number{ |
116 | let hash: number = 0; | 138 | let hash: number = 0; |
117 | for (var i = 0; i < str.length; i++) { | 139 | for (var i = 0; i < str.length; i++) { |