Skip to content

Commit

Permalink
init
Browse files Browse the repository at this point in the history
  • Loading branch information
Ossowski, Michal committed Oct 26, 2018
0 parents commit 98e7e37
Show file tree
Hide file tree
Showing 16 changed files with 1,076 additions and 0 deletions.
122 changes: 122 additions & 0 deletions angular.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,122 @@
{
"$schema": "./node_modules/@angular/cli/lib/config/schema.json",
"version": 1,
"newProjectRoot": "projects",
"projects": {
"demo": {
"root": "",
"sourceRoot": "src",
"projectType": "application",
"prefix": "app",
"schematics": {},
"architect": {
"build": {
"builder": "@angular-devkit/build-angular:browser",
"options": {
"outputPath": "dist/demo",
"index": "src/index.html",
"main": "src/main.ts",
"polyfills": "src/polyfills.ts",
"tsConfig": "src/tsconfig.app.json",
"assets": [
"src/favicon.ico",
"src/assets"
],
"styles": [
"src/styles.css"
],
"scripts": []
},
"configurations": {
"production": {
"fileReplacements": [
{
"replace": "src/environments/environment.ts",
"with": "src/environments/environment.prod.ts"
}
],
"optimization": true,
"outputHashing": "all",
"sourceMap": false,
"extractCss": true,
"namedChunks": false,
"aot": true,
"extractLicenses": true,
"vendorChunk": false,
"buildOptimizer": true
}
}
},
"serve": {
"builder": "@angular-devkit/build-angular:dev-server",
"options": {
"browserTarget": "demo:build"
},
"configurations": {
"production": {
"browserTarget": "demo:build:production"
}
}
},
"extract-i18n": {
"builder": "@angular-devkit/build-angular:extract-i18n",
"options": {
"browserTarget": "demo:build"
}
},
"test": {
"builder": "@angular-devkit/build-angular:karma",
"options": {
"main": "src/test.ts",
"polyfills": "src/polyfills.ts",
"tsConfig": "src/tsconfig.spec.json",
"karmaConfig": "src/karma.conf.js",
"styles": [
"styles.css"
],
"scripts": [],
"assets": [
"src/favicon.ico",
"src/assets"
]
}
},
"lint": {
"builder": "@angular-devkit/build-angular:tslint",
"options": {
"tsConfig": [
"src/tsconfig.app.json",
"src/tsconfig.spec.json"
],
"exclude": [
"**/node_modules/**"
]
}
}
}
},
"demo-e2e": {
"root": "e2e/",
"projectType": "application",
"architect": {
"e2e": {
"builder": "@angular-devkit/build-angular:protractor",
"options": {
"protractorConfig": "e2e/protractor.conf.js",
"devServerTarget": "demo:serve"
}
},
"lint": {
"builder": "@angular-devkit/build-angular:tslint",
"options": {
"tsConfig": "e2e/tsconfig.e2e.json",
"exclude": [
"**/node_modules/**"
]
}
}
}
}
},
"defaultProject": "demo"
}
52 changes: 52 additions & 0 deletions package.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,52 @@
{
"name": "gw2-ii",
"version": "0.0.0",
"private": true,
"dependencies": {
"rxjs": "6.1.0",
"jquery": "3.3.1",
"core-js": "2.5.5",
"zone.js": "0.8.26",
"bootstrap": "4.1.2",
"popper.js": "1.14.3",
"rxjs-compat": "6.2.2",
"@angular/core": "6.0.0",
"@angular/forms": "6.0.0",
"@angular/common": "6.0.0",
"@angular/router": "6.0.0",
"@angular/compiler": "6.0.0",
"@swimlane/ngx-datatable": "13.0.1",
"@angular/platform-browser": "6.0.0",
"@ng-bootstrap/ng-bootstrap": "2.2.1",
"@angular/platform-browser-dynamic": "6.0.0"
},
"scripts": {
"ng": "ng",
"start": "ng serve",
"build": "ng build",
"test": "ng test",
"lint": "ng lint",
"e2e": "ng e2e"
},
"devDependencies": {
"@angular-devkit/build-angular": "~0.10.0",
"@angular/cli": "~7.0.2",
"@angular/compiler-cli": "~7.0.0",
"@angular/language-service": "~7.0.0",
"@types/node": "~8.9.4",
"@types/jasmine": "~2.8.8",
"@types/jasminewd2": "~2.0.3",
"codelyzer": "~4.5.0",
"jasmine-core": "~2.99.1",
"jasmine-spec-reporter": "~4.2.1",
"karma": "~3.0.0",
"karma-chrome-launcher": "~2.2.0",
"karma-coverage-istanbul-reporter": "~2.0.1",
"karma-jasmine": "~1.1.2",
"karma-jasmine-html-reporter": "^0.2.2",
"protractor": "~5.4.0",
"ts-node": "~7.0.0",
"tslint": "~5.11.0",
"typescript": "~3.1.1"
}
}
39 changes: 39 additions & 0 deletions src/app/app.component.css
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
div.gw2-item {
width: 64px;
height: 64px;
border: 3px solid brown;
background-color: black;
display: inline-block;
margin: 2px 2px;
vertical-align: top;
background-size: cover;
background-repeat: no-repeat;
}

.gw2-item-count {
margin: 5px 5px;
color: white;
text-shadow: -2px 0 black, 0 2px black, 2px 0 black, 0 -2px black;
}

.gw2-stat {
color: lawngreen;
}

div.gw2-item-junk { border-color: lightgray; }
div.gw2-item-basic { border-color: whitesmoke; }
div.gw2-item-fine { border-color: dodgerblue; }
div.gw2-item-masterwork { border-color: limegreen; }
div.gw2-item-rare { border-color: yellow; }
div.gw2-item-exotic { border-color: darkorange; }
div.gw2-item-ascended { border-color: deeppink; }
div.gw2-item-legendary { border-color: mediumpurple; }

tr.gw2-item-junk { background-color: lightgray; }
tr.gw2-item-basic { background-color: whitesmoke; }
tr.gw2-item-fine { background-color: dodgerblue; }
tr.gw2-item-masterwork { background-color: limegreen; }
tr.gw2-item-rare { background-color: yellow; }
tr.gw2-item-exotic { background-color: darkorange; }
tr.gw2-item-ascended { background-color: deeppink; }
tr.gw2-item-legendary { background-color: mediumpurple; }
108 changes: 108 additions & 0 deletions src/app/app.component.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,108 @@
<!--The content below is only a placeholder and can be replaced.-->
<div class="container">
<h1>Guild Wars 2 items viewer</h1>

<ngb-tabset type="pills">
<ngb-tab title="Per storage">
<ng-template ngbTabContent>
<div>
<h3>Bank</h3>
<gw2-item *ngFor="let bankV of bank" [itemView]="bankV" style="word-spacing: 0"></gw2-item>
</div>

<div *ngFor="let characterData of charactersData">
<h3>{{ characterData.name }}</h3>

<h5>Equipment</h5>
<gw2-item *ngFor="let eqV of characterData.equipment" [itemView]="eqV"></gw2-item>

<h5>Bags</h5>
<span *ngFor="let bag of characterData.bags">
<span *ngIf="bag">
<gw2-item *ngFor="let itemV of bag.inventory" [itemView]="itemV"></gw2-item>
</span>
</span>
</div>
</ng-template>
</ngb-tab>
<ngb-tab title="Per type">
<ng-template ngbTabContent>
<table class="table table-bordered">
<thead>
<tr>
<th>Armor</th>
<th>Light</th>
<th>Medium</th>
<th>Heavy</th>
</tr>
</thead>
<tbody>
<tr *ngFor="let armorType of armorTypes">
<td><strong>{{ armorType }}</strong></td>
<td>
<gw2-item *ngFor="let item of ascendedArmor['Light'][armorType]" [itemView]="item"></gw2-item>
</td>
<td>
<gw2-item *ngFor="let item of ascendedArmor['Medium'][armorType]" [itemView]="item"></gw2-item>
</td>
<td>
<gw2-item *ngFor="let item of ascendedArmor['Heavy'][armorType]" [itemView]="item"></gw2-item>
</td>
</tr>
</tbody>
</table>

<table class="table table-bordered">
<thead>
<tr>
<th>Weapons</th>
<th></th>
</tr>
</thead>
<tbody>
<tr *ngFor="let weaponType of weaponTypes">
<td><strong>{{ weaponType }}</strong></td>
<td>
<gw2-item *ngFor="let item of ascendedWeapon[weaponType]" [itemView]="item"></gw2-item>
</td>
</tr>
</tbody>
</table>

<div *ngFor="let type of itemTypes">
<p>{{ type }}</p>
<gw2-item *ngFor="let item of ascendedMap[type]" [itemView]="item"></gw2-item>
</div>
</ng-template>
</ngb-tab>

<ngb-tab title="Per stats">
<ng-template ngbTabContent>
<div *ngFor="let stat of statsViews">
<h3>{{ stat.name }}</h3>
<gw2-item *ngFor="let item of stat.items" [itemView]="item"></gw2-item>
</div>
</ng-template>
</ngb-tab>

<ngb-tab title="Table">
<ng-template ngbTabContent>
<table class="table table-bordered table-condensed">
<thead>
<tr>
<th *ngFor="let col of itemColumns"><b>{{ col.name }}</b><br><input type="text" [value]="itemFilters[col.name]" [formControl]="itemFiltersControl[col.name]"></th>
</tr>
</thead>
<tbody>
<tr *ngFor="let row of filteredRows" [class]="row.class || ''">
<td *ngFor="let col of itemColumns">{{ row[col.name] }}</td>
</tr>
</tbody>
</table>
</ng-template>
</ngb-tab>

</ngb-tabset>

<div style="height: 400px;"></div>
</div>
Loading

0 comments on commit 98e7e37

Please sign in to comment.