Переглянути джерело

changereserve buttons

master
peter 4 роки тому
джерело
коміт
c2d2917de3

+ 3
- 0
src/backend/Components/Item/Interface.ts Переглянути файл

@@ -15,4 +15,7 @@ export class IItemManager{
15 15
     wipeCurrencyAndItems: () => Promise<void>
16 16
     decayTokens: (tier: Tiers, amount?:number) => Promise<void>
17 17
     decayTokensOfCharacter: (tier: Tiers, character:Character, amount?:number) => Promise<void>
18
+
19
+    increaseReserve: (token: Character & SRToken & Item) => Promise<void>
20
+    decreaseReserve: (token: Character & SRToken & Item) => Promise<void>
18 21
 }

+ 25
- 0
src/backend/Components/Item/ItemManager.ts Переглянути файл

@@ -62,6 +62,12 @@ export class ItemManager
62 62
         RPCs: () => [
63 63
             this.decayTokensOfCharacter
64 64
         ]
65
+    }, {
66
+        name: 'changeReserve' as 'changeReserve',
67
+        RPCs: () => [
68
+            this.decreaseReserve,
69
+            this.increaseReserve
70
+        ]
65 71
     }]
66 72
 
67 73
     notifyRaid = async (raid: Raid | { id: number }) => {
@@ -427,6 +433,25 @@ export class ItemManager
427 433
             )
428 434
         }
429 435
     }
436
+
437
+    increaseReserve = (token: Character & SRToken & Item) : Promise<void> => this.admin
438
+        .knex(token.tier+"tokens")
439
+        .where({
440
+            characterid: token.characterid,
441
+            itemname: token.itemname
442
+        }).update({
443
+            level: token.level+1
444
+        })
445
+
446
+    decreaseReserve = (token: Character & SRToken & Item) : Promise<void> => this.admin
447
+    .knex(token.tier+"tokens")
448
+    .where({
449
+        characterid: token.characterid,
450
+        itemname: token.itemname
451
+    }).update({
452
+        level: Math.max(1, token.level-1)
453
+    })
454
+
430 455
 }
431 456
 
432 457
 function toStats(obj:any){

+ 4
- 0
src/backend/Components/Item/RPCInterface.ts Переглянути файл

@@ -23,4 +23,8 @@ export type ItemManagerFeatureIfc = {
23 23
     decay: {
24 24
         decayTokensOfCharacter: IItemManager['decayTokensOfCharacter']
25 25
     }
26
+    changeReserve: {
27
+        increaseReserve: IItemManager['increaseReserve']
28
+        decreaseReserve: IItemManager['decreaseReserve']
29
+    }
26 30
 }

+ 8
- 1
src/frontend/src/app/frontcraft/pages/raid/raid.component.html Переглянути файл

@@ -257,7 +257,6 @@
257 257
                                     <tr>
258 258
                                         <td>
259 259
                                             <wowhead [item]="item.value[0]"></wowhead><br />
260
-
261 260
                                         </td>
262 261
                                     </tr>
263 262
                                     <tr>
@@ -267,7 +266,15 @@
267 266
                                                 <span
268 267
                                                     [ngStyle]="{'text-decoration': token.rank=='Trial'? 'line-through' : 'none currentcolor solid' }">
269 268
                                                     <span style="text-transform: capitalize;">
269
+                                                        <button (click)="decreaseReserve(token)" *ngIf="changeReserve" nbButton
270
+                                                            outline status="warning" size="tiny">
271
+                                                            -
272
+                                                        </button>
270 273
                                                         [ {{token.level}} ]&nbsp;
274
+                                                        <button (click)="increaseReserve(token)" *ngIf="changeReserve" nbButton
275
+                                                            outline status="warning" size="tiny">
276
+                                                            +
277
+                                                        </button>
271 278
                                                         <a [routerLink]="'/frontcraft/character/'+token.charactername"
272 279
                                                             [ngStyle]="{'color':token.level>=10?'#ff8000':token.level>=8?'#a335ee':token.level>=6?'#0070dd':token.level>=4?'#1eff00':token.level>=2?'#ffffff':'#9d9d9d'}">
273 280
                                                             {{token.charactername}}

+ 11
- 0
src/frontend/src/app/frontcraft/pages/raid/raid.component.ts Переглянути файл

@@ -26,6 +26,7 @@ export class FrontcraftRaidComponent
26 26
   isTier = false
27 27
   reservesShown = true
28 28
   manageRaid
29
+  changeReserve
29 30
   mySignup: (Signup & Character & Spec)
30 31
 
31 32
   raid: RaidData = <any>{
@@ -64,6 +65,7 @@ export class FrontcraftRaidComponent
64 65
 
65 66
   ngOnInit() {
66 67
     this.manageRaid = this.api.get('manageRaid')
68
+    this.changeReserve = this.api.get('changeReserve')
67 69
     const signupFeature = this.api.get('signup')
68 70
 
69 71
     if (signupFeature) {
@@ -267,4 +269,13 @@ export class FrontcraftRaidComponent
267 269
     }
268 270
   }
269 271
 
272
+  increaseReserve(token: Character & SRToken & Item){
273
+    this.changeReserve.increaseReserve(token)
274
+    .then(_ => this.refresh())
275
+  }
276
+
277
+  decreaseReserve(token: Character & SRToken & Item){  
278
+    this.changeReserve.decreaseReserve(token)
279
+    .then(_ => this.refresh())
280
+  }
270 281
 }

Завантаження…
Відмінити
Зберегти